1 | /**
|
---|
2 | * This file has no copyright assigned and is placed in the Public Domain.
|
---|
3 | * This file is part of the mingw-w64 runtime package.
|
---|
4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package.
|
---|
5 | */
|
---|
6 | #ifndef _NDR64TYPES_H
|
---|
7 | #define _NDR64TYPES_H
|
---|
8 |
|
---|
9 | #include <pshpack8.h>
|
---|
10 |
|
---|
11 | #include <guiddef.h>
|
---|
12 |
|
---|
13 | typedef const void *FormatInfoRef;
|
---|
14 | #define INVALID_FRAGMENT_ID 0
|
---|
15 |
|
---|
16 | typedef unsigned __int8 NDR64_UINT8;
|
---|
17 | typedef unsigned __int16 NDR64_UINT16;
|
---|
18 | typedef unsigned __int32 NDR64_UINT32;
|
---|
19 | __MINGW_EXTENSION typedef unsigned __int64 NDR64_UINT64;
|
---|
20 |
|
---|
21 | typedef __int8 NDR64_INT8;
|
---|
22 | typedef __int16 NDR64_INT16;
|
---|
23 | typedef __int32 NDR64_INT32;
|
---|
24 | __MINGW_EXTENSION typedef __int64 NDR64_INT64;
|
---|
25 |
|
---|
26 | typedef NDR64_UINT8 NDR64_FORMAT_CHAR;
|
---|
27 | typedef const void *PNDR64_FORMAT;
|
---|
28 | typedef NDR64_UINT8 NDR64_ALIGNMENT;
|
---|
29 | typedef NDR64_UINT32 NDR64_FORMAT_UINT32;
|
---|
30 |
|
---|
31 | #ifdef __ia64__
|
---|
32 | #define Ia64Axp(a,b) (a)
|
---|
33 | #elif (defined(_X86_) && !defined(__x86_64))
|
---|
34 | #define Ia64Axp(a,b) (a)
|
---|
35 | #elif defined(__x86_64)
|
---|
36 | #define Ia64Axp(a,b) (a)
|
---|
37 | #else
|
---|
38 | #error Unsupported platform
|
---|
39 | #endif
|
---|
40 |
|
---|
41 | #define NDR64_FC_EXPLICIT_HANDLE 0
|
---|
42 | #define NDR64_FC_BIND_GENERIC 1
|
---|
43 | #define NDR64_FC_BIND_PRIMITIVE 2
|
---|
44 | #define NDR64_FC_AUTO_HANDLE 3
|
---|
45 | #define NDR64_FC_CALLBACK_HANDLE 4
|
---|
46 | #define NDR64_FC_NO_HANDLE 5
|
---|
47 |
|
---|
48 | #if defined(__RPC_WIN32__)
|
---|
49 | typedef NDR64_INT32 NDR64_PTR_WIRE_TYPE;
|
---|
50 | #else
|
---|
51 | typedef NDR64_INT64 NDR64_PTR_WIRE_TYPE;
|
---|
52 | #endif
|
---|
53 |
|
---|
54 | #define NDR64_PTR_WIRE_ALIGN (sizeof(NDR64_PTR_WIRE_TYPE)-1)
|
---|
55 |
|
---|
56 | typedef NDR64_UINT64 NDR64_WIRE_COUNT_TYPE;
|
---|
57 | #define NDR64_WIRE_COUNT_ALIGN (sizeof(NDR64_WIRE_COUNT_TYPE)-1)
|
---|
58 |
|
---|
59 | typedef struct _NDR64_PROC_FLAGS {
|
---|
60 | NDR64_UINT32 HandleType : 3;
|
---|
61 | NDR64_UINT32 ProcType : 3;
|
---|
62 | NDR64_UINT32 IsInterpreted : 2;
|
---|
63 | NDR64_UINT32 IsObject : 1;
|
---|
64 | NDR64_UINT32 IsAsync : 1;
|
---|
65 | NDR64_UINT32 IsEncode : 1;
|
---|
66 | NDR64_UINT32 IsDecode : 1;
|
---|
67 | NDR64_UINT32 UsesFullPtrPackage : 1;
|
---|
68 | NDR64_UINT32 UsesRpcSmPackage : 1;
|
---|
69 | NDR64_UINT32 UsesPipes : 1;
|
---|
70 | NDR64_UINT32 HandlesExceptions : 2;
|
---|
71 | NDR64_UINT32 ServerMustSize : 1;
|
---|
72 | NDR64_UINT32 ClientMustSize : 1;
|
---|
73 | NDR64_UINT32 HasReturn : 1;
|
---|
74 | NDR64_UINT32 HasComplexReturn : 1;
|
---|
75 | NDR64_UINT32 ServerHasCorrelation : 1;
|
---|
76 | NDR64_UINT32 ClientHasCorrelation : 1;
|
---|
77 | NDR64_UINT32 HasNotify : 1;
|
---|
78 | NDR64_UINT32 HasOtherExtensions : 1;
|
---|
79 | NDR64_UINT32 Reserved : 7;
|
---|
80 | } NDR64_PROC_FLAGS;
|
---|
81 |
|
---|
82 | typedef struct _NDR64_RPC_FLAGS {
|
---|
83 | NDR64_UINT16 Idempotent : 1;
|
---|
84 | NDR64_UINT16 Broadcast : 1;
|
---|
85 | NDR64_UINT16 Maybe : 1;
|
---|
86 | NDR64_UINT16 Reserved1 : 5;
|
---|
87 | NDR64_UINT16 Message : 1;
|
---|
88 | NDR64_UINT16 Reserved2 : 4;
|
---|
89 | NDR64_UINT16 InputSynchronous : 1;
|
---|
90 | NDR64_UINT16 Asynchronous : 1;
|
---|
91 | NDR64_UINT16 Reserved3 : 1;
|
---|
92 | } NDR64_RPC_FLAGS;
|
---|
93 |
|
---|
94 | typedef struct _NDR64_PROC_FORMAT {
|
---|
95 | NDR64_UINT32 Flags;
|
---|
96 | NDR64_UINT32 StackSize;
|
---|
97 | NDR64_UINT32 ConstantClientBufferSize;
|
---|
98 | NDR64_UINT32 ConstantServerBufferSize;
|
---|
99 | NDR64_UINT16 RpcFlags;
|
---|
100 | NDR64_UINT16 FloatDoubleMask;
|
---|
101 | NDR64_UINT16 NumberOfParams;
|
---|
102 | NDR64_UINT16 ExtensionSize;
|
---|
103 | } NDR64_PROC_FORMAT,*PNDR64_PROC_FORMAT;
|
---|
104 |
|
---|
105 | typedef struct _NDR64_PARAM_FLAGS {
|
---|
106 | NDR64_UINT16 MustSize : 1;
|
---|
107 | NDR64_UINT16 MustFree : 1;
|
---|
108 | NDR64_UINT16 IsPipe : 1;
|
---|
109 | NDR64_UINT16 IsIn : 1;
|
---|
110 | NDR64_UINT16 IsOut : 1;
|
---|
111 | NDR64_UINT16 IsReturn : 1;
|
---|
112 | NDR64_UINT16 IsBasetype : 1;
|
---|
113 | NDR64_UINT16 IsByValue : 1;
|
---|
114 | NDR64_UINT16 IsSimpleRef : 1;
|
---|
115 | NDR64_UINT16 IsDontCallFreeInst : 1;
|
---|
116 | NDR64_UINT16 SaveForAsyncFinish : 1;
|
---|
117 | NDR64_UINT16 IsPartialIgnore : 1;
|
---|
118 | NDR64_UINT16 IsForceAllocate : 1;
|
---|
119 | NDR64_UINT16 Reserved : 2;
|
---|
120 | NDR64_UINT16 UseCache : 1;
|
---|
121 | } NDR64_PARAM_FLAGS;
|
---|
122 |
|
---|
123 | typedef struct _NDR64_PARAM_FORMAT {
|
---|
124 | PNDR64_FORMAT Type;
|
---|
125 | NDR64_PARAM_FLAGS Attributes;
|
---|
126 | NDR64_UINT16 Reserved;
|
---|
127 | NDR64_UINT32 StackOffset;
|
---|
128 | } NDR64_PARAM_FORMAT,*PNDR64_PARAM_FORMAT;
|
---|
129 |
|
---|
130 | typedef struct _NDR64_RANGE_FORMAT {
|
---|
131 | NDR64_FORMAT_CHAR FormatCode;
|
---|
132 | NDR64_FORMAT_CHAR RangeType;
|
---|
133 | NDR64_UINT16 Reserved;
|
---|
134 | NDR64_INT64 MinValue;
|
---|
135 | NDR64_INT64 MaxValue;
|
---|
136 | } NDR64_RANGE_FORMAT;
|
---|
137 |
|
---|
138 | typedef struct _NDR64_CONTEXT_HANDLE_FLAGS {
|
---|
139 | NDR64_UINT8 CannotBeNull : 1;
|
---|
140 | NDR64_UINT8 Serialize : 1;
|
---|
141 | NDR64_UINT8 NoSerialize : 1;
|
---|
142 | NDR64_UINT8 Strict : 1;
|
---|
143 | NDR64_UINT8 IsReturn : 1;
|
---|
144 | NDR64_UINT8 IsOut : 1;
|
---|
145 | NDR64_UINT8 IsIn : 1;
|
---|
146 | NDR64_UINT8 IsViaPointer : 1;
|
---|
147 | } NDR64_CONTEXT_HANDLE_FLAGS;
|
---|
148 |
|
---|
149 | typedef struct _NDR64_CONTEXT_HANDLE_FORMAT {
|
---|
150 | NDR64_FORMAT_CHAR FormatCode;
|
---|
151 | NDR64_UINT8 ContextFlags;
|
---|
152 | NDR64_UINT8 RundownRoutineIndex;
|
---|
153 | NDR64_UINT8 Ordinal;
|
---|
154 | } NDR64_CONTEXT_HANDLE_FORMAT;
|
---|
155 |
|
---|
156 | typedef struct _NDR64_BIND_PRIMITIVE {
|
---|
157 | NDR64_FORMAT_CHAR HandleType;
|
---|
158 | NDR64_UINT8 Flags;
|
---|
159 | NDR64_UINT16 StackOffset;
|
---|
160 | NDR64_UINT16 Reserved;
|
---|
161 | } NDR64_BIND_PRIMITIVE;
|
---|
162 |
|
---|
163 | typedef struct _NDR64_BIND_GENERIC {
|
---|
164 | NDR64_FORMAT_CHAR HandleType;
|
---|
165 | NDR64_UINT8 Flags;
|
---|
166 | NDR64_UINT16 StackOffset;
|
---|
167 | NDR64_UINT8 RoutineIndex;
|
---|
168 | NDR64_UINT8 Size;
|
---|
169 | } NDR64_BIND_GENERIC;
|
---|
170 |
|
---|
171 | typedef struct _NDR64_BIND_CONTEXT {
|
---|
172 | NDR64_FORMAT_CHAR HandleType;
|
---|
173 | NDR64_UINT8 Flags;
|
---|
174 | NDR64_UINT16 StackOffset;
|
---|
175 | NDR64_UINT8 RoutineIndex;
|
---|
176 | NDR64_UINT8 Ordinal;
|
---|
177 | } NDR64_BIND_CONTEXT;
|
---|
178 |
|
---|
179 | typedef union _NDR64_BINDINGS {
|
---|
180 | NDR64_BIND_PRIMITIVE Primitive;
|
---|
181 | NDR64_BIND_GENERIC Generic;
|
---|
182 | NDR64_BIND_CONTEXT Context;
|
---|
183 | } NDR64_BINDINGS;
|
---|
184 |
|
---|
185 | typedef struct _NDR64_BIND_AND_NOTIFY_EXTENSION {
|
---|
186 | NDR64_BIND_CONTEXT Binding;
|
---|
187 | NDR64_UINT16 NotifyIndex;
|
---|
188 | } NDR64_BIND_AND_NOTIFY_EXTENSION;
|
---|
189 |
|
---|
190 | typedef struct _NDR64_POINTER_FORMAT {
|
---|
191 | NDR64_FORMAT_CHAR FormatCode;
|
---|
192 | NDR64_UINT8 Flags;
|
---|
193 | NDR64_UINT16 Reserved;
|
---|
194 | PNDR64_FORMAT Pointee;
|
---|
195 | } NDR64_POINTER_FORMAT;
|
---|
196 |
|
---|
197 | typedef struct _NDR64_NO_REPEAT_FORMAT {
|
---|
198 | NDR64_FORMAT_CHAR FormatCode;
|
---|
199 | NDR64_UINT8 Flags;
|
---|
200 | NDR64_UINT16 Reserved1;
|
---|
201 | NDR64_UINT32 Reserved2;
|
---|
202 | } NDR64_NO_REPEAT_FORMAT;
|
---|
203 |
|
---|
204 | typedef struct _NDR64_POINTER_INSTANCE_HEADER_FORMAT {
|
---|
205 | NDR64_UINT32 Offset;
|
---|
206 | NDR64_UINT32 Reserved;
|
---|
207 | } NDR64_POINTER_INSTANCE_HEADER_FORMAT;
|
---|
208 |
|
---|
209 | typedef struct _NDR64_POINTER_REPEAT_FLAGS {
|
---|
210 | NDR64_UINT8 SetCorrMark : 1;
|
---|
211 | NDR64_UINT8 Reserved : 7;
|
---|
212 | } NDR64_POINTER_REPEAT_FLAGS,*PNDR64_POINTER_REPEAT_FLAGS;
|
---|
213 |
|
---|
214 | typedef struct _NDR64_REPEAT_FORMAT {
|
---|
215 | NDR64_FORMAT_CHAR FormatCode;
|
---|
216 | NDR64_POINTER_REPEAT_FLAGS Flags;
|
---|
217 | NDR64_UINT16 Reserved;
|
---|
218 | NDR64_UINT32 Increment;
|
---|
219 | NDR64_UINT32 OffsetToArray;
|
---|
220 | NDR64_UINT32 NumberOfPointers;
|
---|
221 | } NDR64_REPEAT_FORMAT,*PNDR64_REPEAT_FORMAT;
|
---|
222 |
|
---|
223 | typedef struct _NDR64_FIXED_REPEAT_FORMAT {
|
---|
224 | NDR64_REPEAT_FORMAT RepeatFormat;
|
---|
225 | NDR64_UINT32 Iterations;
|
---|
226 | NDR64_UINT32 Reserved;
|
---|
227 | } NDR64_FIXED_REPEAT_FORMAT,*PNDR64_FIXED_REPEAT_FORMAT;
|
---|
228 |
|
---|
229 | typedef struct _NDR64_IID_FLAGS {
|
---|
230 | NDR64_UINT8 ConstantIID : 1;
|
---|
231 | NDR64_UINT8 Reserved : 7;
|
---|
232 | } NDR64_IID_FLAGS;
|
---|
233 |
|
---|
234 | typedef struct _NDR64_CONSTANT_IID_FORMAT {
|
---|
235 | NDR64_FORMAT_CHAR FormatCode;
|
---|
236 | NDR64_UINT8 Flags;
|
---|
237 | NDR64_UINT16 Reserved;
|
---|
238 | GUID Guid;
|
---|
239 | } NDR64_CONSTANT_IID_FORMAT;
|
---|
240 |
|
---|
241 | typedef struct _NDR64_IID_FORMAT {
|
---|
242 | NDR64_FORMAT_CHAR FormatCode;
|
---|
243 | NDR64_UINT8 Flags;
|
---|
244 | NDR64_UINT16 Reserved;
|
---|
245 | PNDR64_FORMAT IIDDescriptor;
|
---|
246 | } NDR64_IID_FORMAT;
|
---|
247 |
|
---|
248 | typedef struct _NDR64_STRUCTURE_FLAGS {
|
---|
249 | NDR64_UINT8 HasPointerInfo : 1;
|
---|
250 | NDR64_UINT8 HasMemberInfo : 1;
|
---|
251 | NDR64_UINT8 HasConfArray : 1;
|
---|
252 | NDR64_UINT8 HasOrigPointerInfo : 1;
|
---|
253 | NDR64_UINT8 HasOrigMemberInfo : 1;
|
---|
254 | NDR64_UINT8 Reserved1 : 1;
|
---|
255 | NDR64_UINT8 Reserved2 : 1;
|
---|
256 | NDR64_UINT8 Reserved3 : 1;
|
---|
257 | } NDR64_STRUCTURE_FLAGS;
|
---|
258 |
|
---|
259 | typedef struct _NDR64_STRUCTURE_HEADER_FORMAT {
|
---|
260 | NDR64_FORMAT_CHAR FormatCode;
|
---|
261 | NDR64_ALIGNMENT Alignment;
|
---|
262 | NDR64_STRUCTURE_FLAGS Flags;
|
---|
263 | NDR64_UINT8 Reserve;
|
---|
264 | NDR64_UINT32 MemorySize;
|
---|
265 | } NDR64_STRUCTURE_HEADER_FORMAT;
|
---|
266 |
|
---|
267 | typedef struct _NDR64_CONF_STRUCTURE_HEADER_FORMAT {
|
---|
268 | NDR64_FORMAT_CHAR FormatCode;
|
---|
269 | NDR64_ALIGNMENT Alignment;
|
---|
270 | NDR64_STRUCTURE_FLAGS Flags;
|
---|
271 | NDR64_UINT8 Reserve;
|
---|
272 | NDR64_UINT32 MemorySize;
|
---|
273 | PNDR64_FORMAT ArrayDescription;
|
---|
274 | } NDR64_CONF_STRUCTURE_HEADER_FORMAT;
|
---|
275 |
|
---|
276 | typedef struct _NDR64_BOGUS_STRUCTURE_HEADER_FORMAT {
|
---|
277 | NDR64_FORMAT_CHAR FormatCode;
|
---|
278 | NDR64_ALIGNMENT Alignment;
|
---|
279 | NDR64_STRUCTURE_FLAGS Flags;
|
---|
280 | NDR64_UINT8 Reserve;
|
---|
281 | NDR64_UINT32 MemorySize;
|
---|
282 | PNDR64_FORMAT OriginalMemberLayout;
|
---|
283 | PNDR64_FORMAT OriginalPointerLayout;
|
---|
284 | PNDR64_FORMAT PointerLayout;
|
---|
285 | } NDR64_BOGUS_STRUCTURE_HEADER_FORMAT;
|
---|
286 |
|
---|
287 | typedef struct _NDR64_CONF_BOGUS_STRUCTURE_HEADER_FORMAT {
|
---|
288 | NDR64_FORMAT_CHAR FormatCode;
|
---|
289 | NDR64_ALIGNMENT Alignment;
|
---|
290 | NDR64_STRUCTURE_FLAGS Flags;
|
---|
291 | NDR64_UINT8 Dimensions;
|
---|
292 | NDR64_UINT32 MemorySize;
|
---|
293 | PNDR64_FORMAT OriginalMemberLayout;
|
---|
294 | PNDR64_FORMAT OriginalPointerLayout;
|
---|
295 | PNDR64_FORMAT PointerLayout;
|
---|
296 | PNDR64_FORMAT ConfArrayDescription;
|
---|
297 | } NDR64_CONF_BOGUS_STRUCTURE_HEADER_FORMAT;
|
---|
298 |
|
---|
299 | typedef struct _NDR64_SIMPLE_MEMBER_FORMAT {
|
---|
300 | NDR64_FORMAT_CHAR FormatCode;
|
---|
301 | NDR64_UINT8 Reserved1;
|
---|
302 | NDR64_UINT16 Reserved2;
|
---|
303 | NDR64_UINT32 Reserved3;
|
---|
304 | } NDR64_SIMPLE_MEMBER_FORMAT;
|
---|
305 |
|
---|
306 | typedef struct _NDR64_MEMPAD_FORMAT {
|
---|
307 | NDR64_FORMAT_CHAR FormatCode;
|
---|
308 | NDR64_UINT8 Reserve1;
|
---|
309 | NDR64_UINT16 MemPad;
|
---|
310 | NDR64_UINT32 Reserved2;
|
---|
311 | } NDR64_MEMPAD_FORMAT;
|
---|
312 |
|
---|
313 | typedef struct _NDR64_EMBEDDED_COMPLEX_FORMAT {
|
---|
314 | NDR64_FORMAT_CHAR FormatCode;
|
---|
315 | NDR64_UINT8 Reserve1;
|
---|
316 | NDR64_UINT16 Reserve2;
|
---|
317 | PNDR64_FORMAT Type;
|
---|
318 | } NDR64_EMBEDDED_COMPLEX_FORMAT;
|
---|
319 |
|
---|
320 | typedef struct _NDR64_BUFFER_ALIGN_FORMAT {
|
---|
321 | NDR64_FORMAT_CHAR FormatCode;
|
---|
322 | NDR64_ALIGNMENT Alignment;
|
---|
323 | NDR64_UINT16 Reserved;
|
---|
324 | NDR64_UINT32 Reserved2;
|
---|
325 | } NDR64_BUFFER_ALIGN_FORMAT;
|
---|
326 |
|
---|
327 | typedef struct _NDR64_SIMPLE_REGION_FORMAT {
|
---|
328 | NDR64_FORMAT_CHAR FormatCode;
|
---|
329 | NDR64_ALIGNMENT Alignment;
|
---|
330 | NDR64_UINT16 RegionSize;
|
---|
331 | NDR64_UINT32 Reserved;
|
---|
332 | } NDR64_SIMPLE_REGION_FORMAT;
|
---|
333 |
|
---|
334 | typedef struct _NDR64_ENCAPSULATED_UNION {
|
---|
335 | NDR64_FORMAT_CHAR FormatCode;
|
---|
336 | NDR64_UINT8 Alignment;
|
---|
337 | NDR64_UINT8 Flags;
|
---|
338 | NDR64_FORMAT_CHAR SwitchType;
|
---|
339 | NDR64_UINT32 MemoryOffset;
|
---|
340 | NDR64_UINT32 MemorySize;
|
---|
341 | NDR64_UINT32 Reserved;
|
---|
342 | } NDR64_ENCAPSULATED_UNION;
|
---|
343 |
|
---|
344 | typedef struct _NDR64_NON_ENCAPSULATED_UNION {
|
---|
345 | NDR64_FORMAT_CHAR FormatCode;
|
---|
346 | NDR64_UINT8 Alignment;
|
---|
347 | NDR64_UINT8 Flags;
|
---|
348 | NDR64_FORMAT_CHAR SwitchType;
|
---|
349 | NDR64_UINT32 MemorySize;
|
---|
350 | PNDR64_FORMAT Switch;
|
---|
351 | NDR64_UINT32 Reserved;
|
---|
352 | } NDR64_NON_ENCAPSULATED_UNION;
|
---|
353 |
|
---|
354 | typedef struct _NDR64_UNION_ARM_SELECTOR {
|
---|
355 | NDR64_UINT8 Reserved1;
|
---|
356 | NDR64_UINT8 Alignment;
|
---|
357 | NDR64_UINT16 Reserved2;
|
---|
358 | NDR64_UINT32 Arms;
|
---|
359 | } NDR64_UNION_ARM_SELECTOR;
|
---|
360 |
|
---|
361 | typedef struct _NDR64_UNION_ARM {
|
---|
362 | NDR64_INT64 CaseValue;
|
---|
363 | PNDR64_FORMAT Type;
|
---|
364 | NDR64_UINT32 Reserved;
|
---|
365 | } NDR64_UNION_ARM;
|
---|
366 |
|
---|
367 | typedef struct _NDR64_ARRAY_FLAGS {
|
---|
368 | NDR64_UINT8 HasPointerInfo : 1;
|
---|
369 | NDR64_UINT8 HasElementInfo : 1;
|
---|
370 | NDR64_UINT8 IsMultiDimensional : 1;
|
---|
371 | NDR64_UINT8 IsArrayofStrings : 1;
|
---|
372 | NDR64_UINT8 Reserved1 : 1;
|
---|
373 | NDR64_UINT8 Reserved2 : 1;
|
---|
374 | NDR64_UINT8 Reserved3 : 1;
|
---|
375 | NDR64_UINT8 Reserved4 : 1;
|
---|
376 | } NDR64_ARRAY_FLAGS;
|
---|
377 |
|
---|
378 | typedef struct _NDR64_ARRAY_ELEMENT_INFO {
|
---|
379 | NDR64_UINT32 ElementMemSize;
|
---|
380 | PNDR64_FORMAT Element;
|
---|
381 | } NDR64_ARRAY_ELEMENT_INFO;
|
---|
382 |
|
---|
383 | typedef struct _NDR64_FIX_ARRAY_HEADER_FORMAT {
|
---|
384 | NDR64_FORMAT_CHAR FormatCode;
|
---|
385 | NDR64_ALIGNMENT Alignment;
|
---|
386 | NDR64_ARRAY_FLAGS Flags;
|
---|
387 | NDR64_UINT8 Reserved;
|
---|
388 | NDR64_UINT32 TotalSize;
|
---|
389 | } NDR64_FIX_ARRAY_HEADER_FORMAT;
|
---|
390 |
|
---|
391 | typedef struct _NDR64_CONF_ARRAY_HEADER_FORMAT {
|
---|
392 | NDR64_FORMAT_CHAR FormatCode;
|
---|
393 | NDR64_ALIGNMENT Alignment;
|
---|
394 | NDR64_ARRAY_FLAGS Flags;
|
---|
395 | NDR64_UINT8 Reserved;
|
---|
396 | NDR64_UINT32 ElementSize;
|
---|
397 | PNDR64_FORMAT ConfDescriptor;
|
---|
398 | } NDR64_CONF_ARRAY_HEADER_FORMAT;
|
---|
399 |
|
---|
400 | typedef struct _NDR64_CONF_VAR_ARRAY_HEADER_FORMAT {
|
---|
401 | NDR64_FORMAT_CHAR FormatCode;
|
---|
402 | NDR64_ALIGNMENT Alignment;
|
---|
403 | NDR64_ARRAY_FLAGS Flags;
|
---|
404 | NDR64_UINT8 Reserved;
|
---|
405 | NDR64_UINT32 ElementSize;
|
---|
406 | PNDR64_FORMAT ConfDescriptor;
|
---|
407 | PNDR64_FORMAT VarDescriptor;
|
---|
408 | } NDR64_CONF_VAR_ARRAY_HEADER_FORMAT;
|
---|
409 |
|
---|
410 | typedef struct _NDR64_VAR_ARRAY_HEADER_FORMAT {
|
---|
411 | NDR64_FORMAT_CHAR FormatCode;
|
---|
412 | NDR64_ALIGNMENT Alignment;
|
---|
413 | NDR64_ARRAY_FLAGS Flags;
|
---|
414 | NDR64_UINT8 Reserved;
|
---|
415 | NDR64_UINT32 TotalSize;
|
---|
416 | NDR64_UINT32 ElementSize;
|
---|
417 | PNDR64_FORMAT VarDescriptor;
|
---|
418 | } NDR64_VAR_ARRAY_HEADER_FORMAT;
|
---|
419 |
|
---|
420 | typedef struct _NDR64_BOGUS_ARRAY_HEADER_FORMAT {
|
---|
421 | NDR64_FORMAT_CHAR FormatCode;
|
---|
422 | NDR64_ALIGNMENT Alignment;
|
---|
423 | NDR64_ARRAY_FLAGS Flags;
|
---|
424 | NDR64_UINT8 NumberDims;
|
---|
425 | NDR64_UINT32 NumberElements;
|
---|
426 | PNDR64_FORMAT Element;
|
---|
427 | } NDR64_BOGUS_ARRAY_HEADER_FORMAT;
|
---|
428 |
|
---|
429 | typedef struct _NDR64_CONF_VAR_BOGUS_ARRAY_HEADER_FORMAT {
|
---|
430 | NDR64_BOGUS_ARRAY_HEADER_FORMAT FixedArrayFormat;
|
---|
431 | PNDR64_FORMAT ConfDescription;
|
---|
432 | PNDR64_FORMAT VarDescription;
|
---|
433 | PNDR64_FORMAT OffsetDescription;
|
---|
434 | } NDR64_CONF_VAR_BOGUS_ARRAY_HEADER_FORMAT;
|
---|
435 |
|
---|
436 | typedef struct _NDR64_STRING_FLAGS {
|
---|
437 | NDR64_UINT8 IsSized : 1;
|
---|
438 | NDR64_UINT8 Reserved2 : 1;
|
---|
439 | NDR64_UINT8 Reserved3 : 1;
|
---|
440 | NDR64_UINT8 Reserved4 : 1;
|
---|
441 | NDR64_UINT8 Reserved5 : 1;
|
---|
442 | NDR64_UINT8 Reserved6 : 1;
|
---|
443 | NDR64_UINT8 Reserved7 : 1;
|
---|
444 | NDR64_UINT8 Reserved8 : 1;
|
---|
445 | } NDR64_STRING_FLAGS;
|
---|
446 |
|
---|
447 | typedef struct NDR64_STRING_HEADER_FORMAT {
|
---|
448 | NDR64_FORMAT_CHAR FormatCode;
|
---|
449 | NDR64_STRING_FLAGS Flags;
|
---|
450 | NDR64_UINT16 ElementSize;
|
---|
451 | } NDR64_STRING_HEADER_FORMAT;
|
---|
452 |
|
---|
453 | typedef struct _NDR64_NON_CONFORMANT_STRING_FORMAT {
|
---|
454 | NDR64_STRING_HEADER_FORMAT Header;
|
---|
455 | NDR64_UINT32 TotalSize;
|
---|
456 | } NDR64_NON_CONFORMANT_STRING_FORMAT;
|
---|
457 |
|
---|
458 | typedef struct _NDR64_CONFORMANT_STRING_FORMAT {
|
---|
459 | NDR64_STRING_HEADER_FORMAT Header;
|
---|
460 | } NDR64_CONFORMANT_STRING_FORMAT;
|
---|
461 |
|
---|
462 | typedef struct NDR64_SIZED_CONFORMANT_STRING_FORMAT {
|
---|
463 | NDR64_STRING_HEADER_FORMAT Header;
|
---|
464 | PNDR64_FORMAT SizeDescription;
|
---|
465 | } NDR64_SIZED_CONFORMANT_STRING_FORMAT;
|
---|
466 |
|
---|
467 | typedef enum _tagEXPR_TOKEN {
|
---|
468 | FC_EXPR_START = 0,FC_EXPR_ILLEGAL = FC_EXPR_START,FC_EXPR_CONST32,FC_EXPR_CONST64,FC_EXPR_VAR,FC_EXPR_OPER,FC_EXPR_NOOP,FC_EXPR_END
|
---|
469 | } EXPR_TOKEN;
|
---|
470 |
|
---|
471 | typedef struct _NDR64_EXPR_OPERATOR {
|
---|
472 | NDR64_FORMAT_CHAR ExprType;
|
---|
473 | NDR64_FORMAT_CHAR Operator;
|
---|
474 | NDR64_FORMAT_CHAR CastType;
|
---|
475 | NDR64_UINT8 Reserved;
|
---|
476 | } NDR64_EXPR_OPERATOR;
|
---|
477 |
|
---|
478 | typedef struct _NDR64_EXPR_CONST32 {
|
---|
479 | NDR64_FORMAT_CHAR ExprType;
|
---|
480 | NDR64_FORMAT_CHAR Reserved;
|
---|
481 | NDR64_UINT16 Reserved1;
|
---|
482 | NDR64_UINT32 ConstValue;
|
---|
483 | } NDR64_EXPR_CONST32;
|
---|
484 |
|
---|
485 | typedef struct _NDR64_EXPR_CONST64 {
|
---|
486 | NDR64_FORMAT_CHAR ExprType;
|
---|
487 | NDR64_FORMAT_CHAR Reserved;
|
---|
488 | NDR64_UINT16 Reserved1;
|
---|
489 | NDR64_INT64 ConstValue;
|
---|
490 | } NDR64_EXPR_CONST64;
|
---|
491 |
|
---|
492 | typedef struct _NDR64_EXPR_VAR {
|
---|
493 | NDR64_FORMAT_CHAR ExprType;
|
---|
494 | NDR64_FORMAT_CHAR VarType;
|
---|
495 | NDR64_UINT16 Reserved;
|
---|
496 | NDR64_UINT32 Offset;
|
---|
497 | } NDR64_EXPR_VAR;
|
---|
498 |
|
---|
499 | typedef struct _NDR64_EXPR_NOOP {
|
---|
500 | NDR64_FORMAT_CHAR ExprType;
|
---|
501 | NDR64_UINT8 Size;
|
---|
502 | NDR64_UINT16 Reserved;
|
---|
503 | } NDR64_EXPR_NOOP;
|
---|
504 |
|
---|
505 | typedef struct _NDR64_TRANSMIT_AS_FLAGS {
|
---|
506 | NDR64_UINT8 PresentedTypeIsArray : 1;
|
---|
507 | NDR64_UINT8 PresentedTypeAlign4 : 1;
|
---|
508 | NDR64_UINT8 PresentedTypeAlign8 : 1;
|
---|
509 | NDR64_UINT8 Reserved : 5;
|
---|
510 | } NDR64_TRANSMIT_AS_FLAGS;
|
---|
511 |
|
---|
512 | typedef struct _NDR64_TRANSMIT_AS_FORMAT {
|
---|
513 | NDR64_FORMAT_CHAR FormatCode;
|
---|
514 | NDR64_UINT8 Flags;
|
---|
515 | NDR64_UINT16 RoutineIndex;
|
---|
516 | NDR64_UINT16 TransmittedTypeWireAlignment;
|
---|
517 | NDR64_UINT16 MemoryAlignment;
|
---|
518 | NDR64_UINT32 PresentedTypeMemorySize;
|
---|
519 | NDR64_UINT32 TransmittedTypeBufferSize;
|
---|
520 | PNDR64_FORMAT TransmittedType;
|
---|
521 | } NDR64_TRANSMIT_AS_FORMAT;
|
---|
522 |
|
---|
523 | typedef NDR64_TRANSMIT_AS_FORMAT NDR64_REPRESENT_AS_FORMAT;
|
---|
524 |
|
---|
525 | typedef struct _NDR64_USER_MARSHAL_FLAGS {
|
---|
526 | NDR64_UINT8 Reserved : 5;
|
---|
527 | NDR64_UINT8 IID : 1;
|
---|
528 | NDR64_UINT8 RefPointer : 1;
|
---|
529 | NDR64_UINT8 UniquePointer : 1;
|
---|
530 | } NDR64_USER_MARSHAL_FLAGS;
|
---|
531 |
|
---|
532 | typedef struct _NDR64_USER_MARSHAL_FORMAT {
|
---|
533 | NDR64_FORMAT_CHAR FormatCode;
|
---|
534 | NDR64_UINT8 Flags;
|
---|
535 | NDR64_UINT16 RoutineIndex;
|
---|
536 | NDR64_UINT16 TransmittedTypeWireAlignment;
|
---|
537 | NDR64_UINT16 MemoryAlignment;
|
---|
538 | NDR64_UINT32 UserTypeMemorySize;
|
---|
539 | NDR64_UINT32 TransmittedTypeBufferSize;
|
---|
540 | PNDR64_FORMAT TransmittedType;
|
---|
541 | } NDR64_USER_MARSHAL_FORMAT;
|
---|
542 |
|
---|
543 | typedef struct NDR64_PIPE_FLAGS {
|
---|
544 | NDR64_UINT8 Reserved1 : 5;
|
---|
545 | NDR64_UINT8 HasRange : 1;
|
---|
546 | NDR64_UINT8 BlockCopy : 1;
|
---|
547 | NDR64_UINT8 Reserved2 : 1;
|
---|
548 | } NDR64_PIPE_FLAGS;
|
---|
549 |
|
---|
550 | typedef struct _NDR64_PIPE_FORMAT {
|
---|
551 | NDR64_FORMAT_CHAR FormatCode;
|
---|
552 | NDR64_UINT8 Flags;
|
---|
553 | NDR64_UINT8 Alignment;
|
---|
554 | NDR64_UINT8 Reserved;
|
---|
555 | PNDR64_FORMAT Type;
|
---|
556 | NDR64_UINT32 MemorySize;
|
---|
557 | NDR64_UINT32 BufferSize;
|
---|
558 | } NDR64_PIPE_FORMAT;
|
---|
559 |
|
---|
560 | typedef struct _NDR64_RANGE_PIPE_FORMAT {
|
---|
561 | NDR64_FORMAT_CHAR FormatCode;
|
---|
562 | NDR64_UINT8 Flags;
|
---|
563 | NDR64_UINT8 Alignment;
|
---|
564 | NDR64_UINT8 Reserved;
|
---|
565 | PNDR64_FORMAT Type;
|
---|
566 | NDR64_UINT32 MemorySize;
|
---|
567 | NDR64_UINT32 BufferSize;
|
---|
568 | NDR64_UINT32 MinValue;
|
---|
569 | NDR64_UINT32 MaxValue;
|
---|
570 | } NDR64_RANGE_PIPE_FORMAT;
|
---|
571 |
|
---|
572 | #include <poppack.h>
|
---|
573 |
|
---|
574 | #endif
|
---|