s3: Add wbint_LookupSids
[Samba.git] / source3 / librpc / idl / wbint.idl
blobec37b381ff0ab3dab89ace91a72948c6c5943bb1
1 #include "idl_types.h"
2 import "lsa.idl", "netlogon.idl", "misc.idl", "security.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_Sid2Uid(
41 [in,unique,string,charset(UTF8)] char *dom_name,
42 [in] dom_sid *sid,
43 [out] hyper *uid
46 NTSTATUS wbint_Sid2Gid(
47 [in,unique,string,charset(UTF8)] char *dom_name,
48 [in] dom_sid *sid,
49 [out] hyper *gid
52 NTSTATUS wbint_Uid2Sid(
53 [in,unique,string,charset(UTF8)] char *dom_name,
54 [in] hyper uid,
55 [out] dom_sid *sid
58 NTSTATUS wbint_Gid2Sid(
59 [in,unique,string,charset(UTF8)] char *dom_name,
60 [in] hyper gid,
61 [out] dom_sid *sid
64 NTSTATUS wbint_AllocateUid(
65 [out] hyper *uid
68 NTSTATUS wbint_AllocateGid(
69 [out] hyper *gid
72 typedef [public] struct {
73 [string,charset(UTF8)] char *acct_name;
74 [string,charset(UTF8)] char *full_name;
75 [string,charset(UTF8)] char *homedir;
76 [string,charset(UTF8)] char *shell;
77 hyper primary_gid;
78 dom_sid user_sid;
79 dom_sid group_sid;
80 } wbint_userinfo;
82 NTSTATUS wbint_QueryUser(
83 [in] dom_sid *sid,
84 [out] wbint_userinfo *info
87 typedef [public] struct {
88 uint32 num_sids;
89 [size_is(num_sids)] dom_sid sids[];
90 } wbint_SidArray;
92 typedef [public] struct {
93 uint32 num_rids;
94 [size_is(num_rids)] uint32 rids[];
95 } wbint_RidArray;
97 NTSTATUS wbint_LookupUserAliases(
98 [in] wbint_SidArray *sids,
99 [out] wbint_RidArray *rids
102 NTSTATUS wbint_LookupUserGroups(
103 [in] dom_sid *sid,
104 [out] wbint_SidArray *sids
107 NTSTATUS wbint_QuerySequenceNumber(
108 [out] uint32 *sequence
111 typedef [public] struct {
112 dom_sid sid;
113 lsa_SidType type;
114 [string,charset(UTF8)] char *name;
115 } wbint_Principal;
117 typedef [public] struct {
118 int num_principals;
119 [size_is(num_principals)] wbint_Principal principals[];
120 } wbint_Principals;
122 NTSTATUS wbint_LookupGroupMembers(
123 [in] dom_sid *sid,
124 [in] lsa_SidType type,
125 [out] wbint_Principals *members
128 typedef [public] struct {
129 uint32 num_userinfos;
130 [size_is(num_userinfos)] wbint_userinfo userinfos[];
131 } wbint_userinfos;
133 NTSTATUS wbint_QueryUserList(
134 [out] wbint_userinfos *users
137 NTSTATUS wbint_QueryGroupList(
138 [out] wbint_Principals *groups
141 NTSTATUS wbint_DsGetDcName(
142 [in,string,charset(UTF8)] char *domain_name,
143 [in,unique] GUID *domain_guid,
144 [in,string,unique,charset(UTF8)] char *site_name,
145 [in] uint32 flags,
146 [out] netr_DsRGetDCNameInfo **dc_info
149 NTSTATUS wbint_LookupRids(
150 [in] wbint_RidArray *rids,
151 [out,string,charset(UTF8)] char **domain_name,
152 [out] wbint_Principals *names
155 NTSTATUS wbint_CheckMachineAccount(
158 NTSTATUS wbint_ChangeMachineAccount(
161 NTSTATUS wbint_PingDc(