|
cbmimage
|
cbmimage internals More...
#include "cbmimage.h"

Go to the source code of this file.
Classes | |
| struct | cbmimage_i_dir_entry_internal_s |
| internal data for directory entry More... | |
| struct | cbmimage_i_bam_selector_s |
| BAM Selector . More... | |
| struct | cbmimage_fileimage_functions_s |
| BAM counter selector . More... | |
| struct | cbmimage_i_d40_d64_d71_image_settings_s |
| Image specific settings for D40, D64 and D71 images . More... | |
| struct | cbmimage_i_d81_image_settings_s |
| Image specific settings for D81 images . More... | |
| struct | cbmimage_i_d80_d82_image_settings_s |
| Image specific settings for D80 and D82 images . More... | |
| struct | cbmimage_i_d1m_d2m_d4m_image_settings_s |
| Image specific settings for CMD D1M, D2M and D4M images . More... | |
| struct | cbmimage_i_dnp_image_settings_s |
| Image specific settings for CMD DNP images . More... | |
| struct | cbmimage_image_settings_s |
| Image specific settings for all types of images . More... | |
| struct | cbmimage_image_parameter_s |
| Parameter of the image . More... | |
Macros | |
| #define | CBMIMAGE_I_BAM_SELECTOR_INIT(_starttrack, _startoffset, _multiplier, _data_count, _track, _sector, _reverse_order) |
| #define | CBMIMAGE_BAM_SELECTOR_INIT(_starttrack, _startoffset, _multiplier, _data_count, _track, _sector) |
| #define | CBMIMAGE_BAM_SELECTOR_INIT_REVERSE(_starttrack, _startoffset, _multiplier, _data_count, _track, _sector) |
| #define | CBMIMAGE_BAM_SELECTOR_INIT(_starttrack, _startoffset, _multiplier, _data_count, _track, _sector) |
| #define | CBMIMAGE_BAM_COUNTER_SELECTOR_INIT(_starttrack, _startoffset, _multiplier, _track, _sector) |
| #define | CBMIMAGE_BAM_AND_BAM_COUNTER_CREATE(_basename, _index, _starttrack, _startoffset, _multiplier, _data_count, _track, _sector) |
| #define | cbmimage_i_init_bam_counter_selector(_settings, _selector, _selector_count) |
| init a BAM Counter selector | |
cbmimage internals
| #define CBMIMAGE_BAM_AND_BAM_COUNTER_CREATE | ( | _basename, | |
| _index, | |||
| _starttrack, | |||
| _startoffset, | |||
| _multiplier, | |||
| _data_count, | |||
| _track, | |||
| _sector ) |
initialize two cbmimage_i_bam_selector, one for the BAM and one for the BAM counter entry
This macro assumes a special outline of the data.
Essentially, in _basename, there must be both a .bam[] and a .bam_counter[] array, and they must be indexed in the same way. That is, .bam[x] and .bam_counter[x] must correspond to each other.
In this case, this macro creates both the BAM selector and the BAM_COUNTER selector
| [in] | _basename | The name of the variable which holds a .bam[] and a .bam_counter[] array |
| [in] | _index | The index into the .bam[] and .bam_counter[] arrays which will be set |
| [in] | _starttrack | the number of the first track which is described in this BAM selector |
| [in] | _startoffset | the offset inside of the block where this BAM entry is located. Note the remark below on the assumed outline. |
| [in] | _multiplier | multiplier for the BAM entries; that is, how many byte are the different tracks aways from each other? |
| [in] | _data_count | the number of byte that form one BAM entry. This is restricted to a maximum of BAM_MASK_COUNT. In case of a cbmimage_i_bam_counter_selector, this must be 0. |
| [in] | _track | the track where this BAM is located |
| [in] | _sector | the sector where this BAM is located |
| #define CBMIMAGE_BAM_COUNTER_SELECTOR_INIT | ( | _starttrack, | |
| _startoffset, | |||
| _multiplier, | |||
| _track, | |||
| _sector ) |
initializer for a cbmimage_i_bam_selector, used as a BAM counter entry
This macro can be used like
cbmimage_i_bam_selector selector = CBMIMAGE_BAM_COUNTER_SELECTOR_INIT(starttrack, startoffset, multiplier, track, sector)
in order to initialize the selector
| [in] | _starttrack | the number of the first track which is described in this BAM selector |
| [in] | _startoffset | the offset inside of the block where this BAM entry is located |
| [in] | _multiplier | multiplier for the BAM entries; that is, how many byte are the different tracks aways from each other? |
| [in] | _track | the track where this BAM is located |
| [in] | _sector | the sector where this BAM is located |
| #define CBMIMAGE_BAM_SELECTOR_INIT | ( | _starttrack, | |
| _startoffset, | |||
| _multiplier, | |||
| _data_count, | |||
| _track, | |||
| _sector ) |
initializer for a cbmimage_i_bam_selector, used as a BAM entry
This macro can be used like
cbmimage_i_bam_selector selector = CBMIMAGE_BAM_SELECTOR_INIT(starttrack, startoffset, multiplier, data_count, track, sector)
in order to initialize the selector
| [in] | _starttrack | the number of the first track which is described in this BAM selector |
| [in] | _startoffset | the offset inside of the block where this BAM entry is located |
| [in] | _multiplier | multiplier for the BAM entries; that is, how many byte are the different tracks aways from each other? |
| [in] | _data_count | the number of byte that form one BAM entry. This is restricted to a maximum of BAM_MASK_COUNT. In case of a cbmimage_i_bam_counter_selector, this must be 0. |
| [in] | _track | the track where this BAM is located |
| [in] | _sector | the sector where this BAM is located |
| #define CBMIMAGE_BAM_SELECTOR_INIT | ( | _starttrack, | |
| _startoffset, | |||
| _multiplier, | |||
| _data_count, | |||
| _track, | |||
| _sector ) |
initializer for a cbmimage_i_bam_selector, used as a BAM entry
This macro can be used like
cbmimage_i_bam_selector selector = CBMIMAGE_BAM_SELECTOR_INIT(starttrack, startoffset, multiplier, data_count, track, sector)
in order to initialize the selector
| [in] | _starttrack | the number of the first track which is described in this BAM selector |
| [in] | _startoffset | the offset inside of the block where this BAM entry is located |
| [in] | _multiplier | multiplier for the BAM entries; that is, how many byte are the different tracks aways from each other? |
| [in] | _data_count | the number of byte that form one BAM entry. This is restricted to a maximum of BAM_MASK_COUNT. In case of a cbmimage_i_bam_counter_selector, this must be 0. |
| [in] | _track | the track where this BAM is located |
| [in] | _sector | the sector where this BAM is located |
| #define CBMIMAGE_BAM_SELECTOR_INIT_REVERSE | ( | _starttrack, | |
| _startoffset, | |||
| _multiplier, | |||
| _data_count, | |||
| _track, | |||
| _sector ) |
initializer for a cbmimage_i_bam_selector, used as a BAM entry, for reverse order BAMs
This macro can be used like
cbmimage_i_bam_selector selector = CBMIMAGE_BAM_SELECTOR_INIT_REVERSE(starttrack, startoffset, multiplier, data_count, track, sector)
in order to initialize the selector
| [in] | _starttrack | the number of the first track which is described in this BAM selector |
| [in] | _startoffset | the offset inside of the block where this BAM entry is located |
| [in] | _multiplier | multiplier for the BAM entries; that is, how many byte are the different tracks aways from each other? |
| [in] | _data_count | the number of byte that form one BAM entry. This is restricted to a maximum of BAM_MASK_COUNT. In case of a cbmimage_i_bam_counter_selector, this must be 0. |
| [in] | _track | the track where this BAM is located |
| [in] | _sector | the sector where this BAM is located |
| #define CBMIMAGE_I_BAM_SELECTOR_INIT | ( | _starttrack, | |
| _startoffset, | |||
| _multiplier, | |||
| _data_count, | |||
| _track, | |||
| _sector, | |||
| _reverse_order ) |
initializer for a cbmimage_i_bam_selector, used as a BAM entry
This macro can be used like
cbmimage_i_bam_selector selector = CBMIMAGE_BAM_SELECTOR_INIT(starttrack, startoffset, multiplier, data_count, track, sector)
in order to initialize the selector
| [in] | _starttrack | the number of the first track which is described in this BAM selector |
| [in] | _startoffset | the offset inside of the block where this BAM entry is located |
| [in] | _multiplier | multiplier for the BAM entries; that is, how many byte are the different tracks aways from each other? |
| [in] | _data_count | the number of byte that form one BAM entry. This is restricted to a maximum of BAM_MASK_COUNT. In case of a cbmimage_i_bam_counter_selector, this must be 0. |
| [in] | _track | the track where this BAM is located |
| [in] | _sector | the sector where this BAM is located |
| [in] | _reverse_order | set to != 0 if the BAM uses the reverse (a.k.a. CMD or DNP) ordering. |
| #define cbmimage_i_init_bam_counter_selector | ( | _settings, | |
| _selector, | |||
| _selector_count ) |
init a BAM Counter selector
As a BAM counter selector (cbmimage_i_bam_counter_selector, cbmimage_i_bam_counter_selector_s) is the same type as a BAM selector (cbmimage_i_bam_selector, cbmimage_i_bam_selector_s) but used differently, just use the same function to initialize it. Thus, a macro does the job
| [in] | _settings | pointer to the fileimage settings |
| [in,out] | _selector | pointer to an array of selectors to initialize |
| [in] | _selector_count | the number of selectors in the array _selector |