add idl for winbindd_get_domain_info()
authorStefan Metzmacher <metze@sernet.de>
Wed, 19 Sep 2007 15:47:55 +0000 (17:47 +0200)
committerStefan Metzmacher <metze@samba.org>
Thu, 10 Jan 2008 19:19:34 +0000 (20:19 +0100)
metze

source/librpc/idl/winbind_protocol.idl

index 6427ee804ad28818a3f8c9eca73e5d70cb0a8a76..ef2a69bbc942914422cc700cdffa5b7bf1f8050a 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*/);