2
* Unix SMB/CIFS implementation.
3
* client auto-generated by pidl. DO NOT MODIFY!
7
#include "../librpc/gen_ndr/cli_wkssvc.h"
9
struct rpccli_wkssvc_NetWkstaGetInfo_state {
10
struct wkssvc_NetWkstaGetInfo orig;
11
struct wkssvc_NetWkstaGetInfo tmp;
12
TALLOC_CTX *out_mem_ctx;
13
NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
16
static void rpccli_wkssvc_NetWkstaGetInfo_done(struct tevent_req *subreq);
18
struct tevent_req *rpccli_wkssvc_NetWkstaGetInfo_send(TALLOC_CTX *mem_ctx,
19
struct tevent_context *ev,
20
struct rpc_pipe_client *cli,
21
const char *_server_name /* [in] [unique,charset(UTF16)] */,
22
uint32_t _level /* [in] */,
23
union wkssvc_NetWkstaInfo *_info /* [out] [ref,switch_is(level)] */)
25
struct tevent_req *req;
26
struct rpccli_wkssvc_NetWkstaGetInfo_state *state;
27
struct tevent_req *subreq;
29
req = tevent_req_create(mem_ctx, &state,
30
struct rpccli_wkssvc_NetWkstaGetInfo_state);
34
state->out_mem_ctx = NULL;
35
state->dispatch_recv = cli->dispatch_recv;
38
state->orig.in.server_name = _server_name;
39
state->orig.in.level = _level;
42
state->orig.out.info = _info;
45
ZERO_STRUCT(state->orig.out.result);
47
state->out_mem_ctx = talloc_named_const(state, 0,
48
"rpccli_wkssvc_NetWkstaGetInfo_out_memory");
49
if (tevent_req_nomem(state->out_mem_ctx, req)) {
50
return tevent_req_post(req, ev);
53
/* make a temporary copy, that we pass to the dispatch function */
54
state->tmp = state->orig;
56
subreq = cli->dispatch_send(state, ev, cli,
58
NDR_WKSSVC_NETWKSTAGETINFO,
60
if (tevent_req_nomem(subreq, req)) {
61
return tevent_req_post(req, ev);
63
tevent_req_set_callback(subreq, rpccli_wkssvc_NetWkstaGetInfo_done, req);
67
static void rpccli_wkssvc_NetWkstaGetInfo_done(struct tevent_req *subreq)
69
struct tevent_req *req = tevent_req_callback_data(
70
subreq, struct tevent_req);
71
struct rpccli_wkssvc_NetWkstaGetInfo_state *state = tevent_req_data(
72
req, struct rpccli_wkssvc_NetWkstaGetInfo_state);
76
if (state->out_mem_ctx) {
77
mem_ctx = state->out_mem_ctx;
82
status = state->dispatch_recv(subreq, mem_ctx);
84
if (!NT_STATUS_IS_OK(status)) {
85
tevent_req_nterror(req, status);
89
/* Copy out parameters */
90
*state->orig.out.info = *state->tmp.out.info;
93
state->orig.out.result = state->tmp.out.result;
95
/* Reset temporary structure */
96
ZERO_STRUCT(state->tmp);
101
NTSTATUS rpccli_wkssvc_NetWkstaGetInfo_recv(struct tevent_req *req,
105
struct rpccli_wkssvc_NetWkstaGetInfo_state *state = tevent_req_data(
106
req, struct rpccli_wkssvc_NetWkstaGetInfo_state);
109
if (tevent_req_is_nterror(req, &status)) {
110
tevent_req_received(req);
114
/* Steal possbile out parameters to the callers context */
115
talloc_steal(mem_ctx, state->out_mem_ctx);
118
*result = state->orig.out.result;
120
tevent_req_received(req);
124
NTSTATUS rpccli_wkssvc_NetWkstaGetInfo(struct rpc_pipe_client *cli,
126
const char *server_name /* [in] [unique,charset(UTF16)] */,
127
uint32_t level /* [in] */,
128
union wkssvc_NetWkstaInfo *info /* [out] [ref,switch_is(level)] */,
131
struct wkssvc_NetWkstaGetInfo r;
135
r.in.server_name = server_name;
138
status = cli->dispatch(cli,
141
NDR_WKSSVC_NETWKSTAGETINFO,
144
if (!NT_STATUS_IS_OK(status)) {
148
if (NT_STATUS_IS_ERR(status)) {
152
/* Return variables */
157
*werror = r.out.result;
160
return werror_to_ntstatus(r.out.result);
163
struct rpccli_wkssvc_NetWkstaSetInfo_state {
164
struct wkssvc_NetWkstaSetInfo orig;
165
struct wkssvc_NetWkstaSetInfo tmp;
166
TALLOC_CTX *out_mem_ctx;
167
NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
170
static void rpccli_wkssvc_NetWkstaSetInfo_done(struct tevent_req *subreq);
172
struct tevent_req *rpccli_wkssvc_NetWkstaSetInfo_send(TALLOC_CTX *mem_ctx,
173
struct tevent_context *ev,
174
struct rpc_pipe_client *cli,
175
const char *_server_name /* [in] [unique,charset(UTF16)] */,
176
uint32_t _level /* [in] */,
177
union wkssvc_NetWkstaInfo *_info /* [in] [ref,switch_is(level)] */,
178
uint32_t *_parm_error /* [in,out] [ref] */)
180
struct tevent_req *req;
181
struct rpccli_wkssvc_NetWkstaSetInfo_state *state;
182
struct tevent_req *subreq;
184
req = tevent_req_create(mem_ctx, &state,
185
struct rpccli_wkssvc_NetWkstaSetInfo_state);
189
state->out_mem_ctx = NULL;
190
state->dispatch_recv = cli->dispatch_recv;
193
state->orig.in.server_name = _server_name;
194
state->orig.in.level = _level;
195
state->orig.in.info = _info;
196
state->orig.in.parm_error = _parm_error;
199
state->orig.out.parm_error = _parm_error;
202
ZERO_STRUCT(state->orig.out.result);
204
state->out_mem_ctx = talloc_named_const(state, 0,
205
"rpccli_wkssvc_NetWkstaSetInfo_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,
215
NDR_WKSSVC_NETWKSTASETINFO,
217
if (tevent_req_nomem(subreq, req)) {
218
return tevent_req_post(req, ev);
220
tevent_req_set_callback(subreq, rpccli_wkssvc_NetWkstaSetInfo_done, req);
224
static void rpccli_wkssvc_NetWkstaSetInfo_done(struct tevent_req *subreq)
226
struct tevent_req *req = tevent_req_callback_data(
227
subreq, struct tevent_req);
228
struct rpccli_wkssvc_NetWkstaSetInfo_state *state = tevent_req_data(
229
req, struct rpccli_wkssvc_NetWkstaSetInfo_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.parm_error = *state->tmp.out.parm_error;
250
state->orig.out.result = state->tmp.out.result;
252
/* Reset temporary structure */
253
ZERO_STRUCT(state->tmp);
255
tevent_req_done(req);
258
NTSTATUS rpccli_wkssvc_NetWkstaSetInfo_recv(struct tevent_req *req,
262
struct rpccli_wkssvc_NetWkstaSetInfo_state *state = tevent_req_data(
263
req, struct rpccli_wkssvc_NetWkstaSetInfo_state);
266
if (tevent_req_is_nterror(req, &status)) {
267
tevent_req_received(req);
271
/* Steal possbile out parameters to the callers context */
272
talloc_steal(mem_ctx, state->out_mem_ctx);
275
*result = state->orig.out.result;
277
tevent_req_received(req);
281
NTSTATUS rpccli_wkssvc_NetWkstaSetInfo(struct rpc_pipe_client *cli,
283
const char *server_name /* [in] [unique,charset(UTF16)] */,
284
uint32_t level /* [in] */,
285
union wkssvc_NetWkstaInfo *info /* [in] [ref,switch_is(level)] */,
286
uint32_t *parm_error /* [in,out] [ref] */,
289
struct wkssvc_NetWkstaSetInfo r;
293
r.in.server_name = server_name;
296
r.in.parm_error = parm_error;
298
status = cli->dispatch(cli,
301
NDR_WKSSVC_NETWKSTASETINFO,
304
if (!NT_STATUS_IS_OK(status)) {
308
if (NT_STATUS_IS_ERR(status)) {
312
/* Return variables */
313
*parm_error = *r.out.parm_error;
317
*werror = r.out.result;
320
return werror_to_ntstatus(r.out.result);
323
struct rpccli_wkssvc_NetWkstaEnumUsers_state {
324
struct wkssvc_NetWkstaEnumUsers orig;
325
struct wkssvc_NetWkstaEnumUsers tmp;
326
TALLOC_CTX *out_mem_ctx;
327
NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
330
static void rpccli_wkssvc_NetWkstaEnumUsers_done(struct tevent_req *subreq);
332
struct tevent_req *rpccli_wkssvc_NetWkstaEnumUsers_send(TALLOC_CTX *mem_ctx,
333
struct tevent_context *ev,
334
struct rpc_pipe_client *cli,
335
const char *_server_name /* [in] [unique,charset(UTF16)] */,
336
struct wkssvc_NetWkstaEnumUsersInfo *_info /* [in,out] [ref] */,
337
uint32_t _prefmaxlen /* [in] */,
338
uint32_t *_entries_read /* [out] [ref] */,
339
uint32_t *_resume_handle /* [in,out] [unique] */)
341
struct tevent_req *req;
342
struct rpccli_wkssvc_NetWkstaEnumUsers_state *state;
343
struct tevent_req *subreq;
345
req = tevent_req_create(mem_ctx, &state,
346
struct rpccli_wkssvc_NetWkstaEnumUsers_state);
350
state->out_mem_ctx = NULL;
351
state->dispatch_recv = cli->dispatch_recv;
354
state->orig.in.server_name = _server_name;
355
state->orig.in.info = _info;
356
state->orig.in.prefmaxlen = _prefmaxlen;
357
state->orig.in.resume_handle = _resume_handle;
360
state->orig.out.info = _info;
361
state->orig.out.entries_read = _entries_read;
362
state->orig.out.resume_handle = _resume_handle;
365
ZERO_STRUCT(state->orig.out.result);
367
state->out_mem_ctx = talloc_named_const(state, 0,
368
"rpccli_wkssvc_NetWkstaEnumUsers_out_memory");
369
if (tevent_req_nomem(state->out_mem_ctx, req)) {
370
return tevent_req_post(req, ev);
373
/* make a temporary copy, that we pass to the dispatch function */
374
state->tmp = state->orig;
376
subreq = cli->dispatch_send(state, ev, cli,
378
NDR_WKSSVC_NETWKSTAENUMUSERS,
380
if (tevent_req_nomem(subreq, req)) {
381
return tevent_req_post(req, ev);
383
tevent_req_set_callback(subreq, rpccli_wkssvc_NetWkstaEnumUsers_done, req);
387
static void rpccli_wkssvc_NetWkstaEnumUsers_done(struct tevent_req *subreq)
389
struct tevent_req *req = tevent_req_callback_data(
390
subreq, struct tevent_req);
391
struct rpccli_wkssvc_NetWkstaEnumUsers_state *state = tevent_req_data(
392
req, struct rpccli_wkssvc_NetWkstaEnumUsers_state);
396
if (state->out_mem_ctx) {
397
mem_ctx = state->out_mem_ctx;
402
status = state->dispatch_recv(subreq, mem_ctx);
404
if (!NT_STATUS_IS_OK(status)) {
405
tevent_req_nterror(req, status);
409
/* Copy out parameters */
410
*state->orig.out.info = *state->tmp.out.info;
411
*state->orig.out.entries_read = *state->tmp.out.entries_read;
412
if (state->orig.out.resume_handle && state->tmp.out.resume_handle) {
413
*state->orig.out.resume_handle = *state->tmp.out.resume_handle;
417
state->orig.out.result = state->tmp.out.result;
419
/* Reset temporary structure */
420
ZERO_STRUCT(state->tmp);
422
tevent_req_done(req);
425
NTSTATUS rpccli_wkssvc_NetWkstaEnumUsers_recv(struct tevent_req *req,
429
struct rpccli_wkssvc_NetWkstaEnumUsers_state *state = tevent_req_data(
430
req, struct rpccli_wkssvc_NetWkstaEnumUsers_state);
433
if (tevent_req_is_nterror(req, &status)) {
434
tevent_req_received(req);
438
/* Steal possbile out parameters to the callers context */
439
talloc_steal(mem_ctx, state->out_mem_ctx);
442
*result = state->orig.out.result;
444
tevent_req_received(req);
448
NTSTATUS rpccli_wkssvc_NetWkstaEnumUsers(struct rpc_pipe_client *cli,
450
const char *server_name /* [in] [unique,charset(UTF16)] */,
451
struct wkssvc_NetWkstaEnumUsersInfo *info /* [in,out] [ref] */,
452
uint32_t prefmaxlen /* [in] */,
453
uint32_t *entries_read /* [out] [ref] */,
454
uint32_t *resume_handle /* [in,out] [unique] */,
457
struct wkssvc_NetWkstaEnumUsers r;
461
r.in.server_name = server_name;
463
r.in.prefmaxlen = prefmaxlen;
464
r.in.resume_handle = resume_handle;
466
status = cli->dispatch(cli,
469
NDR_WKSSVC_NETWKSTAENUMUSERS,
472
if (!NT_STATUS_IS_OK(status)) {
476
if (NT_STATUS_IS_ERR(status)) {
480
/* Return variables */
482
*entries_read = *r.out.entries_read;
483
if (resume_handle && r.out.resume_handle) {
484
*resume_handle = *r.out.resume_handle;
489
*werror = r.out.result;
492
return werror_to_ntstatus(r.out.result);
495
struct rpccli_wkssvc_NetrWkstaUserGetInfo_state {
496
struct wkssvc_NetrWkstaUserGetInfo orig;
497
struct wkssvc_NetrWkstaUserGetInfo tmp;
498
TALLOC_CTX *out_mem_ctx;
499
NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
502
static void rpccli_wkssvc_NetrWkstaUserGetInfo_done(struct tevent_req *subreq);
504
struct tevent_req *rpccli_wkssvc_NetrWkstaUserGetInfo_send(TALLOC_CTX *mem_ctx,
505
struct tevent_context *ev,
506
struct rpc_pipe_client *cli,
507
const char *_unknown /* [in] [unique,charset(UTF16)] */,
508
uint32_t _level /* [in] */,
509
union wkssvc_NetrWkstaUserInfo *_info /* [out] [ref,switch_is(level)] */)
511
struct tevent_req *req;
512
struct rpccli_wkssvc_NetrWkstaUserGetInfo_state *state;
513
struct tevent_req *subreq;
515
req = tevent_req_create(mem_ctx, &state,
516
struct rpccli_wkssvc_NetrWkstaUserGetInfo_state);
520
state->out_mem_ctx = NULL;
521
state->dispatch_recv = cli->dispatch_recv;
524
state->orig.in.unknown = _unknown;
525
state->orig.in.level = _level;
528
state->orig.out.info = _info;
531
ZERO_STRUCT(state->orig.out.result);
533
state->out_mem_ctx = talloc_named_const(state, 0,
534
"rpccli_wkssvc_NetrWkstaUserGetInfo_out_memory");
535
if (tevent_req_nomem(state->out_mem_ctx, req)) {
536
return tevent_req_post(req, ev);
539
/* make a temporary copy, that we pass to the dispatch function */
540
state->tmp = state->orig;
542
subreq = cli->dispatch_send(state, ev, cli,
544
NDR_WKSSVC_NETRWKSTAUSERGETINFO,
546
if (tevent_req_nomem(subreq, req)) {
547
return tevent_req_post(req, ev);
549
tevent_req_set_callback(subreq, rpccli_wkssvc_NetrWkstaUserGetInfo_done, req);
553
static void rpccli_wkssvc_NetrWkstaUserGetInfo_done(struct tevent_req *subreq)
555
struct tevent_req *req = tevent_req_callback_data(
556
subreq, struct tevent_req);
557
struct rpccli_wkssvc_NetrWkstaUserGetInfo_state *state = tevent_req_data(
558
req, struct rpccli_wkssvc_NetrWkstaUserGetInfo_state);
562
if (state->out_mem_ctx) {
563
mem_ctx = state->out_mem_ctx;
568
status = state->dispatch_recv(subreq, mem_ctx);
570
if (!NT_STATUS_IS_OK(status)) {
571
tevent_req_nterror(req, status);
575
/* Copy out parameters */
576
*state->orig.out.info = *state->tmp.out.info;
579
state->orig.out.result = state->tmp.out.result;
581
/* Reset temporary structure */
582
ZERO_STRUCT(state->tmp);
584
tevent_req_done(req);
587
NTSTATUS rpccli_wkssvc_NetrWkstaUserGetInfo_recv(struct tevent_req *req,
591
struct rpccli_wkssvc_NetrWkstaUserGetInfo_state *state = tevent_req_data(
592
req, struct rpccli_wkssvc_NetrWkstaUserGetInfo_state);
595
if (tevent_req_is_nterror(req, &status)) {
596
tevent_req_received(req);
600
/* Steal possbile out parameters to the callers context */
601
talloc_steal(mem_ctx, state->out_mem_ctx);
604
*result = state->orig.out.result;
606
tevent_req_received(req);
610
NTSTATUS rpccli_wkssvc_NetrWkstaUserGetInfo(struct rpc_pipe_client *cli,
612
const char *unknown /* [in] [unique,charset(UTF16)] */,
613
uint32_t level /* [in] */,
614
union wkssvc_NetrWkstaUserInfo *info /* [out] [ref,switch_is(level)] */,
617
struct wkssvc_NetrWkstaUserGetInfo r;
621
r.in.unknown = unknown;
624
status = cli->dispatch(cli,
627
NDR_WKSSVC_NETRWKSTAUSERGETINFO,
630
if (!NT_STATUS_IS_OK(status)) {
634
if (NT_STATUS_IS_ERR(status)) {
638
/* Return variables */
643
*werror = r.out.result;
646
return werror_to_ntstatus(r.out.result);
649
struct rpccli_wkssvc_NetrWkstaUserSetInfo_state {
650
struct wkssvc_NetrWkstaUserSetInfo orig;
651
struct wkssvc_NetrWkstaUserSetInfo tmp;
652
TALLOC_CTX *out_mem_ctx;
653
NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
656
static void rpccli_wkssvc_NetrWkstaUserSetInfo_done(struct tevent_req *subreq);
658
struct tevent_req *rpccli_wkssvc_NetrWkstaUserSetInfo_send(TALLOC_CTX *mem_ctx,
659
struct tevent_context *ev,
660
struct rpc_pipe_client *cli,
661
const char *_unknown /* [in] [unique,charset(UTF16)] */,
662
uint32_t _level /* [in] */,
663
union wkssvc_NetrWkstaUserInfo *_info /* [in] [ref,switch_is(level)] */,
664
uint32_t *_parm_err /* [in,out] [unique] */)
666
struct tevent_req *req;
667
struct rpccli_wkssvc_NetrWkstaUserSetInfo_state *state;
668
struct tevent_req *subreq;
670
req = tevent_req_create(mem_ctx, &state,
671
struct rpccli_wkssvc_NetrWkstaUserSetInfo_state);
675
state->out_mem_ctx = NULL;
676
state->dispatch_recv = cli->dispatch_recv;
679
state->orig.in.unknown = _unknown;
680
state->orig.in.level = _level;
681
state->orig.in.info = _info;
682
state->orig.in.parm_err = _parm_err;
685
state->orig.out.parm_err = _parm_err;
688
ZERO_STRUCT(state->orig.out.result);
690
state->out_mem_ctx = talloc_named_const(state, 0,
691
"rpccli_wkssvc_NetrWkstaUserSetInfo_out_memory");
692
if (tevent_req_nomem(state->out_mem_ctx, req)) {
693
return tevent_req_post(req, ev);
696
/* make a temporary copy, that we pass to the dispatch function */
697
state->tmp = state->orig;
699
subreq = cli->dispatch_send(state, ev, cli,
701
NDR_WKSSVC_NETRWKSTAUSERSETINFO,
703
if (tevent_req_nomem(subreq, req)) {
704
return tevent_req_post(req, ev);
706
tevent_req_set_callback(subreq, rpccli_wkssvc_NetrWkstaUserSetInfo_done, req);
710
static void rpccli_wkssvc_NetrWkstaUserSetInfo_done(struct tevent_req *subreq)
712
struct tevent_req *req = tevent_req_callback_data(
713
subreq, struct tevent_req);
714
struct rpccli_wkssvc_NetrWkstaUserSetInfo_state *state = tevent_req_data(
715
req, struct rpccli_wkssvc_NetrWkstaUserSetInfo_state);
719
if (state->out_mem_ctx) {
720
mem_ctx = state->out_mem_ctx;
725
status = state->dispatch_recv(subreq, mem_ctx);
727
if (!NT_STATUS_IS_OK(status)) {
728
tevent_req_nterror(req, status);
732
/* Copy out parameters */
733
if (state->orig.out.parm_err && state->tmp.out.parm_err) {
734
*state->orig.out.parm_err = *state->tmp.out.parm_err;
738
state->orig.out.result = state->tmp.out.result;
740
/* Reset temporary structure */
741
ZERO_STRUCT(state->tmp);
743
tevent_req_done(req);
746
NTSTATUS rpccli_wkssvc_NetrWkstaUserSetInfo_recv(struct tevent_req *req,
750
struct rpccli_wkssvc_NetrWkstaUserSetInfo_state *state = tevent_req_data(
751
req, struct rpccli_wkssvc_NetrWkstaUserSetInfo_state);
754
if (tevent_req_is_nterror(req, &status)) {
755
tevent_req_received(req);
759
/* Steal possbile out parameters to the callers context */
760
talloc_steal(mem_ctx, state->out_mem_ctx);
763
*result = state->orig.out.result;
765
tevent_req_received(req);
769
NTSTATUS rpccli_wkssvc_NetrWkstaUserSetInfo(struct rpc_pipe_client *cli,
771
const char *unknown /* [in] [unique,charset(UTF16)] */,
772
uint32_t level /* [in] */,
773
union wkssvc_NetrWkstaUserInfo *info /* [in] [ref,switch_is(level)] */,
774
uint32_t *parm_err /* [in,out] [unique] */,
777
struct wkssvc_NetrWkstaUserSetInfo r;
781
r.in.unknown = unknown;
784
r.in.parm_err = parm_err;
786
status = cli->dispatch(cli,
789
NDR_WKSSVC_NETRWKSTAUSERSETINFO,
792
if (!NT_STATUS_IS_OK(status)) {
796
if (NT_STATUS_IS_ERR(status)) {
800
/* Return variables */
801
if (parm_err && r.out.parm_err) {
802
*parm_err = *r.out.parm_err;
807
*werror = r.out.result;
810
return werror_to_ntstatus(r.out.result);
813
struct rpccli_wkssvc_NetWkstaTransportEnum_state {
814
struct wkssvc_NetWkstaTransportEnum orig;
815
struct wkssvc_NetWkstaTransportEnum tmp;
816
TALLOC_CTX *out_mem_ctx;
817
NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
820
static void rpccli_wkssvc_NetWkstaTransportEnum_done(struct tevent_req *subreq);
822
struct tevent_req *rpccli_wkssvc_NetWkstaTransportEnum_send(TALLOC_CTX *mem_ctx,
823
struct tevent_context *ev,
824
struct rpc_pipe_client *cli,
825
const char *_server_name /* [in] [unique,charset(UTF16)] */,
826
struct wkssvc_NetWkstaTransportInfo *_info /* [in,out] [ref] */,
827
uint32_t _max_buffer /* [in] */,
828
uint32_t *_total_entries /* [out] [ref] */,
829
uint32_t *_resume_handle /* [in,out] [unique] */)
831
struct tevent_req *req;
832
struct rpccli_wkssvc_NetWkstaTransportEnum_state *state;
833
struct tevent_req *subreq;
835
req = tevent_req_create(mem_ctx, &state,
836
struct rpccli_wkssvc_NetWkstaTransportEnum_state);
840
state->out_mem_ctx = NULL;
841
state->dispatch_recv = cli->dispatch_recv;
844
state->orig.in.server_name = _server_name;
845
state->orig.in.info = _info;
846
state->orig.in.max_buffer = _max_buffer;
847
state->orig.in.resume_handle = _resume_handle;
850
state->orig.out.info = _info;
851
state->orig.out.total_entries = _total_entries;
852
state->orig.out.resume_handle = _resume_handle;
855
ZERO_STRUCT(state->orig.out.result);
857
state->out_mem_ctx = talloc_named_const(state, 0,
858
"rpccli_wkssvc_NetWkstaTransportEnum_out_memory");
859
if (tevent_req_nomem(state->out_mem_ctx, req)) {
860
return tevent_req_post(req, ev);
863
/* make a temporary copy, that we pass to the dispatch function */
864
state->tmp = state->orig;
866
subreq = cli->dispatch_send(state, ev, cli,
868
NDR_WKSSVC_NETWKSTATRANSPORTENUM,
870
if (tevent_req_nomem(subreq, req)) {
871
return tevent_req_post(req, ev);
873
tevent_req_set_callback(subreq, rpccli_wkssvc_NetWkstaTransportEnum_done, req);
877
static void rpccli_wkssvc_NetWkstaTransportEnum_done(struct tevent_req *subreq)
879
struct tevent_req *req = tevent_req_callback_data(
880
subreq, struct tevent_req);
881
struct rpccli_wkssvc_NetWkstaTransportEnum_state *state = tevent_req_data(
882
req, struct rpccli_wkssvc_NetWkstaTransportEnum_state);
886
if (state->out_mem_ctx) {
887
mem_ctx = state->out_mem_ctx;
892
status = state->dispatch_recv(subreq, mem_ctx);
894
if (!NT_STATUS_IS_OK(status)) {
895
tevent_req_nterror(req, status);
899
/* Copy out parameters */
900
*state->orig.out.info = *state->tmp.out.info;
901
*state->orig.out.total_entries = *state->tmp.out.total_entries;
902
if (state->orig.out.resume_handle && state->tmp.out.resume_handle) {
903
*state->orig.out.resume_handle = *state->tmp.out.resume_handle;
907
state->orig.out.result = state->tmp.out.result;
909
/* Reset temporary structure */
910
ZERO_STRUCT(state->tmp);
912
tevent_req_done(req);
915
NTSTATUS rpccli_wkssvc_NetWkstaTransportEnum_recv(struct tevent_req *req,
919
struct rpccli_wkssvc_NetWkstaTransportEnum_state *state = tevent_req_data(
920
req, struct rpccli_wkssvc_NetWkstaTransportEnum_state);
923
if (tevent_req_is_nterror(req, &status)) {
924
tevent_req_received(req);
928
/* Steal possbile out parameters to the callers context */
929
talloc_steal(mem_ctx, state->out_mem_ctx);
932
*result = state->orig.out.result;
934
tevent_req_received(req);
938
NTSTATUS rpccli_wkssvc_NetWkstaTransportEnum(struct rpc_pipe_client *cli,
940
const char *server_name /* [in] [unique,charset(UTF16)] */,
941
struct wkssvc_NetWkstaTransportInfo *info /* [in,out] [ref] */,
942
uint32_t max_buffer /* [in] */,
943
uint32_t *total_entries /* [out] [ref] */,
944
uint32_t *resume_handle /* [in,out] [unique] */,
947
struct wkssvc_NetWkstaTransportEnum r;
951
r.in.server_name = server_name;
953
r.in.max_buffer = max_buffer;
954
r.in.resume_handle = resume_handle;
956
status = cli->dispatch(cli,
959
NDR_WKSSVC_NETWKSTATRANSPORTENUM,
962
if (!NT_STATUS_IS_OK(status)) {
966
if (NT_STATUS_IS_ERR(status)) {
970
/* Return variables */
972
*total_entries = *r.out.total_entries;
973
if (resume_handle && r.out.resume_handle) {
974
*resume_handle = *r.out.resume_handle;
979
*werror = r.out.result;
982
return werror_to_ntstatus(r.out.result);
985
struct rpccli_wkssvc_NetrWkstaTransportAdd_state {
986
struct wkssvc_NetrWkstaTransportAdd orig;
987
struct wkssvc_NetrWkstaTransportAdd tmp;
988
TALLOC_CTX *out_mem_ctx;
989
NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
992
static void rpccli_wkssvc_NetrWkstaTransportAdd_done(struct tevent_req *subreq);
994
struct tevent_req *rpccli_wkssvc_NetrWkstaTransportAdd_send(TALLOC_CTX *mem_ctx,
995
struct tevent_context *ev,
996
struct rpc_pipe_client *cli,
997
const char *_server_name /* [in] [unique,charset(UTF16)] */,
998
uint32_t _level /* [in] */,
999
struct wkssvc_NetWkstaTransportInfo0 *_info0 /* [in] [ref] */,
1000
uint32_t *_parm_err /* [in,out] [unique] */)
1002
struct tevent_req *req;
1003
struct rpccli_wkssvc_NetrWkstaTransportAdd_state *state;
1004
struct tevent_req *subreq;
1006
req = tevent_req_create(mem_ctx, &state,
1007
struct rpccli_wkssvc_NetrWkstaTransportAdd_state);
1011
state->out_mem_ctx = NULL;
1012
state->dispatch_recv = cli->dispatch_recv;
1015
state->orig.in.server_name = _server_name;
1016
state->orig.in.level = _level;
1017
state->orig.in.info0 = _info0;
1018
state->orig.in.parm_err = _parm_err;
1020
/* Out parameters */
1021
state->orig.out.parm_err = _parm_err;
1024
ZERO_STRUCT(state->orig.out.result);
1026
state->out_mem_ctx = talloc_named_const(state, 0,
1027
"rpccli_wkssvc_NetrWkstaTransportAdd_out_memory");
1028
if (tevent_req_nomem(state->out_mem_ctx, req)) {
1029
return tevent_req_post(req, ev);
1032
/* make a temporary copy, that we pass to the dispatch function */
1033
state->tmp = state->orig;
1035
subreq = cli->dispatch_send(state, ev, cli,
1037
NDR_WKSSVC_NETRWKSTATRANSPORTADD,
1039
if (tevent_req_nomem(subreq, req)) {
1040
return tevent_req_post(req, ev);
1042
tevent_req_set_callback(subreq, rpccli_wkssvc_NetrWkstaTransportAdd_done, req);
1046
static void rpccli_wkssvc_NetrWkstaTransportAdd_done(struct tevent_req *subreq)
1048
struct tevent_req *req = tevent_req_callback_data(
1049
subreq, struct tevent_req);
1050
struct rpccli_wkssvc_NetrWkstaTransportAdd_state *state = tevent_req_data(
1051
req, struct rpccli_wkssvc_NetrWkstaTransportAdd_state);
1053
TALLOC_CTX *mem_ctx;
1055
if (state->out_mem_ctx) {
1056
mem_ctx = state->out_mem_ctx;
1061
status = state->dispatch_recv(subreq, mem_ctx);
1062
TALLOC_FREE(subreq);
1063
if (!NT_STATUS_IS_OK(status)) {
1064
tevent_req_nterror(req, status);
1068
/* Copy out parameters */
1069
if (state->orig.out.parm_err && state->tmp.out.parm_err) {
1070
*state->orig.out.parm_err = *state->tmp.out.parm_err;
1074
state->orig.out.result = state->tmp.out.result;
1076
/* Reset temporary structure */
1077
ZERO_STRUCT(state->tmp);
1079
tevent_req_done(req);
1082
NTSTATUS rpccli_wkssvc_NetrWkstaTransportAdd_recv(struct tevent_req *req,
1083
TALLOC_CTX *mem_ctx,
1086
struct rpccli_wkssvc_NetrWkstaTransportAdd_state *state = tevent_req_data(
1087
req, struct rpccli_wkssvc_NetrWkstaTransportAdd_state);
1090
if (tevent_req_is_nterror(req, &status)) {
1091
tevent_req_received(req);
1095
/* Steal possbile out parameters to the callers context */
1096
talloc_steal(mem_ctx, state->out_mem_ctx);
1099
*result = state->orig.out.result;
1101
tevent_req_received(req);
1102
return NT_STATUS_OK;
1105
NTSTATUS rpccli_wkssvc_NetrWkstaTransportAdd(struct rpc_pipe_client *cli,
1106
TALLOC_CTX *mem_ctx,
1107
const char *server_name /* [in] [unique,charset(UTF16)] */,
1108
uint32_t level /* [in] */,
1109
struct wkssvc_NetWkstaTransportInfo0 *info0 /* [in] [ref] */,
1110
uint32_t *parm_err /* [in,out] [unique] */,
1113
struct wkssvc_NetrWkstaTransportAdd r;
1117
r.in.server_name = server_name;
1120
r.in.parm_err = parm_err;
1122
status = cli->dispatch(cli,
1125
NDR_WKSSVC_NETRWKSTATRANSPORTADD,
1128
if (!NT_STATUS_IS_OK(status)) {
1132
if (NT_STATUS_IS_ERR(status)) {
1136
/* Return variables */
1137
if (parm_err && r.out.parm_err) {
1138
*parm_err = *r.out.parm_err;
1143
*werror = r.out.result;
1146
return werror_to_ntstatus(r.out.result);
1149
struct rpccli_wkssvc_NetrWkstaTransportDel_state {
1150
struct wkssvc_NetrWkstaTransportDel orig;
1151
struct wkssvc_NetrWkstaTransportDel tmp;
1152
TALLOC_CTX *out_mem_ctx;
1153
NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
1156
static void rpccli_wkssvc_NetrWkstaTransportDel_done(struct tevent_req *subreq);
1158
struct tevent_req *rpccli_wkssvc_NetrWkstaTransportDel_send(TALLOC_CTX *mem_ctx,
1159
struct tevent_context *ev,
1160
struct rpc_pipe_client *cli,
1161
const char *_server_name /* [in] [unique,charset(UTF16)] */,
1162
const char *_transport_name /* [in] [unique,charset(UTF16)] */,
1163
uint32_t _unknown3 /* [in] */)
1165
struct tevent_req *req;
1166
struct rpccli_wkssvc_NetrWkstaTransportDel_state *state;
1167
struct tevent_req *subreq;
1169
req = tevent_req_create(mem_ctx, &state,
1170
struct rpccli_wkssvc_NetrWkstaTransportDel_state);
1174
state->out_mem_ctx = NULL;
1175
state->dispatch_recv = cli->dispatch_recv;
1178
state->orig.in.server_name = _server_name;
1179
state->orig.in.transport_name = _transport_name;
1180
state->orig.in.unknown3 = _unknown3;
1182
/* Out parameters */
1185
ZERO_STRUCT(state->orig.out.result);
1187
/* make a temporary copy, that we pass to the dispatch function */
1188
state->tmp = state->orig;
1190
subreq = cli->dispatch_send(state, ev, cli,
1192
NDR_WKSSVC_NETRWKSTATRANSPORTDEL,
1194
if (tevent_req_nomem(subreq, req)) {
1195
return tevent_req_post(req, ev);
1197
tevent_req_set_callback(subreq, rpccli_wkssvc_NetrWkstaTransportDel_done, req);
1201
static void rpccli_wkssvc_NetrWkstaTransportDel_done(struct tevent_req *subreq)
1203
struct tevent_req *req = tevent_req_callback_data(
1204
subreq, struct tevent_req);
1205
struct rpccli_wkssvc_NetrWkstaTransportDel_state *state = tevent_req_data(
1206
req, struct rpccli_wkssvc_NetrWkstaTransportDel_state);
1208
TALLOC_CTX *mem_ctx;
1210
if (state->out_mem_ctx) {
1211
mem_ctx = state->out_mem_ctx;
1216
status = state->dispatch_recv(subreq, mem_ctx);
1217
TALLOC_FREE(subreq);
1218
if (!NT_STATUS_IS_OK(status)) {
1219
tevent_req_nterror(req, status);
1223
/* Copy out parameters */
1226
state->orig.out.result = state->tmp.out.result;
1228
/* Reset temporary structure */
1229
ZERO_STRUCT(state->tmp);
1231
tevent_req_done(req);
1234
NTSTATUS rpccli_wkssvc_NetrWkstaTransportDel_recv(struct tevent_req *req,
1235
TALLOC_CTX *mem_ctx,
1238
struct rpccli_wkssvc_NetrWkstaTransportDel_state *state = tevent_req_data(
1239
req, struct rpccli_wkssvc_NetrWkstaTransportDel_state);
1242
if (tevent_req_is_nterror(req, &status)) {
1243
tevent_req_received(req);
1247
/* Steal possbile out parameters to the callers context */
1248
talloc_steal(mem_ctx, state->out_mem_ctx);
1251
*result = state->orig.out.result;
1253
tevent_req_received(req);
1254
return NT_STATUS_OK;
1257
NTSTATUS rpccli_wkssvc_NetrWkstaTransportDel(struct rpc_pipe_client *cli,
1258
TALLOC_CTX *mem_ctx,
1259
const char *server_name /* [in] [unique,charset(UTF16)] */,
1260
const char *transport_name /* [in] [unique,charset(UTF16)] */,
1261
uint32_t unknown3 /* [in] */,
1264
struct wkssvc_NetrWkstaTransportDel r;
1268
r.in.server_name = server_name;
1269
r.in.transport_name = transport_name;
1270
r.in.unknown3 = unknown3;
1272
status = cli->dispatch(cli,
1275
NDR_WKSSVC_NETRWKSTATRANSPORTDEL,
1278
if (!NT_STATUS_IS_OK(status)) {
1282
if (NT_STATUS_IS_ERR(status)) {
1286
/* Return variables */
1290
*werror = r.out.result;
1293
return werror_to_ntstatus(r.out.result);
1296
struct rpccli_wkssvc_NetrUseAdd_state {
1297
struct wkssvc_NetrUseAdd orig;
1298
struct wkssvc_NetrUseAdd tmp;
1299
TALLOC_CTX *out_mem_ctx;
1300
NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
1303
static void rpccli_wkssvc_NetrUseAdd_done(struct tevent_req *subreq);
1305
struct tevent_req *rpccli_wkssvc_NetrUseAdd_send(TALLOC_CTX *mem_ctx,
1306
struct tevent_context *ev,
1307
struct rpc_pipe_client *cli,
1308
const char *_server_name /* [in] [unique,charset(UTF16)] */,
1309
uint32_t _level /* [in] */,
1310
union wkssvc_NetrUseGetInfoCtr *_ctr /* [in] [ref,switch_is(level)] */,
1311
uint32_t *_parm_err /* [in,out] [unique] */)
1313
struct tevent_req *req;
1314
struct rpccli_wkssvc_NetrUseAdd_state *state;
1315
struct tevent_req *subreq;
1317
req = tevent_req_create(mem_ctx, &state,
1318
struct rpccli_wkssvc_NetrUseAdd_state);
1322
state->out_mem_ctx = NULL;
1323
state->dispatch_recv = cli->dispatch_recv;
1326
state->orig.in.server_name = _server_name;
1327
state->orig.in.level = _level;
1328
state->orig.in.ctr = _ctr;
1329
state->orig.in.parm_err = _parm_err;
1331
/* Out parameters */
1332
state->orig.out.parm_err = _parm_err;
1335
ZERO_STRUCT(state->orig.out.result);
1337
state->out_mem_ctx = talloc_named_const(state, 0,
1338
"rpccli_wkssvc_NetrUseAdd_out_memory");
1339
if (tevent_req_nomem(state->out_mem_ctx, req)) {
1340
return tevent_req_post(req, ev);
1343
/* make a temporary copy, that we pass to the dispatch function */
1344
state->tmp = state->orig;
1346
subreq = cli->dispatch_send(state, ev, cli,
1348
NDR_WKSSVC_NETRUSEADD,
1350
if (tevent_req_nomem(subreq, req)) {
1351
return tevent_req_post(req, ev);
1353
tevent_req_set_callback(subreq, rpccli_wkssvc_NetrUseAdd_done, req);
1357
static void rpccli_wkssvc_NetrUseAdd_done(struct tevent_req *subreq)
1359
struct tevent_req *req = tevent_req_callback_data(
1360
subreq, struct tevent_req);
1361
struct rpccli_wkssvc_NetrUseAdd_state *state = tevent_req_data(
1362
req, struct rpccli_wkssvc_NetrUseAdd_state);
1364
TALLOC_CTX *mem_ctx;
1366
if (state->out_mem_ctx) {
1367
mem_ctx = state->out_mem_ctx;
1372
status = state->dispatch_recv(subreq, mem_ctx);
1373
TALLOC_FREE(subreq);
1374
if (!NT_STATUS_IS_OK(status)) {
1375
tevent_req_nterror(req, status);
1379
/* Copy out parameters */
1380
if (state->orig.out.parm_err && state->tmp.out.parm_err) {
1381
*state->orig.out.parm_err = *state->tmp.out.parm_err;
1385
state->orig.out.result = state->tmp.out.result;
1387
/* Reset temporary structure */
1388
ZERO_STRUCT(state->tmp);
1390
tevent_req_done(req);
1393
NTSTATUS rpccli_wkssvc_NetrUseAdd_recv(struct tevent_req *req,
1394
TALLOC_CTX *mem_ctx,
1397
struct rpccli_wkssvc_NetrUseAdd_state *state = tevent_req_data(
1398
req, struct rpccli_wkssvc_NetrUseAdd_state);
1401
if (tevent_req_is_nterror(req, &status)) {
1402
tevent_req_received(req);
1406
/* Steal possbile out parameters to the callers context */
1407
talloc_steal(mem_ctx, state->out_mem_ctx);
1410
*result = state->orig.out.result;
1412
tevent_req_received(req);
1413
return NT_STATUS_OK;
1416
NTSTATUS rpccli_wkssvc_NetrUseAdd(struct rpc_pipe_client *cli,
1417
TALLOC_CTX *mem_ctx,
1418
const char *server_name /* [in] [unique,charset(UTF16)] */,
1419
uint32_t level /* [in] */,
1420
union wkssvc_NetrUseGetInfoCtr *ctr /* [in] [ref,switch_is(level)] */,
1421
uint32_t *parm_err /* [in,out] [unique] */,
1424
struct wkssvc_NetrUseAdd r;
1428
r.in.server_name = server_name;
1431
r.in.parm_err = parm_err;
1433
status = cli->dispatch(cli,
1436
NDR_WKSSVC_NETRUSEADD,
1439
if (!NT_STATUS_IS_OK(status)) {
1443
if (NT_STATUS_IS_ERR(status)) {
1447
/* Return variables */
1448
if (parm_err && r.out.parm_err) {
1449
*parm_err = *r.out.parm_err;
1454
*werror = r.out.result;
1457
return werror_to_ntstatus(r.out.result);
1460
struct rpccli_wkssvc_NetrUseGetInfo_state {
1461
struct wkssvc_NetrUseGetInfo orig;
1462
struct wkssvc_NetrUseGetInfo tmp;
1463
TALLOC_CTX *out_mem_ctx;
1464
NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
1467
static void rpccli_wkssvc_NetrUseGetInfo_done(struct tevent_req *subreq);
1469
struct tevent_req *rpccli_wkssvc_NetrUseGetInfo_send(TALLOC_CTX *mem_ctx,
1470
struct tevent_context *ev,
1471
struct rpc_pipe_client *cli,
1472
const char *_server_name /* [in] [unique,charset(UTF16)] */,
1473
const char *_use_name /* [in] [ref,charset(UTF16)] */,
1474
uint32_t _level /* [in] */,
1475
union wkssvc_NetrUseGetInfoCtr *_ctr /* [out] [ref,switch_is(level)] */)
1477
struct tevent_req *req;
1478
struct rpccli_wkssvc_NetrUseGetInfo_state *state;
1479
struct tevent_req *subreq;
1481
req = tevent_req_create(mem_ctx, &state,
1482
struct rpccli_wkssvc_NetrUseGetInfo_state);
1486
state->out_mem_ctx = NULL;
1487
state->dispatch_recv = cli->dispatch_recv;
1490
state->orig.in.server_name = _server_name;
1491
state->orig.in.use_name = _use_name;
1492
state->orig.in.level = _level;
1494
/* Out parameters */
1495
state->orig.out.ctr = _ctr;
1498
ZERO_STRUCT(state->orig.out.result);
1500
state->out_mem_ctx = talloc_named_const(state, 0,
1501
"rpccli_wkssvc_NetrUseGetInfo_out_memory");
1502
if (tevent_req_nomem(state->out_mem_ctx, req)) {
1503
return tevent_req_post(req, ev);
1506
/* make a temporary copy, that we pass to the dispatch function */
1507
state->tmp = state->orig;
1509
subreq = cli->dispatch_send(state, ev, cli,
1511
NDR_WKSSVC_NETRUSEGETINFO,
1513
if (tevent_req_nomem(subreq, req)) {
1514
return tevent_req_post(req, ev);
1516
tevent_req_set_callback(subreq, rpccli_wkssvc_NetrUseGetInfo_done, req);
1520
static void rpccli_wkssvc_NetrUseGetInfo_done(struct tevent_req *subreq)
1522
struct tevent_req *req = tevent_req_callback_data(
1523
subreq, struct tevent_req);
1524
struct rpccli_wkssvc_NetrUseGetInfo_state *state = tevent_req_data(
1525
req, struct rpccli_wkssvc_NetrUseGetInfo_state);
1527
TALLOC_CTX *mem_ctx;
1529
if (state->out_mem_ctx) {
1530
mem_ctx = state->out_mem_ctx;
1535
status = state->dispatch_recv(subreq, mem_ctx);
1536
TALLOC_FREE(subreq);
1537
if (!NT_STATUS_IS_OK(status)) {
1538
tevent_req_nterror(req, status);
1542
/* Copy out parameters */
1543
*state->orig.out.ctr = *state->tmp.out.ctr;
1546
state->orig.out.result = state->tmp.out.result;
1548
/* Reset temporary structure */
1549
ZERO_STRUCT(state->tmp);
1551
tevent_req_done(req);
1554
NTSTATUS rpccli_wkssvc_NetrUseGetInfo_recv(struct tevent_req *req,
1555
TALLOC_CTX *mem_ctx,
1558
struct rpccli_wkssvc_NetrUseGetInfo_state *state = tevent_req_data(
1559
req, struct rpccli_wkssvc_NetrUseGetInfo_state);
1562
if (tevent_req_is_nterror(req, &status)) {
1563
tevent_req_received(req);
1567
/* Steal possbile out parameters to the callers context */
1568
talloc_steal(mem_ctx, state->out_mem_ctx);
1571
*result = state->orig.out.result;
1573
tevent_req_received(req);
1574
return NT_STATUS_OK;
1577
NTSTATUS rpccli_wkssvc_NetrUseGetInfo(struct rpc_pipe_client *cli,
1578
TALLOC_CTX *mem_ctx,
1579
const char *server_name /* [in] [unique,charset(UTF16)] */,
1580
const char *use_name /* [in] [ref,charset(UTF16)] */,
1581
uint32_t level /* [in] */,
1582
union wkssvc_NetrUseGetInfoCtr *ctr /* [out] [ref,switch_is(level)] */,
1585
struct wkssvc_NetrUseGetInfo r;
1589
r.in.server_name = server_name;
1590
r.in.use_name = use_name;
1593
status = cli->dispatch(cli,
1596
NDR_WKSSVC_NETRUSEGETINFO,
1599
if (!NT_STATUS_IS_OK(status)) {
1603
if (NT_STATUS_IS_ERR(status)) {
1607
/* Return variables */
1612
*werror = r.out.result;
1615
return werror_to_ntstatus(r.out.result);
1618
struct rpccli_wkssvc_NetrUseDel_state {
1619
struct wkssvc_NetrUseDel orig;
1620
struct wkssvc_NetrUseDel tmp;
1621
TALLOC_CTX *out_mem_ctx;
1622
NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
1625
static void rpccli_wkssvc_NetrUseDel_done(struct tevent_req *subreq);
1627
struct tevent_req *rpccli_wkssvc_NetrUseDel_send(TALLOC_CTX *mem_ctx,
1628
struct tevent_context *ev,
1629
struct rpc_pipe_client *cli,
1630
const char *_server_name /* [in] [unique,charset(UTF16)] */,
1631
const char *_use_name /* [in] [ref,charset(UTF16)] */,
1632
uint32_t _force_cond /* [in] */)
1634
struct tevent_req *req;
1635
struct rpccli_wkssvc_NetrUseDel_state *state;
1636
struct tevent_req *subreq;
1638
req = tevent_req_create(mem_ctx, &state,
1639
struct rpccli_wkssvc_NetrUseDel_state);
1643
state->out_mem_ctx = NULL;
1644
state->dispatch_recv = cli->dispatch_recv;
1647
state->orig.in.server_name = _server_name;
1648
state->orig.in.use_name = _use_name;
1649
state->orig.in.force_cond = _force_cond;
1651
/* Out parameters */
1654
ZERO_STRUCT(state->orig.out.result);
1656
/* make a temporary copy, that we pass to the dispatch function */
1657
state->tmp = state->orig;
1659
subreq = cli->dispatch_send(state, ev, cli,
1661
NDR_WKSSVC_NETRUSEDEL,
1663
if (tevent_req_nomem(subreq, req)) {
1664
return tevent_req_post(req, ev);
1666
tevent_req_set_callback(subreq, rpccli_wkssvc_NetrUseDel_done, req);
1670
static void rpccli_wkssvc_NetrUseDel_done(struct tevent_req *subreq)
1672
struct tevent_req *req = tevent_req_callback_data(
1673
subreq, struct tevent_req);
1674
struct rpccli_wkssvc_NetrUseDel_state *state = tevent_req_data(
1675
req, struct rpccli_wkssvc_NetrUseDel_state);
1677
TALLOC_CTX *mem_ctx;
1679
if (state->out_mem_ctx) {
1680
mem_ctx = state->out_mem_ctx;
1685
status = state->dispatch_recv(subreq, mem_ctx);
1686
TALLOC_FREE(subreq);
1687
if (!NT_STATUS_IS_OK(status)) {
1688
tevent_req_nterror(req, status);
1692
/* Copy out parameters */
1695
state->orig.out.result = state->tmp.out.result;
1697
/* Reset temporary structure */
1698
ZERO_STRUCT(state->tmp);
1700
tevent_req_done(req);
1703
NTSTATUS rpccli_wkssvc_NetrUseDel_recv(struct tevent_req *req,
1704
TALLOC_CTX *mem_ctx,
1707
struct rpccli_wkssvc_NetrUseDel_state *state = tevent_req_data(
1708
req, struct rpccli_wkssvc_NetrUseDel_state);
1711
if (tevent_req_is_nterror(req, &status)) {
1712
tevent_req_received(req);
1716
/* Steal possbile out parameters to the callers context */
1717
talloc_steal(mem_ctx, state->out_mem_ctx);
1720
*result = state->orig.out.result;
1722
tevent_req_received(req);
1723
return NT_STATUS_OK;
1726
NTSTATUS rpccli_wkssvc_NetrUseDel(struct rpc_pipe_client *cli,
1727
TALLOC_CTX *mem_ctx,
1728
const char *server_name /* [in] [unique,charset(UTF16)] */,
1729
const char *use_name /* [in] [ref,charset(UTF16)] */,
1730
uint32_t force_cond /* [in] */,
1733
struct wkssvc_NetrUseDel r;
1737
r.in.server_name = server_name;
1738
r.in.use_name = use_name;
1739
r.in.force_cond = force_cond;
1741
status = cli->dispatch(cli,
1744
NDR_WKSSVC_NETRUSEDEL,
1747
if (!NT_STATUS_IS_OK(status)) {
1751
if (NT_STATUS_IS_ERR(status)) {
1755
/* Return variables */
1759
*werror = r.out.result;
1762
return werror_to_ntstatus(r.out.result);
1765
struct rpccli_wkssvc_NetrUseEnum_state {
1766
struct wkssvc_NetrUseEnum orig;
1767
struct wkssvc_NetrUseEnum tmp;
1768
TALLOC_CTX *out_mem_ctx;
1769
NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
1772
static void rpccli_wkssvc_NetrUseEnum_done(struct tevent_req *subreq);
1774
struct tevent_req *rpccli_wkssvc_NetrUseEnum_send(TALLOC_CTX *mem_ctx,
1775
struct tevent_context *ev,
1776
struct rpc_pipe_client *cli,
1777
const char *_server_name /* [in] [unique,charset(UTF16)] */,
1778
struct wkssvc_NetrUseEnumInfo *_info /* [in,out] [ref] */,
1779
uint32_t _prefmaxlen /* [in] */,
1780
uint32_t *_entries_read /* [out] [ref] */,
1781
uint32_t *_resume_handle /* [in,out] [unique] */)
1783
struct tevent_req *req;
1784
struct rpccli_wkssvc_NetrUseEnum_state *state;
1785
struct tevent_req *subreq;
1787
req = tevent_req_create(mem_ctx, &state,
1788
struct rpccli_wkssvc_NetrUseEnum_state);
1792
state->out_mem_ctx = NULL;
1793
state->dispatch_recv = cli->dispatch_recv;
1796
state->orig.in.server_name = _server_name;
1797
state->orig.in.info = _info;
1798
state->orig.in.prefmaxlen = _prefmaxlen;
1799
state->orig.in.resume_handle = _resume_handle;
1801
/* Out parameters */
1802
state->orig.out.info = _info;
1803
state->orig.out.entries_read = _entries_read;
1804
state->orig.out.resume_handle = _resume_handle;
1807
ZERO_STRUCT(state->orig.out.result);
1809
state->out_mem_ctx = talloc_named_const(state, 0,
1810
"rpccli_wkssvc_NetrUseEnum_out_memory");
1811
if (tevent_req_nomem(state->out_mem_ctx, req)) {
1812
return tevent_req_post(req, ev);
1815
/* make a temporary copy, that we pass to the dispatch function */
1816
state->tmp = state->orig;
1818
subreq = cli->dispatch_send(state, ev, cli,
1820
NDR_WKSSVC_NETRUSEENUM,
1822
if (tevent_req_nomem(subreq, req)) {
1823
return tevent_req_post(req, ev);
1825
tevent_req_set_callback(subreq, rpccli_wkssvc_NetrUseEnum_done, req);
1829
static void rpccli_wkssvc_NetrUseEnum_done(struct tevent_req *subreq)
1831
struct tevent_req *req = tevent_req_callback_data(
1832
subreq, struct tevent_req);
1833
struct rpccli_wkssvc_NetrUseEnum_state *state = tevent_req_data(
1834
req, struct rpccli_wkssvc_NetrUseEnum_state);
1836
TALLOC_CTX *mem_ctx;
1838
if (state->out_mem_ctx) {
1839
mem_ctx = state->out_mem_ctx;
1844
status = state->dispatch_recv(subreq, mem_ctx);
1845
TALLOC_FREE(subreq);
1846
if (!NT_STATUS_IS_OK(status)) {
1847
tevent_req_nterror(req, status);
1851
/* Copy out parameters */
1852
*state->orig.out.info = *state->tmp.out.info;
1853
*state->orig.out.entries_read = *state->tmp.out.entries_read;
1854
if (state->orig.out.resume_handle && state->tmp.out.resume_handle) {
1855
*state->orig.out.resume_handle = *state->tmp.out.resume_handle;
1859
state->orig.out.result = state->tmp.out.result;
1861
/* Reset temporary structure */
1862
ZERO_STRUCT(state->tmp);
1864
tevent_req_done(req);
1867
NTSTATUS rpccli_wkssvc_NetrUseEnum_recv(struct tevent_req *req,
1868
TALLOC_CTX *mem_ctx,
1871
struct rpccli_wkssvc_NetrUseEnum_state *state = tevent_req_data(
1872
req, struct rpccli_wkssvc_NetrUseEnum_state);
1875
if (tevent_req_is_nterror(req, &status)) {
1876
tevent_req_received(req);
1880
/* Steal possbile out parameters to the callers context */
1881
talloc_steal(mem_ctx, state->out_mem_ctx);
1884
*result = state->orig.out.result;
1886
tevent_req_received(req);
1887
return NT_STATUS_OK;
1890
NTSTATUS rpccli_wkssvc_NetrUseEnum(struct rpc_pipe_client *cli,
1891
TALLOC_CTX *mem_ctx,
1892
const char *server_name /* [in] [unique,charset(UTF16)] */,
1893
struct wkssvc_NetrUseEnumInfo *info /* [in,out] [ref] */,
1894
uint32_t prefmaxlen /* [in] */,
1895
uint32_t *entries_read /* [out] [ref] */,
1896
uint32_t *resume_handle /* [in,out] [unique] */,
1899
struct wkssvc_NetrUseEnum r;
1903
r.in.server_name = server_name;
1905
r.in.prefmaxlen = prefmaxlen;
1906
r.in.resume_handle = resume_handle;
1908
status = cli->dispatch(cli,
1911
NDR_WKSSVC_NETRUSEENUM,
1914
if (!NT_STATUS_IS_OK(status)) {
1918
if (NT_STATUS_IS_ERR(status)) {
1922
/* Return variables */
1923
*info = *r.out.info;
1924
*entries_read = *r.out.entries_read;
1925
if (resume_handle && r.out.resume_handle) {
1926
*resume_handle = *r.out.resume_handle;
1931
*werror = r.out.result;
1934
return werror_to_ntstatus(r.out.result);
1937
struct rpccli_wkssvc_NetrMessageBufferSend_state {
1938
struct wkssvc_NetrMessageBufferSend orig;
1939
struct wkssvc_NetrMessageBufferSend tmp;
1940
TALLOC_CTX *out_mem_ctx;
1941
NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
1944
static void rpccli_wkssvc_NetrMessageBufferSend_done(struct tevent_req *subreq);
1946
struct tevent_req *rpccli_wkssvc_NetrMessageBufferSend_send(TALLOC_CTX *mem_ctx,
1947
struct tevent_context *ev,
1948
struct rpc_pipe_client *cli,
1949
const char *_server_name /* [in] [unique,charset(UTF16)] */,
1950
const char *_message_name /* [in] [ref,charset(UTF16)] */,
1951
const char *_message_sender_name /* [in] [unique,charset(UTF16)] */,
1952
uint8_t *_message_buffer /* [in] [ref,size_is(message_size)] */,
1953
uint32_t _message_size /* [in] */)
1955
struct tevent_req *req;
1956
struct rpccli_wkssvc_NetrMessageBufferSend_state *state;
1957
struct tevent_req *subreq;
1959
req = tevent_req_create(mem_ctx, &state,
1960
struct rpccli_wkssvc_NetrMessageBufferSend_state);
1964
state->out_mem_ctx = NULL;
1965
state->dispatch_recv = cli->dispatch_recv;
1968
state->orig.in.server_name = _server_name;
1969
state->orig.in.message_name = _message_name;
1970
state->orig.in.message_sender_name = _message_sender_name;
1971
state->orig.in.message_buffer = _message_buffer;
1972
state->orig.in.message_size = _message_size;
1974
/* Out parameters */
1977
ZERO_STRUCT(state->orig.out.result);
1979
/* make a temporary copy, that we pass to the dispatch function */
1980
state->tmp = state->orig;
1982
subreq = cli->dispatch_send(state, ev, cli,
1984
NDR_WKSSVC_NETRMESSAGEBUFFERSEND,
1986
if (tevent_req_nomem(subreq, req)) {
1987
return tevent_req_post(req, ev);
1989
tevent_req_set_callback(subreq, rpccli_wkssvc_NetrMessageBufferSend_done, req);
1993
static void rpccli_wkssvc_NetrMessageBufferSend_done(struct tevent_req *subreq)
1995
struct tevent_req *req = tevent_req_callback_data(
1996
subreq, struct tevent_req);
1997
struct rpccli_wkssvc_NetrMessageBufferSend_state *state = tevent_req_data(
1998
req, struct rpccli_wkssvc_NetrMessageBufferSend_state);
2000
TALLOC_CTX *mem_ctx;
2002
if (state->out_mem_ctx) {
2003
mem_ctx = state->out_mem_ctx;
2008
status = state->dispatch_recv(subreq, mem_ctx);
2009
TALLOC_FREE(subreq);
2010
if (!NT_STATUS_IS_OK(status)) {
2011
tevent_req_nterror(req, status);
2015
/* Copy out parameters */
2018
state->orig.out.result = state->tmp.out.result;
2020
/* Reset temporary structure */
2021
ZERO_STRUCT(state->tmp);
2023
tevent_req_done(req);
2026
NTSTATUS rpccli_wkssvc_NetrMessageBufferSend_recv(struct tevent_req *req,
2027
TALLOC_CTX *mem_ctx,
2030
struct rpccli_wkssvc_NetrMessageBufferSend_state *state = tevent_req_data(
2031
req, struct rpccli_wkssvc_NetrMessageBufferSend_state);
2034
if (tevent_req_is_nterror(req, &status)) {
2035
tevent_req_received(req);
2039
/* Steal possbile out parameters to the callers context */
2040
talloc_steal(mem_ctx, state->out_mem_ctx);
2043
*result = state->orig.out.result;
2045
tevent_req_received(req);
2046
return NT_STATUS_OK;
2049
NTSTATUS rpccli_wkssvc_NetrMessageBufferSend(struct rpc_pipe_client *cli,
2050
TALLOC_CTX *mem_ctx,
2051
const char *server_name /* [in] [unique,charset(UTF16)] */,
2052
const char *message_name /* [in] [ref,charset(UTF16)] */,
2053
const char *message_sender_name /* [in] [unique,charset(UTF16)] */,
2054
uint8_t *message_buffer /* [in] [ref,size_is(message_size)] */,
2055
uint32_t message_size /* [in] */,
2058
struct wkssvc_NetrMessageBufferSend r;
2062
r.in.server_name = server_name;
2063
r.in.message_name = message_name;
2064
r.in.message_sender_name = message_sender_name;
2065
r.in.message_buffer = message_buffer;
2066
r.in.message_size = message_size;
2068
status = cli->dispatch(cli,
2071
NDR_WKSSVC_NETRMESSAGEBUFFERSEND,
2074
if (!NT_STATUS_IS_OK(status)) {
2078
if (NT_STATUS_IS_ERR(status)) {
2082
/* Return variables */
2086
*werror = r.out.result;
2089
return werror_to_ntstatus(r.out.result);
2092
struct rpccli_wkssvc_NetrWorkstationStatisticsGet_state {
2093
struct wkssvc_NetrWorkstationStatisticsGet orig;
2094
struct wkssvc_NetrWorkstationStatisticsGet tmp;
2095
TALLOC_CTX *out_mem_ctx;
2096
NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
2099
static void rpccli_wkssvc_NetrWorkstationStatisticsGet_done(struct tevent_req *subreq);
2101
struct tevent_req *rpccli_wkssvc_NetrWorkstationStatisticsGet_send(TALLOC_CTX *mem_ctx,
2102
struct tevent_context *ev,
2103
struct rpc_pipe_client *cli,
2104
const char *_server_name /* [in] [unique,charset(UTF16)] */,
2105
const char *_unknown2 /* [in] [unique,charset(UTF16)] */,
2106
uint32_t _unknown3 /* [in] */,
2107
uint32_t _unknown4 /* [in] */,
2108
struct wkssvc_NetrWorkstationStatistics **_info /* [out] [ref] */)
2110
struct tevent_req *req;
2111
struct rpccli_wkssvc_NetrWorkstationStatisticsGet_state *state;
2112
struct tevent_req *subreq;
2114
req = tevent_req_create(mem_ctx, &state,
2115
struct rpccli_wkssvc_NetrWorkstationStatisticsGet_state);
2119
state->out_mem_ctx = NULL;
2120
state->dispatch_recv = cli->dispatch_recv;
2123
state->orig.in.server_name = _server_name;
2124
state->orig.in.unknown2 = _unknown2;
2125
state->orig.in.unknown3 = _unknown3;
2126
state->orig.in.unknown4 = _unknown4;
2128
/* Out parameters */
2129
state->orig.out.info = _info;
2132
ZERO_STRUCT(state->orig.out.result);
2134
state->out_mem_ctx = talloc_named_const(state, 0,
2135
"rpccli_wkssvc_NetrWorkstationStatisticsGet_out_memory");
2136
if (tevent_req_nomem(state->out_mem_ctx, req)) {
2137
return tevent_req_post(req, ev);
2140
/* make a temporary copy, that we pass to the dispatch function */
2141
state->tmp = state->orig;
2143
subreq = cli->dispatch_send(state, ev, cli,
2145
NDR_WKSSVC_NETRWORKSTATIONSTATISTICSGET,
2147
if (tevent_req_nomem(subreq, req)) {
2148
return tevent_req_post(req, ev);
2150
tevent_req_set_callback(subreq, rpccli_wkssvc_NetrWorkstationStatisticsGet_done, req);
2154
static void rpccli_wkssvc_NetrWorkstationStatisticsGet_done(struct tevent_req *subreq)
2156
struct tevent_req *req = tevent_req_callback_data(
2157
subreq, struct tevent_req);
2158
struct rpccli_wkssvc_NetrWorkstationStatisticsGet_state *state = tevent_req_data(
2159
req, struct rpccli_wkssvc_NetrWorkstationStatisticsGet_state);
2161
TALLOC_CTX *mem_ctx;
2163
if (state->out_mem_ctx) {
2164
mem_ctx = state->out_mem_ctx;
2169
status = state->dispatch_recv(subreq, mem_ctx);
2170
TALLOC_FREE(subreq);
2171
if (!NT_STATUS_IS_OK(status)) {
2172
tevent_req_nterror(req, status);
2176
/* Copy out parameters */
2177
*state->orig.out.info = *state->tmp.out.info;
2180
state->orig.out.result = state->tmp.out.result;
2182
/* Reset temporary structure */
2183
ZERO_STRUCT(state->tmp);
2185
tevent_req_done(req);
2188
NTSTATUS rpccli_wkssvc_NetrWorkstationStatisticsGet_recv(struct tevent_req *req,
2189
TALLOC_CTX *mem_ctx,
2192
struct rpccli_wkssvc_NetrWorkstationStatisticsGet_state *state = tevent_req_data(
2193
req, struct rpccli_wkssvc_NetrWorkstationStatisticsGet_state);
2196
if (tevent_req_is_nterror(req, &status)) {
2197
tevent_req_received(req);
2201
/* Steal possbile out parameters to the callers context */
2202
talloc_steal(mem_ctx, state->out_mem_ctx);
2205
*result = state->orig.out.result;
2207
tevent_req_received(req);
2208
return NT_STATUS_OK;
2211
NTSTATUS rpccli_wkssvc_NetrWorkstationStatisticsGet(struct rpc_pipe_client *cli,
2212
TALLOC_CTX *mem_ctx,
2213
const char *server_name /* [in] [unique,charset(UTF16)] */,
2214
const char *unknown2 /* [in] [unique,charset(UTF16)] */,
2215
uint32_t unknown3 /* [in] */,
2216
uint32_t unknown4 /* [in] */,
2217
struct wkssvc_NetrWorkstationStatistics **info /* [out] [ref] */,
2220
struct wkssvc_NetrWorkstationStatisticsGet r;
2224
r.in.server_name = server_name;
2225
r.in.unknown2 = unknown2;
2226
r.in.unknown3 = unknown3;
2227
r.in.unknown4 = unknown4;
2229
status = cli->dispatch(cli,
2232
NDR_WKSSVC_NETRWORKSTATIONSTATISTICSGET,
2235
if (!NT_STATUS_IS_OK(status)) {
2239
if (NT_STATUS_IS_ERR(status)) {
2243
/* Return variables */
2244
*info = *r.out.info;
2248
*werror = r.out.result;
2251
return werror_to_ntstatus(r.out.result);
2254
struct rpccli_wkssvc_NetrLogonDomainNameAdd_state {
2255
struct wkssvc_NetrLogonDomainNameAdd orig;
2256
struct wkssvc_NetrLogonDomainNameAdd tmp;
2257
TALLOC_CTX *out_mem_ctx;
2258
NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
2261
static void rpccli_wkssvc_NetrLogonDomainNameAdd_done(struct tevent_req *subreq);
2263
struct tevent_req *rpccli_wkssvc_NetrLogonDomainNameAdd_send(TALLOC_CTX *mem_ctx,
2264
struct tevent_context *ev,
2265
struct rpc_pipe_client *cli,
2266
const char *_domain_name /* [in] [ref,charset(UTF16)] */)
2268
struct tevent_req *req;
2269
struct rpccli_wkssvc_NetrLogonDomainNameAdd_state *state;
2270
struct tevent_req *subreq;
2272
req = tevent_req_create(mem_ctx, &state,
2273
struct rpccli_wkssvc_NetrLogonDomainNameAdd_state);
2277
state->out_mem_ctx = NULL;
2278
state->dispatch_recv = cli->dispatch_recv;
2281
state->orig.in.domain_name = _domain_name;
2283
/* Out parameters */
2286
ZERO_STRUCT(state->orig.out.result);
2288
/* make a temporary copy, that we pass to the dispatch function */
2289
state->tmp = state->orig;
2291
subreq = cli->dispatch_send(state, ev, cli,
2293
NDR_WKSSVC_NETRLOGONDOMAINNAMEADD,
2295
if (tevent_req_nomem(subreq, req)) {
2296
return tevent_req_post(req, ev);
2298
tevent_req_set_callback(subreq, rpccli_wkssvc_NetrLogonDomainNameAdd_done, req);
2302
static void rpccli_wkssvc_NetrLogonDomainNameAdd_done(struct tevent_req *subreq)
2304
struct tevent_req *req = tevent_req_callback_data(
2305
subreq, struct tevent_req);
2306
struct rpccli_wkssvc_NetrLogonDomainNameAdd_state *state = tevent_req_data(
2307
req, struct rpccli_wkssvc_NetrLogonDomainNameAdd_state);
2309
TALLOC_CTX *mem_ctx;
2311
if (state->out_mem_ctx) {
2312
mem_ctx = state->out_mem_ctx;
2317
status = state->dispatch_recv(subreq, mem_ctx);
2318
TALLOC_FREE(subreq);
2319
if (!NT_STATUS_IS_OK(status)) {
2320
tevent_req_nterror(req, status);
2324
/* Copy out parameters */
2327
state->orig.out.result = state->tmp.out.result;
2329
/* Reset temporary structure */
2330
ZERO_STRUCT(state->tmp);
2332
tevent_req_done(req);
2335
NTSTATUS rpccli_wkssvc_NetrLogonDomainNameAdd_recv(struct tevent_req *req,
2336
TALLOC_CTX *mem_ctx,
2339
struct rpccli_wkssvc_NetrLogonDomainNameAdd_state *state = tevent_req_data(
2340
req, struct rpccli_wkssvc_NetrLogonDomainNameAdd_state);
2343
if (tevent_req_is_nterror(req, &status)) {
2344
tevent_req_received(req);
2348
/* Steal possbile out parameters to the callers context */
2349
talloc_steal(mem_ctx, state->out_mem_ctx);
2352
*result = state->orig.out.result;
2354
tevent_req_received(req);
2355
return NT_STATUS_OK;
2358
NTSTATUS rpccli_wkssvc_NetrLogonDomainNameAdd(struct rpc_pipe_client *cli,
2359
TALLOC_CTX *mem_ctx,
2360
const char *domain_name /* [in] [ref,charset(UTF16)] */,
2363
struct wkssvc_NetrLogonDomainNameAdd r;
2367
r.in.domain_name = domain_name;
2369
status = cli->dispatch(cli,
2372
NDR_WKSSVC_NETRLOGONDOMAINNAMEADD,
2375
if (!NT_STATUS_IS_OK(status)) {
2379
if (NT_STATUS_IS_ERR(status)) {
2383
/* Return variables */
2387
*werror = r.out.result;
2390
return werror_to_ntstatus(r.out.result);
2393
struct rpccli_wkssvc_NetrLogonDomainNameDel_state {
2394
struct wkssvc_NetrLogonDomainNameDel orig;
2395
struct wkssvc_NetrLogonDomainNameDel tmp;
2396
TALLOC_CTX *out_mem_ctx;
2397
NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
2400
static void rpccli_wkssvc_NetrLogonDomainNameDel_done(struct tevent_req *subreq);
2402
struct tevent_req *rpccli_wkssvc_NetrLogonDomainNameDel_send(TALLOC_CTX *mem_ctx,
2403
struct tevent_context *ev,
2404
struct rpc_pipe_client *cli,
2405
const char *_domain_name /* [in] [ref,charset(UTF16)] */)
2407
struct tevent_req *req;
2408
struct rpccli_wkssvc_NetrLogonDomainNameDel_state *state;
2409
struct tevent_req *subreq;
2411
req = tevent_req_create(mem_ctx, &state,
2412
struct rpccli_wkssvc_NetrLogonDomainNameDel_state);
2416
state->out_mem_ctx = NULL;
2417
state->dispatch_recv = cli->dispatch_recv;
2420
state->orig.in.domain_name = _domain_name;
2422
/* Out parameters */
2425
ZERO_STRUCT(state->orig.out.result);
2427
/* make a temporary copy, that we pass to the dispatch function */
2428
state->tmp = state->orig;
2430
subreq = cli->dispatch_send(state, ev, cli,
2432
NDR_WKSSVC_NETRLOGONDOMAINNAMEDEL,
2434
if (tevent_req_nomem(subreq, req)) {
2435
return tevent_req_post(req, ev);
2437
tevent_req_set_callback(subreq, rpccli_wkssvc_NetrLogonDomainNameDel_done, req);
2441
static void rpccli_wkssvc_NetrLogonDomainNameDel_done(struct tevent_req *subreq)
2443
struct tevent_req *req = tevent_req_callback_data(
2444
subreq, struct tevent_req);
2445
struct rpccli_wkssvc_NetrLogonDomainNameDel_state *state = tevent_req_data(
2446
req, struct rpccli_wkssvc_NetrLogonDomainNameDel_state);
2448
TALLOC_CTX *mem_ctx;
2450
if (state->out_mem_ctx) {
2451
mem_ctx = state->out_mem_ctx;
2456
status = state->dispatch_recv(subreq, mem_ctx);
2457
TALLOC_FREE(subreq);
2458
if (!NT_STATUS_IS_OK(status)) {
2459
tevent_req_nterror(req, status);
2463
/* Copy out parameters */
2466
state->orig.out.result = state->tmp.out.result;
2468
/* Reset temporary structure */
2469
ZERO_STRUCT(state->tmp);
2471
tevent_req_done(req);
2474
NTSTATUS rpccli_wkssvc_NetrLogonDomainNameDel_recv(struct tevent_req *req,
2475
TALLOC_CTX *mem_ctx,
2478
struct rpccli_wkssvc_NetrLogonDomainNameDel_state *state = tevent_req_data(
2479
req, struct rpccli_wkssvc_NetrLogonDomainNameDel_state);
2482
if (tevent_req_is_nterror(req, &status)) {
2483
tevent_req_received(req);
2487
/* Steal possbile out parameters to the callers context */
2488
talloc_steal(mem_ctx, state->out_mem_ctx);
2491
*result = state->orig.out.result;
2493
tevent_req_received(req);
2494
return NT_STATUS_OK;
2497
NTSTATUS rpccli_wkssvc_NetrLogonDomainNameDel(struct rpc_pipe_client *cli,
2498
TALLOC_CTX *mem_ctx,
2499
const char *domain_name /* [in] [ref,charset(UTF16)] */,
2502
struct wkssvc_NetrLogonDomainNameDel r;
2506
r.in.domain_name = domain_name;
2508
status = cli->dispatch(cli,
2511
NDR_WKSSVC_NETRLOGONDOMAINNAMEDEL,
2514
if (!NT_STATUS_IS_OK(status)) {
2518
if (NT_STATUS_IS_ERR(status)) {
2522
/* Return variables */
2526
*werror = r.out.result;
2529
return werror_to_ntstatus(r.out.result);
2532
struct rpccli_wkssvc_NetrJoinDomain_state {
2533
struct wkssvc_NetrJoinDomain orig;
2534
struct wkssvc_NetrJoinDomain tmp;
2535
TALLOC_CTX *out_mem_ctx;
2536
NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
2539
static void rpccli_wkssvc_NetrJoinDomain_done(struct tevent_req *subreq);
2541
struct tevent_req *rpccli_wkssvc_NetrJoinDomain_send(TALLOC_CTX *mem_ctx,
2542
struct tevent_context *ev,
2543
struct rpc_pipe_client *cli,
2544
const char *_server_name /* [in] [unique,charset(UTF16)] */,
2545
const char *_domain_name /* [in] [ref,charset(UTF16)] */,
2546
const char *_account_ou /* [in] [unique,charset(UTF16)] */,
2547
const char *_Account /* [in] [unique,charset(UTF16)] */,
2548
const char *_password /* [in] [unique,charset(UTF16)] */,
2549
uint32_t _join_flags /* [in] */)
2551
struct tevent_req *req;
2552
struct rpccli_wkssvc_NetrJoinDomain_state *state;
2553
struct tevent_req *subreq;
2555
req = tevent_req_create(mem_ctx, &state,
2556
struct rpccli_wkssvc_NetrJoinDomain_state);
2560
state->out_mem_ctx = NULL;
2561
state->dispatch_recv = cli->dispatch_recv;
2564
state->orig.in.server_name = _server_name;
2565
state->orig.in.domain_name = _domain_name;
2566
state->orig.in.account_ou = _account_ou;
2567
state->orig.in.Account = _Account;
2568
state->orig.in.password = _password;
2569
state->orig.in.join_flags = _join_flags;
2571
/* Out parameters */
2574
ZERO_STRUCT(state->orig.out.result);
2576
/* make a temporary copy, that we pass to the dispatch function */
2577
state->tmp = state->orig;
2579
subreq = cli->dispatch_send(state, ev, cli,
2581
NDR_WKSSVC_NETRJOINDOMAIN,
2583
if (tevent_req_nomem(subreq, req)) {
2584
return tevent_req_post(req, ev);
2586
tevent_req_set_callback(subreq, rpccli_wkssvc_NetrJoinDomain_done, req);
2590
static void rpccli_wkssvc_NetrJoinDomain_done(struct tevent_req *subreq)
2592
struct tevent_req *req = tevent_req_callback_data(
2593
subreq, struct tevent_req);
2594
struct rpccli_wkssvc_NetrJoinDomain_state *state = tevent_req_data(
2595
req, struct rpccli_wkssvc_NetrJoinDomain_state);
2597
TALLOC_CTX *mem_ctx;
2599
if (state->out_mem_ctx) {
2600
mem_ctx = state->out_mem_ctx;
2605
status = state->dispatch_recv(subreq, mem_ctx);
2606
TALLOC_FREE(subreq);
2607
if (!NT_STATUS_IS_OK(status)) {
2608
tevent_req_nterror(req, status);
2612
/* Copy out parameters */
2615
state->orig.out.result = state->tmp.out.result;
2617
/* Reset temporary structure */
2618
ZERO_STRUCT(state->tmp);
2620
tevent_req_done(req);
2623
NTSTATUS rpccli_wkssvc_NetrJoinDomain_recv(struct tevent_req *req,
2624
TALLOC_CTX *mem_ctx,
2627
struct rpccli_wkssvc_NetrJoinDomain_state *state = tevent_req_data(
2628
req, struct rpccli_wkssvc_NetrJoinDomain_state);
2631
if (tevent_req_is_nterror(req, &status)) {
2632
tevent_req_received(req);
2636
/* Steal possbile out parameters to the callers context */
2637
talloc_steal(mem_ctx, state->out_mem_ctx);
2640
*result = state->orig.out.result;
2642
tevent_req_received(req);
2643
return NT_STATUS_OK;
2646
NTSTATUS rpccli_wkssvc_NetrJoinDomain(struct rpc_pipe_client *cli,
2647
TALLOC_CTX *mem_ctx,
2648
const char *server_name /* [in] [unique,charset(UTF16)] */,
2649
const char *domain_name /* [in] [ref,charset(UTF16)] */,
2650
const char *account_ou /* [in] [unique,charset(UTF16)] */,
2651
const char *Account /* [in] [unique,charset(UTF16)] */,
2652
const char *password /* [in] [unique,charset(UTF16)] */,
2653
uint32_t join_flags /* [in] */,
2656
struct wkssvc_NetrJoinDomain r;
2660
r.in.server_name = server_name;
2661
r.in.domain_name = domain_name;
2662
r.in.account_ou = account_ou;
2663
r.in.Account = Account;
2664
r.in.password = password;
2665
r.in.join_flags = join_flags;
2667
status = cli->dispatch(cli,
2670
NDR_WKSSVC_NETRJOINDOMAIN,
2673
if (!NT_STATUS_IS_OK(status)) {
2677
if (NT_STATUS_IS_ERR(status)) {
2681
/* Return variables */
2685
*werror = r.out.result;
2688
return werror_to_ntstatus(r.out.result);
2691
struct rpccli_wkssvc_NetrUnjoinDomain_state {
2692
struct wkssvc_NetrUnjoinDomain orig;
2693
struct wkssvc_NetrUnjoinDomain tmp;
2694
TALLOC_CTX *out_mem_ctx;
2695
NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
2698
static void rpccli_wkssvc_NetrUnjoinDomain_done(struct tevent_req *subreq);
2700
struct tevent_req *rpccli_wkssvc_NetrUnjoinDomain_send(TALLOC_CTX *mem_ctx,
2701
struct tevent_context *ev,
2702
struct rpc_pipe_client *cli,
2703
const char *_server_name /* [in] [unique,charset(UTF16)] */,
2704
const char *_Account /* [in] [unique,charset(UTF16)] */,
2705
const char *_password /* [in] [unique,charset(UTF16)] */,
2706
uint32_t _unjoin_flags /* [in] */)
2708
struct tevent_req *req;
2709
struct rpccli_wkssvc_NetrUnjoinDomain_state *state;
2710
struct tevent_req *subreq;
2712
req = tevent_req_create(mem_ctx, &state,
2713
struct rpccli_wkssvc_NetrUnjoinDomain_state);
2717
state->out_mem_ctx = NULL;
2718
state->dispatch_recv = cli->dispatch_recv;
2721
state->orig.in.server_name = _server_name;
2722
state->orig.in.Account = _Account;
2723
state->orig.in.password = _password;
2724
state->orig.in.unjoin_flags = _unjoin_flags;
2726
/* Out parameters */
2729
ZERO_STRUCT(state->orig.out.result);
2731
/* make a temporary copy, that we pass to the dispatch function */
2732
state->tmp = state->orig;
2734
subreq = cli->dispatch_send(state, ev, cli,
2736
NDR_WKSSVC_NETRUNJOINDOMAIN,
2738
if (tevent_req_nomem(subreq, req)) {
2739
return tevent_req_post(req, ev);
2741
tevent_req_set_callback(subreq, rpccli_wkssvc_NetrUnjoinDomain_done, req);
2745
static void rpccli_wkssvc_NetrUnjoinDomain_done(struct tevent_req *subreq)
2747
struct tevent_req *req = tevent_req_callback_data(
2748
subreq, struct tevent_req);
2749
struct rpccli_wkssvc_NetrUnjoinDomain_state *state = tevent_req_data(
2750
req, struct rpccli_wkssvc_NetrUnjoinDomain_state);
2752
TALLOC_CTX *mem_ctx;
2754
if (state->out_mem_ctx) {
2755
mem_ctx = state->out_mem_ctx;
2760
status = state->dispatch_recv(subreq, mem_ctx);
2761
TALLOC_FREE(subreq);
2762
if (!NT_STATUS_IS_OK(status)) {
2763
tevent_req_nterror(req, status);
2767
/* Copy out parameters */
2770
state->orig.out.result = state->tmp.out.result;
2772
/* Reset temporary structure */
2773
ZERO_STRUCT(state->tmp);
2775
tevent_req_done(req);
2778
NTSTATUS rpccli_wkssvc_NetrUnjoinDomain_recv(struct tevent_req *req,
2779
TALLOC_CTX *mem_ctx,
2782
struct rpccli_wkssvc_NetrUnjoinDomain_state *state = tevent_req_data(
2783
req, struct rpccli_wkssvc_NetrUnjoinDomain_state);
2786
if (tevent_req_is_nterror(req, &status)) {
2787
tevent_req_received(req);
2791
/* Steal possbile out parameters to the callers context */
2792
talloc_steal(mem_ctx, state->out_mem_ctx);
2795
*result = state->orig.out.result;
2797
tevent_req_received(req);
2798
return NT_STATUS_OK;
2801
NTSTATUS rpccli_wkssvc_NetrUnjoinDomain(struct rpc_pipe_client *cli,
2802
TALLOC_CTX *mem_ctx,
2803
const char *server_name /* [in] [unique,charset(UTF16)] */,
2804
const char *Account /* [in] [unique,charset(UTF16)] */,
2805
const char *password /* [in] [unique,charset(UTF16)] */,
2806
uint32_t unjoin_flags /* [in] */,
2809
struct wkssvc_NetrUnjoinDomain r;
2813
r.in.server_name = server_name;
2814
r.in.Account = Account;
2815
r.in.password = password;
2816
r.in.unjoin_flags = unjoin_flags;
2818
status = cli->dispatch(cli,
2821
NDR_WKSSVC_NETRUNJOINDOMAIN,
2824
if (!NT_STATUS_IS_OK(status)) {
2828
if (NT_STATUS_IS_ERR(status)) {
2832
/* Return variables */
2836
*werror = r.out.result;
2839
return werror_to_ntstatus(r.out.result);
2842
struct rpccli_wkssvc_NetrRenameMachineInDomain_state {
2843
struct wkssvc_NetrRenameMachineInDomain orig;
2844
struct wkssvc_NetrRenameMachineInDomain tmp;
2845
TALLOC_CTX *out_mem_ctx;
2846
NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
2849
static void rpccli_wkssvc_NetrRenameMachineInDomain_done(struct tevent_req *subreq);
2851
struct tevent_req *rpccli_wkssvc_NetrRenameMachineInDomain_send(TALLOC_CTX *mem_ctx,
2852
struct tevent_context *ev,
2853
struct rpc_pipe_client *cli,
2854
const char *_server_name /* [in] [unique,charset(UTF16)] */,
2855
const char *_NewMachineName /* [in] [unique,charset(UTF16)] */,
2856
const char *_Account /* [in] [unique,charset(UTF16)] */,
2857
const char *_password /* [in] [unique,charset(UTF16)] */,
2858
uint32_t _RenameOptions /* [in] */)
2860
struct tevent_req *req;
2861
struct rpccli_wkssvc_NetrRenameMachineInDomain_state *state;
2862
struct tevent_req *subreq;
2864
req = tevent_req_create(mem_ctx, &state,
2865
struct rpccli_wkssvc_NetrRenameMachineInDomain_state);
2869
state->out_mem_ctx = NULL;
2870
state->dispatch_recv = cli->dispatch_recv;
2873
state->orig.in.server_name = _server_name;
2874
state->orig.in.NewMachineName = _NewMachineName;
2875
state->orig.in.Account = _Account;
2876
state->orig.in.password = _password;
2877
state->orig.in.RenameOptions = _RenameOptions;
2879
/* Out parameters */
2882
ZERO_STRUCT(state->orig.out.result);
2884
/* make a temporary copy, that we pass to the dispatch function */
2885
state->tmp = state->orig;
2887
subreq = cli->dispatch_send(state, ev, cli,
2889
NDR_WKSSVC_NETRRENAMEMACHINEINDOMAIN,
2891
if (tevent_req_nomem(subreq, req)) {
2892
return tevent_req_post(req, ev);
2894
tevent_req_set_callback(subreq, rpccli_wkssvc_NetrRenameMachineInDomain_done, req);
2898
static void rpccli_wkssvc_NetrRenameMachineInDomain_done(struct tevent_req *subreq)
2900
struct tevent_req *req = tevent_req_callback_data(
2901
subreq, struct tevent_req);
2902
struct rpccli_wkssvc_NetrRenameMachineInDomain_state *state = tevent_req_data(
2903
req, struct rpccli_wkssvc_NetrRenameMachineInDomain_state);
2905
TALLOC_CTX *mem_ctx;
2907
if (state->out_mem_ctx) {
2908
mem_ctx = state->out_mem_ctx;
2913
status = state->dispatch_recv(subreq, mem_ctx);
2914
TALLOC_FREE(subreq);
2915
if (!NT_STATUS_IS_OK(status)) {
2916
tevent_req_nterror(req, status);
2920
/* Copy out parameters */
2923
state->orig.out.result = state->tmp.out.result;
2925
/* Reset temporary structure */
2926
ZERO_STRUCT(state->tmp);
2928
tevent_req_done(req);
2931
NTSTATUS rpccli_wkssvc_NetrRenameMachineInDomain_recv(struct tevent_req *req,
2932
TALLOC_CTX *mem_ctx,
2935
struct rpccli_wkssvc_NetrRenameMachineInDomain_state *state = tevent_req_data(
2936
req, struct rpccli_wkssvc_NetrRenameMachineInDomain_state);
2939
if (tevent_req_is_nterror(req, &status)) {
2940
tevent_req_received(req);
2944
/* Steal possbile out parameters to the callers context */
2945
talloc_steal(mem_ctx, state->out_mem_ctx);
2948
*result = state->orig.out.result;
2950
tevent_req_received(req);
2951
return NT_STATUS_OK;
2954
NTSTATUS rpccli_wkssvc_NetrRenameMachineInDomain(struct rpc_pipe_client *cli,
2955
TALLOC_CTX *mem_ctx,
2956
const char *server_name /* [in] [unique,charset(UTF16)] */,
2957
const char *NewMachineName /* [in] [unique,charset(UTF16)] */,
2958
const char *Account /* [in] [unique,charset(UTF16)] */,
2959
const char *password /* [in] [unique,charset(UTF16)] */,
2960
uint32_t RenameOptions /* [in] */,
2963
struct wkssvc_NetrRenameMachineInDomain r;
2967
r.in.server_name = server_name;
2968
r.in.NewMachineName = NewMachineName;
2969
r.in.Account = Account;
2970
r.in.password = password;
2971
r.in.RenameOptions = RenameOptions;
2973
status = cli->dispatch(cli,
2976
NDR_WKSSVC_NETRRENAMEMACHINEINDOMAIN,
2979
if (!NT_STATUS_IS_OK(status)) {
2983
if (NT_STATUS_IS_ERR(status)) {
2987
/* Return variables */
2991
*werror = r.out.result;
2994
return werror_to_ntstatus(r.out.result);
2997
struct rpccli_wkssvc_NetrValidateName_state {
2998
struct wkssvc_NetrValidateName orig;
2999
struct wkssvc_NetrValidateName tmp;
3000
TALLOC_CTX *out_mem_ctx;
3001
NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
3004
static void rpccli_wkssvc_NetrValidateName_done(struct tevent_req *subreq);
3006
struct tevent_req *rpccli_wkssvc_NetrValidateName_send(TALLOC_CTX *mem_ctx,
3007
struct tevent_context *ev,
3008
struct rpc_pipe_client *cli,
3009
const char *_server_name /* [in] [unique,charset(UTF16)] */,
3010
const char *_name /* [in] [ref,charset(UTF16)] */,
3011
const char *_Account /* [in] [unique,charset(UTF16)] */,
3012
const char *_Password /* [in] [unique,charset(UTF16)] */,
3013
enum wkssvc_NetValidateNameType _name_type /* [in] */)
3015
struct tevent_req *req;
3016
struct rpccli_wkssvc_NetrValidateName_state *state;
3017
struct tevent_req *subreq;
3019
req = tevent_req_create(mem_ctx, &state,
3020
struct rpccli_wkssvc_NetrValidateName_state);
3024
state->out_mem_ctx = NULL;
3025
state->dispatch_recv = cli->dispatch_recv;
3028
state->orig.in.server_name = _server_name;
3029
state->orig.in.name = _name;
3030
state->orig.in.Account = _Account;
3031
state->orig.in.Password = _Password;
3032
state->orig.in.name_type = _name_type;
3034
/* Out parameters */
3037
ZERO_STRUCT(state->orig.out.result);
3039
/* make a temporary copy, that we pass to the dispatch function */
3040
state->tmp = state->orig;
3042
subreq = cli->dispatch_send(state, ev, cli,
3044
NDR_WKSSVC_NETRVALIDATENAME,
3046
if (tevent_req_nomem(subreq, req)) {
3047
return tevent_req_post(req, ev);
3049
tevent_req_set_callback(subreq, rpccli_wkssvc_NetrValidateName_done, req);
3053
static void rpccli_wkssvc_NetrValidateName_done(struct tevent_req *subreq)
3055
struct tevent_req *req = tevent_req_callback_data(
3056
subreq, struct tevent_req);
3057
struct rpccli_wkssvc_NetrValidateName_state *state = tevent_req_data(
3058
req, struct rpccli_wkssvc_NetrValidateName_state);
3060
TALLOC_CTX *mem_ctx;
3062
if (state->out_mem_ctx) {
3063
mem_ctx = state->out_mem_ctx;
3068
status = state->dispatch_recv(subreq, mem_ctx);
3069
TALLOC_FREE(subreq);
3070
if (!NT_STATUS_IS_OK(status)) {
3071
tevent_req_nterror(req, status);
3075
/* Copy out parameters */
3078
state->orig.out.result = state->tmp.out.result;
3080
/* Reset temporary structure */
3081
ZERO_STRUCT(state->tmp);
3083
tevent_req_done(req);
3086
NTSTATUS rpccli_wkssvc_NetrValidateName_recv(struct tevent_req *req,
3087
TALLOC_CTX *mem_ctx,
3090
struct rpccli_wkssvc_NetrValidateName_state *state = tevent_req_data(
3091
req, struct rpccli_wkssvc_NetrValidateName_state);
3094
if (tevent_req_is_nterror(req, &status)) {
3095
tevent_req_received(req);
3099
/* Steal possbile out parameters to the callers context */
3100
talloc_steal(mem_ctx, state->out_mem_ctx);
3103
*result = state->orig.out.result;
3105
tevent_req_received(req);
3106
return NT_STATUS_OK;
3109
NTSTATUS rpccli_wkssvc_NetrValidateName(struct rpc_pipe_client *cli,
3110
TALLOC_CTX *mem_ctx,
3111
const char *server_name /* [in] [unique,charset(UTF16)] */,
3112
const char *name /* [in] [ref,charset(UTF16)] */,
3113
const char *Account /* [in] [unique,charset(UTF16)] */,
3114
const char *Password /* [in] [unique,charset(UTF16)] */,
3115
enum wkssvc_NetValidateNameType name_type /* [in] */,
3118
struct wkssvc_NetrValidateName r;
3122
r.in.server_name = server_name;
3124
r.in.Account = Account;
3125
r.in.Password = Password;
3126
r.in.name_type = name_type;
3128
status = cli->dispatch(cli,
3131
NDR_WKSSVC_NETRVALIDATENAME,
3134
if (!NT_STATUS_IS_OK(status)) {
3138
if (NT_STATUS_IS_ERR(status)) {
3142
/* Return variables */
3146
*werror = r.out.result;
3149
return werror_to_ntstatus(r.out.result);
3152
struct rpccli_wkssvc_NetrGetJoinInformation_state {
3153
struct wkssvc_NetrGetJoinInformation orig;
3154
struct wkssvc_NetrGetJoinInformation tmp;
3155
TALLOC_CTX *out_mem_ctx;
3156
NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
3159
static void rpccli_wkssvc_NetrGetJoinInformation_done(struct tevent_req *subreq);
3161
struct tevent_req *rpccli_wkssvc_NetrGetJoinInformation_send(TALLOC_CTX *mem_ctx,
3162
struct tevent_context *ev,
3163
struct rpc_pipe_client *cli,
3164
const char *_server_name /* [in] [unique,charset(UTF16)] */,
3165
const char **_name_buffer /* [in,out] [ref,charset(UTF16)] */,
3166
enum wkssvc_NetJoinStatus *_name_type /* [out] [ref] */)
3168
struct tevent_req *req;
3169
struct rpccli_wkssvc_NetrGetJoinInformation_state *state;
3170
struct tevent_req *subreq;
3172
req = tevent_req_create(mem_ctx, &state,
3173
struct rpccli_wkssvc_NetrGetJoinInformation_state);
3177
state->out_mem_ctx = NULL;
3178
state->dispatch_recv = cli->dispatch_recv;
3181
state->orig.in.server_name = _server_name;
3182
state->orig.in.name_buffer = _name_buffer;
3184
/* Out parameters */
3185
state->orig.out.name_buffer = _name_buffer;
3186
state->orig.out.name_type = _name_type;
3189
ZERO_STRUCT(state->orig.out.result);
3191
state->out_mem_ctx = talloc_named_const(state, 0,
3192
"rpccli_wkssvc_NetrGetJoinInformation_out_memory");
3193
if (tevent_req_nomem(state->out_mem_ctx, req)) {
3194
return tevent_req_post(req, ev);
3197
/* make a temporary copy, that we pass to the dispatch function */
3198
state->tmp = state->orig;
3200
subreq = cli->dispatch_send(state, ev, cli,
3202
NDR_WKSSVC_NETRGETJOININFORMATION,
3204
if (tevent_req_nomem(subreq, req)) {
3205
return tevent_req_post(req, ev);
3207
tevent_req_set_callback(subreq, rpccli_wkssvc_NetrGetJoinInformation_done, req);
3211
static void rpccli_wkssvc_NetrGetJoinInformation_done(struct tevent_req *subreq)
3213
struct tevent_req *req = tevent_req_callback_data(
3214
subreq, struct tevent_req);
3215
struct rpccli_wkssvc_NetrGetJoinInformation_state *state = tevent_req_data(
3216
req, struct rpccli_wkssvc_NetrGetJoinInformation_state);
3218
TALLOC_CTX *mem_ctx;
3220
if (state->out_mem_ctx) {
3221
mem_ctx = state->out_mem_ctx;
3226
status = state->dispatch_recv(subreq, mem_ctx);
3227
TALLOC_FREE(subreq);
3228
if (!NT_STATUS_IS_OK(status)) {
3229
tevent_req_nterror(req, status);
3233
/* Copy out parameters */
3234
*state->orig.out.name_buffer = *state->tmp.out.name_buffer;
3235
*state->orig.out.name_type = *state->tmp.out.name_type;
3238
state->orig.out.result = state->tmp.out.result;
3240
/* Reset temporary structure */
3241
ZERO_STRUCT(state->tmp);
3243
tevent_req_done(req);
3246
NTSTATUS rpccli_wkssvc_NetrGetJoinInformation_recv(struct tevent_req *req,
3247
TALLOC_CTX *mem_ctx,
3250
struct rpccli_wkssvc_NetrGetJoinInformation_state *state = tevent_req_data(
3251
req, struct rpccli_wkssvc_NetrGetJoinInformation_state);
3254
if (tevent_req_is_nterror(req, &status)) {
3255
tevent_req_received(req);
3259
/* Steal possbile out parameters to the callers context */
3260
talloc_steal(mem_ctx, state->out_mem_ctx);
3263
*result = state->orig.out.result;
3265
tevent_req_received(req);
3266
return NT_STATUS_OK;
3269
NTSTATUS rpccli_wkssvc_NetrGetJoinInformation(struct rpc_pipe_client *cli,
3270
TALLOC_CTX *mem_ctx,
3271
const char *server_name /* [in] [unique,charset(UTF16)] */,
3272
const char **name_buffer /* [in,out] [ref,charset(UTF16)] */,
3273
enum wkssvc_NetJoinStatus *name_type /* [out] [ref] */,
3276
struct wkssvc_NetrGetJoinInformation r;
3280
r.in.server_name = server_name;
3281
r.in.name_buffer = name_buffer;
3283
status = cli->dispatch(cli,
3286
NDR_WKSSVC_NETRGETJOININFORMATION,
3289
if (!NT_STATUS_IS_OK(status)) {
3293
if (NT_STATUS_IS_ERR(status)) {
3297
/* Return variables */
3298
*name_buffer = *r.out.name_buffer;
3299
*name_type = *r.out.name_type;
3303
*werror = r.out.result;
3306
return werror_to_ntstatus(r.out.result);
3309
struct rpccli_wkssvc_NetrGetJoinableOus_state {
3310
struct wkssvc_NetrGetJoinableOus orig;
3311
struct wkssvc_NetrGetJoinableOus tmp;
3312
TALLOC_CTX *out_mem_ctx;
3313
NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
3316
static void rpccli_wkssvc_NetrGetJoinableOus_done(struct tevent_req *subreq);
3318
struct tevent_req *rpccli_wkssvc_NetrGetJoinableOus_send(TALLOC_CTX *mem_ctx,
3319
struct tevent_context *ev,
3320
struct rpc_pipe_client *cli,
3321
const char *_server_name /* [in] [unique,charset(UTF16)] */,
3322
const char *_domain_name /* [in] [ref,charset(UTF16)] */,
3323
const char *_Account /* [in] [unique,charset(UTF16)] */,
3324
const char *_unknown /* [in] [unique,charset(UTF16)] */,
3325
uint32_t *_num_ous /* [in,out] [ref] */,
3326
const char ***_ous /* [out] [ref,charset(UTF16),size_is(,*num_ous)] */)
3328
struct tevent_req *req;
3329
struct rpccli_wkssvc_NetrGetJoinableOus_state *state;
3330
struct tevent_req *subreq;
3332
req = tevent_req_create(mem_ctx, &state,
3333
struct rpccli_wkssvc_NetrGetJoinableOus_state);
3337
state->out_mem_ctx = NULL;
3338
state->dispatch_recv = cli->dispatch_recv;
3341
state->orig.in.server_name = _server_name;
3342
state->orig.in.domain_name = _domain_name;
3343
state->orig.in.Account = _Account;
3344
state->orig.in.unknown = _unknown;
3345
state->orig.in.num_ous = _num_ous;
3347
/* Out parameters */
3348
state->orig.out.num_ous = _num_ous;
3349
state->orig.out.ous = _ous;
3352
ZERO_STRUCT(state->orig.out.result);
3354
state->out_mem_ctx = talloc_named_const(state, 0,
3355
"rpccli_wkssvc_NetrGetJoinableOus_out_memory");
3356
if (tevent_req_nomem(state->out_mem_ctx, req)) {
3357
return tevent_req_post(req, ev);
3360
/* make a temporary copy, that we pass to the dispatch function */
3361
state->tmp = state->orig;
3363
subreq = cli->dispatch_send(state, ev, cli,
3365
NDR_WKSSVC_NETRGETJOINABLEOUS,
3367
if (tevent_req_nomem(subreq, req)) {
3368
return tevent_req_post(req, ev);
3370
tevent_req_set_callback(subreq, rpccli_wkssvc_NetrGetJoinableOus_done, req);
3374
static void rpccli_wkssvc_NetrGetJoinableOus_done(struct tevent_req *subreq)
3376
struct tevent_req *req = tevent_req_callback_data(
3377
subreq, struct tevent_req);
3378
struct rpccli_wkssvc_NetrGetJoinableOus_state *state = tevent_req_data(
3379
req, struct rpccli_wkssvc_NetrGetJoinableOus_state);
3381
TALLOC_CTX *mem_ctx;
3383
if (state->out_mem_ctx) {
3384
mem_ctx = state->out_mem_ctx;
3389
status = state->dispatch_recv(subreq, mem_ctx);
3390
TALLOC_FREE(subreq);
3391
if (!NT_STATUS_IS_OK(status)) {
3392
tevent_req_nterror(req, status);
3396
/* Copy out parameters */
3397
*state->orig.out.num_ous = *state->tmp.out.num_ous;
3398
*state->orig.out.ous = *state->tmp.out.ous;
3401
state->orig.out.result = state->tmp.out.result;
3403
/* Reset temporary structure */
3404
ZERO_STRUCT(state->tmp);
3406
tevent_req_done(req);
3409
NTSTATUS rpccli_wkssvc_NetrGetJoinableOus_recv(struct tevent_req *req,
3410
TALLOC_CTX *mem_ctx,
3413
struct rpccli_wkssvc_NetrGetJoinableOus_state *state = tevent_req_data(
3414
req, struct rpccli_wkssvc_NetrGetJoinableOus_state);
3417
if (tevent_req_is_nterror(req, &status)) {
3418
tevent_req_received(req);
3422
/* Steal possbile out parameters to the callers context */
3423
talloc_steal(mem_ctx, state->out_mem_ctx);
3426
*result = state->orig.out.result;
3428
tevent_req_received(req);
3429
return NT_STATUS_OK;
3432
NTSTATUS rpccli_wkssvc_NetrGetJoinableOus(struct rpc_pipe_client *cli,
3433
TALLOC_CTX *mem_ctx,
3434
const char *server_name /* [in] [unique,charset(UTF16)] */,
3435
const char *domain_name /* [in] [ref,charset(UTF16)] */,
3436
const char *Account /* [in] [unique,charset(UTF16)] */,
3437
const char *unknown /* [in] [unique,charset(UTF16)] */,
3438
uint32_t *num_ous /* [in,out] [ref] */,
3439
const char ***ous /* [out] [ref,charset(UTF16),size_is(,*num_ous)] */,
3442
struct wkssvc_NetrGetJoinableOus r;
3446
r.in.server_name = server_name;
3447
r.in.domain_name = domain_name;
3448
r.in.Account = Account;
3449
r.in.unknown = unknown;
3450
r.in.num_ous = num_ous;
3452
status = cli->dispatch(cli,
3455
NDR_WKSSVC_NETRGETJOINABLEOUS,
3458
if (!NT_STATUS_IS_OK(status)) {
3462
if (NT_STATUS_IS_ERR(status)) {
3466
/* Return variables */
3467
*num_ous = *r.out.num_ous;
3472
*werror = r.out.result;
3475
return werror_to_ntstatus(r.out.result);
3478
struct rpccli_wkssvc_NetrJoinDomain2_state {
3479
struct wkssvc_NetrJoinDomain2 orig;
3480
struct wkssvc_NetrJoinDomain2 tmp;
3481
TALLOC_CTX *out_mem_ctx;
3482
NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
3485
static void rpccli_wkssvc_NetrJoinDomain2_done(struct tevent_req *subreq);
3487
struct tevent_req *rpccli_wkssvc_NetrJoinDomain2_send(TALLOC_CTX *mem_ctx,
3488
struct tevent_context *ev,
3489
struct rpc_pipe_client *cli,
3490
const char *_server_name /* [in] [unique,charset(UTF16)] */,
3491
const char *_domain_name /* [in] [ref,charset(UTF16)] */,
3492
const char *_account_ou /* [in] [unique,charset(UTF16)] */,
3493
const char *_admin_account /* [in] [unique,charset(UTF16)] */,
3494
struct wkssvc_PasswordBuffer *_encrypted_password /* [in] [unique] */,
3495
uint32_t _join_flags /* [in] */)
3497
struct tevent_req *req;
3498
struct rpccli_wkssvc_NetrJoinDomain2_state *state;
3499
struct tevent_req *subreq;
3501
req = tevent_req_create(mem_ctx, &state,
3502
struct rpccli_wkssvc_NetrJoinDomain2_state);
3506
state->out_mem_ctx = NULL;
3507
state->dispatch_recv = cli->dispatch_recv;
3510
state->orig.in.server_name = _server_name;
3511
state->orig.in.domain_name = _domain_name;
3512
state->orig.in.account_ou = _account_ou;
3513
state->orig.in.admin_account = _admin_account;
3514
state->orig.in.encrypted_password = _encrypted_password;
3515
state->orig.in.join_flags = _join_flags;
3517
/* Out parameters */
3520
ZERO_STRUCT(state->orig.out.result);
3522
/* make a temporary copy, that we pass to the dispatch function */
3523
state->tmp = state->orig;
3525
subreq = cli->dispatch_send(state, ev, cli,
3527
NDR_WKSSVC_NETRJOINDOMAIN2,
3529
if (tevent_req_nomem(subreq, req)) {
3530
return tevent_req_post(req, ev);
3532
tevent_req_set_callback(subreq, rpccli_wkssvc_NetrJoinDomain2_done, req);
3536
static void rpccli_wkssvc_NetrJoinDomain2_done(struct tevent_req *subreq)
3538
struct tevent_req *req = tevent_req_callback_data(
3539
subreq, struct tevent_req);
3540
struct rpccli_wkssvc_NetrJoinDomain2_state *state = tevent_req_data(
3541
req, struct rpccli_wkssvc_NetrJoinDomain2_state);
3543
TALLOC_CTX *mem_ctx;
3545
if (state->out_mem_ctx) {
3546
mem_ctx = state->out_mem_ctx;
3551
status = state->dispatch_recv(subreq, mem_ctx);
3552
TALLOC_FREE(subreq);
3553
if (!NT_STATUS_IS_OK(status)) {
3554
tevent_req_nterror(req, status);
3558
/* Copy out parameters */
3561
state->orig.out.result = state->tmp.out.result;
3563
/* Reset temporary structure */
3564
ZERO_STRUCT(state->tmp);
3566
tevent_req_done(req);
3569
NTSTATUS rpccli_wkssvc_NetrJoinDomain2_recv(struct tevent_req *req,
3570
TALLOC_CTX *mem_ctx,
3573
struct rpccli_wkssvc_NetrJoinDomain2_state *state = tevent_req_data(
3574
req, struct rpccli_wkssvc_NetrJoinDomain2_state);
3577
if (tevent_req_is_nterror(req, &status)) {
3578
tevent_req_received(req);
3582
/* Steal possbile out parameters to the callers context */
3583
talloc_steal(mem_ctx, state->out_mem_ctx);
3586
*result = state->orig.out.result;
3588
tevent_req_received(req);
3589
return NT_STATUS_OK;
3592
NTSTATUS rpccli_wkssvc_NetrJoinDomain2(struct rpc_pipe_client *cli,
3593
TALLOC_CTX *mem_ctx,
3594
const char *server_name /* [in] [unique,charset(UTF16)] */,
3595
const char *domain_name /* [in] [ref,charset(UTF16)] */,
3596
const char *account_ou /* [in] [unique,charset(UTF16)] */,
3597
const char *admin_account /* [in] [unique,charset(UTF16)] */,
3598
struct wkssvc_PasswordBuffer *encrypted_password /* [in] [unique] */,
3599
uint32_t join_flags /* [in] */,
3602
struct wkssvc_NetrJoinDomain2 r;
3606
r.in.server_name = server_name;
3607
r.in.domain_name = domain_name;
3608
r.in.account_ou = account_ou;
3609
r.in.admin_account = admin_account;
3610
r.in.encrypted_password = encrypted_password;
3611
r.in.join_flags = join_flags;
3613
status = cli->dispatch(cli,
3616
NDR_WKSSVC_NETRJOINDOMAIN2,
3619
if (!NT_STATUS_IS_OK(status)) {
3623
if (NT_STATUS_IS_ERR(status)) {
3627
/* Return variables */
3631
*werror = r.out.result;
3634
return werror_to_ntstatus(r.out.result);
3637
struct rpccli_wkssvc_NetrUnjoinDomain2_state {
3638
struct wkssvc_NetrUnjoinDomain2 orig;
3639
struct wkssvc_NetrUnjoinDomain2 tmp;
3640
TALLOC_CTX *out_mem_ctx;
3641
NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
3644
static void rpccli_wkssvc_NetrUnjoinDomain2_done(struct tevent_req *subreq);
3646
struct tevent_req *rpccli_wkssvc_NetrUnjoinDomain2_send(TALLOC_CTX *mem_ctx,
3647
struct tevent_context *ev,
3648
struct rpc_pipe_client *cli,
3649
const char *_server_name /* [in] [unique,charset(UTF16)] */,
3650
const char *_account /* [in] [unique,charset(UTF16)] */,
3651
struct wkssvc_PasswordBuffer *_encrypted_password /* [in] [unique] */,
3652
uint32_t _unjoin_flags /* [in] */)
3654
struct tevent_req *req;
3655
struct rpccli_wkssvc_NetrUnjoinDomain2_state *state;
3656
struct tevent_req *subreq;
3658
req = tevent_req_create(mem_ctx, &state,
3659
struct rpccli_wkssvc_NetrUnjoinDomain2_state);
3663
state->out_mem_ctx = NULL;
3664
state->dispatch_recv = cli->dispatch_recv;
3667
state->orig.in.server_name = _server_name;
3668
state->orig.in.account = _account;
3669
state->orig.in.encrypted_password = _encrypted_password;
3670
state->orig.in.unjoin_flags = _unjoin_flags;
3672
/* Out parameters */
3675
ZERO_STRUCT(state->orig.out.result);
3677
/* make a temporary copy, that we pass to the dispatch function */
3678
state->tmp = state->orig;
3680
subreq = cli->dispatch_send(state, ev, cli,
3682
NDR_WKSSVC_NETRUNJOINDOMAIN2,
3684
if (tevent_req_nomem(subreq, req)) {
3685
return tevent_req_post(req, ev);
3687
tevent_req_set_callback(subreq, rpccli_wkssvc_NetrUnjoinDomain2_done, req);
3691
static void rpccli_wkssvc_NetrUnjoinDomain2_done(struct tevent_req *subreq)
3693
struct tevent_req *req = tevent_req_callback_data(
3694
subreq, struct tevent_req);
3695
struct rpccli_wkssvc_NetrUnjoinDomain2_state *state = tevent_req_data(
3696
req, struct rpccli_wkssvc_NetrUnjoinDomain2_state);
3698
TALLOC_CTX *mem_ctx;
3700
if (state->out_mem_ctx) {
3701
mem_ctx = state->out_mem_ctx;
3706
status = state->dispatch_recv(subreq, mem_ctx);
3707
TALLOC_FREE(subreq);
3708
if (!NT_STATUS_IS_OK(status)) {
3709
tevent_req_nterror(req, status);
3713
/* Copy out parameters */
3716
state->orig.out.result = state->tmp.out.result;
3718
/* Reset temporary structure */
3719
ZERO_STRUCT(state->tmp);
3721
tevent_req_done(req);
3724
NTSTATUS rpccli_wkssvc_NetrUnjoinDomain2_recv(struct tevent_req *req,
3725
TALLOC_CTX *mem_ctx,
3728
struct rpccli_wkssvc_NetrUnjoinDomain2_state *state = tevent_req_data(
3729
req, struct rpccli_wkssvc_NetrUnjoinDomain2_state);
3732
if (tevent_req_is_nterror(req, &status)) {
3733
tevent_req_received(req);
3737
/* Steal possbile out parameters to the callers context */
3738
talloc_steal(mem_ctx, state->out_mem_ctx);
3741
*result = state->orig.out.result;
3743
tevent_req_received(req);
3744
return NT_STATUS_OK;
3747
NTSTATUS rpccli_wkssvc_NetrUnjoinDomain2(struct rpc_pipe_client *cli,
3748
TALLOC_CTX *mem_ctx,
3749
const char *server_name /* [in] [unique,charset(UTF16)] */,
3750
const char *account /* [in] [unique,charset(UTF16)] */,
3751
struct wkssvc_PasswordBuffer *encrypted_password /* [in] [unique] */,
3752
uint32_t unjoin_flags /* [in] */,
3755
struct wkssvc_NetrUnjoinDomain2 r;
3759
r.in.server_name = server_name;
3760
r.in.account = account;
3761
r.in.encrypted_password = encrypted_password;
3762
r.in.unjoin_flags = unjoin_flags;
3764
status = cli->dispatch(cli,
3767
NDR_WKSSVC_NETRUNJOINDOMAIN2,
3770
if (!NT_STATUS_IS_OK(status)) {
3774
if (NT_STATUS_IS_ERR(status)) {
3778
/* Return variables */
3782
*werror = r.out.result;
3785
return werror_to_ntstatus(r.out.result);
3788
struct rpccli_wkssvc_NetrRenameMachineInDomain2_state {
3789
struct wkssvc_NetrRenameMachineInDomain2 orig;
3790
struct wkssvc_NetrRenameMachineInDomain2 tmp;
3791
TALLOC_CTX *out_mem_ctx;
3792
NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
3795
static void rpccli_wkssvc_NetrRenameMachineInDomain2_done(struct tevent_req *subreq);
3797
struct tevent_req *rpccli_wkssvc_NetrRenameMachineInDomain2_send(TALLOC_CTX *mem_ctx,
3798
struct tevent_context *ev,
3799
struct rpc_pipe_client *cli,
3800
const char *_server_name /* [in] [unique,charset(UTF16)] */,
3801
const char *_NewMachineName /* [in] [unique,charset(UTF16)] */,
3802
const char *_Account /* [in] [unique,charset(UTF16)] */,
3803
struct wkssvc_PasswordBuffer *_EncryptedPassword /* [in] [unique] */,
3804
uint32_t _RenameOptions /* [in] */)
3806
struct tevent_req *req;
3807
struct rpccli_wkssvc_NetrRenameMachineInDomain2_state *state;
3808
struct tevent_req *subreq;
3810
req = tevent_req_create(mem_ctx, &state,
3811
struct rpccli_wkssvc_NetrRenameMachineInDomain2_state);
3815
state->out_mem_ctx = NULL;
3816
state->dispatch_recv = cli->dispatch_recv;
3819
state->orig.in.server_name = _server_name;
3820
state->orig.in.NewMachineName = _NewMachineName;
3821
state->orig.in.Account = _Account;
3822
state->orig.in.EncryptedPassword = _EncryptedPassword;
3823
state->orig.in.RenameOptions = _RenameOptions;
3825
/* Out parameters */
3828
ZERO_STRUCT(state->orig.out.result);
3830
/* make a temporary copy, that we pass to the dispatch function */
3831
state->tmp = state->orig;
3833
subreq = cli->dispatch_send(state, ev, cli,
3835
NDR_WKSSVC_NETRRENAMEMACHINEINDOMAIN2,
3837
if (tevent_req_nomem(subreq, req)) {
3838
return tevent_req_post(req, ev);
3840
tevent_req_set_callback(subreq, rpccli_wkssvc_NetrRenameMachineInDomain2_done, req);
3844
static void rpccli_wkssvc_NetrRenameMachineInDomain2_done(struct tevent_req *subreq)
3846
struct tevent_req *req = tevent_req_callback_data(
3847
subreq, struct tevent_req);
3848
struct rpccli_wkssvc_NetrRenameMachineInDomain2_state *state = tevent_req_data(
3849
req, struct rpccli_wkssvc_NetrRenameMachineInDomain2_state);
3851
TALLOC_CTX *mem_ctx;
3853
if (state->out_mem_ctx) {
3854
mem_ctx = state->out_mem_ctx;
3859
status = state->dispatch_recv(subreq, mem_ctx);
3860
TALLOC_FREE(subreq);
3861
if (!NT_STATUS_IS_OK(status)) {
3862
tevent_req_nterror(req, status);
3866
/* Copy out parameters */
3869
state->orig.out.result = state->tmp.out.result;
3871
/* Reset temporary structure */
3872
ZERO_STRUCT(state->tmp);
3874
tevent_req_done(req);
3877
NTSTATUS rpccli_wkssvc_NetrRenameMachineInDomain2_recv(struct tevent_req *req,
3878
TALLOC_CTX *mem_ctx,
3881
struct rpccli_wkssvc_NetrRenameMachineInDomain2_state *state = tevent_req_data(
3882
req, struct rpccli_wkssvc_NetrRenameMachineInDomain2_state);
3885
if (tevent_req_is_nterror(req, &status)) {
3886
tevent_req_received(req);
3890
/* Steal possbile out parameters to the callers context */
3891
talloc_steal(mem_ctx, state->out_mem_ctx);
3894
*result = state->orig.out.result;
3896
tevent_req_received(req);
3897
return NT_STATUS_OK;
3900
NTSTATUS rpccli_wkssvc_NetrRenameMachineInDomain2(struct rpc_pipe_client *cli,
3901
TALLOC_CTX *mem_ctx,
3902
const char *server_name /* [in] [unique,charset(UTF16)] */,
3903
const char *NewMachineName /* [in] [unique,charset(UTF16)] */,
3904
const char *Account /* [in] [unique,charset(UTF16)] */,
3905
struct wkssvc_PasswordBuffer *EncryptedPassword /* [in] [unique] */,
3906
uint32_t RenameOptions /* [in] */,
3909
struct wkssvc_NetrRenameMachineInDomain2 r;
3913
r.in.server_name = server_name;
3914
r.in.NewMachineName = NewMachineName;
3915
r.in.Account = Account;
3916
r.in.EncryptedPassword = EncryptedPassword;
3917
r.in.RenameOptions = RenameOptions;
3919
status = cli->dispatch(cli,
3922
NDR_WKSSVC_NETRRENAMEMACHINEINDOMAIN2,
3925
if (!NT_STATUS_IS_OK(status)) {
3929
if (NT_STATUS_IS_ERR(status)) {
3933
/* Return variables */
3937
*werror = r.out.result;
3940
return werror_to_ntstatus(r.out.result);
3943
struct rpccli_wkssvc_NetrValidateName2_state {
3944
struct wkssvc_NetrValidateName2 orig;
3945
struct wkssvc_NetrValidateName2 tmp;
3946
TALLOC_CTX *out_mem_ctx;
3947
NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
3950
static void rpccli_wkssvc_NetrValidateName2_done(struct tevent_req *subreq);
3952
struct tevent_req *rpccli_wkssvc_NetrValidateName2_send(TALLOC_CTX *mem_ctx,
3953
struct tevent_context *ev,
3954
struct rpc_pipe_client *cli,
3955
const char *_server_name /* [in] [unique,charset(UTF16)] */,
3956
const char *_name /* [in] [ref,charset(UTF16)] */,
3957
const char *_Account /* [in] [unique,charset(UTF16)] */,
3958
struct wkssvc_PasswordBuffer *_EncryptedPassword /* [in] [unique] */,
3959
enum wkssvc_NetValidateNameType _name_type /* [in] */)
3961
struct tevent_req *req;
3962
struct rpccli_wkssvc_NetrValidateName2_state *state;
3963
struct tevent_req *subreq;
3965
req = tevent_req_create(mem_ctx, &state,
3966
struct rpccli_wkssvc_NetrValidateName2_state);
3970
state->out_mem_ctx = NULL;
3971
state->dispatch_recv = cli->dispatch_recv;
3974
state->orig.in.server_name = _server_name;
3975
state->orig.in.name = _name;
3976
state->orig.in.Account = _Account;
3977
state->orig.in.EncryptedPassword = _EncryptedPassword;
3978
state->orig.in.name_type = _name_type;
3980
/* Out parameters */
3983
ZERO_STRUCT(state->orig.out.result);
3985
/* make a temporary copy, that we pass to the dispatch function */
3986
state->tmp = state->orig;
3988
subreq = cli->dispatch_send(state, ev, cli,
3990
NDR_WKSSVC_NETRVALIDATENAME2,
3992
if (tevent_req_nomem(subreq, req)) {
3993
return tevent_req_post(req, ev);
3995
tevent_req_set_callback(subreq, rpccli_wkssvc_NetrValidateName2_done, req);
3999
static void rpccli_wkssvc_NetrValidateName2_done(struct tevent_req *subreq)
4001
struct tevent_req *req = tevent_req_callback_data(
4002
subreq, struct tevent_req);
4003
struct rpccli_wkssvc_NetrValidateName2_state *state = tevent_req_data(
4004
req, struct rpccli_wkssvc_NetrValidateName2_state);
4006
TALLOC_CTX *mem_ctx;
4008
if (state->out_mem_ctx) {
4009
mem_ctx = state->out_mem_ctx;
4014
status = state->dispatch_recv(subreq, mem_ctx);
4015
TALLOC_FREE(subreq);
4016
if (!NT_STATUS_IS_OK(status)) {
4017
tevent_req_nterror(req, status);
4021
/* Copy out parameters */
4024
state->orig.out.result = state->tmp.out.result;
4026
/* Reset temporary structure */
4027
ZERO_STRUCT(state->tmp);
4029
tevent_req_done(req);
4032
NTSTATUS rpccli_wkssvc_NetrValidateName2_recv(struct tevent_req *req,
4033
TALLOC_CTX *mem_ctx,
4036
struct rpccli_wkssvc_NetrValidateName2_state *state = tevent_req_data(
4037
req, struct rpccli_wkssvc_NetrValidateName2_state);
4040
if (tevent_req_is_nterror(req, &status)) {
4041
tevent_req_received(req);
4045
/* Steal possbile out parameters to the callers context */
4046
talloc_steal(mem_ctx, state->out_mem_ctx);
4049
*result = state->orig.out.result;
4051
tevent_req_received(req);
4052
return NT_STATUS_OK;
4055
NTSTATUS rpccli_wkssvc_NetrValidateName2(struct rpc_pipe_client *cli,
4056
TALLOC_CTX *mem_ctx,
4057
const char *server_name /* [in] [unique,charset(UTF16)] */,
4058
const char *name /* [in] [ref,charset(UTF16)] */,
4059
const char *Account /* [in] [unique,charset(UTF16)] */,
4060
struct wkssvc_PasswordBuffer *EncryptedPassword /* [in] [unique] */,
4061
enum wkssvc_NetValidateNameType name_type /* [in] */,
4064
struct wkssvc_NetrValidateName2 r;
4068
r.in.server_name = server_name;
4070
r.in.Account = Account;
4071
r.in.EncryptedPassword = EncryptedPassword;
4072
r.in.name_type = name_type;
4074
status = cli->dispatch(cli,
4077
NDR_WKSSVC_NETRVALIDATENAME2,
4080
if (!NT_STATUS_IS_OK(status)) {
4084
if (NT_STATUS_IS_ERR(status)) {
4088
/* Return variables */
4092
*werror = r.out.result;
4095
return werror_to_ntstatus(r.out.result);
4098
struct rpccli_wkssvc_NetrGetJoinableOus2_state {
4099
struct wkssvc_NetrGetJoinableOus2 orig;
4100
struct wkssvc_NetrGetJoinableOus2 tmp;
4101
TALLOC_CTX *out_mem_ctx;
4102
NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
4105
static void rpccli_wkssvc_NetrGetJoinableOus2_done(struct tevent_req *subreq);
4107
struct tevent_req *rpccli_wkssvc_NetrGetJoinableOus2_send(TALLOC_CTX *mem_ctx,
4108
struct tevent_context *ev,
4109
struct rpc_pipe_client *cli,
4110
const char *_server_name /* [in] [unique,charset(UTF16)] */,
4111
const char *_domain_name /* [in] [ref,charset(UTF16)] */,
4112
const char *_Account /* [in] [unique,charset(UTF16)] */,
4113
struct wkssvc_PasswordBuffer *_EncryptedPassword /* [in] [unique] */,
4114
uint32_t *_num_ous /* [in,out] [ref] */,
4115
const char ***_ous /* [out] [ref,charset(UTF16),size_is(,*num_ous)] */)
4117
struct tevent_req *req;
4118
struct rpccli_wkssvc_NetrGetJoinableOus2_state *state;
4119
struct tevent_req *subreq;
4121
req = tevent_req_create(mem_ctx, &state,
4122
struct rpccli_wkssvc_NetrGetJoinableOus2_state);
4126
state->out_mem_ctx = NULL;
4127
state->dispatch_recv = cli->dispatch_recv;
4130
state->orig.in.server_name = _server_name;
4131
state->orig.in.domain_name = _domain_name;
4132
state->orig.in.Account = _Account;
4133
state->orig.in.EncryptedPassword = _EncryptedPassword;
4134
state->orig.in.num_ous = _num_ous;
4136
/* Out parameters */
4137
state->orig.out.num_ous = _num_ous;
4138
state->orig.out.ous = _ous;
4141
ZERO_STRUCT(state->orig.out.result);
4143
state->out_mem_ctx = talloc_named_const(state, 0,
4144
"rpccli_wkssvc_NetrGetJoinableOus2_out_memory");
4145
if (tevent_req_nomem(state->out_mem_ctx, req)) {
4146
return tevent_req_post(req, ev);
4149
/* make a temporary copy, that we pass to the dispatch function */
4150
state->tmp = state->orig;
4152
subreq = cli->dispatch_send(state, ev, cli,
4154
NDR_WKSSVC_NETRGETJOINABLEOUS2,
4156
if (tevent_req_nomem(subreq, req)) {
4157
return tevent_req_post(req, ev);
4159
tevent_req_set_callback(subreq, rpccli_wkssvc_NetrGetJoinableOus2_done, req);
4163
static void rpccli_wkssvc_NetrGetJoinableOus2_done(struct tevent_req *subreq)
4165
struct tevent_req *req = tevent_req_callback_data(
4166
subreq, struct tevent_req);
4167
struct rpccli_wkssvc_NetrGetJoinableOus2_state *state = tevent_req_data(
4168
req, struct rpccli_wkssvc_NetrGetJoinableOus2_state);
4170
TALLOC_CTX *mem_ctx;
4172
if (state->out_mem_ctx) {
4173
mem_ctx = state->out_mem_ctx;
4178
status = state->dispatch_recv(subreq, mem_ctx);
4179
TALLOC_FREE(subreq);
4180
if (!NT_STATUS_IS_OK(status)) {
4181
tevent_req_nterror(req, status);
4185
/* Copy out parameters */
4186
*state->orig.out.num_ous = *state->tmp.out.num_ous;
4187
*state->orig.out.ous = *state->tmp.out.ous;
4190
state->orig.out.result = state->tmp.out.result;
4192
/* Reset temporary structure */
4193
ZERO_STRUCT(state->tmp);
4195
tevent_req_done(req);
4198
NTSTATUS rpccli_wkssvc_NetrGetJoinableOus2_recv(struct tevent_req *req,
4199
TALLOC_CTX *mem_ctx,
4202
struct rpccli_wkssvc_NetrGetJoinableOus2_state *state = tevent_req_data(
4203
req, struct rpccli_wkssvc_NetrGetJoinableOus2_state);
4206
if (tevent_req_is_nterror(req, &status)) {
4207
tevent_req_received(req);
4211
/* Steal possbile out parameters to the callers context */
4212
talloc_steal(mem_ctx, state->out_mem_ctx);
4215
*result = state->orig.out.result;
4217
tevent_req_received(req);
4218
return NT_STATUS_OK;
4221
NTSTATUS rpccli_wkssvc_NetrGetJoinableOus2(struct rpc_pipe_client *cli,
4222
TALLOC_CTX *mem_ctx,
4223
const char *server_name /* [in] [unique,charset(UTF16)] */,
4224
const char *domain_name /* [in] [ref,charset(UTF16)] */,
4225
const char *Account /* [in] [unique,charset(UTF16)] */,
4226
struct wkssvc_PasswordBuffer *EncryptedPassword /* [in] [unique] */,
4227
uint32_t *num_ous /* [in,out] [ref] */,
4228
const char ***ous /* [out] [ref,charset(UTF16),size_is(,*num_ous)] */,
4231
struct wkssvc_NetrGetJoinableOus2 r;
4235
r.in.server_name = server_name;
4236
r.in.domain_name = domain_name;
4237
r.in.Account = Account;
4238
r.in.EncryptedPassword = EncryptedPassword;
4239
r.in.num_ous = num_ous;
4241
status = cli->dispatch(cli,
4244
NDR_WKSSVC_NETRGETJOINABLEOUS2,
4247
if (!NT_STATUS_IS_OK(status)) {
4251
if (NT_STATUS_IS_ERR(status)) {
4255
/* Return variables */
4256
*num_ous = *r.out.num_ous;
4261
*werror = r.out.result;
4264
return werror_to_ntstatus(r.out.result);
4267
struct rpccli_wkssvc_NetrAddAlternateComputerName_state {
4268
struct wkssvc_NetrAddAlternateComputerName orig;
4269
struct wkssvc_NetrAddAlternateComputerName tmp;
4270
TALLOC_CTX *out_mem_ctx;
4271
NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
4274
static void rpccli_wkssvc_NetrAddAlternateComputerName_done(struct tevent_req *subreq);
4276
struct tevent_req *rpccli_wkssvc_NetrAddAlternateComputerName_send(TALLOC_CTX *mem_ctx,
4277
struct tevent_context *ev,
4278
struct rpc_pipe_client *cli,
4279
const char *_server_name /* [in] [unique,charset(UTF16)] */,
4280
const char *_NewAlternateMachineName /* [in] [unique,charset(UTF16)] */,
4281
const char *_Account /* [in] [unique,charset(UTF16)] */,
4282
struct wkssvc_PasswordBuffer *_EncryptedPassword /* [in] [unique] */,
4283
uint32_t _Reserved /* [in] */)
4285
struct tevent_req *req;
4286
struct rpccli_wkssvc_NetrAddAlternateComputerName_state *state;
4287
struct tevent_req *subreq;
4289
req = tevent_req_create(mem_ctx, &state,
4290
struct rpccli_wkssvc_NetrAddAlternateComputerName_state);
4294
state->out_mem_ctx = NULL;
4295
state->dispatch_recv = cli->dispatch_recv;
4298
state->orig.in.server_name = _server_name;
4299
state->orig.in.NewAlternateMachineName = _NewAlternateMachineName;
4300
state->orig.in.Account = _Account;
4301
state->orig.in.EncryptedPassword = _EncryptedPassword;
4302
state->orig.in.Reserved = _Reserved;
4304
/* Out parameters */
4307
ZERO_STRUCT(state->orig.out.result);
4309
/* make a temporary copy, that we pass to the dispatch function */
4310
state->tmp = state->orig;
4312
subreq = cli->dispatch_send(state, ev, cli,
4314
NDR_WKSSVC_NETRADDALTERNATECOMPUTERNAME,
4316
if (tevent_req_nomem(subreq, req)) {
4317
return tevent_req_post(req, ev);
4319
tevent_req_set_callback(subreq, rpccli_wkssvc_NetrAddAlternateComputerName_done, req);
4323
static void rpccli_wkssvc_NetrAddAlternateComputerName_done(struct tevent_req *subreq)
4325
struct tevent_req *req = tevent_req_callback_data(
4326
subreq, struct tevent_req);
4327
struct rpccli_wkssvc_NetrAddAlternateComputerName_state *state = tevent_req_data(
4328
req, struct rpccli_wkssvc_NetrAddAlternateComputerName_state);
4330
TALLOC_CTX *mem_ctx;
4332
if (state->out_mem_ctx) {
4333
mem_ctx = state->out_mem_ctx;
4338
status = state->dispatch_recv(subreq, mem_ctx);
4339
TALLOC_FREE(subreq);
4340
if (!NT_STATUS_IS_OK(status)) {
4341
tevent_req_nterror(req, status);
4345
/* Copy out parameters */
4348
state->orig.out.result = state->tmp.out.result;
4350
/* Reset temporary structure */
4351
ZERO_STRUCT(state->tmp);
4353
tevent_req_done(req);
4356
NTSTATUS rpccli_wkssvc_NetrAddAlternateComputerName_recv(struct tevent_req *req,
4357
TALLOC_CTX *mem_ctx,
4360
struct rpccli_wkssvc_NetrAddAlternateComputerName_state *state = tevent_req_data(
4361
req, struct rpccli_wkssvc_NetrAddAlternateComputerName_state);
4364
if (tevent_req_is_nterror(req, &status)) {
4365
tevent_req_received(req);
4369
/* Steal possbile out parameters to the callers context */
4370
talloc_steal(mem_ctx, state->out_mem_ctx);
4373
*result = state->orig.out.result;
4375
tevent_req_received(req);
4376
return NT_STATUS_OK;
4379
NTSTATUS rpccli_wkssvc_NetrAddAlternateComputerName(struct rpc_pipe_client *cli,
4380
TALLOC_CTX *mem_ctx,
4381
const char *server_name /* [in] [unique,charset(UTF16)] */,
4382
const char *NewAlternateMachineName /* [in] [unique,charset(UTF16)] */,
4383
const char *Account /* [in] [unique,charset(UTF16)] */,
4384
struct wkssvc_PasswordBuffer *EncryptedPassword /* [in] [unique] */,
4385
uint32_t Reserved /* [in] */,
4388
struct wkssvc_NetrAddAlternateComputerName r;
4392
r.in.server_name = server_name;
4393
r.in.NewAlternateMachineName = NewAlternateMachineName;
4394
r.in.Account = Account;
4395
r.in.EncryptedPassword = EncryptedPassword;
4396
r.in.Reserved = Reserved;
4398
status = cli->dispatch(cli,
4401
NDR_WKSSVC_NETRADDALTERNATECOMPUTERNAME,
4404
if (!NT_STATUS_IS_OK(status)) {
4408
if (NT_STATUS_IS_ERR(status)) {
4412
/* Return variables */
4416
*werror = r.out.result;
4419
return werror_to_ntstatus(r.out.result);
4422
struct rpccli_wkssvc_NetrRemoveAlternateComputerName_state {
4423
struct wkssvc_NetrRemoveAlternateComputerName orig;
4424
struct wkssvc_NetrRemoveAlternateComputerName tmp;
4425
TALLOC_CTX *out_mem_ctx;
4426
NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
4429
static void rpccli_wkssvc_NetrRemoveAlternateComputerName_done(struct tevent_req *subreq);
4431
struct tevent_req *rpccli_wkssvc_NetrRemoveAlternateComputerName_send(TALLOC_CTX *mem_ctx,
4432
struct tevent_context *ev,
4433
struct rpc_pipe_client *cli,
4434
const char *_server_name /* [in] [unique,charset(UTF16)] */,
4435
const char *_AlternateMachineNameToRemove /* [in] [unique,charset(UTF16)] */,
4436
const char *_Account /* [in] [unique,charset(UTF16)] */,
4437
struct wkssvc_PasswordBuffer *_EncryptedPassword /* [in] [unique] */,
4438
uint32_t _Reserved /* [in] */)
4440
struct tevent_req *req;
4441
struct rpccli_wkssvc_NetrRemoveAlternateComputerName_state *state;
4442
struct tevent_req *subreq;
4444
req = tevent_req_create(mem_ctx, &state,
4445
struct rpccli_wkssvc_NetrRemoveAlternateComputerName_state);
4449
state->out_mem_ctx = NULL;
4450
state->dispatch_recv = cli->dispatch_recv;
4453
state->orig.in.server_name = _server_name;
4454
state->orig.in.AlternateMachineNameToRemove = _AlternateMachineNameToRemove;
4455
state->orig.in.Account = _Account;
4456
state->orig.in.EncryptedPassword = _EncryptedPassword;
4457
state->orig.in.Reserved = _Reserved;
4459
/* Out parameters */
4462
ZERO_STRUCT(state->orig.out.result);
4464
/* make a temporary copy, that we pass to the dispatch function */
4465
state->tmp = state->orig;
4467
subreq = cli->dispatch_send(state, ev, cli,
4469
NDR_WKSSVC_NETRREMOVEALTERNATECOMPUTERNAME,
4471
if (tevent_req_nomem(subreq, req)) {
4472
return tevent_req_post(req, ev);
4474
tevent_req_set_callback(subreq, rpccli_wkssvc_NetrRemoveAlternateComputerName_done, req);
4478
static void rpccli_wkssvc_NetrRemoveAlternateComputerName_done(struct tevent_req *subreq)
4480
struct tevent_req *req = tevent_req_callback_data(
4481
subreq, struct tevent_req);
4482
struct rpccli_wkssvc_NetrRemoveAlternateComputerName_state *state = tevent_req_data(
4483
req, struct rpccli_wkssvc_NetrRemoveAlternateComputerName_state);
4485
TALLOC_CTX *mem_ctx;
4487
if (state->out_mem_ctx) {
4488
mem_ctx = state->out_mem_ctx;
4493
status = state->dispatch_recv(subreq, mem_ctx);
4494
TALLOC_FREE(subreq);
4495
if (!NT_STATUS_IS_OK(status)) {
4496
tevent_req_nterror(req, status);
4500
/* Copy out parameters */
4503
state->orig.out.result = state->tmp.out.result;
4505
/* Reset temporary structure */
4506
ZERO_STRUCT(state->tmp);
4508
tevent_req_done(req);
4511
NTSTATUS rpccli_wkssvc_NetrRemoveAlternateComputerName_recv(struct tevent_req *req,
4512
TALLOC_CTX *mem_ctx,
4515
struct rpccli_wkssvc_NetrRemoveAlternateComputerName_state *state = tevent_req_data(
4516
req, struct rpccli_wkssvc_NetrRemoveAlternateComputerName_state);
4519
if (tevent_req_is_nterror(req, &status)) {
4520
tevent_req_received(req);
4524
/* Steal possbile out parameters to the callers context */
4525
talloc_steal(mem_ctx, state->out_mem_ctx);
4528
*result = state->orig.out.result;
4530
tevent_req_received(req);
4531
return NT_STATUS_OK;
4534
NTSTATUS rpccli_wkssvc_NetrRemoveAlternateComputerName(struct rpc_pipe_client *cli,
4535
TALLOC_CTX *mem_ctx,
4536
const char *server_name /* [in] [unique,charset(UTF16)] */,
4537
const char *AlternateMachineNameToRemove /* [in] [unique,charset(UTF16)] */,
4538
const char *Account /* [in] [unique,charset(UTF16)] */,
4539
struct wkssvc_PasswordBuffer *EncryptedPassword /* [in] [unique] */,
4540
uint32_t Reserved /* [in] */,
4543
struct wkssvc_NetrRemoveAlternateComputerName r;
4547
r.in.server_name = server_name;
4548
r.in.AlternateMachineNameToRemove = AlternateMachineNameToRemove;
4549
r.in.Account = Account;
4550
r.in.EncryptedPassword = EncryptedPassword;
4551
r.in.Reserved = Reserved;
4553
status = cli->dispatch(cli,
4556
NDR_WKSSVC_NETRREMOVEALTERNATECOMPUTERNAME,
4559
if (!NT_STATUS_IS_OK(status)) {
4563
if (NT_STATUS_IS_ERR(status)) {
4567
/* Return variables */
4571
*werror = r.out.result;
4574
return werror_to_ntstatus(r.out.result);
4577
struct rpccli_wkssvc_NetrSetPrimaryComputername_state {
4578
struct wkssvc_NetrSetPrimaryComputername orig;
4579
struct wkssvc_NetrSetPrimaryComputername tmp;
4580
TALLOC_CTX *out_mem_ctx;
4581
NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
4584
static void rpccli_wkssvc_NetrSetPrimaryComputername_done(struct tevent_req *subreq);
4586
struct tevent_req *rpccli_wkssvc_NetrSetPrimaryComputername_send(TALLOC_CTX *mem_ctx,
4587
struct tevent_context *ev,
4588
struct rpc_pipe_client *cli,
4589
const char *_server_name /* [in] [unique,charset(UTF16)] */,
4590
const char *_primary_name /* [in] [unique,charset(UTF16)] */,
4591
const char *_Account /* [in] [unique,charset(UTF16)] */,
4592
struct wkssvc_PasswordBuffer *_EncryptedPassword /* [in] [unique] */,
4593
uint32_t _Reserved /* [in] */)
4595
struct tevent_req *req;
4596
struct rpccli_wkssvc_NetrSetPrimaryComputername_state *state;
4597
struct tevent_req *subreq;
4599
req = tevent_req_create(mem_ctx, &state,
4600
struct rpccli_wkssvc_NetrSetPrimaryComputername_state);
4604
state->out_mem_ctx = NULL;
4605
state->dispatch_recv = cli->dispatch_recv;
4608
state->orig.in.server_name = _server_name;
4609
state->orig.in.primary_name = _primary_name;
4610
state->orig.in.Account = _Account;
4611
state->orig.in.EncryptedPassword = _EncryptedPassword;
4612
state->orig.in.Reserved = _Reserved;
4614
/* Out parameters */
4617
ZERO_STRUCT(state->orig.out.result);
4619
/* make a temporary copy, that we pass to the dispatch function */
4620
state->tmp = state->orig;
4622
subreq = cli->dispatch_send(state, ev, cli,
4624
NDR_WKSSVC_NETRSETPRIMARYCOMPUTERNAME,
4626
if (tevent_req_nomem(subreq, req)) {
4627
return tevent_req_post(req, ev);
4629
tevent_req_set_callback(subreq, rpccli_wkssvc_NetrSetPrimaryComputername_done, req);
4633
static void rpccli_wkssvc_NetrSetPrimaryComputername_done(struct tevent_req *subreq)
4635
struct tevent_req *req = tevent_req_callback_data(
4636
subreq, struct tevent_req);
4637
struct rpccli_wkssvc_NetrSetPrimaryComputername_state *state = tevent_req_data(
4638
req, struct rpccli_wkssvc_NetrSetPrimaryComputername_state);
4640
TALLOC_CTX *mem_ctx;
4642
if (state->out_mem_ctx) {
4643
mem_ctx = state->out_mem_ctx;
4648
status = state->dispatch_recv(subreq, mem_ctx);
4649
TALLOC_FREE(subreq);
4650
if (!NT_STATUS_IS_OK(status)) {
4651
tevent_req_nterror(req, status);
4655
/* Copy out parameters */
4658
state->orig.out.result = state->tmp.out.result;
4660
/* Reset temporary structure */
4661
ZERO_STRUCT(state->tmp);
4663
tevent_req_done(req);
4666
NTSTATUS rpccli_wkssvc_NetrSetPrimaryComputername_recv(struct tevent_req *req,
4667
TALLOC_CTX *mem_ctx,
4670
struct rpccli_wkssvc_NetrSetPrimaryComputername_state *state = tevent_req_data(
4671
req, struct rpccli_wkssvc_NetrSetPrimaryComputername_state);
4674
if (tevent_req_is_nterror(req, &status)) {
4675
tevent_req_received(req);
4679
/* Steal possbile out parameters to the callers context */
4680
talloc_steal(mem_ctx, state->out_mem_ctx);
4683
*result = state->orig.out.result;
4685
tevent_req_received(req);
4686
return NT_STATUS_OK;
4689
NTSTATUS rpccli_wkssvc_NetrSetPrimaryComputername(struct rpc_pipe_client *cli,
4690
TALLOC_CTX *mem_ctx,
4691
const char *server_name /* [in] [unique,charset(UTF16)] */,
4692
const char *primary_name /* [in] [unique,charset(UTF16)] */,
4693
const char *Account /* [in] [unique,charset(UTF16)] */,
4694
struct wkssvc_PasswordBuffer *EncryptedPassword /* [in] [unique] */,
4695
uint32_t Reserved /* [in] */,
4698
struct wkssvc_NetrSetPrimaryComputername r;
4702
r.in.server_name = server_name;
4703
r.in.primary_name = primary_name;
4704
r.in.Account = Account;
4705
r.in.EncryptedPassword = EncryptedPassword;
4706
r.in.Reserved = Reserved;
4708
status = cli->dispatch(cli,
4711
NDR_WKSSVC_NETRSETPRIMARYCOMPUTERNAME,
4714
if (!NT_STATUS_IS_OK(status)) {
4718
if (NT_STATUS_IS_ERR(status)) {
4722
/* Return variables */
4726
*werror = r.out.result;
4729
return werror_to_ntstatus(r.out.result);
4732
struct rpccli_wkssvc_NetrEnumerateComputerNames_state {
4733
struct wkssvc_NetrEnumerateComputerNames orig;
4734
struct wkssvc_NetrEnumerateComputerNames tmp;
4735
TALLOC_CTX *out_mem_ctx;
4736
NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
4739
static void rpccli_wkssvc_NetrEnumerateComputerNames_done(struct tevent_req *subreq);
4741
struct tevent_req *rpccli_wkssvc_NetrEnumerateComputerNames_send(TALLOC_CTX *mem_ctx,
4742
struct tevent_context *ev,
4743
struct rpc_pipe_client *cli,
4744
const char *_server_name /* [in] [unique,charset(UTF16)] */,
4745
enum wkssvc_ComputerNameType _name_type /* [in] */,
4746
uint32_t _Reserved /* [in] */,
4747
struct wkssvc_ComputerNamesCtr **_ctr /* [out] [ref] */)
4749
struct tevent_req *req;
4750
struct rpccli_wkssvc_NetrEnumerateComputerNames_state *state;
4751
struct tevent_req *subreq;
4753
req = tevent_req_create(mem_ctx, &state,
4754
struct rpccli_wkssvc_NetrEnumerateComputerNames_state);
4758
state->out_mem_ctx = NULL;
4759
state->dispatch_recv = cli->dispatch_recv;
4762
state->orig.in.server_name = _server_name;
4763
state->orig.in.name_type = _name_type;
4764
state->orig.in.Reserved = _Reserved;
4766
/* Out parameters */
4767
state->orig.out.ctr = _ctr;
4770
ZERO_STRUCT(state->orig.out.result);
4772
state->out_mem_ctx = talloc_named_const(state, 0,
4773
"rpccli_wkssvc_NetrEnumerateComputerNames_out_memory");
4774
if (tevent_req_nomem(state->out_mem_ctx, req)) {
4775
return tevent_req_post(req, ev);
4778
/* make a temporary copy, that we pass to the dispatch function */
4779
state->tmp = state->orig;
4781
subreq = cli->dispatch_send(state, ev, cli,
4783
NDR_WKSSVC_NETRENUMERATECOMPUTERNAMES,
4785
if (tevent_req_nomem(subreq, req)) {
4786
return tevent_req_post(req, ev);
4788
tevent_req_set_callback(subreq, rpccli_wkssvc_NetrEnumerateComputerNames_done, req);
4792
static void rpccli_wkssvc_NetrEnumerateComputerNames_done(struct tevent_req *subreq)
4794
struct tevent_req *req = tevent_req_callback_data(
4795
subreq, struct tevent_req);
4796
struct rpccli_wkssvc_NetrEnumerateComputerNames_state *state = tevent_req_data(
4797
req, struct rpccli_wkssvc_NetrEnumerateComputerNames_state);
4799
TALLOC_CTX *mem_ctx;
4801
if (state->out_mem_ctx) {
4802
mem_ctx = state->out_mem_ctx;
4807
status = state->dispatch_recv(subreq, mem_ctx);
4808
TALLOC_FREE(subreq);
4809
if (!NT_STATUS_IS_OK(status)) {
4810
tevent_req_nterror(req, status);
4814
/* Copy out parameters */
4815
*state->orig.out.ctr = *state->tmp.out.ctr;
4818
state->orig.out.result = state->tmp.out.result;
4820
/* Reset temporary structure */
4821
ZERO_STRUCT(state->tmp);
4823
tevent_req_done(req);
4826
NTSTATUS rpccli_wkssvc_NetrEnumerateComputerNames_recv(struct tevent_req *req,
4827
TALLOC_CTX *mem_ctx,
4830
struct rpccli_wkssvc_NetrEnumerateComputerNames_state *state = tevent_req_data(
4831
req, struct rpccli_wkssvc_NetrEnumerateComputerNames_state);
4834
if (tevent_req_is_nterror(req, &status)) {
4835
tevent_req_received(req);
4839
/* Steal possbile out parameters to the callers context */
4840
talloc_steal(mem_ctx, state->out_mem_ctx);
4843
*result = state->orig.out.result;
4845
tevent_req_received(req);
4846
return NT_STATUS_OK;
4849
NTSTATUS rpccli_wkssvc_NetrEnumerateComputerNames(struct rpc_pipe_client *cli,
4850
TALLOC_CTX *mem_ctx,
4851
const char *server_name /* [in] [unique,charset(UTF16)] */,
4852
enum wkssvc_ComputerNameType name_type /* [in] */,
4853
uint32_t Reserved /* [in] */,
4854
struct wkssvc_ComputerNamesCtr **ctr /* [out] [ref] */,
4857
struct wkssvc_NetrEnumerateComputerNames r;
4861
r.in.server_name = server_name;
4862
r.in.name_type = name_type;
4863
r.in.Reserved = Reserved;
4865
status = cli->dispatch(cli,
4868
NDR_WKSSVC_NETRENUMERATECOMPUTERNAMES,
4871
if (!NT_STATUS_IS_OK(status)) {
4875
if (NT_STATUS_IS_ERR(status)) {
4879
/* Return variables */
4884
*werror = r.out.result;
4887
return werror_to_ntstatus(r.out.result);