Merge branch 'master' of ssh://git.samba.org/data/git/samba
[ira/wip.git] / librpc / gen_ndr / epmapper.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_epmapper
9 #define _HEADER_epmapper
10
11 #define EPMAPPER_STATUS_NO_MORE_ENTRIES ( 0x16c9a0d6 )
12 #define EPMAPPER_STATUS_NO_MEMORY       ( 0x16C9A012 )
13 #define EPMAPPER_STATUS_OK      ( 0 )
14 enum epm_protocol
15 #ifndef USE_UINT_ENUMS
16  {
17         EPM_PROTOCOL_DNET_NSP=0x04,
18         EPM_PROTOCOL_OSI_TP4=0x05,
19         EPM_PROTOCOL_OSI_CLNS=0x06,
20         EPM_PROTOCOL_TCP=0x07,
21         EPM_PROTOCOL_UDP=0x08,
22         EPM_PROTOCOL_IP=0x09,
23         EPM_PROTOCOL_NCADG=0x0a,
24         EPM_PROTOCOL_NCACN=0x0b,
25         EPM_PROTOCOL_NCALRPC=0x0c,
26         EPM_PROTOCOL_UUID=0x0d,
27         EPM_PROTOCOL_IPX=0x0e,
28         EPM_PROTOCOL_SMB=0x0f,
29         EPM_PROTOCOL_PIPE=0x10,
30         EPM_PROTOCOL_NETBIOS=0x11,
31         EPM_PROTOCOL_NETBEUI=0x12,
32         EPM_PROTOCOL_SPX=0x13,
33         EPM_PROTOCOL_NB_IPX=0x14,
34         EPM_PROTOCOL_DSP=0x16,
35         EPM_PROTOCOL_DDP=0x17,
36         EPM_PROTOCOL_APPLETALK=0x18,
37         EPM_PROTOCOL_VINES_SPP=0x1a,
38         EPM_PROTOCOL_VINES_IPC=0x1b,
39         EPM_PROTOCOL_STREETTALK=0x1c,
40         EPM_PROTOCOL_HTTP=0x1f,
41         EPM_PROTOCOL_UNIX_DS=0x20,
42         EPM_PROTOCOL_NULL=0x21
43 }
44 #else
45  { __donnot_use_enum_epm_protocol=0x7FFFFFFF}
46 #define EPM_PROTOCOL_DNET_NSP ( 0x04 )
47 #define EPM_PROTOCOL_OSI_TP4 ( 0x05 )
48 #define EPM_PROTOCOL_OSI_CLNS ( 0x06 )
49 #define EPM_PROTOCOL_TCP ( 0x07 )
50 #define EPM_PROTOCOL_UDP ( 0x08 )
51 #define EPM_PROTOCOL_IP ( 0x09 )
52 #define EPM_PROTOCOL_NCADG ( 0x0a )
53 #define EPM_PROTOCOL_NCACN ( 0x0b )
54 #define EPM_PROTOCOL_NCALRPC ( 0x0c )
55 #define EPM_PROTOCOL_UUID ( 0x0d )
56 #define EPM_PROTOCOL_IPX ( 0x0e )
57 #define EPM_PROTOCOL_SMB ( 0x0f )
58 #define EPM_PROTOCOL_PIPE ( 0x10 )
59 #define EPM_PROTOCOL_NETBIOS ( 0x11 )
60 #define EPM_PROTOCOL_NETBEUI ( 0x12 )
61 #define EPM_PROTOCOL_SPX ( 0x13 )
62 #define EPM_PROTOCOL_NB_IPX ( 0x14 )
63 #define EPM_PROTOCOL_DSP ( 0x16 )
64 #define EPM_PROTOCOL_DDP ( 0x17 )
65 #define EPM_PROTOCOL_APPLETALK ( 0x18 )
66 #define EPM_PROTOCOL_VINES_SPP ( 0x1a )
67 #define EPM_PROTOCOL_VINES_IPC ( 0x1b )
68 #define EPM_PROTOCOL_STREETTALK ( 0x1c )
69 #define EPM_PROTOCOL_HTTP ( 0x1f )
70 #define EPM_PROTOCOL_UNIX_DS ( 0x20 )
71 #define EPM_PROTOCOL_NULL ( 0x21 )
72 #endif
73 ;
74
75 struct epm_rhs_dnet_nsp {
76         char _empty_;
77 };
78
79 struct epm_rhs_osi_tp4 {
80         char _empty_;
81 };
82
83 struct epm_rhs_osi_clns {
84         char _empty_;
85 };
86
87 struct epm_rhs_udp {
88         uint16_t port;
89 };
90
91 struct epm_rhs_tcp {
92         uint16_t port;
93 };
94
95 struct epm_rhs_ip {
96         const char * ipaddr;
97 };
98
99 struct epm_rhs_ncadg {
100         uint16_t minor_version;
101 };
102
103 struct epm_rhs_ncacn {
104         uint16_t minor_version;
105 };
106
107 struct epm_rhs_uuid {
108         DATA_BLOB unknown;/* [flag(LIBNDR_FLAG_REMAINING)] */
109 };
110
111 struct epm_rhs_ipx {
112         char _empty_;
113 };
114
115 struct epm_rhs_smb {
116         const char * unc;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
117 };
118
119 struct epm_rhs_pipe {
120         const char * path;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
121 };
122
123 struct epm_rhs_netbios {
124         const char * name;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
125 };
126
127 struct epm_rhs_netbeui {
128         char _empty_;
129 };
130
131 struct epm_rhs_spx {
132         char _empty_;
133 };
134
135 struct epm_rhs_nb_ipx {
136         char _empty_;
137 };
138
139 struct epm_rhs_http {
140         uint16_t port;
141 };
142
143 struct epm_rhs_unix_ds {
144         const char * path;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
145 };
146
147 struct epm_rhs_null {
148         char _empty_;
149 };
150
151 struct epm_rhs_ncalrpc {
152         uint16_t minor_version;
153 };
154
155 struct epm_rhs_appletalk {
156         char _empty_;
157 };
158
159 struct epm_rhs_atalk_stream {
160         char _empty_;
161 };
162
163 struct epm_rhs_atalk_datagram {
164         char _empty_;
165 };
166
167 struct epm_rhs_vines_spp {
168         uint16_t port;
169 };
170
171 struct epm_rhs_vines_ipc {
172         uint16_t port;
173 };
174
175 struct epm_rhs_streettalk {
176         const char * streettalk;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
177 };
178
179 union epm_rhs {
180         struct epm_rhs_dnet_nsp dnet_nsp;/* [case(EPM_PROTOCOL_DNET_NSP)] */
181         struct epm_rhs_osi_tp4 osi_tp4;/* [case(EPM_PROTOCOL_OSI_TP4)] */
182         struct epm_rhs_osi_clns osi_clns;/* [case(EPM_PROTOCOL_OSI_CLNS)] */
183         struct epm_rhs_tcp tcp;/* [case(EPM_PROTOCOL_TCP)] */
184         struct epm_rhs_udp udp;/* [case(EPM_PROTOCOL_UDP)] */
185         struct epm_rhs_ip ip;/* [case(EPM_PROTOCOL_IP)] */
186         struct epm_rhs_ncadg ncadg;/* [case(EPM_PROTOCOL_NCADG)] */
187         struct epm_rhs_ncacn ncacn;/* [case(EPM_PROTOCOL_NCACN)] */
188         struct epm_rhs_ncalrpc ncalrpc;/* [case(EPM_PROTOCOL_NCALRPC)] */
189         struct epm_rhs_uuid uuid;/* [case(EPM_PROTOCOL_UUID)] */
190         struct epm_rhs_ipx ipx;/* [case(EPM_PROTOCOL_IPX)] */
191         struct epm_rhs_smb smb;/* [case(EPM_PROTOCOL_SMB)] */
192         struct epm_rhs_pipe pipe;/* [case(EPM_PROTOCOL_PIPE)] */
193         struct epm_rhs_netbios netbios;/* [case(EPM_PROTOCOL_NETBIOS)] */
194         struct epm_rhs_netbeui netbeui;/* [case(EPM_PROTOCOL_NETBEUI)] */
195         struct epm_rhs_spx spx;/* [case(EPM_PROTOCOL_SPX)] */
196         struct epm_rhs_nb_ipx nb_ipx;/* [case(EPM_PROTOCOL_NB_IPX)] */
197         struct epm_rhs_atalk_stream atalk_stream;/* [case(EPM_PROTOCOL_DSP)] */
198         struct epm_rhs_atalk_datagram atalk_datagram;/* [case(EPM_PROTOCOL_DDP)] */
199         struct epm_rhs_appletalk appletalk;/* [case(EPM_PROTOCOL_APPLETALK)] */
200         struct epm_rhs_vines_spp vines_spp;/* [case(EPM_PROTOCOL_VINES_SPP)] */
201         struct epm_rhs_vines_ipc vines_ipc;/* [case(EPM_PROTOCOL_VINES_IPC)] */
202         struct epm_rhs_streettalk streettalk;/* [case(EPM_PROTOCOL_STREETTALK)] */
203         struct epm_rhs_http http;/* [case(EPM_PROTOCOL_HTTP)] */
204         struct epm_rhs_unix_ds unix_ds;/* [case(EPM_PROTOCOL_UNIX_DS)] */
205         struct epm_rhs_null null;/* [case(EPM_PROTOCOL_NULL)] */
206         DATA_BLOB unknown;/* [default,flag(LIBNDR_FLAG_REMAINING)] */
207 }/* [nodiscriminant,flag(LIBNDR_FLAG_BIGENDIAN)] */;
208
209 struct epm_lhs {
210         enum epm_protocol protocol;
211         DATA_BLOB lhs_data;/* [flag(LIBNDR_FLAG_REMAINING)] */
212 };
213
214 struct epm_floor {
215         struct epm_lhs lhs;/* [subcontext(2)] */
216         union epm_rhs rhs;/* [subcontext(2),switch_is(lhs.protocol)] */
217 };
218
219 struct epm_tower {
220         uint16_t num_floors;
221         struct epm_floor *floors;
222 }/* [gensize,flag(LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_LITTLE_ENDIAN)] */;
223
224 struct epm_twr_t {
225         uint32_t tower_length;/* [value(ndr_size_epm_tower(&tower,ndr->iconv_convenience,ndr->flags))] */
226         struct epm_tower tower;/* [subcontext(4)] */
227 };
228
229 struct epm_entry_t {
230         struct GUID object;
231         struct epm_twr_t *tower;/* [ptr] */
232         uint32_t __annotation_offset;/* [value(0)] */
233         uint32_t __annotation_length;/* [value(strlen(annotation)+1)] */
234         const char *annotation;/* [charset(DOS)] */
235 };
236
237 struct rpc_if_id_t {
238         struct GUID uuid;
239         uint16_t vers_major;
240         uint16_t vers_minor;
241 };
242
243 struct epm_twr_p_t {
244         struct epm_twr_t *twr;/* [ptr] */
245 };
246
247
248 struct epm_Insert {
249         struct {
250                 uint32_t num_ents;
251                 struct epm_entry_t *entries;/* [size_is(num_ents)] */
252                 uint32_t replace;
253         } in;
254
255         struct {
256                 uint32_t result;
257         } out;
258
259 };
260
261
262 struct epm_Delete {
263         struct {
264                 uint32_t num_ents;
265                 struct epm_entry_t *entries;/* [size_is(num_ents)] */
266         } in;
267
268         struct {
269                 uint32_t result;
270         } out;
271
272 };
273
274
275 struct epm_Lookup {
276         struct {
277                 uint32_t inquiry_type;
278                 struct GUID *object;/* [ptr] */
279                 struct rpc_if_id_t *interface_id;/* [ptr] */
280                 uint32_t vers_option;
281                 uint32_t max_ents;
282                 struct policy_handle *entry_handle;/* [ref] */
283         } in;
284
285         struct {
286                 uint32_t *num_ents;/* [ref] */
287                 struct epm_entry_t *entries;/* [length_is(*num_ents),size_is(max_ents)] */
288                 struct policy_handle *entry_handle;/* [ref] */
289                 uint32_t result;
290         } out;
291
292 };
293
294
295 struct epm_Map {
296         struct {
297                 struct GUID *object;/* [ptr] */
298                 struct epm_twr_t *map_tower;/* [ptr] */
299                 uint32_t max_towers;
300                 struct policy_handle *entry_handle;/* [ref] */
301         } in;
302
303         struct {
304                 uint32_t *num_towers;/* [ref] */
305                 struct epm_twr_p_t *towers;/* [length_is(*num_towers),size_is(max_towers)] */
306                 struct policy_handle *entry_handle;/* [ref] */
307                 uint32_t result;
308         } out;
309
310 };
311
312
313 struct epm_LookupHandleFree {
314         struct {
315                 struct policy_handle *entry_handle;/* [ref] */
316         } in;
317
318         struct {
319                 struct policy_handle *entry_handle;/* [ref] */
320                 uint32_t result;
321         } out;
322
323 };
324
325
326 struct epm_InqObject {
327         struct {
328                 struct GUID *epm_object;/* [ref] */
329         } in;
330
331         struct {
332                 uint32_t result;
333         } out;
334
335 };
336
337
338 struct epm_MgmtDelete {
339         struct {
340                 uint32_t object_speced;
341                 struct GUID *object;/* [ptr] */
342                 struct epm_twr_t *tower;/* [ptr] */
343         } in;
344
345         struct {
346                 uint32_t result;
347         } out;
348
349 };
350
351
352 struct epm_MapAuth {
353         struct {
354                 uint32_t result;
355         } out;
356
357 };
358
359 #endif /* _HEADER_epmapper */