add idl for winbindd_get_domain_info()
authorStefan Metzmacher <metze@sernet.de>
Mon, 10 Sep 2007 08:23:16 +0000 (10:23 +0200)
committerStefan Metzmacher <metze@sernet.de>
Thu, 11 Oct 2007 15:21:46 +0000 (17:21 +0200)
metze

source/librpc/idl/winbind_protocol.idl

index 6427ee8..ef2a69b 100644 (file)
@@ -135,7 +135,30 @@ import "security.idl";
        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*/);