*** g:\mssdk\INCLUDE\WinNT.h Thu Aug 20 01:51:44 1998 --- WinNT.h Sat Jan 2 23:44:22 1999 *************** *** 344,350 **** typedef LONGLONG USN; ! #if defined(MIDL_PASS) typedef struct _LARGE_INTEGER { #else // MIDL_PASS typedef union _LARGE_INTEGER { --- 344,350 ---- typedef LONGLONG USN; ! #if defined(MIDL_PASS) || defined(__GNUC__) typedef struct _LARGE_INTEGER { #else // MIDL_PASS typedef union _LARGE_INTEGER { *************** *** 363,369 **** typedef LARGE_INTEGER *PLARGE_INTEGER; ! #if defined(MIDL_PASS) typedef struct _ULARGE_INTEGER { #else // MIDL_PASS typedef union _ULARGE_INTEGER { --- 363,369 ---- typedef LARGE_INTEGER *PLARGE_INTEGER; ! #if defined(MIDL_PASS) || defined(__GNUC__) typedef struct _ULARGE_INTEGER { #else // MIDL_PASS typedef union _ULARGE_INTEGER { *************** *** 403,409 **** // 32-bits by 32-bits to form a 64-bit product. // ! #if defined(MIDL_PASS) || defined(RC_INVOKED) // // Midl does not understand inline assembler. Therefore, the Rtl functions --- 403,409 ---- // 32-bits by 32-bits to form a 64-bit product. // ! #if defined(MIDL_PASS) || defined(RC_INVOKED) || defined(__GNUC__) // // Midl does not understand inline assembler. Therefore, the Rtl functions *************** *** 1523,1529 **** #endif ! #if !defined(MIDL_PASS) && defined(_M_IX86) #pragma warning (disable:4035) // disable 4035 (function must return something) _inline PVOID GetFiberData( void ) { __asm { mov eax, fs:[0x10] --- 1523,1529 ---- #endif ! #if !defined(MIDL_PASS) && defined(_M_IX86) && !defined(__GNUC__) #pragma warning (disable:4035) // disable 4035 (function must return something) _inline PVOID GetFiberData( void ) { __asm { mov eax, fs:[0x10] *************** *** 4332,4338 **** union { PVOID FiberData; DWORD Version; ! }; PVOID ArbitraryUserPointer; struct _NT_TIB *Self; } NT_TIB; --- 4332,4338 ---- union { PVOID FiberData; DWORD Version; ! } u; PVOID ArbitraryUserPointer; struct _NT_TIB *Self; } NT_TIB; *************** *** 4554,4564 **** union { PVOID64 BaseAddress; ULONGLONG BaseAddressAsUlongLong; ! }; union { PVOID64 AllocationBase; ULONGLONG AllocationBaseAsUlongLong; ! }; ULONGLONG RegionSize; DWORD AllocationProtect; DWORD State; --- 4554,4564 ---- union { PVOID64 BaseAddress; ULONGLONG BaseAddressAsUlongLong; ! } u1; union { PVOID64 AllocationBase; ULONGLONG AllocationBaseAsUlongLong; ! } u2; ULONGLONG RegionSize; DWORD AllocationProtect; DWORD State; *************** *** 4762,4768 **** struct { BYTE DataBuffer[1]; } GenericReparseBuffer; ! }; } REPARSE_DATA_BUFFER, *PREPARSE_DATA_BUFFER; #define REPARSE_DATA_BUFFER_HEADER_SIZE FIELD_OFFSET(REPARSE_DATA_BUFFER, GenericReparseBuffer) --- 4762,4768 ---- struct { BYTE DataBuffer[1]; } GenericReparseBuffer; ! } u; } REPARSE_DATA_BUFFER, *PREPARSE_DATA_BUFFER; #define REPARSE_DATA_BUFFER_HEADER_SIZE FIELD_OFFSET(REPARSE_DATA_BUFFER, GenericReparseBuffer) *************** *** 5618,5624 **** union { DWORD VirtualAddress; DWORD RelocCount; // Set to the real count when IMAGE_SCN_LNK_NRELOC_OVFL is set ! }; DWORD SymbolTableIndex; WORD Type; } IMAGE_RELOCATION; --- 5618,5624 ---- union { DWORD VirtualAddress; DWORD RelocCount; // Set to the real count when IMAGE_SCN_LNK_NRELOC_OVFL is set ! } u; DWORD SymbolTableIndex; WORD Type; } IMAGE_RELOCATION; *************** *** 5972,5978 **** // typedef VOID ! (NTAPI *PIMAGE_TLS_CALLBACK) ( PVOID DllHandle, DWORD Reason, PVOID Reserved --- 5972,5978 ---- // typedef VOID ! NTAPI (*PIMAGE_TLS_CALLBACK) ( PVOID DllHandle, DWORD Reason, PVOID Reserved *************** *** 6020,6026 **** union { DWORD Characteristics; // 0 for terminating null import descriptor DWORD OriginalFirstThunk; // RVA to original unbound IAT (PIMAGE_THUNK_DATA) ! }; DWORD TimeDateStamp; // 0 if not bound, // -1 if bound, and real date\time stamp // in IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT (new BIND) --- 6020,6026 ---- union { DWORD Characteristics; // 0 for terminating null import descriptor DWORD OriginalFirstThunk; // RVA to original unbound IAT (PIMAGE_THUNK_DATA) ! }u; DWORD TimeDateStamp; // 0 if not bound, // -1 if bound, and real date\time stamp // in IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT (new BIND) *************** *** 6114,6130 **** struct { DWORD NameOffset:31; DWORD NameIsString:1; ! }; DWORD Name; WORD Id; ! }; union { DWORD OffsetToData; struct { DWORD OffsetToDirectory:31; DWORD DataIsDirectory:1; ! }; ! }; } IMAGE_RESOURCE_DIRECTORY_ENTRY, *PIMAGE_RESOURCE_DIRECTORY_ENTRY; // --- 6114,6130 ---- struct { DWORD NameOffset:31; DWORD NameIsString:1; ! }s; DWORD Name; WORD Id; ! }u1; union { DWORD OffsetToData; struct { DWORD OffsetToDirectory:31; DWORD DataIsDirectory:1; ! }s; ! }u2; } IMAGE_RESOURCE_DIRECTORY_ENTRY, *PIMAGE_RESOURCE_DIRECTORY_ENTRY; // *************** *** 6370,6376 **** union { ULONGLONG EndOfPrologue; ULONGLONG UnwindInfoAddress; ! }; } IMAGE_FUNCTION_ENTRY64, *PIMAGE_FUNCTION_ENTRY64; // --- 6370,6376 ---- union { ULONGLONG EndOfPrologue; ULONGLONG UnwindInfoAddress; ! }u; } IMAGE_FUNCTION_ENTRY64, *PIMAGE_FUNCTION_ENTRY64; // *************** *** 6461,6467 **** union { WORD Ordinal; // if grf & IMPORT_OBJECT_ORDINAL WORD Hint; ! }; WORD Type : 2; // IMPORT_TYPE WORD NameType : 3; // IMPORT_NAME_TYPE --- 6461,6467 ---- union { WORD Ordinal; // if grf & IMPORT_OBJECT_ORDINAL WORD Hint; ! }u; WORD Type : 2; // IMPORT_TYPE WORD NameType : 3; // IMPORT_NAME_TYPE *************** *** 6701,6708 **** #define WT_EXECUTEINWAITTHREAD 0x00000004 #define WT_EXECUTEDELETEWAIT 0x00000008 #define WT_EXECUTEINLONGTHREAD 0x00000010 ! typedef VOID (NTAPI * WAITORTIMERCALLBACKFUNC) (PVOID, BOOLEAN ); ! typedef VOID (NTAPI * WORKERCALLBACKFUNC) (PVOID ); #define DLL_PROCESS_ATTACH 1 #define DLL_THREAD_ATTACH 2 #define DLL_THREAD_DETACH 3 --- 6701,6708 ---- #define WT_EXECUTEINWAITTHREAD 0x00000004 #define WT_EXECUTEDELETEWAIT 0x00000008 #define WT_EXECUTEINLONGTHREAD 0x00000010 ! typedef VOID NTAPI (* WAITORTIMERCALLBACKFUNC) (PVOID, BOOLEAN ); ! typedef VOID NTAPI (* WORKERCALLBACKFUNC) (PVOID ); #define DLL_PROCESS_ATTACH 1 #define DLL_THREAD_ATTACH 2 #define DLL_THREAD_DETACH 3 *************** *** 6785,6797 **** DWORD ulSize; WCHAR szLogicalLogFile[MAXLOGICALLOGNAMESIZE]; //name of the logical file-security/application/system DWORD ulNumRecords; ! EVENTLOGRECORD pEventLogRecords[]; }EVENTSFORLOGFILE, *PEVENTSFORLOGFILE; typedef struct _PACKEDEVENTINFO{ DWORD ulSize; //total size of the structure DWORD ulNumEventsForLogFile; //number of EventsForLogFile structure that follow ! DWORD ulOffsets[]; //the offsets from the start of this structure to the EVENTSFORLOGFILE structure }PACKEDEVENTINFO, *PPACKEDEVENTINFO; #pragma warning(default : 4200) --- 6785,6797 ---- DWORD ulSize; WCHAR szLogicalLogFile[MAXLOGICALLOGNAMESIZE]; //name of the logical file-security/application/system DWORD ulNumRecords; ! EVENTLOGRECORD pEventLogRecords[1]; }EVENTSFORLOGFILE, *PEVENTSFORLOGFILE; typedef struct _PACKEDEVENTINFO{ DWORD ulSize; //total size of the structure DWORD ulNumEventsForLogFile; //number of EventsForLogFile structure that follow ! DWORD ulOffsets[1]; //the offsets from the start of this structure to the EVENTSFORLOGFILE structure }PACKEDEVENTINFO, *PPACKEDEVENTINFO; #pragma warning(default : 4200)