s3-winbind: Return the DC name from DC_PING
[obnox/samba/samba-obnox.git] / source3 / librpc / idl / wbint.idl
index e44f179723d3801a404fa7300ae809a367d46467..159af76a82066a603b9368eb628b3d7b3dcc2a6a 100644 (file)
@@ -1,12 +1,13 @@
 #include "idl_types.h"
-import "lsa.idl", "netlogon.idl";
+import "lsa.idl", "netlogon.idl", "misc.idl", "security.idl", "idmap.idl";
 
 [
     uuid("bf09192c-ed60-4928-9dff-d0d7bcb03ed8"),
     endpoint("ncalrpc:"),
     pointer_default(unique),
     version(1.0),
-    helpstring("winbind parent-child protocol")
+    helpstring("winbind parent-child protocol"),
+    no_srv_register
 ]
 interface wbint
 {
@@ -22,6 +23,12 @@ interface wbint
        [out,string,charset(UTF8)] char **name
        );
 
+    NTSTATUS wbint_LookupSids(
+       [in] lsa_SidArray *sids,
+       [out,ref] lsa_RefDomainList *domains,
+       [out,ref] lsa_TransNameArray *names
+       );
+
     NTSTATUS wbint_LookupName(
        [in,string,charset(UTF8)] char *domain,
        [in,string,charset(UTF8)] char *name,
@@ -42,6 +49,23 @@ interface wbint
        [out] hyper *gid
        );
 
+    typedef struct {
+       id_type type;
+       uint32 domain_index;
+       uint32 rid;
+       hyper unix_id;
+    } wbint_TransID;
+
+    typedef struct {
+       uint32 num_ids;
+       [size_is(num_ids)] wbint_TransID ids[];
+    } wbint_TransIDArray;
+
+    NTSTATUS wbint_Sids2UnixIDs(
+       [in] lsa_RefDomainList *domains,
+       [in,out] wbint_TransIDArray *ids
+       );
+
     NTSTATUS wbint_Uid2Sid(
        [in,unique,string,charset(UTF8)] char *dom_name,
        [in] hyper uid,
@@ -140,7 +164,9 @@ interface wbint
        );
 
     NTSTATUS wbint_LookupRids(
+       [in] dom_sid *domain_sid,
        [in] wbint_RidArray *rids,
+       [out,string,charset(UTF8)] char **domain_name,
        [out] wbint_Principals *names
        );
 
@@ -150,26 +176,7 @@ interface wbint
     NTSTATUS wbint_ChangeMachineAccount(
        );
 
-    typedef [public] enum {
-       WBINT_ID_TYPE_NOT_SPECIFIED,
-       WBINT_ID_TYPE_UID,
-       WBINT_ID_TYPE_GID
-    } wbint_IdType;
-
-    NTSTATUS wbint_SetMapping(
-       [in] dom_sid *sid,
-       [in] wbint_IdType type,
-       [in] hyper id
-       );
-
-    NTSTATUS wbint_RemoveMapping(
-       [in] dom_sid *sid,
-       [in] wbint_IdType type,
-       [in] hyper id
-       );
-
-    NTSTATUS wbint_SetHWM(
-       [in] wbint_IdType type,
-       [in] hyper id
+    NTSTATUS wbint_PingDc(
+       [out,string,charset(UTF8)] char **dcname
        );
 }