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