--- trunk/reactos/include/ndk/rtlfuncs.h 2005-06-20 05:11:48 UTC (rev 16137)
+++ trunk/reactos/include/ndk/rtlfuncs.h 2005-06-20 05:36:32 UTC (rev 16138)
@@ -9,226 +9,118 @@
#ifndef _RTLFUNCS_H
#define _RTLFUNCS_H
+/* DEPENDENCIES **************************************************************/
#include <ndk/rtltypes.h>
#include <ndk/pstypes.h>
+/* PROTOTYPES ****************************************************************/
+
/* FIXME: FILE NEEDS TO BE CLEANED UP AT THE END WHEN ALL THE FUNCTIONS HAVE BEEN ADDED */
-/*
- * VOID
- * InitializeListHead (
- * PLIST_ENTRY ListHead
- * );
- *
- * FUNCTION: Initializes a double linked list
- * ARGUMENTS:
- * ListHead = Caller supplied storage for the head of the list
- */
-static __inline VOID
+/* List Macros */
+static __inline
+VOID
InitializeListHead(
- IN PLIST_ENTRY ListHead)
+ IN PLIST_ENTRY ListHead)
{
- ListHead->Flink = ListHead->Blink = ListHead;
+ ListHead->Flink = ListHead->Blink = ListHead;
}
-
-/*
- * VOID
- * InsertHeadList (
- * PLIST_ENTRY ListHead,
- * PLIST_ENTRY Entry
- * );
- *
- * FUNCTION: Inserts an entry in a double linked list
- * ARGUMENTS:
- * ListHead = Head of the list
- * Entry = Entry to insert
- */
-static __inline VOID
+static __inline
+VOID
InsertHeadList(
- IN PLIST_ENTRY ListHead,
- IN PLIST_ENTRY Entry)
+ IN PLIST_ENTRY ListHead,
+ IN PLIST_ENTRY Entry)
{
- PLIST_ENTRY OldFlink;
- OldFlink = ListHead->Flink;
- Entry->Flink = OldFlink;
- Entry->Blink = ListHead;
- OldFlink->Blink = Entry;
- ListHead->Flink = Entry;
+ PLIST_ENTRY OldFlink;
+ OldFlink = ListHead->Flink;
+ Entry->Flink = OldFlink;
+ Entry->Blink = ListHead;
+ OldFlink->Blink = Entry;
+ ListHead->Flink = Entry;
}
-
-/*
- * VOID
- * InsertTailList (
- * PLIST_ENTRY ListHead,
- * PLIST_ENTRY Entry
- * );
- *
- * FUNCTION:
- * Inserts an entry in a double linked list
- *
- * ARGUMENTS:
- * ListHead = Head of the list
- * Entry = Entry to insert
- */
-static __inline VOID
+static __inline
+VOID
InsertTailList(
- IN PLIST_ENTRY ListHead,
- IN PLIST_ENTRY Entry)
+ IN PLIST_ENTRY ListHead,
+ IN PLIST_ENTRY Entry)
{
- PLIST_ENTRY OldBlink;
- OldBlink = ListHead->Blink;
- Entry->Flink = ListHead;
- Entry->Blink = OldBlink;
- OldBlink->Flink = Entry;
- ListHead->Blink = Entry;
+ PLIST_ENTRY OldBlink;
+ OldBlink = ListHead->Blink;
+ Entry->Flink = ListHead;
+ Entry->Blink = OldBlink;
+ OldBlink->Flink = Entry;
+ ListHead->Blink = Entry;
}
-/*
- * BOOLEAN
- * IsListEmpty (
- * PLIST_ENTRY ListHead
- * );
- *
- * FUNCTION:
- * Checks if a double linked list is empty
- *
- * ARGUMENTS:
- * ListHead = Head of the list
-*/
#define IsListEmpty(ListHead) \
- ((ListHead)->Flink == (ListHead))
+ ((ListHead)->Flink == (ListHead))
-
-/*
- * PSINGLE_LIST_ENTRY
- * PopEntryList (
- * PSINGLE_LIST_ENTRY ListHead
- * );
- *
- * FUNCTION:
- * Removes an entry from the head of a single linked list
- *
- * ARGUMENTS:
- * ListHead = Head of the list
- *
- * RETURNS:
- * The removed entry
- */
#define PopEntryList(ListHead) \
- (ListHead)->Next; \
- { \
- PSINGLE_LIST_ENTRY _FirstEntry; \
- _FirstEntry = (ListHead)->Next; \
- if (_FirstEntry != NULL) \
- (ListHead)->Next = _FirstEntry->Next; \
- }
+ (ListHead)->Next; \
+ { \
+ PSINGLE_LIST_ENTRY _FirstEntry; \
+ _FirstEntry = (ListHead)->Next; \
+ if (_FirstEntry != NULL) \
+ (ListHead)->Next = _FirstEntry->Next; \
+ }
#define PushEntryList(_ListHead, _Entry) \
- (_Entry)->Next = (_ListHead)->Next; \
- (_ListHead)->Next = (_Entry); \
+ (_Entry)->Next = (_ListHead)->Next; \
+ (_ListHead)->Next = (_Entry); \
-/*
- *BOOLEAN
- *RemoveEntryList (
- * PLIST_ENTRY Entry
- * );
- *
- * FUNCTION:
- * Removes an entry from a double linked list
- *
- * ARGUMENTS:
- * ListEntry = Entry to remove
- */
-static __inline BOOLEAN
+static __inline
+BOOLEAN
RemoveEntryList(
- IN PLIST_ENTRY Entry)
+ IN PLIST_ENTRY Entry)
{
- PLIST_ENTRY OldFlink;
- PLIST_ENTRY OldBlink;
+ PLIST_ENTRY OldFlink;
+ PLIST_ENTRY OldBlink;
- OldFlink = Entry->Flink;
- OldBlink = Entry->Blink;
- OldFlink->Blink = OldBlink;
- OldBlink->Flink = OldFlink;
- return (OldFlink == OldBlink);
+ OldFlink = Entry->Flink;
+ OldBlink = Entry->Blink;
+ OldFlink->Blink = OldBlink;
+ OldBlink->Flink = OldFlink;
+ return (OldFlink == OldBlink);
}
-
-/*
- * PLIST_ENTRY
- * RemoveHeadList (
- * PLIST_ENTRY ListHead
- * );
- *
- * FUNCTION:
- * Removes the head entry from a double linked list
- *
- * ARGUMENTS:
- * ListHead = Head of the list
- *
- * RETURNS:
- * The removed entry
- */
-static __inline PLIST_ENTRY
+static __inline
+PLIST_ENTRY
RemoveHeadList(
- IN PLIST_ENTRY ListHead)
+ IN PLIST_ENTRY ListHead)
{
- PLIST_ENTRY Flink;
- PLIST_ENTRY Entry;
+ PLIST_ENTRY Flink;
+ PLIST_ENTRY Entry;
- Entry = ListHead->Flink;
- Flink = Entry->Flink;
- ListHead->Flink = Flink;
- Flink->Blink = ListHead;
- return Entry;
+ Entry = ListHead->Flink;
+ Flink = Entry->Flink;
+ ListHead->Flink = Flink;
+ Flink->Blink = ListHead;
+ return Entry;
}
-
-/*
- * PLIST_ENTRY
- * RemoveTailList (
- * PLIST_ENTRY ListHead
- * );
- *
- * FUNCTION:
- * Removes the tail entry from a double linked list
- *
- * ARGUMENTS:
- * ListHead = Head of the list
- *
- * RETURNS:
- * The removed entry
- */
-static __inline PLIST_ENTRY
+static __inline
+PLIST_ENTRY
RemoveTailList(
- IN PLIST_ENTRY ListHead)
+ IN PLIST_ENTRY ListHead)
{
- PLIST_ENTRY Blink;
- PLIST_ENTRY Entry;
+ PLIST_ENTRY Blink;
+ PLIST_ENTRY Entry;
- Entry = ListHead->Blink;
- Blink = Entry->Blink;
- ListHead->Blink = Blink;
- Blink->Flink = ListHead;
- return Entry;
+ Entry = ListHead->Blink;
+ Blink = Entry->Blink;
+ ListHead->Blink = Blink;
+ Blink->Flink = ListHead;
+ return Entry;
}
-/*
- * BOOLEAN
- * IsXstEntry (
- * PLIST_ENTRY ListHead,
- * PLIST_ENTRY Entry
- * );
-*/
-#define IsFirstEntry(ListHead, Entry) ((ListHead)->Flink == Entry)
+#define IsFirstEntry(ListHead, Entry) \
+ ((ListHead)->Flink == Entry)
-#define IsLastEntry(ListHead, Entry) ((ListHead)->Blink == Entry)
-
-
-#define RtlGetProcessHeap() (NtCurrentPeb()->ProcessHeap)
-
+#define IsLastEntry(ListHead, Entry) \
+ ((ListHead)->Blink == Entry)
+
#define InsertAscendingListFIFO(ListHead, Type, ListEntryField, NewEntry, SortField)\
{\
PLIST_ENTRY current;\
@@ -247,7 +139,6 @@
InsertTailList(current, &((NewEntry)->ListEntryField));\
}
-
#define InsertDescendingListFIFO(ListHead, Type, ListEntryField, NewEntry, SortField)\
{\
PLIST_ENTRY current;\
@@ -266,7 +157,6 @@
InsertTailList(current, &((NewEntry)->ListEntryField));\
}
-
#define InsertAscendingList(ListHead, Type, ListEntryField, NewEntry, SortField)\
{\
PLIST_ENTRY current;\
@@ -285,7 +175,6 @@
InsertTailList(current, &((NewEntry)->ListEntryField));\
}
-
#define InsertDescendingList(ListHead, Type, ListEntryField, NewEntry, SortField)\
{\
PLIST_ENTRY current;\
@@ -304,19 +193,128 @@
InsertTailList(current, &((NewEntry)->ListEntryField));\
}
+/*
+ * Debug Functions
+ */
+
ULONG
CDECL
DbgPrint(
- IN PCH Format,
- IN ...);
+ IN PCH Format,
+ IN ...
+);
VOID
STDCALL
DbgBreakPoint(VOID);
+VOID
+STDCALL
+RtlAssert(
+ PVOID FailedAssertion,
+ PVOID FileName,
+ ULONG LineNumber,
+ PCHAR Message
+);
+
+ULONG
+STDCALL
+RtlNtStatusToDosError(IN NTSTATUS Status);
+
+VOID
+STDCALL
+RtlRaiseException(IN PEXCEPTION_RECORD ExceptionRecord);
+
+VOID
+STDCALL
+RtlRaiseStatus(NTSTATUS Status);
+
+VOID
+STDCALL
+RtlUnwind(
+ PEXCEPTION_REGISTRATION RegistrationFrame,
+ PVOID ReturnAddress,
+ PEXCEPTION_RECORD ExceptionRecord,
+ DWORD EaxValue
+);
+
+/*
+ * Heap Functions
+ */
+
+PVOID
+STDCALL
+RtlAllocateHeap(
+ IN HANDLE HeapHandle,
+ IN ULONG Flags,
+ IN ULONG Size
+);
+
+PVOID
+STDCALL
+RtlCreateHeap(
+ IN ULONG Flags,
+ IN PVOID BaseAddress OPTIONAL,
+ IN ULONG SizeToReserve OPTIONAL,
+ IN ULONG SizeToCommit OPTIONAL,
+ IN PVOID Lock OPTIONAL,
+ IN PRTL_HEAP_DEFINITION Definition OPTIONAL
+);
+
+HANDLE
+STDCALL
+RtlDestroyHeap(HANDLE hheap);
+
+BOOLEAN
+STDCALL
+RtlFreeHeap(
+ IN HANDLE HeapHandle,
+ IN ULONG Flags,
+ IN PVOID P
+);
+
+PVOID
+STDCALL
+RtlReAllocateHeap(
+ HANDLE Heap,
+ ULONG Flags,
+ PVOID Ptr,
+ ULONG Size
+);
+
+BOOLEAN
+STDCALL
+RtlLockHeap(IN HANDLE Heap);
+
+BOOLEAN
+STDCALL
+RtlUnlockHeap(IN HANDLE Heap);
+
+ULONG
+STDCALL
+RtlSizeHeap(
+ IN PVOID HeapHandle,
+ IN ULONG Flags,
+ IN PVOID MemoryPointer
+);
+
+BOOLEAN
+STDCALL
+RtlValidateHeap(
+ HANDLE Heap,
+ ULONG Flags,
+ PVOID pmem
+);
+
+#define RtlGetProcessHeap() (NtCurrentPeb()->ProcessHeap)
+
+
+/*
+ * Security Functions
+ */
NTSTATUS
STDCALL
-RtlAbsoluteToSelfRelativeSD (
+RtlAbsoluteToSelfRelativeSD(
IN PSECURITY_DESCRIPTOR AbsoluteSecurityDescriptor,
IN OUT PSECURITY_DESCRIPTOR_RELATIVE SelfRelativeSecurityDescriptor,
IN PULONG BufferLength
@@ -324,7 +322,7 @@
NTSTATUS
STDCALL
-RtlAddAccessAllowedAce (
+RtlAddAccessAllowedAce(
PACL Acl,
ULONG Revision,
ACCESS_MASK AccessMask,
@@ -333,7 +331,7 @@
NTSTATUS
STDCALL
-RtlAllocateAndInitializeSid (
+RtlAllocateAndInitializeSid(
IN PSID_IDENTIFIER_AUTHORITY IdentifierAuthority,
IN UCHAR SubAuthorityCount,
IN ULONG SubAuthority0,
@@ -347,47 +345,8 @@
OUT PSID *Sid
);
-PVOID
-STDCALL
-RtlAllocateHeap (
- IN HANDLE HeapHandle,
- IN ULONG Flags,
- IN ULONG Size
-);
-
-NTSTATUS
-STDCALL
-RtlAppendUnicodeToString (
- PUNICODE_STRING Destination,
- PCWSTR Source
-);
-
-NTSTATUS
-STDCALL
-RtlAppendUnicodeStringToString (
- PUNICODE_STRING Destination,
- PUNICODE_STRING Source
-);
-
-NTSTATUS
-STDCALL
-RtlAddAtomToAtomTable (
- IN PRTL_ATOM_TABLE AtomTable,
- IN PWSTR AtomName,
- OUT PRTL_ATOM Atom
-);
-
VOID
STDCALL
-RtlAssert (
- PVOID FailedAssertion,
- PVOID FileName,
- ULONG LineNumber,
- PCHAR Message
- );
-
-VOID
-STDCALL
RtlCopyLuid(
IN PLUID LuidDest,
IN PLUID LuidSrc
@@ -413,73 +372,22 @@
PULONG RemainingSidAreaSize
);
-SIZE_T
-STDCALL
-RtlCompareMemory(IN const VOID *Source1,
- IN const VOID *Source2,
- IN SIZE_T Length);
-
-LONG
-STDCALL
-RtlCompareUnicodeString (
- PUNICODE_STRING String1,
- PUNICODE_STRING String2,
- BOOLEAN CaseInsensitive
-);
-
-BOOLEAN
-STDCALL
-RtlEqualUnicodeString (
- PCUNICODE_STRING String1,
- PCUNICODE_STRING String2,
- BOOLEAN CaseInsensitive
-);
-
-VOID
-STDCALL
-RtlAcquirePebLock (
- VOID
- );
-
-VOID
-STDCALL
-RtlReleasePebLock (
- VOID
- );
-
NTSTATUS
STDCALL
-RtlCompressBuffer (
- IN USHORT CompressionFormatAndEngine,
- IN PUCHAR UncompressedBuffer,
- IN ULONG UncompressedBufferSize,
- OUT PUCHAR CompressedBuffer,
- IN ULONG CompressedBufferSize,
- IN ULONG UncompressedChunkSize,
- OUT PULONG FinalCompressedSize,
- IN PVOID WorkSpace
-);
-
-NTSTATUS
-STDCALL
-RtlConvertSidToUnicodeString (
+RtlConvertSidToUnicodeString(
OUT PUNICODE_STRING DestinationString,
- IN PSID Sid,
- IN BOOLEAN AllocateDestinationString
+ IN PSID Sid,
+ IN BOOLEAN AllocateDestinationString
);
NTSTATUS
STDCALL
-RtlCopySid (
- IN ULONG Length,
- IN PSID Destination,
- IN PSID Source
+RtlCopySid(
+ IN ULONG Length,
+ IN PSID Destination,
+ IN PSID Source
);
-VOID STDCALL
-RtlCopyUnicodeString(PUNICODE_STRING DestinationString,
- PUNICODE_STRING SourceString);
-
NTSTATUS
STDCALL
RtlCreateAcl(
@@ -488,535 +396,525 @@
ULONG AclRevision
);
-PVOID
-STDCALL
-RtlCreateHeap(
- IN ULONG Flags,
- IN PVOID BaseAddress OPTIONAL,
- IN ULONG SizeToReserve OPTIONAL,
- IN ULONG SizeToCommit OPTIONAL,
- IN PVOID Lock OPTIONAL,
- IN PRTL_HEAP_DEFINITION Definition OPTIONAL
-);
-
NTSTATUS
STDCALL
-RtlCreateAtomTable(
- IN ULONG TableSize,
- IN OUT PRTL_ATOM_TABLE *AtomTable
-);
-
-NTSTATUS
-STDCALL
RtlCreateSecurityDescriptor(
PSECURITY_DESCRIPTOR SecurityDescriptor,
ULONG Revision
);
-NTSTATUS STDCALL
+NTSTATUS
+STDCALL
RtlCreateSecurityDescriptorRelative(
PSECURITY_DESCRIPTOR_RELATIVE SecurityDescriptor,
ULONG Revision
);
-NTSTATUS
+BOOLEAN
STDCALL
-RtlCreateUserThread (
- IN HANDLE ProcessHandle,
- IN PSECURITY_DESCRIPTOR SecurityDescriptor,
- IN BOOLEAN CreateSuspended,
- IN LONG StackZeroBits,
- IN OUT PULONG StackReserve,
- IN OUT PULONG StackCommit,
- IN PTHREAD_START_ROUTINE StartAddress,
- IN PVOID Parameter,
- IN OUT PHANDLE ThreadHandle,
- IN OUT PCLIENT_ID ClientId
+RtlEqualSid (
+ IN PSID Sid1,
+ IN PSID Sid2
);
-BOOLEAN
+PVOID
STDCALL
-RtlCreateUnicodeString(
- OUT PUNICODE_STRING DestinationString,
- IN PCWSTR SourceString
+RtlFreeSid (
+ IN PSID Sid
);
NTSTATUS
STDCALL
-RtlDecompressBuffer (
- IN USHORT CompressionFormat,
- OUT PUCHAR UncompressedBuffer,
- IN ULONG UncompressedBufferSize,
- IN PUCHAR CompressedBuffer,
- IN ULONG CompressedBufferSize,
- OUT PULONG FinalUncompressedSize
+RtlGetDaclSecurityDescriptor(
+ IN PSECURITY_DESCRIPTOR SecurityDescriptor,
+ OUT PBOOLEAN DaclPresent,
+ OUT PACL *Dacl,
+ OUT PBOOLEAN DaclDefaulted
);
NTSTATUS
STDCALL
-RtlExpandEnvironmentStrings_U (
- PWSTR Environment,
- PUNICODE_STRING Source,
- PUNICODE_STRING Destination,
- PULONG Length
+RtlGetSaclSecurityDescriptor(
+ PSECURITY_DESCRIPTOR SecurityDescriptor,
+ PBOOLEAN SaclPresent,
+ PACL* Sacl,
+ PBOOLEAN SaclDefaulted
);
-PRTL_USER_PROCESS_PARAMETERS
+NTSTATUS
STDCALL
-RtlDeNormalizeProcessParams (
- IN PRTL_USER_PROCESS_PARAMETERS ProcessParameters
+RtlGetGroupSecurityDescriptor(
+ IN PSECURITY_DESCRIPTOR SecurityDescriptor,
+ OUT PSID *Group,
+ OUT PBOOLEAN GroupDefaulted
);
-PRTL_USER_PROCESS_PARAMETERS
+NTSTATUS
STDCALL
-RtlNormalizeProcessParams (
- IN PRTL_USER_PROCESS_PARAMETERS ProcessParameters
+RtlGetOwnerSecurityDescriptor(
+ IN PSECURITY_DESCRIPTOR SecurityDescriptor,
+ OUT PSID *Owner,
+ OUT PBOOLEAN OwnerDefaulted
);
NTSTATUS
STDCALL
-RtlDeleteAtomFromAtomTable (
- IN PRTL_ATOM_TABLE AtomTable,
- IN RTL_ATOM Atom
+RtlInitializeSid(
+ IN OUT PSID Sid,
+ IN PSID_IDENTIFIER_AUTHORITY IdentifierAuthority,
+ IN UCHAR SubAuthorityCount
);
+ULONG
+STDCALL
+RtlLengthRequiredSid(IN UCHAR SubAuthorityCount);
+
+ULONG
+STDCALL
+RtlLengthSid(IN PSID Sid);
+
+#if (VER_PRODUCTBUILD >= 2195)
+
NTSTATUS
STDCALL
-RtlDeleteCriticalSection (
- PRTL_CRITICAL_SECTION CriticalSection
+RtlSelfRelativeToAbsoluteSD(
+ IN PSECURITY_DESCRIPTOR SelfRelativeSD,
+ OUT PSECURITY_DESCRIPTOR AbsoluteSD,
+ IN PULONG AbsoluteSDSize,
+ IN PACL Dacl,
+ IN PULONG DaclSize,
+ IN PACL Sacl,
+ IN PULONG SaclSize,
+ IN PSID Owner,
+ IN PULONG OwnerSize,
+ IN PSID PrimaryGroup,
+ IN PULONG PrimaryGroupSize
);
-NTSTATUS
+#endif /* (VER_PRODUCTBUILD >= 2195) */
+
+NTSTATUS
STDCALL
-RtlDestroyAtomTable (
- IN PRTL_ATOM_TABLE AtomTable
+RtlSetDaclSecurityDescriptor (
+ PSECURITY_DESCRIPTOR SecurityDescriptor,
+ BOOLEAN DaclPresent,
+ PACL Dacl,
+ BOOLEAN DaclDefaulted
);
NTSTATUS
STDCALL
-RtlEnterCriticalSection (
- PRTL_CRITICAL_SECTION CriticalSection
+RtlSetGroupSecurityDescriptor(
+ IN OUT PSECURITY_DESCRIPTOR SecurityDescriptor,
+ IN PSID Group,
+ IN BOOLEAN GroupDefaulted
);
-NTSTATUS
+NTSTATUS
STDCALL
-RtlInitializeCriticalSection (
- PRTL_CRITICAL_SECTION CriticalSection
+RtlSetOwnerSecurityDescriptor(
+ IN OUT PSECURITY_DESCRIPTOR SecurityDescriptor,
+ IN PSID Owner,
+ IN BOOLEAN OwnerDefaulted
);
NTSTATUS
STDCALL
-RtlLeaveCriticalSection (
- PRTL_CRITICAL_SECTION CriticalSection
+RtlSetSaclSecurityDescriptor(
+ IN OUT PSECURITY_DESCRIPTOR SecurityDescriptor,
+ IN BOOLEAN SaclPresent,
+ IN PACL Sacl,
+ IN BOOLEAN SaclDefaulted
);
-VOID
+PUCHAR
STDCALL
-RtlInitializeBitMap(
- IN PRTL_BITMAP BitMapHeader,
- IN PULONG BitMapBuffer,
- IN ULONG SizeOfBitMap);
-
-BOOLEAN
+RtlSubAuthorityCountSid(
+ IN PSID Sid
+);
+
+PULONG
STDCALL
-RtlAreBitsClear(
- IN PRTL_BITMAP BitMapHeader,
- IN ULONG StartingIndex,
- IN ULONG Length);
+RtlSubAuthoritySid(
+ IN PSID Sid,
+ IN ULONG SubAuthority
+);
BOOLEAN
STDCALL
-RtlAreBitsSet(
- IN PRTL_BITMAP BitMapHeader,
- IN ULONG StartingIndex,
- IN ULONG Length);
+RtlValidSid(IN PSID Sid);
-VOID
+BOOLEAN
STDCALL
-RtlClearBits (
- IN PRTL_BITMAP BitMapHeader,
- IN ULONG StartingIndex,
- IN ULONG NumberToClear
- );
+RtlValidAcl(PACL Acl);
-ULONG
+/*
+ * Single-Character Functions
+ */
+NTSTATUS
STDCALL
-RtlFindClearBits (
- PRTL_BITMAP BitMapHeader,
- ULONG NumberToFind,
- ULONG HintIndex
- );
+RtlLargeIntegerToChar(
+ IN PLARGE_INTEGER Value,
+ IN ULONG Base,
+ IN ULONG Length,
+ IN OUT PCHAR String
+);
+
+CHAR
+STDCALL
+RtlUpperChar(CHAR Source);
-ULONG
+WCHAR
STDCALL
-RtlFindClearBitsAndSet (
- PRTL_BITMAP BitMapHeader,
- ULONG NumberToFind,
- ULONG HintIndex
- );
+RtlUpcaseUnicodeChar(WCHAR Source);
+WCHAR
+STDCALL
+RtlDowncaseUnicodeChar(IN WCHAR Source);
+
NTSTATUS
STDCALL
-RtlMultiByteToUnicodeN (
- PWCHAR UnicodeString,
- ULONG UnicodeSize,
- PULONG ResultSize,
- const PCHAR MbString,
- ULONG MbSize
+RtlIntegerToChar(
+ IN ULONG Value,
+ IN ULONG Base,
+ IN ULONG Length,
+ IN OUT PCHAR String
);
+NTSTATUS
+STDCALL
+RtlIntegerToUnicode(
+ IN ULONG Value,
+ IN ULONG Base OPTIONAL,
+ IN ULONG Length OPTIONAL,
+ IN OUT LPWSTR String
+);
+
NTSTATUS
STDCALL
-RtlMultiByteToUnicodeSize (
- PULONG UnicodeSize,
- PCHAR MbString,
- ULONG MbSize
+RtlIntegerToUnicodeString(
+ IN ULONG Value,
+ IN ULONG Base,
+ IN OUT PUNICODE_STRING String
);
-BOOLEAN
+NTSTATUS
STDCALL
-RtlPrefixUnicodeString (
- PUNICODE_STRING String1,
- PUNICODE_STRING String2,
- BOOLEAN CaseInsensitive
- );
+RtlCharToInteger(
+ PCSZ String,
+ ULONG Base,
+ PULONG Value
+);
-CHAR STDCALL
-RtlUpperChar (CHAR Source);
+USHORT
+FASTCALL
+RtlUshortByteSwap(IN USHORT Source);
-WCHAR
+/*
+ * Unicode->Ansi String Functions
+ */
+ULONG
STDCALL
-RtlUpcaseUnicodeChar (
- WCHAR Source
- );
-
+RtlUnicodeStringToAnsiSize(IN PUNICODE_STRING UnicodeString);
+
NTSTATUS
STDCALL
-RtlAnsiStringToUnicodeString (
- PUNICODE_STRING DestinationString,
- PANSI_STRING SourceString,
- BOOLEAN AllocateDestinationString
- );
-
-ULONG
+RtlUnicodeStringToAnsiString(
+ PANSI_STRING DestinationString,
+ PUNICODE_STRING SourceString,
+ BOOLEAN AllocateDestinationString
+);
+
+/*
+ * Unicode->OEM String Functions
+ */
+NTSTATUS
STDCALL
-RtlAnsiStringToUnicodeSize (
- PANSI_STRING AnsiString
- );
+RtlUpcaseUnicodeStringToOemString(
+ POEM_STRING DestinationString,
+ PUNICODE_STRING SourceString,
+ BOOLEAN AllocateDestinationString
+);
NTSTATUS
STDCALL
-RtlUnicodeToMultiByteN (
- PCHAR MbString,
- ULONG MbSize,
- PULONG ResultSize,
- PWCHAR UnicodeString,
- ULONG UnicodeSize
- );
-
-ULONG
+RtlUpcaseUnicodeStringToCountedOemString(
+ IN OUT POEM_STRING DestinationString,
+ IN PUNICODE_STRING SourceString,
+ IN BOOLEAN AllocateDestinationString
[truncated at 1000 lines; 1114 more skipped]