ASN1C C/C++ Common Runtime  ASN1C v7.2.x
rtxBitString.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2003-2018 Objective Systems, Inc.
3  *
4  * This software is furnished under a license and may be used and copied
5  * only in accordance with the terms of such license and with the
6  * inclusion of the above copyright notice. This software or any other
7  * copies thereof may not be provided or otherwise made available to any
8  * other person. No title to and ownership of the software is hereby
9  * transferred.
10  *
11  * The information in this software is subject to change without notice
12  * and should not be construed as a commitment by Objective Systems, Inc.
13  *
14  * PROPRIETARY NOTICE
15  *
16  * This software is an unpublished work subject to a confidentiality agreement
17  * and is protected by copyright and trade secret law. Unauthorized copying,
18  * redistribution or other use of this work is prohibited.
19  *
20  * The above notice of copyright on this source code product does not indicate
21  * any actual or intended publication of such source code.
22  *
23  *****************************************************************************/
28 #ifndef _RTXBITSTRING_H_
29 #define _RTXBITSTRING_H_
30 
31 #include "rtxsrc/rtxContext.h"
32 
33 #ifdef __cplusplus
34 extern "C" {
35 #endif
36 
47 #define OSRTBYTEARRAYSIZE(numbits) ((numbits+7)/8)
48 
56 EXTERNRT OSUINT32 rtxGetBitCount (OSUINT32 value);
57 
71 EXTERNRT int rtxSetBit (OSOCTET* pBits, OSSIZE numbits, OSSIZE bitIndex);
72 
84 EXTERNRT OSUINT32 rtxSetBitFlags
85 (OSUINT32 flags, OSUINT32 mask, OSBOOL action);
86 
100 EXTERNRT int rtxClearBit
101 (OSOCTET* pBits, OSSIZE numbits, OSSIZE bitIndex);
102 
113 EXTERNRT OSBOOL rtxTestBit
114 (const OSOCTET* pBits, OSSIZE numbits, OSSIZE bitIndex);
115 
125 EXTERNRT OSSIZE rtxLastBitSet (const OSOCTET *pBits, OSSIZE numbits);
126 
144 EXTERNRT int rtxCheckBitBounds(OSCTXT* pctxt, OSOCTET** ppBits,
145  OSSIZE* pNumocts, OSSIZE minRequiredBits, OSSIZE preferredLimitBits);
146 
155 EXTERNRT int rtxZeroUnusedBits (OSOCTET* pBits, OSSIZE numbits);
156 
167 EXTERNRT int rtxCheckUnusedBitsZero (const OSOCTET* pBits, OSSIZE numbits);
168 
172 #ifdef __cplusplus
173 }
174 #endif
175 
176 #endif
OSSIZE rtxLastBitSet(const OSOCTET *pBits, OSSIZE numbits)
OSUINT32 rtxSetBitFlags(OSUINT32 flags, OSUINT32 mask, OSBOOL action)
OSUINT32 rtxGetBitCount(OSUINT32 value)
int rtxCheckBitBounds(OSCTXT *pctxt, OSOCTET **ppBits, OSSIZE *pNumocts, OSSIZE minRequiredBits, OSSIZE preferredLimitBits)
int rtxSetBit(OSOCTET *pBits, OSSIZE numbits, OSSIZE bitIndex)
int rtxZeroUnusedBits(OSOCTET *pBits, OSSIZE numbits)
int rtxClearBit(OSOCTET *pBits, OSSIZE numbits, OSSIZE bitIndex)
OSBOOL rtxTestBit(const OSOCTET *pBits, OSSIZE numbits, OSSIZE bitIndex)
int rtxCheckUnusedBitsZero(const OSOCTET *pBits, OSSIZE numbits)
Definition: rtxContext.h:185