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