);
VOID
+STDCALL
RtlGetCallersAddress (
PVOID * CallersAddress
);
STDCALL
RtlQueryRegistryValues (
IN ULONG RelativeTo,
- IN PWSTR Path,
+ IN PCWSTR Path,
IN PRTL_QUERY_REGISTRY_TABLE QueryTable,
IN PVOID Context,
IN PVOID Environment
STDCALL
RtlWriteRegistryValue (
ULONG RelativeTo,
- PWSTR Path,
- PWSTR ValueName,
+ PCWSTR Path,
+ PCWSTR ValueName,
ULONG ValueType,
PVOID ValueData,
ULONG ValueLength
NTSTATUS STDCALL
RtlDeleteRegistryValue(IN ULONG RelativeTo,
- IN PWSTR Path,
- IN PWSTR ValueName);
+ IN PCWSTR Path,
+ IN PCWSTR ValueName);
VOID STDCALL
RtlMoveMemory (PVOID Destination, CONST VOID* Source, ULONG Length);
#define RTL_REGISTRY_WINDOWS_NT 3
#define RTL_REGISTRY_DEVICEMAP 4
#define RTL_REGISTRY_USER 5
-#define RTL_REGISTRY_ENUM 6 // ReactOS specific: Used internally in kernel only
+#define RTL_REGISTRY_ENUM 6 /* ReactOS specific: Used internally in kernel only */
#define RTL_REGISTRY_MAXIMUM 7
#define RTL_REGISTRY_HANDLE 0x40000000
#define LONG_MOST_SIGNIFICANT_BIT 3
-
-#if defined(__NTOSKRNL__) || defined(__NTDLL__)
+#define NLS_ANSI_CODE_PAGE NlsAnsiCodePage
+#define NLS_LEAD_BYTE_INFO NlsLeadByteInfo
#define NLS_MB_CODE_PAGE_TAG NlsMbCodePageTag
#define NLS_MB_OEM_CODE_PAGE_TAG NlsMbOemCodePageTag
+#define NLS_OEM_LEAD_BYTE_INFO NlsOemLeadByteInfo
+
+#if defined(__NTOSKRNL__) || defined(__NTDLL__)
+extern USHORT EXPORTED NlsAnsiCodePage;
+extern PUSHORT EXPORTED NlsLeadByteInfo;
+extern BOOLEAN EXPORTED NlsMbCodePageTag;
+extern BOOLEAN EXPORTED NlsMbOemCodePageTag;
+#ifndef LIBCAPTIVE
+extern PUSHORT EXPORTED NlsOemLeadByteInfo;
+#else /* !LIBCAPTIVE */
+extern USHORT EXPORTED NlsOemLeadByteInfo;
+#endif /* LIBCAPTIVE */
#else
-#define NLS_MB_CODE_PAGE_TAG (*NlsMbCodePageTag)
-#define NLS_MB_OEM_CODE_PAGE_TAG (*NlsMbOemCodePageTag)
+extern USHORT IMPORTED NlsAnsiCodePage;
+extern PUSHORT IMPORTED NlsLeadByteInfo;
+extern BOOLEAN IMPORTED NlsMbCodePageTag;
+extern BOOLEAN IMPORTED NlsMbOemCodePageTag;
+extern PUSHORT IMPORTED NlsOemLeadByteInfo;
#endif /* __NTOSKRNL__ || __NTDLL__ */
-extern BOOLEAN NLS_MB_CODE_PAGE_TAG;
-extern BOOLEAN NLS_MB_OEM_CODE_PAGE_TAG;
-
/*
* NOTE: ReactOS extensions
#endif /* G_GNUC_UNUSED */
static inline const WCHAR *_RtlInitUnicodeStringFromLiteral_typecheck(const WCHAR *s) { return s; }
-#define RtlInitUnicodeStringFromLiteral(__PDEST_STRING__,__SOURCE_STRING__) \
- InitializeUnicodeString( \
- (__PDEST_STRING__), \
- sizeof(__SOURCE_STRING__) - sizeof(WCHAR), \
- sizeof(__SOURCE_STRING__), \
- (WCHAR * /* de"const" the string here */ )_RtlInitUnicodeStringFromLiteral_typecheck((__SOURCE_STRING__)) \
- )
+#define RtlInitUnicodeStringFromLiteral(__PDEST_STRING__,__SOURCE_STRING__) ({ \
+ const WCHAR *_RtlInitUnicodeStringFromLiteral_string=_RtlInitUnicodeStringFromLiteral_typecheck((__SOURCE_STRING__)); \
+ /* Do not: sizeof(__SOURCE_STRING__) \
+ * as captive uses non-literal REACTOS_UCS2() implementation \
+ * returning 'const WCHAR *' type giving sizeof(&)==4. \
+ */ \
+ size_t _RtlInitUnicodeStringFromLiteral_string_length=wcslen(_RtlInitUnicodeStringFromLiteral_string); \
+ \
+ InitializeUnicodeString( \
+ (__PDEST_STRING__), \
+ (_RtlInitUnicodeStringFromLiteral_string_length ) * sizeof(WCHAR), /* __LENGTH__ */ \
+ (_RtlInitUnicodeStringFromLiteral_string_length + 1) * sizeof(WCHAR), /* __MAXLENGTH__ */ \
+ (WCHAR * /* de"const" the string here */ )_RtlInitUnicodeStringFromLiteral_string \
+ ) \
+ })
/*
*/
-#ifndef __USE_W32API
-
-
-/*
- * An ReactOS extension
- */
-#ifdef G_GNUC_UNUSED
-static inline PSINGLE_LIST_ENTRY PopEntrySList(PSLIST_HEADER ListHead) G_GNUC_UNUSED;
-#endif /* G_GNUC_UNUSED */
-static
-inline
-PSINGLE_LIST_ENTRY
- PopEntrySList(
- PSLIST_HEADER ListHead
- )
-{
- PSINGLE_LIST_ENTRY ListEntry;
-
- ListEntry = ListHead->s.Next.Next;
- if (ListEntry!=NULL)
- {
- ListHead->s.Next.Next = ListEntry->Next;
- ListHead->s.Depth++;
- ListHead->s.Sequence++;
- }
- return ListEntry;
-}
-
-
-/*
- * An ReactOS extension
- */
-#ifdef G_GNUC_UNUSED
-static inline VOID PushEntrySList(PSLIST_HEADER ListHead,PSINGLE_LIST_ENTRY Entry) G_GNUC_UNUSED;
-#endif /* G_GNUC_UNUSED */
-static
-inline
-VOID
-PushEntrySList (
- PSLIST_HEADER ListHead,
- PSINGLE_LIST_ENTRY Entry
- )
-{
- Entry->Next = ListHead->s.Next.Next;
- ListHead->s.Next.Next = Entry;
- ListHead->s.Depth++;
- ListHead->s.Sequence++;
-}
-
-#else /* __USE_W32API */
-
-/*
- * An ReactOS extension
- */
-static
-inline
-PSINGLE_LIST_ENTRY
- PopEntrySList(
- PSLIST_HEADER ListHead
- )
-{
- PSINGLE_LIST_ENTRY ListEntry;
-
- ListEntry = ListHead->Next.Next;
- if (ListEntry!=NULL)
- {
- ListHead->Next.Next = ListEntry->Next;
- ListHead->Depth++;
- ListHead->Sequence++;
- }
- return ListEntry;
-}
-
-
-/*
- * An ReactOS extension
- */
-static
-inline
-VOID
-PushEntrySList (
- PSLIST_HEADER ListHead,
- PSINGLE_LIST_ENTRY Entry
- )
-{
- Entry->Next = ListHead->Next.Next;
- ListHead->Next.Next = Entry;
- ListHead->Depth++;
- ListHead->Sequence++;
-}
-
-#endif /* __USE_W32API */
-
-
NTSTATUS
STDCALL
RtlAddAtomToAtomTable (
RtlCreateHeap (
ULONG Flags,
PVOID BaseAddress,
- ULONG SizeToReserve, // dwMaximumSize
- ULONG SizeToCommit, // dwInitialSize
+ ULONG SizeToReserve, /* dwMaximumSize */
+ ULONG SizeToCommit, /* dwInitialSize */
PVOID Unknown,
PRTL_HEAP_DEFINITION Definition
);
NTSTATUS
STDCALL
RtlCustomCPToUnicodeN (
- PRTL_NLS_DATA NlsData,
+ IN PCPTABLEINFO CustomCP,
PWCHAR UnicodeString,
ULONG UnicodeSize,
PULONG ResultSize,
PIMAGE_NT_HEADERS
STDCALL
RtlImageNtHeader (
- PVOID BaseAddress
+ IN PVOID BaseAddress
);
PIMAGE_SECTION_HEADER
VOID
STDCALL
+RtlInitCodePageTable (
+ IN PUSHORT TableBase,
+ OUT PCPTABLEINFO CodePageTable
+ );
+
+VOID
+STDCALL
+RtlInitNlsTables (
+ IN PUSHORT AnsiTableBase,
+ IN PUSHORT OemTableBase,
+ IN PUSHORT CaseTableBase,
+ OUT PNLSTABLEINFO NlsTable
+ );
+
+VOID
+STDCALL
RtlInitString (
PSTRING DestinationString,
PCSZ SourceString
IN PRTL_GENERIC_TABLE Table
);
-BOOLEAN STDCALL
-RtlIsNameLegalDOS8Dot3(IN PUNICODE_STRING UnicodeName,
- IN PANSI_STRING AnsiName,
- OUT PBOOLEAN SpacesFound);
+BOOLEAN
+STDCALL
+RtlIsNameLegalDOS8Dot3 (
+ IN PUNICODE_STRING UnicodeName,
+ IN PANSI_STRING AnsiName,
+ OUT PBOOLEAN SpacesFound
+ );
-ULONG STDCALL
-RtlIsTextUnicode (PVOID Buffer,
- ULONG Length,
- ULONG *Flags);
+ULONG
+STDCALL
+RtlIsTextUnicode (
+ PVOID Buffer,
+ ULONG Length,
+ ULONG *Flags
+ );
LARGE_INTEGER
STDCALL
PWCHAR UnicodeString,
ULONG UnicodeSize,
PULONG ResultSize,
- PCHAR MbString,
+ const PCHAR MbString,
ULONG MbSize
);
DWORD size
);
-NTSTATUS STDCALL
-RtlReserveChunk(IN USHORT CompressionFormat,
- IN OUT PUCHAR *CompressedBuffer,
- IN PUCHAR EndOfCompressedBufferPlus1,
- OUT PUCHAR *ChunkBuffer,
- IN ULONG ChunkSize);
+NTSTATUS
+STDCALL
+RtlReserveChunk (
+ IN USHORT CompressionFormat,
+ IN OUT PUCHAR *CompressedBuffer,
+ IN PUCHAR EndOfCompressedBufferPlus1,
+ OUT PUCHAR *ChunkBuffer,
+ IN ULONG ChunkSize
+ );
+
+VOID
+STDCALL
+RtlResetRtlTranslations (
+ IN PNLSTABLEINFO NlsTable
+ );
/*
* VOID
NTSTATUS
STDCALL
RtlUnicodeToCustomCPN (
- PRTL_NLS_DATA NlsData,
+ IN PCPTABLEINFO CustomCP,
PCHAR MbString,
ULONG MbSize,
PULONG ResultSize,
STDCALL
RtlUpcaseUnicodeString (
IN OUT PUNICODE_STRING DestinationString,
- IN PUNICODE_STRING SourceString,
+ IN PCUNICODE_STRING SourceString,
IN BOOLEAN AllocateDestinationString
);
NTSTATUS
STDCALL
RtlUpcaseUnicodeToCustomCPN (
- PRTL_NLS_DATA NlsData,
+ IN PCPTABLEINFO CustomCP,
PCHAR MbString,
ULONG MbSize,
PULONG ResultSize,
BOOLEAN STDCALL RtlAreAnyAccessesGranted (ACCESS_MASK GrantedAccess, ACCESS_MASK DesiredAccess);
VOID STDCALL RtlMapGenericMask (PACCESS_MASK AccessMask, PGENERIC_MAPPING GenericMapping);
+ULONG STDCALL
+RtlRandom (PULONG Seed);
+
+PRTL_SPLAY_LINKS STDCALL
+RtlSubtreePredecessor (IN PRTL_SPLAY_LINKS Links);
+
+PRTL_SPLAY_LINKS STDCALL
+RtlSubtreeSuccessor (IN PRTL_SPLAY_LINKS Links);
+
+ULONG STDCALL
+RtlUniform (PULONG Seed);
/* functions exported from NTOSKRNL.EXE which are considered RTL */