Zebediah Figura : include: Define RTL_BALANCED_NODE.

Alexandre Julliard julliard at winehq.org
Thu Apr 23 14:54:31 CDT 2020


Module: wine
Branch: master
Commit: cd1a09be73115aa9a12fc39c2784d7e54003762f
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=cd1a09be73115aa9a12fc39c2784d7e54003762f

Author: Zebediah Figura <z.figura12 at gmail.com>
Date:   Wed Apr 22 21:07:18 2020 -0500

include: Define RTL_BALANCED_NODE.

Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 include/ntdef.h  | 33 +++++++++++++++++++++++++++++++++
 include/windef.h | 15 +++++++++++----
 2 files changed, 44 insertions(+), 4 deletions(-)

diff --git a/include/ntdef.h b/include/ntdef.h
index 014102ac74..d85aa6feb5 100644
--- a/include/ntdef.h
+++ b/include/ntdef.h
@@ -19,6 +19,8 @@
 #ifndef _NTDEF_
 #define _NTDEF_
 
+#include <basetsd.h>
+
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -48,4 +50,35 @@ typedef enum _WAIT_TYPE {
 #define NT_WARNING(status)      ((((NTSTATUS)(status)) & 0xc0000000) == 0x80000000)
 #define NT_ERROR(status)        ((((NTSTATUS)(status)) & 0xc0000000) == 0xc0000000)
 
+#define BASETYPES
+typedef unsigned char UCHAR, *PUCHAR;
+typedef unsigned short USHORT, *PUSHORT;
+#ifdef _MSC_VER
+typedef unsigned long ULONG, *PULONG;
+#else
+typedef unsigned int ULONG, *PULONG;
+#endif
+
+typedef struct _RTL_BALANCED_NODE
+{
+    union
+    {
+        struct _RTL_BALANCED_NODE *Children[2];
+        struct
+        {
+            struct _RTL_BALANCED_NODE *Left;
+            struct _RTL_BALANCED_NODE *Right;
+        } DUMMYSTRUCTNAME;
+    } DUMMYUNIONNAME;
+
+    union
+    {
+        UCHAR Red : 1;
+        UCHAR Balance : 2;
+        ULONG_PTR ParentValue;
+    } DUMMYUNIONNAME2;
+} RTL_BALANCED_NODE, *PRTL_BALANCED_NODE;
+
+#define RTL_BALANCED_NODE_RESERVED_PARENT_MASK 3
+
 #endif /* _NTDEF_ */
diff --git a/include/windef.h b/include/windef.h
index 0074d5cf6c..3c61cad4c5 100644
--- a/include/windef.h
+++ b/include/windef.h
@@ -239,13 +239,22 @@ extern "C" {
 
 /* Standard data types */
 
+#ifndef BASETYPES
+#define BASETYPES
+typedef unsigned char UCHAR, *PUCHAR;
+typedef unsigned short USHORT, *PUSHORT;
+#ifdef _MSC_VER
+typedef unsigned long ULONG, *PULONG;
+#else
+typedef unsigned int ULONG, *PULONG;
+#endif
+#endif
+
 typedef void                                   *LPVOID;
 typedef const void                             *LPCVOID;
 typedef int             BOOL,       *PBOOL,    *LPBOOL;
 typedef unsigned char   BYTE,       *PBYTE,    *LPBYTE;
-typedef unsigned char   UCHAR,      *PUCHAR;
 typedef unsigned short  WORD,       *PWORD,    *LPWORD;
-typedef unsigned short  USHORT,     *PUSHORT;
 typedef int             INT,        *PINT,     *LPINT;
 typedef unsigned int    UINT,       *PUINT;
 typedef float           FLOAT,      *PFLOAT;
@@ -253,11 +262,9 @@ typedef char                        *PSZ;
 #ifdef _MSC_VER
 typedef long                                   *LPLONG;
 typedef unsigned long   DWORD,      *PDWORD,   *LPDWORD;
-typedef unsigned long   ULONG,      *PULONG;
 #else
 typedef int                                    *LPLONG;
 typedef unsigned int    DWORD,      *PDWORD,   *LPDWORD;
-typedef unsigned int    ULONG,      *PULONG;
 #endif
 
 /* Macros to map Winelib names to the correct implementation name */




More information about the wine-cvs mailing list