63 lines
1.8 KiB
C
63 lines
1.8 KiB
C
// 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));
|
|
}
|