2 * Unix SMB/CIFS implementation.
3 * server auto-generated by pidl. DO NOT MODIFY!
7 #include "../librpc/gen_ndr/srv_dssetup.h"
9 static bool api_dssetup_DsRoleGetPrimaryDomainInformation(pipes_struct
*p
)
11 const struct ndr_interface_call
*call
;
12 struct ndr_pull
*pull
;
13 struct ndr_push
*push
;
14 enum ndr_err_code ndr_err
;
16 struct dssetup_DsRoleGetPrimaryDomainInformation
*r
;
18 call
= &ndr_table_dssetup
.calls
[NDR_DSSETUP_DSROLEGETPRIMARYDOMAININFORMATION
];
20 r
= talloc(talloc_tos(), struct dssetup_DsRoleGetPrimaryDomainInformation
);
25 if (!prs_data_blob(&p
->in_data
.data
, &blob
, r
)) {
30 pull
= ndr_pull_init_blob(&blob
, r
, NULL
);
36 pull
->flags
|= LIBNDR_FLAG_REF_ALLOC
;
37 ndr_err
= call
->ndr_pull(pull
, NDR_IN
, r
);
38 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err
)) {
43 if (DEBUGLEVEL
>= 10) {
44 NDR_PRINT_IN_DEBUG(dssetup_DsRoleGetPrimaryDomainInformation
, r
);
48 r
->out
.info
= talloc_zero(r
, union dssetup_DsRoleInfo
);
49 if (r
->out
.info
== NULL
) {
54 r
->out
.result
= _dssetup_DsRoleGetPrimaryDomainInformation(p
, r
);
56 if (p
->rng_fault_state
) {
58 /* Return true here, srv_pipe_hnd.c will take care */
62 if (DEBUGLEVEL
>= 10) {
63 NDR_PRINT_OUT_DEBUG(dssetup_DsRoleGetPrimaryDomainInformation
, r
);
66 push
= ndr_push_init_ctx(r
, NULL
);
72 ndr_err
= call
->ndr_push(push
, NDR_OUT
, r
);
73 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err
)) {
78 blob
= ndr_push_blob(push
);
79 if (!prs_copy_data_in(&p
->out_data
.rdata
, (const char *)blob
.data
, (uint32_t)blob
.length
)) {
89 static bool api_dssetup_DsRoleDnsNameToFlatName(pipes_struct
*p
)
91 const struct ndr_interface_call
*call
;
92 struct ndr_pull
*pull
;
93 struct ndr_push
*push
;
94 enum ndr_err_code ndr_err
;
96 struct dssetup_DsRoleDnsNameToFlatName
*r
;
98 call
= &ndr_table_dssetup
.calls
[NDR_DSSETUP_DSROLEDNSNAMETOFLATNAME
];
100 r
= talloc(talloc_tos(), struct dssetup_DsRoleDnsNameToFlatName
);
105 if (!prs_data_blob(&p
->in_data
.data
, &blob
, r
)) {
110 pull
= ndr_pull_init_blob(&blob
, r
, NULL
);
116 pull
->flags
|= LIBNDR_FLAG_REF_ALLOC
;
117 ndr_err
= call
->ndr_pull(pull
, NDR_IN
, r
);
118 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err
)) {
123 if (DEBUGLEVEL
>= 10) {
124 NDR_PRINT_IN_DEBUG(dssetup_DsRoleDnsNameToFlatName
, r
);
127 r
->out
.result
= _dssetup_DsRoleDnsNameToFlatName(p
, r
);
129 if (p
->rng_fault_state
) {
131 /* Return true here, srv_pipe_hnd.c will take care */
135 if (DEBUGLEVEL
>= 10) {
136 NDR_PRINT_OUT_DEBUG(dssetup_DsRoleDnsNameToFlatName
, r
);
139 push
= ndr_push_init_ctx(r
, NULL
);
145 ndr_err
= call
->ndr_push(push
, NDR_OUT
, r
);
146 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err
)) {
151 blob
= ndr_push_blob(push
);
152 if (!prs_copy_data_in(&p
->out_data
.rdata
, (const char *)blob
.data
, (uint32_t)blob
.length
)) {
162 static bool api_dssetup_DsRoleDcAsDc(pipes_struct
*p
)
164 const struct ndr_interface_call
*call
;
165 struct ndr_pull
*pull
;
166 struct ndr_push
*push
;
167 enum ndr_err_code ndr_err
;
169 struct dssetup_DsRoleDcAsDc
*r
;
171 call
= &ndr_table_dssetup
.calls
[NDR_DSSETUP_DSROLEDCASDC
];
173 r
= talloc(talloc_tos(), struct dssetup_DsRoleDcAsDc
);
178 if (!prs_data_blob(&p
->in_data
.data
, &blob
, r
)) {
183 pull
= ndr_pull_init_blob(&blob
, r
, NULL
);
189 pull
->flags
|= LIBNDR_FLAG_REF_ALLOC
;
190 ndr_err
= call
->ndr_pull(pull
, NDR_IN
, r
);
191 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err
)) {
196 if (DEBUGLEVEL
>= 10) {
197 NDR_PRINT_IN_DEBUG(dssetup_DsRoleDcAsDc
, r
);
200 r
->out
.result
= _dssetup_DsRoleDcAsDc(p
, r
);
202 if (p
->rng_fault_state
) {
204 /* Return true here, srv_pipe_hnd.c will take care */
208 if (DEBUGLEVEL
>= 10) {
209 NDR_PRINT_OUT_DEBUG(dssetup_DsRoleDcAsDc
, r
);
212 push
= ndr_push_init_ctx(r
, NULL
);
218 ndr_err
= call
->ndr_push(push
, NDR_OUT
, r
);
219 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err
)) {
224 blob
= ndr_push_blob(push
);
225 if (!prs_copy_data_in(&p
->out_data
.rdata
, (const char *)blob
.data
, (uint32_t)blob
.length
)) {
235 static bool api_dssetup_DsRoleDcAsReplica(pipes_struct
*p
)
237 const struct ndr_interface_call
*call
;
238 struct ndr_pull
*pull
;
239 struct ndr_push
*push
;
240 enum ndr_err_code ndr_err
;
242 struct dssetup_DsRoleDcAsReplica
*r
;
244 call
= &ndr_table_dssetup
.calls
[NDR_DSSETUP_DSROLEDCASREPLICA
];
246 r
= talloc(talloc_tos(), struct dssetup_DsRoleDcAsReplica
);
251 if (!prs_data_blob(&p
->in_data
.data
, &blob
, r
)) {
256 pull
= ndr_pull_init_blob(&blob
, r
, NULL
);
262 pull
->flags
|= LIBNDR_FLAG_REF_ALLOC
;
263 ndr_err
= call
->ndr_pull(pull
, NDR_IN
, r
);
264 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err
)) {
269 if (DEBUGLEVEL
>= 10) {
270 NDR_PRINT_IN_DEBUG(dssetup_DsRoleDcAsReplica
, r
);
273 r
->out
.result
= _dssetup_DsRoleDcAsReplica(p
, r
);
275 if (p
->rng_fault_state
) {
277 /* Return true here, srv_pipe_hnd.c will take care */
281 if (DEBUGLEVEL
>= 10) {
282 NDR_PRINT_OUT_DEBUG(dssetup_DsRoleDcAsReplica
, r
);
285 push
= ndr_push_init_ctx(r
, NULL
);
291 ndr_err
= call
->ndr_push(push
, NDR_OUT
, r
);
292 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err
)) {
297 blob
= ndr_push_blob(push
);
298 if (!prs_copy_data_in(&p
->out_data
.rdata
, (const char *)blob
.data
, (uint32_t)blob
.length
)) {
308 static bool api_dssetup_DsRoleDemoteDc(pipes_struct
*p
)
310 const struct ndr_interface_call
*call
;
311 struct ndr_pull
*pull
;
312 struct ndr_push
*push
;
313 enum ndr_err_code ndr_err
;
315 struct dssetup_DsRoleDemoteDc
*r
;
317 call
= &ndr_table_dssetup
.calls
[NDR_DSSETUP_DSROLEDEMOTEDC
];
319 r
= talloc(talloc_tos(), struct dssetup_DsRoleDemoteDc
);
324 if (!prs_data_blob(&p
->in_data
.data
, &blob
, r
)) {
329 pull
= ndr_pull_init_blob(&blob
, r
, NULL
);
335 pull
->flags
|= LIBNDR_FLAG_REF_ALLOC
;
336 ndr_err
= call
->ndr_pull(pull
, NDR_IN
, r
);
337 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err
)) {
342 if (DEBUGLEVEL
>= 10) {
343 NDR_PRINT_IN_DEBUG(dssetup_DsRoleDemoteDc
, r
);
346 r
->out
.result
= _dssetup_DsRoleDemoteDc(p
, r
);
348 if (p
->rng_fault_state
) {
350 /* Return true here, srv_pipe_hnd.c will take care */
354 if (DEBUGLEVEL
>= 10) {
355 NDR_PRINT_OUT_DEBUG(dssetup_DsRoleDemoteDc
, r
);
358 push
= ndr_push_init_ctx(r
, NULL
);
364 ndr_err
= call
->ndr_push(push
, NDR_OUT
, r
);
365 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err
)) {
370 blob
= ndr_push_blob(push
);
371 if (!prs_copy_data_in(&p
->out_data
.rdata
, (const char *)blob
.data
, (uint32_t)blob
.length
)) {
381 static bool api_dssetup_DsRoleGetDcOperationProgress(pipes_struct
*p
)
383 const struct ndr_interface_call
*call
;
384 struct ndr_pull
*pull
;
385 struct ndr_push
*push
;
386 enum ndr_err_code ndr_err
;
388 struct dssetup_DsRoleGetDcOperationProgress
*r
;
390 call
= &ndr_table_dssetup
.calls
[NDR_DSSETUP_DSROLEGETDCOPERATIONPROGRESS
];
392 r
= talloc(talloc_tos(), struct dssetup_DsRoleGetDcOperationProgress
);
397 if (!prs_data_blob(&p
->in_data
.data
, &blob
, r
)) {
402 pull
= ndr_pull_init_blob(&blob
, r
, NULL
);
408 pull
->flags
|= LIBNDR_FLAG_REF_ALLOC
;
409 ndr_err
= call
->ndr_pull(pull
, NDR_IN
, r
);
410 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err
)) {
415 if (DEBUGLEVEL
>= 10) {
416 NDR_PRINT_IN_DEBUG(dssetup_DsRoleGetDcOperationProgress
, r
);
419 r
->out
.result
= _dssetup_DsRoleGetDcOperationProgress(p
, r
);
421 if (p
->rng_fault_state
) {
423 /* Return true here, srv_pipe_hnd.c will take care */
427 if (DEBUGLEVEL
>= 10) {
428 NDR_PRINT_OUT_DEBUG(dssetup_DsRoleGetDcOperationProgress
, r
);
431 push
= ndr_push_init_ctx(r
, NULL
);
437 ndr_err
= call
->ndr_push(push
, NDR_OUT
, r
);
438 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err
)) {
443 blob
= ndr_push_blob(push
);
444 if (!prs_copy_data_in(&p
->out_data
.rdata
, (const char *)blob
.data
, (uint32_t)blob
.length
)) {
454 static bool api_dssetup_DsRoleGetDcOperationResults(pipes_struct
*p
)
456 const struct ndr_interface_call
*call
;
457 struct ndr_pull
*pull
;
458 struct ndr_push
*push
;
459 enum ndr_err_code ndr_err
;
461 struct dssetup_DsRoleGetDcOperationResults
*r
;
463 call
= &ndr_table_dssetup
.calls
[NDR_DSSETUP_DSROLEGETDCOPERATIONRESULTS
];
465 r
= talloc(talloc_tos(), struct dssetup_DsRoleGetDcOperationResults
);
470 if (!prs_data_blob(&p
->in_data
.data
, &blob
, r
)) {
475 pull
= ndr_pull_init_blob(&blob
, r
, NULL
);
481 pull
->flags
|= LIBNDR_FLAG_REF_ALLOC
;
482 ndr_err
= call
->ndr_pull(pull
, NDR_IN
, r
);
483 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err
)) {
488 if (DEBUGLEVEL
>= 10) {
489 NDR_PRINT_IN_DEBUG(dssetup_DsRoleGetDcOperationResults
, r
);
492 r
->out
.result
= _dssetup_DsRoleGetDcOperationResults(p
, r
);
494 if (p
->rng_fault_state
) {
496 /* Return true here, srv_pipe_hnd.c will take care */
500 if (DEBUGLEVEL
>= 10) {
501 NDR_PRINT_OUT_DEBUG(dssetup_DsRoleGetDcOperationResults
, r
);
504 push
= ndr_push_init_ctx(r
, NULL
);
510 ndr_err
= call
->ndr_push(push
, NDR_OUT
, r
);
511 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err
)) {
516 blob
= ndr_push_blob(push
);
517 if (!prs_copy_data_in(&p
->out_data
.rdata
, (const char *)blob
.data
, (uint32_t)blob
.length
)) {
527 static bool api_dssetup_DsRoleCancel(pipes_struct
*p
)
529 const struct ndr_interface_call
*call
;
530 struct ndr_pull
*pull
;
531 struct ndr_push
*push
;
532 enum ndr_err_code ndr_err
;
534 struct dssetup_DsRoleCancel
*r
;
536 call
= &ndr_table_dssetup
.calls
[NDR_DSSETUP_DSROLECANCEL
];
538 r
= talloc(talloc_tos(), struct dssetup_DsRoleCancel
);
543 if (!prs_data_blob(&p
->in_data
.data
, &blob
, r
)) {
548 pull
= ndr_pull_init_blob(&blob
, r
, NULL
);
554 pull
->flags
|= LIBNDR_FLAG_REF_ALLOC
;
555 ndr_err
= call
->ndr_pull(pull
, NDR_IN
, r
);
556 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err
)) {
561 if (DEBUGLEVEL
>= 10) {
562 NDR_PRINT_IN_DEBUG(dssetup_DsRoleCancel
, r
);
565 r
->out
.result
= _dssetup_DsRoleCancel(p
, r
);
567 if (p
->rng_fault_state
) {
569 /* Return true here, srv_pipe_hnd.c will take care */
573 if (DEBUGLEVEL
>= 10) {
574 NDR_PRINT_OUT_DEBUG(dssetup_DsRoleCancel
, r
);
577 push
= ndr_push_init_ctx(r
, NULL
);
583 ndr_err
= call
->ndr_push(push
, NDR_OUT
, r
);
584 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err
)) {
589 blob
= ndr_push_blob(push
);
590 if (!prs_copy_data_in(&p
->out_data
.rdata
, (const char *)blob
.data
, (uint32_t)blob
.length
)) {
600 static bool api_dssetup_DsRoleServerSaveStateForUpgrade(pipes_struct
*p
)
602 const struct ndr_interface_call
*call
;
603 struct ndr_pull
*pull
;
604 struct ndr_push
*push
;
605 enum ndr_err_code ndr_err
;
607 struct dssetup_DsRoleServerSaveStateForUpgrade
*r
;
609 call
= &ndr_table_dssetup
.calls
[NDR_DSSETUP_DSROLESERVERSAVESTATEFORUPGRADE
];
611 r
= talloc(talloc_tos(), struct dssetup_DsRoleServerSaveStateForUpgrade
);
616 if (!prs_data_blob(&p
->in_data
.data
, &blob
, r
)) {
621 pull
= ndr_pull_init_blob(&blob
, r
, NULL
);
627 pull
->flags
|= LIBNDR_FLAG_REF_ALLOC
;
628 ndr_err
= call
->ndr_pull(pull
, NDR_IN
, r
);
629 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err
)) {
634 if (DEBUGLEVEL
>= 10) {
635 NDR_PRINT_IN_DEBUG(dssetup_DsRoleServerSaveStateForUpgrade
, r
);
638 r
->out
.result
= _dssetup_DsRoleServerSaveStateForUpgrade(p
, r
);
640 if (p
->rng_fault_state
) {
642 /* Return true here, srv_pipe_hnd.c will take care */
646 if (DEBUGLEVEL
>= 10) {
647 NDR_PRINT_OUT_DEBUG(dssetup_DsRoleServerSaveStateForUpgrade
, r
);
650 push
= ndr_push_init_ctx(r
, NULL
);
656 ndr_err
= call
->ndr_push(push
, NDR_OUT
, r
);
657 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err
)) {
662 blob
= ndr_push_blob(push
);
663 if (!prs_copy_data_in(&p
->out_data
.rdata
, (const char *)blob
.data
, (uint32_t)blob
.length
)) {
673 static bool api_dssetup_DsRoleUpgradeDownlevelServer(pipes_struct
*p
)
675 const struct ndr_interface_call
*call
;
676 struct ndr_pull
*pull
;
677 struct ndr_push
*push
;
678 enum ndr_err_code ndr_err
;
680 struct dssetup_DsRoleUpgradeDownlevelServer
*r
;
682 call
= &ndr_table_dssetup
.calls
[NDR_DSSETUP_DSROLEUPGRADEDOWNLEVELSERVER
];
684 r
= talloc(talloc_tos(), struct dssetup_DsRoleUpgradeDownlevelServer
);
689 if (!prs_data_blob(&p
->in_data
.data
, &blob
, r
)) {
694 pull
= ndr_pull_init_blob(&blob
, r
, NULL
);
700 pull
->flags
|= LIBNDR_FLAG_REF_ALLOC
;
701 ndr_err
= call
->ndr_pull(pull
, NDR_IN
, r
);
702 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err
)) {
707 if (DEBUGLEVEL
>= 10) {
708 NDR_PRINT_IN_DEBUG(dssetup_DsRoleUpgradeDownlevelServer
, r
);
711 r
->out
.result
= _dssetup_DsRoleUpgradeDownlevelServer(p
, r
);
713 if (p
->rng_fault_state
) {
715 /* Return true here, srv_pipe_hnd.c will take care */
719 if (DEBUGLEVEL
>= 10) {
720 NDR_PRINT_OUT_DEBUG(dssetup_DsRoleUpgradeDownlevelServer
, r
);
723 push
= ndr_push_init_ctx(r
, NULL
);
729 ndr_err
= call
->ndr_push(push
, NDR_OUT
, r
);
730 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err
)) {
735 blob
= ndr_push_blob(push
);
736 if (!prs_copy_data_in(&p
->out_data
.rdata
, (const char *)blob
.data
, (uint32_t)blob
.length
)) {
746 static bool api_dssetup_DsRoleAbortDownlevelServerUpgrade(pipes_struct
*p
)
748 const struct ndr_interface_call
*call
;
749 struct ndr_pull
*pull
;
750 struct ndr_push
*push
;
751 enum ndr_err_code ndr_err
;
753 struct dssetup_DsRoleAbortDownlevelServerUpgrade
*r
;
755 call
= &ndr_table_dssetup
.calls
[NDR_DSSETUP_DSROLEABORTDOWNLEVELSERVERUPGRADE
];
757 r
= talloc(talloc_tos(), struct dssetup_DsRoleAbortDownlevelServerUpgrade
);
762 if (!prs_data_blob(&p
->in_data
.data
, &blob
, r
)) {
767 pull
= ndr_pull_init_blob(&blob
, r
, NULL
);
773 pull
->flags
|= LIBNDR_FLAG_REF_ALLOC
;
774 ndr_err
= call
->ndr_pull(pull
, NDR_IN
, r
);
775 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err
)) {
780 if (DEBUGLEVEL
>= 10) {
781 NDR_PRINT_IN_DEBUG(dssetup_DsRoleAbortDownlevelServerUpgrade
, r
);
784 r
->out
.result
= _dssetup_DsRoleAbortDownlevelServerUpgrade(p
, r
);
786 if (p
->rng_fault_state
) {
788 /* Return true here, srv_pipe_hnd.c will take care */
792 if (DEBUGLEVEL
>= 10) {
793 NDR_PRINT_OUT_DEBUG(dssetup_DsRoleAbortDownlevelServerUpgrade
, r
);
796 push
= ndr_push_init_ctx(r
, NULL
);
802 ndr_err
= call
->ndr_push(push
, NDR_OUT
, r
);
803 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err
)) {
808 blob
= ndr_push_blob(push
);
809 if (!prs_copy_data_in(&p
->out_data
.rdata
, (const char *)blob
.data
, (uint32_t)blob
.length
)) {
821 static struct api_struct api_dssetup_cmds
[] =
823 {"DSSETUP_DSROLEGETPRIMARYDOMAININFORMATION", NDR_DSSETUP_DSROLEGETPRIMARYDOMAININFORMATION
, api_dssetup_DsRoleGetPrimaryDomainInformation
},
824 {"DSSETUP_DSROLEDNSNAMETOFLATNAME", NDR_DSSETUP_DSROLEDNSNAMETOFLATNAME
, api_dssetup_DsRoleDnsNameToFlatName
},
825 {"DSSETUP_DSROLEDCASDC", NDR_DSSETUP_DSROLEDCASDC
, api_dssetup_DsRoleDcAsDc
},
826 {"DSSETUP_DSROLEDCASREPLICA", NDR_DSSETUP_DSROLEDCASREPLICA
, api_dssetup_DsRoleDcAsReplica
},
827 {"DSSETUP_DSROLEDEMOTEDC", NDR_DSSETUP_DSROLEDEMOTEDC
, api_dssetup_DsRoleDemoteDc
},
828 {"DSSETUP_DSROLEGETDCOPERATIONPROGRESS", NDR_DSSETUP_DSROLEGETDCOPERATIONPROGRESS
, api_dssetup_DsRoleGetDcOperationProgress
},
829 {"DSSETUP_DSROLEGETDCOPERATIONRESULTS", NDR_DSSETUP_DSROLEGETDCOPERATIONRESULTS
, api_dssetup_DsRoleGetDcOperationResults
},
830 {"DSSETUP_DSROLECANCEL", NDR_DSSETUP_DSROLECANCEL
, api_dssetup_DsRoleCancel
},
831 {"DSSETUP_DSROLESERVERSAVESTATEFORUPGRADE", NDR_DSSETUP_DSROLESERVERSAVESTATEFORUPGRADE
, api_dssetup_DsRoleServerSaveStateForUpgrade
},
832 {"DSSETUP_DSROLEUPGRADEDOWNLEVELSERVER", NDR_DSSETUP_DSROLEUPGRADEDOWNLEVELSERVER
, api_dssetup_DsRoleUpgradeDownlevelServer
},
833 {"DSSETUP_DSROLEABORTDOWNLEVELSERVERUPGRADE", NDR_DSSETUP_DSROLEABORTDOWNLEVELSERVERUPGRADE
, api_dssetup_DsRoleAbortDownlevelServerUpgrade
},
836 void dssetup_get_pipe_fns(struct api_struct
**fns
, int *n_fns
)
838 *fns
= api_dssetup_cmds
;
839 *n_fns
= sizeof(api_dssetup_cmds
) / sizeof(struct api_struct
);
842 NTSTATUS
rpc_dssetup_dispatch(struct rpc_pipe_client
*cli
, TALLOC_CTX
*mem_ctx
, const struct ndr_interface_table
*table
, uint32_t opnum
, void *_r
)
844 if (cli
->pipes_struct
== NULL
) {
845 return NT_STATUS_INVALID_PARAMETER
;
850 case NDR_DSSETUP_DSROLEGETPRIMARYDOMAININFORMATION
: {
851 struct dssetup_DsRoleGetPrimaryDomainInformation
*r
= _r
;
853 r
->out
.info
= talloc_zero(mem_ctx
, union dssetup_DsRoleInfo
);
854 if (r
->out
.info
== NULL
) {
855 return NT_STATUS_NO_MEMORY
;
858 r
->out
.result
= _dssetup_DsRoleGetPrimaryDomainInformation(cli
->pipes_struct
, r
);
862 case NDR_DSSETUP_DSROLEDNSNAMETOFLATNAME
: {
863 struct dssetup_DsRoleDnsNameToFlatName
*r
= _r
;
864 r
->out
.result
= _dssetup_DsRoleDnsNameToFlatName(cli
->pipes_struct
, r
);
868 case NDR_DSSETUP_DSROLEDCASDC
: {
869 struct dssetup_DsRoleDcAsDc
*r
= _r
;
870 r
->out
.result
= _dssetup_DsRoleDcAsDc(cli
->pipes_struct
, r
);
874 case NDR_DSSETUP_DSROLEDCASREPLICA
: {
875 struct dssetup_DsRoleDcAsReplica
*r
= _r
;
876 r
->out
.result
= _dssetup_DsRoleDcAsReplica(cli
->pipes_struct
, r
);
880 case NDR_DSSETUP_DSROLEDEMOTEDC
: {
881 struct dssetup_DsRoleDemoteDc
*r
= _r
;
882 r
->out
.result
= _dssetup_DsRoleDemoteDc(cli
->pipes_struct
, r
);
886 case NDR_DSSETUP_DSROLEGETDCOPERATIONPROGRESS
: {
887 struct dssetup_DsRoleGetDcOperationProgress
*r
= _r
;
888 r
->out
.result
= _dssetup_DsRoleGetDcOperationProgress(cli
->pipes_struct
, r
);
892 case NDR_DSSETUP_DSROLEGETDCOPERATIONRESULTS
: {
893 struct dssetup_DsRoleGetDcOperationResults
*r
= _r
;
894 r
->out
.result
= _dssetup_DsRoleGetDcOperationResults(cli
->pipes_struct
, r
);
898 case NDR_DSSETUP_DSROLECANCEL
: {
899 struct dssetup_DsRoleCancel
*r
= _r
;
900 r
->out
.result
= _dssetup_DsRoleCancel(cli
->pipes_struct
, r
);
904 case NDR_DSSETUP_DSROLESERVERSAVESTATEFORUPGRADE
: {
905 struct dssetup_DsRoleServerSaveStateForUpgrade
*r
= _r
;
906 r
->out
.result
= _dssetup_DsRoleServerSaveStateForUpgrade(cli
->pipes_struct
, r
);
910 case NDR_DSSETUP_DSROLEUPGRADEDOWNLEVELSERVER
: {
911 struct dssetup_DsRoleUpgradeDownlevelServer
*r
= _r
;
912 r
->out
.result
= _dssetup_DsRoleUpgradeDownlevelServer(cli
->pipes_struct
, r
);
916 case NDR_DSSETUP_DSROLEABORTDOWNLEVELSERVERUPGRADE
: {
917 struct dssetup_DsRoleAbortDownlevelServerUpgrade
*r
= _r
;
918 r
->out
.result
= _dssetup_DsRoleAbortDownlevelServerUpgrade(cli
->pipes_struct
, r
);
923 return NT_STATUS_NOT_IMPLEMENTED
;
927 NTSTATUS
rpc_dssetup_init(void)
929 return rpc_srv_register(SMB_RPC_INTERFACE_VERSION
, "dssetup", "dssetup", &ndr_table_dssetup
, api_dssetup_cmds
, sizeof(api_dssetup_cmds
) / sizeof(struct api_struct
));