2 * Unix SMB/CIFS implementation.
4 * Copyright (C) Guenther Deschner 2007-2008
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 3 of the License, or
9 * (at your option) any later version.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, see <http://www.gnu.org/licenses/>.
21 #include "librpc/gen_ndr/libnetapi.h"
22 #include "lib/netapi/netapi.h"
23 #include "lib/netapi/netapi_private.h"
24 #include "lib/netapi/libnetapi.h"
25 #include "librpc/gen_ndr/ndr_libnetapi.h"
27 /****************************************************************
29 ****************************************************************/
31 NET_API_STATUS
NetJoinDomain(const char * server
/* [in] [unique] */,
32 const char * domain
/* [in] [ref] */,
33 const char * account_ou
/* [in] [unique] */,
34 const char * account
/* [in] [unique] */,
35 const char * password
/* [in] [unique] */,
36 uint32_t join_flags
/* [in] */)
38 struct NetJoinDomain r
;
39 struct libnetapi_ctx
*ctx
= NULL
;
40 NET_API_STATUS status
;
42 TALLOC_CTX
*frame
= talloc_stackframe();
46 status
= libnetapi_getctx(&ctx
);
55 r
.in
.account_ou
= account_ou
;
56 r
.in
.account
= account
;
57 r
.in
.password
= password
;
58 r
.in
.join_flags
= join_flags
;
62 if (DEBUGLEVEL
>= 10) {
63 NDR_PRINT_IN_DEBUG(NetJoinDomain
, &r
);
66 if (LIBNETAPI_LOCAL_SERVER(server
)) {
67 werr
= NetJoinDomain_l(ctx
, &r
);
69 werr
= NetJoinDomain_r(ctx
, &r
);
72 r
.out
.result
= W_ERROR_V(werr
);
74 if (DEBUGLEVEL
>= 10) {
75 NDR_PRINT_OUT_DEBUG(NetJoinDomain
, &r
);
79 return (NET_API_STATUS
)r
.out
.result
;
82 /****************************************************************
84 ****************************************************************/
86 NET_API_STATUS
NetUnjoinDomain(const char * server_name
/* [in] [unique] */,
87 const char * account
/* [in] [unique] */,
88 const char * password
/* [in] [unique] */,
89 uint32_t unjoin_flags
/* [in] */)
91 struct NetUnjoinDomain r
;
92 struct libnetapi_ctx
*ctx
= NULL
;
93 NET_API_STATUS status
;
95 TALLOC_CTX
*frame
= talloc_stackframe();
99 status
= libnetapi_getctx(&ctx
);
106 r
.in
.server_name
= server_name
;
107 r
.in
.account
= account
;
108 r
.in
.password
= password
;
109 r
.in
.unjoin_flags
= unjoin_flags
;
113 if (DEBUGLEVEL
>= 10) {
114 NDR_PRINT_IN_DEBUG(NetUnjoinDomain
, &r
);
117 if (LIBNETAPI_LOCAL_SERVER(server_name
)) {
118 werr
= NetUnjoinDomain_l(ctx
, &r
);
120 werr
= NetUnjoinDomain_r(ctx
, &r
);
123 r
.out
.result
= W_ERROR_V(werr
);
125 if (DEBUGLEVEL
>= 10) {
126 NDR_PRINT_OUT_DEBUG(NetUnjoinDomain
, &r
);
130 return (NET_API_STATUS
)r
.out
.result
;
133 /****************************************************************
134 NetGetJoinInformation
135 ****************************************************************/
137 NET_API_STATUS
NetGetJoinInformation(const char * server_name
/* [in] [unique] */,
138 const char * *name_buffer
/* [out] [ref] */,
139 uint16_t *name_type
/* [out] [ref] */)
141 struct NetGetJoinInformation r
;
142 struct libnetapi_ctx
*ctx
= NULL
;
143 NET_API_STATUS status
;
145 TALLOC_CTX
*frame
= talloc_stackframe();
149 status
= libnetapi_getctx(&ctx
);
156 r
.in
.server_name
= server_name
;
159 r
.out
.name_buffer
= name_buffer
;
160 r
.out
.name_type
= name_type
;
162 if (DEBUGLEVEL
>= 10) {
163 NDR_PRINT_IN_DEBUG(NetGetJoinInformation
, &r
);
166 if (LIBNETAPI_LOCAL_SERVER(server_name
)) {
167 werr
= NetGetJoinInformation_l(ctx
, &r
);
169 werr
= NetGetJoinInformation_r(ctx
, &r
);
172 r
.out
.result
= W_ERROR_V(werr
);
174 if (DEBUGLEVEL
>= 10) {
175 NDR_PRINT_OUT_DEBUG(NetGetJoinInformation
, &r
);
179 return (NET_API_STATUS
)r
.out
.result
;
182 /****************************************************************
184 ****************************************************************/
186 NET_API_STATUS
NetGetJoinableOUs(const char * server_name
/* [in] [unique] */,
187 const char * domain
/* [in] [ref] */,
188 const char * account
/* [in] [unique] */,
189 const char * password
/* [in] [unique] */,
190 uint32_t *ou_count
/* [out] [ref] */,
191 const char * **ous
/* [out] [ref] */)
193 struct NetGetJoinableOUs r
;
194 struct libnetapi_ctx
*ctx
= NULL
;
195 NET_API_STATUS status
;
197 TALLOC_CTX
*frame
= talloc_stackframe();
201 status
= libnetapi_getctx(&ctx
);
208 r
.in
.server_name
= server_name
;
209 r
.in
.domain
= domain
;
210 r
.in
.account
= account
;
211 r
.in
.password
= password
;
214 r
.out
.ou_count
= ou_count
;
217 if (DEBUGLEVEL
>= 10) {
218 NDR_PRINT_IN_DEBUG(NetGetJoinableOUs
, &r
);
221 if (LIBNETAPI_LOCAL_SERVER(server_name
)) {
222 werr
= NetGetJoinableOUs_l(ctx
, &r
);
224 werr
= NetGetJoinableOUs_r(ctx
, &r
);
227 r
.out
.result
= W_ERROR_V(werr
);
229 if (DEBUGLEVEL
>= 10) {
230 NDR_PRINT_OUT_DEBUG(NetGetJoinableOUs
, &r
);
234 return (NET_API_STATUS
)r
.out
.result
;
237 /****************************************************************
238 NetRenameMachineInDomain
239 ****************************************************************/
241 NET_API_STATUS
NetRenameMachineInDomain(const char * server_name
/* [in] */,
242 const char * new_machine_name
/* [in] */,
243 const char * account
/* [in] */,
244 const char * password
/* [in] */,
245 uint32_t rename_options
/* [in] */)
247 struct NetRenameMachineInDomain r
;
248 struct libnetapi_ctx
*ctx
= NULL
;
249 NET_API_STATUS status
;
251 TALLOC_CTX
*frame
= talloc_stackframe();
255 status
= libnetapi_getctx(&ctx
);
262 r
.in
.server_name
= server_name
;
263 r
.in
.new_machine_name
= new_machine_name
;
264 r
.in
.account
= account
;
265 r
.in
.password
= password
;
266 r
.in
.rename_options
= rename_options
;
270 if (DEBUGLEVEL
>= 10) {
271 NDR_PRINT_IN_DEBUG(NetRenameMachineInDomain
, &r
);
274 if (LIBNETAPI_LOCAL_SERVER(server_name
)) {
275 werr
= NetRenameMachineInDomain_l(ctx
, &r
);
277 werr
= NetRenameMachineInDomain_r(ctx
, &r
);
280 r
.out
.result
= W_ERROR_V(werr
);
282 if (DEBUGLEVEL
>= 10) {
283 NDR_PRINT_OUT_DEBUG(NetRenameMachineInDomain
, &r
);
287 return (NET_API_STATUS
)r
.out
.result
;
290 /****************************************************************
291 NetProvisionComputerAccount
292 ****************************************************************/
294 NET_API_STATUS
NetProvisionComputerAccount(const char * domain
/* [in] [ref] */,
295 const char * machine_name
/* [in] [ref] */,
296 const char * machine_account_ou
/* [in] [unique] */,
297 const char * dcname
/* [in] [unique] */,
298 uint32_t options
/* [in] */,
299 uint8_t **provision_bin_data
/* [in,out] [unique] */,
300 uint32_t *provision_bin_data_size
/* [in,out] [unique] */,
301 const char * *provision_text_data
/* [in,out] [unique] */)
303 struct NetProvisionComputerAccount r
;
304 struct libnetapi_ctx
*ctx
= NULL
;
305 NET_API_STATUS status
;
307 TALLOC_CTX
*frame
= talloc_stackframe();
311 status
= libnetapi_getctx(&ctx
);
318 r
.in
.domain
= domain
;
319 r
.in
.machine_name
= machine_name
;
320 r
.in
.machine_account_ou
= machine_account_ou
;
321 r
.in
.dcname
= dcname
;
322 r
.in
.options
= options
;
323 r
.in
.provision_bin_data
= provision_bin_data
;
324 r
.in
.provision_bin_data_size
= provision_bin_data_size
;
325 r
.in
.provision_text_data
= provision_text_data
;
328 r
.out
.provision_bin_data
= provision_bin_data
;
329 r
.out
.provision_bin_data_size
= provision_bin_data_size
;
330 r
.out
.provision_text_data
= provision_text_data
;
332 if (DEBUGLEVEL
>= 10) {
333 NDR_PRINT_IN_DEBUG(NetProvisionComputerAccount
, &r
);
336 werr
= NetProvisionComputerAccount_l(ctx
, &r
);
338 r
.out
.result
= W_ERROR_V(werr
);
340 if (DEBUGLEVEL
>= 10) {
341 NDR_PRINT_OUT_DEBUG(NetProvisionComputerAccount
, &r
);
345 return (NET_API_STATUS
)r
.out
.result
;
348 /****************************************************************
349 NetRequestOfflineDomainJoin
350 ****************************************************************/
352 NET_API_STATUS
NetRequestOfflineDomainJoin(uint8_t *provision_bin_data
/* [in] [unique] */,
353 uint32_t provision_bin_data_size
/* [in] */,
354 uint32_t options
/* [in] */,
355 const char * windows_path
/* [in] [unique] */)
357 struct NetRequestOfflineDomainJoin r
;
358 struct libnetapi_ctx
*ctx
= NULL
;
359 NET_API_STATUS status
;
361 TALLOC_CTX
*frame
= talloc_stackframe();
365 status
= libnetapi_getctx(&ctx
);
372 r
.in
.provision_bin_data
= provision_bin_data
;
373 r
.in
.provision_bin_data_size
= provision_bin_data_size
;
374 r
.in
.options
= options
;
375 r
.in
.windows_path
= windows_path
;
379 if (DEBUGLEVEL
>= 10) {
380 NDR_PRINT_IN_DEBUG(NetRequestOfflineDomainJoin
, &r
);
383 werr
= NetRequestOfflineDomainJoin_l(ctx
, &r
);
385 r
.out
.result
= W_ERROR_V(werr
);
387 if (DEBUGLEVEL
>= 10) {
388 NDR_PRINT_OUT_DEBUG(NetRequestOfflineDomainJoin
, &r
);
392 return (NET_API_STATUS
)r
.out
.result
;
395 /****************************************************************
396 NetComposeOfflineDomainJoin
397 ****************************************************************/
398 NET_API_STATUS
NetComposeOfflineDomainJoin(const char *dns_domain_name
/* [in] [ref] */,
399 const char *netbios_domain_name
/* [in] [ref] */,
400 struct domsid
*domain_sid
/* [in] [ref] */,
401 struct GUID
*domain_guid
/* [in] [ref] */,
402 const char *forest_name
/* [in] [ref] */,
403 const char *machine_account_name
/* [in] [ref] */,
404 const char *machine_account_password
/* [in] [ref] */,
405 const char *dc_name
/* [in] [unique] */,
406 const char *dc_address
/* [in] [unique] */,
407 int domain_is_ad
/* [in] */,
408 uint8_t **compose_bin_data
/* [in,out] [unique] */,
409 uint32_t *compose_bin_data_size
/* [in,out] [unique] */,
410 const char * *compose_text_data
/* [in,out] [unique] */)
412 struct NetComposeOfflineDomainJoin r
;
413 struct libnetapi_ctx
*ctx
= NULL
;
414 NET_API_STATUS status
;
416 TALLOC_CTX
*frame
= talloc_stackframe();
420 status
= libnetapi_getctx(&ctx
);
427 r
.in
.dns_domain_name
= dns_domain_name
;
428 r
.in
.netbios_domain_name
= netbios_domain_name
;
429 r
.in
.domain_sid
= domain_sid
;
430 r
.in
.domain_guid
= domain_guid
;
431 r
.in
.forest_name
= forest_name
;
432 r
.in
.machine_account_name
= machine_account_name
;
433 r
.in
.machine_account_password
= machine_account_password
;
434 r
.in
.dc_name
= dc_name
;
435 r
.in
.dc_address
= dc_address
;
436 r
.in
.domain_is_ad
= domain_is_ad
;
437 r
.in
.compose_bin_data
= compose_bin_data
;
438 r
.in
.compose_bin_data_size
= compose_bin_data_size
;
439 r
.in
.compose_text_data
= compose_text_data
;
442 r
.out
.compose_bin_data
= compose_bin_data
;
443 r
.out
.compose_bin_data_size
= compose_bin_data_size
;
444 r
.out
.compose_text_data
= compose_text_data
;
446 if (DEBUGLEVEL
>= 10) {
447 NDR_PRINT_IN_DEBUG(NetComposeOfflineDomainJoin
, &r
);
450 werr
= NetComposeOfflineDomainJoin_l(ctx
, &r
);
452 r
.out
.result
= W_ERROR_V(werr
);
454 if (DEBUGLEVEL
>= 10) {
455 NDR_PRINT_OUT_DEBUG(NetComposeOfflineDomainJoin
, &r
);
459 return (NET_API_STATUS
)r
.out
.result
;
462 /****************************************************************
464 ****************************************************************/
466 NET_API_STATUS
NetServerGetInfo(const char * server_name
/* [in] [unique] */,
467 uint32_t level
/* [in] */,
468 uint8_t **buffer
/* [out] [ref] */)
470 struct NetServerGetInfo r
;
471 struct libnetapi_ctx
*ctx
= NULL
;
472 NET_API_STATUS status
;
474 TALLOC_CTX
*frame
= talloc_stackframe();
478 status
= libnetapi_getctx(&ctx
);
485 r
.in
.server_name
= server_name
;
489 r
.out
.buffer
= buffer
;
491 if (DEBUGLEVEL
>= 10) {
492 NDR_PRINT_IN_DEBUG(NetServerGetInfo
, &r
);
495 if (LIBNETAPI_LOCAL_SERVER(server_name
)) {
496 werr
= NetServerGetInfo_l(ctx
, &r
);
498 werr
= NetServerGetInfo_r(ctx
, &r
);
501 r
.out
.result
= W_ERROR_V(werr
);
503 if (DEBUGLEVEL
>= 10) {
504 NDR_PRINT_OUT_DEBUG(NetServerGetInfo
, &r
);
508 return (NET_API_STATUS
)r
.out
.result
;
511 /****************************************************************
513 ****************************************************************/
515 NET_API_STATUS
NetServerSetInfo(const char * server_name
/* [in] [unique] */,
516 uint32_t level
/* [in] */,
517 uint8_t *buffer
/* [in] [ref] */,
518 uint32_t *parm_error
/* [out] [ref] */)
520 struct NetServerSetInfo r
;
521 struct libnetapi_ctx
*ctx
= NULL
;
522 NET_API_STATUS status
;
524 TALLOC_CTX
*frame
= talloc_stackframe();
528 status
= libnetapi_getctx(&ctx
);
535 r
.in
.server_name
= server_name
;
537 r
.in
.buffer
= buffer
;
540 r
.out
.parm_error
= parm_error
;
542 if (DEBUGLEVEL
>= 10) {
543 NDR_PRINT_IN_DEBUG(NetServerSetInfo
, &r
);
546 if (LIBNETAPI_LOCAL_SERVER(server_name
)) {
547 werr
= NetServerSetInfo_l(ctx
, &r
);
549 werr
= NetServerSetInfo_r(ctx
, &r
);
552 r
.out
.result
= W_ERROR_V(werr
);
554 if (DEBUGLEVEL
>= 10) {
555 NDR_PRINT_OUT_DEBUG(NetServerSetInfo
, &r
);
559 return (NET_API_STATUS
)r
.out
.result
;
562 /****************************************************************
564 ****************************************************************/
566 NET_API_STATUS
NetWkstaGetInfo(const char * server_name
/* [in] [unique] */,
567 uint32_t level
/* [in] */,
568 uint8_t **buffer
/* [out] [ref] */)
570 struct NetWkstaGetInfo r
;
571 struct libnetapi_ctx
*ctx
= NULL
;
572 NET_API_STATUS status
;
574 TALLOC_CTX
*frame
= talloc_stackframe();
578 status
= libnetapi_getctx(&ctx
);
585 r
.in
.server_name
= server_name
;
589 r
.out
.buffer
= buffer
;
591 if (DEBUGLEVEL
>= 10) {
592 NDR_PRINT_IN_DEBUG(NetWkstaGetInfo
, &r
);
595 if (LIBNETAPI_LOCAL_SERVER(server_name
)) {
596 werr
= NetWkstaGetInfo_l(ctx
, &r
);
598 werr
= NetWkstaGetInfo_r(ctx
, &r
);
601 r
.out
.result
= W_ERROR_V(werr
);
603 if (DEBUGLEVEL
>= 10) {
604 NDR_PRINT_OUT_DEBUG(NetWkstaGetInfo
, &r
);
608 return (NET_API_STATUS
)r
.out
.result
;
611 /****************************************************************
613 ****************************************************************/
615 NET_API_STATUS
NetGetDCName(const char * server_name
/* [in] [unique] */,
616 const char * domain_name
/* [in] [unique] */,
617 uint8_t **buffer
/* [out] [ref] */)
619 struct NetGetDCName r
;
620 struct libnetapi_ctx
*ctx
= NULL
;
621 NET_API_STATUS status
;
623 TALLOC_CTX
*frame
= talloc_stackframe();
627 status
= libnetapi_getctx(&ctx
);
634 r
.in
.server_name
= server_name
;
635 r
.in
.domain_name
= domain_name
;
638 r
.out
.buffer
= buffer
;
640 if (DEBUGLEVEL
>= 10) {
641 NDR_PRINT_IN_DEBUG(NetGetDCName
, &r
);
644 if (LIBNETAPI_LOCAL_SERVER(server_name
)) {
645 werr
= NetGetDCName_l(ctx
, &r
);
647 werr
= NetGetDCName_r(ctx
, &r
);
650 r
.out
.result
= W_ERROR_V(werr
);
652 if (DEBUGLEVEL
>= 10) {
653 NDR_PRINT_OUT_DEBUG(NetGetDCName
, &r
);
657 return (NET_API_STATUS
)r
.out
.result
;
660 /****************************************************************
662 ****************************************************************/
664 NET_API_STATUS
NetGetAnyDCName(const char * server_name
/* [in] [unique] */,
665 const char * domain_name
/* [in] [unique] */,
666 uint8_t **buffer
/* [out] [ref] */)
668 struct NetGetAnyDCName r
;
669 struct libnetapi_ctx
*ctx
= NULL
;
670 NET_API_STATUS status
;
672 TALLOC_CTX
*frame
= talloc_stackframe();
676 status
= libnetapi_getctx(&ctx
);
683 r
.in
.server_name
= server_name
;
684 r
.in
.domain_name
= domain_name
;
687 r
.out
.buffer
= buffer
;
689 if (DEBUGLEVEL
>= 10) {
690 NDR_PRINT_IN_DEBUG(NetGetAnyDCName
, &r
);
693 if (LIBNETAPI_LOCAL_SERVER(server_name
)) {
694 werr
= NetGetAnyDCName_l(ctx
, &r
);
696 werr
= NetGetAnyDCName_r(ctx
, &r
);
699 r
.out
.result
= W_ERROR_V(werr
);
701 if (DEBUGLEVEL
>= 10) {
702 NDR_PRINT_OUT_DEBUG(NetGetAnyDCName
, &r
);
706 return (NET_API_STATUS
)r
.out
.result
;
709 /****************************************************************
711 ****************************************************************/
713 NET_API_STATUS
DsGetDcName(const char * server_name
/* [in] [unique] */,
714 const char * domain_name
/* [in] [ref] */,
715 struct GUID
*domain_guid
/* [in] [unique] */,
716 const char * site_name
/* [in] [unique] */,
717 uint32_t flags
/* [in] */,
718 struct DOMAIN_CONTROLLER_INFO
**dc_info
/* [out] [ref] */)
720 struct DsGetDcName r
;
721 struct libnetapi_ctx
*ctx
= NULL
;
722 NET_API_STATUS status
;
724 TALLOC_CTX
*frame
= talloc_stackframe();
728 status
= libnetapi_getctx(&ctx
);
735 r
.in
.server_name
= server_name
;
736 r
.in
.domain_name
= domain_name
;
737 r
.in
.domain_guid
= domain_guid
;
738 r
.in
.site_name
= site_name
;
742 r
.out
.dc_info
= dc_info
;
744 if (DEBUGLEVEL
>= 10) {
745 NDR_PRINT_IN_DEBUG(DsGetDcName
, &r
);
748 if (LIBNETAPI_LOCAL_SERVER(server_name
)) {
749 werr
= DsGetDcName_l(ctx
, &r
);
751 werr
= DsGetDcName_r(ctx
, &r
);
754 r
.out
.result
= W_ERROR_V(werr
);
756 if (DEBUGLEVEL
>= 10) {
757 NDR_PRINT_OUT_DEBUG(DsGetDcName
, &r
);
761 return (NET_API_STATUS
)r
.out
.result
;
764 /****************************************************************
766 ****************************************************************/
768 NET_API_STATUS
NetUserAdd(const char * server_name
/* [in] [unique] */,
769 uint32_t level
/* [in] */,
770 uint8_t *buffer
/* [in] [ref] */,
771 uint32_t *parm_error
/* [out] [ref] */)
774 struct libnetapi_ctx
*ctx
= NULL
;
775 NET_API_STATUS status
;
777 TALLOC_CTX
*frame
= talloc_stackframe();
781 status
= libnetapi_getctx(&ctx
);
788 r
.in
.server_name
= server_name
;
790 r
.in
.buffer
= buffer
;
793 r
.out
.parm_error
= parm_error
;
795 if (DEBUGLEVEL
>= 10) {
796 NDR_PRINT_IN_DEBUG(NetUserAdd
, &r
);
799 if (LIBNETAPI_LOCAL_SERVER(server_name
)) {
800 werr
= NetUserAdd_l(ctx
, &r
);
802 werr
= NetUserAdd_r(ctx
, &r
);
805 r
.out
.result
= W_ERROR_V(werr
);
807 if (DEBUGLEVEL
>= 10) {
808 NDR_PRINT_OUT_DEBUG(NetUserAdd
, &r
);
812 return (NET_API_STATUS
)r
.out
.result
;
815 /****************************************************************
817 ****************************************************************/
819 NET_API_STATUS
NetUserDel(const char * server_name
/* [in] [unique] */,
820 const char * user_name
/* [in] [ref] */)
823 struct libnetapi_ctx
*ctx
= NULL
;
824 NET_API_STATUS status
;
826 TALLOC_CTX
*frame
= talloc_stackframe();
830 status
= libnetapi_getctx(&ctx
);
837 r
.in
.server_name
= server_name
;
838 r
.in
.user_name
= user_name
;
842 if (DEBUGLEVEL
>= 10) {
843 NDR_PRINT_IN_DEBUG(NetUserDel
, &r
);
846 if (LIBNETAPI_LOCAL_SERVER(server_name
)) {
847 werr
= NetUserDel_l(ctx
, &r
);
849 werr
= NetUserDel_r(ctx
, &r
);
852 r
.out
.result
= W_ERROR_V(werr
);
854 if (DEBUGLEVEL
>= 10) {
855 NDR_PRINT_OUT_DEBUG(NetUserDel
, &r
);
859 return (NET_API_STATUS
)r
.out
.result
;
862 /****************************************************************
864 ****************************************************************/
866 NET_API_STATUS
NetUserEnum(const char * server_name
/* [in] [unique] */,
867 uint32_t level
/* [in] */,
868 uint32_t filter
/* [in] */,
869 uint8_t **buffer
/* [out] [ref] */,
870 uint32_t prefmaxlen
/* [in] */,
871 uint32_t *entries_read
/* [out] [ref] */,
872 uint32_t *total_entries
/* [out] [ref] */,
873 uint32_t *resume_handle
/* [in,out] [ref] */)
875 struct NetUserEnum r
;
876 struct libnetapi_ctx
*ctx
= NULL
;
877 NET_API_STATUS status
;
879 TALLOC_CTX
*frame
= talloc_stackframe();
883 status
= libnetapi_getctx(&ctx
);
890 r
.in
.server_name
= server_name
;
892 r
.in
.filter
= filter
;
893 r
.in
.prefmaxlen
= prefmaxlen
;
894 r
.in
.resume_handle
= resume_handle
;
897 r
.out
.buffer
= buffer
;
898 r
.out
.entries_read
= entries_read
;
899 r
.out
.total_entries
= total_entries
;
900 r
.out
.resume_handle
= resume_handle
;
902 if (DEBUGLEVEL
>= 10) {
903 NDR_PRINT_IN_DEBUG(NetUserEnum
, &r
);
906 if (LIBNETAPI_LOCAL_SERVER(server_name
)) {
907 werr
= NetUserEnum_l(ctx
, &r
);
909 werr
= NetUserEnum_r(ctx
, &r
);
912 r
.out
.result
= W_ERROR_V(werr
);
914 if (DEBUGLEVEL
>= 10) {
915 NDR_PRINT_OUT_DEBUG(NetUserEnum
, &r
);
919 return (NET_API_STATUS
)r
.out
.result
;
922 /****************************************************************
923 NetUserChangePassword
924 ****************************************************************/
926 NET_API_STATUS
NetUserChangePassword(const char * domain_name
/* [in] */,
927 const char * user_name
/* [in] */,
928 const char * old_password
/* [in] */,
929 const char * new_password
/* [in] */)
931 struct NetUserChangePassword r
;
932 struct libnetapi_ctx
*ctx
= NULL
;
933 NET_API_STATUS status
;
935 TALLOC_CTX
*frame
= talloc_stackframe();
939 status
= libnetapi_getctx(&ctx
);
946 r
.in
.domain_name
= domain_name
;
947 r
.in
.user_name
= user_name
;
948 r
.in
.old_password
= old_password
;
949 r
.in
.new_password
= new_password
;
953 if (DEBUGLEVEL
>= 10) {
954 NDR_PRINT_IN_DEBUG(NetUserChangePassword
, &r
);
957 werr
= NetUserChangePassword_l(ctx
, &r
);
959 r
.out
.result
= W_ERROR_V(werr
);
961 if (DEBUGLEVEL
>= 10) {
962 NDR_PRINT_OUT_DEBUG(NetUserChangePassword
, &r
);
966 return (NET_API_STATUS
)r
.out
.result
;
969 /****************************************************************
971 ****************************************************************/
973 NET_API_STATUS
NetUserGetInfo(const char * server_name
/* [in] */,
974 const char * user_name
/* [in] */,
975 uint32_t level
/* [in] */,
976 uint8_t **buffer
/* [out] [ref] */)
978 struct NetUserGetInfo r
;
979 struct libnetapi_ctx
*ctx
= NULL
;
980 NET_API_STATUS status
;
982 TALLOC_CTX
*frame
= talloc_stackframe();
986 status
= libnetapi_getctx(&ctx
);
993 r
.in
.server_name
= server_name
;
994 r
.in
.user_name
= user_name
;
998 r
.out
.buffer
= buffer
;
1000 if (DEBUGLEVEL
>= 10) {
1001 NDR_PRINT_IN_DEBUG(NetUserGetInfo
, &r
);
1004 if (LIBNETAPI_LOCAL_SERVER(server_name
)) {
1005 werr
= NetUserGetInfo_l(ctx
, &r
);
1007 werr
= NetUserGetInfo_r(ctx
, &r
);
1010 r
.out
.result
= W_ERROR_V(werr
);
1012 if (DEBUGLEVEL
>= 10) {
1013 NDR_PRINT_OUT_DEBUG(NetUserGetInfo
, &r
);
1017 return (NET_API_STATUS
)r
.out
.result
;
1020 /****************************************************************
1022 ****************************************************************/
1024 NET_API_STATUS
NetUserSetInfo(const char * server_name
/* [in] */,
1025 const char * user_name
/* [in] */,
1026 uint32_t level
/* [in] */,
1027 uint8_t *buffer
/* [in] [ref] */,
1028 uint32_t *parm_err
/* [out] [ref] */)
1030 struct NetUserSetInfo r
;
1031 struct libnetapi_ctx
*ctx
= NULL
;
1032 NET_API_STATUS status
;
1034 TALLOC_CTX
*frame
= talloc_stackframe();
1038 status
= libnetapi_getctx(&ctx
);
1045 r
.in
.server_name
= server_name
;
1046 r
.in
.user_name
= user_name
;
1048 r
.in
.buffer
= buffer
;
1050 /* Out parameters */
1051 r
.out
.parm_err
= parm_err
;
1053 if (DEBUGLEVEL
>= 10) {
1054 NDR_PRINT_IN_DEBUG(NetUserSetInfo
, &r
);
1057 if (LIBNETAPI_LOCAL_SERVER(server_name
)) {
1058 werr
= NetUserSetInfo_l(ctx
, &r
);
1060 werr
= NetUserSetInfo_r(ctx
, &r
);
1063 r
.out
.result
= W_ERROR_V(werr
);
1065 if (DEBUGLEVEL
>= 10) {
1066 NDR_PRINT_OUT_DEBUG(NetUserSetInfo
, &r
);
1070 return (NET_API_STATUS
)r
.out
.result
;
1073 /****************************************************************
1075 ****************************************************************/
1077 NET_API_STATUS
NetUserGetGroups(const char * server_name
/* [in] */,
1078 const char * user_name
/* [in] */,
1079 uint32_t level
/* [in] */,
1080 uint8_t **buffer
/* [out] [ref] */,
1081 uint32_t prefmaxlen
/* [in] */,
1082 uint32_t *entries_read
/* [out] [ref] */,
1083 uint32_t *total_entries
/* [out] [ref] */)
1085 struct NetUserGetGroups r
;
1086 struct libnetapi_ctx
*ctx
= NULL
;
1087 NET_API_STATUS status
;
1089 TALLOC_CTX
*frame
= talloc_stackframe();
1093 status
= libnetapi_getctx(&ctx
);
1100 r
.in
.server_name
= server_name
;
1101 r
.in
.user_name
= user_name
;
1103 r
.in
.prefmaxlen
= prefmaxlen
;
1105 /* Out parameters */
1106 r
.out
.buffer
= buffer
;
1107 r
.out
.entries_read
= entries_read
;
1108 r
.out
.total_entries
= total_entries
;
1110 if (DEBUGLEVEL
>= 10) {
1111 NDR_PRINT_IN_DEBUG(NetUserGetGroups
, &r
);
1114 if (LIBNETAPI_LOCAL_SERVER(server_name
)) {
1115 werr
= NetUserGetGroups_l(ctx
, &r
);
1117 werr
= NetUserGetGroups_r(ctx
, &r
);
1120 r
.out
.result
= W_ERROR_V(werr
);
1122 if (DEBUGLEVEL
>= 10) {
1123 NDR_PRINT_OUT_DEBUG(NetUserGetGroups
, &r
);
1127 return (NET_API_STATUS
)r
.out
.result
;
1130 /****************************************************************
1132 ****************************************************************/
1134 NET_API_STATUS
NetUserSetGroups(const char * server_name
/* [in] */,
1135 const char * user_name
/* [in] */,
1136 uint32_t level
/* [in] */,
1137 uint8_t *buffer
/* [in] [ref] */,
1138 uint32_t num_entries
/* [in] */)
1140 struct NetUserSetGroups r
;
1141 struct libnetapi_ctx
*ctx
= NULL
;
1142 NET_API_STATUS status
;
1144 TALLOC_CTX
*frame
= talloc_stackframe();
1148 status
= libnetapi_getctx(&ctx
);
1155 r
.in
.server_name
= server_name
;
1156 r
.in
.user_name
= user_name
;
1158 r
.in
.buffer
= buffer
;
1159 r
.in
.num_entries
= num_entries
;
1161 /* Out parameters */
1163 if (DEBUGLEVEL
>= 10) {
1164 NDR_PRINT_IN_DEBUG(NetUserSetGroups
, &r
);
1167 if (LIBNETAPI_LOCAL_SERVER(server_name
)) {
1168 werr
= NetUserSetGroups_l(ctx
, &r
);
1170 werr
= NetUserSetGroups_r(ctx
, &r
);
1173 r
.out
.result
= W_ERROR_V(werr
);
1175 if (DEBUGLEVEL
>= 10) {
1176 NDR_PRINT_OUT_DEBUG(NetUserSetGroups
, &r
);
1180 return (NET_API_STATUS
)r
.out
.result
;
1183 /****************************************************************
1184 NetUserGetLocalGroups
1185 ****************************************************************/
1187 NET_API_STATUS
NetUserGetLocalGroups(const char * server_name
/* [in] */,
1188 const char * user_name
/* [in] */,
1189 uint32_t level
/* [in] */,
1190 uint32_t flags
/* [in] */,
1191 uint8_t **buffer
/* [out] [ref] */,
1192 uint32_t prefmaxlen
/* [in] */,
1193 uint32_t *entries_read
/* [out] [ref] */,
1194 uint32_t *total_entries
/* [out] [ref] */)
1196 struct NetUserGetLocalGroups r
;
1197 struct libnetapi_ctx
*ctx
= NULL
;
1198 NET_API_STATUS status
;
1200 TALLOC_CTX
*frame
= talloc_stackframe();
1204 status
= libnetapi_getctx(&ctx
);
1211 r
.in
.server_name
= server_name
;
1212 r
.in
.user_name
= user_name
;
1215 r
.in
.prefmaxlen
= prefmaxlen
;
1217 /* Out parameters */
1218 r
.out
.buffer
= buffer
;
1219 r
.out
.entries_read
= entries_read
;
1220 r
.out
.total_entries
= total_entries
;
1222 if (DEBUGLEVEL
>= 10) {
1223 NDR_PRINT_IN_DEBUG(NetUserGetLocalGroups
, &r
);
1226 if (LIBNETAPI_LOCAL_SERVER(server_name
)) {
1227 werr
= NetUserGetLocalGroups_l(ctx
, &r
);
1229 werr
= NetUserGetLocalGroups_r(ctx
, &r
);
1232 r
.out
.result
= W_ERROR_V(werr
);
1234 if (DEBUGLEVEL
>= 10) {
1235 NDR_PRINT_OUT_DEBUG(NetUserGetLocalGroups
, &r
);
1239 return (NET_API_STATUS
)r
.out
.result
;
1242 /****************************************************************
1244 ****************************************************************/
1246 NET_API_STATUS
NetUserModalsGet(const char * server_name
/* [in] */,
1247 uint32_t level
/* [in] */,
1248 uint8_t **buffer
/* [out] [ref] */)
1250 struct NetUserModalsGet r
;
1251 struct libnetapi_ctx
*ctx
= NULL
;
1252 NET_API_STATUS status
;
1254 TALLOC_CTX
*frame
= talloc_stackframe();
1258 status
= libnetapi_getctx(&ctx
);
1265 r
.in
.server_name
= server_name
;
1268 /* Out parameters */
1269 r
.out
.buffer
= buffer
;
1271 if (DEBUGLEVEL
>= 10) {
1272 NDR_PRINT_IN_DEBUG(NetUserModalsGet
, &r
);
1275 if (LIBNETAPI_LOCAL_SERVER(server_name
)) {
1276 werr
= NetUserModalsGet_l(ctx
, &r
);
1278 werr
= NetUserModalsGet_r(ctx
, &r
);
1281 r
.out
.result
= W_ERROR_V(werr
);
1283 if (DEBUGLEVEL
>= 10) {
1284 NDR_PRINT_OUT_DEBUG(NetUserModalsGet
, &r
);
1288 return (NET_API_STATUS
)r
.out
.result
;
1291 /****************************************************************
1293 ****************************************************************/
1295 NET_API_STATUS
NetUserModalsSet(const char * server_name
/* [in] */,
1296 uint32_t level
/* [in] */,
1297 uint8_t *buffer
/* [in] [ref] */,
1298 uint32_t *parm_err
/* [out] [ref] */)
1300 struct NetUserModalsSet r
;
1301 struct libnetapi_ctx
*ctx
= NULL
;
1302 NET_API_STATUS status
;
1304 TALLOC_CTX
*frame
= talloc_stackframe();
1308 status
= libnetapi_getctx(&ctx
);
1315 r
.in
.server_name
= server_name
;
1317 r
.in
.buffer
= buffer
;
1319 /* Out parameters */
1320 r
.out
.parm_err
= parm_err
;
1322 if (DEBUGLEVEL
>= 10) {
1323 NDR_PRINT_IN_DEBUG(NetUserModalsSet
, &r
);
1326 if (LIBNETAPI_LOCAL_SERVER(server_name
)) {
1327 werr
= NetUserModalsSet_l(ctx
, &r
);
1329 werr
= NetUserModalsSet_r(ctx
, &r
);
1332 r
.out
.result
= W_ERROR_V(werr
);
1334 if (DEBUGLEVEL
>= 10) {
1335 NDR_PRINT_OUT_DEBUG(NetUserModalsSet
, &r
);
1339 return (NET_API_STATUS
)r
.out
.result
;
1342 /****************************************************************
1343 NetQueryDisplayInformation
1344 ****************************************************************/
1346 NET_API_STATUS
NetQueryDisplayInformation(const char * server_name
/* [in] [unique] */,
1347 uint32_t level
/* [in] */,
1348 uint32_t idx
/* [in] */,
1349 uint32_t entries_requested
/* [in] */,
1350 uint32_t prefmaxlen
/* [in] */,
1351 uint32_t *entries_read
/* [out] [ref] */,
1352 void **buffer
/* [out] [noprint,ref] */)
1354 struct NetQueryDisplayInformation r
;
1355 struct libnetapi_ctx
*ctx
= NULL
;
1356 NET_API_STATUS status
;
1358 TALLOC_CTX
*frame
= talloc_stackframe();
1362 status
= libnetapi_getctx(&ctx
);
1369 r
.in
.server_name
= server_name
;
1372 r
.in
.entries_requested
= entries_requested
;
1373 r
.in
.prefmaxlen
= prefmaxlen
;
1375 /* Out parameters */
1376 r
.out
.entries_read
= entries_read
;
1377 r
.out
.buffer
= buffer
;
1379 if (DEBUGLEVEL
>= 10) {
1380 NDR_PRINT_IN_DEBUG(NetQueryDisplayInformation
, &r
);
1383 if (LIBNETAPI_LOCAL_SERVER(server_name
)) {
1384 werr
= NetQueryDisplayInformation_l(ctx
, &r
);
1386 werr
= NetQueryDisplayInformation_r(ctx
, &r
);
1389 r
.out
.result
= W_ERROR_V(werr
);
1391 if (DEBUGLEVEL
>= 10) {
1392 NDR_PRINT_OUT_DEBUG(NetQueryDisplayInformation
, &r
);
1396 return (NET_API_STATUS
)r
.out
.result
;
1399 /****************************************************************
1401 ****************************************************************/
1403 NET_API_STATUS
NetGroupAdd(const char * server_name
/* [in] */,
1404 uint32_t level
/* [in] */,
1405 uint8_t *buffer
/* [in] [ref] */,
1406 uint32_t *parm_err
/* [out] [ref] */)
1408 struct NetGroupAdd r
;
1409 struct libnetapi_ctx
*ctx
= NULL
;
1410 NET_API_STATUS status
;
1412 TALLOC_CTX
*frame
= talloc_stackframe();
1416 status
= libnetapi_getctx(&ctx
);
1423 r
.in
.server_name
= server_name
;
1425 r
.in
.buffer
= buffer
;
1427 /* Out parameters */
1428 r
.out
.parm_err
= parm_err
;
1430 if (DEBUGLEVEL
>= 10) {
1431 NDR_PRINT_IN_DEBUG(NetGroupAdd
, &r
);
1434 if (LIBNETAPI_LOCAL_SERVER(server_name
)) {
1435 werr
= NetGroupAdd_l(ctx
, &r
);
1437 werr
= NetGroupAdd_r(ctx
, &r
);
1440 r
.out
.result
= W_ERROR_V(werr
);
1442 if (DEBUGLEVEL
>= 10) {
1443 NDR_PRINT_OUT_DEBUG(NetGroupAdd
, &r
);
1447 return (NET_API_STATUS
)r
.out
.result
;
1450 /****************************************************************
1452 ****************************************************************/
1454 NET_API_STATUS
NetGroupDel(const char * server_name
/* [in] */,
1455 const char * group_name
/* [in] */)
1457 struct NetGroupDel r
;
1458 struct libnetapi_ctx
*ctx
= NULL
;
1459 NET_API_STATUS status
;
1461 TALLOC_CTX
*frame
= talloc_stackframe();
1465 status
= libnetapi_getctx(&ctx
);
1472 r
.in
.server_name
= server_name
;
1473 r
.in
.group_name
= group_name
;
1475 /* Out parameters */
1477 if (DEBUGLEVEL
>= 10) {
1478 NDR_PRINT_IN_DEBUG(NetGroupDel
, &r
);
1481 if (LIBNETAPI_LOCAL_SERVER(server_name
)) {
1482 werr
= NetGroupDel_l(ctx
, &r
);
1484 werr
= NetGroupDel_r(ctx
, &r
);
1487 r
.out
.result
= W_ERROR_V(werr
);
1489 if (DEBUGLEVEL
>= 10) {
1490 NDR_PRINT_OUT_DEBUG(NetGroupDel
, &r
);
1494 return (NET_API_STATUS
)r
.out
.result
;
1497 /****************************************************************
1499 ****************************************************************/
1501 NET_API_STATUS
NetGroupEnum(const char * server_name
/* [in] */,
1502 uint32_t level
/* [in] */,
1503 uint8_t **buffer
/* [out] [ref] */,
1504 uint32_t prefmaxlen
/* [in] */,
1505 uint32_t *entries_read
/* [out] [ref] */,
1506 uint32_t *total_entries
/* [out] [ref] */,
1507 uint32_t *resume_handle
/* [in,out] [ref] */)
1509 struct NetGroupEnum r
;
1510 struct libnetapi_ctx
*ctx
= NULL
;
1511 NET_API_STATUS status
;
1513 TALLOC_CTX
*frame
= talloc_stackframe();
1517 status
= libnetapi_getctx(&ctx
);
1524 r
.in
.server_name
= server_name
;
1526 r
.in
.prefmaxlen
= prefmaxlen
;
1527 r
.in
.resume_handle
= resume_handle
;
1529 /* Out parameters */
1530 r
.out
.buffer
= buffer
;
1531 r
.out
.entries_read
= entries_read
;
1532 r
.out
.total_entries
= total_entries
;
1533 r
.out
.resume_handle
= resume_handle
;
1535 if (DEBUGLEVEL
>= 10) {
1536 NDR_PRINT_IN_DEBUG(NetGroupEnum
, &r
);
1539 if (LIBNETAPI_LOCAL_SERVER(server_name
)) {
1540 werr
= NetGroupEnum_l(ctx
, &r
);
1542 werr
= NetGroupEnum_r(ctx
, &r
);
1545 r
.out
.result
= W_ERROR_V(werr
);
1547 if (DEBUGLEVEL
>= 10) {
1548 NDR_PRINT_OUT_DEBUG(NetGroupEnum
, &r
);
1552 return (NET_API_STATUS
)r
.out
.result
;
1555 /****************************************************************
1557 ****************************************************************/
1559 NET_API_STATUS
NetGroupSetInfo(const char * server_name
/* [in] */,
1560 const char * group_name
/* [in] */,
1561 uint32_t level
/* [in] */,
1562 uint8_t *buffer
/* [in] [ref] */,
1563 uint32_t *parm_err
/* [out] [ref] */)
1565 struct NetGroupSetInfo r
;
1566 struct libnetapi_ctx
*ctx
= NULL
;
1567 NET_API_STATUS status
;
1569 TALLOC_CTX
*frame
= talloc_stackframe();
1573 status
= libnetapi_getctx(&ctx
);
1580 r
.in
.server_name
= server_name
;
1581 r
.in
.group_name
= group_name
;
1583 r
.in
.buffer
= buffer
;
1585 /* Out parameters */
1586 r
.out
.parm_err
= parm_err
;
1588 if (DEBUGLEVEL
>= 10) {
1589 NDR_PRINT_IN_DEBUG(NetGroupSetInfo
, &r
);
1592 if (LIBNETAPI_LOCAL_SERVER(server_name
)) {
1593 werr
= NetGroupSetInfo_l(ctx
, &r
);
1595 werr
= NetGroupSetInfo_r(ctx
, &r
);
1598 r
.out
.result
= W_ERROR_V(werr
);
1600 if (DEBUGLEVEL
>= 10) {
1601 NDR_PRINT_OUT_DEBUG(NetGroupSetInfo
, &r
);
1605 return (NET_API_STATUS
)r
.out
.result
;
1608 /****************************************************************
1610 ****************************************************************/
1612 NET_API_STATUS
NetGroupGetInfo(const char * server_name
/* [in] */,
1613 const char * group_name
/* [in] */,
1614 uint32_t level
/* [in] */,
1615 uint8_t **buffer
/* [out] [ref] */)
1617 struct NetGroupGetInfo r
;
1618 struct libnetapi_ctx
*ctx
= NULL
;
1619 NET_API_STATUS status
;
1621 TALLOC_CTX
*frame
= talloc_stackframe();
1625 status
= libnetapi_getctx(&ctx
);
1632 r
.in
.server_name
= server_name
;
1633 r
.in
.group_name
= group_name
;
1636 /* Out parameters */
1637 r
.out
.buffer
= buffer
;
1639 if (DEBUGLEVEL
>= 10) {
1640 NDR_PRINT_IN_DEBUG(NetGroupGetInfo
, &r
);
1643 if (LIBNETAPI_LOCAL_SERVER(server_name
)) {
1644 werr
= NetGroupGetInfo_l(ctx
, &r
);
1646 werr
= NetGroupGetInfo_r(ctx
, &r
);
1649 r
.out
.result
= W_ERROR_V(werr
);
1651 if (DEBUGLEVEL
>= 10) {
1652 NDR_PRINT_OUT_DEBUG(NetGroupGetInfo
, &r
);
1656 return (NET_API_STATUS
)r
.out
.result
;
1659 /****************************************************************
1661 ****************************************************************/
1663 NET_API_STATUS
NetGroupAddUser(const char * server_name
/* [in] */,
1664 const char * group_name
/* [in] */,
1665 const char * user_name
/* [in] */)
1667 struct NetGroupAddUser r
;
1668 struct libnetapi_ctx
*ctx
= NULL
;
1669 NET_API_STATUS status
;
1671 TALLOC_CTX
*frame
= talloc_stackframe();
1675 status
= libnetapi_getctx(&ctx
);
1682 r
.in
.server_name
= server_name
;
1683 r
.in
.group_name
= group_name
;
1684 r
.in
.user_name
= user_name
;
1686 /* Out parameters */
1688 if (DEBUGLEVEL
>= 10) {
1689 NDR_PRINT_IN_DEBUG(NetGroupAddUser
, &r
);
1692 if (LIBNETAPI_LOCAL_SERVER(server_name
)) {
1693 werr
= NetGroupAddUser_l(ctx
, &r
);
1695 werr
= NetGroupAddUser_r(ctx
, &r
);
1698 r
.out
.result
= W_ERROR_V(werr
);
1700 if (DEBUGLEVEL
>= 10) {
1701 NDR_PRINT_OUT_DEBUG(NetGroupAddUser
, &r
);
1705 return (NET_API_STATUS
)r
.out
.result
;
1708 /****************************************************************
1710 ****************************************************************/
1712 NET_API_STATUS
NetGroupDelUser(const char * server_name
/* [in] */,
1713 const char * group_name
/* [in] */,
1714 const char * user_name
/* [in] */)
1716 struct NetGroupDelUser r
;
1717 struct libnetapi_ctx
*ctx
= NULL
;
1718 NET_API_STATUS status
;
1720 TALLOC_CTX
*frame
= talloc_stackframe();
1724 status
= libnetapi_getctx(&ctx
);
1731 r
.in
.server_name
= server_name
;
1732 r
.in
.group_name
= group_name
;
1733 r
.in
.user_name
= user_name
;
1735 /* Out parameters */
1737 if (DEBUGLEVEL
>= 10) {
1738 NDR_PRINT_IN_DEBUG(NetGroupDelUser
, &r
);
1741 if (LIBNETAPI_LOCAL_SERVER(server_name
)) {
1742 werr
= NetGroupDelUser_l(ctx
, &r
);
1744 werr
= NetGroupDelUser_r(ctx
, &r
);
1747 r
.out
.result
= W_ERROR_V(werr
);
1749 if (DEBUGLEVEL
>= 10) {
1750 NDR_PRINT_OUT_DEBUG(NetGroupDelUser
, &r
);
1754 return (NET_API_STATUS
)r
.out
.result
;
1757 /****************************************************************
1759 ****************************************************************/
1761 NET_API_STATUS
NetGroupGetUsers(const char * server_name
/* [in] */,
1762 const char * group_name
/* [in] */,
1763 uint32_t level
/* [in] */,
1764 uint8_t **buffer
/* [out] [ref] */,
1765 uint32_t prefmaxlen
/* [in] */,
1766 uint32_t *entries_read
/* [out] [ref] */,
1767 uint32_t *total_entries
/* [out] [ref] */,
1768 uint32_t *resume_handle
/* [in,out] [ref] */)
1770 struct NetGroupGetUsers r
;
1771 struct libnetapi_ctx
*ctx
= NULL
;
1772 NET_API_STATUS status
;
1774 TALLOC_CTX
*frame
= talloc_stackframe();
1778 status
= libnetapi_getctx(&ctx
);
1785 r
.in
.server_name
= server_name
;
1786 r
.in
.group_name
= group_name
;
1788 r
.in
.prefmaxlen
= prefmaxlen
;
1789 r
.in
.resume_handle
= resume_handle
;
1791 /* Out parameters */
1792 r
.out
.buffer
= buffer
;
1793 r
.out
.entries_read
= entries_read
;
1794 r
.out
.total_entries
= total_entries
;
1795 r
.out
.resume_handle
= resume_handle
;
1797 if (DEBUGLEVEL
>= 10) {
1798 NDR_PRINT_IN_DEBUG(NetGroupGetUsers
, &r
);
1801 if (LIBNETAPI_LOCAL_SERVER(server_name
)) {
1802 werr
= NetGroupGetUsers_l(ctx
, &r
);
1804 werr
= NetGroupGetUsers_r(ctx
, &r
);
1807 r
.out
.result
= W_ERROR_V(werr
);
1809 if (DEBUGLEVEL
>= 10) {
1810 NDR_PRINT_OUT_DEBUG(NetGroupGetUsers
, &r
);
1814 return (NET_API_STATUS
)r
.out
.result
;
1817 /****************************************************************
1819 ****************************************************************/
1821 NET_API_STATUS
NetGroupSetUsers(const char * server_name
/* [in] */,
1822 const char * group_name
/* [in] */,
1823 uint32_t level
/* [in] */,
1824 uint8_t *buffer
/* [in] [ref] */,
1825 uint32_t num_entries
/* [in] */)
1827 struct NetGroupSetUsers r
;
1828 struct libnetapi_ctx
*ctx
= NULL
;
1829 NET_API_STATUS status
;
1831 TALLOC_CTX
*frame
= talloc_stackframe();
1835 status
= libnetapi_getctx(&ctx
);
1842 r
.in
.server_name
= server_name
;
1843 r
.in
.group_name
= group_name
;
1845 r
.in
.buffer
= buffer
;
1846 r
.in
.num_entries
= num_entries
;
1848 /* Out parameters */
1850 if (DEBUGLEVEL
>= 10) {
1851 NDR_PRINT_IN_DEBUG(NetGroupSetUsers
, &r
);
1854 if (LIBNETAPI_LOCAL_SERVER(server_name
)) {
1855 werr
= NetGroupSetUsers_l(ctx
, &r
);
1857 werr
= NetGroupSetUsers_r(ctx
, &r
);
1860 r
.out
.result
= W_ERROR_V(werr
);
1862 if (DEBUGLEVEL
>= 10) {
1863 NDR_PRINT_OUT_DEBUG(NetGroupSetUsers
, &r
);
1867 return (NET_API_STATUS
)r
.out
.result
;
1870 /****************************************************************
1872 ****************************************************************/
1874 NET_API_STATUS
NetLocalGroupAdd(const char * server_name
/* [in] */,
1875 uint32_t level
/* [in] */,
1876 uint8_t *buffer
/* [in] [ref] */,
1877 uint32_t *parm_err
/* [out] [ref] */)
1879 struct NetLocalGroupAdd r
;
1880 struct libnetapi_ctx
*ctx
= NULL
;
1881 NET_API_STATUS status
;
1883 TALLOC_CTX
*frame
= talloc_stackframe();
1887 status
= libnetapi_getctx(&ctx
);
1894 r
.in
.server_name
= server_name
;
1896 r
.in
.buffer
= buffer
;
1898 /* Out parameters */
1899 r
.out
.parm_err
= parm_err
;
1901 if (DEBUGLEVEL
>= 10) {
1902 NDR_PRINT_IN_DEBUG(NetLocalGroupAdd
, &r
);
1905 if (LIBNETAPI_LOCAL_SERVER(server_name
)) {
1906 werr
= NetLocalGroupAdd_l(ctx
, &r
);
1908 werr
= NetLocalGroupAdd_r(ctx
, &r
);
1911 r
.out
.result
= W_ERROR_V(werr
);
1913 if (DEBUGLEVEL
>= 10) {
1914 NDR_PRINT_OUT_DEBUG(NetLocalGroupAdd
, &r
);
1918 return (NET_API_STATUS
)r
.out
.result
;
1921 /****************************************************************
1923 ****************************************************************/
1925 NET_API_STATUS
NetLocalGroupDel(const char * server_name
/* [in] */,
1926 const char * group_name
/* [in] */)
1928 struct NetLocalGroupDel r
;
1929 struct libnetapi_ctx
*ctx
= NULL
;
1930 NET_API_STATUS status
;
1932 TALLOC_CTX
*frame
= talloc_stackframe();
1936 status
= libnetapi_getctx(&ctx
);
1943 r
.in
.server_name
= server_name
;
1944 r
.in
.group_name
= group_name
;
1946 /* Out parameters */
1948 if (DEBUGLEVEL
>= 10) {
1949 NDR_PRINT_IN_DEBUG(NetLocalGroupDel
, &r
);
1952 if (LIBNETAPI_LOCAL_SERVER(server_name
)) {
1953 werr
= NetLocalGroupDel_l(ctx
, &r
);
1955 werr
= NetLocalGroupDel_r(ctx
, &r
);
1958 r
.out
.result
= W_ERROR_V(werr
);
1960 if (DEBUGLEVEL
>= 10) {
1961 NDR_PRINT_OUT_DEBUG(NetLocalGroupDel
, &r
);
1965 return (NET_API_STATUS
)r
.out
.result
;
1968 /****************************************************************
1969 NetLocalGroupGetInfo
1970 ****************************************************************/
1972 NET_API_STATUS
NetLocalGroupGetInfo(const char * server_name
/* [in] */,
1973 const char * group_name
/* [in] */,
1974 uint32_t level
/* [in] */,
1975 uint8_t **buffer
/* [out] [ref] */)
1977 struct NetLocalGroupGetInfo r
;
1978 struct libnetapi_ctx
*ctx
= NULL
;
1979 NET_API_STATUS status
;
1981 TALLOC_CTX
*frame
= talloc_stackframe();
1985 status
= libnetapi_getctx(&ctx
);
1992 r
.in
.server_name
= server_name
;
1993 r
.in
.group_name
= group_name
;
1996 /* Out parameters */
1997 r
.out
.buffer
= buffer
;
1999 if (DEBUGLEVEL
>= 10) {
2000 NDR_PRINT_IN_DEBUG(NetLocalGroupGetInfo
, &r
);
2003 if (LIBNETAPI_LOCAL_SERVER(server_name
)) {
2004 werr
= NetLocalGroupGetInfo_l(ctx
, &r
);
2006 werr
= NetLocalGroupGetInfo_r(ctx
, &r
);
2009 r
.out
.result
= W_ERROR_V(werr
);
2011 if (DEBUGLEVEL
>= 10) {
2012 NDR_PRINT_OUT_DEBUG(NetLocalGroupGetInfo
, &r
);
2016 return (NET_API_STATUS
)r
.out
.result
;
2019 /****************************************************************
2020 NetLocalGroupSetInfo
2021 ****************************************************************/
2023 NET_API_STATUS
NetLocalGroupSetInfo(const char * server_name
/* [in] */,
2024 const char * group_name
/* [in] */,
2025 uint32_t level
/* [in] */,
2026 uint8_t *buffer
/* [in] [ref] */,
2027 uint32_t *parm_err
/* [out] [ref] */)
2029 struct NetLocalGroupSetInfo r
;
2030 struct libnetapi_ctx
*ctx
= NULL
;
2031 NET_API_STATUS status
;
2033 TALLOC_CTX
*frame
= talloc_stackframe();
2037 status
= libnetapi_getctx(&ctx
);
2044 r
.in
.server_name
= server_name
;
2045 r
.in
.group_name
= group_name
;
2047 r
.in
.buffer
= buffer
;
2049 /* Out parameters */
2050 r
.out
.parm_err
= parm_err
;
2052 if (DEBUGLEVEL
>= 10) {
2053 NDR_PRINT_IN_DEBUG(NetLocalGroupSetInfo
, &r
);
2056 if (LIBNETAPI_LOCAL_SERVER(server_name
)) {
2057 werr
= NetLocalGroupSetInfo_l(ctx
, &r
);
2059 werr
= NetLocalGroupSetInfo_r(ctx
, &r
);
2062 r
.out
.result
= W_ERROR_V(werr
);
2064 if (DEBUGLEVEL
>= 10) {
2065 NDR_PRINT_OUT_DEBUG(NetLocalGroupSetInfo
, &r
);
2069 return (NET_API_STATUS
)r
.out
.result
;
2072 /****************************************************************
2074 ****************************************************************/
2076 NET_API_STATUS
NetLocalGroupEnum(const char * server_name
/* [in] */,
2077 uint32_t level
/* [in] */,
2078 uint8_t **buffer
/* [out] [ref] */,
2079 uint32_t prefmaxlen
/* [in] */,
2080 uint32_t *entries_read
/* [out] [ref] */,
2081 uint32_t *total_entries
/* [out] [ref] */,
2082 uint32_t *resume_handle
/* [in,out] [ref] */)
2084 struct NetLocalGroupEnum r
;
2085 struct libnetapi_ctx
*ctx
= NULL
;
2086 NET_API_STATUS status
;
2088 TALLOC_CTX
*frame
= talloc_stackframe();
2092 status
= libnetapi_getctx(&ctx
);
2099 r
.in
.server_name
= server_name
;
2101 r
.in
.prefmaxlen
= prefmaxlen
;
2102 r
.in
.resume_handle
= resume_handle
;
2104 /* Out parameters */
2105 r
.out
.buffer
= buffer
;
2106 r
.out
.entries_read
= entries_read
;
2107 r
.out
.total_entries
= total_entries
;
2108 r
.out
.resume_handle
= resume_handle
;
2110 if (DEBUGLEVEL
>= 10) {
2111 NDR_PRINT_IN_DEBUG(NetLocalGroupEnum
, &r
);
2114 if (LIBNETAPI_LOCAL_SERVER(server_name
)) {
2115 werr
= NetLocalGroupEnum_l(ctx
, &r
);
2117 werr
= NetLocalGroupEnum_r(ctx
, &r
);
2120 r
.out
.result
= W_ERROR_V(werr
);
2122 if (DEBUGLEVEL
>= 10) {
2123 NDR_PRINT_OUT_DEBUG(NetLocalGroupEnum
, &r
);
2127 return (NET_API_STATUS
)r
.out
.result
;
2130 /****************************************************************
2131 NetLocalGroupAddMembers
2132 ****************************************************************/
2134 NET_API_STATUS
NetLocalGroupAddMembers(const char * server_name
/* [in] */,
2135 const char * group_name
/* [in] */,
2136 uint32_t level
/* [in] */,
2137 uint8_t *buffer
/* [in] [ref] */,
2138 uint32_t total_entries
/* [in] */)
2140 struct NetLocalGroupAddMembers r
;
2141 struct libnetapi_ctx
*ctx
= NULL
;
2142 NET_API_STATUS status
;
2144 TALLOC_CTX
*frame
= talloc_stackframe();
2148 status
= libnetapi_getctx(&ctx
);
2155 r
.in
.server_name
= server_name
;
2156 r
.in
.group_name
= group_name
;
2158 r
.in
.buffer
= buffer
;
2159 r
.in
.total_entries
= total_entries
;
2161 /* Out parameters */
2163 if (DEBUGLEVEL
>= 10) {
2164 NDR_PRINT_IN_DEBUG(NetLocalGroupAddMembers
, &r
);
2167 if (LIBNETAPI_LOCAL_SERVER(server_name
)) {
2168 werr
= NetLocalGroupAddMembers_l(ctx
, &r
);
2170 werr
= NetLocalGroupAddMembers_r(ctx
, &r
);
2173 r
.out
.result
= W_ERROR_V(werr
);
2175 if (DEBUGLEVEL
>= 10) {
2176 NDR_PRINT_OUT_DEBUG(NetLocalGroupAddMembers
, &r
);
2180 return (NET_API_STATUS
)r
.out
.result
;
2183 /****************************************************************
2184 NetLocalGroupDelMembers
2185 ****************************************************************/
2187 NET_API_STATUS
NetLocalGroupDelMembers(const char * server_name
/* [in] */,
2188 const char * group_name
/* [in] */,
2189 uint32_t level
/* [in] */,
2190 uint8_t *buffer
/* [in] [ref] */,
2191 uint32_t total_entries
/* [in] */)
2193 struct NetLocalGroupDelMembers r
;
2194 struct libnetapi_ctx
*ctx
= NULL
;
2195 NET_API_STATUS status
;
2197 TALLOC_CTX
*frame
= talloc_stackframe();
2201 status
= libnetapi_getctx(&ctx
);
2208 r
.in
.server_name
= server_name
;
2209 r
.in
.group_name
= group_name
;
2211 r
.in
.buffer
= buffer
;
2212 r
.in
.total_entries
= total_entries
;
2214 /* Out parameters */
2216 if (DEBUGLEVEL
>= 10) {
2217 NDR_PRINT_IN_DEBUG(NetLocalGroupDelMembers
, &r
);
2220 if (LIBNETAPI_LOCAL_SERVER(server_name
)) {
2221 werr
= NetLocalGroupDelMembers_l(ctx
, &r
);
2223 werr
= NetLocalGroupDelMembers_r(ctx
, &r
);
2226 r
.out
.result
= W_ERROR_V(werr
);
2228 if (DEBUGLEVEL
>= 10) {
2229 NDR_PRINT_OUT_DEBUG(NetLocalGroupDelMembers
, &r
);
2233 return (NET_API_STATUS
)r
.out
.result
;
2236 /****************************************************************
2237 NetLocalGroupGetMembers
2238 ****************************************************************/
2240 NET_API_STATUS
NetLocalGroupGetMembers(const char * server_name
/* [in] */,
2241 const char * local_group_name
/* [in] */,
2242 uint32_t level
/* [in] */,
2243 uint8_t **buffer
/* [out] [ref] */,
2244 uint32_t prefmaxlen
/* [in] */,
2245 uint32_t *entries_read
/* [out] [ref] */,
2246 uint32_t *total_entries
/* [out] [ref] */,
2247 uint32_t *resume_handle
/* [in,out] [ref] */)
2249 struct NetLocalGroupGetMembers r
;
2250 struct libnetapi_ctx
*ctx
= NULL
;
2251 NET_API_STATUS status
;
2253 TALLOC_CTX
*frame
= talloc_stackframe();
2257 status
= libnetapi_getctx(&ctx
);
2264 r
.in
.server_name
= server_name
;
2265 r
.in
.local_group_name
= local_group_name
;
2267 r
.in
.prefmaxlen
= prefmaxlen
;
2268 r
.in
.resume_handle
= resume_handle
;
2270 /* Out parameters */
2271 r
.out
.buffer
= buffer
;
2272 r
.out
.entries_read
= entries_read
;
2273 r
.out
.total_entries
= total_entries
;
2274 r
.out
.resume_handle
= resume_handle
;
2276 if (DEBUGLEVEL
>= 10) {
2277 NDR_PRINT_IN_DEBUG(NetLocalGroupGetMembers
, &r
);
2280 if (LIBNETAPI_LOCAL_SERVER(server_name
)) {
2281 werr
= NetLocalGroupGetMembers_l(ctx
, &r
);
2283 werr
= NetLocalGroupGetMembers_r(ctx
, &r
);
2286 r
.out
.result
= W_ERROR_V(werr
);
2288 if (DEBUGLEVEL
>= 10) {
2289 NDR_PRINT_OUT_DEBUG(NetLocalGroupGetMembers
, &r
);
2293 return (NET_API_STATUS
)r
.out
.result
;
2296 /****************************************************************
2297 NetLocalGroupSetMembers
2298 ****************************************************************/
2300 NET_API_STATUS
NetLocalGroupSetMembers(const char * server_name
/* [in] */,
2301 const char * group_name
/* [in] */,
2302 uint32_t level
/* [in] */,
2303 uint8_t *buffer
/* [in] [ref] */,
2304 uint32_t total_entries
/* [in] */)
2306 struct NetLocalGroupSetMembers r
;
2307 struct libnetapi_ctx
*ctx
= NULL
;
2308 NET_API_STATUS status
;
2310 TALLOC_CTX
*frame
= talloc_stackframe();
2314 status
= libnetapi_getctx(&ctx
);
2321 r
.in
.server_name
= server_name
;
2322 r
.in
.group_name
= group_name
;
2324 r
.in
.buffer
= buffer
;
2325 r
.in
.total_entries
= total_entries
;
2327 /* Out parameters */
2329 if (DEBUGLEVEL
>= 10) {
2330 NDR_PRINT_IN_DEBUG(NetLocalGroupSetMembers
, &r
);
2333 if (LIBNETAPI_LOCAL_SERVER(server_name
)) {
2334 werr
= NetLocalGroupSetMembers_l(ctx
, &r
);
2336 werr
= NetLocalGroupSetMembers_r(ctx
, &r
);
2339 r
.out
.result
= W_ERROR_V(werr
);
2341 if (DEBUGLEVEL
>= 10) {
2342 NDR_PRINT_OUT_DEBUG(NetLocalGroupSetMembers
, &r
);
2346 return (NET_API_STATUS
)r
.out
.result
;
2349 /****************************************************************
2351 ****************************************************************/
2353 NET_API_STATUS
NetRemoteTOD(const char * server_name
/* [in] */,
2354 uint8_t **buffer
/* [out] [ref] */)
2356 struct NetRemoteTOD r
;
2357 struct libnetapi_ctx
*ctx
= NULL
;
2358 NET_API_STATUS status
;
2360 TALLOC_CTX
*frame
= talloc_stackframe();
2364 status
= libnetapi_getctx(&ctx
);
2371 r
.in
.server_name
= server_name
;
2373 /* Out parameters */
2374 r
.out
.buffer
= buffer
;
2376 if (DEBUGLEVEL
>= 10) {
2377 NDR_PRINT_IN_DEBUG(NetRemoteTOD
, &r
);
2380 if (LIBNETAPI_LOCAL_SERVER(server_name
)) {
2381 werr
= NetRemoteTOD_l(ctx
, &r
);
2383 werr
= NetRemoteTOD_r(ctx
, &r
);
2386 r
.out
.result
= W_ERROR_V(werr
);
2388 if (DEBUGLEVEL
>= 10) {
2389 NDR_PRINT_OUT_DEBUG(NetRemoteTOD
, &r
);
2393 return (NET_API_STATUS
)r
.out
.result
;
2396 /****************************************************************
2398 ****************************************************************/
2400 NET_API_STATUS
NetShareAdd(const char * server_name
/* [in] */,
2401 uint32_t level
/* [in] */,
2402 uint8_t *buffer
/* [in] [ref] */,
2403 uint32_t *parm_err
/* [out] [ref] */)
2405 struct NetShareAdd r
;
2406 struct libnetapi_ctx
*ctx
= NULL
;
2407 NET_API_STATUS status
;
2409 TALLOC_CTX
*frame
= talloc_stackframe();
2413 status
= libnetapi_getctx(&ctx
);
2420 r
.in
.server_name
= server_name
;
2422 r
.in
.buffer
= buffer
;
2424 /* Out parameters */
2425 r
.out
.parm_err
= parm_err
;
2427 if (DEBUGLEVEL
>= 10) {
2428 NDR_PRINT_IN_DEBUG(NetShareAdd
, &r
);
2431 if (LIBNETAPI_LOCAL_SERVER(server_name
)) {
2432 werr
= NetShareAdd_l(ctx
, &r
);
2434 werr
= NetShareAdd_r(ctx
, &r
);
2437 r
.out
.result
= W_ERROR_V(werr
);
2439 if (DEBUGLEVEL
>= 10) {
2440 NDR_PRINT_OUT_DEBUG(NetShareAdd
, &r
);
2444 return (NET_API_STATUS
)r
.out
.result
;
2447 /****************************************************************
2449 ****************************************************************/
2451 NET_API_STATUS
NetShareDel(const char * server_name
/* [in] */,
2452 const char * net_name
/* [in] */,
2453 uint32_t reserved
/* [in] */)
2455 struct NetShareDel r
;
2456 struct libnetapi_ctx
*ctx
= NULL
;
2457 NET_API_STATUS status
;
2459 TALLOC_CTX
*frame
= talloc_stackframe();
2463 status
= libnetapi_getctx(&ctx
);
2470 r
.in
.server_name
= server_name
;
2471 r
.in
.net_name
= net_name
;
2472 r
.in
.reserved
= reserved
;
2474 /* Out parameters */
2476 if (DEBUGLEVEL
>= 10) {
2477 NDR_PRINT_IN_DEBUG(NetShareDel
, &r
);
2480 if (LIBNETAPI_LOCAL_SERVER(server_name
)) {
2481 werr
= NetShareDel_l(ctx
, &r
);
2483 werr
= NetShareDel_r(ctx
, &r
);
2486 r
.out
.result
= W_ERROR_V(werr
);
2488 if (DEBUGLEVEL
>= 10) {
2489 NDR_PRINT_OUT_DEBUG(NetShareDel
, &r
);
2493 return (NET_API_STATUS
)r
.out
.result
;
2496 /****************************************************************
2498 ****************************************************************/
2500 NET_API_STATUS
NetShareEnum(const char * server_name
/* [in] */,
2501 uint32_t level
/* [in] */,
2502 uint8_t **buffer
/* [out] [ref] */,
2503 uint32_t prefmaxlen
/* [in] */,
2504 uint32_t *entries_read
/* [out] [ref] */,
2505 uint32_t *total_entries
/* [out] [ref] */,
2506 uint32_t *resume_handle
/* [in,out] [ref] */)
2508 struct NetShareEnum r
;
2509 struct libnetapi_ctx
*ctx
= NULL
;
2510 NET_API_STATUS status
;
2512 TALLOC_CTX
*frame
= talloc_stackframe();
2516 status
= libnetapi_getctx(&ctx
);
2523 r
.in
.server_name
= server_name
;
2525 r
.in
.prefmaxlen
= prefmaxlen
;
2526 r
.in
.resume_handle
= resume_handle
;
2528 /* Out parameters */
2529 r
.out
.buffer
= buffer
;
2530 r
.out
.entries_read
= entries_read
;
2531 r
.out
.total_entries
= total_entries
;
2532 r
.out
.resume_handle
= resume_handle
;
2534 if (DEBUGLEVEL
>= 10) {
2535 NDR_PRINT_IN_DEBUG(NetShareEnum
, &r
);
2538 if (LIBNETAPI_LOCAL_SERVER(server_name
)) {
2539 werr
= NetShareEnum_l(ctx
, &r
);
2541 werr
= NetShareEnum_r(ctx
, &r
);
2544 r
.out
.result
= W_ERROR_V(werr
);
2546 if (DEBUGLEVEL
>= 10) {
2547 NDR_PRINT_OUT_DEBUG(NetShareEnum
, &r
);
2551 return (NET_API_STATUS
)r
.out
.result
;
2554 /****************************************************************
2556 ****************************************************************/
2558 NET_API_STATUS
NetShareGetInfo(const char * server_name
/* [in] */,
2559 const char * net_name
/* [in] */,
2560 uint32_t level
/* [in] */,
2561 uint8_t **buffer
/* [out] [ref] */)
2563 struct NetShareGetInfo r
;
2564 struct libnetapi_ctx
*ctx
= NULL
;
2565 NET_API_STATUS status
;
2567 TALLOC_CTX
*frame
= talloc_stackframe();
2571 status
= libnetapi_getctx(&ctx
);
2578 r
.in
.server_name
= server_name
;
2579 r
.in
.net_name
= net_name
;
2582 /* Out parameters */
2583 r
.out
.buffer
= buffer
;
2585 if (DEBUGLEVEL
>= 10) {
2586 NDR_PRINT_IN_DEBUG(NetShareGetInfo
, &r
);
2589 if (LIBNETAPI_LOCAL_SERVER(server_name
)) {
2590 werr
= NetShareGetInfo_l(ctx
, &r
);
2592 werr
= NetShareGetInfo_r(ctx
, &r
);
2595 r
.out
.result
= W_ERROR_V(werr
);
2597 if (DEBUGLEVEL
>= 10) {
2598 NDR_PRINT_OUT_DEBUG(NetShareGetInfo
, &r
);
2602 return (NET_API_STATUS
)r
.out
.result
;
2605 /****************************************************************
2607 ****************************************************************/
2609 NET_API_STATUS
NetShareSetInfo(const char * server_name
/* [in] */,
2610 const char * net_name
/* [in] */,
2611 uint32_t level
/* [in] */,
2612 uint8_t *buffer
/* [in] [ref] */,
2613 uint32_t *parm_err
/* [out] [ref] */)
2615 struct NetShareSetInfo r
;
2616 struct libnetapi_ctx
*ctx
= NULL
;
2617 NET_API_STATUS status
;
2619 TALLOC_CTX
*frame
= talloc_stackframe();
2623 status
= libnetapi_getctx(&ctx
);
2630 r
.in
.server_name
= server_name
;
2631 r
.in
.net_name
= net_name
;
2633 r
.in
.buffer
= buffer
;
2635 /* Out parameters */
2636 r
.out
.parm_err
= parm_err
;
2638 if (DEBUGLEVEL
>= 10) {
2639 NDR_PRINT_IN_DEBUG(NetShareSetInfo
, &r
);
2642 if (LIBNETAPI_LOCAL_SERVER(server_name
)) {
2643 werr
= NetShareSetInfo_l(ctx
, &r
);
2645 werr
= NetShareSetInfo_r(ctx
, &r
);
2648 r
.out
.result
= W_ERROR_V(werr
);
2650 if (DEBUGLEVEL
>= 10) {
2651 NDR_PRINT_OUT_DEBUG(NetShareSetInfo
, &r
);
2655 return (NET_API_STATUS
)r
.out
.result
;
2658 /****************************************************************
2660 ****************************************************************/
2662 NET_API_STATUS
NetFileClose(const char * server_name
/* [in] */,
2663 uint32_t fileid
/* [in] */)
2665 struct NetFileClose r
;
2666 struct libnetapi_ctx
*ctx
= NULL
;
2667 NET_API_STATUS status
;
2669 TALLOC_CTX
*frame
= talloc_stackframe();
2673 status
= libnetapi_getctx(&ctx
);
2680 r
.in
.server_name
= server_name
;
2681 r
.in
.fileid
= fileid
;
2683 /* Out parameters */
2685 if (DEBUGLEVEL
>= 10) {
2686 NDR_PRINT_IN_DEBUG(NetFileClose
, &r
);
2689 if (LIBNETAPI_LOCAL_SERVER(server_name
)) {
2690 werr
= NetFileClose_l(ctx
, &r
);
2692 werr
= NetFileClose_r(ctx
, &r
);
2695 r
.out
.result
= W_ERROR_V(werr
);
2697 if (DEBUGLEVEL
>= 10) {
2698 NDR_PRINT_OUT_DEBUG(NetFileClose
, &r
);
2702 return (NET_API_STATUS
)r
.out
.result
;
2705 /****************************************************************
2707 ****************************************************************/
2709 NET_API_STATUS
NetFileGetInfo(const char * server_name
/* [in] */,
2710 uint32_t fileid
/* [in] */,
2711 uint32_t level
/* [in] */,
2712 uint8_t **buffer
/* [out] [ref] */)
2714 struct NetFileGetInfo r
;
2715 struct libnetapi_ctx
*ctx
= NULL
;
2716 NET_API_STATUS status
;
2718 TALLOC_CTX
*frame
= talloc_stackframe();
2722 status
= libnetapi_getctx(&ctx
);
2729 r
.in
.server_name
= server_name
;
2730 r
.in
.fileid
= fileid
;
2733 /* Out parameters */
2734 r
.out
.buffer
= buffer
;
2736 if (DEBUGLEVEL
>= 10) {
2737 NDR_PRINT_IN_DEBUG(NetFileGetInfo
, &r
);
2740 if (LIBNETAPI_LOCAL_SERVER(server_name
)) {
2741 werr
= NetFileGetInfo_l(ctx
, &r
);
2743 werr
= NetFileGetInfo_r(ctx
, &r
);
2746 r
.out
.result
= W_ERROR_V(werr
);
2748 if (DEBUGLEVEL
>= 10) {
2749 NDR_PRINT_OUT_DEBUG(NetFileGetInfo
, &r
);
2753 return (NET_API_STATUS
)r
.out
.result
;
2756 /****************************************************************
2758 ****************************************************************/
2760 NET_API_STATUS
NetFileEnum(const char * server_name
/* [in] */,
2761 const char * base_path
/* [in] */,
2762 const char * user_name
/* [in] */,
2763 uint32_t level
/* [in] */,
2764 uint8_t **buffer
/* [out] [ref] */,
2765 uint32_t prefmaxlen
/* [in] */,
2766 uint32_t *entries_read
/* [out] [ref] */,
2767 uint32_t *total_entries
/* [out] [ref] */,
2768 uint32_t *resume_handle
/* [in,out] [ref] */)
2770 struct NetFileEnum r
;
2771 struct libnetapi_ctx
*ctx
= NULL
;
2772 NET_API_STATUS status
;
2774 TALLOC_CTX
*frame
= talloc_stackframe();
2778 status
= libnetapi_getctx(&ctx
);
2785 r
.in
.server_name
= server_name
;
2786 r
.in
.base_path
= base_path
;
2787 r
.in
.user_name
= user_name
;
2789 r
.in
.prefmaxlen
= prefmaxlen
;
2790 r
.in
.resume_handle
= resume_handle
;
2792 /* Out parameters */
2793 r
.out
.buffer
= buffer
;
2794 r
.out
.entries_read
= entries_read
;
2795 r
.out
.total_entries
= total_entries
;
2796 r
.out
.resume_handle
= resume_handle
;
2798 if (DEBUGLEVEL
>= 10) {
2799 NDR_PRINT_IN_DEBUG(NetFileEnum
, &r
);
2802 if (LIBNETAPI_LOCAL_SERVER(server_name
)) {
2803 werr
= NetFileEnum_l(ctx
, &r
);
2805 werr
= NetFileEnum_r(ctx
, &r
);
2808 r
.out
.result
= W_ERROR_V(werr
);
2810 if (DEBUGLEVEL
>= 10) {
2811 NDR_PRINT_OUT_DEBUG(NetFileEnum
, &r
);
2815 return (NET_API_STATUS
)r
.out
.result
;
2818 /****************************************************************
2820 ****************************************************************/
2822 NET_API_STATUS
NetShutdownInit(const char * server_name
/* [in] */,
2823 const char * message
/* [in] */,
2824 uint32_t timeout
/* [in] */,
2825 uint8_t force_apps
/* [in] */,
2826 uint8_t do_reboot
/* [in] */)
2828 struct NetShutdownInit r
;
2829 struct libnetapi_ctx
*ctx
= NULL
;
2830 NET_API_STATUS status
;
2832 TALLOC_CTX
*frame
= talloc_stackframe();
2836 status
= libnetapi_getctx(&ctx
);
2843 r
.in
.server_name
= server_name
;
2844 r
.in
.message
= message
;
2845 r
.in
.timeout
= timeout
;
2846 r
.in
.force_apps
= force_apps
;
2847 r
.in
.do_reboot
= do_reboot
;
2849 /* Out parameters */
2851 if (DEBUGLEVEL
>= 10) {
2852 NDR_PRINT_IN_DEBUG(NetShutdownInit
, &r
);
2855 if (LIBNETAPI_LOCAL_SERVER(server_name
)) {
2856 werr
= NetShutdownInit_l(ctx
, &r
);
2858 werr
= NetShutdownInit_r(ctx
, &r
);
2861 r
.out
.result
= W_ERROR_V(werr
);
2863 if (DEBUGLEVEL
>= 10) {
2864 NDR_PRINT_OUT_DEBUG(NetShutdownInit
, &r
);
2868 return (NET_API_STATUS
)r
.out
.result
;
2871 /****************************************************************
2873 ****************************************************************/
2875 NET_API_STATUS
NetShutdownAbort(const char * server_name
/* [in] */)
2877 struct NetShutdownAbort r
;
2878 struct libnetapi_ctx
*ctx
= NULL
;
2879 NET_API_STATUS status
;
2881 TALLOC_CTX
*frame
= talloc_stackframe();
2885 status
= libnetapi_getctx(&ctx
);
2892 r
.in
.server_name
= server_name
;
2894 /* Out parameters */
2896 if (DEBUGLEVEL
>= 10) {
2897 NDR_PRINT_IN_DEBUG(NetShutdownAbort
, &r
);
2900 if (LIBNETAPI_LOCAL_SERVER(server_name
)) {
2901 werr
= NetShutdownAbort_l(ctx
, &r
);
2903 werr
= NetShutdownAbort_r(ctx
, &r
);
2906 r
.out
.result
= W_ERROR_V(werr
);
2908 if (DEBUGLEVEL
>= 10) {
2909 NDR_PRINT_OUT_DEBUG(NetShutdownAbort
, &r
);
2913 return (NET_API_STATUS
)r
.out
.result
;
2916 /****************************************************************
2918 ****************************************************************/
2920 NET_API_STATUS
I_NetLogonControl(const char * server_name
/* [in] */,
2921 uint32_t function_code
/* [in] */,
2922 uint32_t query_level
/* [in] */,
2923 uint8_t **buffer
/* [out] [ref] */)
2925 struct I_NetLogonControl r
;
2926 struct libnetapi_ctx
*ctx
= NULL
;
2927 NET_API_STATUS status
;
2929 TALLOC_CTX
*frame
= talloc_stackframe();
2933 status
= libnetapi_getctx(&ctx
);
2940 r
.in
.server_name
= server_name
;
2941 r
.in
.function_code
= function_code
;
2942 r
.in
.query_level
= query_level
;
2944 /* Out parameters */
2945 r
.out
.buffer
= buffer
;
2947 if (DEBUGLEVEL
>= 10) {
2948 NDR_PRINT_IN_DEBUG(I_NetLogonControl
, &r
);
2951 if (LIBNETAPI_LOCAL_SERVER(server_name
)) {
2952 werr
= I_NetLogonControl_l(ctx
, &r
);
2954 werr
= I_NetLogonControl_r(ctx
, &r
);
2957 r
.out
.result
= W_ERROR_V(werr
);
2959 if (DEBUGLEVEL
>= 10) {
2960 NDR_PRINT_OUT_DEBUG(I_NetLogonControl
, &r
);
2964 return (NET_API_STATUS
)r
.out
.result
;
2967 /****************************************************************
2969 ****************************************************************/
2971 NET_API_STATUS
I_NetLogonControl2(const char * server_name
/* [in] */,
2972 uint32_t function_code
/* [in] */,
2973 uint32_t query_level
/* [in] */,
2974 uint8_t *data
/* [in] [unique] */,
2975 uint8_t **buffer
/* [out] [ref] */)
2977 struct I_NetLogonControl2 r
;
2978 struct libnetapi_ctx
*ctx
= NULL
;
2979 NET_API_STATUS status
;
2981 TALLOC_CTX
*frame
= talloc_stackframe();
2985 status
= libnetapi_getctx(&ctx
);
2992 r
.in
.server_name
= server_name
;
2993 r
.in
.function_code
= function_code
;
2994 r
.in
.query_level
= query_level
;
2997 /* Out parameters */
2998 r
.out
.buffer
= buffer
;
3000 if (DEBUGLEVEL
>= 10) {
3001 NDR_PRINT_IN_DEBUG(I_NetLogonControl2
, &r
);
3004 if (LIBNETAPI_LOCAL_SERVER(server_name
)) {
3005 werr
= I_NetLogonControl2_l(ctx
, &r
);
3007 werr
= I_NetLogonControl2_r(ctx
, &r
);
3010 r
.out
.result
= W_ERROR_V(werr
);
3012 if (DEBUGLEVEL
>= 10) {
3013 NDR_PRINT_OUT_DEBUG(I_NetLogonControl2
, &r
);
3017 return (NET_API_STATUS
)r
.out
.result
;