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 _RTXDYNBITSET_H_
00029 #define _RTXDYNBITSET_H_
00030
00031 #include "rtxsrc/rtxBitString.h"
00032
00033 #ifdef __cplusplus
00034 extern "C" {
00035 #endif
00036
00037 #define OSRTBITSETSEGSIZE 16
00038
00039 typedef struct {
00040 OSUINT16 nbytes;
00041 OSUINT16 maxbit;
00042 OSUINT16 segsize;
00043 OSUINT16 spare;
00044 OSOCTET* data;
00045 } OSRTDynBitSet;
00046
00058 EXTERNRT int rtxDynBitSetInit
00059 (OSCTXT* pctxt, OSRTDynBitSet* pbitset, OSUINT16 segNBytes);
00060
00067 EXTERNRT void rtxDynBitSetFree (OSCTXT* pctxt, OSRTDynBitSet* pbitset);
00068
00078 EXTERNRT int rtxDynBitSetCopy
00079 (OSCTXT* pctxt, const OSRTDynBitSet* pSrcBitSet, OSRTDynBitSet* pDestBitSet);
00080
00091 EXTERNRT int rtxDynBitSetSetBit
00092 (OSCTXT* pctxt, OSRTDynBitSet* pbitset, OSUINT32 idx);
00093
00105 EXTERNRT int rtxDynBitSetClearBit (OSRTDynBitSet* pbitset, OSUINT32 idx);
00106
00117 EXTERNRT OSBOOL rtxDynBitSetTestBit
00118 (const OSRTDynBitSet* pbitset, OSUINT32 idx);
00119
00132 EXTERNRT int rtxDynBitSetSetBitToValue
00133 (OSCTXT* pctxt, OSRTDynBitSet* pbitset, OSUINT32 idx, OSBOOL value);
00134
00148 EXTERNRT int rtxDynBitSetInsertBit
00149 (OSCTXT* pctxt, OSRTDynBitSet* pbitset, OSUINT32 idx, OSBOOL value);
00150
00151 #ifdef _TRACE
00152
00158 EXTERNRT void rtxDynBitSetPrint
00159 (const OSRTDynBitSet* pbitset, const char* varname);
00160
00161 #endif
00162
00163 #ifdef __cplusplus
00164 }
00165 #endif
00166
00167 #endif