-/* $Id: ntddk.h,v 1.25 2001/08/27 01:18:57 ekohl Exp $
+/* $Id: ntddk.h,v 1.26 2002/01/14 01:41:08 ekohl Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
#include <ddk/ldrtypes.h>
#include <ddk/zwtypes.h>
#include <ddk/ioctrl.h>
-#include <ddk/rtl.h>
+#include <ddk/rtltypes.h>
#include <ddk/haltypes.h>
#include <ddk/zw.h>
+#include <ddk/rtl.h>
#include <ddk/dbgfuncs.h>
#include <ddk/ldrfuncs.h>
#include <ddk/cmfuncs.h>
-/* $Id: rtl.h,v 1.58 2001/09/24 00:51:15 chorns Exp $
+/* $Id: rtl.h,v 1.59 2002/01/14 01:41:08 ekohl Exp $
*
*/
#include <pe.h>
-typedef struct _INITIAL_TEB
-{
- ULONG StackCommit;
- ULONG StackReserve;
- PVOID StackBase;
- PVOID StackLimit;
- PVOID StackAllocate;
-} INITIAL_TEB, *PINITIAL_TEB;
-
-typedef struct _CONTROLLER_OBJECT
-{
- CSHORT Type;
- CSHORT Size;
- PVOID ControllerExtension;
- KDEVICE_QUEUE DeviceWaitQueue;
- ULONG Spare1;
- LARGE_INTEGER Spare2;
-} CONTROLLER_OBJECT, *PCONTROLLER_OBJECT;
-
-typedef struct _STRING
-{
- /*
- * Length in bytes of the string stored in buffer
- */
- USHORT Length;
-
- /*
- * Maximum length of the string
- */
- USHORT MaximumLength;
-
- /*
- * String
- */
- PCHAR Buffer;
-} STRING, *PSTRING;
-
-typedef STRING ANSI_STRING;
-typedef PSTRING PANSI_STRING;
-
-typedef STRING OEM_STRING;
-typedef PSTRING POEM_STRING;
-
-
-typedef struct _TIME_FIELDS
-{
- CSHORT Year;
- CSHORT Month;
- CSHORT Day;
- CSHORT Hour;
- CSHORT Minute;
- CSHORT Second;
- CSHORT Milliseconds;
- CSHORT Weekday;
-} TIME_FIELDS, *PTIME_FIELDS;
-
-typedef struct _RTL_BITMAP
-{
- ULONG SizeOfBitMap;
- PULONG Buffer;
-} RTL_BITMAP, *PRTL_BITMAP;
-
-typedef struct {
- ULONG Length;
- ULONG Unknown[11];
-} RTL_HEAP_DEFINITION, *PRTL_HEAP_DEFINITION;
-
-typedef struct _RTL_ATOM_TABLE
-{
- ULONG TableSize;
- ULONG NumberOfAtoms;
- PVOID Lock; /* fast mutex (kernel mode)/ critical section (user mode) */
- PVOID HandleTable;
- LIST_ENTRY Slot[0];
-} RTL_ATOM_TABLE, *PRTL_ATOM_TABLE;
-
-struct _LB_RANGE
-{
- ULONG dummy;
-};
-
-typedef struct _RTL_NLS_DATA
-{
- USHORT CodePage;
- USHORT MaxCharacterSize; // SBCS = 1, DBCS = 2
- WCHAR DefaultCharacter;
- WCHAR char1;
- WCHAR char2;
- WCHAR char3;
- USHORT DbcsFlag;
- struct _LB_RANGE LeadByteRange[6];
- USHORT reserved;
- PWCHAR MultiByteToUnicode;
- PCHAR UnicodeToMultiByte;
- ULONG unknown;
- PCHAR DbcsTags;
-} RTL_NLS_DATA, *PRTL_NLS_DATA;
-
-
-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;
- USHORT Flags;
- UCHAR Text[1];
-} RTL_MESSAGE_RESOURCE_ENTRY, *PRTL_MESSAGE_RESOURCE_ENTRY;
-
-typedef struct _RTL_MESSAGE_RESOURCE_BLOCK
-{
- ULONG LowId;
- ULONG HighId;
- ULONG OffsetToEntries;
-} RTL_MESSAGE_RESOURCE_BLOCK, *PRTL_MESSAGE_RESOURCE_BLOCK;
-
-typedef struct _RTL_MESSAGE_RESOURCE_DATA
-{
- ULONG NumberOfBlocks;
- RTL_MESSAGE_RESOURCE_BLOCK Blocks[1];
-} RTL_MESSAGE_RESOURCE_DATA, *PRTL_MESSAGE_RESOURCE_DATA;
/*
#define RTL_QUERY_REGISTRY_DELETE (0x00000040)
-typedef NTSTATUS STDCALL
-(*PRTL_QUERY_REGISTRY_ROUTINE)(PWSTR ValueName,
- ULONG ValueType,
- PVOID ValueData,
- ULONG ValueLength,
- PVOID Context,
- PVOID EntryContext);
-
-typedef struct _RTL_QUERY_REGISTRY_TABLE
-{
- PRTL_QUERY_REGISTRY_ROUTINE QueryRoutine;
- ULONG Flags;
- PWSTR Name;
- PVOID EntryContext;
- ULONG DefaultType;
- PVOID DefaultData;
- ULONG DefaultLength;
-} RTL_QUERY_REGISTRY_TABLE, *PRTL_QUERY_REGISTRY_TABLE;
-
/*
* PURPOSE: Used with RtlCheckRegistryKey, RtlCreateRegistryKey,
* RtlDeleteRegistryKey
--- /dev/null
+/* $Id: rtltypes.h,v 1.1 2002/01/14 01:41:08 ekohl Exp $
+ *
+ */
+
+#ifndef __DDK_RTLTYPES_H
+#define __DDK_RTLTYPES_H
+
+typedef struct _INITIAL_TEB
+{
+ ULONG StackCommit;
+ ULONG StackReserve;
+ PVOID StackBase;
+ PVOID StackLimit;
+ PVOID StackAllocate;
+} INITIAL_TEB, *PINITIAL_TEB;
+
+typedef struct _CONTROLLER_OBJECT
+{
+ CSHORT Type;
+ CSHORT Size;
+ PVOID ControllerExtension;
+ KDEVICE_QUEUE DeviceWaitQueue;
+ ULONG Spare1;
+ LARGE_INTEGER Spare2;
+} CONTROLLER_OBJECT, *PCONTROLLER_OBJECT;
+
+typedef struct _STRING
+{
+ /*
+ * Length in bytes of the string stored in buffer
+ */
+ USHORT Length;
+
+ /*
+ * Maximum length of the string
+ */
+ USHORT MaximumLength;
+
+ /*
+ * String
+ */
+ PCHAR Buffer;
+} STRING, *PSTRING;
+
+typedef STRING ANSI_STRING;
+typedef PSTRING PANSI_STRING;
+
+typedef STRING OEM_STRING;
+typedef PSTRING POEM_STRING;
+
+
+typedef struct _TIME_FIELDS
+{
+ CSHORT Year;
+ CSHORT Month;
+ CSHORT Day;
+ CSHORT Hour;
+ CSHORT Minute;
+ CSHORT Second;
+ CSHORT Milliseconds;
+ CSHORT Weekday;
+} TIME_FIELDS, *PTIME_FIELDS;
+
+typedef struct _RTL_BITMAP
+{
+ ULONG SizeOfBitMap;
+ PULONG Buffer;
+} RTL_BITMAP, *PRTL_BITMAP;
+
+typedef struct _RTL_HEAP_DEFINITION
+{
+ ULONG Length;
+ ULONG Unknown[11];
+} RTL_HEAP_DEFINITION, *PRTL_HEAP_DEFINITION;
+
+typedef struct _RTL_ATOM_TABLE
+{
+ ULONG TableSize;
+ ULONG NumberOfAtoms;
+ PVOID Lock; /* fast mutex (kernel mode)/ critical section (user mode) */
+ PVOID HandleTable;
+ LIST_ENTRY Slot[0];
+} RTL_ATOM_TABLE, *PRTL_ATOM_TABLE;
+
+typedef struct _LB_RANGE
+{
+ UCHAR upper;
+ UCHAR lower;
+} LB_RANGE;
+
+typedef struct _RTL_NLS_DATA
+{
+ USHORT CodePage;
+ USHORT MaxCharacterSize; // SBCS = 1, DBCS = 2
+ WCHAR DefaultCharacter;
+ WCHAR char1;
+ WCHAR char2;
+ WCHAR char3;
+ USHORT DbcsFlag;
+ LB_RANGE LeadByteRange[6];
+ USHORT reserved;
+ PWCHAR MultiByteToUnicode;
+ PCHAR UnicodeToMultiByte;
+ PWCHAR DosMultiByteToUnicode;
+ PCHAR DbcsTags;
+} RTL_NLS_DATA, *PRTL_NLS_DATA;
+
+typedef struct _RTL_NLS_TABLE
+{
+ RTL_NLS_DATA OemInfo;
+ RTL_NLS_DATA AnsiInfo;
+ PWCHAR UpcaseTable;
+ PWCHAR DowncaseTable;
+} RTL_NLS_TABLE, *PRTL_NLS_TABLE;
+
+
+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;
+ USHORT Flags;
+ UCHAR Text[1];
+} RTL_MESSAGE_RESOURCE_ENTRY, *PRTL_MESSAGE_RESOURCE_ENTRY;
+
+typedef struct _RTL_MESSAGE_RESOURCE_BLOCK
+{
+ ULONG LowId;
+ ULONG HighId;
+ ULONG OffsetToEntries;
+} RTL_MESSAGE_RESOURCE_BLOCK, *PRTL_MESSAGE_RESOURCE_BLOCK;
+
+typedef struct _RTL_MESSAGE_RESOURCE_DATA
+{
+ ULONG NumberOfBlocks;
+ RTL_MESSAGE_RESOURCE_BLOCK Blocks[1];
+} RTL_MESSAGE_RESOURCE_DATA, *PRTL_MESSAGE_RESOURCE_DATA;
+
+
+typedef NTSTATUS STDCALL
+(*PRTL_QUERY_REGISTRY_ROUTINE)(PWSTR ValueName,
+ ULONG ValueType,
+ PVOID ValueData,
+ ULONG ValueLength,
+ PVOID Context,
+ PVOID EntryContext);
+
+typedef struct _RTL_QUERY_REGISTRY_TABLE
+{
+ PRTL_QUERY_REGISTRY_ROUTINE QueryRoutine;
+ ULONG Flags;
+ PWSTR Name;
+ PVOID EntryContext;
+ ULONG DefaultType;
+ PVOID DefaultData;
+ ULONG DefaultLength;
+} RTL_QUERY_REGISTRY_TABLE, *PRTL_QUERY_REGISTRY_TABLE;
+
+
+#endif /* __DDK_RTLTYPES_H */