s3:winbind: Convert WINBINDD_SET_MAPPING to the new API
[Samba/aatanasov.git] / source3 / librpc / idl / wbint.idl
blob642d7f6636dcbb187753edd20eebfc716958e4e2
1 #include "idl_types.h"
2 import "lsa.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")
11 interface wbint
13 void wbint_Ping(
14 [in] uint32 in_data,
15 [out] uint32 *out_data
18 NTSTATUS wbint_LookupSid(
19 [in] dom_sid *sid,
20 [out] lsa_SidType *type,
21 [out,string,charset(UTF8)] char **domain,
22 [out,string,charset(UTF8)] char **name
25 NTSTATUS wbint_LookupName(
26 [in,string,charset(UTF8)] char *domain,
27 [in,string,charset(UTF8)] char *name,
28 [in] uint32 flags,
29 [out] lsa_SidType *type,
30 [out] dom_sid *sid
33 NTSTATUS wbint_Sid2Uid(
34 [in,unique,string,charset(UTF8)] char *dom_name,
35 [in] dom_sid *sid,
36 [out] hyper *uid
39 NTSTATUS wbint_Sid2Gid(
40 [in,unique,string,charset(UTF8)] char *dom_name,
41 [in] dom_sid *sid,
42 [out] hyper *gid
45 NTSTATUS wbint_Uid2Sid(
46 [in,unique,string,charset(UTF8)] char *dom_name,
47 [in] hyper uid,
48 [out] dom_sid *sid
51 NTSTATUS wbint_Gid2Sid(
52 [in,unique,string,charset(UTF8)] char *dom_name,
53 [in] hyper gid,
54 [out] dom_sid *sid
57 NTSTATUS wbint_AllocateUid(
58 [out] hyper *uid
61 NTSTATUS wbint_AllocateGid(
62 [out] hyper *gid
65 typedef [public] struct {
66 [string,charset(UTF8)] char *acct_name;
67 [string,charset(UTF8)] char *full_name;
68 [string,charset(UTF8)] char *homedir;
69 [string,charset(UTF8)] char *shell;
70 hyper primary_gid;
71 dom_sid user_sid;
72 dom_sid group_sid;
73 } wbint_userinfo;
75 NTSTATUS wbint_QueryUser(
76 [in] dom_sid *sid,
77 [out] wbint_userinfo *info
80 typedef [public] struct {
81 uint32 num_sids;
82 [size_is(num_sids)] dom_sid sids[];
83 } wbint_SidArray;
85 typedef [public] struct {
86 uint32 num_rids;
87 [size_is(num_rids)] uint32 rids[];
88 } wbint_RidArray;
90 NTSTATUS wbint_LookupUserAliases(
91 [in] wbint_SidArray *sids,
92 [out] wbint_RidArray *rids
95 NTSTATUS wbint_LookupUserGroups(
96 [in] dom_sid *sid,
97 [out] wbint_SidArray *sids
100 NTSTATUS wbint_QuerySequenceNumber(
101 [out] uint32 *sequence
104 typedef [public] struct {
105 dom_sid sid;
106 lsa_SidType type;
107 [string,charset(UTF8)] char *name;
108 } wbint_Principal;
110 typedef [public] struct {
111 int num_principals;
112 [size_is(num_principals)] wbint_Principal principals[];
113 } wbint_Principals;
115 NTSTATUS wbint_LookupGroupMembers(
116 [in] dom_sid *sid,
117 [in] lsa_SidType type,
118 [out] wbint_Principals *members
121 typedef [public] struct {
122 uint32 num_userinfos;
123 [size_is(num_userinfos)] wbint_userinfo userinfos[];
124 } wbint_userinfos;
126 NTSTATUS wbint_QueryUserList(
127 [out] wbint_userinfos *users
130 NTSTATUS wbint_QueryGroupList(
131 [out] wbint_Principals *groups
134 NTSTATUS wbint_DsGetDcName(
135 [in,string,charset(UTF8)] char *domain_name,
136 [in,unique] GUID *domain_guid,
137 [in,string,unique,charset(UTF8)] char *site_name,
138 [in] uint32 flags,
139 [out] netr_DsRGetDCNameInfo **dc_info
142 NTSTATUS wbint_LookupRids(
143 [in] wbint_RidArray *rids,
144 [out] wbint_Principals *names
147 NTSTATUS wbint_CheckMachineAccount(
150 typedef [public] enum {
151 WBINT_ID_TYPE_NOT_SPECIFIED,
152 WBINT_ID_TYPE_UID,
153 WBINT_ID_TYPE_GID
154 } wbint_IdType;
156 NTSTATUS wbint_SetMapping(
157 [in] dom_sid *sid,
158 [in] wbint_IdType type,
159 [in] hyper id