source: trunk/server/source3/librpc/idl/wbint.idl

Last change on this file was 745, checked in by Silvan Scherrer, 13 years ago

Samba Server: updated trunk to 3.6.0

File size: 3.9 KB
Line 
1#include "idl_types.h"
2import "lsa.idl", "netlogon.idl", "misc.idl", "security.idl", "idmap.idl";
3
4[
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
11]
12interface wbint
13{
14 void wbint_Ping(
15 [in] uint32 in_data,
16 [out] uint32 *out_data
17 );
18
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
24 );
25
26 NTSTATUS wbint_LookupSids(
27 [in] lsa_SidArray *sids,
28 [out,ref] lsa_RefDomainList *domains,
29 [out,ref] lsa_TransNameArray *names
30 );
31
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
38 );
39
40 NTSTATUS wbint_Sid2Uid(
41 [in,unique,string,charset(UTF8)] char *dom_name,
42 [in] dom_sid *sid,
43 [out] hyper *uid
44 );
45
46 NTSTATUS wbint_Sid2Gid(
47 [in,unique,string,charset(UTF8)] char *dom_name,
48 [in] dom_sid *sid,
49 [out] hyper *gid
50 );
51
52 typedef struct {
53 id_type type;
54 uint32 domain_index;
55 uint32 rid;
56 hyper unix_id;
57 } wbint_TransID;
58
59 typedef struct {
60 uint32 num_ids;
61 [size_is(num_ids)] wbint_TransID ids[];
62 } wbint_TransIDArray;
63
64 NTSTATUS wbint_Sids2UnixIDs(
65 [in] lsa_RefDomainList *domains,
66 [in,out] wbint_TransIDArray *ids
67 );
68
69 NTSTATUS wbint_Uid2Sid(
70 [in,unique,string,charset(UTF8)] char *dom_name,
71 [in] hyper uid,
72 [out] dom_sid *sid
73 );
74
75 NTSTATUS wbint_Gid2Sid(
76 [in,unique,string,charset(UTF8)] char *dom_name,
77 [in] hyper gid,
78 [out] dom_sid *sid
79 );
80
81 NTSTATUS wbint_AllocateUid(
82 [out] hyper *uid
83 );
84
85 NTSTATUS wbint_AllocateGid(
86 [out] hyper *gid
87 );
88
89 typedef [public] struct {
90 [string,charset(UTF8)] char *acct_name;
91 [string,charset(UTF8)] char *full_name;
92 [string,charset(UTF8)] char *homedir;
93 [string,charset(UTF8)] char *shell;
94 hyper primary_gid;
95 dom_sid user_sid;
96 dom_sid group_sid;
97 } wbint_userinfo;
98
99 NTSTATUS wbint_QueryUser(
100 [in] dom_sid *sid,
101 [out] wbint_userinfo *info
102 );
103
104 typedef [public] struct {
105 uint32 num_sids;
106 [size_is(num_sids)] dom_sid sids[];
107 } wbint_SidArray;
108
109 typedef [public] struct {
110 uint32 num_rids;
111 [size_is(num_rids)] uint32 rids[];
112 } wbint_RidArray;
113
114 NTSTATUS wbint_LookupUserAliases(
115 [in] wbint_SidArray *sids,
116 [out] wbint_RidArray *rids
117 );
118
119 NTSTATUS wbint_LookupUserGroups(
120 [in] dom_sid *sid,
121 [out] wbint_SidArray *sids
122 );
123
124 NTSTATUS wbint_QuerySequenceNumber(
125 [out] uint32 *sequence
126 );
127
128 typedef [public] struct {
129 dom_sid sid;
130 lsa_SidType type;
131 [string,charset(UTF8)] char *name;
132 } wbint_Principal;
133
134 typedef [public] struct {
135 int num_principals;
136 [size_is(num_principals)] wbint_Principal principals[];
137 } wbint_Principals;
138
139 NTSTATUS wbint_LookupGroupMembers(
140 [in] dom_sid *sid,
141 [in] lsa_SidType type,
142 [out] wbint_Principals *members
143 );
144
145 typedef [public] struct {
146 uint32 num_userinfos;
147 [size_is(num_userinfos)] wbint_userinfo userinfos[];
148 } wbint_userinfos;
149
150 NTSTATUS wbint_QueryUserList(
151 [out] wbint_userinfos *users
152 );
153
154 NTSTATUS wbint_QueryGroupList(
155 [out] wbint_Principals *groups
156 );
157
158 NTSTATUS wbint_DsGetDcName(
159 [in,string,charset(UTF8)] char *domain_name,
160 [in,unique] GUID *domain_guid,
161 [in,string,unique,charset(UTF8)] char *site_name,
162 [in] uint32 flags,
163 [out] netr_DsRGetDCNameInfo **dc_info
164 );
165
166 NTSTATUS wbint_LookupRids(
167 [in] dom_sid *domain_sid,
168 [in] wbint_RidArray *rids,
169 [out,string,charset(UTF8)] char **domain_name,
170 [out] wbint_Principals *names
171 );
172
173 NTSTATUS wbint_CheckMachineAccount(
174 );
175
176 NTSTATUS wbint_ChangeMachineAccount(
177 );
178
179 NTSTATUS wbint_PingDc(
180 );
181}
Note: See TracBrowser for help on using the repository browser.