winbind_status winbind_domain_name(/*TODO*/);
/* Most of what we know from struct winbind_domain */
- winbind_status winbind_get_domain_info(/*TODO*/);
+ struct winbind_domain_info_compat {
+ [string,charset(UTF8)] uint8 netbios_name[];
+ [string,charset(UTF8)] uint8 *dns_name;
+ [ref] dom_sid *sid;
+ boolean32 is_native_mode;
+ boolean32 is_active_directory;
+ boolean32 is_primary;
+ };
+
+ typedef [v1_enum] enum {
+ WINBIND_DOMAIN_INFO_LEVEL_COMPAT = 1
+ } winbind_domain_info_level;
+
+ typedef [switch_type(winbind_domain_info_level)] union {
+ [case(WINBIND_DOMAIN_INFO_LEVEL_COMPAT)]
+ struct winbind_domain_info_compat compat;
+ } winbind_domain_info;
+
+ winbind_status winbind_get_domain_info(
+ [in,string,charset(UTF8)] uint8 domain_name[],
+ [in,unique,string,charset(UTF8)] uint8 *dc_name,
+ [in,out] winbind_domain_info_level *level,
+ [out,switch_is(*level)] winbind_domain_info *domain_info
+ );
/* Issue a GetDCName or DsGetDCName Request */
winbind_status winbind_get_dc_info(/*TODO*/);