1/** 2 * This file has no copyright assigned and is placed in the Public Domain. 3 * This file is part of the mingw-w64 runtime package. 4 * No warranty is given; refer to the file DISCLAIMER.PD within this package. 5 */ 6#ifndef _NMSUPP_H 7#define _NMSUPP_H 8 9#pragma pack(1) 10 11#ifdef __cplusplus 12extern "C" { 13#endif 14 15#ifndef __cplusplus 16#ifndef try 17#define try __try 18#endif 19 20#ifndef except 21#define except __except 22#endif 23#endif 24 25#define WINDOWS_VERSION_UNKNOWN 0 26#define WINDOWS_VERSION_WIN32S 1 27#define WINDOWS_VERSION_WIN32C 2 28#define WINDOWS_VERSION_WIN32 3 29 30#define FRAME_MASK_ETHERNET ((BYTE) ~0x01) 31#define FRAME_MASK_TOKENRING ((BYTE) ~0x80) 32#define FRAME_MASK_FDDI ((BYTE) ~0x01) 33 34 typedef enum _ACCESSRIGHTS { 35 AccessRightsNoAccess,AccessRightsMonitoring,AccessRightsUserAccess,AccessRightsAllAccess 36 } ACCESSRIGHTS; 37 38 typedef ACCESSRIGHTS *PACCESSRIGHTS; 39 typedef LPVOID HPASSWORD; 40 41#define HANDLE_TYPE_PASSWORD MAKE_IDENTIFIER('P','W','D','$') 42 43 typedef LPVOID HOBJECTHEAP; 44 typedef VOID (WINAPI *OBJECTPROC)(HOBJECTHEAP,LPVOID); 45 46#pragma pack() 47 48 typedef struct _TIMER *HTIMER; 49 typedef VOID (WINAPI *BHTIMERPROC)(LPVOID); 50 extern HTIMER WINAPI BhSetTimer(BHTIMERPROC TimerProc,LPVOID InstData,DWORD TimeOut); 51 52 extern VOID WINAPI BhKillTimer(HTIMER hTimer); 53 extern LPVOID WINAPI BhAllocSystemMemory(DWORD nBytes); 54 extern LPVOID WINAPI BhFreeSystemMemory(LPVOID ptr); 55 extern LPVOID WINAPI BhGetNetworkRequestAddress(DWORD NalRequestType); 56 extern DWORD WINAPI BhGetLastError(VOID); 57 extern DWORD WINAPI BhSetLastError(DWORD Error); 58 extern HOBJECTHEAP WINAPI CreateObjectHeap(DWORD ObjectSize,OBJECTPROC ObjectProc); 59 extern HOBJECTHEAP WINAPI DestroyObjectHeap(HOBJECTHEAP hObjectHeap); 60 extern LPVOID WINAPI AllocObject(HOBJECTHEAP hObjectHeap); 61 extern LPVOID WINAPI FreeObject(HOBJECTHEAP hObjectHeap,LPVOID ObjectMemory); 62 extern DWORD WINAPI GrowObjectHeap(HOBJECTHEAP hObjectHeap,DWORD nObjects); 63 extern DWORD WINAPI GetObjectHeapSize(HOBJECTHEAP hObjectHeap); 64 extern VOID WINAPI PurgeObjectHeap(HOBJECTHEAP hObjectHeap); 65 extern LPVOID WINAPI AllocMemory(SIZE_T size); 66 extern LPVOID WINAPI ReallocMemory(LPVOID ptr,SIZE_T NewSize); 67 extern VOID WINAPI FreeMemory(LPVOID ptr); 68 extern VOID WINAPI TestMemory(LPVOID ptr); 69 extern SIZE_T WINAPI MemorySize(LPVOID ptr); 70 extern HANDLE WINAPI MemoryHandle(LPBYTE ptr); 71 extern HPASSWORD WINAPI CreatePassword(LPSTR password); 72 extern VOID WINAPI DestroyPassword(HPASSWORD hPassword); 73 extern ACCESSRIGHTS WINAPI ValidatePassword(HPASSWORD hPassword); 74 extern LPEXPRESSION WINAPI InitializeExpression(LPEXPRESSION Expression); 75 extern LPPATTERNMATCH WINAPI InitializePattern(LPPATTERNMATCH Pattern,LPVOID ptr,DWORD offset,DWORD length); 76 extern LPEXPRESSION WINAPI AndExpression(LPEXPRESSION Expression,LPPATTERNMATCH Pattern); 77 extern LPEXPRESSION WINAPI OrExpression(LPEXPRESSION Expression,LPPATTERNMATCH Pattern); 78 extern LPPATTERNMATCH WINAPI NegatePattern(LPPATTERNMATCH Pattern); 79 extern LPADDRESSTABLE WINAPI AdjustOperatorPrecedence(LPADDRESSTABLE AddressTable); 80 extern LPADDRESS WINAPI NormalizeAddress(LPADDRESS Address); 81 extern LPADDRESSTABLE WINAPI NormalizeAddressTable(LPADDRESSTABLE AddressTable); 82 extern HANDLE WINAPI BhOpenService(LPSTR ServiceName); 83 extern VOID WINAPI BhCloseService(HANDLE ServiceHandle); 84 extern DWORD WINAPI BhStartService(HANDLE ServiceHandle); 85 extern DWORD WINAPI BhStopService(HANDLE ServiceHandle); 86 extern DWORD WINAPI BhGetWindowsVersion(VOID); 87 extern WINBOOL WINAPI IsDaytona(VOID); 88 extern VOID __cdecl dprintf(LPSTR format,...); 89 90#ifdef __cplusplus 91} 92#endif 93#endif 94