rerun 'make idl'
[metze/samba/wb-ndr.git] / source / librpc / gen_ndr / winbind_protocol.h
1 /* header auto-generated by pidl */
2
3 #include <stdint.h>
4
5 #include "librpc/gen_ndr/security.h"
6 #include "librpc/gen_ndr/lsa.h"
7 #ifndef _HEADER_winbind_protocol
8 #define _HEADER_winbind_protocol
9
10 #define WINBIND_MAX_LENGTH_PRIVILEGED   ( 0x0FFFFFFF )
11 #define WINBIND_MAX_LENGTH_UNPRIVILEGED ( 0x00020000 )
12 #define WINBIND_STATUS_FOOBAR   ( WINBIND_STATUS_UNKNOWN_ERROR )
13 #define WINBIND_HEADER_SIZE     ( 0x10 )
14 enum lsa_SidType;
15
16 enum winbind_status
17 #ifndef USE_UINT_ENUMS
18  {
19         WINBIND_STATUS_OK=0x00000000,
20         WINBIND_STATUS_UNKNOWN_ERROR=0x57420001,
21         WINBIND_STATUS_NOT_IMPLEMENTED=0x57420002,
22         WINBIND_STATUS_NOT_SUPPORTED=0x57420003,
23         WINBIND_STATUS_NO_MEMORY=0x57420004,
24         WINBIND_STATUS_INVALID_PARAMETER=0x57420005,
25         WINBIND_STATUS_INVALID_LEVEL=0x57420006,
26         WINBIND_STATUS_UNKNOWN_LEVEL=0x57420007,
27         WINBIND_STATUS_DOMAIN_OFFLINE=0x57420008
28 }
29 #else
30  { __donnot_use_enum_winbind_status=0x7FFFFFFF}
31 #define WINBIND_STATUS_OK ( 0x00000000 )
32 #define WINBIND_STATUS_UNKNOWN_ERROR ( 0x57420001 )
33 #define WINBIND_STATUS_NOT_IMPLEMENTED ( 0x57420002 )
34 #define WINBIND_STATUS_NOT_SUPPORTED ( 0x57420003 )
35 #define WINBIND_STATUS_NO_MEMORY ( 0x57420004 )
36 #define WINBIND_STATUS_INVALID_PARAMETER ( 0x57420005 )
37 #define WINBIND_STATUS_INVALID_LEVEL ( 0x57420006 )
38 #define WINBIND_STATUS_UNKNOWN_LEVEL ( 0x57420007 )
39 #define WINBIND_STATUS_DOMAIN_OFFLINE ( 0x57420008 )
40 #endif
41 ;
42
43 /* bitmap winbind_header_version */
44 #define WINBIND_HEADER_VERSION ( 0x0001 )
45
46 ;
47
48 /* bitmap winbind_header_flags */
49 #define WINBIND_HEADER_FLAGS_RESPONSE ( 0x00000001 )
50 #define WINBIND_HEADER_FLAGS_ERROR ( 0x00000002 )
51
52 ;
53
54 struct winbind_header {
55         uint32_t length;
56         const char *magic;/* [value("WBPT"),charset(DOS)] */
57         uint16_t version;/* [value(WINBIND_HEADER_VERSION)] */
58         uint16_t opnum;
59         uint32_t flags;
60 }/* [public] */;
61
62 enum winbind_lookup_level
63 #ifndef USE_UINT_ENUMS
64  {
65         WINBIND_LOOKUP_LEVEL_SID2NAME=1,
66         WINBIND_LOOKUP_LEVEL_NAME2SID=2
67 }
68 #else
69  { __donnot_use_enum_winbind_lookup_level=0x7FFFFFFF}
70 #define WINBIND_LOOKUP_LEVEL_SID2NAME ( 1 )
71 #define WINBIND_LOOKUP_LEVEL_NAME2SID ( 2 )
72 #endif
73 ;
74
75 union winbind_lookup_req {
76         struct dom_sid *sid;/* [unique,case(WINBIND_LOOKUP_LEVEL_SID2NAME)] */
77         const char *name;/* [charset(UTF8),case(WINBIND_LOOKUP_LEVEL_NAME2SID)] */
78 }/* [switch_type(winbind_lookup_level)] */;
79
80 struct winbind_lookup_name_info {
81         const char *domain_name;/* [charset(UTF8)] */
82         const char *account_name;/* [charset(UTF8)] */
83         enum lsa_SidType type;
84 };
85
86 struct winbind_lookup_sid_info {
87         struct dom_sid *sid;/* [unique] */
88         enum lsa_SidType type;
89 };
90
91 union winbind_lookup_rep {
92         struct winbind_lookup_name_info name_info;/* [case(WINBIND_LOOKUP_LEVEL_SID2NAME)] */
93         struct winbind_lookup_sid_info sid_info;/* [case(WINBIND_LOOKUP_LEVEL_NAME2SID)] */
94 }/* [switch_type(winbind_lookup_level)] */;
95
96 enum winbind_get_idmap_level
97 #ifndef USE_UINT_ENUMS
98  {
99         WINBIND_IDMAP_LEVEL_SID_TO_UID=1,
100         WINBIND_IDMAP_LEVEL_SID_TO_GID=2,
101         WINBIND_IDMAP_LEVEL_UID_TO_SID=3,
102         WINBIND_IDMAP_LEVEL_GID_TO_SID=4
103 }
104 #else
105  { __donnot_use_enum_winbind_get_idmap_level=0x7FFFFFFF}
106 #define WINBIND_IDMAP_LEVEL_SID_TO_UID ( 1 )
107 #define WINBIND_IDMAP_LEVEL_SID_TO_GID ( 2 )
108 #define WINBIND_IDMAP_LEVEL_UID_TO_SID ( 3 )
109 #define WINBIND_IDMAP_LEVEL_GID_TO_SID ( 4 )
110 #endif
111 ;
112
113 union winbind_get_idmap_req {
114         struct dom_sid *sid;/* [unique,case(WINBIND_IDMAP_LEVEL_SID_TO_UID)] */
115         uint64_t uid;/* [case(WINBIND_IDMAP_LEVEL_UID_TO_SID)] */
116         uint64_t gid;/* [case(WINBIND_IDMAP_LEVEL_GID_TO_SID)] */
117 }/* [switch_type(winbind_get_idmap_level)] */;
118
119 union winbind_get_idmap_rep {
120         uint64_t uid;/* [case(WINBIND_IDMAP_LEVEL_SID_TO_UID)] */
121         uint64_t gid;/* [case(WINBIND_IDMAP_LEVEL_SID_TO_GID)] */
122         struct dom_sid *sid;/* [unique,case(WINBIND_IDMAP_LEVEL_UID_TO_SID)] */
123 }/* [switch_type(winbind_get_idmap_level)] */;
124
125 enum winbind_set_idmap_level
126 #ifndef USE_UINT_ENUMS
127  {
128         WINBIND_SET_IDMAP_LEVEL_ALLOCATE_UID=1,
129         WINBIND_SET_IDMAP_LEVEL_ALLOCATE_GID=2,
130         WINBIND_SET_IDMAP_LEVEL_SET_MAPPING=3,
131         WINBIND_SET_IDMAP_LEVEL_SET_HWM=4
132 }
133 #else
134  { __donnot_use_enum_winbind_set_idmap_level=0x7FFFFFFF}
135 #define WINBIND_SET_IDMAP_LEVEL_ALLOCATE_UID ( 1 )
136 #define WINBIND_SET_IDMAP_LEVEL_ALLOCATE_GID ( 2 )
137 #define WINBIND_SET_IDMAP_LEVEL_SET_MAPPING ( 3 )
138 #define WINBIND_SET_IDMAP_LEVEL_SET_HWM ( 4 )
139 #endif
140 ;
141
142 union winbind_set_idmap_req {
143         struct id_map mapping;/* [case(WINBIND_SET_IDMAP_LEVEL_SET_MAPPING)] */
144         struct unixid hwm;/* [case(WINBIND_SET_IDMAP_LEVEL_SET_HWM)] */
145 }/* [switch_type(winbind_set_idmap_level)] */;
146
147 union winbind_set_idmap_rep {
148         uint64_t uid;/* [case(WINBIND_SET_IDMAP_LEVEL_ALLOCATE_UID)] */
149         uint64_t gid;/* [case(WINBIND_SET_IDMAP_LEVEL_ALLOCATE_GID)] */
150 }/* [switch_type(winbind_set_idmap_level)] */;
151
152 struct winbind_domain_info_compat {
153         const char *netbios_name;/* [charset(UTF8)] */
154         const char *dns_name;/* [unique,charset(UTF8)] */
155         struct dom_sid *sid;/* [ref] */
156         uint32_t is_native_mode;
157         uint32_t is_active_directory;
158         uint32_t is_primary;
159 };
160
161 enum winbind_domain_info_level
162 #ifndef USE_UINT_ENUMS
163  {
164         WINBIND_DOMAIN_INFO_LEVEL_COMPAT=1,
165         WINBIND_DOMAIN_INFO_LEVEL_SEQNUM=2
166 }
167 #else
168  { __donnot_use_enum_winbind_domain_info_level=0x7FFFFFFF}
169 #define WINBIND_DOMAIN_INFO_LEVEL_COMPAT ( 1 )
170 #define WINBIND_DOMAIN_INFO_LEVEL_SEQNUM ( 2 )
171 #endif
172 ;
173
174 union winbind_domain_info {
175         struct winbind_domain_info_compat compat;/* [case(WINBIND_DOMAIN_INFO_LEVEL_COMPAT)] */
176         uint64_t seqnum;/* [case(WINBIND_DOMAIN_INFO_LEVEL_SEQNUM)] */
177 }/* [switch_type(winbind_domain_info_level)] */;
178
179 enum winbind_dc_info_level
180 #ifndef USE_UINT_ENUMS
181  {
182         WINBIND_DC_INFO_LEVEL_COMPAT_NT4=1,
183         WINBIND_DC_INFO_LEVEL_COMPAT_DS=2
184 }
185 #else
186  { __donnot_use_enum_winbind_dc_info_level=0x7FFFFFFF}
187 #define WINBIND_DC_INFO_LEVEL_COMPAT_NT4 ( 1 )
188 #define WINBIND_DC_INFO_LEVEL_COMPAT_DS ( 2 )
189 #endif
190 ;
191
192 union winbind_dc_info_params {
193         uint32_t flags;/* [case(WINBIND_DC_INFO_LEVEL_COMPAT_DS)] */
194 }/* [switch_type(winbind_dc_info_level)] */;
195
196 union winbind_dc_info {
197         const char *name;/* [unique,charset(UTF8),case(WINBIND_DC_INFO_LEVEL_COMPAT_NT4)] */
198 }/* [switch_type(winbind_dc_info_level)] */;
199
200
201 struct winbind_ping {
202         struct {
203                 enum winbind_status result;
204         } out;
205
206 };
207
208
209 struct winbind_interface_details {
210         struct {
211                 enum winbind_status result;
212         } out;
213
214 };
215
216
217 struct winbind_getpwnam {
218         struct {
219                 enum winbind_status result;
220         } out;
221
222 };
223
224
225 struct winbind_getpwuid {
226         struct {
227                 enum winbind_status result;
228         } out;
229
230 };
231
232
233 struct winbind_getgrnam {
234         struct {
235                 enum winbind_status result;
236         } out;
237
238 };
239
240
241 struct winbind_getgrgid {
242         struct {
243                 enum winbind_status result;
244         } out;
245
246 };
247
248
249 struct winbind_getgroups {
250         struct {
251                 enum winbind_status result;
252         } out;
253
254 };
255
256
257 struct winbind_setpwent {
258         struct {
259                 enum winbind_status result;
260         } out;
261
262 };
263
264
265 struct winbind_endpwent {
266         struct {
267                 enum winbind_status result;
268         } out;
269
270 };
271
272
273 struct winbind_getpwent {
274         struct {
275                 enum winbind_status result;
276         } out;
277
278 };
279
280
281 struct winbind_setgrent {
282         struct {
283                 enum winbind_status result;
284         } out;
285
286 };
287
288
289 struct winbind_endgrent {
290         struct {
291                 enum winbind_status result;
292         } out;
293
294 };
295
296
297 struct winbind_getgrent {
298         struct {
299                 enum winbind_status result;
300         } out;
301
302 };
303
304
305 struct winbind_pam_auth {
306         struct {
307                 enum winbind_status result;
308         } out;
309
310 };
311
312
313 struct winbind_pam_auth_crap {
314         struct {
315                 enum winbind_status result;
316         } out;
317
318 };
319
320
321 struct winbind_pam_chauthtok {
322         struct {
323                 enum winbind_status result;
324         } out;
325
326 };
327
328
329 struct winbind_pam_logoff {
330         struct {
331                 enum winbind_status result;
332         } out;
333
334 };
335
336
337 struct winbind_pam_chng_paswd_auth_crap {
338         struct {
339                 enum winbind_status result;
340         } out;
341
342 };
343
344
345 struct winbind_list_users {
346         struct {
347                 enum winbind_status result;
348         } out;
349
350 };
351
352
353 struct winbind_list_groups {
354         struct {
355                 enum winbind_status result;
356         } out;
357
358 };
359
360
361 struct winbind_list_trustdom {
362         struct {
363                 enum winbind_status result;
364         } out;
365
366 };
367
368
369 struct winbind_lookup {
370         struct {
371                 enum winbind_lookup_level *level;/* [ref] */
372                 union winbind_lookup_req req;/* [switch_is(*level)] */
373         } in;
374
375         struct {
376                 union winbind_lookup_rep *rep;/* [ref,switch_is(*level)] */
377                 enum winbind_status result;
378         } out;
379
380 };
381
382
383 struct winbind_get_idmap {
384         struct {
385                 union winbind_get_idmap_req req;/* [switch_is(*level)] */
386                 enum winbind_get_idmap_level *level;/* [ref] */
387         } in;
388
389         struct {
390                 union winbind_get_idmap_rep *rep;/* [ref,switch_is(*level)] */
391                 enum winbind_get_idmap_level *level;/* [ref] */
392                 enum winbind_status result;
393         } out;
394
395 };
396
397
398 struct winbind_set_idmap {
399         struct {
400                 union winbind_set_idmap_req req;/* [switch_is(*level)] */
401                 enum winbind_set_idmap_level *level;/* [ref] */
402         } in;
403
404         struct {
405                 union winbind_set_idmap_rep *rep;/* [ref,switch_is(*level)] */
406                 enum winbind_set_idmap_level *level;/* [ref] */
407                 enum winbind_status result;
408         } out;
409
410 };
411
412
413 struct winbind_check_machcc {
414         struct {
415                 enum winbind_status result;
416         } out;
417
418 };
419
420
421 struct winbind_info_fixname {
422         struct {
423                 enum winbind_status result;
424         } out;
425
426 };
427
428
429 struct winbind_domain_name {
430         struct {
431                 enum winbind_status result;
432         } out;
433
434 };
435
436
437 struct winbind_get_domain_info {
438         struct {
439                 const char *domain_name;/* [charset(UTF8)] */
440                 const char *dc_name;/* [unique,charset(UTF8)] */
441                 enum winbind_domain_info_level *level;/* [ref] */
442         } in;
443
444         struct {
445                 union winbind_domain_info *domain_info;/* [ref,switch_is(*level)] */
446                 enum winbind_domain_info_level *level;/* [ref] */
447                 enum winbind_status result;
448         } out;
449
450 };
451
452
453 struct winbind_get_dc_info {
454         struct {
455                 const char *domain_name;/* [charset(UTF8)] */
456                 union winbind_dc_info_params params;/* [switch_is(*level)] */
457                 enum winbind_dc_info_level *level;/* [ref] */
458         } in;
459
460         struct {
461                 union winbind_dc_info *dc_info;/* [ref,switch_is(*level)] */
462                 enum winbind_dc_info_level *level;/* [ref] */
463                 enum winbind_status result;
464         } out;
465
466 };
467
468
469 struct winbind_wins_byip {
470         struct {
471                 enum winbind_status result;
472         } out;
473
474 };
475
476
477 struct winbind_wins_byname {
478         struct {
479                 enum winbind_status result;
480         } out;
481
482 };
483
484
485 struct winbind_getgrlist {
486         struct {
487                 enum winbind_status result;
488         } out;
489
490 };
491
492
493 struct winbind_netbios_name {
494         struct {
495                 enum winbind_status result;
496         } out;
497
498 };
499
500
501 struct winbind_getusersids {
502         struct {
503                 enum winbind_status result;
504         } out;
505
506 };
507
508
509 struct winbind_getuserdomgroups {
510         struct {
511                 enum winbind_status result;
512         } out;
513
514 };
515
516
517 struct winbind_dual_userinfo {
518         struct {
519                 enum winbind_status result;
520         } out;
521
522 };
523
524
525 struct winbind_dual_getsidaliases {
526         struct {
527                 enum winbind_status result;
528         } out;
529
530 };
531
532
533 struct winbind_ccache_ntlmauth {
534         struct {
535                 enum winbind_status result;
536         } out;
537
538 };
539
540 #endif /* _HEADER_winbind_protocol */