| // This file was extracted from the TCG Published |
| // Trusted Platform Module Library |
| // Part 4: Supporting Routines |
| // Family "2.0" |
| // Level 00 Revision 01.16 |
| // October 30, 2014 |
| |
| #include "InternalRoutines.h" |
| // |
| // |
| // Functions |
| // |
| // BitIsSet() |
| // |
| // This function is used to check the setting of a bit in an array of bits. |
| // |
| // Return Value Meaning |
| // |
| // TRUE bit is set |
| // FALSE bit is not set |
| // |
| BOOL |
| BitIsSet( |
| unsigned int bitNum, // IN: number of the bit in 'bArray' |
| BYTE *bArray, // IN: array containing the bit |
| unsigned int arraySize // IN: size in bytes of 'bArray' |
| ) |
| { |
| pAssert(arraySize > (bitNum >> 3)); |
| return((bArray[bitNum >> 3] & (1 << (bitNum & 7))) != 0); |
| } |
| // |
| // |
| // BitSet() |
| // |
| // This function will set the indicated bit in bArray. |
| // |
| void |
| BitSet( |
| unsigned int bitNum, // IN: number of the bit in 'bArray' |
| BYTE *bArray, // IN: array containing the bit |
| unsigned int arraySize // IN: size in bytes of 'bArray' |
| ) |
| { |
| pAssert(arraySize > bitNum/8); |
| bArray[bitNum >> 3] |= (1 << (bitNum & 7)); |
| } |
| // |
| // |
| // BitClear() |
| // |
| // This function will clear the indicated bit in bArray. |
| // |
| void |
| BitClear( |
| unsigned int bitNum, // IN: number of the bit in 'bArray'. |
| BYTE *bArray, // IN: array containing the bit |
| unsigned int arraySize // IN: size in bytes of 'bArray' |
| ) |
| { |
| pAssert(arraySize > bitNum/8); |
| bArray[bitNum >> 3] &= ~(1 << (bitNum & 7)); |
| } |