2 * Unix SMB/CIFS implementation.
3 * server auto-generated by pidl. DO NOT MODIFY!
8 #include "bin/default/librpc/gen_ndr/srv_clusapi.h"
10 static bool api_clusapi_OpenCluster(struct pipes_struct *p)
12 const struct ndr_interface_call *call;
13 struct ndr_pull *pull;
14 struct ndr_push *push;
15 enum ndr_err_code ndr_err;
16 struct clusapi_OpenCluster *r;
18 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_OPENCLUSTER];
20 r = talloc(talloc_tos(), struct clusapi_OpenCluster);
25 pull = ndr_pull_init_blob(&p->in_data.data, r);
31 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
33 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
35 ndr_err = call->ndr_pull(pull, NDR_IN, r);
36 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
41 if (DEBUGLEVEL >= 10) {
42 NDR_PRINT_FUNCTION_DEBUG(clusapi_OpenCluster, NDR_IN, r);
46 r->out.Status = talloc_zero(r, WERROR);
47 if (r->out.Status == NULL) {
52 r->out.Cluster = talloc_zero(r, struct policy_handle);
53 if (r->out.Cluster == NULL) {
58 _clusapi_OpenCluster(p, r);
62 /* Return true here, srv_pipe_hnd.c will take care */
66 if (DEBUGLEVEL >= 10) {
67 NDR_PRINT_FUNCTION_DEBUG(clusapi_OpenCluster, NDR_OUT | NDR_SET_VALUES, r);
70 push = ndr_push_init_ctx(r);
77 * carry over the pointer count to the reply in case we are
78 * using full pointer. See NDR specification for full pointers
80 push->ptr_count = pull->ptr_count;
82 ndr_err = call->ndr_push(push, NDR_OUT, r);
83 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
88 p->out_data.rdata = ndr_push_blob(push);
89 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
96 static bool api_clusapi_CloseCluster(struct pipes_struct *p)
98 const struct ndr_interface_call *call;
99 struct ndr_pull *pull;
100 struct ndr_push *push;
101 enum ndr_err_code ndr_err;
102 struct clusapi_CloseCluster *r;
104 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_CLOSECLUSTER];
106 r = talloc(talloc_tos(), struct clusapi_CloseCluster);
111 pull = ndr_pull_init_blob(&p->in_data.data, r);
117 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
119 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
121 ndr_err = call->ndr_pull(pull, NDR_IN, r);
122 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
127 if (DEBUGLEVEL >= 10) {
128 NDR_PRINT_FUNCTION_DEBUG(clusapi_CloseCluster, NDR_IN, r);
132 r->out.Cluster = r->in.Cluster;
133 r->out.result = _clusapi_CloseCluster(p, r);
135 if (p->fault_state) {
137 /* Return true here, srv_pipe_hnd.c will take care */
141 if (DEBUGLEVEL >= 10) {
142 NDR_PRINT_FUNCTION_DEBUG(clusapi_CloseCluster, NDR_OUT | NDR_SET_VALUES, r);
145 push = ndr_push_init_ctx(r);
152 * carry over the pointer count to the reply in case we are
153 * using full pointer. See NDR specification for full pointers
155 push->ptr_count = pull->ptr_count;
157 ndr_err = call->ndr_push(push, NDR_OUT, r);
158 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
163 p->out_data.rdata = ndr_push_blob(push);
164 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
171 static bool api_clusapi_SetClusterName(struct pipes_struct *p)
173 const struct ndr_interface_call *call;
174 struct ndr_pull *pull;
175 struct ndr_push *push;
176 enum ndr_err_code ndr_err;
177 struct clusapi_SetClusterName *r;
179 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_SETCLUSTERNAME];
181 r = talloc(talloc_tos(), struct clusapi_SetClusterName);
186 pull = ndr_pull_init_blob(&p->in_data.data, r);
192 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
194 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
196 ndr_err = call->ndr_pull(pull, NDR_IN, r);
197 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
202 if (DEBUGLEVEL >= 10) {
203 NDR_PRINT_FUNCTION_DEBUG(clusapi_SetClusterName, NDR_IN, r);
207 r->out.rpc_status = talloc_zero(r, WERROR);
208 if (r->out.rpc_status == NULL) {
213 r->out.result = _clusapi_SetClusterName(p, r);
215 if (p->fault_state) {
217 /* Return true here, srv_pipe_hnd.c will take care */
221 if (DEBUGLEVEL >= 10) {
222 NDR_PRINT_FUNCTION_DEBUG(clusapi_SetClusterName, NDR_OUT | NDR_SET_VALUES, r);
225 push = ndr_push_init_ctx(r);
232 * carry over the pointer count to the reply in case we are
233 * using full pointer. See NDR specification for full pointers
235 push->ptr_count = pull->ptr_count;
237 ndr_err = call->ndr_push(push, NDR_OUT, r);
238 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
243 p->out_data.rdata = ndr_push_blob(push);
244 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
251 static bool api_clusapi_GetClusterName(struct pipes_struct *p)
253 const struct ndr_interface_call *call;
254 struct ndr_pull *pull;
255 struct ndr_push *push;
256 enum ndr_err_code ndr_err;
257 struct clusapi_GetClusterName *r;
259 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_GETCLUSTERNAME];
261 r = talloc(talloc_tos(), struct clusapi_GetClusterName);
266 pull = ndr_pull_init_blob(&p->in_data.data, r);
272 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
274 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
276 ndr_err = call->ndr_pull(pull, NDR_IN, r);
277 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
282 if (DEBUGLEVEL >= 10) {
283 NDR_PRINT_FUNCTION_DEBUG(clusapi_GetClusterName, NDR_IN, r);
287 r->out.ClusterName = talloc_zero(r, const char *);
288 if (r->out.ClusterName == NULL) {
293 r->out.NodeName = talloc_zero(r, const char *);
294 if (r->out.NodeName == NULL) {
299 r->out.result = _clusapi_GetClusterName(p, r);
301 if (p->fault_state) {
303 /* Return true here, srv_pipe_hnd.c will take care */
307 if (DEBUGLEVEL >= 10) {
308 NDR_PRINT_FUNCTION_DEBUG(clusapi_GetClusterName, NDR_OUT | NDR_SET_VALUES, r);
311 push = ndr_push_init_ctx(r);
318 * carry over the pointer count to the reply in case we are
319 * using full pointer. See NDR specification for full pointers
321 push->ptr_count = pull->ptr_count;
323 ndr_err = call->ndr_push(push, NDR_OUT, r);
324 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
329 p->out_data.rdata = ndr_push_blob(push);
330 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
337 static bool api_clusapi_GetClusterVersion(struct pipes_struct *p)
339 const struct ndr_interface_call *call;
340 struct ndr_pull *pull;
341 struct ndr_push *push;
342 enum ndr_err_code ndr_err;
343 struct clusapi_GetClusterVersion *r;
345 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_GETCLUSTERVERSION];
347 r = talloc(talloc_tos(), struct clusapi_GetClusterVersion);
352 pull = ndr_pull_init_blob(&p->in_data.data, r);
358 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
360 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
362 ndr_err = call->ndr_pull(pull, NDR_IN, r);
363 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
368 if (DEBUGLEVEL >= 10) {
369 NDR_PRINT_FUNCTION_DEBUG(clusapi_GetClusterVersion, NDR_IN, r);
373 r->out.lpwMajorVersion = talloc_zero(r, uint16_t);
374 if (r->out.lpwMajorVersion == NULL) {
379 r->out.lpwMinorVersion = talloc_zero(r, uint16_t);
380 if (r->out.lpwMinorVersion == NULL) {
385 r->out.lpwBuildNumber = talloc_zero(r, uint16_t);
386 if (r->out.lpwBuildNumber == NULL) {
391 r->out.lpszVendorId = talloc_zero(r, const char *);
392 if (r->out.lpszVendorId == NULL) {
397 r->out.lpszCSDVersion = talloc_zero(r, const char *);
398 if (r->out.lpszCSDVersion == NULL) {
403 r->out.result = _clusapi_GetClusterVersion(p, r);
405 if (p->fault_state) {
407 /* Return true here, srv_pipe_hnd.c will take care */
411 if (DEBUGLEVEL >= 10) {
412 NDR_PRINT_FUNCTION_DEBUG(clusapi_GetClusterVersion, NDR_OUT | NDR_SET_VALUES, r);
415 push = ndr_push_init_ctx(r);
422 * carry over the pointer count to the reply in case we are
423 * using full pointer. See NDR specification for full pointers
425 push->ptr_count = pull->ptr_count;
427 ndr_err = call->ndr_push(push, NDR_OUT, r);
428 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
433 p->out_data.rdata = ndr_push_blob(push);
434 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
441 static bool api_clusapi_GetQuorumResource(struct pipes_struct *p)
443 const struct ndr_interface_call *call;
444 struct ndr_pull *pull;
445 struct ndr_push *push;
446 enum ndr_err_code ndr_err;
447 struct clusapi_GetQuorumResource *r;
449 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_GETQUORUMRESOURCE];
451 r = talloc(talloc_tos(), struct clusapi_GetQuorumResource);
456 pull = ndr_pull_init_blob(&p->in_data.data, r);
462 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
464 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
466 ndr_err = call->ndr_pull(pull, NDR_IN, r);
467 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
472 if (DEBUGLEVEL >= 10) {
473 NDR_PRINT_FUNCTION_DEBUG(clusapi_GetQuorumResource, NDR_IN, r);
477 r->out.lpszResourceName = talloc_zero(r, const char *);
478 if (r->out.lpszResourceName == NULL) {
483 r->out.lpszDeviceName = talloc_zero(r, const char *);
484 if (r->out.lpszDeviceName == NULL) {
489 r->out.pdwMaxQuorumLogSize = talloc_zero(r, uint32_t);
490 if (r->out.pdwMaxQuorumLogSize == NULL) {
495 r->out.rpc_status = talloc_zero(r, WERROR);
496 if (r->out.rpc_status == NULL) {
501 r->out.result = _clusapi_GetQuorumResource(p, r);
503 if (p->fault_state) {
505 /* Return true here, srv_pipe_hnd.c will take care */
509 if (DEBUGLEVEL >= 10) {
510 NDR_PRINT_FUNCTION_DEBUG(clusapi_GetQuorumResource, NDR_OUT | NDR_SET_VALUES, r);
513 push = ndr_push_init_ctx(r);
520 * carry over the pointer count to the reply in case we are
521 * using full pointer. See NDR specification for full pointers
523 push->ptr_count = pull->ptr_count;
525 ndr_err = call->ndr_push(push, NDR_OUT, r);
526 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
531 p->out_data.rdata = ndr_push_blob(push);
532 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
539 static bool api_clusapi_SetQuorumResource(struct pipes_struct *p)
541 const struct ndr_interface_call *call;
542 struct ndr_pull *pull;
543 struct ndr_push *push;
544 enum ndr_err_code ndr_err;
545 struct clusapi_SetQuorumResource *r;
547 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_SETQUORUMRESOURCE];
549 r = talloc(talloc_tos(), struct clusapi_SetQuorumResource);
554 pull = ndr_pull_init_blob(&p->in_data.data, r);
560 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
562 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
564 ndr_err = call->ndr_pull(pull, NDR_IN, r);
565 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
570 if (DEBUGLEVEL >= 10) {
571 NDR_PRINT_FUNCTION_DEBUG(clusapi_SetQuorumResource, NDR_IN, r);
575 r->out.rpc_status = talloc_zero(r, WERROR);
576 if (r->out.rpc_status == NULL) {
581 r->out.result = _clusapi_SetQuorumResource(p, r);
583 if (p->fault_state) {
585 /* Return true here, srv_pipe_hnd.c will take care */
589 if (DEBUGLEVEL >= 10) {
590 NDR_PRINT_FUNCTION_DEBUG(clusapi_SetQuorumResource, NDR_OUT | NDR_SET_VALUES, r);
593 push = ndr_push_init_ctx(r);
600 * carry over the pointer count to the reply in case we are
601 * using full pointer. See NDR specification for full pointers
603 push->ptr_count = pull->ptr_count;
605 ndr_err = call->ndr_push(push, NDR_OUT, r);
606 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
611 p->out_data.rdata = ndr_push_blob(push);
612 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
619 static bool api_clusapi_CreateEnum(struct pipes_struct *p)
621 const struct ndr_interface_call *call;
622 struct ndr_pull *pull;
623 struct ndr_push *push;
624 enum ndr_err_code ndr_err;
625 struct clusapi_CreateEnum *r;
627 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_CREATEENUM];
629 r = talloc(talloc_tos(), struct clusapi_CreateEnum);
634 pull = ndr_pull_init_blob(&p->in_data.data, r);
640 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
642 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
644 ndr_err = call->ndr_pull(pull, NDR_IN, r);
645 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
650 if (DEBUGLEVEL >= 10) {
651 NDR_PRINT_FUNCTION_DEBUG(clusapi_CreateEnum, NDR_IN, r);
655 r->out.ReturnEnum = talloc_zero(r, struct ENUM_LIST *);
656 if (r->out.ReturnEnum == NULL) {
661 r->out.rpc_status = talloc_zero(r, WERROR);
662 if (r->out.rpc_status == NULL) {
667 r->out.result = _clusapi_CreateEnum(p, r);
669 if (p->fault_state) {
671 /* Return true here, srv_pipe_hnd.c will take care */
675 if (DEBUGLEVEL >= 10) {
676 NDR_PRINT_FUNCTION_DEBUG(clusapi_CreateEnum, NDR_OUT | NDR_SET_VALUES, r);
679 push = ndr_push_init_ctx(r);
686 * carry over the pointer count to the reply in case we are
687 * using full pointer. See NDR specification for full pointers
689 push->ptr_count = pull->ptr_count;
691 ndr_err = call->ndr_push(push, NDR_OUT, r);
692 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
697 p->out_data.rdata = ndr_push_blob(push);
698 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
705 static bool api_clusapi_OpenResource(struct pipes_struct *p)
707 const struct ndr_interface_call *call;
708 struct ndr_pull *pull;
709 struct ndr_push *push;
710 enum ndr_err_code ndr_err;
711 struct clusapi_OpenResource *r;
713 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_OPENRESOURCE];
715 r = talloc(talloc_tos(), struct clusapi_OpenResource);
720 pull = ndr_pull_init_blob(&p->in_data.data, r);
726 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
728 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
730 ndr_err = call->ndr_pull(pull, NDR_IN, r);
731 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
736 if (DEBUGLEVEL >= 10) {
737 NDR_PRINT_FUNCTION_DEBUG(clusapi_OpenResource, NDR_IN, r);
741 r->out.Status = talloc_zero(r, WERROR);
742 if (r->out.Status == NULL) {
747 r->out.rpc_status = talloc_zero(r, WERROR);
748 if (r->out.rpc_status == NULL) {
753 r->out.hResource = talloc_zero(r, struct policy_handle);
754 if (r->out.hResource == NULL) {
759 _clusapi_OpenResource(p, r);
761 if (p->fault_state) {
763 /* Return true here, srv_pipe_hnd.c will take care */
767 if (DEBUGLEVEL >= 10) {
768 NDR_PRINT_FUNCTION_DEBUG(clusapi_OpenResource, NDR_OUT | NDR_SET_VALUES, r);
771 push = ndr_push_init_ctx(r);
778 * carry over the pointer count to the reply in case we are
779 * using full pointer. See NDR specification for full pointers
781 push->ptr_count = pull->ptr_count;
783 ndr_err = call->ndr_push(push, NDR_OUT, r);
784 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
789 p->out_data.rdata = ndr_push_blob(push);
790 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
797 static bool api_clusapi_CreateResource(struct pipes_struct *p)
799 const struct ndr_interface_call *call;
800 struct ndr_pull *pull;
801 struct ndr_push *push;
802 enum ndr_err_code ndr_err;
803 struct clusapi_CreateResource *r;
805 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_CREATERESOURCE];
807 r = talloc(talloc_tos(), struct clusapi_CreateResource);
812 pull = ndr_pull_init_blob(&p->in_data.data, r);
818 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
820 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
822 ndr_err = call->ndr_pull(pull, NDR_IN, r);
823 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
828 if (DEBUGLEVEL >= 10) {
829 NDR_PRINT_FUNCTION_DEBUG(clusapi_CreateResource, NDR_IN, r);
833 r->out.Status = talloc_zero(r, WERROR);
834 if (r->out.Status == NULL) {
839 r->out.rpc_status = talloc_zero(r, WERROR);
840 if (r->out.rpc_status == NULL) {
845 r->out.hResource = talloc_zero(r, struct policy_handle);
846 if (r->out.hResource == NULL) {
851 _clusapi_CreateResource(p, r);
853 if (p->fault_state) {
855 /* Return true here, srv_pipe_hnd.c will take care */
859 if (DEBUGLEVEL >= 10) {
860 NDR_PRINT_FUNCTION_DEBUG(clusapi_CreateResource, NDR_OUT | NDR_SET_VALUES, r);
863 push = ndr_push_init_ctx(r);
870 * carry over the pointer count to the reply in case we are
871 * using full pointer. See NDR specification for full pointers
873 push->ptr_count = pull->ptr_count;
875 ndr_err = call->ndr_push(push, NDR_OUT, r);
876 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
881 p->out_data.rdata = ndr_push_blob(push);
882 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
889 static bool api_clusapi_DeleteResource(struct pipes_struct *p)
891 const struct ndr_interface_call *call;
892 struct ndr_pull *pull;
893 struct ndr_push *push;
894 enum ndr_err_code ndr_err;
895 struct clusapi_DeleteResource *r;
897 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_DELETERESOURCE];
899 r = talloc(talloc_tos(), struct clusapi_DeleteResource);
904 pull = ndr_pull_init_blob(&p->in_data.data, r);
910 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
912 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
914 ndr_err = call->ndr_pull(pull, NDR_IN, r);
915 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
920 if (DEBUGLEVEL >= 10) {
921 NDR_PRINT_FUNCTION_DEBUG(clusapi_DeleteResource, NDR_IN, r);
925 r->out.rpc_status = talloc_zero(r, WERROR);
926 if (r->out.rpc_status == NULL) {
931 r->out.result = _clusapi_DeleteResource(p, r);
933 if (p->fault_state) {
935 /* Return true here, srv_pipe_hnd.c will take care */
939 if (DEBUGLEVEL >= 10) {
940 NDR_PRINT_FUNCTION_DEBUG(clusapi_DeleteResource, NDR_OUT | NDR_SET_VALUES, r);
943 push = ndr_push_init_ctx(r);
950 * carry over the pointer count to the reply in case we are
951 * using full pointer. See NDR specification for full pointers
953 push->ptr_count = pull->ptr_count;
955 ndr_err = call->ndr_push(push, NDR_OUT, r);
956 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
961 p->out_data.rdata = ndr_push_blob(push);
962 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
969 static bool api_clusapi_CloseResource(struct pipes_struct *p)
971 const struct ndr_interface_call *call;
972 struct ndr_pull *pull;
973 struct ndr_push *push;
974 enum ndr_err_code ndr_err;
975 struct clusapi_CloseResource *r;
977 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_CLOSERESOURCE];
979 r = talloc(talloc_tos(), struct clusapi_CloseResource);
984 pull = ndr_pull_init_blob(&p->in_data.data, r);
990 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
992 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
994 ndr_err = call->ndr_pull(pull, NDR_IN, r);
995 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1000 if (DEBUGLEVEL >= 10) {
1001 NDR_PRINT_FUNCTION_DEBUG(clusapi_CloseResource, NDR_IN, r);
1004 ZERO_STRUCT(r->out);
1005 r->out.Resource = r->in.Resource;
1006 r->out.result = _clusapi_CloseResource(p, r);
1008 if (p->fault_state) {
1010 /* Return true here, srv_pipe_hnd.c will take care */
1014 if (DEBUGLEVEL >= 10) {
1015 NDR_PRINT_FUNCTION_DEBUG(clusapi_CloseResource, NDR_OUT | NDR_SET_VALUES, r);
1018 push = ndr_push_init_ctx(r);
1025 * carry over the pointer count to the reply in case we are
1026 * using full pointer. See NDR specification for full pointers
1028 push->ptr_count = pull->ptr_count;
1030 ndr_err = call->ndr_push(push, NDR_OUT, r);
1031 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1036 p->out_data.rdata = ndr_push_blob(push);
1037 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
1044 static bool api_clusapi_GetResourceState(struct pipes_struct *p)
1046 const struct ndr_interface_call *call;
1047 struct ndr_pull *pull;
1048 struct ndr_push *push;
1049 enum ndr_err_code ndr_err;
1050 struct clusapi_GetResourceState *r;
1052 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_GETRESOURCESTATE];
1054 r = talloc(talloc_tos(), struct clusapi_GetResourceState);
1059 pull = ndr_pull_init_blob(&p->in_data.data, r);
1065 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
1067 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
1069 ndr_err = call->ndr_pull(pull, NDR_IN, r);
1070 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1075 if (DEBUGLEVEL >= 10) {
1076 NDR_PRINT_FUNCTION_DEBUG(clusapi_GetResourceState, NDR_IN, r);
1079 ZERO_STRUCT(r->out);
1080 r->out.State = talloc_zero(r, enum clusapi_ClusterResourceState);
1081 if (r->out.State == NULL) {
1086 r->out.NodeName = talloc_zero(r, const char *);
1087 if (r->out.NodeName == NULL) {
1092 r->out.GroupName = talloc_zero(r, const char *);
1093 if (r->out.GroupName == NULL) {
1098 r->out.rpc_status = talloc_zero(r, WERROR);
1099 if (r->out.rpc_status == NULL) {
1104 r->out.result = _clusapi_GetResourceState(p, r);
1106 if (p->fault_state) {
1108 /* Return true here, srv_pipe_hnd.c will take care */
1112 if (DEBUGLEVEL >= 10) {
1113 NDR_PRINT_FUNCTION_DEBUG(clusapi_GetResourceState, NDR_OUT | NDR_SET_VALUES, r);
1116 push = ndr_push_init_ctx(r);
1123 * carry over the pointer count to the reply in case we are
1124 * using full pointer. See NDR specification for full pointers
1126 push->ptr_count = pull->ptr_count;
1128 ndr_err = call->ndr_push(push, NDR_OUT, r);
1129 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1134 p->out_data.rdata = ndr_push_blob(push);
1135 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
1142 static bool api_clusapi_SetResourceName(struct pipes_struct *p)
1144 const struct ndr_interface_call *call;
1145 struct ndr_pull *pull;
1146 struct ndr_push *push;
1147 enum ndr_err_code ndr_err;
1148 struct clusapi_SetResourceName *r;
1150 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_SETRESOURCENAME];
1152 r = talloc(talloc_tos(), struct clusapi_SetResourceName);
1157 pull = ndr_pull_init_blob(&p->in_data.data, r);
1163 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
1165 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
1167 ndr_err = call->ndr_pull(pull, NDR_IN, r);
1168 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1173 if (DEBUGLEVEL >= 10) {
1174 NDR_PRINT_FUNCTION_DEBUG(clusapi_SetResourceName, NDR_IN, r);
1177 ZERO_STRUCT(r->out);
1178 r->out.rpc_status = talloc_zero(r, WERROR);
1179 if (r->out.rpc_status == NULL) {
1184 r->out.result = _clusapi_SetResourceName(p, r);
1186 if (p->fault_state) {
1188 /* Return true here, srv_pipe_hnd.c will take care */
1192 if (DEBUGLEVEL >= 10) {
1193 NDR_PRINT_FUNCTION_DEBUG(clusapi_SetResourceName, NDR_OUT | NDR_SET_VALUES, r);
1196 push = ndr_push_init_ctx(r);
1203 * carry over the pointer count to the reply in case we are
1204 * using full pointer. See NDR specification for full pointers
1206 push->ptr_count = pull->ptr_count;
1208 ndr_err = call->ndr_push(push, NDR_OUT, r);
1209 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1214 p->out_data.rdata = ndr_push_blob(push);
1215 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
1222 static bool api_clusapi_GetResourceId(struct pipes_struct *p)
1224 const struct ndr_interface_call *call;
1225 struct ndr_pull *pull;
1226 struct ndr_push *push;
1227 enum ndr_err_code ndr_err;
1228 struct clusapi_GetResourceId *r;
1230 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_GETRESOURCEID];
1232 r = talloc(talloc_tos(), struct clusapi_GetResourceId);
1237 pull = ndr_pull_init_blob(&p->in_data.data, r);
1243 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
1245 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
1247 ndr_err = call->ndr_pull(pull, NDR_IN, r);
1248 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1253 if (DEBUGLEVEL >= 10) {
1254 NDR_PRINT_FUNCTION_DEBUG(clusapi_GetResourceId, NDR_IN, r);
1257 ZERO_STRUCT(r->out);
1258 r->out.pGuid = talloc_zero(r, const char *);
1259 if (r->out.pGuid == NULL) {
1264 r->out.rpc_status = talloc_zero(r, WERROR);
1265 if (r->out.rpc_status == NULL) {
1270 r->out.result = _clusapi_GetResourceId(p, r);
1272 if (p->fault_state) {
1274 /* Return true here, srv_pipe_hnd.c will take care */
1278 if (DEBUGLEVEL >= 10) {
1279 NDR_PRINT_FUNCTION_DEBUG(clusapi_GetResourceId, NDR_OUT | NDR_SET_VALUES, r);
1282 push = ndr_push_init_ctx(r);
1289 * carry over the pointer count to the reply in case we are
1290 * using full pointer. See NDR specification for full pointers
1292 push->ptr_count = pull->ptr_count;
1294 ndr_err = call->ndr_push(push, NDR_OUT, r);
1295 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1300 p->out_data.rdata = ndr_push_blob(push);
1301 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
1308 static bool api_clusapi_GetResourceType(struct pipes_struct *p)
1310 const struct ndr_interface_call *call;
1311 struct ndr_pull *pull;
1312 struct ndr_push *push;
1313 enum ndr_err_code ndr_err;
1314 struct clusapi_GetResourceType *r;
1316 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_GETRESOURCETYPE];
1318 r = talloc(talloc_tos(), struct clusapi_GetResourceType);
1323 pull = ndr_pull_init_blob(&p->in_data.data, r);
1329 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
1331 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
1333 ndr_err = call->ndr_pull(pull, NDR_IN, r);
1334 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1339 if (DEBUGLEVEL >= 10) {
1340 NDR_PRINT_FUNCTION_DEBUG(clusapi_GetResourceType, NDR_IN, r);
1343 ZERO_STRUCT(r->out);
1344 r->out.lpszResourceType = talloc_zero(r, const char *);
1345 if (r->out.lpszResourceType == NULL) {
1350 r->out.rpc_status = talloc_zero(r, WERROR);
1351 if (r->out.rpc_status == NULL) {
1356 r->out.result = _clusapi_GetResourceType(p, r);
1358 if (p->fault_state) {
1360 /* Return true here, srv_pipe_hnd.c will take care */
1364 if (DEBUGLEVEL >= 10) {
1365 NDR_PRINT_FUNCTION_DEBUG(clusapi_GetResourceType, NDR_OUT | NDR_SET_VALUES, r);
1368 push = ndr_push_init_ctx(r);
1375 * carry over the pointer count to the reply in case we are
1376 * using full pointer. See NDR specification for full pointers
1378 push->ptr_count = pull->ptr_count;
1380 ndr_err = call->ndr_push(push, NDR_OUT, r);
1381 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1386 p->out_data.rdata = ndr_push_blob(push);
1387 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
1394 static bool api_clusapi_FailResource(struct pipes_struct *p)
1396 const struct ndr_interface_call *call;
1397 struct ndr_pull *pull;
1398 struct ndr_push *push;
1399 enum ndr_err_code ndr_err;
1400 struct clusapi_FailResource *r;
1402 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_FAILRESOURCE];
1404 r = talloc(talloc_tos(), struct clusapi_FailResource);
1409 pull = ndr_pull_init_blob(&p->in_data.data, r);
1415 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
1417 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
1419 ndr_err = call->ndr_pull(pull, NDR_IN, r);
1420 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1425 if (DEBUGLEVEL >= 10) {
1426 NDR_PRINT_FUNCTION_DEBUG(clusapi_FailResource, NDR_IN, r);
1429 ZERO_STRUCT(r->out);
1430 r->out.rpc_status = talloc_zero(r, WERROR);
1431 if (r->out.rpc_status == NULL) {
1436 r->out.result = _clusapi_FailResource(p, r);
1438 if (p->fault_state) {
1440 /* Return true here, srv_pipe_hnd.c will take care */
1444 if (DEBUGLEVEL >= 10) {
1445 NDR_PRINT_FUNCTION_DEBUG(clusapi_FailResource, NDR_OUT | NDR_SET_VALUES, r);
1448 push = ndr_push_init_ctx(r);
1455 * carry over the pointer count to the reply in case we are
1456 * using full pointer. See NDR specification for full pointers
1458 push->ptr_count = pull->ptr_count;
1460 ndr_err = call->ndr_push(push, NDR_OUT, r);
1461 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1466 p->out_data.rdata = ndr_push_blob(push);
1467 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
1474 static bool api_clusapi_OnlineResource(struct pipes_struct *p)
1476 const struct ndr_interface_call *call;
1477 struct ndr_pull *pull;
1478 struct ndr_push *push;
1479 enum ndr_err_code ndr_err;
1480 struct clusapi_OnlineResource *r;
1482 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_ONLINERESOURCE];
1484 r = talloc(talloc_tos(), struct clusapi_OnlineResource);
1489 pull = ndr_pull_init_blob(&p->in_data.data, r);
1495 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
1497 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
1499 ndr_err = call->ndr_pull(pull, NDR_IN, r);
1500 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1505 if (DEBUGLEVEL >= 10) {
1506 NDR_PRINT_FUNCTION_DEBUG(clusapi_OnlineResource, NDR_IN, r);
1509 ZERO_STRUCT(r->out);
1510 r->out.rpc_status = talloc_zero(r, WERROR);
1511 if (r->out.rpc_status == NULL) {
1516 r->out.result = _clusapi_OnlineResource(p, r);
1518 if (p->fault_state) {
1520 /* Return true here, srv_pipe_hnd.c will take care */
1524 if (DEBUGLEVEL >= 10) {
1525 NDR_PRINT_FUNCTION_DEBUG(clusapi_OnlineResource, NDR_OUT | NDR_SET_VALUES, r);
1528 push = ndr_push_init_ctx(r);
1535 * carry over the pointer count to the reply in case we are
1536 * using full pointer. See NDR specification for full pointers
1538 push->ptr_count = pull->ptr_count;
1540 ndr_err = call->ndr_push(push, NDR_OUT, r);
1541 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1546 p->out_data.rdata = ndr_push_blob(push);
1547 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
1554 static bool api_clusapi_OfflineResource(struct pipes_struct *p)
1556 const struct ndr_interface_call *call;
1557 struct ndr_pull *pull;
1558 struct ndr_push *push;
1559 enum ndr_err_code ndr_err;
1560 struct clusapi_OfflineResource *r;
1562 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_OFFLINERESOURCE];
1564 r = talloc(talloc_tos(), struct clusapi_OfflineResource);
1569 pull = ndr_pull_init_blob(&p->in_data.data, r);
1575 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
1577 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
1579 ndr_err = call->ndr_pull(pull, NDR_IN, r);
1580 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1585 if (DEBUGLEVEL >= 10) {
1586 NDR_PRINT_FUNCTION_DEBUG(clusapi_OfflineResource, NDR_IN, r);
1589 ZERO_STRUCT(r->out);
1590 r->out.rpc_status = talloc_zero(r, WERROR);
1591 if (r->out.rpc_status == NULL) {
1596 r->out.result = _clusapi_OfflineResource(p, r);
1598 if (p->fault_state) {
1600 /* Return true here, srv_pipe_hnd.c will take care */
1604 if (DEBUGLEVEL >= 10) {
1605 NDR_PRINT_FUNCTION_DEBUG(clusapi_OfflineResource, NDR_OUT | NDR_SET_VALUES, r);
1608 push = ndr_push_init_ctx(r);
1615 * carry over the pointer count to the reply in case we are
1616 * using full pointer. See NDR specification for full pointers
1618 push->ptr_count = pull->ptr_count;
1620 ndr_err = call->ndr_push(push, NDR_OUT, r);
1621 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1626 p->out_data.rdata = ndr_push_blob(push);
1627 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
1634 static bool api_clusapi_AddResourceDependency(struct pipes_struct *p)
1636 const struct ndr_interface_call *call;
1637 struct ndr_pull *pull;
1638 struct ndr_push *push;
1639 enum ndr_err_code ndr_err;
1640 struct clusapi_AddResourceDependency *r;
1642 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_ADDRESOURCEDEPENDENCY];
1644 r = talloc(talloc_tos(), struct clusapi_AddResourceDependency);
1649 pull = ndr_pull_init_blob(&p->in_data.data, r);
1655 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
1657 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
1659 ndr_err = call->ndr_pull(pull, NDR_IN, r);
1660 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1665 if (DEBUGLEVEL >= 10) {
1666 NDR_PRINT_FUNCTION_DEBUG(clusapi_AddResourceDependency, NDR_IN, r);
1669 ZERO_STRUCT(r->out);
1670 r->out.rpc_status = talloc_zero(r, WERROR);
1671 if (r->out.rpc_status == NULL) {
1676 r->out.result = _clusapi_AddResourceDependency(p, r);
1678 if (p->fault_state) {
1680 /* Return true here, srv_pipe_hnd.c will take care */
1684 if (DEBUGLEVEL >= 10) {
1685 NDR_PRINT_FUNCTION_DEBUG(clusapi_AddResourceDependency, NDR_OUT | NDR_SET_VALUES, r);
1688 push = ndr_push_init_ctx(r);
1695 * carry over the pointer count to the reply in case we are
1696 * using full pointer. See NDR specification for full pointers
1698 push->ptr_count = pull->ptr_count;
1700 ndr_err = call->ndr_push(push, NDR_OUT, r);
1701 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1706 p->out_data.rdata = ndr_push_blob(push);
1707 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
1714 static bool api_clusapi_RemoveResourceDependency(struct pipes_struct *p)
1716 const struct ndr_interface_call *call;
1717 struct ndr_pull *pull;
1718 struct ndr_push *push;
1719 enum ndr_err_code ndr_err;
1720 struct clusapi_RemoveResourceDependency *r;
1722 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_REMOVERESOURCEDEPENDENCY];
1724 r = talloc(talloc_tos(), struct clusapi_RemoveResourceDependency);
1729 pull = ndr_pull_init_blob(&p->in_data.data, r);
1735 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
1737 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
1739 ndr_err = call->ndr_pull(pull, NDR_IN, r);
1740 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1745 if (DEBUGLEVEL >= 10) {
1746 NDR_PRINT_FUNCTION_DEBUG(clusapi_RemoveResourceDependency, NDR_IN, r);
1749 ZERO_STRUCT(r->out);
1750 r->out.rpc_status = talloc_zero(r, WERROR);
1751 if (r->out.rpc_status == NULL) {
1756 r->out.result = _clusapi_RemoveResourceDependency(p, r);
1758 if (p->fault_state) {
1760 /* Return true here, srv_pipe_hnd.c will take care */
1764 if (DEBUGLEVEL >= 10) {
1765 NDR_PRINT_FUNCTION_DEBUG(clusapi_RemoveResourceDependency, NDR_OUT | NDR_SET_VALUES, r);
1768 push = ndr_push_init_ctx(r);
1775 * carry over the pointer count to the reply in case we are
1776 * using full pointer. See NDR specification for full pointers
1778 push->ptr_count = pull->ptr_count;
1780 ndr_err = call->ndr_push(push, NDR_OUT, r);
1781 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1786 p->out_data.rdata = ndr_push_blob(push);
1787 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
1794 static bool api_clusapi_CanResourceBeDependent(struct 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 struct clusapi_CanResourceBeDependent *r;
1802 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_CANRESOURCEBEDEPENDENT];
1804 r = talloc(talloc_tos(), struct clusapi_CanResourceBeDependent);
1809 pull = ndr_pull_init_blob(&p->in_data.data, r);
1815 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
1817 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
1819 ndr_err = call->ndr_pull(pull, NDR_IN, r);
1820 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1825 if (DEBUGLEVEL >= 10) {
1826 NDR_PRINT_FUNCTION_DEBUG(clusapi_CanResourceBeDependent, NDR_IN, r);
1829 ZERO_STRUCT(r->out);
1830 r->out.rpc_status = talloc_zero(r, WERROR);
1831 if (r->out.rpc_status == NULL) {
1836 r->out.result = _clusapi_CanResourceBeDependent(p, r);
1838 if (p->fault_state) {
1840 /* Return true here, srv_pipe_hnd.c will take care */
1844 if (DEBUGLEVEL >= 10) {
1845 NDR_PRINT_FUNCTION_DEBUG(clusapi_CanResourceBeDependent, NDR_OUT | NDR_SET_VALUES, r);
1848 push = ndr_push_init_ctx(r);
1855 * carry over the pointer count to the reply in case we are
1856 * using full pointer. See NDR specification for full pointers
1858 push->ptr_count = pull->ptr_count;
1860 ndr_err = call->ndr_push(push, NDR_OUT, r);
1861 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1866 p->out_data.rdata = ndr_push_blob(push);
1867 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
1874 static bool api_clusapi_CreateResEnum(struct pipes_struct *p)
1876 const struct ndr_interface_call *call;
1877 struct ndr_pull *pull;
1878 struct ndr_push *push;
1879 enum ndr_err_code ndr_err;
1880 struct clusapi_CreateResEnum *r;
1882 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_CREATERESENUM];
1884 r = talloc(talloc_tos(), struct clusapi_CreateResEnum);
1889 pull = ndr_pull_init_blob(&p->in_data.data, r);
1895 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
1897 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
1899 ndr_err = call->ndr_pull(pull, NDR_IN, r);
1900 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1905 if (DEBUGLEVEL >= 10) {
1906 NDR_PRINT_FUNCTION_DEBUG(clusapi_CreateResEnum, NDR_IN, r);
1909 ZERO_STRUCT(r->out);
1910 r->out.ReturnEnum = talloc_zero(r, struct ENUM_LIST *);
1911 if (r->out.ReturnEnum == NULL) {
1916 r->out.rpc_status = talloc_zero(r, WERROR);
1917 if (r->out.rpc_status == NULL) {
1922 r->out.result = _clusapi_CreateResEnum(p, r);
1924 if (p->fault_state) {
1926 /* Return true here, srv_pipe_hnd.c will take care */
1930 if (DEBUGLEVEL >= 10) {
1931 NDR_PRINT_FUNCTION_DEBUG(clusapi_CreateResEnum, NDR_OUT | NDR_SET_VALUES, r);
1934 push = ndr_push_init_ctx(r);
1941 * carry over the pointer count to the reply in case we are
1942 * using full pointer. See NDR specification for full pointers
1944 push->ptr_count = pull->ptr_count;
1946 ndr_err = call->ndr_push(push, NDR_OUT, r);
1947 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1952 p->out_data.rdata = ndr_push_blob(push);
1953 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
1960 static bool api_clusapi_AddResourceNode(struct pipes_struct *p)
1962 const struct ndr_interface_call *call;
1963 struct ndr_pull *pull;
1964 struct ndr_push *push;
1965 enum ndr_err_code ndr_err;
1966 struct clusapi_AddResourceNode *r;
1968 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_ADDRESOURCENODE];
1970 r = talloc(talloc_tos(), struct clusapi_AddResourceNode);
1975 pull = ndr_pull_init_blob(&p->in_data.data, r);
1981 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
1983 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
1985 ndr_err = call->ndr_pull(pull, NDR_IN, r);
1986 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1991 if (DEBUGLEVEL >= 10) {
1992 NDR_PRINT_FUNCTION_DEBUG(clusapi_AddResourceNode, NDR_IN, r);
1995 ZERO_STRUCT(r->out);
1996 r->out.rpc_status = talloc_zero(r, WERROR);
1997 if (r->out.rpc_status == NULL) {
2002 r->out.result = _clusapi_AddResourceNode(p, r);
2004 if (p->fault_state) {
2006 /* Return true here, srv_pipe_hnd.c will take care */
2010 if (DEBUGLEVEL >= 10) {
2011 NDR_PRINT_FUNCTION_DEBUG(clusapi_AddResourceNode, NDR_OUT | NDR_SET_VALUES, r);
2014 push = ndr_push_init_ctx(r);
2021 * carry over the pointer count to the reply in case we are
2022 * using full pointer. See NDR specification for full pointers
2024 push->ptr_count = pull->ptr_count;
2026 ndr_err = call->ndr_push(push, NDR_OUT, r);
2027 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2032 p->out_data.rdata = ndr_push_blob(push);
2033 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
2040 static bool api_clusapi_RemoveResourceNode(struct pipes_struct *p)
2042 const struct ndr_interface_call *call;
2043 struct ndr_pull *pull;
2044 struct ndr_push *push;
2045 enum ndr_err_code ndr_err;
2046 struct clusapi_RemoveResourceNode *r;
2048 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_REMOVERESOURCENODE];
2050 r = talloc(talloc_tos(), struct clusapi_RemoveResourceNode);
2055 pull = ndr_pull_init_blob(&p->in_data.data, r);
2061 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
2063 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
2065 ndr_err = call->ndr_pull(pull, NDR_IN, r);
2066 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2071 if (DEBUGLEVEL >= 10) {
2072 NDR_PRINT_FUNCTION_DEBUG(clusapi_RemoveResourceNode, NDR_IN, r);
2075 ZERO_STRUCT(r->out);
2076 r->out.rpc_status = talloc_zero(r, WERROR);
2077 if (r->out.rpc_status == NULL) {
2082 r->out.result = _clusapi_RemoveResourceNode(p, r);
2084 if (p->fault_state) {
2086 /* Return true here, srv_pipe_hnd.c will take care */
2090 if (DEBUGLEVEL >= 10) {
2091 NDR_PRINT_FUNCTION_DEBUG(clusapi_RemoveResourceNode, NDR_OUT | NDR_SET_VALUES, r);
2094 push = ndr_push_init_ctx(r);
2101 * carry over the pointer count to the reply in case we are
2102 * using full pointer. See NDR specification for full pointers
2104 push->ptr_count = pull->ptr_count;
2106 ndr_err = call->ndr_push(push, NDR_OUT, r);
2107 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2112 p->out_data.rdata = ndr_push_blob(push);
2113 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
2120 static bool api_clusapi_ChangeResourceGroup(struct pipes_struct *p)
2122 const struct ndr_interface_call *call;
2123 struct ndr_pull *pull;
2124 struct ndr_push *push;
2125 enum ndr_err_code ndr_err;
2126 struct clusapi_ChangeResourceGroup *r;
2128 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_CHANGERESOURCEGROUP];
2130 r = talloc(talloc_tos(), struct clusapi_ChangeResourceGroup);
2135 pull = ndr_pull_init_blob(&p->in_data.data, r);
2141 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
2143 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
2145 ndr_err = call->ndr_pull(pull, NDR_IN, r);
2146 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2151 if (DEBUGLEVEL >= 10) {
2152 NDR_PRINT_FUNCTION_DEBUG(clusapi_ChangeResourceGroup, NDR_IN, r);
2155 ZERO_STRUCT(r->out);
2156 r->out.rpc_status = talloc_zero(r, WERROR);
2157 if (r->out.rpc_status == NULL) {
2162 r->out.result = _clusapi_ChangeResourceGroup(p, r);
2164 if (p->fault_state) {
2166 /* Return true here, srv_pipe_hnd.c will take care */
2170 if (DEBUGLEVEL >= 10) {
2171 NDR_PRINT_FUNCTION_DEBUG(clusapi_ChangeResourceGroup, NDR_OUT | NDR_SET_VALUES, r);
2174 push = ndr_push_init_ctx(r);
2181 * carry over the pointer count to the reply in case we are
2182 * using full pointer. See NDR specification for full pointers
2184 push->ptr_count = pull->ptr_count;
2186 ndr_err = call->ndr_push(push, NDR_OUT, r);
2187 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2192 p->out_data.rdata = ndr_push_blob(push);
2193 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
2200 static bool api_clusapi_CreateResourceType(struct pipes_struct *p)
2202 const struct ndr_interface_call *call;
2203 struct ndr_pull *pull;
2204 struct ndr_push *push;
2205 enum ndr_err_code ndr_err;
2206 struct clusapi_CreateResourceType *r;
2208 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_CREATERESOURCETYPE];
2210 r = talloc(talloc_tos(), struct clusapi_CreateResourceType);
2215 pull = ndr_pull_init_blob(&p->in_data.data, r);
2221 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
2223 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
2225 ndr_err = call->ndr_pull(pull, NDR_IN, r);
2226 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2231 if (DEBUGLEVEL >= 10) {
2232 NDR_PRINT_FUNCTION_DEBUG(clusapi_CreateResourceType, NDR_IN, r);
2235 ZERO_STRUCT(r->out);
2236 r->out.rpc_status = talloc_zero(r, WERROR);
2237 if (r->out.rpc_status == NULL) {
2242 r->out.result = _clusapi_CreateResourceType(p, r);
2244 if (p->fault_state) {
2246 /* Return true here, srv_pipe_hnd.c will take care */
2250 if (DEBUGLEVEL >= 10) {
2251 NDR_PRINT_FUNCTION_DEBUG(clusapi_CreateResourceType, NDR_OUT | NDR_SET_VALUES, r);
2254 push = ndr_push_init_ctx(r);
2261 * carry over the pointer count to the reply in case we are
2262 * using full pointer. See NDR specification for full pointers
2264 push->ptr_count = pull->ptr_count;
2266 ndr_err = call->ndr_push(push, NDR_OUT, r);
2267 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2272 p->out_data.rdata = ndr_push_blob(push);
2273 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
2280 static bool api_clusapi_DeleteResourceType(struct pipes_struct *p)
2282 const struct ndr_interface_call *call;
2283 struct ndr_pull *pull;
2284 struct ndr_push *push;
2285 enum ndr_err_code ndr_err;
2286 struct clusapi_DeleteResourceType *r;
2288 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_DELETERESOURCETYPE];
2290 r = talloc(talloc_tos(), struct clusapi_DeleteResourceType);
2295 pull = ndr_pull_init_blob(&p->in_data.data, r);
2301 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
2303 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
2305 ndr_err = call->ndr_pull(pull, NDR_IN, r);
2306 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2311 if (DEBUGLEVEL >= 10) {
2312 NDR_PRINT_FUNCTION_DEBUG(clusapi_DeleteResourceType, NDR_IN, r);
2315 ZERO_STRUCT(r->out);
2316 r->out.rpc_status = talloc_zero(r, WERROR);
2317 if (r->out.rpc_status == NULL) {
2322 r->out.result = _clusapi_DeleteResourceType(p, r);
2324 if (p->fault_state) {
2326 /* Return true here, srv_pipe_hnd.c will take care */
2330 if (DEBUGLEVEL >= 10) {
2331 NDR_PRINT_FUNCTION_DEBUG(clusapi_DeleteResourceType, NDR_OUT | NDR_SET_VALUES, r);
2334 push = ndr_push_init_ctx(r);
2341 * carry over the pointer count to the reply in case we are
2342 * using full pointer. See NDR specification for full pointers
2344 push->ptr_count = pull->ptr_count;
2346 ndr_err = call->ndr_push(push, NDR_OUT, r);
2347 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2352 p->out_data.rdata = ndr_push_blob(push);
2353 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
2360 static bool api_clusapi_GetRootKey(struct pipes_struct *p)
2362 const struct ndr_interface_call *call;
2363 struct ndr_pull *pull;
2364 struct ndr_push *push;
2365 enum ndr_err_code ndr_err;
2366 struct clusapi_GetRootKey *r;
2368 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_GETROOTKEY];
2370 r = talloc(talloc_tos(), struct clusapi_GetRootKey);
2375 pull = ndr_pull_init_blob(&p->in_data.data, r);
2381 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
2383 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
2385 ndr_err = call->ndr_pull(pull, NDR_IN, r);
2386 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2391 if (DEBUGLEVEL >= 10) {
2392 NDR_PRINT_FUNCTION_DEBUG(clusapi_GetRootKey, NDR_IN, r);
2395 ZERO_STRUCT(r->out);
2396 r->out.Status = talloc_zero(r, WERROR);
2397 if (r->out.Status == NULL) {
2402 r->out.rpc_status = talloc_zero(r, WERROR);
2403 if (r->out.rpc_status == NULL) {
2408 r->out.phKey = talloc_zero(r, struct policy_handle);
2409 if (r->out.phKey == NULL) {
2414 _clusapi_GetRootKey(p, r);
2416 if (p->fault_state) {
2418 /* Return true here, srv_pipe_hnd.c will take care */
2422 if (DEBUGLEVEL >= 10) {
2423 NDR_PRINT_FUNCTION_DEBUG(clusapi_GetRootKey, NDR_OUT | NDR_SET_VALUES, r);
2426 push = ndr_push_init_ctx(r);
2433 * carry over the pointer count to the reply in case we are
2434 * using full pointer. See NDR specification for full pointers
2436 push->ptr_count = pull->ptr_count;
2438 ndr_err = call->ndr_push(push, NDR_OUT, r);
2439 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2444 p->out_data.rdata = ndr_push_blob(push);
2445 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
2452 static bool api_clusapi_CreateKey(struct pipes_struct *p)
2454 const struct ndr_interface_call *call;
2455 struct ndr_pull *pull;
2456 struct ndr_push *push;
2457 enum ndr_err_code ndr_err;
2458 struct clusapi_CreateKey *r;
2460 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_CREATEKEY];
2462 r = talloc(talloc_tos(), struct clusapi_CreateKey);
2467 pull = ndr_pull_init_blob(&p->in_data.data, r);
2473 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
2475 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
2477 ndr_err = call->ndr_pull(pull, NDR_IN, r);
2478 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2483 if (DEBUGLEVEL >= 10) {
2484 NDR_PRINT_FUNCTION_DEBUG(clusapi_CreateKey, NDR_IN, r);
2487 ZERO_STRUCT(r->out);
2488 r->out.lpdwDisposition = talloc_zero(r, uint32_t);
2489 if (r->out.lpdwDisposition == NULL) {
2494 r->out.Status = talloc_zero(r, WERROR);
2495 if (r->out.Status == NULL) {
2500 r->out.rpc_status = talloc_zero(r, WERROR);
2501 if (r->out.rpc_status == NULL) {
2506 r->out.phKey = talloc_zero(r, struct policy_handle);
2507 if (r->out.phKey == NULL) {
2512 _clusapi_CreateKey(p, r);
2514 if (p->fault_state) {
2516 /* Return true here, srv_pipe_hnd.c will take care */
2520 if (DEBUGLEVEL >= 10) {
2521 NDR_PRINT_FUNCTION_DEBUG(clusapi_CreateKey, NDR_OUT | NDR_SET_VALUES, r);
2524 push = ndr_push_init_ctx(r);
2531 * carry over the pointer count to the reply in case we are
2532 * using full pointer. See NDR specification for full pointers
2534 push->ptr_count = pull->ptr_count;
2536 ndr_err = call->ndr_push(push, NDR_OUT, r);
2537 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2542 p->out_data.rdata = ndr_push_blob(push);
2543 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
2550 static bool api_clusapi_OpenKey(struct pipes_struct *p)
2552 const struct ndr_interface_call *call;
2553 struct ndr_pull *pull;
2554 struct ndr_push *push;
2555 enum ndr_err_code ndr_err;
2556 struct clusapi_OpenKey *r;
2558 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_OPENKEY];
2560 r = talloc(talloc_tos(), struct clusapi_OpenKey);
2565 pull = ndr_pull_init_blob(&p->in_data.data, r);
2571 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
2573 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
2575 ndr_err = call->ndr_pull(pull, NDR_IN, r);
2576 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2581 if (DEBUGLEVEL >= 10) {
2582 NDR_PRINT_FUNCTION_DEBUG(clusapi_OpenKey, NDR_IN, r);
2585 ZERO_STRUCT(r->out);
2586 r->out.Status = talloc_zero(r, WERROR);
2587 if (r->out.Status == NULL) {
2592 r->out.rpc_status = talloc_zero(r, WERROR);
2593 if (r->out.rpc_status == NULL) {
2598 r->out.phKey = talloc_zero(r, struct policy_handle);
2599 if (r->out.phKey == NULL) {
2604 _clusapi_OpenKey(p, r);
2606 if (p->fault_state) {
2608 /* Return true here, srv_pipe_hnd.c will take care */
2612 if (DEBUGLEVEL >= 10) {
2613 NDR_PRINT_FUNCTION_DEBUG(clusapi_OpenKey, NDR_OUT | NDR_SET_VALUES, r);
2616 push = ndr_push_init_ctx(r);
2623 * carry over the pointer count to the reply in case we are
2624 * using full pointer. See NDR specification for full pointers
2626 push->ptr_count = pull->ptr_count;
2628 ndr_err = call->ndr_push(push, NDR_OUT, r);
2629 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2634 p->out_data.rdata = ndr_push_blob(push);
2635 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
2642 static bool api_clusapi_EnumKey(struct pipes_struct *p)
2644 const struct ndr_interface_call *call;
2645 struct ndr_pull *pull;
2646 struct ndr_push *push;
2647 enum ndr_err_code ndr_err;
2648 struct clusapi_EnumKey *r;
2650 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_ENUMKEY];
2652 r = talloc(talloc_tos(), struct clusapi_EnumKey);
2657 pull = ndr_pull_init_blob(&p->in_data.data, r);
2663 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
2665 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
2667 ndr_err = call->ndr_pull(pull, NDR_IN, r);
2668 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2673 if (DEBUGLEVEL >= 10) {
2674 NDR_PRINT_FUNCTION_DEBUG(clusapi_EnumKey, NDR_IN, r);
2677 ZERO_STRUCT(r->out);
2678 r->out.KeyName = talloc_zero(r, const char *);
2679 if (r->out.KeyName == NULL) {
2684 r->out.lpftLastWriteTime = talloc_zero(r, NTTIME);
2685 if (r->out.lpftLastWriteTime == NULL) {
2690 r->out.rpc_status = talloc_zero(r, WERROR);
2691 if (r->out.rpc_status == NULL) {
2696 r->out.result = _clusapi_EnumKey(p, r);
2698 if (p->fault_state) {
2700 /* Return true here, srv_pipe_hnd.c will take care */
2704 if (DEBUGLEVEL >= 10) {
2705 NDR_PRINT_FUNCTION_DEBUG(clusapi_EnumKey, NDR_OUT | NDR_SET_VALUES, r);
2708 push = ndr_push_init_ctx(r);
2715 * carry over the pointer count to the reply in case we are
2716 * using full pointer. See NDR specification for full pointers
2718 push->ptr_count = pull->ptr_count;
2720 ndr_err = call->ndr_push(push, NDR_OUT, r);
2721 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2726 p->out_data.rdata = ndr_push_blob(push);
2727 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
2734 static bool api_clusapi_SetValue(struct pipes_struct *p)
2736 const struct ndr_interface_call *call;
2737 struct ndr_pull *pull;
2738 struct ndr_push *push;
2739 enum ndr_err_code ndr_err;
2740 struct clusapi_SetValue *r;
2742 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_SETVALUE];
2744 r = talloc(talloc_tos(), struct clusapi_SetValue);
2749 pull = ndr_pull_init_blob(&p->in_data.data, r);
2755 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
2757 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
2759 ndr_err = call->ndr_pull(pull, NDR_IN, r);
2760 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2765 if (DEBUGLEVEL >= 10) {
2766 NDR_PRINT_FUNCTION_DEBUG(clusapi_SetValue, NDR_IN, r);
2769 ZERO_STRUCT(r->out);
2770 r->out.rpc_status = talloc_zero(r, WERROR);
2771 if (r->out.rpc_status == NULL) {
2776 r->out.result = _clusapi_SetValue(p, r);
2778 if (p->fault_state) {
2780 /* Return true here, srv_pipe_hnd.c will take care */
2784 if (DEBUGLEVEL >= 10) {
2785 NDR_PRINT_FUNCTION_DEBUG(clusapi_SetValue, NDR_OUT | NDR_SET_VALUES, r);
2788 push = ndr_push_init_ctx(r);
2795 * carry over the pointer count to the reply in case we are
2796 * using full pointer. See NDR specification for full pointers
2798 push->ptr_count = pull->ptr_count;
2800 ndr_err = call->ndr_push(push, NDR_OUT, r);
2801 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2806 p->out_data.rdata = ndr_push_blob(push);
2807 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
2814 static bool api_clusapi_DeleteValue(struct pipes_struct *p)
2816 const struct ndr_interface_call *call;
2817 struct ndr_pull *pull;
2818 struct ndr_push *push;
2819 enum ndr_err_code ndr_err;
2820 struct clusapi_DeleteValue *r;
2822 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_DELETEVALUE];
2824 r = talloc(talloc_tos(), struct clusapi_DeleteValue);
2829 pull = ndr_pull_init_blob(&p->in_data.data, r);
2835 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
2837 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
2839 ndr_err = call->ndr_pull(pull, NDR_IN, r);
2840 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2845 if (DEBUGLEVEL >= 10) {
2846 NDR_PRINT_FUNCTION_DEBUG(clusapi_DeleteValue, NDR_IN, r);
2849 ZERO_STRUCT(r->out);
2850 r->out.rpc_status = talloc_zero(r, WERROR);
2851 if (r->out.rpc_status == NULL) {
2856 r->out.result = _clusapi_DeleteValue(p, r);
2858 if (p->fault_state) {
2860 /* Return true here, srv_pipe_hnd.c will take care */
2864 if (DEBUGLEVEL >= 10) {
2865 NDR_PRINT_FUNCTION_DEBUG(clusapi_DeleteValue, NDR_OUT | NDR_SET_VALUES, r);
2868 push = ndr_push_init_ctx(r);
2875 * carry over the pointer count to the reply in case we are
2876 * using full pointer. See NDR specification for full pointers
2878 push->ptr_count = pull->ptr_count;
2880 ndr_err = call->ndr_push(push, NDR_OUT, r);
2881 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2886 p->out_data.rdata = ndr_push_blob(push);
2887 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
2894 static bool api_clusapi_QueryValue(struct pipes_struct *p)
2896 const struct ndr_interface_call *call;
2897 struct ndr_pull *pull;
2898 struct ndr_push *push;
2899 enum ndr_err_code ndr_err;
2900 struct clusapi_QueryValue *r;
2902 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_QUERYVALUE];
2904 r = talloc(talloc_tos(), struct clusapi_QueryValue);
2909 pull = ndr_pull_init_blob(&p->in_data.data, r);
2915 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
2917 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
2919 ndr_err = call->ndr_pull(pull, NDR_IN, r);
2920 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2925 if (DEBUGLEVEL >= 10) {
2926 NDR_PRINT_FUNCTION_DEBUG(clusapi_QueryValue, NDR_IN, r);
2929 ZERO_STRUCT(r->out);
2930 r->out.lpValueType = talloc_zero(r, enum winreg_Type);
2931 if (r->out.lpValueType == NULL) {
2936 r->out.lpData = talloc_zero_array(r, uint8_t, r->in.cbData);
2937 if (r->out.lpData == NULL) {
2942 r->out.lpcbRequired = talloc_zero(r, uint32_t);
2943 if (r->out.lpcbRequired == NULL) {
2948 r->out.rpc_status = talloc_zero(r, WERROR);
2949 if (r->out.rpc_status == NULL) {
2954 r->out.result = _clusapi_QueryValue(p, r);
2956 if (p->fault_state) {
2958 /* Return true here, srv_pipe_hnd.c will take care */
2962 if (DEBUGLEVEL >= 10) {
2963 NDR_PRINT_FUNCTION_DEBUG(clusapi_QueryValue, NDR_OUT | NDR_SET_VALUES, r);
2966 push = ndr_push_init_ctx(r);
2973 * carry over the pointer count to the reply in case we are
2974 * using full pointer. See NDR specification for full pointers
2976 push->ptr_count = pull->ptr_count;
2978 ndr_err = call->ndr_push(push, NDR_OUT, r);
2979 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2984 p->out_data.rdata = ndr_push_blob(push);
2985 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
2992 static bool api_clusapi_DeleteKey(struct pipes_struct *p)
2994 const struct ndr_interface_call *call;
2995 struct ndr_pull *pull;
2996 struct ndr_push *push;
2997 enum ndr_err_code ndr_err;
2998 struct clusapi_DeleteKey *r;
3000 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_DELETEKEY];
3002 r = talloc(talloc_tos(), struct clusapi_DeleteKey);
3007 pull = ndr_pull_init_blob(&p->in_data.data, r);
3013 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
3015 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
3017 ndr_err = call->ndr_pull(pull, NDR_IN, r);
3018 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3023 if (DEBUGLEVEL >= 10) {
3024 NDR_PRINT_FUNCTION_DEBUG(clusapi_DeleteKey, NDR_IN, r);
3027 ZERO_STRUCT(r->out);
3028 r->out.rpc_status = talloc_zero(r, WERROR);
3029 if (r->out.rpc_status == NULL) {
3034 r->out.result = _clusapi_DeleteKey(p, r);
3036 if (p->fault_state) {
3038 /* Return true here, srv_pipe_hnd.c will take care */
3042 if (DEBUGLEVEL >= 10) {
3043 NDR_PRINT_FUNCTION_DEBUG(clusapi_DeleteKey, NDR_OUT | NDR_SET_VALUES, r);
3046 push = ndr_push_init_ctx(r);
3053 * carry over the pointer count to the reply in case we are
3054 * using full pointer. See NDR specification for full pointers
3056 push->ptr_count = pull->ptr_count;
3058 ndr_err = call->ndr_push(push, NDR_OUT, r);
3059 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3064 p->out_data.rdata = ndr_push_blob(push);
3065 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
3072 static bool api_clusapi_EnumValue(struct pipes_struct *p)
3074 const struct ndr_interface_call *call;
3075 struct ndr_pull *pull;
3076 struct ndr_push *push;
3077 enum ndr_err_code ndr_err;
3078 struct clusapi_EnumValue *r;
3080 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_ENUMVALUE];
3082 r = talloc(talloc_tos(), struct clusapi_EnumValue);
3087 pull = ndr_pull_init_blob(&p->in_data.data, r);
3093 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
3095 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
3097 ndr_err = call->ndr_pull(pull, NDR_IN, r);
3098 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3103 if (DEBUGLEVEL >= 10) {
3104 NDR_PRINT_FUNCTION_DEBUG(clusapi_EnumValue, NDR_IN, r);
3107 ZERO_STRUCT(r->out);
3108 r->out.lpcbData = r->in.lpcbData;
3109 r->out.lpValueName = talloc_zero(r, const char *);
3110 if (r->out.lpValueName == NULL) {
3115 r->out.lpType = talloc_zero(r, enum winreg_Type);
3116 if (r->out.lpType == NULL) {
3121 r->out.lpData = talloc_zero_array(r, uint8_t, *r->out.lpcbData);
3122 if (r->out.lpData == NULL) {
3127 r->out.TotalSize = talloc_zero(r, uint32_t);
3128 if (r->out.TotalSize == NULL) {
3133 r->out.rpc_status = talloc_zero(r, WERROR);
3134 if (r->out.rpc_status == NULL) {
3139 r->out.result = _clusapi_EnumValue(p, r);
3141 if (p->fault_state) {
3143 /* Return true here, srv_pipe_hnd.c will take care */
3147 if (DEBUGLEVEL >= 10) {
3148 NDR_PRINT_FUNCTION_DEBUG(clusapi_EnumValue, NDR_OUT | NDR_SET_VALUES, r);
3151 push = ndr_push_init_ctx(r);
3158 * carry over the pointer count to the reply in case we are
3159 * using full pointer. See NDR specification for full pointers
3161 push->ptr_count = pull->ptr_count;
3163 ndr_err = call->ndr_push(push, NDR_OUT, r);
3164 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3169 p->out_data.rdata = ndr_push_blob(push);
3170 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
3177 static bool api_clusapi_CloseKey(struct pipes_struct *p)
3179 const struct ndr_interface_call *call;
3180 struct ndr_pull *pull;
3181 struct ndr_push *push;
3182 enum ndr_err_code ndr_err;
3183 struct clusapi_CloseKey *r;
3185 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_CLOSEKEY];
3187 r = talloc(talloc_tos(), struct clusapi_CloseKey);
3192 pull = ndr_pull_init_blob(&p->in_data.data, r);
3198 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
3200 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
3202 ndr_err = call->ndr_pull(pull, NDR_IN, r);
3203 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3208 if (DEBUGLEVEL >= 10) {
3209 NDR_PRINT_FUNCTION_DEBUG(clusapi_CloseKey, NDR_IN, r);
3212 ZERO_STRUCT(r->out);
3213 r->out.pKey = r->in.pKey;
3214 r->out.result = _clusapi_CloseKey(p, r);
3216 if (p->fault_state) {
3218 /* Return true here, srv_pipe_hnd.c will take care */
3222 if (DEBUGLEVEL >= 10) {
3223 NDR_PRINT_FUNCTION_DEBUG(clusapi_CloseKey, NDR_OUT | NDR_SET_VALUES, r);
3226 push = ndr_push_init_ctx(r);
3233 * carry over the pointer count to the reply in case we are
3234 * using full pointer. See NDR specification for full pointers
3236 push->ptr_count = pull->ptr_count;
3238 ndr_err = call->ndr_push(push, NDR_OUT, r);
3239 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3244 p->out_data.rdata = ndr_push_blob(push);
3245 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
3252 static bool api_clusapi_QueryInfoKey(struct pipes_struct *p)
3254 const struct ndr_interface_call *call;
3255 struct ndr_pull *pull;
3256 struct ndr_push *push;
3257 enum ndr_err_code ndr_err;
3258 struct clusapi_QueryInfoKey *r;
3260 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_QUERYINFOKEY];
3262 r = talloc(talloc_tos(), struct clusapi_QueryInfoKey);
3267 pull = ndr_pull_init_blob(&p->in_data.data, r);
3273 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
3275 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
3277 ndr_err = call->ndr_pull(pull, NDR_IN, r);
3278 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3283 if (DEBUGLEVEL >= 10) {
3284 NDR_PRINT_FUNCTION_DEBUG(clusapi_QueryInfoKey, NDR_IN, r);
3287 ZERO_STRUCT(r->out);
3288 r->out.lpcSubKeys = talloc_zero(r, uint32_t);
3289 if (r->out.lpcSubKeys == NULL) {
3294 r->out.lpcbMaxSubKeyLen = talloc_zero(r, uint32_t);
3295 if (r->out.lpcbMaxSubKeyLen == NULL) {
3300 r->out.lpcValues = talloc_zero(r, uint32_t);
3301 if (r->out.lpcValues == NULL) {
3306 r->out.lpcbMaxValueNameLen = talloc_zero(r, uint32_t);
3307 if (r->out.lpcbMaxValueNameLen == NULL) {
3312 r->out.lpcbMaxValueLen = talloc_zero(r, uint32_t);
3313 if (r->out.lpcbMaxValueLen == NULL) {
3318 r->out.lpcbSecurityDescriptor = talloc_zero(r, uint32_t);
3319 if (r->out.lpcbSecurityDescriptor == NULL) {
3324 r->out.lpftLastWriteTime = talloc_zero(r, NTTIME);
3325 if (r->out.lpftLastWriteTime == NULL) {
3330 r->out.rpc_status = talloc_zero(r, WERROR);
3331 if (r->out.rpc_status == NULL) {
3336 r->out.result = _clusapi_QueryInfoKey(p, r);
3338 if (p->fault_state) {
3340 /* Return true here, srv_pipe_hnd.c will take care */
3344 if (DEBUGLEVEL >= 10) {
3345 NDR_PRINT_FUNCTION_DEBUG(clusapi_QueryInfoKey, NDR_OUT | NDR_SET_VALUES, r);
3348 push = ndr_push_init_ctx(r);
3355 * carry over the pointer count to the reply in case we are
3356 * using full pointer. See NDR specification for full pointers
3358 push->ptr_count = pull->ptr_count;
3360 ndr_err = call->ndr_push(push, NDR_OUT, r);
3361 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3366 p->out_data.rdata = ndr_push_blob(push);
3367 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
3374 static bool api_clusapi_SetKeySecurity(struct pipes_struct *p)
3376 const struct ndr_interface_call *call;
3377 struct ndr_pull *pull;
3378 struct ndr_push *push;
3379 enum ndr_err_code ndr_err;
3380 struct clusapi_SetKeySecurity *r;
3382 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_SETKEYSECURITY];
3384 r = talloc(talloc_tos(), struct clusapi_SetKeySecurity);
3389 pull = ndr_pull_init_blob(&p->in_data.data, r);
3395 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
3397 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
3399 ndr_err = call->ndr_pull(pull, NDR_IN, r);
3400 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3405 if (DEBUGLEVEL >= 10) {
3406 NDR_PRINT_FUNCTION_DEBUG(clusapi_SetKeySecurity, NDR_IN, r);
3409 ZERO_STRUCT(r->out);
3410 r->out.rpc_status = talloc_zero(r, WERROR);
3411 if (r->out.rpc_status == NULL) {
3416 r->out.result = _clusapi_SetKeySecurity(p, r);
3418 if (p->fault_state) {
3420 /* Return true here, srv_pipe_hnd.c will take care */
3424 if (DEBUGLEVEL >= 10) {
3425 NDR_PRINT_FUNCTION_DEBUG(clusapi_SetKeySecurity, NDR_OUT | NDR_SET_VALUES, r);
3428 push = ndr_push_init_ctx(r);
3435 * carry over the pointer count to the reply in case we are
3436 * using full pointer. See NDR specification for full pointers
3438 push->ptr_count = pull->ptr_count;
3440 ndr_err = call->ndr_push(push, NDR_OUT, r);
3441 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3446 p->out_data.rdata = ndr_push_blob(push);
3447 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
3454 static bool api_clusapi_GetKeySecurity(struct pipes_struct *p)
3456 const struct ndr_interface_call *call;
3457 struct ndr_pull *pull;
3458 struct ndr_push *push;
3459 enum ndr_err_code ndr_err;
3460 struct clusapi_GetKeySecurity *r;
3462 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_GETKEYSECURITY];
3464 r = talloc(talloc_tos(), struct clusapi_GetKeySecurity);
3469 pull = ndr_pull_init_blob(&p->in_data.data, r);
3475 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
3477 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
3479 ndr_err = call->ndr_pull(pull, NDR_IN, r);
3480 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3485 if (DEBUGLEVEL >= 10) {
3486 NDR_PRINT_FUNCTION_DEBUG(clusapi_GetKeySecurity, NDR_IN, r);
3489 ZERO_STRUCT(r->out);
3490 r->out.pRpcSecurityDescriptor = r->in.pRpcSecurityDescriptor;
3491 r->out.rpc_status = talloc_zero(r, WERROR);
3492 if (r->out.rpc_status == NULL) {
3497 r->out.result = _clusapi_GetKeySecurity(p, r);
3499 if (p->fault_state) {
3501 /* Return true here, srv_pipe_hnd.c will take care */
3505 if (DEBUGLEVEL >= 10) {
3506 NDR_PRINT_FUNCTION_DEBUG(clusapi_GetKeySecurity, NDR_OUT | NDR_SET_VALUES, r);
3509 push = ndr_push_init_ctx(r);
3516 * carry over the pointer count to the reply in case we are
3517 * using full pointer. See NDR specification for full pointers
3519 push->ptr_count = pull->ptr_count;
3521 ndr_err = call->ndr_push(push, NDR_OUT, r);
3522 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3527 p->out_data.rdata = ndr_push_blob(push);
3528 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
3535 static bool api_clusapi_OpenGroup(struct pipes_struct *p)
3537 const struct ndr_interface_call *call;
3538 struct ndr_pull *pull;
3539 struct ndr_push *push;
3540 enum ndr_err_code ndr_err;
3541 struct clusapi_OpenGroup *r;
3543 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_OPENGROUP];
3545 r = talloc(talloc_tos(), struct clusapi_OpenGroup);
3550 pull = ndr_pull_init_blob(&p->in_data.data, r);
3556 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
3558 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
3560 ndr_err = call->ndr_pull(pull, NDR_IN, r);
3561 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3566 if (DEBUGLEVEL >= 10) {
3567 NDR_PRINT_FUNCTION_DEBUG(clusapi_OpenGroup, NDR_IN, r);
3570 ZERO_STRUCT(r->out);
3571 r->out.Status = talloc_zero(r, WERROR);
3572 if (r->out.Status == NULL) {
3577 r->out.rpc_status = talloc_zero(r, WERROR);
3578 if (r->out.rpc_status == NULL) {
3583 r->out.hGroup = talloc_zero(r, struct policy_handle);
3584 if (r->out.hGroup == NULL) {
3589 _clusapi_OpenGroup(p, r);
3591 if (p->fault_state) {
3593 /* Return true here, srv_pipe_hnd.c will take care */
3597 if (DEBUGLEVEL >= 10) {
3598 NDR_PRINT_FUNCTION_DEBUG(clusapi_OpenGroup, NDR_OUT | NDR_SET_VALUES, r);
3601 push = ndr_push_init_ctx(r);
3608 * carry over the pointer count to the reply in case we are
3609 * using full pointer. See NDR specification for full pointers
3611 push->ptr_count = pull->ptr_count;
3613 ndr_err = call->ndr_push(push, NDR_OUT, r);
3614 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3619 p->out_data.rdata = ndr_push_blob(push);
3620 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
3627 static bool api_clusapi_CreateGroup(struct pipes_struct *p)
3629 const struct ndr_interface_call *call;
3630 struct ndr_pull *pull;
3631 struct ndr_push *push;
3632 enum ndr_err_code ndr_err;
3633 struct clusapi_CreateGroup *r;
3635 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_CREATEGROUP];
3637 r = talloc(talloc_tos(), struct clusapi_CreateGroup);
3642 pull = ndr_pull_init_blob(&p->in_data.data, r);
3648 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
3650 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
3652 ndr_err = call->ndr_pull(pull, NDR_IN, r);
3653 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3658 if (DEBUGLEVEL >= 10) {
3659 NDR_PRINT_FUNCTION_DEBUG(clusapi_CreateGroup, NDR_IN, r);
3662 ZERO_STRUCT(r->out);
3663 r->out.Status = talloc_zero(r, WERROR);
3664 if (r->out.Status == NULL) {
3669 r->out.rpc_status = talloc_zero(r, WERROR);
3670 if (r->out.rpc_status == NULL) {
3675 r->out.hGroup = talloc_zero(r, struct policy_handle);
3676 if (r->out.hGroup == NULL) {
3681 _clusapi_CreateGroup(p, r);
3683 if (p->fault_state) {
3685 /* Return true here, srv_pipe_hnd.c will take care */
3689 if (DEBUGLEVEL >= 10) {
3690 NDR_PRINT_FUNCTION_DEBUG(clusapi_CreateGroup, NDR_OUT | NDR_SET_VALUES, r);
3693 push = ndr_push_init_ctx(r);
3700 * carry over the pointer count to the reply in case we are
3701 * using full pointer. See NDR specification for full pointers
3703 push->ptr_count = pull->ptr_count;
3705 ndr_err = call->ndr_push(push, NDR_OUT, r);
3706 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3711 p->out_data.rdata = ndr_push_blob(push);
3712 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
3719 static bool api_clusapi_DeleteGroup(struct pipes_struct *p)
3721 const struct ndr_interface_call *call;
3722 struct ndr_pull *pull;
3723 struct ndr_push *push;
3724 enum ndr_err_code ndr_err;
3725 struct clusapi_DeleteGroup *r;
3727 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_DELETEGROUP];
3729 r = talloc(talloc_tos(), struct clusapi_DeleteGroup);
3734 pull = ndr_pull_init_blob(&p->in_data.data, r);
3740 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
3742 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
3744 ndr_err = call->ndr_pull(pull, NDR_IN, r);
3745 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3750 if (DEBUGLEVEL >= 10) {
3751 NDR_PRINT_FUNCTION_DEBUG(clusapi_DeleteGroup, NDR_IN, r);
3754 ZERO_STRUCT(r->out);
3755 r->out.rpc_status = talloc_zero(r, WERROR);
3756 if (r->out.rpc_status == NULL) {
3761 r->out.result = _clusapi_DeleteGroup(p, r);
3763 if (p->fault_state) {
3765 /* Return true here, srv_pipe_hnd.c will take care */
3769 if (DEBUGLEVEL >= 10) {
3770 NDR_PRINT_FUNCTION_DEBUG(clusapi_DeleteGroup, NDR_OUT | NDR_SET_VALUES, r);
3773 push = ndr_push_init_ctx(r);
3780 * carry over the pointer count to the reply in case we are
3781 * using full pointer. See NDR specification for full pointers
3783 push->ptr_count = pull->ptr_count;
3785 ndr_err = call->ndr_push(push, NDR_OUT, r);
3786 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3791 p->out_data.rdata = ndr_push_blob(push);
3792 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
3799 static bool api_clusapi_CloseGroup(struct pipes_struct *p)
3801 const struct ndr_interface_call *call;
3802 struct ndr_pull *pull;
3803 struct ndr_push *push;
3804 enum ndr_err_code ndr_err;
3805 struct clusapi_CloseGroup *r;
3807 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_CLOSEGROUP];
3809 r = talloc(talloc_tos(), struct clusapi_CloseGroup);
3814 pull = ndr_pull_init_blob(&p->in_data.data, r);
3820 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
3822 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
3824 ndr_err = call->ndr_pull(pull, NDR_IN, r);
3825 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3830 if (DEBUGLEVEL >= 10) {
3831 NDR_PRINT_FUNCTION_DEBUG(clusapi_CloseGroup, NDR_IN, r);
3834 ZERO_STRUCT(r->out);
3835 r->out.Group = r->in.Group;
3836 r->out.result = _clusapi_CloseGroup(p, r);
3838 if (p->fault_state) {
3840 /* Return true here, srv_pipe_hnd.c will take care */
3844 if (DEBUGLEVEL >= 10) {
3845 NDR_PRINT_FUNCTION_DEBUG(clusapi_CloseGroup, NDR_OUT | NDR_SET_VALUES, r);
3848 push = ndr_push_init_ctx(r);
3855 * carry over the pointer count to the reply in case we are
3856 * using full pointer. See NDR specification for full pointers
3858 push->ptr_count = pull->ptr_count;
3860 ndr_err = call->ndr_push(push, NDR_OUT, r);
3861 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3866 p->out_data.rdata = ndr_push_blob(push);
3867 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
3874 static bool api_clusapi_GetGroupState(struct pipes_struct *p)
3876 const struct ndr_interface_call *call;
3877 struct ndr_pull *pull;
3878 struct ndr_push *push;
3879 enum ndr_err_code ndr_err;
3880 struct clusapi_GetGroupState *r;
3882 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_GETGROUPSTATE];
3884 r = talloc(talloc_tos(), struct clusapi_GetGroupState);
3889 pull = ndr_pull_init_blob(&p->in_data.data, r);
3895 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
3897 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
3899 ndr_err = call->ndr_pull(pull, NDR_IN, r);
3900 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3905 if (DEBUGLEVEL >= 10) {
3906 NDR_PRINT_FUNCTION_DEBUG(clusapi_GetGroupState, NDR_IN, r);
3909 ZERO_STRUCT(r->out);
3910 r->out.State = talloc_zero(r, enum clusapi_ClusterGroupState);
3911 if (r->out.State == NULL) {
3916 r->out.NodeName = talloc_zero(r, const char *);
3917 if (r->out.NodeName == NULL) {
3922 r->out.rpc_status = talloc_zero(r, WERROR);
3923 if (r->out.rpc_status == NULL) {
3928 r->out.result = _clusapi_GetGroupState(p, r);
3930 if (p->fault_state) {
3932 /* Return true here, srv_pipe_hnd.c will take care */
3936 if (DEBUGLEVEL >= 10) {
3937 NDR_PRINT_FUNCTION_DEBUG(clusapi_GetGroupState, NDR_OUT | NDR_SET_VALUES, r);
3940 push = ndr_push_init_ctx(r);
3947 * carry over the pointer count to the reply in case we are
3948 * using full pointer. See NDR specification for full pointers
3950 push->ptr_count = pull->ptr_count;
3952 ndr_err = call->ndr_push(push, NDR_OUT, r);
3953 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3958 p->out_data.rdata = ndr_push_blob(push);
3959 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
3966 static bool api_clusapi_SetGroupName(struct pipes_struct *p)
3968 const struct ndr_interface_call *call;
3969 struct ndr_pull *pull;
3970 struct ndr_push *push;
3971 enum ndr_err_code ndr_err;
3972 struct clusapi_SetGroupName *r;
3974 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_SETGROUPNAME];
3976 r = talloc(talloc_tos(), struct clusapi_SetGroupName);
3981 pull = ndr_pull_init_blob(&p->in_data.data, r);
3987 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
3989 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
3991 ndr_err = call->ndr_pull(pull, NDR_IN, r);
3992 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3997 if (DEBUGLEVEL >= 10) {
3998 NDR_PRINT_FUNCTION_DEBUG(clusapi_SetGroupName, NDR_IN, r);
4001 ZERO_STRUCT(r->out);
4002 r->out.rpc_status = talloc_zero(r, WERROR);
4003 if (r->out.rpc_status == NULL) {
4008 r->out.result = _clusapi_SetGroupName(p, r);
4010 if (p->fault_state) {
4012 /* Return true here, srv_pipe_hnd.c will take care */
4016 if (DEBUGLEVEL >= 10) {
4017 NDR_PRINT_FUNCTION_DEBUG(clusapi_SetGroupName, NDR_OUT | NDR_SET_VALUES, r);
4020 push = ndr_push_init_ctx(r);
4027 * carry over the pointer count to the reply in case we are
4028 * using full pointer. See NDR specification for full pointers
4030 push->ptr_count = pull->ptr_count;
4032 ndr_err = call->ndr_push(push, NDR_OUT, r);
4033 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
4038 p->out_data.rdata = ndr_push_blob(push);
4039 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
4046 static bool api_clusapi_GetGroupId(struct pipes_struct *p)
4048 const struct ndr_interface_call *call;
4049 struct ndr_pull *pull;
4050 struct ndr_push *push;
4051 enum ndr_err_code ndr_err;
4052 struct clusapi_GetGroupId *r;
4054 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_GETGROUPID];
4056 r = talloc(talloc_tos(), struct clusapi_GetGroupId);
4061 pull = ndr_pull_init_blob(&p->in_data.data, r);
4067 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
4069 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
4071 ndr_err = call->ndr_pull(pull, NDR_IN, r);
4072 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
4077 if (DEBUGLEVEL >= 10) {
4078 NDR_PRINT_FUNCTION_DEBUG(clusapi_GetGroupId, NDR_IN, r);
4081 ZERO_STRUCT(r->out);
4082 r->out.pGuid = talloc_zero(r, const char *);
4083 if (r->out.pGuid == NULL) {
4088 r->out.rpc_status = talloc_zero(r, WERROR);
4089 if (r->out.rpc_status == NULL) {
4094 r->out.result = _clusapi_GetGroupId(p, r);
4096 if (p->fault_state) {
4098 /* Return true here, srv_pipe_hnd.c will take care */
4102 if (DEBUGLEVEL >= 10) {
4103 NDR_PRINT_FUNCTION_DEBUG(clusapi_GetGroupId, NDR_OUT | NDR_SET_VALUES, r);
4106 push = ndr_push_init_ctx(r);
4113 * carry over the pointer count to the reply in case we are
4114 * using full pointer. See NDR specification for full pointers
4116 push->ptr_count = pull->ptr_count;
4118 ndr_err = call->ndr_push(push, NDR_OUT, r);
4119 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
4124 p->out_data.rdata = ndr_push_blob(push);
4125 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
4132 static bool api_clusapi_GetNodeId(struct pipes_struct *p)
4134 const struct ndr_interface_call *call;
4135 struct ndr_pull *pull;
4136 struct ndr_push *push;
4137 enum ndr_err_code ndr_err;
4138 struct clusapi_GetNodeId *r;
4140 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_GETNODEID];
4142 r = talloc(talloc_tos(), struct clusapi_GetNodeId);
4147 pull = ndr_pull_init_blob(&p->in_data.data, r);
4153 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
4155 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
4157 ndr_err = call->ndr_pull(pull, NDR_IN, r);
4158 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
4163 if (DEBUGLEVEL >= 10) {
4164 NDR_PRINT_FUNCTION_DEBUG(clusapi_GetNodeId, NDR_IN, r);
4167 ZERO_STRUCT(r->out);
4168 r->out.pGuid = talloc_zero(r, const char *);
4169 if (r->out.pGuid == NULL) {
4174 r->out.rpc_status = talloc_zero(r, WERROR);
4175 if (r->out.rpc_status == NULL) {
4180 r->out.result = _clusapi_GetNodeId(p, r);
4182 if (p->fault_state) {
4184 /* Return true here, srv_pipe_hnd.c will take care */
4188 if (DEBUGLEVEL >= 10) {
4189 NDR_PRINT_FUNCTION_DEBUG(clusapi_GetNodeId, NDR_OUT | NDR_SET_VALUES, r);
4192 push = ndr_push_init_ctx(r);
4199 * carry over the pointer count to the reply in case we are
4200 * using full pointer. See NDR specification for full pointers
4202 push->ptr_count = pull->ptr_count;
4204 ndr_err = call->ndr_push(push, NDR_OUT, r);
4205 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
4210 p->out_data.rdata = ndr_push_blob(push);
4211 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
4218 static bool api_clusapi_OnlineGroup(struct pipes_struct *p)
4220 const struct ndr_interface_call *call;
4221 struct ndr_pull *pull;
4222 struct ndr_push *push;
4223 enum ndr_err_code ndr_err;
4224 struct clusapi_OnlineGroup *r;
4226 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_ONLINEGROUP];
4228 r = talloc(talloc_tos(), struct clusapi_OnlineGroup);
4233 pull = ndr_pull_init_blob(&p->in_data.data, r);
4239 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
4241 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
4243 ndr_err = call->ndr_pull(pull, NDR_IN, r);
4244 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
4249 if (DEBUGLEVEL >= 10) {
4250 NDR_PRINT_FUNCTION_DEBUG(clusapi_OnlineGroup, NDR_IN, r);
4253 ZERO_STRUCT(r->out);
4254 r->out.rpc_status = talloc_zero(r, WERROR);
4255 if (r->out.rpc_status == NULL) {
4260 r->out.result = _clusapi_OnlineGroup(p, r);
4262 if (p->fault_state) {
4264 /* Return true here, srv_pipe_hnd.c will take care */
4268 if (DEBUGLEVEL >= 10) {
4269 NDR_PRINT_FUNCTION_DEBUG(clusapi_OnlineGroup, NDR_OUT | NDR_SET_VALUES, r);
4272 push = ndr_push_init_ctx(r);
4279 * carry over the pointer count to the reply in case we are
4280 * using full pointer. See NDR specification for full pointers
4282 push->ptr_count = pull->ptr_count;
4284 ndr_err = call->ndr_push(push, NDR_OUT, r);
4285 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
4290 p->out_data.rdata = ndr_push_blob(push);
4291 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
4298 static bool api_clusapi_OfflineGroup(struct pipes_struct *p)
4300 const struct ndr_interface_call *call;
4301 struct ndr_pull *pull;
4302 struct ndr_push *push;
4303 enum ndr_err_code ndr_err;
4304 struct clusapi_OfflineGroup *r;
4306 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_OFFLINEGROUP];
4308 r = talloc(talloc_tos(), struct clusapi_OfflineGroup);
4313 pull = ndr_pull_init_blob(&p->in_data.data, r);
4319 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
4321 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
4323 ndr_err = call->ndr_pull(pull, NDR_IN, r);
4324 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
4329 if (DEBUGLEVEL >= 10) {
4330 NDR_PRINT_FUNCTION_DEBUG(clusapi_OfflineGroup, NDR_IN, r);
4333 ZERO_STRUCT(r->out);
4334 r->out.rpc_status = talloc_zero(r, WERROR);
4335 if (r->out.rpc_status == NULL) {
4340 r->out.result = _clusapi_OfflineGroup(p, r);
4342 if (p->fault_state) {
4344 /* Return true here, srv_pipe_hnd.c will take care */
4348 if (DEBUGLEVEL >= 10) {
4349 NDR_PRINT_FUNCTION_DEBUG(clusapi_OfflineGroup, NDR_OUT | NDR_SET_VALUES, r);
4352 push = ndr_push_init_ctx(r);
4359 * carry over the pointer count to the reply in case we are
4360 * using full pointer. See NDR specification for full pointers
4362 push->ptr_count = pull->ptr_count;
4364 ndr_err = call->ndr_push(push, NDR_OUT, r);
4365 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
4370 p->out_data.rdata = ndr_push_blob(push);
4371 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
4378 static bool api_clusapi_MoveGroup(struct pipes_struct *p)
4380 const struct ndr_interface_call *call;
4381 struct ndr_pull *pull;
4382 struct ndr_push *push;
4383 enum ndr_err_code ndr_err;
4384 struct clusapi_MoveGroup *r;
4386 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_MOVEGROUP];
4388 r = talloc(talloc_tos(), struct clusapi_MoveGroup);
4393 pull = ndr_pull_init_blob(&p->in_data.data, r);
4399 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
4401 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
4403 ndr_err = call->ndr_pull(pull, NDR_IN, r);
4404 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
4409 if (DEBUGLEVEL >= 10) {
4410 NDR_PRINT_FUNCTION_DEBUG(clusapi_MoveGroup, NDR_IN, r);
4413 ZERO_STRUCT(r->out);
4414 r->out.rpc_status = talloc_zero(r, WERROR);
4415 if (r->out.rpc_status == NULL) {
4420 r->out.result = _clusapi_MoveGroup(p, r);
4422 if (p->fault_state) {
4424 /* Return true here, srv_pipe_hnd.c will take care */
4428 if (DEBUGLEVEL >= 10) {
4429 NDR_PRINT_FUNCTION_DEBUG(clusapi_MoveGroup, NDR_OUT | NDR_SET_VALUES, r);
4432 push = ndr_push_init_ctx(r);
4439 * carry over the pointer count to the reply in case we are
4440 * using full pointer. See NDR specification for full pointers
4442 push->ptr_count = pull->ptr_count;
4444 ndr_err = call->ndr_push(push, NDR_OUT, r);
4445 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
4450 p->out_data.rdata = ndr_push_blob(push);
4451 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
4458 static bool api_clusapi_MoveGroupToNode(struct pipes_struct *p)
4460 const struct ndr_interface_call *call;
4461 struct ndr_pull *pull;
4462 struct ndr_push *push;
4463 enum ndr_err_code ndr_err;
4464 struct clusapi_MoveGroupToNode *r;
4466 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_MOVEGROUPTONODE];
4468 r = talloc(talloc_tos(), struct clusapi_MoveGroupToNode);
4473 pull = ndr_pull_init_blob(&p->in_data.data, r);
4479 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
4481 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
4483 ndr_err = call->ndr_pull(pull, NDR_IN, r);
4484 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
4489 if (DEBUGLEVEL >= 10) {
4490 NDR_PRINT_FUNCTION_DEBUG(clusapi_MoveGroupToNode, NDR_IN, r);
4493 ZERO_STRUCT(r->out);
4494 r->out.rpc_status = talloc_zero(r, WERROR);
4495 if (r->out.rpc_status == NULL) {
4500 r->out.result = _clusapi_MoveGroupToNode(p, r);
4502 if (p->fault_state) {
4504 /* Return true here, srv_pipe_hnd.c will take care */
4508 if (DEBUGLEVEL >= 10) {
4509 NDR_PRINT_FUNCTION_DEBUG(clusapi_MoveGroupToNode, NDR_OUT | NDR_SET_VALUES, r);
4512 push = ndr_push_init_ctx(r);
4519 * carry over the pointer count to the reply in case we are
4520 * using full pointer. See NDR specification for full pointers
4522 push->ptr_count = pull->ptr_count;
4524 ndr_err = call->ndr_push(push, NDR_OUT, r);
4525 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
4530 p->out_data.rdata = ndr_push_blob(push);
4531 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
4538 static bool api_clusapi_CreateGroupResourceEnum(struct pipes_struct *p)
4540 const struct ndr_interface_call *call;
4541 struct ndr_pull *pull;
4542 struct ndr_push *push;
4543 enum ndr_err_code ndr_err;
4544 struct clusapi_CreateGroupResourceEnum *r;
4546 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_CREATEGROUPRESOURCEENUM];
4548 r = talloc(talloc_tos(), struct clusapi_CreateGroupResourceEnum);
4553 pull = ndr_pull_init_blob(&p->in_data.data, r);
4559 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
4561 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
4563 ndr_err = call->ndr_pull(pull, NDR_IN, r);
4564 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
4569 if (DEBUGLEVEL >= 10) {
4570 NDR_PRINT_FUNCTION_DEBUG(clusapi_CreateGroupResourceEnum, NDR_IN, r);
4573 ZERO_STRUCT(r->out);
4574 r->out.ReturnEnum = talloc_zero(r, struct ENUM_LIST *);
4575 if (r->out.ReturnEnum == NULL) {
4580 r->out.rpc_status = talloc_zero(r, WERROR);
4581 if (r->out.rpc_status == NULL) {
4586 r->out.result = _clusapi_CreateGroupResourceEnum(p, r);
4588 if (p->fault_state) {
4590 /* Return true here, srv_pipe_hnd.c will take care */
4594 if (DEBUGLEVEL >= 10) {
4595 NDR_PRINT_FUNCTION_DEBUG(clusapi_CreateGroupResourceEnum, NDR_OUT | NDR_SET_VALUES, r);
4598 push = ndr_push_init_ctx(r);
4605 * carry over the pointer count to the reply in case we are
4606 * using full pointer. See NDR specification for full pointers
4608 push->ptr_count = pull->ptr_count;
4610 ndr_err = call->ndr_push(push, NDR_OUT, r);
4611 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
4616 p->out_data.rdata = ndr_push_blob(push);
4617 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
4624 static bool api_clusapi_SetGroupNodeList(struct pipes_struct *p)
4626 const struct ndr_interface_call *call;
4627 struct ndr_pull *pull;
4628 struct ndr_push *push;
4629 enum ndr_err_code ndr_err;
4630 struct clusapi_SetGroupNodeList *r;
4632 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_SETGROUPNODELIST];
4634 r = talloc(talloc_tos(), struct clusapi_SetGroupNodeList);
4639 pull = ndr_pull_init_blob(&p->in_data.data, r);
4645 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
4647 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
4649 ndr_err = call->ndr_pull(pull, NDR_IN, r);
4650 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
4655 if (DEBUGLEVEL >= 10) {
4656 NDR_PRINT_FUNCTION_DEBUG(clusapi_SetGroupNodeList, NDR_IN, r);
4659 ZERO_STRUCT(r->out);
4660 r->out.rpc_status = talloc_zero(r, WERROR);
4661 if (r->out.rpc_status == NULL) {
4666 r->out.result = _clusapi_SetGroupNodeList(p, r);
4668 if (p->fault_state) {
4670 /* Return true here, srv_pipe_hnd.c will take care */
4674 if (DEBUGLEVEL >= 10) {
4675 NDR_PRINT_FUNCTION_DEBUG(clusapi_SetGroupNodeList, NDR_OUT | NDR_SET_VALUES, r);
4678 push = ndr_push_init_ctx(r);
4685 * carry over the pointer count to the reply in case we are
4686 * using full pointer. See NDR specification for full pointers
4688 push->ptr_count = pull->ptr_count;
4690 ndr_err = call->ndr_push(push, NDR_OUT, r);
4691 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
4696 p->out_data.rdata = ndr_push_blob(push);
4697 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
4704 static bool api_clusapi_CreateNotify(struct pipes_struct *p)
4706 const struct ndr_interface_call *call;
4707 struct ndr_pull *pull;
4708 struct ndr_push *push;
4709 enum ndr_err_code ndr_err;
4710 struct clusapi_CreateNotify *r;
4712 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_CREATENOTIFY];
4714 r = talloc(talloc_tos(), struct clusapi_CreateNotify);
4719 pull = ndr_pull_init_blob(&p->in_data.data, r);
4725 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
4727 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
4729 ndr_err = call->ndr_pull(pull, NDR_IN, r);
4730 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
4735 if (DEBUGLEVEL >= 10) {
4736 NDR_PRINT_FUNCTION_DEBUG(clusapi_CreateNotify, NDR_IN, r);
4739 ZERO_STRUCT(r->out);
4740 r->out.Status = talloc_zero(r, WERROR);
4741 if (r->out.Status == NULL) {
4746 r->out.rpc_status = talloc_zero(r, WERROR);
4747 if (r->out.rpc_status == NULL) {
4752 r->out.hNotify = talloc_zero(r, struct policy_handle);
4753 if (r->out.hNotify == NULL) {
4758 _clusapi_CreateNotify(p, r);
4760 if (p->fault_state) {
4762 /* Return true here, srv_pipe_hnd.c will take care */
4766 if (DEBUGLEVEL >= 10) {
4767 NDR_PRINT_FUNCTION_DEBUG(clusapi_CreateNotify, NDR_OUT | NDR_SET_VALUES, r);
4770 push = ndr_push_init_ctx(r);
4777 * carry over the pointer count to the reply in case we are
4778 * using full pointer. See NDR specification for full pointers
4780 push->ptr_count = pull->ptr_count;
4782 ndr_err = call->ndr_push(push, NDR_OUT, r);
4783 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
4788 p->out_data.rdata = ndr_push_blob(push);
4789 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
4796 static bool api_clusapi_CloseNotify(struct pipes_struct *p)
4798 const struct ndr_interface_call *call;
4799 struct ndr_pull *pull;
4800 struct ndr_push *push;
4801 enum ndr_err_code ndr_err;
4802 struct clusapi_CloseNotify *r;
4804 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_CLOSENOTIFY];
4806 r = talloc(talloc_tos(), struct clusapi_CloseNotify);
4811 pull = ndr_pull_init_blob(&p->in_data.data, r);
4817 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
4819 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
4821 ndr_err = call->ndr_pull(pull, NDR_IN, r);
4822 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
4827 if (DEBUGLEVEL >= 10) {
4828 NDR_PRINT_FUNCTION_DEBUG(clusapi_CloseNotify, NDR_IN, r);
4831 ZERO_STRUCT(r->out);
4832 r->out.Notify = r->in.Notify;
4833 r->out.result = _clusapi_CloseNotify(p, r);
4835 if (p->fault_state) {
4837 /* Return true here, srv_pipe_hnd.c will take care */
4841 if (DEBUGLEVEL >= 10) {
4842 NDR_PRINT_FUNCTION_DEBUG(clusapi_CloseNotify, NDR_OUT | NDR_SET_VALUES, r);
4845 push = ndr_push_init_ctx(r);
4852 * carry over the pointer count to the reply in case we are
4853 * using full pointer. See NDR specification for full pointers
4855 push->ptr_count = pull->ptr_count;
4857 ndr_err = call->ndr_push(push, NDR_OUT, r);
4858 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
4863 p->out_data.rdata = ndr_push_blob(push);
4864 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
4871 static bool api_clusapi_AddNotifyCluster(struct pipes_struct *p)
4873 const struct ndr_interface_call *call;
4874 struct ndr_pull *pull;
4875 struct ndr_push *push;
4876 enum ndr_err_code ndr_err;
4877 struct clusapi_AddNotifyCluster *r;
4879 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_ADDNOTIFYCLUSTER];
4881 r = talloc(talloc_tos(), struct clusapi_AddNotifyCluster);
4886 pull = ndr_pull_init_blob(&p->in_data.data, r);
4892 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
4894 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
4896 ndr_err = call->ndr_pull(pull, NDR_IN, r);
4897 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
4902 if (DEBUGLEVEL >= 10) {
4903 NDR_PRINT_FUNCTION_DEBUG(clusapi_AddNotifyCluster, NDR_IN, r);
4906 ZERO_STRUCT(r->out);
4907 r->out.rpc_status = talloc_zero(r, WERROR);
4908 if (r->out.rpc_status == NULL) {
4913 r->out.result = _clusapi_AddNotifyCluster(p, r);
4915 if (p->fault_state) {
4917 /* Return true here, srv_pipe_hnd.c will take care */
4921 if (DEBUGLEVEL >= 10) {
4922 NDR_PRINT_FUNCTION_DEBUG(clusapi_AddNotifyCluster, NDR_OUT | NDR_SET_VALUES, r);
4925 push = ndr_push_init_ctx(r);
4932 * carry over the pointer count to the reply in case we are
4933 * using full pointer. See NDR specification for full pointers
4935 push->ptr_count = pull->ptr_count;
4937 ndr_err = call->ndr_push(push, NDR_OUT, r);
4938 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
4943 p->out_data.rdata = ndr_push_blob(push);
4944 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
4951 static bool api_clusapi_AddNotifyNode(struct pipes_struct *p)
4953 const struct ndr_interface_call *call;
4954 struct ndr_pull *pull;
4955 struct ndr_push *push;
4956 enum ndr_err_code ndr_err;
4957 struct clusapi_AddNotifyNode *r;
4959 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_ADDNOTIFYNODE];
4961 r = talloc(talloc_tos(), struct clusapi_AddNotifyNode);
4966 pull = ndr_pull_init_blob(&p->in_data.data, r);
4972 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
4974 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
4976 ndr_err = call->ndr_pull(pull, NDR_IN, r);
4977 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
4982 if (DEBUGLEVEL >= 10) {
4983 NDR_PRINT_FUNCTION_DEBUG(clusapi_AddNotifyNode, NDR_IN, r);
4986 ZERO_STRUCT(r->out);
4987 r->out.dwStateSequence = talloc_zero(r, uint32_t);
4988 if (r->out.dwStateSequence == NULL) {
4993 r->out.rpc_status = talloc_zero(r, WERROR);
4994 if (r->out.rpc_status == NULL) {
4999 r->out.result = _clusapi_AddNotifyNode(p, r);
5001 if (p->fault_state) {
5003 /* Return true here, srv_pipe_hnd.c will take care */
5007 if (DEBUGLEVEL >= 10) {
5008 NDR_PRINT_FUNCTION_DEBUG(clusapi_AddNotifyNode, NDR_OUT | NDR_SET_VALUES, r);
5011 push = ndr_push_init_ctx(r);
5018 * carry over the pointer count to the reply in case we are
5019 * using full pointer. See NDR specification for full pointers
5021 push->ptr_count = pull->ptr_count;
5023 ndr_err = call->ndr_push(push, NDR_OUT, r);
5024 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
5029 p->out_data.rdata = ndr_push_blob(push);
5030 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
5037 static bool api_clusapi_AddNotifyGroup(struct pipes_struct *p)
5039 const struct ndr_interface_call *call;
5040 struct ndr_pull *pull;
5041 struct ndr_push *push;
5042 enum ndr_err_code ndr_err;
5043 struct clusapi_AddNotifyGroup *r;
5045 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_ADDNOTIFYGROUP];
5047 r = talloc(talloc_tos(), struct clusapi_AddNotifyGroup);
5052 pull = ndr_pull_init_blob(&p->in_data.data, r);
5058 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
5060 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
5062 ndr_err = call->ndr_pull(pull, NDR_IN, r);
5063 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
5068 if (DEBUGLEVEL >= 10) {
5069 NDR_PRINT_FUNCTION_DEBUG(clusapi_AddNotifyGroup, NDR_IN, r);
5072 ZERO_STRUCT(r->out);
5073 r->out.dwStateSequence = talloc_zero(r, uint32_t);
5074 if (r->out.dwStateSequence == NULL) {
5079 r->out.rpc_status = talloc_zero(r, WERROR);
5080 if (r->out.rpc_status == NULL) {
5085 r->out.result = _clusapi_AddNotifyGroup(p, r);
5087 if (p->fault_state) {
5089 /* Return true here, srv_pipe_hnd.c will take care */
5093 if (DEBUGLEVEL >= 10) {
5094 NDR_PRINT_FUNCTION_DEBUG(clusapi_AddNotifyGroup, NDR_OUT | NDR_SET_VALUES, r);
5097 push = ndr_push_init_ctx(r);
5104 * carry over the pointer count to the reply in case we are
5105 * using full pointer. See NDR specification for full pointers
5107 push->ptr_count = pull->ptr_count;
5109 ndr_err = call->ndr_push(push, NDR_OUT, r);
5110 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
5115 p->out_data.rdata = ndr_push_blob(push);
5116 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
5123 static bool api_clusapi_AddNotifyResource(struct pipes_struct *p)
5125 const struct ndr_interface_call *call;
5126 struct ndr_pull *pull;
5127 struct ndr_push *push;
5128 enum ndr_err_code ndr_err;
5129 struct clusapi_AddNotifyResource *r;
5131 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_ADDNOTIFYRESOURCE];
5133 r = talloc(talloc_tos(), struct clusapi_AddNotifyResource);
5138 pull = ndr_pull_init_blob(&p->in_data.data, r);
5144 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
5146 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
5148 ndr_err = call->ndr_pull(pull, NDR_IN, r);
5149 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
5154 if (DEBUGLEVEL >= 10) {
5155 NDR_PRINT_FUNCTION_DEBUG(clusapi_AddNotifyResource, NDR_IN, r);
5158 ZERO_STRUCT(r->out);
5159 r->out.dwStateSequence = talloc_zero(r, uint32_t);
5160 if (r->out.dwStateSequence == NULL) {
5165 r->out.rpc_status = talloc_zero(r, WERROR);
5166 if (r->out.rpc_status == NULL) {
5171 r->out.result = _clusapi_AddNotifyResource(p, r);
5173 if (p->fault_state) {
5175 /* Return true here, srv_pipe_hnd.c will take care */
5179 if (DEBUGLEVEL >= 10) {
5180 NDR_PRINT_FUNCTION_DEBUG(clusapi_AddNotifyResource, NDR_OUT | NDR_SET_VALUES, r);
5183 push = ndr_push_init_ctx(r);
5190 * carry over the pointer count to the reply in case we are
5191 * using full pointer. See NDR specification for full pointers
5193 push->ptr_count = pull->ptr_count;
5195 ndr_err = call->ndr_push(push, NDR_OUT, r);
5196 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
5201 p->out_data.rdata = ndr_push_blob(push);
5202 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
5209 static bool api_clusapi_AddNotifyKey(struct pipes_struct *p)
5211 const struct ndr_interface_call *call;
5212 struct ndr_pull *pull;
5213 struct ndr_push *push;
5214 enum ndr_err_code ndr_err;
5215 struct clusapi_AddNotifyKey *r;
5217 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_ADDNOTIFYKEY];
5219 r = talloc(talloc_tos(), struct clusapi_AddNotifyKey);
5224 pull = ndr_pull_init_blob(&p->in_data.data, r);
5230 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
5232 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
5234 ndr_err = call->ndr_pull(pull, NDR_IN, r);
5235 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
5240 if (DEBUGLEVEL >= 10) {
5241 NDR_PRINT_FUNCTION_DEBUG(clusapi_AddNotifyKey, NDR_IN, r);
5244 ZERO_STRUCT(r->out);
5245 r->out.rpc_status = talloc_zero(r, WERROR);
5246 if (r->out.rpc_status == NULL) {
5251 r->out.result = _clusapi_AddNotifyKey(p, r);
5253 if (p->fault_state) {
5255 /* Return true here, srv_pipe_hnd.c will take care */
5259 if (DEBUGLEVEL >= 10) {
5260 NDR_PRINT_FUNCTION_DEBUG(clusapi_AddNotifyKey, NDR_OUT | NDR_SET_VALUES, r);
5263 push = ndr_push_init_ctx(r);
5270 * carry over the pointer count to the reply in case we are
5271 * using full pointer. See NDR specification for full pointers
5273 push->ptr_count = pull->ptr_count;
5275 ndr_err = call->ndr_push(push, NDR_OUT, r);
5276 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
5281 p->out_data.rdata = ndr_push_blob(push);
5282 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
5289 static bool api_clusapi_ReAddNotifyNode(struct pipes_struct *p)
5291 const struct ndr_interface_call *call;
5292 struct ndr_pull *pull;
5293 struct ndr_push *push;
5294 enum ndr_err_code ndr_err;
5295 struct clusapi_ReAddNotifyNode *r;
5297 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_READDNOTIFYNODE];
5299 r = talloc(talloc_tos(), struct clusapi_ReAddNotifyNode);
5304 pull = ndr_pull_init_blob(&p->in_data.data, r);
5310 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
5312 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
5314 ndr_err = call->ndr_pull(pull, NDR_IN, r);
5315 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
5320 if (DEBUGLEVEL >= 10) {
5321 NDR_PRINT_FUNCTION_DEBUG(clusapi_ReAddNotifyNode, NDR_IN, r);
5324 ZERO_STRUCT(r->out);
5325 r->out.rpc_status = talloc_zero(r, WERROR);
5326 if (r->out.rpc_status == NULL) {
5331 r->out.result = _clusapi_ReAddNotifyNode(p, r);
5333 if (p->fault_state) {
5335 /* Return true here, srv_pipe_hnd.c will take care */
5339 if (DEBUGLEVEL >= 10) {
5340 NDR_PRINT_FUNCTION_DEBUG(clusapi_ReAddNotifyNode, NDR_OUT | NDR_SET_VALUES, r);
5343 push = ndr_push_init_ctx(r);
5350 * carry over the pointer count to the reply in case we are
5351 * using full pointer. See NDR specification for full pointers
5353 push->ptr_count = pull->ptr_count;
5355 ndr_err = call->ndr_push(push, NDR_OUT, r);
5356 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
5361 p->out_data.rdata = ndr_push_blob(push);
5362 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
5369 static bool api_clusapi_ReAddNotifyGroup(struct pipes_struct *p)
5371 const struct ndr_interface_call *call;
5372 struct ndr_pull *pull;
5373 struct ndr_push *push;
5374 enum ndr_err_code ndr_err;
5375 struct clusapi_ReAddNotifyGroup *r;
5377 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_READDNOTIFYGROUP];
5379 r = talloc(talloc_tos(), struct clusapi_ReAddNotifyGroup);
5384 pull = ndr_pull_init_blob(&p->in_data.data, r);
5390 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
5392 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
5394 ndr_err = call->ndr_pull(pull, NDR_IN, r);
5395 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
5400 if (DEBUGLEVEL >= 10) {
5401 NDR_PRINT_FUNCTION_DEBUG(clusapi_ReAddNotifyGroup, NDR_IN, r);
5404 ZERO_STRUCT(r->out);
5405 r->out.rpc_status = talloc_zero(r, WERROR);
5406 if (r->out.rpc_status == NULL) {
5411 r->out.result = _clusapi_ReAddNotifyGroup(p, r);
5413 if (p->fault_state) {
5415 /* Return true here, srv_pipe_hnd.c will take care */
5419 if (DEBUGLEVEL >= 10) {
5420 NDR_PRINT_FUNCTION_DEBUG(clusapi_ReAddNotifyGroup, NDR_OUT | NDR_SET_VALUES, r);
5423 push = ndr_push_init_ctx(r);
5430 * carry over the pointer count to the reply in case we are
5431 * using full pointer. See NDR specification for full pointers
5433 push->ptr_count = pull->ptr_count;
5435 ndr_err = call->ndr_push(push, NDR_OUT, r);
5436 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
5441 p->out_data.rdata = ndr_push_blob(push);
5442 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
5449 static bool api_clusapi_ReAddNotifyResource(struct pipes_struct *p)
5451 const struct ndr_interface_call *call;
5452 struct ndr_pull *pull;
5453 struct ndr_push *push;
5454 enum ndr_err_code ndr_err;
5455 struct clusapi_ReAddNotifyResource *r;
5457 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_READDNOTIFYRESOURCE];
5459 r = talloc(talloc_tos(), struct clusapi_ReAddNotifyResource);
5464 pull = ndr_pull_init_blob(&p->in_data.data, r);
5470 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
5472 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
5474 ndr_err = call->ndr_pull(pull, NDR_IN, r);
5475 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
5480 if (DEBUGLEVEL >= 10) {
5481 NDR_PRINT_FUNCTION_DEBUG(clusapi_ReAddNotifyResource, NDR_IN, r);
5484 ZERO_STRUCT(r->out);
5485 r->out.rpc_status = talloc_zero(r, WERROR);
5486 if (r->out.rpc_status == NULL) {
5491 r->out.result = _clusapi_ReAddNotifyResource(p, r);
5493 if (p->fault_state) {
5495 /* Return true here, srv_pipe_hnd.c will take care */
5499 if (DEBUGLEVEL >= 10) {
5500 NDR_PRINT_FUNCTION_DEBUG(clusapi_ReAddNotifyResource, NDR_OUT | NDR_SET_VALUES, r);
5503 push = ndr_push_init_ctx(r);
5510 * carry over the pointer count to the reply in case we are
5511 * using full pointer. See NDR specification for full pointers
5513 push->ptr_count = pull->ptr_count;
5515 ndr_err = call->ndr_push(push, NDR_OUT, r);
5516 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
5521 p->out_data.rdata = ndr_push_blob(push);
5522 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
5529 static bool api_clusapi_GetNotify(struct pipes_struct *p)
5531 const struct ndr_interface_call *call;
5532 struct ndr_pull *pull;
5533 struct ndr_push *push;
5534 enum ndr_err_code ndr_err;
5535 struct clusapi_GetNotify *r;
5537 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_GETNOTIFY];
5539 r = talloc(talloc_tos(), struct clusapi_GetNotify);
5544 pull = ndr_pull_init_blob(&p->in_data.data, r);
5550 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
5552 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
5554 ndr_err = call->ndr_pull(pull, NDR_IN, r);
5555 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
5560 if (DEBUGLEVEL >= 10) {
5561 NDR_PRINT_FUNCTION_DEBUG(clusapi_GetNotify, NDR_IN, r);
5564 ZERO_STRUCT(r->out);
5565 r->out.dwNotifyKey = talloc_zero(r, uint32_t);
5566 if (r->out.dwNotifyKey == NULL) {
5571 r->out.dwFilter = talloc_zero(r, uint32_t);
5572 if (r->out.dwFilter == NULL) {
5577 r->out.dwStateSequence = talloc_zero(r, uint32_t);
5578 if (r->out.dwStateSequence == NULL) {
5583 r->out.Name = talloc_zero(r, const char *);
5584 if (r->out.Name == NULL) {
5589 r->out.rpc_status = talloc_zero(r, WERROR);
5590 if (r->out.rpc_status == NULL) {
5595 r->out.result = _clusapi_GetNotify(p, r);
5597 if (p->fault_state) {
5599 /* Return true here, srv_pipe_hnd.c will take care */
5603 if (DEBUGLEVEL >= 10) {
5604 NDR_PRINT_FUNCTION_DEBUG(clusapi_GetNotify, NDR_OUT | NDR_SET_VALUES, r);
5607 push = ndr_push_init_ctx(r);
5614 * carry over the pointer count to the reply in case we are
5615 * using full pointer. See NDR specification for full pointers
5617 push->ptr_count = pull->ptr_count;
5619 ndr_err = call->ndr_push(push, NDR_OUT, r);
5620 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
5625 p->out_data.rdata = ndr_push_blob(push);
5626 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
5633 static bool api_clusapi_OpenNode(struct pipes_struct *p)
5635 const struct ndr_interface_call *call;
5636 struct ndr_pull *pull;
5637 struct ndr_push *push;
5638 enum ndr_err_code ndr_err;
5639 struct clusapi_OpenNode *r;
5641 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_OPENNODE];
5643 r = talloc(talloc_tos(), struct clusapi_OpenNode);
5648 pull = ndr_pull_init_blob(&p->in_data.data, r);
5654 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
5656 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
5658 ndr_err = call->ndr_pull(pull, NDR_IN, r);
5659 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
5664 if (DEBUGLEVEL >= 10) {
5665 NDR_PRINT_FUNCTION_DEBUG(clusapi_OpenNode, NDR_IN, r);
5668 ZERO_STRUCT(r->out);
5669 r->out.Status = talloc_zero(r, WERROR);
5670 if (r->out.Status == NULL) {
5675 r->out.rpc_status = talloc_zero(r, WERROR);
5676 if (r->out.rpc_status == NULL) {
5681 r->out.hNode = talloc_zero(r, struct policy_handle);
5682 if (r->out.hNode == NULL) {
5687 _clusapi_OpenNode(p, r);
5689 if (p->fault_state) {
5691 /* Return true here, srv_pipe_hnd.c will take care */
5695 if (DEBUGLEVEL >= 10) {
5696 NDR_PRINT_FUNCTION_DEBUG(clusapi_OpenNode, NDR_OUT | NDR_SET_VALUES, r);
5699 push = ndr_push_init_ctx(r);
5706 * carry over the pointer count to the reply in case we are
5707 * using full pointer. See NDR specification for full pointers
5709 push->ptr_count = pull->ptr_count;
5711 ndr_err = call->ndr_push(push, NDR_OUT, r);
5712 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
5717 p->out_data.rdata = ndr_push_blob(push);
5718 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
5725 static bool api_clusapi_CloseNode(struct pipes_struct *p)
5727 const struct ndr_interface_call *call;
5728 struct ndr_pull *pull;
5729 struct ndr_push *push;
5730 enum ndr_err_code ndr_err;
5731 struct clusapi_CloseNode *r;
5733 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_CLOSENODE];
5735 r = talloc(talloc_tos(), struct clusapi_CloseNode);
5740 pull = ndr_pull_init_blob(&p->in_data.data, r);
5746 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
5748 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
5750 ndr_err = call->ndr_pull(pull, NDR_IN, r);
5751 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
5756 if (DEBUGLEVEL >= 10) {
5757 NDR_PRINT_FUNCTION_DEBUG(clusapi_CloseNode, NDR_IN, r);
5760 ZERO_STRUCT(r->out);
5761 r->out.Node = r->in.Node;
5762 r->out.result = _clusapi_CloseNode(p, r);
5764 if (p->fault_state) {
5766 /* Return true here, srv_pipe_hnd.c will take care */
5770 if (DEBUGLEVEL >= 10) {
5771 NDR_PRINT_FUNCTION_DEBUG(clusapi_CloseNode, NDR_OUT | NDR_SET_VALUES, r);
5774 push = ndr_push_init_ctx(r);
5781 * carry over the pointer count to the reply in case we are
5782 * using full pointer. See NDR specification for full pointers
5784 push->ptr_count = pull->ptr_count;
5786 ndr_err = call->ndr_push(push, NDR_OUT, r);
5787 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
5792 p->out_data.rdata = ndr_push_blob(push);
5793 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
5800 static bool api_clusapi_GetNodeState(struct pipes_struct *p)
5802 const struct ndr_interface_call *call;
5803 struct ndr_pull *pull;
5804 struct ndr_push *push;
5805 enum ndr_err_code ndr_err;
5806 struct clusapi_GetNodeState *r;
5808 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_GETNODESTATE];
5810 r = talloc(talloc_tos(), struct clusapi_GetNodeState);
5815 pull = ndr_pull_init_blob(&p->in_data.data, r);
5821 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
5823 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
5825 ndr_err = call->ndr_pull(pull, NDR_IN, r);
5826 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
5831 if (DEBUGLEVEL >= 10) {
5832 NDR_PRINT_FUNCTION_DEBUG(clusapi_GetNodeState, NDR_IN, r);
5835 ZERO_STRUCT(r->out);
5836 r->out.State = talloc_zero(r, enum clusapi_ClusterNodeState);
5837 if (r->out.State == NULL) {
5842 r->out.rpc_status = talloc_zero(r, WERROR);
5843 if (r->out.rpc_status == NULL) {
5848 r->out.result = _clusapi_GetNodeState(p, r);
5850 if (p->fault_state) {
5852 /* Return true here, srv_pipe_hnd.c will take care */
5856 if (DEBUGLEVEL >= 10) {
5857 NDR_PRINT_FUNCTION_DEBUG(clusapi_GetNodeState, NDR_OUT | NDR_SET_VALUES, r);
5860 push = ndr_push_init_ctx(r);
5867 * carry over the pointer count to the reply in case we are
5868 * using full pointer. See NDR specification for full pointers
5870 push->ptr_count = pull->ptr_count;
5872 ndr_err = call->ndr_push(push, NDR_OUT, r);
5873 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
5878 p->out_data.rdata = ndr_push_blob(push);
5879 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
5886 static bool api_clusapi_PauseNode(struct pipes_struct *p)
5888 const struct ndr_interface_call *call;
5889 struct ndr_pull *pull;
5890 struct ndr_push *push;
5891 enum ndr_err_code ndr_err;
5892 struct clusapi_PauseNode *r;
5894 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_PAUSENODE];
5896 r = talloc(talloc_tos(), struct clusapi_PauseNode);
5901 pull = ndr_pull_init_blob(&p->in_data.data, r);
5907 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
5909 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
5911 ndr_err = call->ndr_pull(pull, NDR_IN, r);
5912 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
5917 if (DEBUGLEVEL >= 10) {
5918 NDR_PRINT_FUNCTION_DEBUG(clusapi_PauseNode, NDR_IN, r);
5921 ZERO_STRUCT(r->out);
5922 r->out.rpc_status = talloc_zero(r, WERROR);
5923 if (r->out.rpc_status == NULL) {
5928 r->out.result = _clusapi_PauseNode(p, r);
5930 if (p->fault_state) {
5932 /* Return true here, srv_pipe_hnd.c will take care */
5936 if (DEBUGLEVEL >= 10) {
5937 NDR_PRINT_FUNCTION_DEBUG(clusapi_PauseNode, NDR_OUT | NDR_SET_VALUES, r);
5940 push = ndr_push_init_ctx(r);
5947 * carry over the pointer count to the reply in case we are
5948 * using full pointer. See NDR specification for full pointers
5950 push->ptr_count = pull->ptr_count;
5952 ndr_err = call->ndr_push(push, NDR_OUT, r);
5953 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
5958 p->out_data.rdata = ndr_push_blob(push);
5959 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
5966 static bool api_clusapi_ResumeNode(struct pipes_struct *p)
5968 const struct ndr_interface_call *call;
5969 struct ndr_pull *pull;
5970 struct ndr_push *push;
5971 enum ndr_err_code ndr_err;
5972 struct clusapi_ResumeNode *r;
5974 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_RESUMENODE];
5976 r = talloc(talloc_tos(), struct clusapi_ResumeNode);
5981 pull = ndr_pull_init_blob(&p->in_data.data, r);
5987 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
5989 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
5991 ndr_err = call->ndr_pull(pull, NDR_IN, r);
5992 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
5997 if (DEBUGLEVEL >= 10) {
5998 NDR_PRINT_FUNCTION_DEBUG(clusapi_ResumeNode, NDR_IN, r);
6001 ZERO_STRUCT(r->out);
6002 r->out.rpc_status = talloc_zero(r, WERROR);
6003 if (r->out.rpc_status == NULL) {
6008 r->out.result = _clusapi_ResumeNode(p, r);
6010 if (p->fault_state) {
6012 /* Return true here, srv_pipe_hnd.c will take care */
6016 if (DEBUGLEVEL >= 10) {
6017 NDR_PRINT_FUNCTION_DEBUG(clusapi_ResumeNode, NDR_OUT | NDR_SET_VALUES, r);
6020 push = ndr_push_init_ctx(r);
6027 * carry over the pointer count to the reply in case we are
6028 * using full pointer. See NDR specification for full pointers
6030 push->ptr_count = pull->ptr_count;
6032 ndr_err = call->ndr_push(push, NDR_OUT, r);
6033 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
6038 p->out_data.rdata = ndr_push_blob(push);
6039 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
6046 static bool api_clusapi_EvictNode(struct pipes_struct *p)
6048 const struct ndr_interface_call *call;
6049 struct ndr_pull *pull;
6050 struct ndr_push *push;
6051 enum ndr_err_code ndr_err;
6052 struct clusapi_EvictNode *r;
6054 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_EVICTNODE];
6056 r = talloc(talloc_tos(), struct clusapi_EvictNode);
6061 pull = ndr_pull_init_blob(&p->in_data.data, r);
6067 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
6069 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
6071 ndr_err = call->ndr_pull(pull, NDR_IN, r);
6072 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
6077 if (DEBUGLEVEL >= 10) {
6078 NDR_PRINT_FUNCTION_DEBUG(clusapi_EvictNode, NDR_IN, r);
6081 ZERO_STRUCT(r->out);
6082 r->out.rpc_status = talloc_zero(r, WERROR);
6083 if (r->out.rpc_status == NULL) {
6088 r->out.result = _clusapi_EvictNode(p, r);
6090 if (p->fault_state) {
6092 /* Return true here, srv_pipe_hnd.c will take care */
6096 if (DEBUGLEVEL >= 10) {
6097 NDR_PRINT_FUNCTION_DEBUG(clusapi_EvictNode, NDR_OUT | NDR_SET_VALUES, r);
6100 push = ndr_push_init_ctx(r);
6107 * carry over the pointer count to the reply in case we are
6108 * using full pointer. See NDR specification for full pointers
6110 push->ptr_count = pull->ptr_count;
6112 ndr_err = call->ndr_push(push, NDR_OUT, r);
6113 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
6118 p->out_data.rdata = ndr_push_blob(push);
6119 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
6126 static bool api_clusapi_NodeResourceControl(struct pipes_struct *p)
6128 const struct ndr_interface_call *call;
6129 struct ndr_pull *pull;
6130 struct ndr_push *push;
6131 enum ndr_err_code ndr_err;
6132 struct clusapi_NodeResourceControl *r;
6134 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_NODERESOURCECONTROL];
6136 r = talloc(talloc_tos(), struct clusapi_NodeResourceControl);
6141 pull = ndr_pull_init_blob(&p->in_data.data, r);
6147 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
6149 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
6151 ndr_err = call->ndr_pull(pull, NDR_IN, r);
6152 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
6157 if (DEBUGLEVEL >= 10) {
6158 NDR_PRINT_FUNCTION_DEBUG(clusapi_NodeResourceControl, NDR_IN, r);
6161 ZERO_STRUCT(r->out);
6162 r->out.lpOutBuffer = talloc_zero_array(r, uint8_t, r->in.nOutBufferSize);
6163 if (r->out.lpOutBuffer == NULL) {
6168 r->out.lpBytesReturned = talloc_zero(r, uint32_t);
6169 if (r->out.lpBytesReturned == NULL) {
6174 r->out.lpcbRequired = talloc_zero(r, uint32_t);
6175 if (r->out.lpcbRequired == NULL) {
6180 r->out.rpc_status = talloc_zero(r, WERROR);
6181 if (r->out.rpc_status == NULL) {
6186 r->out.result = _clusapi_NodeResourceControl(p, r);
6188 if (p->fault_state) {
6190 /* Return true here, srv_pipe_hnd.c will take care */
6194 if (DEBUGLEVEL >= 10) {
6195 NDR_PRINT_FUNCTION_DEBUG(clusapi_NodeResourceControl, NDR_OUT | NDR_SET_VALUES, r);
6198 push = ndr_push_init_ctx(r);
6205 * carry over the pointer count to the reply in case we are
6206 * using full pointer. See NDR specification for full pointers
6208 push->ptr_count = pull->ptr_count;
6210 ndr_err = call->ndr_push(push, NDR_OUT, r);
6211 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
6216 p->out_data.rdata = ndr_push_blob(push);
6217 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
6224 static bool api_clusapi_ResourceControl(struct pipes_struct *p)
6226 const struct ndr_interface_call *call;
6227 struct ndr_pull *pull;
6228 struct ndr_push *push;
6229 enum ndr_err_code ndr_err;
6230 struct clusapi_ResourceControl *r;
6232 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_RESOURCECONTROL];
6234 r = talloc(talloc_tos(), struct clusapi_ResourceControl);
6239 pull = ndr_pull_init_blob(&p->in_data.data, r);
6245 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
6247 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
6249 ndr_err = call->ndr_pull(pull, NDR_IN, r);
6250 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
6255 if (DEBUGLEVEL >= 10) {
6256 NDR_PRINT_FUNCTION_DEBUG(clusapi_ResourceControl, NDR_IN, r);
6259 ZERO_STRUCT(r->out);
6260 r->out.lpOutBuffer = talloc_zero_array(r, uint8_t, r->in.nOutBufferSize);
6261 if (r->out.lpOutBuffer == NULL) {
6266 r->out.lpBytesReturned = talloc_zero(r, uint32_t);
6267 if (r->out.lpBytesReturned == NULL) {
6272 r->out.lpcbRequired = talloc_zero(r, uint32_t);
6273 if (r->out.lpcbRequired == NULL) {
6278 r->out.rpc_status = talloc_zero(r, WERROR);
6279 if (r->out.rpc_status == NULL) {
6284 r->out.result = _clusapi_ResourceControl(p, r);
6286 if (p->fault_state) {
6288 /* Return true here, srv_pipe_hnd.c will take care */
6292 if (DEBUGLEVEL >= 10) {
6293 NDR_PRINT_FUNCTION_DEBUG(clusapi_ResourceControl, NDR_OUT | NDR_SET_VALUES, r);
6296 push = ndr_push_init_ctx(r);
6303 * carry over the pointer count to the reply in case we are
6304 * using full pointer. See NDR specification for full pointers
6306 push->ptr_count = pull->ptr_count;
6308 ndr_err = call->ndr_push(push, NDR_OUT, r);
6309 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
6314 p->out_data.rdata = ndr_push_blob(push);
6315 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
6322 static bool api_clusapi_NodeResourceTypeControl(struct pipes_struct *p)
6324 const struct ndr_interface_call *call;
6325 struct ndr_pull *pull;
6326 struct ndr_push *push;
6327 enum ndr_err_code ndr_err;
6328 struct clusapi_NodeResourceTypeControl *r;
6330 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_NODERESOURCETYPECONTROL];
6332 r = talloc(talloc_tos(), struct clusapi_NodeResourceTypeControl);
6337 pull = ndr_pull_init_blob(&p->in_data.data, r);
6343 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
6345 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
6347 ndr_err = call->ndr_pull(pull, NDR_IN, r);
6348 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
6353 if (DEBUGLEVEL >= 10) {
6354 NDR_PRINT_FUNCTION_DEBUG(clusapi_NodeResourceTypeControl, NDR_IN, r);
6357 ZERO_STRUCT(r->out);
6358 r->out.lpOutBuffer = talloc_zero_array(r, uint8_t, r->in.nOutBufferSize);
6359 if (r->out.lpOutBuffer == NULL) {
6364 r->out.lpBytesReturned = talloc_zero(r, uint32_t);
6365 if (r->out.lpBytesReturned == NULL) {
6370 r->out.lpcbRequired = talloc_zero(r, uint32_t);
6371 if (r->out.lpcbRequired == NULL) {
6376 r->out.rpc_status = talloc_zero(r, WERROR);
6377 if (r->out.rpc_status == NULL) {
6382 r->out.result = _clusapi_NodeResourceTypeControl(p, r);
6384 if (p->fault_state) {
6386 /* Return true here, srv_pipe_hnd.c will take care */
6390 if (DEBUGLEVEL >= 10) {
6391 NDR_PRINT_FUNCTION_DEBUG(clusapi_NodeResourceTypeControl, NDR_OUT | NDR_SET_VALUES, r);
6394 push = ndr_push_init_ctx(r);
6401 * carry over the pointer count to the reply in case we are
6402 * using full pointer. See NDR specification for full pointers
6404 push->ptr_count = pull->ptr_count;
6406 ndr_err = call->ndr_push(push, NDR_OUT, r);
6407 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
6412 p->out_data.rdata = ndr_push_blob(push);
6413 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
6420 static bool api_clusapi_ResourceTypeControl(struct pipes_struct *p)
6422 const struct ndr_interface_call *call;
6423 struct ndr_pull *pull;
6424 struct ndr_push *push;
6425 enum ndr_err_code ndr_err;
6426 struct clusapi_ResourceTypeControl *r;
6428 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_RESOURCETYPECONTROL];
6430 r = talloc(talloc_tos(), struct clusapi_ResourceTypeControl);
6435 pull = ndr_pull_init_blob(&p->in_data.data, r);
6441 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
6443 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
6445 ndr_err = call->ndr_pull(pull, NDR_IN, r);
6446 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
6451 if (DEBUGLEVEL >= 10) {
6452 NDR_PRINT_FUNCTION_DEBUG(clusapi_ResourceTypeControl, NDR_IN, r);
6455 ZERO_STRUCT(r->out);
6456 r->out.lpOutBuffer = talloc_zero_array(r, uint8_t, r->in.nOutBufferSize);
6457 if (r->out.lpOutBuffer == NULL) {
6462 r->out.lpBytesReturned = talloc_zero(r, uint32_t);
6463 if (r->out.lpBytesReturned == NULL) {
6468 r->out.lpcbRequired = talloc_zero(r, uint32_t);
6469 if (r->out.lpcbRequired == NULL) {
6474 r->out.rpc_status = talloc_zero(r, WERROR);
6475 if (r->out.rpc_status == NULL) {
6480 r->out.result = _clusapi_ResourceTypeControl(p, r);
6482 if (p->fault_state) {
6484 /* Return true here, srv_pipe_hnd.c will take care */
6488 if (DEBUGLEVEL >= 10) {
6489 NDR_PRINT_FUNCTION_DEBUG(clusapi_ResourceTypeControl, NDR_OUT | NDR_SET_VALUES, r);
6492 push = ndr_push_init_ctx(r);
6499 * carry over the pointer count to the reply in case we are
6500 * using full pointer. See NDR specification for full pointers
6502 push->ptr_count = pull->ptr_count;
6504 ndr_err = call->ndr_push(push, NDR_OUT, r);
6505 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
6510 p->out_data.rdata = ndr_push_blob(push);
6511 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
6518 static bool api_clusapi_NodeGroupControl(struct pipes_struct *p)
6520 const struct ndr_interface_call *call;
6521 struct ndr_pull *pull;
6522 struct ndr_push *push;
6523 enum ndr_err_code ndr_err;
6524 struct clusapi_NodeGroupControl *r;
6526 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_NODEGROUPCONTROL];
6528 r = talloc(talloc_tos(), struct clusapi_NodeGroupControl);
6533 pull = ndr_pull_init_blob(&p->in_data.data, r);
6539 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
6541 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
6543 ndr_err = call->ndr_pull(pull, NDR_IN, r);
6544 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
6549 if (DEBUGLEVEL >= 10) {
6550 NDR_PRINT_FUNCTION_DEBUG(clusapi_NodeGroupControl, NDR_IN, r);
6553 ZERO_STRUCT(r->out);
6554 r->out.lpOutBuffer = talloc_zero_array(r, uint8_t, r->in.nOutBufferSize);
6555 if (r->out.lpOutBuffer == NULL) {
6560 r->out.lpBytesReturned = talloc_zero(r, uint32_t);
6561 if (r->out.lpBytesReturned == NULL) {
6566 r->out.lpcbRequired = talloc_zero(r, uint32_t);
6567 if (r->out.lpcbRequired == NULL) {
6572 r->out.rpc_status = talloc_zero(r, WERROR);
6573 if (r->out.rpc_status == NULL) {
6578 r->out.result = _clusapi_NodeGroupControl(p, r);
6580 if (p->fault_state) {
6582 /* Return true here, srv_pipe_hnd.c will take care */
6586 if (DEBUGLEVEL >= 10) {
6587 NDR_PRINT_FUNCTION_DEBUG(clusapi_NodeGroupControl, NDR_OUT | NDR_SET_VALUES, r);
6590 push = ndr_push_init_ctx(r);
6597 * carry over the pointer count to the reply in case we are
6598 * using full pointer. See NDR specification for full pointers
6600 push->ptr_count = pull->ptr_count;
6602 ndr_err = call->ndr_push(push, NDR_OUT, r);
6603 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
6608 p->out_data.rdata = ndr_push_blob(push);
6609 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
6616 static bool api_clusapi_GroupControl(struct pipes_struct *p)
6618 const struct ndr_interface_call *call;
6619 struct ndr_pull *pull;
6620 struct ndr_push *push;
6621 enum ndr_err_code ndr_err;
6622 struct clusapi_GroupControl *r;
6624 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_GROUPCONTROL];
6626 r = talloc(talloc_tos(), struct clusapi_GroupControl);
6631 pull = ndr_pull_init_blob(&p->in_data.data, r);
6637 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
6639 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
6641 ndr_err = call->ndr_pull(pull, NDR_IN, r);
6642 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
6647 if (DEBUGLEVEL >= 10) {
6648 NDR_PRINT_FUNCTION_DEBUG(clusapi_GroupControl, NDR_IN, r);
6651 ZERO_STRUCT(r->out);
6652 r->out.lpOutBuffer = talloc_zero_array(r, uint8_t, r->in.nOutBufferSize);
6653 if (r->out.lpOutBuffer == NULL) {
6658 r->out.lpBytesReturned = talloc_zero(r, uint32_t);
6659 if (r->out.lpBytesReturned == NULL) {
6664 r->out.lpcbRequired = talloc_zero(r, uint32_t);
6665 if (r->out.lpcbRequired == NULL) {
6670 r->out.rpc_status = talloc_zero(r, WERROR);
6671 if (r->out.rpc_status == NULL) {
6676 r->out.result = _clusapi_GroupControl(p, r);
6678 if (p->fault_state) {
6680 /* Return true here, srv_pipe_hnd.c will take care */
6684 if (DEBUGLEVEL >= 10) {
6685 NDR_PRINT_FUNCTION_DEBUG(clusapi_GroupControl, NDR_OUT | NDR_SET_VALUES, r);
6688 push = ndr_push_init_ctx(r);
6695 * carry over the pointer count to the reply in case we are
6696 * using full pointer. See NDR specification for full pointers
6698 push->ptr_count = pull->ptr_count;
6700 ndr_err = call->ndr_push(push, NDR_OUT, r);
6701 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
6706 p->out_data.rdata = ndr_push_blob(push);
6707 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
6714 static bool api_clusapi_NodeNodeControl(struct pipes_struct *p)
6716 const struct ndr_interface_call *call;
6717 struct ndr_pull *pull;
6718 struct ndr_push *push;
6719 enum ndr_err_code ndr_err;
6720 struct clusapi_NodeNodeControl *r;
6722 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_NODENODECONTROL];
6724 r = talloc(talloc_tos(), struct clusapi_NodeNodeControl);
6729 pull = ndr_pull_init_blob(&p->in_data.data, r);
6735 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
6737 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
6739 ndr_err = call->ndr_pull(pull, NDR_IN, r);
6740 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
6745 if (DEBUGLEVEL >= 10) {
6746 NDR_PRINT_FUNCTION_DEBUG(clusapi_NodeNodeControl, NDR_IN, r);
6749 ZERO_STRUCT(r->out);
6750 r->out.lpOutBuffer = talloc_zero_array(r, uint8_t, r->in.nOutBufferSize);
6751 if (r->out.lpOutBuffer == NULL) {
6756 r->out.lpBytesReturned = talloc_zero(r, uint32_t);
6757 if (r->out.lpBytesReturned == NULL) {
6762 r->out.lpcbRequired = talloc_zero(r, uint32_t);
6763 if (r->out.lpcbRequired == NULL) {
6768 r->out.rpc_status = talloc_zero(r, WERROR);
6769 if (r->out.rpc_status == NULL) {
6774 r->out.result = _clusapi_NodeNodeControl(p, r);
6776 if (p->fault_state) {
6778 /* Return true here, srv_pipe_hnd.c will take care */
6782 if (DEBUGLEVEL >= 10) {
6783 NDR_PRINT_FUNCTION_DEBUG(clusapi_NodeNodeControl, NDR_OUT | NDR_SET_VALUES, r);
6786 push = ndr_push_init_ctx(r);
6793 * carry over the pointer count to the reply in case we are
6794 * using full pointer. See NDR specification for full pointers
6796 push->ptr_count = pull->ptr_count;
6798 ndr_err = call->ndr_push(push, NDR_OUT, r);
6799 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
6804 p->out_data.rdata = ndr_push_blob(push);
6805 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
6812 static bool api_clusapi_NodeControl(struct pipes_struct *p)
6814 const struct ndr_interface_call *call;
6815 struct ndr_pull *pull;
6816 struct ndr_push *push;
6817 enum ndr_err_code ndr_err;
6818 struct clusapi_NodeControl *r;
6820 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_NODECONTROL];
6822 r = talloc(talloc_tos(), struct clusapi_NodeControl);
6827 pull = ndr_pull_init_blob(&p->in_data.data, r);
6833 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
6835 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
6837 ndr_err = call->ndr_pull(pull, NDR_IN, r);
6838 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
6843 if (DEBUGLEVEL >= 10) {
6844 NDR_PRINT_FUNCTION_DEBUG(clusapi_NodeControl, NDR_IN, r);
6847 ZERO_STRUCT(r->out);
6848 r->out.lpOutBuffer = talloc_zero_array(r, uint8_t, r->in.nOutBufferSize);
6849 if (r->out.lpOutBuffer == NULL) {
6854 r->out.lpBytesReturned = talloc_zero(r, uint32_t);
6855 if (r->out.lpBytesReturned == NULL) {
6860 r->out.lpcbRequired = talloc_zero(r, uint32_t);
6861 if (r->out.lpcbRequired == NULL) {
6866 r->out.rpc_status = talloc_zero(r, WERROR);
6867 if (r->out.rpc_status == NULL) {
6872 r->out.result = _clusapi_NodeControl(p, r);
6874 if (p->fault_state) {
6876 /* Return true here, srv_pipe_hnd.c will take care */
6880 if (DEBUGLEVEL >= 10) {
6881 NDR_PRINT_FUNCTION_DEBUG(clusapi_NodeControl, NDR_OUT | NDR_SET_VALUES, r);
6884 push = ndr_push_init_ctx(r);
6891 * carry over the pointer count to the reply in case we are
6892 * using full pointer. See NDR specification for full pointers
6894 push->ptr_count = pull->ptr_count;
6896 ndr_err = call->ndr_push(push, NDR_OUT, r);
6897 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
6902 p->out_data.rdata = ndr_push_blob(push);
6903 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
6910 static bool api_Opnum80NotUsedOnWire(struct pipes_struct *p)
6912 const struct ndr_interface_call *call;
6913 struct ndr_pull *pull;
6914 struct ndr_push *push;
6915 enum ndr_err_code ndr_err;
6916 struct Opnum80NotUsedOnWire *r;
6918 call = &ndr_table_clusapi.calls[NDR_OPNUM80NOTUSEDONWIRE];
6920 r = talloc(talloc_tos(), struct Opnum80NotUsedOnWire);
6925 pull = ndr_pull_init_blob(&p->in_data.data, r);
6931 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
6933 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
6935 ndr_err = call->ndr_pull(pull, NDR_IN, r);
6936 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
6941 if (DEBUGLEVEL >= 10) {
6942 NDR_PRINT_FUNCTION_DEBUG(Opnum80NotUsedOnWire, NDR_IN, r);
6945 r->out.result = _Opnum80NotUsedOnWire(p, r);
6947 if (p->fault_state) {
6949 /* Return true here, srv_pipe_hnd.c will take care */
6953 if (DEBUGLEVEL >= 10) {
6954 NDR_PRINT_FUNCTION_DEBUG(Opnum80NotUsedOnWire, NDR_OUT | NDR_SET_VALUES, r);
6957 push = ndr_push_init_ctx(r);
6964 * carry over the pointer count to the reply in case we are
6965 * using full pointer. See NDR specification for full pointers
6967 push->ptr_count = pull->ptr_count;
6969 ndr_err = call->ndr_push(push, NDR_OUT, r);
6970 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
6975 p->out_data.rdata = ndr_push_blob(push);
6976 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
6983 static bool api_clusapi_OpenNetwork(struct pipes_struct *p)
6985 const struct ndr_interface_call *call;
6986 struct ndr_pull *pull;
6987 struct ndr_push *push;
6988 enum ndr_err_code ndr_err;
6989 struct clusapi_OpenNetwork *r;
6991 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_OPENNETWORK];
6993 r = talloc(talloc_tos(), struct clusapi_OpenNetwork);
6998 pull = ndr_pull_init_blob(&p->in_data.data, r);
7004 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
7006 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
7008 ndr_err = call->ndr_pull(pull, NDR_IN, r);
7009 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
7014 if (DEBUGLEVEL >= 10) {
7015 NDR_PRINT_FUNCTION_DEBUG(clusapi_OpenNetwork, NDR_IN, r);
7018 ZERO_STRUCT(r->out);
7019 r->out.Status = talloc_zero(r, WERROR);
7020 if (r->out.Status == NULL) {
7025 r->out.rpc_status = talloc_zero(r, WERROR);
7026 if (r->out.rpc_status == NULL) {
7031 r->out.hNetwork = talloc_zero(r, struct policy_handle);
7032 if (r->out.hNetwork == NULL) {
7037 _clusapi_OpenNetwork(p, r);
7039 if (p->fault_state) {
7041 /* Return true here, srv_pipe_hnd.c will take care */
7045 if (DEBUGLEVEL >= 10) {
7046 NDR_PRINT_FUNCTION_DEBUG(clusapi_OpenNetwork, NDR_OUT | NDR_SET_VALUES, r);
7049 push = ndr_push_init_ctx(r);
7056 * carry over the pointer count to the reply in case we are
7057 * using full pointer. See NDR specification for full pointers
7059 push->ptr_count = pull->ptr_count;
7061 ndr_err = call->ndr_push(push, NDR_OUT, r);
7062 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
7067 p->out_data.rdata = ndr_push_blob(push);
7068 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
7075 static bool api_clusapi_CloseNetwork(struct pipes_struct *p)
7077 const struct ndr_interface_call *call;
7078 struct ndr_pull *pull;
7079 struct ndr_push *push;
7080 enum ndr_err_code ndr_err;
7081 struct clusapi_CloseNetwork *r;
7083 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_CLOSENETWORK];
7085 r = talloc(talloc_tos(), struct clusapi_CloseNetwork);
7090 pull = ndr_pull_init_blob(&p->in_data.data, r);
7096 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
7098 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
7100 ndr_err = call->ndr_pull(pull, NDR_IN, r);
7101 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
7106 if (DEBUGLEVEL >= 10) {
7107 NDR_PRINT_FUNCTION_DEBUG(clusapi_CloseNetwork, NDR_IN, r);
7110 ZERO_STRUCT(r->out);
7111 r->out.Network = r->in.Network;
7112 r->out.result = _clusapi_CloseNetwork(p, r);
7114 if (p->fault_state) {
7116 /* Return true here, srv_pipe_hnd.c will take care */
7120 if (DEBUGLEVEL >= 10) {
7121 NDR_PRINT_FUNCTION_DEBUG(clusapi_CloseNetwork, NDR_OUT | NDR_SET_VALUES, r);
7124 push = ndr_push_init_ctx(r);
7131 * carry over the pointer count to the reply in case we are
7132 * using full pointer. See NDR specification for full pointers
7134 push->ptr_count = pull->ptr_count;
7136 ndr_err = call->ndr_push(push, NDR_OUT, r);
7137 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
7142 p->out_data.rdata = ndr_push_blob(push);
7143 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
7150 static bool api_clusapi_GetNetworkState(struct pipes_struct *p)
7152 const struct ndr_interface_call *call;
7153 struct ndr_pull *pull;
7154 struct ndr_push *push;
7155 enum ndr_err_code ndr_err;
7156 struct clusapi_GetNetworkState *r;
7158 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_GETNETWORKSTATE];
7160 r = talloc(talloc_tos(), struct clusapi_GetNetworkState);
7165 pull = ndr_pull_init_blob(&p->in_data.data, r);
7171 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
7173 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
7175 ndr_err = call->ndr_pull(pull, NDR_IN, r);
7176 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
7181 if (DEBUGLEVEL >= 10) {
7182 NDR_PRINT_FUNCTION_DEBUG(clusapi_GetNetworkState, NDR_IN, r);
7185 ZERO_STRUCT(r->out);
7186 r->out.State = talloc_zero(r, enum clusapi_ClusterNetworkState);
7187 if (r->out.State == NULL) {
7192 r->out.rpc_status = talloc_zero(r, WERROR);
7193 if (r->out.rpc_status == NULL) {
7198 r->out.result = _clusapi_GetNetworkState(p, r);
7200 if (p->fault_state) {
7202 /* Return true here, srv_pipe_hnd.c will take care */
7206 if (DEBUGLEVEL >= 10) {
7207 NDR_PRINT_FUNCTION_DEBUG(clusapi_GetNetworkState, NDR_OUT | NDR_SET_VALUES, r);
7210 push = ndr_push_init_ctx(r);
7217 * carry over the pointer count to the reply in case we are
7218 * using full pointer. See NDR specification for full pointers
7220 push->ptr_count = pull->ptr_count;
7222 ndr_err = call->ndr_push(push, NDR_OUT, r);
7223 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
7228 p->out_data.rdata = ndr_push_blob(push);
7229 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
7236 static bool api_clusapi_SetNetworkName(struct pipes_struct *p)
7238 const struct ndr_interface_call *call;
7239 struct ndr_pull *pull;
7240 struct ndr_push *push;
7241 enum ndr_err_code ndr_err;
7242 struct clusapi_SetNetworkName *r;
7244 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_SETNETWORKNAME];
7246 r = talloc(talloc_tos(), struct clusapi_SetNetworkName);
7251 pull = ndr_pull_init_blob(&p->in_data.data, r);
7257 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
7259 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
7261 ndr_err = call->ndr_pull(pull, NDR_IN, r);
7262 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
7267 if (DEBUGLEVEL >= 10) {
7268 NDR_PRINT_FUNCTION_DEBUG(clusapi_SetNetworkName, NDR_IN, r);
7271 ZERO_STRUCT(r->out);
7272 r->out.rpc_status = talloc_zero(r, WERROR);
7273 if (r->out.rpc_status == NULL) {
7278 r->out.result = _clusapi_SetNetworkName(p, r);
7280 if (p->fault_state) {
7282 /* Return true here, srv_pipe_hnd.c will take care */
7286 if (DEBUGLEVEL >= 10) {
7287 NDR_PRINT_FUNCTION_DEBUG(clusapi_SetNetworkName, NDR_OUT | NDR_SET_VALUES, r);
7290 push = ndr_push_init_ctx(r);
7297 * carry over the pointer count to the reply in case we are
7298 * using full pointer. See NDR specification for full pointers
7300 push->ptr_count = pull->ptr_count;
7302 ndr_err = call->ndr_push(push, NDR_OUT, r);
7303 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
7308 p->out_data.rdata = ndr_push_blob(push);
7309 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
7316 static bool api_clusapi_CreateNetworkEnum(struct pipes_struct *p)
7318 const struct ndr_interface_call *call;
7319 struct ndr_pull *pull;
7320 struct ndr_push *push;
7321 enum ndr_err_code ndr_err;
7322 struct clusapi_CreateNetworkEnum *r;
7324 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_CREATENETWORKENUM];
7326 r = talloc(talloc_tos(), struct clusapi_CreateNetworkEnum);
7331 pull = ndr_pull_init_blob(&p->in_data.data, r);
7337 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
7339 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
7341 ndr_err = call->ndr_pull(pull, NDR_IN, r);
7342 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
7347 if (DEBUGLEVEL >= 10) {
7348 NDR_PRINT_FUNCTION_DEBUG(clusapi_CreateNetworkEnum, NDR_IN, r);
7351 ZERO_STRUCT(r->out);
7352 r->out.ReturnEnum = talloc_zero(r, struct ENUM_LIST *);
7353 if (r->out.ReturnEnum == NULL) {
7358 r->out.rpc_status = talloc_zero(r, WERROR);
7359 if (r->out.rpc_status == NULL) {
7364 r->out.result = _clusapi_CreateNetworkEnum(p, r);
7366 if (p->fault_state) {
7368 /* Return true here, srv_pipe_hnd.c will take care */
7372 if (DEBUGLEVEL >= 10) {
7373 NDR_PRINT_FUNCTION_DEBUG(clusapi_CreateNetworkEnum, NDR_OUT | NDR_SET_VALUES, r);
7376 push = ndr_push_init_ctx(r);
7383 * carry over the pointer count to the reply in case we are
7384 * using full pointer. See NDR specification for full pointers
7386 push->ptr_count = pull->ptr_count;
7388 ndr_err = call->ndr_push(push, NDR_OUT, r);
7389 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
7394 p->out_data.rdata = ndr_push_blob(push);
7395 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
7402 static bool api_clusapi_GetNetworkId(struct pipes_struct *p)
7404 const struct ndr_interface_call *call;
7405 struct ndr_pull *pull;
7406 struct ndr_push *push;
7407 enum ndr_err_code ndr_err;
7408 struct clusapi_GetNetworkId *r;
7410 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_GETNETWORKID];
7412 r = talloc(talloc_tos(), struct clusapi_GetNetworkId);
7417 pull = ndr_pull_init_blob(&p->in_data.data, r);
7423 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
7425 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
7427 ndr_err = call->ndr_pull(pull, NDR_IN, r);
7428 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
7433 if (DEBUGLEVEL >= 10) {
7434 NDR_PRINT_FUNCTION_DEBUG(clusapi_GetNetworkId, NDR_IN, r);
7437 ZERO_STRUCT(r->out);
7438 r->out.pGuid = talloc_zero(r, const char *);
7439 if (r->out.pGuid == NULL) {
7444 r->out.rpc_status = talloc_zero(r, WERROR);
7445 if (r->out.rpc_status == NULL) {
7450 r->out.result = _clusapi_GetNetworkId(p, r);
7452 if (p->fault_state) {
7454 /* Return true here, srv_pipe_hnd.c will take care */
7458 if (DEBUGLEVEL >= 10) {
7459 NDR_PRINT_FUNCTION_DEBUG(clusapi_GetNetworkId, NDR_OUT | NDR_SET_VALUES, r);
7462 push = ndr_push_init_ctx(r);
7469 * carry over the pointer count to the reply in case we are
7470 * using full pointer. See NDR specification for full pointers
7472 push->ptr_count = pull->ptr_count;
7474 ndr_err = call->ndr_push(push, NDR_OUT, r);
7475 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
7480 p->out_data.rdata = ndr_push_blob(push);
7481 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
7488 static bool api_clusapi_SetNetworkPriorityOrder(struct pipes_struct *p)
7490 const struct ndr_interface_call *call;
7491 struct ndr_pull *pull;
7492 struct ndr_push *push;
7493 enum ndr_err_code ndr_err;
7494 struct clusapi_SetNetworkPriorityOrder *r;
7496 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_SETNETWORKPRIORITYORDER];
7498 r = talloc(talloc_tos(), struct clusapi_SetNetworkPriorityOrder);
7503 pull = ndr_pull_init_blob(&p->in_data.data, r);
7509 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
7511 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
7513 ndr_err = call->ndr_pull(pull, NDR_IN, r);
7514 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
7519 if (DEBUGLEVEL >= 10) {
7520 NDR_PRINT_FUNCTION_DEBUG(clusapi_SetNetworkPriorityOrder, NDR_IN, r);
7523 ZERO_STRUCT(r->out);
7524 r->out.rpc_status = talloc_zero(r, WERROR);
7525 if (r->out.rpc_status == NULL) {
7530 r->out.result = _clusapi_SetNetworkPriorityOrder(p, r);
7532 if (p->fault_state) {
7534 /* Return true here, srv_pipe_hnd.c will take care */
7538 if (DEBUGLEVEL >= 10) {
7539 NDR_PRINT_FUNCTION_DEBUG(clusapi_SetNetworkPriorityOrder, NDR_OUT | NDR_SET_VALUES, r);
7542 push = ndr_push_init_ctx(r);
7549 * carry over the pointer count to the reply in case we are
7550 * using full pointer. See NDR specification for full pointers
7552 push->ptr_count = pull->ptr_count;
7554 ndr_err = call->ndr_push(push, NDR_OUT, r);
7555 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
7560 p->out_data.rdata = ndr_push_blob(push);
7561 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
7568 static bool api_clusapi_NodeNetworkControl(struct pipes_struct *p)
7570 const struct ndr_interface_call *call;
7571 struct ndr_pull *pull;
7572 struct ndr_push *push;
7573 enum ndr_err_code ndr_err;
7574 struct clusapi_NodeNetworkControl *r;
7576 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_NODENETWORKCONTROL];
7578 r = talloc(talloc_tos(), struct clusapi_NodeNetworkControl);
7583 pull = ndr_pull_init_blob(&p->in_data.data, r);
7589 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
7591 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
7593 ndr_err = call->ndr_pull(pull, NDR_IN, r);
7594 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
7599 if (DEBUGLEVEL >= 10) {
7600 NDR_PRINT_FUNCTION_DEBUG(clusapi_NodeNetworkControl, NDR_IN, r);
7603 ZERO_STRUCT(r->out);
7604 r->out.lpOutBuffer = talloc_zero_array(r, uint8_t, r->in.nOutBufferSize);
7605 if (r->out.lpOutBuffer == NULL) {
7610 r->out.lpBytesReturned = talloc_zero(r, uint32_t);
7611 if (r->out.lpBytesReturned == NULL) {
7616 r->out.lpcbRequired = talloc_zero(r, uint32_t);
7617 if (r->out.lpcbRequired == NULL) {
7622 r->out.rpc_status = talloc_zero(r, WERROR);
7623 if (r->out.rpc_status == NULL) {
7628 r->out.result = _clusapi_NodeNetworkControl(p, r);
7630 if (p->fault_state) {
7632 /* Return true here, srv_pipe_hnd.c will take care */
7636 if (DEBUGLEVEL >= 10) {
7637 NDR_PRINT_FUNCTION_DEBUG(clusapi_NodeNetworkControl, NDR_OUT | NDR_SET_VALUES, r);
7640 push = ndr_push_init_ctx(r);
7647 * carry over the pointer count to the reply in case we are
7648 * using full pointer. See NDR specification for full pointers
7650 push->ptr_count = pull->ptr_count;
7652 ndr_err = call->ndr_push(push, NDR_OUT, r);
7653 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
7658 p->out_data.rdata = ndr_push_blob(push);
7659 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
7666 static bool api_clusapi_NetworkControl(struct pipes_struct *p)
7668 const struct ndr_interface_call *call;
7669 struct ndr_pull *pull;
7670 struct ndr_push *push;
7671 enum ndr_err_code ndr_err;
7672 struct clusapi_NetworkControl *r;
7674 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_NETWORKCONTROL];
7676 r = talloc(talloc_tos(), struct clusapi_NetworkControl);
7681 pull = ndr_pull_init_blob(&p->in_data.data, r);
7687 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
7689 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
7691 ndr_err = call->ndr_pull(pull, NDR_IN, r);
7692 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
7697 if (DEBUGLEVEL >= 10) {
7698 NDR_PRINT_FUNCTION_DEBUG(clusapi_NetworkControl, NDR_IN, r);
7701 ZERO_STRUCT(r->out);
7702 r->out.lpOutBuffer = talloc_zero_array(r, uint8_t, r->in.nOutBufferSize);
7703 if (r->out.lpOutBuffer == NULL) {
7708 r->out.lpBytesReturned = talloc_zero(r, uint32_t);
7709 if (r->out.lpBytesReturned == NULL) {
7714 r->out.lpcbRequired = talloc_zero(r, uint32_t);
7715 if (r->out.lpcbRequired == NULL) {
7720 r->out.rpc_status = talloc_zero(r, WERROR);
7721 if (r->out.rpc_status == NULL) {
7726 r->out.result = _clusapi_NetworkControl(p, r);
7728 if (p->fault_state) {
7730 /* Return true here, srv_pipe_hnd.c will take care */
7734 if (DEBUGLEVEL >= 10) {
7735 NDR_PRINT_FUNCTION_DEBUG(clusapi_NetworkControl, NDR_OUT | NDR_SET_VALUES, r);
7738 push = ndr_push_init_ctx(r);
7745 * carry over the pointer count to the reply in case we are
7746 * using full pointer. See NDR specification for full pointers
7748 push->ptr_count = pull->ptr_count;
7750 ndr_err = call->ndr_push(push, NDR_OUT, r);
7751 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
7756 p->out_data.rdata = ndr_push_blob(push);
7757 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
7764 static bool api_clusapi_AddNotifyNetwork(struct pipes_struct *p)
7766 const struct ndr_interface_call *call;
7767 struct ndr_pull *pull;
7768 struct ndr_push *push;
7769 enum ndr_err_code ndr_err;
7770 struct clusapi_AddNotifyNetwork *r;
7772 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_ADDNOTIFYNETWORK];
7774 r = talloc(talloc_tos(), struct clusapi_AddNotifyNetwork);
7779 pull = ndr_pull_init_blob(&p->in_data.data, r);
7785 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
7787 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
7789 ndr_err = call->ndr_pull(pull, NDR_IN, r);
7790 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
7795 if (DEBUGLEVEL >= 10) {
7796 NDR_PRINT_FUNCTION_DEBUG(clusapi_AddNotifyNetwork, NDR_IN, r);
7799 ZERO_STRUCT(r->out);
7800 r->out.dwStateSequence = talloc_zero(r, uint32_t);
7801 if (r->out.dwStateSequence == NULL) {
7806 r->out.rpc_status = talloc_zero(r, WERROR);
7807 if (r->out.rpc_status == NULL) {
7812 r->out.result = _clusapi_AddNotifyNetwork(p, r);
7814 if (p->fault_state) {
7816 /* Return true here, srv_pipe_hnd.c will take care */
7820 if (DEBUGLEVEL >= 10) {
7821 NDR_PRINT_FUNCTION_DEBUG(clusapi_AddNotifyNetwork, NDR_OUT | NDR_SET_VALUES, r);
7824 push = ndr_push_init_ctx(r);
7831 * carry over the pointer count to the reply in case we are
7832 * using full pointer. See NDR specification for full pointers
7834 push->ptr_count = pull->ptr_count;
7836 ndr_err = call->ndr_push(push, NDR_OUT, r);
7837 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
7842 p->out_data.rdata = ndr_push_blob(push);
7843 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
7850 static bool api_clusapi_ReAddNotifyNetwork(struct pipes_struct *p)
7852 const struct ndr_interface_call *call;
7853 struct ndr_pull *pull;
7854 struct ndr_push *push;
7855 enum ndr_err_code ndr_err;
7856 struct clusapi_ReAddNotifyNetwork *r;
7858 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_READDNOTIFYNETWORK];
7860 r = talloc(talloc_tos(), struct clusapi_ReAddNotifyNetwork);
7865 pull = ndr_pull_init_blob(&p->in_data.data, r);
7871 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
7873 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
7875 ndr_err = call->ndr_pull(pull, NDR_IN, r);
7876 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
7881 if (DEBUGLEVEL >= 10) {
7882 NDR_PRINT_FUNCTION_DEBUG(clusapi_ReAddNotifyNetwork, NDR_IN, r);
7885 ZERO_STRUCT(r->out);
7886 r->out.rpc_status = talloc_zero(r, WERROR);
7887 if (r->out.rpc_status == NULL) {
7892 r->out.result = _clusapi_ReAddNotifyNetwork(p, r);
7894 if (p->fault_state) {
7896 /* Return true here, srv_pipe_hnd.c will take care */
7900 if (DEBUGLEVEL >= 10) {
7901 NDR_PRINT_FUNCTION_DEBUG(clusapi_ReAddNotifyNetwork, NDR_OUT | NDR_SET_VALUES, r);
7904 push = ndr_push_init_ctx(r);
7911 * carry over the pointer count to the reply in case we are
7912 * using full pointer. See NDR specification for full pointers
7914 push->ptr_count = pull->ptr_count;
7916 ndr_err = call->ndr_push(push, NDR_OUT, r);
7917 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
7922 p->out_data.rdata = ndr_push_blob(push);
7923 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
7930 static bool api_clusapi_OpenNetInterface(struct pipes_struct *p)
7932 const struct ndr_interface_call *call;
7933 struct ndr_pull *pull;
7934 struct ndr_push *push;
7935 enum ndr_err_code ndr_err;
7936 struct clusapi_OpenNetInterface *r;
7938 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_OPENNETINTERFACE];
7940 r = talloc(talloc_tos(), struct clusapi_OpenNetInterface);
7945 pull = ndr_pull_init_blob(&p->in_data.data, r);
7951 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
7953 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
7955 ndr_err = call->ndr_pull(pull, NDR_IN, r);
7956 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
7961 if (DEBUGLEVEL >= 10) {
7962 NDR_PRINT_FUNCTION_DEBUG(clusapi_OpenNetInterface, NDR_IN, r);
7965 ZERO_STRUCT(r->out);
7966 r->out.Status = talloc_zero(r, WERROR);
7967 if (r->out.Status == NULL) {
7972 r->out.rpc_status = talloc_zero(r, WERROR);
7973 if (r->out.rpc_status == NULL) {
7978 r->out.hNetInterface = talloc_zero(r, struct policy_handle);
7979 if (r->out.hNetInterface == NULL) {
7984 _clusapi_OpenNetInterface(p, r);
7986 if (p->fault_state) {
7988 /* Return true here, srv_pipe_hnd.c will take care */
7992 if (DEBUGLEVEL >= 10) {
7993 NDR_PRINT_FUNCTION_DEBUG(clusapi_OpenNetInterface, NDR_OUT | NDR_SET_VALUES, r);
7996 push = ndr_push_init_ctx(r);
8003 * carry over the pointer count to the reply in case we are
8004 * using full pointer. See NDR specification for full pointers
8006 push->ptr_count = pull->ptr_count;
8008 ndr_err = call->ndr_push(push, NDR_OUT, r);
8009 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
8014 p->out_data.rdata = ndr_push_blob(push);
8015 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
8022 static bool api_clusapi_CloseNetInterface(struct pipes_struct *p)
8024 const struct ndr_interface_call *call;
8025 struct ndr_pull *pull;
8026 struct ndr_push *push;
8027 enum ndr_err_code ndr_err;
8028 struct clusapi_CloseNetInterface *r;
8030 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_CLOSENETINTERFACE];
8032 r = talloc(talloc_tos(), struct clusapi_CloseNetInterface);
8037 pull = ndr_pull_init_blob(&p->in_data.data, r);
8043 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
8045 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
8047 ndr_err = call->ndr_pull(pull, NDR_IN, r);
8048 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
8053 if (DEBUGLEVEL >= 10) {
8054 NDR_PRINT_FUNCTION_DEBUG(clusapi_CloseNetInterface, NDR_IN, r);
8057 ZERO_STRUCT(r->out);
8058 r->out.NetInterface = r->in.NetInterface;
8059 r->out.result = _clusapi_CloseNetInterface(p, r);
8061 if (p->fault_state) {
8063 /* Return true here, srv_pipe_hnd.c will take care */
8067 if (DEBUGLEVEL >= 10) {
8068 NDR_PRINT_FUNCTION_DEBUG(clusapi_CloseNetInterface, NDR_OUT | NDR_SET_VALUES, r);
8071 push = ndr_push_init_ctx(r);
8078 * carry over the pointer count to the reply in case we are
8079 * using full pointer. See NDR specification for full pointers
8081 push->ptr_count = pull->ptr_count;
8083 ndr_err = call->ndr_push(push, NDR_OUT, r);
8084 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
8089 p->out_data.rdata = ndr_push_blob(push);
8090 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
8097 static bool api_clusapi_GetNetInterfaceState(struct pipes_struct *p)
8099 const struct ndr_interface_call *call;
8100 struct ndr_pull *pull;
8101 struct ndr_push *push;
8102 enum ndr_err_code ndr_err;
8103 struct clusapi_GetNetInterfaceState *r;
8105 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_GETNETINTERFACESTATE];
8107 r = talloc(talloc_tos(), struct clusapi_GetNetInterfaceState);
8112 pull = ndr_pull_init_blob(&p->in_data.data, r);
8118 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
8120 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
8122 ndr_err = call->ndr_pull(pull, NDR_IN, r);
8123 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
8128 if (DEBUGLEVEL >= 10) {
8129 NDR_PRINT_FUNCTION_DEBUG(clusapi_GetNetInterfaceState, NDR_IN, r);
8132 ZERO_STRUCT(r->out);
8133 r->out.State = talloc_zero(r, enum clusapi_ClusterNetInterfaceState);
8134 if (r->out.State == NULL) {
8139 r->out.rpc_status = talloc_zero(r, WERROR);
8140 if (r->out.rpc_status == NULL) {
8145 r->out.result = _clusapi_GetNetInterfaceState(p, r);
8147 if (p->fault_state) {
8149 /* Return true here, srv_pipe_hnd.c will take care */
8153 if (DEBUGLEVEL >= 10) {
8154 NDR_PRINT_FUNCTION_DEBUG(clusapi_GetNetInterfaceState, NDR_OUT | NDR_SET_VALUES, r);
8157 push = ndr_push_init_ctx(r);
8164 * carry over the pointer count to the reply in case we are
8165 * using full pointer. See NDR specification for full pointers
8167 push->ptr_count = pull->ptr_count;
8169 ndr_err = call->ndr_push(push, NDR_OUT, r);
8170 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
8175 p->out_data.rdata = ndr_push_blob(push);
8176 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
8183 static bool api_clusapi_GetNetInterface(struct pipes_struct *p)
8185 const struct ndr_interface_call *call;
8186 struct ndr_pull *pull;
8187 struct ndr_push *push;
8188 enum ndr_err_code ndr_err;
8189 struct clusapi_GetNetInterface *r;
8191 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_GETNETINTERFACE];
8193 r = talloc(talloc_tos(), struct clusapi_GetNetInterface);
8198 pull = ndr_pull_init_blob(&p->in_data.data, r);
8204 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
8206 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
8208 ndr_err = call->ndr_pull(pull, NDR_IN, r);
8209 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
8214 if (DEBUGLEVEL >= 10) {
8215 NDR_PRINT_FUNCTION_DEBUG(clusapi_GetNetInterface, NDR_IN, r);
8218 ZERO_STRUCT(r->out);
8219 r->out.lppszInterfaceName = talloc_zero(r, const char *);
8220 if (r->out.lppszInterfaceName == NULL) {
8225 r->out.rpc_status = talloc_zero(r, WERROR);
8226 if (r->out.rpc_status == NULL) {
8231 r->out.result = _clusapi_GetNetInterface(p, r);
8233 if (p->fault_state) {
8235 /* Return true here, srv_pipe_hnd.c will take care */
8239 if (DEBUGLEVEL >= 10) {
8240 NDR_PRINT_FUNCTION_DEBUG(clusapi_GetNetInterface, NDR_OUT | NDR_SET_VALUES, r);
8243 push = ndr_push_init_ctx(r);
8250 * carry over the pointer count to the reply in case we are
8251 * using full pointer. See NDR specification for full pointers
8253 push->ptr_count = pull->ptr_count;
8255 ndr_err = call->ndr_push(push, NDR_OUT, r);
8256 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
8261 p->out_data.rdata = ndr_push_blob(push);
8262 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
8269 static bool api_clusapi_GetNetInterfaceId(struct pipes_struct *p)
8271 const struct ndr_interface_call *call;
8272 struct ndr_pull *pull;
8273 struct ndr_push *push;
8274 enum ndr_err_code ndr_err;
8275 struct clusapi_GetNetInterfaceId *r;
8277 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_GETNETINTERFACEID];
8279 r = talloc(talloc_tos(), struct clusapi_GetNetInterfaceId);
8284 pull = ndr_pull_init_blob(&p->in_data.data, r);
8290 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
8292 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
8294 ndr_err = call->ndr_pull(pull, NDR_IN, r);
8295 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
8300 if (DEBUGLEVEL >= 10) {
8301 NDR_PRINT_FUNCTION_DEBUG(clusapi_GetNetInterfaceId, NDR_IN, r);
8304 ZERO_STRUCT(r->out);
8305 r->out.pGuid = talloc_zero(r, const char *);
8306 if (r->out.pGuid == NULL) {
8311 r->out.rpc_status = talloc_zero(r, WERROR);
8312 if (r->out.rpc_status == NULL) {
8317 r->out.result = _clusapi_GetNetInterfaceId(p, r);
8319 if (p->fault_state) {
8321 /* Return true here, srv_pipe_hnd.c will take care */
8325 if (DEBUGLEVEL >= 10) {
8326 NDR_PRINT_FUNCTION_DEBUG(clusapi_GetNetInterfaceId, NDR_OUT | NDR_SET_VALUES, r);
8329 push = ndr_push_init_ctx(r);
8336 * carry over the pointer count to the reply in case we are
8337 * using full pointer. See NDR specification for full pointers
8339 push->ptr_count = pull->ptr_count;
8341 ndr_err = call->ndr_push(push, NDR_OUT, r);
8342 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
8347 p->out_data.rdata = ndr_push_blob(push);
8348 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
8355 static bool api_clusapi_NodeNetInterfaceControl(struct pipes_struct *p)
8357 const struct ndr_interface_call *call;
8358 struct ndr_pull *pull;
8359 struct ndr_push *push;
8360 enum ndr_err_code ndr_err;
8361 struct clusapi_NodeNetInterfaceControl *r;
8363 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_NODENETINTERFACECONTROL];
8365 r = talloc(talloc_tos(), struct clusapi_NodeNetInterfaceControl);
8370 pull = ndr_pull_init_blob(&p->in_data.data, r);
8376 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
8378 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
8380 ndr_err = call->ndr_pull(pull, NDR_IN, r);
8381 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
8386 if (DEBUGLEVEL >= 10) {
8387 NDR_PRINT_FUNCTION_DEBUG(clusapi_NodeNetInterfaceControl, NDR_IN, r);
8390 ZERO_STRUCT(r->out);
8391 r->out.lpOutBuffer = talloc_zero_array(r, uint8_t, r->in.nOutBufferSize);
8392 if (r->out.lpOutBuffer == NULL) {
8397 r->out.lpBytesReturned = talloc_zero(r, uint32_t);
8398 if (r->out.lpBytesReturned == NULL) {
8403 r->out.lpcbRequired = talloc_zero(r, uint32_t);
8404 if (r->out.lpcbRequired == NULL) {
8409 r->out.rpc_status = talloc_zero(r, WERROR);
8410 if (r->out.rpc_status == NULL) {
8415 r->out.result = _clusapi_NodeNetInterfaceControl(p, r);
8417 if (p->fault_state) {
8419 /* Return true here, srv_pipe_hnd.c will take care */
8423 if (DEBUGLEVEL >= 10) {
8424 NDR_PRINT_FUNCTION_DEBUG(clusapi_NodeNetInterfaceControl, NDR_OUT | NDR_SET_VALUES, r);
8427 push = ndr_push_init_ctx(r);
8434 * carry over the pointer count to the reply in case we are
8435 * using full pointer. See NDR specification for full pointers
8437 push->ptr_count = pull->ptr_count;
8439 ndr_err = call->ndr_push(push, NDR_OUT, r);
8440 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
8445 p->out_data.rdata = ndr_push_blob(push);
8446 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
8453 static bool api_clusapi_NetInterfaceControl(struct pipes_struct *p)
8455 const struct ndr_interface_call *call;
8456 struct ndr_pull *pull;
8457 struct ndr_push *push;
8458 enum ndr_err_code ndr_err;
8459 struct clusapi_NetInterfaceControl *r;
8461 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_NETINTERFACECONTROL];
8463 r = talloc(talloc_tos(), struct clusapi_NetInterfaceControl);
8468 pull = ndr_pull_init_blob(&p->in_data.data, r);
8474 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
8476 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
8478 ndr_err = call->ndr_pull(pull, NDR_IN, r);
8479 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
8484 if (DEBUGLEVEL >= 10) {
8485 NDR_PRINT_FUNCTION_DEBUG(clusapi_NetInterfaceControl, NDR_IN, r);
8488 ZERO_STRUCT(r->out);
8489 r->out.lpOutBuffer = talloc_zero_array(r, uint8_t, r->in.nOutBufferSize);
8490 if (r->out.lpOutBuffer == NULL) {
8495 r->out.lpBytesReturned = talloc_zero(r, uint32_t);
8496 if (r->out.lpBytesReturned == NULL) {
8501 r->out.lpcbRequired = talloc_zero(r, uint32_t);
8502 if (r->out.lpcbRequired == NULL) {
8507 r->out.rpc_status = talloc_zero(r, WERROR);
8508 if (r->out.rpc_status == NULL) {
8513 r->out.result = _clusapi_NetInterfaceControl(p, r);
8515 if (p->fault_state) {
8517 /* Return true here, srv_pipe_hnd.c will take care */
8521 if (DEBUGLEVEL >= 10) {
8522 NDR_PRINT_FUNCTION_DEBUG(clusapi_NetInterfaceControl, NDR_OUT | NDR_SET_VALUES, r);
8525 push = ndr_push_init_ctx(r);
8532 * carry over the pointer count to the reply in case we are
8533 * using full pointer. See NDR specification for full pointers
8535 push->ptr_count = pull->ptr_count;
8537 ndr_err = call->ndr_push(push, NDR_OUT, r);
8538 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
8543 p->out_data.rdata = ndr_push_blob(push);
8544 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
8551 static bool api_clusapi_AddNotifyNetInterface(struct pipes_struct *p)
8553 const struct ndr_interface_call *call;
8554 struct ndr_pull *pull;
8555 struct ndr_push *push;
8556 enum ndr_err_code ndr_err;
8557 struct clusapi_AddNotifyNetInterface *r;
8559 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_ADDNOTIFYNETINTERFACE];
8561 r = talloc(talloc_tos(), struct clusapi_AddNotifyNetInterface);
8566 pull = ndr_pull_init_blob(&p->in_data.data, r);
8572 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
8574 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
8576 ndr_err = call->ndr_pull(pull, NDR_IN, r);
8577 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
8582 if (DEBUGLEVEL >= 10) {
8583 NDR_PRINT_FUNCTION_DEBUG(clusapi_AddNotifyNetInterface, NDR_IN, r);
8586 ZERO_STRUCT(r->out);
8587 r->out.dwStateSequence = talloc_zero(r, uint32_t);
8588 if (r->out.dwStateSequence == NULL) {
8593 r->out.rpc_status = talloc_zero(r, WERROR);
8594 if (r->out.rpc_status == NULL) {
8599 r->out.result = _clusapi_AddNotifyNetInterface(p, r);
8601 if (p->fault_state) {
8603 /* Return true here, srv_pipe_hnd.c will take care */
8607 if (DEBUGLEVEL >= 10) {
8608 NDR_PRINT_FUNCTION_DEBUG(clusapi_AddNotifyNetInterface, NDR_OUT | NDR_SET_VALUES, r);
8611 push = ndr_push_init_ctx(r);
8618 * carry over the pointer count to the reply in case we are
8619 * using full pointer. See NDR specification for full pointers
8621 push->ptr_count = pull->ptr_count;
8623 ndr_err = call->ndr_push(push, NDR_OUT, r);
8624 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
8629 p->out_data.rdata = ndr_push_blob(push);
8630 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
8637 static bool api_clusapi_ReAddNotifyNetInterface(struct pipes_struct *p)
8639 const struct ndr_interface_call *call;
8640 struct ndr_pull *pull;
8641 struct ndr_push *push;
8642 enum ndr_err_code ndr_err;
8643 struct clusapi_ReAddNotifyNetInterface *r;
8645 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_READDNOTIFYNETINTERFACE];
8647 r = talloc(talloc_tos(), struct clusapi_ReAddNotifyNetInterface);
8652 pull = ndr_pull_init_blob(&p->in_data.data, r);
8658 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
8660 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
8662 ndr_err = call->ndr_pull(pull, NDR_IN, r);
8663 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
8668 if (DEBUGLEVEL >= 10) {
8669 NDR_PRINT_FUNCTION_DEBUG(clusapi_ReAddNotifyNetInterface, NDR_IN, r);
8672 ZERO_STRUCT(r->out);
8673 r->out.rpc_status = talloc_zero(r, WERROR);
8674 if (r->out.rpc_status == NULL) {
8679 r->out.result = _clusapi_ReAddNotifyNetInterface(p, r);
8681 if (p->fault_state) {
8683 /* Return true here, srv_pipe_hnd.c will take care */
8687 if (DEBUGLEVEL >= 10) {
8688 NDR_PRINT_FUNCTION_DEBUG(clusapi_ReAddNotifyNetInterface, NDR_OUT | NDR_SET_VALUES, r);
8691 push = ndr_push_init_ctx(r);
8698 * carry over the pointer count to the reply in case we are
8699 * using full pointer. See NDR specification for full pointers
8701 push->ptr_count = pull->ptr_count;
8703 ndr_err = call->ndr_push(push, NDR_OUT, r);
8704 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
8709 p->out_data.rdata = ndr_push_blob(push);
8710 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
8717 static bool api_clusapi_CreateNodeEnum(struct pipes_struct *p)
8719 const struct ndr_interface_call *call;
8720 struct ndr_pull *pull;
8721 struct ndr_push *push;
8722 enum ndr_err_code ndr_err;
8723 struct clusapi_CreateNodeEnum *r;
8725 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_CREATENODEENUM];
8727 r = talloc(talloc_tos(), struct clusapi_CreateNodeEnum);
8732 pull = ndr_pull_init_blob(&p->in_data.data, r);
8738 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
8740 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
8742 ndr_err = call->ndr_pull(pull, NDR_IN, r);
8743 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
8748 if (DEBUGLEVEL >= 10) {
8749 NDR_PRINT_FUNCTION_DEBUG(clusapi_CreateNodeEnum, NDR_IN, r);
8752 ZERO_STRUCT(r->out);
8753 r->out.ReturnEnum = talloc_zero(r, struct ENUM_LIST *);
8754 if (r->out.ReturnEnum == NULL) {
8759 r->out.rpc_status = talloc_zero(r, WERROR);
8760 if (r->out.rpc_status == NULL) {
8765 r->out.result = _clusapi_CreateNodeEnum(p, r);
8767 if (p->fault_state) {
8769 /* Return true here, srv_pipe_hnd.c will take care */
8773 if (DEBUGLEVEL >= 10) {
8774 NDR_PRINT_FUNCTION_DEBUG(clusapi_CreateNodeEnum, NDR_OUT | NDR_SET_VALUES, r);
8777 push = ndr_push_init_ctx(r);
8784 * carry over the pointer count to the reply in case we are
8785 * using full pointer. See NDR specification for full pointers
8787 push->ptr_count = pull->ptr_count;
8789 ndr_err = call->ndr_push(push, NDR_OUT, r);
8790 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
8795 p->out_data.rdata = ndr_push_blob(push);
8796 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
8803 static bool api_clusapi_GetClusterVersion2(struct pipes_struct *p)
8805 const struct ndr_interface_call *call;
8806 struct ndr_pull *pull;
8807 struct ndr_push *push;
8808 enum ndr_err_code ndr_err;
8809 struct clusapi_GetClusterVersion2 *r;
8811 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_GETCLUSTERVERSION2];
8813 r = talloc(talloc_tos(), struct clusapi_GetClusterVersion2);
8818 pull = ndr_pull_init_blob(&p->in_data.data, r);
8824 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
8826 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
8828 ndr_err = call->ndr_pull(pull, NDR_IN, r);
8829 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
8834 if (DEBUGLEVEL >= 10) {
8835 NDR_PRINT_FUNCTION_DEBUG(clusapi_GetClusterVersion2, NDR_IN, r);
8838 ZERO_STRUCT(r->out);
8839 r->out.lpwMajorVersion = talloc_zero(r, uint16_t);
8840 if (r->out.lpwMajorVersion == NULL) {
8845 r->out.lpwMinorVersion = talloc_zero(r, uint16_t);
8846 if (r->out.lpwMinorVersion == NULL) {
8851 r->out.lpwBuildNumber = talloc_zero(r, uint16_t);
8852 if (r->out.lpwBuildNumber == NULL) {
8857 r->out.lpszVendorId = talloc_zero(r, const char *);
8858 if (r->out.lpszVendorId == NULL) {
8863 r->out.lpszCSDVersion = talloc_zero(r, const char *);
8864 if (r->out.lpszCSDVersion == NULL) {
8869 r->out.ppClusterOpVerInfo = talloc_zero(r, struct CLUSTER_OPERATIONAL_VERSION_INFO *);
8870 if (r->out.ppClusterOpVerInfo == NULL) {
8875 r->out.rpc_status = talloc_zero(r, WERROR);
8876 if (r->out.rpc_status == NULL) {
8881 r->out.result = _clusapi_GetClusterVersion2(p, r);
8883 if (p->fault_state) {
8885 /* Return true here, srv_pipe_hnd.c will take care */
8889 if (DEBUGLEVEL >= 10) {
8890 NDR_PRINT_FUNCTION_DEBUG(clusapi_GetClusterVersion2, NDR_OUT | NDR_SET_VALUES, r);
8893 push = ndr_push_init_ctx(r);
8900 * carry over the pointer count to the reply in case we are
8901 * using full pointer. See NDR specification for full pointers
8903 push->ptr_count = pull->ptr_count;
8905 ndr_err = call->ndr_push(push, NDR_OUT, r);
8906 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
8911 p->out_data.rdata = ndr_push_blob(push);
8912 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
8919 static bool api_clusapi_CreateResTypeEnum(struct pipes_struct *p)
8921 const struct ndr_interface_call *call;
8922 struct ndr_pull *pull;
8923 struct ndr_push *push;
8924 enum ndr_err_code ndr_err;
8925 struct clusapi_CreateResTypeEnum *r;
8927 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_CREATERESTYPEENUM];
8929 r = talloc(talloc_tos(), struct clusapi_CreateResTypeEnum);
8934 pull = ndr_pull_init_blob(&p->in_data.data, r);
8940 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
8942 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
8944 ndr_err = call->ndr_pull(pull, NDR_IN, r);
8945 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
8950 if (DEBUGLEVEL >= 10) {
8951 NDR_PRINT_FUNCTION_DEBUG(clusapi_CreateResTypeEnum, NDR_IN, r);
8954 ZERO_STRUCT(r->out);
8955 r->out.ReturnEnum = talloc_zero(r, struct ENUM_LIST *);
8956 if (r->out.ReturnEnum == NULL) {
8961 r->out.rpc_status = talloc_zero(r, WERROR);
8962 if (r->out.rpc_status == NULL) {
8967 r->out.result = _clusapi_CreateResTypeEnum(p, r);
8969 if (p->fault_state) {
8971 /* Return true here, srv_pipe_hnd.c will take care */
8975 if (DEBUGLEVEL >= 10) {
8976 NDR_PRINT_FUNCTION_DEBUG(clusapi_CreateResTypeEnum, NDR_OUT | NDR_SET_VALUES, r);
8979 push = ndr_push_init_ctx(r);
8986 * carry over the pointer count to the reply in case we are
8987 * using full pointer. See NDR specification for full pointers
8989 push->ptr_count = pull->ptr_count;
8991 ndr_err = call->ndr_push(push, NDR_OUT, r);
8992 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
8997 p->out_data.rdata = ndr_push_blob(push);
8998 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
9005 static bool api_clusapi_BackupClusterDatabase(struct pipes_struct *p)
9007 const struct ndr_interface_call *call;
9008 struct ndr_pull *pull;
9009 struct ndr_push *push;
9010 enum ndr_err_code ndr_err;
9011 struct clusapi_BackupClusterDatabase *r;
9013 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_BACKUPCLUSTERDATABASE];
9015 r = talloc(talloc_tos(), struct clusapi_BackupClusterDatabase);
9020 pull = ndr_pull_init_blob(&p->in_data.data, r);
9026 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
9028 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
9030 ndr_err = call->ndr_pull(pull, NDR_IN, r);
9031 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
9036 if (DEBUGLEVEL >= 10) {
9037 NDR_PRINT_FUNCTION_DEBUG(clusapi_BackupClusterDatabase, NDR_IN, r);
9040 ZERO_STRUCT(r->out);
9041 r->out.rpc_status = talloc_zero(r, WERROR);
9042 if (r->out.rpc_status == NULL) {
9047 r->out.result = _clusapi_BackupClusterDatabase(p, r);
9049 if (p->fault_state) {
9051 /* Return true here, srv_pipe_hnd.c will take care */
9055 if (DEBUGLEVEL >= 10) {
9056 NDR_PRINT_FUNCTION_DEBUG(clusapi_BackupClusterDatabase, NDR_OUT | NDR_SET_VALUES, r);
9059 push = ndr_push_init_ctx(r);
9066 * carry over the pointer count to the reply in case we are
9067 * using full pointer. See NDR specification for full pointers
9069 push->ptr_count = pull->ptr_count;
9071 ndr_err = call->ndr_push(push, NDR_OUT, r);
9072 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
9077 p->out_data.rdata = ndr_push_blob(push);
9078 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
9085 static bool api_clusapi_NodeClusterControl(struct pipes_struct *p)
9087 const struct ndr_interface_call *call;
9088 struct ndr_pull *pull;
9089 struct ndr_push *push;
9090 enum ndr_err_code ndr_err;
9091 struct clusapi_NodeClusterControl *r;
9093 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_NODECLUSTERCONTROL];
9095 r = talloc(talloc_tos(), struct clusapi_NodeClusterControl);
9100 pull = ndr_pull_init_blob(&p->in_data.data, r);
9106 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
9108 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
9110 ndr_err = call->ndr_pull(pull, NDR_IN, r);
9111 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
9116 if (DEBUGLEVEL >= 10) {
9117 NDR_PRINT_FUNCTION_DEBUG(clusapi_NodeClusterControl, NDR_IN, r);
9120 ZERO_STRUCT(r->out);
9121 r->out.lpOutBuffer = talloc_zero_array(r, uint8_t, r->in.nOutBufferSize);
9122 if (r->out.lpOutBuffer == NULL) {
9127 r->out.lpBytesReturned = talloc_zero(r, uint32_t);
9128 if (r->out.lpBytesReturned == NULL) {
9133 r->out.lpcbRequired = talloc_zero(r, uint32_t);
9134 if (r->out.lpcbRequired == NULL) {
9139 r->out.rpc_status = talloc_zero(r, WERROR);
9140 if (r->out.rpc_status == NULL) {
9145 r->out.result = _clusapi_NodeClusterControl(p, r);
9147 if (p->fault_state) {
9149 /* Return true here, srv_pipe_hnd.c will take care */
9153 if (DEBUGLEVEL >= 10) {
9154 NDR_PRINT_FUNCTION_DEBUG(clusapi_NodeClusterControl, NDR_OUT | NDR_SET_VALUES, r);
9157 push = ndr_push_init_ctx(r);
9164 * carry over the pointer count to the reply in case we are
9165 * using full pointer. See NDR specification for full pointers
9167 push->ptr_count = pull->ptr_count;
9169 ndr_err = call->ndr_push(push, NDR_OUT, r);
9170 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
9175 p->out_data.rdata = ndr_push_blob(push);
9176 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
9183 static bool api_clusapi_ClusterControl(struct pipes_struct *p)
9185 const struct ndr_interface_call *call;
9186 struct ndr_pull *pull;
9187 struct ndr_push *push;
9188 enum ndr_err_code ndr_err;
9189 struct clusapi_ClusterControl *r;
9191 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_CLUSTERCONTROL];
9193 r = talloc(talloc_tos(), struct clusapi_ClusterControl);
9198 pull = ndr_pull_init_blob(&p->in_data.data, r);
9204 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
9206 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
9208 ndr_err = call->ndr_pull(pull, NDR_IN, r);
9209 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
9214 if (DEBUGLEVEL >= 10) {
9215 NDR_PRINT_FUNCTION_DEBUG(clusapi_ClusterControl, NDR_IN, r);
9218 ZERO_STRUCT(r->out);
9219 r->out.lpOutBuffer = talloc_zero_array(r, uint8_t, r->in.nOutBufferSize);
9220 if (r->out.lpOutBuffer == NULL) {
9225 r->out.lpBytesReturned = talloc_zero(r, uint32_t);
9226 if (r->out.lpBytesReturned == NULL) {
9231 r->out.lpcbRequired = talloc_zero(r, uint32_t);
9232 if (r->out.lpcbRequired == NULL) {
9237 r->out.rpc_status = talloc_zero(r, WERROR);
9238 if (r->out.rpc_status == NULL) {
9243 r->out.result = _clusapi_ClusterControl(p, r);
9245 if (p->fault_state) {
9247 /* Return true here, srv_pipe_hnd.c will take care */
9251 if (DEBUGLEVEL >= 10) {
9252 NDR_PRINT_FUNCTION_DEBUG(clusapi_ClusterControl, NDR_OUT | NDR_SET_VALUES, r);
9255 push = ndr_push_init_ctx(r);
9262 * carry over the pointer count to the reply in case we are
9263 * using full pointer. See NDR specification for full pointers
9265 push->ptr_count = pull->ptr_count;
9267 ndr_err = call->ndr_push(push, NDR_OUT, r);
9268 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
9273 p->out_data.rdata = ndr_push_blob(push);
9274 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
9281 static bool api_clusapi_UnblockGetNotifyCall(struct pipes_struct *p)
9283 const struct ndr_interface_call *call;
9284 struct ndr_pull *pull;
9285 struct ndr_push *push;
9286 enum ndr_err_code ndr_err;
9287 struct clusapi_UnblockGetNotifyCall *r;
9289 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_UNBLOCKGETNOTIFYCALL];
9291 r = talloc(talloc_tos(), struct clusapi_UnblockGetNotifyCall);
9296 pull = ndr_pull_init_blob(&p->in_data.data, r);
9302 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
9304 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
9306 ndr_err = call->ndr_pull(pull, NDR_IN, r);
9307 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
9312 if (DEBUGLEVEL >= 10) {
9313 NDR_PRINT_FUNCTION_DEBUG(clusapi_UnblockGetNotifyCall, NDR_IN, r);
9316 r->out.result = _clusapi_UnblockGetNotifyCall(p, r);
9318 if (p->fault_state) {
9320 /* Return true here, srv_pipe_hnd.c will take care */
9324 if (DEBUGLEVEL >= 10) {
9325 NDR_PRINT_FUNCTION_DEBUG(clusapi_UnblockGetNotifyCall, NDR_OUT | NDR_SET_VALUES, r);
9328 push = ndr_push_init_ctx(r);
9335 * carry over the pointer count to the reply in case we are
9336 * using full pointer. See NDR specification for full pointers
9338 push->ptr_count = pull->ptr_count;
9340 ndr_err = call->ndr_push(push, NDR_OUT, r);
9341 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
9346 p->out_data.rdata = ndr_push_blob(push);
9347 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
9354 static bool api_clusapi_SetServiceAccountPassword(struct pipes_struct *p)
9356 const struct ndr_interface_call *call;
9357 struct ndr_pull *pull;
9358 struct ndr_push *push;
9359 enum ndr_err_code ndr_err;
9360 struct clusapi_SetServiceAccountPassword *r;
9362 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_SETSERVICEACCOUNTPASSWORD];
9364 r = talloc(talloc_tos(), struct clusapi_SetServiceAccountPassword);
9369 pull = ndr_pull_init_blob(&p->in_data.data, r);
9375 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
9377 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
9379 ndr_err = call->ndr_pull(pull, NDR_IN, r);
9380 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
9385 if (DEBUGLEVEL >= 10) {
9386 NDR_PRINT_FUNCTION_DEBUG(clusapi_SetServiceAccountPassword, NDR_IN, r);
9389 ZERO_STRUCT(r->out);
9390 r->out.ReturnStatusBufferPtr = talloc_zero_array(r, struct IDL_CLUSTER_SET_PASSWORD_STATUS, r->in.ReturnStatusBufferSize);
9391 if (r->out.ReturnStatusBufferPtr == NULL) {
9396 r->out.SizeReturned = talloc_zero(r, uint32_t);
9397 if (r->out.SizeReturned == NULL) {
9402 r->out.ExpectedBufferSize = talloc_zero(r, uint32_t);
9403 if (r->out.ExpectedBufferSize == NULL) {
9408 r->out.result = _clusapi_SetServiceAccountPassword(p, r);
9410 if (p->fault_state) {
9412 /* Return true here, srv_pipe_hnd.c will take care */
9416 if (DEBUGLEVEL >= 10) {
9417 NDR_PRINT_FUNCTION_DEBUG(clusapi_SetServiceAccountPassword, NDR_OUT | NDR_SET_VALUES, r);
9420 push = ndr_push_init_ctx(r);
9427 * carry over the pointer count to the reply in case we are
9428 * using full pointer. See NDR specification for full pointers
9430 push->ptr_count = pull->ptr_count;
9432 ndr_err = call->ndr_push(push, NDR_OUT, r);
9433 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
9438 p->out_data.rdata = ndr_push_blob(push);
9439 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
9446 static bool api_clusapi_SetResourceDependencyExpression(struct pipes_struct *p)
9448 const struct ndr_interface_call *call;
9449 struct ndr_pull *pull;
9450 struct ndr_push *push;
9451 enum ndr_err_code ndr_err;
9452 struct clusapi_SetResourceDependencyExpression *r;
9454 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_SETRESOURCEDEPENDENCYEXPRESSION];
9456 r = talloc(talloc_tos(), struct clusapi_SetResourceDependencyExpression);
9461 pull = ndr_pull_init_blob(&p->in_data.data, r);
9467 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
9469 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
9471 ndr_err = call->ndr_pull(pull, NDR_IN, r);
9472 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
9477 if (DEBUGLEVEL >= 10) {
9478 NDR_PRINT_FUNCTION_DEBUG(clusapi_SetResourceDependencyExpression, NDR_IN, r);
9481 ZERO_STRUCT(r->out);
9482 r->out.rpc_status = talloc_zero(r, WERROR);
9483 if (r->out.rpc_status == NULL) {
9488 r->out.result = _clusapi_SetResourceDependencyExpression(p, r);
9490 if (p->fault_state) {
9492 /* Return true here, srv_pipe_hnd.c will take care */
9496 if (DEBUGLEVEL >= 10) {
9497 NDR_PRINT_FUNCTION_DEBUG(clusapi_SetResourceDependencyExpression, NDR_OUT | NDR_SET_VALUES, r);
9500 push = ndr_push_init_ctx(r);
9507 * carry over the pointer count to the reply in case we are
9508 * using full pointer. See NDR specification for full pointers
9510 push->ptr_count = pull->ptr_count;
9512 ndr_err = call->ndr_push(push, NDR_OUT, r);
9513 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
9518 p->out_data.rdata = ndr_push_blob(push);
9519 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
9526 static bool api_clusapi_GetResourceDependencyExpression(struct pipes_struct *p)
9528 const struct ndr_interface_call *call;
9529 struct ndr_pull *pull;
9530 struct ndr_push *push;
9531 enum ndr_err_code ndr_err;
9532 struct clusapi_GetResourceDependencyExpression *r;
9534 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_GETRESOURCEDEPENDENCYEXPRESSION];
9536 r = talloc(talloc_tos(), struct clusapi_GetResourceDependencyExpression);
9541 pull = ndr_pull_init_blob(&p->in_data.data, r);
9547 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
9549 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
9551 ndr_err = call->ndr_pull(pull, NDR_IN, r);
9552 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
9557 if (DEBUGLEVEL >= 10) {
9558 NDR_PRINT_FUNCTION_DEBUG(clusapi_GetResourceDependencyExpression, NDR_IN, r);
9561 ZERO_STRUCT(r->out);
9562 r->out.lpszDependencyExpression = talloc_zero(r, const char *);
9563 if (r->out.lpszDependencyExpression == NULL) {
9568 r->out.rpc_status = talloc_zero(r, WERROR);
9569 if (r->out.rpc_status == NULL) {
9574 r->out.result = _clusapi_GetResourceDependencyExpression(p, r);
9576 if (p->fault_state) {
9578 /* Return true here, srv_pipe_hnd.c will take care */
9582 if (DEBUGLEVEL >= 10) {
9583 NDR_PRINT_FUNCTION_DEBUG(clusapi_GetResourceDependencyExpression, NDR_OUT | NDR_SET_VALUES, r);
9586 push = ndr_push_init_ctx(r);
9593 * carry over the pointer count to the reply in case we are
9594 * using full pointer. See NDR specification for full pointers
9596 push->ptr_count = pull->ptr_count;
9598 ndr_err = call->ndr_push(push, NDR_OUT, r);
9599 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
9604 p->out_data.rdata = ndr_push_blob(push);
9605 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
9612 static bool api_Opnum111NotUsedOnWire(struct pipes_struct *p)
9614 const struct ndr_interface_call *call;
9615 struct ndr_pull *pull;
9616 struct ndr_push *push;
9617 enum ndr_err_code ndr_err;
9618 struct Opnum111NotUsedOnWire *r;
9620 call = &ndr_table_clusapi.calls[NDR_OPNUM111NOTUSEDONWIRE];
9622 r = talloc(talloc_tos(), struct Opnum111NotUsedOnWire);
9627 pull = ndr_pull_init_blob(&p->in_data.data, r);
9633 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
9635 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
9637 ndr_err = call->ndr_pull(pull, NDR_IN, r);
9638 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
9643 if (DEBUGLEVEL >= 10) {
9644 NDR_PRINT_FUNCTION_DEBUG(Opnum111NotUsedOnWire, NDR_IN, r);
9647 r->out.result = _Opnum111NotUsedOnWire(p, r);
9649 if (p->fault_state) {
9651 /* Return true here, srv_pipe_hnd.c will take care */
9655 if (DEBUGLEVEL >= 10) {
9656 NDR_PRINT_FUNCTION_DEBUG(Opnum111NotUsedOnWire, NDR_OUT | NDR_SET_VALUES, r);
9659 push = ndr_push_init_ctx(r);
9666 * carry over the pointer count to the reply in case we are
9667 * using full pointer. See NDR specification for full pointers
9669 push->ptr_count = pull->ptr_count;
9671 ndr_err = call->ndr_push(push, NDR_OUT, r);
9672 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
9677 p->out_data.rdata = ndr_push_blob(push);
9678 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
9685 static bool api_clusapi_GetResourceNetworkName(struct pipes_struct *p)
9687 const struct ndr_interface_call *call;
9688 struct ndr_pull *pull;
9689 struct ndr_push *push;
9690 enum ndr_err_code ndr_err;
9691 struct clusapi_GetResourceNetworkName *r;
9693 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_GETRESOURCENETWORKNAME];
9695 r = talloc(talloc_tos(), struct clusapi_GetResourceNetworkName);
9700 pull = ndr_pull_init_blob(&p->in_data.data, r);
9706 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
9708 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
9710 ndr_err = call->ndr_pull(pull, NDR_IN, r);
9711 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
9716 if (DEBUGLEVEL >= 10) {
9717 NDR_PRINT_FUNCTION_DEBUG(clusapi_GetResourceNetworkName, NDR_IN, r);
9720 ZERO_STRUCT(r->out);
9721 r->out.lpszName = talloc_zero(r, const char *);
9722 if (r->out.lpszName == NULL) {
9727 r->out.rpc_status = talloc_zero(r, WERROR);
9728 if (r->out.rpc_status == NULL) {
9733 r->out.result = _clusapi_GetResourceNetworkName(p, r);
9735 if (p->fault_state) {
9737 /* Return true here, srv_pipe_hnd.c will take care */
9741 if (DEBUGLEVEL >= 10) {
9742 NDR_PRINT_FUNCTION_DEBUG(clusapi_GetResourceNetworkName, NDR_OUT | NDR_SET_VALUES, r);
9745 push = ndr_push_init_ctx(r);
9752 * carry over the pointer count to the reply in case we are
9753 * using full pointer. See NDR specification for full pointers
9755 push->ptr_count = pull->ptr_count;
9757 ndr_err = call->ndr_push(push, NDR_OUT, r);
9758 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
9763 p->out_data.rdata = ndr_push_blob(push);
9764 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
9771 static bool api_clusapi_ExecuteBatch(struct pipes_struct *p)
9773 const struct ndr_interface_call *call;
9774 struct ndr_pull *pull;
9775 struct ndr_push *push;
9776 enum ndr_err_code ndr_err;
9777 struct clusapi_ExecuteBatch *r;
9779 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_EXECUTEBATCH];
9781 r = talloc(talloc_tos(), struct clusapi_ExecuteBatch);
9786 pull = ndr_pull_init_blob(&p->in_data.data, r);
9792 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
9794 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
9796 ndr_err = call->ndr_pull(pull, NDR_IN, r);
9797 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
9802 if (DEBUGLEVEL >= 10) {
9803 NDR_PRINT_FUNCTION_DEBUG(clusapi_ExecuteBatch, NDR_IN, r);
9806 ZERO_STRUCT(r->out);
9807 r->out.pdwFailedCommand = talloc_zero(r, int32_t);
9808 if (r->out.pdwFailedCommand == NULL) {
9813 r->out.rpc_status = talloc_zero(r, WERROR);
9814 if (r->out.rpc_status == NULL) {
9819 r->out.result = _clusapi_ExecuteBatch(p, r);
9821 if (p->fault_state) {
9823 /* Return true here, srv_pipe_hnd.c will take care */
9827 if (DEBUGLEVEL >= 10) {
9828 NDR_PRINT_FUNCTION_DEBUG(clusapi_ExecuteBatch, NDR_OUT | NDR_SET_VALUES, r);
9831 push = ndr_push_init_ctx(r);
9838 * carry over the pointer count to the reply in case we are
9839 * using full pointer. See NDR specification for full pointers
9841 push->ptr_count = pull->ptr_count;
9843 ndr_err = call->ndr_push(push, NDR_OUT, r);
9844 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
9849 p->out_data.rdata = ndr_push_blob(push);
9850 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
9857 static bool api_clusapi_CreateBatchPort(struct pipes_struct *p)
9859 const struct ndr_interface_call *call;
9860 struct ndr_pull *pull;
9861 struct ndr_push *push;
9862 enum ndr_err_code ndr_err;
9863 struct clusapi_CreateBatchPort *r;
9865 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_CREATEBATCHPORT];
9867 r = talloc(talloc_tos(), struct clusapi_CreateBatchPort);
9872 pull = ndr_pull_init_blob(&p->in_data.data, r);
9878 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
9880 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
9882 ndr_err = call->ndr_pull(pull, NDR_IN, r);
9883 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
9888 if (DEBUGLEVEL >= 10) {
9889 NDR_PRINT_FUNCTION_DEBUG(clusapi_CreateBatchPort, NDR_IN, r);
9892 ZERO_STRUCT(r->out);
9893 r->out.phBatchPort = talloc_zero(r, struct policy_handle);
9894 if (r->out.phBatchPort == NULL) {
9899 r->out.rpc_status = talloc_zero(r, WERROR);
9900 if (r->out.rpc_status == NULL) {
9905 r->out.result = _clusapi_CreateBatchPort(p, r);
9907 if (p->fault_state) {
9909 /* Return true here, srv_pipe_hnd.c will take care */
9913 if (DEBUGLEVEL >= 10) {
9914 NDR_PRINT_FUNCTION_DEBUG(clusapi_CreateBatchPort, NDR_OUT | NDR_SET_VALUES, r);
9917 push = ndr_push_init_ctx(r);
9924 * carry over the pointer count to the reply in case we are
9925 * using full pointer. See NDR specification for full pointers
9927 push->ptr_count = pull->ptr_count;
9929 ndr_err = call->ndr_push(push, NDR_OUT, r);
9930 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
9935 p->out_data.rdata = ndr_push_blob(push);
9936 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
9943 static bool api_clusapi_GetBatchNotification(struct pipes_struct *p)
9945 const struct ndr_interface_call *call;
9946 struct ndr_pull *pull;
9947 struct ndr_push *push;
9948 enum ndr_err_code ndr_err;
9949 struct clusapi_GetBatchNotification *r;
9951 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_GETBATCHNOTIFICATION];
9953 r = talloc(talloc_tos(), struct clusapi_GetBatchNotification);
9958 pull = ndr_pull_init_blob(&p->in_data.data, r);
9964 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
9966 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
9968 ndr_err = call->ndr_pull(pull, NDR_IN, r);
9969 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
9974 if (DEBUGLEVEL >= 10) {
9975 NDR_PRINT_FUNCTION_DEBUG(clusapi_GetBatchNotification, NDR_IN, r);
9978 ZERO_STRUCT(r->out);
9979 r->out.cbData = talloc_zero(r, uint32_t);
9980 if (r->out.cbData == NULL) {
9985 r->out.lpData = talloc_zero(r, uint8_t *);
9986 if (r->out.lpData == NULL) {
9991 r->out.result = _clusapi_GetBatchNotification(p, r);
9993 if (p->fault_state) {
9995 /* Return true here, srv_pipe_hnd.c will take care */
9999 if (DEBUGLEVEL >= 10) {
10000 NDR_PRINT_FUNCTION_DEBUG(clusapi_GetBatchNotification, NDR_OUT | NDR_SET_VALUES, r);
10003 push = ndr_push_init_ctx(r);
10004 if (push == NULL) {
10010 * carry over the pointer count to the reply in case we are
10011 * using full pointer. See NDR specification for full pointers
10013 push->ptr_count = pull->ptr_count;
10015 ndr_err = call->ndr_push(push, NDR_OUT, r);
10016 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
10021 p->out_data.rdata = ndr_push_blob(push);
10022 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
10029 static bool api_clusapi_CloseBatchPort(struct pipes_struct *p)
10031 const struct ndr_interface_call *call;
10032 struct ndr_pull *pull;
10033 struct ndr_push *push;
10034 enum ndr_err_code ndr_err;
10035 struct clusapi_CloseBatchPort *r;
10037 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_CLOSEBATCHPORT];
10039 r = talloc(talloc_tos(), struct clusapi_CloseBatchPort);
10044 pull = ndr_pull_init_blob(&p->in_data.data, r);
10045 if (pull == NULL) {
10050 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
10052 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
10054 ndr_err = call->ndr_pull(pull, NDR_IN, r);
10055 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
10060 if (DEBUGLEVEL >= 10) {
10061 NDR_PRINT_FUNCTION_DEBUG(clusapi_CloseBatchPort, NDR_IN, r);
10064 ZERO_STRUCT(r->out);
10065 r->out.phBatchPort = r->in.phBatchPort;
10066 r->out.result = _clusapi_CloseBatchPort(p, r);
10068 if (p->fault_state) {
10070 /* Return true here, srv_pipe_hnd.c will take care */
10074 if (DEBUGLEVEL >= 10) {
10075 NDR_PRINT_FUNCTION_DEBUG(clusapi_CloseBatchPort, NDR_OUT | NDR_SET_VALUES, r);
10078 push = ndr_push_init_ctx(r);
10079 if (push == NULL) {
10085 * carry over the pointer count to the reply in case we are
10086 * using full pointer. See NDR specification for full pointers
10088 push->ptr_count = pull->ptr_count;
10090 ndr_err = call->ndr_push(push, NDR_OUT, r);
10091 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
10096 p->out_data.rdata = ndr_push_blob(push);
10097 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
10104 static bool api_clusapi_OpenClusterEx(struct pipes_struct *p)
10106 const struct ndr_interface_call *call;
10107 struct ndr_pull *pull;
10108 struct ndr_push *push;
10109 enum ndr_err_code ndr_err;
10110 struct clusapi_OpenClusterEx *r;
10112 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_OPENCLUSTEREX];
10114 r = talloc(talloc_tos(), struct clusapi_OpenClusterEx);
10119 pull = ndr_pull_init_blob(&p->in_data.data, r);
10120 if (pull == NULL) {
10125 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
10127 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
10129 ndr_err = call->ndr_pull(pull, NDR_IN, r);
10130 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
10135 if (DEBUGLEVEL >= 10) {
10136 NDR_PRINT_FUNCTION_DEBUG(clusapi_OpenClusterEx, NDR_IN, r);
10139 ZERO_STRUCT(r->out);
10140 r->out.lpdwGrantedAccess = talloc_zero(r, uint32_t);
10141 if (r->out.lpdwGrantedAccess == NULL) {
10146 r->out.Status = talloc_zero(r, WERROR);
10147 if (r->out.Status == NULL) {
10152 r->out.hCluster = talloc_zero(r, struct policy_handle);
10153 if (r->out.hCluster == NULL) {
10158 _clusapi_OpenClusterEx(p, r);
10160 if (p->fault_state) {
10162 /* Return true here, srv_pipe_hnd.c will take care */
10166 if (DEBUGLEVEL >= 10) {
10167 NDR_PRINT_FUNCTION_DEBUG(clusapi_OpenClusterEx, NDR_OUT | NDR_SET_VALUES, r);
10170 push = ndr_push_init_ctx(r);
10171 if (push == NULL) {
10177 * carry over the pointer count to the reply in case we are
10178 * using full pointer. See NDR specification for full pointers
10180 push->ptr_count = pull->ptr_count;
10182 ndr_err = call->ndr_push(push, NDR_OUT, r);
10183 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
10188 p->out_data.rdata = ndr_push_blob(push);
10189 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
10196 static bool api_clusapi_OpenNodeEx(struct pipes_struct *p)
10198 const struct ndr_interface_call *call;
10199 struct ndr_pull *pull;
10200 struct ndr_push *push;
10201 enum ndr_err_code ndr_err;
10202 struct clusapi_OpenNodeEx *r;
10204 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_OPENNODEEX];
10206 r = talloc(talloc_tos(), struct clusapi_OpenNodeEx);
10211 pull = ndr_pull_init_blob(&p->in_data.data, r);
10212 if (pull == NULL) {
10217 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
10219 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
10221 ndr_err = call->ndr_pull(pull, NDR_IN, r);
10222 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
10227 if (DEBUGLEVEL >= 10) {
10228 NDR_PRINT_FUNCTION_DEBUG(clusapi_OpenNodeEx, NDR_IN, r);
10231 ZERO_STRUCT(r->out);
10232 r->out.lpdwGrantedAccess = talloc_zero(r, uint32_t);
10233 if (r->out.lpdwGrantedAccess == NULL) {
10238 r->out.Status = talloc_zero(r, WERROR);
10239 if (r->out.Status == NULL) {
10244 r->out.rpc_status = talloc_zero(r, WERROR);
10245 if (r->out.rpc_status == NULL) {
10250 r->out.hNode = talloc_zero(r, struct policy_handle);
10251 if (r->out.hNode == NULL) {
10256 _clusapi_OpenNodeEx(p, r);
10258 if (p->fault_state) {
10260 /* Return true here, srv_pipe_hnd.c will take care */
10264 if (DEBUGLEVEL >= 10) {
10265 NDR_PRINT_FUNCTION_DEBUG(clusapi_OpenNodeEx, NDR_OUT | NDR_SET_VALUES, r);
10268 push = ndr_push_init_ctx(r);
10269 if (push == NULL) {
10275 * carry over the pointer count to the reply in case we are
10276 * using full pointer. See NDR specification for full pointers
10278 push->ptr_count = pull->ptr_count;
10280 ndr_err = call->ndr_push(push, NDR_OUT, r);
10281 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
10286 p->out_data.rdata = ndr_push_blob(push);
10287 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
10294 static bool api_clusapi_OpenGroupEx(struct pipes_struct *p)
10296 const struct ndr_interface_call *call;
10297 struct ndr_pull *pull;
10298 struct ndr_push *push;
10299 enum ndr_err_code ndr_err;
10300 struct clusapi_OpenGroupEx *r;
10302 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_OPENGROUPEX];
10304 r = talloc(talloc_tos(), struct clusapi_OpenGroupEx);
10309 pull = ndr_pull_init_blob(&p->in_data.data, r);
10310 if (pull == NULL) {
10315 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
10317 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
10319 ndr_err = call->ndr_pull(pull, NDR_IN, r);
10320 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
10325 if (DEBUGLEVEL >= 10) {
10326 NDR_PRINT_FUNCTION_DEBUG(clusapi_OpenGroupEx, NDR_IN, r);
10329 ZERO_STRUCT(r->out);
10330 r->out.lpdwGrantedAccess = talloc_zero(r, uint32_t);
10331 if (r->out.lpdwGrantedAccess == NULL) {
10336 r->out.Status = talloc_zero(r, WERROR);
10337 if (r->out.Status == NULL) {
10342 r->out.rpc_status = talloc_zero(r, WERROR);
10343 if (r->out.rpc_status == NULL) {
10348 r->out.hGroup = talloc_zero(r, struct policy_handle);
10349 if (r->out.hGroup == NULL) {
10354 _clusapi_OpenGroupEx(p, r);
10356 if (p->fault_state) {
10358 /* Return true here, srv_pipe_hnd.c will take care */
10362 if (DEBUGLEVEL >= 10) {
10363 NDR_PRINT_FUNCTION_DEBUG(clusapi_OpenGroupEx, NDR_OUT | NDR_SET_VALUES, r);
10366 push = ndr_push_init_ctx(r);
10367 if (push == NULL) {
10373 * carry over the pointer count to the reply in case we are
10374 * using full pointer. See NDR specification for full pointers
10376 push->ptr_count = pull->ptr_count;
10378 ndr_err = call->ndr_push(push, NDR_OUT, r);
10379 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
10384 p->out_data.rdata = ndr_push_blob(push);
10385 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
10392 static bool api_clusapi_OpenResourceEx(struct pipes_struct *p)
10394 const struct ndr_interface_call *call;
10395 struct ndr_pull *pull;
10396 struct ndr_push *push;
10397 enum ndr_err_code ndr_err;
10398 struct clusapi_OpenResourceEx *r;
10400 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_OPENRESOURCEEX];
10402 r = talloc(talloc_tos(), struct clusapi_OpenResourceEx);
10407 pull = ndr_pull_init_blob(&p->in_data.data, r);
10408 if (pull == NULL) {
10413 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
10415 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
10417 ndr_err = call->ndr_pull(pull, NDR_IN, r);
10418 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
10423 if (DEBUGLEVEL >= 10) {
10424 NDR_PRINT_FUNCTION_DEBUG(clusapi_OpenResourceEx, NDR_IN, r);
10427 ZERO_STRUCT(r->out);
10428 r->out.lpdwGrantedAccess = talloc_zero(r, uint32_t);
10429 if (r->out.lpdwGrantedAccess == NULL) {
10434 r->out.Status = talloc_zero(r, WERROR);
10435 if (r->out.Status == NULL) {
10440 r->out.rpc_status = talloc_zero(r, WERROR);
10441 if (r->out.rpc_status == NULL) {
10446 r->out.hResource = talloc_zero(r, struct policy_handle);
10447 if (r->out.hResource == NULL) {
10452 _clusapi_OpenResourceEx(p, r);
10454 if (p->fault_state) {
10456 /* Return true here, srv_pipe_hnd.c will take care */
10460 if (DEBUGLEVEL >= 10) {
10461 NDR_PRINT_FUNCTION_DEBUG(clusapi_OpenResourceEx, NDR_OUT | NDR_SET_VALUES, r);
10464 push = ndr_push_init_ctx(r);
10465 if (push == NULL) {
10471 * carry over the pointer count to the reply in case we are
10472 * using full pointer. See NDR specification for full pointers
10474 push->ptr_count = pull->ptr_count;
10476 ndr_err = call->ndr_push(push, NDR_OUT, r);
10477 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
10482 p->out_data.rdata = ndr_push_blob(push);
10483 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
10490 static bool api_clusapi_OpenNetworkEx(struct pipes_struct *p)
10492 const struct ndr_interface_call *call;
10493 struct ndr_pull *pull;
10494 struct ndr_push *push;
10495 enum ndr_err_code ndr_err;
10496 struct clusapi_OpenNetworkEx *r;
10498 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_OPENNETWORKEX];
10500 r = talloc(talloc_tos(), struct clusapi_OpenNetworkEx);
10505 pull = ndr_pull_init_blob(&p->in_data.data, r);
10506 if (pull == NULL) {
10511 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
10513 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
10515 ndr_err = call->ndr_pull(pull, NDR_IN, r);
10516 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
10521 if (DEBUGLEVEL >= 10) {
10522 NDR_PRINT_FUNCTION_DEBUG(clusapi_OpenNetworkEx, NDR_IN, r);
10525 ZERO_STRUCT(r->out);
10526 r->out.lpdwGrantedAccess = talloc_zero(r, uint32_t);
10527 if (r->out.lpdwGrantedAccess == NULL) {
10532 r->out.Status = talloc_zero(r, WERROR);
10533 if (r->out.Status == NULL) {
10538 r->out.rpc_status = talloc_zero(r, WERROR);
10539 if (r->out.rpc_status == NULL) {
10544 r->out.hNetwork = talloc_zero(r, struct policy_handle);
10545 if (r->out.hNetwork == NULL) {
10550 _clusapi_OpenNetworkEx(p, r);
10552 if (p->fault_state) {
10554 /* Return true here, srv_pipe_hnd.c will take care */
10558 if (DEBUGLEVEL >= 10) {
10559 NDR_PRINT_FUNCTION_DEBUG(clusapi_OpenNetworkEx, NDR_OUT | NDR_SET_VALUES, r);
10562 push = ndr_push_init_ctx(r);
10563 if (push == NULL) {
10569 * carry over the pointer count to the reply in case we are
10570 * using full pointer. See NDR specification for full pointers
10572 push->ptr_count = pull->ptr_count;
10574 ndr_err = call->ndr_push(push, NDR_OUT, r);
10575 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
10580 p->out_data.rdata = ndr_push_blob(push);
10581 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
10588 static bool api_clusapi_OpenNetInterfaceEx(struct pipes_struct *p)
10590 const struct ndr_interface_call *call;
10591 struct ndr_pull *pull;
10592 struct ndr_push *push;
10593 enum ndr_err_code ndr_err;
10594 struct clusapi_OpenNetInterfaceEx *r;
10596 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_OPENNETINTERFACEEX];
10598 r = talloc(talloc_tos(), struct clusapi_OpenNetInterfaceEx);
10603 pull = ndr_pull_init_blob(&p->in_data.data, r);
10604 if (pull == NULL) {
10609 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
10611 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
10613 ndr_err = call->ndr_pull(pull, NDR_IN, r);
10614 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
10619 if (DEBUGLEVEL >= 10) {
10620 NDR_PRINT_FUNCTION_DEBUG(clusapi_OpenNetInterfaceEx, NDR_IN, r);
10623 ZERO_STRUCT(r->out);
10624 r->out.lpdwGrantedAccess = talloc_zero(r, uint32_t);
10625 if (r->out.lpdwGrantedAccess == NULL) {
10630 r->out.Status = talloc_zero(r, WERROR);
10631 if (r->out.Status == NULL) {
10636 r->out.rpc_status = talloc_zero(r, WERROR);
10637 if (r->out.rpc_status == NULL) {
10642 r->out.hNetInterface = talloc_zero(r, struct policy_handle);
10643 if (r->out.hNetInterface == NULL) {
10648 _clusapi_OpenNetInterfaceEx(p, r);
10650 if (p->fault_state) {
10652 /* Return true here, srv_pipe_hnd.c will take care */
10656 if (DEBUGLEVEL >= 10) {
10657 NDR_PRINT_FUNCTION_DEBUG(clusapi_OpenNetInterfaceEx, NDR_OUT | NDR_SET_VALUES, r);
10660 push = ndr_push_init_ctx(r);
10661 if (push == NULL) {
10667 * carry over the pointer count to the reply in case we are
10668 * using full pointer. See NDR specification for full pointers
10670 push->ptr_count = pull->ptr_count;
10672 ndr_err = call->ndr_push(push, NDR_OUT, r);
10673 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
10678 p->out_data.rdata = ndr_push_blob(push);
10679 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
10686 static bool api_clusapi_ChangeCsvState(struct pipes_struct *p)
10688 const struct ndr_interface_call *call;
10689 struct ndr_pull *pull;
10690 struct ndr_push *push;
10691 enum ndr_err_code ndr_err;
10692 struct clusapi_ChangeCsvState *r;
10694 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_CHANGECSVSTATE];
10696 r = talloc(talloc_tos(), struct clusapi_ChangeCsvState);
10701 pull = ndr_pull_init_blob(&p->in_data.data, r);
10702 if (pull == NULL) {
10707 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
10709 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
10711 ndr_err = call->ndr_pull(pull, NDR_IN, r);
10712 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
10717 if (DEBUGLEVEL >= 10) {
10718 NDR_PRINT_FUNCTION_DEBUG(clusapi_ChangeCsvState, NDR_IN, r);
10721 ZERO_STRUCT(r->out);
10722 r->out.rpc_status = talloc_zero(r, WERROR);
10723 if (r->out.rpc_status == NULL) {
10728 r->out.result = _clusapi_ChangeCsvState(p, r);
10730 if (p->fault_state) {
10732 /* Return true here, srv_pipe_hnd.c will take care */
10736 if (DEBUGLEVEL >= 10) {
10737 NDR_PRINT_FUNCTION_DEBUG(clusapi_ChangeCsvState, NDR_OUT | NDR_SET_VALUES, r);
10740 push = ndr_push_init_ctx(r);
10741 if (push == NULL) {
10747 * carry over the pointer count to the reply in case we are
10748 * using full pointer. See NDR specification for full pointers
10750 push->ptr_count = pull->ptr_count;
10752 ndr_err = call->ndr_push(push, NDR_OUT, r);
10753 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
10758 p->out_data.rdata = ndr_push_blob(push);
10759 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
10766 static bool api_clusapi_CreateNodeEnumEx(struct pipes_struct *p)
10768 const struct ndr_interface_call *call;
10769 struct ndr_pull *pull;
10770 struct ndr_push *push;
10771 enum ndr_err_code ndr_err;
10772 struct clusapi_CreateNodeEnumEx *r;
10774 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_CREATENODEENUMEX];
10776 r = talloc(talloc_tos(), struct clusapi_CreateNodeEnumEx);
10781 pull = ndr_pull_init_blob(&p->in_data.data, r);
10782 if (pull == NULL) {
10787 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
10789 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
10791 ndr_err = call->ndr_pull(pull, NDR_IN, r);
10792 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
10797 if (DEBUGLEVEL >= 10) {
10798 NDR_PRINT_FUNCTION_DEBUG(clusapi_CreateNodeEnumEx, NDR_IN, r);
10801 ZERO_STRUCT(r->out);
10802 r->out.ReturnIdEnum = talloc_zero(r, struct ENUM_LIST *);
10803 if (r->out.ReturnIdEnum == NULL) {
10808 r->out.ReturnNameEnum = talloc_zero(r, struct ENUM_LIST *);
10809 if (r->out.ReturnNameEnum == NULL) {
10814 r->out.rpc_status = talloc_zero(r, WERROR);
10815 if (r->out.rpc_status == NULL) {
10820 r->out.result = _clusapi_CreateNodeEnumEx(p, r);
10822 if (p->fault_state) {
10824 /* Return true here, srv_pipe_hnd.c will take care */
10828 if (DEBUGLEVEL >= 10) {
10829 NDR_PRINT_FUNCTION_DEBUG(clusapi_CreateNodeEnumEx, NDR_OUT | NDR_SET_VALUES, r);
10832 push = ndr_push_init_ctx(r);
10833 if (push == NULL) {
10839 * carry over the pointer count to the reply in case we are
10840 * using full pointer. See NDR specification for full pointers
10842 push->ptr_count = pull->ptr_count;
10844 ndr_err = call->ndr_push(push, NDR_OUT, r);
10845 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
10850 p->out_data.rdata = ndr_push_blob(push);
10851 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
10858 static bool api_clusapi_CreateEnumEx(struct pipes_struct *p)
10860 const struct ndr_interface_call *call;
10861 struct ndr_pull *pull;
10862 struct ndr_push *push;
10863 enum ndr_err_code ndr_err;
10864 struct clusapi_CreateEnumEx *r;
10866 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_CREATEENUMEX];
10868 r = talloc(talloc_tos(), struct clusapi_CreateEnumEx);
10873 pull = ndr_pull_init_blob(&p->in_data.data, r);
10874 if (pull == NULL) {
10879 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
10881 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
10883 ndr_err = call->ndr_pull(pull, NDR_IN, r);
10884 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
10889 if (DEBUGLEVEL >= 10) {
10890 NDR_PRINT_FUNCTION_DEBUG(clusapi_CreateEnumEx, NDR_IN, r);
10893 ZERO_STRUCT(r->out);
10894 r->out.ReturnIdEnum = talloc_zero(r, struct ENUM_LIST *);
10895 if (r->out.ReturnIdEnum == NULL) {
10900 r->out.ReturnNameEnum = talloc_zero(r, struct ENUM_LIST *);
10901 if (r->out.ReturnNameEnum == NULL) {
10906 r->out.rpc_status = talloc_zero(r, WERROR);
10907 if (r->out.rpc_status == NULL) {
10912 r->out.result = _clusapi_CreateEnumEx(p, r);
10914 if (p->fault_state) {
10916 /* Return true here, srv_pipe_hnd.c will take care */
10920 if (DEBUGLEVEL >= 10) {
10921 NDR_PRINT_FUNCTION_DEBUG(clusapi_CreateEnumEx, NDR_OUT | NDR_SET_VALUES, r);
10924 push = ndr_push_init_ctx(r);
10925 if (push == NULL) {
10931 * carry over the pointer count to the reply in case we are
10932 * using full pointer. See NDR specification for full pointers
10934 push->ptr_count = pull->ptr_count;
10936 ndr_err = call->ndr_push(push, NDR_OUT, r);
10937 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
10942 p->out_data.rdata = ndr_push_blob(push);
10943 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
10950 static bool api_clusapi_PauseNodeEx(struct pipes_struct *p)
10952 const struct ndr_interface_call *call;
10953 struct ndr_pull *pull;
10954 struct ndr_push *push;
10955 enum ndr_err_code ndr_err;
10956 struct clusapi_PauseNodeEx *r;
10958 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_PAUSENODEEX];
10960 r = talloc(talloc_tos(), struct clusapi_PauseNodeEx);
10965 pull = ndr_pull_init_blob(&p->in_data.data, r);
10966 if (pull == NULL) {
10971 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
10973 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
10975 ndr_err = call->ndr_pull(pull, NDR_IN, r);
10976 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
10981 if (DEBUGLEVEL >= 10) {
10982 NDR_PRINT_FUNCTION_DEBUG(clusapi_PauseNodeEx, NDR_IN, r);
10985 ZERO_STRUCT(r->out);
10986 r->out.rpc_status = talloc_zero(r, WERROR);
10987 if (r->out.rpc_status == NULL) {
10992 r->out.result = _clusapi_PauseNodeEx(p, r);
10994 if (p->fault_state) {
10996 /* Return true here, srv_pipe_hnd.c will take care */
11000 if (DEBUGLEVEL >= 10) {
11001 NDR_PRINT_FUNCTION_DEBUG(clusapi_PauseNodeEx, NDR_OUT | NDR_SET_VALUES, r);
11004 push = ndr_push_init_ctx(r);
11005 if (push == NULL) {
11011 * carry over the pointer count to the reply in case we are
11012 * using full pointer. See NDR specification for full pointers
11014 push->ptr_count = pull->ptr_count;
11016 ndr_err = call->ndr_push(push, NDR_OUT, r);
11017 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
11022 p->out_data.rdata = ndr_push_blob(push);
11023 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
11030 static bool api_clusapi_PauseNodeWithDrainTarget(struct pipes_struct *p)
11032 const struct ndr_interface_call *call;
11033 struct ndr_pull *pull;
11034 struct ndr_push *push;
11035 enum ndr_err_code ndr_err;
11036 struct clusapi_PauseNodeWithDrainTarget *r;
11038 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_PAUSENODEWITHDRAINTARGET];
11040 r = talloc(talloc_tos(), struct clusapi_PauseNodeWithDrainTarget);
11045 pull = ndr_pull_init_blob(&p->in_data.data, r);
11046 if (pull == NULL) {
11051 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
11053 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
11055 ndr_err = call->ndr_pull(pull, NDR_IN, r);
11056 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
11061 if (DEBUGLEVEL >= 10) {
11062 NDR_PRINT_FUNCTION_DEBUG(clusapi_PauseNodeWithDrainTarget, NDR_IN, r);
11065 ZERO_STRUCT(r->out);
11066 r->out.rpc_status = talloc_zero(r, WERROR);
11067 if (r->out.rpc_status == NULL) {
11072 r->out.result = _clusapi_PauseNodeWithDrainTarget(p, r);
11074 if (p->fault_state) {
11076 /* Return true here, srv_pipe_hnd.c will take care */
11080 if (DEBUGLEVEL >= 10) {
11081 NDR_PRINT_FUNCTION_DEBUG(clusapi_PauseNodeWithDrainTarget, NDR_OUT | NDR_SET_VALUES, r);
11084 push = ndr_push_init_ctx(r);
11085 if (push == NULL) {
11091 * carry over the pointer count to the reply in case we are
11092 * using full pointer. See NDR specification for full pointers
11094 push->ptr_count = pull->ptr_count;
11096 ndr_err = call->ndr_push(push, NDR_OUT, r);
11097 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
11102 p->out_data.rdata = ndr_push_blob(push);
11103 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
11110 static bool api_clusapi_ResumeNodeEx(struct pipes_struct *p)
11112 const struct ndr_interface_call *call;
11113 struct ndr_pull *pull;
11114 struct ndr_push *push;
11115 enum ndr_err_code ndr_err;
11116 struct clusapi_ResumeNodeEx *r;
11118 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_RESUMENODEEX];
11120 r = talloc(talloc_tos(), struct clusapi_ResumeNodeEx);
11125 pull = ndr_pull_init_blob(&p->in_data.data, r);
11126 if (pull == NULL) {
11131 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
11133 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
11135 ndr_err = call->ndr_pull(pull, NDR_IN, r);
11136 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
11141 if (DEBUGLEVEL >= 10) {
11142 NDR_PRINT_FUNCTION_DEBUG(clusapi_ResumeNodeEx, NDR_IN, r);
11145 ZERO_STRUCT(r->out);
11146 r->out.rpc_status = talloc_zero(r, WERROR);
11147 if (r->out.rpc_status == NULL) {
11152 r->out.result = _clusapi_ResumeNodeEx(p, r);
11154 if (p->fault_state) {
11156 /* Return true here, srv_pipe_hnd.c will take care */
11160 if (DEBUGLEVEL >= 10) {
11161 NDR_PRINT_FUNCTION_DEBUG(clusapi_ResumeNodeEx, NDR_OUT | NDR_SET_VALUES, r);
11164 push = ndr_push_init_ctx(r);
11165 if (push == NULL) {
11171 * carry over the pointer count to the reply in case we are
11172 * using full pointer. See NDR specification for full pointers
11174 push->ptr_count = pull->ptr_count;
11176 ndr_err = call->ndr_push(push, NDR_OUT, r);
11177 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
11182 p->out_data.rdata = ndr_push_blob(push);
11183 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
11190 static bool api_clusapi_CreateGroupEx(struct pipes_struct *p)
11192 const struct ndr_interface_call *call;
11193 struct ndr_pull *pull;
11194 struct ndr_push *push;
11195 enum ndr_err_code ndr_err;
11196 struct clusapi_CreateGroupEx *r;
11198 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_CREATEGROUPEX];
11200 r = talloc(talloc_tos(), struct clusapi_CreateGroupEx);
11205 pull = ndr_pull_init_blob(&p->in_data.data, r);
11206 if (pull == NULL) {
11211 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
11213 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
11215 ndr_err = call->ndr_pull(pull, NDR_IN, r);
11216 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
11221 if (DEBUGLEVEL >= 10) {
11222 NDR_PRINT_FUNCTION_DEBUG(clusapi_CreateGroupEx, NDR_IN, r);
11225 ZERO_STRUCT(r->out);
11226 r->out.Status = talloc_zero(r, WERROR);
11227 if (r->out.Status == NULL) {
11232 r->out.rpc_status = talloc_zero(r, WERROR);
11233 if (r->out.rpc_status == NULL) {
11238 r->out.hGroup = talloc_zero(r, struct policy_handle);
11239 if (r->out.hGroup == NULL) {
11244 _clusapi_CreateGroupEx(p, r);
11246 if (p->fault_state) {
11248 /* Return true here, srv_pipe_hnd.c will take care */
11252 if (DEBUGLEVEL >= 10) {
11253 NDR_PRINT_FUNCTION_DEBUG(clusapi_CreateGroupEx, NDR_OUT | NDR_SET_VALUES, r);
11256 push = ndr_push_init_ctx(r);
11257 if (push == NULL) {
11263 * carry over the pointer count to the reply in case we are
11264 * using full pointer. See NDR specification for full pointers
11266 push->ptr_count = pull->ptr_count;
11268 ndr_err = call->ndr_push(push, NDR_OUT, r);
11269 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
11274 p->out_data.rdata = ndr_push_blob(push);
11275 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
11282 static bool api_clusapi_OnlineGroupEx(struct pipes_struct *p)
11284 const struct ndr_interface_call *call;
11285 struct ndr_pull *pull;
11286 struct ndr_push *push;
11287 enum ndr_err_code ndr_err;
11288 struct clusapi_OnlineGroupEx *r;
11290 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_ONLINEGROUPEX];
11292 r = talloc(talloc_tos(), struct clusapi_OnlineGroupEx);
11297 pull = ndr_pull_init_blob(&p->in_data.data, r);
11298 if (pull == NULL) {
11303 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
11305 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
11307 ndr_err = call->ndr_pull(pull, NDR_IN, r);
11308 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
11313 if (DEBUGLEVEL >= 10) {
11314 NDR_PRINT_FUNCTION_DEBUG(clusapi_OnlineGroupEx, NDR_IN, r);
11317 ZERO_STRUCT(r->out);
11318 r->out.rpc_status = talloc_zero(r, WERROR);
11319 if (r->out.rpc_status == NULL) {
11324 r->out.result = _clusapi_OnlineGroupEx(p, r);
11326 if (p->fault_state) {
11328 /* Return true here, srv_pipe_hnd.c will take care */
11332 if (DEBUGLEVEL >= 10) {
11333 NDR_PRINT_FUNCTION_DEBUG(clusapi_OnlineGroupEx, NDR_OUT | NDR_SET_VALUES, r);
11336 push = ndr_push_init_ctx(r);
11337 if (push == NULL) {
11343 * carry over the pointer count to the reply in case we are
11344 * using full pointer. See NDR specification for full pointers
11346 push->ptr_count = pull->ptr_count;
11348 ndr_err = call->ndr_push(push, NDR_OUT, r);
11349 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
11354 p->out_data.rdata = ndr_push_blob(push);
11355 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
11362 static bool api_clusapi_OfflineGroupEx(struct pipes_struct *p)
11364 const struct ndr_interface_call *call;
11365 struct ndr_pull *pull;
11366 struct ndr_push *push;
11367 enum ndr_err_code ndr_err;
11368 struct clusapi_OfflineGroupEx *r;
11370 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_OFFLINEGROUPEX];
11372 r = talloc(talloc_tos(), struct clusapi_OfflineGroupEx);
11377 pull = ndr_pull_init_blob(&p->in_data.data, r);
11378 if (pull == NULL) {
11383 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
11385 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
11387 ndr_err = call->ndr_pull(pull, NDR_IN, r);
11388 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
11393 if (DEBUGLEVEL >= 10) {
11394 NDR_PRINT_FUNCTION_DEBUG(clusapi_OfflineGroupEx, NDR_IN, r);
11397 ZERO_STRUCT(r->out);
11398 r->out.rpc_status = talloc_zero(r, WERROR);
11399 if (r->out.rpc_status == NULL) {
11404 r->out.result = _clusapi_OfflineGroupEx(p, r);
11406 if (p->fault_state) {
11408 /* Return true here, srv_pipe_hnd.c will take care */
11412 if (DEBUGLEVEL >= 10) {
11413 NDR_PRINT_FUNCTION_DEBUG(clusapi_OfflineGroupEx, NDR_OUT | NDR_SET_VALUES, r);
11416 push = ndr_push_init_ctx(r);
11417 if (push == NULL) {
11423 * carry over the pointer count to the reply in case we are
11424 * using full pointer. See NDR specification for full pointers
11426 push->ptr_count = pull->ptr_count;
11428 ndr_err = call->ndr_push(push, NDR_OUT, r);
11429 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
11434 p->out_data.rdata = ndr_push_blob(push);
11435 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
11442 static bool api_clusapi_MoveGroupEx(struct pipes_struct *p)
11444 const struct ndr_interface_call *call;
11445 struct ndr_pull *pull;
11446 struct ndr_push *push;
11447 enum ndr_err_code ndr_err;
11448 struct clusapi_MoveGroupEx *r;
11450 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_MOVEGROUPEX];
11452 r = talloc(talloc_tos(), struct clusapi_MoveGroupEx);
11457 pull = ndr_pull_init_blob(&p->in_data.data, r);
11458 if (pull == NULL) {
11463 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
11465 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
11467 ndr_err = call->ndr_pull(pull, NDR_IN, r);
11468 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
11473 if (DEBUGLEVEL >= 10) {
11474 NDR_PRINT_FUNCTION_DEBUG(clusapi_MoveGroupEx, NDR_IN, r);
11477 ZERO_STRUCT(r->out);
11478 r->out.rpc_status = talloc_zero(r, WERROR);
11479 if (r->out.rpc_status == NULL) {
11484 r->out.result = _clusapi_MoveGroupEx(p, r);
11486 if (p->fault_state) {
11488 /* Return true here, srv_pipe_hnd.c will take care */
11492 if (DEBUGLEVEL >= 10) {
11493 NDR_PRINT_FUNCTION_DEBUG(clusapi_MoveGroupEx, NDR_OUT | NDR_SET_VALUES, r);
11496 push = ndr_push_init_ctx(r);
11497 if (push == NULL) {
11503 * carry over the pointer count to the reply in case we are
11504 * using full pointer. See NDR specification for full pointers
11506 push->ptr_count = pull->ptr_count;
11508 ndr_err = call->ndr_push(push, NDR_OUT, r);
11509 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
11514 p->out_data.rdata = ndr_push_blob(push);
11515 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
11522 static bool api_clusapi_MoveGroupToNodeEx(struct pipes_struct *p)
11524 const struct ndr_interface_call *call;
11525 struct ndr_pull *pull;
11526 struct ndr_push *push;
11527 enum ndr_err_code ndr_err;
11528 struct clusapi_MoveGroupToNodeEx *r;
11530 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_MOVEGROUPTONODEEX];
11532 r = talloc(talloc_tos(), struct clusapi_MoveGroupToNodeEx);
11537 pull = ndr_pull_init_blob(&p->in_data.data, r);
11538 if (pull == NULL) {
11543 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
11545 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
11547 ndr_err = call->ndr_pull(pull, NDR_IN, r);
11548 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
11553 if (DEBUGLEVEL >= 10) {
11554 NDR_PRINT_FUNCTION_DEBUG(clusapi_MoveGroupToNodeEx, NDR_IN, r);
11557 ZERO_STRUCT(r->out);
11558 r->out.rpc_status = talloc_zero(r, WERROR);
11559 if (r->out.rpc_status == NULL) {
11564 r->out.result = _clusapi_MoveGroupToNodeEx(p, r);
11566 if (p->fault_state) {
11568 /* Return true here, srv_pipe_hnd.c will take care */
11572 if (DEBUGLEVEL >= 10) {
11573 NDR_PRINT_FUNCTION_DEBUG(clusapi_MoveGroupToNodeEx, NDR_OUT | NDR_SET_VALUES, r);
11576 push = ndr_push_init_ctx(r);
11577 if (push == NULL) {
11583 * carry over the pointer count to the reply in case we are
11584 * using full pointer. See NDR specification for full pointers
11586 push->ptr_count = pull->ptr_count;
11588 ndr_err = call->ndr_push(push, NDR_OUT, r);
11589 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
11594 p->out_data.rdata = ndr_push_blob(push);
11595 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
11602 static bool api_clusapi_CancelClusterGroupOperation(struct pipes_struct *p)
11604 const struct ndr_interface_call *call;
11605 struct ndr_pull *pull;
11606 struct ndr_push *push;
11607 enum ndr_err_code ndr_err;
11608 struct clusapi_CancelClusterGroupOperation *r;
11610 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_CANCELCLUSTERGROUPOPERATION];
11612 r = talloc(talloc_tos(), struct clusapi_CancelClusterGroupOperation);
11617 pull = ndr_pull_init_blob(&p->in_data.data, r);
11618 if (pull == NULL) {
11623 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
11625 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
11627 ndr_err = call->ndr_pull(pull, NDR_IN, r);
11628 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
11633 if (DEBUGLEVEL >= 10) {
11634 NDR_PRINT_FUNCTION_DEBUG(clusapi_CancelClusterGroupOperation, NDR_IN, r);
11637 ZERO_STRUCT(r->out);
11638 r->out.rpc_status = talloc_zero(r, WERROR);
11639 if (r->out.rpc_status == NULL) {
11644 r->out.result = _clusapi_CancelClusterGroupOperation(p, r);
11646 if (p->fault_state) {
11648 /* Return true here, srv_pipe_hnd.c will take care */
11652 if (DEBUGLEVEL >= 10) {
11653 NDR_PRINT_FUNCTION_DEBUG(clusapi_CancelClusterGroupOperation, NDR_OUT | NDR_SET_VALUES, r);
11656 push = ndr_push_init_ctx(r);
11657 if (push == NULL) {
11663 * carry over the pointer count to the reply in case we are
11664 * using full pointer. See NDR specification for full pointers
11666 push->ptr_count = pull->ptr_count;
11668 ndr_err = call->ndr_push(push, NDR_OUT, r);
11669 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
11674 p->out_data.rdata = ndr_push_blob(push);
11675 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
11682 static bool api_clusapi_OnlineResourceEx(struct pipes_struct *p)
11684 const struct ndr_interface_call *call;
11685 struct ndr_pull *pull;
11686 struct ndr_push *push;
11687 enum ndr_err_code ndr_err;
11688 struct clusapi_OnlineResourceEx *r;
11690 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_ONLINERESOURCEEX];
11692 r = talloc(talloc_tos(), struct clusapi_OnlineResourceEx);
11697 pull = ndr_pull_init_blob(&p->in_data.data, r);
11698 if (pull == NULL) {
11703 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
11705 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
11707 ndr_err = call->ndr_pull(pull, NDR_IN, r);
11708 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
11713 if (DEBUGLEVEL >= 10) {
11714 NDR_PRINT_FUNCTION_DEBUG(clusapi_OnlineResourceEx, NDR_IN, r);
11717 ZERO_STRUCT(r->out);
11718 r->out.rpc_status = talloc_zero(r, WERROR);
11719 if (r->out.rpc_status == NULL) {
11724 r->out.result = _clusapi_OnlineResourceEx(p, r);
11726 if (p->fault_state) {
11728 /* Return true here, srv_pipe_hnd.c will take care */
11732 if (DEBUGLEVEL >= 10) {
11733 NDR_PRINT_FUNCTION_DEBUG(clusapi_OnlineResourceEx, NDR_OUT | NDR_SET_VALUES, r);
11736 push = ndr_push_init_ctx(r);
11737 if (push == NULL) {
11743 * carry over the pointer count to the reply in case we are
11744 * using full pointer. See NDR specification for full pointers
11746 push->ptr_count = pull->ptr_count;
11748 ndr_err = call->ndr_push(push, NDR_OUT, r);
11749 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
11754 p->out_data.rdata = ndr_push_blob(push);
11755 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
11762 static bool api_clusapi_OfflineResourceEx(struct pipes_struct *p)
11764 const struct ndr_interface_call *call;
11765 struct ndr_pull *pull;
11766 struct ndr_push *push;
11767 enum ndr_err_code ndr_err;
11768 struct clusapi_OfflineResourceEx *r;
11770 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_OFFLINERESOURCEEX];
11772 r = talloc(talloc_tos(), struct clusapi_OfflineResourceEx);
11777 pull = ndr_pull_init_blob(&p->in_data.data, r);
11778 if (pull == NULL) {
11783 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
11785 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
11787 ndr_err = call->ndr_pull(pull, NDR_IN, r);
11788 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
11793 if (DEBUGLEVEL >= 10) {
11794 NDR_PRINT_FUNCTION_DEBUG(clusapi_OfflineResourceEx, NDR_IN, r);
11797 ZERO_STRUCT(r->out);
11798 r->out.rpc_status = talloc_zero(r, WERROR);
11799 if (r->out.rpc_status == NULL) {
11804 r->out.result = _clusapi_OfflineResourceEx(p, r);
11806 if (p->fault_state) {
11808 /* Return true here, srv_pipe_hnd.c will take care */
11812 if (DEBUGLEVEL >= 10) {
11813 NDR_PRINT_FUNCTION_DEBUG(clusapi_OfflineResourceEx, NDR_OUT | NDR_SET_VALUES, r);
11816 push = ndr_push_init_ctx(r);
11817 if (push == NULL) {
11823 * carry over the pointer count to the reply in case we are
11824 * using full pointer. See NDR specification for full pointers
11826 push->ptr_count = pull->ptr_count;
11828 ndr_err = call->ndr_push(push, NDR_OUT, r);
11829 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
11834 p->out_data.rdata = ndr_push_blob(push);
11835 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
11842 static bool api_clusapi_CreateNotifyV2(struct pipes_struct *p)
11844 const struct ndr_interface_call *call;
11845 struct ndr_pull *pull;
11846 struct ndr_push *push;
11847 enum ndr_err_code ndr_err;
11848 struct clusapi_CreateNotifyV2 *r;
11850 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_CREATENOTIFYV2];
11852 r = talloc(talloc_tos(), struct clusapi_CreateNotifyV2);
11857 pull = ndr_pull_init_blob(&p->in_data.data, r);
11858 if (pull == NULL) {
11863 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
11865 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
11867 ndr_err = call->ndr_pull(pull, NDR_IN, r);
11868 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
11873 if (DEBUGLEVEL >= 10) {
11874 NDR_PRINT_FUNCTION_DEBUG(clusapi_CreateNotifyV2, NDR_IN, r);
11877 ZERO_STRUCT(r->out);
11878 r->out.rpc_error = talloc_zero(r, WERROR);
11879 if (r->out.rpc_error == NULL) {
11884 r->out.rpc_status = talloc_zero(r, WERROR);
11885 if (r->out.rpc_status == NULL) {
11890 r->out.hNotify = talloc_zero(r, struct policy_handle);
11891 if (r->out.hNotify == NULL) {
11896 _clusapi_CreateNotifyV2(p, r);
11898 if (p->fault_state) {
11900 /* Return true here, srv_pipe_hnd.c will take care */
11904 if (DEBUGLEVEL >= 10) {
11905 NDR_PRINT_FUNCTION_DEBUG(clusapi_CreateNotifyV2, NDR_OUT | NDR_SET_VALUES, r);
11908 push = ndr_push_init_ctx(r);
11909 if (push == NULL) {
11915 * carry over the pointer count to the reply in case we are
11916 * using full pointer. See NDR specification for full pointers
11918 push->ptr_count = pull->ptr_count;
11920 ndr_err = call->ndr_push(push, NDR_OUT, r);
11921 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
11926 p->out_data.rdata = ndr_push_blob(push);
11927 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
11934 static bool api_clusapi_AddNotifyV2(struct pipes_struct *p)
11936 const struct ndr_interface_call *call;
11937 struct ndr_pull *pull;
11938 struct ndr_push *push;
11939 enum ndr_err_code ndr_err;
11940 struct clusapi_AddNotifyV2 *r;
11942 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_ADDNOTIFYV2];
11944 r = talloc(talloc_tos(), struct clusapi_AddNotifyV2);
11949 pull = ndr_pull_init_blob(&p->in_data.data, r);
11950 if (pull == NULL) {
11955 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
11957 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
11959 ndr_err = call->ndr_pull(pull, NDR_IN, r);
11960 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
11965 if (DEBUGLEVEL >= 10) {
11966 NDR_PRINT_FUNCTION_DEBUG(clusapi_AddNotifyV2, NDR_IN, r);
11969 ZERO_STRUCT(r->out);
11970 r->out.rpc_status = talloc_zero(r, WERROR);
11971 if (r->out.rpc_status == NULL) {
11976 r->out.result = _clusapi_AddNotifyV2(p, r);
11978 if (p->fault_state) {
11980 /* Return true here, srv_pipe_hnd.c will take care */
11984 if (DEBUGLEVEL >= 10) {
11985 NDR_PRINT_FUNCTION_DEBUG(clusapi_AddNotifyV2, NDR_OUT | NDR_SET_VALUES, r);
11988 push = ndr_push_init_ctx(r);
11989 if (push == NULL) {
11995 * carry over the pointer count to the reply in case we are
11996 * using full pointer. See NDR specification for full pointers
11998 push->ptr_count = pull->ptr_count;
12000 ndr_err = call->ndr_push(push, NDR_OUT, r);
12001 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
12006 p->out_data.rdata = ndr_push_blob(push);
12007 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
12014 static bool api_clusapi_GetNotifyV2(struct pipes_struct *p)
12016 const struct ndr_interface_call *call;
12017 struct ndr_pull *pull;
12018 struct ndr_push *push;
12019 enum ndr_err_code ndr_err;
12020 struct clusapi_GetNotifyV2 *r;
12022 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_GETNOTIFYV2];
12024 r = talloc(talloc_tos(), struct clusapi_GetNotifyV2);
12029 pull = ndr_pull_init_blob(&p->in_data.data, r);
12030 if (pull == NULL) {
12035 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
12037 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
12039 ndr_err = call->ndr_pull(pull, NDR_IN, r);
12040 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
12045 if (DEBUGLEVEL >= 10) {
12046 NDR_PRINT_FUNCTION_DEBUG(clusapi_GetNotifyV2, NDR_IN, r);
12049 ZERO_STRUCT(r->out);
12050 r->out.Notifications = talloc_zero(r, struct NOTIFICATION_RPC *);
12051 if (r->out.Notifications == NULL) {
12056 r->out.dwNumNotifications = talloc_zero(r, uint32_t);
12057 if (r->out.dwNumNotifications == NULL) {
12062 r->out.result = _clusapi_GetNotifyV2(p, r);
12064 if (p->fault_state) {
12066 /* Return true here, srv_pipe_hnd.c will take care */
12070 if (DEBUGLEVEL >= 10) {
12071 NDR_PRINT_FUNCTION_DEBUG(clusapi_GetNotifyV2, NDR_OUT | NDR_SET_VALUES, r);
12074 push = ndr_push_init_ctx(r);
12075 if (push == NULL) {
12081 * carry over the pointer count to the reply in case we are
12082 * using full pointer. See NDR specification for full pointers
12084 push->ptr_count = pull->ptr_count;
12086 ndr_err = call->ndr_push(push, NDR_OUT, r);
12087 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
12092 p->out_data.rdata = ndr_push_blob(push);
12093 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
12100 static bool api_clusapi_QueryAllValues(struct pipes_struct *p)
12102 const struct ndr_interface_call *call;
12103 struct ndr_pull *pull;
12104 struct ndr_push *push;
12105 enum ndr_err_code ndr_err;
12106 struct clusapi_QueryAllValues *r;
12108 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_QUERYALLVALUES];
12110 r = talloc(talloc_tos(), struct clusapi_QueryAllValues);
12115 pull = ndr_pull_init_blob(&p->in_data.data, r);
12116 if (pull == NULL) {
12121 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
12123 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
12125 ndr_err = call->ndr_pull(pull, NDR_IN, r);
12126 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
12131 if (DEBUGLEVEL >= 10) {
12132 NDR_PRINT_FUNCTION_DEBUG(clusapi_QueryAllValues, NDR_IN, r);
12135 ZERO_STRUCT(r->out);
12136 r->out.pcbData = talloc_zero(r, uint32_t);
12137 if (r->out.pcbData == NULL) {
12142 r->out.ppData = talloc_zero_array(r, uint8_t *, 1);
12143 if (r->out.ppData == NULL) {
12148 r->out.rpc_status = talloc_zero(r, WERROR);
12149 if (r->out.rpc_status == NULL) {
12154 r->out.result = _clusapi_QueryAllValues(p, r);
12156 if (p->fault_state) {
12158 /* Return true here, srv_pipe_hnd.c will take care */
12162 if (DEBUGLEVEL >= 10) {
12163 NDR_PRINT_FUNCTION_DEBUG(clusapi_QueryAllValues, NDR_OUT | NDR_SET_VALUES, r);
12166 push = ndr_push_init_ctx(r);
12167 if (push == NULL) {
12173 * carry over the pointer count to the reply in case we are
12174 * using full pointer. See NDR specification for full pointers
12176 push->ptr_count = pull->ptr_count;
12178 ndr_err = call->ndr_push(push, NDR_OUT, r);
12179 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
12184 p->out_data.rdata = ndr_push_blob(push);
12185 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
12192 static bool api_clusapi_StmFindDisk(struct pipes_struct *p)
12194 const struct ndr_interface_call *call;
12195 struct ndr_pull *pull;
12196 struct ndr_push *push;
12197 enum ndr_err_code ndr_err;
12198 struct clusapi_StmFindDisk *r;
12200 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_STMFINDDISK];
12202 r = talloc(talloc_tos(), struct clusapi_StmFindDisk);
12207 pull = ndr_pull_init_blob(&p->in_data.data, r);
12208 if (pull == NULL) {
12213 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
12215 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
12217 ndr_err = call->ndr_pull(pull, NDR_IN, r);
12218 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
12223 if (DEBUGLEVEL >= 10) {
12224 NDR_PRINT_FUNCTION_DEBUG(clusapi_StmFindDisk, NDR_IN, r);
12227 ZERO_STRUCT(r->out);
12228 r->out.pDiskId = r->in.pDiskId;
12229 r->out.ppszDeviceName = talloc_zero(r, const char *);
12230 if (r->out.ppszDeviceName == NULL) {
12235 r->out.rpc_status = talloc_zero(r, WERROR);
12236 if (r->out.rpc_status == NULL) {
12241 r->out.result = _clusapi_StmFindDisk(p, r);
12243 if (p->fault_state) {
12245 /* Return true here, srv_pipe_hnd.c will take care */
12249 if (DEBUGLEVEL >= 10) {
12250 NDR_PRINT_FUNCTION_DEBUG(clusapi_StmFindDisk, NDR_OUT | NDR_SET_VALUES, r);
12253 push = ndr_push_init_ctx(r);
12254 if (push == NULL) {
12260 * carry over the pointer count to the reply in case we are
12261 * using full pointer. See NDR specification for full pointers
12263 push->ptr_count = pull->ptr_count;
12265 ndr_err = call->ndr_push(push, NDR_OUT, r);
12266 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
12271 p->out_data.rdata = ndr_push_blob(push);
12272 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
12279 static bool api_clusapi_ClusterMrr(struct pipes_struct *p)
12281 const struct ndr_interface_call *call;
12282 struct ndr_pull *pull;
12283 struct ndr_push *push;
12284 enum ndr_err_code ndr_err;
12285 struct clusapi_ClusterMrr *r;
12287 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_CLUSTERMRR];
12289 r = talloc(talloc_tos(), struct clusapi_ClusterMrr);
12294 pull = ndr_pull_init_blob(&p->in_data.data, r);
12295 if (pull == NULL) {
12300 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
12302 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
12304 ndr_err = call->ndr_pull(pull, NDR_IN, r);
12305 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
12310 if (DEBUGLEVEL >= 10) {
12311 NDR_PRINT_FUNCTION_DEBUG(clusapi_ClusterMrr, NDR_IN, r);
12314 ZERO_STRUCT(r->out);
12315 r->out.ppInfo = talloc_zero_array(r, struct CLUSTER_MRR_RESPONSE *, 1);
12316 if (r->out.ppInfo == NULL) {
12321 r->out.rpc_status = talloc_zero(r, WERROR);
12322 if (r->out.rpc_status == NULL) {
12327 r->out.result = _clusapi_ClusterMrr(p, r);
12329 if (p->fault_state) {
12331 /* Return true here, srv_pipe_hnd.c will take care */
12335 if (DEBUGLEVEL >= 10) {
12336 NDR_PRINT_FUNCTION_DEBUG(clusapi_ClusterMrr, NDR_OUT | NDR_SET_VALUES, r);
12339 push = ndr_push_init_ctx(r);
12340 if (push == NULL) {
12346 * carry over the pointer count to the reply in case we are
12347 * using full pointer. See NDR specification for full pointers
12349 push->ptr_count = pull->ptr_count;
12351 ndr_err = call->ndr_push(push, NDR_OUT, r);
12352 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
12357 p->out_data.rdata = ndr_push_blob(push);
12358 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
12365 static bool api_clusapi_CreateGroupEnum(struct pipes_struct *p)
12367 const struct ndr_interface_call *call;
12368 struct ndr_pull *pull;
12369 struct ndr_push *push;
12370 enum ndr_err_code ndr_err;
12371 struct clusapi_CreateGroupEnum *r;
12373 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_CREATEGROUPENUM];
12375 r = talloc(talloc_tos(), struct clusapi_CreateGroupEnum);
12380 pull = ndr_pull_init_blob(&p->in_data.data, r);
12381 if (pull == NULL) {
12386 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
12388 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
12390 ndr_err = call->ndr_pull(pull, NDR_IN, r);
12391 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
12396 if (DEBUGLEVEL >= 10) {
12397 NDR_PRINT_FUNCTION_DEBUG(clusapi_CreateGroupEnum, NDR_IN, r);
12400 ZERO_STRUCT(r->out);
12401 r->out.ppResultList = talloc_zero(r, struct GROUP_ENUM_LIST *);
12402 if (r->out.ppResultList == NULL) {
12407 r->out.rpc_status = talloc_zero(r, WERROR);
12408 if (r->out.rpc_status == NULL) {
12413 r->out.result = _clusapi_CreateGroupEnum(p, r);
12415 if (p->fault_state) {
12417 /* Return true here, srv_pipe_hnd.c will take care */
12421 if (DEBUGLEVEL >= 10) {
12422 NDR_PRINT_FUNCTION_DEBUG(clusapi_CreateGroupEnum, NDR_OUT | NDR_SET_VALUES, r);
12425 push = ndr_push_init_ctx(r);
12426 if (push == NULL) {
12432 * carry over the pointer count to the reply in case we are
12433 * using full pointer. See NDR specification for full pointers
12435 push->ptr_count = pull->ptr_count;
12437 ndr_err = call->ndr_push(push, NDR_OUT, r);
12438 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
12443 p->out_data.rdata = ndr_push_blob(push);
12444 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
12451 static bool api_clusapi_CreateResourceEnum(struct pipes_struct *p)
12453 const struct ndr_interface_call *call;
12454 struct ndr_pull *pull;
12455 struct ndr_push *push;
12456 enum ndr_err_code ndr_err;
12457 struct clusapi_CreateResourceEnum *r;
12459 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_CREATERESOURCEENUM];
12461 r = talloc(talloc_tos(), struct clusapi_CreateResourceEnum);
12466 pull = ndr_pull_init_blob(&p->in_data.data, r);
12467 if (pull == NULL) {
12472 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
12474 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
12476 ndr_err = call->ndr_pull(pull, NDR_IN, r);
12477 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
12482 if (DEBUGLEVEL >= 10) {
12483 NDR_PRINT_FUNCTION_DEBUG(clusapi_CreateResourceEnum, NDR_IN, r);
12486 ZERO_STRUCT(r->out);
12487 r->out.ppResultList = talloc_zero(r, struct RESOURCE_ENUM_LIST *);
12488 if (r->out.ppResultList == NULL) {
12493 r->out.rpc_status = talloc_zero(r, WERROR);
12494 if (r->out.rpc_status == NULL) {
12499 r->out.result = _clusapi_CreateResourceEnum(p, r);
12501 if (p->fault_state) {
12503 /* Return true here, srv_pipe_hnd.c will take care */
12507 if (DEBUGLEVEL >= 10) {
12508 NDR_PRINT_FUNCTION_DEBUG(clusapi_CreateResourceEnum, NDR_OUT | NDR_SET_VALUES, r);
12511 push = ndr_push_init_ctx(r);
12512 if (push == NULL) {
12518 * carry over the pointer count to the reply in case we are
12519 * using full pointer. See NDR specification for full pointers
12521 push->ptr_count = pull->ptr_count;
12523 ndr_err = call->ndr_push(push, NDR_OUT, r);
12524 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
12529 p->out_data.rdata = ndr_push_blob(push);
12530 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
12537 static bool api_clusapi_ExecuteReadBatch(struct pipes_struct *p)
12539 const struct ndr_interface_call *call;
12540 struct ndr_pull *pull;
12541 struct ndr_push *push;
12542 enum ndr_err_code ndr_err;
12543 struct clusapi_ExecuteReadBatch *r;
12545 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_EXECUTEREADBATCH];
12547 r = talloc(talloc_tos(), struct clusapi_ExecuteReadBatch);
12552 pull = ndr_pull_init_blob(&p->in_data.data, r);
12553 if (pull == NULL) {
12558 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
12560 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
12562 ndr_err = call->ndr_pull(pull, NDR_IN, r);
12563 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
12568 if (DEBUGLEVEL >= 10) {
12569 NDR_PRINT_FUNCTION_DEBUG(clusapi_ExecuteReadBatch, NDR_IN, r);
12572 ZERO_STRUCT(r->out);
12573 r->out.cbOutData = talloc_zero(r, uint32_t);
12574 if (r->out.cbOutData == NULL) {
12579 r->out.lpOutData = talloc_zero(r, uint8_t *);
12580 if (r->out.lpOutData == NULL) {
12585 r->out.rpc_status = talloc_zero(r, WERROR);
12586 if (r->out.rpc_status == NULL) {
12591 r->out.result = _clusapi_ExecuteReadBatch(p, r);
12593 if (p->fault_state) {
12595 /* Return true here, srv_pipe_hnd.c will take care */
12599 if (DEBUGLEVEL >= 10) {
12600 NDR_PRINT_FUNCTION_DEBUG(clusapi_ExecuteReadBatch, NDR_OUT | NDR_SET_VALUES, r);
12603 push = ndr_push_init_ctx(r);
12604 if (push == NULL) {
12610 * carry over the pointer count to the reply in case we are
12611 * using full pointer. See NDR specification for full pointers
12613 push->ptr_count = pull->ptr_count;
12615 ndr_err = call->ndr_push(push, NDR_OUT, r);
12616 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
12621 p->out_data.rdata = ndr_push_blob(push);
12622 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
12629 static bool api_clusapi_RestartResource(struct pipes_struct *p)
12631 const struct ndr_interface_call *call;
12632 struct ndr_pull *pull;
12633 struct ndr_push *push;
12634 enum ndr_err_code ndr_err;
12635 struct clusapi_RestartResource *r;
12637 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_RESTARTRESOURCE];
12639 r = talloc(talloc_tos(), struct clusapi_RestartResource);
12644 pull = ndr_pull_init_blob(&p->in_data.data, r);
12645 if (pull == NULL) {
12650 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
12652 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
12654 ndr_err = call->ndr_pull(pull, NDR_IN, r);
12655 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
12660 if (DEBUGLEVEL >= 10) {
12661 NDR_PRINT_FUNCTION_DEBUG(clusapi_RestartResource, NDR_IN, r);
12664 ZERO_STRUCT(r->out);
12665 r->out.rpc_status = talloc_zero(r, WERROR);
12666 if (r->out.rpc_status == NULL) {
12671 r->out.result = _clusapi_RestartResource(p, r);
12673 if (p->fault_state) {
12675 /* Return true here, srv_pipe_hnd.c will take care */
12679 if (DEBUGLEVEL >= 10) {
12680 NDR_PRINT_FUNCTION_DEBUG(clusapi_RestartResource, NDR_OUT | NDR_SET_VALUES, r);
12683 push = ndr_push_init_ctx(r);
12684 if (push == NULL) {
12690 * carry over the pointer count to the reply in case we are
12691 * using full pointer. See NDR specification for full pointers
12693 push->ptr_count = pull->ptr_count;
12695 ndr_err = call->ndr_push(push, NDR_OUT, r);
12696 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
12701 p->out_data.rdata = ndr_push_blob(push);
12702 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
12709 static bool api_clusapi_GetNotifyAsync(struct pipes_struct *p)
12711 const struct ndr_interface_call *call;
12712 struct ndr_pull *pull;
12713 struct ndr_push *push;
12714 enum ndr_err_code ndr_err;
12715 struct clusapi_GetNotifyAsync *r;
12717 call = &ndr_table_clusapi.calls[NDR_CLUSAPI_GETNOTIFYASYNC];
12719 r = talloc(talloc_tos(), struct clusapi_GetNotifyAsync);
12724 pull = ndr_pull_init_blob(&p->in_data.data, r);
12725 if (pull == NULL) {
12730 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
12732 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
12734 ndr_err = call->ndr_pull(pull, NDR_IN, r);
12735 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
12740 if (DEBUGLEVEL >= 10) {
12741 NDR_PRINT_FUNCTION_DEBUG(clusapi_GetNotifyAsync, NDR_IN, r);
12744 ZERO_STRUCT(r->out);
12745 r->out.Notifications = talloc_zero(r, struct NOTIFICATION_DATA_ASYNC_RPC *);
12746 if (r->out.Notifications == NULL) {
12751 r->out.dwNumNotifications = talloc_zero(r, uint32_t);
12752 if (r->out.dwNumNotifications == NULL) {
12757 r->out.result = _clusapi_GetNotifyAsync(p, r);
12759 if (p->fault_state) {
12761 /* Return true here, srv_pipe_hnd.c will take care */
12765 if (DEBUGLEVEL >= 10) {
12766 NDR_PRINT_FUNCTION_DEBUG(clusapi_GetNotifyAsync, NDR_OUT | NDR_SET_VALUES, r);
12769 push = ndr_push_init_ctx(r);
12770 if (push == NULL) {
12776 * carry over the pointer count to the reply in case we are
12777 * using full pointer. See NDR specification for full pointers
12779 push->ptr_count = pull->ptr_count;
12781 ndr_err = call->ndr_push(push, NDR_OUT, r);
12782 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
12787 p->out_data.rdata = ndr_push_blob(push);
12788 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
12797 static struct api_struct api_clusapi_cmds[] =
12799 {"CLUSAPI_OPENCLUSTER", NDR_CLUSAPI_OPENCLUSTER, api_clusapi_OpenCluster},
12800 {"CLUSAPI_CLOSECLUSTER", NDR_CLUSAPI_CLOSECLUSTER, api_clusapi_CloseCluster},
12801 {"CLUSAPI_SETCLUSTERNAME", NDR_CLUSAPI_SETCLUSTERNAME, api_clusapi_SetClusterName},
12802 {"CLUSAPI_GETCLUSTERNAME", NDR_CLUSAPI_GETCLUSTERNAME, api_clusapi_GetClusterName},
12803 {"CLUSAPI_GETCLUSTERVERSION", NDR_CLUSAPI_GETCLUSTERVERSION, api_clusapi_GetClusterVersion},
12804 {"CLUSAPI_GETQUORUMRESOURCE", NDR_CLUSAPI_GETQUORUMRESOURCE, api_clusapi_GetQuorumResource},
12805 {"CLUSAPI_SETQUORUMRESOURCE", NDR_CLUSAPI_SETQUORUMRESOURCE, api_clusapi_SetQuorumResource},
12806 {"CLUSAPI_CREATEENUM", NDR_CLUSAPI_CREATEENUM, api_clusapi_CreateEnum},
12807 {"CLUSAPI_OPENRESOURCE", NDR_CLUSAPI_OPENRESOURCE, api_clusapi_OpenResource},
12808 {"CLUSAPI_CREATERESOURCE", NDR_CLUSAPI_CREATERESOURCE, api_clusapi_CreateResource},
12809 {"CLUSAPI_DELETERESOURCE", NDR_CLUSAPI_DELETERESOURCE, api_clusapi_DeleteResource},
12810 {"CLUSAPI_CLOSERESOURCE", NDR_CLUSAPI_CLOSERESOURCE, api_clusapi_CloseResource},
12811 {"CLUSAPI_GETRESOURCESTATE", NDR_CLUSAPI_GETRESOURCESTATE, api_clusapi_GetResourceState},
12812 {"CLUSAPI_SETRESOURCENAME", NDR_CLUSAPI_SETRESOURCENAME, api_clusapi_SetResourceName},
12813 {"CLUSAPI_GETRESOURCEID", NDR_CLUSAPI_GETRESOURCEID, api_clusapi_GetResourceId},
12814 {"CLUSAPI_GETRESOURCETYPE", NDR_CLUSAPI_GETRESOURCETYPE, api_clusapi_GetResourceType},
12815 {"CLUSAPI_FAILRESOURCE", NDR_CLUSAPI_FAILRESOURCE, api_clusapi_FailResource},
12816 {"CLUSAPI_ONLINERESOURCE", NDR_CLUSAPI_ONLINERESOURCE, api_clusapi_OnlineResource},
12817 {"CLUSAPI_OFFLINERESOURCE", NDR_CLUSAPI_OFFLINERESOURCE, api_clusapi_OfflineResource},
12818 {"CLUSAPI_ADDRESOURCEDEPENDENCY", NDR_CLUSAPI_ADDRESOURCEDEPENDENCY, api_clusapi_AddResourceDependency},
12819 {"CLUSAPI_REMOVERESOURCEDEPENDENCY", NDR_CLUSAPI_REMOVERESOURCEDEPENDENCY, api_clusapi_RemoveResourceDependency},
12820 {"CLUSAPI_CANRESOURCEBEDEPENDENT", NDR_CLUSAPI_CANRESOURCEBEDEPENDENT, api_clusapi_CanResourceBeDependent},
12821 {"CLUSAPI_CREATERESENUM", NDR_CLUSAPI_CREATERESENUM, api_clusapi_CreateResEnum},
12822 {"CLUSAPI_ADDRESOURCENODE", NDR_CLUSAPI_ADDRESOURCENODE, api_clusapi_AddResourceNode},
12823 {"CLUSAPI_REMOVERESOURCENODE", NDR_CLUSAPI_REMOVERESOURCENODE, api_clusapi_RemoveResourceNode},
12824 {"CLUSAPI_CHANGERESOURCEGROUP", NDR_CLUSAPI_CHANGERESOURCEGROUP, api_clusapi_ChangeResourceGroup},
12825 {"CLUSAPI_CREATERESOURCETYPE", NDR_CLUSAPI_CREATERESOURCETYPE, api_clusapi_CreateResourceType},
12826 {"CLUSAPI_DELETERESOURCETYPE", NDR_CLUSAPI_DELETERESOURCETYPE, api_clusapi_DeleteResourceType},
12827 {"CLUSAPI_GETROOTKEY", NDR_CLUSAPI_GETROOTKEY, api_clusapi_GetRootKey},
12828 {"CLUSAPI_CREATEKEY", NDR_CLUSAPI_CREATEKEY, api_clusapi_CreateKey},
12829 {"CLUSAPI_OPENKEY", NDR_CLUSAPI_OPENKEY, api_clusapi_OpenKey},
12830 {"CLUSAPI_ENUMKEY", NDR_CLUSAPI_ENUMKEY, api_clusapi_EnumKey},
12831 {"CLUSAPI_SETVALUE", NDR_CLUSAPI_SETVALUE, api_clusapi_SetValue},
12832 {"CLUSAPI_DELETEVALUE", NDR_CLUSAPI_DELETEVALUE, api_clusapi_DeleteValue},
12833 {"CLUSAPI_QUERYVALUE", NDR_CLUSAPI_QUERYVALUE, api_clusapi_QueryValue},
12834 {"CLUSAPI_DELETEKEY", NDR_CLUSAPI_DELETEKEY, api_clusapi_DeleteKey},
12835 {"CLUSAPI_ENUMVALUE", NDR_CLUSAPI_ENUMVALUE, api_clusapi_EnumValue},
12836 {"CLUSAPI_CLOSEKEY", NDR_CLUSAPI_CLOSEKEY, api_clusapi_CloseKey},
12837 {"CLUSAPI_QUERYINFOKEY", NDR_CLUSAPI_QUERYINFOKEY, api_clusapi_QueryInfoKey},
12838 {"CLUSAPI_SETKEYSECURITY", NDR_CLUSAPI_SETKEYSECURITY, api_clusapi_SetKeySecurity},
12839 {"CLUSAPI_GETKEYSECURITY", NDR_CLUSAPI_GETKEYSECURITY, api_clusapi_GetKeySecurity},
12840 {"CLUSAPI_OPENGROUP", NDR_CLUSAPI_OPENGROUP, api_clusapi_OpenGroup},
12841 {"CLUSAPI_CREATEGROUP", NDR_CLUSAPI_CREATEGROUP, api_clusapi_CreateGroup},
12842 {"CLUSAPI_DELETEGROUP", NDR_CLUSAPI_DELETEGROUP, api_clusapi_DeleteGroup},
12843 {"CLUSAPI_CLOSEGROUP", NDR_CLUSAPI_CLOSEGROUP, api_clusapi_CloseGroup},
12844 {"CLUSAPI_GETGROUPSTATE", NDR_CLUSAPI_GETGROUPSTATE, api_clusapi_GetGroupState},
12845 {"CLUSAPI_SETGROUPNAME", NDR_CLUSAPI_SETGROUPNAME, api_clusapi_SetGroupName},
12846 {"CLUSAPI_GETGROUPID", NDR_CLUSAPI_GETGROUPID, api_clusapi_GetGroupId},
12847 {"CLUSAPI_GETNODEID", NDR_CLUSAPI_GETNODEID, api_clusapi_GetNodeId},
12848 {"CLUSAPI_ONLINEGROUP", NDR_CLUSAPI_ONLINEGROUP, api_clusapi_OnlineGroup},
12849 {"CLUSAPI_OFFLINEGROUP", NDR_CLUSAPI_OFFLINEGROUP, api_clusapi_OfflineGroup},
12850 {"CLUSAPI_MOVEGROUP", NDR_CLUSAPI_MOVEGROUP, api_clusapi_MoveGroup},
12851 {"CLUSAPI_MOVEGROUPTONODE", NDR_CLUSAPI_MOVEGROUPTONODE, api_clusapi_MoveGroupToNode},
12852 {"CLUSAPI_CREATEGROUPRESOURCEENUM", NDR_CLUSAPI_CREATEGROUPRESOURCEENUM, api_clusapi_CreateGroupResourceEnum},
12853 {"CLUSAPI_SETGROUPNODELIST", NDR_CLUSAPI_SETGROUPNODELIST, api_clusapi_SetGroupNodeList},
12854 {"CLUSAPI_CREATENOTIFY", NDR_CLUSAPI_CREATENOTIFY, api_clusapi_CreateNotify},
12855 {"CLUSAPI_CLOSENOTIFY", NDR_CLUSAPI_CLOSENOTIFY, api_clusapi_CloseNotify},
12856 {"CLUSAPI_ADDNOTIFYCLUSTER", NDR_CLUSAPI_ADDNOTIFYCLUSTER, api_clusapi_AddNotifyCluster},
12857 {"CLUSAPI_ADDNOTIFYNODE", NDR_CLUSAPI_ADDNOTIFYNODE, api_clusapi_AddNotifyNode},
12858 {"CLUSAPI_ADDNOTIFYGROUP", NDR_CLUSAPI_ADDNOTIFYGROUP, api_clusapi_AddNotifyGroup},
12859 {"CLUSAPI_ADDNOTIFYRESOURCE", NDR_CLUSAPI_ADDNOTIFYRESOURCE, api_clusapi_AddNotifyResource},
12860 {"CLUSAPI_ADDNOTIFYKEY", NDR_CLUSAPI_ADDNOTIFYKEY, api_clusapi_AddNotifyKey},
12861 {"CLUSAPI_READDNOTIFYNODE", NDR_CLUSAPI_READDNOTIFYNODE, api_clusapi_ReAddNotifyNode},
12862 {"CLUSAPI_READDNOTIFYGROUP", NDR_CLUSAPI_READDNOTIFYGROUP, api_clusapi_ReAddNotifyGroup},
12863 {"CLUSAPI_READDNOTIFYRESOURCE", NDR_CLUSAPI_READDNOTIFYRESOURCE, api_clusapi_ReAddNotifyResource},
12864 {"CLUSAPI_GETNOTIFY", NDR_CLUSAPI_GETNOTIFY, api_clusapi_GetNotify},
12865 {"CLUSAPI_OPENNODE", NDR_CLUSAPI_OPENNODE, api_clusapi_OpenNode},
12866 {"CLUSAPI_CLOSENODE", NDR_CLUSAPI_CLOSENODE, api_clusapi_CloseNode},
12867 {"CLUSAPI_GETNODESTATE", NDR_CLUSAPI_GETNODESTATE, api_clusapi_GetNodeState},
12868 {"CLUSAPI_PAUSENODE", NDR_CLUSAPI_PAUSENODE, api_clusapi_PauseNode},
12869 {"CLUSAPI_RESUMENODE", NDR_CLUSAPI_RESUMENODE, api_clusapi_ResumeNode},
12870 {"CLUSAPI_EVICTNODE", NDR_CLUSAPI_EVICTNODE, api_clusapi_EvictNode},
12871 {"CLUSAPI_NODERESOURCECONTROL", NDR_CLUSAPI_NODERESOURCECONTROL, api_clusapi_NodeResourceControl},
12872 {"CLUSAPI_RESOURCECONTROL", NDR_CLUSAPI_RESOURCECONTROL, api_clusapi_ResourceControl},
12873 {"CLUSAPI_NODERESOURCETYPECONTROL", NDR_CLUSAPI_NODERESOURCETYPECONTROL, api_clusapi_NodeResourceTypeControl},
12874 {"CLUSAPI_RESOURCETYPECONTROL", NDR_CLUSAPI_RESOURCETYPECONTROL, api_clusapi_ResourceTypeControl},
12875 {"CLUSAPI_NODEGROUPCONTROL", NDR_CLUSAPI_NODEGROUPCONTROL, api_clusapi_NodeGroupControl},
12876 {"CLUSAPI_GROUPCONTROL", NDR_CLUSAPI_GROUPCONTROL, api_clusapi_GroupControl},
12877 {"CLUSAPI_NODENODECONTROL", NDR_CLUSAPI_NODENODECONTROL, api_clusapi_NodeNodeControl},
12878 {"CLUSAPI_NODECONTROL", NDR_CLUSAPI_NODECONTROL, api_clusapi_NodeControl},
12879 {"OPNUM80NOTUSEDONWIRE", NDR_OPNUM80NOTUSEDONWIRE, api_Opnum80NotUsedOnWire},
12880 {"CLUSAPI_OPENNETWORK", NDR_CLUSAPI_OPENNETWORK, api_clusapi_OpenNetwork},
12881 {"CLUSAPI_CLOSENETWORK", NDR_CLUSAPI_CLOSENETWORK, api_clusapi_CloseNetwork},
12882 {"CLUSAPI_GETNETWORKSTATE", NDR_CLUSAPI_GETNETWORKSTATE, api_clusapi_GetNetworkState},
12883 {"CLUSAPI_SETNETWORKNAME", NDR_CLUSAPI_SETNETWORKNAME, api_clusapi_SetNetworkName},
12884 {"CLUSAPI_CREATENETWORKENUM", NDR_CLUSAPI_CREATENETWORKENUM, api_clusapi_CreateNetworkEnum},
12885 {"CLUSAPI_GETNETWORKID", NDR_CLUSAPI_GETNETWORKID, api_clusapi_GetNetworkId},
12886 {"CLUSAPI_SETNETWORKPRIORITYORDER", NDR_CLUSAPI_SETNETWORKPRIORITYORDER, api_clusapi_SetNetworkPriorityOrder},
12887 {"CLUSAPI_NODENETWORKCONTROL", NDR_CLUSAPI_NODENETWORKCONTROL, api_clusapi_NodeNetworkControl},
12888 {"CLUSAPI_NETWORKCONTROL", NDR_CLUSAPI_NETWORKCONTROL, api_clusapi_NetworkControl},
12889 {"CLUSAPI_ADDNOTIFYNETWORK", NDR_CLUSAPI_ADDNOTIFYNETWORK, api_clusapi_AddNotifyNetwork},
12890 {"CLUSAPI_READDNOTIFYNETWORK", NDR_CLUSAPI_READDNOTIFYNETWORK, api_clusapi_ReAddNotifyNetwork},
12891 {"CLUSAPI_OPENNETINTERFACE", NDR_CLUSAPI_OPENNETINTERFACE, api_clusapi_OpenNetInterface},
12892 {"CLUSAPI_CLOSENETINTERFACE", NDR_CLUSAPI_CLOSENETINTERFACE, api_clusapi_CloseNetInterface},
12893 {"CLUSAPI_GETNETINTERFACESTATE", NDR_CLUSAPI_GETNETINTERFACESTATE, api_clusapi_GetNetInterfaceState},
12894 {"CLUSAPI_GETNETINTERFACE", NDR_CLUSAPI_GETNETINTERFACE, api_clusapi_GetNetInterface},
12895 {"CLUSAPI_GETNETINTERFACEID", NDR_CLUSAPI_GETNETINTERFACEID, api_clusapi_GetNetInterfaceId},
12896 {"CLUSAPI_NODENETINTERFACECONTROL", NDR_CLUSAPI_NODENETINTERFACECONTROL, api_clusapi_NodeNetInterfaceControl},
12897 {"CLUSAPI_NETINTERFACECONTROL", NDR_CLUSAPI_NETINTERFACECONTROL, api_clusapi_NetInterfaceControl},
12898 {"CLUSAPI_ADDNOTIFYNETINTERFACE", NDR_CLUSAPI_ADDNOTIFYNETINTERFACE, api_clusapi_AddNotifyNetInterface},
12899 {"CLUSAPI_READDNOTIFYNETINTERFACE", NDR_CLUSAPI_READDNOTIFYNETINTERFACE, api_clusapi_ReAddNotifyNetInterface},
12900 {"CLUSAPI_CREATENODEENUM", NDR_CLUSAPI_CREATENODEENUM, api_clusapi_CreateNodeEnum},
12901 {"CLUSAPI_GETCLUSTERVERSION2", NDR_CLUSAPI_GETCLUSTERVERSION2, api_clusapi_GetClusterVersion2},
12902 {"CLUSAPI_CREATERESTYPEENUM", NDR_CLUSAPI_CREATERESTYPEENUM, api_clusapi_CreateResTypeEnum},
12903 {"CLUSAPI_BACKUPCLUSTERDATABASE", NDR_CLUSAPI_BACKUPCLUSTERDATABASE, api_clusapi_BackupClusterDatabase},
12904 {"CLUSAPI_NODECLUSTERCONTROL", NDR_CLUSAPI_NODECLUSTERCONTROL, api_clusapi_NodeClusterControl},
12905 {"CLUSAPI_CLUSTERCONTROL", NDR_CLUSAPI_CLUSTERCONTROL, api_clusapi_ClusterControl},
12906 {"CLUSAPI_UNBLOCKGETNOTIFYCALL", NDR_CLUSAPI_UNBLOCKGETNOTIFYCALL, api_clusapi_UnblockGetNotifyCall},
12907 {"CLUSAPI_SETSERVICEACCOUNTPASSWORD", NDR_CLUSAPI_SETSERVICEACCOUNTPASSWORD, api_clusapi_SetServiceAccountPassword},
12908 {"CLUSAPI_SETRESOURCEDEPENDENCYEXPRESSION", NDR_CLUSAPI_SETRESOURCEDEPENDENCYEXPRESSION, api_clusapi_SetResourceDependencyExpression},
12909 {"CLUSAPI_GETRESOURCEDEPENDENCYEXPRESSION", NDR_CLUSAPI_GETRESOURCEDEPENDENCYEXPRESSION, api_clusapi_GetResourceDependencyExpression},
12910 {"OPNUM111NOTUSEDONWIRE", NDR_OPNUM111NOTUSEDONWIRE, api_Opnum111NotUsedOnWire},
12911 {"CLUSAPI_GETRESOURCENETWORKNAME", NDR_CLUSAPI_GETRESOURCENETWORKNAME, api_clusapi_GetResourceNetworkName},
12912 {"CLUSAPI_EXECUTEBATCH", NDR_CLUSAPI_EXECUTEBATCH, api_clusapi_ExecuteBatch},
12913 {"CLUSAPI_CREATEBATCHPORT", NDR_CLUSAPI_CREATEBATCHPORT, api_clusapi_CreateBatchPort},
12914 {"CLUSAPI_GETBATCHNOTIFICATION", NDR_CLUSAPI_GETBATCHNOTIFICATION, api_clusapi_GetBatchNotification},
12915 {"CLUSAPI_CLOSEBATCHPORT", NDR_CLUSAPI_CLOSEBATCHPORT, api_clusapi_CloseBatchPort},
12916 {"CLUSAPI_OPENCLUSTEREX", NDR_CLUSAPI_OPENCLUSTEREX, api_clusapi_OpenClusterEx},
12917 {"CLUSAPI_OPENNODEEX", NDR_CLUSAPI_OPENNODEEX, api_clusapi_OpenNodeEx},
12918 {"CLUSAPI_OPENGROUPEX", NDR_CLUSAPI_OPENGROUPEX, api_clusapi_OpenGroupEx},
12919 {"CLUSAPI_OPENRESOURCEEX", NDR_CLUSAPI_OPENRESOURCEEX, api_clusapi_OpenResourceEx},
12920 {"CLUSAPI_OPENNETWORKEX", NDR_CLUSAPI_OPENNETWORKEX, api_clusapi_OpenNetworkEx},
12921 {"CLUSAPI_OPENNETINTERFACEEX", NDR_CLUSAPI_OPENNETINTERFACEEX, api_clusapi_OpenNetInterfaceEx},
12922 {"CLUSAPI_CHANGECSVSTATE", NDR_CLUSAPI_CHANGECSVSTATE, api_clusapi_ChangeCsvState},
12923 {"CLUSAPI_CREATENODEENUMEX", NDR_CLUSAPI_CREATENODEENUMEX, api_clusapi_CreateNodeEnumEx},
12924 {"CLUSAPI_CREATEENUMEX", NDR_CLUSAPI_CREATEENUMEX, api_clusapi_CreateEnumEx},
12925 {"CLUSAPI_PAUSENODEEX", NDR_CLUSAPI_PAUSENODEEX, api_clusapi_PauseNodeEx},
12926 {"CLUSAPI_PAUSENODEWITHDRAINTARGET", NDR_CLUSAPI_PAUSENODEWITHDRAINTARGET, api_clusapi_PauseNodeWithDrainTarget},
12927 {"CLUSAPI_RESUMENODEEX", NDR_CLUSAPI_RESUMENODEEX, api_clusapi_ResumeNodeEx},
12928 {"CLUSAPI_CREATEGROUPEX", NDR_CLUSAPI_CREATEGROUPEX, api_clusapi_CreateGroupEx},
12929 {"CLUSAPI_ONLINEGROUPEX", NDR_CLUSAPI_ONLINEGROUPEX, api_clusapi_OnlineGroupEx},
12930 {"CLUSAPI_OFFLINEGROUPEX", NDR_CLUSAPI_OFFLINEGROUPEX, api_clusapi_OfflineGroupEx},
12931 {"CLUSAPI_MOVEGROUPEX", NDR_CLUSAPI_MOVEGROUPEX, api_clusapi_MoveGroupEx},
12932 {"CLUSAPI_MOVEGROUPTONODEEX", NDR_CLUSAPI_MOVEGROUPTONODEEX, api_clusapi_MoveGroupToNodeEx},
12933 {"CLUSAPI_CANCELCLUSTERGROUPOPERATION", NDR_CLUSAPI_CANCELCLUSTERGROUPOPERATION, api_clusapi_CancelClusterGroupOperation},
12934 {"CLUSAPI_ONLINERESOURCEEX", NDR_CLUSAPI_ONLINERESOURCEEX, api_clusapi_OnlineResourceEx},
12935 {"CLUSAPI_OFFLINERESOURCEEX", NDR_CLUSAPI_OFFLINERESOURCEEX, api_clusapi_OfflineResourceEx},
12936 {"CLUSAPI_CREATENOTIFYV2", NDR_CLUSAPI_CREATENOTIFYV2, api_clusapi_CreateNotifyV2},
12937 {"CLUSAPI_ADDNOTIFYV2", NDR_CLUSAPI_ADDNOTIFYV2, api_clusapi_AddNotifyV2},
12938 {"CLUSAPI_GETNOTIFYV2", NDR_CLUSAPI_GETNOTIFYV2, api_clusapi_GetNotifyV2},
12939 {"CLUSAPI_QUERYALLVALUES", NDR_CLUSAPI_QUERYALLVALUES, api_clusapi_QueryAllValues},
12940 {"CLUSAPI_STMFINDDISK", NDR_CLUSAPI_STMFINDDISK, api_clusapi_StmFindDisk},
12941 {"CLUSAPI_CLUSTERMRR", NDR_CLUSAPI_CLUSTERMRR, api_clusapi_ClusterMrr},
12942 {"CLUSAPI_CREATEGROUPENUM", NDR_CLUSAPI_CREATEGROUPENUM, api_clusapi_CreateGroupEnum},
12943 {"CLUSAPI_CREATERESOURCEENUM", NDR_CLUSAPI_CREATERESOURCEENUM, api_clusapi_CreateResourceEnum},
12944 {"CLUSAPI_EXECUTEREADBATCH", NDR_CLUSAPI_EXECUTEREADBATCH, api_clusapi_ExecuteReadBatch},
12945 {"CLUSAPI_RESTARTRESOURCE", NDR_CLUSAPI_RESTARTRESOURCE, api_clusapi_RestartResource},
12946 {"CLUSAPI_GETNOTIFYASYNC", NDR_CLUSAPI_GETNOTIFYASYNC, api_clusapi_GetNotifyAsync},
12949 void clusapi_get_pipe_fns(struct api_struct **fns, int *n_fns)
12951 *fns = api_clusapi_cmds;
12952 *n_fns = sizeof(api_clusapi_cmds) / sizeof(struct api_struct);
12955 NTSTATUS rpc_clusapi_init(const struct rpc_srv_callbacks *rpc_srv_cb)
12957 return rpc_srv_register(SMB_RPC_INTERFACE_VERSION, "clusapi", "clusapi", &ndr_table_clusapi, api_clusapi_cmds, sizeof(api_clusapi_cmds) / sizeof(struct api_struct), rpc_srv_cb);
12960 NTSTATUS rpc_clusapi_shutdown(void)
12962 return rpc_srv_unregister(&ndr_table_clusapi);