[KMTESTS]
[reactos.git] / kmtests / rtl / RtlAvlTree.c
1 /* HACK: broken ntddk.h */
2 #ifdef KMT_KERNEL_MODE
3 typedef struct _RTL_SPLAY_LINKS {
4 struct _RTL_SPLAY_LINKS *Parent;
5 struct _RTL_SPLAY_LINKS *LeftChild;
6 struct _RTL_SPLAY_LINKS *RightChild;
7 } RTL_SPLAY_LINKS, *PRTL_SPLAY_LINKS;
8 #endif
9
10 #define RTL_USE_AVL_TABLES
11 #define KMT_EMULATE_KERNEL
12 #include <kmt_test.h>
13
14 #if defined KMT_USER_MODE
15 /* HACK: missing in rtltypes.h */
16 #undef RTL_GENERIC_TABLE
17 #undef PRTL_GENERIC_TABLE
18
19 #define RTL_GENERIC_TABLE RTL_AVL_TABLE
20 #define PRTL_GENERIC_TABLE PRTL_AVL_TABLE
21
22 /* HACK: missing in rtlfuncs.h */
23 #define RtlInitializeGenericTable RtlInitializeGenericTableAvl
24 #define RtlInsertElementGenericTable RtlInsertElementGenericTableAvl
25 #define RtlDeleteElementGenericTable RtlDeleteElementGenericTableAvl
26 #define RtlLookupElementGenericTable RtlLookupElementGenericTableAvl
27 #define RtlEnumerateGenericTable RtlEnumerateGenericTableAvl
28 #define RtlGetElementGenericTable RtlGetElementGenericTableAvl
29 #define RtlNumberGenericTableElements RtlNumberGenericTableElementsAvl
30 #endif
31
32 /* this is a little hacky, but better than duplicating the code (for now) */
33 #define Test_RtlSplayTree Test_RtlAvlTree
34 #include "RtlSplayTree.c"