Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

128 lines
3.4 KiB

  1. //========================================================================
  2. // Copyright (C) 1997 Microsoft Corporation
  3. // Author: RameshV
  4. // Description: This file has been generated. Pl look at the .c file
  5. //========================================================================
  6. typedef struct _M_EXCL {
  7. DWORD Start;
  8. DWORD End;
  9. } M_EXCL, *PM_EXCL, *LPM_EXCL;
  10. #define MM_FLAG_ALLOW_DHCP 0x1
  11. #define MM_FLAG_ALLOW_BOOTP 0x2
  12. typedef struct _M_BITMASK1 {
  13. DWORD Size; // Size in # of bits
  14. DWORD AllocSize; // Size in BYTES allocated
  15. DWORD nSet; // nBits set
  16. LPBYTE Mask; // BUBBUG making this DWORD would make things faster..
  17. DWORD Offset; // used by Bit2 type..
  18. ULONG nDirtyOps; // # of unsaved operations done on this bitmask?
  19. } M_BITMASK1, *PM_BITMASK1, *LPM_BITMASK1;
  20. typedef struct _M_BITMASK2 {
  21. DWORD Size;
  22. ARRAY_LOCATION Loc; // where to start off to look for a bit
  23. ARRAY Array; // Array of bitmask 1 types
  24. } M_BITMASK2, *PM_BITMASK2, *LPM_BITMASK2;
  25. typedef M_BITMASK2 M_BITMASK;
  26. typedef PM_BITMASK2 PM_BITMASK;
  27. typedef LPM_BITMASK2 LPM_BITMASK;
  28. #define MAX_BIT1SIZE (512*4)
  29. DWORD
  30. MemBitInit(
  31. OUT PM_BITMASK *Bits,
  32. IN DWORD nBits
  33. ) ;
  34. DWORD
  35. MemBitCleanup(
  36. IN OUT PM_BITMASK Bits
  37. ) ;
  38. DWORD
  39. MemBitSetOrClearAll(
  40. IN OUT PM_BITMASK Bits,
  41. IN BOOL fSet
  42. ) ;
  43. DWORD
  44. MemBitSetOrClear(
  45. IN OUT PM_BITMASK Bits,
  46. IN DWORD Location,
  47. IN BOOL fSet,
  48. IN LPBOOL fOldState
  49. ) ;
  50. BOOL
  51. MemBitIsSet(
  52. IN OUT PM_BITMASK Bits,
  53. IN DWORD Location
  54. ) ;
  55. DWORD
  56. MemBitGetSize(
  57. IN PM_BITMASK Bits
  58. ) ;
  59. DWORD
  60. MemBitGetSetBitsInRange(
  61. IN PM_BITMASK Bits,
  62. IN DWORD dwFrom,
  63. IN DWORD dwTo
  64. ) ;
  65. DWORD
  66. MemBitGetSetBitsSize(
  67. IN PM_BITMASK Bits
  68. ) ;
  69. DWORD
  70. MemBitAddOrDelBits(
  71. IN OUT PM_BITMASK Bits,
  72. IN DWORD nBitsToAddOrDelete,
  73. IN BOOL fAdd,
  74. IN BOOL fEnd
  75. ) ;
  76. DWORD
  77. MemBitGetSomeClearedBit(
  78. IN OUT PM_BITMASK Bits,
  79. OUT DWORD *Offset,
  80. IN BOOL fAcquire, // Acquire or just lookup?
  81. IN DWORD StartAddress,
  82. IN PARRAY Exclusions
  83. ) ;
  84. DWORD
  85. MemBitConvertToCluster(
  86. IN PM_BITMASK Bits,
  87. IN DWORD StartAddress,
  88. OUT LPBYTE *InUseClusters,
  89. OUT DWORD *InUseClustersSize,
  90. OUT LPBYTE *UsedClusters,
  91. OUT DWORD *UsedClustersSize
  92. ) ;
  93. //========================================================================
  94. // end of file
  95. //========================================================================