X-Git-Url: https://git.reactos.org/?p=reactos.git;a=blobdiff_plain;f=reactos%2Finclude%2Fndk%2Frtlfuncs.h;h=bd58ab5cec61f352cc04b531d61cebd318cd0aea;hp=32ab96e518d449ce37996b2e657897b8cd77fc68;hb=ada897443b98f24f31d0671db5a79c6a62c14335;hpb=be502089da57b63f061e5c02075c5f92b717d0f7 diff --git a/reactos/include/ndk/rtlfuncs.h b/reactos/include/ndk/rtlfuncs.h index 32ab96e518d..bd58ab5cec6 100644 --- a/reactos/include/ndk/rtlfuncs.h +++ b/reactos/include/ndk/rtlfuncs.h @@ -24,17 +24,49 @@ #define RtlIsLeftChild(Links) \ (RtlLeftChild(RtlParent(Links)) == (PRTL_SPLAY_LINKS)(Links)) +#define RtlIsRightChild(Links) \ + (RtlRightChild(RtlParent(Links)) == (PRTL_SPLAY_LINKS)(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) \ - (PRTL_SPLAY_LINKS)(Links)->LeftChild + ((PRTL_SPLAY_LINKS)(Links))->LeftChild #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 ****************************************************************/ @@ -1152,6 +1184,15 @@ RtlIsTextUnicode( ULONG *Flags ); +NTSYSAPI +BOOLEAN +NTAPI +RtlPrefixString( + PCANSI_STRING String1, + PCANSI_STRING String2, + BOOLEAN CaseInsensitive +); + NTSYSAPI BOOLEAN NTAPI @@ -1271,6 +1312,14 @@ RtlQueryAtomInAtomTable( IN OUT PULONG NameLength OPTIONAL ); +NTSYSAPI +NTSTATUS +NTAPI +RtlPinAtomInAtomTable( + IN PRTL_ATOM_TABLE AtomTable, + IN RTL_ATOM Atom +); + NTSYSAPI NTSTATUS NTAPI @@ -1654,7 +1703,7 @@ RtlGetCompressionWorkSpaceSize( * Debug Info Functions */ NTSYSAPI -PDEBUG_BUFFER +PRTL_DEBUG_BUFFER NTAPI RtlCreateQueryDebugBuffer( IN ULONG Size, @@ -1664,7 +1713,7 @@ RtlCreateQueryDebugBuffer( NTSYSAPI NTSTATUS NTAPI -RtlDestroyQueryDebugBuffer(IN PDEBUG_BUFFER DebugBuffer); +RtlDestroyQueryDebugBuffer(IN PRTL_DEBUG_BUFFER DebugBuffer); NTSYSAPI NTSTATUS @@ -1672,7 +1721,7 @@ NTAPI RtlQueryProcessDebugInformation( IN ULONG ProcessId, IN ULONG DebugInfoClassMask, - IN OUT PDEBUG_BUFFER DebugBuffer + IN OUT PRTL_DEBUG_BUFFER DebugBuffer ); /*