Go to the source code of this file.
|
#define | bitstr_size(nbits) ( (nbits + 7) >> 3 ) |
|
#define | bit_alloc(nbits) calloc( bitstr_size(nbits) , 1) |
|
#define | bit_decl(name, nbits) name[ bitstr_size(nbits) ] |
|
#define | bit_clear(name, bit) name[ bit >> 3 ] &= ~(1 << (bit & 7) ) |
|
#define | bit_set(name, bit) name[ bit >> 3] |= 1 << (bit & 7) |
|
#define | bit_nclear(name, start, stop) |
|
#define | bit_nset(name, start, stop) |
|
#define | bit_test(name, bit) ( name[bit >> 3] & (1 << (bit & 7) ) ) |
|
#define | bit_ffs(name, nbits, value) |
|
#define | bit_ffc(name, nbits, value) |
|
#define bit_clear |
( |
|
name, |
|
|
|
bit |
|
) |
| name[ bit >> 3 ] &= ~(1 << (bit & 7) ) |
#define bit_decl |
( |
|
name, |
|
|
|
nbits |
|
) |
| name[ bitstr_size(nbits) ] |
#define bit_ffc |
( |
|
name, |
|
|
|
nbits, |
|
|
|
value |
|
) |
| |
Value:do{\
int _b__;\
for(_b__ = 0; _b__ < nbits; _b__++) \
{\
{\
*(value) = _b__; \
break; \
}\
}\
if( _b__ == nbits ) *(value) = -1;\
}while(0)
#define bit_ffs |
( |
|
name, |
|
|
|
nbits, |
|
|
|
value |
|
) |
| |
Value:do{\
int _b__;\
for(_b__ = 0; _b__ < nbits; _b__++) \
{\
printf("bb = %d\n", _b__);\
{\
*(value) = _b__; \
break; \
}\
}\
if( _b__ == nbits ) *(value) = -1;\
}while(0)
#define bit_nclear |
( |
|
name, |
|
|
|
start, |
|
|
|
stop |
|
) |
| |
Value:do{ \
int _b__;\
for(_b__ = start; _b__ <= stop; _b__++) \
}while(0)
#define bit_nset |
( |
|
name, |
|
|
|
start, |
|
|
|
stop |
|
) |
| |
Value:do{ \
int _b__;\
for(_b__ = start; _b__ <= stop; _b__++) \
}while(0)
#define bit_set |
( |
|
name, |
|
|
|
bit |
|
) |
| name[ bit >> 3] |= 1 << (bit & 7) |
#define bit_test |
( |
|
name, |
|
|
|
bit |
|
) |
| ( name[bit >> 3] & (1 << (bit & 7) ) ) |
#define bitstr_size |
( |
|
nbits | ) |
( (nbits + 7) >> 3 ) |