Added RTL Stubs, Prototypes and Exports.

svn path=/trunk/; revision=10404
This commit is contained in:
Alex Ionescu 2004-08-05 18:17:37 +00:00
parent 172a11d61b
commit 3c1d312107
25 changed files with 2139 additions and 384 deletions

View file

@ -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 (

View file

@ -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 */

View file

@ -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 */

View file

@ -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

View 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 */

View file

@ -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 */

View file

@ -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

View file

@ -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 */

View 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 */

View file

@ -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

View file

@ -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
View 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 */

View file

@ -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;
}
/*************************************************************************

View file

@ -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 */

View file

@ -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)
{

View file

@ -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

View 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 */

View file

@ -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 */

View file

@ -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");

View file

@ -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))
{

View file

@ -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 */

View file

@ -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

View file

@ -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 */

View file

@ -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 */

View file

@ -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 */