s4-netlogon: implement dcesrv_netr_DsRAddressToSitenamesExW
[Samba/aatanasov.git] / librpc / gen_ndr / cli_dssetup.c
blobf0a75c9102a2ef04cd2f70c89546f495032520f1
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_dssetup.h"
9 struct rpccli_dssetup_DsRoleGetPrimaryDomainInformation_state {
10 struct dssetup_DsRoleGetPrimaryDomainInformation orig;
11 struct dssetup_DsRoleGetPrimaryDomainInformation tmp;
12 TALLOC_CTX *out_mem_ctx;
13 NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
16 static void rpccli_dssetup_DsRoleGetPrimaryDomainInformation_done(struct tevent_req *subreq);
18 struct tevent_req *rpccli_dssetup_DsRoleGetPrimaryDomainInformation_send(TALLOC_CTX *mem_ctx,
19 struct tevent_context *ev,
20 struct rpc_pipe_client *cli,
21 enum dssetup_DsRoleInfoLevel _level /* [in] */,
22 union dssetup_DsRoleInfo *_info /* [out] [unique,switch_is(level)] */)
24 struct tevent_req *req;
25 struct rpccli_dssetup_DsRoleGetPrimaryDomainInformation_state *state;
26 struct tevent_req *subreq;
28 req = tevent_req_create(mem_ctx, &state,
29 struct rpccli_dssetup_DsRoleGetPrimaryDomainInformation_state);
30 if (req == NULL) {
31 return NULL;
33 state->out_mem_ctx = NULL;
34 state->dispatch_recv = cli->dispatch_recv;
36 /* In parameters */
37 state->orig.in.level = _level;
39 /* Out parameters */
40 state->orig.out.info = _info;
42 /* Result */
43 ZERO_STRUCT(state->orig.out.result);
45 if (DEBUGLEVEL >= 10) {
46 NDR_PRINT_IN_DEBUG(dssetup_DsRoleGetPrimaryDomainInformation, &state->orig);
49 state->out_mem_ctx = talloc_named_const(state, 0,
50 "rpccli_dssetup_DsRoleGetPrimaryDomainInformation_out_memory");
51 if (tevent_req_nomem(state->out_mem_ctx, req)) {
52 return tevent_req_post(req, ev);
55 /* make a temporary copy, that we pass to the dispatch function */
56 state->tmp = state->orig;
58 subreq = cli->dispatch_send(state, ev, cli,
59 &ndr_table_dssetup,
60 NDR_DSSETUP_DSROLEGETPRIMARYDOMAININFORMATION,
61 &state->tmp);
62 if (tevent_req_nomem(subreq, req)) {
63 return tevent_req_post(req, ev);
65 tevent_req_set_callback(subreq, rpccli_dssetup_DsRoleGetPrimaryDomainInformation_done, req);
66 return req;
69 static void rpccli_dssetup_DsRoleGetPrimaryDomainInformation_done(struct tevent_req *subreq)
71 struct tevent_req *req = tevent_req_callback_data(
72 subreq, struct tevent_req);
73 struct rpccli_dssetup_DsRoleGetPrimaryDomainInformation_state *state = tevent_req_data(
74 req, struct rpccli_dssetup_DsRoleGetPrimaryDomainInformation_state);
75 NTSTATUS status;
76 TALLOC_CTX *mem_ctx;
78 if (state->out_mem_ctx) {
79 mem_ctx = state->out_mem_ctx;
80 } else {
81 mem_ctx = state;
84 status = state->dispatch_recv(subreq, mem_ctx);
85 TALLOC_FREE(subreq);
86 if (!NT_STATUS_IS_OK(status)) {
87 tevent_req_nterror(req, status);
88 return;
91 /* Copy out parameters */
92 if (state->orig.out.info && state->tmp.out.info) {
93 *state->orig.out.info = *state->tmp.out.info;
96 /* Copy result */
97 state->orig.out.result = state->tmp.out.result;
99 /* Reset temporary structure */
100 ZERO_STRUCT(state->tmp);
102 if (DEBUGLEVEL >= 10) {
103 NDR_PRINT_OUT_DEBUG(dssetup_DsRoleGetPrimaryDomainInformation, &state->orig);
106 tevent_req_done(req);
109 NTSTATUS rpccli_dssetup_DsRoleGetPrimaryDomainInformation_recv(struct tevent_req *req,
110 TALLOC_CTX *mem_ctx,
111 WERROR *result)
113 struct rpccli_dssetup_DsRoleGetPrimaryDomainInformation_state *state = tevent_req_data(
114 req, struct rpccli_dssetup_DsRoleGetPrimaryDomainInformation_state);
115 NTSTATUS status;
117 if (tevent_req_is_nterror(req, &status)) {
118 tevent_req_received(req);
119 return status;
122 /* Steal possbile out parameters to the callers context */
123 talloc_steal(mem_ctx, state->out_mem_ctx);
125 /* Return result */
126 *result = state->orig.out.result;
128 tevent_req_received(req);
129 return NT_STATUS_OK;
132 NTSTATUS rpccli_dssetup_DsRoleGetPrimaryDomainInformation(struct rpc_pipe_client *cli,
133 TALLOC_CTX *mem_ctx,
134 enum dssetup_DsRoleInfoLevel level /* [in] */,
135 union dssetup_DsRoleInfo *info /* [out] [unique,switch_is(level)] */,
136 WERROR *werror)
138 struct dssetup_DsRoleGetPrimaryDomainInformation r;
139 NTSTATUS status;
141 /* In parameters */
142 r.in.level = level;
144 if (DEBUGLEVEL >= 10) {
145 NDR_PRINT_IN_DEBUG(dssetup_DsRoleGetPrimaryDomainInformation, &r);
148 status = cli->dispatch(cli,
149 mem_ctx,
150 &ndr_table_dssetup,
151 NDR_DSSETUP_DSROLEGETPRIMARYDOMAININFORMATION,
152 &r);
154 if (!NT_STATUS_IS_OK(status)) {
155 return status;
158 if (DEBUGLEVEL >= 10) {
159 NDR_PRINT_OUT_DEBUG(dssetup_DsRoleGetPrimaryDomainInformation, &r);
162 if (NT_STATUS_IS_ERR(status)) {
163 return status;
166 /* Return variables */
167 if (info && r.out.info) {
168 *info = *r.out.info;
171 /* Return result */
172 if (werror) {
173 *werror = r.out.result;
176 return werror_to_ntstatus(r.out.result);
179 struct rpccli_dssetup_DsRoleDnsNameToFlatName_state {
180 struct dssetup_DsRoleDnsNameToFlatName orig;
181 struct dssetup_DsRoleDnsNameToFlatName tmp;
182 TALLOC_CTX *out_mem_ctx;
183 NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
186 static void rpccli_dssetup_DsRoleDnsNameToFlatName_done(struct tevent_req *subreq);
188 struct tevent_req *rpccli_dssetup_DsRoleDnsNameToFlatName_send(TALLOC_CTX *mem_ctx,
189 struct tevent_context *ev,
190 struct rpc_pipe_client *cli)
192 struct tevent_req *req;
193 struct rpccli_dssetup_DsRoleDnsNameToFlatName_state *state;
194 struct tevent_req *subreq;
196 req = tevent_req_create(mem_ctx, &state,
197 struct rpccli_dssetup_DsRoleDnsNameToFlatName_state);
198 if (req == NULL) {
199 return NULL;
201 state->out_mem_ctx = NULL;
202 state->dispatch_recv = cli->dispatch_recv;
204 /* In parameters */
206 /* Out parameters */
208 /* Result */
209 ZERO_STRUCT(state->orig.out.result);
211 if (DEBUGLEVEL >= 10) {
212 NDR_PRINT_IN_DEBUG(dssetup_DsRoleDnsNameToFlatName, &state->orig);
215 /* make a temporary copy, that we pass to the dispatch function */
216 state->tmp = state->orig;
218 subreq = cli->dispatch_send(state, ev, cli,
219 &ndr_table_dssetup,
220 NDR_DSSETUP_DSROLEDNSNAMETOFLATNAME,
221 &state->tmp);
222 if (tevent_req_nomem(subreq, req)) {
223 return tevent_req_post(req, ev);
225 tevent_req_set_callback(subreq, rpccli_dssetup_DsRoleDnsNameToFlatName_done, req);
226 return req;
229 static void rpccli_dssetup_DsRoleDnsNameToFlatName_done(struct tevent_req *subreq)
231 struct tevent_req *req = tevent_req_callback_data(
232 subreq, struct tevent_req);
233 struct rpccli_dssetup_DsRoleDnsNameToFlatName_state *state = tevent_req_data(
234 req, struct rpccli_dssetup_DsRoleDnsNameToFlatName_state);
235 NTSTATUS status;
236 TALLOC_CTX *mem_ctx;
238 if (state->out_mem_ctx) {
239 mem_ctx = state->out_mem_ctx;
240 } else {
241 mem_ctx = state;
244 status = state->dispatch_recv(subreq, mem_ctx);
245 TALLOC_FREE(subreq);
246 if (!NT_STATUS_IS_OK(status)) {
247 tevent_req_nterror(req, status);
248 return;
251 /* Copy out parameters */
253 /* Copy result */
254 state->orig.out.result = state->tmp.out.result;
256 /* Reset temporary structure */
257 ZERO_STRUCT(state->tmp);
259 if (DEBUGLEVEL >= 10) {
260 NDR_PRINT_OUT_DEBUG(dssetup_DsRoleDnsNameToFlatName, &state->orig);
263 tevent_req_done(req);
266 NTSTATUS rpccli_dssetup_DsRoleDnsNameToFlatName_recv(struct tevent_req *req,
267 TALLOC_CTX *mem_ctx,
268 WERROR *result)
270 struct rpccli_dssetup_DsRoleDnsNameToFlatName_state *state = tevent_req_data(
271 req, struct rpccli_dssetup_DsRoleDnsNameToFlatName_state);
272 NTSTATUS status;
274 if (tevent_req_is_nterror(req, &status)) {
275 tevent_req_received(req);
276 return status;
279 /* Steal possbile out parameters to the callers context */
280 talloc_steal(mem_ctx, state->out_mem_ctx);
282 /* Return result */
283 *result = state->orig.out.result;
285 tevent_req_received(req);
286 return NT_STATUS_OK;
289 NTSTATUS rpccli_dssetup_DsRoleDnsNameToFlatName(struct rpc_pipe_client *cli,
290 TALLOC_CTX *mem_ctx,
291 WERROR *werror)
293 struct dssetup_DsRoleDnsNameToFlatName r;
294 NTSTATUS status;
296 /* In parameters */
298 if (DEBUGLEVEL >= 10) {
299 NDR_PRINT_IN_DEBUG(dssetup_DsRoleDnsNameToFlatName, &r);
302 status = cli->dispatch(cli,
303 mem_ctx,
304 &ndr_table_dssetup,
305 NDR_DSSETUP_DSROLEDNSNAMETOFLATNAME,
306 &r);
308 if (!NT_STATUS_IS_OK(status)) {
309 return status;
312 if (DEBUGLEVEL >= 10) {
313 NDR_PRINT_OUT_DEBUG(dssetup_DsRoleDnsNameToFlatName, &r);
316 if (NT_STATUS_IS_ERR(status)) {
317 return status;
320 /* Return variables */
322 /* Return result */
323 if (werror) {
324 *werror = r.out.result;
327 return werror_to_ntstatus(r.out.result);
330 struct rpccli_dssetup_DsRoleDcAsDc_state {
331 struct dssetup_DsRoleDcAsDc orig;
332 struct dssetup_DsRoleDcAsDc tmp;
333 TALLOC_CTX *out_mem_ctx;
334 NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
337 static void rpccli_dssetup_DsRoleDcAsDc_done(struct tevent_req *subreq);
339 struct tevent_req *rpccli_dssetup_DsRoleDcAsDc_send(TALLOC_CTX *mem_ctx,
340 struct tevent_context *ev,
341 struct rpc_pipe_client *cli)
343 struct tevent_req *req;
344 struct rpccli_dssetup_DsRoleDcAsDc_state *state;
345 struct tevent_req *subreq;
347 req = tevent_req_create(mem_ctx, &state,
348 struct rpccli_dssetup_DsRoleDcAsDc_state);
349 if (req == NULL) {
350 return NULL;
352 state->out_mem_ctx = NULL;
353 state->dispatch_recv = cli->dispatch_recv;
355 /* In parameters */
357 /* Out parameters */
359 /* Result */
360 ZERO_STRUCT(state->orig.out.result);
362 if (DEBUGLEVEL >= 10) {
363 NDR_PRINT_IN_DEBUG(dssetup_DsRoleDcAsDc, &state->orig);
366 /* make a temporary copy, that we pass to the dispatch function */
367 state->tmp = state->orig;
369 subreq = cli->dispatch_send(state, ev, cli,
370 &ndr_table_dssetup,
371 NDR_DSSETUP_DSROLEDCASDC,
372 &state->tmp);
373 if (tevent_req_nomem(subreq, req)) {
374 return tevent_req_post(req, ev);
376 tevent_req_set_callback(subreq, rpccli_dssetup_DsRoleDcAsDc_done, req);
377 return req;
380 static void rpccli_dssetup_DsRoleDcAsDc_done(struct tevent_req *subreq)
382 struct tevent_req *req = tevent_req_callback_data(
383 subreq, struct tevent_req);
384 struct rpccli_dssetup_DsRoleDcAsDc_state *state = tevent_req_data(
385 req, struct rpccli_dssetup_DsRoleDcAsDc_state);
386 NTSTATUS status;
387 TALLOC_CTX *mem_ctx;
389 if (state->out_mem_ctx) {
390 mem_ctx = state->out_mem_ctx;
391 } else {
392 mem_ctx = state;
395 status = state->dispatch_recv(subreq, mem_ctx);
396 TALLOC_FREE(subreq);
397 if (!NT_STATUS_IS_OK(status)) {
398 tevent_req_nterror(req, status);
399 return;
402 /* Copy out parameters */
404 /* Copy result */
405 state->orig.out.result = state->tmp.out.result;
407 /* Reset temporary structure */
408 ZERO_STRUCT(state->tmp);
410 if (DEBUGLEVEL >= 10) {
411 NDR_PRINT_OUT_DEBUG(dssetup_DsRoleDcAsDc, &state->orig);
414 tevent_req_done(req);
417 NTSTATUS rpccli_dssetup_DsRoleDcAsDc_recv(struct tevent_req *req,
418 TALLOC_CTX *mem_ctx,
419 WERROR *result)
421 struct rpccli_dssetup_DsRoleDcAsDc_state *state = tevent_req_data(
422 req, struct rpccli_dssetup_DsRoleDcAsDc_state);
423 NTSTATUS status;
425 if (tevent_req_is_nterror(req, &status)) {
426 tevent_req_received(req);
427 return status;
430 /* Steal possbile out parameters to the callers context */
431 talloc_steal(mem_ctx, state->out_mem_ctx);
433 /* Return result */
434 *result = state->orig.out.result;
436 tevent_req_received(req);
437 return NT_STATUS_OK;
440 NTSTATUS rpccli_dssetup_DsRoleDcAsDc(struct rpc_pipe_client *cli,
441 TALLOC_CTX *mem_ctx,
442 WERROR *werror)
444 struct dssetup_DsRoleDcAsDc r;
445 NTSTATUS status;
447 /* In parameters */
449 if (DEBUGLEVEL >= 10) {
450 NDR_PRINT_IN_DEBUG(dssetup_DsRoleDcAsDc, &r);
453 status = cli->dispatch(cli,
454 mem_ctx,
455 &ndr_table_dssetup,
456 NDR_DSSETUP_DSROLEDCASDC,
457 &r);
459 if (!NT_STATUS_IS_OK(status)) {
460 return status;
463 if (DEBUGLEVEL >= 10) {
464 NDR_PRINT_OUT_DEBUG(dssetup_DsRoleDcAsDc, &r);
467 if (NT_STATUS_IS_ERR(status)) {
468 return status;
471 /* Return variables */
473 /* Return result */
474 if (werror) {
475 *werror = r.out.result;
478 return werror_to_ntstatus(r.out.result);
481 struct rpccli_dssetup_DsRoleDcAsReplica_state {
482 struct dssetup_DsRoleDcAsReplica orig;
483 struct dssetup_DsRoleDcAsReplica tmp;
484 TALLOC_CTX *out_mem_ctx;
485 NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
488 static void rpccli_dssetup_DsRoleDcAsReplica_done(struct tevent_req *subreq);
490 struct tevent_req *rpccli_dssetup_DsRoleDcAsReplica_send(TALLOC_CTX *mem_ctx,
491 struct tevent_context *ev,
492 struct rpc_pipe_client *cli)
494 struct tevent_req *req;
495 struct rpccli_dssetup_DsRoleDcAsReplica_state *state;
496 struct tevent_req *subreq;
498 req = tevent_req_create(mem_ctx, &state,
499 struct rpccli_dssetup_DsRoleDcAsReplica_state);
500 if (req == NULL) {
501 return NULL;
503 state->out_mem_ctx = NULL;
504 state->dispatch_recv = cli->dispatch_recv;
506 /* In parameters */
508 /* Out parameters */
510 /* Result */
511 ZERO_STRUCT(state->orig.out.result);
513 if (DEBUGLEVEL >= 10) {
514 NDR_PRINT_IN_DEBUG(dssetup_DsRoleDcAsReplica, &state->orig);
517 /* make a temporary copy, that we pass to the dispatch function */
518 state->tmp = state->orig;
520 subreq = cli->dispatch_send(state, ev, cli,
521 &ndr_table_dssetup,
522 NDR_DSSETUP_DSROLEDCASREPLICA,
523 &state->tmp);
524 if (tevent_req_nomem(subreq, req)) {
525 return tevent_req_post(req, ev);
527 tevent_req_set_callback(subreq, rpccli_dssetup_DsRoleDcAsReplica_done, req);
528 return req;
531 static void rpccli_dssetup_DsRoleDcAsReplica_done(struct tevent_req *subreq)
533 struct tevent_req *req = tevent_req_callback_data(
534 subreq, struct tevent_req);
535 struct rpccli_dssetup_DsRoleDcAsReplica_state *state = tevent_req_data(
536 req, struct rpccli_dssetup_DsRoleDcAsReplica_state);
537 NTSTATUS status;
538 TALLOC_CTX *mem_ctx;
540 if (state->out_mem_ctx) {
541 mem_ctx = state->out_mem_ctx;
542 } else {
543 mem_ctx = state;
546 status = state->dispatch_recv(subreq, mem_ctx);
547 TALLOC_FREE(subreq);
548 if (!NT_STATUS_IS_OK(status)) {
549 tevent_req_nterror(req, status);
550 return;
553 /* Copy out parameters */
555 /* Copy result */
556 state->orig.out.result = state->tmp.out.result;
558 /* Reset temporary structure */
559 ZERO_STRUCT(state->tmp);
561 if (DEBUGLEVEL >= 10) {
562 NDR_PRINT_OUT_DEBUG(dssetup_DsRoleDcAsReplica, &state->orig);
565 tevent_req_done(req);
568 NTSTATUS rpccli_dssetup_DsRoleDcAsReplica_recv(struct tevent_req *req,
569 TALLOC_CTX *mem_ctx,
570 WERROR *result)
572 struct rpccli_dssetup_DsRoleDcAsReplica_state *state = tevent_req_data(
573 req, struct rpccli_dssetup_DsRoleDcAsReplica_state);
574 NTSTATUS status;
576 if (tevent_req_is_nterror(req, &status)) {
577 tevent_req_received(req);
578 return status;
581 /* Steal possbile out parameters to the callers context */
582 talloc_steal(mem_ctx, state->out_mem_ctx);
584 /* Return result */
585 *result = state->orig.out.result;
587 tevent_req_received(req);
588 return NT_STATUS_OK;
591 NTSTATUS rpccli_dssetup_DsRoleDcAsReplica(struct rpc_pipe_client *cli,
592 TALLOC_CTX *mem_ctx,
593 WERROR *werror)
595 struct dssetup_DsRoleDcAsReplica r;
596 NTSTATUS status;
598 /* In parameters */
600 if (DEBUGLEVEL >= 10) {
601 NDR_PRINT_IN_DEBUG(dssetup_DsRoleDcAsReplica, &r);
604 status = cli->dispatch(cli,
605 mem_ctx,
606 &ndr_table_dssetup,
607 NDR_DSSETUP_DSROLEDCASREPLICA,
608 &r);
610 if (!NT_STATUS_IS_OK(status)) {
611 return status;
614 if (DEBUGLEVEL >= 10) {
615 NDR_PRINT_OUT_DEBUG(dssetup_DsRoleDcAsReplica, &r);
618 if (NT_STATUS_IS_ERR(status)) {
619 return status;
622 /* Return variables */
624 /* Return result */
625 if (werror) {
626 *werror = r.out.result;
629 return werror_to_ntstatus(r.out.result);
632 struct rpccli_dssetup_DsRoleDemoteDc_state {
633 struct dssetup_DsRoleDemoteDc orig;
634 struct dssetup_DsRoleDemoteDc tmp;
635 TALLOC_CTX *out_mem_ctx;
636 NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
639 static void rpccli_dssetup_DsRoleDemoteDc_done(struct tevent_req *subreq);
641 struct tevent_req *rpccli_dssetup_DsRoleDemoteDc_send(TALLOC_CTX *mem_ctx,
642 struct tevent_context *ev,
643 struct rpc_pipe_client *cli)
645 struct tevent_req *req;
646 struct rpccli_dssetup_DsRoleDemoteDc_state *state;
647 struct tevent_req *subreq;
649 req = tevent_req_create(mem_ctx, &state,
650 struct rpccli_dssetup_DsRoleDemoteDc_state);
651 if (req == NULL) {
652 return NULL;
654 state->out_mem_ctx = NULL;
655 state->dispatch_recv = cli->dispatch_recv;
657 /* In parameters */
659 /* Out parameters */
661 /* Result */
662 ZERO_STRUCT(state->orig.out.result);
664 if (DEBUGLEVEL >= 10) {
665 NDR_PRINT_IN_DEBUG(dssetup_DsRoleDemoteDc, &state->orig);
668 /* make a temporary copy, that we pass to the dispatch function */
669 state->tmp = state->orig;
671 subreq = cli->dispatch_send(state, ev, cli,
672 &ndr_table_dssetup,
673 NDR_DSSETUP_DSROLEDEMOTEDC,
674 &state->tmp);
675 if (tevent_req_nomem(subreq, req)) {
676 return tevent_req_post(req, ev);
678 tevent_req_set_callback(subreq, rpccli_dssetup_DsRoleDemoteDc_done, req);
679 return req;
682 static void rpccli_dssetup_DsRoleDemoteDc_done(struct tevent_req *subreq)
684 struct tevent_req *req = tevent_req_callback_data(
685 subreq, struct tevent_req);
686 struct rpccli_dssetup_DsRoleDemoteDc_state *state = tevent_req_data(
687 req, struct rpccli_dssetup_DsRoleDemoteDc_state);
688 NTSTATUS status;
689 TALLOC_CTX *mem_ctx;
691 if (state->out_mem_ctx) {
692 mem_ctx = state->out_mem_ctx;
693 } else {
694 mem_ctx = state;
697 status = state->dispatch_recv(subreq, mem_ctx);
698 TALLOC_FREE(subreq);
699 if (!NT_STATUS_IS_OK(status)) {
700 tevent_req_nterror(req, status);
701 return;
704 /* Copy out parameters */
706 /* Copy result */
707 state->orig.out.result = state->tmp.out.result;
709 /* Reset temporary structure */
710 ZERO_STRUCT(state->tmp);
712 if (DEBUGLEVEL >= 10) {
713 NDR_PRINT_OUT_DEBUG(dssetup_DsRoleDemoteDc, &state->orig);
716 tevent_req_done(req);
719 NTSTATUS rpccli_dssetup_DsRoleDemoteDc_recv(struct tevent_req *req,
720 TALLOC_CTX *mem_ctx,
721 WERROR *result)
723 struct rpccli_dssetup_DsRoleDemoteDc_state *state = tevent_req_data(
724 req, struct rpccli_dssetup_DsRoleDemoteDc_state);
725 NTSTATUS status;
727 if (tevent_req_is_nterror(req, &status)) {
728 tevent_req_received(req);
729 return status;
732 /* Steal possbile out parameters to the callers context */
733 talloc_steal(mem_ctx, state->out_mem_ctx);
735 /* Return result */
736 *result = state->orig.out.result;
738 tevent_req_received(req);
739 return NT_STATUS_OK;
742 NTSTATUS rpccli_dssetup_DsRoleDemoteDc(struct rpc_pipe_client *cli,
743 TALLOC_CTX *mem_ctx,
744 WERROR *werror)
746 struct dssetup_DsRoleDemoteDc r;
747 NTSTATUS status;
749 /* In parameters */
751 if (DEBUGLEVEL >= 10) {
752 NDR_PRINT_IN_DEBUG(dssetup_DsRoleDemoteDc, &r);
755 status = cli->dispatch(cli,
756 mem_ctx,
757 &ndr_table_dssetup,
758 NDR_DSSETUP_DSROLEDEMOTEDC,
759 &r);
761 if (!NT_STATUS_IS_OK(status)) {
762 return status;
765 if (DEBUGLEVEL >= 10) {
766 NDR_PRINT_OUT_DEBUG(dssetup_DsRoleDemoteDc, &r);
769 if (NT_STATUS_IS_ERR(status)) {
770 return status;
773 /* Return variables */
775 /* Return result */
776 if (werror) {
777 *werror = r.out.result;
780 return werror_to_ntstatus(r.out.result);
783 struct rpccli_dssetup_DsRoleGetDcOperationProgress_state {
784 struct dssetup_DsRoleGetDcOperationProgress orig;
785 struct dssetup_DsRoleGetDcOperationProgress tmp;
786 TALLOC_CTX *out_mem_ctx;
787 NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
790 static void rpccli_dssetup_DsRoleGetDcOperationProgress_done(struct tevent_req *subreq);
792 struct tevent_req *rpccli_dssetup_DsRoleGetDcOperationProgress_send(TALLOC_CTX *mem_ctx,
793 struct tevent_context *ev,
794 struct rpc_pipe_client *cli)
796 struct tevent_req *req;
797 struct rpccli_dssetup_DsRoleGetDcOperationProgress_state *state;
798 struct tevent_req *subreq;
800 req = tevent_req_create(mem_ctx, &state,
801 struct rpccli_dssetup_DsRoleGetDcOperationProgress_state);
802 if (req == NULL) {
803 return NULL;
805 state->out_mem_ctx = NULL;
806 state->dispatch_recv = cli->dispatch_recv;
808 /* In parameters */
810 /* Out parameters */
812 /* Result */
813 ZERO_STRUCT(state->orig.out.result);
815 if (DEBUGLEVEL >= 10) {
816 NDR_PRINT_IN_DEBUG(dssetup_DsRoleGetDcOperationProgress, &state->orig);
819 /* make a temporary copy, that we pass to the dispatch function */
820 state->tmp = state->orig;
822 subreq = cli->dispatch_send(state, ev, cli,
823 &ndr_table_dssetup,
824 NDR_DSSETUP_DSROLEGETDCOPERATIONPROGRESS,
825 &state->tmp);
826 if (tevent_req_nomem(subreq, req)) {
827 return tevent_req_post(req, ev);
829 tevent_req_set_callback(subreq, rpccli_dssetup_DsRoleGetDcOperationProgress_done, req);
830 return req;
833 static void rpccli_dssetup_DsRoleGetDcOperationProgress_done(struct tevent_req *subreq)
835 struct tevent_req *req = tevent_req_callback_data(
836 subreq, struct tevent_req);
837 struct rpccli_dssetup_DsRoleGetDcOperationProgress_state *state = tevent_req_data(
838 req, struct rpccli_dssetup_DsRoleGetDcOperationProgress_state);
839 NTSTATUS status;
840 TALLOC_CTX *mem_ctx;
842 if (state->out_mem_ctx) {
843 mem_ctx = state->out_mem_ctx;
844 } else {
845 mem_ctx = state;
848 status = state->dispatch_recv(subreq, mem_ctx);
849 TALLOC_FREE(subreq);
850 if (!NT_STATUS_IS_OK(status)) {
851 tevent_req_nterror(req, status);
852 return;
855 /* Copy out parameters */
857 /* Copy result */
858 state->orig.out.result = state->tmp.out.result;
860 /* Reset temporary structure */
861 ZERO_STRUCT(state->tmp);
863 if (DEBUGLEVEL >= 10) {
864 NDR_PRINT_OUT_DEBUG(dssetup_DsRoleGetDcOperationProgress, &state->orig);
867 tevent_req_done(req);
870 NTSTATUS rpccli_dssetup_DsRoleGetDcOperationProgress_recv(struct tevent_req *req,
871 TALLOC_CTX *mem_ctx,
872 WERROR *result)
874 struct rpccli_dssetup_DsRoleGetDcOperationProgress_state *state = tevent_req_data(
875 req, struct rpccli_dssetup_DsRoleGetDcOperationProgress_state);
876 NTSTATUS status;
878 if (tevent_req_is_nterror(req, &status)) {
879 tevent_req_received(req);
880 return status;
883 /* Steal possbile out parameters to the callers context */
884 talloc_steal(mem_ctx, state->out_mem_ctx);
886 /* Return result */
887 *result = state->orig.out.result;
889 tevent_req_received(req);
890 return NT_STATUS_OK;
893 NTSTATUS rpccli_dssetup_DsRoleGetDcOperationProgress(struct rpc_pipe_client *cli,
894 TALLOC_CTX *mem_ctx,
895 WERROR *werror)
897 struct dssetup_DsRoleGetDcOperationProgress r;
898 NTSTATUS status;
900 /* In parameters */
902 if (DEBUGLEVEL >= 10) {
903 NDR_PRINT_IN_DEBUG(dssetup_DsRoleGetDcOperationProgress, &r);
906 status = cli->dispatch(cli,
907 mem_ctx,
908 &ndr_table_dssetup,
909 NDR_DSSETUP_DSROLEGETDCOPERATIONPROGRESS,
910 &r);
912 if (!NT_STATUS_IS_OK(status)) {
913 return status;
916 if (DEBUGLEVEL >= 10) {
917 NDR_PRINT_OUT_DEBUG(dssetup_DsRoleGetDcOperationProgress, &r);
920 if (NT_STATUS_IS_ERR(status)) {
921 return status;
924 /* Return variables */
926 /* Return result */
927 if (werror) {
928 *werror = r.out.result;
931 return werror_to_ntstatus(r.out.result);
934 struct rpccli_dssetup_DsRoleGetDcOperationResults_state {
935 struct dssetup_DsRoleGetDcOperationResults orig;
936 struct dssetup_DsRoleGetDcOperationResults tmp;
937 TALLOC_CTX *out_mem_ctx;
938 NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
941 static void rpccli_dssetup_DsRoleGetDcOperationResults_done(struct tevent_req *subreq);
943 struct tevent_req *rpccli_dssetup_DsRoleGetDcOperationResults_send(TALLOC_CTX *mem_ctx,
944 struct tevent_context *ev,
945 struct rpc_pipe_client *cli)
947 struct tevent_req *req;
948 struct rpccli_dssetup_DsRoleGetDcOperationResults_state *state;
949 struct tevent_req *subreq;
951 req = tevent_req_create(mem_ctx, &state,
952 struct rpccli_dssetup_DsRoleGetDcOperationResults_state);
953 if (req == NULL) {
954 return NULL;
956 state->out_mem_ctx = NULL;
957 state->dispatch_recv = cli->dispatch_recv;
959 /* In parameters */
961 /* Out parameters */
963 /* Result */
964 ZERO_STRUCT(state->orig.out.result);
966 if (DEBUGLEVEL >= 10) {
967 NDR_PRINT_IN_DEBUG(dssetup_DsRoleGetDcOperationResults, &state->orig);
970 /* make a temporary copy, that we pass to the dispatch function */
971 state->tmp = state->orig;
973 subreq = cli->dispatch_send(state, ev, cli,
974 &ndr_table_dssetup,
975 NDR_DSSETUP_DSROLEGETDCOPERATIONRESULTS,
976 &state->tmp);
977 if (tevent_req_nomem(subreq, req)) {
978 return tevent_req_post(req, ev);
980 tevent_req_set_callback(subreq, rpccli_dssetup_DsRoleGetDcOperationResults_done, req);
981 return req;
984 static void rpccli_dssetup_DsRoleGetDcOperationResults_done(struct tevent_req *subreq)
986 struct tevent_req *req = tevent_req_callback_data(
987 subreq, struct tevent_req);
988 struct rpccli_dssetup_DsRoleGetDcOperationResults_state *state = tevent_req_data(
989 req, struct rpccli_dssetup_DsRoleGetDcOperationResults_state);
990 NTSTATUS status;
991 TALLOC_CTX *mem_ctx;
993 if (state->out_mem_ctx) {
994 mem_ctx = state->out_mem_ctx;
995 } else {
996 mem_ctx = state;
999 status = state->dispatch_recv(subreq, mem_ctx);
1000 TALLOC_FREE(subreq);
1001 if (!NT_STATUS_IS_OK(status)) {
1002 tevent_req_nterror(req, status);
1003 return;
1006 /* Copy out parameters */
1008 /* Copy result */
1009 state->orig.out.result = state->tmp.out.result;
1011 /* Reset temporary structure */
1012 ZERO_STRUCT(state->tmp);
1014 if (DEBUGLEVEL >= 10) {
1015 NDR_PRINT_OUT_DEBUG(dssetup_DsRoleGetDcOperationResults, &state->orig);
1018 tevent_req_done(req);
1021 NTSTATUS rpccli_dssetup_DsRoleGetDcOperationResults_recv(struct tevent_req *req,
1022 TALLOC_CTX *mem_ctx,
1023 WERROR *result)
1025 struct rpccli_dssetup_DsRoleGetDcOperationResults_state *state = tevent_req_data(
1026 req, struct rpccli_dssetup_DsRoleGetDcOperationResults_state);
1027 NTSTATUS status;
1029 if (tevent_req_is_nterror(req, &status)) {
1030 tevent_req_received(req);
1031 return status;
1034 /* Steal possbile out parameters to the callers context */
1035 talloc_steal(mem_ctx, state->out_mem_ctx);
1037 /* Return result */
1038 *result = state->orig.out.result;
1040 tevent_req_received(req);
1041 return NT_STATUS_OK;
1044 NTSTATUS rpccli_dssetup_DsRoleGetDcOperationResults(struct rpc_pipe_client *cli,
1045 TALLOC_CTX *mem_ctx,
1046 WERROR *werror)
1048 struct dssetup_DsRoleGetDcOperationResults r;
1049 NTSTATUS status;
1051 /* In parameters */
1053 if (DEBUGLEVEL >= 10) {
1054 NDR_PRINT_IN_DEBUG(dssetup_DsRoleGetDcOperationResults, &r);
1057 status = cli->dispatch(cli,
1058 mem_ctx,
1059 &ndr_table_dssetup,
1060 NDR_DSSETUP_DSROLEGETDCOPERATIONRESULTS,
1061 &r);
1063 if (!NT_STATUS_IS_OK(status)) {
1064 return status;
1067 if (DEBUGLEVEL >= 10) {
1068 NDR_PRINT_OUT_DEBUG(dssetup_DsRoleGetDcOperationResults, &r);
1071 if (NT_STATUS_IS_ERR(status)) {
1072 return status;
1075 /* Return variables */
1077 /* Return result */
1078 if (werror) {
1079 *werror = r.out.result;
1082 return werror_to_ntstatus(r.out.result);
1085 struct rpccli_dssetup_DsRoleCancel_state {
1086 struct dssetup_DsRoleCancel orig;
1087 struct dssetup_DsRoleCancel tmp;
1088 TALLOC_CTX *out_mem_ctx;
1089 NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
1092 static void rpccli_dssetup_DsRoleCancel_done(struct tevent_req *subreq);
1094 struct tevent_req *rpccli_dssetup_DsRoleCancel_send(TALLOC_CTX *mem_ctx,
1095 struct tevent_context *ev,
1096 struct rpc_pipe_client *cli)
1098 struct tevent_req *req;
1099 struct rpccli_dssetup_DsRoleCancel_state *state;
1100 struct tevent_req *subreq;
1102 req = tevent_req_create(mem_ctx, &state,
1103 struct rpccli_dssetup_DsRoleCancel_state);
1104 if (req == NULL) {
1105 return NULL;
1107 state->out_mem_ctx = NULL;
1108 state->dispatch_recv = cli->dispatch_recv;
1110 /* In parameters */
1112 /* Out parameters */
1114 /* Result */
1115 ZERO_STRUCT(state->orig.out.result);
1117 if (DEBUGLEVEL >= 10) {
1118 NDR_PRINT_IN_DEBUG(dssetup_DsRoleCancel, &state->orig);
1121 /* make a temporary copy, that we pass to the dispatch function */
1122 state->tmp = state->orig;
1124 subreq = cli->dispatch_send(state, ev, cli,
1125 &ndr_table_dssetup,
1126 NDR_DSSETUP_DSROLECANCEL,
1127 &state->tmp);
1128 if (tevent_req_nomem(subreq, req)) {
1129 return tevent_req_post(req, ev);
1131 tevent_req_set_callback(subreq, rpccli_dssetup_DsRoleCancel_done, req);
1132 return req;
1135 static void rpccli_dssetup_DsRoleCancel_done(struct tevent_req *subreq)
1137 struct tevent_req *req = tevent_req_callback_data(
1138 subreq, struct tevent_req);
1139 struct rpccli_dssetup_DsRoleCancel_state *state = tevent_req_data(
1140 req, struct rpccli_dssetup_DsRoleCancel_state);
1141 NTSTATUS status;
1142 TALLOC_CTX *mem_ctx;
1144 if (state->out_mem_ctx) {
1145 mem_ctx = state->out_mem_ctx;
1146 } else {
1147 mem_ctx = state;
1150 status = state->dispatch_recv(subreq, mem_ctx);
1151 TALLOC_FREE(subreq);
1152 if (!NT_STATUS_IS_OK(status)) {
1153 tevent_req_nterror(req, status);
1154 return;
1157 /* Copy out parameters */
1159 /* Copy result */
1160 state->orig.out.result = state->tmp.out.result;
1162 /* Reset temporary structure */
1163 ZERO_STRUCT(state->tmp);
1165 if (DEBUGLEVEL >= 10) {
1166 NDR_PRINT_OUT_DEBUG(dssetup_DsRoleCancel, &state->orig);
1169 tevent_req_done(req);
1172 NTSTATUS rpccli_dssetup_DsRoleCancel_recv(struct tevent_req *req,
1173 TALLOC_CTX *mem_ctx,
1174 WERROR *result)
1176 struct rpccli_dssetup_DsRoleCancel_state *state = tevent_req_data(
1177 req, struct rpccli_dssetup_DsRoleCancel_state);
1178 NTSTATUS status;
1180 if (tevent_req_is_nterror(req, &status)) {
1181 tevent_req_received(req);
1182 return status;
1185 /* Steal possbile out parameters to the callers context */
1186 talloc_steal(mem_ctx, state->out_mem_ctx);
1188 /* Return result */
1189 *result = state->orig.out.result;
1191 tevent_req_received(req);
1192 return NT_STATUS_OK;
1195 NTSTATUS rpccli_dssetup_DsRoleCancel(struct rpc_pipe_client *cli,
1196 TALLOC_CTX *mem_ctx,
1197 WERROR *werror)
1199 struct dssetup_DsRoleCancel r;
1200 NTSTATUS status;
1202 /* In parameters */
1204 if (DEBUGLEVEL >= 10) {
1205 NDR_PRINT_IN_DEBUG(dssetup_DsRoleCancel, &r);
1208 status = cli->dispatch(cli,
1209 mem_ctx,
1210 &ndr_table_dssetup,
1211 NDR_DSSETUP_DSROLECANCEL,
1212 &r);
1214 if (!NT_STATUS_IS_OK(status)) {
1215 return status;
1218 if (DEBUGLEVEL >= 10) {
1219 NDR_PRINT_OUT_DEBUG(dssetup_DsRoleCancel, &r);
1222 if (NT_STATUS_IS_ERR(status)) {
1223 return status;
1226 /* Return variables */
1228 /* Return result */
1229 if (werror) {
1230 *werror = r.out.result;
1233 return werror_to_ntstatus(r.out.result);
1236 struct rpccli_dssetup_DsRoleServerSaveStateForUpgrade_state {
1237 struct dssetup_DsRoleServerSaveStateForUpgrade orig;
1238 struct dssetup_DsRoleServerSaveStateForUpgrade tmp;
1239 TALLOC_CTX *out_mem_ctx;
1240 NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
1243 static void rpccli_dssetup_DsRoleServerSaveStateForUpgrade_done(struct tevent_req *subreq);
1245 struct tevent_req *rpccli_dssetup_DsRoleServerSaveStateForUpgrade_send(TALLOC_CTX *mem_ctx,
1246 struct tevent_context *ev,
1247 struct rpc_pipe_client *cli)
1249 struct tevent_req *req;
1250 struct rpccli_dssetup_DsRoleServerSaveStateForUpgrade_state *state;
1251 struct tevent_req *subreq;
1253 req = tevent_req_create(mem_ctx, &state,
1254 struct rpccli_dssetup_DsRoleServerSaveStateForUpgrade_state);
1255 if (req == NULL) {
1256 return NULL;
1258 state->out_mem_ctx = NULL;
1259 state->dispatch_recv = cli->dispatch_recv;
1261 /* In parameters */
1263 /* Out parameters */
1265 /* Result */
1266 ZERO_STRUCT(state->orig.out.result);
1268 if (DEBUGLEVEL >= 10) {
1269 NDR_PRINT_IN_DEBUG(dssetup_DsRoleServerSaveStateForUpgrade, &state->orig);
1272 /* make a temporary copy, that we pass to the dispatch function */
1273 state->tmp = state->orig;
1275 subreq = cli->dispatch_send(state, ev, cli,
1276 &ndr_table_dssetup,
1277 NDR_DSSETUP_DSROLESERVERSAVESTATEFORUPGRADE,
1278 &state->tmp);
1279 if (tevent_req_nomem(subreq, req)) {
1280 return tevent_req_post(req, ev);
1282 tevent_req_set_callback(subreq, rpccli_dssetup_DsRoleServerSaveStateForUpgrade_done, req);
1283 return req;
1286 static void rpccli_dssetup_DsRoleServerSaveStateForUpgrade_done(struct tevent_req *subreq)
1288 struct tevent_req *req = tevent_req_callback_data(
1289 subreq, struct tevent_req);
1290 struct rpccli_dssetup_DsRoleServerSaveStateForUpgrade_state *state = tevent_req_data(
1291 req, struct rpccli_dssetup_DsRoleServerSaveStateForUpgrade_state);
1292 NTSTATUS status;
1293 TALLOC_CTX *mem_ctx;
1295 if (state->out_mem_ctx) {
1296 mem_ctx = state->out_mem_ctx;
1297 } else {
1298 mem_ctx = state;
1301 status = state->dispatch_recv(subreq, mem_ctx);
1302 TALLOC_FREE(subreq);
1303 if (!NT_STATUS_IS_OK(status)) {
1304 tevent_req_nterror(req, status);
1305 return;
1308 /* Copy out parameters */
1310 /* Copy result */
1311 state->orig.out.result = state->tmp.out.result;
1313 /* Reset temporary structure */
1314 ZERO_STRUCT(state->tmp);
1316 if (DEBUGLEVEL >= 10) {
1317 NDR_PRINT_OUT_DEBUG(dssetup_DsRoleServerSaveStateForUpgrade, &state->orig);
1320 tevent_req_done(req);
1323 NTSTATUS rpccli_dssetup_DsRoleServerSaveStateForUpgrade_recv(struct tevent_req *req,
1324 TALLOC_CTX *mem_ctx,
1325 WERROR *result)
1327 struct rpccli_dssetup_DsRoleServerSaveStateForUpgrade_state *state = tevent_req_data(
1328 req, struct rpccli_dssetup_DsRoleServerSaveStateForUpgrade_state);
1329 NTSTATUS status;
1331 if (tevent_req_is_nterror(req, &status)) {
1332 tevent_req_received(req);
1333 return status;
1336 /* Steal possbile out parameters to the callers context */
1337 talloc_steal(mem_ctx, state->out_mem_ctx);
1339 /* Return result */
1340 *result = state->orig.out.result;
1342 tevent_req_received(req);
1343 return NT_STATUS_OK;
1346 NTSTATUS rpccli_dssetup_DsRoleServerSaveStateForUpgrade(struct rpc_pipe_client *cli,
1347 TALLOC_CTX *mem_ctx,
1348 WERROR *werror)
1350 struct dssetup_DsRoleServerSaveStateForUpgrade r;
1351 NTSTATUS status;
1353 /* In parameters */
1355 if (DEBUGLEVEL >= 10) {
1356 NDR_PRINT_IN_DEBUG(dssetup_DsRoleServerSaveStateForUpgrade, &r);
1359 status = cli->dispatch(cli,
1360 mem_ctx,
1361 &ndr_table_dssetup,
1362 NDR_DSSETUP_DSROLESERVERSAVESTATEFORUPGRADE,
1363 &r);
1365 if (!NT_STATUS_IS_OK(status)) {
1366 return status;
1369 if (DEBUGLEVEL >= 10) {
1370 NDR_PRINT_OUT_DEBUG(dssetup_DsRoleServerSaveStateForUpgrade, &r);
1373 if (NT_STATUS_IS_ERR(status)) {
1374 return status;
1377 /* Return variables */
1379 /* Return result */
1380 if (werror) {
1381 *werror = r.out.result;
1384 return werror_to_ntstatus(r.out.result);
1387 struct rpccli_dssetup_DsRoleUpgradeDownlevelServer_state {
1388 struct dssetup_DsRoleUpgradeDownlevelServer orig;
1389 struct dssetup_DsRoleUpgradeDownlevelServer tmp;
1390 TALLOC_CTX *out_mem_ctx;
1391 NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
1394 static void rpccli_dssetup_DsRoleUpgradeDownlevelServer_done(struct tevent_req *subreq);
1396 struct tevent_req *rpccli_dssetup_DsRoleUpgradeDownlevelServer_send(TALLOC_CTX *mem_ctx,
1397 struct tevent_context *ev,
1398 struct rpc_pipe_client *cli)
1400 struct tevent_req *req;
1401 struct rpccli_dssetup_DsRoleUpgradeDownlevelServer_state *state;
1402 struct tevent_req *subreq;
1404 req = tevent_req_create(mem_ctx, &state,
1405 struct rpccli_dssetup_DsRoleUpgradeDownlevelServer_state);
1406 if (req == NULL) {
1407 return NULL;
1409 state->out_mem_ctx = NULL;
1410 state->dispatch_recv = cli->dispatch_recv;
1412 /* In parameters */
1414 /* Out parameters */
1416 /* Result */
1417 ZERO_STRUCT(state->orig.out.result);
1419 if (DEBUGLEVEL >= 10) {
1420 NDR_PRINT_IN_DEBUG(dssetup_DsRoleUpgradeDownlevelServer, &state->orig);
1423 /* make a temporary copy, that we pass to the dispatch function */
1424 state->tmp = state->orig;
1426 subreq = cli->dispatch_send(state, ev, cli,
1427 &ndr_table_dssetup,
1428 NDR_DSSETUP_DSROLEUPGRADEDOWNLEVELSERVER,
1429 &state->tmp);
1430 if (tevent_req_nomem(subreq, req)) {
1431 return tevent_req_post(req, ev);
1433 tevent_req_set_callback(subreq, rpccli_dssetup_DsRoleUpgradeDownlevelServer_done, req);
1434 return req;
1437 static void rpccli_dssetup_DsRoleUpgradeDownlevelServer_done(struct tevent_req *subreq)
1439 struct tevent_req *req = tevent_req_callback_data(
1440 subreq, struct tevent_req);
1441 struct rpccli_dssetup_DsRoleUpgradeDownlevelServer_state *state = tevent_req_data(
1442 req, struct rpccli_dssetup_DsRoleUpgradeDownlevelServer_state);
1443 NTSTATUS status;
1444 TALLOC_CTX *mem_ctx;
1446 if (state->out_mem_ctx) {
1447 mem_ctx = state->out_mem_ctx;
1448 } else {
1449 mem_ctx = state;
1452 status = state->dispatch_recv(subreq, mem_ctx);
1453 TALLOC_FREE(subreq);
1454 if (!NT_STATUS_IS_OK(status)) {
1455 tevent_req_nterror(req, status);
1456 return;
1459 /* Copy out parameters */
1461 /* Copy result */
1462 state->orig.out.result = state->tmp.out.result;
1464 /* Reset temporary structure */
1465 ZERO_STRUCT(state->tmp);
1467 if (DEBUGLEVEL >= 10) {
1468 NDR_PRINT_OUT_DEBUG(dssetup_DsRoleUpgradeDownlevelServer, &state->orig);
1471 tevent_req_done(req);
1474 NTSTATUS rpccli_dssetup_DsRoleUpgradeDownlevelServer_recv(struct tevent_req *req,
1475 TALLOC_CTX *mem_ctx,
1476 WERROR *result)
1478 struct rpccli_dssetup_DsRoleUpgradeDownlevelServer_state *state = tevent_req_data(
1479 req, struct rpccli_dssetup_DsRoleUpgradeDownlevelServer_state);
1480 NTSTATUS status;
1482 if (tevent_req_is_nterror(req, &status)) {
1483 tevent_req_received(req);
1484 return status;
1487 /* Steal possbile out parameters to the callers context */
1488 talloc_steal(mem_ctx, state->out_mem_ctx);
1490 /* Return result */
1491 *result = state->orig.out.result;
1493 tevent_req_received(req);
1494 return NT_STATUS_OK;
1497 NTSTATUS rpccli_dssetup_DsRoleUpgradeDownlevelServer(struct rpc_pipe_client *cli,
1498 TALLOC_CTX *mem_ctx,
1499 WERROR *werror)
1501 struct dssetup_DsRoleUpgradeDownlevelServer r;
1502 NTSTATUS status;
1504 /* In parameters */
1506 if (DEBUGLEVEL >= 10) {
1507 NDR_PRINT_IN_DEBUG(dssetup_DsRoleUpgradeDownlevelServer, &r);
1510 status = cli->dispatch(cli,
1511 mem_ctx,
1512 &ndr_table_dssetup,
1513 NDR_DSSETUP_DSROLEUPGRADEDOWNLEVELSERVER,
1514 &r);
1516 if (!NT_STATUS_IS_OK(status)) {
1517 return status;
1520 if (DEBUGLEVEL >= 10) {
1521 NDR_PRINT_OUT_DEBUG(dssetup_DsRoleUpgradeDownlevelServer, &r);
1524 if (NT_STATUS_IS_ERR(status)) {
1525 return status;
1528 /* Return variables */
1530 /* Return result */
1531 if (werror) {
1532 *werror = r.out.result;
1535 return werror_to_ntstatus(r.out.result);
1538 struct rpccli_dssetup_DsRoleAbortDownlevelServerUpgrade_state {
1539 struct dssetup_DsRoleAbortDownlevelServerUpgrade orig;
1540 struct dssetup_DsRoleAbortDownlevelServerUpgrade tmp;
1541 TALLOC_CTX *out_mem_ctx;
1542 NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
1545 static void rpccli_dssetup_DsRoleAbortDownlevelServerUpgrade_done(struct tevent_req *subreq);
1547 struct tevent_req *rpccli_dssetup_DsRoleAbortDownlevelServerUpgrade_send(TALLOC_CTX *mem_ctx,
1548 struct tevent_context *ev,
1549 struct rpc_pipe_client *cli)
1551 struct tevent_req *req;
1552 struct rpccli_dssetup_DsRoleAbortDownlevelServerUpgrade_state *state;
1553 struct tevent_req *subreq;
1555 req = tevent_req_create(mem_ctx, &state,
1556 struct rpccli_dssetup_DsRoleAbortDownlevelServerUpgrade_state);
1557 if (req == NULL) {
1558 return NULL;
1560 state->out_mem_ctx = NULL;
1561 state->dispatch_recv = cli->dispatch_recv;
1563 /* In parameters */
1565 /* Out parameters */
1567 /* Result */
1568 ZERO_STRUCT(state->orig.out.result);
1570 if (DEBUGLEVEL >= 10) {
1571 NDR_PRINT_IN_DEBUG(dssetup_DsRoleAbortDownlevelServerUpgrade, &state->orig);
1574 /* make a temporary copy, that we pass to the dispatch function */
1575 state->tmp = state->orig;
1577 subreq = cli->dispatch_send(state, ev, cli,
1578 &ndr_table_dssetup,
1579 NDR_DSSETUP_DSROLEABORTDOWNLEVELSERVERUPGRADE,
1580 &state->tmp);
1581 if (tevent_req_nomem(subreq, req)) {
1582 return tevent_req_post(req, ev);
1584 tevent_req_set_callback(subreq, rpccli_dssetup_DsRoleAbortDownlevelServerUpgrade_done, req);
1585 return req;
1588 static void rpccli_dssetup_DsRoleAbortDownlevelServerUpgrade_done(struct tevent_req *subreq)
1590 struct tevent_req *req = tevent_req_callback_data(
1591 subreq, struct tevent_req);
1592 struct rpccli_dssetup_DsRoleAbortDownlevelServerUpgrade_state *state = tevent_req_data(
1593 req, struct rpccli_dssetup_DsRoleAbortDownlevelServerUpgrade_state);
1594 NTSTATUS status;
1595 TALLOC_CTX *mem_ctx;
1597 if (state->out_mem_ctx) {
1598 mem_ctx = state->out_mem_ctx;
1599 } else {
1600 mem_ctx = state;
1603 status = state->dispatch_recv(subreq, mem_ctx);
1604 TALLOC_FREE(subreq);
1605 if (!NT_STATUS_IS_OK(status)) {
1606 tevent_req_nterror(req, status);
1607 return;
1610 /* Copy out parameters */
1612 /* Copy result */
1613 state->orig.out.result = state->tmp.out.result;
1615 /* Reset temporary structure */
1616 ZERO_STRUCT(state->tmp);
1618 if (DEBUGLEVEL >= 10) {
1619 NDR_PRINT_OUT_DEBUG(dssetup_DsRoleAbortDownlevelServerUpgrade, &state->orig);
1622 tevent_req_done(req);
1625 NTSTATUS rpccli_dssetup_DsRoleAbortDownlevelServerUpgrade_recv(struct tevent_req *req,
1626 TALLOC_CTX *mem_ctx,
1627 WERROR *result)
1629 struct rpccli_dssetup_DsRoleAbortDownlevelServerUpgrade_state *state = tevent_req_data(
1630 req, struct rpccli_dssetup_DsRoleAbortDownlevelServerUpgrade_state);
1631 NTSTATUS status;
1633 if (tevent_req_is_nterror(req, &status)) {
1634 tevent_req_received(req);
1635 return status;
1638 /* Steal possbile out parameters to the callers context */
1639 talloc_steal(mem_ctx, state->out_mem_ctx);
1641 /* Return result */
1642 *result = state->orig.out.result;
1644 tevent_req_received(req);
1645 return NT_STATUS_OK;
1648 NTSTATUS rpccli_dssetup_DsRoleAbortDownlevelServerUpgrade(struct rpc_pipe_client *cli,
1649 TALLOC_CTX *mem_ctx,
1650 WERROR *werror)
1652 struct dssetup_DsRoleAbortDownlevelServerUpgrade r;
1653 NTSTATUS status;
1655 /* In parameters */
1657 if (DEBUGLEVEL >= 10) {
1658 NDR_PRINT_IN_DEBUG(dssetup_DsRoleAbortDownlevelServerUpgrade, &r);
1661 status = cli->dispatch(cli,
1662 mem_ctx,
1663 &ndr_table_dssetup,
1664 NDR_DSSETUP_DSROLEABORTDOWNLEVELSERVERUPGRADE,
1665 &r);
1667 if (!NT_STATUS_IS_OK(status)) {
1668 return status;
1671 if (DEBUGLEVEL >= 10) {
1672 NDR_PRINT_OUT_DEBUG(dssetup_DsRoleAbortDownlevelServerUpgrade, &r);
1675 if (NT_STATUS_IS_ERR(status)) {
1676 return status;
1679 /* Return variables */
1681 /* Return result */
1682 if (werror) {
1683 *werror = r.out.result;
1686 return werror_to_ntstatus(r.out.result);