• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt/router/samba-3.5.8/source3/librpc/idl/
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] wbint_RidArray *rids,
144	[out,string,charset(UTF8)] char **domain_name,
145	[out] wbint_Principals *names
146	);
147
148    NTSTATUS wbint_CheckMachineAccount(
149	);
150
151    NTSTATUS wbint_ChangeMachineAccount(
152	);
153
154    NTSTATUS wbint_PingDc(
155	);
156
157    typedef [public] enum {
158	WBINT_ID_TYPE_NOT_SPECIFIED,
159	WBINT_ID_TYPE_UID,
160	WBINT_ID_TYPE_GID
161    } wbint_IdType;
162
163    NTSTATUS wbint_SetMapping(
164	[in] dom_sid *sid,
165	[in] wbint_IdType type,
166	[in] hyper id
167	);
168
169    NTSTATUS wbint_RemoveMapping(
170	[in] dom_sid *sid,
171	[in] wbint_IdType type,
172	[in] hyper id
173	);
174
175    NTSTATUS wbint_SetHWM(
176	[in] wbint_IdType type,
177	[in] hyper id
178	);
179}
180