source: branches/samba-3.5.x/librpc/gen_ndr/dcerpc.h

Last change on this file was 596, checked in by Herwig Bauernfeind, 14 years ago

Samba 3.5: Update trunk to 3.5.8

File size: 9.9 KB
Line 
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_SEC_PKG_ERROR ( 0x00000721 )
26#define DCERPC_FAULT_TODO ( 0x00000042 )
27#define DCERPC_AUTH_LEVEL_DEFAULT ( DCERPC_AUTH_LEVEL_CONNECT )
28#define DCERPC_AUTH_TRAILER_LENGTH ( 8 )
29#define DCERPC_PFC_FLAG_FIRST ( 0x01 )
30#define DCERPC_PFC_FLAG_LAST ( 0x02 )
31#define DCERPC_PFC_FLAG_PENDING_CANCEL ( 0x04 )
32#define DCERPC_PFC_FLAG_SUPPORT_HEADER_SIGN ( DCERPC_PFC_FLAG_PENDING_CANCEL )
33#define DCERPC_PFC_FLAG_CONC_MPX ( 0x10 )
34#define DCERPC_PFC_FLAG_DID_NOT_EXECUTE ( 0x20 )
35#define DCERPC_PFC_FLAG_MAYBE ( 0x40 )
36#define DCERPC_PFC_FLAG_OBJECT_UUID ( 0x80 )
37#define DCERPC_PFC_OFFSET ( 3 )
38#define DCERPC_DREP_OFFSET ( 4 )
39#define DCERPC_FRAG_LEN_OFFSET ( 8 )
40#define DCERPC_AUTH_LEN_OFFSET ( 10 )
41#define DCERPC_DREP_LE ( 0x10 )
42struct dcerpc_ctx_list {
43 uint16_t context_id;
44 uint8_t num_transfer_syntaxes;
45 struct ndr_syntax_id abstract_syntax;
46 struct ndr_syntax_id *transfer_syntaxes;
47};
48
49struct dcerpc_bind {
50 uint16_t max_xmit_frag;
51 uint16_t max_recv_frag;
52 uint32_t assoc_group_id;
53 uint8_t num_contexts;
54 struct dcerpc_ctx_list *ctx_list;
55 DATA_BLOB _pad;/* [flag(LIBNDR_FLAG_ALIGN4)] */
56 DATA_BLOB auth_info;/* [flag(LIBNDR_FLAG_REMAINING)] */
57};
58
59struct dcerpc_empty {
60 char _empty_;
61};
62
63union dcerpc_object {
64 struct dcerpc_empty empty;/* [default] */
65 struct GUID object;/* [case(LIBNDR_FLAG_OBJECT_PRESENT)] */
66}/* [nodiscriminant] */;
67
68struct dcerpc_request {
69 uint32_t alloc_hint;
70 uint16_t context_id;
71 uint16_t opnum;
72 union dcerpc_object object;/* [switch_is(ndr->flags&LIBNDR_FLAG_OBJECT_PRESENT)] */
73 DATA_BLOB _pad;/* [flag(LIBNDR_FLAG_ALIGN8)] */
74 DATA_BLOB stub_and_verifier;/* [flag(LIBNDR_FLAG_REMAINING)] */
75};
76
77struct dcerpc_ack_ctx {
78 uint16_t result;
79 uint16_t reason;
80 struct ndr_syntax_id syntax;
81};
82
83struct dcerpc_bind_ack {
84 uint16_t max_xmit_frag;
85 uint16_t max_recv_frag;
86 uint32_t assoc_group_id;
87 uint16_t secondary_address_size;/* [value(strlen(secondary_address)+1)] */
88 const char *secondary_address;/* [charset(DOS)] */
89 DATA_BLOB _pad1;/* [flag(LIBNDR_FLAG_ALIGN4)] */
90 uint8_t num_results;
91 struct dcerpc_ack_ctx *ctx_list;
92 DATA_BLOB auth_info;/* [flag(LIBNDR_FLAG_REMAINING)] */
93};
94
95struct dcerpc_bind_nak_versions {
96 uint32_t num_versions;
97 uint32_t *versions;
98};
99
100union dcerpc_bind_nak_versions_ctr {
101 struct dcerpc_bind_nak_versions v;/* [case(DECRPC_BIND_PROTOCOL_VERSION_NOT_SUPPORTED)] */
102}/* [nodiscriminant] */;
103
104struct dcerpc_bind_nak {
105 uint16_t reject_reason;
106 union dcerpc_bind_nak_versions_ctr versions;/* [switch_is(reject_reason)] */
107};
108
109struct dcerpc_response {
110 uint32_t alloc_hint;
111 uint16_t context_id;
112 uint8_t cancel_count;
113 DATA_BLOB _pad;/* [flag(LIBNDR_FLAG_ALIGN8)] */
114 DATA_BLOB stub_and_verifier;/* [flag(LIBNDR_FLAG_REMAINING)] */
115};
116
117struct dcerpc_fault {
118 uint32_t alloc_hint;
119 uint16_t context_id;
120 uint8_t cancel_count;
121 uint32_t status;
122 DATA_BLOB _pad;/* [flag(LIBNDR_FLAG_REMAINING)] */
123};
124
125enum dcerpc_AuthType
126#ifndef USE_UINT_ENUMS
127 {
128 DCERPC_AUTH_TYPE_NONE=(int)(0),
129 DCERPC_AUTH_TYPE_KRB5_1=(int)(1),
130 DCERPC_AUTH_TYPE_SPNEGO=(int)(9),
131 DCERPC_AUTH_TYPE_NTLMSSP=(int)(10),
132 DCERPC_AUTH_TYPE_KRB5=(int)(16),
133 DCERPC_AUTH_TYPE_DPA=(int)(17),
134 DCERPC_AUTH_TYPE_MSN=(int)(18),
135 DCERPC_AUTH_TYPE_DIGEST=(int)(21),
136 DCERPC_AUTH_TYPE_SCHANNEL=(int)(68),
137 DCERPC_AUTH_TYPE_MSMQ=(int)(100)
138}
139#else
140 { __donnot_use_enum_dcerpc_AuthType=0x7FFFFFFF}
141#define DCERPC_AUTH_TYPE_NONE ( 0 )
142#define DCERPC_AUTH_TYPE_KRB5_1 ( 1 )
143#define DCERPC_AUTH_TYPE_SPNEGO ( 9 )
144#define DCERPC_AUTH_TYPE_NTLMSSP ( 10 )
145#define DCERPC_AUTH_TYPE_KRB5 ( 16 )
146#define DCERPC_AUTH_TYPE_DPA ( 17 )
147#define DCERPC_AUTH_TYPE_MSN ( 18 )
148#define DCERPC_AUTH_TYPE_DIGEST ( 21 )
149#define DCERPC_AUTH_TYPE_SCHANNEL ( 68 )
150#define DCERPC_AUTH_TYPE_MSMQ ( 100 )
151#endif
152;
153
154enum dcerpc_AuthLevel
155#ifndef USE_UINT_ENUMS
156 {
157 DCERPC_AUTH_LEVEL_NONE=(int)(1),
158 DCERPC_AUTH_LEVEL_CONNECT=(int)(2),
159 DCERPC_AUTH_LEVEL_CALL=(int)(3),
160 DCERPC_AUTH_LEVEL_PACKET=(int)(4),
161 DCERPC_AUTH_LEVEL_INTEGRITY=(int)(5),
162 DCERPC_AUTH_LEVEL_PRIVACY=(int)(6)
163}
164#else
165 { __donnot_use_enum_dcerpc_AuthLevel=0x7FFFFFFF}
166#define DCERPC_AUTH_LEVEL_NONE ( 1 )
167#define DCERPC_AUTH_LEVEL_CONNECT ( 2 )
168#define DCERPC_AUTH_LEVEL_CALL ( 3 )
169#define DCERPC_AUTH_LEVEL_PACKET ( 4 )
170#define DCERPC_AUTH_LEVEL_INTEGRITY ( 5 )
171#define DCERPC_AUTH_LEVEL_PRIVACY ( 6 )
172#endif
173;
174
175struct dcerpc_auth {
176 enum dcerpc_AuthType auth_type;
177 enum dcerpc_AuthLevel auth_level;
178 uint8_t auth_pad_length;
179 uint8_t auth_reserved;
180 uint32_t auth_context_id;
181 DATA_BLOB credentials;/* [flag(LIBNDR_FLAG_REMAINING)] */
182}/* [public] */;
183
184struct dcerpc_auth3 {
185 uint32_t _pad;
186 DATA_BLOB auth_info;/* [flag(LIBNDR_FLAG_REMAINING)] */
187}/* [public] */;
188
189struct dcerpc_orphaned {
190 uint32_t _pad;
191 DATA_BLOB auth_info;/* [flag(LIBNDR_FLAG_REMAINING)] */
192}/* [public] */;
193
194struct dcerpc_co_cancel {
195 uint32_t _pad;
196 DATA_BLOB auth_info;/* [flag(LIBNDR_FLAG_REMAINING)] */
197}/* [public] */;
198
199struct dcerpc_cl_cancel {
200 uint32_t version;
201 uint32_t id;
202}/* [public] */;
203
204struct dcerpc_cancel_ack {
205 uint32_t version;
206 uint32_t id;
207 uint32_t server_is_accepting;
208}/* [public] */;
209
210struct dcerpc_fack {
211 uint32_t version;
212 uint8_t _pad1;
213 uint16_t window_size;
214 uint32_t max_tdsu;
215 uint32_t max_frag_size;
216 uint16_t serial_no;
217 uint16_t selack_size;
218 uint32_t *selack;
219}/* [public] */;
220
221struct dcerpc_ack {
222 char _empty_;
223}/* [public] */;
224
225struct dcerpc_ping {
226 char _empty_;
227}/* [public] */;
228
229struct dcerpc_shutdown {
230 char _empty_;
231}/* [public] */;
232
233struct dcerpc_working {
234 char _empty_;
235}/* [public] */;
236
237enum dcerpc_pkt_type
238#ifndef USE_UINT_ENUMS
239 {
240 DCERPC_PKT_REQUEST=(int)(0),
241 DCERPC_PKT_PING=(int)(1),
242 DCERPC_PKT_RESPONSE=(int)(2),
243 DCERPC_PKT_FAULT=(int)(3),
244 DCERPC_PKT_WORKING=(int)(4),
245 DCERPC_PKT_NOCALL=(int)(5),
246 DCERPC_PKT_REJECT=(int)(6),
247 DCERPC_PKT_ACK=(int)(7),
248 DCERPC_PKT_CL_CANCEL=(int)(8),
249 DCERPC_PKT_FACK=(int)(9),
250 DCERPC_PKT_CANCEL_ACK=(int)(10),
251 DCERPC_PKT_BIND=(int)(11),
252 DCERPC_PKT_BIND_ACK=(int)(12),
253 DCERPC_PKT_BIND_NAK=(int)(13),
254 DCERPC_PKT_ALTER=(int)(14),
255 DCERPC_PKT_ALTER_RESP=(int)(15),
256 DCERPC_PKT_AUTH3=(int)(16),
257 DCERPC_PKT_SHUTDOWN=(int)(17),
258 DCERPC_PKT_CO_CANCEL=(int)(18),
259 DCERPC_PKT_ORPHANED=(int)(19)
260}
261#else
262 { __donnot_use_enum_dcerpc_pkt_type=0x7FFFFFFF}
263#define DCERPC_PKT_REQUEST ( 0 )
264#define DCERPC_PKT_PING ( 1 )
265#define DCERPC_PKT_RESPONSE ( 2 )
266#define DCERPC_PKT_FAULT ( 3 )
267#define DCERPC_PKT_WORKING ( 4 )
268#define DCERPC_PKT_NOCALL ( 5 )
269#define DCERPC_PKT_REJECT ( 6 )
270#define DCERPC_PKT_ACK ( 7 )
271#define DCERPC_PKT_CL_CANCEL ( 8 )
272#define DCERPC_PKT_FACK ( 9 )
273#define DCERPC_PKT_CANCEL_ACK ( 10 )
274#define DCERPC_PKT_BIND ( 11 )
275#define DCERPC_PKT_BIND_ACK ( 12 )
276#define DCERPC_PKT_BIND_NAK ( 13 )
277#define DCERPC_PKT_ALTER ( 14 )
278#define DCERPC_PKT_ALTER_RESP ( 15 )
279#define DCERPC_PKT_AUTH3 ( 16 )
280#define DCERPC_PKT_SHUTDOWN ( 17 )
281#define DCERPC_PKT_CO_CANCEL ( 18 )
282#define DCERPC_PKT_ORPHANED ( 19 )
283#endif
284;
285
286union dcerpc_payload {
287 struct dcerpc_request request;/* [case(DCERPC_PKT_REQUEST)] */
288 struct dcerpc_ping ping;/* [case(DCERPC_PKT_PING)] */
289 struct dcerpc_response response;/* [case(DCERPC_PKT_RESPONSE)] */
290 struct dcerpc_fault fault;/* [case(DCERPC_PKT_FAULT)] */
291 struct dcerpc_working working;/* [case(DCERPC_PKT_WORKING)] */
292 struct dcerpc_fack nocall;/* [case(DCERPC_PKT_NOCALL)] */
293 struct dcerpc_fault reject;/* [case(DCERPC_PKT_REJECT)] */
294 struct dcerpc_ack ack;/* [case(DCERPC_PKT_ACK)] */
295 struct dcerpc_cl_cancel cl_cancel;/* [case(DCERPC_PKT_CL_CANCEL)] */
296 struct dcerpc_fack fack;/* [case(DCERPC_PKT_FACK)] */
297 struct dcerpc_cancel_ack cancel_ack;/* [case(DCERPC_PKT_CANCEL_ACK)] */
298 struct dcerpc_bind bind;/* [case(DCERPC_PKT_BIND)] */
299 struct dcerpc_bind_ack bind_ack;/* [case(DCERPC_PKT_BIND_ACK)] */
300 struct dcerpc_bind_nak bind_nak;/* [case(DCERPC_PKT_BIND_NAK)] */
301 struct dcerpc_bind alter;/* [case(DCERPC_PKT_ALTER)] */
302 struct dcerpc_bind_ack alter_resp;/* [case(DCERPC_PKT_ALTER_RESP)] */
303 struct dcerpc_shutdown shutdown;/* [case(DCERPC_PKT_SHUTDOWN)] */
304 struct dcerpc_co_cancel co_cancel;/* [case(DCERPC_PKT_CO_CANCEL)] */
305 struct dcerpc_orphaned orphaned;/* [case(DCERPC_PKT_ORPHANED)] */
306 struct dcerpc_auth3 auth3;/* [case(DCERPC_PKT_AUTH3)] */
307}/* [nodiscriminant] */;
308
309struct ncacn_packet {
310 uint8_t rpc_vers;
311 uint8_t rpc_vers_minor;
312 enum dcerpc_pkt_type ptype;
313 uint8_t pfc_flags;
314 uint8_t drep[4];
315 uint16_t frag_length;
316 uint16_t auth_length;
317 uint32_t call_id;
318 union dcerpc_payload u;/* [switch_is(ptype)] */
319}/* [public] */;
320
321struct ncadg_packet {
322 uint8_t rpc_vers;
323 uint8_t ptype;
324 uint8_t pfc_flags;
325 uint8_t ncadg_flags;
326 uint8_t drep[3];
327 uint8_t serial_high;
328 struct GUID object;
329 struct GUID iface;
330 struct GUID activity;
331 uint32_t server_boot;
332 uint32_t iface_version;
333 uint32_t seq_num;
334 uint16_t opnum;
335 uint16_t ihint;
336 uint16_t ahint;
337 uint16_t len;
338 uint16_t fragnum;
339 uint8_t auth_proto;
340 uint8_t serial_low;
341 union dcerpc_payload u;/* [switch_is(ptype)] */
342}/* [public] */;
343
344#endif /* _HEADER_dcerpc */
Note: See TracBrowser for help on using the repository browser.