1 /* header auto-generated by pidl */
5 #include "librpc/gen_ndr/security.h"
6 #include "librpc/gen_ndr/lsa.h"
7 #ifndef _HEADER_winbind_protocol
8 #define _HEADER_winbind_protocol
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 )
17 #ifndef USE_UINT_ENUMS
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
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 )
43 /* bitmap winbind_header_version */
44 #define WINBIND_HEADER_VERSION ( 0x0001 )
48 /* bitmap winbind_header_flags */
49 #define WINBIND_HEADER_FLAGS_RESPONSE ( 0x00000001 )
50 #define WINBIND_HEADER_FLAGS_ERROR ( 0x00000002 )
54 struct winbind_header {
56 const char *magic;/* [value("WBPT"),charset(DOS)] */
57 uint16_t version;/* [value(WINBIND_HEADER_VERSION)] */
62 enum winbind_lookup_level
63 #ifndef USE_UINT_ENUMS
65 WINBIND_LOOKUP_LEVEL_SID2NAME=1,
66 WINBIND_LOOKUP_LEVEL_NAME2SID=2
69 { __donnot_use_enum_winbind_lookup_level=0x7FFFFFFF}
70 #define WINBIND_LOOKUP_LEVEL_SID2NAME ( 1 )
71 #define WINBIND_LOOKUP_LEVEL_NAME2SID ( 2 )
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)] */;
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;
86 struct winbind_lookup_sid_info {
87 struct dom_sid *sid;/* [unique] */
88 enum lsa_SidType type;
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)] */;
96 enum winbind_get_idmap_level
97 #ifndef USE_UINT_ENUMS
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
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 )
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)] */;
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)] */;
125 enum winbind_set_idmap_level
126 #ifndef USE_UINT_ENUMS
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
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 )
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)] */;
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)] */;
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;
161 enum winbind_domain_info_level
162 #ifndef USE_UINT_ENUMS
164 WINBIND_DOMAIN_INFO_LEVEL_COMPAT=1,
165 WINBIND_DOMAIN_INFO_LEVEL_SEQNUM=2
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 )
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)] */;
179 enum winbind_dc_info_level
180 #ifndef USE_UINT_ENUMS
182 WINBIND_DC_INFO_LEVEL_COMPAT_NT4=1,
183 WINBIND_DC_INFO_LEVEL_COMPAT_DS=2
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 )
192 union winbind_dc_info_params {
193 uint32_t flags;/* [case(WINBIND_DC_INFO_LEVEL_COMPAT_DS)] */
194 }/* [switch_type(winbind_dc_info_level)] */;
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)] */;
201 struct winbind_ping {
203 enum winbind_status result;
209 struct winbind_interface_details {
211 enum winbind_status result;
217 struct winbind_getpwnam {
219 enum winbind_status result;
225 struct winbind_getpwuid {
227 enum winbind_status result;
233 struct winbind_getgrnam {
235 enum winbind_status result;
241 struct winbind_getgrgid {
243 enum winbind_status result;
249 struct winbind_getgroups {
251 enum winbind_status result;
257 struct winbind_setpwent {
259 enum winbind_status result;
265 struct winbind_endpwent {
267 enum winbind_status result;
273 struct winbind_getpwent {
275 enum winbind_status result;
281 struct winbind_setgrent {
283 enum winbind_status result;
289 struct winbind_endgrent {
291 enum winbind_status result;
297 struct winbind_getgrent {
299 enum winbind_status result;
305 struct winbind_pam_auth {
307 enum winbind_status result;
313 struct winbind_pam_auth_crap {
315 enum winbind_status result;
321 struct winbind_pam_chauthtok {
323 enum winbind_status result;
329 struct winbind_pam_logoff {
331 enum winbind_status result;
337 struct winbind_pam_chng_paswd_auth_crap {
339 enum winbind_status result;
345 struct winbind_list_users {
347 enum winbind_status result;
353 struct winbind_list_groups {
355 enum winbind_status result;
361 struct winbind_list_trustdom {
363 enum winbind_status result;
369 struct winbind_lookup {
371 enum winbind_lookup_level *level;/* [ref] */
372 union winbind_lookup_req req;/* [switch_is(*level)] */
376 union winbind_lookup_rep *rep;/* [ref,switch_is(*level)] */
377 enum winbind_status result;
383 struct winbind_get_idmap {
385 union winbind_get_idmap_req req;/* [switch_is(*level)] */
386 enum winbind_get_idmap_level *level;/* [ref] */
390 union winbind_get_idmap_rep *rep;/* [ref,switch_is(*level)] */
391 enum winbind_get_idmap_level *level;/* [ref] */
392 enum winbind_status result;
398 struct winbind_set_idmap {
400 union winbind_set_idmap_req req;/* [switch_is(*level)] */
401 enum winbind_set_idmap_level *level;/* [ref] */
405 union winbind_set_idmap_rep *rep;/* [ref,switch_is(*level)] */
406 enum winbind_set_idmap_level *level;/* [ref] */
407 enum winbind_status result;
413 struct winbind_check_machcc {
415 enum winbind_status result;
421 struct winbind_info_fixname {
423 enum winbind_status result;
429 struct winbind_domain_name {
431 enum winbind_status result;
437 struct winbind_get_domain_info {
439 const char *domain_name;/* [charset(UTF8)] */
440 const char *dc_name;/* [unique,charset(UTF8)] */
441 enum winbind_domain_info_level *level;/* [ref] */
445 union winbind_domain_info *domain_info;/* [ref,switch_is(*level)] */
446 enum winbind_domain_info_level *level;/* [ref] */
447 enum winbind_status result;
453 struct winbind_get_dc_info {
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] */
461 union winbind_dc_info *dc_info;/* [ref,switch_is(*level)] */
462 enum winbind_dc_info_level *level;/* [ref] */
463 enum winbind_status result;
469 struct winbind_wins_byip {
471 enum winbind_status result;
477 struct winbind_wins_byname {
479 enum winbind_status result;
485 struct winbind_getgrlist {
487 enum winbind_status result;
493 struct winbind_netbios_name {
495 enum winbind_status result;
501 struct winbind_getusersids {
503 enum winbind_status result;
509 struct winbind_getuserdomgroups {
511 enum winbind_status result;
517 struct winbind_dual_userinfo {
519 enum winbind_status result;
525 struct winbind_dual_getsidaliases {
527 enum winbind_status result;
533 struct winbind_ccache_ntlmauth {
535 enum winbind_status result;
540 #endif /* _HEADER_winbind_protocol */