build: enable python 3.0 and 3.1 in testwaf.sh
[kai/samba-autobuild/.git] / librpc / gen_ndr / dcerpc.h
1 /* header auto-generated by pidl */
2
3 #include <stdint.h>
4
5 #include "libcli/util/ntstatus.h"
6
7 #include "librpc/gen_ndr/misc.h"
8 #ifndef _HEADER_dcerpc
9 #define _HEADER_dcerpc
10
11 #define DCERPC_REQUEST_LENGTH   ( 24 )
12 #define DCERPC_BIND_REASON_ASYNTAX      ( 1 )
13 #define DCERPC_BIND_PROVIDER_REJECT     ( 2 )
14 #define DECRPC_BIND_PROTOCOL_VERSION_NOT_SUPPORTED      ( 4 )
15 #define DCERPC_BIND_REASON_INVALID_AUTH_TYPE    ( 8 )
16 #define DCERPC_RESPONSE_LENGTH  ( 24 )
17 #define DCERPC_FAULT_OP_RNG_ERROR       ( 0x1c010002 )
18 #define DCERPC_FAULT_UNK_IF     ( 0x1c010003 )
19 #define DCERPC_FAULT_NDR        ( 0x000006f7 )
20 #define DCERPC_FAULT_INVALID_TAG        ( 0x1c000006 )
21 #define DCERPC_FAULT_CONTEXT_MISMATCH   ( 0x1c00001a )
22 #define DCERPC_FAULT_OTHER      ( 0x00000001 )
23 #define DCERPC_FAULT_ACCESS_DENIED      ( 0x00000005 )
24 #define DCERPC_FAULT_CANT_PERFORM       ( 0x000006d8 )
25 #define DCERPC_FAULT_TODO       ( 0x00000042 )
26 #define DCERPC_AUTH_LEVEL_DEFAULT       ( DCERPC_AUTH_LEVEL_CONNECT )
27 #define DCERPC_AUTH_TRAILER_LENGTH      ( 8 )
28 #define DCERPC_PFC_FLAG_FIRST   ( 0x01 )
29 #define DCERPC_PFC_FLAG_LAST    ( 0x02 )
30 #define DCERPC_PFC_FLAG_PENDING_CANCEL  ( 0x04 )
31 #define DCERPC_PFC_FLAG_SUPPORT_HEADER_SIGN     ( DCERPC_PFC_FLAG_PENDING_CANCEL )
32 #define DCERPC_PFC_FLAG_CONC_MPX        ( 0x10 )
33 #define DCERPC_PFC_FLAG_DID_NOT_EXECUTE ( 0x20 )
34 #define DCERPC_PFC_FLAG_MAYBE   ( 0x40 )
35 #define DCERPC_PFC_FLAG_OBJECT_UUID     ( 0x80 )
36 #define DCERPC_PFC_OFFSET       ( 3 )
37 #define DCERPC_DREP_OFFSET      ( 4 )
38 #define DCERPC_FRAG_LEN_OFFSET  ( 8 )
39 #define DCERPC_AUTH_LEN_OFFSET  ( 10 )
40 #define DCERPC_DREP_LE  ( 0x10 )
41 struct dcerpc_ctx_list {
42         uint16_t context_id;
43         uint8_t num_transfer_syntaxes;
44         struct ndr_syntax_id abstract_syntax;
45         struct ndr_syntax_id *transfer_syntaxes;
46 };
47
48 struct dcerpc_bind {
49         uint16_t max_xmit_frag;
50         uint16_t max_recv_frag;
51         uint32_t assoc_group_id;
52         uint8_t num_contexts;
53         struct dcerpc_ctx_list *ctx_list;
54         DATA_BLOB auth_info;/* [flag(LIBNDR_FLAG_REMAINING)] */
55 };
56
57 struct dcerpc_empty {
58         char _empty_;
59 };
60
61 union dcerpc_object {
62         struct dcerpc_empty empty;/* [default] */
63         struct GUID object;/* [case(LIBNDR_FLAG_OBJECT_PRESENT)] */
64 }/* [nodiscriminant] */;
65
66 struct dcerpc_request {
67         uint32_t alloc_hint;
68         uint16_t context_id;
69         uint16_t opnum;
70         union dcerpc_object object;/* [switch_is(ndr->flags&LIBNDR_FLAG_OBJECT_PRESENT)] */
71         DATA_BLOB _pad;/* [flag(LIBNDR_FLAG_ALIGN8)] */
72         DATA_BLOB stub_and_verifier;/* [flag(LIBNDR_FLAG_REMAINING)] */
73 };
74
75 struct dcerpc_ack_ctx {
76         uint16_t result;
77         uint16_t reason;
78         struct ndr_syntax_id syntax;
79 };
80
81 struct dcerpc_bind_ack {
82         uint16_t max_xmit_frag;
83         uint16_t max_recv_frag;
84         uint32_t assoc_group_id;
85         uint16_t secondary_address_size;/* [value(strlen(secondary_address)+1)] */
86         const char *secondary_address;/* [charset(DOS)] */
87         DATA_BLOB _pad1;/* [flag(LIBNDR_FLAG_ALIGN4)] */
88         uint8_t num_results;
89         struct dcerpc_ack_ctx *ctx_list;
90         DATA_BLOB auth_info;/* [flag(LIBNDR_FLAG_REMAINING)] */
91 };
92
93 struct dcerpc_bind_nak_versions {
94         uint32_t num_versions;
95         uint32_t *versions;
96 };
97
98 union dcerpc_bind_nak_versions_ctr {
99         struct dcerpc_bind_nak_versions v;/* [case(DECRPC_BIND_PROTOCOL_VERSION_NOT_SUPPORTED)] */
100 }/* [nodiscriminant] */;
101
102 struct dcerpc_bind_nak {
103         uint16_t reject_reason;
104         union dcerpc_bind_nak_versions_ctr versions;/* [switch_is(reject_reason)] */
105 };
106
107 struct dcerpc_response {
108         uint32_t alloc_hint;
109         uint16_t context_id;
110         uint8_t cancel_count;
111         DATA_BLOB _pad;/* [flag(LIBNDR_FLAG_ALIGN8)] */
112         DATA_BLOB stub_and_verifier;/* [flag(LIBNDR_FLAG_REMAINING)] */
113 };
114
115 enum dcerpc_nca_status
116 #ifndef USE_UINT_ENUMS
117  {
118         DCERPC_NCA_S_COMM_FAILURE=(int)(0x1C010001),
119         DCERPC_NCA_S_OP_RNG_ERROR=(int)(0x1C010002),
120         DCERPC_NCA_S_UNKNOWN_IF=(int)(0x1C010003),
121         DCERPC_NCA_S_WRONG_BOOT_TIME=(int)(0x1C010006),
122         DCERPC_NCA_S_YOU_CRASHED=(int)(0x1C010009),
123         DCERPC_NCA_S_PROTO_ERROR=(int)(0x1C01000B),
124         DCERPC_NCA_S_OUT_ARGS_TOO_BIG=(int)(0x1C010013),
125         DCERPC_NCA_S_SERVER_TOO_BUSY=(int)(0x1C010014),
126         DCERPC_NCA_S_FAULT_STRING_TOO_LARGE=(int)(0x1C010015),
127         DCERPC_NCA_S_UNSUPPORTED_TYPE=(int)(0x1C010017),
128         DCERPC_NCA_S_FAULT_INT_DIV_BY_ZERO=(int)(0x1C000001),
129         DCERPC_NCA_S_FAULT_ADDR_ERROR=(int)(0x1C000002),
130         DCERPC_NCA_S_FAULT_FP_DIV_BY_ZERO=(int)(0x1C000003),
131         DCERPC_NCA_S_FAULT_FP_UNDERFLOW=(int)(0x1C000004),
132         DCERPC_NCA_S_FAULT_FP_OVERRFLOW=(int)(0x1C000005),
133         DCERPC_NCA_S_FAULT_INVALID_TAG=(int)(0x1C000006),
134         DCERPC_NCA_S_FAULT_INVALID_BOUND=(int)(0x1C000007),
135         DCERPC_NCA_S_FAULT_RPC_VERSION_MISMATCH=(int)(0x1C000008),
136         DCERPC_NCA_S_FAULT_UNSPEC_REJECT=(int)(0x1C000009),
137         DCERPC_NCA_S_FAULT_BAD_ACTID=(int)(0x1C00000A),
138         DCERPC_NCA_S_FAULT_WHO_ARE_YOU_FAILED=(int)(0x1C00000B),
139         DCERPC_NCA_S_FAULT_MANAGER_NOT_ENTERED=(int)(0x1C00000C),
140         DCERPC_NCA_S_FAULT_CANCEL=(int)(0x1C00000D),
141         DCERPC_NCA_S_FAULT_ILL_INST=(int)(0x1C00000E),
142         DCERPC_NCA_S_FAULT_FP_ERROR=(int)(0x1C00000F),
143         DCERPC_NCA_S_FAULT_INT_OVERFLOW=(int)(0x1C000010),
144         DCERPC_NCA_S_UNUSED_1C000011=(int)(0x1C000011),
145         DCERPC_NCA_S_FAULT_UNSPEC=(int)(0x1C000012),
146         DCERPC_NCA_S_FAULT_REMOTE_COMM_FAILURE=(int)(0x1C000013),
147         DCERPC_NCA_S_FAULT_PIPE_EMPTY=(int)(0x1C000014),
148         DCERPC_NCA_S_FAULT_PIPE_CLOSED=(int)(0x1C000015),
149         DCERPC_NCA_S_FAULT_PIPE_ORDER=(int)(0x1C000016),
150         DCERPC_NCA_S_FAULT_PIPE_DISCIPLINE=(int)(0x1C000017),
151         DCERPC_NCA_S_FAULT_PIPE_COMM_ERROR=(int)(0x1C000018),
152         DCERPC_NCA_S_FAULT_PIPE_MEMORY=(int)(0x1C000019),
153         DCERPC_NCA_S_FAULT_CONTEXT_MISMATCH=(int)(0x1C00001A),
154         DCERPC_NCA_S_FAULT_REMOTE_NO_MEMORY=(int)(0x1C00001B),
155         DCERPC_NCA_S_INVALID_PRES_CONTEXT_ID=(int)(0x1C00001C),
156         DCERPC_NCA_S_UNSUPPORTED_AUTHN_LEVEL=(int)(0x1C00001D),
157         DCERPC_NCA_S_UNUSED_1C00001E=(int)(0x1C00001E),
158         DCERPC_NCA_S_INVALID_CHECKSUM=(int)(0x1C00001F),
159         DCERPC_NCA_S_INVALID_CRC=(int)(0x1C000020),
160         DCERPC_NCA_S_FAULT_USER_DEFINED=(int)(0x1C000021),
161         DCERPC_NCA_S_FAULT_TX_OPEN_FAILED=(int)(0x1C000022),
162         DCERPC_NCA_S_FAULT_CODESET_CONV_ERROR=(int)(0x1C000023),
163         DCERPC_NCA_S_FAULT_OBJECT_NOT_FOUND=(int)(0x1C000024),
164         DCERPC_NCA_S_FAULT_NO_CLIENT_STUB=(int)(0x1C000025)
165 }
166 #else
167  { __donnot_use_enum_dcerpc_nca_status=0x7FFFFFFF}
168 #define DCERPC_NCA_S_COMM_FAILURE ( 0x1C010001 )
169 #define DCERPC_NCA_S_OP_RNG_ERROR ( 0x1C010002 )
170 #define DCERPC_NCA_S_UNKNOWN_IF ( 0x1C010003 )
171 #define DCERPC_NCA_S_WRONG_BOOT_TIME ( 0x1C010006 )
172 #define DCERPC_NCA_S_YOU_CRASHED ( 0x1C010009 )
173 #define DCERPC_NCA_S_PROTO_ERROR ( 0x1C01000B )
174 #define DCERPC_NCA_S_OUT_ARGS_TOO_BIG ( 0x1C010013 )
175 #define DCERPC_NCA_S_SERVER_TOO_BUSY ( 0x1C010014 )
176 #define DCERPC_NCA_S_FAULT_STRING_TOO_LARGE ( 0x1C010015 )
177 #define DCERPC_NCA_S_UNSUPPORTED_TYPE ( 0x1C010017 )
178 #define DCERPC_NCA_S_FAULT_INT_DIV_BY_ZERO ( 0x1C000001 )
179 #define DCERPC_NCA_S_FAULT_ADDR_ERROR ( 0x1C000002 )
180 #define DCERPC_NCA_S_FAULT_FP_DIV_BY_ZERO ( 0x1C000003 )
181 #define DCERPC_NCA_S_FAULT_FP_UNDERFLOW ( 0x1C000004 )
182 #define DCERPC_NCA_S_FAULT_FP_OVERRFLOW ( 0x1C000005 )
183 #define DCERPC_NCA_S_FAULT_INVALID_TAG ( 0x1C000006 )
184 #define DCERPC_NCA_S_FAULT_INVALID_BOUND ( 0x1C000007 )
185 #define DCERPC_NCA_S_FAULT_RPC_VERSION_MISMATCH ( 0x1C000008 )
186 #define DCERPC_NCA_S_FAULT_UNSPEC_REJECT ( 0x1C000009 )
187 #define DCERPC_NCA_S_FAULT_BAD_ACTID ( 0x1C00000A )
188 #define DCERPC_NCA_S_FAULT_WHO_ARE_YOU_FAILED ( 0x1C00000B )
189 #define DCERPC_NCA_S_FAULT_MANAGER_NOT_ENTERED ( 0x1C00000C )
190 #define DCERPC_NCA_S_FAULT_CANCEL ( 0x1C00000D )
191 #define DCERPC_NCA_S_FAULT_ILL_INST ( 0x1C00000E )
192 #define DCERPC_NCA_S_FAULT_FP_ERROR ( 0x1C00000F )
193 #define DCERPC_NCA_S_FAULT_INT_OVERFLOW ( 0x1C000010 )
194 #define DCERPC_NCA_S_UNUSED_1C000011 ( 0x1C000011 )
195 #define DCERPC_NCA_S_FAULT_UNSPEC ( 0x1C000012 )
196 #define DCERPC_NCA_S_FAULT_REMOTE_COMM_FAILURE ( 0x1C000013 )
197 #define DCERPC_NCA_S_FAULT_PIPE_EMPTY ( 0x1C000014 )
198 #define DCERPC_NCA_S_FAULT_PIPE_CLOSED ( 0x1C000015 )
199 #define DCERPC_NCA_S_FAULT_PIPE_ORDER ( 0x1C000016 )
200 #define DCERPC_NCA_S_FAULT_PIPE_DISCIPLINE ( 0x1C000017 )
201 #define DCERPC_NCA_S_FAULT_PIPE_COMM_ERROR ( 0x1C000018 )
202 #define DCERPC_NCA_S_FAULT_PIPE_MEMORY ( 0x1C000019 )
203 #define DCERPC_NCA_S_FAULT_CONTEXT_MISMATCH ( 0x1C00001A )
204 #define DCERPC_NCA_S_FAULT_REMOTE_NO_MEMORY ( 0x1C00001B )
205 #define DCERPC_NCA_S_INVALID_PRES_CONTEXT_ID ( 0x1C00001C )
206 #define DCERPC_NCA_S_UNSUPPORTED_AUTHN_LEVEL ( 0x1C00001D )
207 #define DCERPC_NCA_S_UNUSED_1C00001E ( 0x1C00001E )
208 #define DCERPC_NCA_S_INVALID_CHECKSUM ( 0x1C00001F )
209 #define DCERPC_NCA_S_INVALID_CRC ( 0x1C000020 )
210 #define DCERPC_NCA_S_FAULT_USER_DEFINED ( 0x1C000021 )
211 #define DCERPC_NCA_S_FAULT_TX_OPEN_FAILED ( 0x1C000022 )
212 #define DCERPC_NCA_S_FAULT_CODESET_CONV_ERROR ( 0x1C000023 )
213 #define DCERPC_NCA_S_FAULT_OBJECT_NOT_FOUND ( 0x1C000024 )
214 #define DCERPC_NCA_S_FAULT_NO_CLIENT_STUB ( 0x1C000025 )
215 #endif
216 ;
217
218 struct dcerpc_fault {
219         uint32_t alloc_hint;
220         uint16_t context_id;
221         uint8_t cancel_count;
222         enum dcerpc_nca_status status;
223         DATA_BLOB _pad;/* [flag(LIBNDR_FLAG_REMAINING)] */
224 };
225
226 enum dcerpc_AuthType
227 #ifndef USE_UINT_ENUMS
228  {
229         DCERPC_AUTH_TYPE_NONE=(int)(0),
230         DCERPC_AUTH_TYPE_KRB5_1=(int)(1),
231         DCERPC_AUTH_TYPE_SPNEGO=(int)(9),
232         DCERPC_AUTH_TYPE_NTLMSSP=(int)(10),
233         DCERPC_AUTH_TYPE_KRB5=(int)(16),
234         DCERPC_AUTH_TYPE_DPA=(int)(17),
235         DCERPC_AUTH_TYPE_MSN=(int)(18),
236         DCERPC_AUTH_TYPE_DIGEST=(int)(21),
237         DCERPC_AUTH_TYPE_SCHANNEL=(int)(68),
238         DCERPC_AUTH_TYPE_MSMQ=(int)(100)
239 }
240 #else
241  { __donnot_use_enum_dcerpc_AuthType=0x7FFFFFFF}
242 #define DCERPC_AUTH_TYPE_NONE ( 0 )
243 #define DCERPC_AUTH_TYPE_KRB5_1 ( 1 )
244 #define DCERPC_AUTH_TYPE_SPNEGO ( 9 )
245 #define DCERPC_AUTH_TYPE_NTLMSSP ( 10 )
246 #define DCERPC_AUTH_TYPE_KRB5 ( 16 )
247 #define DCERPC_AUTH_TYPE_DPA ( 17 )
248 #define DCERPC_AUTH_TYPE_MSN ( 18 )
249 #define DCERPC_AUTH_TYPE_DIGEST ( 21 )
250 #define DCERPC_AUTH_TYPE_SCHANNEL ( 68 )
251 #define DCERPC_AUTH_TYPE_MSMQ ( 100 )
252 #endif
253 ;
254
255 enum dcerpc_AuthLevel
256 #ifndef USE_UINT_ENUMS
257  {
258         DCERPC_AUTH_LEVEL_NONE=(int)(1),
259         DCERPC_AUTH_LEVEL_CONNECT=(int)(2),
260         DCERPC_AUTH_LEVEL_CALL=(int)(3),
261         DCERPC_AUTH_LEVEL_PACKET=(int)(4),
262         DCERPC_AUTH_LEVEL_INTEGRITY=(int)(5),
263         DCERPC_AUTH_LEVEL_PRIVACY=(int)(6)
264 }
265 #else
266  { __donnot_use_enum_dcerpc_AuthLevel=0x7FFFFFFF}
267 #define DCERPC_AUTH_LEVEL_NONE ( 1 )
268 #define DCERPC_AUTH_LEVEL_CONNECT ( 2 )
269 #define DCERPC_AUTH_LEVEL_CALL ( 3 )
270 #define DCERPC_AUTH_LEVEL_PACKET ( 4 )
271 #define DCERPC_AUTH_LEVEL_INTEGRITY ( 5 )
272 #define DCERPC_AUTH_LEVEL_PRIVACY ( 6 )
273 #endif
274 ;
275
276 struct dcerpc_auth {
277         enum dcerpc_AuthType auth_type;
278         enum dcerpc_AuthLevel auth_level;
279         uint8_t auth_pad_length;
280         uint8_t auth_reserved;
281         uint32_t auth_context_id;
282         DATA_BLOB credentials;/* [flag(LIBNDR_FLAG_REMAINING)] */
283 }/* [public] */;
284
285 struct dcerpc_auth3 {
286         uint32_t _pad;/* [value(0)] */
287         DATA_BLOB auth_info;/* [flag(LIBNDR_FLAG_REMAINING)] */
288 }/* [public] */;
289
290 struct dcerpc_orphaned {
291         uint32_t _pad;/* [value(0)] */
292         DATA_BLOB auth_info;/* [flag(LIBNDR_FLAG_REMAINING)] */
293 }/* [public] */;
294
295 struct dcerpc_co_cancel {
296         uint32_t _pad;/* [value(0)] */
297         DATA_BLOB auth_info;/* [flag(LIBNDR_FLAG_REMAINING)] */
298 }/* [public] */;
299
300 struct dcerpc_cl_cancel {
301         uint32_t version;
302         uint32_t id;
303 }/* [public] */;
304
305 struct dcerpc_cancel_ack {
306         uint32_t version;
307         uint32_t id;
308         uint32_t server_is_accepting;
309 }/* [public] */;
310
311 struct dcerpc_fack {
312         uint32_t version;
313         uint8_t _pad1;
314         uint16_t window_size;
315         uint32_t max_tdsu;
316         uint32_t max_frag_size;
317         uint16_t serial_no;
318         uint16_t selack_size;
319         uint32_t *selack;
320 }/* [public] */;
321
322 struct dcerpc_ack {
323         char _empty_;
324 }/* [public] */;
325
326 struct dcerpc_ping {
327         char _empty_;
328 }/* [public] */;
329
330 struct dcerpc_shutdown {
331         char _empty_;
332 }/* [public] */;
333
334 struct dcerpc_working {
335         char _empty_;
336 }/* [public] */;
337
338 enum dcerpc_pkt_type
339 #ifndef USE_UINT_ENUMS
340  {
341         DCERPC_PKT_REQUEST=(int)(0),
342         DCERPC_PKT_PING=(int)(1),
343         DCERPC_PKT_RESPONSE=(int)(2),
344         DCERPC_PKT_FAULT=(int)(3),
345         DCERPC_PKT_WORKING=(int)(4),
346         DCERPC_PKT_NOCALL=(int)(5),
347         DCERPC_PKT_REJECT=(int)(6),
348         DCERPC_PKT_ACK=(int)(7),
349         DCERPC_PKT_CL_CANCEL=(int)(8),
350         DCERPC_PKT_FACK=(int)(9),
351         DCERPC_PKT_CANCEL_ACK=(int)(10),
352         DCERPC_PKT_BIND=(int)(11),
353         DCERPC_PKT_BIND_ACK=(int)(12),
354         DCERPC_PKT_BIND_NAK=(int)(13),
355         DCERPC_PKT_ALTER=(int)(14),
356         DCERPC_PKT_ALTER_RESP=(int)(15),
357         DCERPC_PKT_AUTH3=(int)(16),
358         DCERPC_PKT_SHUTDOWN=(int)(17),
359         DCERPC_PKT_CO_CANCEL=(int)(18),
360         DCERPC_PKT_ORPHANED=(int)(19)
361 }
362 #else
363  { __donnot_use_enum_dcerpc_pkt_type=0x7FFFFFFF}
364 #define DCERPC_PKT_REQUEST ( 0 )
365 #define DCERPC_PKT_PING ( 1 )
366 #define DCERPC_PKT_RESPONSE ( 2 )
367 #define DCERPC_PKT_FAULT ( 3 )
368 #define DCERPC_PKT_WORKING ( 4 )
369 #define DCERPC_PKT_NOCALL ( 5 )
370 #define DCERPC_PKT_REJECT ( 6 )
371 #define DCERPC_PKT_ACK ( 7 )
372 #define DCERPC_PKT_CL_CANCEL ( 8 )
373 #define DCERPC_PKT_FACK ( 9 )
374 #define DCERPC_PKT_CANCEL_ACK ( 10 )
375 #define DCERPC_PKT_BIND ( 11 )
376 #define DCERPC_PKT_BIND_ACK ( 12 )
377 #define DCERPC_PKT_BIND_NAK ( 13 )
378 #define DCERPC_PKT_ALTER ( 14 )
379 #define DCERPC_PKT_ALTER_RESP ( 15 )
380 #define DCERPC_PKT_AUTH3 ( 16 )
381 #define DCERPC_PKT_SHUTDOWN ( 17 )
382 #define DCERPC_PKT_CO_CANCEL ( 18 )
383 #define DCERPC_PKT_ORPHANED ( 19 )
384 #endif
385 ;
386
387 union dcerpc_payload {
388         struct dcerpc_request request;/* [case(DCERPC_PKT_REQUEST)] */
389         struct dcerpc_ping ping;/* [case(DCERPC_PKT_PING)] */
390         struct dcerpc_response response;/* [case(DCERPC_PKT_RESPONSE)] */
391         struct dcerpc_fault fault;/* [case(DCERPC_PKT_FAULT)] */
392         struct dcerpc_working working;/* [case(DCERPC_PKT_WORKING)] */
393         struct dcerpc_fack nocall;/* [case(DCERPC_PKT_NOCALL)] */
394         struct dcerpc_fault reject;/* [case(DCERPC_PKT_REJECT)] */
395         struct dcerpc_ack ack;/* [case(DCERPC_PKT_ACK)] */
396         struct dcerpc_cl_cancel cl_cancel;/* [case(DCERPC_PKT_CL_CANCEL)] */
397         struct dcerpc_fack fack;/* [case(DCERPC_PKT_FACK)] */
398         struct dcerpc_cancel_ack cancel_ack;/* [case(DCERPC_PKT_CANCEL_ACK)] */
399         struct dcerpc_bind bind;/* [case(DCERPC_PKT_BIND)] */
400         struct dcerpc_bind_ack bind_ack;/* [case(DCERPC_PKT_BIND_ACK)] */
401         struct dcerpc_bind_nak bind_nak;/* [case(DCERPC_PKT_BIND_NAK)] */
402         struct dcerpc_bind alter;/* [case(DCERPC_PKT_ALTER)] */
403         struct dcerpc_bind_ack alter_resp;/* [case(DCERPC_PKT_ALTER_RESP)] */
404         struct dcerpc_shutdown shutdown;/* [case(DCERPC_PKT_SHUTDOWN)] */
405         struct dcerpc_co_cancel co_cancel;/* [case(DCERPC_PKT_CO_CANCEL)] */
406         struct dcerpc_orphaned orphaned;/* [case(DCERPC_PKT_ORPHANED)] */
407         struct dcerpc_auth3 auth3;/* [case(DCERPC_PKT_AUTH3)] */
408 }/* [nodiscriminant] */;
409
410 struct ncacn_packet {
411         uint8_t rpc_vers;
412         uint8_t rpc_vers_minor;
413         enum dcerpc_pkt_type ptype;
414         uint8_t pfc_flags;
415         uint8_t drep[4];
416         uint16_t frag_length;
417         uint16_t auth_length;
418         uint32_t call_id;
419         union dcerpc_payload u;/* [switch_is(ptype)] */
420 }/* [public] */;
421
422 struct ncadg_packet {
423         uint8_t rpc_vers;
424         uint8_t ptype;
425         uint8_t pfc_flags;
426         uint8_t ncadg_flags;
427         uint8_t drep[3];
428         uint8_t serial_high;
429         struct GUID object;
430         struct GUID iface;
431         struct GUID activity;
432         uint32_t server_boot;
433         uint32_t iface_version;
434         uint32_t seq_num;
435         uint16_t opnum;
436         uint16_t ihint;
437         uint16_t ahint;
438         uint16_t len;
439         uint16_t fragnum;
440         uint8_t auth_proto;
441         uint8_t serial_low;
442         union dcerpc_payload u;/* [switch_is(ptype)] */
443 }/* [public] */;
444
445 #endif /* _HEADER_dcerpc */