netapi: add skeleton for NetUserSetGroups.
[sfrench/samba-autobuild/.git] / source3 / lib / netapi / libnetapi.h
1 #ifndef __LIBNETAPI_LIBNETAPI__
2 #define __LIBNETAPI_LIBNETAPI__
3 NET_API_STATUS NetJoinDomain(const char * server /* [in] [unique] */,
4                              const char * domain /* [in] [ref] */,
5                              const char * account_ou /* [in] [unique] */,
6                              const char * account /* [in] [unique] */,
7                              const char * password /* [in] [unique] */,
8                              uint32_t join_flags /* [in] */);
9 WERROR NetJoinDomain_r(struct libnetapi_ctx *ctx,
10                        struct NetJoinDomain *r);
11 WERROR NetJoinDomain_l(struct libnetapi_ctx *ctx,
12                        struct NetJoinDomain *r);
13 NET_API_STATUS NetUnjoinDomain(const char * server_name /* [in] [unique] */,
14                                const char * account /* [in] [unique] */,
15                                const char * password /* [in] [unique] */,
16                                uint32_t unjoin_flags /* [in] */);
17 WERROR NetUnjoinDomain_r(struct libnetapi_ctx *ctx,
18                          struct NetUnjoinDomain *r);
19 WERROR NetUnjoinDomain_l(struct libnetapi_ctx *ctx,
20                          struct NetUnjoinDomain *r);
21 NET_API_STATUS NetGetJoinInformation(const char * server_name /* [in] [unique] */,
22                                      const char * *name_buffer /* [out] [ref] */,
23                                      uint16_t *name_type /* [out] [ref] */);
24 WERROR NetGetJoinInformation_r(struct libnetapi_ctx *ctx,
25                                struct NetGetJoinInformation *r);
26 WERROR NetGetJoinInformation_l(struct libnetapi_ctx *ctx,
27                                struct NetGetJoinInformation *r);
28 NET_API_STATUS NetGetJoinableOUs(const char * server_name /* [in] [unique] */,
29                                  const char * domain /* [in] [ref] */,
30                                  const char * account /* [in] [unique] */,
31                                  const char * password /* [in] [unique] */,
32                                  uint32_t *ou_count /* [out] [ref] */,
33                                  const char * **ous /* [out] [ref] */);
34 WERROR NetGetJoinableOUs_r(struct libnetapi_ctx *ctx,
35                            struct NetGetJoinableOUs *r);
36 WERROR NetGetJoinableOUs_l(struct libnetapi_ctx *ctx,
37                            struct NetGetJoinableOUs *r);
38 NET_API_STATUS NetRenameMachineInDomain(const char * server_name /* [in] */,
39                                         const char * new_machine_name /* [in] */,
40                                         const char * account /* [in] */,
41                                         const char * password /* [in] */,
42                                         uint32_t rename_options /* [in] */);
43 WERROR NetRenameMachineInDomain_r(struct libnetapi_ctx *ctx,
44                                   struct NetRenameMachineInDomain *r);
45 WERROR NetRenameMachineInDomain_l(struct libnetapi_ctx *ctx,
46                                   struct NetRenameMachineInDomain *r);
47 NET_API_STATUS NetServerGetInfo(const char * server_name /* [in] [unique] */,
48                                 uint32_t level /* [in] */,
49                                 uint8_t **buffer /* [out] [ref] */);
50 WERROR NetServerGetInfo_r(struct libnetapi_ctx *ctx,
51                           struct NetServerGetInfo *r);
52 WERROR NetServerGetInfo_l(struct libnetapi_ctx *ctx,
53                           struct NetServerGetInfo *r);
54 NET_API_STATUS NetServerSetInfo(const char * server_name /* [in] [unique] */,
55                                 uint32_t level /* [in] */,
56                                 uint8_t *buffer /* [in] [ref] */,
57                                 uint32_t *parm_error /* [out] [ref] */);
58 WERROR NetServerSetInfo_r(struct libnetapi_ctx *ctx,
59                           struct NetServerSetInfo *r);
60 WERROR NetServerSetInfo_l(struct libnetapi_ctx *ctx,
61                           struct NetServerSetInfo *r);
62 NET_API_STATUS NetGetDCName(const char * server_name /* [in] [unique] */,
63                             const char * domain_name /* [in] [unique] */,
64                             uint8_t **buffer /* [out] [ref] */);
65 WERROR NetGetDCName_r(struct libnetapi_ctx *ctx,
66                       struct NetGetDCName *r);
67 WERROR NetGetDCName_l(struct libnetapi_ctx *ctx,
68                       struct NetGetDCName *r);
69 NET_API_STATUS NetGetAnyDCName(const char * server_name /* [in] [unique] */,
70                                const char * domain_name /* [in] [unique] */,
71                                uint8_t **buffer /* [out] [ref] */);
72 WERROR NetGetAnyDCName_r(struct libnetapi_ctx *ctx,
73                          struct NetGetAnyDCName *r);
74 WERROR NetGetAnyDCName_l(struct libnetapi_ctx *ctx,
75                          struct NetGetAnyDCName *r);
76 NET_API_STATUS DsGetDcName(const char * server_name /* [in] [unique] */,
77                            const char * domain_name /* [in] [ref] */,
78                            struct GUID *domain_guid /* [in] [unique] */,
79                            const char * site_name /* [in] [unique] */,
80                            uint32_t flags /* [in] */,
81                            struct DOMAIN_CONTROLLER_INFO **dc_info /* [out] [ref] */);
82 WERROR DsGetDcName_r(struct libnetapi_ctx *ctx,
83                      struct DsGetDcName *r);
84 WERROR DsGetDcName_l(struct libnetapi_ctx *ctx,
85                      struct DsGetDcName *r);
86 NET_API_STATUS NetUserAdd(const char * server_name /* [in] [unique] */,
87                           uint32_t level /* [in] */,
88                           uint8_t *buffer /* [in] [ref] */,
89                           uint32_t *parm_error /* [out] [ref] */);
90 WERROR NetUserAdd_r(struct libnetapi_ctx *ctx,
91                     struct NetUserAdd *r);
92 WERROR NetUserAdd_l(struct libnetapi_ctx *ctx,
93                     struct NetUserAdd *r);
94 NET_API_STATUS NetUserDel(const char * server_name /* [in] [unique] */,
95                           const char * user_name /* [in] [ref] */);
96 WERROR NetUserDel_r(struct libnetapi_ctx *ctx,
97                     struct NetUserDel *r);
98 WERROR NetUserDel_l(struct libnetapi_ctx *ctx,
99                     struct NetUserDel *r);
100 NET_API_STATUS NetUserEnum(const char * server_name /* [in] [unique] */,
101                            uint32_t level /* [in] */,
102                            uint32_t filter /* [in] */,
103                            uint8_t **buffer /* [out] [ref] */,
104                            uint32_t prefmaxlen /* [in] */,
105                            uint32_t *entries_read /* [out] [ref] */,
106                            uint32_t *total_entries /* [out] [ref] */,
107                            uint32_t *resume_handle /* [in,out] [ref] */);
108 WERROR NetUserEnum_r(struct libnetapi_ctx *ctx,
109                      struct NetUserEnum *r);
110 WERROR NetUserEnum_l(struct libnetapi_ctx *ctx,
111                      struct NetUserEnum *r);
112 NET_API_STATUS NetUserChangePassword(const char * domain_name /* [in] */,
113                                      const char * user_name /* [in] */,
114                                      const char * old_password /* [in] */,
115                                      const char * new_password /* [in] */);
116 WERROR NetUserChangePassword_r(struct libnetapi_ctx *ctx,
117                                struct NetUserChangePassword *r);
118 WERROR NetUserChangePassword_l(struct libnetapi_ctx *ctx,
119                                struct NetUserChangePassword *r);
120 NET_API_STATUS NetUserGetInfo(const char * server_name /* [in] */,
121                               const char * user_name /* [in] */,
122                               uint32_t level /* [in] */,
123                               uint8_t **buffer /* [out] [ref] */);
124 WERROR NetUserGetInfo_r(struct libnetapi_ctx *ctx,
125                         struct NetUserGetInfo *r);
126 WERROR NetUserGetInfo_l(struct libnetapi_ctx *ctx,
127                         struct NetUserGetInfo *r);
128 NET_API_STATUS NetUserSetInfo(const char * server_name /* [in] */,
129                               const char * user_name /* [in] */,
130                               uint32_t level /* [in] */,
131                               uint8_t *buffer /* [in] [ref] */,
132                               uint32_t *parm_err /* [out] [ref] */);
133 WERROR NetUserSetInfo_r(struct libnetapi_ctx *ctx,
134                         struct NetUserSetInfo *r);
135 WERROR NetUserSetInfo_l(struct libnetapi_ctx *ctx,
136                         struct NetUserSetInfo *r);
137 NET_API_STATUS NetUserGetGroups(const char * server_name /* [in] */,
138                                 const char * user_name /* [in] */,
139                                 uint32_t level /* [in] */,
140                                 uint8_t **buffer /* [out] [ref] */,
141                                 uint32_t prefmaxlen /* [in] */,
142                                 uint32_t *entries_read /* [out] [ref] */,
143                                 uint32_t *total_entries /* [out] [ref] */);
144 WERROR NetUserGetGroups_r(struct libnetapi_ctx *ctx,
145                           struct NetUserGetGroups *r);
146 WERROR NetUserGetGroups_l(struct libnetapi_ctx *ctx,
147                           struct NetUserGetGroups *r);
148 NET_API_STATUS NetUserSetGroups(const char * server_name /* [in] */,
149                                 const char * user_name /* [in] */,
150                                 uint32_t level /* [in] */,
151                                 uint8_t *buffer /* [in] [ref] */,
152                                 uint32_t num_entries /* [in] */);
153 WERROR NetUserSetGroups_r(struct libnetapi_ctx *ctx,
154                           struct NetUserSetGroups *r);
155 WERROR NetUserSetGroups_l(struct libnetapi_ctx *ctx,
156                           struct NetUserSetGroups *r);
157 NET_API_STATUS NetUserModalsGet(const char * server_name /* [in] */,
158                                 uint32_t level /* [in] */,
159                                 uint8_t **buffer /* [out] [ref] */);
160 WERROR NetUserModalsGet_r(struct libnetapi_ctx *ctx,
161                           struct NetUserModalsGet *r);
162 WERROR NetUserModalsGet_l(struct libnetapi_ctx *ctx,
163                           struct NetUserModalsGet *r);
164 NET_API_STATUS NetUserModalsSet(const char * server_name /* [in] */,
165                                 uint32_t level /* [in] */,
166                                 uint8_t *buffer /* [in] [ref] */,
167                                 uint32_t *parm_err /* [out] [ref] */);
168 WERROR NetUserModalsSet_r(struct libnetapi_ctx *ctx,
169                           struct NetUserModalsSet *r);
170 WERROR NetUserModalsSet_l(struct libnetapi_ctx *ctx,
171                           struct NetUserModalsSet *r);
172 NET_API_STATUS NetQueryDisplayInformation(const char * server_name /* [in] [unique] */,
173                                           uint32_t level /* [in] */,
174                                           uint32_t idx /* [in] */,
175                                           uint32_t entries_requested /* [in] */,
176                                           uint32_t prefmaxlen /* [in] */,
177                                           uint32_t *entries_read /* [out] [ref] */,
178                                           void **buffer /* [out] [noprint,ref] */);
179 WERROR NetQueryDisplayInformation_r(struct libnetapi_ctx *ctx,
180                                     struct NetQueryDisplayInformation *r);
181 WERROR NetQueryDisplayInformation_l(struct libnetapi_ctx *ctx,
182                                     struct NetQueryDisplayInformation *r);
183 NET_API_STATUS NetGroupAdd(const char * server_name /* [in] */,
184                            uint32_t level /* [in] */,
185                            uint8_t *buffer /* [in] [ref] */,
186                            uint32_t *parm_err /* [out] [ref] */);
187 WERROR NetGroupAdd_r(struct libnetapi_ctx *ctx,
188                      struct NetGroupAdd *r);
189 WERROR NetGroupAdd_l(struct libnetapi_ctx *ctx,
190                      struct NetGroupAdd *r);
191 NET_API_STATUS NetGroupDel(const char * server_name /* [in] */,
192                            const char * group_name /* [in] */);
193 WERROR NetGroupDel_r(struct libnetapi_ctx *ctx,
194                      struct NetGroupDel *r);
195 WERROR NetGroupDel_l(struct libnetapi_ctx *ctx,
196                      struct NetGroupDel *r);
197 NET_API_STATUS NetGroupEnum(const char * server_name /* [in] */,
198                             uint32_t level /* [in] */,
199                             uint8_t **buffer /* [out] [ref] */,
200                             uint32_t prefmaxlen /* [in] */,
201                             uint32_t *entries_read /* [out] [ref] */,
202                             uint32_t *total_entries /* [out] [ref] */,
203                             uint32_t *resume_handle /* [in,out] [ref] */);
204 WERROR NetGroupEnum_r(struct libnetapi_ctx *ctx,
205                       struct NetGroupEnum *r);
206 WERROR NetGroupEnum_l(struct libnetapi_ctx *ctx,
207                       struct NetGroupEnum *r);
208 NET_API_STATUS NetGroupSetInfo(const char * server_name /* [in] */,
209                                const char * group_name /* [in] */,
210                                uint32_t level /* [in] */,
211                                uint8_t *buffer /* [in] [ref] */,
212                                uint32_t *parm_err /* [out] [ref] */);
213 WERROR NetGroupSetInfo_r(struct libnetapi_ctx *ctx,
214                          struct NetGroupSetInfo *r);
215 WERROR NetGroupSetInfo_l(struct libnetapi_ctx *ctx,
216                          struct NetGroupSetInfo *r);
217 NET_API_STATUS NetGroupGetInfo(const char * server_name /* [in] */,
218                                const char * group_name /* [in] */,
219                                uint32_t level /* [in] */,
220                                uint8_t **buffer /* [out] [ref] */);
221 WERROR NetGroupGetInfo_r(struct libnetapi_ctx *ctx,
222                          struct NetGroupGetInfo *r);
223 WERROR NetGroupGetInfo_l(struct libnetapi_ctx *ctx,
224                          struct NetGroupGetInfo *r);
225 NET_API_STATUS NetGroupAddUser(const char * server_name /* [in] */,
226                                const char * group_name /* [in] */,
227                                const char * user_name /* [in] */);
228 WERROR NetGroupAddUser_r(struct libnetapi_ctx *ctx,
229                          struct NetGroupAddUser *r);
230 WERROR NetGroupAddUser_l(struct libnetapi_ctx *ctx,
231                          struct NetGroupAddUser *r);
232 NET_API_STATUS NetGroupDelUser(const char * server_name /* [in] */,
233                                const char * group_name /* [in] */,
234                                const char * user_name /* [in] */);
235 WERROR NetGroupDelUser_r(struct libnetapi_ctx *ctx,
236                          struct NetGroupDelUser *r);
237 WERROR NetGroupDelUser_l(struct libnetapi_ctx *ctx,
238                          struct NetGroupDelUser *r);
239 NET_API_STATUS NetGroupGetUsers(const char * server_name /* [in] */,
240                                 const char * group_name /* [in] */,
241                                 uint32_t level /* [in] */,
242                                 uint8_t **buffer /* [out] [ref] */,
243                                 uint32_t prefmaxlen /* [in] */,
244                                 uint32_t *entries_read /* [out] [ref] */,
245                                 uint32_t *total_entries /* [out] [ref] */,
246                                 uint32_t *resume_handle /* [in,out] [ref] */);
247 WERROR NetGroupGetUsers_r(struct libnetapi_ctx *ctx,
248                           struct NetGroupGetUsers *r);
249 WERROR NetGroupGetUsers_l(struct libnetapi_ctx *ctx,
250                           struct NetGroupGetUsers *r);
251 NET_API_STATUS NetLocalGroupAdd(const char * server_name /* [in] */,
252                                 uint32_t level /* [in] */,
253                                 uint8_t *buffer /* [in] [ref] */,
254                                 uint32_t *parm_err /* [out] [ref] */);
255 WERROR NetLocalGroupAdd_r(struct libnetapi_ctx *ctx,
256                           struct NetLocalGroupAdd *r);
257 WERROR NetLocalGroupAdd_l(struct libnetapi_ctx *ctx,
258                           struct NetLocalGroupAdd *r);
259 NET_API_STATUS NetLocalGroupDel(const char * server_name /* [in] */,
260                                 const char * group_name /* [in] */);
261 WERROR NetLocalGroupDel_r(struct libnetapi_ctx *ctx,
262                           struct NetLocalGroupDel *r);
263 WERROR NetLocalGroupDel_l(struct libnetapi_ctx *ctx,
264                           struct NetLocalGroupDel *r);
265 NET_API_STATUS NetLocalGroupGetInfo(const char * server_name /* [in] */,
266                                     const char * group_name /* [in] */,
267                                     uint32_t level /* [in] */,
268                                     uint8_t **buffer /* [out] [ref] */);
269 WERROR NetLocalGroupGetInfo_r(struct libnetapi_ctx *ctx,
270                               struct NetLocalGroupGetInfo *r);
271 WERROR NetLocalGroupGetInfo_l(struct libnetapi_ctx *ctx,
272                               struct NetLocalGroupGetInfo *r);
273 NET_API_STATUS NetLocalGroupSetInfo(const char * server_name /* [in] */,
274                                     const char * group_name /* [in] */,
275                                     uint32_t level /* [in] */,
276                                     uint8_t *buffer /* [in] [ref] */,
277                                     uint32_t *parm_err /* [out] [ref] */);
278 WERROR NetLocalGroupSetInfo_r(struct libnetapi_ctx *ctx,
279                               struct NetLocalGroupSetInfo *r);
280 WERROR NetLocalGroupSetInfo_l(struct libnetapi_ctx *ctx,
281                               struct NetLocalGroupSetInfo *r);
282 NET_API_STATUS NetLocalGroupEnum(const char * server_name /* [in] */,
283                                  uint32_t level /* [in] */,
284                                  uint8_t **buffer /* [out] [ref] */,
285                                  uint32_t prefmaxlen /* [in] */,
286                                  uint32_t *entries_read /* [out] [ref] */,
287                                  uint32_t *total_entries /* [out] [ref] */,
288                                  uint32_t *resume_handle /* [in,out] [ref] */);
289 WERROR NetLocalGroupEnum_r(struct libnetapi_ctx *ctx,
290                            struct NetLocalGroupEnum *r);
291 WERROR NetLocalGroupEnum_l(struct libnetapi_ctx *ctx,
292                            struct NetLocalGroupEnum *r);
293 NET_API_STATUS NetLocalGroupAddMembers(const char * server_name /* [in] */,
294                                        const char * group_name /* [in] */,
295                                        uint32_t level /* [in] */,
296                                        uint8_t *buffer /* [in] [ref] */,
297                                        uint32_t total_entries /* [in] */);
298 WERROR NetLocalGroupAddMembers_r(struct libnetapi_ctx *ctx,
299                                  struct NetLocalGroupAddMembers *r);
300 WERROR NetLocalGroupAddMembers_l(struct libnetapi_ctx *ctx,
301                                  struct NetLocalGroupAddMembers *r);
302 NET_API_STATUS NetLocalGroupDelMembers(const char * server_name /* [in] */,
303                                        const char * group_name /* [in] */,
304                                        uint32_t level /* [in] */,
305                                        uint8_t *buffer /* [in] [ref] */,
306                                        uint32_t total_entries /* [in] */);
307 WERROR NetLocalGroupDelMembers_r(struct libnetapi_ctx *ctx,
308                                  struct NetLocalGroupDelMembers *r);
309 WERROR NetLocalGroupDelMembers_l(struct libnetapi_ctx *ctx,
310                                  struct NetLocalGroupDelMembers *r);
311 NET_API_STATUS NetLocalGroupGetMembers(const char * server_name /* [in] */,
312                                        const char * local_group_name /* [in] */,
313                                        uint32_t level /* [in] */,
314                                        uint8_t **buffer /* [out] [ref] */,
315                                        uint32_t prefmaxlen /* [in] */,
316                                        uint32_t *entries_read /* [out] [ref] */,
317                                        uint32_t *total_entries /* [out] [ref] */,
318                                        uint32_t *resume_handle /* [in,out] [ref] */);
319 WERROR NetLocalGroupGetMembers_r(struct libnetapi_ctx *ctx,
320                                  struct NetLocalGroupGetMembers *r);
321 WERROR NetLocalGroupGetMembers_l(struct libnetapi_ctx *ctx,
322                                  struct NetLocalGroupGetMembers *r);
323 NET_API_STATUS NetLocalGroupSetMembers(const char * server_name /* [in] */,
324                                        const char * group_name /* [in] */,
325                                        uint32_t level /* [in] */,
326                                        uint8_t *buffer /* [in] [ref] */,
327                                        uint32_t total_entries /* [in] */);
328 WERROR NetLocalGroupSetMembers_r(struct libnetapi_ctx *ctx,
329                                  struct NetLocalGroupSetMembers *r);
330 WERROR NetLocalGroupSetMembers_l(struct libnetapi_ctx *ctx,
331                                  struct NetLocalGroupSetMembers *r);
332 NET_API_STATUS NetRemoteTOD(const char * server_name /* [in] */,
333                             uint8_t **buffer /* [out] [ref] */);
334 WERROR NetRemoteTOD_r(struct libnetapi_ctx *ctx,
335                       struct NetRemoteTOD *r);
336 WERROR NetRemoteTOD_l(struct libnetapi_ctx *ctx,
337                       struct NetRemoteTOD *r);
338 NET_API_STATUS NetShareAdd(const char * server_name /* [in] */,
339                            uint32_t level /* [in] */,
340                            uint8_t *buffer /* [in] [ref] */,
341                            uint32_t *parm_err /* [out] [ref] */);
342 WERROR NetShareAdd_r(struct libnetapi_ctx *ctx,
343                      struct NetShareAdd *r);
344 WERROR NetShareAdd_l(struct libnetapi_ctx *ctx,
345                      struct NetShareAdd *r);
346 NET_API_STATUS NetShareDel(const char * server_name /* [in] */,
347                            const char * net_name /* [in] */,
348                            uint32_t reserved /* [in] */);
349 WERROR NetShareDel_r(struct libnetapi_ctx *ctx,
350                      struct NetShareDel *r);
351 WERROR NetShareDel_l(struct libnetapi_ctx *ctx,
352                      struct NetShareDel *r);
353 NET_API_STATUS NetShareEnum(const char * server_name /* [in] */,
354                             uint32_t level /* [in] */,
355                             uint8_t **buffer /* [out] [ref] */,
356                             uint32_t prefmaxlen /* [in] */,
357                             uint32_t *entries_read /* [out] [ref] */,
358                             uint32_t *total_entries /* [out] [ref] */,
359                             uint32_t *resume_handle /* [in,out] [ref] */);
360 WERROR NetShareEnum_r(struct libnetapi_ctx *ctx,
361                       struct NetShareEnum *r);
362 WERROR NetShareEnum_l(struct libnetapi_ctx *ctx,
363                       struct NetShareEnum *r);
364 NET_API_STATUS NetShareGetInfo(const char * server_name /* [in] */,
365                                const char * net_name /* [in] */,
366                                uint32_t level /* [in] */,
367                                uint8_t **buffer /* [out] [ref] */);
368 WERROR NetShareGetInfo_r(struct libnetapi_ctx *ctx,
369                          struct NetShareGetInfo *r);
370 WERROR NetShareGetInfo_l(struct libnetapi_ctx *ctx,
371                          struct NetShareGetInfo *r);
372 NET_API_STATUS NetShareSetInfo(const char * server_name /* [in] */,
373                                const char * net_name /* [in] */,
374                                uint32_t level /* [in] */,
375                                uint8_t *buffer /* [in] [ref] */,
376                                uint32_t *parm_err /* [out] [ref] */);
377 WERROR NetShareSetInfo_r(struct libnetapi_ctx *ctx,
378                          struct NetShareSetInfo *r);
379 WERROR NetShareSetInfo_l(struct libnetapi_ctx *ctx,
380                          struct NetShareSetInfo *r);
381 #endif /* __LIBNETAPI_LIBNETAPI__ */