2 * Unix SMB/CIFS implementation.
3 * client auto-generated by pidl. DO NOT MODIFY!
7 #include "../librpc/gen_ndr/cli_drsuapi.h"
9 struct rpccli_drsuapi_DsBind_state
{
10 struct drsuapi_DsBind orig
;
11 struct drsuapi_DsBind tmp
;
12 TALLOC_CTX
*out_mem_ctx
;
13 NTSTATUS (*dispatch_recv
)(struct tevent_req
*req
, TALLOC_CTX
*mem_ctx
);
16 static void rpccli_drsuapi_DsBind_done(struct tevent_req
*subreq
);
18 struct tevent_req
*rpccli_drsuapi_DsBind_send(TALLOC_CTX
*mem_ctx
,
19 struct tevent_context
*ev
,
20 struct rpc_pipe_client
*cli
,
21 struct GUID
*_bind_guid
/* [in] [unique] */,
22 struct drsuapi_DsBindInfoCtr
*_bind_info
/* [in,out] [unique] */,
23 struct policy_handle
*_bind_handle
/* [out] [ref] */)
25 struct tevent_req
*req
;
26 struct rpccli_drsuapi_DsBind_state
*state
;
27 struct tevent_req
*subreq
;
29 req
= tevent_req_create(mem_ctx
, &state
,
30 struct rpccli_drsuapi_DsBind_state
);
34 state
->out_mem_ctx
= NULL
;
35 state
->dispatch_recv
= cli
->dispatch_recv
;
38 state
->orig
.in
.bind_guid
= _bind_guid
;
39 state
->orig
.in
.bind_info
= _bind_info
;
42 state
->orig
.out
.bind_info
= _bind_info
;
43 state
->orig
.out
.bind_handle
= _bind_handle
;
46 ZERO_STRUCT(state
->orig
.out
.result
);
48 if (DEBUGLEVEL
>= 10) {
49 NDR_PRINT_IN_DEBUG(drsuapi_DsBind
, &state
->orig
);
52 state
->out_mem_ctx
= talloc_named_const(state
, 0,
53 "rpccli_drsuapi_DsBind_out_memory");
54 if (tevent_req_nomem(state
->out_mem_ctx
, req
)) {
55 return tevent_req_post(req
, ev
);
58 /* make a temporary copy, that we pass to the dispatch function */
59 state
->tmp
= state
->orig
;
61 subreq
= cli
->dispatch_send(state
, ev
, cli
,
65 if (tevent_req_nomem(subreq
, req
)) {
66 return tevent_req_post(req
, ev
);
68 tevent_req_set_callback(subreq
, rpccli_drsuapi_DsBind_done
, req
);
72 static void rpccli_drsuapi_DsBind_done(struct tevent_req
*subreq
)
74 struct tevent_req
*req
= tevent_req_callback_data(
75 subreq
, struct tevent_req
);
76 struct rpccli_drsuapi_DsBind_state
*state
= tevent_req_data(
77 req
, struct rpccli_drsuapi_DsBind_state
);
81 if (state
->out_mem_ctx
) {
82 mem_ctx
= state
->out_mem_ctx
;
87 status
= state
->dispatch_recv(subreq
, mem_ctx
);
89 if (!NT_STATUS_IS_OK(status
)) {
90 tevent_req_nterror(req
, status
);
94 /* Copy out parameters */
95 if (state
->orig
.out
.bind_info
&& state
->tmp
.out
.bind_info
) {
96 *state
->orig
.out
.bind_info
= *state
->tmp
.out
.bind_info
;
98 *state
->orig
.out
.bind_handle
= *state
->tmp
.out
.bind_handle
;
101 state
->orig
.out
.result
= state
->tmp
.out
.result
;
103 /* Reset temporary structure */
104 ZERO_STRUCT(state
->tmp
);
106 if (DEBUGLEVEL
>= 10) {
107 NDR_PRINT_OUT_DEBUG(drsuapi_DsBind
, &state
->orig
);
110 tevent_req_done(req
);
113 NTSTATUS
rpccli_drsuapi_DsBind_recv(struct tevent_req
*req
,
117 struct rpccli_drsuapi_DsBind_state
*state
= tevent_req_data(
118 req
, struct rpccli_drsuapi_DsBind_state
);
121 if (tevent_req_is_nterror(req
, &status
)) {
122 tevent_req_received(req
);
126 /* Steal possbile out parameters to the callers context */
127 talloc_steal(mem_ctx
, state
->out_mem_ctx
);
130 *result
= state
->orig
.out
.result
;
132 tevent_req_received(req
);
136 NTSTATUS
rpccli_drsuapi_DsBind(struct rpc_pipe_client
*cli
,
138 struct GUID
*bind_guid
/* [in] [unique] */,
139 struct drsuapi_DsBindInfoCtr
*bind_info
/* [in,out] [unique] */,
140 struct policy_handle
*bind_handle
/* [out] [ref] */,
143 struct drsuapi_DsBind r
;
147 r
.in
.bind_guid
= bind_guid
;
148 r
.in
.bind_info
= bind_info
;
150 if (DEBUGLEVEL
>= 10) {
151 NDR_PRINT_IN_DEBUG(drsuapi_DsBind
, &r
);
154 status
= cli
->dispatch(cli
,
160 if (!NT_STATUS_IS_OK(status
)) {
164 if (DEBUGLEVEL
>= 10) {
165 NDR_PRINT_OUT_DEBUG(drsuapi_DsBind
, &r
);
168 if (NT_STATUS_IS_ERR(status
)) {
172 /* Return variables */
173 if (bind_info
&& r
.out
.bind_info
) {
174 *bind_info
= *r
.out
.bind_info
;
176 *bind_handle
= *r
.out
.bind_handle
;
180 *werror
= r
.out
.result
;
183 return werror_to_ntstatus(r
.out
.result
);
186 struct rpccli_drsuapi_DsUnbind_state
{
187 struct drsuapi_DsUnbind orig
;
188 struct drsuapi_DsUnbind tmp
;
189 TALLOC_CTX
*out_mem_ctx
;
190 NTSTATUS (*dispatch_recv
)(struct tevent_req
*req
, TALLOC_CTX
*mem_ctx
);
193 static void rpccli_drsuapi_DsUnbind_done(struct tevent_req
*subreq
);
195 struct tevent_req
*rpccli_drsuapi_DsUnbind_send(TALLOC_CTX
*mem_ctx
,
196 struct tevent_context
*ev
,
197 struct rpc_pipe_client
*cli
,
198 struct policy_handle
*_bind_handle
/* [in,out] [ref] */)
200 struct tevent_req
*req
;
201 struct rpccli_drsuapi_DsUnbind_state
*state
;
202 struct tevent_req
*subreq
;
204 req
= tevent_req_create(mem_ctx
, &state
,
205 struct rpccli_drsuapi_DsUnbind_state
);
209 state
->out_mem_ctx
= NULL
;
210 state
->dispatch_recv
= cli
->dispatch_recv
;
213 state
->orig
.in
.bind_handle
= _bind_handle
;
216 state
->orig
.out
.bind_handle
= _bind_handle
;
219 ZERO_STRUCT(state
->orig
.out
.result
);
221 if (DEBUGLEVEL
>= 10) {
222 NDR_PRINT_IN_DEBUG(drsuapi_DsUnbind
, &state
->orig
);
225 state
->out_mem_ctx
= talloc_named_const(state
, 0,
226 "rpccli_drsuapi_DsUnbind_out_memory");
227 if (tevent_req_nomem(state
->out_mem_ctx
, req
)) {
228 return tevent_req_post(req
, ev
);
231 /* make a temporary copy, that we pass to the dispatch function */
232 state
->tmp
= state
->orig
;
234 subreq
= cli
->dispatch_send(state
, ev
, cli
,
236 NDR_DRSUAPI_DSUNBIND
,
238 if (tevent_req_nomem(subreq
, req
)) {
239 return tevent_req_post(req
, ev
);
241 tevent_req_set_callback(subreq
, rpccli_drsuapi_DsUnbind_done
, req
);
245 static void rpccli_drsuapi_DsUnbind_done(struct tevent_req
*subreq
)
247 struct tevent_req
*req
= tevent_req_callback_data(
248 subreq
, struct tevent_req
);
249 struct rpccli_drsuapi_DsUnbind_state
*state
= tevent_req_data(
250 req
, struct rpccli_drsuapi_DsUnbind_state
);
254 if (state
->out_mem_ctx
) {
255 mem_ctx
= state
->out_mem_ctx
;
260 status
= state
->dispatch_recv(subreq
, mem_ctx
);
262 if (!NT_STATUS_IS_OK(status
)) {
263 tevent_req_nterror(req
, status
);
267 /* Copy out parameters */
268 *state
->orig
.out
.bind_handle
= *state
->tmp
.out
.bind_handle
;
271 state
->orig
.out
.result
= state
->tmp
.out
.result
;
273 /* Reset temporary structure */
274 ZERO_STRUCT(state
->tmp
);
276 if (DEBUGLEVEL
>= 10) {
277 NDR_PRINT_OUT_DEBUG(drsuapi_DsUnbind
, &state
->orig
);
280 tevent_req_done(req
);
283 NTSTATUS
rpccli_drsuapi_DsUnbind_recv(struct tevent_req
*req
,
287 struct rpccli_drsuapi_DsUnbind_state
*state
= tevent_req_data(
288 req
, struct rpccli_drsuapi_DsUnbind_state
);
291 if (tevent_req_is_nterror(req
, &status
)) {
292 tevent_req_received(req
);
296 /* Steal possbile out parameters to the callers context */
297 talloc_steal(mem_ctx
, state
->out_mem_ctx
);
300 *result
= state
->orig
.out
.result
;
302 tevent_req_received(req
);
306 NTSTATUS
rpccli_drsuapi_DsUnbind(struct rpc_pipe_client
*cli
,
308 struct policy_handle
*bind_handle
/* [in,out] [ref] */,
311 struct drsuapi_DsUnbind r
;
315 r
.in
.bind_handle
= bind_handle
;
317 if (DEBUGLEVEL
>= 10) {
318 NDR_PRINT_IN_DEBUG(drsuapi_DsUnbind
, &r
);
321 status
= cli
->dispatch(cli
,
324 NDR_DRSUAPI_DSUNBIND
,
327 if (!NT_STATUS_IS_OK(status
)) {
331 if (DEBUGLEVEL
>= 10) {
332 NDR_PRINT_OUT_DEBUG(drsuapi_DsUnbind
, &r
);
335 if (NT_STATUS_IS_ERR(status
)) {
339 /* Return variables */
340 *bind_handle
= *r
.out
.bind_handle
;
344 *werror
= r
.out
.result
;
347 return werror_to_ntstatus(r
.out
.result
);
350 struct rpccli_drsuapi_DsReplicaSync_state
{
351 struct drsuapi_DsReplicaSync orig
;
352 struct drsuapi_DsReplicaSync tmp
;
353 TALLOC_CTX
*out_mem_ctx
;
354 NTSTATUS (*dispatch_recv
)(struct tevent_req
*req
, TALLOC_CTX
*mem_ctx
);
357 static void rpccli_drsuapi_DsReplicaSync_done(struct tevent_req
*subreq
);
359 struct tevent_req
*rpccli_drsuapi_DsReplicaSync_send(TALLOC_CTX
*mem_ctx
,
360 struct tevent_context
*ev
,
361 struct rpc_pipe_client
*cli
,
362 struct policy_handle
*_bind_handle
/* [in] [ref] */,
363 int32_t _level
/* [in] */,
364 union drsuapi_DsReplicaSyncRequest _req
/* [in] [switch_is(level)] */)
366 struct tevent_req
*req
;
367 struct rpccli_drsuapi_DsReplicaSync_state
*state
;
368 struct tevent_req
*subreq
;
370 req
= tevent_req_create(mem_ctx
, &state
,
371 struct rpccli_drsuapi_DsReplicaSync_state
);
375 state
->out_mem_ctx
= NULL
;
376 state
->dispatch_recv
= cli
->dispatch_recv
;
379 state
->orig
.in
.bind_handle
= _bind_handle
;
380 state
->orig
.in
.level
= _level
;
381 state
->orig
.in
.req
= _req
;
386 ZERO_STRUCT(state
->orig
.out
.result
);
388 if (DEBUGLEVEL
>= 10) {
389 NDR_PRINT_IN_DEBUG(drsuapi_DsReplicaSync
, &state
->orig
);
392 /* make a temporary copy, that we pass to the dispatch function */
393 state
->tmp
= state
->orig
;
395 subreq
= cli
->dispatch_send(state
, ev
, cli
,
397 NDR_DRSUAPI_DSREPLICASYNC
,
399 if (tevent_req_nomem(subreq
, req
)) {
400 return tevent_req_post(req
, ev
);
402 tevent_req_set_callback(subreq
, rpccli_drsuapi_DsReplicaSync_done
, req
);
406 static void rpccli_drsuapi_DsReplicaSync_done(struct tevent_req
*subreq
)
408 struct tevent_req
*req
= tevent_req_callback_data(
409 subreq
, struct tevent_req
);
410 struct rpccli_drsuapi_DsReplicaSync_state
*state
= tevent_req_data(
411 req
, struct rpccli_drsuapi_DsReplicaSync_state
);
415 if (state
->out_mem_ctx
) {
416 mem_ctx
= state
->out_mem_ctx
;
421 status
= state
->dispatch_recv(subreq
, mem_ctx
);
423 if (!NT_STATUS_IS_OK(status
)) {
424 tevent_req_nterror(req
, status
);
428 /* Copy out parameters */
431 state
->orig
.out
.result
= state
->tmp
.out
.result
;
433 /* Reset temporary structure */
434 ZERO_STRUCT(state
->tmp
);
436 if (DEBUGLEVEL
>= 10) {
437 NDR_PRINT_OUT_DEBUG(drsuapi_DsReplicaSync
, &state
->orig
);
440 tevent_req_done(req
);
443 NTSTATUS
rpccli_drsuapi_DsReplicaSync_recv(struct tevent_req
*req
,
447 struct rpccli_drsuapi_DsReplicaSync_state
*state
= tevent_req_data(
448 req
, struct rpccli_drsuapi_DsReplicaSync_state
);
451 if (tevent_req_is_nterror(req
, &status
)) {
452 tevent_req_received(req
);
456 /* Steal possbile out parameters to the callers context */
457 talloc_steal(mem_ctx
, state
->out_mem_ctx
);
460 *result
= state
->orig
.out
.result
;
462 tevent_req_received(req
);
466 NTSTATUS
rpccli_drsuapi_DsReplicaSync(struct rpc_pipe_client
*cli
,
468 struct policy_handle
*bind_handle
/* [in] [ref] */,
469 int32_t level
/* [in] */,
470 union drsuapi_DsReplicaSyncRequest req
/* [in] [switch_is(level)] */,
473 struct drsuapi_DsReplicaSync r
;
477 r
.in
.bind_handle
= bind_handle
;
481 if (DEBUGLEVEL
>= 10) {
482 NDR_PRINT_IN_DEBUG(drsuapi_DsReplicaSync
, &r
);
485 status
= cli
->dispatch(cli
,
488 NDR_DRSUAPI_DSREPLICASYNC
,
491 if (!NT_STATUS_IS_OK(status
)) {
495 if (DEBUGLEVEL
>= 10) {
496 NDR_PRINT_OUT_DEBUG(drsuapi_DsReplicaSync
, &r
);
499 if (NT_STATUS_IS_ERR(status
)) {
503 /* Return variables */
507 *werror
= r
.out
.result
;
510 return werror_to_ntstatus(r
.out
.result
);
513 struct rpccli_drsuapi_DsGetNCChanges_state
{
514 struct drsuapi_DsGetNCChanges orig
;
515 struct drsuapi_DsGetNCChanges tmp
;
516 TALLOC_CTX
*out_mem_ctx
;
517 NTSTATUS (*dispatch_recv
)(struct tevent_req
*req
, TALLOC_CTX
*mem_ctx
);
520 static void rpccli_drsuapi_DsGetNCChanges_done(struct tevent_req
*subreq
);
522 struct tevent_req
*rpccli_drsuapi_DsGetNCChanges_send(TALLOC_CTX
*mem_ctx
,
523 struct tevent_context
*ev
,
524 struct rpc_pipe_client
*cli
,
525 struct policy_handle
*_bind_handle
/* [in] [ref] */,
526 int32_t _level
/* [in] */,
527 union drsuapi_DsGetNCChangesRequest
*_req
/* [in] [ref,switch_is(level)] */,
528 int32_t *_level_out
/* [out] [ref] */,
529 union drsuapi_DsGetNCChangesCtr
*_ctr
/* [out] [ref,switch_is(*level_out)] */)
531 struct tevent_req
*req
;
532 struct rpccli_drsuapi_DsGetNCChanges_state
*state
;
533 struct tevent_req
*subreq
;
535 req
= tevent_req_create(mem_ctx
, &state
,
536 struct rpccli_drsuapi_DsGetNCChanges_state
);
540 state
->out_mem_ctx
= NULL
;
541 state
->dispatch_recv
= cli
->dispatch_recv
;
544 state
->orig
.in
.bind_handle
= _bind_handle
;
545 state
->orig
.in
.level
= _level
;
546 state
->orig
.in
.req
= _req
;
549 state
->orig
.out
.level_out
= _level_out
;
550 state
->orig
.out
.ctr
= _ctr
;
553 ZERO_STRUCT(state
->orig
.out
.result
);
555 if (DEBUGLEVEL
>= 10) {
556 NDR_PRINT_IN_DEBUG(drsuapi_DsGetNCChanges
, &state
->orig
);
559 state
->out_mem_ctx
= talloc_named_const(state
, 0,
560 "rpccli_drsuapi_DsGetNCChanges_out_memory");
561 if (tevent_req_nomem(state
->out_mem_ctx
, req
)) {
562 return tevent_req_post(req
, ev
);
565 /* make a temporary copy, that we pass to the dispatch function */
566 state
->tmp
= state
->orig
;
568 subreq
= cli
->dispatch_send(state
, ev
, cli
,
570 NDR_DRSUAPI_DSGETNCCHANGES
,
572 if (tevent_req_nomem(subreq
, req
)) {
573 return tevent_req_post(req
, ev
);
575 tevent_req_set_callback(subreq
, rpccli_drsuapi_DsGetNCChanges_done
, req
);
579 static void rpccli_drsuapi_DsGetNCChanges_done(struct tevent_req
*subreq
)
581 struct tevent_req
*req
= tevent_req_callback_data(
582 subreq
, struct tevent_req
);
583 struct rpccli_drsuapi_DsGetNCChanges_state
*state
= tevent_req_data(
584 req
, struct rpccli_drsuapi_DsGetNCChanges_state
);
588 if (state
->out_mem_ctx
) {
589 mem_ctx
= state
->out_mem_ctx
;
594 status
= state
->dispatch_recv(subreq
, mem_ctx
);
596 if (!NT_STATUS_IS_OK(status
)) {
597 tevent_req_nterror(req
, status
);
601 /* Copy out parameters */
602 *state
->orig
.out
.level_out
= *state
->tmp
.out
.level_out
;
603 *state
->orig
.out
.ctr
= *state
->tmp
.out
.ctr
;
606 state
->orig
.out
.result
= state
->tmp
.out
.result
;
608 /* Reset temporary structure */
609 ZERO_STRUCT(state
->tmp
);
611 if (DEBUGLEVEL
>= 10) {
612 NDR_PRINT_OUT_DEBUG(drsuapi_DsGetNCChanges
, &state
->orig
);
615 tevent_req_done(req
);
618 NTSTATUS
rpccli_drsuapi_DsGetNCChanges_recv(struct tevent_req
*req
,
622 struct rpccli_drsuapi_DsGetNCChanges_state
*state
= tevent_req_data(
623 req
, struct rpccli_drsuapi_DsGetNCChanges_state
);
626 if (tevent_req_is_nterror(req
, &status
)) {
627 tevent_req_received(req
);
631 /* Steal possbile out parameters to the callers context */
632 talloc_steal(mem_ctx
, state
->out_mem_ctx
);
635 *result
= state
->orig
.out
.result
;
637 tevent_req_received(req
);
641 NTSTATUS
rpccli_drsuapi_DsGetNCChanges(struct rpc_pipe_client
*cli
,
643 struct policy_handle
*bind_handle
/* [in] [ref] */,
644 int32_t level
/* [in] */,
645 union drsuapi_DsGetNCChangesRequest
*req
/* [in] [ref,switch_is(level)] */,
646 int32_t *level_out
/* [out] [ref] */,
647 union drsuapi_DsGetNCChangesCtr
*ctr
/* [out] [ref,switch_is(*level_out)] */,
650 struct drsuapi_DsGetNCChanges r
;
654 r
.in
.bind_handle
= bind_handle
;
658 if (DEBUGLEVEL
>= 10) {
659 NDR_PRINT_IN_DEBUG(drsuapi_DsGetNCChanges
, &r
);
662 status
= cli
->dispatch(cli
,
665 NDR_DRSUAPI_DSGETNCCHANGES
,
668 if (!NT_STATUS_IS_OK(status
)) {
672 if (DEBUGLEVEL
>= 10) {
673 NDR_PRINT_OUT_DEBUG(drsuapi_DsGetNCChanges
, &r
);
676 if (NT_STATUS_IS_ERR(status
)) {
680 /* Return variables */
681 *level_out
= *r
.out
.level_out
;
686 *werror
= r
.out
.result
;
689 return werror_to_ntstatus(r
.out
.result
);
692 struct rpccli_drsuapi_DsReplicaUpdateRefs_state
{
693 struct drsuapi_DsReplicaUpdateRefs orig
;
694 struct drsuapi_DsReplicaUpdateRefs tmp
;
695 TALLOC_CTX
*out_mem_ctx
;
696 NTSTATUS (*dispatch_recv
)(struct tevent_req
*req
, TALLOC_CTX
*mem_ctx
);
699 static void rpccli_drsuapi_DsReplicaUpdateRefs_done(struct tevent_req
*subreq
);
701 struct tevent_req
*rpccli_drsuapi_DsReplicaUpdateRefs_send(TALLOC_CTX
*mem_ctx
,
702 struct tevent_context
*ev
,
703 struct rpc_pipe_client
*cli
,
704 struct policy_handle
*_bind_handle
/* [in] [ref] */,
705 int32_t _level
/* [in] */,
706 union drsuapi_DsReplicaUpdateRefsRequest _req
/* [in] [switch_is(level)] */)
708 struct tevent_req
*req
;
709 struct rpccli_drsuapi_DsReplicaUpdateRefs_state
*state
;
710 struct tevent_req
*subreq
;
712 req
= tevent_req_create(mem_ctx
, &state
,
713 struct rpccli_drsuapi_DsReplicaUpdateRefs_state
);
717 state
->out_mem_ctx
= NULL
;
718 state
->dispatch_recv
= cli
->dispatch_recv
;
721 state
->orig
.in
.bind_handle
= _bind_handle
;
722 state
->orig
.in
.level
= _level
;
723 state
->orig
.in
.req
= _req
;
728 ZERO_STRUCT(state
->orig
.out
.result
);
730 if (DEBUGLEVEL
>= 10) {
731 NDR_PRINT_IN_DEBUG(drsuapi_DsReplicaUpdateRefs
, &state
->orig
);
734 /* make a temporary copy, that we pass to the dispatch function */
735 state
->tmp
= state
->orig
;
737 subreq
= cli
->dispatch_send(state
, ev
, cli
,
739 NDR_DRSUAPI_DSREPLICAUPDATEREFS
,
741 if (tevent_req_nomem(subreq
, req
)) {
742 return tevent_req_post(req
, ev
);
744 tevent_req_set_callback(subreq
, rpccli_drsuapi_DsReplicaUpdateRefs_done
, req
);
748 static void rpccli_drsuapi_DsReplicaUpdateRefs_done(struct tevent_req
*subreq
)
750 struct tevent_req
*req
= tevent_req_callback_data(
751 subreq
, struct tevent_req
);
752 struct rpccli_drsuapi_DsReplicaUpdateRefs_state
*state
= tevent_req_data(
753 req
, struct rpccli_drsuapi_DsReplicaUpdateRefs_state
);
757 if (state
->out_mem_ctx
) {
758 mem_ctx
= state
->out_mem_ctx
;
763 status
= state
->dispatch_recv(subreq
, mem_ctx
);
765 if (!NT_STATUS_IS_OK(status
)) {
766 tevent_req_nterror(req
, status
);
770 /* Copy out parameters */
773 state
->orig
.out
.result
= state
->tmp
.out
.result
;
775 /* Reset temporary structure */
776 ZERO_STRUCT(state
->tmp
);
778 if (DEBUGLEVEL
>= 10) {
779 NDR_PRINT_OUT_DEBUG(drsuapi_DsReplicaUpdateRefs
, &state
->orig
);
782 tevent_req_done(req
);
785 NTSTATUS
rpccli_drsuapi_DsReplicaUpdateRefs_recv(struct tevent_req
*req
,
789 struct rpccli_drsuapi_DsReplicaUpdateRefs_state
*state
= tevent_req_data(
790 req
, struct rpccli_drsuapi_DsReplicaUpdateRefs_state
);
793 if (tevent_req_is_nterror(req
, &status
)) {
794 tevent_req_received(req
);
798 /* Steal possbile out parameters to the callers context */
799 talloc_steal(mem_ctx
, state
->out_mem_ctx
);
802 *result
= state
->orig
.out
.result
;
804 tevent_req_received(req
);
808 NTSTATUS
rpccli_drsuapi_DsReplicaUpdateRefs(struct rpc_pipe_client
*cli
,
810 struct policy_handle
*bind_handle
/* [in] [ref] */,
811 int32_t level
/* [in] */,
812 union drsuapi_DsReplicaUpdateRefsRequest req
/* [in] [switch_is(level)] */,
815 struct drsuapi_DsReplicaUpdateRefs r
;
819 r
.in
.bind_handle
= bind_handle
;
823 if (DEBUGLEVEL
>= 10) {
824 NDR_PRINT_IN_DEBUG(drsuapi_DsReplicaUpdateRefs
, &r
);
827 status
= cli
->dispatch(cli
,
830 NDR_DRSUAPI_DSREPLICAUPDATEREFS
,
833 if (!NT_STATUS_IS_OK(status
)) {
837 if (DEBUGLEVEL
>= 10) {
838 NDR_PRINT_OUT_DEBUG(drsuapi_DsReplicaUpdateRefs
, &r
);
841 if (NT_STATUS_IS_ERR(status
)) {
845 /* Return variables */
849 *werror
= r
.out
.result
;
852 return werror_to_ntstatus(r
.out
.result
);
855 struct rpccli_DRSUAPI_REPLICA_ADD_state
{
856 struct DRSUAPI_REPLICA_ADD orig
;
857 struct DRSUAPI_REPLICA_ADD tmp
;
858 TALLOC_CTX
*out_mem_ctx
;
859 NTSTATUS (*dispatch_recv
)(struct tevent_req
*req
, TALLOC_CTX
*mem_ctx
);
862 static void rpccli_DRSUAPI_REPLICA_ADD_done(struct tevent_req
*subreq
);
864 struct tevent_req
*rpccli_DRSUAPI_REPLICA_ADD_send(TALLOC_CTX
*mem_ctx
,
865 struct tevent_context
*ev
,
866 struct rpc_pipe_client
*cli
)
868 struct tevent_req
*req
;
869 struct rpccli_DRSUAPI_REPLICA_ADD_state
*state
;
870 struct tevent_req
*subreq
;
872 req
= tevent_req_create(mem_ctx
, &state
,
873 struct rpccli_DRSUAPI_REPLICA_ADD_state
);
877 state
->out_mem_ctx
= NULL
;
878 state
->dispatch_recv
= cli
->dispatch_recv
;
885 ZERO_STRUCT(state
->orig
.out
.result
);
887 if (DEBUGLEVEL
>= 10) {
888 NDR_PRINT_IN_DEBUG(DRSUAPI_REPLICA_ADD
, &state
->orig
);
891 /* make a temporary copy, that we pass to the dispatch function */
892 state
->tmp
= state
->orig
;
894 subreq
= cli
->dispatch_send(state
, ev
, cli
,
896 NDR_DRSUAPI_REPLICA_ADD
,
898 if (tevent_req_nomem(subreq
, req
)) {
899 return tevent_req_post(req
, ev
);
901 tevent_req_set_callback(subreq
, rpccli_DRSUAPI_REPLICA_ADD_done
, req
);
905 static void rpccli_DRSUAPI_REPLICA_ADD_done(struct tevent_req
*subreq
)
907 struct tevent_req
*req
= tevent_req_callback_data(
908 subreq
, struct tevent_req
);
909 struct rpccli_DRSUAPI_REPLICA_ADD_state
*state
= tevent_req_data(
910 req
, struct rpccli_DRSUAPI_REPLICA_ADD_state
);
914 if (state
->out_mem_ctx
) {
915 mem_ctx
= state
->out_mem_ctx
;
920 status
= state
->dispatch_recv(subreq
, mem_ctx
);
922 if (!NT_STATUS_IS_OK(status
)) {
923 tevent_req_nterror(req
, status
);
927 /* Copy out parameters */
930 state
->orig
.out
.result
= state
->tmp
.out
.result
;
932 /* Reset temporary structure */
933 ZERO_STRUCT(state
->tmp
);
935 if (DEBUGLEVEL
>= 10) {
936 NDR_PRINT_OUT_DEBUG(DRSUAPI_REPLICA_ADD
, &state
->orig
);
939 tevent_req_done(req
);
942 NTSTATUS
rpccli_DRSUAPI_REPLICA_ADD_recv(struct tevent_req
*req
,
946 struct rpccli_DRSUAPI_REPLICA_ADD_state
*state
= tevent_req_data(
947 req
, struct rpccli_DRSUAPI_REPLICA_ADD_state
);
950 if (tevent_req_is_nterror(req
, &status
)) {
951 tevent_req_received(req
);
955 /* Steal possbile out parameters to the callers context */
956 talloc_steal(mem_ctx
, state
->out_mem_ctx
);
959 *result
= state
->orig
.out
.result
;
961 tevent_req_received(req
);
965 NTSTATUS
rpccli_DRSUAPI_REPLICA_ADD(struct rpc_pipe_client
*cli
,
969 struct DRSUAPI_REPLICA_ADD r
;
974 if (DEBUGLEVEL
>= 10) {
975 NDR_PRINT_IN_DEBUG(DRSUAPI_REPLICA_ADD
, &r
);
978 status
= cli
->dispatch(cli
,
981 NDR_DRSUAPI_REPLICA_ADD
,
984 if (!NT_STATUS_IS_OK(status
)) {
988 if (DEBUGLEVEL
>= 10) {
989 NDR_PRINT_OUT_DEBUG(DRSUAPI_REPLICA_ADD
, &r
);
992 if (NT_STATUS_IS_ERR(status
)) {
996 /* Return variables */
1000 *werror
= r
.out
.result
;
1003 return werror_to_ntstatus(r
.out
.result
);
1006 struct rpccli_DRSUAPI_REPLICA_DEL_state
{
1007 struct DRSUAPI_REPLICA_DEL orig
;
1008 struct DRSUAPI_REPLICA_DEL tmp
;
1009 TALLOC_CTX
*out_mem_ctx
;
1010 NTSTATUS (*dispatch_recv
)(struct tevent_req
*req
, TALLOC_CTX
*mem_ctx
);
1013 static void rpccli_DRSUAPI_REPLICA_DEL_done(struct tevent_req
*subreq
);
1015 struct tevent_req
*rpccli_DRSUAPI_REPLICA_DEL_send(TALLOC_CTX
*mem_ctx
,
1016 struct tevent_context
*ev
,
1017 struct rpc_pipe_client
*cli
)
1019 struct tevent_req
*req
;
1020 struct rpccli_DRSUAPI_REPLICA_DEL_state
*state
;
1021 struct tevent_req
*subreq
;
1023 req
= tevent_req_create(mem_ctx
, &state
,
1024 struct rpccli_DRSUAPI_REPLICA_DEL_state
);
1028 state
->out_mem_ctx
= NULL
;
1029 state
->dispatch_recv
= cli
->dispatch_recv
;
1033 /* Out parameters */
1036 ZERO_STRUCT(state
->orig
.out
.result
);
1038 if (DEBUGLEVEL
>= 10) {
1039 NDR_PRINT_IN_DEBUG(DRSUAPI_REPLICA_DEL
, &state
->orig
);
1042 /* make a temporary copy, that we pass to the dispatch function */
1043 state
->tmp
= state
->orig
;
1045 subreq
= cli
->dispatch_send(state
, ev
, cli
,
1047 NDR_DRSUAPI_REPLICA_DEL
,
1049 if (tevent_req_nomem(subreq
, req
)) {
1050 return tevent_req_post(req
, ev
);
1052 tevent_req_set_callback(subreq
, rpccli_DRSUAPI_REPLICA_DEL_done
, req
);
1056 static void rpccli_DRSUAPI_REPLICA_DEL_done(struct tevent_req
*subreq
)
1058 struct tevent_req
*req
= tevent_req_callback_data(
1059 subreq
, struct tevent_req
);
1060 struct rpccli_DRSUAPI_REPLICA_DEL_state
*state
= tevent_req_data(
1061 req
, struct rpccli_DRSUAPI_REPLICA_DEL_state
);
1063 TALLOC_CTX
*mem_ctx
;
1065 if (state
->out_mem_ctx
) {
1066 mem_ctx
= state
->out_mem_ctx
;
1071 status
= state
->dispatch_recv(subreq
, mem_ctx
);
1072 TALLOC_FREE(subreq
);
1073 if (!NT_STATUS_IS_OK(status
)) {
1074 tevent_req_nterror(req
, status
);
1078 /* Copy out parameters */
1081 state
->orig
.out
.result
= state
->tmp
.out
.result
;
1083 /* Reset temporary structure */
1084 ZERO_STRUCT(state
->tmp
);
1086 if (DEBUGLEVEL
>= 10) {
1087 NDR_PRINT_OUT_DEBUG(DRSUAPI_REPLICA_DEL
, &state
->orig
);
1090 tevent_req_done(req
);
1093 NTSTATUS
rpccli_DRSUAPI_REPLICA_DEL_recv(struct tevent_req
*req
,
1094 TALLOC_CTX
*mem_ctx
,
1097 struct rpccli_DRSUAPI_REPLICA_DEL_state
*state
= tevent_req_data(
1098 req
, struct rpccli_DRSUAPI_REPLICA_DEL_state
);
1101 if (tevent_req_is_nterror(req
, &status
)) {
1102 tevent_req_received(req
);
1106 /* Steal possbile out parameters to the callers context */
1107 talloc_steal(mem_ctx
, state
->out_mem_ctx
);
1110 *result
= state
->orig
.out
.result
;
1112 tevent_req_received(req
);
1113 return NT_STATUS_OK
;
1116 NTSTATUS
rpccli_DRSUAPI_REPLICA_DEL(struct rpc_pipe_client
*cli
,
1117 TALLOC_CTX
*mem_ctx
,
1120 struct DRSUAPI_REPLICA_DEL r
;
1125 if (DEBUGLEVEL
>= 10) {
1126 NDR_PRINT_IN_DEBUG(DRSUAPI_REPLICA_DEL
, &r
);
1129 status
= cli
->dispatch(cli
,
1132 NDR_DRSUAPI_REPLICA_DEL
,
1135 if (!NT_STATUS_IS_OK(status
)) {
1139 if (DEBUGLEVEL
>= 10) {
1140 NDR_PRINT_OUT_DEBUG(DRSUAPI_REPLICA_DEL
, &r
);
1143 if (NT_STATUS_IS_ERR(status
)) {
1147 /* Return variables */
1151 *werror
= r
.out
.result
;
1154 return werror_to_ntstatus(r
.out
.result
);
1157 struct rpccli_DRSUAPI_REPLICA_MODIFY_state
{
1158 struct DRSUAPI_REPLICA_MODIFY orig
;
1159 struct DRSUAPI_REPLICA_MODIFY tmp
;
1160 TALLOC_CTX
*out_mem_ctx
;
1161 NTSTATUS (*dispatch_recv
)(struct tevent_req
*req
, TALLOC_CTX
*mem_ctx
);
1164 static void rpccli_DRSUAPI_REPLICA_MODIFY_done(struct tevent_req
*subreq
);
1166 struct tevent_req
*rpccli_DRSUAPI_REPLICA_MODIFY_send(TALLOC_CTX
*mem_ctx
,
1167 struct tevent_context
*ev
,
1168 struct rpc_pipe_client
*cli
)
1170 struct tevent_req
*req
;
1171 struct rpccli_DRSUAPI_REPLICA_MODIFY_state
*state
;
1172 struct tevent_req
*subreq
;
1174 req
= tevent_req_create(mem_ctx
, &state
,
1175 struct rpccli_DRSUAPI_REPLICA_MODIFY_state
);
1179 state
->out_mem_ctx
= NULL
;
1180 state
->dispatch_recv
= cli
->dispatch_recv
;
1184 /* Out parameters */
1187 ZERO_STRUCT(state
->orig
.out
.result
);
1189 if (DEBUGLEVEL
>= 10) {
1190 NDR_PRINT_IN_DEBUG(DRSUAPI_REPLICA_MODIFY
, &state
->orig
);
1193 /* make a temporary copy, that we pass to the dispatch function */
1194 state
->tmp
= state
->orig
;
1196 subreq
= cli
->dispatch_send(state
, ev
, cli
,
1198 NDR_DRSUAPI_REPLICA_MODIFY
,
1200 if (tevent_req_nomem(subreq
, req
)) {
1201 return tevent_req_post(req
, ev
);
1203 tevent_req_set_callback(subreq
, rpccli_DRSUAPI_REPLICA_MODIFY_done
, req
);
1207 static void rpccli_DRSUAPI_REPLICA_MODIFY_done(struct tevent_req
*subreq
)
1209 struct tevent_req
*req
= tevent_req_callback_data(
1210 subreq
, struct tevent_req
);
1211 struct rpccli_DRSUAPI_REPLICA_MODIFY_state
*state
= tevent_req_data(
1212 req
, struct rpccli_DRSUAPI_REPLICA_MODIFY_state
);
1214 TALLOC_CTX
*mem_ctx
;
1216 if (state
->out_mem_ctx
) {
1217 mem_ctx
= state
->out_mem_ctx
;
1222 status
= state
->dispatch_recv(subreq
, mem_ctx
);
1223 TALLOC_FREE(subreq
);
1224 if (!NT_STATUS_IS_OK(status
)) {
1225 tevent_req_nterror(req
, status
);
1229 /* Copy out parameters */
1232 state
->orig
.out
.result
= state
->tmp
.out
.result
;
1234 /* Reset temporary structure */
1235 ZERO_STRUCT(state
->tmp
);
1237 if (DEBUGLEVEL
>= 10) {
1238 NDR_PRINT_OUT_DEBUG(DRSUAPI_REPLICA_MODIFY
, &state
->orig
);
1241 tevent_req_done(req
);
1244 NTSTATUS
rpccli_DRSUAPI_REPLICA_MODIFY_recv(struct tevent_req
*req
,
1245 TALLOC_CTX
*mem_ctx
,
1248 struct rpccli_DRSUAPI_REPLICA_MODIFY_state
*state
= tevent_req_data(
1249 req
, struct rpccli_DRSUAPI_REPLICA_MODIFY_state
);
1252 if (tevent_req_is_nterror(req
, &status
)) {
1253 tevent_req_received(req
);
1257 /* Steal possbile out parameters to the callers context */
1258 talloc_steal(mem_ctx
, state
->out_mem_ctx
);
1261 *result
= state
->orig
.out
.result
;
1263 tevent_req_received(req
);
1264 return NT_STATUS_OK
;
1267 NTSTATUS
rpccli_DRSUAPI_REPLICA_MODIFY(struct rpc_pipe_client
*cli
,
1268 TALLOC_CTX
*mem_ctx
,
1271 struct DRSUAPI_REPLICA_MODIFY r
;
1276 if (DEBUGLEVEL
>= 10) {
1277 NDR_PRINT_IN_DEBUG(DRSUAPI_REPLICA_MODIFY
, &r
);
1280 status
= cli
->dispatch(cli
,
1283 NDR_DRSUAPI_REPLICA_MODIFY
,
1286 if (!NT_STATUS_IS_OK(status
)) {
1290 if (DEBUGLEVEL
>= 10) {
1291 NDR_PRINT_OUT_DEBUG(DRSUAPI_REPLICA_MODIFY
, &r
);
1294 if (NT_STATUS_IS_ERR(status
)) {
1298 /* Return variables */
1302 *werror
= r
.out
.result
;
1305 return werror_to_ntstatus(r
.out
.result
);
1308 struct rpccli_DRSUAPI_VERIFY_NAMES_state
{
1309 struct DRSUAPI_VERIFY_NAMES orig
;
1310 struct DRSUAPI_VERIFY_NAMES tmp
;
1311 TALLOC_CTX
*out_mem_ctx
;
1312 NTSTATUS (*dispatch_recv
)(struct tevent_req
*req
, TALLOC_CTX
*mem_ctx
);
1315 static void rpccli_DRSUAPI_VERIFY_NAMES_done(struct tevent_req
*subreq
);
1317 struct tevent_req
*rpccli_DRSUAPI_VERIFY_NAMES_send(TALLOC_CTX
*mem_ctx
,
1318 struct tevent_context
*ev
,
1319 struct rpc_pipe_client
*cli
)
1321 struct tevent_req
*req
;
1322 struct rpccli_DRSUAPI_VERIFY_NAMES_state
*state
;
1323 struct tevent_req
*subreq
;
1325 req
= tevent_req_create(mem_ctx
, &state
,
1326 struct rpccli_DRSUAPI_VERIFY_NAMES_state
);
1330 state
->out_mem_ctx
= NULL
;
1331 state
->dispatch_recv
= cli
->dispatch_recv
;
1335 /* Out parameters */
1338 ZERO_STRUCT(state
->orig
.out
.result
);
1340 if (DEBUGLEVEL
>= 10) {
1341 NDR_PRINT_IN_DEBUG(DRSUAPI_VERIFY_NAMES
, &state
->orig
);
1344 /* make a temporary copy, that we pass to the dispatch function */
1345 state
->tmp
= state
->orig
;
1347 subreq
= cli
->dispatch_send(state
, ev
, cli
,
1349 NDR_DRSUAPI_VERIFY_NAMES
,
1351 if (tevent_req_nomem(subreq
, req
)) {
1352 return tevent_req_post(req
, ev
);
1354 tevent_req_set_callback(subreq
, rpccli_DRSUAPI_VERIFY_NAMES_done
, req
);
1358 static void rpccli_DRSUAPI_VERIFY_NAMES_done(struct tevent_req
*subreq
)
1360 struct tevent_req
*req
= tevent_req_callback_data(
1361 subreq
, struct tevent_req
);
1362 struct rpccli_DRSUAPI_VERIFY_NAMES_state
*state
= tevent_req_data(
1363 req
, struct rpccli_DRSUAPI_VERIFY_NAMES_state
);
1365 TALLOC_CTX
*mem_ctx
;
1367 if (state
->out_mem_ctx
) {
1368 mem_ctx
= state
->out_mem_ctx
;
1373 status
= state
->dispatch_recv(subreq
, mem_ctx
);
1374 TALLOC_FREE(subreq
);
1375 if (!NT_STATUS_IS_OK(status
)) {
1376 tevent_req_nterror(req
, status
);
1380 /* Copy out parameters */
1383 state
->orig
.out
.result
= state
->tmp
.out
.result
;
1385 /* Reset temporary structure */
1386 ZERO_STRUCT(state
->tmp
);
1388 if (DEBUGLEVEL
>= 10) {
1389 NDR_PRINT_OUT_DEBUG(DRSUAPI_VERIFY_NAMES
, &state
->orig
);
1392 tevent_req_done(req
);
1395 NTSTATUS
rpccli_DRSUAPI_VERIFY_NAMES_recv(struct tevent_req
*req
,
1396 TALLOC_CTX
*mem_ctx
,
1399 struct rpccli_DRSUAPI_VERIFY_NAMES_state
*state
= tevent_req_data(
1400 req
, struct rpccli_DRSUAPI_VERIFY_NAMES_state
);
1403 if (tevent_req_is_nterror(req
, &status
)) {
1404 tevent_req_received(req
);
1408 /* Steal possbile out parameters to the callers context */
1409 talloc_steal(mem_ctx
, state
->out_mem_ctx
);
1412 *result
= state
->orig
.out
.result
;
1414 tevent_req_received(req
);
1415 return NT_STATUS_OK
;
1418 NTSTATUS
rpccli_DRSUAPI_VERIFY_NAMES(struct rpc_pipe_client
*cli
,
1419 TALLOC_CTX
*mem_ctx
,
1422 struct DRSUAPI_VERIFY_NAMES r
;
1427 if (DEBUGLEVEL
>= 10) {
1428 NDR_PRINT_IN_DEBUG(DRSUAPI_VERIFY_NAMES
, &r
);
1431 status
= cli
->dispatch(cli
,
1434 NDR_DRSUAPI_VERIFY_NAMES
,
1437 if (!NT_STATUS_IS_OK(status
)) {
1441 if (DEBUGLEVEL
>= 10) {
1442 NDR_PRINT_OUT_DEBUG(DRSUAPI_VERIFY_NAMES
, &r
);
1445 if (NT_STATUS_IS_ERR(status
)) {
1449 /* Return variables */
1453 *werror
= r
.out
.result
;
1456 return werror_to_ntstatus(r
.out
.result
);
1459 struct rpccli_drsuapi_DsGetMemberships_state
{
1460 struct drsuapi_DsGetMemberships orig
;
1461 struct drsuapi_DsGetMemberships tmp
;
1462 TALLOC_CTX
*out_mem_ctx
;
1463 NTSTATUS (*dispatch_recv
)(struct tevent_req
*req
, TALLOC_CTX
*mem_ctx
);
1466 static void rpccli_drsuapi_DsGetMemberships_done(struct tevent_req
*subreq
);
1468 struct tevent_req
*rpccli_drsuapi_DsGetMemberships_send(TALLOC_CTX
*mem_ctx
,
1469 struct tevent_context
*ev
,
1470 struct rpc_pipe_client
*cli
,
1471 struct policy_handle
*_bind_handle
/* [in] [ref] */,
1472 int32_t _level
/* [in] */,
1473 union drsuapi_DsGetMembershipsRequest
*_req
/* [in] [ref,switch_is(level)] */,
1474 int32_t *_level_out
/* [out] [ref] */,
1475 union drsuapi_DsGetMembershipsCtr
*_ctr
/* [out] [ref,switch_is(*level_out)] */)
1477 struct tevent_req
*req
;
1478 struct rpccli_drsuapi_DsGetMemberships_state
*state
;
1479 struct tevent_req
*subreq
;
1481 req
= tevent_req_create(mem_ctx
, &state
,
1482 struct rpccli_drsuapi_DsGetMemberships_state
);
1486 state
->out_mem_ctx
= NULL
;
1487 state
->dispatch_recv
= cli
->dispatch_recv
;
1490 state
->orig
.in
.bind_handle
= _bind_handle
;
1491 state
->orig
.in
.level
= _level
;
1492 state
->orig
.in
.req
= _req
;
1494 /* Out parameters */
1495 state
->orig
.out
.level_out
= _level_out
;
1496 state
->orig
.out
.ctr
= _ctr
;
1499 ZERO_STRUCT(state
->orig
.out
.result
);
1501 if (DEBUGLEVEL
>= 10) {
1502 NDR_PRINT_IN_DEBUG(drsuapi_DsGetMemberships
, &state
->orig
);
1505 state
->out_mem_ctx
= talloc_named_const(state
, 0,
1506 "rpccli_drsuapi_DsGetMemberships_out_memory");
1507 if (tevent_req_nomem(state
->out_mem_ctx
, req
)) {
1508 return tevent_req_post(req
, ev
);
1511 /* make a temporary copy, that we pass to the dispatch function */
1512 state
->tmp
= state
->orig
;
1514 subreq
= cli
->dispatch_send(state
, ev
, cli
,
1516 NDR_DRSUAPI_DSGETMEMBERSHIPS
,
1518 if (tevent_req_nomem(subreq
, req
)) {
1519 return tevent_req_post(req
, ev
);
1521 tevent_req_set_callback(subreq
, rpccli_drsuapi_DsGetMemberships_done
, req
);
1525 static void rpccli_drsuapi_DsGetMemberships_done(struct tevent_req
*subreq
)
1527 struct tevent_req
*req
= tevent_req_callback_data(
1528 subreq
, struct tevent_req
);
1529 struct rpccli_drsuapi_DsGetMemberships_state
*state
= tevent_req_data(
1530 req
, struct rpccli_drsuapi_DsGetMemberships_state
);
1532 TALLOC_CTX
*mem_ctx
;
1534 if (state
->out_mem_ctx
) {
1535 mem_ctx
= state
->out_mem_ctx
;
1540 status
= state
->dispatch_recv(subreq
, mem_ctx
);
1541 TALLOC_FREE(subreq
);
1542 if (!NT_STATUS_IS_OK(status
)) {
1543 tevent_req_nterror(req
, status
);
1547 /* Copy out parameters */
1548 *state
->orig
.out
.level_out
= *state
->tmp
.out
.level_out
;
1549 *state
->orig
.out
.ctr
= *state
->tmp
.out
.ctr
;
1552 state
->orig
.out
.result
= state
->tmp
.out
.result
;
1554 /* Reset temporary structure */
1555 ZERO_STRUCT(state
->tmp
);
1557 if (DEBUGLEVEL
>= 10) {
1558 NDR_PRINT_OUT_DEBUG(drsuapi_DsGetMemberships
, &state
->orig
);
1561 tevent_req_done(req
);
1564 NTSTATUS
rpccli_drsuapi_DsGetMemberships_recv(struct tevent_req
*req
,
1565 TALLOC_CTX
*mem_ctx
,
1568 struct rpccli_drsuapi_DsGetMemberships_state
*state
= tevent_req_data(
1569 req
, struct rpccli_drsuapi_DsGetMemberships_state
);
1572 if (tevent_req_is_nterror(req
, &status
)) {
1573 tevent_req_received(req
);
1577 /* Steal possbile out parameters to the callers context */
1578 talloc_steal(mem_ctx
, state
->out_mem_ctx
);
1581 *result
= state
->orig
.out
.result
;
1583 tevent_req_received(req
);
1584 return NT_STATUS_OK
;
1587 NTSTATUS
rpccli_drsuapi_DsGetMemberships(struct rpc_pipe_client
*cli
,
1588 TALLOC_CTX
*mem_ctx
,
1589 struct policy_handle
*bind_handle
/* [in] [ref] */,
1590 int32_t level
/* [in] */,
1591 union drsuapi_DsGetMembershipsRequest
*req
/* [in] [ref,switch_is(level)] */,
1592 int32_t *level_out
/* [out] [ref] */,
1593 union drsuapi_DsGetMembershipsCtr
*ctr
/* [out] [ref,switch_is(*level_out)] */,
1596 struct drsuapi_DsGetMemberships r
;
1600 r
.in
.bind_handle
= bind_handle
;
1604 if (DEBUGLEVEL
>= 10) {
1605 NDR_PRINT_IN_DEBUG(drsuapi_DsGetMemberships
, &r
);
1608 status
= cli
->dispatch(cli
,
1611 NDR_DRSUAPI_DSGETMEMBERSHIPS
,
1614 if (!NT_STATUS_IS_OK(status
)) {
1618 if (DEBUGLEVEL
>= 10) {
1619 NDR_PRINT_OUT_DEBUG(drsuapi_DsGetMemberships
, &r
);
1622 if (NT_STATUS_IS_ERR(status
)) {
1626 /* Return variables */
1627 *level_out
= *r
.out
.level_out
;
1632 *werror
= r
.out
.result
;
1635 return werror_to_ntstatus(r
.out
.result
);
1638 struct rpccli_DRSUAPI_INTER_DOMAIN_MOVE_state
{
1639 struct DRSUAPI_INTER_DOMAIN_MOVE orig
;
1640 struct DRSUAPI_INTER_DOMAIN_MOVE tmp
;
1641 TALLOC_CTX
*out_mem_ctx
;
1642 NTSTATUS (*dispatch_recv
)(struct tevent_req
*req
, TALLOC_CTX
*mem_ctx
);
1645 static void rpccli_DRSUAPI_INTER_DOMAIN_MOVE_done(struct tevent_req
*subreq
);
1647 struct tevent_req
*rpccli_DRSUAPI_INTER_DOMAIN_MOVE_send(TALLOC_CTX
*mem_ctx
,
1648 struct tevent_context
*ev
,
1649 struct rpc_pipe_client
*cli
)
1651 struct tevent_req
*req
;
1652 struct rpccli_DRSUAPI_INTER_DOMAIN_MOVE_state
*state
;
1653 struct tevent_req
*subreq
;
1655 req
= tevent_req_create(mem_ctx
, &state
,
1656 struct rpccli_DRSUAPI_INTER_DOMAIN_MOVE_state
);
1660 state
->out_mem_ctx
= NULL
;
1661 state
->dispatch_recv
= cli
->dispatch_recv
;
1665 /* Out parameters */
1668 ZERO_STRUCT(state
->orig
.out
.result
);
1670 if (DEBUGLEVEL
>= 10) {
1671 NDR_PRINT_IN_DEBUG(DRSUAPI_INTER_DOMAIN_MOVE
, &state
->orig
);
1674 /* make a temporary copy, that we pass to the dispatch function */
1675 state
->tmp
= state
->orig
;
1677 subreq
= cli
->dispatch_send(state
, ev
, cli
,
1679 NDR_DRSUAPI_INTER_DOMAIN_MOVE
,
1681 if (tevent_req_nomem(subreq
, req
)) {
1682 return tevent_req_post(req
, ev
);
1684 tevent_req_set_callback(subreq
, rpccli_DRSUAPI_INTER_DOMAIN_MOVE_done
, req
);
1688 static void rpccli_DRSUAPI_INTER_DOMAIN_MOVE_done(struct tevent_req
*subreq
)
1690 struct tevent_req
*req
= tevent_req_callback_data(
1691 subreq
, struct tevent_req
);
1692 struct rpccli_DRSUAPI_INTER_DOMAIN_MOVE_state
*state
= tevent_req_data(
1693 req
, struct rpccli_DRSUAPI_INTER_DOMAIN_MOVE_state
);
1695 TALLOC_CTX
*mem_ctx
;
1697 if (state
->out_mem_ctx
) {
1698 mem_ctx
= state
->out_mem_ctx
;
1703 status
= state
->dispatch_recv(subreq
, mem_ctx
);
1704 TALLOC_FREE(subreq
);
1705 if (!NT_STATUS_IS_OK(status
)) {
1706 tevent_req_nterror(req
, status
);
1710 /* Copy out parameters */
1713 state
->orig
.out
.result
= state
->tmp
.out
.result
;
1715 /* Reset temporary structure */
1716 ZERO_STRUCT(state
->tmp
);
1718 if (DEBUGLEVEL
>= 10) {
1719 NDR_PRINT_OUT_DEBUG(DRSUAPI_INTER_DOMAIN_MOVE
, &state
->orig
);
1722 tevent_req_done(req
);
1725 NTSTATUS
rpccli_DRSUAPI_INTER_DOMAIN_MOVE_recv(struct tevent_req
*req
,
1726 TALLOC_CTX
*mem_ctx
,
1729 struct rpccli_DRSUAPI_INTER_DOMAIN_MOVE_state
*state
= tevent_req_data(
1730 req
, struct rpccli_DRSUAPI_INTER_DOMAIN_MOVE_state
);
1733 if (tevent_req_is_nterror(req
, &status
)) {
1734 tevent_req_received(req
);
1738 /* Steal possbile out parameters to the callers context */
1739 talloc_steal(mem_ctx
, state
->out_mem_ctx
);
1742 *result
= state
->orig
.out
.result
;
1744 tevent_req_received(req
);
1745 return NT_STATUS_OK
;
1748 NTSTATUS
rpccli_DRSUAPI_INTER_DOMAIN_MOVE(struct rpc_pipe_client
*cli
,
1749 TALLOC_CTX
*mem_ctx
,
1752 struct DRSUAPI_INTER_DOMAIN_MOVE r
;
1757 if (DEBUGLEVEL
>= 10) {
1758 NDR_PRINT_IN_DEBUG(DRSUAPI_INTER_DOMAIN_MOVE
, &r
);
1761 status
= cli
->dispatch(cli
,
1764 NDR_DRSUAPI_INTER_DOMAIN_MOVE
,
1767 if (!NT_STATUS_IS_OK(status
)) {
1771 if (DEBUGLEVEL
>= 10) {
1772 NDR_PRINT_OUT_DEBUG(DRSUAPI_INTER_DOMAIN_MOVE
, &r
);
1775 if (NT_STATUS_IS_ERR(status
)) {
1779 /* Return variables */
1783 *werror
= r
.out
.result
;
1786 return werror_to_ntstatus(r
.out
.result
);
1789 struct rpccli_drsuapi_DsGetNT4ChangeLog_state
{
1790 struct drsuapi_DsGetNT4ChangeLog orig
;
1791 struct drsuapi_DsGetNT4ChangeLog tmp
;
1792 TALLOC_CTX
*out_mem_ctx
;
1793 NTSTATUS (*dispatch_recv
)(struct tevent_req
*req
, TALLOC_CTX
*mem_ctx
);
1796 static void rpccli_drsuapi_DsGetNT4ChangeLog_done(struct tevent_req
*subreq
);
1798 struct tevent_req
*rpccli_drsuapi_DsGetNT4ChangeLog_send(TALLOC_CTX
*mem_ctx
,
1799 struct tevent_context
*ev
,
1800 struct rpc_pipe_client
*cli
,
1801 struct policy_handle
*_bind_handle
/* [in] [ref] */,
1802 uint32_t _level
/* [in] */,
1803 union drsuapi_DsGetNT4ChangeLogRequest
*_req
/* [in] [ref,switch_is(level)] */,
1804 uint32_t *_level_out
/* [out] [ref] */,
1805 union drsuapi_DsGetNT4ChangeLogInfo
*_info
/* [out] [ref,switch_is(*level_out)] */)
1807 struct tevent_req
*req
;
1808 struct rpccli_drsuapi_DsGetNT4ChangeLog_state
*state
;
1809 struct tevent_req
*subreq
;
1811 req
= tevent_req_create(mem_ctx
, &state
,
1812 struct rpccli_drsuapi_DsGetNT4ChangeLog_state
);
1816 state
->out_mem_ctx
= NULL
;
1817 state
->dispatch_recv
= cli
->dispatch_recv
;
1820 state
->orig
.in
.bind_handle
= _bind_handle
;
1821 state
->orig
.in
.level
= _level
;
1822 state
->orig
.in
.req
= _req
;
1824 /* Out parameters */
1825 state
->orig
.out
.level_out
= _level_out
;
1826 state
->orig
.out
.info
= _info
;
1829 ZERO_STRUCT(state
->orig
.out
.result
);
1831 if (DEBUGLEVEL
>= 10) {
1832 NDR_PRINT_IN_DEBUG(drsuapi_DsGetNT4ChangeLog
, &state
->orig
);
1835 state
->out_mem_ctx
= talloc_named_const(state
, 0,
1836 "rpccli_drsuapi_DsGetNT4ChangeLog_out_memory");
1837 if (tevent_req_nomem(state
->out_mem_ctx
, req
)) {
1838 return tevent_req_post(req
, ev
);
1841 /* make a temporary copy, that we pass to the dispatch function */
1842 state
->tmp
= state
->orig
;
1844 subreq
= cli
->dispatch_send(state
, ev
, cli
,
1846 NDR_DRSUAPI_DSGETNT4CHANGELOG
,
1848 if (tevent_req_nomem(subreq
, req
)) {
1849 return tevent_req_post(req
, ev
);
1851 tevent_req_set_callback(subreq
, rpccli_drsuapi_DsGetNT4ChangeLog_done
, req
);
1855 static void rpccli_drsuapi_DsGetNT4ChangeLog_done(struct tevent_req
*subreq
)
1857 struct tevent_req
*req
= tevent_req_callback_data(
1858 subreq
, struct tevent_req
);
1859 struct rpccli_drsuapi_DsGetNT4ChangeLog_state
*state
= tevent_req_data(
1860 req
, struct rpccli_drsuapi_DsGetNT4ChangeLog_state
);
1862 TALLOC_CTX
*mem_ctx
;
1864 if (state
->out_mem_ctx
) {
1865 mem_ctx
= state
->out_mem_ctx
;
1870 status
= state
->dispatch_recv(subreq
, mem_ctx
);
1871 TALLOC_FREE(subreq
);
1872 if (!NT_STATUS_IS_OK(status
)) {
1873 tevent_req_nterror(req
, status
);
1877 /* Copy out parameters */
1878 *state
->orig
.out
.level_out
= *state
->tmp
.out
.level_out
;
1879 *state
->orig
.out
.info
= *state
->tmp
.out
.info
;
1882 state
->orig
.out
.result
= state
->tmp
.out
.result
;
1884 /* Reset temporary structure */
1885 ZERO_STRUCT(state
->tmp
);
1887 if (DEBUGLEVEL
>= 10) {
1888 NDR_PRINT_OUT_DEBUG(drsuapi_DsGetNT4ChangeLog
, &state
->orig
);
1891 tevent_req_done(req
);
1894 NTSTATUS
rpccli_drsuapi_DsGetNT4ChangeLog_recv(struct tevent_req
*req
,
1895 TALLOC_CTX
*mem_ctx
,
1898 struct rpccli_drsuapi_DsGetNT4ChangeLog_state
*state
= tevent_req_data(
1899 req
, struct rpccli_drsuapi_DsGetNT4ChangeLog_state
);
1902 if (tevent_req_is_nterror(req
, &status
)) {
1903 tevent_req_received(req
);
1907 /* Steal possbile out parameters to the callers context */
1908 talloc_steal(mem_ctx
, state
->out_mem_ctx
);
1911 *result
= state
->orig
.out
.result
;
1913 tevent_req_received(req
);
1914 return NT_STATUS_OK
;
1917 NTSTATUS
rpccli_drsuapi_DsGetNT4ChangeLog(struct rpc_pipe_client
*cli
,
1918 TALLOC_CTX
*mem_ctx
,
1919 struct policy_handle
*bind_handle
/* [in] [ref] */,
1920 uint32_t level
/* [in] */,
1921 union drsuapi_DsGetNT4ChangeLogRequest
*req
/* [in] [ref,switch_is(level)] */,
1922 uint32_t *level_out
/* [out] [ref] */,
1923 union drsuapi_DsGetNT4ChangeLogInfo
*info
/* [out] [ref,switch_is(*level_out)] */,
1926 struct drsuapi_DsGetNT4ChangeLog r
;
1930 r
.in
.bind_handle
= bind_handle
;
1934 if (DEBUGLEVEL
>= 10) {
1935 NDR_PRINT_IN_DEBUG(drsuapi_DsGetNT4ChangeLog
, &r
);
1938 status
= cli
->dispatch(cli
,
1941 NDR_DRSUAPI_DSGETNT4CHANGELOG
,
1944 if (!NT_STATUS_IS_OK(status
)) {
1948 if (DEBUGLEVEL
>= 10) {
1949 NDR_PRINT_OUT_DEBUG(drsuapi_DsGetNT4ChangeLog
, &r
);
1952 if (NT_STATUS_IS_ERR(status
)) {
1956 /* Return variables */
1957 *level_out
= *r
.out
.level_out
;
1958 *info
= *r
.out
.info
;
1962 *werror
= r
.out
.result
;
1965 return werror_to_ntstatus(r
.out
.result
);
1968 struct rpccli_drsuapi_DsCrackNames_state
{
1969 struct drsuapi_DsCrackNames orig
;
1970 struct drsuapi_DsCrackNames tmp
;
1971 TALLOC_CTX
*out_mem_ctx
;
1972 NTSTATUS (*dispatch_recv
)(struct tevent_req
*req
, TALLOC_CTX
*mem_ctx
);
1975 static void rpccli_drsuapi_DsCrackNames_done(struct tevent_req
*subreq
);
1977 struct tevent_req
*rpccli_drsuapi_DsCrackNames_send(TALLOC_CTX
*mem_ctx
,
1978 struct tevent_context
*ev
,
1979 struct rpc_pipe_client
*cli
,
1980 struct policy_handle
*_bind_handle
/* [in] [ref] */,
1981 int32_t _level
/* [in] */,
1982 union drsuapi_DsNameRequest
*_req
/* [in] [ref,switch_is(level)] */,
1983 int32_t *_level_out
/* [out] [ref] */,
1984 union drsuapi_DsNameCtr
*_ctr
/* [out] [ref,switch_is(*level_out)] */)
1986 struct tevent_req
*req
;
1987 struct rpccli_drsuapi_DsCrackNames_state
*state
;
1988 struct tevent_req
*subreq
;
1990 req
= tevent_req_create(mem_ctx
, &state
,
1991 struct rpccli_drsuapi_DsCrackNames_state
);
1995 state
->out_mem_ctx
= NULL
;
1996 state
->dispatch_recv
= cli
->dispatch_recv
;
1999 state
->orig
.in
.bind_handle
= _bind_handle
;
2000 state
->orig
.in
.level
= _level
;
2001 state
->orig
.in
.req
= _req
;
2003 /* Out parameters */
2004 state
->orig
.out
.level_out
= _level_out
;
2005 state
->orig
.out
.ctr
= _ctr
;
2008 ZERO_STRUCT(state
->orig
.out
.result
);
2010 if (DEBUGLEVEL
>= 10) {
2011 NDR_PRINT_IN_DEBUG(drsuapi_DsCrackNames
, &state
->orig
);
2014 state
->out_mem_ctx
= talloc_named_const(state
, 0,
2015 "rpccli_drsuapi_DsCrackNames_out_memory");
2016 if (tevent_req_nomem(state
->out_mem_ctx
, req
)) {
2017 return tevent_req_post(req
, ev
);
2020 /* make a temporary copy, that we pass to the dispatch function */
2021 state
->tmp
= state
->orig
;
2023 subreq
= cli
->dispatch_send(state
, ev
, cli
,
2025 NDR_DRSUAPI_DSCRACKNAMES
,
2027 if (tevent_req_nomem(subreq
, req
)) {
2028 return tevent_req_post(req
, ev
);
2030 tevent_req_set_callback(subreq
, rpccli_drsuapi_DsCrackNames_done
, req
);
2034 static void rpccli_drsuapi_DsCrackNames_done(struct tevent_req
*subreq
)
2036 struct tevent_req
*req
= tevent_req_callback_data(
2037 subreq
, struct tevent_req
);
2038 struct rpccli_drsuapi_DsCrackNames_state
*state
= tevent_req_data(
2039 req
, struct rpccli_drsuapi_DsCrackNames_state
);
2041 TALLOC_CTX
*mem_ctx
;
2043 if (state
->out_mem_ctx
) {
2044 mem_ctx
= state
->out_mem_ctx
;
2049 status
= state
->dispatch_recv(subreq
, mem_ctx
);
2050 TALLOC_FREE(subreq
);
2051 if (!NT_STATUS_IS_OK(status
)) {
2052 tevent_req_nterror(req
, status
);
2056 /* Copy out parameters */
2057 *state
->orig
.out
.level_out
= *state
->tmp
.out
.level_out
;
2058 *state
->orig
.out
.ctr
= *state
->tmp
.out
.ctr
;
2061 state
->orig
.out
.result
= state
->tmp
.out
.result
;
2063 /* Reset temporary structure */
2064 ZERO_STRUCT(state
->tmp
);
2066 if (DEBUGLEVEL
>= 10) {
2067 NDR_PRINT_OUT_DEBUG(drsuapi_DsCrackNames
, &state
->orig
);
2070 tevent_req_done(req
);
2073 NTSTATUS
rpccli_drsuapi_DsCrackNames_recv(struct tevent_req
*req
,
2074 TALLOC_CTX
*mem_ctx
,
2077 struct rpccli_drsuapi_DsCrackNames_state
*state
= tevent_req_data(
2078 req
, struct rpccli_drsuapi_DsCrackNames_state
);
2081 if (tevent_req_is_nterror(req
, &status
)) {
2082 tevent_req_received(req
);
2086 /* Steal possbile out parameters to the callers context */
2087 talloc_steal(mem_ctx
, state
->out_mem_ctx
);
2090 *result
= state
->orig
.out
.result
;
2092 tevent_req_received(req
);
2093 return NT_STATUS_OK
;
2096 NTSTATUS
rpccli_drsuapi_DsCrackNames(struct rpc_pipe_client
*cli
,
2097 TALLOC_CTX
*mem_ctx
,
2098 struct policy_handle
*bind_handle
/* [in] [ref] */,
2099 int32_t level
/* [in] */,
2100 union drsuapi_DsNameRequest
*req
/* [in] [ref,switch_is(level)] */,
2101 int32_t *level_out
/* [out] [ref] */,
2102 union drsuapi_DsNameCtr
*ctr
/* [out] [ref,switch_is(*level_out)] */,
2105 struct drsuapi_DsCrackNames r
;
2109 r
.in
.bind_handle
= bind_handle
;
2113 if (DEBUGLEVEL
>= 10) {
2114 NDR_PRINT_IN_DEBUG(drsuapi_DsCrackNames
, &r
);
2117 status
= cli
->dispatch(cli
,
2120 NDR_DRSUAPI_DSCRACKNAMES
,
2123 if (!NT_STATUS_IS_OK(status
)) {
2127 if (DEBUGLEVEL
>= 10) {
2128 NDR_PRINT_OUT_DEBUG(drsuapi_DsCrackNames
, &r
);
2131 if (NT_STATUS_IS_ERR(status
)) {
2135 /* Return variables */
2136 *level_out
= *r
.out
.level_out
;
2141 *werror
= r
.out
.result
;
2144 return werror_to_ntstatus(r
.out
.result
);
2147 struct rpccli_drsuapi_DsWriteAccountSpn_state
{
2148 struct drsuapi_DsWriteAccountSpn orig
;
2149 struct drsuapi_DsWriteAccountSpn tmp
;
2150 TALLOC_CTX
*out_mem_ctx
;
2151 NTSTATUS (*dispatch_recv
)(struct tevent_req
*req
, TALLOC_CTX
*mem_ctx
);
2154 static void rpccli_drsuapi_DsWriteAccountSpn_done(struct tevent_req
*subreq
);
2156 struct tevent_req
*rpccli_drsuapi_DsWriteAccountSpn_send(TALLOC_CTX
*mem_ctx
,
2157 struct tevent_context
*ev
,
2158 struct rpc_pipe_client
*cli
,
2159 struct policy_handle
*_bind_handle
/* [in] [ref] */,
2160 int32_t _level
/* [in] */,
2161 union drsuapi_DsWriteAccountSpnRequest
*_req
/* [in] [ref,switch_is(level)] */,
2162 int32_t *_level_out
/* [out] [ref] */,
2163 union drsuapi_DsWriteAccountSpnResult
*_res
/* [out] [ref,switch_is(*level_out)] */)
2165 struct tevent_req
*req
;
2166 struct rpccli_drsuapi_DsWriteAccountSpn_state
*state
;
2167 struct tevent_req
*subreq
;
2169 req
= tevent_req_create(mem_ctx
, &state
,
2170 struct rpccli_drsuapi_DsWriteAccountSpn_state
);
2174 state
->out_mem_ctx
= NULL
;
2175 state
->dispatch_recv
= cli
->dispatch_recv
;
2178 state
->orig
.in
.bind_handle
= _bind_handle
;
2179 state
->orig
.in
.level
= _level
;
2180 state
->orig
.in
.req
= _req
;
2182 /* Out parameters */
2183 state
->orig
.out
.level_out
= _level_out
;
2184 state
->orig
.out
.res
= _res
;
2187 ZERO_STRUCT(state
->orig
.out
.result
);
2189 if (DEBUGLEVEL
>= 10) {
2190 NDR_PRINT_IN_DEBUG(drsuapi_DsWriteAccountSpn
, &state
->orig
);
2193 state
->out_mem_ctx
= talloc_named_const(state
, 0,
2194 "rpccli_drsuapi_DsWriteAccountSpn_out_memory");
2195 if (tevent_req_nomem(state
->out_mem_ctx
, req
)) {
2196 return tevent_req_post(req
, ev
);
2199 /* make a temporary copy, that we pass to the dispatch function */
2200 state
->tmp
= state
->orig
;
2202 subreq
= cli
->dispatch_send(state
, ev
, cli
,
2204 NDR_DRSUAPI_DSWRITEACCOUNTSPN
,
2206 if (tevent_req_nomem(subreq
, req
)) {
2207 return tevent_req_post(req
, ev
);
2209 tevent_req_set_callback(subreq
, rpccli_drsuapi_DsWriteAccountSpn_done
, req
);
2213 static void rpccli_drsuapi_DsWriteAccountSpn_done(struct tevent_req
*subreq
)
2215 struct tevent_req
*req
= tevent_req_callback_data(
2216 subreq
, struct tevent_req
);
2217 struct rpccli_drsuapi_DsWriteAccountSpn_state
*state
= tevent_req_data(
2218 req
, struct rpccli_drsuapi_DsWriteAccountSpn_state
);
2220 TALLOC_CTX
*mem_ctx
;
2222 if (state
->out_mem_ctx
) {
2223 mem_ctx
= state
->out_mem_ctx
;
2228 status
= state
->dispatch_recv(subreq
, mem_ctx
);
2229 TALLOC_FREE(subreq
);
2230 if (!NT_STATUS_IS_OK(status
)) {
2231 tevent_req_nterror(req
, status
);
2235 /* Copy out parameters */
2236 *state
->orig
.out
.level_out
= *state
->tmp
.out
.level_out
;
2237 *state
->orig
.out
.res
= *state
->tmp
.out
.res
;
2240 state
->orig
.out
.result
= state
->tmp
.out
.result
;
2242 /* Reset temporary structure */
2243 ZERO_STRUCT(state
->tmp
);
2245 if (DEBUGLEVEL
>= 10) {
2246 NDR_PRINT_OUT_DEBUG(drsuapi_DsWriteAccountSpn
, &state
->orig
);
2249 tevent_req_done(req
);
2252 NTSTATUS
rpccli_drsuapi_DsWriteAccountSpn_recv(struct tevent_req
*req
,
2253 TALLOC_CTX
*mem_ctx
,
2256 struct rpccli_drsuapi_DsWriteAccountSpn_state
*state
= tevent_req_data(
2257 req
, struct rpccli_drsuapi_DsWriteAccountSpn_state
);
2260 if (tevent_req_is_nterror(req
, &status
)) {
2261 tevent_req_received(req
);
2265 /* Steal possbile out parameters to the callers context */
2266 talloc_steal(mem_ctx
, state
->out_mem_ctx
);
2269 *result
= state
->orig
.out
.result
;
2271 tevent_req_received(req
);
2272 return NT_STATUS_OK
;
2275 NTSTATUS
rpccli_drsuapi_DsWriteAccountSpn(struct rpc_pipe_client
*cli
,
2276 TALLOC_CTX
*mem_ctx
,
2277 struct policy_handle
*bind_handle
/* [in] [ref] */,
2278 int32_t level
/* [in] */,
2279 union drsuapi_DsWriteAccountSpnRequest
*req
/* [in] [ref,switch_is(level)] */,
2280 int32_t *level_out
/* [out] [ref] */,
2281 union drsuapi_DsWriteAccountSpnResult
*res
/* [out] [ref,switch_is(*level_out)] */,
2284 struct drsuapi_DsWriteAccountSpn r
;
2288 r
.in
.bind_handle
= bind_handle
;
2292 if (DEBUGLEVEL
>= 10) {
2293 NDR_PRINT_IN_DEBUG(drsuapi_DsWriteAccountSpn
, &r
);
2296 status
= cli
->dispatch(cli
,
2299 NDR_DRSUAPI_DSWRITEACCOUNTSPN
,
2302 if (!NT_STATUS_IS_OK(status
)) {
2306 if (DEBUGLEVEL
>= 10) {
2307 NDR_PRINT_OUT_DEBUG(drsuapi_DsWriteAccountSpn
, &r
);
2310 if (NT_STATUS_IS_ERR(status
)) {
2314 /* Return variables */
2315 *level_out
= *r
.out
.level_out
;
2320 *werror
= r
.out
.result
;
2323 return werror_to_ntstatus(r
.out
.result
);
2326 struct rpccli_drsuapi_DsRemoveDSServer_state
{
2327 struct drsuapi_DsRemoveDSServer orig
;
2328 struct drsuapi_DsRemoveDSServer tmp
;
2329 TALLOC_CTX
*out_mem_ctx
;
2330 NTSTATUS (*dispatch_recv
)(struct tevent_req
*req
, TALLOC_CTX
*mem_ctx
);
2333 static void rpccli_drsuapi_DsRemoveDSServer_done(struct tevent_req
*subreq
);
2335 struct tevent_req
*rpccli_drsuapi_DsRemoveDSServer_send(TALLOC_CTX
*mem_ctx
,
2336 struct tevent_context
*ev
,
2337 struct rpc_pipe_client
*cli
,
2338 struct policy_handle
*_bind_handle
/* [in] [ref] */,
2339 int32_t _level
/* [in] */,
2340 union drsuapi_DsRemoveDSServerRequest
*_req
/* [in] [ref,switch_is(level)] */,
2341 int32_t *_level_out
/* [out] [ref] */,
2342 union drsuapi_DsRemoveDSServerResult
*_res
/* [out] [ref,switch_is(*level_out)] */)
2344 struct tevent_req
*req
;
2345 struct rpccli_drsuapi_DsRemoveDSServer_state
*state
;
2346 struct tevent_req
*subreq
;
2348 req
= tevent_req_create(mem_ctx
, &state
,
2349 struct rpccli_drsuapi_DsRemoveDSServer_state
);
2353 state
->out_mem_ctx
= NULL
;
2354 state
->dispatch_recv
= cli
->dispatch_recv
;
2357 state
->orig
.in
.bind_handle
= _bind_handle
;
2358 state
->orig
.in
.level
= _level
;
2359 state
->orig
.in
.req
= _req
;
2361 /* Out parameters */
2362 state
->orig
.out
.level_out
= _level_out
;
2363 state
->orig
.out
.res
= _res
;
2366 ZERO_STRUCT(state
->orig
.out
.result
);
2368 if (DEBUGLEVEL
>= 10) {
2369 NDR_PRINT_IN_DEBUG(drsuapi_DsRemoveDSServer
, &state
->orig
);
2372 state
->out_mem_ctx
= talloc_named_const(state
, 0,
2373 "rpccli_drsuapi_DsRemoveDSServer_out_memory");
2374 if (tevent_req_nomem(state
->out_mem_ctx
, req
)) {
2375 return tevent_req_post(req
, ev
);
2378 /* make a temporary copy, that we pass to the dispatch function */
2379 state
->tmp
= state
->orig
;
2381 subreq
= cli
->dispatch_send(state
, ev
, cli
,
2383 NDR_DRSUAPI_DSREMOVEDSSERVER
,
2385 if (tevent_req_nomem(subreq
, req
)) {
2386 return tevent_req_post(req
, ev
);
2388 tevent_req_set_callback(subreq
, rpccli_drsuapi_DsRemoveDSServer_done
, req
);
2392 static void rpccli_drsuapi_DsRemoveDSServer_done(struct tevent_req
*subreq
)
2394 struct tevent_req
*req
= tevent_req_callback_data(
2395 subreq
, struct tevent_req
);
2396 struct rpccli_drsuapi_DsRemoveDSServer_state
*state
= tevent_req_data(
2397 req
, struct rpccli_drsuapi_DsRemoveDSServer_state
);
2399 TALLOC_CTX
*mem_ctx
;
2401 if (state
->out_mem_ctx
) {
2402 mem_ctx
= state
->out_mem_ctx
;
2407 status
= state
->dispatch_recv(subreq
, mem_ctx
);
2408 TALLOC_FREE(subreq
);
2409 if (!NT_STATUS_IS_OK(status
)) {
2410 tevent_req_nterror(req
, status
);
2414 /* Copy out parameters */
2415 *state
->orig
.out
.level_out
= *state
->tmp
.out
.level_out
;
2416 *state
->orig
.out
.res
= *state
->tmp
.out
.res
;
2419 state
->orig
.out
.result
= state
->tmp
.out
.result
;
2421 /* Reset temporary structure */
2422 ZERO_STRUCT(state
->tmp
);
2424 if (DEBUGLEVEL
>= 10) {
2425 NDR_PRINT_OUT_DEBUG(drsuapi_DsRemoveDSServer
, &state
->orig
);
2428 tevent_req_done(req
);
2431 NTSTATUS
rpccli_drsuapi_DsRemoveDSServer_recv(struct tevent_req
*req
,
2432 TALLOC_CTX
*mem_ctx
,
2435 struct rpccli_drsuapi_DsRemoveDSServer_state
*state
= tevent_req_data(
2436 req
, struct rpccli_drsuapi_DsRemoveDSServer_state
);
2439 if (tevent_req_is_nterror(req
, &status
)) {
2440 tevent_req_received(req
);
2444 /* Steal possbile out parameters to the callers context */
2445 talloc_steal(mem_ctx
, state
->out_mem_ctx
);
2448 *result
= state
->orig
.out
.result
;
2450 tevent_req_received(req
);
2451 return NT_STATUS_OK
;
2454 NTSTATUS
rpccli_drsuapi_DsRemoveDSServer(struct rpc_pipe_client
*cli
,
2455 TALLOC_CTX
*mem_ctx
,
2456 struct policy_handle
*bind_handle
/* [in] [ref] */,
2457 int32_t level
/* [in] */,
2458 union drsuapi_DsRemoveDSServerRequest
*req
/* [in] [ref,switch_is(level)] */,
2459 int32_t *level_out
/* [out] [ref] */,
2460 union drsuapi_DsRemoveDSServerResult
*res
/* [out] [ref,switch_is(*level_out)] */,
2463 struct drsuapi_DsRemoveDSServer r
;
2467 r
.in
.bind_handle
= bind_handle
;
2471 if (DEBUGLEVEL
>= 10) {
2472 NDR_PRINT_IN_DEBUG(drsuapi_DsRemoveDSServer
, &r
);
2475 status
= cli
->dispatch(cli
,
2478 NDR_DRSUAPI_DSREMOVEDSSERVER
,
2481 if (!NT_STATUS_IS_OK(status
)) {
2485 if (DEBUGLEVEL
>= 10) {
2486 NDR_PRINT_OUT_DEBUG(drsuapi_DsRemoveDSServer
, &r
);
2489 if (NT_STATUS_IS_ERR(status
)) {
2493 /* Return variables */
2494 *level_out
= *r
.out
.level_out
;
2499 *werror
= r
.out
.result
;
2502 return werror_to_ntstatus(r
.out
.result
);
2505 struct rpccli_DRSUAPI_REMOVE_DS_DOMAIN_state
{
2506 struct DRSUAPI_REMOVE_DS_DOMAIN orig
;
2507 struct DRSUAPI_REMOVE_DS_DOMAIN tmp
;
2508 TALLOC_CTX
*out_mem_ctx
;
2509 NTSTATUS (*dispatch_recv
)(struct tevent_req
*req
, TALLOC_CTX
*mem_ctx
);
2512 static void rpccli_DRSUAPI_REMOVE_DS_DOMAIN_done(struct tevent_req
*subreq
);
2514 struct tevent_req
*rpccli_DRSUAPI_REMOVE_DS_DOMAIN_send(TALLOC_CTX
*mem_ctx
,
2515 struct tevent_context
*ev
,
2516 struct rpc_pipe_client
*cli
)
2518 struct tevent_req
*req
;
2519 struct rpccli_DRSUAPI_REMOVE_DS_DOMAIN_state
*state
;
2520 struct tevent_req
*subreq
;
2522 req
= tevent_req_create(mem_ctx
, &state
,
2523 struct rpccli_DRSUAPI_REMOVE_DS_DOMAIN_state
);
2527 state
->out_mem_ctx
= NULL
;
2528 state
->dispatch_recv
= cli
->dispatch_recv
;
2532 /* Out parameters */
2535 ZERO_STRUCT(state
->orig
.out
.result
);
2537 if (DEBUGLEVEL
>= 10) {
2538 NDR_PRINT_IN_DEBUG(DRSUAPI_REMOVE_DS_DOMAIN
, &state
->orig
);
2541 /* make a temporary copy, that we pass to the dispatch function */
2542 state
->tmp
= state
->orig
;
2544 subreq
= cli
->dispatch_send(state
, ev
, cli
,
2546 NDR_DRSUAPI_REMOVE_DS_DOMAIN
,
2548 if (tevent_req_nomem(subreq
, req
)) {
2549 return tevent_req_post(req
, ev
);
2551 tevent_req_set_callback(subreq
, rpccli_DRSUAPI_REMOVE_DS_DOMAIN_done
, req
);
2555 static void rpccli_DRSUAPI_REMOVE_DS_DOMAIN_done(struct tevent_req
*subreq
)
2557 struct tevent_req
*req
= tevent_req_callback_data(
2558 subreq
, struct tevent_req
);
2559 struct rpccli_DRSUAPI_REMOVE_DS_DOMAIN_state
*state
= tevent_req_data(
2560 req
, struct rpccli_DRSUAPI_REMOVE_DS_DOMAIN_state
);
2562 TALLOC_CTX
*mem_ctx
;
2564 if (state
->out_mem_ctx
) {
2565 mem_ctx
= state
->out_mem_ctx
;
2570 status
= state
->dispatch_recv(subreq
, mem_ctx
);
2571 TALLOC_FREE(subreq
);
2572 if (!NT_STATUS_IS_OK(status
)) {
2573 tevent_req_nterror(req
, status
);
2577 /* Copy out parameters */
2580 state
->orig
.out
.result
= state
->tmp
.out
.result
;
2582 /* Reset temporary structure */
2583 ZERO_STRUCT(state
->tmp
);
2585 if (DEBUGLEVEL
>= 10) {
2586 NDR_PRINT_OUT_DEBUG(DRSUAPI_REMOVE_DS_DOMAIN
, &state
->orig
);
2589 tevent_req_done(req
);
2592 NTSTATUS
rpccli_DRSUAPI_REMOVE_DS_DOMAIN_recv(struct tevent_req
*req
,
2593 TALLOC_CTX
*mem_ctx
,
2596 struct rpccli_DRSUAPI_REMOVE_DS_DOMAIN_state
*state
= tevent_req_data(
2597 req
, struct rpccli_DRSUAPI_REMOVE_DS_DOMAIN_state
);
2600 if (tevent_req_is_nterror(req
, &status
)) {
2601 tevent_req_received(req
);
2605 /* Steal possbile out parameters to the callers context */
2606 talloc_steal(mem_ctx
, state
->out_mem_ctx
);
2609 *result
= state
->orig
.out
.result
;
2611 tevent_req_received(req
);
2612 return NT_STATUS_OK
;
2615 NTSTATUS
rpccli_DRSUAPI_REMOVE_DS_DOMAIN(struct rpc_pipe_client
*cli
,
2616 TALLOC_CTX
*mem_ctx
,
2619 struct DRSUAPI_REMOVE_DS_DOMAIN r
;
2624 if (DEBUGLEVEL
>= 10) {
2625 NDR_PRINT_IN_DEBUG(DRSUAPI_REMOVE_DS_DOMAIN
, &r
);
2628 status
= cli
->dispatch(cli
,
2631 NDR_DRSUAPI_REMOVE_DS_DOMAIN
,
2634 if (!NT_STATUS_IS_OK(status
)) {
2638 if (DEBUGLEVEL
>= 10) {
2639 NDR_PRINT_OUT_DEBUG(DRSUAPI_REMOVE_DS_DOMAIN
, &r
);
2642 if (NT_STATUS_IS_ERR(status
)) {
2646 /* Return variables */
2650 *werror
= r
.out
.result
;
2653 return werror_to_ntstatus(r
.out
.result
);
2656 struct rpccli_drsuapi_DsGetDomainControllerInfo_state
{
2657 struct drsuapi_DsGetDomainControllerInfo orig
;
2658 struct drsuapi_DsGetDomainControllerInfo tmp
;
2659 TALLOC_CTX
*out_mem_ctx
;
2660 NTSTATUS (*dispatch_recv
)(struct tevent_req
*req
, TALLOC_CTX
*mem_ctx
);
2663 static void rpccli_drsuapi_DsGetDomainControllerInfo_done(struct tevent_req
*subreq
);
2665 struct tevent_req
*rpccli_drsuapi_DsGetDomainControllerInfo_send(TALLOC_CTX
*mem_ctx
,
2666 struct tevent_context
*ev
,
2667 struct rpc_pipe_client
*cli
,
2668 struct policy_handle
*_bind_handle
/* [in] [ref] */,
2669 int32_t _level
/* [in] */,
2670 union drsuapi_DsGetDCInfoRequest
*_req
/* [in] [ref,switch_is(level)] */,
2671 int32_t *_level_out
/* [out] [ref] */,
2672 union drsuapi_DsGetDCInfoCtr
*_ctr
/* [out] [ref,switch_is(*level_out)] */)
2674 struct tevent_req
*req
;
2675 struct rpccli_drsuapi_DsGetDomainControllerInfo_state
*state
;
2676 struct tevent_req
*subreq
;
2678 req
= tevent_req_create(mem_ctx
, &state
,
2679 struct rpccli_drsuapi_DsGetDomainControllerInfo_state
);
2683 state
->out_mem_ctx
= NULL
;
2684 state
->dispatch_recv
= cli
->dispatch_recv
;
2687 state
->orig
.in
.bind_handle
= _bind_handle
;
2688 state
->orig
.in
.level
= _level
;
2689 state
->orig
.in
.req
= _req
;
2691 /* Out parameters */
2692 state
->orig
.out
.level_out
= _level_out
;
2693 state
->orig
.out
.ctr
= _ctr
;
2696 ZERO_STRUCT(state
->orig
.out
.result
);
2698 if (DEBUGLEVEL
>= 10) {
2699 NDR_PRINT_IN_DEBUG(drsuapi_DsGetDomainControllerInfo
, &state
->orig
);
2702 state
->out_mem_ctx
= talloc_named_const(state
, 0,
2703 "rpccli_drsuapi_DsGetDomainControllerInfo_out_memory");
2704 if (tevent_req_nomem(state
->out_mem_ctx
, req
)) {
2705 return tevent_req_post(req
, ev
);
2708 /* make a temporary copy, that we pass to the dispatch function */
2709 state
->tmp
= state
->orig
;
2711 subreq
= cli
->dispatch_send(state
, ev
, cli
,
2713 NDR_DRSUAPI_DSGETDOMAINCONTROLLERINFO
,
2715 if (tevent_req_nomem(subreq
, req
)) {
2716 return tevent_req_post(req
, ev
);
2718 tevent_req_set_callback(subreq
, rpccli_drsuapi_DsGetDomainControllerInfo_done
, req
);
2722 static void rpccli_drsuapi_DsGetDomainControllerInfo_done(struct tevent_req
*subreq
)
2724 struct tevent_req
*req
= tevent_req_callback_data(
2725 subreq
, struct tevent_req
);
2726 struct rpccli_drsuapi_DsGetDomainControllerInfo_state
*state
= tevent_req_data(
2727 req
, struct rpccli_drsuapi_DsGetDomainControllerInfo_state
);
2729 TALLOC_CTX
*mem_ctx
;
2731 if (state
->out_mem_ctx
) {
2732 mem_ctx
= state
->out_mem_ctx
;
2737 status
= state
->dispatch_recv(subreq
, mem_ctx
);
2738 TALLOC_FREE(subreq
);
2739 if (!NT_STATUS_IS_OK(status
)) {
2740 tevent_req_nterror(req
, status
);
2744 /* Copy out parameters */
2745 *state
->orig
.out
.level_out
= *state
->tmp
.out
.level_out
;
2746 *state
->orig
.out
.ctr
= *state
->tmp
.out
.ctr
;
2749 state
->orig
.out
.result
= state
->tmp
.out
.result
;
2751 /* Reset temporary structure */
2752 ZERO_STRUCT(state
->tmp
);
2754 if (DEBUGLEVEL
>= 10) {
2755 NDR_PRINT_OUT_DEBUG(drsuapi_DsGetDomainControllerInfo
, &state
->orig
);
2758 tevent_req_done(req
);
2761 NTSTATUS
rpccli_drsuapi_DsGetDomainControllerInfo_recv(struct tevent_req
*req
,
2762 TALLOC_CTX
*mem_ctx
,
2765 struct rpccli_drsuapi_DsGetDomainControllerInfo_state
*state
= tevent_req_data(
2766 req
, struct rpccli_drsuapi_DsGetDomainControllerInfo_state
);
2769 if (tevent_req_is_nterror(req
, &status
)) {
2770 tevent_req_received(req
);
2774 /* Steal possbile out parameters to the callers context */
2775 talloc_steal(mem_ctx
, state
->out_mem_ctx
);
2778 *result
= state
->orig
.out
.result
;
2780 tevent_req_received(req
);
2781 return NT_STATUS_OK
;
2784 NTSTATUS
rpccli_drsuapi_DsGetDomainControllerInfo(struct rpc_pipe_client
*cli
,
2785 TALLOC_CTX
*mem_ctx
,
2786 struct policy_handle
*bind_handle
/* [in] [ref] */,
2787 int32_t level
/* [in] */,
2788 union drsuapi_DsGetDCInfoRequest
*req
/* [in] [ref,switch_is(level)] */,
2789 int32_t *level_out
/* [out] [ref] */,
2790 union drsuapi_DsGetDCInfoCtr
*ctr
/* [out] [ref,switch_is(*level_out)] */,
2793 struct drsuapi_DsGetDomainControllerInfo r
;
2797 r
.in
.bind_handle
= bind_handle
;
2801 if (DEBUGLEVEL
>= 10) {
2802 NDR_PRINT_IN_DEBUG(drsuapi_DsGetDomainControllerInfo
, &r
);
2805 status
= cli
->dispatch(cli
,
2808 NDR_DRSUAPI_DSGETDOMAINCONTROLLERINFO
,
2811 if (!NT_STATUS_IS_OK(status
)) {
2815 if (DEBUGLEVEL
>= 10) {
2816 NDR_PRINT_OUT_DEBUG(drsuapi_DsGetDomainControllerInfo
, &r
);
2819 if (NT_STATUS_IS_ERR(status
)) {
2823 /* Return variables */
2824 *level_out
= *r
.out
.level_out
;
2829 *werror
= r
.out
.result
;
2832 return werror_to_ntstatus(r
.out
.result
);
2835 struct rpccli_drsuapi_DsAddEntry_state
{
2836 struct drsuapi_DsAddEntry orig
;
2837 struct drsuapi_DsAddEntry tmp
;
2838 TALLOC_CTX
*out_mem_ctx
;
2839 NTSTATUS (*dispatch_recv
)(struct tevent_req
*req
, TALLOC_CTX
*mem_ctx
);
2842 static void rpccli_drsuapi_DsAddEntry_done(struct tevent_req
*subreq
);
2844 struct tevent_req
*rpccli_drsuapi_DsAddEntry_send(TALLOC_CTX
*mem_ctx
,
2845 struct tevent_context
*ev
,
2846 struct rpc_pipe_client
*cli
,
2847 struct policy_handle
*_bind_handle
/* [in] [ref] */,
2848 int32_t _level
/* [in] */,
2849 union drsuapi_DsAddEntryRequest
*_req
/* [in] [ref,switch_is(level)] */,
2850 int32_t *_level_out
/* [out] [ref] */,
2851 union drsuapi_DsAddEntryCtr
*_ctr
/* [out] [ref,switch_is(*level_out)] */)
2853 struct tevent_req
*req
;
2854 struct rpccli_drsuapi_DsAddEntry_state
*state
;
2855 struct tevent_req
*subreq
;
2857 req
= tevent_req_create(mem_ctx
, &state
,
2858 struct rpccli_drsuapi_DsAddEntry_state
);
2862 state
->out_mem_ctx
= NULL
;
2863 state
->dispatch_recv
= cli
->dispatch_recv
;
2866 state
->orig
.in
.bind_handle
= _bind_handle
;
2867 state
->orig
.in
.level
= _level
;
2868 state
->orig
.in
.req
= _req
;
2870 /* Out parameters */
2871 state
->orig
.out
.level_out
= _level_out
;
2872 state
->orig
.out
.ctr
= _ctr
;
2875 ZERO_STRUCT(state
->orig
.out
.result
);
2877 if (DEBUGLEVEL
>= 10) {
2878 NDR_PRINT_IN_DEBUG(drsuapi_DsAddEntry
, &state
->orig
);
2881 state
->out_mem_ctx
= talloc_named_const(state
, 0,
2882 "rpccli_drsuapi_DsAddEntry_out_memory");
2883 if (tevent_req_nomem(state
->out_mem_ctx
, req
)) {
2884 return tevent_req_post(req
, ev
);
2887 /* make a temporary copy, that we pass to the dispatch function */
2888 state
->tmp
= state
->orig
;
2890 subreq
= cli
->dispatch_send(state
, ev
, cli
,
2892 NDR_DRSUAPI_DSADDENTRY
,
2894 if (tevent_req_nomem(subreq
, req
)) {
2895 return tevent_req_post(req
, ev
);
2897 tevent_req_set_callback(subreq
, rpccli_drsuapi_DsAddEntry_done
, req
);
2901 static void rpccli_drsuapi_DsAddEntry_done(struct tevent_req
*subreq
)
2903 struct tevent_req
*req
= tevent_req_callback_data(
2904 subreq
, struct tevent_req
);
2905 struct rpccli_drsuapi_DsAddEntry_state
*state
= tevent_req_data(
2906 req
, struct rpccli_drsuapi_DsAddEntry_state
);
2908 TALLOC_CTX
*mem_ctx
;
2910 if (state
->out_mem_ctx
) {
2911 mem_ctx
= state
->out_mem_ctx
;
2916 status
= state
->dispatch_recv(subreq
, mem_ctx
);
2917 TALLOC_FREE(subreq
);
2918 if (!NT_STATUS_IS_OK(status
)) {
2919 tevent_req_nterror(req
, status
);
2923 /* Copy out parameters */
2924 *state
->orig
.out
.level_out
= *state
->tmp
.out
.level_out
;
2925 *state
->orig
.out
.ctr
= *state
->tmp
.out
.ctr
;
2928 state
->orig
.out
.result
= state
->tmp
.out
.result
;
2930 /* Reset temporary structure */
2931 ZERO_STRUCT(state
->tmp
);
2933 if (DEBUGLEVEL
>= 10) {
2934 NDR_PRINT_OUT_DEBUG(drsuapi_DsAddEntry
, &state
->orig
);
2937 tevent_req_done(req
);
2940 NTSTATUS
rpccli_drsuapi_DsAddEntry_recv(struct tevent_req
*req
,
2941 TALLOC_CTX
*mem_ctx
,
2944 struct rpccli_drsuapi_DsAddEntry_state
*state
= tevent_req_data(
2945 req
, struct rpccli_drsuapi_DsAddEntry_state
);
2948 if (tevent_req_is_nterror(req
, &status
)) {
2949 tevent_req_received(req
);
2953 /* Steal possbile out parameters to the callers context */
2954 talloc_steal(mem_ctx
, state
->out_mem_ctx
);
2957 *result
= state
->orig
.out
.result
;
2959 tevent_req_received(req
);
2960 return NT_STATUS_OK
;
2963 NTSTATUS
rpccli_drsuapi_DsAddEntry(struct rpc_pipe_client
*cli
,
2964 TALLOC_CTX
*mem_ctx
,
2965 struct policy_handle
*bind_handle
/* [in] [ref] */,
2966 int32_t level
/* [in] */,
2967 union drsuapi_DsAddEntryRequest
*req
/* [in] [ref,switch_is(level)] */,
2968 int32_t *level_out
/* [out] [ref] */,
2969 union drsuapi_DsAddEntryCtr
*ctr
/* [out] [ref,switch_is(*level_out)] */,
2972 struct drsuapi_DsAddEntry r
;
2976 r
.in
.bind_handle
= bind_handle
;
2980 if (DEBUGLEVEL
>= 10) {
2981 NDR_PRINT_IN_DEBUG(drsuapi_DsAddEntry
, &r
);
2984 status
= cli
->dispatch(cli
,
2987 NDR_DRSUAPI_DSADDENTRY
,
2990 if (!NT_STATUS_IS_OK(status
)) {
2994 if (DEBUGLEVEL
>= 10) {
2995 NDR_PRINT_OUT_DEBUG(drsuapi_DsAddEntry
, &r
);
2998 if (NT_STATUS_IS_ERR(status
)) {
3002 /* Return variables */
3003 *level_out
= *r
.out
.level_out
;
3008 *werror
= r
.out
.result
;
3011 return werror_to_ntstatus(r
.out
.result
);
3014 struct rpccli_DRSUAPI_EXECUTE_KCC_state
{
3015 struct DRSUAPI_EXECUTE_KCC orig
;
3016 struct DRSUAPI_EXECUTE_KCC tmp
;
3017 TALLOC_CTX
*out_mem_ctx
;
3018 NTSTATUS (*dispatch_recv
)(struct tevent_req
*req
, TALLOC_CTX
*mem_ctx
);
3021 static void rpccli_DRSUAPI_EXECUTE_KCC_done(struct tevent_req
*subreq
);
3023 struct tevent_req
*rpccli_DRSUAPI_EXECUTE_KCC_send(TALLOC_CTX
*mem_ctx
,
3024 struct tevent_context
*ev
,
3025 struct rpc_pipe_client
*cli
)
3027 struct tevent_req
*req
;
3028 struct rpccli_DRSUAPI_EXECUTE_KCC_state
*state
;
3029 struct tevent_req
*subreq
;
3031 req
= tevent_req_create(mem_ctx
, &state
,
3032 struct rpccli_DRSUAPI_EXECUTE_KCC_state
);
3036 state
->out_mem_ctx
= NULL
;
3037 state
->dispatch_recv
= cli
->dispatch_recv
;
3041 /* Out parameters */
3044 ZERO_STRUCT(state
->orig
.out
.result
);
3046 if (DEBUGLEVEL
>= 10) {
3047 NDR_PRINT_IN_DEBUG(DRSUAPI_EXECUTE_KCC
, &state
->orig
);
3050 /* make a temporary copy, that we pass to the dispatch function */
3051 state
->tmp
= state
->orig
;
3053 subreq
= cli
->dispatch_send(state
, ev
, cli
,
3055 NDR_DRSUAPI_EXECUTE_KCC
,
3057 if (tevent_req_nomem(subreq
, req
)) {
3058 return tevent_req_post(req
, ev
);
3060 tevent_req_set_callback(subreq
, rpccli_DRSUAPI_EXECUTE_KCC_done
, req
);
3064 static void rpccli_DRSUAPI_EXECUTE_KCC_done(struct tevent_req
*subreq
)
3066 struct tevent_req
*req
= tevent_req_callback_data(
3067 subreq
, struct tevent_req
);
3068 struct rpccli_DRSUAPI_EXECUTE_KCC_state
*state
= tevent_req_data(
3069 req
, struct rpccli_DRSUAPI_EXECUTE_KCC_state
);
3071 TALLOC_CTX
*mem_ctx
;
3073 if (state
->out_mem_ctx
) {
3074 mem_ctx
= state
->out_mem_ctx
;
3079 status
= state
->dispatch_recv(subreq
, mem_ctx
);
3080 TALLOC_FREE(subreq
);
3081 if (!NT_STATUS_IS_OK(status
)) {
3082 tevent_req_nterror(req
, status
);
3086 /* Copy out parameters */
3089 state
->orig
.out
.result
= state
->tmp
.out
.result
;
3091 /* Reset temporary structure */
3092 ZERO_STRUCT(state
->tmp
);
3094 if (DEBUGLEVEL
>= 10) {
3095 NDR_PRINT_OUT_DEBUG(DRSUAPI_EXECUTE_KCC
, &state
->orig
);
3098 tevent_req_done(req
);
3101 NTSTATUS
rpccli_DRSUAPI_EXECUTE_KCC_recv(struct tevent_req
*req
,
3102 TALLOC_CTX
*mem_ctx
,
3105 struct rpccli_DRSUAPI_EXECUTE_KCC_state
*state
= tevent_req_data(
3106 req
, struct rpccli_DRSUAPI_EXECUTE_KCC_state
);
3109 if (tevent_req_is_nterror(req
, &status
)) {
3110 tevent_req_received(req
);
3114 /* Steal possbile out parameters to the callers context */
3115 talloc_steal(mem_ctx
, state
->out_mem_ctx
);
3118 *result
= state
->orig
.out
.result
;
3120 tevent_req_received(req
);
3121 return NT_STATUS_OK
;
3124 NTSTATUS
rpccli_DRSUAPI_EXECUTE_KCC(struct rpc_pipe_client
*cli
,
3125 TALLOC_CTX
*mem_ctx
,
3128 struct DRSUAPI_EXECUTE_KCC r
;
3133 if (DEBUGLEVEL
>= 10) {
3134 NDR_PRINT_IN_DEBUG(DRSUAPI_EXECUTE_KCC
, &r
);
3137 status
= cli
->dispatch(cli
,
3140 NDR_DRSUAPI_EXECUTE_KCC
,
3143 if (!NT_STATUS_IS_OK(status
)) {
3147 if (DEBUGLEVEL
>= 10) {
3148 NDR_PRINT_OUT_DEBUG(DRSUAPI_EXECUTE_KCC
, &r
);
3151 if (NT_STATUS_IS_ERR(status
)) {
3155 /* Return variables */
3159 *werror
= r
.out
.result
;
3162 return werror_to_ntstatus(r
.out
.result
);
3165 struct rpccli_drsuapi_DsReplicaGetInfo_state
{
3166 struct drsuapi_DsReplicaGetInfo orig
;
3167 struct drsuapi_DsReplicaGetInfo tmp
;
3168 TALLOC_CTX
*out_mem_ctx
;
3169 NTSTATUS (*dispatch_recv
)(struct tevent_req
*req
, TALLOC_CTX
*mem_ctx
);
3172 static void rpccli_drsuapi_DsReplicaGetInfo_done(struct tevent_req
*subreq
);
3174 struct tevent_req
*rpccli_drsuapi_DsReplicaGetInfo_send(TALLOC_CTX
*mem_ctx
,
3175 struct tevent_context
*ev
,
3176 struct rpc_pipe_client
*cli
,
3177 struct policy_handle
*_bind_handle
/* [in] [ref] */,
3178 enum drsuapi_DsReplicaGetInfoLevel _level
/* [in] */,
3179 union drsuapi_DsReplicaGetInfoRequest
*_req
/* [in] [ref,switch_is(level)] */,
3180 enum drsuapi_DsReplicaInfoType
*_info_type
/* [out] [ref] */,
3181 union drsuapi_DsReplicaInfo
*_info
/* [out] [ref,switch_is(*info_type)] */)
3183 struct tevent_req
*req
;
3184 struct rpccli_drsuapi_DsReplicaGetInfo_state
*state
;
3185 struct tevent_req
*subreq
;
3187 req
= tevent_req_create(mem_ctx
, &state
,
3188 struct rpccli_drsuapi_DsReplicaGetInfo_state
);
3192 state
->out_mem_ctx
= NULL
;
3193 state
->dispatch_recv
= cli
->dispatch_recv
;
3196 state
->orig
.in
.bind_handle
= _bind_handle
;
3197 state
->orig
.in
.level
= _level
;
3198 state
->orig
.in
.req
= _req
;
3200 /* Out parameters */
3201 state
->orig
.out
.info_type
= _info_type
;
3202 state
->orig
.out
.info
= _info
;
3205 ZERO_STRUCT(state
->orig
.out
.result
);
3207 if (DEBUGLEVEL
>= 10) {
3208 NDR_PRINT_IN_DEBUG(drsuapi_DsReplicaGetInfo
, &state
->orig
);
3211 state
->out_mem_ctx
= talloc_named_const(state
, 0,
3212 "rpccli_drsuapi_DsReplicaGetInfo_out_memory");
3213 if (tevent_req_nomem(state
->out_mem_ctx
, req
)) {
3214 return tevent_req_post(req
, ev
);
3217 /* make a temporary copy, that we pass to the dispatch function */
3218 state
->tmp
= state
->orig
;
3220 subreq
= cli
->dispatch_send(state
, ev
, cli
,
3222 NDR_DRSUAPI_DSREPLICAGETINFO
,
3224 if (tevent_req_nomem(subreq
, req
)) {
3225 return tevent_req_post(req
, ev
);
3227 tevent_req_set_callback(subreq
, rpccli_drsuapi_DsReplicaGetInfo_done
, req
);
3231 static void rpccli_drsuapi_DsReplicaGetInfo_done(struct tevent_req
*subreq
)
3233 struct tevent_req
*req
= tevent_req_callback_data(
3234 subreq
, struct tevent_req
);
3235 struct rpccli_drsuapi_DsReplicaGetInfo_state
*state
= tevent_req_data(
3236 req
, struct rpccli_drsuapi_DsReplicaGetInfo_state
);
3238 TALLOC_CTX
*mem_ctx
;
3240 if (state
->out_mem_ctx
) {
3241 mem_ctx
= state
->out_mem_ctx
;
3246 status
= state
->dispatch_recv(subreq
, mem_ctx
);
3247 TALLOC_FREE(subreq
);
3248 if (!NT_STATUS_IS_OK(status
)) {
3249 tevent_req_nterror(req
, status
);
3253 /* Copy out parameters */
3254 *state
->orig
.out
.info_type
= *state
->tmp
.out
.info_type
;
3255 *state
->orig
.out
.info
= *state
->tmp
.out
.info
;
3258 state
->orig
.out
.result
= state
->tmp
.out
.result
;
3260 /* Reset temporary structure */
3261 ZERO_STRUCT(state
->tmp
);
3263 if (DEBUGLEVEL
>= 10) {
3264 NDR_PRINT_OUT_DEBUG(drsuapi_DsReplicaGetInfo
, &state
->orig
);
3267 tevent_req_done(req
);
3270 NTSTATUS
rpccli_drsuapi_DsReplicaGetInfo_recv(struct tevent_req
*req
,
3271 TALLOC_CTX
*mem_ctx
,
3274 struct rpccli_drsuapi_DsReplicaGetInfo_state
*state
= tevent_req_data(
3275 req
, struct rpccli_drsuapi_DsReplicaGetInfo_state
);
3278 if (tevent_req_is_nterror(req
, &status
)) {
3279 tevent_req_received(req
);
3283 /* Steal possbile out parameters to the callers context */
3284 talloc_steal(mem_ctx
, state
->out_mem_ctx
);
3287 *result
= state
->orig
.out
.result
;
3289 tevent_req_received(req
);
3290 return NT_STATUS_OK
;
3293 NTSTATUS
rpccli_drsuapi_DsReplicaGetInfo(struct rpc_pipe_client
*cli
,
3294 TALLOC_CTX
*mem_ctx
,
3295 struct policy_handle
*bind_handle
/* [in] [ref] */,
3296 enum drsuapi_DsReplicaGetInfoLevel level
/* [in] */,
3297 union drsuapi_DsReplicaGetInfoRequest
*req
/* [in] [ref,switch_is(level)] */,
3298 enum drsuapi_DsReplicaInfoType
*info_type
/* [out] [ref] */,
3299 union drsuapi_DsReplicaInfo
*info
/* [out] [ref,switch_is(*info_type)] */,
3302 struct drsuapi_DsReplicaGetInfo r
;
3306 r
.in
.bind_handle
= bind_handle
;
3310 if (DEBUGLEVEL
>= 10) {
3311 NDR_PRINT_IN_DEBUG(drsuapi_DsReplicaGetInfo
, &r
);
3314 status
= cli
->dispatch(cli
,
3317 NDR_DRSUAPI_DSREPLICAGETINFO
,
3320 if (!NT_STATUS_IS_OK(status
)) {
3324 if (DEBUGLEVEL
>= 10) {
3325 NDR_PRINT_OUT_DEBUG(drsuapi_DsReplicaGetInfo
, &r
);
3328 if (NT_STATUS_IS_ERR(status
)) {
3332 /* Return variables */
3333 *info_type
= *r
.out
.info_type
;
3334 *info
= *r
.out
.info
;
3338 *werror
= r
.out
.result
;
3341 return werror_to_ntstatus(r
.out
.result
);
3344 struct rpccli_DRSUAPI_ADD_SID_HISTORY_state
{
3345 struct DRSUAPI_ADD_SID_HISTORY orig
;
3346 struct DRSUAPI_ADD_SID_HISTORY tmp
;
3347 TALLOC_CTX
*out_mem_ctx
;
3348 NTSTATUS (*dispatch_recv
)(struct tevent_req
*req
, TALLOC_CTX
*mem_ctx
);
3351 static void rpccli_DRSUAPI_ADD_SID_HISTORY_done(struct tevent_req
*subreq
);
3353 struct tevent_req
*rpccli_DRSUAPI_ADD_SID_HISTORY_send(TALLOC_CTX
*mem_ctx
,
3354 struct tevent_context
*ev
,
3355 struct rpc_pipe_client
*cli
)
3357 struct tevent_req
*req
;
3358 struct rpccli_DRSUAPI_ADD_SID_HISTORY_state
*state
;
3359 struct tevent_req
*subreq
;
3361 req
= tevent_req_create(mem_ctx
, &state
,
3362 struct rpccli_DRSUAPI_ADD_SID_HISTORY_state
);
3366 state
->out_mem_ctx
= NULL
;
3367 state
->dispatch_recv
= cli
->dispatch_recv
;
3371 /* Out parameters */
3374 ZERO_STRUCT(state
->orig
.out
.result
);
3376 if (DEBUGLEVEL
>= 10) {
3377 NDR_PRINT_IN_DEBUG(DRSUAPI_ADD_SID_HISTORY
, &state
->orig
);
3380 /* make a temporary copy, that we pass to the dispatch function */
3381 state
->tmp
= state
->orig
;
3383 subreq
= cli
->dispatch_send(state
, ev
, cli
,
3385 NDR_DRSUAPI_ADD_SID_HISTORY
,
3387 if (tevent_req_nomem(subreq
, req
)) {
3388 return tevent_req_post(req
, ev
);
3390 tevent_req_set_callback(subreq
, rpccli_DRSUAPI_ADD_SID_HISTORY_done
, req
);
3394 static void rpccli_DRSUAPI_ADD_SID_HISTORY_done(struct tevent_req
*subreq
)
3396 struct tevent_req
*req
= tevent_req_callback_data(
3397 subreq
, struct tevent_req
);
3398 struct rpccli_DRSUAPI_ADD_SID_HISTORY_state
*state
= tevent_req_data(
3399 req
, struct rpccli_DRSUAPI_ADD_SID_HISTORY_state
);
3401 TALLOC_CTX
*mem_ctx
;
3403 if (state
->out_mem_ctx
) {
3404 mem_ctx
= state
->out_mem_ctx
;
3409 status
= state
->dispatch_recv(subreq
, mem_ctx
);
3410 TALLOC_FREE(subreq
);
3411 if (!NT_STATUS_IS_OK(status
)) {
3412 tevent_req_nterror(req
, status
);
3416 /* Copy out parameters */
3419 state
->orig
.out
.result
= state
->tmp
.out
.result
;
3421 /* Reset temporary structure */
3422 ZERO_STRUCT(state
->tmp
);
3424 if (DEBUGLEVEL
>= 10) {
3425 NDR_PRINT_OUT_DEBUG(DRSUAPI_ADD_SID_HISTORY
, &state
->orig
);
3428 tevent_req_done(req
);
3431 NTSTATUS
rpccli_DRSUAPI_ADD_SID_HISTORY_recv(struct tevent_req
*req
,
3432 TALLOC_CTX
*mem_ctx
,
3435 struct rpccli_DRSUAPI_ADD_SID_HISTORY_state
*state
= tevent_req_data(
3436 req
, struct rpccli_DRSUAPI_ADD_SID_HISTORY_state
);
3439 if (tevent_req_is_nterror(req
, &status
)) {
3440 tevent_req_received(req
);
3444 /* Steal possbile out parameters to the callers context */
3445 talloc_steal(mem_ctx
, state
->out_mem_ctx
);
3448 *result
= state
->orig
.out
.result
;
3450 tevent_req_received(req
);
3451 return NT_STATUS_OK
;
3454 NTSTATUS
rpccli_DRSUAPI_ADD_SID_HISTORY(struct rpc_pipe_client
*cli
,
3455 TALLOC_CTX
*mem_ctx
,
3458 struct DRSUAPI_ADD_SID_HISTORY r
;
3463 if (DEBUGLEVEL
>= 10) {
3464 NDR_PRINT_IN_DEBUG(DRSUAPI_ADD_SID_HISTORY
, &r
);
3467 status
= cli
->dispatch(cli
,
3470 NDR_DRSUAPI_ADD_SID_HISTORY
,
3473 if (!NT_STATUS_IS_OK(status
)) {
3477 if (DEBUGLEVEL
>= 10) {
3478 NDR_PRINT_OUT_DEBUG(DRSUAPI_ADD_SID_HISTORY
, &r
);
3481 if (NT_STATUS_IS_ERR(status
)) {
3485 /* Return variables */
3489 *werror
= r
.out
.result
;
3492 return werror_to_ntstatus(r
.out
.result
);
3495 struct rpccli_drsuapi_DsGetMemberships2_state
{
3496 struct drsuapi_DsGetMemberships2 orig
;
3497 struct drsuapi_DsGetMemberships2 tmp
;
3498 TALLOC_CTX
*out_mem_ctx
;
3499 NTSTATUS (*dispatch_recv
)(struct tevent_req
*req
, TALLOC_CTX
*mem_ctx
);
3502 static void rpccli_drsuapi_DsGetMemberships2_done(struct tevent_req
*subreq
);
3504 struct tevent_req
*rpccli_drsuapi_DsGetMemberships2_send(TALLOC_CTX
*mem_ctx
,
3505 struct tevent_context
*ev
,
3506 struct rpc_pipe_client
*cli
,
3507 struct policy_handle
*_bind_handle
/* [in] [ref] */,
3508 int32_t _level
/* [in] */,
3509 union drsuapi_DsGetMemberships2Request
*_req
/* [in] [ref,switch_is(level)] */,
3510 int32_t *_level_out
/* [out] [ref] */,
3511 union drsuapi_DsGetMemberships2Ctr
*_ctr
/* [out] [ref,switch_is(*level_out)] */)
3513 struct tevent_req
*req
;
3514 struct rpccli_drsuapi_DsGetMemberships2_state
*state
;
3515 struct tevent_req
*subreq
;
3517 req
= tevent_req_create(mem_ctx
, &state
,
3518 struct rpccli_drsuapi_DsGetMemberships2_state
);
3522 state
->out_mem_ctx
= NULL
;
3523 state
->dispatch_recv
= cli
->dispatch_recv
;
3526 state
->orig
.in
.bind_handle
= _bind_handle
;
3527 state
->orig
.in
.level
= _level
;
3528 state
->orig
.in
.req
= _req
;
3530 /* Out parameters */
3531 state
->orig
.out
.level_out
= _level_out
;
3532 state
->orig
.out
.ctr
= _ctr
;
3535 ZERO_STRUCT(state
->orig
.out
.result
);
3537 if (DEBUGLEVEL
>= 10) {
3538 NDR_PRINT_IN_DEBUG(drsuapi_DsGetMemberships2
, &state
->orig
);
3541 state
->out_mem_ctx
= talloc_named_const(state
, 0,
3542 "rpccli_drsuapi_DsGetMemberships2_out_memory");
3543 if (tevent_req_nomem(state
->out_mem_ctx
, req
)) {
3544 return tevent_req_post(req
, ev
);
3547 /* make a temporary copy, that we pass to the dispatch function */
3548 state
->tmp
= state
->orig
;
3550 subreq
= cli
->dispatch_send(state
, ev
, cli
,
3552 NDR_DRSUAPI_DSGETMEMBERSHIPS2
,
3554 if (tevent_req_nomem(subreq
, req
)) {
3555 return tevent_req_post(req
, ev
);
3557 tevent_req_set_callback(subreq
, rpccli_drsuapi_DsGetMemberships2_done
, req
);
3561 static void rpccli_drsuapi_DsGetMemberships2_done(struct tevent_req
*subreq
)
3563 struct tevent_req
*req
= tevent_req_callback_data(
3564 subreq
, struct tevent_req
);
3565 struct rpccli_drsuapi_DsGetMemberships2_state
*state
= tevent_req_data(
3566 req
, struct rpccli_drsuapi_DsGetMemberships2_state
);
3568 TALLOC_CTX
*mem_ctx
;
3570 if (state
->out_mem_ctx
) {
3571 mem_ctx
= state
->out_mem_ctx
;
3576 status
= state
->dispatch_recv(subreq
, mem_ctx
);
3577 TALLOC_FREE(subreq
);
3578 if (!NT_STATUS_IS_OK(status
)) {
3579 tevent_req_nterror(req
, status
);
3583 /* Copy out parameters */
3584 *state
->orig
.out
.level_out
= *state
->tmp
.out
.level_out
;
3585 *state
->orig
.out
.ctr
= *state
->tmp
.out
.ctr
;
3588 state
->orig
.out
.result
= state
->tmp
.out
.result
;
3590 /* Reset temporary structure */
3591 ZERO_STRUCT(state
->tmp
);
3593 if (DEBUGLEVEL
>= 10) {
3594 NDR_PRINT_OUT_DEBUG(drsuapi_DsGetMemberships2
, &state
->orig
);
3597 tevent_req_done(req
);
3600 NTSTATUS
rpccli_drsuapi_DsGetMemberships2_recv(struct tevent_req
*req
,
3601 TALLOC_CTX
*mem_ctx
,
3604 struct rpccli_drsuapi_DsGetMemberships2_state
*state
= tevent_req_data(
3605 req
, struct rpccli_drsuapi_DsGetMemberships2_state
);
3608 if (tevent_req_is_nterror(req
, &status
)) {
3609 tevent_req_received(req
);
3613 /* Steal possbile out parameters to the callers context */
3614 talloc_steal(mem_ctx
, state
->out_mem_ctx
);
3617 *result
= state
->orig
.out
.result
;
3619 tevent_req_received(req
);
3620 return NT_STATUS_OK
;
3623 NTSTATUS
rpccli_drsuapi_DsGetMemberships2(struct rpc_pipe_client
*cli
,
3624 TALLOC_CTX
*mem_ctx
,
3625 struct policy_handle
*bind_handle
/* [in] [ref] */,
3626 int32_t level
/* [in] */,
3627 union drsuapi_DsGetMemberships2Request
*req
/* [in] [ref,switch_is(level)] */,
3628 int32_t *level_out
/* [out] [ref] */,
3629 union drsuapi_DsGetMemberships2Ctr
*ctr
/* [out] [ref,switch_is(*level_out)] */,
3632 struct drsuapi_DsGetMemberships2 r
;
3636 r
.in
.bind_handle
= bind_handle
;
3640 if (DEBUGLEVEL
>= 10) {
3641 NDR_PRINT_IN_DEBUG(drsuapi_DsGetMemberships2
, &r
);
3644 status
= cli
->dispatch(cli
,
3647 NDR_DRSUAPI_DSGETMEMBERSHIPS2
,
3650 if (!NT_STATUS_IS_OK(status
)) {
3654 if (DEBUGLEVEL
>= 10) {
3655 NDR_PRINT_OUT_DEBUG(drsuapi_DsGetMemberships2
, &r
);
3658 if (NT_STATUS_IS_ERR(status
)) {
3662 /* Return variables */
3663 *level_out
= *r
.out
.level_out
;
3668 *werror
= r
.out
.result
;
3671 return werror_to_ntstatus(r
.out
.result
);
3674 struct rpccli_DRSUAPI_REPLICA_VERIFY_OBJECTS_state
{
3675 struct DRSUAPI_REPLICA_VERIFY_OBJECTS orig
;
3676 struct DRSUAPI_REPLICA_VERIFY_OBJECTS tmp
;
3677 TALLOC_CTX
*out_mem_ctx
;
3678 NTSTATUS (*dispatch_recv
)(struct tevent_req
*req
, TALLOC_CTX
*mem_ctx
);
3681 static void rpccli_DRSUAPI_REPLICA_VERIFY_OBJECTS_done(struct tevent_req
*subreq
);
3683 struct tevent_req
*rpccli_DRSUAPI_REPLICA_VERIFY_OBJECTS_send(TALLOC_CTX
*mem_ctx
,
3684 struct tevent_context
*ev
,
3685 struct rpc_pipe_client
*cli
)
3687 struct tevent_req
*req
;
3688 struct rpccli_DRSUAPI_REPLICA_VERIFY_OBJECTS_state
*state
;
3689 struct tevent_req
*subreq
;
3691 req
= tevent_req_create(mem_ctx
, &state
,
3692 struct rpccli_DRSUAPI_REPLICA_VERIFY_OBJECTS_state
);
3696 state
->out_mem_ctx
= NULL
;
3697 state
->dispatch_recv
= cli
->dispatch_recv
;
3701 /* Out parameters */
3704 ZERO_STRUCT(state
->orig
.out
.result
);
3706 if (DEBUGLEVEL
>= 10) {
3707 NDR_PRINT_IN_DEBUG(DRSUAPI_REPLICA_VERIFY_OBJECTS
, &state
->orig
);
3710 /* make a temporary copy, that we pass to the dispatch function */
3711 state
->tmp
= state
->orig
;
3713 subreq
= cli
->dispatch_send(state
, ev
, cli
,
3715 NDR_DRSUAPI_REPLICA_VERIFY_OBJECTS
,
3717 if (tevent_req_nomem(subreq
, req
)) {
3718 return tevent_req_post(req
, ev
);
3720 tevent_req_set_callback(subreq
, rpccli_DRSUAPI_REPLICA_VERIFY_OBJECTS_done
, req
);
3724 static void rpccli_DRSUAPI_REPLICA_VERIFY_OBJECTS_done(struct tevent_req
*subreq
)
3726 struct tevent_req
*req
= tevent_req_callback_data(
3727 subreq
, struct tevent_req
);
3728 struct rpccli_DRSUAPI_REPLICA_VERIFY_OBJECTS_state
*state
= tevent_req_data(
3729 req
, struct rpccli_DRSUAPI_REPLICA_VERIFY_OBJECTS_state
);
3731 TALLOC_CTX
*mem_ctx
;
3733 if (state
->out_mem_ctx
) {
3734 mem_ctx
= state
->out_mem_ctx
;
3739 status
= state
->dispatch_recv(subreq
, mem_ctx
);
3740 TALLOC_FREE(subreq
);
3741 if (!NT_STATUS_IS_OK(status
)) {
3742 tevent_req_nterror(req
, status
);
3746 /* Copy out parameters */
3749 state
->orig
.out
.result
= state
->tmp
.out
.result
;
3751 /* Reset temporary structure */
3752 ZERO_STRUCT(state
->tmp
);
3754 if (DEBUGLEVEL
>= 10) {
3755 NDR_PRINT_OUT_DEBUG(DRSUAPI_REPLICA_VERIFY_OBJECTS
, &state
->orig
);
3758 tevent_req_done(req
);
3761 NTSTATUS
rpccli_DRSUAPI_REPLICA_VERIFY_OBJECTS_recv(struct tevent_req
*req
,
3762 TALLOC_CTX
*mem_ctx
,
3765 struct rpccli_DRSUAPI_REPLICA_VERIFY_OBJECTS_state
*state
= tevent_req_data(
3766 req
, struct rpccli_DRSUAPI_REPLICA_VERIFY_OBJECTS_state
);
3769 if (tevent_req_is_nterror(req
, &status
)) {
3770 tevent_req_received(req
);
3774 /* Steal possbile out parameters to the callers context */
3775 talloc_steal(mem_ctx
, state
->out_mem_ctx
);
3778 *result
= state
->orig
.out
.result
;
3780 tevent_req_received(req
);
3781 return NT_STATUS_OK
;
3784 NTSTATUS
rpccli_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct rpc_pipe_client
*cli
,
3785 TALLOC_CTX
*mem_ctx
,
3788 struct DRSUAPI_REPLICA_VERIFY_OBJECTS r
;
3793 if (DEBUGLEVEL
>= 10) {
3794 NDR_PRINT_IN_DEBUG(DRSUAPI_REPLICA_VERIFY_OBJECTS
, &r
);
3797 status
= cli
->dispatch(cli
,
3800 NDR_DRSUAPI_REPLICA_VERIFY_OBJECTS
,
3803 if (!NT_STATUS_IS_OK(status
)) {
3807 if (DEBUGLEVEL
>= 10) {
3808 NDR_PRINT_OUT_DEBUG(DRSUAPI_REPLICA_VERIFY_OBJECTS
, &r
);
3811 if (NT_STATUS_IS_ERR(status
)) {
3815 /* Return variables */
3819 *werror
= r
.out
.result
;
3822 return werror_to_ntstatus(r
.out
.result
);
3825 struct rpccli_DRSUAPI_GET_OBJECT_EXISTENCE_state
{
3826 struct DRSUAPI_GET_OBJECT_EXISTENCE orig
;
3827 struct DRSUAPI_GET_OBJECT_EXISTENCE tmp
;
3828 TALLOC_CTX
*out_mem_ctx
;
3829 NTSTATUS (*dispatch_recv
)(struct tevent_req
*req
, TALLOC_CTX
*mem_ctx
);
3832 static void rpccli_DRSUAPI_GET_OBJECT_EXISTENCE_done(struct tevent_req
*subreq
);
3834 struct tevent_req
*rpccli_DRSUAPI_GET_OBJECT_EXISTENCE_send(TALLOC_CTX
*mem_ctx
,
3835 struct tevent_context
*ev
,
3836 struct rpc_pipe_client
*cli
)
3838 struct tevent_req
*req
;
3839 struct rpccli_DRSUAPI_GET_OBJECT_EXISTENCE_state
*state
;
3840 struct tevent_req
*subreq
;
3842 req
= tevent_req_create(mem_ctx
, &state
,
3843 struct rpccli_DRSUAPI_GET_OBJECT_EXISTENCE_state
);
3847 state
->out_mem_ctx
= NULL
;
3848 state
->dispatch_recv
= cli
->dispatch_recv
;
3852 /* Out parameters */
3855 ZERO_STRUCT(state
->orig
.out
.result
);
3857 if (DEBUGLEVEL
>= 10) {
3858 NDR_PRINT_IN_DEBUG(DRSUAPI_GET_OBJECT_EXISTENCE
, &state
->orig
);
3861 /* make a temporary copy, that we pass to the dispatch function */
3862 state
->tmp
= state
->orig
;
3864 subreq
= cli
->dispatch_send(state
, ev
, cli
,
3866 NDR_DRSUAPI_GET_OBJECT_EXISTENCE
,
3868 if (tevent_req_nomem(subreq
, req
)) {
3869 return tevent_req_post(req
, ev
);
3871 tevent_req_set_callback(subreq
, rpccli_DRSUAPI_GET_OBJECT_EXISTENCE_done
, req
);
3875 static void rpccli_DRSUAPI_GET_OBJECT_EXISTENCE_done(struct tevent_req
*subreq
)
3877 struct tevent_req
*req
= tevent_req_callback_data(
3878 subreq
, struct tevent_req
);
3879 struct rpccli_DRSUAPI_GET_OBJECT_EXISTENCE_state
*state
= tevent_req_data(
3880 req
, struct rpccli_DRSUAPI_GET_OBJECT_EXISTENCE_state
);
3882 TALLOC_CTX
*mem_ctx
;
3884 if (state
->out_mem_ctx
) {
3885 mem_ctx
= state
->out_mem_ctx
;
3890 status
= state
->dispatch_recv(subreq
, mem_ctx
);
3891 TALLOC_FREE(subreq
);
3892 if (!NT_STATUS_IS_OK(status
)) {
3893 tevent_req_nterror(req
, status
);
3897 /* Copy out parameters */
3900 state
->orig
.out
.result
= state
->tmp
.out
.result
;
3902 /* Reset temporary structure */
3903 ZERO_STRUCT(state
->tmp
);
3905 if (DEBUGLEVEL
>= 10) {
3906 NDR_PRINT_OUT_DEBUG(DRSUAPI_GET_OBJECT_EXISTENCE
, &state
->orig
);
3909 tevent_req_done(req
);
3912 NTSTATUS
rpccli_DRSUAPI_GET_OBJECT_EXISTENCE_recv(struct tevent_req
*req
,
3913 TALLOC_CTX
*mem_ctx
,
3916 struct rpccli_DRSUAPI_GET_OBJECT_EXISTENCE_state
*state
= tevent_req_data(
3917 req
, struct rpccli_DRSUAPI_GET_OBJECT_EXISTENCE_state
);
3920 if (tevent_req_is_nterror(req
, &status
)) {
3921 tevent_req_received(req
);
3925 /* Steal possbile out parameters to the callers context */
3926 talloc_steal(mem_ctx
, state
->out_mem_ctx
);
3929 *result
= state
->orig
.out
.result
;
3931 tevent_req_received(req
);
3932 return NT_STATUS_OK
;
3935 NTSTATUS
rpccli_DRSUAPI_GET_OBJECT_EXISTENCE(struct rpc_pipe_client
*cli
,
3936 TALLOC_CTX
*mem_ctx
,
3939 struct DRSUAPI_GET_OBJECT_EXISTENCE r
;
3944 if (DEBUGLEVEL
>= 10) {
3945 NDR_PRINT_IN_DEBUG(DRSUAPI_GET_OBJECT_EXISTENCE
, &r
);
3948 status
= cli
->dispatch(cli
,
3951 NDR_DRSUAPI_GET_OBJECT_EXISTENCE
,
3954 if (!NT_STATUS_IS_OK(status
)) {
3958 if (DEBUGLEVEL
>= 10) {
3959 NDR_PRINT_OUT_DEBUG(DRSUAPI_GET_OBJECT_EXISTENCE
, &r
);
3962 if (NT_STATUS_IS_ERR(status
)) {
3966 /* Return variables */
3970 *werror
= r
.out
.result
;
3973 return werror_to_ntstatus(r
.out
.result
);
3976 struct rpccli_drsuapi_QuerySitesByCost_state
{
3977 struct drsuapi_QuerySitesByCost orig
;
3978 struct drsuapi_QuerySitesByCost tmp
;
3979 TALLOC_CTX
*out_mem_ctx
;
3980 NTSTATUS (*dispatch_recv
)(struct tevent_req
*req
, TALLOC_CTX
*mem_ctx
);
3983 static void rpccli_drsuapi_QuerySitesByCost_done(struct tevent_req
*subreq
);
3985 struct tevent_req
*rpccli_drsuapi_QuerySitesByCost_send(TALLOC_CTX
*mem_ctx
,
3986 struct tevent_context
*ev
,
3987 struct rpc_pipe_client
*cli
,
3988 struct policy_handle
*_bind_handle
/* [in] [ref] */,
3989 int32_t _level
/* [in] */,
3990 union drsuapi_QuerySitesByCostRequest
*_req
/* [in] [ref,switch_is(level)] */,
3991 int32_t *_level_out
/* [out] [ref] */,
3992 union drsuapi_QuerySitesByCostCtr
*_ctr
/* [out] [ref,switch_is(*level_out)] */)
3994 struct tevent_req
*req
;
3995 struct rpccli_drsuapi_QuerySitesByCost_state
*state
;
3996 struct tevent_req
*subreq
;
3998 req
= tevent_req_create(mem_ctx
, &state
,
3999 struct rpccli_drsuapi_QuerySitesByCost_state
);
4003 state
->out_mem_ctx
= NULL
;
4004 state
->dispatch_recv
= cli
->dispatch_recv
;
4007 state
->orig
.in
.bind_handle
= _bind_handle
;
4008 state
->orig
.in
.level
= _level
;
4009 state
->orig
.in
.req
= _req
;
4011 /* Out parameters */
4012 state
->orig
.out
.level_out
= _level_out
;
4013 state
->orig
.out
.ctr
= _ctr
;
4016 ZERO_STRUCT(state
->orig
.out
.result
);
4018 if (DEBUGLEVEL
>= 10) {
4019 NDR_PRINT_IN_DEBUG(drsuapi_QuerySitesByCost
, &state
->orig
);
4022 state
->out_mem_ctx
= talloc_named_const(state
, 0,
4023 "rpccli_drsuapi_QuerySitesByCost_out_memory");
4024 if (tevent_req_nomem(state
->out_mem_ctx
, req
)) {
4025 return tevent_req_post(req
, ev
);
4028 /* make a temporary copy, that we pass to the dispatch function */
4029 state
->tmp
= state
->orig
;
4031 subreq
= cli
->dispatch_send(state
, ev
, cli
,
4033 NDR_DRSUAPI_QUERYSITESBYCOST
,
4035 if (tevent_req_nomem(subreq
, req
)) {
4036 return tevent_req_post(req
, ev
);
4038 tevent_req_set_callback(subreq
, rpccli_drsuapi_QuerySitesByCost_done
, req
);
4042 static void rpccli_drsuapi_QuerySitesByCost_done(struct tevent_req
*subreq
)
4044 struct tevent_req
*req
= tevent_req_callback_data(
4045 subreq
, struct tevent_req
);
4046 struct rpccli_drsuapi_QuerySitesByCost_state
*state
= tevent_req_data(
4047 req
, struct rpccli_drsuapi_QuerySitesByCost_state
);
4049 TALLOC_CTX
*mem_ctx
;
4051 if (state
->out_mem_ctx
) {
4052 mem_ctx
= state
->out_mem_ctx
;
4057 status
= state
->dispatch_recv(subreq
, mem_ctx
);
4058 TALLOC_FREE(subreq
);
4059 if (!NT_STATUS_IS_OK(status
)) {
4060 tevent_req_nterror(req
, status
);
4064 /* Copy out parameters */
4065 *state
->orig
.out
.level_out
= *state
->tmp
.out
.level_out
;
4066 *state
->orig
.out
.ctr
= *state
->tmp
.out
.ctr
;
4069 state
->orig
.out
.result
= state
->tmp
.out
.result
;
4071 /* Reset temporary structure */
4072 ZERO_STRUCT(state
->tmp
);
4074 if (DEBUGLEVEL
>= 10) {
4075 NDR_PRINT_OUT_DEBUG(drsuapi_QuerySitesByCost
, &state
->orig
);
4078 tevent_req_done(req
);
4081 NTSTATUS
rpccli_drsuapi_QuerySitesByCost_recv(struct tevent_req
*req
,
4082 TALLOC_CTX
*mem_ctx
,
4085 struct rpccli_drsuapi_QuerySitesByCost_state
*state
= tevent_req_data(
4086 req
, struct rpccli_drsuapi_QuerySitesByCost_state
);
4089 if (tevent_req_is_nterror(req
, &status
)) {
4090 tevent_req_received(req
);
4094 /* Steal possbile out parameters to the callers context */
4095 talloc_steal(mem_ctx
, state
->out_mem_ctx
);
4098 *result
= state
->orig
.out
.result
;
4100 tevent_req_received(req
);
4101 return NT_STATUS_OK
;
4104 NTSTATUS
rpccli_drsuapi_QuerySitesByCost(struct rpc_pipe_client
*cli
,
4105 TALLOC_CTX
*mem_ctx
,
4106 struct policy_handle
*bind_handle
/* [in] [ref] */,
4107 int32_t level
/* [in] */,
4108 union drsuapi_QuerySitesByCostRequest
*req
/* [in] [ref,switch_is(level)] */,
4109 int32_t *level_out
/* [out] [ref] */,
4110 union drsuapi_QuerySitesByCostCtr
*ctr
/* [out] [ref,switch_is(*level_out)] */,
4113 struct drsuapi_QuerySitesByCost r
;
4117 r
.in
.bind_handle
= bind_handle
;
4121 if (DEBUGLEVEL
>= 10) {
4122 NDR_PRINT_IN_DEBUG(drsuapi_QuerySitesByCost
, &r
);
4125 status
= cli
->dispatch(cli
,
4128 NDR_DRSUAPI_QUERYSITESBYCOST
,
4131 if (!NT_STATUS_IS_OK(status
)) {
4135 if (DEBUGLEVEL
>= 10) {
4136 NDR_PRINT_OUT_DEBUG(drsuapi_QuerySitesByCost
, &r
);
4139 if (NT_STATUS_IS_ERR(status
)) {
4143 /* Return variables */
4144 *level_out
= *r
.out
.level_out
;
4149 *werror
= r
.out
.result
;
4152 return werror_to_ntstatus(r
.out
.result
);