+enum _RTL_GENERIC_COMPARE_RESULTS
authorshort <>
Fri, 8 Nov 2002 19:24:44 +0000 (19:24 +0000)
committershort <>
Fri, 8 Nov 2002 19:24:44 +0000 (19:24 +0000)
+enum _TABLE_SEARCH_RESULT
+typedef PRTL_GENERIC_COMPARE_ROUTINE
+typedef PRTL_GENERIC_ALLOCATE_ROUTINE
+typedef PRTL_GENERIC_FREE_ROUTINE
RTL_GENERIC_TABLE: Fixed types: CompareRoutine, AllocateRoutine and FreeRoutine

include/ddk/rtltypes.h

index ea718ad..b75d00f 100644 (file)
@@ -131,6 +131,37 @@ typedef struct _RTL_SPLAY_LINKS
   struct _RTL_SPLAY_LINKS *RightChild;
 } RTL_SPLAY_LINKS, *PRTL_SPLAY_LINKS;
 
+struct _RTL_GENERIC_TABLE;
+
+typedef enum _RTL_GENERIC_COMPARE_RESULTS
+{
+  GenericLessThan,
+  GenericGreaterThan,
+  GenericEqual
+} RTL_GENERIC_COMPARE_RESULTS;
+
+typedef enum _TABLE_SEARCH_RESULT
+{
+  TableEmptyTree,
+  TableFoundNode,
+  TableInsertAsLeft,
+  TableInsertAsRight
+} TABLE_SEARCH_RESULT;
+
+typedef RTL_GENERIC_COMPARE_RESULTS NTAPI
+(*PRTL_GENERIC_COMPARE_ROUTINE)(struct _RTL_GENERIC_TABLE *GenericTable,
+                               PVOID FirstStruct,
+                               PVOID SecondStruct);
+
+typedef PVOID NTAPI
+(*PRTL_GENERIC_ALLOCATE_ROUTINE)(struct _RTL_GENERIC_TABLE *GenericTable,
+                                ULONG ByteSize
+                                );
+
+typedef VOID NTAPI
+(*PRTL_GENERIC_FREE_ROUTINE)(struct _RTL_GENERIC_TABLE *GenericTable,
+                            PVOID Element
+                            );
 
 typedef struct _RTL_GENERIC_TABLE
 {
@@ -140,9 +171,9 @@ typedef struct _RTL_GENERIC_TABLE
   ULONG Unknown4;
   ULONG Unknown5;
   ULONG ElementCount;
-  PVOID CompareRoutine;
-  PVOID AllocateRoutine;
-  PVOID FreeRoutine;
+  PRTL_GENERIC_COMPARE_ROUTINE CompareRoutine;
+  PRTL_GENERIC_ALLOCATE_ROUTINE AllocateRoutine;
+  PRTL_GENERIC_FREE_ROUTINE FreeRoutine;
   ULONG UserParameter;
 } RTL_GENERIC_TABLE, *PRTL_GENERIC_TABLE;