00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00028 #ifndef _RTXBITSTRING_H_
00029 #define _RTXBITSTRING_H_
00030
00031 #include "rtxsrc/rtxContext.h"
00032
00033 #ifdef __cplusplus
00034 extern "C" {
00035 #endif
00036
00047 #define OSRTBYTEARRAYSIZE(numbits) ((numbits+7)/8)
00048
00056 EXTERNRT OSUINT32 rtxGetBitCount (OSUINT32 value);
00057
00071 EXTERNRT int rtxSetBit (OSOCTET* pBits, OSSIZE numbits, OSSIZE bitIndex);
00072
00084 EXTERNRT OSUINT32 rtxSetBitFlags
00085 (OSUINT32 flags, OSUINT32 mask, OSBOOL action);
00086
00100 EXTERNRT int rtxClearBit
00101 (OSOCTET* pBits, OSSIZE numbits, OSSIZE bitIndex);
00102
00113 EXTERNRT OSBOOL rtxTestBit
00114 (const OSOCTET* pBits, OSSIZE numbits, OSSIZE bitIndex);
00115
00125 EXTERNRT OSSIZE rtxLastBitSet (const OSOCTET *pBits, OSSIZE numbits);
00126
00144 EXTERNRT int rtxCheckBitBounds(OSCTXT* pctxt, OSOCTET** ppBits,
00145 OSSIZE* pNumocts, OSSIZE minRequiredBits, OSSIZE preferredLimitBits);
00146
00150 #ifdef __cplusplus
00151 }
00152 #endif
00153
00154 #endif