- Update NDK with proper (when possible) RTL structure names that were previously...
[reactos.git] / reactos / include / ndk / rtlfuncs.h
index 32ab96e..bd58ab5 100644 (file)
 #define RtlIsLeftChild(Links) \
     (RtlLeftChild(RtlParent(Links)) == (PRTL_SPLAY_LINKS)(Links))
 
 #define RtlIsLeftChild(Links) \
     (RtlLeftChild(RtlParent(Links)) == (PRTL_SPLAY_LINKS)(Links))
 
+#define RtlIsRightChild(Links) \
+    (RtlRightChild(RtlParent(Links)) == (PRTL_SPLAY_LINKS)(Links))
+
 #define RtlRightChild(Links) \
 #define RtlRightChild(Links) \
-    (PRTL_SPLAY_LINKS)(Links)->RightChild
+    ((PRTL_SPLAY_LINKS)(Links))->RightChild
 
 #define RtlIsRoot(Links) \
     (RtlParent(Links) == (PRTL_SPLAY_LINKS)(Links))
 
 #define RtlLeftChild(Links) \
 
 #define RtlIsRoot(Links) \
     (RtlParent(Links) == (PRTL_SPLAY_LINKS)(Links))
 
 #define RtlLeftChild(Links) \
-    (PRTL_SPLAY_LINKS)(Links)->LeftChild
+    ((PRTL_SPLAY_LINKS)(Links))->LeftChild
 
 #define RtlParent(Links) \
 
 #define RtlParent(Links) \
-    (PRTL_SPLAY_LINKS)(Links)->Parent
+    ((PRTL_SPLAY_LINKS)(Links))->Parent
+
+#define RtlInitializeSplayLinks(Links)                  \
+    {                                                   \
+        PRTL_SPLAY_LINKS _SplayLinks;                   \
+        _SplayLinks = (PRTL_SPLAY_LINKS)(Links);        \
+        _SplayLinks->Parent = _SplayLinks;              \
+        _SplayLinks->LeftChild = NULL;                  \
+        _SplayLinks->RightChild = NULL;                 \
+    }
+
+#define RtlInsertAsLeftChild(ParentLinks,ChildLinks)    \
+    {                                                   \
+        PRTL_SPLAY_LINKS _SplayParent;                  \
+        PRTL_SPLAY_LINKS _SplayChild;                   \
+        _SplayParent = (PRTL_SPLAY_LINKS)(ParentLinks); \
+        _SplayChild = (PRTL_SPLAY_LINKS)(ChildLinks);   \
+        _SplayParent->LeftChild = _SplayChild;          \
+        _SplayChild->Parent = _SplayParent;             \
+    }
+
+#define RtlInsertAsRightChild(ParentLinks,ChildLinks)   \
+    {                                                   \
+        PRTL_SPLAY_LINKS _SplayParent;                  \
+        PRTL_SPLAY_LINKS _SplayChild;                   \
+        _SplayParent = (PRTL_SPLAY_LINKS)(ParentLinks); \
+        _SplayChild = (PRTL_SPLAY_LINKS)(ChildLinks);   \
+        _SplayParent->RightChild = _SplayChild;         \
+        _SplayChild->Parent = _SplayParent;             \
+    }
 
 /* PROTOTYPES ****************************************************************/
 
 
 /* PROTOTYPES ****************************************************************/
 
@@ -1152,6 +1184,15 @@ RtlIsTextUnicode(
     ULONG *Flags
 );
 
     ULONG *Flags
 );
 
+NTSYSAPI
+BOOLEAN
+NTAPI
+RtlPrefixString(
+    PCANSI_STRING String1,
+    PCANSI_STRING String2,
+    BOOLEAN CaseInsensitive
+);
+
 NTSYSAPI
 BOOLEAN
 NTAPI
 NTSYSAPI
 BOOLEAN
 NTAPI
@@ -1271,6 +1312,14 @@ RtlQueryAtomInAtomTable(
     IN OUT PULONG NameLength OPTIONAL
 );
 
     IN OUT PULONG NameLength OPTIONAL
 );
 
+NTSYSAPI
+NTSTATUS
+NTAPI
+RtlPinAtomInAtomTable(
+    IN PRTL_ATOM_TABLE AtomTable,
+    IN RTL_ATOM Atom
+);     
+
 NTSYSAPI
 NTSTATUS
 NTAPI
 NTSYSAPI
 NTSTATUS
 NTAPI
@@ -1654,7 +1703,7 @@ RtlGetCompressionWorkSpaceSize(
  * Debug Info Functions
  */
 NTSYSAPI
  * Debug Info Functions
  */
 NTSYSAPI
-PDEBUG_BUFFER
+PRTL_DEBUG_BUFFER
 NTAPI
 RtlCreateQueryDebugBuffer(
     IN ULONG Size,
 NTAPI
 RtlCreateQueryDebugBuffer(
     IN ULONG Size,
@@ -1664,7 +1713,7 @@ RtlCreateQueryDebugBuffer(
 NTSYSAPI
 NTSTATUS
 NTAPI
 NTSYSAPI
 NTSTATUS
 NTAPI
-RtlDestroyQueryDebugBuffer(IN PDEBUG_BUFFER DebugBuffer);
+RtlDestroyQueryDebugBuffer(IN PRTL_DEBUG_BUFFER DebugBuffer);
 
 NTSYSAPI
 NTSTATUS
 
 NTSYSAPI
 NTSTATUS
@@ -1672,7 +1721,7 @@ NTAPI
 RtlQueryProcessDebugInformation(
     IN ULONG ProcessId,
     IN ULONG DebugInfoClassMask,
 RtlQueryProcessDebugInformation(
     IN ULONG ProcessId,
     IN ULONG DebugInfoClassMask,
-    IN OUT PDEBUG_BUFFER DebugBuffer
+    IN OUT PRTL_DEBUG_BUFFER DebugBuffer
 );
 
 /*
 );
 
 /*