mirror of
https://github.com/reactos/reactos.git
synced 2025-07-30 10:11:42 +00:00
Added RTL Stubs, Prototypes and Exports.
svn path=/trunk/; revision=10404
This commit is contained in:
parent
172a11d61b
commit
3c1d312107
25 changed files with 2139 additions and 384 deletions
|
@ -1209,13 +1209,6 @@ RtlEnumerateGenericTableWithoutSplaying(
|
||||||
IN PVOID *RestartKey
|
IN PVOID *RestartKey
|
||||||
);
|
);
|
||||||
|
|
||||||
VOID
|
|
||||||
STDCALL
|
|
||||||
RtlGetElementGenericTable(
|
|
||||||
IN PRTL_GENERIC_TABLE Table,
|
|
||||||
IN ULONG I
|
|
||||||
);
|
|
||||||
|
|
||||||
PVOID
|
PVOID
|
||||||
STDCALL
|
STDCALL
|
||||||
RtlLookupElementGenericTable(
|
RtlLookupElementGenericTable(
|
||||||
|
@ -2237,28 +2230,6 @@ STDCALL
|
||||||
RtlGetVersion(
|
RtlGetVersion(
|
||||||
OUT PRTL_OSVERSIONINFOW lpVersionInformation
|
OUT PRTL_OSVERSIONINFOW lpVersionInformation
|
||||||
);
|
);
|
||||||
NTSTATUS
|
|
||||||
STDCALL
|
|
||||||
RtlHashUnicodeString(
|
|
||||||
IN const UNICODE_STRING *String,
|
|
||||||
IN BOOL CaseInSensitive,
|
|
||||||
IN ULONG HashAlgorithm,
|
|
||||||
OUT PULONG HashValue
|
|
||||||
);
|
|
||||||
BOOL
|
|
||||||
STDCALL
|
|
||||||
RtlValidRelativeSecurityDescriptor (
|
|
||||||
IN PSECURITY_DESCRIPTOR SecurityDescriptorInput,
|
|
||||||
IN ULONG SecurityDescriptorLength,
|
|
||||||
IN SECURITY_INFORMATION RequiredInformation
|
|
||||||
);
|
|
||||||
NTSTATUS
|
|
||||||
STDCALL
|
|
||||||
RtlVerifyVersionInfo(
|
|
||||||
IN PRTL_OSVERSIONINFOEXW VersionInfo,
|
|
||||||
IN ULONG TypeMask,
|
|
||||||
IN ULONGLONG ConditionMask
|
|
||||||
);
|
|
||||||
ULONG
|
ULONG
|
||||||
STDCALL
|
STDCALL
|
||||||
RtlWalkFrameChain (
|
RtlWalkFrameChain (
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $Id: rtl.h,v 1.31 2004/07/23 21:54:54 chorns Exp $
|
/* $Id: rtl.h,v 1.32 2004/08/05 18:17:36 ion Exp $
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
#ifndef __DDK_RTL_H
|
#ifndef __DDK_RTL_H
|
||||||
|
@ -473,12 +473,6 @@ RtlEqualUnicodeString (
|
||||||
BOOLEAN CaseInSensitive
|
BOOLEAN CaseInSensitive
|
||||||
);
|
);
|
||||||
|
|
||||||
VOID
|
|
||||||
STDCALL
|
|
||||||
RtlGetCallersAddress (
|
|
||||||
PVOID * CallersAddress
|
|
||||||
);
|
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
STDCALL
|
STDCALL
|
||||||
RtlQueryRegistryValues (
|
RtlQueryRegistryValues (
|
||||||
|
@ -613,6 +607,16 @@ RtlAddAccessAllowedAce (PACL Acl,
|
||||||
ACCESS_MASK AccessMask,
|
ACCESS_MASK AccessMask,
|
||||||
PSID Sid);
|
PSID Sid);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlAddAccessAllowedAceEx(
|
||||||
|
IN OUT PACL pAcl,
|
||||||
|
IN DWORD dwAceRevision,
|
||||||
|
IN DWORD AceFlags,
|
||||||
|
IN DWORD AccessMask,
|
||||||
|
IN PSID pSid);
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS STDCALL
|
NTSTATUS STDCALL
|
||||||
RtlAddAccessDeniedAce (PACL Acl,
|
RtlAddAccessDeniedAce (PACL Acl,
|
||||||
ULONG Revision,
|
ULONG Revision,
|
||||||
|
@ -739,6 +743,23 @@ RtlAssert (
|
||||||
PCHAR Message
|
PCHAR Message
|
||||||
);
|
);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
RtlCaptureContext (
|
||||||
|
OUT PCONTEXT ContextRecord
|
||||||
|
);
|
||||||
|
|
||||||
|
USHORT
|
||||||
|
STDCALL
|
||||||
|
RtlCaptureStackBackTrace (
|
||||||
|
IN ULONG FramesToSkip,
|
||||||
|
IN ULONG FramesToCapture,
|
||||||
|
OUT PVOID *BackTrace,
|
||||||
|
OUT PULONG BackTraceHash OPTIONAL
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
STDCALL
|
STDCALL
|
||||||
RtlCharToInteger (
|
RtlCharToInteger (
|
||||||
|
@ -760,6 +781,13 @@ RtlClearAllBits (
|
||||||
IN PRTL_BITMAP BitMapHeader
|
IN PRTL_BITMAP BitMapHeader
|
||||||
);
|
);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
RtlClearBit (
|
||||||
|
PRTL_BITMAP BitMapHeader,
|
||||||
|
ULONG BitNumber
|
||||||
|
);
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
STDCALL
|
STDCALL
|
||||||
RtlClearBits (
|
RtlClearBits (
|
||||||
|
@ -902,6 +930,12 @@ NTSTATUS STDCALL
|
||||||
RtlCreateSecurityDescriptor (PSECURITY_DESCRIPTOR SecurityDescriptor,
|
RtlCreateSecurityDescriptor (PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||||
ULONG Revision);
|
ULONG Revision);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlCreateSystemVolumeInformationFolder(
|
||||||
|
IN PUNICODE_STRING VolumeRootPath
|
||||||
|
);
|
||||||
|
|
||||||
BOOLEAN STDCALL
|
BOOLEAN STDCALL
|
||||||
RtlCreateUnicodeString (OUT PUNICODE_STRING Destination,
|
RtlCreateUnicodeString (OUT PUNICODE_STRING Destination,
|
||||||
IN PWSTR Source);
|
IN PWSTR Source);
|
||||||
|
@ -948,6 +982,12 @@ RtlDecompressFragment(IN USHORT CompressionFormat,
|
||||||
OUT PULONG FinalUncompressedSize,
|
OUT PULONG FinalUncompressedSize,
|
||||||
IN PVOID WorkSpace);
|
IN PVOID WorkSpace);
|
||||||
|
|
||||||
|
PRTL_SPLAY_LINKS
|
||||||
|
STDCALL
|
||||||
|
RtlDelete (
|
||||||
|
PRTL_SPLAY_LINKS Links
|
||||||
|
);
|
||||||
|
|
||||||
NTSTATUS STDCALL
|
NTSTATUS STDCALL
|
||||||
RtlDeleteAce (PACL Acl,
|
RtlDeleteAce (PACL Acl,
|
||||||
ULONG AceIndex);
|
ULONG AceIndex);
|
||||||
|
@ -956,6 +996,28 @@ NTSTATUS STDCALL
|
||||||
RtlDeleteAtomFromAtomTable (IN PRTL_ATOM_TABLE AtomTable,
|
RtlDeleteAtomFromAtomTable (IN PRTL_ATOM_TABLE AtomTable,
|
||||||
IN RTL_ATOM Atom);
|
IN RTL_ATOM Atom);
|
||||||
|
|
||||||
|
BOOLEAN
|
||||||
|
STDCALL
|
||||||
|
RtlDeleteElementGenericTable (
|
||||||
|
PRTL_GENERIC_TABLE Table,
|
||||||
|
PVOID Buffer
|
||||||
|
);
|
||||||
|
|
||||||
|
BOOLEAN
|
||||||
|
STDCALL
|
||||||
|
RtlDeleteElementGenericTableAvl (
|
||||||
|
PRTL_AVL_TABLE Table,
|
||||||
|
PVOID Buffer
|
||||||
|
);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
RtlDeleteNoSplay (
|
||||||
|
PRTL_SPLAY_LINKS Links,
|
||||||
|
PRTL_SPLAY_LINKS *Root
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS STDCALL
|
NTSTATUS STDCALL
|
||||||
RtlDeleteOwnersRanges (IN OUT PRTL_RANGE_LIST RangeList,
|
RtlDeleteOwnersRanges (IN OUT PRTL_RANGE_LIST RangeList,
|
||||||
IN PVOID Owner);
|
IN PVOID Owner);
|
||||||
|
@ -979,6 +1041,14 @@ RtlDestroyAtomTable (IN PRTL_ATOM_TABLE AtomTable);
|
||||||
BOOL STDCALL
|
BOOL STDCALL
|
||||||
RtlDestroyHeap (HANDLE hheap);
|
RtlDestroyHeap (HANDLE hheap);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlDispatchException(
|
||||||
|
PEXCEPTION_RECORD pExcptRec,
|
||||||
|
CONTEXT * pContext
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
STDCALL
|
STDCALL
|
||||||
RtlDowncaseUnicodeString (
|
RtlDowncaseUnicodeString (
|
||||||
|
@ -1016,6 +1086,46 @@ RtlEnlargedUnsignedMultiply (
|
||||||
ULONG Multiplier
|
ULONG Multiplier
|
||||||
);
|
);
|
||||||
|
|
||||||
|
PVOID
|
||||||
|
STDCALL
|
||||||
|
RtlEnumerateGenericTable (
|
||||||
|
PRTL_GENERIC_TABLE Table,
|
||||||
|
BOOLEAN Restart
|
||||||
|
);
|
||||||
|
|
||||||
|
PVOID
|
||||||
|
STDCALL
|
||||||
|
RtlEnumerateGenericTableAvl (
|
||||||
|
PRTL_AVL_TABLE Table,
|
||||||
|
BOOLEAN Restart
|
||||||
|
);
|
||||||
|
|
||||||
|
PVOID
|
||||||
|
STDCALL
|
||||||
|
RtlEnumerateGenericTableLikeADirectory (
|
||||||
|
IN PRTL_AVL_TABLE Table,
|
||||||
|
IN PRTL_AVL_MATCH_FUNCTION MatchFunction,
|
||||||
|
IN PVOID MatchData,
|
||||||
|
IN ULONG NextFlag,
|
||||||
|
IN OUT PVOID *RestartKey,
|
||||||
|
IN OUT PULONG DeleteCount,
|
||||||
|
IN OUT PVOID Buffer
|
||||||
|
);
|
||||||
|
|
||||||
|
PVOID
|
||||||
|
STDCALL
|
||||||
|
RtlEnumerateGenericTableWithoutSplaying (
|
||||||
|
PRTL_GENERIC_TABLE Table,
|
||||||
|
PVOID *RestartKey
|
||||||
|
);
|
||||||
|
|
||||||
|
PVOID
|
||||||
|
STDCALL
|
||||||
|
RtlEnumerateGenericTableWithoutSplayingAvl (
|
||||||
|
PRTL_AVL_TABLE Table,
|
||||||
|
PVOID *RestartKey
|
||||||
|
);
|
||||||
|
|
||||||
BOOLEAN STDCALL
|
BOOLEAN STDCALL
|
||||||
RtlEqualPrefixSid (PSID Sid1,
|
RtlEqualPrefixSid (PSID Sid1,
|
||||||
PSID Sid2);
|
PSID Sid2);
|
||||||
|
@ -1079,6 +1189,40 @@ RtlFindClearBitsAndSet (
|
||||||
ULONG HintIndex
|
ULONG HintIndex
|
||||||
);
|
);
|
||||||
|
|
||||||
|
ULONG
|
||||||
|
STDCALL
|
||||||
|
RtlFindClearRuns (
|
||||||
|
PRTL_BITMAP BitMapHeader,
|
||||||
|
PRTL_BITMAP_RUN RunArray,
|
||||||
|
ULONG SizeOfRunArray,
|
||||||
|
BOOLEAN LocateLongestRuns
|
||||||
|
);
|
||||||
|
|
||||||
|
ULONG
|
||||||
|
STDCALL
|
||||||
|
RtlFindLastBackwardRunClear (
|
||||||
|
IN PRTL_BITMAP BitMapHeader,
|
||||||
|
IN ULONG FromIndex,
|
||||||
|
IN PULONG StartingRunIndex
|
||||||
|
);
|
||||||
|
|
||||||
|
ULONG
|
||||||
|
STDCALL
|
||||||
|
RtlFindNextForwardRunClear (
|
||||||
|
IN PRTL_BITMAP BitMapHeader,
|
||||||
|
IN ULONG FromIndex,
|
||||||
|
IN PULONG StartingRunIndex
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
PUNICODE_PREFIX_TABLE_ENTRY
|
||||||
|
STDCALL
|
||||||
|
RtlFindUnicodePrefix (
|
||||||
|
PUNICODE_PREFIX_TABLE PrefixTable,
|
||||||
|
PUNICODE_STRING FullName,
|
||||||
|
ULONG CaseInsensitiveIndex
|
||||||
|
);
|
||||||
|
|
||||||
ULONG
|
ULONG
|
||||||
STDCALL
|
STDCALL
|
||||||
RtlFindFirstRunClear (
|
RtlFindFirstRunClear (
|
||||||
|
@ -1192,6 +1336,13 @@ RtlGetAce (PACL Acl,
|
||||||
ULONG AceIndex,
|
ULONG AceIndex,
|
||||||
PACE *Ace);
|
PACE *Ace);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
RtlGetCallersAddress(
|
||||||
|
OUT PVOID *CallersAddress,
|
||||||
|
OUT PVOID *CallersCaller
|
||||||
|
);
|
||||||
|
|
||||||
NTSTATUS STDCALL
|
NTSTATUS STDCALL
|
||||||
RtlGetCompressionWorkSpaceSize (IN USHORT CompressionFormatAndEngine,
|
RtlGetCompressionWorkSpaceSize (IN USHORT CompressionFormatAndEngine,
|
||||||
OUT PULONG CompressBufferAndWorkSpaceSize,
|
OUT PULONG CompressBufferAndWorkSpaceSize,
|
||||||
|
@ -1212,6 +1363,20 @@ VOID STDCALL
|
||||||
RtlGetDefaultCodePage (OUT PUSHORT AnsiCodePage,
|
RtlGetDefaultCodePage (OUT PUSHORT AnsiCodePage,
|
||||||
OUT PUSHORT OemCodePage);
|
OUT PUSHORT OemCodePage);
|
||||||
|
|
||||||
|
PVOID
|
||||||
|
STDCALL
|
||||||
|
RtlGetElementGenericTable(
|
||||||
|
PRTL_GENERIC_TABLE Table,
|
||||||
|
ULONG I
|
||||||
|
);
|
||||||
|
|
||||||
|
PVOID
|
||||||
|
STDCALL
|
||||||
|
RtlGetElementGenericTableAvl (
|
||||||
|
PRTL_AVL_TABLE Table,
|
||||||
|
ULONG I
|
||||||
|
);
|
||||||
|
|
||||||
NTSTATUS STDCALL
|
NTSTATUS STDCALL
|
||||||
RtlGetFirstRange (IN PRTL_RANGE_LIST RangeList,
|
RtlGetFirstRange (IN PRTL_RANGE_LIST RangeList,
|
||||||
OUT PRTL_RANGE_LIST_ITERATOR Iterator,
|
OUT PRTL_RANGE_LIST_ITERATOR Iterator,
|
||||||
|
@ -1227,6 +1392,12 @@ RtlGetNextRange (IN OUT PRTL_RANGE_LIST_ITERATOR Iterator,
|
||||||
OUT PRTL_RANGE *Range,
|
OUT PRTL_RANGE *Range,
|
||||||
IN BOOLEAN MoveForwards);
|
IN BOOLEAN MoveForwards);
|
||||||
|
|
||||||
|
ULONG
|
||||||
|
STDCALL
|
||||||
|
RtlGetNtGlobalFlags (
|
||||||
|
VOID
|
||||||
|
);
|
||||||
|
|
||||||
NTSTATUS STDCALL
|
NTSTATUS STDCALL
|
||||||
RtlGetOwnerSecurityDescriptor (PSECURITY_DESCRIPTOR SecurityDescriptor,
|
RtlGetOwnerSecurityDescriptor (PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||||
PSID* Owner,
|
PSID* Owner,
|
||||||
|
@ -1238,10 +1409,30 @@ RtlGetSaclSecurityDescriptor (PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||||
PACL* Sacl,
|
PACL* Sacl,
|
||||||
PBOOLEAN SaclDefaulted);
|
PBOOLEAN SaclDefaulted);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlGetSetBootStatusData(
|
||||||
|
HANDLE Filehandle,
|
||||||
|
BOOLEAN WriteMode,
|
||||||
|
DWORD DataClass,
|
||||||
|
PVOID Buffer,
|
||||||
|
ULONG BufferSize,
|
||||||
|
DWORD DataClass2
|
||||||
|
);
|
||||||
|
|
||||||
NTSTATUS STDCALL
|
NTSTATUS STDCALL
|
||||||
RtlGUIDFromString (IN PUNICODE_STRING GuidString,
|
RtlGUIDFromString (IN PUNICODE_STRING GuidString,
|
||||||
OUT GUID* Guid);
|
OUT GUID* Guid);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlHashUnicodeString(
|
||||||
|
IN const UNICODE_STRING *String,
|
||||||
|
IN BOOLEAN CaseInSensitive,
|
||||||
|
IN ULONG HashAlgorithm,
|
||||||
|
OUT PULONG HashValue
|
||||||
|
);
|
||||||
|
|
||||||
PSID_IDENTIFIER_AUTHORITY STDCALL
|
PSID_IDENTIFIER_AUTHORITY STDCALL
|
||||||
RtlIdentifierAuthoritySid (PSID Sid);
|
RtlIdentifierAuthoritySid (PSID Sid);
|
||||||
|
|
||||||
|
@ -1291,6 +1482,12 @@ RtlInitCodePageTable (
|
||||||
OUT PCPTABLEINFO CodePageTable
|
OUT PCPTABLEINFO CodePageTable
|
||||||
);
|
);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
RtlInitializeUnicodePrefix (
|
||||||
|
PUNICODE_PREFIX_TABLE PrefixTable
|
||||||
|
);
|
||||||
|
|
||||||
NTSTATUS STDCALL
|
NTSTATUS STDCALL
|
||||||
RtlInitializeSid (PSID Sid,
|
RtlInitializeSid (PSID Sid,
|
||||||
PSID_IDENTIFIER_AUTHORITY IdentifierAuthority,
|
PSID_IDENTIFIER_AUTHORITY IdentifierAuthority,
|
||||||
|
@ -1340,11 +1537,21 @@ RtlInitializeContext (
|
||||||
VOID
|
VOID
|
||||||
STDCALL
|
STDCALL
|
||||||
RtlInitializeGenericTable (
|
RtlInitializeGenericTable (
|
||||||
IN OUT PRTL_GENERIC_TABLE Table,
|
PRTL_GENERIC_TABLE Table,
|
||||||
IN PVOID CompareRoutine,
|
PRTL_GENERIC_COMPARE_ROUTINE CompareRoutine,
|
||||||
IN PVOID AllocateRoutine,
|
PRTL_GENERIC_ALLOCATE_ROUTINE AllocateRoutine,
|
||||||
IN PVOID FreeRoutine,
|
PRTL_GENERIC_FREE_ROUTINE FreeRoutine,
|
||||||
IN ULONG UserParameter
|
PVOID TableContext
|
||||||
|
);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
RtlInitializeGenericTableAvl (
|
||||||
|
PRTL_AVL_TABLE Table,
|
||||||
|
PRTL_AVL_COMPARE_ROUTINE CompareRoutine,
|
||||||
|
PRTL_AVL_ALLOCATE_ROUTINE AllocateRoutine,
|
||||||
|
PRTL_AVL_FREE_ROUTINE FreeRoutine,
|
||||||
|
PVOID TableContext
|
||||||
);
|
);
|
||||||
|
|
||||||
VOID STDCALL
|
VOID STDCALL
|
||||||
|
@ -1353,10 +1560,57 @@ RtlInitializeRangeList (IN OUT PRTL_RANGE_LIST RangeList);
|
||||||
PVOID
|
PVOID
|
||||||
STDCALL
|
STDCALL
|
||||||
RtlInsertElementGenericTable (
|
RtlInsertElementGenericTable (
|
||||||
IN OUT PRTL_GENERIC_TABLE Table,
|
PRTL_GENERIC_TABLE Table,
|
||||||
IN PVOID Element,
|
PVOID Buffer,
|
||||||
IN ULONG ElementSize,
|
ULONG BufferSize,
|
||||||
IN ULONG Unknown4
|
PBOOLEAN NewElement OPTIONAL
|
||||||
|
);
|
||||||
|
|
||||||
|
PVOID
|
||||||
|
STDCALL
|
||||||
|
RtlInsertElementGenericTableAvl (
|
||||||
|
PRTL_AVL_TABLE Table,
|
||||||
|
PVOID Buffer,
|
||||||
|
ULONG BufferSize,
|
||||||
|
PBOOLEAN NewElement OPTIONAL
|
||||||
|
);
|
||||||
|
|
||||||
|
PVOID
|
||||||
|
STDCALL
|
||||||
|
RtlInsertElementGenericTableFull (
|
||||||
|
PRTL_GENERIC_TABLE Table,
|
||||||
|
PVOID Buffer,
|
||||||
|
ULONG BufferSize,
|
||||||
|
PBOOLEAN NewElement OPTIONAL,
|
||||||
|
PVOID NodeOrParent,
|
||||||
|
TABLE_SEARCH_RESULT SearchResult
|
||||||
|
);
|
||||||
|
|
||||||
|
PVOID
|
||||||
|
STDCALL
|
||||||
|
RtlInsertElementGenericTableFullAvl (
|
||||||
|
PRTL_AVL_TABLE Table,
|
||||||
|
PVOID Buffer,
|
||||||
|
ULONG BufferSize,
|
||||||
|
PBOOLEAN NewElement OPTIONAL,
|
||||||
|
PVOID NodeOrParent,
|
||||||
|
TABLE_SEARCH_RESULT SearchResult
|
||||||
|
);
|
||||||
|
|
||||||
|
BOOLEAN
|
||||||
|
STDCALL
|
||||||
|
RtlInsertUnicodePrefix (
|
||||||
|
PUNICODE_PREFIX_TABLE PrefixTable,
|
||||||
|
PUNICODE_STRING Prefix,
|
||||||
|
PUNICODE_PREFIX_TABLE_ENTRY PrefixTableEntry
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlInt64ToUnicodeString (
|
||||||
|
IN ULONGLONG Value,
|
||||||
|
IN ULONG Base OPTIONAL,
|
||||||
|
IN OUT PUNICODE_STRING String
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
@ -1380,8 +1634,154 @@ NTSTATUS STDCALL
|
||||||
RtlInvertRangeList (OUT PRTL_RANGE_LIST InvertedRangeList,
|
RtlInvertRangeList (OUT PRTL_RANGE_LIST InvertedRangeList,
|
||||||
IN PRTL_RANGE_LIST RangeList);
|
IN PRTL_RANGE_LIST RangeList);
|
||||||
|
|
||||||
BOOLEAN STDCALL
|
NTSTATUS
|
||||||
RtlIsGenericTableEmpty (IN PRTL_GENERIC_TABLE Table);
|
STDCALL
|
||||||
|
RtlIpv4AddressToStringA(
|
||||||
|
PULONG IP,
|
||||||
|
LPSTR Buffer
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlIpv4AddressToStringExA(
|
||||||
|
PULONG IP,
|
||||||
|
PULONG Port,
|
||||||
|
LPSTR Buffer,
|
||||||
|
PULONG MaxSize
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlIpv4AddressToStringW(
|
||||||
|
PULONG IP,
|
||||||
|
LPWSTR Buffer
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlIpv4AddressToStringExW(
|
||||||
|
PULONG IP,
|
||||||
|
PULONG Port,
|
||||||
|
LPWSTR Buffer,
|
||||||
|
PULONG MaxSize
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlIpv4StringToAddressA(
|
||||||
|
IN LPSTR IpString,
|
||||||
|
IN ULONG Base,
|
||||||
|
OUT PVOID PtrToIpAddr,
|
||||||
|
OUT ULONG IpAddr
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlIpv4StringToAddressExA(
|
||||||
|
IN LPSTR IpString,
|
||||||
|
IN ULONG Base,
|
||||||
|
OUT PULONG IpAddr,
|
||||||
|
OUT PULONG Port
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlIpv4StringToAddressW(
|
||||||
|
IN LPWSTR IpString,
|
||||||
|
IN ULONG Base,
|
||||||
|
OUT PVOID PtrToIpAddr,
|
||||||
|
OUT ULONG IpAddr
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlIpv4StringToAddressExW(
|
||||||
|
IN LPWSTR IpString,
|
||||||
|
IN ULONG Base,
|
||||||
|
OUT PULONG IpAddr,
|
||||||
|
OUT PULONG Port
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlIpv6AddressToStringA(
|
||||||
|
PULONG IP,
|
||||||
|
LPSTR Buffer
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlIpv6AddressToStringExA(
|
||||||
|
PULONG IP,
|
||||||
|
PULONG Port,
|
||||||
|
LPSTR Buffer,
|
||||||
|
PULONG MaxSize
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlIpv6AddressToStringW(
|
||||||
|
PULONG IP,
|
||||||
|
LPWSTR Buffer
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlIpv6AddressToStringExW(
|
||||||
|
PULONG IP,
|
||||||
|
PULONG Port,
|
||||||
|
LPWSTR Buffer,
|
||||||
|
PULONG MaxSize
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlIpv6StringToAddressA(
|
||||||
|
IN LPSTR IpString,
|
||||||
|
IN ULONG Base,
|
||||||
|
OUT PVOID PtrToIpAddr,
|
||||||
|
OUT ULONG IpAddr
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlIpv6StringToAddressExA(
|
||||||
|
IN LPSTR IpString,
|
||||||
|
IN ULONG Base,
|
||||||
|
OUT PULONG IpAddr,
|
||||||
|
OUT PULONG Port
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlIpv6StringToAddressW(
|
||||||
|
IN LPWSTR IpString,
|
||||||
|
IN ULONG Base,
|
||||||
|
OUT PVOID PtrToIpAddr,
|
||||||
|
OUT ULONG IpAddr
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlIpv6StringToAddressExW(
|
||||||
|
IN LPWSTR IpString,
|
||||||
|
IN ULONG Base,
|
||||||
|
OUT PULONG IpAddr,
|
||||||
|
OUT PULONG Port
|
||||||
|
);
|
||||||
|
|
||||||
|
BOOLEAN
|
||||||
|
STDCALL
|
||||||
|
RtlIsGenericTableEmpty (
|
||||||
|
PRTL_GENERIC_TABLE Table
|
||||||
|
);
|
||||||
|
|
||||||
|
BOOLEAN
|
||||||
|
STDCALL
|
||||||
|
RtlIsGenericTableEmptyAvl (
|
||||||
|
PRTL_AVL_TABLE Table
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
BOOLEAN STDCALL
|
BOOLEAN STDCALL
|
||||||
RtlIsNameLegalDOS8Dot3 (IN PUNICODE_STRING UnicodeName,
|
RtlIsNameLegalDOS8Dot3 (IN PUNICODE_STRING UnicodeName,
|
||||||
|
@ -1406,6 +1806,12 @@ RtlIsTextUnicode (
|
||||||
ULONG *Flags
|
ULONG *Flags
|
||||||
);
|
);
|
||||||
|
|
||||||
|
BOOLEAN
|
||||||
|
STDCALL
|
||||||
|
RtlIsValidOemCharacter (
|
||||||
|
IN PWCHAR Char
|
||||||
|
);
|
||||||
|
|
||||||
LARGE_INTEGER
|
LARGE_INTEGER
|
||||||
STDCALL
|
STDCALL
|
||||||
RtlLargeIntegerAdd (
|
RtlLargeIntegerAdd (
|
||||||
|
@ -1597,6 +2003,12 @@ RtlLengthSecurityDescriptor (PSECURITY_DESCRIPTOR SecurityDescriptor);
|
||||||
ULONG STDCALL
|
ULONG STDCALL
|
||||||
RtlLengthSid (PSID Sid);
|
RtlLengthSid (PSID Sid);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlLockBootStatusData(
|
||||||
|
HANDLE Filehandle
|
||||||
|
);
|
||||||
|
|
||||||
BOOL
|
BOOL
|
||||||
STDCALL
|
STDCALL
|
||||||
RtlLockHeap (
|
RtlLockHeap (
|
||||||
|
@ -1608,6 +2020,38 @@ RtlLookupAtomInAtomTable (IN PRTL_ATOM_TABLE AtomTable,
|
||||||
IN PWSTR AtomName,
|
IN PWSTR AtomName,
|
||||||
OUT PRTL_ATOM Atom);
|
OUT PRTL_ATOM Atom);
|
||||||
|
|
||||||
|
PVOID
|
||||||
|
STDCALL
|
||||||
|
RtlLookupElementGenericTable (
|
||||||
|
PRTL_GENERIC_TABLE Table,
|
||||||
|
PVOID Buffer
|
||||||
|
);
|
||||||
|
|
||||||
|
PVOID
|
||||||
|
STDCALL
|
||||||
|
RtlLookupElementGenericTableAvl (
|
||||||
|
PRTL_AVL_TABLE Table,
|
||||||
|
PVOID Buffer
|
||||||
|
);
|
||||||
|
|
||||||
|
PVOID
|
||||||
|
STDCALL
|
||||||
|
RtlLookupElementGenericTableFull (
|
||||||
|
PRTL_GENERIC_TABLE Table,
|
||||||
|
PVOID Buffer,
|
||||||
|
OUT PVOID *NodeOrParent,
|
||||||
|
OUT TABLE_SEARCH_RESULT *SearchResult
|
||||||
|
);
|
||||||
|
|
||||||
|
PVOID
|
||||||
|
STDCALL
|
||||||
|
RtlLookupElementGenericTableFullAvl (
|
||||||
|
PRTL_AVL_TABLE Table,
|
||||||
|
PVOID Buffer,
|
||||||
|
OUT PVOID *NodeOrParent,
|
||||||
|
OUT TABLE_SEARCH_RESULT *SearchResult
|
||||||
|
);
|
||||||
|
|
||||||
NTSTATUS STDCALL
|
NTSTATUS STDCALL
|
||||||
RtlMakeSelfRelativeSD (PSECURITY_DESCRIPTOR AbsSD,
|
RtlMakeSelfRelativeSD (PSECURITY_DESCRIPTOR AbsSD,
|
||||||
PSECURITY_DESCRIPTOR RelSD,
|
PSECURITY_DESCRIPTOR RelSD,
|
||||||
|
@ -1617,6 +2061,12 @@ VOID STDCALL
|
||||||
RtlMapGenericMask (PACCESS_MASK AccessMask,
|
RtlMapGenericMask (PACCESS_MASK AccessMask,
|
||||||
PGENERIC_MAPPING GenericMapping);
|
PGENERIC_MAPPING GenericMapping);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlMapSecurityErrorToNtStatus(
|
||||||
|
IN ULONG SecurityError
|
||||||
|
);
|
||||||
|
|
||||||
NTSTATUS STDCALL
|
NTSTATUS STDCALL
|
||||||
RtlMergeRangeLists (OUT PRTL_RANGE_LIST MergedRangeList,
|
RtlMergeRangeLists (OUT PRTL_RANGE_LIST MergedRangeList,
|
||||||
IN PRTL_RANGE_LIST RangeList1,
|
IN PRTL_RANGE_LIST RangeList1,
|
||||||
|
@ -1641,6 +2091,13 @@ RtlMultiByteToUnicodeSize (
|
||||||
ULONG MbSize
|
ULONG MbSize
|
||||||
);
|
);
|
||||||
|
|
||||||
|
PUNICODE_PREFIX_TABLE_ENTRY
|
||||||
|
STDCALL
|
||||||
|
RtlNextUnicodePrefix (
|
||||||
|
PUNICODE_PREFIX_TABLE PrefixTable,
|
||||||
|
BOOLEAN Restart
|
||||||
|
);
|
||||||
|
|
||||||
DWORD
|
DWORD
|
||||||
STDCALL
|
STDCALL
|
||||||
RtlNtStatusToDosError (
|
RtlNtStatusToDosError (
|
||||||
|
@ -1662,9 +2119,16 @@ RtlNtStatusToPsxErrno (
|
||||||
ULONG
|
ULONG
|
||||||
STDCALL
|
STDCALL
|
||||||
RtlNumberGenericTableElements(
|
RtlNumberGenericTableElements(
|
||||||
IN PRTL_GENERIC_TABLE Table
|
PRTL_GENERIC_TABLE Table
|
||||||
);
|
);
|
||||||
|
|
||||||
|
ULONG
|
||||||
|
STDCALL
|
||||||
|
RtlNumberGenericTableElementsAvl (
|
||||||
|
PRTL_AVL_TABLE Table
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
ULONG
|
ULONG
|
||||||
STDCALL
|
STDCALL
|
||||||
RtlNumberOfClearBits (
|
RtlNumberOfClearBits (
|
||||||
|
@ -1694,11 +2158,11 @@ RtlOemStringToUnicodeString (
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
STDCALL
|
STDCALL
|
||||||
RtlOemToUnicodeN(
|
RtlOemToUnicodeN(
|
||||||
PWCHAR UnicodeString,
|
PWSTR UnicodeString,
|
||||||
ULONG UnicodeSize,
|
ULONG MaxBytesInUnicodeString,
|
||||||
PULONG ResultSize,
|
PULONG BytesInUnicodeString,
|
||||||
PCHAR OemString,
|
IN PCHAR OemString,
|
||||||
ULONG OemSize
|
ULONG BytesInOemString
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS STDCALL
|
NTSTATUS STDCALL
|
||||||
|
@ -1707,6 +2171,13 @@ RtlPinAtomInAtomTable (
|
||||||
IN RTL_ATOM Atom
|
IN RTL_ATOM Atom
|
||||||
);
|
);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
FASTCALL
|
||||||
|
RtlPrefetchMemoryNonTemporal(
|
||||||
|
IN PVOID Source,
|
||||||
|
IN SIZE_T Length
|
||||||
|
);
|
||||||
|
|
||||||
BOOLEAN
|
BOOLEAN
|
||||||
STDCALL
|
STDCALL
|
||||||
RtlPrefixString (
|
RtlPrefixString (
|
||||||
|
@ -1746,9 +2217,29 @@ RtlQueryTimeZoneInformation (IN OUT PTIME_ZONE_INFORMATION TimeZoneInformation);
|
||||||
VOID STDCALL
|
VOID STDCALL
|
||||||
RtlRaiseException (IN PEXCEPTION_RECORD ExceptionRecord);
|
RtlRaiseException (IN PEXCEPTION_RECORD ExceptionRecord);
|
||||||
|
|
||||||
|
VOID STDCALL RtlRaiseStatus(NTSTATUS Status);
|
||||||
|
|
||||||
ULONG STDCALL
|
ULONG STDCALL
|
||||||
RtlRandom (PULONG Seed);
|
RtlRandom (PULONG Seed);
|
||||||
|
|
||||||
|
ULONG
|
||||||
|
STDCALL
|
||||||
|
RtlRandomEx(
|
||||||
|
PULONG Seed
|
||||||
|
);
|
||||||
|
|
||||||
|
PRTL_SPLAY_LINKS
|
||||||
|
STDCALL
|
||||||
|
RtlRealPredecessor (
|
||||||
|
PRTL_SPLAY_LINKS Links
|
||||||
|
);
|
||||||
|
|
||||||
|
PRTL_SPLAY_LINKS
|
||||||
|
STDCALL
|
||||||
|
RtlRealSuccessor (
|
||||||
|
PRTL_SPLAY_LINKS Links
|
||||||
|
);
|
||||||
|
|
||||||
LPVOID
|
LPVOID
|
||||||
STDCALL
|
STDCALL
|
||||||
RtlReAllocateHeap (
|
RtlReAllocateHeap (
|
||||||
|
@ -1758,6 +2249,13 @@ RtlReAllocateHeap (
|
||||||
DWORD size
|
DWORD size
|
||||||
);
|
);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
RtlRemoveUnicodePrefix (
|
||||||
|
PUNICODE_PREFIX_TABLE PrefixTable,
|
||||||
|
PUNICODE_PREFIX_TABLE_ENTRY PrefixTableEntry
|
||||||
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
STDCALL
|
STDCALL
|
||||||
RtlReserveChunk (
|
RtlReserveChunk (
|
||||||
|
@ -1830,9 +2328,23 @@ RtlSelfRelativeToAbsoluteSD (PSECURITY_DESCRIPTOR RelSD,
|
||||||
PSID Group,
|
PSID Group,
|
||||||
PULONG GroupSize);
|
PULONG GroupSize);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlSelfRelativeToAbsoluteSD2(
|
||||||
|
PSECURITY_DESCRIPTOR SelfRelativeSecurityDescriptor,
|
||||||
|
PULONG BufferSize
|
||||||
|
);
|
||||||
|
|
||||||
VOID STDCALL
|
VOID STDCALL
|
||||||
RtlSetAllBits (IN PRTL_BITMAP BitMapHeader);
|
RtlSetAllBits (IN PRTL_BITMAP BitMapHeader);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
RtlSetBit (
|
||||||
|
PRTL_BITMAP BitMapHeader,
|
||||||
|
ULONG BitNumber
|
||||||
|
);
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
STDCALL
|
STDCALL
|
||||||
RtlSetBits (
|
RtlSetBits (
|
||||||
|
@ -1872,12 +2384,18 @@ RtlSetInformationAcl (PACL Acl,
|
||||||
NTSTATUS STDCALL
|
NTSTATUS STDCALL
|
||||||
RtlSetTimeZoneInformation (IN OUT PTIME_ZONE_INFORMATION TimeZoneInformation);
|
RtlSetTimeZoneInformation (IN OUT PTIME_ZONE_INFORMATION TimeZoneInformation);
|
||||||
|
|
||||||
DWORD
|
ULONG
|
||||||
STDCALL
|
STDCALL
|
||||||
RtlSizeHeap(
|
RtlSizeHeap(
|
||||||
HANDLE hheap,
|
IN PVOID HeapHandle,
|
||||||
DWORD flags,
|
IN ULONG Flags,
|
||||||
PVOID pmem
|
IN PVOID MemoryPointer
|
||||||
|
);
|
||||||
|
|
||||||
|
PRTL_SPLAY_LINKS
|
||||||
|
STDCALL
|
||||||
|
RtlSplay (
|
||||||
|
PRTL_SPLAY_LINKS Links
|
||||||
);
|
);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -1933,11 +2451,25 @@ RtlSubAuthoritySid (PSID Sid,
|
||||||
PUCHAR STDCALL
|
PUCHAR STDCALL
|
||||||
RtlSubAuthorityCountSid (PSID Sid);
|
RtlSubAuthorityCountSid (PSID Sid);
|
||||||
|
|
||||||
PRTL_SPLAY_LINKS STDCALL
|
PRTL_SPLAY_LINKS
|
||||||
RtlSubtreePredecessor (IN PRTL_SPLAY_LINKS Links);
|
STDCALL
|
||||||
|
RtlSubtreePredecessor (
|
||||||
|
PRTL_SPLAY_LINKS Links
|
||||||
|
);
|
||||||
|
|
||||||
|
PRTL_SPLAY_LINKS
|
||||||
|
STDCALL
|
||||||
|
RtlSubtreeSuccessor (
|
||||||
|
PRTL_SPLAY_LINKS Links
|
||||||
|
);
|
||||||
|
|
||||||
|
BOOLEAN
|
||||||
|
STDCALL
|
||||||
|
RtlTestBit (
|
||||||
|
PRTL_BITMAP BitMapHeader,
|
||||||
|
ULONG BitNumber
|
||||||
|
);
|
||||||
|
|
||||||
PRTL_SPLAY_LINKS STDCALL
|
|
||||||
RtlSubtreeSuccessor (IN PRTL_SPLAY_LINKS Links);
|
|
||||||
|
|
||||||
BOOLEAN STDCALL
|
BOOLEAN STDCALL
|
||||||
RtlTimeFieldsToTime (PTIME_FIELDS TimeFields,
|
RtlTimeFieldsToTime (PTIME_FIELDS TimeFields,
|
||||||
|
@ -1957,6 +2489,13 @@ RtlTimeToSecondsSince1980 (
|
||||||
PULONG SecondsSince1980
|
PULONG SecondsSince1980
|
||||||
);
|
);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
RtlTimeToElapsedTimeFields(
|
||||||
|
PLARGE_INTEGER Time,
|
||||||
|
PTIME_FIELDS TimeFields
|
||||||
|
);
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
STDCALL
|
STDCALL
|
||||||
RtlTimeToTimeFields (
|
RtlTimeToTimeFields (
|
||||||
|
@ -1964,6 +2503,7 @@ RtlTimeToTimeFields (
|
||||||
PTIME_FIELDS TimeFields
|
PTIME_FIELDS TimeFields
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
ULONG FASTCALL
|
ULONG FASTCALL
|
||||||
RtlUlongByteSwap (IN ULONG Source);
|
RtlUlongByteSwap (IN ULONG Source);
|
||||||
|
|
||||||
|
@ -2062,6 +2602,12 @@ RtlUnlockHeap (
|
||||||
HANDLE hheap
|
HANDLE hheap
|
||||||
);
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlUnlockBootStatusData(
|
||||||
|
HANDLE Filehandle
|
||||||
|
);
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
STDCALL
|
STDCALL
|
||||||
RtlUnwind (
|
RtlUnwind (
|
||||||
|
@ -2161,12 +2707,45 @@ RtlValidateHeap (
|
||||||
PVOID pmem
|
PVOID pmem
|
||||||
);
|
);
|
||||||
|
|
||||||
|
BOOLEAN
|
||||||
|
STDCALL
|
||||||
|
RtlValidRelativeSecurityDescriptor (
|
||||||
|
IN PSECURITY_DESCRIPTOR SecurityDescriptorInput,
|
||||||
|
IN ULONG SecurityDescriptorLength,
|
||||||
|
IN SECURITY_INFORMATION RequiredInformation
|
||||||
|
);
|
||||||
|
|
||||||
BOOLEAN STDCALL
|
BOOLEAN STDCALL
|
||||||
RtlValidSecurityDescriptor (IN PSECURITY_DESCRIPTOR SecurityDescriptor);
|
RtlValidSecurityDescriptor (IN PSECURITY_DESCRIPTOR SecurityDescriptor);
|
||||||
|
|
||||||
BOOLEAN STDCALL
|
BOOLEAN STDCALL
|
||||||
RtlValidSid (IN PSID Sid);
|
RtlValidSid (IN PSID Sid);
|
||||||
|
|
||||||
|
/*
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlVerifyVersionInfo(
|
||||||
|
IN PRTL_OSVERSIONINFOEXW VersionInfo,
|
||||||
|
IN ULONG TypeMask,
|
||||||
|
IN ULONGLONG ConditionMask
|
||||||
|
);
|
||||||
|
*/
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlVolumeDeviceToDosName(
|
||||||
|
IN PVOID VolumeDeviceObject,
|
||||||
|
OUT PUNICODE_STRING DosName
|
||||||
|
);
|
||||||
|
|
||||||
|
ULONG
|
||||||
|
STDCALL
|
||||||
|
RtlWalkFrameChain (
|
||||||
|
OUT PVOID *Callers,
|
||||||
|
IN ULONG Count,
|
||||||
|
IN ULONG Flags
|
||||||
|
);
|
||||||
|
|
||||||
ULONG
|
ULONG
|
||||||
STDCALL
|
STDCALL
|
||||||
RtlxAnsiStringToUnicodeSize (
|
RtlxAnsiStringToUnicodeSize (
|
||||||
|
@ -2463,3 +3042,5 @@ int wctomb (char *mbchar, wchar_t wchar);
|
||||||
#endif /* __NTOSKRNL__ || __NTDRIVER__ || __NTHAL__ || __NTDLL__ || __NTAPP__ */
|
#endif /* __NTOSKRNL__ || __NTDRIVER__ || __NTHAL__ || __NTDLL__ || __NTAPP__ */
|
||||||
|
|
||||||
#endif /* __DDK_RTL_H */
|
#endif /* __DDK_RTL_H */
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $Id: rtltypes.h,v 1.14 2004/05/17 13:20:05 ekohl Exp $
|
/* $Id: rtltypes.h,v 1.15 2004/08/05 18:17:36 ion Exp $
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -14,6 +14,31 @@
|
||||||
#define COMPRESSION_ENGINE_STANDARD 0x0000
|
#define COMPRESSION_ENGINE_STANDARD 0x0000
|
||||||
#define COMPRESSION_ENGINE_MAXIMUM 0x0100
|
#define COMPRESSION_ENGINE_MAXIMUM 0x0100
|
||||||
#define COMPRESSION_ENGINE_HIBER 0x0200
|
#define COMPRESSION_ENGINE_HIBER 0x0200
|
||||||
|
/*
|
||||||
|
#define VER_EQUAL 1
|
||||||
|
#define VER_GREATER 2
|
||||||
|
#define VER_GREATER_EQUAL 3
|
||||||
|
#define VER_LESS 4
|
||||||
|
#define VER_LESS_EQUAL 5
|
||||||
|
#define VER_AND 6
|
||||||
|
#define VER_OR 7
|
||||||
|
|
||||||
|
#define VER_CONDITION_MASK 7
|
||||||
|
#define VER_NUM_BITS_PER_CONDITION_MASK 3
|
||||||
|
|
||||||
|
#define VER_MINORVERSION 0x0000001
|
||||||
|
#define VER_MAJORVERSION 0x0000002
|
||||||
|
#define VER_BUILDNUMBER 0x0000004
|
||||||
|
#define VER_PLATFORMID 0x0000008
|
||||||
|
#define VER_SERVICEPACKMINOR 0x0000010
|
||||||
|
#define VER_SERVICEPACKMAJOR 0x0000020
|
||||||
|
#define VER_SUITENAME 0x0000040
|
||||||
|
#define VER_PRODUCT_TYPE 0x0000080
|
||||||
|
|
||||||
|
#define VER_NT_WORKSTATION 0x0000001
|
||||||
|
#define VER_NT_DOMAIN_CONTROLLER 0x0000002
|
||||||
|
#define VER_NT_SERVER 0x0000003
|
||||||
|
*/
|
||||||
|
|
||||||
typedef struct _CONTROLLER_OBJECT
|
typedef struct _CONTROLLER_OBJECT
|
||||||
{
|
{
|
||||||
|
@ -238,23 +263,36 @@ typedef struct _NLS_FILE_HEADER
|
||||||
} NLS_FILE_HEADER, *PNLS_FILE_HEADER;
|
} NLS_FILE_HEADER, *PNLS_FILE_HEADER;
|
||||||
|
|
||||||
#include <poppack.h>
|
#include <poppack.h>
|
||||||
|
/*
|
||||||
|
typedef struct _OSVERSIONINFOEXA {
|
||||||
|
ULONG dwOSVersionInfoSize;
|
||||||
|
ULONG dwMajorVersion;
|
||||||
|
ULONG dwMinorVersion;
|
||||||
|
ULONG dwBuildNumber;
|
||||||
|
ULONG dwPlatformId;
|
||||||
|
CHAR szCSDVersion [128];
|
||||||
|
USHORT wServicePackMajor;
|
||||||
|
USHORT wServicePackMinor;
|
||||||
|
USHORT wSuiteMask;
|
||||||
|
UCHAR wProductType;
|
||||||
|
UCHAR wReserved;
|
||||||
|
} OSVERSIONINFOEXA, *POSVERSIONINFOEXA, *LPOSVERSIONINFOEXA;
|
||||||
|
|
||||||
|
typedef struct _OSVERSIONINFOEXW {
|
||||||
|
ULONG dwOSVersionInfoSize;
|
||||||
|
ULONG dwMajorVersion;
|
||||||
|
ULONG dwMinorVersion;
|
||||||
|
ULONG dwBuildNumber;
|
||||||
|
ULONG dwPlatformId;
|
||||||
|
WCHAR szCSDVersion[128];
|
||||||
|
USHORT wServicePackMajor;
|
||||||
|
USHORT wServicePackMinor;
|
||||||
|
USHORT wSuiteMask;
|
||||||
|
UCHAR wProductType;
|
||||||
|
UCHAR wReserved;
|
||||||
|
} OSVERSIONINFOEXW, *POSVERSIONINFOEXW, *LPOSVERSIONINFOEXW, RTL_OSVERSIONINFOEXW, *PRTL_OSVERSIONINFOEXW;
|
||||||
|
|
||||||
typedef struct _RTL_GENERIC_TABLE
|
*/
|
||||||
{
|
|
||||||
PVOID RootElement;
|
|
||||||
ULONG Unknown2;
|
|
||||||
ULONG Unknown3;
|
|
||||||
ULONG Unknown4;
|
|
||||||
ULONG Unknown5;
|
|
||||||
ULONG ElementCount;
|
|
||||||
PVOID CompareRoutine;
|
|
||||||
PVOID AllocateRoutine;
|
|
||||||
PVOID FreeRoutine;
|
|
||||||
ULONG UserParameter;
|
|
||||||
} RTL_GENERIC_TABLE, *PRTL_GENERIC_TABLE;
|
|
||||||
|
|
||||||
|
|
||||||
typedef struct _RTL_MESSAGE_RESOURCE_ENTRY
|
typedef struct _RTL_MESSAGE_RESOURCE_ENTRY
|
||||||
{
|
{
|
||||||
USHORT Length;
|
USHORT Length;
|
||||||
|
@ -279,4 +317,132 @@ typedef VOID
|
||||||
(STDCALL *PRTL_BASE_PROCESS_START_ROUTINE)(PTHREAD_START_ROUTINE StartAddress,
|
(STDCALL *PRTL_BASE_PROCESS_START_ROUTINE)(PTHREAD_START_ROUTINE StartAddress,
|
||||||
PVOID Parameter);
|
PVOID Parameter);
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct _UNICODE_PREFIX_TABLE_ENTRY {
|
||||||
|
USHORT NodeTypeCode;
|
||||||
|
USHORT NameLength;
|
||||||
|
struct _UNICODE_PREFIX_TABLE_ENTRY *NextPrefixTree;
|
||||||
|
struct _UNICODE_PREFIX_TABLE_ENTRY *CaseMatch;
|
||||||
|
RTL_SPLAY_LINKS Links;
|
||||||
|
PUNICODE_STRING Prefix;
|
||||||
|
} UNICODE_PREFIX_TABLE_ENTRY;
|
||||||
|
typedef UNICODE_PREFIX_TABLE_ENTRY *PUNICODE_PREFIX_TABLE_ENTRY;
|
||||||
|
|
||||||
|
typedef struct _UNICODE_PREFIX_TABLE {
|
||||||
|
USHORT NodeTypeCode;
|
||||||
|
USHORT NameLength;
|
||||||
|
PUNICODE_PREFIX_TABLE_ENTRY NextPrefixTree;
|
||||||
|
PUNICODE_PREFIX_TABLE_ENTRY LastNextEntry;
|
||||||
|
} UNICODE_PREFIX_TABLE;
|
||||||
|
typedef UNICODE_PREFIX_TABLE *PUNICODE_PREFIX_TABLE;
|
||||||
|
|
||||||
|
typedef enum _TABLE_SEARCH_RESULT{
|
||||||
|
TableEmptyTree,
|
||||||
|
TableFoundNode,
|
||||||
|
TableInsertAsLeft,
|
||||||
|
TableInsertAsRight
|
||||||
|
} TABLE_SEARCH_RESULT;
|
||||||
|
|
||||||
|
|
||||||
|
typedef enum _RTL_GENERIC_COMPARE_RESULTS {
|
||||||
|
GenericLessThan,
|
||||||
|
GenericGreaterThan,
|
||||||
|
GenericEqual
|
||||||
|
} RTL_GENERIC_COMPARE_RESULTS;
|
||||||
|
|
||||||
|
struct _RTL_AVL_TABLE;
|
||||||
|
|
||||||
|
typedef
|
||||||
|
RTL_GENERIC_COMPARE_RESULTS
|
||||||
|
(STDCALL *PRTL_AVL_COMPARE_ROUTINE) (
|
||||||
|
struct _RTL_AVL_TABLE *Table,
|
||||||
|
PVOID FirstStruct,
|
||||||
|
PVOID SecondStruct
|
||||||
|
);
|
||||||
|
|
||||||
|
typedef
|
||||||
|
PVOID
|
||||||
|
(STDCALL *PRTL_AVL_ALLOCATE_ROUTINE) (
|
||||||
|
struct _RTL_AVL_TABLE *Table,
|
||||||
|
ULONG ByteSize
|
||||||
|
);
|
||||||
|
|
||||||
|
typedef
|
||||||
|
VOID
|
||||||
|
(STDCALL *PRTL_AVL_FREE_ROUTINE) (
|
||||||
|
struct _RTL_AVL_TABLE *Table,
|
||||||
|
PVOID Buffer
|
||||||
|
);
|
||||||
|
|
||||||
|
typedef
|
||||||
|
NTSTATUS
|
||||||
|
(STDCALL *PRTL_AVL_MATCH_FUNCTION) (
|
||||||
|
struct _RTL_AVL_TABLE *Table,
|
||||||
|
PVOID UserData,
|
||||||
|
PVOID MatchData
|
||||||
|
);
|
||||||
|
|
||||||
|
typedef struct _RTL_BALANCED_LINKS {
|
||||||
|
struct _RTL_BALANCED_LINKS *Parent;
|
||||||
|
struct _RTL_BALANCED_LINKS *LeftChild;
|
||||||
|
struct _RTL_BALANCED_LINKS *RightChild;
|
||||||
|
CHAR Balance;
|
||||||
|
UCHAR Reserved[3];
|
||||||
|
} RTL_BALANCED_LINKS;
|
||||||
|
|
||||||
|
typedef RTL_BALANCED_LINKS *PRTL_BALANCED_LINKS;
|
||||||
|
|
||||||
|
typedef struct _RTL_AVL_TABLE {
|
||||||
|
RTL_BALANCED_LINKS BalancedRoot;
|
||||||
|
PVOID OrderedPointer;
|
||||||
|
ULONG WhichOrderedElement;
|
||||||
|
ULONG NumberGenericTableElements;
|
||||||
|
ULONG DepthOfTree;
|
||||||
|
PRTL_BALANCED_LINKS RestartKey;
|
||||||
|
ULONG DeleteCount;
|
||||||
|
PRTL_AVL_COMPARE_ROUTINE CompareRoutine;
|
||||||
|
PRTL_AVL_ALLOCATE_ROUTINE AllocateRoutine;
|
||||||
|
PRTL_AVL_FREE_ROUTINE FreeRoutine;
|
||||||
|
PVOID TableContext;
|
||||||
|
} RTL_AVL_TABLE;
|
||||||
|
typedef RTL_AVL_TABLE *PRTL_AVL_TABLE;
|
||||||
|
|
||||||
|
struct _RTL_GENERIC_TABLE;
|
||||||
|
|
||||||
|
typedef
|
||||||
|
RTL_GENERIC_COMPARE_RESULTS
|
||||||
|
(STDCALL *PRTL_GENERIC_COMPARE_ROUTINE) (
|
||||||
|
struct _RTL_GENERIC_TABLE *Table,
|
||||||
|
PVOID FirstStruct,
|
||||||
|
PVOID SecondStruct
|
||||||
|
);
|
||||||
|
|
||||||
|
typedef
|
||||||
|
PVOID
|
||||||
|
(STDCALL *PRTL_GENERIC_ALLOCATE_ROUTINE) (
|
||||||
|
struct _RTL_GENERIC_TABLE *Table,
|
||||||
|
ULONG ByteSize
|
||||||
|
);
|
||||||
|
|
||||||
|
typedef
|
||||||
|
VOID
|
||||||
|
(STDCALL *PRTL_GENERIC_FREE_ROUTINE) (
|
||||||
|
struct _RTL_GENERIC_TABLE *Table,
|
||||||
|
PVOID Buffer
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct _RTL_GENERIC_TABLE {
|
||||||
|
PRTL_SPLAY_LINKS TableRoot;
|
||||||
|
LIST_ENTRY InsertOrderList;
|
||||||
|
PLIST_ENTRY OrderedPointer;
|
||||||
|
ULONG WhichOrderedElement;
|
||||||
|
ULONG NumberGenericTableElements;
|
||||||
|
PRTL_GENERIC_COMPARE_ROUTINE CompareRoutine;
|
||||||
|
PRTL_GENERIC_ALLOCATE_ROUTINE AllocateRoutine;
|
||||||
|
PRTL_GENERIC_FREE_ROUTINE FreeRoutine;
|
||||||
|
PVOID TableContext;
|
||||||
|
} RTL_GENERIC_TABLE;
|
||||||
|
typedef RTL_GENERIC_TABLE *PRTL_GENERIC_TABLE;
|
||||||
|
|
||||||
#endif /* __DDK_RTLTYPES_H */
|
#endif /* __DDK_RTLTYPES_H */
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $Id: misc.c,v 1.9 2003/11/17 20:35:46 sedwards Exp $
|
/* $Id: misc.c,v 1.10 2004/08/05 18:17:36 ion Exp $
|
||||||
*
|
*
|
||||||
* COPYRIGHT: See COPYING in the top level directory
|
* COPYRIGHT: See COPYING in the top level directory
|
||||||
* PROJECT: ReactOS kernel
|
* PROJECT: ReactOS kernel
|
||||||
|
@ -15,36 +15,6 @@
|
||||||
#include <ddk/ntddk.h>
|
#include <ddk/ntddk.h>
|
||||||
#include <ntdll/rtl.h>
|
#include <ntdll/rtl.h>
|
||||||
|
|
||||||
/* GLOBALS ******************************************************************/
|
|
||||||
|
|
||||||
extern ULONG NtGlobalFlag;
|
|
||||||
|
|
||||||
/* FUNCTIONS ****************************************************************/
|
|
||||||
|
|
||||||
/**********************************************************************
|
|
||||||
* NAME EXPORTED
|
|
||||||
* RtlGetNtGlobalFlags
|
|
||||||
*
|
|
||||||
* DESCRIPTION
|
|
||||||
* Retrieves the global os flags.
|
|
||||||
*
|
|
||||||
* ARGUMENTS
|
|
||||||
* None
|
|
||||||
*
|
|
||||||
* RETURN VALUE
|
|
||||||
* global flags
|
|
||||||
*
|
|
||||||
* REVISIONS
|
|
||||||
* 2000-08-10 ekohl
|
|
||||||
*/
|
|
||||||
|
|
||||||
ULONG STDCALL
|
|
||||||
RtlGetNtGlobalFlags(VOID)
|
|
||||||
{
|
|
||||||
return(NtGlobalFlag);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**********************************************************************
|
/**********************************************************************
|
||||||
* NAME EXPORTED
|
* NAME EXPORTED
|
||||||
* RtlGetNtProductType
|
* RtlGetNtProductType
|
||||||
|
|
91
reactos/lib/rtl/bootdata.c
Normal file
91
reactos/lib/rtl/bootdata.c
Normal file
|
@ -0,0 +1,91 @@
|
||||||
|
/*
|
||||||
|
* ReactOS kernel
|
||||||
|
* Copyright (C) 2003 ReactOS Team
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
*/
|
||||||
|
/* $Id: bootdata.c,v 1.1 2004/08/05 18:17:37 ion Exp $
|
||||||
|
*
|
||||||
|
* COPYRIGHT: See COPYING in the top level directory
|
||||||
|
* PROJECT: ReactOS system libraries
|
||||||
|
* PURPOSE: Boot Data implementation
|
||||||
|
* FILE: lib/rtl/bootdata.c
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <ddk/ntddk.h>
|
||||||
|
|
||||||
|
#define NDEBUG
|
||||||
|
#include <debug.h>
|
||||||
|
|
||||||
|
/* FUNCTIONS *****************************************************************/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlCreateSystemVolumeInformationFolder(
|
||||||
|
IN PUNICODE_STRING VolumeRootPath
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return STATUS_NOT_IMPLEMENTED;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlGetSetBootStatusData(
|
||||||
|
HANDLE Filehandle,
|
||||||
|
BOOLEAN WriteMode,
|
||||||
|
DWORD DataClass,
|
||||||
|
PVOID Buffer,
|
||||||
|
ULONG BufferSize,
|
||||||
|
DWORD DataClass2
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return STATUS_NOT_IMPLEMENTED;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlLockBootStatusData(
|
||||||
|
HANDLE Filehandle
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return STATUS_NOT_IMPLEMENTED;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlUnlockBootStatusData(
|
||||||
|
HANDLE Filehandle
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return STATUS_NOT_IMPLEMENTED;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* EOF */
|
|
@ -16,7 +16,7 @@
|
||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
*/
|
*/
|
||||||
/* $Id: dos8dot3.c,v 1.1 2004/05/31 19:29:02 gdalsnes Exp $
|
/* $Id: dos8dot3.c,v 1.2 2004/08/05 18:17:36 ion Exp $
|
||||||
*
|
*
|
||||||
* COPYRIGHT: See COPYING in the top level directory
|
* COPYRIGHT: See COPYING in the top level directory
|
||||||
* PROJECT: ReactOS kernel
|
* PROJECT: ReactOS kernel
|
||||||
|
@ -333,4 +333,18 @@ RtlIsNameLegalDOS8Dot3(IN PUNICODE_STRING UnicodeName,
|
||||||
return(TRUE);
|
return(TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlVolumeDeviceToDosName(
|
||||||
|
IN PVOID VolumeDeviceObject,
|
||||||
|
OUT PUNICODE_STRING DosName
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return STATUS_NOT_IMPLEMENTED;
|
||||||
|
}
|
||||||
|
|
||||||
/* EOF */
|
/* EOF */
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $Id: error.c,v 1.1 2004/05/31 19:29:02 gdalsnes Exp $
|
/* $Id: error.c,v 1.2 2004/08/05 18:17:36 ion Exp $
|
||||||
*
|
*
|
||||||
* COPYRIGHT: See COPYING in the top level directory
|
* COPYRIGHT: See COPYING in the top level directory
|
||||||
* PROJECT: ReactOS kernel
|
* PROJECT: ReactOS kernel
|
||||||
|
@ -862,6 +862,18 @@ RtlAssert(PVOID FailedAssertion,
|
||||||
DbgBreakPoint();
|
DbgBreakPoint();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlMapSecurityErrorToNtStatus(
|
||||||
|
IN ULONG SecurityError
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return STATUS_NOT_IMPLEMENTED;
|
||||||
|
}
|
||||||
|
|
||||||
/**********************************************************************
|
/**********************************************************************
|
||||||
* NAME EXPORTED
|
* NAME EXPORTED
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $Id: exception.c,v 1.1 2004/06/24 19:30:21 hyperion Exp $
|
/* $Id: exception.c,v 1.2 2004/08/05 18:17:36 ion Exp $
|
||||||
*
|
*
|
||||||
* COPYRIGHT: See COPYING in the top level directory
|
* COPYRIGHT: See COPYING in the top level directory
|
||||||
* PROJECT: ReactOS kernel
|
* PROJECT: ReactOS kernel
|
||||||
|
@ -29,6 +29,33 @@
|
||||||
VOID
|
VOID
|
||||||
RtlpCaptureContext(PCONTEXT Context);
|
RtlpCaptureContext(PCONTEXT Context);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlDispatchException(
|
||||||
|
PEXCEPTION_RECORD pExcptRec,
|
||||||
|
CONTEXT * pContext
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return STATUS_NOT_IMPLEMENTED;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
RtlGetCallersAddress(
|
||||||
|
OUT PVOID *CallersAddress,
|
||||||
|
OUT PVOID *CallersCaller
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @implemented
|
* @implemented
|
||||||
*/
|
*/
|
||||||
|
@ -45,9 +72,10 @@ RtlRaiseException(PEXCEPTION_RECORD ExceptionRecord)
|
||||||
|
|
||||||
Status = ZwRaiseException(ExceptionRecord, &Context, TRUE);
|
Status = ZwRaiseException(ExceptionRecord, &Context, TRUE);
|
||||||
RtlRaiseException(ExceptionRecord);
|
RtlRaiseException(ExceptionRecord);
|
||||||
RtlRaiseStatus(Status); /* If we get to this point, something is seriously wrong... */
|
RtlRaiseStatus(Status);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @implemented
|
* @implemented
|
||||||
*/
|
*/
|
||||||
|
@ -65,4 +93,20 @@ RtlRaiseStatus(NTSTATUS Status)
|
||||||
RtlRaiseException (& ExceptionRecord);
|
RtlRaiseException (& ExceptionRecord);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
ULONG
|
||||||
|
STDCALL
|
||||||
|
RtlWalkFrameChain (
|
||||||
|
OUT PVOID *Callers,
|
||||||
|
IN ULONG Count,
|
||||||
|
IN ULONG Flags
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* EOF */
|
/* EOF */
|
||||||
|
|
379
reactos/lib/rtl/generictbl.c
Normal file
379
reactos/lib/rtl/generictbl.c
Normal file
|
@ -0,0 +1,379 @@
|
||||||
|
/*
|
||||||
|
* ReactOS kernel
|
||||||
|
* Copyright (C) 2003 ReactOS Team
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
*/
|
||||||
|
/* $Id: generictbl.c,v 1.1 2004/08/05 18:17:37 ion Exp $
|
||||||
|
*
|
||||||
|
* COPYRIGHT: See COPYING in the top level directory
|
||||||
|
* PROJECT: ReactOS system libraries
|
||||||
|
* PURPOSE: Generic Table Implementation
|
||||||
|
* FILE: lib/rtl/genertictbl.c
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <ddk/ntddk.h>
|
||||||
|
|
||||||
|
#define NDEBUG
|
||||||
|
#include <debug.h>
|
||||||
|
/* FUNCTIONS *****************************************************************/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
BOOLEAN
|
||||||
|
STDCALL
|
||||||
|
RtlDeleteElementGenericTable (
|
||||||
|
PRTL_GENERIC_TABLE Table,
|
||||||
|
PVOID Buffer
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
BOOLEAN
|
||||||
|
STDCALL
|
||||||
|
RtlDeleteElementGenericTableAvl (
|
||||||
|
PRTL_AVL_TABLE Table,
|
||||||
|
PVOID Buffer
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
PVOID
|
||||||
|
STDCALL
|
||||||
|
RtlEnumerateGenericTable (
|
||||||
|
PRTL_GENERIC_TABLE Table,
|
||||||
|
BOOLEAN Restart
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
PVOID
|
||||||
|
STDCALL
|
||||||
|
RtlEnumerateGenericTableAvl (
|
||||||
|
PRTL_AVL_TABLE Table,
|
||||||
|
BOOLEAN Restart
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
PVOID
|
||||||
|
STDCALL
|
||||||
|
RtlEnumerateGenericTableLikeADirectory (
|
||||||
|
IN PRTL_AVL_TABLE Table,
|
||||||
|
IN PRTL_AVL_MATCH_FUNCTION MatchFunction,
|
||||||
|
IN PVOID MatchData,
|
||||||
|
IN ULONG NextFlag,
|
||||||
|
IN OUT PVOID *RestartKey,
|
||||||
|
IN OUT PULONG DeleteCount,
|
||||||
|
IN OUT PVOID Buffer
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
PVOID
|
||||||
|
STDCALL
|
||||||
|
RtlEnumerateGenericTableWithoutSplaying (
|
||||||
|
PRTL_GENERIC_TABLE Table,
|
||||||
|
PVOID *RestartKey
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
PVOID
|
||||||
|
STDCALL
|
||||||
|
RtlEnumerateGenericTableWithoutSplayingAvl (
|
||||||
|
PRTL_AVL_TABLE Table,
|
||||||
|
PVOID *RestartKey
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
PVOID
|
||||||
|
STDCALL
|
||||||
|
RtlGetElementGenericTable(
|
||||||
|
PRTL_GENERIC_TABLE Table,
|
||||||
|
ULONG I
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
PVOID
|
||||||
|
STDCALL
|
||||||
|
RtlGetElementGenericTableAvl (
|
||||||
|
PRTL_AVL_TABLE Table,
|
||||||
|
ULONG I
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
RtlInitializeGenericTable (
|
||||||
|
PRTL_GENERIC_TABLE Table,
|
||||||
|
PRTL_GENERIC_COMPARE_ROUTINE CompareRoutine,
|
||||||
|
PRTL_GENERIC_ALLOCATE_ROUTINE AllocateRoutine,
|
||||||
|
PRTL_GENERIC_FREE_ROUTINE FreeRoutine,
|
||||||
|
PVOID TableContext
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
RtlInitializeGenericTableAvl (
|
||||||
|
PRTL_AVL_TABLE Table,
|
||||||
|
PRTL_AVL_COMPARE_ROUTINE CompareRoutine,
|
||||||
|
PRTL_AVL_ALLOCATE_ROUTINE AllocateRoutine,
|
||||||
|
PRTL_AVL_FREE_ROUTINE FreeRoutine,
|
||||||
|
PVOID TableContext
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
PVOID
|
||||||
|
STDCALL
|
||||||
|
RtlInsertElementGenericTable (
|
||||||
|
PRTL_GENERIC_TABLE Table,
|
||||||
|
PVOID Buffer,
|
||||||
|
ULONG BufferSize,
|
||||||
|
PBOOLEAN NewElement OPTIONAL
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
PVOID
|
||||||
|
STDCALL
|
||||||
|
RtlInsertElementGenericTableAvl (
|
||||||
|
PRTL_AVL_TABLE Table,
|
||||||
|
PVOID Buffer,
|
||||||
|
ULONG BufferSize,
|
||||||
|
PBOOLEAN NewElement OPTIONAL
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
PVOID
|
||||||
|
STDCALL
|
||||||
|
RtlInsertElementGenericTableFull (
|
||||||
|
PRTL_GENERIC_TABLE Table,
|
||||||
|
PVOID Buffer,
|
||||||
|
ULONG BufferSize,
|
||||||
|
PBOOLEAN NewElement OPTIONAL,
|
||||||
|
PVOID NodeOrParent,
|
||||||
|
TABLE_SEARCH_RESULT SearchResult
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
PVOID
|
||||||
|
STDCALL
|
||||||
|
RtlInsertElementGenericTableFullAvl (
|
||||||
|
PRTL_AVL_TABLE Table,
|
||||||
|
PVOID Buffer,
|
||||||
|
ULONG BufferSize,
|
||||||
|
PBOOLEAN NewElement OPTIONAL,
|
||||||
|
PVOID NodeOrParent,
|
||||||
|
TABLE_SEARCH_RESULT SearchResult
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
BOOLEAN
|
||||||
|
STDCALL
|
||||||
|
RtlIsGenericTableEmpty (
|
||||||
|
PRTL_GENERIC_TABLE Table
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
BOOLEAN
|
||||||
|
STDCALL
|
||||||
|
RtlIsGenericTableEmptyAvl (
|
||||||
|
PRTL_AVL_TABLE Table
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
PVOID
|
||||||
|
STDCALL
|
||||||
|
RtlLookupElementGenericTable (
|
||||||
|
PRTL_GENERIC_TABLE Table,
|
||||||
|
PVOID Buffer
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
PVOID
|
||||||
|
STDCALL
|
||||||
|
RtlLookupElementGenericTableAvl (
|
||||||
|
PRTL_AVL_TABLE Table,
|
||||||
|
PVOID Buffer
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
PVOID
|
||||||
|
STDCALL
|
||||||
|
RtlLookupElementGenericTableFull (
|
||||||
|
PRTL_GENERIC_TABLE Table,
|
||||||
|
PVOID Buffer,
|
||||||
|
OUT PVOID *NodeOrParent,
|
||||||
|
OUT TABLE_SEARCH_RESULT *SearchResult
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
PVOID
|
||||||
|
STDCALL
|
||||||
|
RtlLookupElementGenericTableFullAvl (
|
||||||
|
PRTL_AVL_TABLE Table,
|
||||||
|
PVOID Buffer,
|
||||||
|
OUT PVOID *NodeOrParent,
|
||||||
|
OUT TABLE_SEARCH_RESULT *SearchResult
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
ULONG
|
||||||
|
STDCALL
|
||||||
|
RtlNumberGenericTableElements(
|
||||||
|
PRTL_GENERIC_TABLE Table
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
ULONG
|
||||||
|
STDCALL
|
||||||
|
RtlNumberGenericTableElementsAvl (
|
||||||
|
PRTL_AVL_TABLE Table
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* EOF */
|
|
@ -14,14 +14,17 @@ TARGET_CFLAGS += -D_DISABLE_TIDENTS
|
||||||
|
|
||||||
TARGET_OBJECTS = \
|
TARGET_OBJECTS = \
|
||||||
acl.o \
|
acl.o \
|
||||||
|
bootdata.o \
|
||||||
compress.o \
|
compress.o \
|
||||||
dos8dot3.o \
|
dos8dot3.o \
|
||||||
env.o \
|
env.o \
|
||||||
error.o \
|
error.o \
|
||||||
heap.o \
|
heap.o \
|
||||||
|
generictbl.o \
|
||||||
largeint.o \
|
largeint.o \
|
||||||
luid.o \
|
luid.o \
|
||||||
mem.o \
|
mem.o \
|
||||||
|
network.o \
|
||||||
nls.o \
|
nls.o \
|
||||||
random.o \
|
random.o \
|
||||||
sd.o \
|
sd.o \
|
||||||
|
@ -34,6 +37,7 @@ TARGET_OBJECTS = \
|
||||||
encode.o \
|
encode.o \
|
||||||
image.o \
|
image.o \
|
||||||
splaytree.o \
|
splaytree.o \
|
||||||
|
unicodeprfx.o \
|
||||||
exception.o \
|
exception.o \
|
||||||
i386/exception.o \
|
i386/exception.o \
|
||||||
i386/except.o
|
i386/except.o
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
|
|
||||||
/* $Id: mem.c,v 1.1 2004/05/31 19:29:02 gdalsnes Exp $
|
/* $Id: mem.c,v 1.2 2004/08/05 18:17:36 ion Exp $
|
||||||
*
|
*
|
||||||
* COPYRIGHT: See COPYING in the top level directory
|
* COPYRIGHT: See COPYING in the top level directory
|
||||||
* PROJECT: ReactOS kernel
|
* PROJECT: ReactOS kernel
|
||||||
|
@ -144,6 +144,18 @@ RtlMoveMemory (
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
VOID
|
||||||
|
FASTCALL
|
||||||
|
RtlPrefetchMemoryNonTemporal(
|
||||||
|
IN PVOID Source,
|
||||||
|
IN SIZE_T Length
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @implemented
|
* @implemented
|
||||||
|
|
282
reactos/lib/rtl/network.c
Normal file
282
reactos/lib/rtl/network.c
Normal file
|
@ -0,0 +1,282 @@
|
||||||
|
/*
|
||||||
|
* ReactOS kernel
|
||||||
|
* Copyright (C) 2003 ReactOS Team
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
*/
|
||||||
|
/* $Id: network.c,v 1.1 2004/08/05 18:17:37 ion Exp $
|
||||||
|
*
|
||||||
|
* COPYRIGHT: See COPYING in the top level directory
|
||||||
|
* PROJECT: ReactOS system libraries
|
||||||
|
* PURPOSE: Network Address Translation implementation
|
||||||
|
* FILE: lib/rtl/network.c
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <ddk/ntddk.h>
|
||||||
|
|
||||||
|
#define NDEBUG
|
||||||
|
#include <debug.h>
|
||||||
|
/* FUNCTIONS *****************************************************************/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlIpv4AddressToStringA(
|
||||||
|
PULONG IP,
|
||||||
|
LPSTR Buffer
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return STATUS_NOT_IMPLEMENTED;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlIpv4AddressToStringExA(
|
||||||
|
PULONG IP,
|
||||||
|
PULONG Port,
|
||||||
|
LPSTR Buffer,
|
||||||
|
PULONG MaxSize
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return STATUS_NOT_IMPLEMENTED;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlIpv4AddressToStringW(
|
||||||
|
PULONG IP,
|
||||||
|
LPWSTR Buffer
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return STATUS_NOT_IMPLEMENTED;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlIpv4AddressToStringExW(
|
||||||
|
PULONG IP,
|
||||||
|
PULONG Port,
|
||||||
|
LPWSTR Buffer,
|
||||||
|
PULONG MaxSize
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return STATUS_NOT_IMPLEMENTED;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlIpv4StringToAddressA(
|
||||||
|
IN LPSTR IpString,
|
||||||
|
IN ULONG Base,
|
||||||
|
OUT PVOID PtrToIpAddr,
|
||||||
|
OUT ULONG IpAddr
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return STATUS_NOT_IMPLEMENTED;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlIpv4StringToAddressExA(
|
||||||
|
IN LPSTR IpString,
|
||||||
|
IN ULONG Base,
|
||||||
|
OUT PULONG IpAddr,
|
||||||
|
OUT PULONG Port
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return STATUS_NOT_IMPLEMENTED;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlIpv4StringToAddressW(
|
||||||
|
IN LPWSTR IpString,
|
||||||
|
IN ULONG Base,
|
||||||
|
OUT PVOID PtrToIpAddr,
|
||||||
|
OUT ULONG IpAddr
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return STATUS_NOT_IMPLEMENTED;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlIpv4StringToAddressExW(
|
||||||
|
IN LPWSTR IpString,
|
||||||
|
IN ULONG Base,
|
||||||
|
OUT PULONG IpAddr,
|
||||||
|
OUT PULONG Port
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return STATUS_NOT_IMPLEMENTED;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlIpv6AddressToStringA(
|
||||||
|
PULONG IP,
|
||||||
|
LPSTR Buffer
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return STATUS_NOT_IMPLEMENTED;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlIpv6AddressToStringExA(
|
||||||
|
PULONG IP,
|
||||||
|
PULONG Port,
|
||||||
|
LPSTR Buffer,
|
||||||
|
PULONG MaxSize
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return STATUS_NOT_IMPLEMENTED;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlIpv6AddressToStringW(
|
||||||
|
PULONG IP,
|
||||||
|
LPWSTR Buffer
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return STATUS_NOT_IMPLEMENTED;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlIpv6AddressToStringExW(
|
||||||
|
PULONG IP,
|
||||||
|
PULONG Port,
|
||||||
|
LPWSTR Buffer,
|
||||||
|
PULONG MaxSize
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return STATUS_NOT_IMPLEMENTED;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlIpv6StringToAddressA(
|
||||||
|
IN LPSTR IpString,
|
||||||
|
IN ULONG Base,
|
||||||
|
OUT PVOID PtrToIpAddr,
|
||||||
|
OUT ULONG IpAddr
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return STATUS_NOT_IMPLEMENTED;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlIpv6StringToAddressExA(
|
||||||
|
IN LPSTR IpString,
|
||||||
|
IN ULONG Base,
|
||||||
|
OUT PULONG IpAddr,
|
||||||
|
OUT PULONG Port
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return STATUS_NOT_IMPLEMENTED;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlIpv6StringToAddressW(
|
||||||
|
IN LPWSTR IpString,
|
||||||
|
IN ULONG Base,
|
||||||
|
OUT PVOID PtrToIpAddr,
|
||||||
|
OUT ULONG IpAddr
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return STATUS_NOT_IMPLEMENTED;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlIpv6StringToAddressExW(
|
||||||
|
IN LPWSTR IpString,
|
||||||
|
IN ULONG Base,
|
||||||
|
OUT PULONG IpAddr,
|
||||||
|
OUT PULONG Port
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return STATUS_NOT_IMPLEMENTED;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* EOF */
|
|
@ -16,7 +16,7 @@
|
||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
*/
|
*/
|
||||||
/* $Id: random.c,v 1.1 2004/05/31 19:29:02 gdalsnes Exp $
|
/* $Id: random.c,v 1.2 2004/08/05 18:17:37 ion Exp $
|
||||||
*
|
*
|
||||||
* COPYRIGHT: See COPYING in the top level directory
|
* COPYRIGHT: See COPYING in the top level directory
|
||||||
* PROJECT: ReactOS kernel
|
* PROJECT: ReactOS kernel
|
||||||
|
@ -26,11 +26,12 @@
|
||||||
|
|
||||||
/* INCLUDES *****************************************************************/
|
/* INCLUDES *****************************************************************/
|
||||||
|
|
||||||
#define NTOS_MODE_USER
|
#include <ddk/ntddk.h>
|
||||||
#include <ntos.h>
|
|
||||||
|
|
||||||
//#include <ddk/ntddk.h>
|
#define NDEBUG
|
||||||
|
#include <debug.h>
|
||||||
|
|
||||||
|
#define MAXLONG (0x7fffffff)
|
||||||
|
|
||||||
static ULONG SavedValue[128] =
|
static ULONG SavedValue[128] =
|
||||||
{
|
{
|
||||||
|
@ -96,6 +97,19 @@ RtlRandom (IN OUT PULONG Seed)
|
||||||
return Result;
|
return Result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
ULONG
|
||||||
|
STDCALL
|
||||||
|
RtlRandomEx(
|
||||||
|
PULONG Seed
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*************************************************************************
|
/*************************************************************************
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $Id: sd.c,v 1.1 2004/05/31 19:29:02 gdalsnes Exp $
|
/* $Id: sd.c,v 1.2 2004/08/05 18:17:37 ion Exp $
|
||||||
*
|
*
|
||||||
* COPYRIGHT: See COPYING in the top level directory
|
* COPYRIGHT: See COPYING in the top level directory
|
||||||
* PROJECT: ReactOS kernel
|
* PROJECT: ReactOS kernel
|
||||||
|
@ -750,4 +750,35 @@ RtlSelfRelativeToAbsoluteSD(PSECURITY_DESCRIPTOR RelSD,
|
||||||
return STATUS_SUCCESS;
|
return STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlSelfRelativeToAbsoluteSD2(
|
||||||
|
PSECURITY_DESCRIPTOR SelfRelativeSecurityDescriptor,
|
||||||
|
PULONG BufferSize
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return STATUS_NOT_IMPLEMENTED;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
BOOLEAN
|
||||||
|
STDCALL
|
||||||
|
RtlValidRelativeSecurityDescriptor (
|
||||||
|
IN PSECURITY_DESCRIPTOR SecurityDescriptorInput,
|
||||||
|
IN ULONG SecurityDescriptorLength,
|
||||||
|
IN SECURITY_INFORMATION RequiredInformation
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* EOF */
|
/* EOF */
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
*/
|
*/
|
||||||
/* $Id: splaytree.c,v 1.1 2004/06/20 23:27:21 gdalsnes Exp $
|
/* $Id: splaytree.c,v 1.2 2004/08/05 18:17:37 ion Exp $
|
||||||
*
|
*
|
||||||
* COPYRIGHT: See COPYING in the top level directory
|
* COPYRIGHT: See COPYING in the top level directory
|
||||||
* PROJECT: ReactOS system libraries
|
* PROJECT: ReactOS system libraries
|
||||||
|
@ -26,8 +26,82 @@
|
||||||
|
|
||||||
#include <ddk/ntddk.h>
|
#include <ddk/ntddk.h>
|
||||||
|
|
||||||
|
#define NDEBUG
|
||||||
|
#include <debug.h>
|
||||||
|
|
||||||
|
|
||||||
/* FUNCTIONS *****************************************************************/
|
/* FUNCTIONS *****************************************************************/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
PRTL_SPLAY_LINKS
|
||||||
|
STDCALL
|
||||||
|
RtlDelete (
|
||||||
|
PRTL_SPLAY_LINKS Links
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
RtlDeleteNoSplay (
|
||||||
|
PRTL_SPLAY_LINKS Links,
|
||||||
|
PRTL_SPLAY_LINKS *Root
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
PRTL_SPLAY_LINKS
|
||||||
|
STDCALL
|
||||||
|
RtlRealPredecessor (
|
||||||
|
PRTL_SPLAY_LINKS Links
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
PRTL_SPLAY_LINKS
|
||||||
|
STDCALL
|
||||||
|
RtlRealSuccessor (
|
||||||
|
PRTL_SPLAY_LINKS Links
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
PRTL_SPLAY_LINKS
|
||||||
|
STDCALL
|
||||||
|
RtlSplay (
|
||||||
|
PRTL_SPLAY_LINKS Links
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @implemented
|
||||||
|
*/
|
||||||
PRTL_SPLAY_LINKS STDCALL
|
PRTL_SPLAY_LINKS STDCALL
|
||||||
RtlSubtreePredecessor (IN PRTL_SPLAY_LINKS Links)
|
RtlSubtreePredecessor (IN PRTL_SPLAY_LINKS Links)
|
||||||
{
|
{
|
||||||
|
@ -47,7 +121,9 @@ RtlSubtreePredecessor (IN PRTL_SPLAY_LINKS Links)
|
||||||
return Child;
|
return Child;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @implemented
|
||||||
|
*/
|
||||||
PRTL_SPLAY_LINKS STDCALL
|
PRTL_SPLAY_LINKS STDCALL
|
||||||
RtlSubtreeSuccessor (IN PRTL_SPLAY_LINKS Links)
|
RtlSubtreeSuccessor (IN PRTL_SPLAY_LINKS Links)
|
||||||
{
|
{
|
||||||
|
|
|
@ -393,6 +393,18 @@ RtlFreeUnicodeString(IN PUNICODE_STRING UnicodeString)
|
||||||
UnicodeString->MaximumLength = 0;
|
UnicodeString->MaximumLength = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
BOOLEAN
|
||||||
|
STDCALL
|
||||||
|
RtlIsValidOemCharacter (
|
||||||
|
IN PWCHAR Char
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @implemented
|
* @implemented
|
||||||
|
@ -483,7 +495,20 @@ RtlInitUnicodeString(IN OUT PUNICODE_STRING DestinationString,
|
||||||
DestinationString->Buffer = (PWSTR)SourceString;
|
DestinationString->Buffer = (PWSTR)SourceString;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlInt64ToUnicodeString (
|
||||||
|
IN ULONGLONG Value,
|
||||||
|
IN ULONG Base OPTIONAL,
|
||||||
|
IN OUT PUNICODE_STRING String
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return STATUS_NOT_IMPLEMENTED;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @implemented
|
* @implemented
|
||||||
|
@ -1406,19 +1431,6 @@ RtlGUIDFromString(
|
||||||
return STATUS_SUCCESS;
|
return STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* @unimplemented
|
|
||||||
*/
|
|
||||||
NTSTATUS STDCALL
|
|
||||||
RtlInt64ToUnicodeString (IN ULONGLONG Value,
|
|
||||||
IN ULONG Base,
|
|
||||||
OUT PUNICODE_STRING String)
|
|
||||||
{
|
|
||||||
return STATUS_NOT_IMPLEMENTED;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @implemented
|
* @implemented
|
||||||
*/
|
*/
|
||||||
|
@ -1440,7 +1452,21 @@ RtlEraseUnicodeString(
|
||||||
String->Length = 0;
|
String->Length = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlHashUnicodeString(
|
||||||
|
IN const UNICODE_STRING *String,
|
||||||
|
IN BOOLEAN CaseInSensitive,
|
||||||
|
IN ULONG HashAlgorithm,
|
||||||
|
OUT PULONG HashValue
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return STATUS_NOT_IMPLEMENTED;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @implemented
|
* @implemented
|
||||||
|
|
103
reactos/lib/rtl/unicodeprfx.c
Normal file
103
reactos/lib/rtl/unicodeprfx.c
Normal file
|
@ -0,0 +1,103 @@
|
||||||
|
/*
|
||||||
|
* ReactOS kernel
|
||||||
|
* Copyright (C) 2003 ReactOS Team
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
*/
|
||||||
|
/* $Id: unicodeprfx.c,v 1.1 2004/08/05 18:17:37 ion Exp $
|
||||||
|
*
|
||||||
|
* COPYRIGHT: See COPYING in the top level directory
|
||||||
|
* PROJECT: ReactOS system libraries
|
||||||
|
* PURPOSE: Unicode Prefix implementation
|
||||||
|
* FILE: lib/rtl/unicodeprfx.c
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <ddk/ntddk.h>
|
||||||
|
|
||||||
|
#define NDEBUG
|
||||||
|
#include <debug.h>
|
||||||
|
|
||||||
|
/* FUNCTIONS *****************************************************************/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
PUNICODE_PREFIX_TABLE_ENTRY
|
||||||
|
STDCALL
|
||||||
|
RtlFindUnicodePrefix (
|
||||||
|
PUNICODE_PREFIX_TABLE PrefixTable,
|
||||||
|
PUNICODE_STRING FullName,
|
||||||
|
ULONG CaseInsensitiveIndex
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
RtlInitializeUnicodePrefix (
|
||||||
|
PUNICODE_PREFIX_TABLE PrefixTable
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
BOOLEAN
|
||||||
|
STDCALL
|
||||||
|
RtlInsertUnicodePrefix (
|
||||||
|
PUNICODE_PREFIX_TABLE PrefixTable,
|
||||||
|
PUNICODE_STRING Prefix,
|
||||||
|
PUNICODE_PREFIX_TABLE_ENTRY PrefixTableEntry
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
PUNICODE_PREFIX_TABLE_ENTRY
|
||||||
|
STDCALL
|
||||||
|
RtlNextUnicodePrefix (
|
||||||
|
PUNICODE_PREFIX_TABLE PrefixTable,
|
||||||
|
BOOLEAN Restart
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
RtlRemoveUnicodePrefix (
|
||||||
|
PUNICODE_PREFIX_TABLE PrefixTable,
|
||||||
|
PUNICODE_PREFIX_TABLE_ENTRY PrefixTableEntry
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* EOF */
|
|
@ -16,7 +16,7 @@
|
||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
*/
|
*/
|
||||||
/* $Id: version.c,v 1.1 2004/05/31 19:29:02 gdalsnes Exp $
|
/* $Id: version.c,v 1.2 2004/08/05 18:17:37 ion Exp $
|
||||||
*
|
*
|
||||||
* PROJECT: ReactOS kernel
|
* PROJECT: ReactOS kernel
|
||||||
* PURPOSE: Runtime code
|
* PURPOSE: Runtime code
|
||||||
|
@ -34,6 +34,9 @@
|
||||||
#define NDEBUG
|
#define NDEBUG
|
||||||
#include <debug.h>
|
#include <debug.h>
|
||||||
|
|
||||||
|
/* GLOBALS ******************************************************************/
|
||||||
|
|
||||||
|
extern ULONG NtGlobalFlag;
|
||||||
|
|
||||||
/* FUNCTIONS ****************************************************************/
|
/* FUNCTIONS ****************************************************************/
|
||||||
|
|
||||||
|
@ -65,4 +68,31 @@ RtlGetVersion(RTL_OSVERSIONINFOW *Info)
|
||||||
return STATUS_INVALID_PARAMETER;
|
return STATUS_INVALID_PARAMETER;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @implemented
|
||||||
|
*/
|
||||||
|
ULONG
|
||||||
|
STDCALL
|
||||||
|
RtlGetNtGlobalFlags(VOID)
|
||||||
|
{
|
||||||
|
return(NtGlobalFlag);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
RtlVerifyVersionInfo(
|
||||||
|
IN PRTL_OSVERSIONINFOEXW VersionInfo,
|
||||||
|
IN ULONG TypeMask,
|
||||||
|
IN ULONGLONG ConditionMask
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return STATUS_NOT_IMPLEMENTED;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
/* EOF */
|
/* EOF */
|
||||||
|
|
|
@ -135,6 +135,7 @@ VOID KeFreeGdtSelector(ULONG Entry);
|
||||||
VOID
|
VOID
|
||||||
NtEarlyInitVdm(VOID);
|
NtEarlyInitVdm(VOID);
|
||||||
|
|
||||||
|
|
||||||
#if defined(__GNUC__)
|
#if defined(__GNUC__)
|
||||||
#define Ke386DisableInterrupts() __asm__("cli\n\t");
|
#define Ke386DisableInterrupts() __asm__("cli\n\t");
|
||||||
#define Ke386EnableInterrupts() __asm__("sti\n\t");
|
#define Ke386EnableInterrupts() __asm__("sti\n\t");
|
||||||
|
|
|
@ -562,12 +562,15 @@ NtQueueApcThread(HANDLE ThreadHandle,
|
||||||
PKAPC Apc;
|
PKAPC Apc;
|
||||||
PETHREAD Thread;
|
PETHREAD Thread;
|
||||||
NTSTATUS Status;
|
NTSTATUS Status;
|
||||||
|
PVOID ThreadVar;
|
||||||
|
|
||||||
|
ThreadVar = &Thread;
|
||||||
|
|
||||||
Status = ObReferenceObjectByHandle(ThreadHandle,
|
Status = ObReferenceObjectByHandle(ThreadHandle,
|
||||||
THREAD_ALL_ACCESS, /* FIXME */
|
THREAD_ALL_ACCESS, /* FIXME */
|
||||||
PsThreadType,
|
PsThreadType,
|
||||||
UserMode,
|
UserMode,
|
||||||
(PVOID*)&Thread,
|
&ThreadVar,
|
||||||
NULL);
|
NULL);
|
||||||
if (!NT_SUCCESS(Status))
|
if (!NT_SUCCESS(Status))
|
||||||
{
|
{
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
*/
|
*/
|
||||||
/* $Id: catch.c,v 1.45 2004/07/02 12:43:38 royce Exp $
|
/* $Id: catch.c,v 1.46 2004/08/05 18:17:37 ion Exp $
|
||||||
*
|
*
|
||||||
* PROJECT: ReactOS kernel
|
* PROJECT: ReactOS kernel
|
||||||
* FILE: ntoskrnl/ke/catch.c
|
* FILE: ntoskrnl/ke/catch.c
|
||||||
|
@ -298,13 +298,4 @@ KeRegisterBugCheckReasonCallback(
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* @implemented
|
|
||||||
*/
|
|
||||||
VOID STDCALL
|
|
||||||
RtlRaiseException(PEXCEPTION_RECORD ExceptionRecord)
|
|
||||||
{
|
|
||||||
ZwRaiseException(ExceptionRecord, NULL, TRUE);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* EOF */
|
/* EOF */
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; $Id: ntoskrnl.edf,v 1.174 2004/08/04 12:11:45 ekohl Exp $
|
; $Id: ntoskrnl.edf,v 1.175 2004/08/05 18:17:37 ion Exp $
|
||||||
;
|
;
|
||||||
; reactos/ntoskrnl/ntoskrnl.def
|
; reactos/ntoskrnl/ntoskrnl.def
|
||||||
;
|
;
|
||||||
|
@ -763,6 +763,78 @@ READ_REGISTER_BUFFER_ULONG=READ_REGISTER_BUFFER_ULONG@12
|
||||||
READ_REGISTER_BUFFER_USHORT=READ_REGISTER_BUFFER_USHORT@12
|
READ_REGISTER_BUFFER_USHORT=READ_REGISTER_BUFFER_USHORT@12
|
||||||
KeRosPrintAddress=KeRosPrintAddress@4
|
KeRosPrintAddress=KeRosPrintAddress@4
|
||||||
KeRosDumpStackFrames=KeRosDumpStackFrames@8
|
KeRosDumpStackFrames=KeRosDumpStackFrames@8
|
||||||
|
RtlAddAccessAllowedAceEx=RtlAddAccessAllowedAceEx@20
|
||||||
|
RtlAllocateHeap=RtlAllocateHeap@12
|
||||||
|
RtlCaptureContext=RtlCaptureContext@4
|
||||||
|
RtlCaptureStackBackTrace=RtlCaptureStackBackTrace@16
|
||||||
|
RtlClearBit=RtlClearBit@8
|
||||||
|
RtlCreateHeap=RtlCreateHeap@24
|
||||||
|
RtlCreateSystemVolumeInformationFolder=RtlCreateSystemVolumeInformationFolder@4
|
||||||
|
RtlDelete=RtlDelete@4
|
||||||
|
RtlDeleteAce=RtlDeleteAce@8
|
||||||
|
RtlDeleteElementGenericTable=RtlDeleteElementGenericTable@8
|
||||||
|
RtlDeleteElementGenericTableAvl=RtlDeleteElementGenericTableAvl@8
|
||||||
|
RtlDeleteNoSplay=RtlDeleteNoSplay@8
|
||||||
|
RtlDestroyHeap=RtlDestroyHeap@4
|
||||||
|
RtlDispatchException=RtlDispatchException@8
|
||||||
|
RtlEnumerateGenericTable=RtlEnumerateGenericTable@8
|
||||||
|
RtlEnumerateGenericTableAvl=RtlEnumerateGenericTableAvl@8
|
||||||
|
RtlEnumerateGenericTableLikeADirectory=RtlEnumerateGenericTableLikeADirectory@28
|
||||||
|
RtlEnumerateGenericTableWithoutSplaying=RtlEnumerateGenericTableWithoutSplaying@8
|
||||||
|
RtlEnumerateGenericTableWithoutSplayingAvl=RtlEnumerateGenericTableWithoutSplayingAvl@8
|
||||||
|
RtlFindClearRuns=RtlFindClearRuns@16
|
||||||
|
RtlFindLastBackwardRunClear=RtlFindLastBackwardRunClear@12
|
||||||
|
RtlFindNextForwardRunClear=RtlFindNextForwardRunClear@12
|
||||||
|
RtlFindUnicodePrefix=RtlFindUnicodePrefix@12
|
||||||
|
RtlFreeHeap=RtlFreeHeap@12
|
||||||
|
RtlGetAce=RtlGetAce@12
|
||||||
|
RtlGetCallersAddress=RtlGetCallersAddress@8
|
||||||
|
RtlGetElementGenericTableAvl=RtlGetElementGenericTableAvl@8
|
||||||
|
RtlGetNtGlobalFlags=RtlGetNtGlobalFlags@0
|
||||||
|
RtlGetSaclSecurityDescriptor=RtlGetSaclSecurityDescriptor@16
|
||||||
|
RtlGUIDFromString=RtlGUIDFromString@8
|
||||||
|
RtlHashUnicodeString=RtlHashUnicodeString@16
|
||||||
|
RtlInitializeGenericTableAvl=RtlInitializeGenericTableAvl@20
|
||||||
|
RtlInitializeUnicodePrefix=RtlInitializeUnicodePrefix@4
|
||||||
|
RtlInsertElementGenericTableAvl=RtlInsertElementGenericTableAvl@16
|
||||||
|
RtlInsertElementGenericTableFull=RtlInsertElementGenericTableFull@24
|
||||||
|
RtlInsertElementGenericTableFullAvl=RtlInsertElementGenericTableFullAvl@24
|
||||||
|
RtlInsertUnicodePrefix=RtlInsertUnicodePrefix@12
|
||||||
|
RtlInt64ToUnicodeString=RtlInt64ToUnicodeString@16
|
||||||
|
RtlIsGenericTableEmpty=RtlIsGenericTableEmpty@4
|
||||||
|
RtlIsGenericTableEmptyAvl=RtlIsGenericTableEmptyAvl@4
|
||||||
|
RtlIsValidOemCharacter=RtlIsValidOemCharacter@4
|
||||||
|
RtlLookupElementGenericTable=RtlLookupElementGenericTable@8
|
||||||
|
RtlLookupElementGenericTableAvl=RtlLookupElementGenericTableAvl@8
|
||||||
|
RtlLookupElementGenericTableFull=RtlLookupElementGenericTableFull@16
|
||||||
|
RtlLookupElementGenericTableFullAvl=RtlLookupElementGenericTableFullAvl@16
|
||||||
|
RtlNextUnicodePrefix=RtlNextUnicodePrefix@8
|
||||||
|
RtlNumberGenericTableElements=RtlNumberGenericTableElements@4
|
||||||
|
RtlNumberGenericTableElementsAvl=RtlNumberGenericTableElementsAvl@4
|
||||||
|
RtlOemToUnicodeN=RtlOemToUnicodeN@20
|
||||||
|
@RtlPrefetchMemoryNonTemporal=@RtlPrefetchMemoryNonTemporal@8
|
||||||
|
RtlRandomEx=RtlRandomEx@4
|
||||||
|
RtlRealPredecessor=RtlRealPredecessor@4
|
||||||
|
RtlRealSuccessor=RtlRealSuccessor@4
|
||||||
|
RtlRemoveUnicodePrefix=RtlRemoveUnicodePrefix@8
|
||||||
|
RtlSelfRelativeToAbsoluteSD=RtlSelfRelativeToAbsoluteSD@44
|
||||||
|
RtlSetBit=RtlSetBit@8
|
||||||
|
RtlSizeHeap=RtlSizeHeap@12
|
||||||
|
RtlSplay=RtlSplay@4
|
||||||
|
RtlStringFromGUID=RtlStringFromGUID@8
|
||||||
|
RtlSubtreePredecessor=RtlSubtreePredecessor@4
|
||||||
|
RtlSubtreeSuccessor=RtlSubtreeSuccessor@4
|
||||||
|
RtlTestBit=RtlTestBit@8
|
||||||
|
RtlTimeToElapsedTimeFields=RtlTimeToElapsedTimeFields@8
|
||||||
|
RtlValidRelativeSecurityDescriptor=RtlValidRelativeSecurityDescriptor@12
|
||||||
|
;RtlVerifyVersionInfo=RtlVerifyVersionInfo@16
|
||||||
|
RtlVolumeDeviceToDosName=RtlVolumeDeviceToDosName@8
|
||||||
|
RtlWalkFrameChain=RtlWalkFrameChain@12
|
||||||
|
RtlGetSetBootStatusData=RtlGetSetBootStatusData@24
|
||||||
|
RtlLockBootStatusData=RtlLockBootStatusData@4
|
||||||
|
RtlUnlockBootStatusData=RtlUnlockBootStatusData@4
|
||||||
|
RtlSelfRelativeToAbsoluteSD2=RtlSelfRelativeToAbsoluteSD2@8
|
||||||
|
RtlMapSecurityErrorToNtStatus=RtlMapSecurityErrorToNtStatus@4
|
||||||
RtlAbsoluteToSelfRelativeSD=RtlAbsoluteToSelfRelativeSD@12
|
RtlAbsoluteToSelfRelativeSD=RtlAbsoluteToSelfRelativeSD@12
|
||||||
RtlAddAccessAllowedAce=RtlAddAccessAllowedAce@16
|
RtlAddAccessAllowedAce=RtlAddAccessAllowedAce@16
|
||||||
RtlAddAce=RtlAddAce@20
|
RtlAddAce=RtlAddAce@20
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $Id: bitmap.c,v 1.9 2003/07/11 01:23:15 royce Exp $
|
/* $Id: bitmap.c,v 1.10 2004/08/05 18:17:37 ion Exp $
|
||||||
*
|
*
|
||||||
* COPYRIGHT: See COPYING in the top level directory
|
* COPYRIGHT: See COPYING in the top level directory
|
||||||
* PROJECT: ReactOS kernel
|
* PROJECT: ReactOS kernel
|
||||||
|
@ -10,6 +10,8 @@
|
||||||
|
|
||||||
#include <ddk/ntddk.h>
|
#include <ddk/ntddk.h>
|
||||||
|
|
||||||
|
#define NDEBUG
|
||||||
|
#include <debug.h>
|
||||||
|
|
||||||
#define ALIGN(x,align) (((x)+(align)-1) / (align))
|
#define ALIGN(x,align) (((x)+(align)-1) / (align))
|
||||||
|
|
||||||
|
@ -130,6 +132,18 @@ RtlClearAllBits (
|
||||||
ALIGN(BitMapHeader->SizeOfBitMap, 8));
|
ALIGN(BitMapHeader->SizeOfBitMap, 8));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
RtlClearBit (
|
||||||
|
PRTL_BITMAP BitMapHeader,
|
||||||
|
ULONG BitNumber
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @implemented
|
* @implemented
|
||||||
|
@ -315,6 +329,51 @@ RtlFindFirstRunClear (
|
||||||
return Count;
|
return Count;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
ULONG
|
||||||
|
STDCALL
|
||||||
|
RtlFindClearRuns (
|
||||||
|
PRTL_BITMAP BitMapHeader,
|
||||||
|
PRTL_BITMAP_RUN RunArray,
|
||||||
|
ULONG SizeOfRunArray,
|
||||||
|
BOOLEAN LocateLongestRuns
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
ULONG
|
||||||
|
STDCALL
|
||||||
|
RtlFindLastBackwardRunClear (
|
||||||
|
IN PRTL_BITMAP BitMapHeader,
|
||||||
|
IN ULONG FromIndex,
|
||||||
|
IN PULONG StartingRunIndex
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
ULONG
|
||||||
|
STDCALL
|
||||||
|
RtlFindNextForwardRunClear (
|
||||||
|
IN PRTL_BITMAP BitMapHeader,
|
||||||
|
IN ULONG FromIndex,
|
||||||
|
IN PULONG StartingRunIndex
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
ULONG
|
ULONG
|
||||||
STDCALL
|
STDCALL
|
||||||
|
@ -654,6 +713,18 @@ RtlSetAllBits (
|
||||||
ALIGN(BitMapHeader->SizeOfBitMap, 8));
|
ALIGN(BitMapHeader->SizeOfBitMap, 8));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
RtlSetBit (
|
||||||
|
PRTL_BITMAP BitMapHeader,
|
||||||
|
ULONG BitNumber
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @implemented
|
* @implemented
|
||||||
|
@ -693,4 +764,17 @@ RtlSetBits (
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
BOOLEAN
|
||||||
|
STDCALL
|
||||||
|
RtlTestBit (
|
||||||
|
PRTL_BITMAP BitMapHeader,
|
||||||
|
ULONG BitNumber
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
/* EOF */
|
/* EOF */
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
*/
|
*/
|
||||||
/* $Id: capture.c,v 1.4 2002/09/08 10:23:41 chorns Exp $
|
/* $Id: capture.c,v 1.5 2004/08/05 18:17:37 ion Exp $
|
||||||
*
|
*
|
||||||
* PROJECT: ReactOS kernel
|
* PROJECT: ReactOS kernel
|
||||||
* FILE: ntoskrnl/rtl/capture.c
|
* FILE: ntoskrnl/rtl/capture.c
|
||||||
|
@ -116,5 +116,33 @@ RtlCaptureAnsiString(PANSI_STRING Dest,
|
||||||
return(STATUS_SUCCESS);
|
return(STATUS_SUCCESS);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
RtlCaptureContext (
|
||||||
|
OUT PCONTEXT ContextRecord
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
USHORT
|
||||||
|
STDCALL
|
||||||
|
RtlCaptureStackBackTrace (
|
||||||
|
IN ULONG FramesToSkip,
|
||||||
|
IN ULONG FramesToCapture,
|
||||||
|
OUT PVOID *BackTrace,
|
||||||
|
OUT PULONG BackTraceHash OPTIONAL
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
/* EOF */
|
/* EOF */
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $Id: acl.c,v 1.18 2004/07/17 20:32:11 ekohl Exp $
|
/* $Id: acl.c,v 1.19 2004/08/05 18:17:37 ion Exp $
|
||||||
*
|
*
|
||||||
* COPYRIGHT: See COPYING in the top level directory
|
* COPYRIGHT: See COPYING in the top level directory
|
||||||
* PROJECT: ReactOS kernel
|
* PROJECT: ReactOS kernel
|
||||||
|
@ -201,234 +201,4 @@ SepInitDACLs(VOID)
|
||||||
return(TRUE);
|
return(TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
BOOLEAN STDCALL
|
|
||||||
RtlFirstFreeAce(PACL Acl,
|
|
||||||
PACE* Ace)
|
|
||||||
{
|
|
||||||
PACE Current;
|
|
||||||
PVOID AclEnd;
|
|
||||||
ULONG i;
|
|
||||||
|
|
||||||
Current = (PACE)(Acl + 1);
|
|
||||||
*Ace = NULL;
|
|
||||||
i = 0;
|
|
||||||
if (Acl->AceCount == 0)
|
|
||||||
{
|
|
||||||
*Ace = Current;
|
|
||||||
return(TRUE);
|
|
||||||
}
|
|
||||||
|
|
||||||
AclEnd = Acl->AclSize + (char*)Acl;
|
|
||||||
do
|
|
||||||
{
|
|
||||||
if ((PVOID)Current >= AclEnd)
|
|
||||||
{
|
|
||||||
return(FALSE);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (Current->Header.AceType == ACCESS_ALLOWED_COMPOUND_ACE_TYPE &&
|
|
||||||
Acl->AclRevision < ACL_REVISION3)
|
|
||||||
{
|
|
||||||
return(FALSE);
|
|
||||||
}
|
|
||||||
Current = (PACE)((char*)Current + (ULONG)Current->Header.AceSize);
|
|
||||||
i++;
|
|
||||||
}
|
|
||||||
while (i < Acl->AceCount);
|
|
||||||
|
|
||||||
if ((PVOID)Current < AclEnd)
|
|
||||||
{
|
|
||||||
*Ace = Current;
|
|
||||||
}
|
|
||||||
|
|
||||||
return(TRUE);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS
|
|
||||||
RtlpAddKnownAce(PACL Acl,
|
|
||||||
ULONG Revision,
|
|
||||||
ACCESS_MASK AccessMask,
|
|
||||||
PSID Sid,
|
|
||||||
ULONG Type)
|
|
||||||
{
|
|
||||||
PACE Ace;
|
|
||||||
|
|
||||||
if (!RtlValidSid(Sid))
|
|
||||||
{
|
|
||||||
return(STATUS_INVALID_SID);
|
|
||||||
}
|
|
||||||
if (Acl->AclRevision > MAX_ACL_REVISION ||
|
|
||||||
Revision > MAX_ACL_REVISION)
|
|
||||||
{
|
|
||||||
return(STATUS_UNKNOWN_REVISION);
|
|
||||||
}
|
|
||||||
if (Revision < Acl->AclRevision)
|
|
||||||
{
|
|
||||||
Revision = Acl->AclRevision;
|
|
||||||
}
|
|
||||||
if (!RtlFirstFreeAce(Acl, &Ace))
|
|
||||||
{
|
|
||||||
return(STATUS_BUFFER_TOO_SMALL);
|
|
||||||
}
|
|
||||||
if (Ace == NULL)
|
|
||||||
{
|
|
||||||
return(STATUS_UNSUCCESSFUL);
|
|
||||||
}
|
|
||||||
if (((char*)Ace + RtlLengthSid(Sid) + sizeof(ACE)) >=
|
|
||||||
((char*)Acl + Acl->AclSize))
|
|
||||||
{
|
|
||||||
return(STATUS_BUFFER_TOO_SMALL);
|
|
||||||
}
|
|
||||||
Ace->Header.AceFlags = 0;
|
|
||||||
Ace->Header.AceType = Type;
|
|
||||||
Ace->Header.AceSize = RtlLengthSid(Sid) + sizeof(ACE);
|
|
||||||
Ace->AccessMask = AccessMask;
|
|
||||||
RtlCopySid(RtlLengthSid(Sid), (PSID)(Ace + 1), Sid);
|
|
||||||
Acl->AceCount++;
|
|
||||||
Acl->AclRevision = Revision;
|
|
||||||
return(STATUS_SUCCESS);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* @implemented
|
|
||||||
*/
|
|
||||||
NTSTATUS STDCALL
|
|
||||||
RtlAddAccessAllowedAce (PACL Acl,
|
|
||||||
ULONG Revision,
|
|
||||||
ACCESS_MASK AccessMask,
|
|
||||||
PSID Sid)
|
|
||||||
{
|
|
||||||
return RtlpAddKnownAce (Acl,
|
|
||||||
Revision,
|
|
||||||
AccessMask,
|
|
||||||
Sid,
|
|
||||||
ACCESS_ALLOWED_ACE_TYPE);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* @implemented
|
|
||||||
*/
|
|
||||||
NTSTATUS STDCALL
|
|
||||||
RtlAddAce(PACL Acl,
|
|
||||||
ULONG AclRevision,
|
|
||||||
ULONG StartingIndex,
|
|
||||||
PACE AceList,
|
|
||||||
ULONG AceListLength)
|
|
||||||
{
|
|
||||||
PACE Ace;
|
|
||||||
ULONG i;
|
|
||||||
PACE Current;
|
|
||||||
ULONG j;
|
|
||||||
|
|
||||||
if (Acl->AclRevision < MIN_ACL_REVISION ||
|
|
||||||
Acl->AclRevision > MAX_ACL_REVISION)
|
|
||||||
{
|
|
||||||
return(STATUS_UNSUCCESSFUL);
|
|
||||||
}
|
|
||||||
if (!RtlFirstFreeAce(Acl,&Ace))
|
|
||||||
{
|
|
||||||
return(STATUS_UNSUCCESSFUL);
|
|
||||||
}
|
|
||||||
if (Acl->AclRevision <= AclRevision)
|
|
||||||
{
|
|
||||||
AclRevision = Acl->AclRevision;
|
|
||||||
}
|
|
||||||
if (((char*)AceList + AceListLength) <= (char*)AceList)
|
|
||||||
{
|
|
||||||
return(STATUS_UNSUCCESSFUL);
|
|
||||||
}
|
|
||||||
i = 0;
|
|
||||||
Current = (PACE)(Acl + 1);
|
|
||||||
while ((char*)Current < ((char*)AceList + AceListLength))
|
|
||||||
{
|
|
||||||
if (AceList->Header.AceType == ACCESS_ALLOWED_COMPOUND_ACE_TYPE &&
|
|
||||||
AclRevision < ACL_REVISION3)
|
|
||||||
{
|
|
||||||
return(STATUS_UNSUCCESSFUL);
|
|
||||||
}
|
|
||||||
Current = (PACE)((char*)Current + Current->Header.AceSize);
|
|
||||||
}
|
|
||||||
if (Ace == NULL)
|
|
||||||
{
|
|
||||||
return(STATUS_UNSUCCESSFUL);
|
|
||||||
}
|
|
||||||
if (((char*)Ace + AceListLength) >= ((char*)Acl + Acl->AclSize))
|
|
||||||
{
|
|
||||||
return(STATUS_UNSUCCESSFUL);
|
|
||||||
}
|
|
||||||
if (StartingIndex != 0)
|
|
||||||
{
|
|
||||||
if (Acl->AceCount > 0)
|
|
||||||
{
|
|
||||||
Current = (PACE)(Acl + 1);
|
|
||||||
for (j = 0; j < StartingIndex; j++)
|
|
||||||
{
|
|
||||||
Current = (PACE)((char*)Current + Current->Header.AceSize);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/* RtlpAddData(AceList, AceListLength, Current, (PVOID)Ace - Current)); */
|
|
||||||
memcpy(Current, AceList, AceListLength);
|
|
||||||
Acl->AceCount = Acl->AceCount + i;
|
|
||||||
Acl->AclRevision = AclRevision;
|
|
||||||
return(TRUE);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* @implemented
|
|
||||||
*/
|
|
||||||
NTSTATUS STDCALL
|
|
||||||
RtlCreateAcl(PACL Acl,
|
|
||||||
ULONG AclSize,
|
|
||||||
ULONG AclRevision)
|
|
||||||
{
|
|
||||||
if (AclSize < 8)
|
|
||||||
{
|
|
||||||
return(STATUS_BUFFER_TOO_SMALL);
|
|
||||||
}
|
|
||||||
if (AclRevision < MIN_ACL_REVISION ||
|
|
||||||
AclRevision > MAX_ACL_REVISION)
|
|
||||||
{
|
|
||||||
return(STATUS_UNKNOWN_REVISION);
|
|
||||||
}
|
|
||||||
if (AclSize > 0xffff)
|
|
||||||
{
|
|
||||||
return(STATUS_UNSUCCESSFUL);
|
|
||||||
}
|
|
||||||
AclSize = AclSize & ~(0x3);
|
|
||||||
Acl->AclSize = AclSize;
|
|
||||||
Acl->AclRevision = AclRevision;
|
|
||||||
Acl->AceCount = 0;
|
|
||||||
Acl->Sbz1 = 0;
|
|
||||||
Acl->Sbz2 = 0;
|
|
||||||
return(STATUS_SUCCESS);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
BOOLEAN STDCALL
|
|
||||||
RtlValidAcl(PACL Acl)
|
|
||||||
{
|
|
||||||
PACE Ace;
|
|
||||||
USHORT Size;
|
|
||||||
|
|
||||||
if (Acl->AclRevision < MIN_ACL_REVISION ||
|
|
||||||
Acl->AclRevision > MAX_ACL_REVISION)
|
|
||||||
{
|
|
||||||
return(FALSE);
|
|
||||||
}
|
|
||||||
|
|
||||||
Size = (Acl->AclSize + 3) & ~3;
|
|
||||||
if (Size != Acl->AclSize)
|
|
||||||
{
|
|
||||||
return(FALSE);
|
|
||||||
}
|
|
||||||
|
|
||||||
return(RtlFirstFreeAce(Acl, &Ace));
|
|
||||||
}
|
|
||||||
|
|
||||||
/* EOF */
|
/* EOF */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue