2 * Unix SMB/CIFS implementation.
3 * server auto-generated by pidl. DO NOT MODIFY!
7 #include "librpc/gen_ndr/srv_dfs.h"
9 static bool api_dfs_GetManagerVersion(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;
16 struct dfs_GetManagerVersion *r;
18 call = &ndr_table_netdfs.calls[NDR_DFS_GETMANAGERVERSION];
20 r = talloc(talloc_tos(), struct dfs_GetManagerVersion);
25 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
30 pull = ndr_pull_init_blob(&blob, r, NULL);
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)) {
43 if (DEBUGLEVEL >= 10) {
44 NDR_PRINT_IN_DEBUG(dfs_GetManagerVersion, r);
48 r->out.version = talloc_zero(r, enum dfs_ManagerVersion);
49 if (r->out.version == NULL) {
54 _dfs_GetManagerVersion(p, r);
56 if (p->rng_fault_state) {
58 /* Return true here, srv_pipe_hnd.c will take care */
62 if (DEBUGLEVEL >= 10) {
63 NDR_PRINT_OUT_DEBUG(dfs_GetManagerVersion, r);
66 push = ndr_push_init_ctx(r);
72 ndr_err = call->ndr_push(push, NDR_OUT, r);
73 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
78 blob = ndr_push_blob(push);
79 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
89 static bool api_dfs_Add(pipes_struct *p)
91 const struct ndr_interface_call *call;
92 struct ndr_pull *pull;
93 struct ndr_push *push;
94 enum ndr_err_code ndr_err;
98 call = &ndr_table_netdfs.calls[NDR_DFS_ADD];
100 r = talloc(talloc_tos(), struct dfs_Add);
105 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
110 pull = ndr_pull_init_blob(&blob, r, NULL);
116 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
117 ndr_err = call->ndr_pull(pull, NDR_IN, r);
118 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
123 if (DEBUGLEVEL >= 10) {
124 NDR_PRINT_IN_DEBUG(dfs_Add, r);
127 r->out.result = _dfs_Add(p, r);
129 if (p->rng_fault_state) {
131 /* Return true here, srv_pipe_hnd.c will take care */
135 if (DEBUGLEVEL >= 10) {
136 NDR_PRINT_OUT_DEBUG(dfs_Add, r);
139 push = ndr_push_init_ctx(r);
145 ndr_err = call->ndr_push(push, NDR_OUT, r);
146 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
151 blob = ndr_push_blob(push);
152 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
162 static bool api_dfs_Remove(pipes_struct *p)
164 const struct ndr_interface_call *call;
165 struct ndr_pull *pull;
166 struct ndr_push *push;
167 enum ndr_err_code ndr_err;
169 struct dfs_Remove *r;
171 call = &ndr_table_netdfs.calls[NDR_DFS_REMOVE];
173 r = talloc(talloc_tos(), struct dfs_Remove);
178 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
183 pull = ndr_pull_init_blob(&blob, r, NULL);
189 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
190 ndr_err = call->ndr_pull(pull, NDR_IN, r);
191 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
196 if (DEBUGLEVEL >= 10) {
197 NDR_PRINT_IN_DEBUG(dfs_Remove, r);
200 r->out.result = _dfs_Remove(p, r);
202 if (p->rng_fault_state) {
204 /* Return true here, srv_pipe_hnd.c will take care */
208 if (DEBUGLEVEL >= 10) {
209 NDR_PRINT_OUT_DEBUG(dfs_Remove, r);
212 push = ndr_push_init_ctx(r);
218 ndr_err = call->ndr_push(push, NDR_OUT, r);
219 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
224 blob = ndr_push_blob(push);
225 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
235 static bool api_dfs_SetInfo(pipes_struct *p)
237 const struct ndr_interface_call *call;
238 struct ndr_pull *pull;
239 struct ndr_push *push;
240 enum ndr_err_code ndr_err;
242 struct dfs_SetInfo *r;
244 call = &ndr_table_netdfs.calls[NDR_DFS_SETINFO];
246 r = talloc(talloc_tos(), struct dfs_SetInfo);
251 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
256 pull = ndr_pull_init_blob(&blob, r, NULL);
262 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
263 ndr_err = call->ndr_pull(pull, NDR_IN, r);
264 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
269 if (DEBUGLEVEL >= 10) {
270 NDR_PRINT_IN_DEBUG(dfs_SetInfo, r);
273 r->out.result = _dfs_SetInfo(p, r);
275 if (p->rng_fault_state) {
277 /* Return true here, srv_pipe_hnd.c will take care */
281 if (DEBUGLEVEL >= 10) {
282 NDR_PRINT_OUT_DEBUG(dfs_SetInfo, r);
285 push = ndr_push_init_ctx(r);
291 ndr_err = call->ndr_push(push, NDR_OUT, r);
292 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
297 blob = ndr_push_blob(push);
298 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
308 static bool api_dfs_GetInfo(pipes_struct *p)
310 const struct ndr_interface_call *call;
311 struct ndr_pull *pull;
312 struct ndr_push *push;
313 enum ndr_err_code ndr_err;
315 struct dfs_GetInfo *r;
317 call = &ndr_table_netdfs.calls[NDR_DFS_GETINFO];
319 r = talloc(talloc_tos(), struct dfs_GetInfo);
324 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
329 pull = ndr_pull_init_blob(&blob, r, NULL);
335 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
336 ndr_err = call->ndr_pull(pull, NDR_IN, r);
337 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
342 if (DEBUGLEVEL >= 10) {
343 NDR_PRINT_IN_DEBUG(dfs_GetInfo, r);
347 r->out.info = talloc_zero(r, union dfs_Info);
348 if (r->out.info == NULL) {
353 r->out.result = _dfs_GetInfo(p, r);
355 if (p->rng_fault_state) {
357 /* Return true here, srv_pipe_hnd.c will take care */
361 if (DEBUGLEVEL >= 10) {
362 NDR_PRINT_OUT_DEBUG(dfs_GetInfo, r);
365 push = ndr_push_init_ctx(r);
371 ndr_err = call->ndr_push(push, NDR_OUT, r);
372 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
377 blob = ndr_push_blob(push);
378 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
388 static bool api_dfs_Enum(pipes_struct *p)
390 const struct ndr_interface_call *call;
391 struct ndr_pull *pull;
392 struct ndr_push *push;
393 enum ndr_err_code ndr_err;
397 call = &ndr_table_netdfs.calls[NDR_DFS_ENUM];
399 r = talloc(talloc_tos(), struct dfs_Enum);
404 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
409 pull = ndr_pull_init_blob(&blob, r, NULL);
415 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
416 ndr_err = call->ndr_pull(pull, NDR_IN, r);
417 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
422 if (DEBUGLEVEL >= 10) {
423 NDR_PRINT_IN_DEBUG(dfs_Enum, r);
427 r->out.info = r->in.info;
428 r->out.total = r->in.total;
429 r->out.result = _dfs_Enum(p, r);
431 if (p->rng_fault_state) {
433 /* Return true here, srv_pipe_hnd.c will take care */
437 if (DEBUGLEVEL >= 10) {
438 NDR_PRINT_OUT_DEBUG(dfs_Enum, r);
441 push = ndr_push_init_ctx(r);
447 ndr_err = call->ndr_push(push, NDR_OUT, r);
448 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
453 blob = ndr_push_blob(push);
454 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
464 static bool api_dfs_Rename(pipes_struct *p)
466 const struct ndr_interface_call *call;
467 struct ndr_pull *pull;
468 struct ndr_push *push;
469 enum ndr_err_code ndr_err;
471 struct dfs_Rename *r;
473 call = &ndr_table_netdfs.calls[NDR_DFS_RENAME];
475 r = talloc(talloc_tos(), struct dfs_Rename);
480 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
485 pull = ndr_pull_init_blob(&blob, r, NULL);
491 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
492 ndr_err = call->ndr_pull(pull, NDR_IN, r);
493 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
498 if (DEBUGLEVEL >= 10) {
499 NDR_PRINT_IN_DEBUG(dfs_Rename, r);
502 r->out.result = _dfs_Rename(p, r);
504 if (p->rng_fault_state) {
506 /* Return true here, srv_pipe_hnd.c will take care */
510 if (DEBUGLEVEL >= 10) {
511 NDR_PRINT_OUT_DEBUG(dfs_Rename, r);
514 push = ndr_push_init_ctx(r);
520 ndr_err = call->ndr_push(push, NDR_OUT, r);
521 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
526 blob = ndr_push_blob(push);
527 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
537 static bool api_dfs_Move(pipes_struct *p)
539 const struct ndr_interface_call *call;
540 struct ndr_pull *pull;
541 struct ndr_push *push;
542 enum ndr_err_code ndr_err;
546 call = &ndr_table_netdfs.calls[NDR_DFS_MOVE];
548 r = talloc(talloc_tos(), struct dfs_Move);
553 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
558 pull = ndr_pull_init_blob(&blob, r, NULL);
564 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
565 ndr_err = call->ndr_pull(pull, NDR_IN, r);
566 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
571 if (DEBUGLEVEL >= 10) {
572 NDR_PRINT_IN_DEBUG(dfs_Move, r);
575 r->out.result = _dfs_Move(p, r);
577 if (p->rng_fault_state) {
579 /* Return true here, srv_pipe_hnd.c will take care */
583 if (DEBUGLEVEL >= 10) {
584 NDR_PRINT_OUT_DEBUG(dfs_Move, r);
587 push = ndr_push_init_ctx(r);
593 ndr_err = call->ndr_push(push, NDR_OUT, r);
594 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
599 blob = ndr_push_blob(push);
600 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
610 static bool api_dfs_ManagerGetConfigInfo(pipes_struct *p)
612 const struct ndr_interface_call *call;
613 struct ndr_pull *pull;
614 struct ndr_push *push;
615 enum ndr_err_code ndr_err;
617 struct dfs_ManagerGetConfigInfo *r;
619 call = &ndr_table_netdfs.calls[NDR_DFS_MANAGERGETCONFIGINFO];
621 r = talloc(talloc_tos(), struct dfs_ManagerGetConfigInfo);
626 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
631 pull = ndr_pull_init_blob(&blob, r, NULL);
637 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
638 ndr_err = call->ndr_pull(pull, NDR_IN, r);
639 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
644 if (DEBUGLEVEL >= 10) {
645 NDR_PRINT_IN_DEBUG(dfs_ManagerGetConfigInfo, r);
648 r->out.result = _dfs_ManagerGetConfigInfo(p, r);
650 if (p->rng_fault_state) {
652 /* Return true here, srv_pipe_hnd.c will take care */
656 if (DEBUGLEVEL >= 10) {
657 NDR_PRINT_OUT_DEBUG(dfs_ManagerGetConfigInfo, r);
660 push = ndr_push_init_ctx(r);
666 ndr_err = call->ndr_push(push, NDR_OUT, r);
667 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
672 blob = ndr_push_blob(push);
673 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
683 static bool api_dfs_ManagerSendSiteInfo(pipes_struct *p)
685 const struct ndr_interface_call *call;
686 struct ndr_pull *pull;
687 struct ndr_push *push;
688 enum ndr_err_code ndr_err;
690 struct dfs_ManagerSendSiteInfo *r;
692 call = &ndr_table_netdfs.calls[NDR_DFS_MANAGERSENDSITEINFO];
694 r = talloc(talloc_tos(), struct dfs_ManagerSendSiteInfo);
699 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
704 pull = ndr_pull_init_blob(&blob, r, NULL);
710 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
711 ndr_err = call->ndr_pull(pull, NDR_IN, r);
712 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
717 if (DEBUGLEVEL >= 10) {
718 NDR_PRINT_IN_DEBUG(dfs_ManagerSendSiteInfo, r);
721 r->out.result = _dfs_ManagerSendSiteInfo(p, r);
723 if (p->rng_fault_state) {
725 /* Return true here, srv_pipe_hnd.c will take care */
729 if (DEBUGLEVEL >= 10) {
730 NDR_PRINT_OUT_DEBUG(dfs_ManagerSendSiteInfo, r);
733 push = ndr_push_init_ctx(r);
739 ndr_err = call->ndr_push(push, NDR_OUT, r);
740 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
745 blob = ndr_push_blob(push);
746 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
756 static bool api_dfs_AddFtRoot(pipes_struct *p)
758 const struct ndr_interface_call *call;
759 struct ndr_pull *pull;
760 struct ndr_push *push;
761 enum ndr_err_code ndr_err;
763 struct dfs_AddFtRoot *r;
765 call = &ndr_table_netdfs.calls[NDR_DFS_ADDFTROOT];
767 r = talloc(talloc_tos(), struct dfs_AddFtRoot);
772 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
777 pull = ndr_pull_init_blob(&blob, r, NULL);
783 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
784 ndr_err = call->ndr_pull(pull, NDR_IN, r);
785 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
790 if (DEBUGLEVEL >= 10) {
791 NDR_PRINT_IN_DEBUG(dfs_AddFtRoot, r);
795 r->out.unknown2 = r->in.unknown2;
796 r->out.result = _dfs_AddFtRoot(p, r);
798 if (p->rng_fault_state) {
800 /* Return true here, srv_pipe_hnd.c will take care */
804 if (DEBUGLEVEL >= 10) {
805 NDR_PRINT_OUT_DEBUG(dfs_AddFtRoot, r);
808 push = ndr_push_init_ctx(r);
814 ndr_err = call->ndr_push(push, NDR_OUT, r);
815 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
820 blob = ndr_push_blob(push);
821 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
831 static bool api_dfs_RemoveFtRoot(pipes_struct *p)
833 const struct ndr_interface_call *call;
834 struct ndr_pull *pull;
835 struct ndr_push *push;
836 enum ndr_err_code ndr_err;
838 struct dfs_RemoveFtRoot *r;
840 call = &ndr_table_netdfs.calls[NDR_DFS_REMOVEFTROOT];
842 r = talloc(talloc_tos(), struct dfs_RemoveFtRoot);
847 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
852 pull = ndr_pull_init_blob(&blob, r, NULL);
858 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
859 ndr_err = call->ndr_pull(pull, NDR_IN, r);
860 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
865 if (DEBUGLEVEL >= 10) {
866 NDR_PRINT_IN_DEBUG(dfs_RemoveFtRoot, r);
870 r->out.unknown = r->in.unknown;
871 r->out.result = _dfs_RemoveFtRoot(p, r);
873 if (p->rng_fault_state) {
875 /* Return true here, srv_pipe_hnd.c will take care */
879 if (DEBUGLEVEL >= 10) {
880 NDR_PRINT_OUT_DEBUG(dfs_RemoveFtRoot, r);
883 push = ndr_push_init_ctx(r);
889 ndr_err = call->ndr_push(push, NDR_OUT, r);
890 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
895 blob = ndr_push_blob(push);
896 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
906 static bool api_dfs_AddStdRoot(pipes_struct *p)
908 const struct ndr_interface_call *call;
909 struct ndr_pull *pull;
910 struct ndr_push *push;
911 enum ndr_err_code ndr_err;
913 struct dfs_AddStdRoot *r;
915 call = &ndr_table_netdfs.calls[NDR_DFS_ADDSTDROOT];
917 r = talloc(talloc_tos(), struct dfs_AddStdRoot);
922 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
927 pull = ndr_pull_init_blob(&blob, r, NULL);
933 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
934 ndr_err = call->ndr_pull(pull, NDR_IN, r);
935 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
940 if (DEBUGLEVEL >= 10) {
941 NDR_PRINT_IN_DEBUG(dfs_AddStdRoot, r);
944 r->out.result = _dfs_AddStdRoot(p, r);
946 if (p->rng_fault_state) {
948 /* Return true here, srv_pipe_hnd.c will take care */
952 if (DEBUGLEVEL >= 10) {
953 NDR_PRINT_OUT_DEBUG(dfs_AddStdRoot, r);
956 push = ndr_push_init_ctx(r);
962 ndr_err = call->ndr_push(push, NDR_OUT, r);
963 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
968 blob = ndr_push_blob(push);
969 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
979 static bool api_dfs_RemoveStdRoot(pipes_struct *p)
981 const struct ndr_interface_call *call;
982 struct ndr_pull *pull;
983 struct ndr_push *push;
984 enum ndr_err_code ndr_err;
986 struct dfs_RemoveStdRoot *r;
988 call = &ndr_table_netdfs.calls[NDR_DFS_REMOVESTDROOT];
990 r = talloc(talloc_tos(), struct dfs_RemoveStdRoot);
995 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
1000 pull = ndr_pull_init_blob(&blob, r, NULL);
1006 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
1007 ndr_err = call->ndr_pull(pull, NDR_IN, r);
1008 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1013 if (DEBUGLEVEL >= 10) {
1014 NDR_PRINT_IN_DEBUG(dfs_RemoveStdRoot, r);
1017 r->out.result = _dfs_RemoveStdRoot(p, r);
1019 if (p->rng_fault_state) {
1021 /* Return true here, srv_pipe_hnd.c will take care */
1025 if (DEBUGLEVEL >= 10) {
1026 NDR_PRINT_OUT_DEBUG(dfs_RemoveStdRoot, r);
1029 push = ndr_push_init_ctx(r);
1035 ndr_err = call->ndr_push(push, NDR_OUT, r);
1036 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1041 blob = ndr_push_blob(push);
1042 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
1052 static bool api_dfs_ManagerInitialize(pipes_struct *p)
1054 const struct ndr_interface_call *call;
1055 struct ndr_pull *pull;
1056 struct ndr_push *push;
1057 enum ndr_err_code ndr_err;
1059 struct dfs_ManagerInitialize *r;
1061 call = &ndr_table_netdfs.calls[NDR_DFS_MANAGERINITIALIZE];
1063 r = talloc(talloc_tos(), struct dfs_ManagerInitialize);
1068 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
1073 pull = ndr_pull_init_blob(&blob, r, NULL);
1079 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
1080 ndr_err = call->ndr_pull(pull, NDR_IN, r);
1081 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1086 if (DEBUGLEVEL >= 10) {
1087 NDR_PRINT_IN_DEBUG(dfs_ManagerInitialize, r);
1090 r->out.result = _dfs_ManagerInitialize(p, r);
1092 if (p->rng_fault_state) {
1094 /* Return true here, srv_pipe_hnd.c will take care */
1098 if (DEBUGLEVEL >= 10) {
1099 NDR_PRINT_OUT_DEBUG(dfs_ManagerInitialize, r);
1102 push = ndr_push_init_ctx(r);
1108 ndr_err = call->ndr_push(push, NDR_OUT, r);
1109 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1114 blob = ndr_push_blob(push);
1115 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
1125 static bool api_dfs_AddStdRootForced(pipes_struct *p)
1127 const struct ndr_interface_call *call;
1128 struct ndr_pull *pull;
1129 struct ndr_push *push;
1130 enum ndr_err_code ndr_err;
1132 struct dfs_AddStdRootForced *r;
1134 call = &ndr_table_netdfs.calls[NDR_DFS_ADDSTDROOTFORCED];
1136 r = talloc(talloc_tos(), struct dfs_AddStdRootForced);
1141 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
1146 pull = ndr_pull_init_blob(&blob, r, NULL);
1152 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
1153 ndr_err = call->ndr_pull(pull, NDR_IN, r);
1154 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1159 if (DEBUGLEVEL >= 10) {
1160 NDR_PRINT_IN_DEBUG(dfs_AddStdRootForced, r);
1163 r->out.result = _dfs_AddStdRootForced(p, r);
1165 if (p->rng_fault_state) {
1167 /* Return true here, srv_pipe_hnd.c will take care */
1171 if (DEBUGLEVEL >= 10) {
1172 NDR_PRINT_OUT_DEBUG(dfs_AddStdRootForced, r);
1175 push = ndr_push_init_ctx(r);
1181 ndr_err = call->ndr_push(push, NDR_OUT, r);
1182 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1187 blob = ndr_push_blob(push);
1188 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
1198 static bool api_dfs_GetDcAddress(pipes_struct *p)
1200 const struct ndr_interface_call *call;
1201 struct ndr_pull *pull;
1202 struct ndr_push *push;
1203 enum ndr_err_code ndr_err;
1205 struct dfs_GetDcAddress *r;
1207 call = &ndr_table_netdfs.calls[NDR_DFS_GETDCADDRESS];
1209 r = talloc(talloc_tos(), struct dfs_GetDcAddress);
1214 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
1219 pull = ndr_pull_init_blob(&blob, r, NULL);
1225 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
1226 ndr_err = call->ndr_pull(pull, NDR_IN, r);
1227 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1232 if (DEBUGLEVEL >= 10) {
1233 NDR_PRINT_IN_DEBUG(dfs_GetDcAddress, r);
1236 ZERO_STRUCT(r->out);
1237 r->out.server_fullname = r->in.server_fullname;
1238 r->out.is_root = r->in.is_root;
1239 r->out.ttl = r->in.ttl;
1240 r->out.result = _dfs_GetDcAddress(p, r);
1242 if (p->rng_fault_state) {
1244 /* Return true here, srv_pipe_hnd.c will take care */
1248 if (DEBUGLEVEL >= 10) {
1249 NDR_PRINT_OUT_DEBUG(dfs_GetDcAddress, r);
1252 push = ndr_push_init_ctx(r);
1258 ndr_err = call->ndr_push(push, NDR_OUT, r);
1259 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1264 blob = ndr_push_blob(push);
1265 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
1275 static bool api_dfs_SetDcAddress(pipes_struct *p)
1277 const struct ndr_interface_call *call;
1278 struct ndr_pull *pull;
1279 struct ndr_push *push;
1280 enum ndr_err_code ndr_err;
1282 struct dfs_SetDcAddress *r;
1284 call = &ndr_table_netdfs.calls[NDR_DFS_SETDCADDRESS];
1286 r = talloc(talloc_tos(), struct dfs_SetDcAddress);
1291 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
1296 pull = ndr_pull_init_blob(&blob, r, NULL);
1302 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
1303 ndr_err = call->ndr_pull(pull, NDR_IN, r);
1304 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1309 if (DEBUGLEVEL >= 10) {
1310 NDR_PRINT_IN_DEBUG(dfs_SetDcAddress, r);
1313 r->out.result = _dfs_SetDcAddress(p, r);
1315 if (p->rng_fault_state) {
1317 /* Return true here, srv_pipe_hnd.c will take care */
1321 if (DEBUGLEVEL >= 10) {
1322 NDR_PRINT_OUT_DEBUG(dfs_SetDcAddress, r);
1325 push = ndr_push_init_ctx(r);
1331 ndr_err = call->ndr_push(push, NDR_OUT, r);
1332 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1337 blob = ndr_push_blob(push);
1338 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
1348 static bool api_dfs_FlushFtTable(pipes_struct *p)
1350 const struct ndr_interface_call *call;
1351 struct ndr_pull *pull;
1352 struct ndr_push *push;
1353 enum ndr_err_code ndr_err;
1355 struct dfs_FlushFtTable *r;
1357 call = &ndr_table_netdfs.calls[NDR_DFS_FLUSHFTTABLE];
1359 r = talloc(talloc_tos(), struct dfs_FlushFtTable);
1364 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
1369 pull = ndr_pull_init_blob(&blob, r, NULL);
1375 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
1376 ndr_err = call->ndr_pull(pull, NDR_IN, r);
1377 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1382 if (DEBUGLEVEL >= 10) {
1383 NDR_PRINT_IN_DEBUG(dfs_FlushFtTable, r);
1386 r->out.result = _dfs_FlushFtTable(p, r);
1388 if (p->rng_fault_state) {
1390 /* Return true here, srv_pipe_hnd.c will take care */
1394 if (DEBUGLEVEL >= 10) {
1395 NDR_PRINT_OUT_DEBUG(dfs_FlushFtTable, r);
1398 push = ndr_push_init_ctx(r);
1404 ndr_err = call->ndr_push(push, NDR_OUT, r);
1405 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1410 blob = ndr_push_blob(push);
1411 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
1421 static bool api_dfs_Add2(pipes_struct *p)
1423 const struct ndr_interface_call *call;
1424 struct ndr_pull *pull;
1425 struct ndr_push *push;
1426 enum ndr_err_code ndr_err;
1430 call = &ndr_table_netdfs.calls[NDR_DFS_ADD2];
1432 r = talloc(talloc_tos(), struct dfs_Add2);
1437 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
1442 pull = ndr_pull_init_blob(&blob, r, NULL);
1448 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
1449 ndr_err = call->ndr_pull(pull, NDR_IN, r);
1450 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1455 if (DEBUGLEVEL >= 10) {
1456 NDR_PRINT_IN_DEBUG(dfs_Add2, r);
1459 r->out.result = _dfs_Add2(p, r);
1461 if (p->rng_fault_state) {
1463 /* Return true here, srv_pipe_hnd.c will take care */
1467 if (DEBUGLEVEL >= 10) {
1468 NDR_PRINT_OUT_DEBUG(dfs_Add2, r);
1471 push = ndr_push_init_ctx(r);
1477 ndr_err = call->ndr_push(push, NDR_OUT, r);
1478 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1483 blob = ndr_push_blob(push);
1484 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
1494 static bool api_dfs_Remove2(pipes_struct *p)
1496 const struct ndr_interface_call *call;
1497 struct ndr_pull *pull;
1498 struct ndr_push *push;
1499 enum ndr_err_code ndr_err;
1501 struct dfs_Remove2 *r;
1503 call = &ndr_table_netdfs.calls[NDR_DFS_REMOVE2];
1505 r = talloc(talloc_tos(), struct dfs_Remove2);
1510 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
1515 pull = ndr_pull_init_blob(&blob, r, NULL);
1521 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
1522 ndr_err = call->ndr_pull(pull, NDR_IN, r);
1523 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1528 if (DEBUGLEVEL >= 10) {
1529 NDR_PRINT_IN_DEBUG(dfs_Remove2, r);
1532 r->out.result = _dfs_Remove2(p, r);
1534 if (p->rng_fault_state) {
1536 /* Return true here, srv_pipe_hnd.c will take care */
1540 if (DEBUGLEVEL >= 10) {
1541 NDR_PRINT_OUT_DEBUG(dfs_Remove2, r);
1544 push = ndr_push_init_ctx(r);
1550 ndr_err = call->ndr_push(push, NDR_OUT, r);
1551 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1556 blob = ndr_push_blob(push);
1557 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
1567 static bool api_dfs_EnumEx(pipes_struct *p)
1569 const struct ndr_interface_call *call;
1570 struct ndr_pull *pull;
1571 struct ndr_push *push;
1572 enum ndr_err_code ndr_err;
1574 struct dfs_EnumEx *r;
1576 call = &ndr_table_netdfs.calls[NDR_DFS_ENUMEX];
1578 r = talloc(talloc_tos(), struct dfs_EnumEx);
1583 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
1588 pull = ndr_pull_init_blob(&blob, r, NULL);
1594 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
1595 ndr_err = call->ndr_pull(pull, NDR_IN, r);
1596 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1601 if (DEBUGLEVEL >= 10) {
1602 NDR_PRINT_IN_DEBUG(dfs_EnumEx, r);
1605 ZERO_STRUCT(r->out);
1606 r->out.info = r->in.info;
1607 r->out.total = r->in.total;
1608 r->out.result = _dfs_EnumEx(p, r);
1610 if (p->rng_fault_state) {
1612 /* Return true here, srv_pipe_hnd.c will take care */
1616 if (DEBUGLEVEL >= 10) {
1617 NDR_PRINT_OUT_DEBUG(dfs_EnumEx, r);
1620 push = ndr_push_init_ctx(r);
1626 ndr_err = call->ndr_push(push, NDR_OUT, r);
1627 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1632 blob = ndr_push_blob(push);
1633 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
1643 static bool api_dfs_SetInfo2(pipes_struct *p)
1645 const struct ndr_interface_call *call;
1646 struct ndr_pull *pull;
1647 struct ndr_push *push;
1648 enum ndr_err_code ndr_err;
1650 struct dfs_SetInfo2 *r;
1652 call = &ndr_table_netdfs.calls[NDR_DFS_SETINFO2];
1654 r = talloc(talloc_tos(), struct dfs_SetInfo2);
1659 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
1664 pull = ndr_pull_init_blob(&blob, r, NULL);
1670 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
1671 ndr_err = call->ndr_pull(pull, NDR_IN, r);
1672 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1677 if (DEBUGLEVEL >= 10) {
1678 NDR_PRINT_IN_DEBUG(dfs_SetInfo2, r);
1681 r->out.result = _dfs_SetInfo2(p, r);
1683 if (p->rng_fault_state) {
1685 /* Return true here, srv_pipe_hnd.c will take care */
1689 if (DEBUGLEVEL >= 10) {
1690 NDR_PRINT_OUT_DEBUG(dfs_SetInfo2, r);
1693 push = ndr_push_init_ctx(r);
1699 ndr_err = call->ndr_push(push, NDR_OUT, r);
1700 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1705 blob = ndr_push_blob(push);
1706 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
1718 static struct api_struct api_netdfs_cmds[] =
1720 {"DFS_GETMANAGERVERSION", NDR_DFS_GETMANAGERVERSION, api_dfs_GetManagerVersion},
1721 {"DFS_ADD", NDR_DFS_ADD, api_dfs_Add},
1722 {"DFS_REMOVE", NDR_DFS_REMOVE, api_dfs_Remove},
1723 {"DFS_SETINFO", NDR_DFS_SETINFO, api_dfs_SetInfo},
1724 {"DFS_GETINFO", NDR_DFS_GETINFO, api_dfs_GetInfo},
1725 {"DFS_ENUM", NDR_DFS_ENUM, api_dfs_Enum},
1726 {"DFS_RENAME", NDR_DFS_RENAME, api_dfs_Rename},
1727 {"DFS_MOVE", NDR_DFS_MOVE, api_dfs_Move},
1728 {"DFS_MANAGERGETCONFIGINFO", NDR_DFS_MANAGERGETCONFIGINFO, api_dfs_ManagerGetConfigInfo},
1729 {"DFS_MANAGERSENDSITEINFO", NDR_DFS_MANAGERSENDSITEINFO, api_dfs_ManagerSendSiteInfo},
1730 {"DFS_ADDFTROOT", NDR_DFS_ADDFTROOT, api_dfs_AddFtRoot},
1731 {"DFS_REMOVEFTROOT", NDR_DFS_REMOVEFTROOT, api_dfs_RemoveFtRoot},
1732 {"DFS_ADDSTDROOT", NDR_DFS_ADDSTDROOT, api_dfs_AddStdRoot},
1733 {"DFS_REMOVESTDROOT", NDR_DFS_REMOVESTDROOT, api_dfs_RemoveStdRoot},
1734 {"DFS_MANAGERINITIALIZE", NDR_DFS_MANAGERINITIALIZE, api_dfs_ManagerInitialize},
1735 {"DFS_ADDSTDROOTFORCED", NDR_DFS_ADDSTDROOTFORCED, api_dfs_AddStdRootForced},
1736 {"DFS_GETDCADDRESS", NDR_DFS_GETDCADDRESS, api_dfs_GetDcAddress},
1737 {"DFS_SETDCADDRESS", NDR_DFS_SETDCADDRESS, api_dfs_SetDcAddress},
1738 {"DFS_FLUSHFTTABLE", NDR_DFS_FLUSHFTTABLE, api_dfs_FlushFtTable},
1739 {"DFS_ADD2", NDR_DFS_ADD2, api_dfs_Add2},
1740 {"DFS_REMOVE2", NDR_DFS_REMOVE2, api_dfs_Remove2},
1741 {"DFS_ENUMEX", NDR_DFS_ENUMEX, api_dfs_EnumEx},
1742 {"DFS_SETINFO2", NDR_DFS_SETINFO2, api_dfs_SetInfo2},
1745 void netdfs_get_pipe_fns(struct api_struct **fns, int *n_fns)
1747 *fns = api_netdfs_cmds;
1748 *n_fns = sizeof(api_netdfs_cmds) / sizeof(struct api_struct);
1751 NTSTATUS rpc_netdfs_init(void)
1753 return rpc_pipe_register_commands(SMB_RPC_INTERFACE_VERSION, "netdfs", "netdfs", &ndr_table_netdfs.syntax_id, api_netdfs_cmds, sizeof(api_netdfs_cmds) / sizeof(struct api_struct));