s3-idl: fix some missing dependencies to other IDL files.
[Samba/ekacnet.git] / source3 / librpc / idl / wbint.idl
blobb2c8ff6615c5a6bc0e2f1f1e0673bf6cbfae2c05
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_LookupName(
27 [in,string,charset(UTF8)] char *domain,
28 [in,string,charset(UTF8)] char *name,
29 [in] uint32 flags,
30 [out] lsa_SidType *type,
31 [out] dom_sid *sid
34 NTSTATUS wbint_Sid2Uid(
35 [in,unique,string,charset(UTF8)] char *dom_name,
36 [in] dom_sid *sid,
37 [out] hyper *uid
40 NTSTATUS wbint_Sid2Gid(
41 [in,unique,string,charset(UTF8)] char *dom_name,
42 [in] dom_sid *sid,
43 [out] hyper *gid
46 NTSTATUS wbint_Uid2Sid(
47 [in,unique,string,charset(UTF8)] char *dom_name,
48 [in] hyper uid,
49 [out] dom_sid *sid
52 NTSTATUS wbint_Gid2Sid(
53 [in,unique,string,charset(UTF8)] char *dom_name,
54 [in] hyper gid,
55 [out] dom_sid *sid
58 NTSTATUS wbint_AllocateUid(
59 [out] hyper *uid
62 NTSTATUS wbint_AllocateGid(
63 [out] hyper *gid
66 typedef [public] struct {
67 [string,charset(UTF8)] char *acct_name;
68 [string,charset(UTF8)] char *full_name;
69 [string,charset(UTF8)] char *homedir;
70 [string,charset(UTF8)] char *shell;
71 hyper primary_gid;
72 dom_sid user_sid;
73 dom_sid group_sid;
74 } wbint_userinfo;
76 NTSTATUS wbint_QueryUser(
77 [in] dom_sid *sid,
78 [out] wbint_userinfo *info
81 typedef [public] struct {
82 uint32 num_sids;
83 [size_is(num_sids)] dom_sid sids[];
84 } wbint_SidArray;
86 typedef [public] struct {
87 uint32 num_rids;
88 [size_is(num_rids)] uint32 rids[];
89 } wbint_RidArray;
91 NTSTATUS wbint_LookupUserAliases(
92 [in] wbint_SidArray *sids,
93 [out] wbint_RidArray *rids
96 NTSTATUS wbint_LookupUserGroups(
97 [in] dom_sid *sid,
98 [out] wbint_SidArray *sids
101 NTSTATUS wbint_QuerySequenceNumber(
102 [out] uint32 *sequence
105 typedef [public] struct {
106 dom_sid sid;
107 lsa_SidType type;
108 [string,charset(UTF8)] char *name;
109 } wbint_Principal;
111 typedef [public] struct {
112 int num_principals;
113 [size_is(num_principals)] wbint_Principal principals[];
114 } wbint_Principals;
116 NTSTATUS wbint_LookupGroupMembers(
117 [in] dom_sid *sid,
118 [in] lsa_SidType type,
119 [out] wbint_Principals *members
122 typedef [public] struct {
123 uint32 num_userinfos;
124 [size_is(num_userinfos)] wbint_userinfo userinfos[];
125 } wbint_userinfos;
127 NTSTATUS wbint_QueryUserList(
128 [out] wbint_userinfos *users
131 NTSTATUS wbint_QueryGroupList(
132 [out] wbint_Principals *groups
135 NTSTATUS wbint_DsGetDcName(
136 [in,string,charset(UTF8)] char *domain_name,
137 [in,unique] GUID *domain_guid,
138 [in,string,unique,charset(UTF8)] char *site_name,
139 [in] uint32 flags,
140 [out] netr_DsRGetDCNameInfo **dc_info
143 NTSTATUS wbint_LookupRids(
144 [in] wbint_RidArray *rids,
145 [out] wbint_Principals *names
148 NTSTATUS wbint_CheckMachineAccount(
151 NTSTATUS wbint_ChangeMachineAccount(
154 NTSTATUS wbint_PingDc(
157 typedef [public] enum {
158 WBINT_ID_TYPE_NOT_SPECIFIED,
159 WBINT_ID_TYPE_UID,
160 WBINT_ID_TYPE_GID
161 } wbint_IdType;
163 NTSTATUS wbint_SetMapping(
164 [in] dom_sid *sid,
165 [in] wbint_IdType type,
166 [in] hyper id
169 NTSTATUS wbint_RemoveMapping(
170 [in] dom_sid *sid,
171 [in] wbint_IdType type,
172 [in] hyper id
175 NTSTATUS wbint_SetHWM(
176 [in] wbint_IdType type,
177 [in] hyper id