diff --git a/reactos/include/crt/crtdbg.h b/reactos/include/crt/crtdbg.h index 16cf030f5d4..142de498270 100644 --- a/reactos/include/crt/crtdbg.h +++ b/reactos/include/crt/crtdbg.h @@ -90,7 +90,7 @@ extern "C" { } _CrtMemState; #ifndef _STATIC_ASSERT -#define _STATIC_ASSERT(expr) typedef char __static_assert_t[(expr)?1:-1] +#define _STATIC_ASSERT(expr) extern char (*static_assert(void)) [(expr) ? 1 : -1] #endif #ifndef _ASSERT diff --git a/reactos/include/crt/malloc.h b/reactos/include/crt/malloc.h index 24d7c38b27c..b90bfc5e97c 100644 --- a/reactos/include/crt/malloc.h +++ b/reactos/include/crt/malloc.h @@ -25,7 +25,7 @@ extern "C" { #endif #ifndef _STATIC_ASSERT -#define _STATIC_ASSERT(expr) typedef char __static_assert_t[(expr)?1:-1] +#define _STATIC_ASSERT(expr) extern char (*static_assert(void)) [(expr) ? 1 : -1] #endif /* Return codes for _heapwalk() */ diff --git a/reactos/include/ddk/ndis.h b/reactos/include/ddk/ndis.h index 40fe179d2f9..023b1035a59 100644 --- a/reactos/include/ddk/ndis.h +++ b/reactos/include/ddk/ndis.h @@ -2001,34 +2001,10 @@ NdisQueryPacketLength( IN PNDIS_PACKET Packet, OUT PUINT TotalPacketLength OPTIONAL) { - if ((TotalPacketLength)) \ - { \ - if (!(Packet)->Private.ValidCounts) { \ - UINT _Offset; \ - UINT _PacketLength; \ - PNDIS_BUFFER _NdisBuffer; \ - UINT _PhysicalBufferCount = 0; \ - UINT _TotalPacketLength = 0; \ - UINT _Count = 0; \ - \ - for (_NdisBuffer = (Packet)->Private.Head; \ - _NdisBuffer != (PNDIS_BUFFER)NULL; \ - _NdisBuffer = _NdisBuffer->Next) \ - { \ - _PhysicalBufferCount += NDIS_BUFFER_TO_SPAN_PAGES(_NdisBuffer); \ - NdisQueryBufferOffset(_NdisBuffer, &_Offset, &_PacketLength); \ - _TotalPacketLength += _PacketLength; \ - _Count++; \ - } \ - (Packet)->Private.PhysicalCount = _PhysicalBufferCount; \ - (Packet)->Private.TotalLength = _TotalPacketLength; \ - (Packet)->Private.Count = _Count; \ - (Packet)->Private.ValidCounts = TRUE; \ - } \ - \ - if (TotalPacketLength) \ - *((PUINT)TotalPacketLength) = (Packet)->Private.TotalLength; \ - } \ + if (!(Packet)->Private.ValidCounts) \ + NdisQueryPacket(Packet, NULL, NULL, NULL, TotalPacketLength); \ + else \ + *(TotalPacketLength) = (Packet)->Private.TotalLength; \ } diff --git a/reactos/include/ddk/ntdef.h b/reactos/include/ddk/ntdef.h index 045c86b30e8..49772bfe001 100644 --- a/reactos/include/ddk/ntdef.h +++ b/reactos/include/ddk/ntdef.h @@ -529,7 +529,21 @@ typedef CONST STRING* PCOEM_STRING; typedef STRING CANSI_STRING; typedef PSTRING PCANSI_STRING; +typedef struct _STRING32 { + USHORT Length; + USHORT MaximumLength; + ULONG Buffer; +} STRING32, *PSTRING32, + UNICODE_STRING32, *PUNICODE_STRING32, + ANSI_STRING32, *PANSI_STRING32; +typedef struct _STRING64 { + USHORT Length; + USHORT MaximumLength; + ULONGLONG Buffer; +} STRING64, *PSTRING64, + UNICODE_STRING64, *PUNICODE_STRING64, + ANSI_STRING64, *PANSI_STRING64; // // LangID and NLS @@ -679,10 +693,7 @@ typedef struct _SINGLE_LIST_ENTRY { // // C_ASSERT Definition // -#define __C_ASSERT_JOIN(X, Y) __C_ASSERT_DO_JOIN(X, Y) -#define __C_ASSERT_DO_JOIN(X, Y) __C_ASSERT_DO_JOIN2(X, Y) -#define __C_ASSERT_DO_JOIN2(X, Y) X##Y -#define C_ASSERT(e) typedef char __C_ASSERT_JOIN(__C_ASSERT__, __LINE__)[(e) ? 1 : -1] +#define C_ASSERT(expr) extern char (*c_assert(void)) [(expr) ? 1 : -1] diff --git a/reactos/include/ddk/winddk.h b/reactos/include/ddk/winddk.h index 1a6046f028a..7c4027c6c3f 100644 --- a/reactos/include/ddk/winddk.h +++ b/reactos/include/ddk/winddk.h @@ -4585,6 +4585,32 @@ typedef struct _NT_TIB { struct _NT_TIB *Self; } NT_TIB, *PNT_TIB; +typedef struct _NT_TIB32 { + ULONG ExceptionList; + ULONG StackBase; + ULONG StackLimit; + ULONG SubSystemTib; + union { + ULONG FiberData; + ULONG Version; + }; + ULONG ArbitraryUserPointer; + ULONG Self; +} NT_TIB32,*PNT_TIB32; + +typedef struct _NT_TIB64 { + ULONG64 ExceptionList; + ULONG64 StackBase; + ULONG64 StackLimit; + ULONG64 SubSystemTib; + union { + ULONG64 FiberData; + ULONG Version; + }; + ULONG64 ArbitraryUserPointer; + ULONG64 Self; +} NT_TIB64,*PNT_TIB64; + typedef enum _PROCESSINFOCLASS { ProcessBasicInformation, ProcessQuotaLimits, @@ -5236,7 +5262,7 @@ typedef struct DECLSPEC_ALIGN(16) _CONTEXT { USHORT SegFs; USHORT SegGs; USHORT SegSs; - USHORT EFlags; + ULONG EFlags; /* Debug */ ULONG64 Dr0; @@ -9364,7 +9390,7 @@ MmSecureVirtualMemory( IN ULONG ProbeMode); NTKERNELAPI -ULONG +SIZE_T NTAPI MmSizeOfMdl( IN PVOID Base, diff --git a/reactos/include/ndk/umtypes.h b/reactos/include/ndk/umtypes.h index 75c79d0e149..7e02d7664b8 100644 --- a/reactos/include/ndk/umtypes.h +++ b/reactos/include/ndk/umtypes.h @@ -151,6 +151,22 @@ typedef struct _CSTRING CONST CHAR *Buffer; } CSTRING, *PCSTRING; +typedef struct _STRING32 { + USHORT Length; + USHORT MaximumLength; + ULONG Buffer; +} STRING32, *PSTRING32, + UNICODE_STRING32, *PUNICODE_STRING32, + ANSI_STRING32, *PANSI_STRING32; + +typedef struct _STRING64 { + USHORT Length; + USHORT MaximumLength; + ULONGLONG Buffer; +} STRING64, *PSTRING64, + UNICODE_STRING64, *PUNICODE_STRING64, + ANSI_STRING64, *PANSI_STRING64; + #endif typedef struct _OBJECT_ATTRIBUTES diff --git a/reactos/include/psdk/winnt.h b/reactos/include/psdk/winnt.h index 8237b3ca05e..30dfeb0f0e0 100644 --- a/reactos/include/psdk/winnt.h +++ b/reactos/include/psdk/winnt.h @@ -226,12 +226,7 @@ typedef BYTE FCHAR; typedef WORD FSHORT; typedef DWORD FLONG; -#define __C_ASSERT_JOIN(X, Y) __C_ASSERT_DO_JOIN(X, Y) -#define __C_ASSERT_DO_JOIN(X, Y) __C_ASSERT_DO_JOIN2(X, Y) -#define __C_ASSERT_DO_JOIN2(X, Y) X##Y - -#define C_ASSERT(e) typedef char __C_ASSERT_JOIN(__C_ASSERT__, __LINE__)[(e) ? 1 : -1] - +#define C_ASSERT(expr) extern char (*c_assert(void)) [(expr) ? 1 : -1] #include "intrin.h" @@ -3235,6 +3230,15 @@ typedef struct _LIST_ENTRY { struct _LIST_ENTRY *Flink; struct _LIST_ENTRY *Blink; } LIST_ENTRY,*PLIST_ENTRY; +typedef struct _LIST_ENTRY32 { + DWORD Flink; + DWORD Blink; +} LIST_ENTRY32,*PLIST_ENTRY32; +typedef struct _LIST_ENTRY64 { + ULONGLONG Flink; + ULONGLONG Blink; +} LIST_ENTRY64,*PLIST_ENTRY64; + typedef struct _SINGLE_LIST_ENTRY { struct _SINGLE_LIST_ENTRY *Next; } SINGLE_LIST_ENTRY,*PSINGLE_LIST_ENTRY; @@ -4157,6 +4161,32 @@ typedef struct _NT_TIB { struct _NT_TIB *Self; } NT_TIB,*PNT_TIB; +typedef struct _NT_TIB32 { + DWORD ExceptionList; + DWORD StackBase; + DWORD StackLimit; + DWORD SubSystemTib; + union { + DWORD FiberData; + DWORD Version; + }; + DWORD ArbitraryUserPointer; + DWORD Self; +} NT_TIB32,*PNT_TIB32; + +typedef struct _NT_TIB64 { + DWORD64 ExceptionList; + DWORD64 StackBase; + DWORD64 StackLimit; + DWORD64 SubSystemTib; + union { + DWORD64 FiberData; + DWORD Version; + }; + DWORD64 ArbitraryUserPointer; + DWORD64 Self; +} NT_TIB64,*PNT_TIB64; + typedef struct _REPARSE_GUID_DATA_BUFFER { DWORD ReparseTag; WORD ReparseDataLength;