1
/* client functions auto-generated by pidl */
5
#include "lib/util/tevent_ntstatus.h"
6
#include "librpc/gen_ndr/ndr_ntprinting.h"
7
#include "librpc/gen_ndr/ndr_ntprinting_c.h"
9
/* ntprinting - client functions generated by pidl */
11
struct dcerpc_decode_ntprinting_form_r_state {
12
TALLOC_CTX *out_mem_ctx;
15
static void dcerpc_decode_ntprinting_form_r_done(struct tevent_req *subreq);
17
struct tevent_req *dcerpc_decode_ntprinting_form_r_send(TALLOC_CTX *mem_ctx,
18
struct tevent_context *ev,
19
struct dcerpc_binding_handle *h,
20
struct decode_ntprinting_form *r)
22
struct tevent_req *req;
23
struct dcerpc_decode_ntprinting_form_r_state *state;
24
struct tevent_req *subreq;
26
req = tevent_req_create(mem_ctx, &state,
27
struct dcerpc_decode_ntprinting_form_r_state);
32
state->out_mem_ctx = NULL;
34
subreq = dcerpc_binding_handle_call_send(state, ev, h,
35
NULL, &ndr_table_ntprinting,
36
NDR_DECODE_NTPRINTING_FORM, state, r);
37
if (tevent_req_nomem(subreq, req)) {
38
return tevent_req_post(req, ev);
40
tevent_req_set_callback(subreq, dcerpc_decode_ntprinting_form_r_done, req);
45
static void dcerpc_decode_ntprinting_form_r_done(struct tevent_req *subreq)
47
struct tevent_req *req =
48
tevent_req_callback_data(subreq,
52
status = dcerpc_binding_handle_call_recv(subreq);
53
if (!NT_STATUS_IS_OK(status)) {
54
tevent_req_nterror(req, status);
61
NTSTATUS dcerpc_decode_ntprinting_form_r_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx)
63
struct dcerpc_decode_ntprinting_form_r_state *state =
65
struct dcerpc_decode_ntprinting_form_r_state);
68
if (tevent_req_is_nterror(req, &status)) {
69
tevent_req_received(req);
73
talloc_steal(mem_ctx, state->out_mem_ctx);
75
tevent_req_received(req);
79
NTSTATUS dcerpc_decode_ntprinting_form_r(struct dcerpc_binding_handle *h, TALLOC_CTX *mem_ctx, struct decode_ntprinting_form *r)
83
status = dcerpc_binding_handle_call(h,
84
NULL, &ndr_table_ntprinting,
85
NDR_DECODE_NTPRINTING_FORM, mem_ctx, r);
90
struct dcerpc_decode_ntprinting_form_state {
91
struct decode_ntprinting_form orig;
92
struct decode_ntprinting_form tmp;
93
TALLOC_CTX *out_mem_ctx;
96
static void dcerpc_decode_ntprinting_form_done(struct tevent_req *subreq);
98
struct tevent_req *dcerpc_decode_ntprinting_form_send(TALLOC_CTX *mem_ctx,
99
struct tevent_context *ev,
100
struct dcerpc_binding_handle *h,
101
struct ntprinting_form _form /* [in] */)
103
struct tevent_req *req;
104
struct dcerpc_decode_ntprinting_form_state *state;
105
struct tevent_req *subreq;
107
req = tevent_req_create(mem_ctx, &state,
108
struct dcerpc_decode_ntprinting_form_state);
112
state->out_mem_ctx = NULL;
115
state->orig.in.form = _form;
119
/* make a temporary copy, that we pass to the dispatch function */
120
state->tmp = state->orig;
122
subreq = dcerpc_decode_ntprinting_form_r_send(state, ev, h, &state->tmp);
123
if (tevent_req_nomem(subreq, req)) {
124
return tevent_req_post(req, ev);
126
tevent_req_set_callback(subreq, dcerpc_decode_ntprinting_form_done, req);
130
static void dcerpc_decode_ntprinting_form_done(struct tevent_req *subreq)
132
struct tevent_req *req = tevent_req_callback_data(
133
subreq, struct tevent_req);
134
struct dcerpc_decode_ntprinting_form_state *state = tevent_req_data(
135
req, struct dcerpc_decode_ntprinting_form_state);
139
if (state->out_mem_ctx) {
140
mem_ctx = state->out_mem_ctx;
145
status = dcerpc_decode_ntprinting_form_r_recv(subreq, mem_ctx);
147
if (!NT_STATUS_IS_OK(status)) {
148
tevent_req_nterror(req, status);
152
/* Copy out parameters */
154
/* Reset temporary structure */
155
ZERO_STRUCT(state->tmp);
157
tevent_req_done(req);
160
NTSTATUS dcerpc_decode_ntprinting_form_recv(struct tevent_req *req,
163
struct dcerpc_decode_ntprinting_form_state *state = tevent_req_data(
164
req, struct dcerpc_decode_ntprinting_form_state);
167
if (tevent_req_is_nterror(req, &status)) {
168
tevent_req_received(req);
172
/* Steal possible out parameters to the callers context */
173
talloc_steal(mem_ctx, state->out_mem_ctx);
175
tevent_req_received(req);
179
NTSTATUS dcerpc_decode_ntprinting_form(struct dcerpc_binding_handle *h,
181
struct ntprinting_form _form /* [in] */)
183
struct decode_ntprinting_form r;
189
status = dcerpc_decode_ntprinting_form_r(h, mem_ctx, &r);
190
if (!NT_STATUS_IS_OK(status)) {
194
/* Return variables */
201
struct dcerpc_decode_ntprinting_driver_r_state {
202
TALLOC_CTX *out_mem_ctx;
205
static void dcerpc_decode_ntprinting_driver_r_done(struct tevent_req *subreq);
207
struct tevent_req *dcerpc_decode_ntprinting_driver_r_send(TALLOC_CTX *mem_ctx,
208
struct tevent_context *ev,
209
struct dcerpc_binding_handle *h,
210
struct decode_ntprinting_driver *r)
212
struct tevent_req *req;
213
struct dcerpc_decode_ntprinting_driver_r_state *state;
214
struct tevent_req *subreq;
216
req = tevent_req_create(mem_ctx, &state,
217
struct dcerpc_decode_ntprinting_driver_r_state);
222
state->out_mem_ctx = NULL;
224
subreq = dcerpc_binding_handle_call_send(state, ev, h,
225
NULL, &ndr_table_ntprinting,
226
NDR_DECODE_NTPRINTING_DRIVER, state, r);
227
if (tevent_req_nomem(subreq, req)) {
228
return tevent_req_post(req, ev);
230
tevent_req_set_callback(subreq, dcerpc_decode_ntprinting_driver_r_done, req);
235
static void dcerpc_decode_ntprinting_driver_r_done(struct tevent_req *subreq)
237
struct tevent_req *req =
238
tevent_req_callback_data(subreq,
242
status = dcerpc_binding_handle_call_recv(subreq);
243
if (!NT_STATUS_IS_OK(status)) {
244
tevent_req_nterror(req, status);
248
tevent_req_done(req);
251
NTSTATUS dcerpc_decode_ntprinting_driver_r_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx)
253
struct dcerpc_decode_ntprinting_driver_r_state *state =
255
struct dcerpc_decode_ntprinting_driver_r_state);
258
if (tevent_req_is_nterror(req, &status)) {
259
tevent_req_received(req);
263
talloc_steal(mem_ctx, state->out_mem_ctx);
265
tevent_req_received(req);
269
NTSTATUS dcerpc_decode_ntprinting_driver_r(struct dcerpc_binding_handle *h, TALLOC_CTX *mem_ctx, struct decode_ntprinting_driver *r)
273
status = dcerpc_binding_handle_call(h,
274
NULL, &ndr_table_ntprinting,
275
NDR_DECODE_NTPRINTING_DRIVER, mem_ctx, r);
280
struct dcerpc_decode_ntprinting_driver_state {
281
struct decode_ntprinting_driver orig;
282
struct decode_ntprinting_driver tmp;
283
TALLOC_CTX *out_mem_ctx;
286
static void dcerpc_decode_ntprinting_driver_done(struct tevent_req *subreq);
288
struct tevent_req *dcerpc_decode_ntprinting_driver_send(TALLOC_CTX *mem_ctx,
289
struct tevent_context *ev,
290
struct dcerpc_binding_handle *h,
291
struct ntprinting_driver _driver /* [in] */)
293
struct tevent_req *req;
294
struct dcerpc_decode_ntprinting_driver_state *state;
295
struct tevent_req *subreq;
297
req = tevent_req_create(mem_ctx, &state,
298
struct dcerpc_decode_ntprinting_driver_state);
302
state->out_mem_ctx = NULL;
305
state->orig.in.driver = _driver;
309
/* make a temporary copy, that we pass to the dispatch function */
310
state->tmp = state->orig;
312
subreq = dcerpc_decode_ntprinting_driver_r_send(state, ev, h, &state->tmp);
313
if (tevent_req_nomem(subreq, req)) {
314
return tevent_req_post(req, ev);
316
tevent_req_set_callback(subreq, dcerpc_decode_ntprinting_driver_done, req);
320
static void dcerpc_decode_ntprinting_driver_done(struct tevent_req *subreq)
322
struct tevent_req *req = tevent_req_callback_data(
323
subreq, struct tevent_req);
324
struct dcerpc_decode_ntprinting_driver_state *state = tevent_req_data(
325
req, struct dcerpc_decode_ntprinting_driver_state);
329
if (state->out_mem_ctx) {
330
mem_ctx = state->out_mem_ctx;
335
status = dcerpc_decode_ntprinting_driver_r_recv(subreq, mem_ctx);
337
if (!NT_STATUS_IS_OK(status)) {
338
tevent_req_nterror(req, status);
342
/* Copy out parameters */
344
/* Reset temporary structure */
345
ZERO_STRUCT(state->tmp);
347
tevent_req_done(req);
350
NTSTATUS dcerpc_decode_ntprinting_driver_recv(struct tevent_req *req,
353
struct dcerpc_decode_ntprinting_driver_state *state = tevent_req_data(
354
req, struct dcerpc_decode_ntprinting_driver_state);
357
if (tevent_req_is_nterror(req, &status)) {
358
tevent_req_received(req);
362
/* Steal possible out parameters to the callers context */
363
talloc_steal(mem_ctx, state->out_mem_ctx);
365
tevent_req_received(req);
369
NTSTATUS dcerpc_decode_ntprinting_driver(struct dcerpc_binding_handle *h,
371
struct ntprinting_driver _driver /* [in] */)
373
struct decode_ntprinting_driver r;
377
r.in.driver = _driver;
379
status = dcerpc_decode_ntprinting_driver_r(h, mem_ctx, &r);
380
if (!NT_STATUS_IS_OK(status)) {
384
/* Return variables */
391
struct dcerpc_decode_ntprinting_printer_r_state {
392
TALLOC_CTX *out_mem_ctx;
395
static void dcerpc_decode_ntprinting_printer_r_done(struct tevent_req *subreq);
397
struct tevent_req *dcerpc_decode_ntprinting_printer_r_send(TALLOC_CTX *mem_ctx,
398
struct tevent_context *ev,
399
struct dcerpc_binding_handle *h,
400
struct decode_ntprinting_printer *r)
402
struct tevent_req *req;
403
struct dcerpc_decode_ntprinting_printer_r_state *state;
404
struct tevent_req *subreq;
406
req = tevent_req_create(mem_ctx, &state,
407
struct dcerpc_decode_ntprinting_printer_r_state);
412
state->out_mem_ctx = NULL;
414
subreq = dcerpc_binding_handle_call_send(state, ev, h,
415
NULL, &ndr_table_ntprinting,
416
NDR_DECODE_NTPRINTING_PRINTER, state, r);
417
if (tevent_req_nomem(subreq, req)) {
418
return tevent_req_post(req, ev);
420
tevent_req_set_callback(subreq, dcerpc_decode_ntprinting_printer_r_done, req);
425
static void dcerpc_decode_ntprinting_printer_r_done(struct tevent_req *subreq)
427
struct tevent_req *req =
428
tevent_req_callback_data(subreq,
432
status = dcerpc_binding_handle_call_recv(subreq);
433
if (!NT_STATUS_IS_OK(status)) {
434
tevent_req_nterror(req, status);
438
tevent_req_done(req);
441
NTSTATUS dcerpc_decode_ntprinting_printer_r_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx)
443
struct dcerpc_decode_ntprinting_printer_r_state *state =
445
struct dcerpc_decode_ntprinting_printer_r_state);
448
if (tevent_req_is_nterror(req, &status)) {
449
tevent_req_received(req);
453
talloc_steal(mem_ctx, state->out_mem_ctx);
455
tevent_req_received(req);
459
NTSTATUS dcerpc_decode_ntprinting_printer_r(struct dcerpc_binding_handle *h, TALLOC_CTX *mem_ctx, struct decode_ntprinting_printer *r)
463
status = dcerpc_binding_handle_call(h,
464
NULL, &ndr_table_ntprinting,
465
NDR_DECODE_NTPRINTING_PRINTER, mem_ctx, r);
470
struct dcerpc_decode_ntprinting_printer_state {
471
struct decode_ntprinting_printer orig;
472
struct decode_ntprinting_printer tmp;
473
TALLOC_CTX *out_mem_ctx;
476
static void dcerpc_decode_ntprinting_printer_done(struct tevent_req *subreq);
478
struct tevent_req *dcerpc_decode_ntprinting_printer_send(TALLOC_CTX *mem_ctx,
479
struct tevent_context *ev,
480
struct dcerpc_binding_handle *h,
481
struct ntprinting_printer _printer /* [in] */)
483
struct tevent_req *req;
484
struct dcerpc_decode_ntprinting_printer_state *state;
485
struct tevent_req *subreq;
487
req = tevent_req_create(mem_ctx, &state,
488
struct dcerpc_decode_ntprinting_printer_state);
492
state->out_mem_ctx = NULL;
495
state->orig.in.printer = _printer;
499
/* make a temporary copy, that we pass to the dispatch function */
500
state->tmp = state->orig;
502
subreq = dcerpc_decode_ntprinting_printer_r_send(state, ev, h, &state->tmp);
503
if (tevent_req_nomem(subreq, req)) {
504
return tevent_req_post(req, ev);
506
tevent_req_set_callback(subreq, dcerpc_decode_ntprinting_printer_done, req);
510
static void dcerpc_decode_ntprinting_printer_done(struct tevent_req *subreq)
512
struct tevent_req *req = tevent_req_callback_data(
513
subreq, struct tevent_req);
514
struct dcerpc_decode_ntprinting_printer_state *state = tevent_req_data(
515
req, struct dcerpc_decode_ntprinting_printer_state);
519
if (state->out_mem_ctx) {
520
mem_ctx = state->out_mem_ctx;
525
status = dcerpc_decode_ntprinting_printer_r_recv(subreq, mem_ctx);
527
if (!NT_STATUS_IS_OK(status)) {
528
tevent_req_nterror(req, status);
532
/* Copy out parameters */
534
/* Reset temporary structure */
535
ZERO_STRUCT(state->tmp);
537
tevent_req_done(req);
540
NTSTATUS dcerpc_decode_ntprinting_printer_recv(struct tevent_req *req,
543
struct dcerpc_decode_ntprinting_printer_state *state = tevent_req_data(
544
req, struct dcerpc_decode_ntprinting_printer_state);
547
if (tevent_req_is_nterror(req, &status)) {
548
tevent_req_received(req);
552
/* Steal possible out parameters to the callers context */
553
talloc_steal(mem_ctx, state->out_mem_ctx);
555
tevent_req_received(req);
559
NTSTATUS dcerpc_decode_ntprinting_printer(struct dcerpc_binding_handle *h,
561
struct ntprinting_printer _printer /* [in] */)
563
struct decode_ntprinting_printer r;
567
r.in.printer = _printer;
569
status = dcerpc_decode_ntprinting_printer_r(h, mem_ctx, &r);
570
if (!NT_STATUS_IS_OK(status)) {
574
/* Return variables */