mirror of
https://github.com/reactos/reactos.git
synced 2024-06-29 01:12:06 +00:00
Added RTL Stubs, Prototypes and Exports.
svn path=/trunk/; revision=10404
This commit is contained in:
parent
172a11d61b
commit
3c1d312107
|
@ -1209,13 +1209,6 @@ RtlEnumerateGenericTableWithoutSplaying(
|
|||
IN PVOID *RestartKey
|
||||
);
|
||||
|
||||
VOID
|
||||
STDCALL
|
||||
RtlGetElementGenericTable(
|
||||
IN PRTL_GENERIC_TABLE Table,
|
||||
IN ULONG I
|
||||
);
|
||||
|
||||
PVOID
|
||||
STDCALL
|
||||
RtlLookupElementGenericTable(
|
||||
|
@ -2237,28 +2230,6 @@ STDCALL
|
|||
RtlGetVersion(
|
||||
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
|
||||
STDCALL
|
||||
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
|
||||
|
@ -473,12 +473,6 @@ RtlEqualUnicodeString (
|
|||
BOOLEAN CaseInSensitive
|
||||
);
|
||||
|
||||
VOID
|
||||
STDCALL
|
||||
RtlGetCallersAddress (
|
||||
PVOID * CallersAddress
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
RtlQueryRegistryValues (
|
||||
|
@ -613,6 +607,16 @@ RtlAddAccessAllowedAce (PACL Acl,
|
|||
ACCESS_MASK AccessMask,
|
||||
PSID Sid);
|
||||
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
RtlAddAccessAllowedAceEx(
|
||||
IN OUT PACL pAcl,
|
||||
IN DWORD dwAceRevision,
|
||||
IN DWORD AceFlags,
|
||||
IN DWORD AccessMask,
|
||||
IN PSID pSid);
|
||||
|
||||
|
||||
NTSTATUS STDCALL
|
||||
RtlAddAccessDeniedAce (PACL Acl,
|
||||
ULONG Revision,
|
||||
|
@ -739,6 +743,23 @@ RtlAssert (
|
|||
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
|
||||
STDCALL
|
||||
RtlCharToInteger (
|
||||
|
@ -760,6 +781,13 @@ RtlClearAllBits (
|
|||
IN PRTL_BITMAP BitMapHeader
|
||||
);
|
||||
|
||||
VOID
|
||||
STDCALL
|
||||
RtlClearBit (
|
||||
PRTL_BITMAP BitMapHeader,
|
||||
ULONG BitNumber
|
||||
);
|
||||
|
||||
VOID
|
||||
STDCALL
|
||||
RtlClearBits (
|
||||
|
@ -902,6 +930,12 @@ NTSTATUS STDCALL
|
|||
RtlCreateSecurityDescriptor (PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||
ULONG Revision);
|
||||
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
RtlCreateSystemVolumeInformationFolder(
|
||||
IN PUNICODE_STRING VolumeRootPath
|
||||
);
|
||||
|
||||
BOOLEAN STDCALL
|
||||
RtlCreateUnicodeString (OUT PUNICODE_STRING Destination,
|
||||
IN PWSTR Source);
|
||||
|
@ -948,6 +982,12 @@ RtlDecompressFragment(IN USHORT CompressionFormat,
|
|||
OUT PULONG FinalUncompressedSize,
|
||||
IN PVOID WorkSpace);
|
||||
|
||||
PRTL_SPLAY_LINKS
|
||||
STDCALL
|
||||
RtlDelete (
|
||||
PRTL_SPLAY_LINKS Links
|
||||
);
|
||||
|
||||
NTSTATUS STDCALL
|
||||
RtlDeleteAce (PACL Acl,
|
||||
ULONG AceIndex);
|
||||
|
@ -956,6 +996,28 @@ NTSTATUS STDCALL
|
|||
RtlDeleteAtomFromAtomTable (IN PRTL_ATOM_TABLE AtomTable,
|
||||
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
|
||||
RtlDeleteOwnersRanges (IN OUT PRTL_RANGE_LIST RangeList,
|
||||
IN PVOID Owner);
|
||||
|
@ -979,6 +1041,14 @@ RtlDestroyAtomTable (IN PRTL_ATOM_TABLE AtomTable);
|
|||
BOOL STDCALL
|
||||
RtlDestroyHeap (HANDLE hheap);
|
||||
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
RtlDispatchException(
|
||||
PEXCEPTION_RECORD pExcptRec,
|
||||
CONTEXT * pContext
|
||||
);
|
||||
|
||||
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
RtlDowncaseUnicodeString (
|
||||
|
@ -1016,6 +1086,46 @@ RtlEnlargedUnsignedMultiply (
|
|||
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
|
||||
RtlEqualPrefixSid (PSID Sid1,
|
||||
PSID Sid2);
|
||||
|
@ -1079,6 +1189,40 @@ RtlFindClearBitsAndSet (
|
|||
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
|
||||
STDCALL
|
||||
RtlFindFirstRunClear (
|
||||
|
@ -1192,6 +1336,13 @@ RtlGetAce (PACL Acl,
|
|||
ULONG AceIndex,
|
||||
PACE *Ace);
|
||||
|
||||
VOID
|
||||
STDCALL
|
||||
RtlGetCallersAddress(
|
||||
OUT PVOID *CallersAddress,
|
||||
OUT PVOID *CallersCaller
|
||||
);
|
||||
|
||||
NTSTATUS STDCALL
|
||||
RtlGetCompressionWorkSpaceSize (IN USHORT CompressionFormatAndEngine,
|
||||
OUT PULONG CompressBufferAndWorkSpaceSize,
|
||||
|
@ -1212,6 +1363,20 @@ VOID STDCALL
|
|||
RtlGetDefaultCodePage (OUT PUSHORT AnsiCodePage,
|
||||
OUT PUSHORT OemCodePage);
|
||||
|
||||
PVOID
|
||||
STDCALL
|
||||
RtlGetElementGenericTable(
|
||||
PRTL_GENERIC_TABLE Table,
|
||||
ULONG I
|
||||
);
|
||||
|
||||
PVOID
|
||||
STDCALL
|
||||
RtlGetElementGenericTableAvl (
|
||||
PRTL_AVL_TABLE Table,
|
||||
ULONG I
|
||||
);
|
||||
|
||||
NTSTATUS STDCALL
|
||||
RtlGetFirstRange (IN PRTL_RANGE_LIST RangeList,
|
||||
OUT PRTL_RANGE_LIST_ITERATOR Iterator,
|
||||
|
@ -1227,6 +1392,12 @@ RtlGetNextRange (IN OUT PRTL_RANGE_LIST_ITERATOR Iterator,
|
|||
OUT PRTL_RANGE *Range,
|
||||
IN BOOLEAN MoveForwards);
|
||||
|
||||
ULONG
|
||||
STDCALL
|
||||
RtlGetNtGlobalFlags (
|
||||
VOID
|
||||
);
|
||||
|
||||
NTSTATUS STDCALL
|
||||
RtlGetOwnerSecurityDescriptor (PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||
PSID* Owner,
|
||||
|
@ -1238,10 +1409,30 @@ RtlGetSaclSecurityDescriptor (PSECURITY_DESCRIPTOR SecurityDescriptor,
|
|||
PACL* Sacl,
|
||||
PBOOLEAN SaclDefaulted);
|
||||
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
RtlGetSetBootStatusData(
|
||||
HANDLE Filehandle,
|
||||
BOOLEAN WriteMode,
|
||||
DWORD DataClass,
|
||||
PVOID Buffer,
|
||||
ULONG BufferSize,
|
||||
DWORD DataClass2
|
||||
);
|
||||
|
||||
NTSTATUS STDCALL
|
||||
RtlGUIDFromString (IN PUNICODE_STRING GuidString,
|
||||
OUT GUID* Guid);
|
||||
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
RtlHashUnicodeString(
|
||||
IN const UNICODE_STRING *String,
|
||||
IN BOOLEAN CaseInSensitive,
|
||||
IN ULONG HashAlgorithm,
|
||||
OUT PULONG HashValue
|
||||
);
|
||||
|
||||
PSID_IDENTIFIER_AUTHORITY STDCALL
|
||||
RtlIdentifierAuthoritySid (PSID Sid);
|
||||
|
||||
|
@ -1291,6 +1482,12 @@ RtlInitCodePageTable (
|
|||
OUT PCPTABLEINFO CodePageTable
|
||||
);
|
||||
|
||||
VOID
|
||||
STDCALL
|
||||
RtlInitializeUnicodePrefix (
|
||||
PUNICODE_PREFIX_TABLE PrefixTable
|
||||
);
|
||||
|
||||
NTSTATUS STDCALL
|
||||
RtlInitializeSid (PSID Sid,
|
||||
PSID_IDENTIFIER_AUTHORITY IdentifierAuthority,
|
||||
|
@ -1340,11 +1537,21 @@ RtlInitializeContext (
|
|||
VOID
|
||||
STDCALL
|
||||
RtlInitializeGenericTable (
|
||||
IN OUT PRTL_GENERIC_TABLE Table,
|
||||
IN PVOID CompareRoutine,
|
||||
IN PVOID AllocateRoutine,
|
||||
IN PVOID FreeRoutine,
|
||||
IN ULONG UserParameter
|
||||
PRTL_GENERIC_TABLE Table,
|
||||
PRTL_GENERIC_COMPARE_ROUTINE CompareRoutine,
|
||||
PRTL_GENERIC_ALLOCATE_ROUTINE AllocateRoutine,
|
||||
PRTL_GENERIC_FREE_ROUTINE FreeRoutine,
|
||||
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
|
||||
|
@ -1353,10 +1560,57 @@ RtlInitializeRangeList (IN OUT PRTL_RANGE_LIST RangeList);
|
|||
PVOID
|
||||
STDCALL
|
||||
RtlInsertElementGenericTable (
|
||||
IN OUT PRTL_GENERIC_TABLE Table,
|
||||
IN PVOID Element,
|
||||
IN ULONG ElementSize,
|
||||
IN ULONG Unknown4
|
||||
PRTL_GENERIC_TABLE Table,
|
||||
PVOID Buffer,
|
||||
ULONG BufferSize,
|
||||
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
|
||||
|
@ -1380,8 +1634,154 @@ NTSTATUS STDCALL
|
|||
RtlInvertRangeList (OUT PRTL_RANGE_LIST InvertedRangeList,
|
||||
IN PRTL_RANGE_LIST RangeList);
|
||||
|
||||
BOOLEAN STDCALL
|
||||
RtlIsGenericTableEmpty (IN PRTL_GENERIC_TABLE Table);
|
||||
NTSTATUS
|
||||
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
|
||||
RtlIsNameLegalDOS8Dot3 (IN PUNICODE_STRING UnicodeName,
|
||||
|
@ -1406,6 +1806,12 @@ RtlIsTextUnicode (
|
|||
ULONG *Flags
|
||||
);
|
||||
|
||||
BOOLEAN
|
||||
STDCALL
|
||||
RtlIsValidOemCharacter (
|
||||
IN PWCHAR Char
|
||||
);
|
||||
|
||||
LARGE_INTEGER
|
||||
STDCALL
|
||||
RtlLargeIntegerAdd (
|
||||
|
@ -1597,6 +2003,12 @@ RtlLengthSecurityDescriptor (PSECURITY_DESCRIPTOR SecurityDescriptor);
|
|||
ULONG STDCALL
|
||||
RtlLengthSid (PSID Sid);
|
||||
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
RtlLockBootStatusData(
|
||||
HANDLE Filehandle
|
||||
);
|
||||
|
||||
BOOL
|
||||
STDCALL
|
||||
RtlLockHeap (
|
||||
|
@ -1608,6 +2020,38 @@ RtlLookupAtomInAtomTable (IN PRTL_ATOM_TABLE AtomTable,
|
|||
IN PWSTR AtomName,
|
||||
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
|
||||
RtlMakeSelfRelativeSD (PSECURITY_DESCRIPTOR AbsSD,
|
||||
PSECURITY_DESCRIPTOR RelSD,
|
||||
|
@ -1617,6 +2061,12 @@ VOID STDCALL
|
|||
RtlMapGenericMask (PACCESS_MASK AccessMask,
|
||||
PGENERIC_MAPPING GenericMapping);
|
||||
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
RtlMapSecurityErrorToNtStatus(
|
||||
IN ULONG SecurityError
|
||||
);
|
||||
|
||||
NTSTATUS STDCALL
|
||||
RtlMergeRangeLists (OUT PRTL_RANGE_LIST MergedRangeList,
|
||||
IN PRTL_RANGE_LIST RangeList1,
|
||||
|
@ -1641,6 +2091,13 @@ RtlMultiByteToUnicodeSize (
|
|||
ULONG MbSize
|
||||
);
|
||||
|
||||
PUNICODE_PREFIX_TABLE_ENTRY
|
||||
STDCALL
|
||||
RtlNextUnicodePrefix (
|
||||
PUNICODE_PREFIX_TABLE PrefixTable,
|
||||
BOOLEAN Restart
|
||||
);
|
||||
|
||||
DWORD
|
||||
STDCALL
|
||||
RtlNtStatusToDosError (
|
||||
|
@ -1661,10 +2118,17 @@ RtlNtStatusToPsxErrno (
|
|||
|
||||
ULONG
|
||||
STDCALL
|
||||
RtlNumberGenericTableElements (
|
||||
IN PRTL_GENERIC_TABLE Table
|
||||
RtlNumberGenericTableElements(
|
||||
PRTL_GENERIC_TABLE Table
|
||||
);
|
||||
|
||||
ULONG
|
||||
STDCALL
|
||||
RtlNumberGenericTableElementsAvl (
|
||||
PRTL_AVL_TABLE Table
|
||||
);
|
||||
|
||||
|
||||
ULONG
|
||||
STDCALL
|
||||
RtlNumberOfClearBits (
|
||||
|
@ -1693,12 +2157,12 @@ RtlOemStringToUnicodeString (
|
|||
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
RtlOemToUnicodeN (
|
||||
PWCHAR UnicodeString,
|
||||
ULONG UnicodeSize,
|
||||
PULONG ResultSize,
|
||||
PCHAR OemString,
|
||||
ULONG OemSize
|
||||
RtlOemToUnicodeN(
|
||||
PWSTR UnicodeString,
|
||||
ULONG MaxBytesInUnicodeString,
|
||||
PULONG BytesInUnicodeString,
|
||||
IN PCHAR OemString,
|
||||
ULONG BytesInOemString
|
||||
);
|
||||
|
||||
NTSTATUS STDCALL
|
||||
|
@ -1707,6 +2171,13 @@ RtlPinAtomInAtomTable (
|
|||
IN RTL_ATOM Atom
|
||||
);
|
||||
|
||||
VOID
|
||||
FASTCALL
|
||||
RtlPrefetchMemoryNonTemporal(
|
||||
IN PVOID Source,
|
||||
IN SIZE_T Length
|
||||
);
|
||||
|
||||
BOOLEAN
|
||||
STDCALL
|
||||
RtlPrefixString (
|
||||
|
@ -1746,9 +2217,29 @@ RtlQueryTimeZoneInformation (IN OUT PTIME_ZONE_INFORMATION TimeZoneInformation);
|
|||
VOID STDCALL
|
||||
RtlRaiseException (IN PEXCEPTION_RECORD ExceptionRecord);
|
||||
|
||||
VOID STDCALL RtlRaiseStatus(NTSTATUS Status);
|
||||
|
||||
ULONG STDCALL
|
||||
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
|
||||
STDCALL
|
||||
RtlReAllocateHeap (
|
||||
|
@ -1758,6 +2249,13 @@ RtlReAllocateHeap (
|
|||
DWORD size
|
||||
);
|
||||
|
||||
VOID
|
||||
STDCALL
|
||||
RtlRemoveUnicodePrefix (
|
||||
PUNICODE_PREFIX_TABLE PrefixTable,
|
||||
PUNICODE_PREFIX_TABLE_ENTRY PrefixTableEntry
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
RtlReserveChunk (
|
||||
|
@ -1830,9 +2328,23 @@ RtlSelfRelativeToAbsoluteSD (PSECURITY_DESCRIPTOR RelSD,
|
|||
PSID Group,
|
||||
PULONG GroupSize);
|
||||
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
RtlSelfRelativeToAbsoluteSD2(
|
||||
PSECURITY_DESCRIPTOR SelfRelativeSecurityDescriptor,
|
||||
PULONG BufferSize
|
||||
);
|
||||
|
||||
VOID STDCALL
|
||||
RtlSetAllBits (IN PRTL_BITMAP BitMapHeader);
|
||||
|
||||
VOID
|
||||
STDCALL
|
||||
RtlSetBit (
|
||||
PRTL_BITMAP BitMapHeader,
|
||||
ULONG BitNumber
|
||||
);
|
||||
|
||||
VOID
|
||||
STDCALL
|
||||
RtlSetBits (
|
||||
|
@ -1872,12 +2384,18 @@ RtlSetInformationAcl (PACL Acl,
|
|||
NTSTATUS STDCALL
|
||||
RtlSetTimeZoneInformation (IN OUT PTIME_ZONE_INFORMATION TimeZoneInformation);
|
||||
|
||||
DWORD
|
||||
ULONG
|
||||
STDCALL
|
||||
RtlSizeHeap (
|
||||
HANDLE hheap,
|
||||
DWORD flags,
|
||||
PVOID pmem
|
||||
RtlSizeHeap(
|
||||
IN PVOID HeapHandle,
|
||||
IN ULONG Flags,
|
||||
IN PVOID MemoryPointer
|
||||
);
|
||||
|
||||
PRTL_SPLAY_LINKS
|
||||
STDCALL
|
||||
RtlSplay (
|
||||
PRTL_SPLAY_LINKS Links
|
||||
);
|
||||
|
||||
/*
|
||||
|
@ -1933,11 +2451,25 @@ RtlSubAuthoritySid (PSID Sid,
|
|||
PUCHAR STDCALL
|
||||
RtlSubAuthorityCountSid (PSID Sid);
|
||||
|
||||
PRTL_SPLAY_LINKS STDCALL
|
||||
RtlSubtreePredecessor (IN PRTL_SPLAY_LINKS Links);
|
||||
PRTL_SPLAY_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
|
||||
RtlTimeFieldsToTime (PTIME_FIELDS TimeFields,
|
||||
|
@ -1957,6 +2489,13 @@ RtlTimeToSecondsSince1980 (
|
|||
PULONG SecondsSince1980
|
||||
);
|
||||
|
||||
VOID
|
||||
STDCALL
|
||||
RtlTimeToElapsedTimeFields(
|
||||
PLARGE_INTEGER Time,
|
||||
PTIME_FIELDS TimeFields
|
||||
);
|
||||
|
||||
VOID
|
||||
STDCALL
|
||||
RtlTimeToTimeFields (
|
||||
|
@ -1964,6 +2503,7 @@ RtlTimeToTimeFields (
|
|||
PTIME_FIELDS TimeFields
|
||||
);
|
||||
|
||||
|
||||
ULONG FASTCALL
|
||||
RtlUlongByteSwap (IN ULONG Source);
|
||||
|
||||
|
@ -2062,6 +2602,12 @@ RtlUnlockHeap (
|
|||
HANDLE hheap
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
RtlUnlockBootStatusData(
|
||||
HANDLE Filehandle
|
||||
);
|
||||
|
||||
VOID
|
||||
STDCALL
|
||||
RtlUnwind (
|
||||
|
@ -2161,12 +2707,45 @@ RtlValidateHeap (
|
|||
PVOID pmem
|
||||
);
|
||||
|
||||
BOOLEAN
|
||||
STDCALL
|
||||
RtlValidRelativeSecurityDescriptor (
|
||||
IN PSECURITY_DESCRIPTOR SecurityDescriptorInput,
|
||||
IN ULONG SecurityDescriptorLength,
|
||||
IN SECURITY_INFORMATION RequiredInformation
|
||||
);
|
||||
|
||||
BOOLEAN STDCALL
|
||||
RtlValidSecurityDescriptor (IN PSECURITY_DESCRIPTOR SecurityDescriptor);
|
||||
|
||||
BOOLEAN STDCALL
|
||||
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
|
||||
STDCALL
|
||||
RtlxAnsiStringToUnicodeSize (
|
||||
|
@ -2463,3 +3042,5 @@ int wctomb (char *mbchar, wchar_t wchar);
|
|||
#endif /* __NTOSKRNL__ || __NTDRIVER__ || __NTHAL__ || __NTDLL__ || __NTAPP__ */
|
||||
|
||||
#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_MAXIMUM 0x0100
|
||||
#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
|
||||
{
|
||||
|
@ -238,23 +263,36 @@ typedef struct _NLS_FILE_HEADER
|
|||
} NLS_FILE_HEADER, *PNLS_FILE_HEADER;
|
||||
|
||||
#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
|
||||
{
|
||||
USHORT Length;
|
||||
|
@ -279,4 +317,132 @@ typedef VOID
|
|||
(STDCALL *PRTL_BASE_PROCESS_START_ROUTINE)(PTHREAD_START_ROUTINE StartAddress,
|
||||
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 */
|
||||
|
|
|
@ -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
|
||||
* PROJECT: ReactOS kernel
|
||||
|
@ -15,36 +15,6 @@
|
|||
#include <ddk/ntddk.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
|
||||
* 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
|
||||
* 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
|
||||
* PROJECT: ReactOS kernel
|
||||
|
@ -333,4 +333,18 @@ RtlIsNameLegalDOS8Dot3(IN PUNICODE_STRING UnicodeName,
|
|||
return(TRUE);
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
RtlVolumeDeviceToDosName(
|
||||
IN PVOID VolumeDeviceObject,
|
||||
OUT PUNICODE_STRING DosName
|
||||
)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
/* 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
|
||||
* PROJECT: ReactOS kernel
|
||||
|
@ -862,6 +862,18 @@ RtlAssert(PVOID FailedAssertion,
|
|||
DbgBreakPoint();
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
RtlMapSecurityErrorToNtStatus(
|
||||
IN ULONG SecurityError
|
||||
)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
/**********************************************************************
|
||||
* 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
|
||||
* PROJECT: ReactOS kernel
|
||||
|
@ -29,6 +29,33 @@
|
|||
VOID
|
||||
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
|
||||
*/
|
||||
|
@ -45,9 +72,10 @@ RtlRaiseException(PEXCEPTION_RECORD ExceptionRecord)
|
|||
|
||||
Status = ZwRaiseException(ExceptionRecord, &Context, TRUE);
|
||||
RtlRaiseException(ExceptionRecord);
|
||||
RtlRaiseStatus(Status); /* If we get to this point, something is seriously wrong... */
|
||||
RtlRaiseStatus(Status);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @implemented
|
||||
*/
|
||||
|
@ -65,4 +93,20 @@ RtlRaiseStatus(NTSTATUS Status)
|
|||
RtlRaiseException (& ExceptionRecord);
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
ULONG
|
||||
STDCALL
|
||||
RtlWalkFrameChain (
|
||||
OUT PVOID *Callers,
|
||||
IN ULONG Count,
|
||||
IN ULONG Flags
|
||||
)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
/* 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 = \
|
||||
acl.o \
|
||||
bootdata.o \
|
||||
compress.o \
|
||||
dos8dot3.o \
|
||||
env.o \
|
||||
error.o \
|
||||
heap.o \
|
||||
generictbl.o \
|
||||
largeint.o \
|
||||
luid.o \
|
||||
mem.o \
|
||||
network.o \
|
||||
nls.o \
|
||||
random.o \
|
||||
sd.o \
|
||||
|
@ -34,6 +37,7 @@ TARGET_OBJECTS = \
|
|||
encode.o \
|
||||
image.o \
|
||||
splaytree.o \
|
||||
unicodeprfx.o \
|
||||
exception.o \
|
||||
i386/exception.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
|
||||
* PROJECT: ReactOS kernel
|
||||
|
@ -144,6 +144,18 @@ RtlMoveMemory (
|
|||
);
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
VOID
|
||||
FASTCALL
|
||||
RtlPrefetchMemoryNonTemporal(
|
||||
IN PVOID Source,
|
||||
IN SIZE_T Length
|
||||
)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
}
|
||||
|
||||
/*
|
||||
* @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
|
||||
* 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
|
||||
* PROJECT: ReactOS kernel
|
||||
|
@ -26,11 +26,12 @@
|
|||
|
||||
/* INCLUDES *****************************************************************/
|
||||
|
||||
#define NTOS_MODE_USER
|
||||
#include <ntos.h>
|
||||
#include <ddk/ntddk.h>
|
||||
|
||||
//#include <ddk/ntddk.h>
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
#define MAXLONG (0x7fffffff)
|
||||
|
||||
static ULONG SavedValue[128] =
|
||||
{
|
||||
|
@ -96,6 +97,19 @@ RtlRandom (IN OUT PULONG Seed)
|
|||
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
|
||||
* PROJECT: ReactOS kernel
|
||||
|
@ -750,4 +750,35 @@ RtlSelfRelativeToAbsoluteSD(PSECURITY_DESCRIPTOR RelSD,
|
|||
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 */
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
* along with this program; if not, write to the Free Software
|
||||
* 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
|
||||
* PROJECT: ReactOS system libraries
|
||||
|
@ -26,8 +26,82 @@
|
|||
|
||||
#include <ddk/ntddk.h>
|
||||
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
|
||||
/* 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
|
||||
RtlSubtreePredecessor (IN PRTL_SPLAY_LINKS Links)
|
||||
{
|
||||
|
@ -47,7 +121,9 @@ RtlSubtreePredecessor (IN PRTL_SPLAY_LINKS Links)
|
|||
return Child;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @implemented
|
||||
*/
|
||||
PRTL_SPLAY_LINKS STDCALL
|
||||
RtlSubtreeSuccessor (IN PRTL_SPLAY_LINKS Links)
|
||||
{
|
||||
|
|
|
@ -393,6 +393,18 @@ RtlFreeUnicodeString(IN PUNICODE_STRING UnicodeString)
|
|||
UnicodeString->MaximumLength = 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
BOOLEAN
|
||||
STDCALL
|
||||
RtlIsValidOemCharacter (
|
||||
IN PWCHAR Char
|
||||
)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/*
|
||||
* @implemented
|
||||
|
@ -483,7 +495,20 @@ RtlInitUnicodeString(IN OUT PUNICODE_STRING DestinationString,
|
|||
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
|
||||
|
@ -1406,19 +1431,6 @@ RtlGUIDFromString(
|
|||
return STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
NTSTATUS STDCALL
|
||||
RtlInt64ToUnicodeString (IN ULONGLONG Value,
|
||||
IN ULONG Base,
|
||||
OUT PUNICODE_STRING String)
|
||||
{
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @implemented
|
||||
*/
|
||||
|
@ -1440,7 +1452,21 @@ RtlEraseUnicodeString(
|
|||
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
|
||||
|
|
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
|
||||
* 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
|
||||
* PURPOSE: Runtime code
|
||||
|
@ -34,6 +34,9 @@
|
|||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
/* GLOBALS ******************************************************************/
|
||||
|
||||
extern ULONG NtGlobalFlag;
|
||||
|
||||
/* FUNCTIONS ****************************************************************/
|
||||
|
||||
|
@ -65,4 +68,31 @@ RtlGetVersion(RTL_OSVERSIONINFOW *Info)
|
|||
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 */
|
||||
|
|
|
@ -135,6 +135,7 @@ VOID KeFreeGdtSelector(ULONG Entry);
|
|||
VOID
|
||||
NtEarlyInitVdm(VOID);
|
||||
|
||||
|
||||
#if defined(__GNUC__)
|
||||
#define Ke386DisableInterrupts() __asm__("cli\n\t");
|
||||
#define Ke386EnableInterrupts() __asm__("sti\n\t");
|
||||
|
|
|
@ -562,12 +562,15 @@ NtQueueApcThread(HANDLE ThreadHandle,
|
|||
PKAPC Apc;
|
||||
PETHREAD Thread;
|
||||
NTSTATUS Status;
|
||||
PVOID ThreadVar;
|
||||
|
||||
ThreadVar = &Thread;
|
||||
|
||||
Status = ObReferenceObjectByHandle(ThreadHandle,
|
||||
THREAD_ALL_ACCESS, /* FIXME */
|
||||
PsThreadType,
|
||||
UserMode,
|
||||
(PVOID*)&Thread,
|
||||
&ThreadVar,
|
||||
NULL);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
* along with this program; if not, write to the Free Software
|
||||
* 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
|
||||
* FILE: ntoskrnl/ke/catch.c
|
||||
|
@ -298,13 +298,4 @@ KeRegisterBugCheckReasonCallback(
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
/*
|
||||
* @implemented
|
||||
*/
|
||||
VOID STDCALL
|
||||
RtlRaiseException(PEXCEPTION_RECORD ExceptionRecord)
|
||||
{
|
||||
ZwRaiseException(ExceptionRecord, NULL, TRUE);
|
||||
}
|
||||
|
||||
/* 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
|
||||
;
|
||||
|
@ -763,6 +763,78 @@ READ_REGISTER_BUFFER_ULONG=READ_REGISTER_BUFFER_ULONG@12
|
|||
READ_REGISTER_BUFFER_USHORT=READ_REGISTER_BUFFER_USHORT@12
|
||||
KeRosPrintAddress=KeRosPrintAddress@4
|
||||
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
|
||||
RtlAddAccessAllowedAce=RtlAddAccessAllowedAce@16
|
||||
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
|
||||
* PROJECT: ReactOS kernel
|
||||
|
@ -10,6 +10,8 @@
|
|||
|
||||
#include <ddk/ntddk.h>
|
||||
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
#define ALIGN(x,align) (((x)+(align)-1) / (align))
|
||||
|
||||
|
@ -130,6 +132,18 @@ RtlClearAllBits (
|
|||
ALIGN(BitMapHeader->SizeOfBitMap, 8));
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
VOID
|
||||
STDCALL
|
||||
RtlClearBit (
|
||||
PRTL_BITMAP BitMapHeader,
|
||||
ULONG BitNumber
|
||||
)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
}
|
||||
|
||||
/*
|
||||
* @implemented
|
||||
|
@ -315,6 +329,51 @@ RtlFindFirstRunClear (
|
|||
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
|
||||
STDCALL
|
||||
|
@ -654,6 +713,18 @@ RtlSetAllBits (
|
|||
ALIGN(BitMapHeader->SizeOfBitMap, 8));
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
VOID
|
||||
STDCALL
|
||||
RtlSetBit (
|
||||
PRTL_BITMAP BitMapHeader,
|
||||
ULONG BitNumber
|
||||
)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
}
|
||||
|
||||
/*
|
||||
* @implemented
|
||||
|
@ -693,4 +764,17 @@ RtlSetBits (
|
|||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
BOOLEAN
|
||||
STDCALL
|
||||
RtlTestBit (
|
||||
PRTL_BITMAP BitMapHeader,
|
||||
ULONG BitNumber
|
||||
)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return FALSE;
|
||||
}
|
||||
/* EOF */
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
* along with this program; if not, write to the Free Software
|
||||
* 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
|
||||
* FILE: ntoskrnl/rtl/capture.c
|
||||
|
@ -116,5 +116,33 @@ RtlCaptureAnsiString(PANSI_STRING Dest,
|
|||
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 */
|
||||
|
||||
|
|
|
@ -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
|
||||
* PROJECT: ReactOS kernel
|
||||
|
@ -201,234 +201,4 @@ SepInitDACLs(VOID)
|
|||
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 */
|
||||
|
|
Loading…
Reference in a new issue