GLAST/LAT > DAQ and FSW > FSW > Doxygen Index > LDT / V0-2-0
Constituent: encdec     Tag: linux-gcc
#include "PBS/FFS.ih"
Include dependency graph for BFU.h:
This graph shows which files directly or indirectly include this file:
Data Structures | |
struct | _BFU |
The return value of the BFU routines, capturing the current 32-bit word that is being used as a source and the extracted value. More... | |
Defines | |
#define | _bfu_get_pos(_bfu) _bfu.val |
Gets the current buffer bit position. | |
#define | _bfu_get_tmp(_bfu) _bfu.cur |
Gets the current temporary buffer. | |
#define | _bfu_get(_bfu, _tmp, _pos) |
#define | _bfu_put_tmp(_bfu, _tmp) _bfu.cur = _tmp; |
Updates the current temporary buffer. | |
#define | _bfu_put_pos(_bfu, _pos) _bfu.val = _pos; |
Gets the current buffer bit position. | |
#define | _bfu_put(_bfu, _tmp, _pos) |
Updates the current temporary buffer and buffer bit position. | |
#define | _bfu_construct(_bfu, _s, _src, _boff, _alignment) |
#define | _bfu_extractBoolean(_bfu, _wrds, _position) |
Extracts the next bit, returning it as a boolean value. The justification is unspecfied. The implementation is the most efficient of _bfu_extractBL or _bfu_extractBR. Use one of those routine if the justification needs to be specified. | |
#define | _bfu_extractBR(_bfu, _wrds, _position) |
Extracts the right justified bit from the current position. | |
#define | _bfu_extractBL(_bfu, _wrds, _position) |
Extracts the left justified bit from the current position. | |
#define | _bfu_extractL(_bfu, _wrds, _position, _width) |
Extracts a left justified value from the current position. | |
#define | _bfu_extractR(_bfu, _wrds, _position, _width) |
Extracts a right justified value from the current position. | |
#define | _bfu_extract32(_bfu, _wrds, _position) |
Extracts 32 bits from the current position. | |
#define | _bfu_count1s(_bfu, _wrds, _position) |
Counts the number of 1s till the first clear bit. | |
Typedefs | |
typedef _BFU | BFU |
Typedef for struct _BFU. | |
Functions | |
static __inline BFU | BFU__bitL (const unsigned int *wrds, unsigned int cur, unsigned int position) |
Unpacks the left justified bit from the current position. | |
static __inline BFU | BFU__bitR (const unsigned int *wrds, unsigned int cur, unsigned int position) |
Unpacks the right justified bit from the current position. | |
static __inline BFU | BFU__boolean (const unsigned int *wrds, unsigned int cur, unsigned int position) |
Unpacks the next bit. This is equivalent to a bit extract, but the justification (left or right) is unspecified. Rather the must efficient extraction is used, returning only 0 or non-zero. Use BFU__bitL or BFU__bitR if a specific justification is needed. | |
static __inline BFU | BFU__wordR (const unsigned int *wrds, unsigned int cur, unsigned int position, unsigned int width) |
Unpacks a right justified bit field from the current position. The width of the bit field must be less than 32 bits. | |
static __inline BFU | BFU__wordL (const unsigned int *wrds, unsigned int cur, unsigned int position, unsigned int width) |
Unpacks a left justified bit field from the current position. The width of the bit field must be less than 32 bits. | |
static __inline BFU | BFU__word (const unsigned int *wrds, unsigned int cur, unsigned int position) |
Unpacks exactly 32 bits from the current position. | |
static __inline BFU | BFU__ffc (const unsigned int *wrds, unsigned int cur, unsigned int position) |
Scans the input bit stream for the first clear bit, this effectively counts the number of set bits. |
|
Value: (_bfu = BFU__ffc (_wrds, _bfu_get_tmp(bfu), _position), \ _position += (_bfu.val -= _position), \ _bfu.val - 1)
|
|
Value: Extracts 32 bits from the current position.
|
|
Value: Extracts the left justified bit from the current position.
|
|
Value: (_bfu = BFU__boolean (_wrds, _bfu.cur, _position), \ _position += 1, \ _bfu.val)
|
|
Value: Extracts the right justified bit from the current position.
|
|
Value: (_bfu = BFU__wordL (_wrds, _bfu.cur, _position, _width), \ _position += _width, \ _bfu.val)
|
|
Value: (_bfu = BFU__wordR (_wrds, _bfu.cur, _position, _width), \ _position += _width, \ _bfu.val)
|
|
Value: _tmp = _bfu.cur; \ _pos = _bfu.val; |
|
Gets the current buffer bit position.
|
|
Gets the current temporary buffer.
|
|
Value: _bfu.cur = _tmp; \ _bfu.val = _pos;
|
|
Gets the current buffer bit position.
|
|
Updates the current temporary buffer.
|
|
Unpacks the left justified bit from the current position.
|
|
Unpacks the right justified bit from the current position.
|
|
Unpacks the next bit. This is equivalent to a bit extract, but the justification (left or right) is unspecified. Rather the must efficient extraction is used, returning only 0 or non-zero. Use BFU__bitL or BFU__bitR if a specific justification is needed.
|
|
Scans the input bit stream for the first clear bit, this effectively counts the number of set bits.
|
|
Unpacks exactly 32 bits from the current position.
|
|
Unpacks a left justified bit field from the current position. The width of the bit field must be less than 32 bits.
|
|
Unpacks a right justified bit field from the current position. The width of the bit field must be less than 32 bits.
|