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 #include "librpc/gen_ndr/samr.h"
8 #include "librpc/gen_ndr/netlogon.h"
9 #ifndef _HEADER_winbind_protocol
10 #define _HEADER_winbind_protocol
11
12 #define WINBIND_MAX_LENGTH_PRIVILEGED   ( 0x0FFFFFFF )
13 #define WINBIND_MAX_LENGTH_UNPRIVILEGED ( 0x00020000 )
14 #define WINBIND_STATUS_FOOBAR   ( WINBIND_STATUS_UNKNOWN_ERROR )
15 #define WINBIND_HEADER_SIZE     ( 0x10 )
16 enum lsa_SidType;
17
18 struct netr_SamInfo3;
19
20 struct samr_DomInfo1;
21
22 enum winbind_status
23 #ifndef USE_UINT_ENUMS
24  {
25         WINBIND_STATUS_OK=0x00000000,
26         WINBIND_STATUS_UNKNOWN_ERROR=0x57420001,
27         WINBIND_STATUS_NOT_IMPLEMENTED=0x57420002,
28         WINBIND_STATUS_NOT_SUPPORTED=0x57420003,
29         WINBIND_STATUS_NO_MEMORY=0x57420004,
30         WINBIND_STATUS_INVALID_PARAMETER=0x57420005,
31         WINBIND_STATUS_INVALID_LEVEL=0x57420006,
32         WINBIND_STATUS_UNKNOWN_LEVEL=0x57420007,
33         WINBIND_STATUS_DOMAIN_OFFLINE=0x57420008
34 }
35 #else
36  { __donnot_use_enum_winbind_status=0x7FFFFFFF}
37 #define WINBIND_STATUS_OK ( 0x00000000 )
38 #define WINBIND_STATUS_UNKNOWN_ERROR ( 0x57420001 )
39 #define WINBIND_STATUS_NOT_IMPLEMENTED ( 0x57420002 )
40 #define WINBIND_STATUS_NOT_SUPPORTED ( 0x57420003 )
41 #define WINBIND_STATUS_NO_MEMORY ( 0x57420004 )
42 #define WINBIND_STATUS_INVALID_PARAMETER ( 0x57420005 )
43 #define WINBIND_STATUS_INVALID_LEVEL ( 0x57420006 )
44 #define WINBIND_STATUS_UNKNOWN_LEVEL ( 0x57420007 )
45 #define WINBIND_STATUS_DOMAIN_OFFLINE ( 0x57420008 )
46 #endif
47 ;
48
49 /* bitmap winbind_header_version */
50 #define WINBIND_HEADER_VERSION ( 0x0001 )
51
52 /* bitmap winbind_header_flags */
53 #define WINBIND_HEADER_FLAGS_RESPONSE ( 0x00000001 )
54 #define WINBIND_HEADER_FLAGS_ERROR ( 0x00000002 )
55
56 struct winbind_header {
57         uint32_t length;
58         const char *magic;/* [value("WBPT"),charset(DOS)] */
59         uint16_t version;/* [value(WINBIND_HEADER_VERSION)] */
60         uint16_t opnum;
61         uint32_t flags;
62 }/* [public] */;
63
64 enum winbind_auth_level
65 #ifndef USE_UINT_ENUMS
66  {
67         WINBIND_AUTH_LEVEL_COMPAT_AUTH_PLAIN=1
68 }
69 #else
70  { __donnot_use_enum_winbind_auth_level=0x7FFFFFFF}
71 #define WINBIND_AUTH_LEVEL_COMPAT_AUTH_PLAIN ( 1 )
72 #endif
73 ;
74
75 struct winbind_auth_compat_auth_plain_req {
76         uint32_t flags;
77         const char *account_name;/* [charset(UTF8)] */
78         const char *domain_name;/* [unique,charset(UTF8)] */
79         const char *password;/* [charset(UTF8)] */
80         uint32_t num_require_membership_of_sids;
81         struct dom_sid *require_membership_of_sids;/* [unique,size_is(num_require_membership_of_sids)] */
82         const char *krb5_cc_type;/* [unique,charset(UTF8)] */
83         uint64_t *uid;/* [unique] */
84 };
85
86 struct winbind_auth_compat_auth_rep {
87         const char *unix_username;/* [unique,charset(UTF8)] */
88         const char *krb5_cc_name;/* [unique,charset(UTF8)] */
89         struct netr_SamInfo3 *info3;/* [unique] */
90         struct samr_DomInfo1 *password_policy;/* [unique] */
91         DATA_BLOB *afs_token;/* [unique] */
92 };
93
94 union winbind_auth_req {
95         struct winbind_auth_compat_auth_plain_req compat_auth_plain;/* [case(WINBIND_AUTH_LEVEL_COMPAT_AUTH_PLAIN)] */
96 }/* [switch_type(winbind_auth_level)] */;
97
98 union winbind_auth_rep {
99         struct winbind_auth_compat_auth_rep compat_auth;/* [case(WINBIND_AUTH_LEVEL_COMPAT_AUTH_PLAIN)] */
100 }/* [switch_type(winbind_auth_level)] */;
101
102 enum winbind_trust_level
103 #ifndef USE_UINT_ENUMS
104  {
105         WINBIND_TRUST_LEVEL_COMPAT_LIST=1,
106         WINBIND_TRUST_LEVEL_COMPAT_CHECK_MACHCC=2
107 }
108 #else
109  { __donnot_use_enum_winbind_trust_level=0x7FFFFFFF}
110 #define WINBIND_TRUST_LEVEL_COMPAT_LIST ( 1 )
111 #define WINBIND_TRUST_LEVEL_COMPAT_CHECK_MACHCC ( 2 )
112 #endif
113 ;
114
115 struct winbind_domain_info_compat {
116         const char *netbios_name;/* [charset(UTF8)] */
117         const char *dns_name;/* [unique,charset(UTF8)] */
118         struct dom_sid *sid;/* [ref] */
119         uint32_t is_native_mode;
120         uint32_t is_active_directory;
121         uint32_t is_primary;
122 };
123
124 struct winbind_domain_info_compat_array {
125         uint32_t num_domains;
126         struct winbind_domain_info_compat *domains;
127 };
128
129 struct winbind_domain_info_compat;
130
131 union winbind_trust_req {
132 }/* [switch_type(winbind_trust_level)] */;
133
134 union winbind_trust_rep {
135         struct winbind_domain_info_compat_array compat_trusts;/* [case(WINBIND_TRUST_LEVEL_COMPAT_LIST)] */
136 }/* [switch_type(winbind_trust_level)] */;
137
138 enum winbind_lookup_level
139 #ifndef USE_UINT_ENUMS
140  {
141         WINBIND_LOOKUP_LEVEL_SID2NAME=1,
142         WINBIND_LOOKUP_LEVEL_NAME2SID=2,
143         WINBIND_LOOKUP_LEVEL_RIDS2NAMES=3,
144         WINBIND_LOOKUP_LEVEL_SID2USERINFO=4,
145         WINBIND_LOOKUP_LEVEL_SID2DOMGROUPS=5,
146         WINBIND_LOOKUP_LEVEL_EXPANDALIASES=6
147 }
148 #else
149  { __donnot_use_enum_winbind_lookup_level=0x7FFFFFFF}
150 #define WINBIND_LOOKUP_LEVEL_SID2NAME ( 1 )
151 #define WINBIND_LOOKUP_LEVEL_NAME2SID ( 2 )
152 #define WINBIND_LOOKUP_LEVEL_RIDS2NAMES ( 3 )
153 #define WINBIND_LOOKUP_LEVEL_SID2USERINFO ( 4 )
154 #define WINBIND_LOOKUP_LEVEL_SID2DOMGROUPS ( 5 )
155 #define WINBIND_LOOKUP_LEVEL_EXPANDALIASES ( 6 )
156 #endif
157 ;
158
159 struct winbind_lookup_req_rids {
160         struct dom_sid *domain_sid;/* [unique] */
161         uint32_t num_rids;
162         uint32_t *rids;
163 };
164
165 struct winbind_lookup_name_info {
166         const char *domain_name;/* [charset(UTF8)] */
167         const char *account_name;/* [charset(UTF8)] */
168         enum lsa_SidType type;
169 };
170
171 struct winbind_lookup_sid_info {
172         struct dom_sid *sid;/* [unique] */
173         enum lsa_SidType type;
174 };
175
176 struct winbind_lookup_name_info_array {
177         uint32_t num_names;
178         struct winbind_lookup_name_info *names;
179 };
180
181 struct winbind_lookup_name_info;
182
183 struct winbind_lookup_user_info {
184         const char *account;/* [charset(UTF8)] */
185         const char *gecos;/* [charset(UTF8)] */
186         const char *homedir;/* [charset(UTF8)] */
187         const char *shell;/* [charset(UTF8)] */
188         uint64_t primary_gid;
189         uint32_t primary_rid;
190 };
191
192 struct winbind_lookup_sid_info_array {
193         uint32_t num_sids;
194         struct winbind_lookup_sid_info *sids;
195 };
196
197 struct winbind_lookup_sid_info;
198
199 union winbind_lookup_req {
200         struct dom_sid *sid;/* [unique,case(WINBIND_LOOKUP_LEVEL_SID2NAME)] */
201         const char *name;/* [charset(UTF8),case(WINBIND_LOOKUP_LEVEL_NAME2SID)] */
202         struct winbind_lookup_req_rids rids;/* [case(WINBIND_LOOKUP_LEVEL_RIDS2NAMES)] */
203         struct winbind_lookup_sid_info_array sid_array;/* [case(WINBIND_LOOKUP_LEVEL_EXPANDALIASES)] */
204 }/* [switch_type(winbind_lookup_level)] */;
205
206 union winbind_lookup_rep {
207         struct winbind_lookup_name_info name_info;/* [case(WINBIND_LOOKUP_LEVEL_SID2NAME)] */
208         struct winbind_lookup_sid_info sid_info;/* [case(WINBIND_LOOKUP_LEVEL_NAME2SID)] */
209         struct winbind_lookup_name_info_array name_array;/* [case(WINBIND_LOOKUP_LEVEL_RIDS2NAMES)] */
210         struct winbind_lookup_user_info user_info;/* [case(WINBIND_LOOKUP_LEVEL_SID2USERINFO)] */
211         struct winbind_lookup_sid_info_array sid_array;/* [case(WINBIND_LOOKUP_LEVEL_SID2DOMGROUPS)] */
212 }/* [switch_type(winbind_lookup_level)] */;
213
214 enum winbind_get_idmap_level
215 #ifndef USE_UINT_ENUMS
216  {
217         WINBIND_IDMAP_LEVEL_SID_TO_UID=1,
218         WINBIND_IDMAP_LEVEL_SID_TO_GID=2,
219         WINBIND_IDMAP_LEVEL_UID_TO_SID=3,
220         WINBIND_IDMAP_LEVEL_GID_TO_SID=4
221 }
222 #else
223  { __donnot_use_enum_winbind_get_idmap_level=0x7FFFFFFF}
224 #define WINBIND_IDMAP_LEVEL_SID_TO_UID ( 1 )
225 #define WINBIND_IDMAP_LEVEL_SID_TO_GID ( 2 )
226 #define WINBIND_IDMAP_LEVEL_UID_TO_SID ( 3 )
227 #define WINBIND_IDMAP_LEVEL_GID_TO_SID ( 4 )
228 #endif
229 ;
230
231 union winbind_get_idmap_req {
232         struct dom_sid *sid;/* [unique,case(WINBIND_IDMAP_LEVEL_SID_TO_UID)] */
233         uint64_t uid;/* [case(WINBIND_IDMAP_LEVEL_UID_TO_SID)] */
234         uint64_t gid;/* [case(WINBIND_IDMAP_LEVEL_GID_TO_SID)] */
235 }/* [switch_type(winbind_get_idmap_level)] */;
236
237 union winbind_get_idmap_rep {
238         uint64_t uid;/* [case(WINBIND_IDMAP_LEVEL_SID_TO_UID)] */
239         uint64_t gid;/* [case(WINBIND_IDMAP_LEVEL_SID_TO_GID)] */
240         struct dom_sid *sid;/* [unique,case(WINBIND_IDMAP_LEVEL_UID_TO_SID)] */
241 }/* [switch_type(winbind_get_idmap_level)] */;
242
243 enum winbind_set_idmap_level
244 #ifndef USE_UINT_ENUMS
245  {
246         WINBIND_SET_IDMAP_LEVEL_ALLOCATE_UID=1,
247         WINBIND_SET_IDMAP_LEVEL_ALLOCATE_GID=2,
248         WINBIND_SET_IDMAP_LEVEL_SET_MAPPING=3,
249         WINBIND_SET_IDMAP_LEVEL_SET_HWM=4
250 }
251 #else
252  { __donnot_use_enum_winbind_set_idmap_level=0x7FFFFFFF}
253 #define WINBIND_SET_IDMAP_LEVEL_ALLOCATE_UID ( 1 )
254 #define WINBIND_SET_IDMAP_LEVEL_ALLOCATE_GID ( 2 )
255 #define WINBIND_SET_IDMAP_LEVEL_SET_MAPPING ( 3 )
256 #define WINBIND_SET_IDMAP_LEVEL_SET_HWM ( 4 )
257 #endif
258 ;
259
260 union winbind_set_idmap_req {
261         struct id_map mapping;/* [case(WINBIND_SET_IDMAP_LEVEL_SET_MAPPING)] */
262         struct unixid hwm;/* [case(WINBIND_SET_IDMAP_LEVEL_SET_HWM)] */
263 }/* [switch_type(winbind_set_idmap_level)] */;
264
265 union winbind_set_idmap_rep {
266         uint64_t uid;/* [case(WINBIND_SET_IDMAP_LEVEL_ALLOCATE_UID)] */
267         uint64_t gid;/* [case(WINBIND_SET_IDMAP_LEVEL_ALLOCATE_GID)] */
268 }/* [switch_type(winbind_set_idmap_level)] */;
269
270 enum winbind_domain_info_level
271 #ifndef USE_UINT_ENUMS
272  {
273         WINBIND_DOMAIN_INFO_LEVEL_COMPAT=1,
274         WINBIND_DOMAIN_INFO_LEVEL_SEQNUM=2
275 }
276 #else
277  { __donnot_use_enum_winbind_domain_info_level=0x7FFFFFFF}
278 #define WINBIND_DOMAIN_INFO_LEVEL_COMPAT ( 1 )
279 #define WINBIND_DOMAIN_INFO_LEVEL_SEQNUM ( 2 )
280 #endif
281 ;
282
283 union winbind_domain_info {
284         struct winbind_domain_info_compat compat;/* [case(WINBIND_DOMAIN_INFO_LEVEL_COMPAT)] */
285         uint64_t seqnum;/* [case(WINBIND_DOMAIN_INFO_LEVEL_SEQNUM)] */
286 }/* [switch_type(winbind_domain_info_level)] */;
287
288 enum winbind_dc_info_level
289 #ifndef USE_UINT_ENUMS
290  {
291         WINBIND_DC_INFO_LEVEL_COMPAT_NT4=1,
292         WINBIND_DC_INFO_LEVEL_COMPAT_DS=2
293 }
294 #else
295  { __donnot_use_enum_winbind_dc_info_level=0x7FFFFFFF}
296 #define WINBIND_DC_INFO_LEVEL_COMPAT_NT4 ( 1 )
297 #define WINBIND_DC_INFO_LEVEL_COMPAT_DS ( 2 )
298 #endif
299 ;
300
301 union winbind_dc_info_params {
302         uint32_t flags;/* [case(WINBIND_DC_INFO_LEVEL_COMPAT_DS)] */
303 }/* [switch_type(winbind_dc_info_level)] */;
304
305 union winbind_dc_info {
306         const char *name;/* [unique,charset(UTF8),case(WINBIND_DC_INFO_LEVEL_COMPAT_NT4)] */
307 }/* [switch_type(winbind_dc_info_level)] */;
308
309
310 struct winbind_ping {
311         struct {
312                 enum winbind_status result;
313         } out;
314
315 };
316
317
318 struct winbind_interface_details {
319         struct {
320                 enum winbind_status result;
321         } out;
322
323 };
324
325
326 struct winbind_getpwnam {
327         struct {
328                 enum winbind_status result;
329         } out;
330
331 };
332
333
334 struct winbind_getpwuid {
335         struct {
336                 enum winbind_status result;
337         } out;
338
339 };
340
341
342 struct winbind_getgrnam {
343         struct {
344                 enum winbind_status result;
345         } out;
346
347 };
348
349
350 struct winbind_getgrgid {
351         struct {
352                 enum winbind_status result;
353         } out;
354
355 };
356
357
358 struct winbind_getgroups {
359         struct {
360                 enum winbind_status result;
361         } out;
362
363 };
364
365
366 struct winbind_setpwent {
367         struct {
368                 enum winbind_status result;
369         } out;
370
371 };
372
373
374 struct winbind_endpwent {
375         struct {
376                 enum winbind_status result;
377         } out;
378
379 };
380
381
382 struct winbind_getpwent {
383         struct {
384                 enum winbind_status result;
385         } out;
386
387 };
388
389
390 struct winbind_setgrent {
391         struct {
392                 enum winbind_status result;
393         } out;
394
395 };
396
397
398 struct winbind_endgrent {
399         struct {
400                 enum winbind_status result;
401         } out;
402
403 };
404
405
406 struct winbind_getgrent {
407         struct {
408                 enum winbind_status result;
409         } out;
410
411 };
412
413
414 struct winbind_auth {
415         struct {
416                 enum winbind_auth_level *level;/* [ref] */
417                 union winbind_auth_req req;/* [switch_is(*level)] */
418         } in;
419
420         struct {
421                 union winbind_auth_rep *rep;/* [ref,switch_is(*level)] */
422                 enum winbind_status result;
423         } out;
424
425 };
426
427
428 struct winbind_pam_chauthtok {
429         struct {
430                 enum winbind_status result;
431         } out;
432
433 };
434
435
436 struct winbind_pam_logoff {
437         struct {
438                 enum winbind_status result;
439         } out;
440
441 };
442
443
444 struct winbind_pam_chng_paswd_auth_crap {
445         struct {
446                 enum winbind_status result;
447         } out;
448
449 };
450
451
452 struct winbind_list_users {
453         struct {
454                 enum winbind_status result;
455         } out;
456
457 };
458
459
460 struct winbind_list_groups {
461         struct {
462                 enum winbind_status result;
463         } out;
464
465 };
466
467
468 struct winbind_trust {
469         struct {
470                 enum winbind_trust_level *level;/* [ref] */
471                 union winbind_trust_req req;/* [switch_is(*level)] */
472         } in;
473
474         struct {
475                 union winbind_trust_rep *rep;/* [ref,switch_is(*level)] */
476                 enum winbind_status result;
477         } out;
478
479 };
480
481
482 struct winbind_lookup {
483         struct {
484                 enum winbind_lookup_level *level;/* [ref] */
485                 union winbind_lookup_req req;/* [switch_is(*level)] */
486         } in;
487
488         struct {
489                 union winbind_lookup_rep *rep;/* [ref,switch_is(*level)] */
490                 enum winbind_status result;
491         } out;
492
493 };
494
495
496 struct winbind_get_idmap {
497         struct {
498                 union winbind_get_idmap_req req;/* [switch_is(*level)] */
499                 enum winbind_get_idmap_level *level;/* [ref] */
500         } in;
501
502         struct {
503                 union winbind_get_idmap_rep *rep;/* [ref,switch_is(*level)] */
504                 enum winbind_get_idmap_level *level;/* [ref] */
505                 enum winbind_status result;
506         } out;
507
508 };
509
510
511 struct winbind_set_idmap {
512         struct {
513                 union winbind_set_idmap_req req;/* [switch_is(*level)] */
514                 enum winbind_set_idmap_level *level;/* [ref] */
515         } in;
516
517         struct {
518                 union winbind_set_idmap_rep *rep;/* [ref,switch_is(*level)] */
519                 enum winbind_set_idmap_level *level;/* [ref] */
520                 enum winbind_status result;
521         } out;
522
523 };
524
525
526 struct winbind_info_fixname {
527         struct {
528                 enum winbind_status result;
529         } out;
530
531 };
532
533
534 struct winbind_domain_name {
535         struct {
536                 enum winbind_status result;
537         } out;
538
539 };
540
541
542 struct winbind_get_domain_info {
543         struct {
544                 const char *domain_name;/* [charset(UTF8)] */
545                 const char *dc_name;/* [unique,charset(UTF8)] */
546                 enum winbind_domain_info_level *level;/* [ref] */
547         } in;
548
549         struct {
550                 union winbind_domain_info *domain_info;/* [ref,switch_is(*level)] */
551                 enum winbind_domain_info_level *level;/* [ref] */
552                 enum winbind_status result;
553         } out;
554
555 };
556
557
558 struct winbind_get_dc_info {
559         struct {
560                 const char *domain_name;/* [charset(UTF8)] */
561                 union winbind_dc_info_params params;/* [switch_is(*level)] */
562                 enum winbind_dc_info_level *level;/* [ref] */
563         } in;
564
565         struct {
566                 union winbind_dc_info *dc_info;/* [ref,switch_is(*level)] */
567                 enum winbind_dc_info_level *level;/* [ref] */
568                 enum winbind_status result;
569         } out;
570
571 };
572
573
574 struct winbind_wins_byip {
575         struct {
576                 enum winbind_status result;
577         } out;
578
579 };
580
581
582 struct winbind_wins_byname {
583         struct {
584                 enum winbind_status result;
585         } out;
586
587 };
588
589
590 struct winbind_getgrlist {
591         struct {
592                 enum winbind_status result;
593         } out;
594
595 };
596
597
598 struct winbind_netbios_name {
599         struct {
600                 enum winbind_status result;
601         } out;
602
603 };
604
605
606 struct winbind_getusersids {
607         struct {
608                 enum winbind_status result;
609         } out;
610
611 };
612
613
614 struct winbind_getuserdomgroups {
615         struct {
616                 enum winbind_status result;
617         } out;
618
619 };
620
621
622 struct winbind_dual_userinfo {
623         struct {
624                 enum winbind_status result;
625         } out;
626
627 };
628
629
630 struct winbind_dual_getsidaliases {
631         struct {
632                 enum winbind_status result;
633         } out;
634
635 };
636
637
638 struct winbind_ccache_ntlmauth {
639         struct {
640                 enum winbind_status result;
641         } out;
642
643 };
644
645 #endif /* _HEADER_winbind_protocol */