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