s3: re-run make samba3-idl.
[Samba/gbeck.git] / source3 / librpc / gen_ndr / srv_srvsvc.c
blob60a7212805c24c1eef365371a847c656c4550721
1 /*
2 * Unix SMB/CIFS implementation.
3 * server auto-generated by pidl. DO NOT MODIFY!
4 */
6 #include "includes.h"
7 #include "librpc/gen_ndr/srv_srvsvc.h"
9 static bool api_srvsvc_NetCharDevEnum(pipes_struct *p)
11 const struct ndr_interface_call *call;
12 struct ndr_pull *pull;
13 struct ndr_push *push;
14 enum ndr_err_code ndr_err;
15 DATA_BLOB blob;
16 struct srvsvc_NetCharDevEnum *r;
18 call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETCHARDEVENUM];
20 r = talloc(talloc_tos(), struct srvsvc_NetCharDevEnum);
21 if (r == NULL) {
22 return false;
25 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
26 talloc_free(r);
27 return false;
30 pull = ndr_pull_init_blob(&blob, r, NULL);
31 if (pull == NULL) {
32 talloc_free(r);
33 return false;
36 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
37 ndr_err = call->ndr_pull(pull, NDR_IN, r);
38 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
39 talloc_free(r);
40 return false;
43 if (DEBUGLEVEL >= 10) {
44 NDR_PRINT_IN_DEBUG(srvsvc_NetCharDevEnum, r);
47 ZERO_STRUCT(r->out);
48 r->out.level = r->in.level;
49 r->out.ctr = r->in.ctr;
50 r->out.totalentries = talloc_zero(r, uint32_t);
51 if (r->out.totalentries == NULL) {
52 talloc_free(r);
53 return false;
56 r->out.resume_handle = r->in.resume_handle;
57 r->out.result = _srvsvc_NetCharDevEnum(p, r);
59 if (p->rng_fault_state) {
60 talloc_free(r);
61 /* Return true here, srv_pipe_hnd.c will take care */
62 return true;
65 if (DEBUGLEVEL >= 10) {
66 NDR_PRINT_OUT_DEBUG(srvsvc_NetCharDevEnum, r);
69 push = ndr_push_init_ctx(r);
70 if (push == NULL) {
71 talloc_free(r);
72 return false;
75 ndr_err = call->ndr_push(push, NDR_OUT, r);
76 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
77 talloc_free(r);
78 return false;
81 blob = ndr_push_blob(push);
82 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
83 talloc_free(r);
84 return false;
87 talloc_free(r);
89 return true;
92 static bool api_srvsvc_NetCharDevGetInfo(pipes_struct *p)
94 const struct ndr_interface_call *call;
95 struct ndr_pull *pull;
96 struct ndr_push *push;
97 enum ndr_err_code ndr_err;
98 DATA_BLOB blob;
99 struct srvsvc_NetCharDevGetInfo *r;
101 call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETCHARDEVGETINFO];
103 r = talloc(talloc_tos(), struct srvsvc_NetCharDevGetInfo);
104 if (r == NULL) {
105 return false;
108 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
109 talloc_free(r);
110 return false;
113 pull = ndr_pull_init_blob(&blob, r, NULL);
114 if (pull == NULL) {
115 talloc_free(r);
116 return false;
119 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
120 ndr_err = call->ndr_pull(pull, NDR_IN, r);
121 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
122 talloc_free(r);
123 return false;
126 if (DEBUGLEVEL >= 10) {
127 NDR_PRINT_IN_DEBUG(srvsvc_NetCharDevGetInfo, r);
130 ZERO_STRUCT(r->out);
131 r->out.info = talloc_zero(r, union srvsvc_NetCharDevInfo);
132 if (r->out.info == NULL) {
133 talloc_free(r);
134 return false;
137 r->out.result = _srvsvc_NetCharDevGetInfo(p, r);
139 if (p->rng_fault_state) {
140 talloc_free(r);
141 /* Return true here, srv_pipe_hnd.c will take care */
142 return true;
145 if (DEBUGLEVEL >= 10) {
146 NDR_PRINT_OUT_DEBUG(srvsvc_NetCharDevGetInfo, r);
149 push = ndr_push_init_ctx(r);
150 if (push == NULL) {
151 talloc_free(r);
152 return false;
155 ndr_err = call->ndr_push(push, NDR_OUT, r);
156 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
157 talloc_free(r);
158 return false;
161 blob = ndr_push_blob(push);
162 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
163 talloc_free(r);
164 return false;
167 talloc_free(r);
169 return true;
172 static bool api_srvsvc_NetCharDevControl(pipes_struct *p)
174 const struct ndr_interface_call *call;
175 struct ndr_pull *pull;
176 struct ndr_push *push;
177 enum ndr_err_code ndr_err;
178 DATA_BLOB blob;
179 struct srvsvc_NetCharDevControl *r;
181 call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETCHARDEVCONTROL];
183 r = talloc(talloc_tos(), struct srvsvc_NetCharDevControl);
184 if (r == NULL) {
185 return false;
188 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
189 talloc_free(r);
190 return false;
193 pull = ndr_pull_init_blob(&blob, r, NULL);
194 if (pull == NULL) {
195 talloc_free(r);
196 return false;
199 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
200 ndr_err = call->ndr_pull(pull, NDR_IN, r);
201 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
202 talloc_free(r);
203 return false;
206 if (DEBUGLEVEL >= 10) {
207 NDR_PRINT_IN_DEBUG(srvsvc_NetCharDevControl, r);
210 r->out.result = _srvsvc_NetCharDevControl(p, r);
212 if (p->rng_fault_state) {
213 talloc_free(r);
214 /* Return true here, srv_pipe_hnd.c will take care */
215 return true;
218 if (DEBUGLEVEL >= 10) {
219 NDR_PRINT_OUT_DEBUG(srvsvc_NetCharDevControl, r);
222 push = ndr_push_init_ctx(r);
223 if (push == NULL) {
224 talloc_free(r);
225 return false;
228 ndr_err = call->ndr_push(push, NDR_OUT, r);
229 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
230 talloc_free(r);
231 return false;
234 blob = ndr_push_blob(push);
235 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
236 talloc_free(r);
237 return false;
240 talloc_free(r);
242 return true;
245 static bool api_srvsvc_NetCharDevQEnum(pipes_struct *p)
247 const struct ndr_interface_call *call;
248 struct ndr_pull *pull;
249 struct ndr_push *push;
250 enum ndr_err_code ndr_err;
251 DATA_BLOB blob;
252 struct srvsvc_NetCharDevQEnum *r;
254 call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETCHARDEVQENUM];
256 r = talloc(talloc_tos(), struct srvsvc_NetCharDevQEnum);
257 if (r == NULL) {
258 return false;
261 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
262 talloc_free(r);
263 return false;
266 pull = ndr_pull_init_blob(&blob, r, NULL);
267 if (pull == NULL) {
268 talloc_free(r);
269 return false;
272 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
273 ndr_err = call->ndr_pull(pull, NDR_IN, r);
274 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
275 talloc_free(r);
276 return false;
279 if (DEBUGLEVEL >= 10) {
280 NDR_PRINT_IN_DEBUG(srvsvc_NetCharDevQEnum, r);
283 ZERO_STRUCT(r->out);
284 r->out.level = r->in.level;
285 r->out.ctr = r->in.ctr;
286 r->out.totalentries = talloc_zero(r, uint32_t);
287 if (r->out.totalentries == NULL) {
288 talloc_free(r);
289 return false;
292 r->out.resume_handle = r->in.resume_handle;
293 r->out.result = _srvsvc_NetCharDevQEnum(p, r);
295 if (p->rng_fault_state) {
296 talloc_free(r);
297 /* Return true here, srv_pipe_hnd.c will take care */
298 return true;
301 if (DEBUGLEVEL >= 10) {
302 NDR_PRINT_OUT_DEBUG(srvsvc_NetCharDevQEnum, r);
305 push = ndr_push_init_ctx(r);
306 if (push == NULL) {
307 talloc_free(r);
308 return false;
311 ndr_err = call->ndr_push(push, NDR_OUT, r);
312 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
313 talloc_free(r);
314 return false;
317 blob = ndr_push_blob(push);
318 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
319 talloc_free(r);
320 return false;
323 talloc_free(r);
325 return true;
328 static bool api_srvsvc_NetCharDevQGetInfo(pipes_struct *p)
330 const struct ndr_interface_call *call;
331 struct ndr_pull *pull;
332 struct ndr_push *push;
333 enum ndr_err_code ndr_err;
334 DATA_BLOB blob;
335 struct srvsvc_NetCharDevQGetInfo *r;
337 call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETCHARDEVQGETINFO];
339 r = talloc(talloc_tos(), struct srvsvc_NetCharDevQGetInfo);
340 if (r == NULL) {
341 return false;
344 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
345 talloc_free(r);
346 return false;
349 pull = ndr_pull_init_blob(&blob, r, NULL);
350 if (pull == NULL) {
351 talloc_free(r);
352 return false;
355 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
356 ndr_err = call->ndr_pull(pull, NDR_IN, r);
357 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
358 talloc_free(r);
359 return false;
362 if (DEBUGLEVEL >= 10) {
363 NDR_PRINT_IN_DEBUG(srvsvc_NetCharDevQGetInfo, r);
366 ZERO_STRUCT(r->out);
367 r->out.info = talloc_zero(r, union srvsvc_NetCharDevQInfo);
368 if (r->out.info == NULL) {
369 talloc_free(r);
370 return false;
373 r->out.result = _srvsvc_NetCharDevQGetInfo(p, r);
375 if (p->rng_fault_state) {
376 talloc_free(r);
377 /* Return true here, srv_pipe_hnd.c will take care */
378 return true;
381 if (DEBUGLEVEL >= 10) {
382 NDR_PRINT_OUT_DEBUG(srvsvc_NetCharDevQGetInfo, r);
385 push = ndr_push_init_ctx(r);
386 if (push == NULL) {
387 talloc_free(r);
388 return false;
391 ndr_err = call->ndr_push(push, NDR_OUT, r);
392 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
393 talloc_free(r);
394 return false;
397 blob = ndr_push_blob(push);
398 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
399 talloc_free(r);
400 return false;
403 talloc_free(r);
405 return true;
408 static bool api_srvsvc_NetCharDevQSetInfo(pipes_struct *p)
410 const struct ndr_interface_call *call;
411 struct ndr_pull *pull;
412 struct ndr_push *push;
413 enum ndr_err_code ndr_err;
414 DATA_BLOB blob;
415 struct srvsvc_NetCharDevQSetInfo *r;
417 call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETCHARDEVQSETINFO];
419 r = talloc(talloc_tos(), struct srvsvc_NetCharDevQSetInfo);
420 if (r == NULL) {
421 return false;
424 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
425 talloc_free(r);
426 return false;
429 pull = ndr_pull_init_blob(&blob, r, NULL);
430 if (pull == NULL) {
431 talloc_free(r);
432 return false;
435 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
436 ndr_err = call->ndr_pull(pull, NDR_IN, r);
437 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
438 talloc_free(r);
439 return false;
442 if (DEBUGLEVEL >= 10) {
443 NDR_PRINT_IN_DEBUG(srvsvc_NetCharDevQSetInfo, r);
446 ZERO_STRUCT(r->out);
447 r->out.parm_error = r->in.parm_error;
448 r->out.result = _srvsvc_NetCharDevQSetInfo(p, r);
450 if (p->rng_fault_state) {
451 talloc_free(r);
452 /* Return true here, srv_pipe_hnd.c will take care */
453 return true;
456 if (DEBUGLEVEL >= 10) {
457 NDR_PRINT_OUT_DEBUG(srvsvc_NetCharDevQSetInfo, r);
460 push = ndr_push_init_ctx(r);
461 if (push == NULL) {
462 talloc_free(r);
463 return false;
466 ndr_err = call->ndr_push(push, NDR_OUT, r);
467 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
468 talloc_free(r);
469 return false;
472 blob = ndr_push_blob(push);
473 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
474 talloc_free(r);
475 return false;
478 talloc_free(r);
480 return true;
483 static bool api_srvsvc_NetCharDevQPurge(pipes_struct *p)
485 const struct ndr_interface_call *call;
486 struct ndr_pull *pull;
487 struct ndr_push *push;
488 enum ndr_err_code ndr_err;
489 DATA_BLOB blob;
490 struct srvsvc_NetCharDevQPurge *r;
492 call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETCHARDEVQPURGE];
494 r = talloc(talloc_tos(), struct srvsvc_NetCharDevQPurge);
495 if (r == NULL) {
496 return false;
499 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
500 talloc_free(r);
501 return false;
504 pull = ndr_pull_init_blob(&blob, r, NULL);
505 if (pull == NULL) {
506 talloc_free(r);
507 return false;
510 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
511 ndr_err = call->ndr_pull(pull, NDR_IN, r);
512 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
513 talloc_free(r);
514 return false;
517 if (DEBUGLEVEL >= 10) {
518 NDR_PRINT_IN_DEBUG(srvsvc_NetCharDevQPurge, r);
521 r->out.result = _srvsvc_NetCharDevQPurge(p, r);
523 if (p->rng_fault_state) {
524 talloc_free(r);
525 /* Return true here, srv_pipe_hnd.c will take care */
526 return true;
529 if (DEBUGLEVEL >= 10) {
530 NDR_PRINT_OUT_DEBUG(srvsvc_NetCharDevQPurge, r);
533 push = ndr_push_init_ctx(r);
534 if (push == NULL) {
535 talloc_free(r);
536 return false;
539 ndr_err = call->ndr_push(push, NDR_OUT, r);
540 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
541 talloc_free(r);
542 return false;
545 blob = ndr_push_blob(push);
546 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
547 talloc_free(r);
548 return false;
551 talloc_free(r);
553 return true;
556 static bool api_srvsvc_NetCharDevQPurgeSelf(pipes_struct *p)
558 const struct ndr_interface_call *call;
559 struct ndr_pull *pull;
560 struct ndr_push *push;
561 enum ndr_err_code ndr_err;
562 DATA_BLOB blob;
563 struct srvsvc_NetCharDevQPurgeSelf *r;
565 call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETCHARDEVQPURGESELF];
567 r = talloc(talloc_tos(), struct srvsvc_NetCharDevQPurgeSelf);
568 if (r == NULL) {
569 return false;
572 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
573 talloc_free(r);
574 return false;
577 pull = ndr_pull_init_blob(&blob, r, NULL);
578 if (pull == NULL) {
579 talloc_free(r);
580 return false;
583 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
584 ndr_err = call->ndr_pull(pull, NDR_IN, r);
585 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
586 talloc_free(r);
587 return false;
590 if (DEBUGLEVEL >= 10) {
591 NDR_PRINT_IN_DEBUG(srvsvc_NetCharDevQPurgeSelf, r);
594 r->out.result = _srvsvc_NetCharDevQPurgeSelf(p, r);
596 if (p->rng_fault_state) {
597 talloc_free(r);
598 /* Return true here, srv_pipe_hnd.c will take care */
599 return true;
602 if (DEBUGLEVEL >= 10) {
603 NDR_PRINT_OUT_DEBUG(srvsvc_NetCharDevQPurgeSelf, r);
606 push = ndr_push_init_ctx(r);
607 if (push == NULL) {
608 talloc_free(r);
609 return false;
612 ndr_err = call->ndr_push(push, NDR_OUT, r);
613 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
614 talloc_free(r);
615 return false;
618 blob = ndr_push_blob(push);
619 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
620 talloc_free(r);
621 return false;
624 talloc_free(r);
626 return true;
629 static bool api_srvsvc_NetConnEnum(pipes_struct *p)
631 const struct ndr_interface_call *call;
632 struct ndr_pull *pull;
633 struct ndr_push *push;
634 enum ndr_err_code ndr_err;
635 DATA_BLOB blob;
636 struct srvsvc_NetConnEnum *r;
638 call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETCONNENUM];
640 r = talloc(talloc_tos(), struct srvsvc_NetConnEnum);
641 if (r == NULL) {
642 return false;
645 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
646 talloc_free(r);
647 return false;
650 pull = ndr_pull_init_blob(&blob, r, NULL);
651 if (pull == NULL) {
652 talloc_free(r);
653 return false;
656 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
657 ndr_err = call->ndr_pull(pull, NDR_IN, r);
658 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
659 talloc_free(r);
660 return false;
663 if (DEBUGLEVEL >= 10) {
664 NDR_PRINT_IN_DEBUG(srvsvc_NetConnEnum, r);
667 ZERO_STRUCT(r->out);
668 r->out.info_ctr = r->in.info_ctr;
669 r->out.totalentries = talloc_zero(r, uint32_t);
670 if (r->out.totalentries == NULL) {
671 talloc_free(r);
672 return false;
675 r->out.resume_handle = r->in.resume_handle;
676 r->out.result = _srvsvc_NetConnEnum(p, r);
678 if (p->rng_fault_state) {
679 talloc_free(r);
680 /* Return true here, srv_pipe_hnd.c will take care */
681 return true;
684 if (DEBUGLEVEL >= 10) {
685 NDR_PRINT_OUT_DEBUG(srvsvc_NetConnEnum, r);
688 push = ndr_push_init_ctx(r);
689 if (push == NULL) {
690 talloc_free(r);
691 return false;
694 ndr_err = call->ndr_push(push, NDR_OUT, r);
695 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
696 talloc_free(r);
697 return false;
700 blob = ndr_push_blob(push);
701 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
702 talloc_free(r);
703 return false;
706 talloc_free(r);
708 return true;
711 static bool api_srvsvc_NetFileEnum(pipes_struct *p)
713 const struct ndr_interface_call *call;
714 struct ndr_pull *pull;
715 struct ndr_push *push;
716 enum ndr_err_code ndr_err;
717 DATA_BLOB blob;
718 struct srvsvc_NetFileEnum *r;
720 call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETFILEENUM];
722 r = talloc(talloc_tos(), struct srvsvc_NetFileEnum);
723 if (r == NULL) {
724 return false;
727 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
728 talloc_free(r);
729 return false;
732 pull = ndr_pull_init_blob(&blob, r, NULL);
733 if (pull == NULL) {
734 talloc_free(r);
735 return false;
738 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
739 ndr_err = call->ndr_pull(pull, NDR_IN, r);
740 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
741 talloc_free(r);
742 return false;
745 if (DEBUGLEVEL >= 10) {
746 NDR_PRINT_IN_DEBUG(srvsvc_NetFileEnum, r);
749 ZERO_STRUCT(r->out);
750 r->out.info_ctr = r->in.info_ctr;
751 r->out.totalentries = talloc_zero(r, uint32_t);
752 if (r->out.totalentries == NULL) {
753 talloc_free(r);
754 return false;
757 r->out.resume_handle = r->in.resume_handle;
758 r->out.result = _srvsvc_NetFileEnum(p, r);
760 if (p->rng_fault_state) {
761 talloc_free(r);
762 /* Return true here, srv_pipe_hnd.c will take care */
763 return true;
766 if (DEBUGLEVEL >= 10) {
767 NDR_PRINT_OUT_DEBUG(srvsvc_NetFileEnum, r);
770 push = ndr_push_init_ctx(r);
771 if (push == NULL) {
772 talloc_free(r);
773 return false;
776 ndr_err = call->ndr_push(push, NDR_OUT, r);
777 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
778 talloc_free(r);
779 return false;
782 blob = ndr_push_blob(push);
783 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
784 talloc_free(r);
785 return false;
788 talloc_free(r);
790 return true;
793 static bool api_srvsvc_NetFileGetInfo(pipes_struct *p)
795 const struct ndr_interface_call *call;
796 struct ndr_pull *pull;
797 struct ndr_push *push;
798 enum ndr_err_code ndr_err;
799 DATA_BLOB blob;
800 struct srvsvc_NetFileGetInfo *r;
802 call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETFILEGETINFO];
804 r = talloc(talloc_tos(), struct srvsvc_NetFileGetInfo);
805 if (r == NULL) {
806 return false;
809 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
810 talloc_free(r);
811 return false;
814 pull = ndr_pull_init_blob(&blob, r, NULL);
815 if (pull == NULL) {
816 talloc_free(r);
817 return false;
820 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
821 ndr_err = call->ndr_pull(pull, NDR_IN, r);
822 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
823 talloc_free(r);
824 return false;
827 if (DEBUGLEVEL >= 10) {
828 NDR_PRINT_IN_DEBUG(srvsvc_NetFileGetInfo, r);
831 ZERO_STRUCT(r->out);
832 r->out.info = talloc_zero(r, union srvsvc_NetFileInfo);
833 if (r->out.info == NULL) {
834 talloc_free(r);
835 return false;
838 r->out.result = _srvsvc_NetFileGetInfo(p, r);
840 if (p->rng_fault_state) {
841 talloc_free(r);
842 /* Return true here, srv_pipe_hnd.c will take care */
843 return true;
846 if (DEBUGLEVEL >= 10) {
847 NDR_PRINT_OUT_DEBUG(srvsvc_NetFileGetInfo, r);
850 push = ndr_push_init_ctx(r);
851 if (push == NULL) {
852 talloc_free(r);
853 return false;
856 ndr_err = call->ndr_push(push, NDR_OUT, r);
857 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
858 talloc_free(r);
859 return false;
862 blob = ndr_push_blob(push);
863 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
864 talloc_free(r);
865 return false;
868 talloc_free(r);
870 return true;
873 static bool api_srvsvc_NetFileClose(pipes_struct *p)
875 const struct ndr_interface_call *call;
876 struct ndr_pull *pull;
877 struct ndr_push *push;
878 enum ndr_err_code ndr_err;
879 DATA_BLOB blob;
880 struct srvsvc_NetFileClose *r;
882 call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETFILECLOSE];
884 r = talloc(talloc_tos(), struct srvsvc_NetFileClose);
885 if (r == NULL) {
886 return false;
889 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
890 talloc_free(r);
891 return false;
894 pull = ndr_pull_init_blob(&blob, r, NULL);
895 if (pull == NULL) {
896 talloc_free(r);
897 return false;
900 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
901 ndr_err = call->ndr_pull(pull, NDR_IN, r);
902 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
903 talloc_free(r);
904 return false;
907 if (DEBUGLEVEL >= 10) {
908 NDR_PRINT_IN_DEBUG(srvsvc_NetFileClose, r);
911 r->out.result = _srvsvc_NetFileClose(p, r);
913 if (p->rng_fault_state) {
914 talloc_free(r);
915 /* Return true here, srv_pipe_hnd.c will take care */
916 return true;
919 if (DEBUGLEVEL >= 10) {
920 NDR_PRINT_OUT_DEBUG(srvsvc_NetFileClose, r);
923 push = ndr_push_init_ctx(r);
924 if (push == NULL) {
925 talloc_free(r);
926 return false;
929 ndr_err = call->ndr_push(push, NDR_OUT, r);
930 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
931 talloc_free(r);
932 return false;
935 blob = ndr_push_blob(push);
936 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
937 talloc_free(r);
938 return false;
941 talloc_free(r);
943 return true;
946 static bool api_srvsvc_NetSessEnum(pipes_struct *p)
948 const struct ndr_interface_call *call;
949 struct ndr_pull *pull;
950 struct ndr_push *push;
951 enum ndr_err_code ndr_err;
952 DATA_BLOB blob;
953 struct srvsvc_NetSessEnum *r;
955 call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETSESSENUM];
957 r = talloc(talloc_tos(), struct srvsvc_NetSessEnum);
958 if (r == NULL) {
959 return false;
962 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
963 talloc_free(r);
964 return false;
967 pull = ndr_pull_init_blob(&blob, r, NULL);
968 if (pull == NULL) {
969 talloc_free(r);
970 return false;
973 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
974 ndr_err = call->ndr_pull(pull, NDR_IN, r);
975 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
976 talloc_free(r);
977 return false;
980 if (DEBUGLEVEL >= 10) {
981 NDR_PRINT_IN_DEBUG(srvsvc_NetSessEnum, r);
984 ZERO_STRUCT(r->out);
985 r->out.info_ctr = r->in.info_ctr;
986 r->out.totalentries = talloc_zero(r, uint32_t);
987 if (r->out.totalentries == NULL) {
988 talloc_free(r);
989 return false;
992 r->out.resume_handle = r->in.resume_handle;
993 r->out.result = _srvsvc_NetSessEnum(p, r);
995 if (p->rng_fault_state) {
996 talloc_free(r);
997 /* Return true here, srv_pipe_hnd.c will take care */
998 return true;
1001 if (DEBUGLEVEL >= 10) {
1002 NDR_PRINT_OUT_DEBUG(srvsvc_NetSessEnum, r);
1005 push = ndr_push_init_ctx(r);
1006 if (push == NULL) {
1007 talloc_free(r);
1008 return false;
1011 ndr_err = call->ndr_push(push, NDR_OUT, r);
1012 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1013 talloc_free(r);
1014 return false;
1017 blob = ndr_push_blob(push);
1018 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
1019 talloc_free(r);
1020 return false;
1023 talloc_free(r);
1025 return true;
1028 static bool api_srvsvc_NetSessDel(pipes_struct *p)
1030 const struct ndr_interface_call *call;
1031 struct ndr_pull *pull;
1032 struct ndr_push *push;
1033 enum ndr_err_code ndr_err;
1034 DATA_BLOB blob;
1035 struct srvsvc_NetSessDel *r;
1037 call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETSESSDEL];
1039 r = talloc(talloc_tos(), struct srvsvc_NetSessDel);
1040 if (r == NULL) {
1041 return false;
1044 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
1045 talloc_free(r);
1046 return false;
1049 pull = ndr_pull_init_blob(&blob, r, NULL);
1050 if (pull == NULL) {
1051 talloc_free(r);
1052 return false;
1055 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
1056 ndr_err = call->ndr_pull(pull, NDR_IN, r);
1057 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1058 talloc_free(r);
1059 return false;
1062 if (DEBUGLEVEL >= 10) {
1063 NDR_PRINT_IN_DEBUG(srvsvc_NetSessDel, r);
1066 r->out.result = _srvsvc_NetSessDel(p, r);
1068 if (p->rng_fault_state) {
1069 talloc_free(r);
1070 /* Return true here, srv_pipe_hnd.c will take care */
1071 return true;
1074 if (DEBUGLEVEL >= 10) {
1075 NDR_PRINT_OUT_DEBUG(srvsvc_NetSessDel, r);
1078 push = ndr_push_init_ctx(r);
1079 if (push == NULL) {
1080 talloc_free(r);
1081 return false;
1084 ndr_err = call->ndr_push(push, NDR_OUT, r);
1085 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1086 talloc_free(r);
1087 return false;
1090 blob = ndr_push_blob(push);
1091 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
1092 talloc_free(r);
1093 return false;
1096 talloc_free(r);
1098 return true;
1101 static bool api_srvsvc_NetShareAdd(pipes_struct *p)
1103 const struct ndr_interface_call *call;
1104 struct ndr_pull *pull;
1105 struct ndr_push *push;
1106 enum ndr_err_code ndr_err;
1107 DATA_BLOB blob;
1108 struct srvsvc_NetShareAdd *r;
1110 call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETSHAREADD];
1112 r = talloc(talloc_tos(), struct srvsvc_NetShareAdd);
1113 if (r == NULL) {
1114 return false;
1117 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
1118 talloc_free(r);
1119 return false;
1122 pull = ndr_pull_init_blob(&blob, r, NULL);
1123 if (pull == NULL) {
1124 talloc_free(r);
1125 return false;
1128 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
1129 ndr_err = call->ndr_pull(pull, NDR_IN, r);
1130 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1131 talloc_free(r);
1132 return false;
1135 if (DEBUGLEVEL >= 10) {
1136 NDR_PRINT_IN_DEBUG(srvsvc_NetShareAdd, r);
1139 ZERO_STRUCT(r->out);
1140 r->out.parm_error = r->in.parm_error;
1141 r->out.result = _srvsvc_NetShareAdd(p, r);
1143 if (p->rng_fault_state) {
1144 talloc_free(r);
1145 /* Return true here, srv_pipe_hnd.c will take care */
1146 return true;
1149 if (DEBUGLEVEL >= 10) {
1150 NDR_PRINT_OUT_DEBUG(srvsvc_NetShareAdd, r);
1153 push = ndr_push_init_ctx(r);
1154 if (push == NULL) {
1155 talloc_free(r);
1156 return false;
1159 ndr_err = call->ndr_push(push, NDR_OUT, r);
1160 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1161 talloc_free(r);
1162 return false;
1165 blob = ndr_push_blob(push);
1166 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
1167 talloc_free(r);
1168 return false;
1171 talloc_free(r);
1173 return true;
1176 static bool api_srvsvc_NetShareEnumAll(pipes_struct *p)
1178 const struct ndr_interface_call *call;
1179 struct ndr_pull *pull;
1180 struct ndr_push *push;
1181 enum ndr_err_code ndr_err;
1182 DATA_BLOB blob;
1183 struct srvsvc_NetShareEnumAll *r;
1185 call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETSHAREENUMALL];
1187 r = talloc(talloc_tos(), struct srvsvc_NetShareEnumAll);
1188 if (r == NULL) {
1189 return false;
1192 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
1193 talloc_free(r);
1194 return false;
1197 pull = ndr_pull_init_blob(&blob, r, NULL);
1198 if (pull == NULL) {
1199 talloc_free(r);
1200 return false;
1203 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
1204 ndr_err = call->ndr_pull(pull, NDR_IN, r);
1205 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1206 talloc_free(r);
1207 return false;
1210 if (DEBUGLEVEL >= 10) {
1211 NDR_PRINT_IN_DEBUG(srvsvc_NetShareEnumAll, r);
1214 ZERO_STRUCT(r->out);
1215 r->out.info_ctr = r->in.info_ctr;
1216 r->out.totalentries = talloc_zero(r, uint32_t);
1217 if (r->out.totalentries == NULL) {
1218 talloc_free(r);
1219 return false;
1222 r->out.resume_handle = r->in.resume_handle;
1223 r->out.result = _srvsvc_NetShareEnumAll(p, r);
1225 if (p->rng_fault_state) {
1226 talloc_free(r);
1227 /* Return true here, srv_pipe_hnd.c will take care */
1228 return true;
1231 if (DEBUGLEVEL >= 10) {
1232 NDR_PRINT_OUT_DEBUG(srvsvc_NetShareEnumAll, r);
1235 push = ndr_push_init_ctx(r);
1236 if (push == NULL) {
1237 talloc_free(r);
1238 return false;
1241 ndr_err = call->ndr_push(push, NDR_OUT, r);
1242 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1243 talloc_free(r);
1244 return false;
1247 blob = ndr_push_blob(push);
1248 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
1249 talloc_free(r);
1250 return false;
1253 talloc_free(r);
1255 return true;
1258 static bool api_srvsvc_NetShareGetInfo(pipes_struct *p)
1260 const struct ndr_interface_call *call;
1261 struct ndr_pull *pull;
1262 struct ndr_push *push;
1263 enum ndr_err_code ndr_err;
1264 DATA_BLOB blob;
1265 struct srvsvc_NetShareGetInfo *r;
1267 call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETSHAREGETINFO];
1269 r = talloc(talloc_tos(), struct srvsvc_NetShareGetInfo);
1270 if (r == NULL) {
1271 return false;
1274 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
1275 talloc_free(r);
1276 return false;
1279 pull = ndr_pull_init_blob(&blob, r, NULL);
1280 if (pull == NULL) {
1281 talloc_free(r);
1282 return false;
1285 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
1286 ndr_err = call->ndr_pull(pull, NDR_IN, r);
1287 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1288 talloc_free(r);
1289 return false;
1292 if (DEBUGLEVEL >= 10) {
1293 NDR_PRINT_IN_DEBUG(srvsvc_NetShareGetInfo, r);
1296 ZERO_STRUCT(r->out);
1297 r->out.info = talloc_zero(r, union srvsvc_NetShareInfo);
1298 if (r->out.info == NULL) {
1299 talloc_free(r);
1300 return false;
1303 r->out.result = _srvsvc_NetShareGetInfo(p, r);
1305 if (p->rng_fault_state) {
1306 talloc_free(r);
1307 /* Return true here, srv_pipe_hnd.c will take care */
1308 return true;
1311 if (DEBUGLEVEL >= 10) {
1312 NDR_PRINT_OUT_DEBUG(srvsvc_NetShareGetInfo, r);
1315 push = ndr_push_init_ctx(r);
1316 if (push == NULL) {
1317 talloc_free(r);
1318 return false;
1321 ndr_err = call->ndr_push(push, NDR_OUT, r);
1322 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1323 talloc_free(r);
1324 return false;
1327 blob = ndr_push_blob(push);
1328 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
1329 talloc_free(r);
1330 return false;
1333 talloc_free(r);
1335 return true;
1338 static bool api_srvsvc_NetShareSetInfo(pipes_struct *p)
1340 const struct ndr_interface_call *call;
1341 struct ndr_pull *pull;
1342 struct ndr_push *push;
1343 enum ndr_err_code ndr_err;
1344 DATA_BLOB blob;
1345 struct srvsvc_NetShareSetInfo *r;
1347 call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETSHARESETINFO];
1349 r = talloc(talloc_tos(), struct srvsvc_NetShareSetInfo);
1350 if (r == NULL) {
1351 return false;
1354 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
1355 talloc_free(r);
1356 return false;
1359 pull = ndr_pull_init_blob(&blob, r, NULL);
1360 if (pull == NULL) {
1361 talloc_free(r);
1362 return false;
1365 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
1366 ndr_err = call->ndr_pull(pull, NDR_IN, r);
1367 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1368 talloc_free(r);
1369 return false;
1372 if (DEBUGLEVEL >= 10) {
1373 NDR_PRINT_IN_DEBUG(srvsvc_NetShareSetInfo, r);
1376 ZERO_STRUCT(r->out);
1377 r->out.parm_error = r->in.parm_error;
1378 r->out.result = _srvsvc_NetShareSetInfo(p, r);
1380 if (p->rng_fault_state) {
1381 talloc_free(r);
1382 /* Return true here, srv_pipe_hnd.c will take care */
1383 return true;
1386 if (DEBUGLEVEL >= 10) {
1387 NDR_PRINT_OUT_DEBUG(srvsvc_NetShareSetInfo, r);
1390 push = ndr_push_init_ctx(r);
1391 if (push == NULL) {
1392 talloc_free(r);
1393 return false;
1396 ndr_err = call->ndr_push(push, NDR_OUT, r);
1397 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1398 talloc_free(r);
1399 return false;
1402 blob = ndr_push_blob(push);
1403 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
1404 talloc_free(r);
1405 return false;
1408 talloc_free(r);
1410 return true;
1413 static bool api_srvsvc_NetShareDel(pipes_struct *p)
1415 const struct ndr_interface_call *call;
1416 struct ndr_pull *pull;
1417 struct ndr_push *push;
1418 enum ndr_err_code ndr_err;
1419 DATA_BLOB blob;
1420 struct srvsvc_NetShareDel *r;
1422 call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETSHAREDEL];
1424 r = talloc(talloc_tos(), struct srvsvc_NetShareDel);
1425 if (r == NULL) {
1426 return false;
1429 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
1430 talloc_free(r);
1431 return false;
1434 pull = ndr_pull_init_blob(&blob, r, NULL);
1435 if (pull == NULL) {
1436 talloc_free(r);
1437 return false;
1440 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
1441 ndr_err = call->ndr_pull(pull, NDR_IN, r);
1442 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1443 talloc_free(r);
1444 return false;
1447 if (DEBUGLEVEL >= 10) {
1448 NDR_PRINT_IN_DEBUG(srvsvc_NetShareDel, r);
1451 r->out.result = _srvsvc_NetShareDel(p, r);
1453 if (p->rng_fault_state) {
1454 talloc_free(r);
1455 /* Return true here, srv_pipe_hnd.c will take care */
1456 return true;
1459 if (DEBUGLEVEL >= 10) {
1460 NDR_PRINT_OUT_DEBUG(srvsvc_NetShareDel, r);
1463 push = ndr_push_init_ctx(r);
1464 if (push == NULL) {
1465 talloc_free(r);
1466 return false;
1469 ndr_err = call->ndr_push(push, NDR_OUT, r);
1470 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1471 talloc_free(r);
1472 return false;
1475 blob = ndr_push_blob(push);
1476 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
1477 talloc_free(r);
1478 return false;
1481 talloc_free(r);
1483 return true;
1486 static bool api_srvsvc_NetShareDelSticky(pipes_struct *p)
1488 const struct ndr_interface_call *call;
1489 struct ndr_pull *pull;
1490 struct ndr_push *push;
1491 enum ndr_err_code ndr_err;
1492 DATA_BLOB blob;
1493 struct srvsvc_NetShareDelSticky *r;
1495 call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETSHAREDELSTICKY];
1497 r = talloc(talloc_tos(), struct srvsvc_NetShareDelSticky);
1498 if (r == NULL) {
1499 return false;
1502 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
1503 talloc_free(r);
1504 return false;
1507 pull = ndr_pull_init_blob(&blob, r, NULL);
1508 if (pull == NULL) {
1509 talloc_free(r);
1510 return false;
1513 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
1514 ndr_err = call->ndr_pull(pull, NDR_IN, r);
1515 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1516 talloc_free(r);
1517 return false;
1520 if (DEBUGLEVEL >= 10) {
1521 NDR_PRINT_IN_DEBUG(srvsvc_NetShareDelSticky, r);
1524 r->out.result = _srvsvc_NetShareDelSticky(p, r);
1526 if (p->rng_fault_state) {
1527 talloc_free(r);
1528 /* Return true here, srv_pipe_hnd.c will take care */
1529 return true;
1532 if (DEBUGLEVEL >= 10) {
1533 NDR_PRINT_OUT_DEBUG(srvsvc_NetShareDelSticky, r);
1536 push = ndr_push_init_ctx(r);
1537 if (push == NULL) {
1538 talloc_free(r);
1539 return false;
1542 ndr_err = call->ndr_push(push, NDR_OUT, r);
1543 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1544 talloc_free(r);
1545 return false;
1548 blob = ndr_push_blob(push);
1549 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
1550 talloc_free(r);
1551 return false;
1554 talloc_free(r);
1556 return true;
1559 static bool api_srvsvc_NetShareCheck(pipes_struct *p)
1561 const struct ndr_interface_call *call;
1562 struct ndr_pull *pull;
1563 struct ndr_push *push;
1564 enum ndr_err_code ndr_err;
1565 DATA_BLOB blob;
1566 struct srvsvc_NetShareCheck *r;
1568 call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETSHARECHECK];
1570 r = talloc(talloc_tos(), struct srvsvc_NetShareCheck);
1571 if (r == NULL) {
1572 return false;
1575 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
1576 talloc_free(r);
1577 return false;
1580 pull = ndr_pull_init_blob(&blob, r, NULL);
1581 if (pull == NULL) {
1582 talloc_free(r);
1583 return false;
1586 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
1587 ndr_err = call->ndr_pull(pull, NDR_IN, r);
1588 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1589 talloc_free(r);
1590 return false;
1593 if (DEBUGLEVEL >= 10) {
1594 NDR_PRINT_IN_DEBUG(srvsvc_NetShareCheck, r);
1597 ZERO_STRUCT(r->out);
1598 r->out.type = talloc_zero(r, enum srvsvc_ShareType);
1599 if (r->out.type == NULL) {
1600 talloc_free(r);
1601 return false;
1604 r->out.result = _srvsvc_NetShareCheck(p, r);
1606 if (p->rng_fault_state) {
1607 talloc_free(r);
1608 /* Return true here, srv_pipe_hnd.c will take care */
1609 return true;
1612 if (DEBUGLEVEL >= 10) {
1613 NDR_PRINT_OUT_DEBUG(srvsvc_NetShareCheck, r);
1616 push = ndr_push_init_ctx(r);
1617 if (push == NULL) {
1618 talloc_free(r);
1619 return false;
1622 ndr_err = call->ndr_push(push, NDR_OUT, r);
1623 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1624 talloc_free(r);
1625 return false;
1628 blob = ndr_push_blob(push);
1629 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
1630 talloc_free(r);
1631 return false;
1634 talloc_free(r);
1636 return true;
1639 static bool api_srvsvc_NetSrvGetInfo(pipes_struct *p)
1641 const struct ndr_interface_call *call;
1642 struct ndr_pull *pull;
1643 struct ndr_push *push;
1644 enum ndr_err_code ndr_err;
1645 DATA_BLOB blob;
1646 struct srvsvc_NetSrvGetInfo *r;
1648 call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETSRVGETINFO];
1650 r = talloc(talloc_tos(), struct srvsvc_NetSrvGetInfo);
1651 if (r == NULL) {
1652 return false;
1655 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
1656 talloc_free(r);
1657 return false;
1660 pull = ndr_pull_init_blob(&blob, r, NULL);
1661 if (pull == NULL) {
1662 talloc_free(r);
1663 return false;
1666 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
1667 ndr_err = call->ndr_pull(pull, NDR_IN, r);
1668 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1669 talloc_free(r);
1670 return false;
1673 if (DEBUGLEVEL >= 10) {
1674 NDR_PRINT_IN_DEBUG(srvsvc_NetSrvGetInfo, r);
1677 ZERO_STRUCT(r->out);
1678 r->out.info = talloc_zero(r, union srvsvc_NetSrvInfo);
1679 if (r->out.info == NULL) {
1680 talloc_free(r);
1681 return false;
1684 r->out.result = _srvsvc_NetSrvGetInfo(p, r);
1686 if (p->rng_fault_state) {
1687 talloc_free(r);
1688 /* Return true here, srv_pipe_hnd.c will take care */
1689 return true;
1692 if (DEBUGLEVEL >= 10) {
1693 NDR_PRINT_OUT_DEBUG(srvsvc_NetSrvGetInfo, r);
1696 push = ndr_push_init_ctx(r);
1697 if (push == NULL) {
1698 talloc_free(r);
1699 return false;
1702 ndr_err = call->ndr_push(push, NDR_OUT, r);
1703 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1704 talloc_free(r);
1705 return false;
1708 blob = ndr_push_blob(push);
1709 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
1710 talloc_free(r);
1711 return false;
1714 talloc_free(r);
1716 return true;
1719 static bool api_srvsvc_NetSrvSetInfo(pipes_struct *p)
1721 const struct ndr_interface_call *call;
1722 struct ndr_pull *pull;
1723 struct ndr_push *push;
1724 enum ndr_err_code ndr_err;
1725 DATA_BLOB blob;
1726 struct srvsvc_NetSrvSetInfo *r;
1728 call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETSRVSETINFO];
1730 r = talloc(talloc_tos(), struct srvsvc_NetSrvSetInfo);
1731 if (r == NULL) {
1732 return false;
1735 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
1736 talloc_free(r);
1737 return false;
1740 pull = ndr_pull_init_blob(&blob, r, NULL);
1741 if (pull == NULL) {
1742 talloc_free(r);
1743 return false;
1746 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
1747 ndr_err = call->ndr_pull(pull, NDR_IN, r);
1748 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1749 talloc_free(r);
1750 return false;
1753 if (DEBUGLEVEL >= 10) {
1754 NDR_PRINT_IN_DEBUG(srvsvc_NetSrvSetInfo, r);
1757 ZERO_STRUCT(r->out);
1758 r->out.parm_error = r->in.parm_error;
1759 r->out.result = _srvsvc_NetSrvSetInfo(p, r);
1761 if (p->rng_fault_state) {
1762 talloc_free(r);
1763 /* Return true here, srv_pipe_hnd.c will take care */
1764 return true;
1767 if (DEBUGLEVEL >= 10) {
1768 NDR_PRINT_OUT_DEBUG(srvsvc_NetSrvSetInfo, r);
1771 push = ndr_push_init_ctx(r);
1772 if (push == NULL) {
1773 talloc_free(r);
1774 return false;
1777 ndr_err = call->ndr_push(push, NDR_OUT, r);
1778 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1779 talloc_free(r);
1780 return false;
1783 blob = ndr_push_blob(push);
1784 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
1785 talloc_free(r);
1786 return false;
1789 talloc_free(r);
1791 return true;
1794 static bool api_srvsvc_NetDiskEnum(pipes_struct *p)
1796 const struct ndr_interface_call *call;
1797 struct ndr_pull *pull;
1798 struct ndr_push *push;
1799 enum ndr_err_code ndr_err;
1800 DATA_BLOB blob;
1801 struct srvsvc_NetDiskEnum *r;
1803 call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETDISKENUM];
1805 r = talloc(talloc_tos(), struct srvsvc_NetDiskEnum);
1806 if (r == NULL) {
1807 return false;
1810 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
1811 talloc_free(r);
1812 return false;
1815 pull = ndr_pull_init_blob(&blob, r, NULL);
1816 if (pull == NULL) {
1817 talloc_free(r);
1818 return false;
1821 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
1822 ndr_err = call->ndr_pull(pull, NDR_IN, r);
1823 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1824 talloc_free(r);
1825 return false;
1828 if (DEBUGLEVEL >= 10) {
1829 NDR_PRINT_IN_DEBUG(srvsvc_NetDiskEnum, r);
1832 ZERO_STRUCT(r->out);
1833 r->out.info = r->in.info;
1834 r->out.totalentries = talloc_zero(r, uint32_t);
1835 if (r->out.totalentries == NULL) {
1836 talloc_free(r);
1837 return false;
1840 r->out.resume_handle = r->in.resume_handle;
1841 r->out.result = _srvsvc_NetDiskEnum(p, r);
1843 if (p->rng_fault_state) {
1844 talloc_free(r);
1845 /* Return true here, srv_pipe_hnd.c will take care */
1846 return true;
1849 if (DEBUGLEVEL >= 10) {
1850 NDR_PRINT_OUT_DEBUG(srvsvc_NetDiskEnum, r);
1853 push = ndr_push_init_ctx(r);
1854 if (push == NULL) {
1855 talloc_free(r);
1856 return false;
1859 ndr_err = call->ndr_push(push, NDR_OUT, r);
1860 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1861 talloc_free(r);
1862 return false;
1865 blob = ndr_push_blob(push);
1866 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
1867 talloc_free(r);
1868 return false;
1871 talloc_free(r);
1873 return true;
1876 static bool api_srvsvc_NetServerStatisticsGet(pipes_struct *p)
1878 const struct ndr_interface_call *call;
1879 struct ndr_pull *pull;
1880 struct ndr_push *push;
1881 enum ndr_err_code ndr_err;
1882 DATA_BLOB blob;
1883 struct srvsvc_NetServerStatisticsGet *r;
1885 call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETSERVERSTATISTICSGET];
1887 r = talloc(talloc_tos(), struct srvsvc_NetServerStatisticsGet);
1888 if (r == NULL) {
1889 return false;
1892 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
1893 talloc_free(r);
1894 return false;
1897 pull = ndr_pull_init_blob(&blob, r, NULL);
1898 if (pull == NULL) {
1899 talloc_free(r);
1900 return false;
1903 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
1904 ndr_err = call->ndr_pull(pull, NDR_IN, r);
1905 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1906 talloc_free(r);
1907 return false;
1910 if (DEBUGLEVEL >= 10) {
1911 NDR_PRINT_IN_DEBUG(srvsvc_NetServerStatisticsGet, r);
1914 ZERO_STRUCT(r->out);
1915 r->out.stats = talloc_zero(r, struct srvsvc_Statistics);
1916 if (r->out.stats == NULL) {
1917 talloc_free(r);
1918 return false;
1921 r->out.result = _srvsvc_NetServerStatisticsGet(p, r);
1923 if (p->rng_fault_state) {
1924 talloc_free(r);
1925 /* Return true here, srv_pipe_hnd.c will take care */
1926 return true;
1929 if (DEBUGLEVEL >= 10) {
1930 NDR_PRINT_OUT_DEBUG(srvsvc_NetServerStatisticsGet, r);
1933 push = ndr_push_init_ctx(r);
1934 if (push == NULL) {
1935 talloc_free(r);
1936 return false;
1939 ndr_err = call->ndr_push(push, NDR_OUT, r);
1940 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1941 talloc_free(r);
1942 return false;
1945 blob = ndr_push_blob(push);
1946 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
1947 talloc_free(r);
1948 return false;
1951 talloc_free(r);
1953 return true;
1956 static bool api_srvsvc_NetTransportAdd(pipes_struct *p)
1958 const struct ndr_interface_call *call;
1959 struct ndr_pull *pull;
1960 struct ndr_push *push;
1961 enum ndr_err_code ndr_err;
1962 DATA_BLOB blob;
1963 struct srvsvc_NetTransportAdd *r;
1965 call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETTRANSPORTADD];
1967 r = talloc(talloc_tos(), struct srvsvc_NetTransportAdd);
1968 if (r == NULL) {
1969 return false;
1972 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
1973 talloc_free(r);
1974 return false;
1977 pull = ndr_pull_init_blob(&blob, r, NULL);
1978 if (pull == NULL) {
1979 talloc_free(r);
1980 return false;
1983 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
1984 ndr_err = call->ndr_pull(pull, NDR_IN, r);
1985 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1986 talloc_free(r);
1987 return false;
1990 if (DEBUGLEVEL >= 10) {
1991 NDR_PRINT_IN_DEBUG(srvsvc_NetTransportAdd, r);
1994 r->out.result = _srvsvc_NetTransportAdd(p, r);
1996 if (p->rng_fault_state) {
1997 talloc_free(r);
1998 /* Return true here, srv_pipe_hnd.c will take care */
1999 return true;
2002 if (DEBUGLEVEL >= 10) {
2003 NDR_PRINT_OUT_DEBUG(srvsvc_NetTransportAdd, r);
2006 push = ndr_push_init_ctx(r);
2007 if (push == NULL) {
2008 talloc_free(r);
2009 return false;
2012 ndr_err = call->ndr_push(push, NDR_OUT, r);
2013 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2014 talloc_free(r);
2015 return false;
2018 blob = ndr_push_blob(push);
2019 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
2020 talloc_free(r);
2021 return false;
2024 talloc_free(r);
2026 return true;
2029 static bool api_srvsvc_NetTransportEnum(pipes_struct *p)
2031 const struct ndr_interface_call *call;
2032 struct ndr_pull *pull;
2033 struct ndr_push *push;
2034 enum ndr_err_code ndr_err;
2035 DATA_BLOB blob;
2036 struct srvsvc_NetTransportEnum *r;
2038 call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETTRANSPORTENUM];
2040 r = talloc(talloc_tos(), struct srvsvc_NetTransportEnum);
2041 if (r == NULL) {
2042 return false;
2045 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
2046 talloc_free(r);
2047 return false;
2050 pull = ndr_pull_init_blob(&blob, r, NULL);
2051 if (pull == NULL) {
2052 talloc_free(r);
2053 return false;
2056 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
2057 ndr_err = call->ndr_pull(pull, NDR_IN, r);
2058 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2059 talloc_free(r);
2060 return false;
2063 if (DEBUGLEVEL >= 10) {
2064 NDR_PRINT_IN_DEBUG(srvsvc_NetTransportEnum, r);
2067 ZERO_STRUCT(r->out);
2068 r->out.level = r->in.level;
2069 r->out.transports = r->in.transports;
2070 r->out.totalentries = talloc_zero(r, uint32_t);
2071 if (r->out.totalentries == NULL) {
2072 talloc_free(r);
2073 return false;
2076 r->out.resume_handle = r->in.resume_handle;
2077 r->out.result = _srvsvc_NetTransportEnum(p, r);
2079 if (p->rng_fault_state) {
2080 talloc_free(r);
2081 /* Return true here, srv_pipe_hnd.c will take care */
2082 return true;
2085 if (DEBUGLEVEL >= 10) {
2086 NDR_PRINT_OUT_DEBUG(srvsvc_NetTransportEnum, r);
2089 push = ndr_push_init_ctx(r);
2090 if (push == NULL) {
2091 talloc_free(r);
2092 return false;
2095 ndr_err = call->ndr_push(push, NDR_OUT, r);
2096 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2097 talloc_free(r);
2098 return false;
2101 blob = ndr_push_blob(push);
2102 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
2103 talloc_free(r);
2104 return false;
2107 talloc_free(r);
2109 return true;
2112 static bool api_srvsvc_NetTransportDel(pipes_struct *p)
2114 const struct ndr_interface_call *call;
2115 struct ndr_pull *pull;
2116 struct ndr_push *push;
2117 enum ndr_err_code ndr_err;
2118 DATA_BLOB blob;
2119 struct srvsvc_NetTransportDel *r;
2121 call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETTRANSPORTDEL];
2123 r = talloc(talloc_tos(), struct srvsvc_NetTransportDel);
2124 if (r == NULL) {
2125 return false;
2128 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
2129 talloc_free(r);
2130 return false;
2133 pull = ndr_pull_init_blob(&blob, r, NULL);
2134 if (pull == NULL) {
2135 talloc_free(r);
2136 return false;
2139 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
2140 ndr_err = call->ndr_pull(pull, NDR_IN, r);
2141 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2142 talloc_free(r);
2143 return false;
2146 if (DEBUGLEVEL >= 10) {
2147 NDR_PRINT_IN_DEBUG(srvsvc_NetTransportDel, r);
2150 r->out.result = _srvsvc_NetTransportDel(p, r);
2152 if (p->rng_fault_state) {
2153 talloc_free(r);
2154 /* Return true here, srv_pipe_hnd.c will take care */
2155 return true;
2158 if (DEBUGLEVEL >= 10) {
2159 NDR_PRINT_OUT_DEBUG(srvsvc_NetTransportDel, r);
2162 push = ndr_push_init_ctx(r);
2163 if (push == NULL) {
2164 talloc_free(r);
2165 return false;
2168 ndr_err = call->ndr_push(push, NDR_OUT, r);
2169 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2170 talloc_free(r);
2171 return false;
2174 blob = ndr_push_blob(push);
2175 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
2176 talloc_free(r);
2177 return false;
2180 talloc_free(r);
2182 return true;
2185 static bool api_srvsvc_NetRemoteTOD(pipes_struct *p)
2187 const struct ndr_interface_call *call;
2188 struct ndr_pull *pull;
2189 struct ndr_push *push;
2190 enum ndr_err_code ndr_err;
2191 DATA_BLOB blob;
2192 struct srvsvc_NetRemoteTOD *r;
2194 call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETREMOTETOD];
2196 r = talloc(talloc_tos(), struct srvsvc_NetRemoteTOD);
2197 if (r == NULL) {
2198 return false;
2201 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
2202 talloc_free(r);
2203 return false;
2206 pull = ndr_pull_init_blob(&blob, r, NULL);
2207 if (pull == NULL) {
2208 talloc_free(r);
2209 return false;
2212 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
2213 ndr_err = call->ndr_pull(pull, NDR_IN, r);
2214 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2215 talloc_free(r);
2216 return false;
2219 if (DEBUGLEVEL >= 10) {
2220 NDR_PRINT_IN_DEBUG(srvsvc_NetRemoteTOD, r);
2223 ZERO_STRUCT(r->out);
2224 r->out.info = talloc_zero(r, struct srvsvc_NetRemoteTODInfo *);
2225 if (r->out.info == NULL) {
2226 talloc_free(r);
2227 return false;
2230 r->out.result = _srvsvc_NetRemoteTOD(p, r);
2232 if (p->rng_fault_state) {
2233 talloc_free(r);
2234 /* Return true here, srv_pipe_hnd.c will take care */
2235 return true;
2238 if (DEBUGLEVEL >= 10) {
2239 NDR_PRINT_OUT_DEBUG(srvsvc_NetRemoteTOD, r);
2242 push = ndr_push_init_ctx(r);
2243 if (push == NULL) {
2244 talloc_free(r);
2245 return false;
2248 ndr_err = call->ndr_push(push, NDR_OUT, r);
2249 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2250 talloc_free(r);
2251 return false;
2254 blob = ndr_push_blob(push);
2255 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
2256 talloc_free(r);
2257 return false;
2260 talloc_free(r);
2262 return true;
2265 static bool api_srvsvc_NetSetServiceBits(pipes_struct *p)
2267 const struct ndr_interface_call *call;
2268 struct ndr_pull *pull;
2269 struct ndr_push *push;
2270 enum ndr_err_code ndr_err;
2271 DATA_BLOB blob;
2272 struct srvsvc_NetSetServiceBits *r;
2274 call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETSETSERVICEBITS];
2276 r = talloc(talloc_tos(), struct srvsvc_NetSetServiceBits);
2277 if (r == NULL) {
2278 return false;
2281 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
2282 talloc_free(r);
2283 return false;
2286 pull = ndr_pull_init_blob(&blob, r, NULL);
2287 if (pull == NULL) {
2288 talloc_free(r);
2289 return false;
2292 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
2293 ndr_err = call->ndr_pull(pull, NDR_IN, r);
2294 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2295 talloc_free(r);
2296 return false;
2299 if (DEBUGLEVEL >= 10) {
2300 NDR_PRINT_IN_DEBUG(srvsvc_NetSetServiceBits, r);
2303 r->out.result = _srvsvc_NetSetServiceBits(p, r);
2305 if (p->rng_fault_state) {
2306 talloc_free(r);
2307 /* Return true here, srv_pipe_hnd.c will take care */
2308 return true;
2311 if (DEBUGLEVEL >= 10) {
2312 NDR_PRINT_OUT_DEBUG(srvsvc_NetSetServiceBits, r);
2315 push = ndr_push_init_ctx(r);
2316 if (push == NULL) {
2317 talloc_free(r);
2318 return false;
2321 ndr_err = call->ndr_push(push, NDR_OUT, r);
2322 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2323 talloc_free(r);
2324 return false;
2327 blob = ndr_push_blob(push);
2328 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
2329 talloc_free(r);
2330 return false;
2333 talloc_free(r);
2335 return true;
2338 static bool api_srvsvc_NetPathType(pipes_struct *p)
2340 const struct ndr_interface_call *call;
2341 struct ndr_pull *pull;
2342 struct ndr_push *push;
2343 enum ndr_err_code ndr_err;
2344 DATA_BLOB blob;
2345 struct srvsvc_NetPathType *r;
2347 call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETPATHTYPE];
2349 r = talloc(talloc_tos(), struct srvsvc_NetPathType);
2350 if (r == NULL) {
2351 return false;
2354 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
2355 talloc_free(r);
2356 return false;
2359 pull = ndr_pull_init_blob(&blob, r, NULL);
2360 if (pull == NULL) {
2361 talloc_free(r);
2362 return false;
2365 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
2366 ndr_err = call->ndr_pull(pull, NDR_IN, r);
2367 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2368 talloc_free(r);
2369 return false;
2372 if (DEBUGLEVEL >= 10) {
2373 NDR_PRINT_IN_DEBUG(srvsvc_NetPathType, r);
2376 ZERO_STRUCT(r->out);
2377 r->out.pathtype = talloc_zero(r, uint32_t);
2378 if (r->out.pathtype == NULL) {
2379 talloc_free(r);
2380 return false;
2383 r->out.result = _srvsvc_NetPathType(p, r);
2385 if (p->rng_fault_state) {
2386 talloc_free(r);
2387 /* Return true here, srv_pipe_hnd.c will take care */
2388 return true;
2391 if (DEBUGLEVEL >= 10) {
2392 NDR_PRINT_OUT_DEBUG(srvsvc_NetPathType, r);
2395 push = ndr_push_init_ctx(r);
2396 if (push == NULL) {
2397 talloc_free(r);
2398 return false;
2401 ndr_err = call->ndr_push(push, NDR_OUT, r);
2402 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2403 talloc_free(r);
2404 return false;
2407 blob = ndr_push_blob(push);
2408 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
2409 talloc_free(r);
2410 return false;
2413 talloc_free(r);
2415 return true;
2418 static bool api_srvsvc_NetPathCanonicalize(pipes_struct *p)
2420 const struct ndr_interface_call *call;
2421 struct ndr_pull *pull;
2422 struct ndr_push *push;
2423 enum ndr_err_code ndr_err;
2424 DATA_BLOB blob;
2425 struct srvsvc_NetPathCanonicalize *r;
2427 call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETPATHCANONICALIZE];
2429 r = talloc(talloc_tos(), struct srvsvc_NetPathCanonicalize);
2430 if (r == NULL) {
2431 return false;
2434 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
2435 talloc_free(r);
2436 return false;
2439 pull = ndr_pull_init_blob(&blob, r, NULL);
2440 if (pull == NULL) {
2441 talloc_free(r);
2442 return false;
2445 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
2446 ndr_err = call->ndr_pull(pull, NDR_IN, r);
2447 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2448 talloc_free(r);
2449 return false;
2452 if (DEBUGLEVEL >= 10) {
2453 NDR_PRINT_IN_DEBUG(srvsvc_NetPathCanonicalize, r);
2456 ZERO_STRUCT(r->out);
2457 r->out.can_path = talloc_zero_array(r, uint8_t, r->in.maxbuf);
2458 if (r->out.can_path == NULL) {
2459 talloc_free(r);
2460 return false;
2463 r->out.pathtype = r->in.pathtype;
2464 r->out.result = _srvsvc_NetPathCanonicalize(p, r);
2466 if (p->rng_fault_state) {
2467 talloc_free(r);
2468 /* Return true here, srv_pipe_hnd.c will take care */
2469 return true;
2472 if (DEBUGLEVEL >= 10) {
2473 NDR_PRINT_OUT_DEBUG(srvsvc_NetPathCanonicalize, r);
2476 push = ndr_push_init_ctx(r);
2477 if (push == NULL) {
2478 talloc_free(r);
2479 return false;
2482 ndr_err = call->ndr_push(push, NDR_OUT, r);
2483 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2484 talloc_free(r);
2485 return false;
2488 blob = ndr_push_blob(push);
2489 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
2490 talloc_free(r);
2491 return false;
2494 talloc_free(r);
2496 return true;
2499 static bool api_srvsvc_NetPathCompare(pipes_struct *p)
2501 const struct ndr_interface_call *call;
2502 struct ndr_pull *pull;
2503 struct ndr_push *push;
2504 enum ndr_err_code ndr_err;
2505 DATA_BLOB blob;
2506 struct srvsvc_NetPathCompare *r;
2508 call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETPATHCOMPARE];
2510 r = talloc(talloc_tos(), struct srvsvc_NetPathCompare);
2511 if (r == NULL) {
2512 return false;
2515 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
2516 talloc_free(r);
2517 return false;
2520 pull = ndr_pull_init_blob(&blob, r, NULL);
2521 if (pull == NULL) {
2522 talloc_free(r);
2523 return false;
2526 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
2527 ndr_err = call->ndr_pull(pull, NDR_IN, r);
2528 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2529 talloc_free(r);
2530 return false;
2533 if (DEBUGLEVEL >= 10) {
2534 NDR_PRINT_IN_DEBUG(srvsvc_NetPathCompare, r);
2537 r->out.result = _srvsvc_NetPathCompare(p, r);
2539 if (p->rng_fault_state) {
2540 talloc_free(r);
2541 /* Return true here, srv_pipe_hnd.c will take care */
2542 return true;
2545 if (DEBUGLEVEL >= 10) {
2546 NDR_PRINT_OUT_DEBUG(srvsvc_NetPathCompare, r);
2549 push = ndr_push_init_ctx(r);
2550 if (push == NULL) {
2551 talloc_free(r);
2552 return false;
2555 ndr_err = call->ndr_push(push, NDR_OUT, r);
2556 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2557 talloc_free(r);
2558 return false;
2561 blob = ndr_push_blob(push);
2562 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
2563 talloc_free(r);
2564 return false;
2567 talloc_free(r);
2569 return true;
2572 static bool api_srvsvc_NetNameValidate(pipes_struct *p)
2574 const struct ndr_interface_call *call;
2575 struct ndr_pull *pull;
2576 struct ndr_push *push;
2577 enum ndr_err_code ndr_err;
2578 DATA_BLOB blob;
2579 struct srvsvc_NetNameValidate *r;
2581 call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETNAMEVALIDATE];
2583 r = talloc(talloc_tos(), struct srvsvc_NetNameValidate);
2584 if (r == NULL) {
2585 return false;
2588 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
2589 talloc_free(r);
2590 return false;
2593 pull = ndr_pull_init_blob(&blob, r, NULL);
2594 if (pull == NULL) {
2595 talloc_free(r);
2596 return false;
2599 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
2600 ndr_err = call->ndr_pull(pull, NDR_IN, r);
2601 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2602 talloc_free(r);
2603 return false;
2606 if (DEBUGLEVEL >= 10) {
2607 NDR_PRINT_IN_DEBUG(srvsvc_NetNameValidate, r);
2610 r->out.result = _srvsvc_NetNameValidate(p, r);
2612 if (p->rng_fault_state) {
2613 talloc_free(r);
2614 /* Return true here, srv_pipe_hnd.c will take care */
2615 return true;
2618 if (DEBUGLEVEL >= 10) {
2619 NDR_PRINT_OUT_DEBUG(srvsvc_NetNameValidate, r);
2622 push = ndr_push_init_ctx(r);
2623 if (push == NULL) {
2624 talloc_free(r);
2625 return false;
2628 ndr_err = call->ndr_push(push, NDR_OUT, r);
2629 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2630 talloc_free(r);
2631 return false;
2634 blob = ndr_push_blob(push);
2635 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
2636 talloc_free(r);
2637 return false;
2640 talloc_free(r);
2642 return true;
2645 static bool api_srvsvc_NETRPRNAMECANONICALIZE(pipes_struct *p)
2647 const struct ndr_interface_call *call;
2648 struct ndr_pull *pull;
2649 struct ndr_push *push;
2650 enum ndr_err_code ndr_err;
2651 DATA_BLOB blob;
2652 struct srvsvc_NETRPRNAMECANONICALIZE *r;
2654 call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETRPRNAMECANONICALIZE];
2656 r = talloc(talloc_tos(), struct srvsvc_NETRPRNAMECANONICALIZE);
2657 if (r == NULL) {
2658 return false;
2661 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
2662 talloc_free(r);
2663 return false;
2666 pull = ndr_pull_init_blob(&blob, r, NULL);
2667 if (pull == NULL) {
2668 talloc_free(r);
2669 return false;
2672 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
2673 ndr_err = call->ndr_pull(pull, NDR_IN, r);
2674 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2675 talloc_free(r);
2676 return false;
2679 if (DEBUGLEVEL >= 10) {
2680 NDR_PRINT_IN_DEBUG(srvsvc_NETRPRNAMECANONICALIZE, r);
2683 r->out.result = _srvsvc_NETRPRNAMECANONICALIZE(p, r);
2685 if (p->rng_fault_state) {
2686 talloc_free(r);
2687 /* Return true here, srv_pipe_hnd.c will take care */
2688 return true;
2691 if (DEBUGLEVEL >= 10) {
2692 NDR_PRINT_OUT_DEBUG(srvsvc_NETRPRNAMECANONICALIZE, r);
2695 push = ndr_push_init_ctx(r);
2696 if (push == NULL) {
2697 talloc_free(r);
2698 return false;
2701 ndr_err = call->ndr_push(push, NDR_OUT, r);
2702 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2703 talloc_free(r);
2704 return false;
2707 blob = ndr_push_blob(push);
2708 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
2709 talloc_free(r);
2710 return false;
2713 talloc_free(r);
2715 return true;
2718 static bool api_srvsvc_NetPRNameCompare(pipes_struct *p)
2720 const struct ndr_interface_call *call;
2721 struct ndr_pull *pull;
2722 struct ndr_push *push;
2723 enum ndr_err_code ndr_err;
2724 DATA_BLOB blob;
2725 struct srvsvc_NetPRNameCompare *r;
2727 call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETPRNAMECOMPARE];
2729 r = talloc(talloc_tos(), struct srvsvc_NetPRNameCompare);
2730 if (r == NULL) {
2731 return false;
2734 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
2735 talloc_free(r);
2736 return false;
2739 pull = ndr_pull_init_blob(&blob, r, NULL);
2740 if (pull == NULL) {
2741 talloc_free(r);
2742 return false;
2745 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
2746 ndr_err = call->ndr_pull(pull, NDR_IN, r);
2747 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2748 talloc_free(r);
2749 return false;
2752 if (DEBUGLEVEL >= 10) {
2753 NDR_PRINT_IN_DEBUG(srvsvc_NetPRNameCompare, r);
2756 r->out.result = _srvsvc_NetPRNameCompare(p, r);
2758 if (p->rng_fault_state) {
2759 talloc_free(r);
2760 /* Return true here, srv_pipe_hnd.c will take care */
2761 return true;
2764 if (DEBUGLEVEL >= 10) {
2765 NDR_PRINT_OUT_DEBUG(srvsvc_NetPRNameCompare, r);
2768 push = ndr_push_init_ctx(r);
2769 if (push == NULL) {
2770 talloc_free(r);
2771 return false;
2774 ndr_err = call->ndr_push(push, NDR_OUT, r);
2775 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2776 talloc_free(r);
2777 return false;
2780 blob = ndr_push_blob(push);
2781 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
2782 talloc_free(r);
2783 return false;
2786 talloc_free(r);
2788 return true;
2791 static bool api_srvsvc_NetShareEnum(pipes_struct *p)
2793 const struct ndr_interface_call *call;
2794 struct ndr_pull *pull;
2795 struct ndr_push *push;
2796 enum ndr_err_code ndr_err;
2797 DATA_BLOB blob;
2798 struct srvsvc_NetShareEnum *r;
2800 call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETSHAREENUM];
2802 r = talloc(talloc_tos(), struct srvsvc_NetShareEnum);
2803 if (r == NULL) {
2804 return false;
2807 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
2808 talloc_free(r);
2809 return false;
2812 pull = ndr_pull_init_blob(&blob, r, NULL);
2813 if (pull == NULL) {
2814 talloc_free(r);
2815 return false;
2818 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
2819 ndr_err = call->ndr_pull(pull, NDR_IN, r);
2820 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2821 talloc_free(r);
2822 return false;
2825 if (DEBUGLEVEL >= 10) {
2826 NDR_PRINT_IN_DEBUG(srvsvc_NetShareEnum, r);
2829 ZERO_STRUCT(r->out);
2830 r->out.info_ctr = r->in.info_ctr;
2831 r->out.totalentries = talloc_zero(r, uint32_t);
2832 if (r->out.totalentries == NULL) {
2833 talloc_free(r);
2834 return false;
2837 r->out.resume_handle = r->in.resume_handle;
2838 r->out.result = _srvsvc_NetShareEnum(p, r);
2840 if (p->rng_fault_state) {
2841 talloc_free(r);
2842 /* Return true here, srv_pipe_hnd.c will take care */
2843 return true;
2846 if (DEBUGLEVEL >= 10) {
2847 NDR_PRINT_OUT_DEBUG(srvsvc_NetShareEnum, r);
2850 push = ndr_push_init_ctx(r);
2851 if (push == NULL) {
2852 talloc_free(r);
2853 return false;
2856 ndr_err = call->ndr_push(push, NDR_OUT, r);
2857 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2858 talloc_free(r);
2859 return false;
2862 blob = ndr_push_blob(push);
2863 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
2864 talloc_free(r);
2865 return false;
2868 talloc_free(r);
2870 return true;
2873 static bool api_srvsvc_NetShareDelStart(pipes_struct *p)
2875 const struct ndr_interface_call *call;
2876 struct ndr_pull *pull;
2877 struct ndr_push *push;
2878 enum ndr_err_code ndr_err;
2879 DATA_BLOB blob;
2880 struct srvsvc_NetShareDelStart *r;
2882 call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETSHAREDELSTART];
2884 r = talloc(talloc_tos(), struct srvsvc_NetShareDelStart);
2885 if (r == NULL) {
2886 return false;
2889 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
2890 talloc_free(r);
2891 return false;
2894 pull = ndr_pull_init_blob(&blob, r, NULL);
2895 if (pull == NULL) {
2896 talloc_free(r);
2897 return false;
2900 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
2901 ndr_err = call->ndr_pull(pull, NDR_IN, r);
2902 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2903 talloc_free(r);
2904 return false;
2907 if (DEBUGLEVEL >= 10) {
2908 NDR_PRINT_IN_DEBUG(srvsvc_NetShareDelStart, r);
2911 ZERO_STRUCT(r->out);
2912 r->out.hnd = talloc_zero(r, struct policy_handle);
2913 if (r->out.hnd == NULL) {
2914 talloc_free(r);
2915 return false;
2918 r->out.result = _srvsvc_NetShareDelStart(p, r);
2920 if (p->rng_fault_state) {
2921 talloc_free(r);
2922 /* Return true here, srv_pipe_hnd.c will take care */
2923 return true;
2926 if (DEBUGLEVEL >= 10) {
2927 NDR_PRINT_OUT_DEBUG(srvsvc_NetShareDelStart, r);
2930 push = ndr_push_init_ctx(r);
2931 if (push == NULL) {
2932 talloc_free(r);
2933 return false;
2936 ndr_err = call->ndr_push(push, NDR_OUT, r);
2937 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2938 talloc_free(r);
2939 return false;
2942 blob = ndr_push_blob(push);
2943 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
2944 talloc_free(r);
2945 return false;
2948 talloc_free(r);
2950 return true;
2953 static bool api_srvsvc_NetShareDelCommit(pipes_struct *p)
2955 const struct ndr_interface_call *call;
2956 struct ndr_pull *pull;
2957 struct ndr_push *push;
2958 enum ndr_err_code ndr_err;
2959 DATA_BLOB blob;
2960 struct srvsvc_NetShareDelCommit *r;
2962 call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETSHAREDELCOMMIT];
2964 r = talloc(talloc_tos(), struct srvsvc_NetShareDelCommit);
2965 if (r == NULL) {
2966 return false;
2969 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
2970 talloc_free(r);
2971 return false;
2974 pull = ndr_pull_init_blob(&blob, r, NULL);
2975 if (pull == NULL) {
2976 talloc_free(r);
2977 return false;
2980 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
2981 ndr_err = call->ndr_pull(pull, NDR_IN, r);
2982 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2983 talloc_free(r);
2984 return false;
2987 if (DEBUGLEVEL >= 10) {
2988 NDR_PRINT_IN_DEBUG(srvsvc_NetShareDelCommit, r);
2991 ZERO_STRUCT(r->out);
2992 r->out.hnd = r->in.hnd;
2993 r->out.result = _srvsvc_NetShareDelCommit(p, r);
2995 if (p->rng_fault_state) {
2996 talloc_free(r);
2997 /* Return true here, srv_pipe_hnd.c will take care */
2998 return true;
3001 if (DEBUGLEVEL >= 10) {
3002 NDR_PRINT_OUT_DEBUG(srvsvc_NetShareDelCommit, r);
3005 push = ndr_push_init_ctx(r);
3006 if (push == NULL) {
3007 talloc_free(r);
3008 return false;
3011 ndr_err = call->ndr_push(push, NDR_OUT, r);
3012 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3013 talloc_free(r);
3014 return false;
3017 blob = ndr_push_blob(push);
3018 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
3019 talloc_free(r);
3020 return false;
3023 talloc_free(r);
3025 return true;
3028 static bool api_srvsvc_NetGetFileSecurity(pipes_struct *p)
3030 const struct ndr_interface_call *call;
3031 struct ndr_pull *pull;
3032 struct ndr_push *push;
3033 enum ndr_err_code ndr_err;
3034 DATA_BLOB blob;
3035 struct srvsvc_NetGetFileSecurity *r;
3037 call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETGETFILESECURITY];
3039 r = talloc(talloc_tos(), struct srvsvc_NetGetFileSecurity);
3040 if (r == NULL) {
3041 return false;
3044 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
3045 talloc_free(r);
3046 return false;
3049 pull = ndr_pull_init_blob(&blob, r, NULL);
3050 if (pull == NULL) {
3051 talloc_free(r);
3052 return false;
3055 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
3056 ndr_err = call->ndr_pull(pull, NDR_IN, r);
3057 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3058 talloc_free(r);
3059 return false;
3062 if (DEBUGLEVEL >= 10) {
3063 NDR_PRINT_IN_DEBUG(srvsvc_NetGetFileSecurity, r);
3066 ZERO_STRUCT(r->out);
3067 r->out.sd_buf = talloc_zero(r, struct sec_desc_buf *);
3068 if (r->out.sd_buf == NULL) {
3069 talloc_free(r);
3070 return false;
3073 r->out.result = _srvsvc_NetGetFileSecurity(p, r);
3075 if (p->rng_fault_state) {
3076 talloc_free(r);
3077 /* Return true here, srv_pipe_hnd.c will take care */
3078 return true;
3081 if (DEBUGLEVEL >= 10) {
3082 NDR_PRINT_OUT_DEBUG(srvsvc_NetGetFileSecurity, r);
3085 push = ndr_push_init_ctx(r);
3086 if (push == NULL) {
3087 talloc_free(r);
3088 return false;
3091 ndr_err = call->ndr_push(push, NDR_OUT, r);
3092 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3093 talloc_free(r);
3094 return false;
3097 blob = ndr_push_blob(push);
3098 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
3099 talloc_free(r);
3100 return false;
3103 talloc_free(r);
3105 return true;
3108 static bool api_srvsvc_NetSetFileSecurity(pipes_struct *p)
3110 const struct ndr_interface_call *call;
3111 struct ndr_pull *pull;
3112 struct ndr_push *push;
3113 enum ndr_err_code ndr_err;
3114 DATA_BLOB blob;
3115 struct srvsvc_NetSetFileSecurity *r;
3117 call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETSETFILESECURITY];
3119 r = talloc(talloc_tos(), struct srvsvc_NetSetFileSecurity);
3120 if (r == NULL) {
3121 return false;
3124 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
3125 talloc_free(r);
3126 return false;
3129 pull = ndr_pull_init_blob(&blob, r, NULL);
3130 if (pull == NULL) {
3131 talloc_free(r);
3132 return false;
3135 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
3136 ndr_err = call->ndr_pull(pull, NDR_IN, r);
3137 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3138 talloc_free(r);
3139 return false;
3142 if (DEBUGLEVEL >= 10) {
3143 NDR_PRINT_IN_DEBUG(srvsvc_NetSetFileSecurity, r);
3146 r->out.result = _srvsvc_NetSetFileSecurity(p, r);
3148 if (p->rng_fault_state) {
3149 talloc_free(r);
3150 /* Return true here, srv_pipe_hnd.c will take care */
3151 return true;
3154 if (DEBUGLEVEL >= 10) {
3155 NDR_PRINT_OUT_DEBUG(srvsvc_NetSetFileSecurity, r);
3158 push = ndr_push_init_ctx(r);
3159 if (push == NULL) {
3160 talloc_free(r);
3161 return false;
3164 ndr_err = call->ndr_push(push, NDR_OUT, r);
3165 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3166 talloc_free(r);
3167 return false;
3170 blob = ndr_push_blob(push);
3171 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
3172 talloc_free(r);
3173 return false;
3176 talloc_free(r);
3178 return true;
3181 static bool api_srvsvc_NetServerTransportAddEx(pipes_struct *p)
3183 const struct ndr_interface_call *call;
3184 struct ndr_pull *pull;
3185 struct ndr_push *push;
3186 enum ndr_err_code ndr_err;
3187 DATA_BLOB blob;
3188 struct srvsvc_NetServerTransportAddEx *r;
3190 call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETSERVERTRANSPORTADDEX];
3192 r = talloc(talloc_tos(), struct srvsvc_NetServerTransportAddEx);
3193 if (r == NULL) {
3194 return false;
3197 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
3198 talloc_free(r);
3199 return false;
3202 pull = ndr_pull_init_blob(&blob, r, NULL);
3203 if (pull == NULL) {
3204 talloc_free(r);
3205 return false;
3208 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
3209 ndr_err = call->ndr_pull(pull, NDR_IN, r);
3210 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3211 talloc_free(r);
3212 return false;
3215 if (DEBUGLEVEL >= 10) {
3216 NDR_PRINT_IN_DEBUG(srvsvc_NetServerTransportAddEx, r);
3219 r->out.result = _srvsvc_NetServerTransportAddEx(p, r);
3221 if (p->rng_fault_state) {
3222 talloc_free(r);
3223 /* Return true here, srv_pipe_hnd.c will take care */
3224 return true;
3227 if (DEBUGLEVEL >= 10) {
3228 NDR_PRINT_OUT_DEBUG(srvsvc_NetServerTransportAddEx, r);
3231 push = ndr_push_init_ctx(r);
3232 if (push == NULL) {
3233 talloc_free(r);
3234 return false;
3237 ndr_err = call->ndr_push(push, NDR_OUT, r);
3238 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3239 talloc_free(r);
3240 return false;
3243 blob = ndr_push_blob(push);
3244 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
3245 talloc_free(r);
3246 return false;
3249 talloc_free(r);
3251 return true;
3254 static bool api_srvsvc_NetServerSetServiceBitsEx(pipes_struct *p)
3256 const struct ndr_interface_call *call;
3257 struct ndr_pull *pull;
3258 struct ndr_push *push;
3259 enum ndr_err_code ndr_err;
3260 DATA_BLOB blob;
3261 struct srvsvc_NetServerSetServiceBitsEx *r;
3263 call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETSERVERSETSERVICEBITSEX];
3265 r = talloc(talloc_tos(), struct srvsvc_NetServerSetServiceBitsEx);
3266 if (r == NULL) {
3267 return false;
3270 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
3271 talloc_free(r);
3272 return false;
3275 pull = ndr_pull_init_blob(&blob, r, NULL);
3276 if (pull == NULL) {
3277 talloc_free(r);
3278 return false;
3281 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
3282 ndr_err = call->ndr_pull(pull, NDR_IN, r);
3283 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3284 talloc_free(r);
3285 return false;
3288 if (DEBUGLEVEL >= 10) {
3289 NDR_PRINT_IN_DEBUG(srvsvc_NetServerSetServiceBitsEx, r);
3292 r->out.result = _srvsvc_NetServerSetServiceBitsEx(p, r);
3294 if (p->rng_fault_state) {
3295 talloc_free(r);
3296 /* Return true here, srv_pipe_hnd.c will take care */
3297 return true;
3300 if (DEBUGLEVEL >= 10) {
3301 NDR_PRINT_OUT_DEBUG(srvsvc_NetServerSetServiceBitsEx, r);
3304 push = ndr_push_init_ctx(r);
3305 if (push == NULL) {
3306 talloc_free(r);
3307 return false;
3310 ndr_err = call->ndr_push(push, NDR_OUT, r);
3311 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3312 talloc_free(r);
3313 return false;
3316 blob = ndr_push_blob(push);
3317 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
3318 talloc_free(r);
3319 return false;
3322 talloc_free(r);
3324 return true;
3327 static bool api_srvsvc_NETRDFSGETVERSION(pipes_struct *p)
3329 const struct ndr_interface_call *call;
3330 struct ndr_pull *pull;
3331 struct ndr_push *push;
3332 enum ndr_err_code ndr_err;
3333 DATA_BLOB blob;
3334 struct srvsvc_NETRDFSGETVERSION *r;
3336 call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETRDFSGETVERSION];
3338 r = talloc(talloc_tos(), struct srvsvc_NETRDFSGETVERSION);
3339 if (r == NULL) {
3340 return false;
3343 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
3344 talloc_free(r);
3345 return false;
3348 pull = ndr_pull_init_blob(&blob, r, NULL);
3349 if (pull == NULL) {
3350 talloc_free(r);
3351 return false;
3354 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
3355 ndr_err = call->ndr_pull(pull, NDR_IN, r);
3356 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3357 talloc_free(r);
3358 return false;
3361 if (DEBUGLEVEL >= 10) {
3362 NDR_PRINT_IN_DEBUG(srvsvc_NETRDFSGETVERSION, r);
3365 r->out.result = _srvsvc_NETRDFSGETVERSION(p, r);
3367 if (p->rng_fault_state) {
3368 talloc_free(r);
3369 /* Return true here, srv_pipe_hnd.c will take care */
3370 return true;
3373 if (DEBUGLEVEL >= 10) {
3374 NDR_PRINT_OUT_DEBUG(srvsvc_NETRDFSGETVERSION, r);
3377 push = ndr_push_init_ctx(r);
3378 if (push == NULL) {
3379 talloc_free(r);
3380 return false;
3383 ndr_err = call->ndr_push(push, NDR_OUT, r);
3384 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3385 talloc_free(r);
3386 return false;
3389 blob = ndr_push_blob(push);
3390 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
3391 talloc_free(r);
3392 return false;
3395 talloc_free(r);
3397 return true;
3400 static bool api_srvsvc_NETRDFSCREATELOCALPARTITION(pipes_struct *p)
3402 const struct ndr_interface_call *call;
3403 struct ndr_pull *pull;
3404 struct ndr_push *push;
3405 enum ndr_err_code ndr_err;
3406 DATA_BLOB blob;
3407 struct srvsvc_NETRDFSCREATELOCALPARTITION *r;
3409 call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETRDFSCREATELOCALPARTITION];
3411 r = talloc(talloc_tos(), struct srvsvc_NETRDFSCREATELOCALPARTITION);
3412 if (r == NULL) {
3413 return false;
3416 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
3417 talloc_free(r);
3418 return false;
3421 pull = ndr_pull_init_blob(&blob, r, NULL);
3422 if (pull == NULL) {
3423 talloc_free(r);
3424 return false;
3427 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
3428 ndr_err = call->ndr_pull(pull, NDR_IN, r);
3429 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3430 talloc_free(r);
3431 return false;
3434 if (DEBUGLEVEL >= 10) {
3435 NDR_PRINT_IN_DEBUG(srvsvc_NETRDFSCREATELOCALPARTITION, r);
3438 r->out.result = _srvsvc_NETRDFSCREATELOCALPARTITION(p, r);
3440 if (p->rng_fault_state) {
3441 talloc_free(r);
3442 /* Return true here, srv_pipe_hnd.c will take care */
3443 return true;
3446 if (DEBUGLEVEL >= 10) {
3447 NDR_PRINT_OUT_DEBUG(srvsvc_NETRDFSCREATELOCALPARTITION, r);
3450 push = ndr_push_init_ctx(r);
3451 if (push == NULL) {
3452 talloc_free(r);
3453 return false;
3456 ndr_err = call->ndr_push(push, NDR_OUT, r);
3457 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3458 talloc_free(r);
3459 return false;
3462 blob = ndr_push_blob(push);
3463 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
3464 talloc_free(r);
3465 return false;
3468 talloc_free(r);
3470 return true;
3473 static bool api_srvsvc_NETRDFSDELETELOCALPARTITION(pipes_struct *p)
3475 const struct ndr_interface_call *call;
3476 struct ndr_pull *pull;
3477 struct ndr_push *push;
3478 enum ndr_err_code ndr_err;
3479 DATA_BLOB blob;
3480 struct srvsvc_NETRDFSDELETELOCALPARTITION *r;
3482 call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETRDFSDELETELOCALPARTITION];
3484 r = talloc(talloc_tos(), struct srvsvc_NETRDFSDELETELOCALPARTITION);
3485 if (r == NULL) {
3486 return false;
3489 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
3490 talloc_free(r);
3491 return false;
3494 pull = ndr_pull_init_blob(&blob, r, NULL);
3495 if (pull == NULL) {
3496 talloc_free(r);
3497 return false;
3500 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
3501 ndr_err = call->ndr_pull(pull, NDR_IN, r);
3502 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3503 talloc_free(r);
3504 return false;
3507 if (DEBUGLEVEL >= 10) {
3508 NDR_PRINT_IN_DEBUG(srvsvc_NETRDFSDELETELOCALPARTITION, r);
3511 r->out.result = _srvsvc_NETRDFSDELETELOCALPARTITION(p, r);
3513 if (p->rng_fault_state) {
3514 talloc_free(r);
3515 /* Return true here, srv_pipe_hnd.c will take care */
3516 return true;
3519 if (DEBUGLEVEL >= 10) {
3520 NDR_PRINT_OUT_DEBUG(srvsvc_NETRDFSDELETELOCALPARTITION, r);
3523 push = ndr_push_init_ctx(r);
3524 if (push == NULL) {
3525 talloc_free(r);
3526 return false;
3529 ndr_err = call->ndr_push(push, NDR_OUT, r);
3530 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3531 talloc_free(r);
3532 return false;
3535 blob = ndr_push_blob(push);
3536 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
3537 talloc_free(r);
3538 return false;
3541 talloc_free(r);
3543 return true;
3546 static bool api_srvsvc_NETRDFSSETLOCALVOLUMESTATE(pipes_struct *p)
3548 const struct ndr_interface_call *call;
3549 struct ndr_pull *pull;
3550 struct ndr_push *push;
3551 enum ndr_err_code ndr_err;
3552 DATA_BLOB blob;
3553 struct srvsvc_NETRDFSSETLOCALVOLUMESTATE *r;
3555 call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETRDFSSETLOCALVOLUMESTATE];
3557 r = talloc(talloc_tos(), struct srvsvc_NETRDFSSETLOCALVOLUMESTATE);
3558 if (r == NULL) {
3559 return false;
3562 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
3563 talloc_free(r);
3564 return false;
3567 pull = ndr_pull_init_blob(&blob, r, NULL);
3568 if (pull == NULL) {
3569 talloc_free(r);
3570 return false;
3573 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
3574 ndr_err = call->ndr_pull(pull, NDR_IN, r);
3575 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3576 talloc_free(r);
3577 return false;
3580 if (DEBUGLEVEL >= 10) {
3581 NDR_PRINT_IN_DEBUG(srvsvc_NETRDFSSETLOCALVOLUMESTATE, r);
3584 r->out.result = _srvsvc_NETRDFSSETLOCALVOLUMESTATE(p, r);
3586 if (p->rng_fault_state) {
3587 talloc_free(r);
3588 /* Return true here, srv_pipe_hnd.c will take care */
3589 return true;
3592 if (DEBUGLEVEL >= 10) {
3593 NDR_PRINT_OUT_DEBUG(srvsvc_NETRDFSSETLOCALVOLUMESTATE, r);
3596 push = ndr_push_init_ctx(r);
3597 if (push == NULL) {
3598 talloc_free(r);
3599 return false;
3602 ndr_err = call->ndr_push(push, NDR_OUT, r);
3603 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3604 talloc_free(r);
3605 return false;
3608 blob = ndr_push_blob(push);
3609 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
3610 talloc_free(r);
3611 return false;
3614 talloc_free(r);
3616 return true;
3619 static bool api_srvsvc_NETRDFSSETSERVERINFO(pipes_struct *p)
3621 const struct ndr_interface_call *call;
3622 struct ndr_pull *pull;
3623 struct ndr_push *push;
3624 enum ndr_err_code ndr_err;
3625 DATA_BLOB blob;
3626 struct srvsvc_NETRDFSSETSERVERINFO *r;
3628 call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETRDFSSETSERVERINFO];
3630 r = talloc(talloc_tos(), struct srvsvc_NETRDFSSETSERVERINFO);
3631 if (r == NULL) {
3632 return false;
3635 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
3636 talloc_free(r);
3637 return false;
3640 pull = ndr_pull_init_blob(&blob, r, NULL);
3641 if (pull == NULL) {
3642 talloc_free(r);
3643 return false;
3646 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
3647 ndr_err = call->ndr_pull(pull, NDR_IN, r);
3648 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3649 talloc_free(r);
3650 return false;
3653 if (DEBUGLEVEL >= 10) {
3654 NDR_PRINT_IN_DEBUG(srvsvc_NETRDFSSETSERVERINFO, r);
3657 r->out.result = _srvsvc_NETRDFSSETSERVERINFO(p, r);
3659 if (p->rng_fault_state) {
3660 talloc_free(r);
3661 /* Return true here, srv_pipe_hnd.c will take care */
3662 return true;
3665 if (DEBUGLEVEL >= 10) {
3666 NDR_PRINT_OUT_DEBUG(srvsvc_NETRDFSSETSERVERINFO, r);
3669 push = ndr_push_init_ctx(r);
3670 if (push == NULL) {
3671 talloc_free(r);
3672 return false;
3675 ndr_err = call->ndr_push(push, NDR_OUT, r);
3676 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3677 talloc_free(r);
3678 return false;
3681 blob = ndr_push_blob(push);
3682 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
3683 talloc_free(r);
3684 return false;
3687 talloc_free(r);
3689 return true;
3692 static bool api_srvsvc_NETRDFSCREATEEXITPOINT(pipes_struct *p)
3694 const struct ndr_interface_call *call;
3695 struct ndr_pull *pull;
3696 struct ndr_push *push;
3697 enum ndr_err_code ndr_err;
3698 DATA_BLOB blob;
3699 struct srvsvc_NETRDFSCREATEEXITPOINT *r;
3701 call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETRDFSCREATEEXITPOINT];
3703 r = talloc(talloc_tos(), struct srvsvc_NETRDFSCREATEEXITPOINT);
3704 if (r == NULL) {
3705 return false;
3708 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
3709 talloc_free(r);
3710 return false;
3713 pull = ndr_pull_init_blob(&blob, r, NULL);
3714 if (pull == NULL) {
3715 talloc_free(r);
3716 return false;
3719 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
3720 ndr_err = call->ndr_pull(pull, NDR_IN, r);
3721 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3722 talloc_free(r);
3723 return false;
3726 if (DEBUGLEVEL >= 10) {
3727 NDR_PRINT_IN_DEBUG(srvsvc_NETRDFSCREATEEXITPOINT, r);
3730 r->out.result = _srvsvc_NETRDFSCREATEEXITPOINT(p, r);
3732 if (p->rng_fault_state) {
3733 talloc_free(r);
3734 /* Return true here, srv_pipe_hnd.c will take care */
3735 return true;
3738 if (DEBUGLEVEL >= 10) {
3739 NDR_PRINT_OUT_DEBUG(srvsvc_NETRDFSCREATEEXITPOINT, r);
3742 push = ndr_push_init_ctx(r);
3743 if (push == NULL) {
3744 talloc_free(r);
3745 return false;
3748 ndr_err = call->ndr_push(push, NDR_OUT, r);
3749 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3750 talloc_free(r);
3751 return false;
3754 blob = ndr_push_blob(push);
3755 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
3756 talloc_free(r);
3757 return false;
3760 talloc_free(r);
3762 return true;
3765 static bool api_srvsvc_NETRDFSDELETEEXITPOINT(pipes_struct *p)
3767 const struct ndr_interface_call *call;
3768 struct ndr_pull *pull;
3769 struct ndr_push *push;
3770 enum ndr_err_code ndr_err;
3771 DATA_BLOB blob;
3772 struct srvsvc_NETRDFSDELETEEXITPOINT *r;
3774 call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETRDFSDELETEEXITPOINT];
3776 r = talloc(talloc_tos(), struct srvsvc_NETRDFSDELETEEXITPOINT);
3777 if (r == NULL) {
3778 return false;
3781 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
3782 talloc_free(r);
3783 return false;
3786 pull = ndr_pull_init_blob(&blob, r, NULL);
3787 if (pull == NULL) {
3788 talloc_free(r);
3789 return false;
3792 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
3793 ndr_err = call->ndr_pull(pull, NDR_IN, r);
3794 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3795 talloc_free(r);
3796 return false;
3799 if (DEBUGLEVEL >= 10) {
3800 NDR_PRINT_IN_DEBUG(srvsvc_NETRDFSDELETEEXITPOINT, r);
3803 r->out.result = _srvsvc_NETRDFSDELETEEXITPOINT(p, r);
3805 if (p->rng_fault_state) {
3806 talloc_free(r);
3807 /* Return true here, srv_pipe_hnd.c will take care */
3808 return true;
3811 if (DEBUGLEVEL >= 10) {
3812 NDR_PRINT_OUT_DEBUG(srvsvc_NETRDFSDELETEEXITPOINT, r);
3815 push = ndr_push_init_ctx(r);
3816 if (push == NULL) {
3817 talloc_free(r);
3818 return false;
3821 ndr_err = call->ndr_push(push, NDR_OUT, r);
3822 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3823 talloc_free(r);
3824 return false;
3827 blob = ndr_push_blob(push);
3828 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
3829 talloc_free(r);
3830 return false;
3833 talloc_free(r);
3835 return true;
3838 static bool api_srvsvc_NETRDFSMODIFYPREFIX(pipes_struct *p)
3840 const struct ndr_interface_call *call;
3841 struct ndr_pull *pull;
3842 struct ndr_push *push;
3843 enum ndr_err_code ndr_err;
3844 DATA_BLOB blob;
3845 struct srvsvc_NETRDFSMODIFYPREFIX *r;
3847 call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETRDFSMODIFYPREFIX];
3849 r = talloc(talloc_tos(), struct srvsvc_NETRDFSMODIFYPREFIX);
3850 if (r == NULL) {
3851 return false;
3854 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
3855 talloc_free(r);
3856 return false;
3859 pull = ndr_pull_init_blob(&blob, r, NULL);
3860 if (pull == NULL) {
3861 talloc_free(r);
3862 return false;
3865 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
3866 ndr_err = call->ndr_pull(pull, NDR_IN, r);
3867 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3868 talloc_free(r);
3869 return false;
3872 if (DEBUGLEVEL >= 10) {
3873 NDR_PRINT_IN_DEBUG(srvsvc_NETRDFSMODIFYPREFIX, r);
3876 r->out.result = _srvsvc_NETRDFSMODIFYPREFIX(p, r);
3878 if (p->rng_fault_state) {
3879 talloc_free(r);
3880 /* Return true here, srv_pipe_hnd.c will take care */
3881 return true;
3884 if (DEBUGLEVEL >= 10) {
3885 NDR_PRINT_OUT_DEBUG(srvsvc_NETRDFSMODIFYPREFIX, r);
3888 push = ndr_push_init_ctx(r);
3889 if (push == NULL) {
3890 talloc_free(r);
3891 return false;
3894 ndr_err = call->ndr_push(push, NDR_OUT, r);
3895 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3896 talloc_free(r);
3897 return false;
3900 blob = ndr_push_blob(push);
3901 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
3902 talloc_free(r);
3903 return false;
3906 talloc_free(r);
3908 return true;
3911 static bool api_srvsvc_NETRDFSFIXLOCALVOLUME(pipes_struct *p)
3913 const struct ndr_interface_call *call;
3914 struct ndr_pull *pull;
3915 struct ndr_push *push;
3916 enum ndr_err_code ndr_err;
3917 DATA_BLOB blob;
3918 struct srvsvc_NETRDFSFIXLOCALVOLUME *r;
3920 call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETRDFSFIXLOCALVOLUME];
3922 r = talloc(talloc_tos(), struct srvsvc_NETRDFSFIXLOCALVOLUME);
3923 if (r == NULL) {
3924 return false;
3927 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
3928 talloc_free(r);
3929 return false;
3932 pull = ndr_pull_init_blob(&blob, r, NULL);
3933 if (pull == NULL) {
3934 talloc_free(r);
3935 return false;
3938 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
3939 ndr_err = call->ndr_pull(pull, NDR_IN, r);
3940 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3941 talloc_free(r);
3942 return false;
3945 if (DEBUGLEVEL >= 10) {
3946 NDR_PRINT_IN_DEBUG(srvsvc_NETRDFSFIXLOCALVOLUME, r);
3949 r->out.result = _srvsvc_NETRDFSFIXLOCALVOLUME(p, r);
3951 if (p->rng_fault_state) {
3952 talloc_free(r);
3953 /* Return true here, srv_pipe_hnd.c will take care */
3954 return true;
3957 if (DEBUGLEVEL >= 10) {
3958 NDR_PRINT_OUT_DEBUG(srvsvc_NETRDFSFIXLOCALVOLUME, r);
3961 push = ndr_push_init_ctx(r);
3962 if (push == NULL) {
3963 talloc_free(r);
3964 return false;
3967 ndr_err = call->ndr_push(push, NDR_OUT, r);
3968 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3969 talloc_free(r);
3970 return false;
3973 blob = ndr_push_blob(push);
3974 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
3975 talloc_free(r);
3976 return false;
3979 talloc_free(r);
3981 return true;
3984 static bool api_srvsvc_NETRDFSMANAGERREPORTSITEINFO(pipes_struct *p)
3986 const struct ndr_interface_call *call;
3987 struct ndr_pull *pull;
3988 struct ndr_push *push;
3989 enum ndr_err_code ndr_err;
3990 DATA_BLOB blob;
3991 struct srvsvc_NETRDFSMANAGERREPORTSITEINFO *r;
3993 call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETRDFSMANAGERREPORTSITEINFO];
3995 r = talloc(talloc_tos(), struct srvsvc_NETRDFSMANAGERREPORTSITEINFO);
3996 if (r == NULL) {
3997 return false;
4000 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
4001 talloc_free(r);
4002 return false;
4005 pull = ndr_pull_init_blob(&blob, r, NULL);
4006 if (pull == NULL) {
4007 talloc_free(r);
4008 return false;
4011 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
4012 ndr_err = call->ndr_pull(pull, NDR_IN, r);
4013 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
4014 talloc_free(r);
4015 return false;
4018 if (DEBUGLEVEL >= 10) {
4019 NDR_PRINT_IN_DEBUG(srvsvc_NETRDFSMANAGERREPORTSITEINFO, r);
4022 r->out.result = _srvsvc_NETRDFSMANAGERREPORTSITEINFO(p, r);
4024 if (p->rng_fault_state) {
4025 talloc_free(r);
4026 /* Return true here, srv_pipe_hnd.c will take care */
4027 return true;
4030 if (DEBUGLEVEL >= 10) {
4031 NDR_PRINT_OUT_DEBUG(srvsvc_NETRDFSMANAGERREPORTSITEINFO, r);
4034 push = ndr_push_init_ctx(r);
4035 if (push == NULL) {
4036 talloc_free(r);
4037 return false;
4040 ndr_err = call->ndr_push(push, NDR_OUT, r);
4041 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
4042 talloc_free(r);
4043 return false;
4046 blob = ndr_push_blob(push);
4047 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
4048 talloc_free(r);
4049 return false;
4052 talloc_free(r);
4054 return true;
4057 static bool api_srvsvc_NETRSERVERTRANSPORTDELEX(pipes_struct *p)
4059 const struct ndr_interface_call *call;
4060 struct ndr_pull *pull;
4061 struct ndr_push *push;
4062 enum ndr_err_code ndr_err;
4063 DATA_BLOB blob;
4064 struct srvsvc_NETRSERVERTRANSPORTDELEX *r;
4066 call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETRSERVERTRANSPORTDELEX];
4068 r = talloc(talloc_tos(), struct srvsvc_NETRSERVERTRANSPORTDELEX);
4069 if (r == NULL) {
4070 return false;
4073 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
4074 talloc_free(r);
4075 return false;
4078 pull = ndr_pull_init_blob(&blob, r, NULL);
4079 if (pull == NULL) {
4080 talloc_free(r);
4081 return false;
4084 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
4085 ndr_err = call->ndr_pull(pull, NDR_IN, r);
4086 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
4087 talloc_free(r);
4088 return false;
4091 if (DEBUGLEVEL >= 10) {
4092 NDR_PRINT_IN_DEBUG(srvsvc_NETRSERVERTRANSPORTDELEX, r);
4095 r->out.result = _srvsvc_NETRSERVERTRANSPORTDELEX(p, r);
4097 if (p->rng_fault_state) {
4098 talloc_free(r);
4099 /* Return true here, srv_pipe_hnd.c will take care */
4100 return true;
4103 if (DEBUGLEVEL >= 10) {
4104 NDR_PRINT_OUT_DEBUG(srvsvc_NETRSERVERTRANSPORTDELEX, r);
4107 push = ndr_push_init_ctx(r);
4108 if (push == NULL) {
4109 talloc_free(r);
4110 return false;
4113 ndr_err = call->ndr_push(push, NDR_OUT, r);
4114 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
4115 talloc_free(r);
4116 return false;
4119 blob = ndr_push_blob(push);
4120 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
4121 talloc_free(r);
4122 return false;
4125 talloc_free(r);
4127 return true;
4131 /* Tables */
4132 static struct api_struct api_srvsvc_cmds[] =
4134 {"SRVSVC_NETCHARDEVENUM", NDR_SRVSVC_NETCHARDEVENUM, api_srvsvc_NetCharDevEnum},
4135 {"SRVSVC_NETCHARDEVGETINFO", NDR_SRVSVC_NETCHARDEVGETINFO, api_srvsvc_NetCharDevGetInfo},
4136 {"SRVSVC_NETCHARDEVCONTROL", NDR_SRVSVC_NETCHARDEVCONTROL, api_srvsvc_NetCharDevControl},
4137 {"SRVSVC_NETCHARDEVQENUM", NDR_SRVSVC_NETCHARDEVQENUM, api_srvsvc_NetCharDevQEnum},
4138 {"SRVSVC_NETCHARDEVQGETINFO", NDR_SRVSVC_NETCHARDEVQGETINFO, api_srvsvc_NetCharDevQGetInfo},
4139 {"SRVSVC_NETCHARDEVQSETINFO", NDR_SRVSVC_NETCHARDEVQSETINFO, api_srvsvc_NetCharDevQSetInfo},
4140 {"SRVSVC_NETCHARDEVQPURGE", NDR_SRVSVC_NETCHARDEVQPURGE, api_srvsvc_NetCharDevQPurge},
4141 {"SRVSVC_NETCHARDEVQPURGESELF", NDR_SRVSVC_NETCHARDEVQPURGESELF, api_srvsvc_NetCharDevQPurgeSelf},
4142 {"SRVSVC_NETCONNENUM", NDR_SRVSVC_NETCONNENUM, api_srvsvc_NetConnEnum},
4143 {"SRVSVC_NETFILEENUM", NDR_SRVSVC_NETFILEENUM, api_srvsvc_NetFileEnum},
4144 {"SRVSVC_NETFILEGETINFO", NDR_SRVSVC_NETFILEGETINFO, api_srvsvc_NetFileGetInfo},
4145 {"SRVSVC_NETFILECLOSE", NDR_SRVSVC_NETFILECLOSE, api_srvsvc_NetFileClose},
4146 {"SRVSVC_NETSESSENUM", NDR_SRVSVC_NETSESSENUM, api_srvsvc_NetSessEnum},
4147 {"SRVSVC_NETSESSDEL", NDR_SRVSVC_NETSESSDEL, api_srvsvc_NetSessDel},
4148 {"SRVSVC_NETSHAREADD", NDR_SRVSVC_NETSHAREADD, api_srvsvc_NetShareAdd},
4149 {"SRVSVC_NETSHAREENUMALL", NDR_SRVSVC_NETSHAREENUMALL, api_srvsvc_NetShareEnumAll},
4150 {"SRVSVC_NETSHAREGETINFO", NDR_SRVSVC_NETSHAREGETINFO, api_srvsvc_NetShareGetInfo},
4151 {"SRVSVC_NETSHARESETINFO", NDR_SRVSVC_NETSHARESETINFO, api_srvsvc_NetShareSetInfo},
4152 {"SRVSVC_NETSHAREDEL", NDR_SRVSVC_NETSHAREDEL, api_srvsvc_NetShareDel},
4153 {"SRVSVC_NETSHAREDELSTICKY", NDR_SRVSVC_NETSHAREDELSTICKY, api_srvsvc_NetShareDelSticky},
4154 {"SRVSVC_NETSHARECHECK", NDR_SRVSVC_NETSHARECHECK, api_srvsvc_NetShareCheck},
4155 {"SRVSVC_NETSRVGETINFO", NDR_SRVSVC_NETSRVGETINFO, api_srvsvc_NetSrvGetInfo},
4156 {"SRVSVC_NETSRVSETINFO", NDR_SRVSVC_NETSRVSETINFO, api_srvsvc_NetSrvSetInfo},
4157 {"SRVSVC_NETDISKENUM", NDR_SRVSVC_NETDISKENUM, api_srvsvc_NetDiskEnum},
4158 {"SRVSVC_NETSERVERSTATISTICSGET", NDR_SRVSVC_NETSERVERSTATISTICSGET, api_srvsvc_NetServerStatisticsGet},
4159 {"SRVSVC_NETTRANSPORTADD", NDR_SRVSVC_NETTRANSPORTADD, api_srvsvc_NetTransportAdd},
4160 {"SRVSVC_NETTRANSPORTENUM", NDR_SRVSVC_NETTRANSPORTENUM, api_srvsvc_NetTransportEnum},
4161 {"SRVSVC_NETTRANSPORTDEL", NDR_SRVSVC_NETTRANSPORTDEL, api_srvsvc_NetTransportDel},
4162 {"SRVSVC_NETREMOTETOD", NDR_SRVSVC_NETREMOTETOD, api_srvsvc_NetRemoteTOD},
4163 {"SRVSVC_NETSETSERVICEBITS", NDR_SRVSVC_NETSETSERVICEBITS, api_srvsvc_NetSetServiceBits},
4164 {"SRVSVC_NETPATHTYPE", NDR_SRVSVC_NETPATHTYPE, api_srvsvc_NetPathType},
4165 {"SRVSVC_NETPATHCANONICALIZE", NDR_SRVSVC_NETPATHCANONICALIZE, api_srvsvc_NetPathCanonicalize},
4166 {"SRVSVC_NETPATHCOMPARE", NDR_SRVSVC_NETPATHCOMPARE, api_srvsvc_NetPathCompare},
4167 {"SRVSVC_NETNAMEVALIDATE", NDR_SRVSVC_NETNAMEVALIDATE, api_srvsvc_NetNameValidate},
4168 {"SRVSVC_NETRPRNAMECANONICALIZE", NDR_SRVSVC_NETRPRNAMECANONICALIZE, api_srvsvc_NETRPRNAMECANONICALIZE},
4169 {"SRVSVC_NETPRNAMECOMPARE", NDR_SRVSVC_NETPRNAMECOMPARE, api_srvsvc_NetPRNameCompare},
4170 {"SRVSVC_NETSHAREENUM", NDR_SRVSVC_NETSHAREENUM, api_srvsvc_NetShareEnum},
4171 {"SRVSVC_NETSHAREDELSTART", NDR_SRVSVC_NETSHAREDELSTART, api_srvsvc_NetShareDelStart},
4172 {"SRVSVC_NETSHAREDELCOMMIT", NDR_SRVSVC_NETSHAREDELCOMMIT, api_srvsvc_NetShareDelCommit},
4173 {"SRVSVC_NETGETFILESECURITY", NDR_SRVSVC_NETGETFILESECURITY, api_srvsvc_NetGetFileSecurity},
4174 {"SRVSVC_NETSETFILESECURITY", NDR_SRVSVC_NETSETFILESECURITY, api_srvsvc_NetSetFileSecurity},
4175 {"SRVSVC_NETSERVERTRANSPORTADDEX", NDR_SRVSVC_NETSERVERTRANSPORTADDEX, api_srvsvc_NetServerTransportAddEx},
4176 {"SRVSVC_NETSERVERSETSERVICEBITSEX", NDR_SRVSVC_NETSERVERSETSERVICEBITSEX, api_srvsvc_NetServerSetServiceBitsEx},
4177 {"SRVSVC_NETRDFSGETVERSION", NDR_SRVSVC_NETRDFSGETVERSION, api_srvsvc_NETRDFSGETVERSION},
4178 {"SRVSVC_NETRDFSCREATELOCALPARTITION", NDR_SRVSVC_NETRDFSCREATELOCALPARTITION, api_srvsvc_NETRDFSCREATELOCALPARTITION},
4179 {"SRVSVC_NETRDFSDELETELOCALPARTITION", NDR_SRVSVC_NETRDFSDELETELOCALPARTITION, api_srvsvc_NETRDFSDELETELOCALPARTITION},
4180 {"SRVSVC_NETRDFSSETLOCALVOLUMESTATE", NDR_SRVSVC_NETRDFSSETLOCALVOLUMESTATE, api_srvsvc_NETRDFSSETLOCALVOLUMESTATE},
4181 {"SRVSVC_NETRDFSSETSERVERINFO", NDR_SRVSVC_NETRDFSSETSERVERINFO, api_srvsvc_NETRDFSSETSERVERINFO},
4182 {"SRVSVC_NETRDFSCREATEEXITPOINT", NDR_SRVSVC_NETRDFSCREATEEXITPOINT, api_srvsvc_NETRDFSCREATEEXITPOINT},
4183 {"SRVSVC_NETRDFSDELETEEXITPOINT", NDR_SRVSVC_NETRDFSDELETEEXITPOINT, api_srvsvc_NETRDFSDELETEEXITPOINT},
4184 {"SRVSVC_NETRDFSMODIFYPREFIX", NDR_SRVSVC_NETRDFSMODIFYPREFIX, api_srvsvc_NETRDFSMODIFYPREFIX},
4185 {"SRVSVC_NETRDFSFIXLOCALVOLUME", NDR_SRVSVC_NETRDFSFIXLOCALVOLUME, api_srvsvc_NETRDFSFIXLOCALVOLUME},
4186 {"SRVSVC_NETRDFSMANAGERREPORTSITEINFO", NDR_SRVSVC_NETRDFSMANAGERREPORTSITEINFO, api_srvsvc_NETRDFSMANAGERREPORTSITEINFO},
4187 {"SRVSVC_NETRSERVERTRANSPORTDELEX", NDR_SRVSVC_NETRSERVERTRANSPORTDELEX, api_srvsvc_NETRSERVERTRANSPORTDELEX},
4190 void srvsvc_get_pipe_fns(struct api_struct **fns, int *n_fns)
4192 *fns = api_srvsvc_cmds;
4193 *n_fns = sizeof(api_srvsvc_cmds) / sizeof(struct api_struct);
4196 NTSTATUS rpc_srvsvc_init(void)
4198 return rpc_pipe_register_commands(SMB_RPC_INTERFACE_VERSION, "srvsvc", "srvsvc", &ndr_table_srvsvc.syntax_id, api_srvsvc_cmds, sizeof(api_srvsvc_cmds) / sizeof(struct api_struct));