2 * Unix SMB/CIFS implementation.
3 * client auto-generated by pidl. DO NOT MODIFY!
7 #include "librpc/gen_ndr/cli_wbint.h"
9 struct rpccli_wbint_Ping_state
{
10 struct wbint_Ping orig
;
11 struct wbint_Ping tmp
;
12 TALLOC_CTX
*out_mem_ctx
;
13 NTSTATUS (*dispatch_recv
)(struct tevent_req
*req
, TALLOC_CTX
*mem_ctx
);
16 static void rpccli_wbint_Ping_done(struct tevent_req
*subreq
);
18 struct tevent_req
*rpccli_wbint_Ping_send(TALLOC_CTX
*mem_ctx
,
19 struct tevent_context
*ev
,
20 struct rpc_pipe_client
*cli
,
21 uint32_t _in_data
/* [in] */,
22 uint32_t *_out_data
/* [out] [ref] */)
24 struct tevent_req
*req
;
25 struct rpccli_wbint_Ping_state
*state
;
26 struct tevent_req
*subreq
;
28 req
= tevent_req_create(mem_ctx
, &state
,
29 struct rpccli_wbint_Ping_state
);
33 state
->out_mem_ctx
= NULL
;
34 state
->dispatch_recv
= cli
->dispatch_recv
;
37 state
->orig
.in
.in_data
= _in_data
;
40 state
->orig
.out
.out_data
= _out_data
;
42 if (DEBUGLEVEL
>= 10) {
43 NDR_PRINT_IN_DEBUG(wbint_Ping
, &state
->orig
);
46 state
->out_mem_ctx
= talloc_named_const(state
, 0,
47 "rpccli_wbint_Ping_out_memory");
48 if (tevent_req_nomem(state
->out_mem_ctx
, req
)) {
49 return tevent_req_post(req
, ev
);
52 /* make a temporary copy, that we pass to the dispatch function */
53 state
->tmp
= state
->orig
;
55 subreq
= cli
->dispatch_send(state
, ev
, cli
,
59 if (tevent_req_nomem(subreq
, req
)) {
60 return tevent_req_post(req
, ev
);
62 tevent_req_set_callback(subreq
, rpccli_wbint_Ping_done
, req
);
66 static void rpccli_wbint_Ping_done(struct tevent_req
*subreq
)
68 struct tevent_req
*req
= tevent_req_callback_data(
69 subreq
, struct tevent_req
);
70 struct rpccli_wbint_Ping_state
*state
= tevent_req_data(
71 req
, struct rpccli_wbint_Ping_state
);
75 if (state
->out_mem_ctx
) {
76 mem_ctx
= state
->out_mem_ctx
;
81 status
= state
->dispatch_recv(subreq
, mem_ctx
);
83 if (!NT_STATUS_IS_OK(status
)) {
84 tevent_req_nterror(req
, status
);
88 /* Copy out parameters */
89 *state
->orig
.out
.out_data
= *state
->tmp
.out
.out_data
;
91 /* Reset temporary structure */
92 ZERO_STRUCT(state
->tmp
);
94 if (DEBUGLEVEL
>= 10) {
95 NDR_PRINT_OUT_DEBUG(wbint_Ping
, &state
->orig
);
101 NTSTATUS
rpccli_wbint_Ping_recv(struct tevent_req
*req
,
104 struct rpccli_wbint_Ping_state
*state
= tevent_req_data(
105 req
, struct rpccli_wbint_Ping_state
);
108 if (tevent_req_is_nterror(req
, &status
)) {
109 tevent_req_received(req
);
113 /* Steal possbile out parameters to the callers context */
114 talloc_steal(mem_ctx
, state
->out_mem_ctx
);
116 tevent_req_received(req
);
120 NTSTATUS
rpccli_wbint_Ping(struct rpc_pipe_client
*cli
,
122 uint32_t in_data
/* [in] */,
123 uint32_t *out_data
/* [out] [ref] */)
129 r
.in
.in_data
= in_data
;
131 if (DEBUGLEVEL
>= 10) {
132 NDR_PRINT_IN_DEBUG(wbint_Ping
, &r
);
135 status
= cli
->dispatch(cli
,
141 if (!NT_STATUS_IS_OK(status
)) {
145 if (DEBUGLEVEL
>= 10) {
146 NDR_PRINT_OUT_DEBUG(wbint_Ping
, &r
);
149 if (NT_STATUS_IS_ERR(status
)) {
153 /* Return variables */
154 *out_data
= *r
.out
.out_data
;
160 struct rpccli_wbint_LookupSid_state
{
161 struct wbint_LookupSid orig
;
162 struct wbint_LookupSid tmp
;
163 TALLOC_CTX
*out_mem_ctx
;
164 NTSTATUS (*dispatch_recv
)(struct tevent_req
*req
, TALLOC_CTX
*mem_ctx
);
167 static void rpccli_wbint_LookupSid_done(struct tevent_req
*subreq
);
169 struct tevent_req
*rpccli_wbint_LookupSid_send(TALLOC_CTX
*mem_ctx
,
170 struct tevent_context
*ev
,
171 struct rpc_pipe_client
*cli
,
172 struct dom_sid
*_sid
/* [in] [ref] */,
173 enum lsa_SidType
*_type
/* [out] [ref] */,
174 const char **_domain
/* [out] [ref,charset(UTF8)] */,
175 const char **_name
/* [out] [ref,charset(UTF8)] */)
177 struct tevent_req
*req
;
178 struct rpccli_wbint_LookupSid_state
*state
;
179 struct tevent_req
*subreq
;
181 req
= tevent_req_create(mem_ctx
, &state
,
182 struct rpccli_wbint_LookupSid_state
);
186 state
->out_mem_ctx
= NULL
;
187 state
->dispatch_recv
= cli
->dispatch_recv
;
190 state
->orig
.in
.sid
= _sid
;
193 state
->orig
.out
.type
= _type
;
194 state
->orig
.out
.domain
= _domain
;
195 state
->orig
.out
.name
= _name
;
198 ZERO_STRUCT(state
->orig
.out
.result
);
200 if (DEBUGLEVEL
>= 10) {
201 NDR_PRINT_IN_DEBUG(wbint_LookupSid
, &state
->orig
);
204 state
->out_mem_ctx
= talloc_named_const(state
, 0,
205 "rpccli_wbint_LookupSid_out_memory");
206 if (tevent_req_nomem(state
->out_mem_ctx
, req
)) {
207 return tevent_req_post(req
, ev
);
210 /* make a temporary copy, that we pass to the dispatch function */
211 state
->tmp
= state
->orig
;
213 subreq
= cli
->dispatch_send(state
, ev
, cli
,
217 if (tevent_req_nomem(subreq
, req
)) {
218 return tevent_req_post(req
, ev
);
220 tevent_req_set_callback(subreq
, rpccli_wbint_LookupSid_done
, req
);
224 static void rpccli_wbint_LookupSid_done(struct tevent_req
*subreq
)
226 struct tevent_req
*req
= tevent_req_callback_data(
227 subreq
, struct tevent_req
);
228 struct rpccli_wbint_LookupSid_state
*state
= tevent_req_data(
229 req
, struct rpccli_wbint_LookupSid_state
);
233 if (state
->out_mem_ctx
) {
234 mem_ctx
= state
->out_mem_ctx
;
239 status
= state
->dispatch_recv(subreq
, mem_ctx
);
241 if (!NT_STATUS_IS_OK(status
)) {
242 tevent_req_nterror(req
, status
);
246 /* Copy out parameters */
247 *state
->orig
.out
.type
= *state
->tmp
.out
.type
;
248 *state
->orig
.out
.domain
= *state
->tmp
.out
.domain
;
249 *state
->orig
.out
.name
= *state
->tmp
.out
.name
;
252 state
->orig
.out
.result
= state
->tmp
.out
.result
;
254 /* Reset temporary structure */
255 ZERO_STRUCT(state
->tmp
);
257 if (DEBUGLEVEL
>= 10) {
258 NDR_PRINT_OUT_DEBUG(wbint_LookupSid
, &state
->orig
);
261 tevent_req_done(req
);
264 NTSTATUS
rpccli_wbint_LookupSid_recv(struct tevent_req
*req
,
268 struct rpccli_wbint_LookupSid_state
*state
= tevent_req_data(
269 req
, struct rpccli_wbint_LookupSid_state
);
272 if (tevent_req_is_nterror(req
, &status
)) {
273 tevent_req_received(req
);
277 /* Steal possbile out parameters to the callers context */
278 talloc_steal(mem_ctx
, state
->out_mem_ctx
);
281 *result
= state
->orig
.out
.result
;
283 tevent_req_received(req
);
287 NTSTATUS
rpccli_wbint_LookupSid(struct rpc_pipe_client
*cli
,
289 struct dom_sid
*sid
/* [in] [ref] */,
290 enum lsa_SidType
*type
/* [out] [ref] */,
291 const char **domain
/* [out] [ref,charset(UTF8)] */,
292 const char **name
/* [out] [ref,charset(UTF8)] */)
294 struct wbint_LookupSid r
;
300 if (DEBUGLEVEL
>= 10) {
301 NDR_PRINT_IN_DEBUG(wbint_LookupSid
, &r
);
304 status
= cli
->dispatch(cli
,
310 if (!NT_STATUS_IS_OK(status
)) {
314 if (DEBUGLEVEL
>= 10) {
315 NDR_PRINT_OUT_DEBUG(wbint_LookupSid
, &r
);
318 if (NT_STATUS_IS_ERR(status
)) {
322 /* Return variables */
324 *domain
= *r
.out
.domain
;
331 struct rpccli_wbint_LookupName_state
{
332 struct wbint_LookupName orig
;
333 struct wbint_LookupName tmp
;
334 TALLOC_CTX
*out_mem_ctx
;
335 NTSTATUS (*dispatch_recv
)(struct tevent_req
*req
, TALLOC_CTX
*mem_ctx
);
338 static void rpccli_wbint_LookupName_done(struct tevent_req
*subreq
);
340 struct tevent_req
*rpccli_wbint_LookupName_send(TALLOC_CTX
*mem_ctx
,
341 struct tevent_context
*ev
,
342 struct rpc_pipe_client
*cli
,
343 const char *_domain
/* [in] [ref,charset(UTF8)] */,
344 const char *_name
/* [in] [ref,charset(UTF8)] */,
345 uint32_t _flags
/* [in] */,
346 enum lsa_SidType
*_type
/* [out] [ref] */,
347 struct dom_sid
*_sid
/* [out] [ref] */)
349 struct tevent_req
*req
;
350 struct rpccli_wbint_LookupName_state
*state
;
351 struct tevent_req
*subreq
;
353 req
= tevent_req_create(mem_ctx
, &state
,
354 struct rpccli_wbint_LookupName_state
);
358 state
->out_mem_ctx
= NULL
;
359 state
->dispatch_recv
= cli
->dispatch_recv
;
362 state
->orig
.in
.domain
= _domain
;
363 state
->orig
.in
.name
= _name
;
364 state
->orig
.in
.flags
= _flags
;
367 state
->orig
.out
.type
= _type
;
368 state
->orig
.out
.sid
= _sid
;
371 ZERO_STRUCT(state
->orig
.out
.result
);
373 if (DEBUGLEVEL
>= 10) {
374 NDR_PRINT_IN_DEBUG(wbint_LookupName
, &state
->orig
);
377 state
->out_mem_ctx
= talloc_named_const(state
, 0,
378 "rpccli_wbint_LookupName_out_memory");
379 if (tevent_req_nomem(state
->out_mem_ctx
, req
)) {
380 return tevent_req_post(req
, ev
);
383 /* make a temporary copy, that we pass to the dispatch function */
384 state
->tmp
= state
->orig
;
386 subreq
= cli
->dispatch_send(state
, ev
, cli
,
388 NDR_WBINT_LOOKUPNAME
,
390 if (tevent_req_nomem(subreq
, req
)) {
391 return tevent_req_post(req
, ev
);
393 tevent_req_set_callback(subreq
, rpccli_wbint_LookupName_done
, req
);
397 static void rpccli_wbint_LookupName_done(struct tevent_req
*subreq
)
399 struct tevent_req
*req
= tevent_req_callback_data(
400 subreq
, struct tevent_req
);
401 struct rpccli_wbint_LookupName_state
*state
= tevent_req_data(
402 req
, struct rpccli_wbint_LookupName_state
);
406 if (state
->out_mem_ctx
) {
407 mem_ctx
= state
->out_mem_ctx
;
412 status
= state
->dispatch_recv(subreq
, mem_ctx
);
414 if (!NT_STATUS_IS_OK(status
)) {
415 tevent_req_nterror(req
, status
);
419 /* Copy out parameters */
420 *state
->orig
.out
.type
= *state
->tmp
.out
.type
;
421 *state
->orig
.out
.sid
= *state
->tmp
.out
.sid
;
424 state
->orig
.out
.result
= state
->tmp
.out
.result
;
426 /* Reset temporary structure */
427 ZERO_STRUCT(state
->tmp
);
429 if (DEBUGLEVEL
>= 10) {
430 NDR_PRINT_OUT_DEBUG(wbint_LookupName
, &state
->orig
);
433 tevent_req_done(req
);
436 NTSTATUS
rpccli_wbint_LookupName_recv(struct tevent_req
*req
,
440 struct rpccli_wbint_LookupName_state
*state
= tevent_req_data(
441 req
, struct rpccli_wbint_LookupName_state
);
444 if (tevent_req_is_nterror(req
, &status
)) {
445 tevent_req_received(req
);
449 /* Steal possbile out parameters to the callers context */
450 talloc_steal(mem_ctx
, state
->out_mem_ctx
);
453 *result
= state
->orig
.out
.result
;
455 tevent_req_received(req
);
459 NTSTATUS
rpccli_wbint_LookupName(struct rpc_pipe_client
*cli
,
461 const char *domain
/* [in] [ref,charset(UTF8)] */,
462 const char *name
/* [in] [ref,charset(UTF8)] */,
463 uint32_t flags
/* [in] */,
464 enum lsa_SidType
*type
/* [out] [ref] */,
465 struct dom_sid
*sid
/* [out] [ref] */)
467 struct wbint_LookupName r
;
471 r
.in
.domain
= domain
;
475 if (DEBUGLEVEL
>= 10) {
476 NDR_PRINT_IN_DEBUG(wbint_LookupName
, &r
);
479 status
= cli
->dispatch(cli
,
482 NDR_WBINT_LOOKUPNAME
,
485 if (!NT_STATUS_IS_OK(status
)) {
489 if (DEBUGLEVEL
>= 10) {
490 NDR_PRINT_OUT_DEBUG(wbint_LookupName
, &r
);
493 if (NT_STATUS_IS_ERR(status
)) {
497 /* Return variables */
505 struct rpccli_wbint_Sid2Uid_state
{
506 struct wbint_Sid2Uid orig
;
507 struct wbint_Sid2Uid tmp
;
508 TALLOC_CTX
*out_mem_ctx
;
509 NTSTATUS (*dispatch_recv
)(struct tevent_req
*req
, TALLOC_CTX
*mem_ctx
);
512 static void rpccli_wbint_Sid2Uid_done(struct tevent_req
*subreq
);
514 struct tevent_req
*rpccli_wbint_Sid2Uid_send(TALLOC_CTX
*mem_ctx
,
515 struct tevent_context
*ev
,
516 struct rpc_pipe_client
*cli
,
517 const char *_dom_name
/* [in] [unique,charset(UTF8)] */,
518 struct dom_sid
*_sid
/* [in] [ref] */,
519 uint64_t *_uid
/* [out] [ref] */)
521 struct tevent_req
*req
;
522 struct rpccli_wbint_Sid2Uid_state
*state
;
523 struct tevent_req
*subreq
;
525 req
= tevent_req_create(mem_ctx
, &state
,
526 struct rpccli_wbint_Sid2Uid_state
);
530 state
->out_mem_ctx
= NULL
;
531 state
->dispatch_recv
= cli
->dispatch_recv
;
534 state
->orig
.in
.dom_name
= _dom_name
;
535 state
->orig
.in
.sid
= _sid
;
538 state
->orig
.out
.uid
= _uid
;
541 ZERO_STRUCT(state
->orig
.out
.result
);
543 if (DEBUGLEVEL
>= 10) {
544 NDR_PRINT_IN_DEBUG(wbint_Sid2Uid
, &state
->orig
);
547 state
->out_mem_ctx
= talloc_named_const(state
, 0,
548 "rpccli_wbint_Sid2Uid_out_memory");
549 if (tevent_req_nomem(state
->out_mem_ctx
, req
)) {
550 return tevent_req_post(req
, ev
);
553 /* make a temporary copy, that we pass to the dispatch function */
554 state
->tmp
= state
->orig
;
556 subreq
= cli
->dispatch_send(state
, ev
, cli
,
560 if (tevent_req_nomem(subreq
, req
)) {
561 return tevent_req_post(req
, ev
);
563 tevent_req_set_callback(subreq
, rpccli_wbint_Sid2Uid_done
, req
);
567 static void rpccli_wbint_Sid2Uid_done(struct tevent_req
*subreq
)
569 struct tevent_req
*req
= tevent_req_callback_data(
570 subreq
, struct tevent_req
);
571 struct rpccli_wbint_Sid2Uid_state
*state
= tevent_req_data(
572 req
, struct rpccli_wbint_Sid2Uid_state
);
576 if (state
->out_mem_ctx
) {
577 mem_ctx
= state
->out_mem_ctx
;
582 status
= state
->dispatch_recv(subreq
, mem_ctx
);
584 if (!NT_STATUS_IS_OK(status
)) {
585 tevent_req_nterror(req
, status
);
589 /* Copy out parameters */
590 *state
->orig
.out
.uid
= *state
->tmp
.out
.uid
;
593 state
->orig
.out
.result
= state
->tmp
.out
.result
;
595 /* Reset temporary structure */
596 ZERO_STRUCT(state
->tmp
);
598 if (DEBUGLEVEL
>= 10) {
599 NDR_PRINT_OUT_DEBUG(wbint_Sid2Uid
, &state
->orig
);
602 tevent_req_done(req
);
605 NTSTATUS
rpccli_wbint_Sid2Uid_recv(struct tevent_req
*req
,
609 struct rpccli_wbint_Sid2Uid_state
*state
= tevent_req_data(
610 req
, struct rpccli_wbint_Sid2Uid_state
);
613 if (tevent_req_is_nterror(req
, &status
)) {
614 tevent_req_received(req
);
618 /* Steal possbile out parameters to the callers context */
619 talloc_steal(mem_ctx
, state
->out_mem_ctx
);
622 *result
= state
->orig
.out
.result
;
624 tevent_req_received(req
);
628 NTSTATUS
rpccli_wbint_Sid2Uid(struct rpc_pipe_client
*cli
,
630 const char *dom_name
/* [in] [unique,charset(UTF8)] */,
631 struct dom_sid
*sid
/* [in] [ref] */,
632 uint64_t *uid
/* [out] [ref] */)
634 struct wbint_Sid2Uid r
;
638 r
.in
.dom_name
= dom_name
;
641 if (DEBUGLEVEL
>= 10) {
642 NDR_PRINT_IN_DEBUG(wbint_Sid2Uid
, &r
);
645 status
= cli
->dispatch(cli
,
651 if (!NT_STATUS_IS_OK(status
)) {
655 if (DEBUGLEVEL
>= 10) {
656 NDR_PRINT_OUT_DEBUG(wbint_Sid2Uid
, &r
);
659 if (NT_STATUS_IS_ERR(status
)) {
663 /* Return variables */
670 struct rpccli_wbint_Sid2Gid_state
{
671 struct wbint_Sid2Gid orig
;
672 struct wbint_Sid2Gid tmp
;
673 TALLOC_CTX
*out_mem_ctx
;
674 NTSTATUS (*dispatch_recv
)(struct tevent_req
*req
, TALLOC_CTX
*mem_ctx
);
677 static void rpccli_wbint_Sid2Gid_done(struct tevent_req
*subreq
);
679 struct tevent_req
*rpccli_wbint_Sid2Gid_send(TALLOC_CTX
*mem_ctx
,
680 struct tevent_context
*ev
,
681 struct rpc_pipe_client
*cli
,
682 const char *_dom_name
/* [in] [unique,charset(UTF8)] */,
683 struct dom_sid
*_sid
/* [in] [ref] */,
684 uint64_t *_gid
/* [out] [ref] */)
686 struct tevent_req
*req
;
687 struct rpccli_wbint_Sid2Gid_state
*state
;
688 struct tevent_req
*subreq
;
690 req
= tevent_req_create(mem_ctx
, &state
,
691 struct rpccli_wbint_Sid2Gid_state
);
695 state
->out_mem_ctx
= NULL
;
696 state
->dispatch_recv
= cli
->dispatch_recv
;
699 state
->orig
.in
.dom_name
= _dom_name
;
700 state
->orig
.in
.sid
= _sid
;
703 state
->orig
.out
.gid
= _gid
;
706 ZERO_STRUCT(state
->orig
.out
.result
);
708 if (DEBUGLEVEL
>= 10) {
709 NDR_PRINT_IN_DEBUG(wbint_Sid2Gid
, &state
->orig
);
712 state
->out_mem_ctx
= talloc_named_const(state
, 0,
713 "rpccli_wbint_Sid2Gid_out_memory");
714 if (tevent_req_nomem(state
->out_mem_ctx
, req
)) {
715 return tevent_req_post(req
, ev
);
718 /* make a temporary copy, that we pass to the dispatch function */
719 state
->tmp
= state
->orig
;
721 subreq
= cli
->dispatch_send(state
, ev
, cli
,
725 if (tevent_req_nomem(subreq
, req
)) {
726 return tevent_req_post(req
, ev
);
728 tevent_req_set_callback(subreq
, rpccli_wbint_Sid2Gid_done
, req
);
732 static void rpccli_wbint_Sid2Gid_done(struct tevent_req
*subreq
)
734 struct tevent_req
*req
= tevent_req_callback_data(
735 subreq
, struct tevent_req
);
736 struct rpccli_wbint_Sid2Gid_state
*state
= tevent_req_data(
737 req
, struct rpccli_wbint_Sid2Gid_state
);
741 if (state
->out_mem_ctx
) {
742 mem_ctx
= state
->out_mem_ctx
;
747 status
= state
->dispatch_recv(subreq
, mem_ctx
);
749 if (!NT_STATUS_IS_OK(status
)) {
750 tevent_req_nterror(req
, status
);
754 /* Copy out parameters */
755 *state
->orig
.out
.gid
= *state
->tmp
.out
.gid
;
758 state
->orig
.out
.result
= state
->tmp
.out
.result
;
760 /* Reset temporary structure */
761 ZERO_STRUCT(state
->tmp
);
763 if (DEBUGLEVEL
>= 10) {
764 NDR_PRINT_OUT_DEBUG(wbint_Sid2Gid
, &state
->orig
);
767 tevent_req_done(req
);
770 NTSTATUS
rpccli_wbint_Sid2Gid_recv(struct tevent_req
*req
,
774 struct rpccli_wbint_Sid2Gid_state
*state
= tevent_req_data(
775 req
, struct rpccli_wbint_Sid2Gid_state
);
778 if (tevent_req_is_nterror(req
, &status
)) {
779 tevent_req_received(req
);
783 /* Steal possbile out parameters to the callers context */
784 talloc_steal(mem_ctx
, state
->out_mem_ctx
);
787 *result
= state
->orig
.out
.result
;
789 tevent_req_received(req
);
793 NTSTATUS
rpccli_wbint_Sid2Gid(struct rpc_pipe_client
*cli
,
795 const char *dom_name
/* [in] [unique,charset(UTF8)] */,
796 struct dom_sid
*sid
/* [in] [ref] */,
797 uint64_t *gid
/* [out] [ref] */)
799 struct wbint_Sid2Gid r
;
803 r
.in
.dom_name
= dom_name
;
806 if (DEBUGLEVEL
>= 10) {
807 NDR_PRINT_IN_DEBUG(wbint_Sid2Gid
, &r
);
810 status
= cli
->dispatch(cli
,
816 if (!NT_STATUS_IS_OK(status
)) {
820 if (DEBUGLEVEL
>= 10) {
821 NDR_PRINT_OUT_DEBUG(wbint_Sid2Gid
, &r
);
824 if (NT_STATUS_IS_ERR(status
)) {
828 /* Return variables */
835 struct rpccli_wbint_Uid2Sid_state
{
836 struct wbint_Uid2Sid orig
;
837 struct wbint_Uid2Sid tmp
;
838 TALLOC_CTX
*out_mem_ctx
;
839 NTSTATUS (*dispatch_recv
)(struct tevent_req
*req
, TALLOC_CTX
*mem_ctx
);
842 static void rpccli_wbint_Uid2Sid_done(struct tevent_req
*subreq
);
844 struct tevent_req
*rpccli_wbint_Uid2Sid_send(TALLOC_CTX
*mem_ctx
,
845 struct tevent_context
*ev
,
846 struct rpc_pipe_client
*cli
,
847 const char *_dom_name
/* [in] [unique,charset(UTF8)] */,
848 uint64_t _uid
/* [in] */,
849 struct dom_sid
*_sid
/* [out] [ref] */)
851 struct tevent_req
*req
;
852 struct rpccli_wbint_Uid2Sid_state
*state
;
853 struct tevent_req
*subreq
;
855 req
= tevent_req_create(mem_ctx
, &state
,
856 struct rpccli_wbint_Uid2Sid_state
);
860 state
->out_mem_ctx
= NULL
;
861 state
->dispatch_recv
= cli
->dispatch_recv
;
864 state
->orig
.in
.dom_name
= _dom_name
;
865 state
->orig
.in
.uid
= _uid
;
868 state
->orig
.out
.sid
= _sid
;
871 ZERO_STRUCT(state
->orig
.out
.result
);
873 if (DEBUGLEVEL
>= 10) {
874 NDR_PRINT_IN_DEBUG(wbint_Uid2Sid
, &state
->orig
);
877 state
->out_mem_ctx
= talloc_named_const(state
, 0,
878 "rpccli_wbint_Uid2Sid_out_memory");
879 if (tevent_req_nomem(state
->out_mem_ctx
, req
)) {
880 return tevent_req_post(req
, ev
);
883 /* make a temporary copy, that we pass to the dispatch function */
884 state
->tmp
= state
->orig
;
886 subreq
= cli
->dispatch_send(state
, ev
, cli
,
890 if (tevent_req_nomem(subreq
, req
)) {
891 return tevent_req_post(req
, ev
);
893 tevent_req_set_callback(subreq
, rpccli_wbint_Uid2Sid_done
, req
);
897 static void rpccli_wbint_Uid2Sid_done(struct tevent_req
*subreq
)
899 struct tevent_req
*req
= tevent_req_callback_data(
900 subreq
, struct tevent_req
);
901 struct rpccli_wbint_Uid2Sid_state
*state
= tevent_req_data(
902 req
, struct rpccli_wbint_Uid2Sid_state
);
906 if (state
->out_mem_ctx
) {
907 mem_ctx
= state
->out_mem_ctx
;
912 status
= state
->dispatch_recv(subreq
, mem_ctx
);
914 if (!NT_STATUS_IS_OK(status
)) {
915 tevent_req_nterror(req
, status
);
919 /* Copy out parameters */
920 *state
->orig
.out
.sid
= *state
->tmp
.out
.sid
;
923 state
->orig
.out
.result
= state
->tmp
.out
.result
;
925 /* Reset temporary structure */
926 ZERO_STRUCT(state
->tmp
);
928 if (DEBUGLEVEL
>= 10) {
929 NDR_PRINT_OUT_DEBUG(wbint_Uid2Sid
, &state
->orig
);
932 tevent_req_done(req
);
935 NTSTATUS
rpccli_wbint_Uid2Sid_recv(struct tevent_req
*req
,
939 struct rpccli_wbint_Uid2Sid_state
*state
= tevent_req_data(
940 req
, struct rpccli_wbint_Uid2Sid_state
);
943 if (tevent_req_is_nterror(req
, &status
)) {
944 tevent_req_received(req
);
948 /* Steal possbile out parameters to the callers context */
949 talloc_steal(mem_ctx
, state
->out_mem_ctx
);
952 *result
= state
->orig
.out
.result
;
954 tevent_req_received(req
);
958 NTSTATUS
rpccli_wbint_Uid2Sid(struct rpc_pipe_client
*cli
,
960 const char *dom_name
/* [in] [unique,charset(UTF8)] */,
961 uint64_t uid
/* [in] */,
962 struct dom_sid
*sid
/* [out] [ref] */)
964 struct wbint_Uid2Sid r
;
968 r
.in
.dom_name
= dom_name
;
971 if (DEBUGLEVEL
>= 10) {
972 NDR_PRINT_IN_DEBUG(wbint_Uid2Sid
, &r
);
975 status
= cli
->dispatch(cli
,
981 if (!NT_STATUS_IS_OK(status
)) {
985 if (DEBUGLEVEL
>= 10) {
986 NDR_PRINT_OUT_DEBUG(wbint_Uid2Sid
, &r
);
989 if (NT_STATUS_IS_ERR(status
)) {
993 /* Return variables */
1000 struct rpccli_wbint_Gid2Sid_state
{
1001 struct wbint_Gid2Sid orig
;
1002 struct wbint_Gid2Sid tmp
;
1003 TALLOC_CTX
*out_mem_ctx
;
1004 NTSTATUS (*dispatch_recv
)(struct tevent_req
*req
, TALLOC_CTX
*mem_ctx
);
1007 static void rpccli_wbint_Gid2Sid_done(struct tevent_req
*subreq
);
1009 struct tevent_req
*rpccli_wbint_Gid2Sid_send(TALLOC_CTX
*mem_ctx
,
1010 struct tevent_context
*ev
,
1011 struct rpc_pipe_client
*cli
,
1012 const char *_dom_name
/* [in] [unique,charset(UTF8)] */,
1013 uint64_t _gid
/* [in] */,
1014 struct dom_sid
*_sid
/* [out] [ref] */)
1016 struct tevent_req
*req
;
1017 struct rpccli_wbint_Gid2Sid_state
*state
;
1018 struct tevent_req
*subreq
;
1020 req
= tevent_req_create(mem_ctx
, &state
,
1021 struct rpccli_wbint_Gid2Sid_state
);
1025 state
->out_mem_ctx
= NULL
;
1026 state
->dispatch_recv
= cli
->dispatch_recv
;
1029 state
->orig
.in
.dom_name
= _dom_name
;
1030 state
->orig
.in
.gid
= _gid
;
1032 /* Out parameters */
1033 state
->orig
.out
.sid
= _sid
;
1036 ZERO_STRUCT(state
->orig
.out
.result
);
1038 if (DEBUGLEVEL
>= 10) {
1039 NDR_PRINT_IN_DEBUG(wbint_Gid2Sid
, &state
->orig
);
1042 state
->out_mem_ctx
= talloc_named_const(state
, 0,
1043 "rpccli_wbint_Gid2Sid_out_memory");
1044 if (tevent_req_nomem(state
->out_mem_ctx
, req
)) {
1045 return tevent_req_post(req
, ev
);
1048 /* make a temporary copy, that we pass to the dispatch function */
1049 state
->tmp
= state
->orig
;
1051 subreq
= cli
->dispatch_send(state
, ev
, cli
,
1055 if (tevent_req_nomem(subreq
, req
)) {
1056 return tevent_req_post(req
, ev
);
1058 tevent_req_set_callback(subreq
, rpccli_wbint_Gid2Sid_done
, req
);
1062 static void rpccli_wbint_Gid2Sid_done(struct tevent_req
*subreq
)
1064 struct tevent_req
*req
= tevent_req_callback_data(
1065 subreq
, struct tevent_req
);
1066 struct rpccli_wbint_Gid2Sid_state
*state
= tevent_req_data(
1067 req
, struct rpccli_wbint_Gid2Sid_state
);
1069 TALLOC_CTX
*mem_ctx
;
1071 if (state
->out_mem_ctx
) {
1072 mem_ctx
= state
->out_mem_ctx
;
1077 status
= state
->dispatch_recv(subreq
, mem_ctx
);
1078 TALLOC_FREE(subreq
);
1079 if (!NT_STATUS_IS_OK(status
)) {
1080 tevent_req_nterror(req
, status
);
1084 /* Copy out parameters */
1085 *state
->orig
.out
.sid
= *state
->tmp
.out
.sid
;
1088 state
->orig
.out
.result
= state
->tmp
.out
.result
;
1090 /* Reset temporary structure */
1091 ZERO_STRUCT(state
->tmp
);
1093 if (DEBUGLEVEL
>= 10) {
1094 NDR_PRINT_OUT_DEBUG(wbint_Gid2Sid
, &state
->orig
);
1097 tevent_req_done(req
);
1100 NTSTATUS
rpccli_wbint_Gid2Sid_recv(struct tevent_req
*req
,
1101 TALLOC_CTX
*mem_ctx
,
1104 struct rpccli_wbint_Gid2Sid_state
*state
= tevent_req_data(
1105 req
, struct rpccli_wbint_Gid2Sid_state
);
1108 if (tevent_req_is_nterror(req
, &status
)) {
1109 tevent_req_received(req
);
1113 /* Steal possbile out parameters to the callers context */
1114 talloc_steal(mem_ctx
, state
->out_mem_ctx
);
1117 *result
= state
->orig
.out
.result
;
1119 tevent_req_received(req
);
1120 return NT_STATUS_OK
;
1123 NTSTATUS
rpccli_wbint_Gid2Sid(struct rpc_pipe_client
*cli
,
1124 TALLOC_CTX
*mem_ctx
,
1125 const char *dom_name
/* [in] [unique,charset(UTF8)] */,
1126 uint64_t gid
/* [in] */,
1127 struct dom_sid
*sid
/* [out] [ref] */)
1129 struct wbint_Gid2Sid r
;
1133 r
.in
.dom_name
= dom_name
;
1136 if (DEBUGLEVEL
>= 10) {
1137 NDR_PRINT_IN_DEBUG(wbint_Gid2Sid
, &r
);
1140 status
= cli
->dispatch(cli
,
1146 if (!NT_STATUS_IS_OK(status
)) {
1150 if (DEBUGLEVEL
>= 10) {
1151 NDR_PRINT_OUT_DEBUG(wbint_Gid2Sid
, &r
);
1154 if (NT_STATUS_IS_ERR(status
)) {
1158 /* Return variables */
1162 return r
.out
.result
;
1165 struct rpccli_wbint_AllocateUid_state
{
1166 struct wbint_AllocateUid orig
;
1167 struct wbint_AllocateUid tmp
;
1168 TALLOC_CTX
*out_mem_ctx
;
1169 NTSTATUS (*dispatch_recv
)(struct tevent_req
*req
, TALLOC_CTX
*mem_ctx
);
1172 static void rpccli_wbint_AllocateUid_done(struct tevent_req
*subreq
);
1174 struct tevent_req
*rpccli_wbint_AllocateUid_send(TALLOC_CTX
*mem_ctx
,
1175 struct tevent_context
*ev
,
1176 struct rpc_pipe_client
*cli
,
1177 uint64_t *_uid
/* [out] [ref] */)
1179 struct tevent_req
*req
;
1180 struct rpccli_wbint_AllocateUid_state
*state
;
1181 struct tevent_req
*subreq
;
1183 req
= tevent_req_create(mem_ctx
, &state
,
1184 struct rpccli_wbint_AllocateUid_state
);
1188 state
->out_mem_ctx
= NULL
;
1189 state
->dispatch_recv
= cli
->dispatch_recv
;
1193 /* Out parameters */
1194 state
->orig
.out
.uid
= _uid
;
1197 ZERO_STRUCT(state
->orig
.out
.result
);
1199 if (DEBUGLEVEL
>= 10) {
1200 NDR_PRINT_IN_DEBUG(wbint_AllocateUid
, &state
->orig
);
1203 state
->out_mem_ctx
= talloc_named_const(state
, 0,
1204 "rpccli_wbint_AllocateUid_out_memory");
1205 if (tevent_req_nomem(state
->out_mem_ctx
, req
)) {
1206 return tevent_req_post(req
, ev
);
1209 /* make a temporary copy, that we pass to the dispatch function */
1210 state
->tmp
= state
->orig
;
1212 subreq
= cli
->dispatch_send(state
, ev
, cli
,
1214 NDR_WBINT_ALLOCATEUID
,
1216 if (tevent_req_nomem(subreq
, req
)) {
1217 return tevent_req_post(req
, ev
);
1219 tevent_req_set_callback(subreq
, rpccli_wbint_AllocateUid_done
, req
);
1223 static void rpccli_wbint_AllocateUid_done(struct tevent_req
*subreq
)
1225 struct tevent_req
*req
= tevent_req_callback_data(
1226 subreq
, struct tevent_req
);
1227 struct rpccli_wbint_AllocateUid_state
*state
= tevent_req_data(
1228 req
, struct rpccli_wbint_AllocateUid_state
);
1230 TALLOC_CTX
*mem_ctx
;
1232 if (state
->out_mem_ctx
) {
1233 mem_ctx
= state
->out_mem_ctx
;
1238 status
= state
->dispatch_recv(subreq
, mem_ctx
);
1239 TALLOC_FREE(subreq
);
1240 if (!NT_STATUS_IS_OK(status
)) {
1241 tevent_req_nterror(req
, status
);
1245 /* Copy out parameters */
1246 *state
->orig
.out
.uid
= *state
->tmp
.out
.uid
;
1249 state
->orig
.out
.result
= state
->tmp
.out
.result
;
1251 /* Reset temporary structure */
1252 ZERO_STRUCT(state
->tmp
);
1254 if (DEBUGLEVEL
>= 10) {
1255 NDR_PRINT_OUT_DEBUG(wbint_AllocateUid
, &state
->orig
);
1258 tevent_req_done(req
);
1261 NTSTATUS
rpccli_wbint_AllocateUid_recv(struct tevent_req
*req
,
1262 TALLOC_CTX
*mem_ctx
,
1265 struct rpccli_wbint_AllocateUid_state
*state
= tevent_req_data(
1266 req
, struct rpccli_wbint_AllocateUid_state
);
1269 if (tevent_req_is_nterror(req
, &status
)) {
1270 tevent_req_received(req
);
1274 /* Steal possbile out parameters to the callers context */
1275 talloc_steal(mem_ctx
, state
->out_mem_ctx
);
1278 *result
= state
->orig
.out
.result
;
1280 tevent_req_received(req
);
1281 return NT_STATUS_OK
;
1284 NTSTATUS
rpccli_wbint_AllocateUid(struct rpc_pipe_client
*cli
,
1285 TALLOC_CTX
*mem_ctx
,
1286 uint64_t *uid
/* [out] [ref] */)
1288 struct wbint_AllocateUid r
;
1293 if (DEBUGLEVEL
>= 10) {
1294 NDR_PRINT_IN_DEBUG(wbint_AllocateUid
, &r
);
1297 status
= cli
->dispatch(cli
,
1300 NDR_WBINT_ALLOCATEUID
,
1303 if (!NT_STATUS_IS_OK(status
)) {
1307 if (DEBUGLEVEL
>= 10) {
1308 NDR_PRINT_OUT_DEBUG(wbint_AllocateUid
, &r
);
1311 if (NT_STATUS_IS_ERR(status
)) {
1315 /* Return variables */
1319 return r
.out
.result
;
1322 struct rpccli_wbint_AllocateGid_state
{
1323 struct wbint_AllocateGid orig
;
1324 struct wbint_AllocateGid tmp
;
1325 TALLOC_CTX
*out_mem_ctx
;
1326 NTSTATUS (*dispatch_recv
)(struct tevent_req
*req
, TALLOC_CTX
*mem_ctx
);
1329 static void rpccli_wbint_AllocateGid_done(struct tevent_req
*subreq
);
1331 struct tevent_req
*rpccli_wbint_AllocateGid_send(TALLOC_CTX
*mem_ctx
,
1332 struct tevent_context
*ev
,
1333 struct rpc_pipe_client
*cli
,
1334 uint64_t *_gid
/* [out] [ref] */)
1336 struct tevent_req
*req
;
1337 struct rpccli_wbint_AllocateGid_state
*state
;
1338 struct tevent_req
*subreq
;
1340 req
= tevent_req_create(mem_ctx
, &state
,
1341 struct rpccli_wbint_AllocateGid_state
);
1345 state
->out_mem_ctx
= NULL
;
1346 state
->dispatch_recv
= cli
->dispatch_recv
;
1350 /* Out parameters */
1351 state
->orig
.out
.gid
= _gid
;
1354 ZERO_STRUCT(state
->orig
.out
.result
);
1356 if (DEBUGLEVEL
>= 10) {
1357 NDR_PRINT_IN_DEBUG(wbint_AllocateGid
, &state
->orig
);
1360 state
->out_mem_ctx
= talloc_named_const(state
, 0,
1361 "rpccli_wbint_AllocateGid_out_memory");
1362 if (tevent_req_nomem(state
->out_mem_ctx
, req
)) {
1363 return tevent_req_post(req
, ev
);
1366 /* make a temporary copy, that we pass to the dispatch function */
1367 state
->tmp
= state
->orig
;
1369 subreq
= cli
->dispatch_send(state
, ev
, cli
,
1371 NDR_WBINT_ALLOCATEGID
,
1373 if (tevent_req_nomem(subreq
, req
)) {
1374 return tevent_req_post(req
, ev
);
1376 tevent_req_set_callback(subreq
, rpccli_wbint_AllocateGid_done
, req
);
1380 static void rpccli_wbint_AllocateGid_done(struct tevent_req
*subreq
)
1382 struct tevent_req
*req
= tevent_req_callback_data(
1383 subreq
, struct tevent_req
);
1384 struct rpccli_wbint_AllocateGid_state
*state
= tevent_req_data(
1385 req
, struct rpccli_wbint_AllocateGid_state
);
1387 TALLOC_CTX
*mem_ctx
;
1389 if (state
->out_mem_ctx
) {
1390 mem_ctx
= state
->out_mem_ctx
;
1395 status
= state
->dispatch_recv(subreq
, mem_ctx
);
1396 TALLOC_FREE(subreq
);
1397 if (!NT_STATUS_IS_OK(status
)) {
1398 tevent_req_nterror(req
, status
);
1402 /* Copy out parameters */
1403 *state
->orig
.out
.gid
= *state
->tmp
.out
.gid
;
1406 state
->orig
.out
.result
= state
->tmp
.out
.result
;
1408 /* Reset temporary structure */
1409 ZERO_STRUCT(state
->tmp
);
1411 if (DEBUGLEVEL
>= 10) {
1412 NDR_PRINT_OUT_DEBUG(wbint_AllocateGid
, &state
->orig
);
1415 tevent_req_done(req
);
1418 NTSTATUS
rpccli_wbint_AllocateGid_recv(struct tevent_req
*req
,
1419 TALLOC_CTX
*mem_ctx
,
1422 struct rpccli_wbint_AllocateGid_state
*state
= tevent_req_data(
1423 req
, struct rpccli_wbint_AllocateGid_state
);
1426 if (tevent_req_is_nterror(req
, &status
)) {
1427 tevent_req_received(req
);
1431 /* Steal possbile out parameters to the callers context */
1432 talloc_steal(mem_ctx
, state
->out_mem_ctx
);
1435 *result
= state
->orig
.out
.result
;
1437 tevent_req_received(req
);
1438 return NT_STATUS_OK
;
1441 NTSTATUS
rpccli_wbint_AllocateGid(struct rpc_pipe_client
*cli
,
1442 TALLOC_CTX
*mem_ctx
,
1443 uint64_t *gid
/* [out] [ref] */)
1445 struct wbint_AllocateGid r
;
1450 if (DEBUGLEVEL
>= 10) {
1451 NDR_PRINT_IN_DEBUG(wbint_AllocateGid
, &r
);
1454 status
= cli
->dispatch(cli
,
1457 NDR_WBINT_ALLOCATEGID
,
1460 if (!NT_STATUS_IS_OK(status
)) {
1464 if (DEBUGLEVEL
>= 10) {
1465 NDR_PRINT_OUT_DEBUG(wbint_AllocateGid
, &r
);
1468 if (NT_STATUS_IS_ERR(status
)) {
1472 /* Return variables */
1476 return r
.out
.result
;
1479 struct rpccli_wbint_QueryUser_state
{
1480 struct wbint_QueryUser orig
;
1481 struct wbint_QueryUser tmp
;
1482 TALLOC_CTX
*out_mem_ctx
;
1483 NTSTATUS (*dispatch_recv
)(struct tevent_req
*req
, TALLOC_CTX
*mem_ctx
);
1486 static void rpccli_wbint_QueryUser_done(struct tevent_req
*subreq
);
1488 struct tevent_req
*rpccli_wbint_QueryUser_send(TALLOC_CTX
*mem_ctx
,
1489 struct tevent_context
*ev
,
1490 struct rpc_pipe_client
*cli
,
1491 struct dom_sid
*_sid
/* [in] [ref] */,
1492 struct wbint_userinfo
*_info
/* [out] [ref] */)
1494 struct tevent_req
*req
;
1495 struct rpccli_wbint_QueryUser_state
*state
;
1496 struct tevent_req
*subreq
;
1498 req
= tevent_req_create(mem_ctx
, &state
,
1499 struct rpccli_wbint_QueryUser_state
);
1503 state
->out_mem_ctx
= NULL
;
1504 state
->dispatch_recv
= cli
->dispatch_recv
;
1507 state
->orig
.in
.sid
= _sid
;
1509 /* Out parameters */
1510 state
->orig
.out
.info
= _info
;
1513 ZERO_STRUCT(state
->orig
.out
.result
);
1515 if (DEBUGLEVEL
>= 10) {
1516 NDR_PRINT_IN_DEBUG(wbint_QueryUser
, &state
->orig
);
1519 state
->out_mem_ctx
= talloc_named_const(state
, 0,
1520 "rpccli_wbint_QueryUser_out_memory");
1521 if (tevent_req_nomem(state
->out_mem_ctx
, req
)) {
1522 return tevent_req_post(req
, ev
);
1525 /* make a temporary copy, that we pass to the dispatch function */
1526 state
->tmp
= state
->orig
;
1528 subreq
= cli
->dispatch_send(state
, ev
, cli
,
1530 NDR_WBINT_QUERYUSER
,
1532 if (tevent_req_nomem(subreq
, req
)) {
1533 return tevent_req_post(req
, ev
);
1535 tevent_req_set_callback(subreq
, rpccli_wbint_QueryUser_done
, req
);
1539 static void rpccli_wbint_QueryUser_done(struct tevent_req
*subreq
)
1541 struct tevent_req
*req
= tevent_req_callback_data(
1542 subreq
, struct tevent_req
);
1543 struct rpccli_wbint_QueryUser_state
*state
= tevent_req_data(
1544 req
, struct rpccli_wbint_QueryUser_state
);
1546 TALLOC_CTX
*mem_ctx
;
1548 if (state
->out_mem_ctx
) {
1549 mem_ctx
= state
->out_mem_ctx
;
1554 status
= state
->dispatch_recv(subreq
, mem_ctx
);
1555 TALLOC_FREE(subreq
);
1556 if (!NT_STATUS_IS_OK(status
)) {
1557 tevent_req_nterror(req
, status
);
1561 /* Copy out parameters */
1562 *state
->orig
.out
.info
= *state
->tmp
.out
.info
;
1565 state
->orig
.out
.result
= state
->tmp
.out
.result
;
1567 /* Reset temporary structure */
1568 ZERO_STRUCT(state
->tmp
);
1570 if (DEBUGLEVEL
>= 10) {
1571 NDR_PRINT_OUT_DEBUG(wbint_QueryUser
, &state
->orig
);
1574 tevent_req_done(req
);
1577 NTSTATUS
rpccli_wbint_QueryUser_recv(struct tevent_req
*req
,
1578 TALLOC_CTX
*mem_ctx
,
1581 struct rpccli_wbint_QueryUser_state
*state
= tevent_req_data(
1582 req
, struct rpccli_wbint_QueryUser_state
);
1585 if (tevent_req_is_nterror(req
, &status
)) {
1586 tevent_req_received(req
);
1590 /* Steal possbile out parameters to the callers context */
1591 talloc_steal(mem_ctx
, state
->out_mem_ctx
);
1594 *result
= state
->orig
.out
.result
;
1596 tevent_req_received(req
);
1597 return NT_STATUS_OK
;
1600 NTSTATUS
rpccli_wbint_QueryUser(struct rpc_pipe_client
*cli
,
1601 TALLOC_CTX
*mem_ctx
,
1602 struct dom_sid
*sid
/* [in] [ref] */,
1603 struct wbint_userinfo
*info
/* [out] [ref] */)
1605 struct wbint_QueryUser r
;
1611 if (DEBUGLEVEL
>= 10) {
1612 NDR_PRINT_IN_DEBUG(wbint_QueryUser
, &r
);
1615 status
= cli
->dispatch(cli
,
1618 NDR_WBINT_QUERYUSER
,
1621 if (!NT_STATUS_IS_OK(status
)) {
1625 if (DEBUGLEVEL
>= 10) {
1626 NDR_PRINT_OUT_DEBUG(wbint_QueryUser
, &r
);
1629 if (NT_STATUS_IS_ERR(status
)) {
1633 /* Return variables */
1634 *info
= *r
.out
.info
;
1637 return r
.out
.result
;
1640 struct rpccli_wbint_LookupUserAliases_state
{
1641 struct wbint_LookupUserAliases orig
;
1642 struct wbint_LookupUserAliases tmp
;
1643 TALLOC_CTX
*out_mem_ctx
;
1644 NTSTATUS (*dispatch_recv
)(struct tevent_req
*req
, TALLOC_CTX
*mem_ctx
);
1647 static void rpccli_wbint_LookupUserAliases_done(struct tevent_req
*subreq
);
1649 struct tevent_req
*rpccli_wbint_LookupUserAliases_send(TALLOC_CTX
*mem_ctx
,
1650 struct tevent_context
*ev
,
1651 struct rpc_pipe_client
*cli
,
1652 struct wbint_SidArray
*_sids
/* [in] [ref] */,
1653 struct wbint_RidArray
*_rids
/* [out] [ref] */)
1655 struct tevent_req
*req
;
1656 struct rpccli_wbint_LookupUserAliases_state
*state
;
1657 struct tevent_req
*subreq
;
1659 req
= tevent_req_create(mem_ctx
, &state
,
1660 struct rpccli_wbint_LookupUserAliases_state
);
1664 state
->out_mem_ctx
= NULL
;
1665 state
->dispatch_recv
= cli
->dispatch_recv
;
1668 state
->orig
.in
.sids
= _sids
;
1670 /* Out parameters */
1671 state
->orig
.out
.rids
= _rids
;
1674 ZERO_STRUCT(state
->orig
.out
.result
);
1676 if (DEBUGLEVEL
>= 10) {
1677 NDR_PRINT_IN_DEBUG(wbint_LookupUserAliases
, &state
->orig
);
1680 state
->out_mem_ctx
= talloc_named_const(state
, 0,
1681 "rpccli_wbint_LookupUserAliases_out_memory");
1682 if (tevent_req_nomem(state
->out_mem_ctx
, req
)) {
1683 return tevent_req_post(req
, ev
);
1686 /* make a temporary copy, that we pass to the dispatch function */
1687 state
->tmp
= state
->orig
;
1689 subreq
= cli
->dispatch_send(state
, ev
, cli
,
1691 NDR_WBINT_LOOKUPUSERALIASES
,
1693 if (tevent_req_nomem(subreq
, req
)) {
1694 return tevent_req_post(req
, ev
);
1696 tevent_req_set_callback(subreq
, rpccli_wbint_LookupUserAliases_done
, req
);
1700 static void rpccli_wbint_LookupUserAliases_done(struct tevent_req
*subreq
)
1702 struct tevent_req
*req
= tevent_req_callback_data(
1703 subreq
, struct tevent_req
);
1704 struct rpccli_wbint_LookupUserAliases_state
*state
= tevent_req_data(
1705 req
, struct rpccli_wbint_LookupUserAliases_state
);
1707 TALLOC_CTX
*mem_ctx
;
1709 if (state
->out_mem_ctx
) {
1710 mem_ctx
= state
->out_mem_ctx
;
1715 status
= state
->dispatch_recv(subreq
, mem_ctx
);
1716 TALLOC_FREE(subreq
);
1717 if (!NT_STATUS_IS_OK(status
)) {
1718 tevent_req_nterror(req
, status
);
1722 /* Copy out parameters */
1723 *state
->orig
.out
.rids
= *state
->tmp
.out
.rids
;
1726 state
->orig
.out
.result
= state
->tmp
.out
.result
;
1728 /* Reset temporary structure */
1729 ZERO_STRUCT(state
->tmp
);
1731 if (DEBUGLEVEL
>= 10) {
1732 NDR_PRINT_OUT_DEBUG(wbint_LookupUserAliases
, &state
->orig
);
1735 tevent_req_done(req
);
1738 NTSTATUS
rpccli_wbint_LookupUserAliases_recv(struct tevent_req
*req
,
1739 TALLOC_CTX
*mem_ctx
,
1742 struct rpccli_wbint_LookupUserAliases_state
*state
= tevent_req_data(
1743 req
, struct rpccli_wbint_LookupUserAliases_state
);
1746 if (tevent_req_is_nterror(req
, &status
)) {
1747 tevent_req_received(req
);
1751 /* Steal possbile out parameters to the callers context */
1752 talloc_steal(mem_ctx
, state
->out_mem_ctx
);
1755 *result
= state
->orig
.out
.result
;
1757 tevent_req_received(req
);
1758 return NT_STATUS_OK
;
1761 NTSTATUS
rpccli_wbint_LookupUserAliases(struct rpc_pipe_client
*cli
,
1762 TALLOC_CTX
*mem_ctx
,
1763 struct wbint_SidArray
*sids
/* [in] [ref] */,
1764 struct wbint_RidArray
*rids
/* [out] [ref] */)
1766 struct wbint_LookupUserAliases r
;
1772 if (DEBUGLEVEL
>= 10) {
1773 NDR_PRINT_IN_DEBUG(wbint_LookupUserAliases
, &r
);
1776 status
= cli
->dispatch(cli
,
1779 NDR_WBINT_LOOKUPUSERALIASES
,
1782 if (!NT_STATUS_IS_OK(status
)) {
1786 if (DEBUGLEVEL
>= 10) {
1787 NDR_PRINT_OUT_DEBUG(wbint_LookupUserAliases
, &r
);
1790 if (NT_STATUS_IS_ERR(status
)) {
1794 /* Return variables */
1795 *rids
= *r
.out
.rids
;
1798 return r
.out
.result
;
1801 struct rpccli_wbint_LookupUserGroups_state
{
1802 struct wbint_LookupUserGroups orig
;
1803 struct wbint_LookupUserGroups tmp
;
1804 TALLOC_CTX
*out_mem_ctx
;
1805 NTSTATUS (*dispatch_recv
)(struct tevent_req
*req
, TALLOC_CTX
*mem_ctx
);
1808 static void rpccli_wbint_LookupUserGroups_done(struct tevent_req
*subreq
);
1810 struct tevent_req
*rpccli_wbint_LookupUserGroups_send(TALLOC_CTX
*mem_ctx
,
1811 struct tevent_context
*ev
,
1812 struct rpc_pipe_client
*cli
,
1813 struct dom_sid
*_sid
/* [in] [ref] */,
1814 struct wbint_SidArray
*_sids
/* [out] [ref] */)
1816 struct tevent_req
*req
;
1817 struct rpccli_wbint_LookupUserGroups_state
*state
;
1818 struct tevent_req
*subreq
;
1820 req
= tevent_req_create(mem_ctx
, &state
,
1821 struct rpccli_wbint_LookupUserGroups_state
);
1825 state
->out_mem_ctx
= NULL
;
1826 state
->dispatch_recv
= cli
->dispatch_recv
;
1829 state
->orig
.in
.sid
= _sid
;
1831 /* Out parameters */
1832 state
->orig
.out
.sids
= _sids
;
1835 ZERO_STRUCT(state
->orig
.out
.result
);
1837 if (DEBUGLEVEL
>= 10) {
1838 NDR_PRINT_IN_DEBUG(wbint_LookupUserGroups
, &state
->orig
);
1841 state
->out_mem_ctx
= talloc_named_const(state
, 0,
1842 "rpccli_wbint_LookupUserGroups_out_memory");
1843 if (tevent_req_nomem(state
->out_mem_ctx
, req
)) {
1844 return tevent_req_post(req
, ev
);
1847 /* make a temporary copy, that we pass to the dispatch function */
1848 state
->tmp
= state
->orig
;
1850 subreq
= cli
->dispatch_send(state
, ev
, cli
,
1852 NDR_WBINT_LOOKUPUSERGROUPS
,
1854 if (tevent_req_nomem(subreq
, req
)) {
1855 return tevent_req_post(req
, ev
);
1857 tevent_req_set_callback(subreq
, rpccli_wbint_LookupUserGroups_done
, req
);
1861 static void rpccli_wbint_LookupUserGroups_done(struct tevent_req
*subreq
)
1863 struct tevent_req
*req
= tevent_req_callback_data(
1864 subreq
, struct tevent_req
);
1865 struct rpccli_wbint_LookupUserGroups_state
*state
= tevent_req_data(
1866 req
, struct rpccli_wbint_LookupUserGroups_state
);
1868 TALLOC_CTX
*mem_ctx
;
1870 if (state
->out_mem_ctx
) {
1871 mem_ctx
= state
->out_mem_ctx
;
1876 status
= state
->dispatch_recv(subreq
, mem_ctx
);
1877 TALLOC_FREE(subreq
);
1878 if (!NT_STATUS_IS_OK(status
)) {
1879 tevent_req_nterror(req
, status
);
1883 /* Copy out parameters */
1884 *state
->orig
.out
.sids
= *state
->tmp
.out
.sids
;
1887 state
->orig
.out
.result
= state
->tmp
.out
.result
;
1889 /* Reset temporary structure */
1890 ZERO_STRUCT(state
->tmp
);
1892 if (DEBUGLEVEL
>= 10) {
1893 NDR_PRINT_OUT_DEBUG(wbint_LookupUserGroups
, &state
->orig
);
1896 tevent_req_done(req
);
1899 NTSTATUS
rpccli_wbint_LookupUserGroups_recv(struct tevent_req
*req
,
1900 TALLOC_CTX
*mem_ctx
,
1903 struct rpccli_wbint_LookupUserGroups_state
*state
= tevent_req_data(
1904 req
, struct rpccli_wbint_LookupUserGroups_state
);
1907 if (tevent_req_is_nterror(req
, &status
)) {
1908 tevent_req_received(req
);
1912 /* Steal possbile out parameters to the callers context */
1913 talloc_steal(mem_ctx
, state
->out_mem_ctx
);
1916 *result
= state
->orig
.out
.result
;
1918 tevent_req_received(req
);
1919 return NT_STATUS_OK
;
1922 NTSTATUS
rpccli_wbint_LookupUserGroups(struct rpc_pipe_client
*cli
,
1923 TALLOC_CTX
*mem_ctx
,
1924 struct dom_sid
*sid
/* [in] [ref] */,
1925 struct wbint_SidArray
*sids
/* [out] [ref] */)
1927 struct wbint_LookupUserGroups r
;
1933 if (DEBUGLEVEL
>= 10) {
1934 NDR_PRINT_IN_DEBUG(wbint_LookupUserGroups
, &r
);
1937 status
= cli
->dispatch(cli
,
1940 NDR_WBINT_LOOKUPUSERGROUPS
,
1943 if (!NT_STATUS_IS_OK(status
)) {
1947 if (DEBUGLEVEL
>= 10) {
1948 NDR_PRINT_OUT_DEBUG(wbint_LookupUserGroups
, &r
);
1951 if (NT_STATUS_IS_ERR(status
)) {
1955 /* Return variables */
1956 *sids
= *r
.out
.sids
;
1959 return r
.out
.result
;
1962 struct rpccli_wbint_QuerySequenceNumber_state
{
1963 struct wbint_QuerySequenceNumber orig
;
1964 struct wbint_QuerySequenceNumber tmp
;
1965 TALLOC_CTX
*out_mem_ctx
;
1966 NTSTATUS (*dispatch_recv
)(struct tevent_req
*req
, TALLOC_CTX
*mem_ctx
);
1969 static void rpccli_wbint_QuerySequenceNumber_done(struct tevent_req
*subreq
);
1971 struct tevent_req
*rpccli_wbint_QuerySequenceNumber_send(TALLOC_CTX
*mem_ctx
,
1972 struct tevent_context
*ev
,
1973 struct rpc_pipe_client
*cli
,
1974 uint32_t *_sequence
/* [out] [ref] */)
1976 struct tevent_req
*req
;
1977 struct rpccli_wbint_QuerySequenceNumber_state
*state
;
1978 struct tevent_req
*subreq
;
1980 req
= tevent_req_create(mem_ctx
, &state
,
1981 struct rpccli_wbint_QuerySequenceNumber_state
);
1985 state
->out_mem_ctx
= NULL
;
1986 state
->dispatch_recv
= cli
->dispatch_recv
;
1990 /* Out parameters */
1991 state
->orig
.out
.sequence
= _sequence
;
1994 ZERO_STRUCT(state
->orig
.out
.result
);
1996 if (DEBUGLEVEL
>= 10) {
1997 NDR_PRINT_IN_DEBUG(wbint_QuerySequenceNumber
, &state
->orig
);
2000 state
->out_mem_ctx
= talloc_named_const(state
, 0,
2001 "rpccli_wbint_QuerySequenceNumber_out_memory");
2002 if (tevent_req_nomem(state
->out_mem_ctx
, req
)) {
2003 return tevent_req_post(req
, ev
);
2006 /* make a temporary copy, that we pass to the dispatch function */
2007 state
->tmp
= state
->orig
;
2009 subreq
= cli
->dispatch_send(state
, ev
, cli
,
2011 NDR_WBINT_QUERYSEQUENCENUMBER
,
2013 if (tevent_req_nomem(subreq
, req
)) {
2014 return tevent_req_post(req
, ev
);
2016 tevent_req_set_callback(subreq
, rpccli_wbint_QuerySequenceNumber_done
, req
);
2020 static void rpccli_wbint_QuerySequenceNumber_done(struct tevent_req
*subreq
)
2022 struct tevent_req
*req
= tevent_req_callback_data(
2023 subreq
, struct tevent_req
);
2024 struct rpccli_wbint_QuerySequenceNumber_state
*state
= tevent_req_data(
2025 req
, struct rpccli_wbint_QuerySequenceNumber_state
);
2027 TALLOC_CTX
*mem_ctx
;
2029 if (state
->out_mem_ctx
) {
2030 mem_ctx
= state
->out_mem_ctx
;
2035 status
= state
->dispatch_recv(subreq
, mem_ctx
);
2036 TALLOC_FREE(subreq
);
2037 if (!NT_STATUS_IS_OK(status
)) {
2038 tevent_req_nterror(req
, status
);
2042 /* Copy out parameters */
2043 *state
->orig
.out
.sequence
= *state
->tmp
.out
.sequence
;
2046 state
->orig
.out
.result
= state
->tmp
.out
.result
;
2048 /* Reset temporary structure */
2049 ZERO_STRUCT(state
->tmp
);
2051 if (DEBUGLEVEL
>= 10) {
2052 NDR_PRINT_OUT_DEBUG(wbint_QuerySequenceNumber
, &state
->orig
);
2055 tevent_req_done(req
);
2058 NTSTATUS
rpccli_wbint_QuerySequenceNumber_recv(struct tevent_req
*req
,
2059 TALLOC_CTX
*mem_ctx
,
2062 struct rpccli_wbint_QuerySequenceNumber_state
*state
= tevent_req_data(
2063 req
, struct rpccli_wbint_QuerySequenceNumber_state
);
2066 if (tevent_req_is_nterror(req
, &status
)) {
2067 tevent_req_received(req
);
2071 /* Steal possbile out parameters to the callers context */
2072 talloc_steal(mem_ctx
, state
->out_mem_ctx
);
2075 *result
= state
->orig
.out
.result
;
2077 tevent_req_received(req
);
2078 return NT_STATUS_OK
;
2081 NTSTATUS
rpccli_wbint_QuerySequenceNumber(struct rpc_pipe_client
*cli
,
2082 TALLOC_CTX
*mem_ctx
,
2083 uint32_t *sequence
/* [out] [ref] */)
2085 struct wbint_QuerySequenceNumber r
;
2090 if (DEBUGLEVEL
>= 10) {
2091 NDR_PRINT_IN_DEBUG(wbint_QuerySequenceNumber
, &r
);
2094 status
= cli
->dispatch(cli
,
2097 NDR_WBINT_QUERYSEQUENCENUMBER
,
2100 if (!NT_STATUS_IS_OK(status
)) {
2104 if (DEBUGLEVEL
>= 10) {
2105 NDR_PRINT_OUT_DEBUG(wbint_QuerySequenceNumber
, &r
);
2108 if (NT_STATUS_IS_ERR(status
)) {
2112 /* Return variables */
2113 *sequence
= *r
.out
.sequence
;
2116 return r
.out
.result
;
2119 struct rpccli_wbint_LookupGroupMembers_state
{
2120 struct wbint_LookupGroupMembers orig
;
2121 struct wbint_LookupGroupMembers tmp
;
2122 TALLOC_CTX
*out_mem_ctx
;
2123 NTSTATUS (*dispatch_recv
)(struct tevent_req
*req
, TALLOC_CTX
*mem_ctx
);
2126 static void rpccli_wbint_LookupGroupMembers_done(struct tevent_req
*subreq
);
2128 struct tevent_req
*rpccli_wbint_LookupGroupMembers_send(TALLOC_CTX
*mem_ctx
,
2129 struct tevent_context
*ev
,
2130 struct rpc_pipe_client
*cli
,
2131 struct dom_sid
*_sid
/* [in] [ref] */,
2132 enum lsa_SidType _type
/* [in] */,
2133 struct wbint_Principals
*_members
/* [out] [ref] */)
2135 struct tevent_req
*req
;
2136 struct rpccli_wbint_LookupGroupMembers_state
*state
;
2137 struct tevent_req
*subreq
;
2139 req
= tevent_req_create(mem_ctx
, &state
,
2140 struct rpccli_wbint_LookupGroupMembers_state
);
2144 state
->out_mem_ctx
= NULL
;
2145 state
->dispatch_recv
= cli
->dispatch_recv
;
2148 state
->orig
.in
.sid
= _sid
;
2149 state
->orig
.in
.type
= _type
;
2151 /* Out parameters */
2152 state
->orig
.out
.members
= _members
;
2155 ZERO_STRUCT(state
->orig
.out
.result
);
2157 if (DEBUGLEVEL
>= 10) {
2158 NDR_PRINT_IN_DEBUG(wbint_LookupGroupMembers
, &state
->orig
);
2161 state
->out_mem_ctx
= talloc_named_const(state
, 0,
2162 "rpccli_wbint_LookupGroupMembers_out_memory");
2163 if (tevent_req_nomem(state
->out_mem_ctx
, req
)) {
2164 return tevent_req_post(req
, ev
);
2167 /* make a temporary copy, that we pass to the dispatch function */
2168 state
->tmp
= state
->orig
;
2170 subreq
= cli
->dispatch_send(state
, ev
, cli
,
2172 NDR_WBINT_LOOKUPGROUPMEMBERS
,
2174 if (tevent_req_nomem(subreq
, req
)) {
2175 return tevent_req_post(req
, ev
);
2177 tevent_req_set_callback(subreq
, rpccli_wbint_LookupGroupMembers_done
, req
);
2181 static void rpccli_wbint_LookupGroupMembers_done(struct tevent_req
*subreq
)
2183 struct tevent_req
*req
= tevent_req_callback_data(
2184 subreq
, struct tevent_req
);
2185 struct rpccli_wbint_LookupGroupMembers_state
*state
= tevent_req_data(
2186 req
, struct rpccli_wbint_LookupGroupMembers_state
);
2188 TALLOC_CTX
*mem_ctx
;
2190 if (state
->out_mem_ctx
) {
2191 mem_ctx
= state
->out_mem_ctx
;
2196 status
= state
->dispatch_recv(subreq
, mem_ctx
);
2197 TALLOC_FREE(subreq
);
2198 if (!NT_STATUS_IS_OK(status
)) {
2199 tevent_req_nterror(req
, status
);
2203 /* Copy out parameters */
2204 *state
->orig
.out
.members
= *state
->tmp
.out
.members
;
2207 state
->orig
.out
.result
= state
->tmp
.out
.result
;
2209 /* Reset temporary structure */
2210 ZERO_STRUCT(state
->tmp
);
2212 if (DEBUGLEVEL
>= 10) {
2213 NDR_PRINT_OUT_DEBUG(wbint_LookupGroupMembers
, &state
->orig
);
2216 tevent_req_done(req
);
2219 NTSTATUS
rpccli_wbint_LookupGroupMembers_recv(struct tevent_req
*req
,
2220 TALLOC_CTX
*mem_ctx
,
2223 struct rpccli_wbint_LookupGroupMembers_state
*state
= tevent_req_data(
2224 req
, struct rpccli_wbint_LookupGroupMembers_state
);
2227 if (tevent_req_is_nterror(req
, &status
)) {
2228 tevent_req_received(req
);
2232 /* Steal possbile out parameters to the callers context */
2233 talloc_steal(mem_ctx
, state
->out_mem_ctx
);
2236 *result
= state
->orig
.out
.result
;
2238 tevent_req_received(req
);
2239 return NT_STATUS_OK
;
2242 NTSTATUS
rpccli_wbint_LookupGroupMembers(struct rpc_pipe_client
*cli
,
2243 TALLOC_CTX
*mem_ctx
,
2244 struct dom_sid
*sid
/* [in] [ref] */,
2245 enum lsa_SidType type
/* [in] */,
2246 struct wbint_Principals
*members
/* [out] [ref] */)
2248 struct wbint_LookupGroupMembers r
;
2255 if (DEBUGLEVEL
>= 10) {
2256 NDR_PRINT_IN_DEBUG(wbint_LookupGroupMembers
, &r
);
2259 status
= cli
->dispatch(cli
,
2262 NDR_WBINT_LOOKUPGROUPMEMBERS
,
2265 if (!NT_STATUS_IS_OK(status
)) {
2269 if (DEBUGLEVEL
>= 10) {
2270 NDR_PRINT_OUT_DEBUG(wbint_LookupGroupMembers
, &r
);
2273 if (NT_STATUS_IS_ERR(status
)) {
2277 /* Return variables */
2278 *members
= *r
.out
.members
;
2281 return r
.out
.result
;
2284 struct rpccli_wbint_QueryUserList_state
{
2285 struct wbint_QueryUserList orig
;
2286 struct wbint_QueryUserList tmp
;
2287 TALLOC_CTX
*out_mem_ctx
;
2288 NTSTATUS (*dispatch_recv
)(struct tevent_req
*req
, TALLOC_CTX
*mem_ctx
);
2291 static void rpccli_wbint_QueryUserList_done(struct tevent_req
*subreq
);
2293 struct tevent_req
*rpccli_wbint_QueryUserList_send(TALLOC_CTX
*mem_ctx
,
2294 struct tevent_context
*ev
,
2295 struct rpc_pipe_client
*cli
,
2296 struct wbint_userinfos
*_users
/* [out] [ref] */)
2298 struct tevent_req
*req
;
2299 struct rpccli_wbint_QueryUserList_state
*state
;
2300 struct tevent_req
*subreq
;
2302 req
= tevent_req_create(mem_ctx
, &state
,
2303 struct rpccli_wbint_QueryUserList_state
);
2307 state
->out_mem_ctx
= NULL
;
2308 state
->dispatch_recv
= cli
->dispatch_recv
;
2312 /* Out parameters */
2313 state
->orig
.out
.users
= _users
;
2316 ZERO_STRUCT(state
->orig
.out
.result
);
2318 if (DEBUGLEVEL
>= 10) {
2319 NDR_PRINT_IN_DEBUG(wbint_QueryUserList
, &state
->orig
);
2322 state
->out_mem_ctx
= talloc_named_const(state
, 0,
2323 "rpccli_wbint_QueryUserList_out_memory");
2324 if (tevent_req_nomem(state
->out_mem_ctx
, req
)) {
2325 return tevent_req_post(req
, ev
);
2328 /* make a temporary copy, that we pass to the dispatch function */
2329 state
->tmp
= state
->orig
;
2331 subreq
= cli
->dispatch_send(state
, ev
, cli
,
2333 NDR_WBINT_QUERYUSERLIST
,
2335 if (tevent_req_nomem(subreq
, req
)) {
2336 return tevent_req_post(req
, ev
);
2338 tevent_req_set_callback(subreq
, rpccli_wbint_QueryUserList_done
, req
);
2342 static void rpccli_wbint_QueryUserList_done(struct tevent_req
*subreq
)
2344 struct tevent_req
*req
= tevent_req_callback_data(
2345 subreq
, struct tevent_req
);
2346 struct rpccli_wbint_QueryUserList_state
*state
= tevent_req_data(
2347 req
, struct rpccli_wbint_QueryUserList_state
);
2349 TALLOC_CTX
*mem_ctx
;
2351 if (state
->out_mem_ctx
) {
2352 mem_ctx
= state
->out_mem_ctx
;
2357 status
= state
->dispatch_recv(subreq
, mem_ctx
);
2358 TALLOC_FREE(subreq
);
2359 if (!NT_STATUS_IS_OK(status
)) {
2360 tevent_req_nterror(req
, status
);
2364 /* Copy out parameters */
2365 *state
->orig
.out
.users
= *state
->tmp
.out
.users
;
2368 state
->orig
.out
.result
= state
->tmp
.out
.result
;
2370 /* Reset temporary structure */
2371 ZERO_STRUCT(state
->tmp
);
2373 if (DEBUGLEVEL
>= 10) {
2374 NDR_PRINT_OUT_DEBUG(wbint_QueryUserList
, &state
->orig
);
2377 tevent_req_done(req
);
2380 NTSTATUS
rpccli_wbint_QueryUserList_recv(struct tevent_req
*req
,
2381 TALLOC_CTX
*mem_ctx
,
2384 struct rpccli_wbint_QueryUserList_state
*state
= tevent_req_data(
2385 req
, struct rpccli_wbint_QueryUserList_state
);
2388 if (tevent_req_is_nterror(req
, &status
)) {
2389 tevent_req_received(req
);
2393 /* Steal possbile out parameters to the callers context */
2394 talloc_steal(mem_ctx
, state
->out_mem_ctx
);
2397 *result
= state
->orig
.out
.result
;
2399 tevent_req_received(req
);
2400 return NT_STATUS_OK
;
2403 NTSTATUS
rpccli_wbint_QueryUserList(struct rpc_pipe_client
*cli
,
2404 TALLOC_CTX
*mem_ctx
,
2405 struct wbint_userinfos
*users
/* [out] [ref] */)
2407 struct wbint_QueryUserList r
;
2412 if (DEBUGLEVEL
>= 10) {
2413 NDR_PRINT_IN_DEBUG(wbint_QueryUserList
, &r
);
2416 status
= cli
->dispatch(cli
,
2419 NDR_WBINT_QUERYUSERLIST
,
2422 if (!NT_STATUS_IS_OK(status
)) {
2426 if (DEBUGLEVEL
>= 10) {
2427 NDR_PRINT_OUT_DEBUG(wbint_QueryUserList
, &r
);
2430 if (NT_STATUS_IS_ERR(status
)) {
2434 /* Return variables */
2435 *users
= *r
.out
.users
;
2438 return r
.out
.result
;
2441 struct rpccli_wbint_QueryGroupList_state
{
2442 struct wbint_QueryGroupList orig
;
2443 struct wbint_QueryGroupList tmp
;
2444 TALLOC_CTX
*out_mem_ctx
;
2445 NTSTATUS (*dispatch_recv
)(struct tevent_req
*req
, TALLOC_CTX
*mem_ctx
);
2448 static void rpccli_wbint_QueryGroupList_done(struct tevent_req
*subreq
);
2450 struct tevent_req
*rpccli_wbint_QueryGroupList_send(TALLOC_CTX
*mem_ctx
,
2451 struct tevent_context
*ev
,
2452 struct rpc_pipe_client
*cli
,
2453 struct wbint_Principals
*_groups
/* [out] [ref] */)
2455 struct tevent_req
*req
;
2456 struct rpccli_wbint_QueryGroupList_state
*state
;
2457 struct tevent_req
*subreq
;
2459 req
= tevent_req_create(mem_ctx
, &state
,
2460 struct rpccli_wbint_QueryGroupList_state
);
2464 state
->out_mem_ctx
= NULL
;
2465 state
->dispatch_recv
= cli
->dispatch_recv
;
2469 /* Out parameters */
2470 state
->orig
.out
.groups
= _groups
;
2473 ZERO_STRUCT(state
->orig
.out
.result
);
2475 if (DEBUGLEVEL
>= 10) {
2476 NDR_PRINT_IN_DEBUG(wbint_QueryGroupList
, &state
->orig
);
2479 state
->out_mem_ctx
= talloc_named_const(state
, 0,
2480 "rpccli_wbint_QueryGroupList_out_memory");
2481 if (tevent_req_nomem(state
->out_mem_ctx
, req
)) {
2482 return tevent_req_post(req
, ev
);
2485 /* make a temporary copy, that we pass to the dispatch function */
2486 state
->tmp
= state
->orig
;
2488 subreq
= cli
->dispatch_send(state
, ev
, cli
,
2490 NDR_WBINT_QUERYGROUPLIST
,
2492 if (tevent_req_nomem(subreq
, req
)) {
2493 return tevent_req_post(req
, ev
);
2495 tevent_req_set_callback(subreq
, rpccli_wbint_QueryGroupList_done
, req
);
2499 static void rpccli_wbint_QueryGroupList_done(struct tevent_req
*subreq
)
2501 struct tevent_req
*req
= tevent_req_callback_data(
2502 subreq
, struct tevent_req
);
2503 struct rpccli_wbint_QueryGroupList_state
*state
= tevent_req_data(
2504 req
, struct rpccli_wbint_QueryGroupList_state
);
2506 TALLOC_CTX
*mem_ctx
;
2508 if (state
->out_mem_ctx
) {
2509 mem_ctx
= state
->out_mem_ctx
;
2514 status
= state
->dispatch_recv(subreq
, mem_ctx
);
2515 TALLOC_FREE(subreq
);
2516 if (!NT_STATUS_IS_OK(status
)) {
2517 tevent_req_nterror(req
, status
);
2521 /* Copy out parameters */
2522 *state
->orig
.out
.groups
= *state
->tmp
.out
.groups
;
2525 state
->orig
.out
.result
= state
->tmp
.out
.result
;
2527 /* Reset temporary structure */
2528 ZERO_STRUCT(state
->tmp
);
2530 if (DEBUGLEVEL
>= 10) {
2531 NDR_PRINT_OUT_DEBUG(wbint_QueryGroupList
, &state
->orig
);
2534 tevent_req_done(req
);
2537 NTSTATUS
rpccli_wbint_QueryGroupList_recv(struct tevent_req
*req
,
2538 TALLOC_CTX
*mem_ctx
,
2541 struct rpccli_wbint_QueryGroupList_state
*state
= tevent_req_data(
2542 req
, struct rpccli_wbint_QueryGroupList_state
);
2545 if (tevent_req_is_nterror(req
, &status
)) {
2546 tevent_req_received(req
);
2550 /* Steal possbile out parameters to the callers context */
2551 talloc_steal(mem_ctx
, state
->out_mem_ctx
);
2554 *result
= state
->orig
.out
.result
;
2556 tevent_req_received(req
);
2557 return NT_STATUS_OK
;
2560 NTSTATUS
rpccli_wbint_QueryGroupList(struct rpc_pipe_client
*cli
,
2561 TALLOC_CTX
*mem_ctx
,
2562 struct wbint_Principals
*groups
/* [out] [ref] */)
2564 struct wbint_QueryGroupList r
;
2569 if (DEBUGLEVEL
>= 10) {
2570 NDR_PRINT_IN_DEBUG(wbint_QueryGroupList
, &r
);
2573 status
= cli
->dispatch(cli
,
2576 NDR_WBINT_QUERYGROUPLIST
,
2579 if (!NT_STATUS_IS_OK(status
)) {
2583 if (DEBUGLEVEL
>= 10) {
2584 NDR_PRINT_OUT_DEBUG(wbint_QueryGroupList
, &r
);
2587 if (NT_STATUS_IS_ERR(status
)) {
2591 /* Return variables */
2592 *groups
= *r
.out
.groups
;
2595 return r
.out
.result
;
2598 struct rpccli_wbint_DsGetDcName_state
{
2599 struct wbint_DsGetDcName orig
;
2600 struct wbint_DsGetDcName tmp
;
2601 TALLOC_CTX
*out_mem_ctx
;
2602 NTSTATUS (*dispatch_recv
)(struct tevent_req
*req
, TALLOC_CTX
*mem_ctx
);
2605 static void rpccli_wbint_DsGetDcName_done(struct tevent_req
*subreq
);
2607 struct tevent_req
*rpccli_wbint_DsGetDcName_send(TALLOC_CTX
*mem_ctx
,
2608 struct tevent_context
*ev
,
2609 struct rpc_pipe_client
*cli
,
2610 const char *_domain_name
/* [in] [ref,charset(UTF8)] */,
2611 struct GUID
*_domain_guid
/* [in] [unique] */,
2612 const char *_site_name
/* [in] [unique,charset(UTF8)] */,
2613 uint32_t _flags
/* [in] */,
2614 struct netr_DsRGetDCNameInfo
**_dc_info
/* [out] [ref] */)
2616 struct tevent_req
*req
;
2617 struct rpccli_wbint_DsGetDcName_state
*state
;
2618 struct tevent_req
*subreq
;
2620 req
= tevent_req_create(mem_ctx
, &state
,
2621 struct rpccli_wbint_DsGetDcName_state
);
2625 state
->out_mem_ctx
= NULL
;
2626 state
->dispatch_recv
= cli
->dispatch_recv
;
2629 state
->orig
.in
.domain_name
= _domain_name
;
2630 state
->orig
.in
.domain_guid
= _domain_guid
;
2631 state
->orig
.in
.site_name
= _site_name
;
2632 state
->orig
.in
.flags
= _flags
;
2634 /* Out parameters */
2635 state
->orig
.out
.dc_info
= _dc_info
;
2638 ZERO_STRUCT(state
->orig
.out
.result
);
2640 if (DEBUGLEVEL
>= 10) {
2641 NDR_PRINT_IN_DEBUG(wbint_DsGetDcName
, &state
->orig
);
2644 state
->out_mem_ctx
= talloc_named_const(state
, 0,
2645 "rpccli_wbint_DsGetDcName_out_memory");
2646 if (tevent_req_nomem(state
->out_mem_ctx
, req
)) {
2647 return tevent_req_post(req
, ev
);
2650 /* make a temporary copy, that we pass to the dispatch function */
2651 state
->tmp
= state
->orig
;
2653 subreq
= cli
->dispatch_send(state
, ev
, cli
,
2655 NDR_WBINT_DSGETDCNAME
,
2657 if (tevent_req_nomem(subreq
, req
)) {
2658 return tevent_req_post(req
, ev
);
2660 tevent_req_set_callback(subreq
, rpccli_wbint_DsGetDcName_done
, req
);
2664 static void rpccli_wbint_DsGetDcName_done(struct tevent_req
*subreq
)
2666 struct tevent_req
*req
= tevent_req_callback_data(
2667 subreq
, struct tevent_req
);
2668 struct rpccli_wbint_DsGetDcName_state
*state
= tevent_req_data(
2669 req
, struct rpccli_wbint_DsGetDcName_state
);
2671 TALLOC_CTX
*mem_ctx
;
2673 if (state
->out_mem_ctx
) {
2674 mem_ctx
= state
->out_mem_ctx
;
2679 status
= state
->dispatch_recv(subreq
, mem_ctx
);
2680 TALLOC_FREE(subreq
);
2681 if (!NT_STATUS_IS_OK(status
)) {
2682 tevent_req_nterror(req
, status
);
2686 /* Copy out parameters */
2687 *state
->orig
.out
.dc_info
= *state
->tmp
.out
.dc_info
;
2690 state
->orig
.out
.result
= state
->tmp
.out
.result
;
2692 /* Reset temporary structure */
2693 ZERO_STRUCT(state
->tmp
);
2695 if (DEBUGLEVEL
>= 10) {
2696 NDR_PRINT_OUT_DEBUG(wbint_DsGetDcName
, &state
->orig
);
2699 tevent_req_done(req
);
2702 NTSTATUS
rpccli_wbint_DsGetDcName_recv(struct tevent_req
*req
,
2703 TALLOC_CTX
*mem_ctx
,
2706 struct rpccli_wbint_DsGetDcName_state
*state
= tevent_req_data(
2707 req
, struct rpccli_wbint_DsGetDcName_state
);
2710 if (tevent_req_is_nterror(req
, &status
)) {
2711 tevent_req_received(req
);
2715 /* Steal possbile out parameters to the callers context */
2716 talloc_steal(mem_ctx
, state
->out_mem_ctx
);
2719 *result
= state
->orig
.out
.result
;
2721 tevent_req_received(req
);
2722 return NT_STATUS_OK
;
2725 NTSTATUS
rpccli_wbint_DsGetDcName(struct rpc_pipe_client
*cli
,
2726 TALLOC_CTX
*mem_ctx
,
2727 const char *domain_name
/* [in] [ref,charset(UTF8)] */,
2728 struct GUID
*domain_guid
/* [in] [unique] */,
2729 const char *site_name
/* [in] [unique,charset(UTF8)] */,
2730 uint32_t flags
/* [in] */,
2731 struct netr_DsRGetDCNameInfo
**dc_info
/* [out] [ref] */)
2733 struct wbint_DsGetDcName r
;
2737 r
.in
.domain_name
= domain_name
;
2738 r
.in
.domain_guid
= domain_guid
;
2739 r
.in
.site_name
= site_name
;
2742 if (DEBUGLEVEL
>= 10) {
2743 NDR_PRINT_IN_DEBUG(wbint_DsGetDcName
, &r
);
2746 status
= cli
->dispatch(cli
,
2749 NDR_WBINT_DSGETDCNAME
,
2752 if (!NT_STATUS_IS_OK(status
)) {
2756 if (DEBUGLEVEL
>= 10) {
2757 NDR_PRINT_OUT_DEBUG(wbint_DsGetDcName
, &r
);
2760 if (NT_STATUS_IS_ERR(status
)) {
2764 /* Return variables */
2765 *dc_info
= *r
.out
.dc_info
;
2768 return r
.out
.result
;
2771 struct rpccli_wbint_LookupRids_state
{
2772 struct wbint_LookupRids orig
;
2773 struct wbint_LookupRids tmp
;
2774 TALLOC_CTX
*out_mem_ctx
;
2775 NTSTATUS (*dispatch_recv
)(struct tevent_req
*req
, TALLOC_CTX
*mem_ctx
);
2778 static void rpccli_wbint_LookupRids_done(struct tevent_req
*subreq
);
2780 struct tevent_req
*rpccli_wbint_LookupRids_send(TALLOC_CTX
*mem_ctx
,
2781 struct tevent_context
*ev
,
2782 struct rpc_pipe_client
*cli
,
2783 struct wbint_RidArray
*_rids
/* [in] [ref] */,
2784 struct wbint_Principals
*_names
/* [out] [ref] */)
2786 struct tevent_req
*req
;
2787 struct rpccli_wbint_LookupRids_state
*state
;
2788 struct tevent_req
*subreq
;
2790 req
= tevent_req_create(mem_ctx
, &state
,
2791 struct rpccli_wbint_LookupRids_state
);
2795 state
->out_mem_ctx
= NULL
;
2796 state
->dispatch_recv
= cli
->dispatch_recv
;
2799 state
->orig
.in
.rids
= _rids
;
2801 /* Out parameters */
2802 state
->orig
.out
.names
= _names
;
2805 ZERO_STRUCT(state
->orig
.out
.result
);
2807 if (DEBUGLEVEL
>= 10) {
2808 NDR_PRINT_IN_DEBUG(wbint_LookupRids
, &state
->orig
);
2811 state
->out_mem_ctx
= talloc_named_const(state
, 0,
2812 "rpccli_wbint_LookupRids_out_memory");
2813 if (tevent_req_nomem(state
->out_mem_ctx
, req
)) {
2814 return tevent_req_post(req
, ev
);
2817 /* make a temporary copy, that we pass to the dispatch function */
2818 state
->tmp
= state
->orig
;
2820 subreq
= cli
->dispatch_send(state
, ev
, cli
,
2822 NDR_WBINT_LOOKUPRIDS
,
2824 if (tevent_req_nomem(subreq
, req
)) {
2825 return tevent_req_post(req
, ev
);
2827 tevent_req_set_callback(subreq
, rpccli_wbint_LookupRids_done
, req
);
2831 static void rpccli_wbint_LookupRids_done(struct tevent_req
*subreq
)
2833 struct tevent_req
*req
= tevent_req_callback_data(
2834 subreq
, struct tevent_req
);
2835 struct rpccli_wbint_LookupRids_state
*state
= tevent_req_data(
2836 req
, struct rpccli_wbint_LookupRids_state
);
2838 TALLOC_CTX
*mem_ctx
;
2840 if (state
->out_mem_ctx
) {
2841 mem_ctx
= state
->out_mem_ctx
;
2846 status
= state
->dispatch_recv(subreq
, mem_ctx
);
2847 TALLOC_FREE(subreq
);
2848 if (!NT_STATUS_IS_OK(status
)) {
2849 tevent_req_nterror(req
, status
);
2853 /* Copy out parameters */
2854 *state
->orig
.out
.names
= *state
->tmp
.out
.names
;
2857 state
->orig
.out
.result
= state
->tmp
.out
.result
;
2859 /* Reset temporary structure */
2860 ZERO_STRUCT(state
->tmp
);
2862 if (DEBUGLEVEL
>= 10) {
2863 NDR_PRINT_OUT_DEBUG(wbint_LookupRids
, &state
->orig
);
2866 tevent_req_done(req
);
2869 NTSTATUS
rpccli_wbint_LookupRids_recv(struct tevent_req
*req
,
2870 TALLOC_CTX
*mem_ctx
,
2873 struct rpccli_wbint_LookupRids_state
*state
= tevent_req_data(
2874 req
, struct rpccli_wbint_LookupRids_state
);
2877 if (tevent_req_is_nterror(req
, &status
)) {
2878 tevent_req_received(req
);
2882 /* Steal possbile out parameters to the callers context */
2883 talloc_steal(mem_ctx
, state
->out_mem_ctx
);
2886 *result
= state
->orig
.out
.result
;
2888 tevent_req_received(req
);
2889 return NT_STATUS_OK
;
2892 NTSTATUS
rpccli_wbint_LookupRids(struct rpc_pipe_client
*cli
,
2893 TALLOC_CTX
*mem_ctx
,
2894 struct wbint_RidArray
*rids
/* [in] [ref] */,
2895 struct wbint_Principals
*names
/* [out] [ref] */)
2897 struct wbint_LookupRids r
;
2903 if (DEBUGLEVEL
>= 10) {
2904 NDR_PRINT_IN_DEBUG(wbint_LookupRids
, &r
);
2907 status
= cli
->dispatch(cli
,
2910 NDR_WBINT_LOOKUPRIDS
,
2913 if (!NT_STATUS_IS_OK(status
)) {
2917 if (DEBUGLEVEL
>= 10) {
2918 NDR_PRINT_OUT_DEBUG(wbint_LookupRids
, &r
);
2921 if (NT_STATUS_IS_ERR(status
)) {
2925 /* Return variables */
2926 *names
= *r
.out
.names
;
2929 return r
.out
.result
;
2932 struct rpccli_wbint_CheckMachineAccount_state
{
2933 struct wbint_CheckMachineAccount orig
;
2934 struct wbint_CheckMachineAccount tmp
;
2935 TALLOC_CTX
*out_mem_ctx
;
2936 NTSTATUS (*dispatch_recv
)(struct tevent_req
*req
, TALLOC_CTX
*mem_ctx
);
2939 static void rpccli_wbint_CheckMachineAccount_done(struct tevent_req
*subreq
);
2941 struct tevent_req
*rpccli_wbint_CheckMachineAccount_send(TALLOC_CTX
*mem_ctx
,
2942 struct tevent_context
*ev
,
2943 struct rpc_pipe_client
*cli
)
2945 struct tevent_req
*req
;
2946 struct rpccli_wbint_CheckMachineAccount_state
*state
;
2947 struct tevent_req
*subreq
;
2949 req
= tevent_req_create(mem_ctx
, &state
,
2950 struct rpccli_wbint_CheckMachineAccount_state
);
2954 state
->out_mem_ctx
= NULL
;
2955 state
->dispatch_recv
= cli
->dispatch_recv
;
2959 /* Out parameters */
2962 ZERO_STRUCT(state
->orig
.out
.result
);
2964 if (DEBUGLEVEL
>= 10) {
2965 NDR_PRINT_IN_DEBUG(wbint_CheckMachineAccount
, &state
->orig
);
2968 /* make a temporary copy, that we pass to the dispatch function */
2969 state
->tmp
= state
->orig
;
2971 subreq
= cli
->dispatch_send(state
, ev
, cli
,
2973 NDR_WBINT_CHECKMACHINEACCOUNT
,
2975 if (tevent_req_nomem(subreq
, req
)) {
2976 return tevent_req_post(req
, ev
);
2978 tevent_req_set_callback(subreq
, rpccli_wbint_CheckMachineAccount_done
, req
);
2982 static void rpccli_wbint_CheckMachineAccount_done(struct tevent_req
*subreq
)
2984 struct tevent_req
*req
= tevent_req_callback_data(
2985 subreq
, struct tevent_req
);
2986 struct rpccli_wbint_CheckMachineAccount_state
*state
= tevent_req_data(
2987 req
, struct rpccli_wbint_CheckMachineAccount_state
);
2989 TALLOC_CTX
*mem_ctx
;
2991 if (state
->out_mem_ctx
) {
2992 mem_ctx
= state
->out_mem_ctx
;
2997 status
= state
->dispatch_recv(subreq
, mem_ctx
);
2998 TALLOC_FREE(subreq
);
2999 if (!NT_STATUS_IS_OK(status
)) {
3000 tevent_req_nterror(req
, status
);
3004 /* Copy out parameters */
3007 state
->orig
.out
.result
= state
->tmp
.out
.result
;
3009 /* Reset temporary structure */
3010 ZERO_STRUCT(state
->tmp
);
3012 if (DEBUGLEVEL
>= 10) {
3013 NDR_PRINT_OUT_DEBUG(wbint_CheckMachineAccount
, &state
->orig
);
3016 tevent_req_done(req
);
3019 NTSTATUS
rpccli_wbint_CheckMachineAccount_recv(struct tevent_req
*req
,
3020 TALLOC_CTX
*mem_ctx
,
3023 struct rpccli_wbint_CheckMachineAccount_state
*state
= tevent_req_data(
3024 req
, struct rpccli_wbint_CheckMachineAccount_state
);
3027 if (tevent_req_is_nterror(req
, &status
)) {
3028 tevent_req_received(req
);
3032 /* Steal possbile out parameters to the callers context */
3033 talloc_steal(mem_ctx
, state
->out_mem_ctx
);
3036 *result
= state
->orig
.out
.result
;
3038 tevent_req_received(req
);
3039 return NT_STATUS_OK
;
3042 NTSTATUS
rpccli_wbint_CheckMachineAccount(struct rpc_pipe_client
*cli
,
3043 TALLOC_CTX
*mem_ctx
)
3045 struct wbint_CheckMachineAccount r
;
3050 if (DEBUGLEVEL
>= 10) {
3051 NDR_PRINT_IN_DEBUG(wbint_CheckMachineAccount
, &r
);
3054 status
= cli
->dispatch(cli
,
3057 NDR_WBINT_CHECKMACHINEACCOUNT
,
3060 if (!NT_STATUS_IS_OK(status
)) {
3064 if (DEBUGLEVEL
>= 10) {
3065 NDR_PRINT_OUT_DEBUG(wbint_CheckMachineAccount
, &r
);
3068 if (NT_STATUS_IS_ERR(status
)) {
3072 /* Return variables */
3075 return r
.out
.result
;