Fix unqualified "net join"
[Samba.git] / librpc / gen_ndr / cli_samr.c
blob1e3bd122b8faee308c3d635cd605b52f4bdd8139
1 /*
2 * Unix SMB/CIFS implementation.
3 * client auto-generated by pidl. DO NOT MODIFY!
4 */
6 #include "includes.h"
7 #include "../librpc/gen_ndr/cli_samr.h"
9 NTSTATUS rpccli_samr_Connect(struct rpc_pipe_client *cli,
10 TALLOC_CTX *mem_ctx,
11 uint16_t *system_name /* [in] [unique] */,
12 uint32_t access_mask /* [in] */,
13 struct policy_handle *connect_handle /* [out] [ref] */)
15 struct samr_Connect r;
16 NTSTATUS status;
18 /* In parameters */
19 r.in.system_name = system_name;
20 r.in.access_mask = access_mask;
22 if (DEBUGLEVEL >= 10) {
23 NDR_PRINT_IN_DEBUG(samr_Connect, &r);
26 status = cli->dispatch(cli,
27 mem_ctx,
28 &ndr_table_samr,
29 NDR_SAMR_CONNECT,
30 &r);
32 if (!NT_STATUS_IS_OK(status)) {
33 return status;
36 if (DEBUGLEVEL >= 10) {
37 NDR_PRINT_OUT_DEBUG(samr_Connect, &r);
40 if (NT_STATUS_IS_ERR(status)) {
41 return status;
44 /* Return variables */
45 *connect_handle = *r.out.connect_handle;
47 /* Return result */
48 return r.out.result;
51 NTSTATUS rpccli_samr_Close(struct rpc_pipe_client *cli,
52 TALLOC_CTX *mem_ctx,
53 struct policy_handle *handle /* [in,out] [ref] */)
55 struct samr_Close r;
56 NTSTATUS status;
58 /* In parameters */
59 r.in.handle = handle;
61 if (DEBUGLEVEL >= 10) {
62 NDR_PRINT_IN_DEBUG(samr_Close, &r);
65 status = cli->dispatch(cli,
66 mem_ctx,
67 &ndr_table_samr,
68 NDR_SAMR_CLOSE,
69 &r);
71 if (!NT_STATUS_IS_OK(status)) {
72 return status;
75 if (DEBUGLEVEL >= 10) {
76 NDR_PRINT_OUT_DEBUG(samr_Close, &r);
79 if (NT_STATUS_IS_ERR(status)) {
80 return status;
83 /* Return variables */
84 *handle = *r.out.handle;
86 /* Return result */
87 return r.out.result;
90 NTSTATUS rpccli_samr_SetSecurity(struct rpc_pipe_client *cli,
91 TALLOC_CTX *mem_ctx,
92 struct policy_handle *handle /* [in] [ref] */,
93 uint32_t sec_info /* [in] */,
94 struct sec_desc_buf *sdbuf /* [in] [ref] */)
96 struct samr_SetSecurity r;
97 NTSTATUS status;
99 /* In parameters */
100 r.in.handle = handle;
101 r.in.sec_info = sec_info;
102 r.in.sdbuf = sdbuf;
104 if (DEBUGLEVEL >= 10) {
105 NDR_PRINT_IN_DEBUG(samr_SetSecurity, &r);
108 status = cli->dispatch(cli,
109 mem_ctx,
110 &ndr_table_samr,
111 NDR_SAMR_SETSECURITY,
112 &r);
114 if (!NT_STATUS_IS_OK(status)) {
115 return status;
118 if (DEBUGLEVEL >= 10) {
119 NDR_PRINT_OUT_DEBUG(samr_SetSecurity, &r);
122 if (NT_STATUS_IS_ERR(status)) {
123 return status;
126 /* Return variables */
128 /* Return result */
129 return r.out.result;
132 NTSTATUS rpccli_samr_QuerySecurity(struct rpc_pipe_client *cli,
133 TALLOC_CTX *mem_ctx,
134 struct policy_handle *handle /* [in] [ref] */,
135 uint32_t sec_info /* [in] */,
136 struct sec_desc_buf **sdbuf /* [out] [ref] */)
138 struct samr_QuerySecurity r;
139 NTSTATUS status;
141 /* In parameters */
142 r.in.handle = handle;
143 r.in.sec_info = sec_info;
145 if (DEBUGLEVEL >= 10) {
146 NDR_PRINT_IN_DEBUG(samr_QuerySecurity, &r);
149 status = cli->dispatch(cli,
150 mem_ctx,
151 &ndr_table_samr,
152 NDR_SAMR_QUERYSECURITY,
153 &r);
155 if (!NT_STATUS_IS_OK(status)) {
156 return status;
159 if (DEBUGLEVEL >= 10) {
160 NDR_PRINT_OUT_DEBUG(samr_QuerySecurity, &r);
163 if (NT_STATUS_IS_ERR(status)) {
164 return status;
167 /* Return variables */
168 *sdbuf = *r.out.sdbuf;
170 /* Return result */
171 return r.out.result;
174 NTSTATUS rpccli_samr_Shutdown(struct rpc_pipe_client *cli,
175 TALLOC_CTX *mem_ctx,
176 struct policy_handle *connect_handle /* [in] [ref] */)
178 struct samr_Shutdown r;
179 NTSTATUS status;
181 /* In parameters */
182 r.in.connect_handle = connect_handle;
184 if (DEBUGLEVEL >= 10) {
185 NDR_PRINT_IN_DEBUG(samr_Shutdown, &r);
188 status = cli->dispatch(cli,
189 mem_ctx,
190 &ndr_table_samr,
191 NDR_SAMR_SHUTDOWN,
192 &r);
194 if (!NT_STATUS_IS_OK(status)) {
195 return status;
198 if (DEBUGLEVEL >= 10) {
199 NDR_PRINT_OUT_DEBUG(samr_Shutdown, &r);
202 if (NT_STATUS_IS_ERR(status)) {
203 return status;
206 /* Return variables */
208 /* Return result */
209 return r.out.result;
212 NTSTATUS rpccli_samr_LookupDomain(struct rpc_pipe_client *cli,
213 TALLOC_CTX *mem_ctx,
214 struct policy_handle *connect_handle /* [in] [ref] */,
215 struct lsa_String *domain_name /* [in] [ref] */,
216 struct dom_sid2 **sid /* [out] [ref] */)
218 struct samr_LookupDomain r;
219 NTSTATUS status;
221 /* In parameters */
222 r.in.connect_handle = connect_handle;
223 r.in.domain_name = domain_name;
225 if (DEBUGLEVEL >= 10) {
226 NDR_PRINT_IN_DEBUG(samr_LookupDomain, &r);
229 status = cli->dispatch(cli,
230 mem_ctx,
231 &ndr_table_samr,
232 NDR_SAMR_LOOKUPDOMAIN,
233 &r);
235 if (!NT_STATUS_IS_OK(status)) {
236 return status;
239 if (DEBUGLEVEL >= 10) {
240 NDR_PRINT_OUT_DEBUG(samr_LookupDomain, &r);
243 if (NT_STATUS_IS_ERR(status)) {
244 return status;
247 /* Return variables */
248 *sid = *r.out.sid;
250 /* Return result */
251 return r.out.result;
254 NTSTATUS rpccli_samr_EnumDomains(struct rpc_pipe_client *cli,
255 TALLOC_CTX *mem_ctx,
256 struct policy_handle *connect_handle /* [in] [ref] */,
257 uint32_t *resume_handle /* [in,out] [ref] */,
258 struct samr_SamArray **sam /* [out] [ref] */,
259 uint32_t buf_size /* [in] */,
260 uint32_t *num_entries /* [out] [ref] */)
262 struct samr_EnumDomains r;
263 NTSTATUS status;
265 /* In parameters */
266 r.in.connect_handle = connect_handle;
267 r.in.resume_handle = resume_handle;
268 r.in.buf_size = buf_size;
270 if (DEBUGLEVEL >= 10) {
271 NDR_PRINT_IN_DEBUG(samr_EnumDomains, &r);
274 status = cli->dispatch(cli,
275 mem_ctx,
276 &ndr_table_samr,
277 NDR_SAMR_ENUMDOMAINS,
278 &r);
280 if (!NT_STATUS_IS_OK(status)) {
281 return status;
284 if (DEBUGLEVEL >= 10) {
285 NDR_PRINT_OUT_DEBUG(samr_EnumDomains, &r);
288 if (NT_STATUS_IS_ERR(status)) {
289 return status;
292 /* Return variables */
293 *resume_handle = *r.out.resume_handle;
294 *sam = *r.out.sam;
295 *num_entries = *r.out.num_entries;
297 /* Return result */
298 return r.out.result;
301 NTSTATUS rpccli_samr_OpenDomain(struct rpc_pipe_client *cli,
302 TALLOC_CTX *mem_ctx,
303 struct policy_handle *connect_handle /* [in] [ref] */,
304 uint32_t access_mask /* [in] */,
305 struct dom_sid2 *sid /* [in] [ref] */,
306 struct policy_handle *domain_handle /* [out] [ref] */)
308 struct samr_OpenDomain r;
309 NTSTATUS status;
311 /* In parameters */
312 r.in.connect_handle = connect_handle;
313 r.in.access_mask = access_mask;
314 r.in.sid = sid;
316 if (DEBUGLEVEL >= 10) {
317 NDR_PRINT_IN_DEBUG(samr_OpenDomain, &r);
320 status = cli->dispatch(cli,
321 mem_ctx,
322 &ndr_table_samr,
323 NDR_SAMR_OPENDOMAIN,
324 &r);
326 if (!NT_STATUS_IS_OK(status)) {
327 return status;
330 if (DEBUGLEVEL >= 10) {
331 NDR_PRINT_OUT_DEBUG(samr_OpenDomain, &r);
334 if (NT_STATUS_IS_ERR(status)) {
335 return status;
338 /* Return variables */
339 *domain_handle = *r.out.domain_handle;
341 /* Return result */
342 return r.out.result;
345 NTSTATUS rpccli_samr_QueryDomainInfo(struct rpc_pipe_client *cli,
346 TALLOC_CTX *mem_ctx,
347 struct policy_handle *domain_handle /* [in] [ref] */,
348 uint16_t level /* [in] */,
349 union samr_DomainInfo **info /* [out] [ref,switch_is(level)] */)
351 struct samr_QueryDomainInfo r;
352 NTSTATUS status;
354 /* In parameters */
355 r.in.domain_handle = domain_handle;
356 r.in.level = level;
358 if (DEBUGLEVEL >= 10) {
359 NDR_PRINT_IN_DEBUG(samr_QueryDomainInfo, &r);
362 status = cli->dispatch(cli,
363 mem_ctx,
364 &ndr_table_samr,
365 NDR_SAMR_QUERYDOMAININFO,
366 &r);
368 if (!NT_STATUS_IS_OK(status)) {
369 return status;
372 if (DEBUGLEVEL >= 10) {
373 NDR_PRINT_OUT_DEBUG(samr_QueryDomainInfo, &r);
376 if (NT_STATUS_IS_ERR(status)) {
377 return status;
380 /* Return variables */
381 *info = *r.out.info;
383 /* Return result */
384 return r.out.result;
387 NTSTATUS rpccli_samr_SetDomainInfo(struct rpc_pipe_client *cli,
388 TALLOC_CTX *mem_ctx,
389 struct policy_handle *domain_handle /* [in] [ref] */,
390 uint16_t level /* [in] */,
391 union samr_DomainInfo *info /* [in] [ref,switch_is(level)] */)
393 struct samr_SetDomainInfo r;
394 NTSTATUS status;
396 /* In parameters */
397 r.in.domain_handle = domain_handle;
398 r.in.level = level;
399 r.in.info = info;
401 if (DEBUGLEVEL >= 10) {
402 NDR_PRINT_IN_DEBUG(samr_SetDomainInfo, &r);
405 status = cli->dispatch(cli,
406 mem_ctx,
407 &ndr_table_samr,
408 NDR_SAMR_SETDOMAININFO,
409 &r);
411 if (!NT_STATUS_IS_OK(status)) {
412 return status;
415 if (DEBUGLEVEL >= 10) {
416 NDR_PRINT_OUT_DEBUG(samr_SetDomainInfo, &r);
419 if (NT_STATUS_IS_ERR(status)) {
420 return status;
423 /* Return variables */
425 /* Return result */
426 return r.out.result;
429 NTSTATUS rpccli_samr_CreateDomainGroup(struct rpc_pipe_client *cli,
430 TALLOC_CTX *mem_ctx,
431 struct policy_handle *domain_handle /* [in] [ref] */,
432 struct lsa_String *name /* [in] [ref] */,
433 uint32_t access_mask /* [in] */,
434 struct policy_handle *group_handle /* [out] [ref] */,
435 uint32_t *rid /* [out] [ref] */)
437 struct samr_CreateDomainGroup r;
438 NTSTATUS status;
440 /* In parameters */
441 r.in.domain_handle = domain_handle;
442 r.in.name = name;
443 r.in.access_mask = access_mask;
445 if (DEBUGLEVEL >= 10) {
446 NDR_PRINT_IN_DEBUG(samr_CreateDomainGroup, &r);
449 status = cli->dispatch(cli,
450 mem_ctx,
451 &ndr_table_samr,
452 NDR_SAMR_CREATEDOMAINGROUP,
453 &r);
455 if (!NT_STATUS_IS_OK(status)) {
456 return status;
459 if (DEBUGLEVEL >= 10) {
460 NDR_PRINT_OUT_DEBUG(samr_CreateDomainGroup, &r);
463 if (NT_STATUS_IS_ERR(status)) {
464 return status;
467 /* Return variables */
468 *group_handle = *r.out.group_handle;
469 *rid = *r.out.rid;
471 /* Return result */
472 return r.out.result;
475 NTSTATUS rpccli_samr_EnumDomainGroups(struct rpc_pipe_client *cli,
476 TALLOC_CTX *mem_ctx,
477 struct policy_handle *domain_handle /* [in] [ref] */,
478 uint32_t *resume_handle /* [in,out] [ref] */,
479 struct samr_SamArray **sam /* [out] [ref] */,
480 uint32_t max_size /* [in] */,
481 uint32_t *num_entries /* [out] [ref] */)
483 struct samr_EnumDomainGroups r;
484 NTSTATUS status;
486 /* In parameters */
487 r.in.domain_handle = domain_handle;
488 r.in.resume_handle = resume_handle;
489 r.in.max_size = max_size;
491 if (DEBUGLEVEL >= 10) {
492 NDR_PRINT_IN_DEBUG(samr_EnumDomainGroups, &r);
495 status = cli->dispatch(cli,
496 mem_ctx,
497 &ndr_table_samr,
498 NDR_SAMR_ENUMDOMAINGROUPS,
499 &r);
501 if (!NT_STATUS_IS_OK(status)) {
502 return status;
505 if (DEBUGLEVEL >= 10) {
506 NDR_PRINT_OUT_DEBUG(samr_EnumDomainGroups, &r);
509 if (NT_STATUS_IS_ERR(status)) {
510 return status;
513 /* Return variables */
514 *resume_handle = *r.out.resume_handle;
515 *sam = *r.out.sam;
516 *num_entries = *r.out.num_entries;
518 /* Return result */
519 return r.out.result;
522 NTSTATUS rpccli_samr_CreateUser(struct rpc_pipe_client *cli,
523 TALLOC_CTX *mem_ctx,
524 struct policy_handle *domain_handle /* [in] [ref] */,
525 struct lsa_String *account_name /* [in] [ref] */,
526 uint32_t access_mask /* [in] */,
527 struct policy_handle *user_handle /* [out] [ref] */,
528 uint32_t *rid /* [out] [ref] */)
530 struct samr_CreateUser r;
531 NTSTATUS status;
533 /* In parameters */
534 r.in.domain_handle = domain_handle;
535 r.in.account_name = account_name;
536 r.in.access_mask = access_mask;
538 if (DEBUGLEVEL >= 10) {
539 NDR_PRINT_IN_DEBUG(samr_CreateUser, &r);
542 status = cli->dispatch(cli,
543 mem_ctx,
544 &ndr_table_samr,
545 NDR_SAMR_CREATEUSER,
546 &r);
548 if (!NT_STATUS_IS_OK(status)) {
549 return status;
552 if (DEBUGLEVEL >= 10) {
553 NDR_PRINT_OUT_DEBUG(samr_CreateUser, &r);
556 if (NT_STATUS_IS_ERR(status)) {
557 return status;
560 /* Return variables */
561 *user_handle = *r.out.user_handle;
562 *rid = *r.out.rid;
564 /* Return result */
565 return r.out.result;
568 NTSTATUS rpccli_samr_EnumDomainUsers(struct rpc_pipe_client *cli,
569 TALLOC_CTX *mem_ctx,
570 struct policy_handle *domain_handle /* [in] [ref] */,
571 uint32_t *resume_handle /* [in,out] [ref] */,
572 uint32_t acct_flags /* [in] */,
573 struct samr_SamArray **sam /* [out] [ref] */,
574 uint32_t max_size /* [in] */,
575 uint32_t *num_entries /* [out] [ref] */)
577 struct samr_EnumDomainUsers r;
578 NTSTATUS status;
580 /* In parameters */
581 r.in.domain_handle = domain_handle;
582 r.in.resume_handle = resume_handle;
583 r.in.acct_flags = acct_flags;
584 r.in.max_size = max_size;
586 if (DEBUGLEVEL >= 10) {
587 NDR_PRINT_IN_DEBUG(samr_EnumDomainUsers, &r);
590 status = cli->dispatch(cli,
591 mem_ctx,
592 &ndr_table_samr,
593 NDR_SAMR_ENUMDOMAINUSERS,
594 &r);
596 if (!NT_STATUS_IS_OK(status)) {
597 return status;
600 if (DEBUGLEVEL >= 10) {
601 NDR_PRINT_OUT_DEBUG(samr_EnumDomainUsers, &r);
604 if (NT_STATUS_IS_ERR(status)) {
605 return status;
608 /* Return variables */
609 *resume_handle = *r.out.resume_handle;
610 *sam = *r.out.sam;
611 *num_entries = *r.out.num_entries;
613 /* Return result */
614 return r.out.result;
617 NTSTATUS rpccli_samr_CreateDomAlias(struct rpc_pipe_client *cli,
618 TALLOC_CTX *mem_ctx,
619 struct policy_handle *domain_handle /* [in] [ref] */,
620 struct lsa_String *alias_name /* [in] [ref] */,
621 uint32_t access_mask /* [in] */,
622 struct policy_handle *alias_handle /* [out] [ref] */,
623 uint32_t *rid /* [out] [ref] */)
625 struct samr_CreateDomAlias r;
626 NTSTATUS status;
628 /* In parameters */
629 r.in.domain_handle = domain_handle;
630 r.in.alias_name = alias_name;
631 r.in.access_mask = access_mask;
633 if (DEBUGLEVEL >= 10) {
634 NDR_PRINT_IN_DEBUG(samr_CreateDomAlias, &r);
637 status = cli->dispatch(cli,
638 mem_ctx,
639 &ndr_table_samr,
640 NDR_SAMR_CREATEDOMALIAS,
641 &r);
643 if (!NT_STATUS_IS_OK(status)) {
644 return status;
647 if (DEBUGLEVEL >= 10) {
648 NDR_PRINT_OUT_DEBUG(samr_CreateDomAlias, &r);
651 if (NT_STATUS_IS_ERR(status)) {
652 return status;
655 /* Return variables */
656 *alias_handle = *r.out.alias_handle;
657 *rid = *r.out.rid;
659 /* Return result */
660 return r.out.result;
663 NTSTATUS rpccli_samr_EnumDomainAliases(struct rpc_pipe_client *cli,
664 TALLOC_CTX *mem_ctx,
665 struct policy_handle *domain_handle /* [in] [ref] */,
666 uint32_t *resume_handle /* [in,out] [ref] */,
667 struct samr_SamArray **sam /* [out] [ref] */,
668 uint32_t max_size /* [in] */,
669 uint32_t *num_entries /* [out] [ref] */)
671 struct samr_EnumDomainAliases r;
672 NTSTATUS status;
674 /* In parameters */
675 r.in.domain_handle = domain_handle;
676 r.in.resume_handle = resume_handle;
677 r.in.max_size = max_size;
679 if (DEBUGLEVEL >= 10) {
680 NDR_PRINT_IN_DEBUG(samr_EnumDomainAliases, &r);
683 status = cli->dispatch(cli,
684 mem_ctx,
685 &ndr_table_samr,
686 NDR_SAMR_ENUMDOMAINALIASES,
687 &r);
689 if (!NT_STATUS_IS_OK(status)) {
690 return status;
693 if (DEBUGLEVEL >= 10) {
694 NDR_PRINT_OUT_DEBUG(samr_EnumDomainAliases, &r);
697 if (NT_STATUS_IS_ERR(status)) {
698 return status;
701 /* Return variables */
702 *resume_handle = *r.out.resume_handle;
703 *sam = *r.out.sam;
704 *num_entries = *r.out.num_entries;
706 /* Return result */
707 return r.out.result;
710 NTSTATUS rpccli_samr_GetAliasMembership(struct rpc_pipe_client *cli,
711 TALLOC_CTX *mem_ctx,
712 struct policy_handle *domain_handle /* [in] [ref] */,
713 struct lsa_SidArray *sids /* [in] [ref] */,
714 struct samr_Ids *rids /* [out] [ref] */)
716 struct samr_GetAliasMembership r;
717 NTSTATUS status;
719 /* In parameters */
720 r.in.domain_handle = domain_handle;
721 r.in.sids = sids;
723 if (DEBUGLEVEL >= 10) {
724 NDR_PRINT_IN_DEBUG(samr_GetAliasMembership, &r);
727 status = cli->dispatch(cli,
728 mem_ctx,
729 &ndr_table_samr,
730 NDR_SAMR_GETALIASMEMBERSHIP,
731 &r);
733 if (!NT_STATUS_IS_OK(status)) {
734 return status;
737 if (DEBUGLEVEL >= 10) {
738 NDR_PRINT_OUT_DEBUG(samr_GetAliasMembership, &r);
741 if (NT_STATUS_IS_ERR(status)) {
742 return status;
745 /* Return variables */
746 *rids = *r.out.rids;
748 /* Return result */
749 return r.out.result;
752 NTSTATUS rpccli_samr_LookupNames(struct rpc_pipe_client *cli,
753 TALLOC_CTX *mem_ctx,
754 struct policy_handle *domain_handle /* [in] [ref] */,
755 uint32_t num_names /* [in] [range(0,1000)] */,
756 struct lsa_String *names /* [in] [length_is(num_names),size_is(1000)] */,
757 struct samr_Ids *rids /* [out] [ref] */,
758 struct samr_Ids *types /* [out] [ref] */)
760 struct samr_LookupNames r;
761 NTSTATUS status;
763 /* In parameters */
764 r.in.domain_handle = domain_handle;
765 r.in.num_names = num_names;
766 r.in.names = names;
768 if (DEBUGLEVEL >= 10) {
769 NDR_PRINT_IN_DEBUG(samr_LookupNames, &r);
772 status = cli->dispatch(cli,
773 mem_ctx,
774 &ndr_table_samr,
775 NDR_SAMR_LOOKUPNAMES,
776 &r);
778 if (!NT_STATUS_IS_OK(status)) {
779 return status;
782 if (DEBUGLEVEL >= 10) {
783 NDR_PRINT_OUT_DEBUG(samr_LookupNames, &r);
786 if (NT_STATUS_IS_ERR(status)) {
787 return status;
790 /* Return variables */
791 *rids = *r.out.rids;
792 *types = *r.out.types;
794 /* Return result */
795 return r.out.result;
798 NTSTATUS rpccli_samr_LookupRids(struct rpc_pipe_client *cli,
799 TALLOC_CTX *mem_ctx,
800 struct policy_handle *domain_handle /* [in] [ref] */,
801 uint32_t num_rids /* [in] [range(0,1000)] */,
802 uint32_t *rids /* [in] [length_is(num_rids),size_is(1000)] */,
803 struct lsa_Strings *names /* [out] [ref] */,
804 struct samr_Ids *types /* [out] [ref] */)
806 struct samr_LookupRids r;
807 NTSTATUS status;
809 /* In parameters */
810 r.in.domain_handle = domain_handle;
811 r.in.num_rids = num_rids;
812 r.in.rids = rids;
814 if (DEBUGLEVEL >= 10) {
815 NDR_PRINT_IN_DEBUG(samr_LookupRids, &r);
818 status = cli->dispatch(cli,
819 mem_ctx,
820 &ndr_table_samr,
821 NDR_SAMR_LOOKUPRIDS,
822 &r);
824 if (!NT_STATUS_IS_OK(status)) {
825 return status;
828 if (DEBUGLEVEL >= 10) {
829 NDR_PRINT_OUT_DEBUG(samr_LookupRids, &r);
832 if (NT_STATUS_IS_ERR(status)) {
833 return status;
836 /* Return variables */
837 *names = *r.out.names;
838 *types = *r.out.types;
840 /* Return result */
841 return r.out.result;
844 NTSTATUS rpccli_samr_OpenGroup(struct rpc_pipe_client *cli,
845 TALLOC_CTX *mem_ctx,
846 struct policy_handle *domain_handle /* [in] [ref] */,
847 uint32_t access_mask /* [in] */,
848 uint32_t rid /* [in] */,
849 struct policy_handle *group_handle /* [out] [ref] */)
851 struct samr_OpenGroup r;
852 NTSTATUS status;
854 /* In parameters */
855 r.in.domain_handle = domain_handle;
856 r.in.access_mask = access_mask;
857 r.in.rid = rid;
859 if (DEBUGLEVEL >= 10) {
860 NDR_PRINT_IN_DEBUG(samr_OpenGroup, &r);
863 status = cli->dispatch(cli,
864 mem_ctx,
865 &ndr_table_samr,
866 NDR_SAMR_OPENGROUP,
867 &r);
869 if (!NT_STATUS_IS_OK(status)) {
870 return status;
873 if (DEBUGLEVEL >= 10) {
874 NDR_PRINT_OUT_DEBUG(samr_OpenGroup, &r);
877 if (NT_STATUS_IS_ERR(status)) {
878 return status;
881 /* Return variables */
882 *group_handle = *r.out.group_handle;
884 /* Return result */
885 return r.out.result;
888 NTSTATUS rpccli_samr_QueryGroupInfo(struct rpc_pipe_client *cli,
889 TALLOC_CTX *mem_ctx,
890 struct policy_handle *group_handle /* [in] [ref] */,
891 enum samr_GroupInfoEnum level /* [in] */,
892 union samr_GroupInfo **info /* [out] [ref,switch_is(level)] */)
894 struct samr_QueryGroupInfo r;
895 NTSTATUS status;
897 /* In parameters */
898 r.in.group_handle = group_handle;
899 r.in.level = level;
901 if (DEBUGLEVEL >= 10) {
902 NDR_PRINT_IN_DEBUG(samr_QueryGroupInfo, &r);
905 status = cli->dispatch(cli,
906 mem_ctx,
907 &ndr_table_samr,
908 NDR_SAMR_QUERYGROUPINFO,
909 &r);
911 if (!NT_STATUS_IS_OK(status)) {
912 return status;
915 if (DEBUGLEVEL >= 10) {
916 NDR_PRINT_OUT_DEBUG(samr_QueryGroupInfo, &r);
919 if (NT_STATUS_IS_ERR(status)) {
920 return status;
923 /* Return variables */
924 *info = *r.out.info;
926 /* Return result */
927 return r.out.result;
930 NTSTATUS rpccli_samr_SetGroupInfo(struct rpc_pipe_client *cli,
931 TALLOC_CTX *mem_ctx,
932 struct policy_handle *group_handle /* [in] [ref] */,
933 enum samr_GroupInfoEnum level /* [in] */,
934 union samr_GroupInfo *info /* [in] [ref,switch_is(level)] */)
936 struct samr_SetGroupInfo r;
937 NTSTATUS status;
939 /* In parameters */
940 r.in.group_handle = group_handle;
941 r.in.level = level;
942 r.in.info = info;
944 if (DEBUGLEVEL >= 10) {
945 NDR_PRINT_IN_DEBUG(samr_SetGroupInfo, &r);
948 status = cli->dispatch(cli,
949 mem_ctx,
950 &ndr_table_samr,
951 NDR_SAMR_SETGROUPINFO,
952 &r);
954 if (!NT_STATUS_IS_OK(status)) {
955 return status;
958 if (DEBUGLEVEL >= 10) {
959 NDR_PRINT_OUT_DEBUG(samr_SetGroupInfo, &r);
962 if (NT_STATUS_IS_ERR(status)) {
963 return status;
966 /* Return variables */
968 /* Return result */
969 return r.out.result;
972 NTSTATUS rpccli_samr_AddGroupMember(struct rpc_pipe_client *cli,
973 TALLOC_CTX *mem_ctx,
974 struct policy_handle *group_handle /* [in] [ref] */,
975 uint32_t rid /* [in] */,
976 uint32_t flags /* [in] */)
978 struct samr_AddGroupMember r;
979 NTSTATUS status;
981 /* In parameters */
982 r.in.group_handle = group_handle;
983 r.in.rid = rid;
984 r.in.flags = flags;
986 if (DEBUGLEVEL >= 10) {
987 NDR_PRINT_IN_DEBUG(samr_AddGroupMember, &r);
990 status = cli->dispatch(cli,
991 mem_ctx,
992 &ndr_table_samr,
993 NDR_SAMR_ADDGROUPMEMBER,
994 &r);
996 if (!NT_STATUS_IS_OK(status)) {
997 return status;
1000 if (DEBUGLEVEL >= 10) {
1001 NDR_PRINT_OUT_DEBUG(samr_AddGroupMember, &r);
1004 if (NT_STATUS_IS_ERR(status)) {
1005 return status;
1008 /* Return variables */
1010 /* Return result */
1011 return r.out.result;
1014 NTSTATUS rpccli_samr_DeleteDomainGroup(struct rpc_pipe_client *cli,
1015 TALLOC_CTX *mem_ctx,
1016 struct policy_handle *group_handle /* [in,out] [ref] */)
1018 struct samr_DeleteDomainGroup r;
1019 NTSTATUS status;
1021 /* In parameters */
1022 r.in.group_handle = group_handle;
1024 if (DEBUGLEVEL >= 10) {
1025 NDR_PRINT_IN_DEBUG(samr_DeleteDomainGroup, &r);
1028 status = cli->dispatch(cli,
1029 mem_ctx,
1030 &ndr_table_samr,
1031 NDR_SAMR_DELETEDOMAINGROUP,
1032 &r);
1034 if (!NT_STATUS_IS_OK(status)) {
1035 return status;
1038 if (DEBUGLEVEL >= 10) {
1039 NDR_PRINT_OUT_DEBUG(samr_DeleteDomainGroup, &r);
1042 if (NT_STATUS_IS_ERR(status)) {
1043 return status;
1046 /* Return variables */
1047 *group_handle = *r.out.group_handle;
1049 /* Return result */
1050 return r.out.result;
1053 NTSTATUS rpccli_samr_DeleteGroupMember(struct rpc_pipe_client *cli,
1054 TALLOC_CTX *mem_ctx,
1055 struct policy_handle *group_handle /* [in] [ref] */,
1056 uint32_t rid /* [in] */)
1058 struct samr_DeleteGroupMember r;
1059 NTSTATUS status;
1061 /* In parameters */
1062 r.in.group_handle = group_handle;
1063 r.in.rid = rid;
1065 if (DEBUGLEVEL >= 10) {
1066 NDR_PRINT_IN_DEBUG(samr_DeleteGroupMember, &r);
1069 status = cli->dispatch(cli,
1070 mem_ctx,
1071 &ndr_table_samr,
1072 NDR_SAMR_DELETEGROUPMEMBER,
1073 &r);
1075 if (!NT_STATUS_IS_OK(status)) {
1076 return status;
1079 if (DEBUGLEVEL >= 10) {
1080 NDR_PRINT_OUT_DEBUG(samr_DeleteGroupMember, &r);
1083 if (NT_STATUS_IS_ERR(status)) {
1084 return status;
1087 /* Return variables */
1089 /* Return result */
1090 return r.out.result;
1093 NTSTATUS rpccli_samr_QueryGroupMember(struct rpc_pipe_client *cli,
1094 TALLOC_CTX *mem_ctx,
1095 struct policy_handle *group_handle /* [in] [ref] */,
1096 struct samr_RidTypeArray **rids /* [out] [ref] */)
1098 struct samr_QueryGroupMember r;
1099 NTSTATUS status;
1101 /* In parameters */
1102 r.in.group_handle = group_handle;
1104 if (DEBUGLEVEL >= 10) {
1105 NDR_PRINT_IN_DEBUG(samr_QueryGroupMember, &r);
1108 status = cli->dispatch(cli,
1109 mem_ctx,
1110 &ndr_table_samr,
1111 NDR_SAMR_QUERYGROUPMEMBER,
1112 &r);
1114 if (!NT_STATUS_IS_OK(status)) {
1115 return status;
1118 if (DEBUGLEVEL >= 10) {
1119 NDR_PRINT_OUT_DEBUG(samr_QueryGroupMember, &r);
1122 if (NT_STATUS_IS_ERR(status)) {
1123 return status;
1126 /* Return variables */
1127 *rids = *r.out.rids;
1129 /* Return result */
1130 return r.out.result;
1133 NTSTATUS rpccli_samr_SetMemberAttributesOfGroup(struct rpc_pipe_client *cli,
1134 TALLOC_CTX *mem_ctx,
1135 struct policy_handle *group_handle /* [in] [ref] */,
1136 uint32_t unknown1 /* [in] */,
1137 uint32_t unknown2 /* [in] */)
1139 struct samr_SetMemberAttributesOfGroup r;
1140 NTSTATUS status;
1142 /* In parameters */
1143 r.in.group_handle = group_handle;
1144 r.in.unknown1 = unknown1;
1145 r.in.unknown2 = unknown2;
1147 if (DEBUGLEVEL >= 10) {
1148 NDR_PRINT_IN_DEBUG(samr_SetMemberAttributesOfGroup, &r);
1151 status = cli->dispatch(cli,
1152 mem_ctx,
1153 &ndr_table_samr,
1154 NDR_SAMR_SETMEMBERATTRIBUTESOFGROUP,
1155 &r);
1157 if (!NT_STATUS_IS_OK(status)) {
1158 return status;
1161 if (DEBUGLEVEL >= 10) {
1162 NDR_PRINT_OUT_DEBUG(samr_SetMemberAttributesOfGroup, &r);
1165 if (NT_STATUS_IS_ERR(status)) {
1166 return status;
1169 /* Return variables */
1171 /* Return result */
1172 return r.out.result;
1175 NTSTATUS rpccli_samr_OpenAlias(struct rpc_pipe_client *cli,
1176 TALLOC_CTX *mem_ctx,
1177 struct policy_handle *domain_handle /* [in] [ref] */,
1178 uint32_t access_mask /* [in] */,
1179 uint32_t rid /* [in] */,
1180 struct policy_handle *alias_handle /* [out] [ref] */)
1182 struct samr_OpenAlias r;
1183 NTSTATUS status;
1185 /* In parameters */
1186 r.in.domain_handle = domain_handle;
1187 r.in.access_mask = access_mask;
1188 r.in.rid = rid;
1190 if (DEBUGLEVEL >= 10) {
1191 NDR_PRINT_IN_DEBUG(samr_OpenAlias, &r);
1194 status = cli->dispatch(cli,
1195 mem_ctx,
1196 &ndr_table_samr,
1197 NDR_SAMR_OPENALIAS,
1198 &r);
1200 if (!NT_STATUS_IS_OK(status)) {
1201 return status;
1204 if (DEBUGLEVEL >= 10) {
1205 NDR_PRINT_OUT_DEBUG(samr_OpenAlias, &r);
1208 if (NT_STATUS_IS_ERR(status)) {
1209 return status;
1212 /* Return variables */
1213 *alias_handle = *r.out.alias_handle;
1215 /* Return result */
1216 return r.out.result;
1219 NTSTATUS rpccli_samr_QueryAliasInfo(struct rpc_pipe_client *cli,
1220 TALLOC_CTX *mem_ctx,
1221 struct policy_handle *alias_handle /* [in] [ref] */,
1222 enum samr_AliasInfoEnum level /* [in] */,
1223 union samr_AliasInfo **info /* [out] [ref,switch_is(level)] */)
1225 struct samr_QueryAliasInfo r;
1226 NTSTATUS status;
1228 /* In parameters */
1229 r.in.alias_handle = alias_handle;
1230 r.in.level = level;
1232 if (DEBUGLEVEL >= 10) {
1233 NDR_PRINT_IN_DEBUG(samr_QueryAliasInfo, &r);
1236 status = cli->dispatch(cli,
1237 mem_ctx,
1238 &ndr_table_samr,
1239 NDR_SAMR_QUERYALIASINFO,
1240 &r);
1242 if (!NT_STATUS_IS_OK(status)) {
1243 return status;
1246 if (DEBUGLEVEL >= 10) {
1247 NDR_PRINT_OUT_DEBUG(samr_QueryAliasInfo, &r);
1250 if (NT_STATUS_IS_ERR(status)) {
1251 return status;
1254 /* Return variables */
1255 *info = *r.out.info;
1257 /* Return result */
1258 return r.out.result;
1261 NTSTATUS rpccli_samr_SetAliasInfo(struct rpc_pipe_client *cli,
1262 TALLOC_CTX *mem_ctx,
1263 struct policy_handle *alias_handle /* [in] [ref] */,
1264 enum samr_AliasInfoEnum level /* [in] */,
1265 union samr_AliasInfo *info /* [in] [ref,switch_is(level)] */)
1267 struct samr_SetAliasInfo r;
1268 NTSTATUS status;
1270 /* In parameters */
1271 r.in.alias_handle = alias_handle;
1272 r.in.level = level;
1273 r.in.info = info;
1275 if (DEBUGLEVEL >= 10) {
1276 NDR_PRINT_IN_DEBUG(samr_SetAliasInfo, &r);
1279 status = cli->dispatch(cli,
1280 mem_ctx,
1281 &ndr_table_samr,
1282 NDR_SAMR_SETALIASINFO,
1283 &r);
1285 if (!NT_STATUS_IS_OK(status)) {
1286 return status;
1289 if (DEBUGLEVEL >= 10) {
1290 NDR_PRINT_OUT_DEBUG(samr_SetAliasInfo, &r);
1293 if (NT_STATUS_IS_ERR(status)) {
1294 return status;
1297 /* Return variables */
1299 /* Return result */
1300 return r.out.result;
1303 NTSTATUS rpccli_samr_DeleteDomAlias(struct rpc_pipe_client *cli,
1304 TALLOC_CTX *mem_ctx,
1305 struct policy_handle *alias_handle /* [in,out] [ref] */)
1307 struct samr_DeleteDomAlias r;
1308 NTSTATUS status;
1310 /* In parameters */
1311 r.in.alias_handle = alias_handle;
1313 if (DEBUGLEVEL >= 10) {
1314 NDR_PRINT_IN_DEBUG(samr_DeleteDomAlias, &r);
1317 status = cli->dispatch(cli,
1318 mem_ctx,
1319 &ndr_table_samr,
1320 NDR_SAMR_DELETEDOMALIAS,
1321 &r);
1323 if (!NT_STATUS_IS_OK(status)) {
1324 return status;
1327 if (DEBUGLEVEL >= 10) {
1328 NDR_PRINT_OUT_DEBUG(samr_DeleteDomAlias, &r);
1331 if (NT_STATUS_IS_ERR(status)) {
1332 return status;
1335 /* Return variables */
1336 *alias_handle = *r.out.alias_handle;
1338 /* Return result */
1339 return r.out.result;
1342 NTSTATUS rpccli_samr_AddAliasMember(struct rpc_pipe_client *cli,
1343 TALLOC_CTX *mem_ctx,
1344 struct policy_handle *alias_handle /* [in] [ref] */,
1345 struct dom_sid2 *sid /* [in] [ref] */)
1347 struct samr_AddAliasMember r;
1348 NTSTATUS status;
1350 /* In parameters */
1351 r.in.alias_handle = alias_handle;
1352 r.in.sid = sid;
1354 if (DEBUGLEVEL >= 10) {
1355 NDR_PRINT_IN_DEBUG(samr_AddAliasMember, &r);
1358 status = cli->dispatch(cli,
1359 mem_ctx,
1360 &ndr_table_samr,
1361 NDR_SAMR_ADDALIASMEMBER,
1362 &r);
1364 if (!NT_STATUS_IS_OK(status)) {
1365 return status;
1368 if (DEBUGLEVEL >= 10) {
1369 NDR_PRINT_OUT_DEBUG(samr_AddAliasMember, &r);
1372 if (NT_STATUS_IS_ERR(status)) {
1373 return status;
1376 /* Return variables */
1378 /* Return result */
1379 return r.out.result;
1382 NTSTATUS rpccli_samr_DeleteAliasMember(struct rpc_pipe_client *cli,
1383 TALLOC_CTX *mem_ctx,
1384 struct policy_handle *alias_handle /* [in] [ref] */,
1385 struct dom_sid2 *sid /* [in] [ref] */)
1387 struct samr_DeleteAliasMember r;
1388 NTSTATUS status;
1390 /* In parameters */
1391 r.in.alias_handle = alias_handle;
1392 r.in.sid = sid;
1394 if (DEBUGLEVEL >= 10) {
1395 NDR_PRINT_IN_DEBUG(samr_DeleteAliasMember, &r);
1398 status = cli->dispatch(cli,
1399 mem_ctx,
1400 &ndr_table_samr,
1401 NDR_SAMR_DELETEALIASMEMBER,
1402 &r);
1404 if (!NT_STATUS_IS_OK(status)) {
1405 return status;
1408 if (DEBUGLEVEL >= 10) {
1409 NDR_PRINT_OUT_DEBUG(samr_DeleteAliasMember, &r);
1412 if (NT_STATUS_IS_ERR(status)) {
1413 return status;
1416 /* Return variables */
1418 /* Return result */
1419 return r.out.result;
1422 NTSTATUS rpccli_samr_GetMembersInAlias(struct rpc_pipe_client *cli,
1423 TALLOC_CTX *mem_ctx,
1424 struct policy_handle *alias_handle /* [in] [ref] */,
1425 struct lsa_SidArray *sids /* [out] [ref] */)
1427 struct samr_GetMembersInAlias r;
1428 NTSTATUS status;
1430 /* In parameters */
1431 r.in.alias_handle = alias_handle;
1433 if (DEBUGLEVEL >= 10) {
1434 NDR_PRINT_IN_DEBUG(samr_GetMembersInAlias, &r);
1437 status = cli->dispatch(cli,
1438 mem_ctx,
1439 &ndr_table_samr,
1440 NDR_SAMR_GETMEMBERSINALIAS,
1441 &r);
1443 if (!NT_STATUS_IS_OK(status)) {
1444 return status;
1447 if (DEBUGLEVEL >= 10) {
1448 NDR_PRINT_OUT_DEBUG(samr_GetMembersInAlias, &r);
1451 if (NT_STATUS_IS_ERR(status)) {
1452 return status;
1455 /* Return variables */
1456 *sids = *r.out.sids;
1458 /* Return result */
1459 return r.out.result;
1462 NTSTATUS rpccli_samr_OpenUser(struct rpc_pipe_client *cli,
1463 TALLOC_CTX *mem_ctx,
1464 struct policy_handle *domain_handle /* [in] [ref] */,
1465 uint32_t access_mask /* [in] */,
1466 uint32_t rid /* [in] */,
1467 struct policy_handle *user_handle /* [out] [ref] */)
1469 struct samr_OpenUser r;
1470 NTSTATUS status;
1472 /* In parameters */
1473 r.in.domain_handle = domain_handle;
1474 r.in.access_mask = access_mask;
1475 r.in.rid = rid;
1477 if (DEBUGLEVEL >= 10) {
1478 NDR_PRINT_IN_DEBUG(samr_OpenUser, &r);
1481 status = cli->dispatch(cli,
1482 mem_ctx,
1483 &ndr_table_samr,
1484 NDR_SAMR_OPENUSER,
1485 &r);
1487 if (!NT_STATUS_IS_OK(status)) {
1488 return status;
1491 if (DEBUGLEVEL >= 10) {
1492 NDR_PRINT_OUT_DEBUG(samr_OpenUser, &r);
1495 if (NT_STATUS_IS_ERR(status)) {
1496 return status;
1499 /* Return variables */
1500 *user_handle = *r.out.user_handle;
1502 /* Return result */
1503 return r.out.result;
1506 NTSTATUS rpccli_samr_DeleteUser(struct rpc_pipe_client *cli,
1507 TALLOC_CTX *mem_ctx,
1508 struct policy_handle *user_handle /* [in,out] [ref] */)
1510 struct samr_DeleteUser r;
1511 NTSTATUS status;
1513 /* In parameters */
1514 r.in.user_handle = user_handle;
1516 if (DEBUGLEVEL >= 10) {
1517 NDR_PRINT_IN_DEBUG(samr_DeleteUser, &r);
1520 status = cli->dispatch(cli,
1521 mem_ctx,
1522 &ndr_table_samr,
1523 NDR_SAMR_DELETEUSER,
1524 &r);
1526 if (!NT_STATUS_IS_OK(status)) {
1527 return status;
1530 if (DEBUGLEVEL >= 10) {
1531 NDR_PRINT_OUT_DEBUG(samr_DeleteUser, &r);
1534 if (NT_STATUS_IS_ERR(status)) {
1535 return status;
1538 /* Return variables */
1539 *user_handle = *r.out.user_handle;
1541 /* Return result */
1542 return r.out.result;
1545 NTSTATUS rpccli_samr_QueryUserInfo(struct rpc_pipe_client *cli,
1546 TALLOC_CTX *mem_ctx,
1547 struct policy_handle *user_handle /* [in] [ref] */,
1548 uint16_t level /* [in] */,
1549 union samr_UserInfo **info /* [out] [ref,switch_is(level)] */)
1551 struct samr_QueryUserInfo r;
1552 NTSTATUS status;
1554 /* In parameters */
1555 r.in.user_handle = user_handle;
1556 r.in.level = level;
1558 if (DEBUGLEVEL >= 10) {
1559 NDR_PRINT_IN_DEBUG(samr_QueryUserInfo, &r);
1562 status = cli->dispatch(cli,
1563 mem_ctx,
1564 &ndr_table_samr,
1565 NDR_SAMR_QUERYUSERINFO,
1566 &r);
1568 if (!NT_STATUS_IS_OK(status)) {
1569 return status;
1572 if (DEBUGLEVEL >= 10) {
1573 NDR_PRINT_OUT_DEBUG(samr_QueryUserInfo, &r);
1576 if (NT_STATUS_IS_ERR(status)) {
1577 return status;
1580 /* Return variables */
1581 *info = *r.out.info;
1583 /* Return result */
1584 return r.out.result;
1587 NTSTATUS rpccli_samr_SetUserInfo(struct rpc_pipe_client *cli,
1588 TALLOC_CTX *mem_ctx,
1589 struct policy_handle *user_handle /* [in] [ref] */,
1590 uint16_t level /* [in] */,
1591 union samr_UserInfo *info /* [in] [ref,switch_is(level)] */)
1593 struct samr_SetUserInfo r;
1594 NTSTATUS status;
1596 /* In parameters */
1597 r.in.user_handle = user_handle;
1598 r.in.level = level;
1599 r.in.info = info;
1601 if (DEBUGLEVEL >= 10) {
1602 NDR_PRINT_IN_DEBUG(samr_SetUserInfo, &r);
1605 status = cli->dispatch(cli,
1606 mem_ctx,
1607 &ndr_table_samr,
1608 NDR_SAMR_SETUSERINFO,
1609 &r);
1611 if (!NT_STATUS_IS_OK(status)) {
1612 return status;
1615 if (DEBUGLEVEL >= 10) {
1616 NDR_PRINT_OUT_DEBUG(samr_SetUserInfo, &r);
1619 if (NT_STATUS_IS_ERR(status)) {
1620 return status;
1623 /* Return variables */
1625 /* Return result */
1626 return r.out.result;
1629 NTSTATUS rpccli_samr_ChangePasswordUser(struct rpc_pipe_client *cli,
1630 TALLOC_CTX *mem_ctx,
1631 struct policy_handle *user_handle /* [in] [ref] */,
1632 uint8_t lm_present /* [in] */,
1633 struct samr_Password *old_lm_crypted /* [in] [unique] */,
1634 struct samr_Password *new_lm_crypted /* [in] [unique] */,
1635 uint8_t nt_present /* [in] */,
1636 struct samr_Password *old_nt_crypted /* [in] [unique] */,
1637 struct samr_Password *new_nt_crypted /* [in] [unique] */,
1638 uint8_t cross1_present /* [in] */,
1639 struct samr_Password *nt_cross /* [in] [unique] */,
1640 uint8_t cross2_present /* [in] */,
1641 struct samr_Password *lm_cross /* [in] [unique] */)
1643 struct samr_ChangePasswordUser r;
1644 NTSTATUS status;
1646 /* In parameters */
1647 r.in.user_handle = user_handle;
1648 r.in.lm_present = lm_present;
1649 r.in.old_lm_crypted = old_lm_crypted;
1650 r.in.new_lm_crypted = new_lm_crypted;
1651 r.in.nt_present = nt_present;
1652 r.in.old_nt_crypted = old_nt_crypted;
1653 r.in.new_nt_crypted = new_nt_crypted;
1654 r.in.cross1_present = cross1_present;
1655 r.in.nt_cross = nt_cross;
1656 r.in.cross2_present = cross2_present;
1657 r.in.lm_cross = lm_cross;
1659 if (DEBUGLEVEL >= 10) {
1660 NDR_PRINT_IN_DEBUG(samr_ChangePasswordUser, &r);
1663 status = cli->dispatch(cli,
1664 mem_ctx,
1665 &ndr_table_samr,
1666 NDR_SAMR_CHANGEPASSWORDUSER,
1667 &r);
1669 if (!NT_STATUS_IS_OK(status)) {
1670 return status;
1673 if (DEBUGLEVEL >= 10) {
1674 NDR_PRINT_OUT_DEBUG(samr_ChangePasswordUser, &r);
1677 if (NT_STATUS_IS_ERR(status)) {
1678 return status;
1681 /* Return variables */
1683 /* Return result */
1684 return r.out.result;
1687 NTSTATUS rpccli_samr_GetGroupsForUser(struct rpc_pipe_client *cli,
1688 TALLOC_CTX *mem_ctx,
1689 struct policy_handle *user_handle /* [in] [ref] */,
1690 struct samr_RidWithAttributeArray **rids /* [out] [ref] */)
1692 struct samr_GetGroupsForUser r;
1693 NTSTATUS status;
1695 /* In parameters */
1696 r.in.user_handle = user_handle;
1698 if (DEBUGLEVEL >= 10) {
1699 NDR_PRINT_IN_DEBUG(samr_GetGroupsForUser, &r);
1702 status = cli->dispatch(cli,
1703 mem_ctx,
1704 &ndr_table_samr,
1705 NDR_SAMR_GETGROUPSFORUSER,
1706 &r);
1708 if (!NT_STATUS_IS_OK(status)) {
1709 return status;
1712 if (DEBUGLEVEL >= 10) {
1713 NDR_PRINT_OUT_DEBUG(samr_GetGroupsForUser, &r);
1716 if (NT_STATUS_IS_ERR(status)) {
1717 return status;
1720 /* Return variables */
1721 *rids = *r.out.rids;
1723 /* Return result */
1724 return r.out.result;
1727 NTSTATUS rpccli_samr_QueryDisplayInfo(struct rpc_pipe_client *cli,
1728 TALLOC_CTX *mem_ctx,
1729 struct policy_handle *domain_handle /* [in] [ref] */,
1730 uint16_t level /* [in] */,
1731 uint32_t start_idx /* [in] */,
1732 uint32_t max_entries /* [in] */,
1733 uint32_t buf_size /* [in] */,
1734 uint32_t *total_size /* [out] [ref] */,
1735 uint32_t *returned_size /* [out] [ref] */,
1736 union samr_DispInfo *info /* [out] [ref,switch_is(level)] */)
1738 struct samr_QueryDisplayInfo r;
1739 NTSTATUS status;
1741 /* In parameters */
1742 r.in.domain_handle = domain_handle;
1743 r.in.level = level;
1744 r.in.start_idx = start_idx;
1745 r.in.max_entries = max_entries;
1746 r.in.buf_size = buf_size;
1748 if (DEBUGLEVEL >= 10) {
1749 NDR_PRINT_IN_DEBUG(samr_QueryDisplayInfo, &r);
1752 status = cli->dispatch(cli,
1753 mem_ctx,
1754 &ndr_table_samr,
1755 NDR_SAMR_QUERYDISPLAYINFO,
1756 &r);
1758 if (!NT_STATUS_IS_OK(status)) {
1759 return status;
1762 if (DEBUGLEVEL >= 10) {
1763 NDR_PRINT_OUT_DEBUG(samr_QueryDisplayInfo, &r);
1766 if (NT_STATUS_IS_ERR(status)) {
1767 return status;
1770 /* Return variables */
1771 *total_size = *r.out.total_size;
1772 *returned_size = *r.out.returned_size;
1773 *info = *r.out.info;
1775 /* Return result */
1776 return r.out.result;
1779 NTSTATUS rpccli_samr_GetDisplayEnumerationIndex(struct rpc_pipe_client *cli,
1780 TALLOC_CTX *mem_ctx,
1781 struct policy_handle *domain_handle /* [in] [ref] */,
1782 uint16_t level /* [in] */,
1783 struct lsa_String *name /* [in] [ref] */,
1784 uint32_t *idx /* [out] [ref] */)
1786 struct samr_GetDisplayEnumerationIndex r;
1787 NTSTATUS status;
1789 /* In parameters */
1790 r.in.domain_handle = domain_handle;
1791 r.in.level = level;
1792 r.in.name = name;
1794 if (DEBUGLEVEL >= 10) {
1795 NDR_PRINT_IN_DEBUG(samr_GetDisplayEnumerationIndex, &r);
1798 status = cli->dispatch(cli,
1799 mem_ctx,
1800 &ndr_table_samr,
1801 NDR_SAMR_GETDISPLAYENUMERATIONINDEX,
1802 &r);
1804 if (!NT_STATUS_IS_OK(status)) {
1805 return status;
1808 if (DEBUGLEVEL >= 10) {
1809 NDR_PRINT_OUT_DEBUG(samr_GetDisplayEnumerationIndex, &r);
1812 if (NT_STATUS_IS_ERR(status)) {
1813 return status;
1816 /* Return variables */
1817 *idx = *r.out.idx;
1819 /* Return result */
1820 return r.out.result;
1823 NTSTATUS rpccli_samr_TestPrivateFunctionsDomain(struct rpc_pipe_client *cli,
1824 TALLOC_CTX *mem_ctx,
1825 struct policy_handle *domain_handle /* [in] [ref] */)
1827 struct samr_TestPrivateFunctionsDomain r;
1828 NTSTATUS status;
1830 /* In parameters */
1831 r.in.domain_handle = domain_handle;
1833 if (DEBUGLEVEL >= 10) {
1834 NDR_PRINT_IN_DEBUG(samr_TestPrivateFunctionsDomain, &r);
1837 status = cli->dispatch(cli,
1838 mem_ctx,
1839 &ndr_table_samr,
1840 NDR_SAMR_TESTPRIVATEFUNCTIONSDOMAIN,
1841 &r);
1843 if (!NT_STATUS_IS_OK(status)) {
1844 return status;
1847 if (DEBUGLEVEL >= 10) {
1848 NDR_PRINT_OUT_DEBUG(samr_TestPrivateFunctionsDomain, &r);
1851 if (NT_STATUS_IS_ERR(status)) {
1852 return status;
1855 /* Return variables */
1857 /* Return result */
1858 return r.out.result;
1861 NTSTATUS rpccli_samr_TestPrivateFunctionsUser(struct rpc_pipe_client *cli,
1862 TALLOC_CTX *mem_ctx,
1863 struct policy_handle *user_handle /* [in] [ref] */)
1865 struct samr_TestPrivateFunctionsUser r;
1866 NTSTATUS status;
1868 /* In parameters */
1869 r.in.user_handle = user_handle;
1871 if (DEBUGLEVEL >= 10) {
1872 NDR_PRINT_IN_DEBUG(samr_TestPrivateFunctionsUser, &r);
1875 status = cli->dispatch(cli,
1876 mem_ctx,
1877 &ndr_table_samr,
1878 NDR_SAMR_TESTPRIVATEFUNCTIONSUSER,
1879 &r);
1881 if (!NT_STATUS_IS_OK(status)) {
1882 return status;
1885 if (DEBUGLEVEL >= 10) {
1886 NDR_PRINT_OUT_DEBUG(samr_TestPrivateFunctionsUser, &r);
1889 if (NT_STATUS_IS_ERR(status)) {
1890 return status;
1893 /* Return variables */
1895 /* Return result */
1896 return r.out.result;
1899 NTSTATUS rpccli_samr_GetUserPwInfo(struct rpc_pipe_client *cli,
1900 TALLOC_CTX *mem_ctx,
1901 struct policy_handle *user_handle /* [in] [ref] */,
1902 struct samr_PwInfo *info /* [out] [ref] */)
1904 struct samr_GetUserPwInfo r;
1905 NTSTATUS status;
1907 /* In parameters */
1908 r.in.user_handle = user_handle;
1910 if (DEBUGLEVEL >= 10) {
1911 NDR_PRINT_IN_DEBUG(samr_GetUserPwInfo, &r);
1914 status = cli->dispatch(cli,
1915 mem_ctx,
1916 &ndr_table_samr,
1917 NDR_SAMR_GETUSERPWINFO,
1918 &r);
1920 if (!NT_STATUS_IS_OK(status)) {
1921 return status;
1924 if (DEBUGLEVEL >= 10) {
1925 NDR_PRINT_OUT_DEBUG(samr_GetUserPwInfo, &r);
1928 if (NT_STATUS_IS_ERR(status)) {
1929 return status;
1932 /* Return variables */
1933 *info = *r.out.info;
1935 /* Return result */
1936 return r.out.result;
1939 NTSTATUS rpccli_samr_RemoveMemberFromForeignDomain(struct rpc_pipe_client *cli,
1940 TALLOC_CTX *mem_ctx,
1941 struct policy_handle *domain_handle /* [in] [ref] */,
1942 struct dom_sid2 *sid /* [in] [ref] */)
1944 struct samr_RemoveMemberFromForeignDomain r;
1945 NTSTATUS status;
1947 /* In parameters */
1948 r.in.domain_handle = domain_handle;
1949 r.in.sid = sid;
1951 if (DEBUGLEVEL >= 10) {
1952 NDR_PRINT_IN_DEBUG(samr_RemoveMemberFromForeignDomain, &r);
1955 status = cli->dispatch(cli,
1956 mem_ctx,
1957 &ndr_table_samr,
1958 NDR_SAMR_REMOVEMEMBERFROMFOREIGNDOMAIN,
1959 &r);
1961 if (!NT_STATUS_IS_OK(status)) {
1962 return status;
1965 if (DEBUGLEVEL >= 10) {
1966 NDR_PRINT_OUT_DEBUG(samr_RemoveMemberFromForeignDomain, &r);
1969 if (NT_STATUS_IS_ERR(status)) {
1970 return status;
1973 /* Return variables */
1975 /* Return result */
1976 return r.out.result;
1979 NTSTATUS rpccli_samr_QueryDomainInfo2(struct rpc_pipe_client *cli,
1980 TALLOC_CTX *mem_ctx,
1981 struct policy_handle *domain_handle /* [in] [ref] */,
1982 uint16_t level /* [in] */,
1983 union samr_DomainInfo **info /* [out] [ref,switch_is(level)] */)
1985 struct samr_QueryDomainInfo2 r;
1986 NTSTATUS status;
1988 /* In parameters */
1989 r.in.domain_handle = domain_handle;
1990 r.in.level = level;
1992 if (DEBUGLEVEL >= 10) {
1993 NDR_PRINT_IN_DEBUG(samr_QueryDomainInfo2, &r);
1996 status = cli->dispatch(cli,
1997 mem_ctx,
1998 &ndr_table_samr,
1999 NDR_SAMR_QUERYDOMAININFO2,
2000 &r);
2002 if (!NT_STATUS_IS_OK(status)) {
2003 return status;
2006 if (DEBUGLEVEL >= 10) {
2007 NDR_PRINT_OUT_DEBUG(samr_QueryDomainInfo2, &r);
2010 if (NT_STATUS_IS_ERR(status)) {
2011 return status;
2014 /* Return variables */
2015 *info = *r.out.info;
2017 /* Return result */
2018 return r.out.result;
2021 NTSTATUS rpccli_samr_QueryUserInfo2(struct rpc_pipe_client *cli,
2022 TALLOC_CTX *mem_ctx,
2023 struct policy_handle *user_handle /* [in] [ref] */,
2024 uint16_t level /* [in] */,
2025 union samr_UserInfo **info /* [out] [ref,switch_is(level)] */)
2027 struct samr_QueryUserInfo2 r;
2028 NTSTATUS status;
2030 /* In parameters */
2031 r.in.user_handle = user_handle;
2032 r.in.level = level;
2034 if (DEBUGLEVEL >= 10) {
2035 NDR_PRINT_IN_DEBUG(samr_QueryUserInfo2, &r);
2038 status = cli->dispatch(cli,
2039 mem_ctx,
2040 &ndr_table_samr,
2041 NDR_SAMR_QUERYUSERINFO2,
2042 &r);
2044 if (!NT_STATUS_IS_OK(status)) {
2045 return status;
2048 if (DEBUGLEVEL >= 10) {
2049 NDR_PRINT_OUT_DEBUG(samr_QueryUserInfo2, &r);
2052 if (NT_STATUS_IS_ERR(status)) {
2053 return status;
2056 /* Return variables */
2057 *info = *r.out.info;
2059 /* Return result */
2060 return r.out.result;
2063 NTSTATUS rpccli_samr_QueryDisplayInfo2(struct rpc_pipe_client *cli,
2064 TALLOC_CTX *mem_ctx,
2065 struct policy_handle *domain_handle /* [in] [ref] */,
2066 uint16_t level /* [in] */,
2067 uint32_t start_idx /* [in] */,
2068 uint32_t max_entries /* [in] */,
2069 uint32_t buf_size /* [in] */,
2070 uint32_t *total_size /* [out] [ref] */,
2071 uint32_t *returned_size /* [out] [ref] */,
2072 union samr_DispInfo *info /* [out] [ref,switch_is(level)] */)
2074 struct samr_QueryDisplayInfo2 r;
2075 NTSTATUS status;
2077 /* In parameters */
2078 r.in.domain_handle = domain_handle;
2079 r.in.level = level;
2080 r.in.start_idx = start_idx;
2081 r.in.max_entries = max_entries;
2082 r.in.buf_size = buf_size;
2084 if (DEBUGLEVEL >= 10) {
2085 NDR_PRINT_IN_DEBUG(samr_QueryDisplayInfo2, &r);
2088 status = cli->dispatch(cli,
2089 mem_ctx,
2090 &ndr_table_samr,
2091 NDR_SAMR_QUERYDISPLAYINFO2,
2092 &r);
2094 if (!NT_STATUS_IS_OK(status)) {
2095 return status;
2098 if (DEBUGLEVEL >= 10) {
2099 NDR_PRINT_OUT_DEBUG(samr_QueryDisplayInfo2, &r);
2102 if (NT_STATUS_IS_ERR(status)) {
2103 return status;
2106 /* Return variables */
2107 *total_size = *r.out.total_size;
2108 *returned_size = *r.out.returned_size;
2109 *info = *r.out.info;
2111 /* Return result */
2112 return r.out.result;
2115 NTSTATUS rpccli_samr_GetDisplayEnumerationIndex2(struct rpc_pipe_client *cli,
2116 TALLOC_CTX *mem_ctx,
2117 struct policy_handle *domain_handle /* [in] [ref] */,
2118 uint16_t level /* [in] */,
2119 struct lsa_String *name /* [in] [ref] */,
2120 uint32_t *idx /* [out] [ref] */)
2122 struct samr_GetDisplayEnumerationIndex2 r;
2123 NTSTATUS status;
2125 /* In parameters */
2126 r.in.domain_handle = domain_handle;
2127 r.in.level = level;
2128 r.in.name = name;
2130 if (DEBUGLEVEL >= 10) {
2131 NDR_PRINT_IN_DEBUG(samr_GetDisplayEnumerationIndex2, &r);
2134 status = cli->dispatch(cli,
2135 mem_ctx,
2136 &ndr_table_samr,
2137 NDR_SAMR_GETDISPLAYENUMERATIONINDEX2,
2138 &r);
2140 if (!NT_STATUS_IS_OK(status)) {
2141 return status;
2144 if (DEBUGLEVEL >= 10) {
2145 NDR_PRINT_OUT_DEBUG(samr_GetDisplayEnumerationIndex2, &r);
2148 if (NT_STATUS_IS_ERR(status)) {
2149 return status;
2152 /* Return variables */
2153 *idx = *r.out.idx;
2155 /* Return result */
2156 return r.out.result;
2159 NTSTATUS rpccli_samr_CreateUser2(struct rpc_pipe_client *cli,
2160 TALLOC_CTX *mem_ctx,
2161 struct policy_handle *domain_handle /* [in] [ref] */,
2162 struct lsa_String *account_name /* [in] [ref] */,
2163 uint32_t acct_flags /* [in] */,
2164 uint32_t access_mask /* [in] */,
2165 struct policy_handle *user_handle /* [out] [ref] */,
2166 uint32_t *access_granted /* [out] [ref] */,
2167 uint32_t *rid /* [out] [ref] */)
2169 struct samr_CreateUser2 r;
2170 NTSTATUS status;
2172 /* In parameters */
2173 r.in.domain_handle = domain_handle;
2174 r.in.account_name = account_name;
2175 r.in.acct_flags = acct_flags;
2176 r.in.access_mask = access_mask;
2178 if (DEBUGLEVEL >= 10) {
2179 NDR_PRINT_IN_DEBUG(samr_CreateUser2, &r);
2182 status = cli->dispatch(cli,
2183 mem_ctx,
2184 &ndr_table_samr,
2185 NDR_SAMR_CREATEUSER2,
2186 &r);
2188 if (!NT_STATUS_IS_OK(status)) {
2189 return status;
2192 if (DEBUGLEVEL >= 10) {
2193 NDR_PRINT_OUT_DEBUG(samr_CreateUser2, &r);
2196 if (NT_STATUS_IS_ERR(status)) {
2197 return status;
2200 /* Return variables */
2201 *user_handle = *r.out.user_handle;
2202 *access_granted = *r.out.access_granted;
2203 *rid = *r.out.rid;
2205 /* Return result */
2206 return r.out.result;
2209 NTSTATUS rpccli_samr_QueryDisplayInfo3(struct rpc_pipe_client *cli,
2210 TALLOC_CTX *mem_ctx,
2211 struct policy_handle *domain_handle /* [in] [ref] */,
2212 uint16_t level /* [in] */,
2213 uint32_t start_idx /* [in] */,
2214 uint32_t max_entries /* [in] */,
2215 uint32_t buf_size /* [in] */,
2216 uint32_t *total_size /* [out] [ref] */,
2217 uint32_t *returned_size /* [out] [ref] */,
2218 union samr_DispInfo *info /* [out] [ref,switch_is(level)] */)
2220 struct samr_QueryDisplayInfo3 r;
2221 NTSTATUS status;
2223 /* In parameters */
2224 r.in.domain_handle = domain_handle;
2225 r.in.level = level;
2226 r.in.start_idx = start_idx;
2227 r.in.max_entries = max_entries;
2228 r.in.buf_size = buf_size;
2230 if (DEBUGLEVEL >= 10) {
2231 NDR_PRINT_IN_DEBUG(samr_QueryDisplayInfo3, &r);
2234 status = cli->dispatch(cli,
2235 mem_ctx,
2236 &ndr_table_samr,
2237 NDR_SAMR_QUERYDISPLAYINFO3,
2238 &r);
2240 if (!NT_STATUS_IS_OK(status)) {
2241 return status;
2244 if (DEBUGLEVEL >= 10) {
2245 NDR_PRINT_OUT_DEBUG(samr_QueryDisplayInfo3, &r);
2248 if (NT_STATUS_IS_ERR(status)) {
2249 return status;
2252 /* Return variables */
2253 *total_size = *r.out.total_size;
2254 *returned_size = *r.out.returned_size;
2255 *info = *r.out.info;
2257 /* Return result */
2258 return r.out.result;
2261 NTSTATUS rpccli_samr_AddMultipleMembersToAlias(struct rpc_pipe_client *cli,
2262 TALLOC_CTX *mem_ctx,
2263 struct policy_handle *alias_handle /* [in] [ref] */,
2264 struct lsa_SidArray *sids /* [in] [ref] */)
2266 struct samr_AddMultipleMembersToAlias r;
2267 NTSTATUS status;
2269 /* In parameters */
2270 r.in.alias_handle = alias_handle;
2271 r.in.sids = sids;
2273 if (DEBUGLEVEL >= 10) {
2274 NDR_PRINT_IN_DEBUG(samr_AddMultipleMembersToAlias, &r);
2277 status = cli->dispatch(cli,
2278 mem_ctx,
2279 &ndr_table_samr,
2280 NDR_SAMR_ADDMULTIPLEMEMBERSTOALIAS,
2281 &r);
2283 if (!NT_STATUS_IS_OK(status)) {
2284 return status;
2287 if (DEBUGLEVEL >= 10) {
2288 NDR_PRINT_OUT_DEBUG(samr_AddMultipleMembersToAlias, &r);
2291 if (NT_STATUS_IS_ERR(status)) {
2292 return status;
2295 /* Return variables */
2297 /* Return result */
2298 return r.out.result;
2301 NTSTATUS rpccli_samr_RemoveMultipleMembersFromAlias(struct rpc_pipe_client *cli,
2302 TALLOC_CTX *mem_ctx,
2303 struct policy_handle *alias_handle /* [in] [ref] */,
2304 struct lsa_SidArray *sids /* [in] [ref] */)
2306 struct samr_RemoveMultipleMembersFromAlias r;
2307 NTSTATUS status;
2309 /* In parameters */
2310 r.in.alias_handle = alias_handle;
2311 r.in.sids = sids;
2313 if (DEBUGLEVEL >= 10) {
2314 NDR_PRINT_IN_DEBUG(samr_RemoveMultipleMembersFromAlias, &r);
2317 status = cli->dispatch(cli,
2318 mem_ctx,
2319 &ndr_table_samr,
2320 NDR_SAMR_REMOVEMULTIPLEMEMBERSFROMALIAS,
2321 &r);
2323 if (!NT_STATUS_IS_OK(status)) {
2324 return status;
2327 if (DEBUGLEVEL >= 10) {
2328 NDR_PRINT_OUT_DEBUG(samr_RemoveMultipleMembersFromAlias, &r);
2331 if (NT_STATUS_IS_ERR(status)) {
2332 return status;
2335 /* Return variables */
2337 /* Return result */
2338 return r.out.result;
2341 NTSTATUS rpccli_samr_OemChangePasswordUser2(struct rpc_pipe_client *cli,
2342 TALLOC_CTX *mem_ctx,
2343 struct lsa_AsciiString *server /* [in] [unique] */,
2344 struct lsa_AsciiString *account /* [in] [ref] */,
2345 struct samr_CryptPassword *password /* [in] [unique] */,
2346 struct samr_Password *hash /* [in] [unique] */)
2348 struct samr_OemChangePasswordUser2 r;
2349 NTSTATUS status;
2351 /* In parameters */
2352 r.in.server = server;
2353 r.in.account = account;
2354 r.in.password = password;
2355 r.in.hash = hash;
2357 if (DEBUGLEVEL >= 10) {
2358 NDR_PRINT_IN_DEBUG(samr_OemChangePasswordUser2, &r);
2361 status = cli->dispatch(cli,
2362 mem_ctx,
2363 &ndr_table_samr,
2364 NDR_SAMR_OEMCHANGEPASSWORDUSER2,
2365 &r);
2367 if (!NT_STATUS_IS_OK(status)) {
2368 return status;
2371 if (DEBUGLEVEL >= 10) {
2372 NDR_PRINT_OUT_DEBUG(samr_OemChangePasswordUser2, &r);
2375 if (NT_STATUS_IS_ERR(status)) {
2376 return status;
2379 /* Return variables */
2381 /* Return result */
2382 return r.out.result;
2385 NTSTATUS rpccli_samr_ChangePasswordUser2(struct rpc_pipe_client *cli,
2386 TALLOC_CTX *mem_ctx,
2387 struct lsa_String *server /* [in] [unique] */,
2388 struct lsa_String *account /* [in] [ref] */,
2389 struct samr_CryptPassword *nt_password /* [in] [unique] */,
2390 struct samr_Password *nt_verifier /* [in] [unique] */,
2391 uint8_t lm_change /* [in] */,
2392 struct samr_CryptPassword *lm_password /* [in] [unique] */,
2393 struct samr_Password *lm_verifier /* [in] [unique] */)
2395 struct samr_ChangePasswordUser2 r;
2396 NTSTATUS status;
2398 /* In parameters */
2399 r.in.server = server;
2400 r.in.account = account;
2401 r.in.nt_password = nt_password;
2402 r.in.nt_verifier = nt_verifier;
2403 r.in.lm_change = lm_change;
2404 r.in.lm_password = lm_password;
2405 r.in.lm_verifier = lm_verifier;
2407 if (DEBUGLEVEL >= 10) {
2408 NDR_PRINT_IN_DEBUG(samr_ChangePasswordUser2, &r);
2411 status = cli->dispatch(cli,
2412 mem_ctx,
2413 &ndr_table_samr,
2414 NDR_SAMR_CHANGEPASSWORDUSER2,
2415 &r);
2417 if (!NT_STATUS_IS_OK(status)) {
2418 return status;
2421 if (DEBUGLEVEL >= 10) {
2422 NDR_PRINT_OUT_DEBUG(samr_ChangePasswordUser2, &r);
2425 if (NT_STATUS_IS_ERR(status)) {
2426 return status;
2429 /* Return variables */
2431 /* Return result */
2432 return r.out.result;
2435 NTSTATUS rpccli_samr_GetDomPwInfo(struct rpc_pipe_client *cli,
2436 TALLOC_CTX *mem_ctx,
2437 struct lsa_String *domain_name /* [in] [unique] */,
2438 struct samr_PwInfo *info /* [out] [ref] */)
2440 struct samr_GetDomPwInfo r;
2441 NTSTATUS status;
2443 /* In parameters */
2444 r.in.domain_name = domain_name;
2446 if (DEBUGLEVEL >= 10) {
2447 NDR_PRINT_IN_DEBUG(samr_GetDomPwInfo, &r);
2450 status = cli->dispatch(cli,
2451 mem_ctx,
2452 &ndr_table_samr,
2453 NDR_SAMR_GETDOMPWINFO,
2454 &r);
2456 if (!NT_STATUS_IS_OK(status)) {
2457 return status;
2460 if (DEBUGLEVEL >= 10) {
2461 NDR_PRINT_OUT_DEBUG(samr_GetDomPwInfo, &r);
2464 if (NT_STATUS_IS_ERR(status)) {
2465 return status;
2468 /* Return variables */
2469 *info = *r.out.info;
2471 /* Return result */
2472 return r.out.result;
2475 NTSTATUS rpccli_samr_Connect2(struct rpc_pipe_client *cli,
2476 TALLOC_CTX *mem_ctx,
2477 const char *system_name /* [in] [unique,charset(UTF16)] */,
2478 uint32_t access_mask /* [in] */,
2479 struct policy_handle *connect_handle /* [out] [ref] */)
2481 struct samr_Connect2 r;
2482 NTSTATUS status;
2484 /* In parameters */
2485 r.in.system_name = system_name;
2486 r.in.access_mask = access_mask;
2488 if (DEBUGLEVEL >= 10) {
2489 NDR_PRINT_IN_DEBUG(samr_Connect2, &r);
2492 status = cli->dispatch(cli,
2493 mem_ctx,
2494 &ndr_table_samr,
2495 NDR_SAMR_CONNECT2,
2496 &r);
2498 if (!NT_STATUS_IS_OK(status)) {
2499 return status;
2502 if (DEBUGLEVEL >= 10) {
2503 NDR_PRINT_OUT_DEBUG(samr_Connect2, &r);
2506 if (NT_STATUS_IS_ERR(status)) {
2507 return status;
2510 /* Return variables */
2511 *connect_handle = *r.out.connect_handle;
2513 /* Return result */
2514 return r.out.result;
2517 NTSTATUS rpccli_samr_SetUserInfo2(struct rpc_pipe_client *cli,
2518 TALLOC_CTX *mem_ctx,
2519 struct policy_handle *user_handle /* [in] [ref] */,
2520 uint16_t level /* [in] */,
2521 union samr_UserInfo *info /* [in] [ref,switch_is(level)] */)
2523 struct samr_SetUserInfo2 r;
2524 NTSTATUS status;
2526 /* In parameters */
2527 r.in.user_handle = user_handle;
2528 r.in.level = level;
2529 r.in.info = info;
2531 if (DEBUGLEVEL >= 10) {
2532 NDR_PRINT_IN_DEBUG(samr_SetUserInfo2, &r);
2535 status = cli->dispatch(cli,
2536 mem_ctx,
2537 &ndr_table_samr,
2538 NDR_SAMR_SETUSERINFO2,
2539 &r);
2541 if (!NT_STATUS_IS_OK(status)) {
2542 return status;
2545 if (DEBUGLEVEL >= 10) {
2546 NDR_PRINT_OUT_DEBUG(samr_SetUserInfo2, &r);
2549 if (NT_STATUS_IS_ERR(status)) {
2550 return status;
2553 /* Return variables */
2555 /* Return result */
2556 return r.out.result;
2559 NTSTATUS rpccli_samr_SetBootKeyInformation(struct rpc_pipe_client *cli,
2560 TALLOC_CTX *mem_ctx,
2561 struct policy_handle *connect_handle /* [in] [ref] */,
2562 uint32_t unknown1 /* [in] */,
2563 uint32_t unknown2 /* [in] */,
2564 uint32_t unknown3 /* [in] */)
2566 struct samr_SetBootKeyInformation r;
2567 NTSTATUS status;
2569 /* In parameters */
2570 r.in.connect_handle = connect_handle;
2571 r.in.unknown1 = unknown1;
2572 r.in.unknown2 = unknown2;
2573 r.in.unknown3 = unknown3;
2575 if (DEBUGLEVEL >= 10) {
2576 NDR_PRINT_IN_DEBUG(samr_SetBootKeyInformation, &r);
2579 status = cli->dispatch(cli,
2580 mem_ctx,
2581 &ndr_table_samr,
2582 NDR_SAMR_SETBOOTKEYINFORMATION,
2583 &r);
2585 if (!NT_STATUS_IS_OK(status)) {
2586 return status;
2589 if (DEBUGLEVEL >= 10) {
2590 NDR_PRINT_OUT_DEBUG(samr_SetBootKeyInformation, &r);
2593 if (NT_STATUS_IS_ERR(status)) {
2594 return status;
2597 /* Return variables */
2599 /* Return result */
2600 return r.out.result;
2603 NTSTATUS rpccli_samr_GetBootKeyInformation(struct rpc_pipe_client *cli,
2604 TALLOC_CTX *mem_ctx,
2605 struct policy_handle *domain_handle /* [in] [ref] */,
2606 uint32_t *unknown /* [out] [ref] */)
2608 struct samr_GetBootKeyInformation r;
2609 NTSTATUS status;
2611 /* In parameters */
2612 r.in.domain_handle = domain_handle;
2614 if (DEBUGLEVEL >= 10) {
2615 NDR_PRINT_IN_DEBUG(samr_GetBootKeyInformation, &r);
2618 status = cli->dispatch(cli,
2619 mem_ctx,
2620 &ndr_table_samr,
2621 NDR_SAMR_GETBOOTKEYINFORMATION,
2622 &r);
2624 if (!NT_STATUS_IS_OK(status)) {
2625 return status;
2628 if (DEBUGLEVEL >= 10) {
2629 NDR_PRINT_OUT_DEBUG(samr_GetBootKeyInformation, &r);
2632 if (NT_STATUS_IS_ERR(status)) {
2633 return status;
2636 /* Return variables */
2637 *unknown = *r.out.unknown;
2639 /* Return result */
2640 return r.out.result;
2643 NTSTATUS rpccli_samr_Connect3(struct rpc_pipe_client *cli,
2644 TALLOC_CTX *mem_ctx,
2645 const char *system_name /* [in] [unique,charset(UTF16)] */,
2646 uint32_t unknown /* [in] */,
2647 uint32_t access_mask /* [in] */,
2648 struct policy_handle *connect_handle /* [out] [ref] */)
2650 struct samr_Connect3 r;
2651 NTSTATUS status;
2653 /* In parameters */
2654 r.in.system_name = system_name;
2655 r.in.unknown = unknown;
2656 r.in.access_mask = access_mask;
2658 if (DEBUGLEVEL >= 10) {
2659 NDR_PRINT_IN_DEBUG(samr_Connect3, &r);
2662 status = cli->dispatch(cli,
2663 mem_ctx,
2664 &ndr_table_samr,
2665 NDR_SAMR_CONNECT3,
2666 &r);
2668 if (!NT_STATUS_IS_OK(status)) {
2669 return status;
2672 if (DEBUGLEVEL >= 10) {
2673 NDR_PRINT_OUT_DEBUG(samr_Connect3, &r);
2676 if (NT_STATUS_IS_ERR(status)) {
2677 return status;
2680 /* Return variables */
2681 *connect_handle = *r.out.connect_handle;
2683 /* Return result */
2684 return r.out.result;
2687 NTSTATUS rpccli_samr_Connect4(struct rpc_pipe_client *cli,
2688 TALLOC_CTX *mem_ctx,
2689 const char *system_name /* [in] [unique,charset(UTF16)] */,
2690 enum samr_ConnectVersion client_version /* [in] */,
2691 uint32_t access_mask /* [in] */,
2692 struct policy_handle *connect_handle /* [out] [ref] */)
2694 struct samr_Connect4 r;
2695 NTSTATUS status;
2697 /* In parameters */
2698 r.in.system_name = system_name;
2699 r.in.client_version = client_version;
2700 r.in.access_mask = access_mask;
2702 if (DEBUGLEVEL >= 10) {
2703 NDR_PRINT_IN_DEBUG(samr_Connect4, &r);
2706 status = cli->dispatch(cli,
2707 mem_ctx,
2708 &ndr_table_samr,
2709 NDR_SAMR_CONNECT4,
2710 &r);
2712 if (!NT_STATUS_IS_OK(status)) {
2713 return status;
2716 if (DEBUGLEVEL >= 10) {
2717 NDR_PRINT_OUT_DEBUG(samr_Connect4, &r);
2720 if (NT_STATUS_IS_ERR(status)) {
2721 return status;
2724 /* Return variables */
2725 *connect_handle = *r.out.connect_handle;
2727 /* Return result */
2728 return r.out.result;
2731 NTSTATUS rpccli_samr_ChangePasswordUser3(struct rpc_pipe_client *cli,
2732 TALLOC_CTX *mem_ctx,
2733 struct lsa_String *server /* [in] [unique] */,
2734 struct lsa_String *account /* [in] [ref] */,
2735 struct samr_CryptPassword *nt_password /* [in] [unique] */,
2736 struct samr_Password *nt_verifier /* [in] [unique] */,
2737 uint8_t lm_change /* [in] */,
2738 struct samr_CryptPassword *lm_password /* [in] [unique] */,
2739 struct samr_Password *lm_verifier /* [in] [unique] */,
2740 struct samr_CryptPassword *password3 /* [in] [unique] */,
2741 struct samr_DomInfo1 **dominfo /* [out] [ref] */,
2742 struct samr_ChangeReject **reject /* [out] [ref] */)
2744 struct samr_ChangePasswordUser3 r;
2745 NTSTATUS status;
2747 /* In parameters */
2748 r.in.server = server;
2749 r.in.account = account;
2750 r.in.nt_password = nt_password;
2751 r.in.nt_verifier = nt_verifier;
2752 r.in.lm_change = lm_change;
2753 r.in.lm_password = lm_password;
2754 r.in.lm_verifier = lm_verifier;
2755 r.in.password3 = password3;
2757 if (DEBUGLEVEL >= 10) {
2758 NDR_PRINT_IN_DEBUG(samr_ChangePasswordUser3, &r);
2761 status = cli->dispatch(cli,
2762 mem_ctx,
2763 &ndr_table_samr,
2764 NDR_SAMR_CHANGEPASSWORDUSER3,
2765 &r);
2767 if (!NT_STATUS_IS_OK(status)) {
2768 return status;
2771 if (DEBUGLEVEL >= 10) {
2772 NDR_PRINT_OUT_DEBUG(samr_ChangePasswordUser3, &r);
2775 if (NT_STATUS_IS_ERR(status)) {
2776 return status;
2779 /* Return variables */
2780 *dominfo = *r.out.dominfo;
2781 *reject = *r.out.reject;
2783 /* Return result */
2784 return r.out.result;
2787 NTSTATUS rpccli_samr_Connect5(struct rpc_pipe_client *cli,
2788 TALLOC_CTX *mem_ctx,
2789 const char *system_name /* [in] [unique,charset(UTF16)] */,
2790 uint32_t access_mask /* [in] */,
2791 uint32_t level_in /* [in] */,
2792 union samr_ConnectInfo *info_in /* [in] [ref,switch_is(level_in)] */,
2793 uint32_t *level_out /* [out] [ref] */,
2794 union samr_ConnectInfo *info_out /* [out] [ref,switch_is(*level_out)] */,
2795 struct policy_handle *connect_handle /* [out] [ref] */)
2797 struct samr_Connect5 r;
2798 NTSTATUS status;
2800 /* In parameters */
2801 r.in.system_name = system_name;
2802 r.in.access_mask = access_mask;
2803 r.in.level_in = level_in;
2804 r.in.info_in = info_in;
2806 if (DEBUGLEVEL >= 10) {
2807 NDR_PRINT_IN_DEBUG(samr_Connect5, &r);
2810 status = cli->dispatch(cli,
2811 mem_ctx,
2812 &ndr_table_samr,
2813 NDR_SAMR_CONNECT5,
2814 &r);
2816 if (!NT_STATUS_IS_OK(status)) {
2817 return status;
2820 if (DEBUGLEVEL >= 10) {
2821 NDR_PRINT_OUT_DEBUG(samr_Connect5, &r);
2824 if (NT_STATUS_IS_ERR(status)) {
2825 return status;
2828 /* Return variables */
2829 *level_out = *r.out.level_out;
2830 *info_out = *r.out.info_out;
2831 *connect_handle = *r.out.connect_handle;
2833 /* Return result */
2834 return r.out.result;
2837 NTSTATUS rpccli_samr_RidToSid(struct rpc_pipe_client *cli,
2838 TALLOC_CTX *mem_ctx,
2839 struct policy_handle *domain_handle /* [in] [ref] */,
2840 uint32_t rid /* [in] */,
2841 struct dom_sid2 **sid /* [out] [ref] */)
2843 struct samr_RidToSid r;
2844 NTSTATUS status;
2846 /* In parameters */
2847 r.in.domain_handle = domain_handle;
2848 r.in.rid = rid;
2850 if (DEBUGLEVEL >= 10) {
2851 NDR_PRINT_IN_DEBUG(samr_RidToSid, &r);
2854 status = cli->dispatch(cli,
2855 mem_ctx,
2856 &ndr_table_samr,
2857 NDR_SAMR_RIDTOSID,
2858 &r);
2860 if (!NT_STATUS_IS_OK(status)) {
2861 return status;
2864 if (DEBUGLEVEL >= 10) {
2865 NDR_PRINT_OUT_DEBUG(samr_RidToSid, &r);
2868 if (NT_STATUS_IS_ERR(status)) {
2869 return status;
2872 /* Return variables */
2873 *sid = *r.out.sid;
2875 /* Return result */
2876 return r.out.result;
2879 NTSTATUS rpccli_samr_SetDsrmPassword(struct rpc_pipe_client *cli,
2880 TALLOC_CTX *mem_ctx,
2881 struct lsa_String *name /* [in] [unique] */,
2882 uint32_t unknown /* [in] */,
2883 struct samr_Password *hash /* [in] [unique] */)
2885 struct samr_SetDsrmPassword r;
2886 NTSTATUS status;
2888 /* In parameters */
2889 r.in.name = name;
2890 r.in.unknown = unknown;
2891 r.in.hash = hash;
2893 if (DEBUGLEVEL >= 10) {
2894 NDR_PRINT_IN_DEBUG(samr_SetDsrmPassword, &r);
2897 status = cli->dispatch(cli,
2898 mem_ctx,
2899 &ndr_table_samr,
2900 NDR_SAMR_SETDSRMPASSWORD,
2901 &r);
2903 if (!NT_STATUS_IS_OK(status)) {
2904 return status;
2907 if (DEBUGLEVEL >= 10) {
2908 NDR_PRINT_OUT_DEBUG(samr_SetDsrmPassword, &r);
2911 if (NT_STATUS_IS_ERR(status)) {
2912 return status;
2915 /* Return variables */
2917 /* Return result */
2918 return r.out.result;
2921 NTSTATUS rpccli_samr_ValidatePassword(struct rpc_pipe_client *cli,
2922 TALLOC_CTX *mem_ctx,
2923 enum samr_ValidatePasswordLevel level /* [in] */,
2924 union samr_ValidatePasswordReq *req /* [in] [ref,switch_is(level)] */,
2925 union samr_ValidatePasswordRep **rep /* [out] [ref,switch_is(level)] */)
2927 struct samr_ValidatePassword r;
2928 NTSTATUS status;
2930 /* In parameters */
2931 r.in.level = level;
2932 r.in.req = req;
2934 if (DEBUGLEVEL >= 10) {
2935 NDR_PRINT_IN_DEBUG(samr_ValidatePassword, &r);
2938 status = cli->dispatch(cli,
2939 mem_ctx,
2940 &ndr_table_samr,
2941 NDR_SAMR_VALIDATEPASSWORD,
2942 &r);
2944 if (!NT_STATUS_IS_OK(status)) {
2945 return status;
2948 if (DEBUGLEVEL >= 10) {
2949 NDR_PRINT_OUT_DEBUG(samr_ValidatePassword, &r);
2952 if (NT_STATUS_IS_ERR(status)) {
2953 return status;
2956 /* Return variables */
2957 *rep = *r.out.rep;
2959 /* Return result */
2960 return r.out.result;