//======================================================================== // Copyright (C) 1997 Microsoft Corporation // Author: RameshV // Description: This file has been generated. Pl look at the .c file //======================================================================== #ifndef _MM_BITMASK_H_ #define _MM_BITMASK_H_ typedef struct _M_EXCL { DWORD Start; DWORD End; ULONG UniqId; } M_EXCL, *PM_EXCL, *LPM_EXCL; #define MM_FLAG_ALLOW_DHCP 0x1 #define MM_FLAG_ALLOW_BOOTP 0x2 typedef struct _M_BITMASK1 { DWORD Size; // Size in # of bits DWORD AllocSize; // Size in BYTES allocated DWORD nSet; // nBits set LPBYTE Mask; // BUBBUG making this DWORD would make things faster.. DWORD Offset; // used by Bit2 type.. ULONG nDirtyOps; // # of unsaved operations done on this bitmask? } M_BITMASK1, *PM_BITMASK1, *LPM_BITMASK1; typedef struct _M_BITMASK2 { DWORD Size; ARRAY_LOCATION Loc; // where to start off to look for a bit ARRAY Array; // Array of bitmask 1 types } M_BITMASK2, *PM_BITMASK2, *LPM_BITMASK2; typedef M_BITMASK2 M_BITMASK; typedef PM_BITMASK2 PM_BITMASK; typedef LPM_BITMASK2 LPM_BITMASK; #define MAX_BIT1SIZE (512*4) DWORD MemBitInit( OUT PM_BITMASK *Bits, IN DWORD nBits ) ; DWORD MemBitCleanup( IN OUT PM_BITMASK Bits ) ; DWORD MemBitSetOrClearAll( IN OUT PM_BITMASK Bits, IN BOOL fSet ) ; DWORD MemBitSetOrClear( IN OUT PM_BITMASK Bits, IN DWORD Location, IN BOOL fSet, IN LPBOOL fOldState ) ; BOOL MemBitIsSet( IN OUT PM_BITMASK Bits, IN DWORD Location ) ; DWORD MemBitGetSize( IN PM_BITMASK Bits ) ; DWORD MemBitGetSetBitsInRange( IN PM_BITMASK Bits, IN DWORD dwFrom, IN DWORD dwTo ) ; DWORD MemBitGetSetBitsSize( IN PM_BITMASK Bits ) ; DWORD MemBitAddOrDelBits( IN OUT PM_BITMASK Bits, IN DWORD nBitsToAddOrDelete, IN BOOL fAdd, IN BOOL fEnd ) ; DWORD MemBitGetSomeClearedBit( IN OUT PM_BITMASK Bits, OUT DWORD *Offset, IN BOOL fAcquire, // Acquire or just lookup? IN DWORD StartAddress, IN PARRAY Exclusions ) ; DWORD MemBitConvertToCluster( IN PM_BITMASK Bits, IN DWORD StartAddress, OUT LPBYTE *InUseClusters, OUT DWORD *InUseClustersSize, OUT LPBYTE *UsedClusters, OUT DWORD *UsedClustersSize ) ; #endif //======================================================================== // end of file //========================================================================