home *** CD-ROM | disk | FTP | other *** search
/ PC Format (South-Africa) 2001 May / PCFMay2001.iso / Xenon / C++ / FreeCommandLineTools.exe / Include / bhsupp.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-01-31  |  7.2 KB  |  195 lines

  1.  
  2.  
  3. //=============================================================================
  4. //  Microsoft (R) Bloodhound (tm). Copyright (C) 1991-1992.
  5. //
  6. //  MODULE: bhsupp.h
  7. //=============================================================================
  8.  
  9. #if !defined(_BHSUPP_)
  10. #pragma option push -b -a8 -pc -A- /*P_O_Push*/
  11.  
  12. #define _BHSUPP_
  13.  
  14. #pragma pack(1)
  15.  
  16. //=============================================================================
  17. //  Windows version constants.
  18. //=============================================================================
  19.  
  20. #define WINDOWS_VERSION_UNKNOWN     0
  21. #define WINDOWS_VERSION_WIN32S      1
  22. #define WINDOWS_VERSION_WIN32C      2
  23. #define WINDOWS_VERSION_WIN32       3
  24.  
  25. //=============================================================================
  26. //  Frame masks.
  27. //=============================================================================
  28.  
  29. #define FRAME_MASK_ETHERNET         ((BYTE) ~0x01)
  30. #define FRAME_MASK_TOKENRING        ((BYTE) ~0x80)
  31. #define FRAME_MASK_FDDI             ((BYTE) ~0x01)
  32.  
  33. //=============================================================================
  34. //  ACCESSRIGHTS
  35. //=============================================================================
  36.  
  37. typedef enum _ACCESSRIGHTS
  38. {
  39.     AccessRightsNoAccess,               //... Access denied, invalid password.
  40.     AccessRightsMonitoring,             //... Monitoring mode only.
  41.     AccessRightsUserAccess,             //... User-level access rights.
  42.     AccessRightsAllAccess               //... All access.
  43. } ACCESSRIGHTS;
  44.  
  45. typedef ACCESSRIGHTS *PACCESSRIGHTS;
  46.  
  47. typedef LPVOID HPASSWORD;
  48.  
  49. #define HANDLE_TYPE_PASSWORD            MAKE_IDENTIFIER('P', 'W', 'D', '$')
  50.  
  51. //=============================================================================
  52. //  Object heap type.
  53. //=============================================================================
  54.  
  55. typedef LPVOID HOBJECTHEAP;                 //... Opaque.
  56.  
  57. //=============================================================================
  58. //  Object cleanup procedure.
  59. //=============================================================================
  60.  
  61. typedef VOID (WINAPI *OBJECTPROC)(HOBJECTHEAP, LPVOID);
  62.  
  63. #pragma pack()
  64.  
  65. //=============================================================================
  66. //  Bloodhound timers.
  67. //=============================================================================
  68.  
  69. typedef struct _TIMER *HTIMER;
  70.  
  71. typedef VOID (WINAPI *BHTIMERPROC)(LPVOID);
  72.  
  73. extern  HTIMER WINAPI BhSetTimer(BHTIMERPROC TimerProc, LPVOID InstData, DWORD TimeOut);
  74.  
  75. extern  VOID   WINAPI BhKillTimer(HTIMER hTimer);
  76.  
  77. //=============================================================================
  78. //  Bloodhound driver support.
  79. //=============================================================================
  80.  
  81. extern LPVOID WINAPI BhAllocSystemMemory(DWORD nBytes);
  82.  
  83. extern LPVOID WINAPI BhFreeSystemMemory(LPVOID ptr);
  84.  
  85. extern LPVOID WINAPI BhGetNetworkRequestAddress(DWORD NalRequestType);
  86.  
  87. //=============================================================================
  88. //  Bloodhound global error API.
  89. //=============================================================================
  90.  
  91. extern DWORD  WINAPI BhGetLastError(VOID);
  92.  
  93. extern DWORD  WINAPI BhSetLastError(DWORD Error);
  94.  
  95. //=============================================================================
  96. //  Object manager function prototypes.
  97. //=============================================================================
  98.  
  99. extern HOBJECTHEAP WINAPI CreateObjectHeap(DWORD ObjectSize, OBJECTPROC ObjectProc);
  100.  
  101. extern HOBJECTHEAP WINAPI DestroyObjectHeap(HOBJECTHEAP hObjectHeap);
  102.  
  103. extern LPVOID      WINAPI AllocObject(HOBJECTHEAP hObjectHeap);
  104.  
  105. extern LPVOID      WINAPI FreeObject(HOBJECTHEAP hObjectHeap, LPVOID ObjectMemory);
  106.  
  107. extern DWORD       WINAPI GrowObjectHeap(HOBJECTHEAP hObjectHeap, DWORD nObjects);
  108.  
  109. extern DWORD       WINAPI GetObjectHeapSize(HOBJECTHEAP hObjectHeap);
  110.  
  111. extern VOID        WINAPI PurgeObjectHeap(HOBJECTHEAP hObjectHeap);
  112.  
  113. //=============================================================================
  114. //  Memory functions.
  115. //=============================================================================
  116.  
  117. extern LPVOID     WINAPI AllocMemory(DWORD size);
  118.  
  119. extern LPVOID     WINAPI ReallocMemory(LPVOID ptr, DWORD NewSize);
  120.  
  121. extern VOID       WINAPI FreeMemory(LPVOID ptr);
  122.  
  123. extern VOID       WINAPI TestMemory(LPVOID ptr);
  124.  
  125. extern DWORD      WINAPI MemorySize(LPVOID ptr);
  126.  
  127. extern HANDLE     WINAPI MemoryHandle(LPBYTE ptr);
  128.  
  129. //=============================================================================
  130. //  MS BTE format buffer API's.
  131. //=============================================================================
  132.  
  133. extern HBUFFER    WINAPI BhAllocNetworkBuffer(DWORD NetworkID, DWORD BufferSize, LPDWORD nBytesAllocated);
  134.  
  135. extern HBUFFER    WINAPI BhFreeNetworkBuffer(HBUFFER hBuffer);
  136.  
  137. extern VOID       WINAPI BhCompactNetworkBuffer(HBUFFER hBuffer);
  138.  
  139. extern LPFRAME    WINAPI BhGetNetworkFrame(HBUFFER hBuffer, DWORD FrameNumber);
  140.  
  141. //=============================================================================
  142. //  Password API's.
  143. //=============================================================================
  144.  
  145. extern HPASSWORD    WINAPI CreatePassword(LPSTR password);
  146.  
  147. extern VOID         WINAPI DestroyPassword(HPASSWORD hPassword);
  148.  
  149. extern ACCESSRIGHTS WINAPI ValidatePassword(HPASSWORD hPassword);
  150.  
  151. //=============================================================================
  152. //  EXPRESSION API's
  153. //=============================================================================
  154.  
  155. extern LPEXPRESSION         WINAPI InitializeExpression(LPEXPRESSION Expression);
  156.  
  157. extern LPPATTERNMATCH       WINAPI InitializePattern(LPPATTERNMATCH Pattern, LPVOID ptr, DWORD offset, DWORD length);
  158.  
  159. extern LPEXPRESSION         WINAPI AndExpression(LPEXPRESSION Expression, LPPATTERNMATCH Pattern);
  160.  
  161. extern LPEXPRESSION         WINAPI OrExpression(LPEXPRESSION Expression, LPPATTERNMATCH Pattern);
  162.  
  163. extern LPPATTERNMATCH       WINAPI NegatePattern(LPPATTERNMATCH Pattern);
  164.  
  165. extern LPADDRESSTABLE       WINAPI AdjustOperatorPrecedence(LPADDRESSTABLE AddressTable);
  166.  
  167. extern LPADDRESS            WINAPI NormalizeAddress(LPADDRESS Address);
  168.  
  169. extern LPADDRESSTABLE       WINAPI NormalizeAddressTable(LPADDRESSTABLE AddressTable);
  170.  
  171. //=============================================================================
  172. //  SERVICE API's
  173. //=============================================================================
  174.  
  175. extern HANDLE               WINAPI BhOpenService(LPSTR ServiceName);
  176.  
  177. extern VOID                 WINAPI BhCloseService(HANDLE ServiceHandle);
  178.  
  179. extern DWORD                WINAPI BhStartService(HANDLE ServiceHandle);
  180.  
  181. extern DWORD                WINAPI BhStopService(HANDLE ServiceHandle);
  182.  
  183. //=============================================================================
  184. //  MISC. API's
  185. //=============================================================================
  186.  
  187. extern DWORD                WINAPI BhGetWindowsVersion(VOID);
  188.  
  189. extern BOOL                 WINAPI IsDaytona(VOID);
  190.  
  191. extern VOID                 dprintf(LPSTR format, ...);
  192.  
  193. #pragma option pop /*P_O_Pop*/
  194. #endif
  195.