source: branches/samba-3.5.x/source3/librpc/idl/wbint.idl

Last change on this file was 620, checked in by Herwig Bauernfeind, 14 years ago

Samba 3.5: Update trunk to 3.5.11

File size: 3.7 KB
Line 
1#include "idl_types.h"
2import "lsa.idl", "netlogon.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]
11interface wbint
12{
13 void wbint_Ping(
14 [in] uint32 in_data,
15 [out] uint32 *out_data
16 );
17
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
23 );
24
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
31 );
32
33 NTSTATUS wbint_Sid2Uid(
34 [in,unique,string,charset(UTF8)] char *dom_name,
35 [in] dom_sid *sid,
36 [out] hyper *uid
37 );
38
39 NTSTATUS wbint_Sid2Gid(
40 [in,unique,string,charset(UTF8)] char *dom_name,
41 [in] dom_sid *sid,
42 [out] hyper *gid
43 );
44
45 NTSTATUS wbint_Uid2Sid(
46 [in,unique,string,charset(UTF8)] char *dom_name,
47 [in] hyper uid,
48 [out] dom_sid *sid
49 );
50
51 NTSTATUS wbint_Gid2Sid(
52 [in,unique,string,charset(UTF8)] char *dom_name,
53 [in] hyper gid,
54 [out] dom_sid *sid
55 );
56
57 NTSTATUS wbint_AllocateUid(
58 [out] hyper *uid
59 );
60
61 NTSTATUS wbint_AllocateGid(
62 [out] hyper *gid
63 );
64
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;
74
75 NTSTATUS wbint_QueryUser(
76 [in] dom_sid *sid,
77 [out] wbint_userinfo *info
78 );
79
80 typedef [public] struct {
81 uint32 num_sids;
82 [size_is(num_sids)] dom_sid sids[];
83 } wbint_SidArray;
84
85 typedef [public] struct {
86 uint32 num_rids;
87 [size_is(num_rids)] uint32 rids[];
88 } wbint_RidArray;
89
90 NTSTATUS wbint_LookupUserAliases(
91 [in] wbint_SidArray *sids,
92 [out] wbint_RidArray *rids
93 );
94
95 NTSTATUS wbint_LookupUserGroups(
96 [in] dom_sid *sid,
97 [out] wbint_SidArray *sids
98 );
99
100 NTSTATUS wbint_QuerySequenceNumber(
101 [out] uint32 *sequence
102 );
103
104 typedef [public] struct {
105 dom_sid sid;
106 lsa_SidType type;
107 [string,charset(UTF8)] char *name;
108 } wbint_Principal;
109
110 typedef [public] struct {
111 int num_principals;
112 [size_is(num_principals)] wbint_Principal principals[];
113 } wbint_Principals;
114
115 NTSTATUS wbint_LookupGroupMembers(
116 [in] dom_sid *sid,
117 [in] lsa_SidType type,
118 [out] wbint_Principals *members
119 );
120
121 typedef [public] struct {
122 uint32 num_userinfos;
123 [size_is(num_userinfos)] wbint_userinfo userinfos[];
124 } wbint_userinfos;
125
126 NTSTATUS wbint_QueryUserList(
127 [out] wbint_userinfos *users
128 );
129
130 NTSTATUS wbint_QueryGroupList(
131 [out] wbint_Principals *groups
132 );
133
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
140 );
141
142 NTSTATUS wbint_LookupRids(
143 [in] dom_sid *domain_sid,
144 [in] wbint_RidArray *rids,
145 [out,string,charset(UTF8)] char **domain_name,
146 [out] wbint_Principals *names
147 );
148
149 NTSTATUS wbint_CheckMachineAccount(
150 );
151
152 NTSTATUS wbint_ChangeMachineAccount(
153 );
154
155 NTSTATUS wbint_PingDc(
156 );
157
158 typedef [public] enum {
159 WBINT_ID_TYPE_NOT_SPECIFIED,
160 WBINT_ID_TYPE_UID,
161 WBINT_ID_TYPE_GID
162 } wbint_IdType;
163
164 NTSTATUS wbint_SetMapping(
165 [in] dom_sid *sid,
166 [in] wbint_IdType type,
167 [in] hyper id
168 );
169
170 NTSTATUS wbint_RemoveMapping(
171 [in] dom_sid *sid,
172 [in] wbint_IdType type,
173 [in] hyper id
174 );
175
176 NTSTATUS wbint_SetHWM(
177 [in] wbint_IdType type,
178 [in] hyper id
179 );
180}
Note: See TracBrowser for help on using the repository browser.