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