s3:winbindd: remove wbint_Sid2Uid() from the wbint.idl
[Samba/gebeck_regimport.git] / source3 / librpc / idl / wbint.idl
blob035afb5df8a946129b41bf619631bdd3236ec910
1 #include "idl_types.h"
2 import "lsa.idl", "netlogon.idl", "misc.idl", "security.idl", "idmap.idl";
5 uuid("bf09192c-ed60-4928-9dff-d0d7bcb03ed8"),
6 endpoint("ncalrpc:"),
7 pointer_default(unique),
8 version(1.0),
9 helpstring("winbind parent-child protocol"),
10 no_srv_register
12 interface wbint
14 void wbint_Ping(
15 [in] uint32 in_data,
16 [out] uint32 *out_data
19 NTSTATUS wbint_LookupSid(
20 [in] dom_sid *sid,
21 [out] lsa_SidType *type,
22 [out,string,charset(UTF8)] char **domain,
23 [out,string,charset(UTF8)] char **name
26 NTSTATUS wbint_LookupSids(
27 [in] lsa_SidArray *sids,
28 [out,ref] lsa_RefDomainList *domains,
29 [out,ref] lsa_TransNameArray *names
32 NTSTATUS wbint_LookupName(
33 [in,string,charset(UTF8)] char *domain,
34 [in,string,charset(UTF8)] char *name,
35 [in] uint32 flags,
36 [out] lsa_SidType *type,
37 [out] dom_sid *sid
40 NTSTATUS wbint_Sid2Gid(
41 [in,unique,string,charset(UTF8)] char *dom_name,
42 [in] dom_sid *sid,
43 [out] hyper *gid
46 typedef struct {
47 id_type type;
48 uint32 domain_index;
49 uint32 rid;
50 unixid xid;
51 } wbint_TransID;
53 typedef struct {
54 uint32 num_ids;
55 [size_is(num_ids)] wbint_TransID ids[];
56 } wbint_TransIDArray;
58 NTSTATUS wbint_Sids2UnixIDs(
59 [in] lsa_RefDomainList *domains,
60 [in,out] wbint_TransIDArray *ids
63 NTSTATUS wbint_Uid2Sid(
64 [in,unique,string,charset(UTF8)] char *dom_name,
65 [in] hyper uid,
66 [out] dom_sid *sid
69 NTSTATUS wbint_Gid2Sid(
70 [in,unique,string,charset(UTF8)] char *dom_name,
71 [in] hyper gid,
72 [out] dom_sid *sid
75 NTSTATUS wbint_AllocateUid(
76 [out] hyper *uid
79 NTSTATUS wbint_AllocateGid(
80 [out] hyper *gid
83 typedef [public] struct {
84 [string,charset(UTF8)] char *acct_name;
85 [string,charset(UTF8)] char *full_name;
86 [string,charset(UTF8)] char *homedir;
87 [string,charset(UTF8)] char *shell;
88 hyper primary_gid;
89 dom_sid user_sid;
90 dom_sid group_sid;
91 } wbint_userinfo;
93 NTSTATUS wbint_QueryUser(
94 [in] dom_sid *sid,
95 [out] wbint_userinfo *info
98 typedef [public] struct {
99 uint32 num_sids;
100 [size_is(num_sids)] dom_sid sids[];
101 } wbint_SidArray;
103 typedef [public] struct {
104 uint32 num_rids;
105 [size_is(num_rids)] uint32 rids[];
106 } wbint_RidArray;
108 NTSTATUS wbint_LookupUserAliases(
109 [in] wbint_SidArray *sids,
110 [out] wbint_RidArray *rids
113 NTSTATUS wbint_LookupUserGroups(
114 [in] dom_sid *sid,
115 [out] wbint_SidArray *sids
118 NTSTATUS wbint_QuerySequenceNumber(
119 [out] uint32 *sequence
122 typedef [public] struct {
123 dom_sid sid;
124 lsa_SidType type;
125 [string,charset(UTF8)] char *name;
126 } wbint_Principal;
128 typedef [public] struct {
129 int num_principals;
130 [size_is(num_principals)] wbint_Principal principals[];
131 } wbint_Principals;
133 NTSTATUS wbint_LookupGroupMembers(
134 [in] dom_sid *sid,
135 [in] lsa_SidType type,
136 [out] wbint_Principals *members
139 typedef [public] struct {
140 uint32 num_userinfos;
141 [size_is(num_userinfos)] wbint_userinfo userinfos[];
142 } wbint_userinfos;
144 NTSTATUS wbint_QueryUserList(
145 [out] wbint_userinfos *users
148 NTSTATUS wbint_QueryGroupList(
149 [out] wbint_Principals *groups
152 NTSTATUS wbint_DsGetDcName(
153 [in,string,charset(UTF8)] char *domain_name,
154 [in,unique] GUID *domain_guid,
155 [in,string,unique,charset(UTF8)] char *site_name,
156 [in] uint32 flags,
157 [out] netr_DsRGetDCNameInfo **dc_info
160 NTSTATUS wbint_LookupRids(
161 [in] dom_sid *domain_sid,
162 [in] wbint_RidArray *rids,
163 [out,string,charset(UTF8)] char **domain_name,
164 [out] wbint_Principals *names
167 NTSTATUS wbint_CheckMachineAccount(
170 NTSTATUS wbint_ChangeMachineAccount(
173 NTSTATUS wbint_PingDc(
174 [out,string,charset(UTF8)] char **dcname