1 /* $Id: rtltypes.h,v 1.3 2002/11/25 15:47:52 robd Exp $
5 #ifndef __DDK_RTLTYPES_H
6 #define __DDK_RTLTYPES_H
10 #define COMPRESSION_FORMAT_NONE 0x0000
11 #define COMPRESSION_FORMAT_DEFAULT 0x0001
12 #define COMPRESSION_FORMAT_LZNT1 0x0002
14 #define COMPRESSION_ENGINE_STANDARD 0x0000
15 #define COMPRESSION_ENGINE_MAXIMUM 0x0100
16 #define COMPRESSION_ENGINE_HIBER 0x0200
18 typedef struct _CONTROLLER_OBJECT
22 PVOID ControllerExtension
;
23 KDEVICE_QUEUE DeviceWaitQueue
;
26 } CONTROLLER_OBJECT
, *PCONTROLLER_OBJECT
;
28 typedef struct _STRING
31 * Length in bytes of the string stored in buffer
36 * Maximum length of the string
46 typedef STRING ANSI_STRING
;
47 typedef PSTRING PANSI_STRING
;
49 typedef STRING OEM_STRING
;
50 typedef PSTRING POEM_STRING
;
52 typedef struct _TIME_FIELDS
62 } TIME_FIELDS
, *PTIME_FIELDS
;
64 typedef struct _RTL_BITMAP
68 } RTL_BITMAP
, *PRTL_BITMAP
;
72 #define STDCALL_FUNC STDCALL
74 #define STDCALL_FUNC(a) (__stdcall a )
78 typedef NTSTATUS STDCALL_FUNC
79 (*PRTL_QUERY_REGISTRY_ROUTINE
) (PWSTR ValueName
,
86 typedef struct _RTL_QUERY_REGISTRY_TABLE
88 PRTL_QUERY_REGISTRY_ROUTINE QueryRoutine
;
95 } RTL_QUERY_REGISTRY_TABLE
, *PRTL_QUERY_REGISTRY_TABLE
;
97 typedef struct _COMPRESSED_DATA_INFO
99 USHORT CompressionFormatAndEngine
;
100 UCHAR CompressionUnitShift
;
104 USHORT NumberOfChunks
;
105 ULONG CompressedChunkSizes
[1];
106 } COMPRESSED_DATA_INFO
, *PCOMPRESSED_DATA_INFO
;
108 typedef struct _GENERATE_NAME_CONTEXT
111 BOOLEAN CheckSumInserted
;
114 ULONG ExtensionLength
;
115 WCHAR ExtensionBuffer
[4];
116 ULONG LastIndexValue
;
117 } GENERATE_NAME_CONTEXT
, *PGENERATE_NAME_CONTEXT
;
119 typedef struct _RTL_SPLAY_LINKS
121 struct _RTL_SPLAY_LINKS
*Parent
;
122 struct _RTL_SPLAY_LINKS
*LeftChild
;
123 struct _RTL_SPLAY_LINKS
*RightChild
;
124 } RTL_SPLAY_LINKS
, *PRTL_SPLAY_LINKS
;
126 #else /* __USE_W32API */
128 #include <ddk/ntifs.h>
130 #endif /* __USE_W32API */
132 typedef struct _INITIAL_TEB
139 } INITIAL_TEB
, *PINITIAL_TEB
;
141 typedef struct _RTL_HEAP_DEFINITION
145 } RTL_HEAP_DEFINITION
, *PRTL_HEAP_DEFINITION
;
147 typedef struct _RTL_ATOM_TABLE
151 PVOID Lock
; /* fast mutex (kernel mode)/ critical section (user mode) */
154 } RTL_ATOM_TABLE
, *PRTL_ATOM_TABLE
;
156 typedef struct _LB_RANGE
162 typedef struct _RTL_NLS_DATA
165 USHORT MaxCharacterSize
; // SBCS = 1, DBCS = 2
166 WCHAR DefaultCharacter
;
171 LB_RANGE LeadByteRange
[6];
173 PWCHAR MultiByteToUnicode
;
174 PCHAR UnicodeToMultiByte
;
175 PWCHAR DosMultiByteToUnicode
;
177 } RTL_NLS_DATA
, *PRTL_NLS_DATA
;
179 typedef struct _RTL_NLS_TABLE
181 RTL_NLS_DATA OemInfo
;
182 RTL_NLS_DATA AnsiInfo
;
184 PWCHAR DowncaseTable
;
185 } RTL_NLS_TABLE
, *PRTL_NLS_TABLE
;
188 typedef struct _RTL_GENERIC_TABLE
196 PVOID CompareRoutine
;
197 PVOID AllocateRoutine
;
200 } RTL_GENERIC_TABLE
, *PRTL_GENERIC_TABLE
;
203 typedef struct _RTL_MESSAGE_RESOURCE_ENTRY
208 } RTL_MESSAGE_RESOURCE_ENTRY
, *PRTL_MESSAGE_RESOURCE_ENTRY
;
210 typedef struct _RTL_MESSAGE_RESOURCE_BLOCK
214 ULONG OffsetToEntries
;
215 } RTL_MESSAGE_RESOURCE_BLOCK
, *PRTL_MESSAGE_RESOURCE_BLOCK
;
217 typedef struct _RTL_MESSAGE_RESOURCE_DATA
219 ULONG NumberOfBlocks
;
220 RTL_MESSAGE_RESOURCE_BLOCK Blocks
[1];
221 } RTL_MESSAGE_RESOURCE_DATA
, *PRTL_MESSAGE_RESOURCE_DATA
;
223 #endif /* __DDK_RTLTYPES_H */