Fix some NDK issues when attempting to use it from kmode, and fix some winddk/ntifs inconsistencies aswell (move PFILE_QUOTA_INFORMATION and remove all RtlRange functions from the DDK, plus add PPEB)

svn path=/trunk/; revision=16214
This commit is contained in:
Alex Ionescu 2005-06-22 05:04:02 +00:00
parent 3e604d23e7
commit 164b25c391
9 changed files with 256 additions and 374 deletions

View file

@ -1,12 +1,10 @@
#ifndef __INCLUDE_NAPI_CORE_H #ifndef __INCLUDE_NAPI_CORE_H
#define __INCLUDE_NAPI_CORE_H #define __INCLUDE_NAPI_CORE_H
#include "../ntoskrnl/include/internal/ke.h"
#include <ddk/ntddscsi.h>
#define MM_CORE_DUMP_HEADER_MAGIC (0xdeafbead) #define MM_CORE_DUMP_HEADER_MAGIC (0xdeafbead)
#define MM_CORE_DUMP_HEADER_VERSION (0x1) #define MM_CORE_DUMP_HEADER_VERSION (0x1)
#include <ddk/ntddscsi.h>
typedef struct _MM_CORE_DUMP_HEADER typedef struct _MM_CORE_DUMP_HEADER
{ {
ULONG Magic; ULONG Magic;

View file

@ -11,6 +11,7 @@
#define _EXTYPES_H #define _EXTYPES_H
/* DEPENDENCIES **************************************************************/ /* DEPENDENCIES **************************************************************/
#include "ketypes.h"
/* EXPORTED DATA *************************************************************/ /* EXPORTED DATA *************************************************************/
extern POBJECT_TYPE NTOSAPI ExIoCompletionType; extern POBJECT_TYPE NTOSAPI ExIoCompletionType;
@ -24,6 +25,8 @@ extern NTOSAPI POBJECT_TYPE ExTimerType;
/* TYPES *********************************************************************/ /* TYPES *********************************************************************/
/* You'll need the IFS for these, so let's not force everyone to have it */
#ifdef _NTIFS_
typedef struct _EX_QUEUE_WORKER_INFO typedef struct _EX_QUEUE_WORKER_INFO
{ {
UCHAR QueueDisabled:1; UCHAR QueueDisabled:1;
@ -41,6 +44,7 @@ typedef struct _EX_WORK_QUEUE
ULONG QueueDepthLastPass; ULONG QueueDepthLastPass;
EX_QUEUE_WORKER_INFO Info; EX_QUEUE_WORKER_INFO Info;
} EX_WORK_QUEUE, *PEX_WORK_QUEUE; } EX_WORK_QUEUE, *PEX_WORK_QUEUE;
#endif
typedef struct _HANDLE_TABLE_ENTRY_INFO typedef struct _HANDLE_TABLE_ENTRY_INFO
{ {

View file

@ -10,199 +10,14 @@
#define _RTLFUNCS_H #define _RTLFUNCS_H
/* DEPENDENCIES **************************************************************/ /* DEPENDENCIES **************************************************************/
#include <ndk/rtltypes.h> #include "rtltypes.h"
#include <ndk/pstypes.h> #include "pstypes.h"
#include <ddk/ntnls.h>
/* PROTOTYPES ****************************************************************/ /* PROTOTYPES ****************************************************************/
/* FIXME: FILE NEEDS SOME ALPHABETIZING AND REGROUP */ /* FIXME: FILE NEEDS SOME ALPHABETIZING AND REGROUP */
/* List Macros */
static __inline
VOID
InitializeListHead(
IN PLIST_ENTRY ListHead)
{
ListHead->Flink = ListHead->Blink = ListHead;
}
static __inline
VOID
InsertHeadList(
IN PLIST_ENTRY ListHead,
IN PLIST_ENTRY Entry)
{
PLIST_ENTRY OldFlink;
OldFlink = ListHead->Flink;
Entry->Flink = OldFlink;
Entry->Blink = ListHead;
OldFlink->Blink = Entry;
ListHead->Flink = Entry;
}
static __inline
VOID
InsertTailList(
IN PLIST_ENTRY ListHead,
IN PLIST_ENTRY Entry)
{
PLIST_ENTRY OldBlink;
OldBlink = ListHead->Blink;
Entry->Flink = ListHead;
Entry->Blink = OldBlink;
OldBlink->Flink = Entry;
ListHead->Blink = Entry;
}
#define IsListEmpty(ListHead) \
((ListHead)->Flink == (ListHead))
#define PopEntryList(ListHead) \
(ListHead)->Next; \
{ \
PSINGLE_LIST_ENTRY _FirstEntry; \
_FirstEntry = (ListHead)->Next; \
if (_FirstEntry != NULL) \
(ListHead)->Next = _FirstEntry->Next; \
}
#define PushEntryList(_ListHead, _Entry) \
(_Entry)->Next = (_ListHead)->Next; \
(_ListHead)->Next = (_Entry); \
static __inline
BOOLEAN
RemoveEntryList(
IN PLIST_ENTRY Entry)
{
PLIST_ENTRY OldFlink;
PLIST_ENTRY OldBlink;
OldFlink = Entry->Flink;
OldBlink = Entry->Blink;
OldFlink->Blink = OldBlink;
OldBlink->Flink = OldFlink;
return (OldFlink == OldBlink);
}
static __inline
PLIST_ENTRY
RemoveHeadList(
IN PLIST_ENTRY ListHead)
{
PLIST_ENTRY Flink;
PLIST_ENTRY Entry;
Entry = ListHead->Flink;
Flink = Entry->Flink;
ListHead->Flink = Flink;
Flink->Blink = ListHead;
return Entry;
}
static __inline
PLIST_ENTRY
RemoveTailList(
IN PLIST_ENTRY ListHead)
{
PLIST_ENTRY Blink;
PLIST_ENTRY Entry;
Entry = ListHead->Blink;
Blink = Entry->Blink;
ListHead->Blink = Blink;
Blink->Flink = ListHead;
return Entry;
}
#define IsFirstEntry(ListHead, Entry) \
((ListHead)->Flink == Entry)
#define IsLastEntry(ListHead, Entry) \
((ListHead)->Blink == Entry)
#define InsertAscendingListFIFO(ListHead, Type, ListEntryField, NewEntry, SortField)\
{\
PLIST_ENTRY current;\
\
current = (ListHead)->Flink;\
while (current != (ListHead))\
{\
if (CONTAINING_RECORD(current, Type, ListEntryField)->SortField >\
(NewEntry)->SortField)\
{\
break;\
}\
current = current->Flink;\
}\
\
InsertTailList(current, &((NewEntry)->ListEntryField));\
}
#define InsertDescendingListFIFO(ListHead, Type, ListEntryField, NewEntry, SortField)\
{\
PLIST_ENTRY current;\
\
current = (ListHead)->Flink;\
while (current != (ListHead))\
{\
if (CONTAINING_RECORD(current, Type, ListEntryField)->SortField <\
(NewEntry)->SortField)\
{\
break;\
}\
current = current->Flink;\
}\
\
InsertTailList(current, &((NewEntry)->ListEntryField));\
}
#define InsertAscendingList(ListHead, Type, ListEntryField, NewEntry, SortField)\
{\
PLIST_ENTRY current;\
\
current = (ListHead)->Flink;\
while (current != (ListHead))\
{\
if (CONTAINING_RECORD(current, Type, ListEntryField)->SortField >=\
(NewEntry)->SortField)\
{\
break;\
}\
current = current->Flink;\
}\
\
InsertTailList(current, &((NewEntry)->ListEntryField));\
}
#define InsertDescendingList(ListHead, Type, ListEntryField, NewEntry, SortField)\
{\
PLIST_ENTRY current;\
\
current = (ListHead)->Flink;\
while (current != (ListHead))\
{\
if (CONTAINING_RECORD(current, Type, ListEntryField)->SortField <=\
(NewEntry)->SortField)\
{\
break;\
}\
current = current->Flink;\
}\
\
InsertTailList(current, &((NewEntry)->ListEntryField));\
}
/*
* Constant String Macro
*/
#define RTL_CONSTANT_STRING(__SOURCE_STRING__) \
{ \
sizeof(__SOURCE_STRING__) - sizeof((__SOURCE_STRING__)[0]), \
sizeof(__SOURCE_STRING__), \
(__SOURCE_STRING__) \
}
/* /*
* Error and Exception Functions * Error and Exception Functions
*/ */

View file

@ -381,6 +381,12 @@ typedef struct _RTL_ATOM_TABLE
SYSTEMTIME DaylightDate; SYSTEMTIME DaylightDate;
LONG DaylightBias; LONG DaylightBias;
} TIME_ZONE_INFORMATION, *PTIME_ZONE_INFORMATION, *LPTIME_ZONE_INFORMATION; } TIME_ZONE_INFORMATION, *PTIME_ZONE_INFORMATION, *LPTIME_ZONE_INFORMATION;
typedef enum _ACL_INFORMATION_CLASS
{
AclRevisionInformation = 1,
AclSizeInformation
} ACL_INFORMATION_CLASS;
#endif #endif
#endif #endif

View file

@ -184,6 +184,192 @@
#define VER_CONDITION_MASK 7 #define VER_CONDITION_MASK 7
#define VER_NUM_BITS_PER_CONDITION_MASK 3 #define VER_NUM_BITS_PER_CONDITION_MASK 3
/* List Macros */
static __inline
VOID
InitializeListHead(
IN PLIST_ENTRY ListHead)
{
ListHead->Flink = ListHead->Blink = ListHead;
}
static __inline
VOID
InsertHeadList(
IN PLIST_ENTRY ListHead,
IN PLIST_ENTRY Entry)
{
PLIST_ENTRY OldFlink;
OldFlink = ListHead->Flink;
Entry->Flink = OldFlink;
Entry->Blink = ListHead;
OldFlink->Blink = Entry;
ListHead->Flink = Entry;
}
static __inline
VOID
InsertTailList(
IN PLIST_ENTRY ListHead,
IN PLIST_ENTRY Entry)
{
PLIST_ENTRY OldBlink;
OldBlink = ListHead->Blink;
Entry->Flink = ListHead;
Entry->Blink = OldBlink;
OldBlink->Flink = Entry;
ListHead->Blink = Entry;
}
#define IsListEmpty(ListHead) \
((ListHead)->Flink == (ListHead))
#define PopEntryList(ListHead) \
(ListHead)->Next; \
{ \
PSINGLE_LIST_ENTRY _FirstEntry; \
_FirstEntry = (ListHead)->Next; \
if (_FirstEntry != NULL) \
(ListHead)->Next = _FirstEntry->Next; \
}
#define PushEntryList(_ListHead, _Entry) \
(_Entry)->Next = (_ListHead)->Next; \
(_ListHead)->Next = (_Entry); \
static __inline
BOOLEAN
RemoveEntryList(
IN PLIST_ENTRY Entry)
{
PLIST_ENTRY OldFlink;
PLIST_ENTRY OldBlink;
OldFlink = Entry->Flink;
OldBlink = Entry->Blink;
OldFlink->Blink = OldBlink;
OldBlink->Flink = OldFlink;
return (OldFlink == OldBlink);
}
static __inline
PLIST_ENTRY
RemoveHeadList(
IN PLIST_ENTRY ListHead)
{
PLIST_ENTRY Flink;
PLIST_ENTRY Entry;
Entry = ListHead->Flink;
Flink = Entry->Flink;
ListHead->Flink = Flink;
Flink->Blink = ListHead;
return Entry;
}
static __inline
PLIST_ENTRY
RemoveTailList(
IN PLIST_ENTRY ListHead)
{
PLIST_ENTRY Blink;
PLIST_ENTRY Entry;
Entry = ListHead->Blink;
Blink = Entry->Blink;
ListHead->Blink = Blink;
Blink->Flink = ListHead;
return Entry;
}
#define IsFirstEntry(ListHead, Entry) \
((ListHead)->Flink == Entry)
#define IsLastEntry(ListHead, Entry) \
((ListHead)->Blink == Entry)
#define InsertAscendingListFIFO(ListHead, Type, ListEntryField, NewEntry, SortField)\
{\
PLIST_ENTRY current;\
\
current = (ListHead)->Flink;\
while (current != (ListHead))\
{\
if (CONTAINING_RECORD(current, Type, ListEntryField)->SortField >\
(NewEntry)->SortField)\
{\
break;\
}\
current = current->Flink;\
}\
\
InsertTailList(current, &((NewEntry)->ListEntryField));\
}
#define InsertDescendingListFIFO(ListHead, Type, ListEntryField, NewEntry, SortField)\
{\
PLIST_ENTRY current;\
\
current = (ListHead)->Flink;\
while (current != (ListHead))\
{\
if (CONTAINING_RECORD(current, Type, ListEntryField)->SortField <\
(NewEntry)->SortField)\
{\
break;\
}\
current = current->Flink;\
}\
\
InsertTailList(current, &((NewEntry)->ListEntryField));\
}
#define InsertAscendingList(ListHead, Type, ListEntryField, NewEntry, SortField)\
{\
PLIST_ENTRY current;\
\
current = (ListHead)->Flink;\
while (current != (ListHead))\
{\
if (CONTAINING_RECORD(current, Type, ListEntryField)->SortField >=\
(NewEntry)->SortField)\
{\
break;\
}\
current = current->Flink;\
}\
\
InsertTailList(current, &((NewEntry)->ListEntryField));\
}
#define InsertDescendingList(ListHead, Type, ListEntryField, NewEntry, SortField)\
{\
PLIST_ENTRY current;\
\
current = (ListHead)->Flink;\
while (current != (ListHead))\
{\
if (CONTAINING_RECORD(current, Type, ListEntryField)->SortField <=\
(NewEntry)->SortField)\
{\
break;\
}\
current = current->Flink;\
}\
\
InsertTailList(current, &((NewEntry)->ListEntryField));\
}
/*
* Constant String Macro
*/
#define RTL_CONSTANT_STRING(__SOURCE_STRING__) \
{ \
sizeof(__SOURCE_STRING__) - sizeof((__SOURCE_STRING__)[0]), \
sizeof(__SOURCE_STRING__), \
(__SOURCE_STRING__) \
}
/* ENUMERATIONS **************************************************************/ /* ENUMERATIONS **************************************************************/
/* Kernel Shared Data Values */ /* Kernel Shared Data Values */
@ -283,23 +469,6 @@ typedef enum _INTERFACE_TYPE
MaximumInterfaceType MaximumInterfaceType
}INTERFACE_TYPE, *PINTERFACE_TYPE; }INTERFACE_TYPE, *PINTERFACE_TYPE;
typedef enum _PNP_VETO_TYPE
{
PNP_VetoTypeUnknown,
PNP_VetoLegacyDevice,
PNP_VetoPendingClose,
PNP_VetoWindowsApp,
PNP_VetoWindowsService,
PNP_VetoOutstandingOpen,
PNP_VetoDevice,
PNP_VetoDriver,
PNP_VetoIllegalDeviceRequest,
PNP_VetoInsufficientPower,
PNP_VetoNonDisableable,
PNP_VetoLegacyDriver,
PNP_VetoInsufficientRights
} PNP_VETO_TYPE, *PPNP_VETO_TYPE;
typedef enum _MODE typedef enum _MODE
{ {
KernelMode, KernelMode,

View file

@ -11,6 +11,7 @@
/* DEPENDENCIES **************************************************************/ /* DEPENDENCIES **************************************************************/
#include "rtltypes.h" #include "rtltypes.h"
#include <ddk/cfg.h>
/* EXPORTED DATA *************************************************************/ /* EXPORTED DATA *************************************************************/
@ -92,6 +93,8 @@ typedef enum _SYSTEM_DOCK_STATE
/* /*
* Process (extra ones not defined in DDK) * Process (extra ones not defined in DDK)
*/ */
/* FIXME: Temporary hack until all KMODE stuf are NDK */
#ifndef __WINDDK_H
typedef enum _PROCESS_INFORMATION_FLAGS typedef enum _PROCESS_INFORMATION_FLAGS
{ {
ProcessUnknown33 = 33, ProcessUnknown33 = 33,
@ -99,6 +102,7 @@ typedef enum _PROCESS_INFORMATION_FLAGS
ProcessUnknown35, ProcessUnknown35,
ProcessCookie ProcessCookie
} PROCESS_INFORMATION_FLAGS; } PROCESS_INFORMATION_FLAGS;
#endif
/* /*
* System * System

View file

@ -40,6 +40,7 @@
#define VER_NT_SERVER 0x0000003 #define VER_NT_SERVER 0x0000003
*/ */
typedef struct _CONTROLLER_OBJECT typedef struct _CONTROLLER_OBJECT
{ {
CSHORT Type; CSHORT Type;
@ -440,4 +441,44 @@ typedef NTSTATUS
(*PHEAP_ENUMERATION_ROUTINE)(IN PVOID HeapHandle, (*PHEAP_ENUMERATION_ROUTINE)(IN PVOID HeapHandle,
IN PVOID UserParam); IN PVOID UserParam);
#define RTL_RANGE_LIST_ADD_IF_CONFLICT 0x00000001
#define RTL_RANGE_LIST_ADD_SHARED 0x00000002
#define RTL_RANGE_LIST_SHARED_OK 0x00000001
#define RTL_RANGE_LIST_NULL_CONFLICT_OK 0x00000002
#define RTL_RANGE_LIST_MERGE_IF_CONFLICT RTL_RANGE_LIST_ADD_IF_CONFLICT
typedef struct _RTL_RANGE {
ULONGLONG Start;
ULONGLONG End;
PVOID UserData;
PVOID Owner;
UCHAR Attributes;
UCHAR Flags;
} RTL_RANGE, *PRTL_RANGE;
#define RTL_RANGE_SHARED 0x01
#define RTL_RANGE_CONFLICT 0x02
typedef struct _RTL_RANGE_LIST {
LIST_ENTRY ListHead;
ULONG Flags;
ULONG Count;
ULONG Stamp;
} RTL_RANGE_LIST, *PRTL_RANGE_LIST;
typedef struct _RANGE_LIST_ITERATOR {
PLIST_ENTRY RangeListHead;
PLIST_ENTRY MergedHead;
PVOID Current;
ULONG Stamp;
} RTL_RANGE_LIST_ITERATOR, *PRTL_RANGE_LIST_ITERATOR;
typedef BOOLEAN
(STDCALL *PRTL_CONFLICT_RANGE_CALLBACK)(
IN PVOID Context,
IN PRTL_RANGE Range);
#endif /* __DDK_RTLTYPES_H */ #endif /* __DDK_RTLTYPES_H */

View file

@ -1163,16 +1163,6 @@ typedef struct _FILE_PIPE_WAIT_FOR_BUFFER {
WCHAR Name[1]; WCHAR Name[1];
} FILE_PIPE_WAIT_FOR_BUFFER, *PFILE_PIPE_WAIT_FOR_BUFFER; } FILE_PIPE_WAIT_FOR_BUFFER, *PFILE_PIPE_WAIT_FOR_BUFFER;
typedef struct _FILE_QUOTA_INFORMATION {
ULONG NextEntryOffset;
ULONG SidLength;
LARGE_INTEGER ChangeTime;
LARGE_INTEGER QuotaUsed;
LARGE_INTEGER QuotaThreshold;
LARGE_INTEGER QuotaLimit;
SID Sid;
} FILE_QUOTA_INFORMATION, *PFILE_QUOTA_INFORMATION;
typedef struct _FILE_RENAME_INFORMATION { typedef struct _FILE_RENAME_INFORMATION {
BOOLEAN ReplaceIfExists; BOOLEAN ReplaceIfExists;
HANDLE RootDirectory; HANDLE RootDirectory;

View file

@ -186,6 +186,7 @@ typedef struct _HAL_DISPATCH_TABLE *PHAL_DISPATCH_TABLE;
typedef struct _HAL_PRIVATE_DISPATCH_TABLE *PHAL_PRIVATE_DISPATCH_TABLE; typedef struct _HAL_PRIVATE_DISPATCH_TABLE *PHAL_PRIVATE_DISPATCH_TABLE;
typedef struct _DEVICE_HANDLER_OBJECT *PDEVICE_HANDLER_OBJECT; typedef struct _DEVICE_HANDLER_OBJECT *PDEVICE_HANDLER_OBJECT;
typedef struct _BUS_HANDLER *PBUS_HANDLER; typedef struct _BUS_HANDLER *PBUS_HANDLER;
typedef struct _PEB *PPEB;
typedef struct _ADAPTER_OBJECT *PADAPTER_OBJECT; typedef struct _ADAPTER_OBJECT *PADAPTER_OBJECT;
/* Constants */ /* Constants */
@ -2513,6 +2514,16 @@ typedef struct _FILE_DISPOSITION_INFORMATION {
BOOLEAN DeleteFile; BOOLEAN DeleteFile;
} FILE_DISPOSITION_INFORMATION, *PFILE_DISPOSITION_INFORMATION; } FILE_DISPOSITION_INFORMATION, *PFILE_DISPOSITION_INFORMATION;
typedef struct _FILE_QUOTA_INFORMATION {
ULONG NextEntryOffset;
ULONG SidLength;
LARGE_INTEGER ChangeTime;
LARGE_INTEGER QuotaUsed;
LARGE_INTEGER QuotaThreshold;
LARGE_INTEGER QuotaLimit;
SID Sid;
} FILE_QUOTA_INFORMATION, *PFILE_QUOTA_INFORMATION;
typedef struct _FILE_END_OF_FILE_INFORMATION { typedef struct _FILE_END_OF_FILE_INFORMATION {
LARGE_INTEGER EndOfFile; LARGE_INTEGER EndOfFile;
} FILE_END_OF_FILE_INFORMATION, *PFILE_END_OF_FILE_INFORMATION; } FILE_END_OF_FILE_INFORMATION, *PFILE_END_OF_FILE_INFORMATION;
@ -4372,45 +4383,6 @@ typedef struct _DRIVER_VERIFIER_THUNK_PAIRS {
#define DRIVER_VERIFIER_TRACK_POOL_ALLOCATIONS 0x0008 #define DRIVER_VERIFIER_TRACK_POOL_ALLOCATIONS 0x0008
#define DRIVER_VERIFIER_IO_CHECKING 0x0010 #define DRIVER_VERIFIER_IO_CHECKING 0x0010
#define RTL_RANGE_LIST_ADD_IF_CONFLICT 0x00000001
#define RTL_RANGE_LIST_ADD_SHARED 0x00000002
#define RTL_RANGE_LIST_SHARED_OK 0x00000001
#define RTL_RANGE_LIST_NULL_CONFLICT_OK 0x00000002
#define RTL_RANGE_LIST_MERGE_IF_CONFLICT RTL_RANGE_LIST_ADD_IF_CONFLICT
typedef struct _RTL_RANGE {
ULONGLONG Start;
ULONGLONG End;
PVOID UserData;
PVOID Owner;
UCHAR Attributes;
UCHAR Flags;
} RTL_RANGE, *PRTL_RANGE;
#define RTL_RANGE_SHARED 0x01
#define RTL_RANGE_CONFLICT 0x02
typedef struct _RTL_RANGE_LIST {
LIST_ENTRY ListHead;
ULONG Flags;
ULONG Count;
ULONG Stamp;
} RTL_RANGE_LIST, *PRTL_RANGE_LIST;
typedef struct _RANGE_LIST_ITERATOR {
PLIST_ENTRY RangeListHead;
PLIST_ENTRY MergedHead;
PVOID Current;
ULONG Stamp;
} RTL_RANGE_LIST_ITERATOR, *PRTL_RANGE_LIST_ITERATOR;
typedef BOOLEAN
(DDKAPI *PRTL_CONFLICT_RANGE_CALLBACK)(
IN PVOID Context,
IN PRTL_RANGE Range);
#define HASH_STRING_ALGORITHM_DEFAULT 0 #define HASH_STRING_ALGORITHM_DEFAULT 0
#define HASH_STRING_ALGORITHM_X65599 1 #define HASH_STRING_ALGORITHM_X65599 1
#define HASH_STRING_ALGORITHM_INVALID 0xffffffff #define HASH_STRING_ALGORITHM_INVALID 0xffffffff
@ -4912,18 +4884,6 @@ DDKAPI
RtlAnsiStringToUnicodeSize( RtlAnsiStringToUnicodeSize(
IN PANSI_STRING AnsiString); IN PANSI_STRING AnsiString);
NTOSAPI
NTSTATUS
DDKAPI
RtlAddRange(
IN OUT PRTL_RANGE_LIST RangeList,
IN ULONGLONG Start,
IN ULONGLONG End,
IN UCHAR Attributes,
IN ULONG Flags,
IN PVOID UserData OPTIONAL,
IN PVOID Owner OPTIONAL);
NTOSAPI NTOSAPI
NTSTATUS NTSTATUS
DDKAPI DDKAPI
@ -5077,13 +5037,6 @@ RtlCopyMemory32(
IN CONST VOID UNALIGNED *Source, IN CONST VOID UNALIGNED *Source,
IN ULONG Length); IN ULONG Length);
NTOSAPI
NTSTATUS
DDKAPI
RtlCopyRangeList(
OUT PRTL_RANGE_LIST CopyRangeList,
IN PRTL_RANGE_LIST RangeList);
NTOSAPI NTOSAPI
VOID VOID
DDKAPI DDKAPI
@ -5112,22 +5065,6 @@ RtlCreateSecurityDescriptor(
IN OUT PSECURITY_DESCRIPTOR SecurityDescriptor, IN OUT PSECURITY_DESCRIPTOR SecurityDescriptor,
IN ULONG Revision); IN ULONG Revision);
NTOSAPI
NTSTATUS
DDKAPI
RtlDeleteOwnersRanges(
IN OUT PRTL_RANGE_LIST RangeList,
IN PVOID Owner);
NTOSAPI
NTSTATUS
DDKAPI
RtlDeleteRange(
IN OUT PRTL_RANGE_LIST RangeList,
IN ULONGLONG Start,
IN ULONGLONG End,
IN PVOID Owner);
NTOSAPI NTOSAPI
NTSTATUS NTSTATUS
DDKAPI DDKAPI
@ -5254,21 +5191,6 @@ RtlFindNextForwardRunClear(
IN ULONG FromIndex, IN ULONG FromIndex,
OUT PULONG StartingRunIndex); OUT PULONG StartingRunIndex);
NTOSAPI
NTSTATUS
DDKAPI
RtlFindRange(
IN PRTL_RANGE_LIST RangeList,
IN ULONGLONG Minimum,
IN ULONGLONG Maximum,
IN ULONG Length,
IN ULONG Alignment,
IN ULONG Flags,
IN UCHAR AttributeAvailableMask,
IN PVOID Context OPTIONAL,
IN PRTL_CONFLICT_RANGE_CALLBACK Callback OPTIONAL,
OUT PULONGLONG Start);
NTOSAPI NTOSAPI
ULONG ULONG
DDKAPI DDKAPI
@ -5291,12 +5213,6 @@ DDKAPI
RtlFreeAnsiString( RtlFreeAnsiString(
IN PANSI_STRING AnsiString); IN PANSI_STRING AnsiString);
NTOSAPI
VOID
DDKAPI
RtlFreeRangeList(
IN PRTL_RANGE_LIST RangeList);
NTOSAPI NTOSAPI
VOID VOID
DDKAPI DDKAPI
@ -5316,32 +5232,6 @@ DDKAPI
RtlGetVersion( RtlGetVersion(
IN OUT PRTL_OSVERSIONINFOW lpVersionInformation); IN OUT PRTL_OSVERSIONINFOW lpVersionInformation);
NTOSAPI
NTSTATUS
DDKAPI
RtlGetFirstRange(
IN PRTL_RANGE_LIST RangeList,
OUT PRTL_RANGE_LIST_ITERATOR Iterator,
OUT PRTL_RANGE *Range);
NTOSAPI
NTSTATUS
DDKAPI
RtlGetNextRange(
IN OUT PRTL_RANGE_LIST_ITERATOR Iterator,
OUT PRTL_RANGE *Range,
IN BOOLEAN MoveForwards);
#define FOR_ALL_RANGES(RangeList, Iterator, Current) \
for (RtlGetFirstRange((RangeList), (Iterator), &(Current)); \
(Current) != NULL; \
RtlGetNextRange((Iterator), &(Current), TRUE))
#define FOR_ALL_RANGES_BACKWARDS(RangeList, Iterator, Current) \
for (RtlGetLastRange((RangeList), (Iterator), &(Current)); \
(Current) != NULL; \
RtlGetNextRange((Iterator), &(Current), FALSE))
NTOSAPI NTOSAPI
NTSTATUS NTSTATUS
DDKAPI DDKAPI
@ -5373,12 +5263,6 @@ RtlInitializeBitMap(
IN PULONG BitMapBuffer, IN PULONG BitMapBuffer,
IN ULONG SizeOfBitMap); IN ULONG SizeOfBitMap);
NTOSAPI
VOID
DDKAPI
RtlInitializeRangeList(
IN OUT PRTL_RANGE_LIST RangeList);
NTOSAPI NTOSAPI
VOID VOID
DDKAPI DDKAPI
@ -5417,26 +5301,6 @@ RtlIntPtrToUnicodeString(
ULONG Base OPTIONAL, ULONG Base OPTIONAL,
PUNICODE_STRING String); PUNICODE_STRING String);
NTOSAPI
NTSTATUS
DDKAPI
RtlInvertRangeList(
OUT PRTL_RANGE_LIST InvertedRangeList,
IN PRTL_RANGE_LIST RangeList);
NTOSAPI
NTSTATUS
DDKAPI
RtlIsRangeAvailable(
IN PRTL_RANGE_LIST RangeList,
IN ULONGLONG Start,
IN ULONGLONG End,
IN ULONG Flags,
IN UCHAR AttributeAvailableMask,
IN PVOID Context OPTIONAL,
IN PRTL_CONFLICT_RANGE_CALLBACK Callback OPTIONAL,
OUT PBOOLEAN Available);
/* /*
* BOOLEAN * BOOLEAN
* RtlIsZeroLuid( * RtlIsZeroLuid(
@ -5458,15 +5322,6 @@ RtlMapGenericMask(
IN OUT PACCESS_MASK AccessMask, IN OUT PACCESS_MASK AccessMask,
IN PGENERIC_MAPPING GenericMapping); IN PGENERIC_MAPPING GenericMapping);
NTOSAPI
NTSTATUS
DDKAPI
RtlMergeRangeLists(
OUT PRTL_RANGE_LIST MergedRangeList,
IN PRTL_RANGE_LIST RangeList1,
IN PRTL_RANGE_LIST RangeList2,
IN ULONG Flags);
/* /*
* VOID * VOID
* RtlMoveMemory( * RtlMoveMemory(