2 * Unix SMB/CIFS implementation.
3 * server auto-generated by pidl. DO NOT MODIFY!
8 #include "bin/default/librpc/gen_ndr/srv_ntsvcs.h"
10 static bool api_PNP_Disconnect(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 PNP_Disconnect *r;
18 call = &ndr_table_ntsvcs.calls[NDR_PNP_DISCONNECT];
20 r = talloc(talloc_tos(), struct PNP_Disconnect);
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(PNP_Disconnect, NDR_IN, r);
45 r->out.result = _PNP_Disconnect(p, r);
49 /* Return true here, srv_pipe_hnd.c will take care */
53 if (DEBUGLEVEL >= 10) {
54 NDR_PRINT_FUNCTION_DEBUG(PNP_Disconnect, NDR_OUT | NDR_SET_VALUES, r);
57 push = ndr_push_init_ctx(r);
64 * carry over the pointer count to the reply in case we are
65 * using full pointer. See NDR specification for full pointers
67 push->ptr_count = pull->ptr_count;
69 ndr_err = call->ndr_push(push, NDR_OUT, r);
70 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
75 p->out_data.rdata = ndr_push_blob(push);
76 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
83 static bool api_PNP_Connect(struct pipes_struct *p)
85 const struct ndr_interface_call *call;
86 struct ndr_pull *pull;
87 struct ndr_push *push;
88 enum ndr_err_code ndr_err;
89 struct PNP_Connect *r;
91 call = &ndr_table_ntsvcs.calls[NDR_PNP_CONNECT];
93 r = talloc(talloc_tos(), struct PNP_Connect);
98 pull = ndr_pull_init_blob(&p->in_data.data, r);
104 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
106 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
108 ndr_err = call->ndr_pull(pull, NDR_IN, r);
109 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
114 if (DEBUGLEVEL >= 10) {
115 NDR_PRINT_FUNCTION_DEBUG(PNP_Connect, NDR_IN, r);
118 r->out.result = _PNP_Connect(p, r);
120 if (p->fault_state) {
122 /* Return true here, srv_pipe_hnd.c will take care */
126 if (DEBUGLEVEL >= 10) {
127 NDR_PRINT_FUNCTION_DEBUG(PNP_Connect, NDR_OUT | NDR_SET_VALUES, r);
130 push = ndr_push_init_ctx(r);
137 * carry over the pointer count to the reply in case we are
138 * using full pointer. See NDR specification for full pointers
140 push->ptr_count = pull->ptr_count;
142 ndr_err = call->ndr_push(push, NDR_OUT, r);
143 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
148 p->out_data.rdata = ndr_push_blob(push);
149 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
156 static bool api_PNP_GetVersion(struct pipes_struct *p)
158 const struct ndr_interface_call *call;
159 struct ndr_pull *pull;
160 struct ndr_push *push;
161 enum ndr_err_code ndr_err;
162 struct PNP_GetVersion *r;
164 call = &ndr_table_ntsvcs.calls[NDR_PNP_GETVERSION];
166 r = talloc(talloc_tos(), struct PNP_GetVersion);
171 pull = ndr_pull_init_blob(&p->in_data.data, r);
177 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
179 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
181 ndr_err = call->ndr_pull(pull, NDR_IN, r);
182 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
187 if (DEBUGLEVEL >= 10) {
188 NDR_PRINT_FUNCTION_DEBUG(PNP_GetVersion, NDR_IN, r);
192 r->out.version = talloc_zero(r, uint16_t);
193 if (r->out.version == NULL) {
198 r->out.result = _PNP_GetVersion(p, r);
200 if (p->fault_state) {
202 /* Return true here, srv_pipe_hnd.c will take care */
206 if (DEBUGLEVEL >= 10) {
207 NDR_PRINT_FUNCTION_DEBUG(PNP_GetVersion, NDR_OUT | NDR_SET_VALUES, r);
210 push = ndr_push_init_ctx(r);
217 * carry over the pointer count to the reply in case we are
218 * using full pointer. See NDR specification for full pointers
220 push->ptr_count = pull->ptr_count;
222 ndr_err = call->ndr_push(push, NDR_OUT, r);
223 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
228 p->out_data.rdata = ndr_push_blob(push);
229 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
236 static bool api_PNP_GetGlobalState(struct pipes_struct *p)
238 const struct ndr_interface_call *call;
239 struct ndr_pull *pull;
240 struct ndr_push *push;
241 enum ndr_err_code ndr_err;
242 struct PNP_GetGlobalState *r;
244 call = &ndr_table_ntsvcs.calls[NDR_PNP_GETGLOBALSTATE];
246 r = talloc(talloc_tos(), struct PNP_GetGlobalState);
251 pull = ndr_pull_init_blob(&p->in_data.data, r);
257 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
259 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
261 ndr_err = call->ndr_pull(pull, NDR_IN, r);
262 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
267 if (DEBUGLEVEL >= 10) {
268 NDR_PRINT_FUNCTION_DEBUG(PNP_GetGlobalState, NDR_IN, r);
271 r->out.result = _PNP_GetGlobalState(p, r);
273 if (p->fault_state) {
275 /* Return true here, srv_pipe_hnd.c will take care */
279 if (DEBUGLEVEL >= 10) {
280 NDR_PRINT_FUNCTION_DEBUG(PNP_GetGlobalState, NDR_OUT | NDR_SET_VALUES, r);
283 push = ndr_push_init_ctx(r);
290 * carry over the pointer count to the reply in case we are
291 * using full pointer. See NDR specification for full pointers
293 push->ptr_count = pull->ptr_count;
295 ndr_err = call->ndr_push(push, NDR_OUT, r);
296 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
301 p->out_data.rdata = ndr_push_blob(push);
302 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
309 static bool api_PNP_InitDetection(struct pipes_struct *p)
311 const struct ndr_interface_call *call;
312 struct ndr_pull *pull;
313 struct ndr_push *push;
314 enum ndr_err_code ndr_err;
315 struct PNP_InitDetection *r;
317 call = &ndr_table_ntsvcs.calls[NDR_PNP_INITDETECTION];
319 r = talloc(talloc_tos(), struct PNP_InitDetection);
324 pull = ndr_pull_init_blob(&p->in_data.data, r);
330 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
332 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
334 ndr_err = call->ndr_pull(pull, NDR_IN, r);
335 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
340 if (DEBUGLEVEL >= 10) {
341 NDR_PRINT_FUNCTION_DEBUG(PNP_InitDetection, NDR_IN, r);
344 r->out.result = _PNP_InitDetection(p, r);
346 if (p->fault_state) {
348 /* Return true here, srv_pipe_hnd.c will take care */
352 if (DEBUGLEVEL >= 10) {
353 NDR_PRINT_FUNCTION_DEBUG(PNP_InitDetection, NDR_OUT | NDR_SET_VALUES, r);
356 push = ndr_push_init_ctx(r);
363 * carry over the pointer count to the reply in case we are
364 * using full pointer. See NDR specification for full pointers
366 push->ptr_count = pull->ptr_count;
368 ndr_err = call->ndr_push(push, NDR_OUT, r);
369 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
374 p->out_data.rdata = ndr_push_blob(push);
375 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
382 static bool api_PNP_ReportLogOn(struct pipes_struct *p)
384 const struct ndr_interface_call *call;
385 struct ndr_pull *pull;
386 struct ndr_push *push;
387 enum ndr_err_code ndr_err;
388 struct PNP_ReportLogOn *r;
390 call = &ndr_table_ntsvcs.calls[NDR_PNP_REPORTLOGON];
392 r = talloc(talloc_tos(), struct PNP_ReportLogOn);
397 pull = ndr_pull_init_blob(&p->in_data.data, r);
403 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
405 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
407 ndr_err = call->ndr_pull(pull, NDR_IN, r);
408 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
413 if (DEBUGLEVEL >= 10) {
414 NDR_PRINT_FUNCTION_DEBUG(PNP_ReportLogOn, NDR_IN, r);
417 r->out.result = _PNP_ReportLogOn(p, r);
419 if (p->fault_state) {
421 /* Return true here, srv_pipe_hnd.c will take care */
425 if (DEBUGLEVEL >= 10) {
426 NDR_PRINT_FUNCTION_DEBUG(PNP_ReportLogOn, NDR_OUT | NDR_SET_VALUES, r);
429 push = ndr_push_init_ctx(r);
436 * carry over the pointer count to the reply in case we are
437 * using full pointer. See NDR specification for full pointers
439 push->ptr_count = pull->ptr_count;
441 ndr_err = call->ndr_push(push, NDR_OUT, r);
442 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
447 p->out_data.rdata = ndr_push_blob(push);
448 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
455 static bool api_PNP_ValidateDeviceInstance(struct pipes_struct *p)
457 const struct ndr_interface_call *call;
458 struct ndr_pull *pull;
459 struct ndr_push *push;
460 enum ndr_err_code ndr_err;
461 struct PNP_ValidateDeviceInstance *r;
463 call = &ndr_table_ntsvcs.calls[NDR_PNP_VALIDATEDEVICEINSTANCE];
465 r = talloc(talloc_tos(), struct PNP_ValidateDeviceInstance);
470 pull = ndr_pull_init_blob(&p->in_data.data, r);
476 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
478 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
480 ndr_err = call->ndr_pull(pull, NDR_IN, r);
481 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
486 if (DEBUGLEVEL >= 10) {
487 NDR_PRINT_FUNCTION_DEBUG(PNP_ValidateDeviceInstance, NDR_IN, r);
490 r->out.result = _PNP_ValidateDeviceInstance(p, r);
492 if (p->fault_state) {
494 /* Return true here, srv_pipe_hnd.c will take care */
498 if (DEBUGLEVEL >= 10) {
499 NDR_PRINT_FUNCTION_DEBUG(PNP_ValidateDeviceInstance, NDR_OUT | NDR_SET_VALUES, r);
502 push = ndr_push_init_ctx(r);
509 * carry over the pointer count to the reply in case we are
510 * using full pointer. See NDR specification for full pointers
512 push->ptr_count = pull->ptr_count;
514 ndr_err = call->ndr_push(push, NDR_OUT, r);
515 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
520 p->out_data.rdata = ndr_push_blob(push);
521 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
528 static bool api_PNP_GetRootDeviceInstance(struct pipes_struct *p)
530 const struct ndr_interface_call *call;
531 struct ndr_pull *pull;
532 struct ndr_push *push;
533 enum ndr_err_code ndr_err;
534 struct PNP_GetRootDeviceInstance *r;
536 call = &ndr_table_ntsvcs.calls[NDR_PNP_GETROOTDEVICEINSTANCE];
538 r = talloc(talloc_tos(), struct PNP_GetRootDeviceInstance);
543 pull = ndr_pull_init_blob(&p->in_data.data, r);
549 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
551 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
553 ndr_err = call->ndr_pull(pull, NDR_IN, r);
554 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
559 if (DEBUGLEVEL >= 10) {
560 NDR_PRINT_FUNCTION_DEBUG(PNP_GetRootDeviceInstance, NDR_IN, r);
563 r->out.result = _PNP_GetRootDeviceInstance(p, r);
565 if (p->fault_state) {
567 /* Return true here, srv_pipe_hnd.c will take care */
571 if (DEBUGLEVEL >= 10) {
572 NDR_PRINT_FUNCTION_DEBUG(PNP_GetRootDeviceInstance, NDR_OUT | NDR_SET_VALUES, r);
575 push = ndr_push_init_ctx(r);
582 * carry over the pointer count to the reply in case we are
583 * using full pointer. See NDR specification for full pointers
585 push->ptr_count = pull->ptr_count;
587 ndr_err = call->ndr_push(push, NDR_OUT, r);
588 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
593 p->out_data.rdata = ndr_push_blob(push);
594 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
601 static bool api_PNP_GetRelatedDeviceInstance(struct pipes_struct *p)
603 const struct ndr_interface_call *call;
604 struct ndr_pull *pull;
605 struct ndr_push *push;
606 enum ndr_err_code ndr_err;
607 struct PNP_GetRelatedDeviceInstance *r;
609 call = &ndr_table_ntsvcs.calls[NDR_PNP_GETRELATEDDEVICEINSTANCE];
611 r = talloc(talloc_tos(), struct PNP_GetRelatedDeviceInstance);
616 pull = ndr_pull_init_blob(&p->in_data.data, r);
622 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
624 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
626 ndr_err = call->ndr_pull(pull, NDR_IN, r);
627 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
632 if (DEBUGLEVEL >= 10) {
633 NDR_PRINT_FUNCTION_DEBUG(PNP_GetRelatedDeviceInstance, NDR_IN, r);
636 r->out.result = _PNP_GetRelatedDeviceInstance(p, r);
638 if (p->fault_state) {
640 /* Return true here, srv_pipe_hnd.c will take care */
644 if (DEBUGLEVEL >= 10) {
645 NDR_PRINT_FUNCTION_DEBUG(PNP_GetRelatedDeviceInstance, NDR_OUT | NDR_SET_VALUES, r);
648 push = ndr_push_init_ctx(r);
655 * carry over the pointer count to the reply in case we are
656 * using full pointer. See NDR specification for full pointers
658 push->ptr_count = pull->ptr_count;
660 ndr_err = call->ndr_push(push, NDR_OUT, r);
661 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
666 p->out_data.rdata = ndr_push_blob(push);
667 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
674 static bool api_PNP_EnumerateSubKeys(struct pipes_struct *p)
676 const struct ndr_interface_call *call;
677 struct ndr_pull *pull;
678 struct ndr_push *push;
679 enum ndr_err_code ndr_err;
680 struct PNP_EnumerateSubKeys *r;
682 call = &ndr_table_ntsvcs.calls[NDR_PNP_ENUMERATESUBKEYS];
684 r = talloc(talloc_tos(), struct PNP_EnumerateSubKeys);
689 pull = ndr_pull_init_blob(&p->in_data.data, r);
695 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
697 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
699 ndr_err = call->ndr_pull(pull, NDR_IN, r);
700 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
705 if (DEBUGLEVEL >= 10) {
706 NDR_PRINT_FUNCTION_DEBUG(PNP_EnumerateSubKeys, NDR_IN, r);
709 r->out.result = _PNP_EnumerateSubKeys(p, r);
711 if (p->fault_state) {
713 /* Return true here, srv_pipe_hnd.c will take care */
717 if (DEBUGLEVEL >= 10) {
718 NDR_PRINT_FUNCTION_DEBUG(PNP_EnumerateSubKeys, NDR_OUT | NDR_SET_VALUES, r);
721 push = ndr_push_init_ctx(r);
728 * carry over the pointer count to the reply in case we are
729 * using full pointer. See NDR specification for full pointers
731 push->ptr_count = pull->ptr_count;
733 ndr_err = call->ndr_push(push, NDR_OUT, r);
734 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
739 p->out_data.rdata = ndr_push_blob(push);
740 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
747 static bool api_PNP_GetDeviceList(struct pipes_struct *p)
749 const struct ndr_interface_call *call;
750 struct ndr_pull *pull;
751 struct ndr_push *push;
752 enum ndr_err_code ndr_err;
753 struct PNP_GetDeviceList *r;
755 call = &ndr_table_ntsvcs.calls[NDR_PNP_GETDEVICELIST];
757 r = talloc(talloc_tos(), struct PNP_GetDeviceList);
762 pull = ndr_pull_init_blob(&p->in_data.data, r);
768 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
770 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
772 ndr_err = call->ndr_pull(pull, NDR_IN, r);
773 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
778 if (DEBUGLEVEL >= 10) {
779 NDR_PRINT_FUNCTION_DEBUG(PNP_GetDeviceList, NDR_IN, r);
783 r->out.length = r->in.length;
784 r->out.buffer = talloc_zero_array(r, uint16_t, *r->out.length);
785 if (r->out.buffer == NULL) {
790 r->out.result = _PNP_GetDeviceList(p, r);
792 if (p->fault_state) {
794 /* Return true here, srv_pipe_hnd.c will take care */
798 if (DEBUGLEVEL >= 10) {
799 NDR_PRINT_FUNCTION_DEBUG(PNP_GetDeviceList, NDR_OUT | NDR_SET_VALUES, r);
802 push = ndr_push_init_ctx(r);
809 * carry over the pointer count to the reply in case we are
810 * using full pointer. See NDR specification for full pointers
812 push->ptr_count = pull->ptr_count;
814 ndr_err = call->ndr_push(push, NDR_OUT, r);
815 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
820 p->out_data.rdata = ndr_push_blob(push);
821 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
828 static bool api_PNP_GetDeviceListSize(struct pipes_struct *p)
830 const struct ndr_interface_call *call;
831 struct ndr_pull *pull;
832 struct ndr_push *push;
833 enum ndr_err_code ndr_err;
834 struct PNP_GetDeviceListSize *r;
836 call = &ndr_table_ntsvcs.calls[NDR_PNP_GETDEVICELISTSIZE];
838 r = talloc(talloc_tos(), struct PNP_GetDeviceListSize);
843 pull = ndr_pull_init_blob(&p->in_data.data, r);
849 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
851 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
853 ndr_err = call->ndr_pull(pull, NDR_IN, r);
854 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
859 if (DEBUGLEVEL >= 10) {
860 NDR_PRINT_FUNCTION_DEBUG(PNP_GetDeviceListSize, NDR_IN, r);
864 r->out.size = talloc_zero(r, uint32_t);
865 if (r->out.size == NULL) {
870 r->out.result = _PNP_GetDeviceListSize(p, r);
872 if (p->fault_state) {
874 /* Return true here, srv_pipe_hnd.c will take care */
878 if (DEBUGLEVEL >= 10) {
879 NDR_PRINT_FUNCTION_DEBUG(PNP_GetDeviceListSize, NDR_OUT | NDR_SET_VALUES, r);
882 push = ndr_push_init_ctx(r);
889 * carry over the pointer count to the reply in case we are
890 * using full pointer. See NDR specification for full pointers
892 push->ptr_count = pull->ptr_count;
894 ndr_err = call->ndr_push(push, NDR_OUT, r);
895 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
900 p->out_data.rdata = ndr_push_blob(push);
901 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
908 static bool api_PNP_GetDepth(struct pipes_struct *p)
910 const struct ndr_interface_call *call;
911 struct ndr_pull *pull;
912 struct ndr_push *push;
913 enum ndr_err_code ndr_err;
914 struct PNP_GetDepth *r;
916 call = &ndr_table_ntsvcs.calls[NDR_PNP_GETDEPTH];
918 r = talloc(talloc_tos(), struct PNP_GetDepth);
923 pull = ndr_pull_init_blob(&p->in_data.data, r);
929 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
931 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
933 ndr_err = call->ndr_pull(pull, NDR_IN, r);
934 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
939 if (DEBUGLEVEL >= 10) {
940 NDR_PRINT_FUNCTION_DEBUG(PNP_GetDepth, NDR_IN, r);
943 r->out.result = _PNP_GetDepth(p, r);
945 if (p->fault_state) {
947 /* Return true here, srv_pipe_hnd.c will take care */
951 if (DEBUGLEVEL >= 10) {
952 NDR_PRINT_FUNCTION_DEBUG(PNP_GetDepth, NDR_OUT | NDR_SET_VALUES, r);
955 push = ndr_push_init_ctx(r);
962 * carry over the pointer count to the reply in case we are
963 * using full pointer. See NDR specification for full pointers
965 push->ptr_count = pull->ptr_count;
967 ndr_err = call->ndr_push(push, NDR_OUT, r);
968 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
973 p->out_data.rdata = ndr_push_blob(push);
974 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
981 static bool api_PNP_GetDeviceRegProp(struct pipes_struct *p)
983 const struct ndr_interface_call *call;
984 struct ndr_pull *pull;
985 struct ndr_push *push;
986 enum ndr_err_code ndr_err;
987 struct PNP_GetDeviceRegProp *r;
989 call = &ndr_table_ntsvcs.calls[NDR_PNP_GETDEVICEREGPROP];
991 r = talloc(talloc_tos(), struct PNP_GetDeviceRegProp);
996 pull = ndr_pull_init_blob(&p->in_data.data, r);
1002 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
1004 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
1006 ndr_err = call->ndr_pull(pull, NDR_IN, r);
1007 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1012 if (DEBUGLEVEL >= 10) {
1013 NDR_PRINT_FUNCTION_DEBUG(PNP_GetDeviceRegProp, NDR_IN, r);
1016 ZERO_STRUCT(r->out);
1017 r->out.reg_data_type = r->in.reg_data_type;
1018 r->out.buffer_size = r->in.buffer_size;
1019 r->out.needed = r->in.needed;
1020 r->out.buffer = talloc_zero_array(r, uint8_t, *r->out.buffer_size);
1021 if (r->out.buffer == NULL) {
1026 r->out.result = _PNP_GetDeviceRegProp(p, r);
1028 if (p->fault_state) {
1030 /* Return true here, srv_pipe_hnd.c will take care */
1034 if (DEBUGLEVEL >= 10) {
1035 NDR_PRINT_FUNCTION_DEBUG(PNP_GetDeviceRegProp, NDR_OUT | NDR_SET_VALUES, r);
1038 push = ndr_push_init_ctx(r);
1045 * carry over the pointer count to the reply in case we are
1046 * using full pointer. See NDR specification for full pointers
1048 push->ptr_count = pull->ptr_count;
1050 ndr_err = call->ndr_push(push, NDR_OUT, r);
1051 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1056 p->out_data.rdata = ndr_push_blob(push);
1057 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
1064 static bool api_PNP_SetDeviceRegProp(struct pipes_struct *p)
1066 const struct ndr_interface_call *call;
1067 struct ndr_pull *pull;
1068 struct ndr_push *push;
1069 enum ndr_err_code ndr_err;
1070 struct PNP_SetDeviceRegProp *r;
1072 call = &ndr_table_ntsvcs.calls[NDR_PNP_SETDEVICEREGPROP];
1074 r = talloc(talloc_tos(), struct PNP_SetDeviceRegProp);
1079 pull = ndr_pull_init_blob(&p->in_data.data, r);
1085 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
1087 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
1089 ndr_err = call->ndr_pull(pull, NDR_IN, r);
1090 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1095 if (DEBUGLEVEL >= 10) {
1096 NDR_PRINT_FUNCTION_DEBUG(PNP_SetDeviceRegProp, NDR_IN, r);
1099 r->out.result = _PNP_SetDeviceRegProp(p, r);
1101 if (p->fault_state) {
1103 /* Return true here, srv_pipe_hnd.c will take care */
1107 if (DEBUGLEVEL >= 10) {
1108 NDR_PRINT_FUNCTION_DEBUG(PNP_SetDeviceRegProp, NDR_OUT | NDR_SET_VALUES, r);
1111 push = ndr_push_init_ctx(r);
1118 * carry over the pointer count to the reply in case we are
1119 * using full pointer. See NDR specification for full pointers
1121 push->ptr_count = pull->ptr_count;
1123 ndr_err = call->ndr_push(push, NDR_OUT, r);
1124 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1129 p->out_data.rdata = ndr_push_blob(push);
1130 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
1137 static bool api_PNP_GetClassInstance(struct pipes_struct *p)
1139 const struct ndr_interface_call *call;
1140 struct ndr_pull *pull;
1141 struct ndr_push *push;
1142 enum ndr_err_code ndr_err;
1143 struct PNP_GetClassInstance *r;
1145 call = &ndr_table_ntsvcs.calls[NDR_PNP_GETCLASSINSTANCE];
1147 r = talloc(talloc_tos(), struct PNP_GetClassInstance);
1152 pull = ndr_pull_init_blob(&p->in_data.data, r);
1158 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
1160 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
1162 ndr_err = call->ndr_pull(pull, NDR_IN, r);
1163 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1168 if (DEBUGLEVEL >= 10) {
1169 NDR_PRINT_FUNCTION_DEBUG(PNP_GetClassInstance, NDR_IN, r);
1172 r->out.result = _PNP_GetClassInstance(p, r);
1174 if (p->fault_state) {
1176 /* Return true here, srv_pipe_hnd.c will take care */
1180 if (DEBUGLEVEL >= 10) {
1181 NDR_PRINT_FUNCTION_DEBUG(PNP_GetClassInstance, NDR_OUT | NDR_SET_VALUES, r);
1184 push = ndr_push_init_ctx(r);
1191 * carry over the pointer count to the reply in case we are
1192 * using full pointer. See NDR specification for full pointers
1194 push->ptr_count = pull->ptr_count;
1196 ndr_err = call->ndr_push(push, NDR_OUT, r);
1197 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1202 p->out_data.rdata = ndr_push_blob(push);
1203 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
1210 static bool api_PNP_CreateKey(struct pipes_struct *p)
1212 const struct ndr_interface_call *call;
1213 struct ndr_pull *pull;
1214 struct ndr_push *push;
1215 enum ndr_err_code ndr_err;
1216 struct PNP_CreateKey *r;
1218 call = &ndr_table_ntsvcs.calls[NDR_PNP_CREATEKEY];
1220 r = talloc(talloc_tos(), struct PNP_CreateKey);
1225 pull = ndr_pull_init_blob(&p->in_data.data, r);
1231 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
1233 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
1235 ndr_err = call->ndr_pull(pull, NDR_IN, r);
1236 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1241 if (DEBUGLEVEL >= 10) {
1242 NDR_PRINT_FUNCTION_DEBUG(PNP_CreateKey, NDR_IN, r);
1245 r->out.result = _PNP_CreateKey(p, r);
1247 if (p->fault_state) {
1249 /* Return true here, srv_pipe_hnd.c will take care */
1253 if (DEBUGLEVEL >= 10) {
1254 NDR_PRINT_FUNCTION_DEBUG(PNP_CreateKey, NDR_OUT | NDR_SET_VALUES, r);
1257 push = ndr_push_init_ctx(r);
1264 * carry over the pointer count to the reply in case we are
1265 * using full pointer. See NDR specification for full pointers
1267 push->ptr_count = pull->ptr_count;
1269 ndr_err = call->ndr_push(push, NDR_OUT, r);
1270 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1275 p->out_data.rdata = ndr_push_blob(push);
1276 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
1283 static bool api_PNP_DeleteRegistryKey(struct pipes_struct *p)
1285 const struct ndr_interface_call *call;
1286 struct ndr_pull *pull;
1287 struct ndr_push *push;
1288 enum ndr_err_code ndr_err;
1289 struct PNP_DeleteRegistryKey *r;
1291 call = &ndr_table_ntsvcs.calls[NDR_PNP_DELETEREGISTRYKEY];
1293 r = talloc(talloc_tos(), struct PNP_DeleteRegistryKey);
1298 pull = ndr_pull_init_blob(&p->in_data.data, r);
1304 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
1306 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
1308 ndr_err = call->ndr_pull(pull, NDR_IN, r);
1309 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1314 if (DEBUGLEVEL >= 10) {
1315 NDR_PRINT_FUNCTION_DEBUG(PNP_DeleteRegistryKey, NDR_IN, r);
1318 r->out.result = _PNP_DeleteRegistryKey(p, r);
1320 if (p->fault_state) {
1322 /* Return true here, srv_pipe_hnd.c will take care */
1326 if (DEBUGLEVEL >= 10) {
1327 NDR_PRINT_FUNCTION_DEBUG(PNP_DeleteRegistryKey, NDR_OUT | NDR_SET_VALUES, r);
1330 push = ndr_push_init_ctx(r);
1337 * carry over the pointer count to the reply in case we are
1338 * using full pointer. See NDR specification for full pointers
1340 push->ptr_count = pull->ptr_count;
1342 ndr_err = call->ndr_push(push, NDR_OUT, r);
1343 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1348 p->out_data.rdata = ndr_push_blob(push);
1349 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
1356 static bool api_PNP_GetClassCount(struct pipes_struct *p)
1358 const struct ndr_interface_call *call;
1359 struct ndr_pull *pull;
1360 struct ndr_push *push;
1361 enum ndr_err_code ndr_err;
1362 struct PNP_GetClassCount *r;
1364 call = &ndr_table_ntsvcs.calls[NDR_PNP_GETCLASSCOUNT];
1366 r = talloc(talloc_tos(), struct PNP_GetClassCount);
1371 pull = ndr_pull_init_blob(&p->in_data.data, r);
1377 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
1379 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
1381 ndr_err = call->ndr_pull(pull, NDR_IN, r);
1382 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1387 if (DEBUGLEVEL >= 10) {
1388 NDR_PRINT_FUNCTION_DEBUG(PNP_GetClassCount, NDR_IN, r);
1391 r->out.result = _PNP_GetClassCount(p, r);
1393 if (p->fault_state) {
1395 /* Return true here, srv_pipe_hnd.c will take care */
1399 if (DEBUGLEVEL >= 10) {
1400 NDR_PRINT_FUNCTION_DEBUG(PNP_GetClassCount, NDR_OUT | NDR_SET_VALUES, r);
1403 push = ndr_push_init_ctx(r);
1410 * carry over the pointer count to the reply in case we are
1411 * using full pointer. See NDR specification for full pointers
1413 push->ptr_count = pull->ptr_count;
1415 ndr_err = call->ndr_push(push, NDR_OUT, r);
1416 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1421 p->out_data.rdata = ndr_push_blob(push);
1422 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
1429 static bool api_PNP_GetClassName(struct pipes_struct *p)
1431 const struct ndr_interface_call *call;
1432 struct ndr_pull *pull;
1433 struct ndr_push *push;
1434 enum ndr_err_code ndr_err;
1435 struct PNP_GetClassName *r;
1437 call = &ndr_table_ntsvcs.calls[NDR_PNP_GETCLASSNAME];
1439 r = talloc(talloc_tos(), struct PNP_GetClassName);
1444 pull = ndr_pull_init_blob(&p->in_data.data, r);
1450 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
1452 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
1454 ndr_err = call->ndr_pull(pull, NDR_IN, r);
1455 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1460 if (DEBUGLEVEL >= 10) {
1461 NDR_PRINT_FUNCTION_DEBUG(PNP_GetClassName, NDR_IN, r);
1464 r->out.result = _PNP_GetClassName(p, r);
1466 if (p->fault_state) {
1468 /* Return true here, srv_pipe_hnd.c will take care */
1472 if (DEBUGLEVEL >= 10) {
1473 NDR_PRINT_FUNCTION_DEBUG(PNP_GetClassName, NDR_OUT | NDR_SET_VALUES, r);
1476 push = ndr_push_init_ctx(r);
1483 * carry over the pointer count to the reply in case we are
1484 * using full pointer. See NDR specification for full pointers
1486 push->ptr_count = pull->ptr_count;
1488 ndr_err = call->ndr_push(push, NDR_OUT, r);
1489 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1494 p->out_data.rdata = ndr_push_blob(push);
1495 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
1502 static bool api_PNP_DeleteClassKey(struct pipes_struct *p)
1504 const struct ndr_interface_call *call;
1505 struct ndr_pull *pull;
1506 struct ndr_push *push;
1507 enum ndr_err_code ndr_err;
1508 struct PNP_DeleteClassKey *r;
1510 call = &ndr_table_ntsvcs.calls[NDR_PNP_DELETECLASSKEY];
1512 r = talloc(talloc_tos(), struct PNP_DeleteClassKey);
1517 pull = ndr_pull_init_blob(&p->in_data.data, r);
1523 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
1525 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
1527 ndr_err = call->ndr_pull(pull, NDR_IN, r);
1528 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1533 if (DEBUGLEVEL >= 10) {
1534 NDR_PRINT_FUNCTION_DEBUG(PNP_DeleteClassKey, NDR_IN, r);
1537 r->out.result = _PNP_DeleteClassKey(p, r);
1539 if (p->fault_state) {
1541 /* Return true here, srv_pipe_hnd.c will take care */
1545 if (DEBUGLEVEL >= 10) {
1546 NDR_PRINT_FUNCTION_DEBUG(PNP_DeleteClassKey, NDR_OUT | NDR_SET_VALUES, r);
1549 push = ndr_push_init_ctx(r);
1556 * carry over the pointer count to the reply in case we are
1557 * using full pointer. See NDR specification for full pointers
1559 push->ptr_count = pull->ptr_count;
1561 ndr_err = call->ndr_push(push, NDR_OUT, r);
1562 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1567 p->out_data.rdata = ndr_push_blob(push);
1568 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
1575 static bool api_PNP_GetInterfaceDeviceAlias(struct pipes_struct *p)
1577 const struct ndr_interface_call *call;
1578 struct ndr_pull *pull;
1579 struct ndr_push *push;
1580 enum ndr_err_code ndr_err;
1581 struct PNP_GetInterfaceDeviceAlias *r;
1583 call = &ndr_table_ntsvcs.calls[NDR_PNP_GETINTERFACEDEVICEALIAS];
1585 r = talloc(talloc_tos(), struct PNP_GetInterfaceDeviceAlias);
1590 pull = ndr_pull_init_blob(&p->in_data.data, r);
1596 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
1598 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
1600 ndr_err = call->ndr_pull(pull, NDR_IN, r);
1601 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1606 if (DEBUGLEVEL >= 10) {
1607 NDR_PRINT_FUNCTION_DEBUG(PNP_GetInterfaceDeviceAlias, NDR_IN, r);
1610 r->out.result = _PNP_GetInterfaceDeviceAlias(p, r);
1612 if (p->fault_state) {
1614 /* Return true here, srv_pipe_hnd.c will take care */
1618 if (DEBUGLEVEL >= 10) {
1619 NDR_PRINT_FUNCTION_DEBUG(PNP_GetInterfaceDeviceAlias, NDR_OUT | NDR_SET_VALUES, r);
1622 push = ndr_push_init_ctx(r);
1629 * carry over the pointer count to the reply in case we are
1630 * using full pointer. See NDR specification for full pointers
1632 push->ptr_count = pull->ptr_count;
1634 ndr_err = call->ndr_push(push, NDR_OUT, r);
1635 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1640 p->out_data.rdata = ndr_push_blob(push);
1641 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
1648 static bool api_PNP_GetInterfaceDeviceList(struct pipes_struct *p)
1650 const struct ndr_interface_call *call;
1651 struct ndr_pull *pull;
1652 struct ndr_push *push;
1653 enum ndr_err_code ndr_err;
1654 struct PNP_GetInterfaceDeviceList *r;
1656 call = &ndr_table_ntsvcs.calls[NDR_PNP_GETINTERFACEDEVICELIST];
1658 r = talloc(talloc_tos(), struct PNP_GetInterfaceDeviceList);
1663 pull = ndr_pull_init_blob(&p->in_data.data, r);
1669 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
1671 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
1673 ndr_err = call->ndr_pull(pull, NDR_IN, r);
1674 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1679 if (DEBUGLEVEL >= 10) {
1680 NDR_PRINT_FUNCTION_DEBUG(PNP_GetInterfaceDeviceList, NDR_IN, r);
1683 r->out.result = _PNP_GetInterfaceDeviceList(p, r);
1685 if (p->fault_state) {
1687 /* Return true here, srv_pipe_hnd.c will take care */
1691 if (DEBUGLEVEL >= 10) {
1692 NDR_PRINT_FUNCTION_DEBUG(PNP_GetInterfaceDeviceList, NDR_OUT | NDR_SET_VALUES, r);
1695 push = ndr_push_init_ctx(r);
1702 * carry over the pointer count to the reply in case we are
1703 * using full pointer. See NDR specification for full pointers
1705 push->ptr_count = pull->ptr_count;
1707 ndr_err = call->ndr_push(push, NDR_OUT, r);
1708 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1713 p->out_data.rdata = ndr_push_blob(push);
1714 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
1721 static bool api_PNP_GetInterfaceDeviceListSize(struct pipes_struct *p)
1723 const struct ndr_interface_call *call;
1724 struct ndr_pull *pull;
1725 struct ndr_push *push;
1726 enum ndr_err_code ndr_err;
1727 struct PNP_GetInterfaceDeviceListSize *r;
1729 call = &ndr_table_ntsvcs.calls[NDR_PNP_GETINTERFACEDEVICELISTSIZE];
1731 r = talloc(talloc_tos(), struct PNP_GetInterfaceDeviceListSize);
1736 pull = ndr_pull_init_blob(&p->in_data.data, r);
1742 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
1744 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
1746 ndr_err = call->ndr_pull(pull, NDR_IN, r);
1747 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1752 if (DEBUGLEVEL >= 10) {
1753 NDR_PRINT_FUNCTION_DEBUG(PNP_GetInterfaceDeviceListSize, NDR_IN, r);
1756 r->out.result = _PNP_GetInterfaceDeviceListSize(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(PNP_GetInterfaceDeviceListSize, 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_PNP_RegisterDeviceClassAssociation(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 PNP_RegisterDeviceClassAssociation *r;
1802 call = &ndr_table_ntsvcs.calls[NDR_PNP_REGISTERDEVICECLASSASSOCIATION];
1804 r = talloc(talloc_tos(), struct PNP_RegisterDeviceClassAssociation);
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(PNP_RegisterDeviceClassAssociation, NDR_IN, r);
1829 r->out.result = _PNP_RegisterDeviceClassAssociation(p, r);
1831 if (p->fault_state) {
1833 /* Return true here, srv_pipe_hnd.c will take care */
1837 if (DEBUGLEVEL >= 10) {
1838 NDR_PRINT_FUNCTION_DEBUG(PNP_RegisterDeviceClassAssociation, NDR_OUT | NDR_SET_VALUES, r);
1841 push = ndr_push_init_ctx(r);
1848 * carry over the pointer count to the reply in case we are
1849 * using full pointer. See NDR specification for full pointers
1851 push->ptr_count = pull->ptr_count;
1853 ndr_err = call->ndr_push(push, NDR_OUT, r);
1854 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1859 p->out_data.rdata = ndr_push_blob(push);
1860 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
1867 static bool api_PNP_UnregisterDeviceClassAssociation(struct pipes_struct *p)
1869 const struct ndr_interface_call *call;
1870 struct ndr_pull *pull;
1871 struct ndr_push *push;
1872 enum ndr_err_code ndr_err;
1873 struct PNP_UnregisterDeviceClassAssociation *r;
1875 call = &ndr_table_ntsvcs.calls[NDR_PNP_UNREGISTERDEVICECLASSASSOCIATION];
1877 r = talloc(talloc_tos(), struct PNP_UnregisterDeviceClassAssociation);
1882 pull = ndr_pull_init_blob(&p->in_data.data, r);
1888 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
1890 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
1892 ndr_err = call->ndr_pull(pull, NDR_IN, r);
1893 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1898 if (DEBUGLEVEL >= 10) {
1899 NDR_PRINT_FUNCTION_DEBUG(PNP_UnregisterDeviceClassAssociation, NDR_IN, r);
1902 r->out.result = _PNP_UnregisterDeviceClassAssociation(p, r);
1904 if (p->fault_state) {
1906 /* Return true here, srv_pipe_hnd.c will take care */
1910 if (DEBUGLEVEL >= 10) {
1911 NDR_PRINT_FUNCTION_DEBUG(PNP_UnregisterDeviceClassAssociation, NDR_OUT | NDR_SET_VALUES, r);
1914 push = ndr_push_init_ctx(r);
1921 * carry over the pointer count to the reply in case we are
1922 * using full pointer. See NDR specification for full pointers
1924 push->ptr_count = pull->ptr_count;
1926 ndr_err = call->ndr_push(push, NDR_OUT, r);
1927 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1932 p->out_data.rdata = ndr_push_blob(push);
1933 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
1940 static bool api_PNP_GetClassRegProp(struct pipes_struct *p)
1942 const struct ndr_interface_call *call;
1943 struct ndr_pull *pull;
1944 struct ndr_push *push;
1945 enum ndr_err_code ndr_err;
1946 struct PNP_GetClassRegProp *r;
1948 call = &ndr_table_ntsvcs.calls[NDR_PNP_GETCLASSREGPROP];
1950 r = talloc(talloc_tos(), struct PNP_GetClassRegProp);
1955 pull = ndr_pull_init_blob(&p->in_data.data, r);
1961 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
1963 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
1965 ndr_err = call->ndr_pull(pull, NDR_IN, r);
1966 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
1971 if (DEBUGLEVEL >= 10) {
1972 NDR_PRINT_FUNCTION_DEBUG(PNP_GetClassRegProp, NDR_IN, r);
1975 r->out.result = _PNP_GetClassRegProp(p, r);
1977 if (p->fault_state) {
1979 /* Return true here, srv_pipe_hnd.c will take care */
1983 if (DEBUGLEVEL >= 10) {
1984 NDR_PRINT_FUNCTION_DEBUG(PNP_GetClassRegProp, NDR_OUT | NDR_SET_VALUES, r);
1987 push = ndr_push_init_ctx(r);
1994 * carry over the pointer count to the reply in case we are
1995 * using full pointer. See NDR specification for full pointers
1997 push->ptr_count = pull->ptr_count;
1999 ndr_err = call->ndr_push(push, NDR_OUT, r);
2000 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2005 p->out_data.rdata = ndr_push_blob(push);
2006 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
2013 static bool api_PNP_SetClassRegProp(struct pipes_struct *p)
2015 const struct ndr_interface_call *call;
2016 struct ndr_pull *pull;
2017 struct ndr_push *push;
2018 enum ndr_err_code ndr_err;
2019 struct PNP_SetClassRegProp *r;
2021 call = &ndr_table_ntsvcs.calls[NDR_PNP_SETCLASSREGPROP];
2023 r = talloc(talloc_tos(), struct PNP_SetClassRegProp);
2028 pull = ndr_pull_init_blob(&p->in_data.data, r);
2034 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
2036 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
2038 ndr_err = call->ndr_pull(pull, NDR_IN, r);
2039 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2044 if (DEBUGLEVEL >= 10) {
2045 NDR_PRINT_FUNCTION_DEBUG(PNP_SetClassRegProp, NDR_IN, r);
2048 r->out.result = _PNP_SetClassRegProp(p, r);
2050 if (p->fault_state) {
2052 /* Return true here, srv_pipe_hnd.c will take care */
2056 if (DEBUGLEVEL >= 10) {
2057 NDR_PRINT_FUNCTION_DEBUG(PNP_SetClassRegProp, NDR_OUT | NDR_SET_VALUES, r);
2060 push = ndr_push_init_ctx(r);
2067 * carry over the pointer count to the reply in case we are
2068 * using full pointer. See NDR specification for full pointers
2070 push->ptr_count = pull->ptr_count;
2072 ndr_err = call->ndr_push(push, NDR_OUT, r);
2073 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2078 p->out_data.rdata = ndr_push_blob(push);
2079 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
2086 static bool api_PNP_CreateDevInst(struct pipes_struct *p)
2088 const struct ndr_interface_call *call;
2089 struct ndr_pull *pull;
2090 struct ndr_push *push;
2091 enum ndr_err_code ndr_err;
2092 struct PNP_CreateDevInst *r;
2094 call = &ndr_table_ntsvcs.calls[NDR_PNP_CREATEDEVINST];
2096 r = talloc(talloc_tos(), struct PNP_CreateDevInst);
2101 pull = ndr_pull_init_blob(&p->in_data.data, r);
2107 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
2109 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
2111 ndr_err = call->ndr_pull(pull, NDR_IN, r);
2112 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2117 if (DEBUGLEVEL >= 10) {
2118 NDR_PRINT_FUNCTION_DEBUG(PNP_CreateDevInst, NDR_IN, r);
2121 r->out.result = _PNP_CreateDevInst(p, r);
2123 if (p->fault_state) {
2125 /* Return true here, srv_pipe_hnd.c will take care */
2129 if (DEBUGLEVEL >= 10) {
2130 NDR_PRINT_FUNCTION_DEBUG(PNP_CreateDevInst, NDR_OUT | NDR_SET_VALUES, r);
2133 push = ndr_push_init_ctx(r);
2140 * carry over the pointer count to the reply in case we are
2141 * using full pointer. See NDR specification for full pointers
2143 push->ptr_count = pull->ptr_count;
2145 ndr_err = call->ndr_push(push, NDR_OUT, r);
2146 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2151 p->out_data.rdata = ndr_push_blob(push);
2152 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
2159 static bool api_PNP_DeviceInstanceAction(struct pipes_struct *p)
2161 const struct ndr_interface_call *call;
2162 struct ndr_pull *pull;
2163 struct ndr_push *push;
2164 enum ndr_err_code ndr_err;
2165 struct PNP_DeviceInstanceAction *r;
2167 call = &ndr_table_ntsvcs.calls[NDR_PNP_DEVICEINSTANCEACTION];
2169 r = talloc(talloc_tos(), struct PNP_DeviceInstanceAction);
2174 pull = ndr_pull_init_blob(&p->in_data.data, r);
2180 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
2182 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
2184 ndr_err = call->ndr_pull(pull, NDR_IN, r);
2185 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2190 if (DEBUGLEVEL >= 10) {
2191 NDR_PRINT_FUNCTION_DEBUG(PNP_DeviceInstanceAction, NDR_IN, r);
2194 r->out.result = _PNP_DeviceInstanceAction(p, r);
2196 if (p->fault_state) {
2198 /* Return true here, srv_pipe_hnd.c will take care */
2202 if (DEBUGLEVEL >= 10) {
2203 NDR_PRINT_FUNCTION_DEBUG(PNP_DeviceInstanceAction, NDR_OUT | NDR_SET_VALUES, r);
2206 push = ndr_push_init_ctx(r);
2213 * carry over the pointer count to the reply in case we are
2214 * using full pointer. See NDR specification for full pointers
2216 push->ptr_count = pull->ptr_count;
2218 ndr_err = call->ndr_push(push, NDR_OUT, r);
2219 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2224 p->out_data.rdata = ndr_push_blob(push);
2225 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
2232 static bool api_PNP_GetDeviceStatus(struct pipes_struct *p)
2234 const struct ndr_interface_call *call;
2235 struct ndr_pull *pull;
2236 struct ndr_push *push;
2237 enum ndr_err_code ndr_err;
2238 struct PNP_GetDeviceStatus *r;
2240 call = &ndr_table_ntsvcs.calls[NDR_PNP_GETDEVICESTATUS];
2242 r = talloc(talloc_tos(), struct PNP_GetDeviceStatus);
2247 pull = ndr_pull_init_blob(&p->in_data.data, r);
2253 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
2255 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
2257 ndr_err = call->ndr_pull(pull, NDR_IN, r);
2258 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2263 if (DEBUGLEVEL >= 10) {
2264 NDR_PRINT_FUNCTION_DEBUG(PNP_GetDeviceStatus, NDR_IN, r);
2267 r->out.result = _PNP_GetDeviceStatus(p, r);
2269 if (p->fault_state) {
2271 /* Return true here, srv_pipe_hnd.c will take care */
2275 if (DEBUGLEVEL >= 10) {
2276 NDR_PRINT_FUNCTION_DEBUG(PNP_GetDeviceStatus, NDR_OUT | NDR_SET_VALUES, r);
2279 push = ndr_push_init_ctx(r);
2286 * carry over the pointer count to the reply in case we are
2287 * using full pointer. See NDR specification for full pointers
2289 push->ptr_count = pull->ptr_count;
2291 ndr_err = call->ndr_push(push, NDR_OUT, r);
2292 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2297 p->out_data.rdata = ndr_push_blob(push);
2298 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
2305 static bool api_PNP_SetDeviceProblem(struct pipes_struct *p)
2307 const struct ndr_interface_call *call;
2308 struct ndr_pull *pull;
2309 struct ndr_push *push;
2310 enum ndr_err_code ndr_err;
2311 struct PNP_SetDeviceProblem *r;
2313 call = &ndr_table_ntsvcs.calls[NDR_PNP_SETDEVICEPROBLEM];
2315 r = talloc(talloc_tos(), struct PNP_SetDeviceProblem);
2320 pull = ndr_pull_init_blob(&p->in_data.data, r);
2326 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
2328 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
2330 ndr_err = call->ndr_pull(pull, NDR_IN, r);
2331 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2336 if (DEBUGLEVEL >= 10) {
2337 NDR_PRINT_FUNCTION_DEBUG(PNP_SetDeviceProblem, NDR_IN, r);
2340 r->out.result = _PNP_SetDeviceProblem(p, r);
2342 if (p->fault_state) {
2344 /* Return true here, srv_pipe_hnd.c will take care */
2348 if (DEBUGLEVEL >= 10) {
2349 NDR_PRINT_FUNCTION_DEBUG(PNP_SetDeviceProblem, NDR_OUT | NDR_SET_VALUES, r);
2352 push = ndr_push_init_ctx(r);
2359 * carry over the pointer count to the reply in case we are
2360 * using full pointer. See NDR specification for full pointers
2362 push->ptr_count = pull->ptr_count;
2364 ndr_err = call->ndr_push(push, NDR_OUT, r);
2365 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2370 p->out_data.rdata = ndr_push_blob(push);
2371 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
2378 static bool api_PNP_DisableDevInst(struct pipes_struct *p)
2380 const struct ndr_interface_call *call;
2381 struct ndr_pull *pull;
2382 struct ndr_push *push;
2383 enum ndr_err_code ndr_err;
2384 struct PNP_DisableDevInst *r;
2386 call = &ndr_table_ntsvcs.calls[NDR_PNP_DISABLEDEVINST];
2388 r = talloc(talloc_tos(), struct PNP_DisableDevInst);
2393 pull = ndr_pull_init_blob(&p->in_data.data, r);
2399 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
2401 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
2403 ndr_err = call->ndr_pull(pull, NDR_IN, r);
2404 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2409 if (DEBUGLEVEL >= 10) {
2410 NDR_PRINT_FUNCTION_DEBUG(PNP_DisableDevInst, NDR_IN, r);
2413 r->out.result = _PNP_DisableDevInst(p, r);
2415 if (p->fault_state) {
2417 /* Return true here, srv_pipe_hnd.c will take care */
2421 if (DEBUGLEVEL >= 10) {
2422 NDR_PRINT_FUNCTION_DEBUG(PNP_DisableDevInst, NDR_OUT | NDR_SET_VALUES, r);
2425 push = ndr_push_init_ctx(r);
2432 * carry over the pointer count to the reply in case we are
2433 * using full pointer. See NDR specification for full pointers
2435 push->ptr_count = pull->ptr_count;
2437 ndr_err = call->ndr_push(push, NDR_OUT, r);
2438 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2443 p->out_data.rdata = ndr_push_blob(push);
2444 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
2451 static bool api_PNP_UninstallDevInst(struct pipes_struct *p)
2453 const struct ndr_interface_call *call;
2454 struct ndr_pull *pull;
2455 struct ndr_push *push;
2456 enum ndr_err_code ndr_err;
2457 struct PNP_UninstallDevInst *r;
2459 call = &ndr_table_ntsvcs.calls[NDR_PNP_UNINSTALLDEVINST];
2461 r = talloc(talloc_tos(), struct PNP_UninstallDevInst);
2466 pull = ndr_pull_init_blob(&p->in_data.data, r);
2472 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
2474 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
2476 ndr_err = call->ndr_pull(pull, NDR_IN, r);
2477 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2482 if (DEBUGLEVEL >= 10) {
2483 NDR_PRINT_FUNCTION_DEBUG(PNP_UninstallDevInst, NDR_IN, r);
2486 r->out.result = _PNP_UninstallDevInst(p, r);
2488 if (p->fault_state) {
2490 /* Return true here, srv_pipe_hnd.c will take care */
2494 if (DEBUGLEVEL >= 10) {
2495 NDR_PRINT_FUNCTION_DEBUG(PNP_UninstallDevInst, NDR_OUT | NDR_SET_VALUES, r);
2498 push = ndr_push_init_ctx(r);
2505 * carry over the pointer count to the reply in case we are
2506 * using full pointer. See NDR specification for full pointers
2508 push->ptr_count = pull->ptr_count;
2510 ndr_err = call->ndr_push(push, NDR_OUT, r);
2511 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2516 p->out_data.rdata = ndr_push_blob(push);
2517 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
2524 static bool api_PNP_AddID(struct pipes_struct *p)
2526 const struct ndr_interface_call *call;
2527 struct ndr_pull *pull;
2528 struct ndr_push *push;
2529 enum ndr_err_code ndr_err;
2530 struct PNP_AddID *r;
2532 call = &ndr_table_ntsvcs.calls[NDR_PNP_ADDID];
2534 r = talloc(talloc_tos(), struct PNP_AddID);
2539 pull = ndr_pull_init_blob(&p->in_data.data, r);
2545 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
2547 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
2549 ndr_err = call->ndr_pull(pull, NDR_IN, r);
2550 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2555 if (DEBUGLEVEL >= 10) {
2556 NDR_PRINT_FUNCTION_DEBUG(PNP_AddID, NDR_IN, r);
2559 r->out.result = _PNP_AddID(p, r);
2561 if (p->fault_state) {
2563 /* Return true here, srv_pipe_hnd.c will take care */
2567 if (DEBUGLEVEL >= 10) {
2568 NDR_PRINT_FUNCTION_DEBUG(PNP_AddID, NDR_OUT | NDR_SET_VALUES, r);
2571 push = ndr_push_init_ctx(r);
2578 * carry over the pointer count to the reply in case we are
2579 * using full pointer. See NDR specification for full pointers
2581 push->ptr_count = pull->ptr_count;
2583 ndr_err = call->ndr_push(push, NDR_OUT, r);
2584 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2589 p->out_data.rdata = ndr_push_blob(push);
2590 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
2597 static bool api_PNP_RegisterDriver(struct pipes_struct *p)
2599 const struct ndr_interface_call *call;
2600 struct ndr_pull *pull;
2601 struct ndr_push *push;
2602 enum ndr_err_code ndr_err;
2603 struct PNP_RegisterDriver *r;
2605 call = &ndr_table_ntsvcs.calls[NDR_PNP_REGISTERDRIVER];
2607 r = talloc(talloc_tos(), struct PNP_RegisterDriver);
2612 pull = ndr_pull_init_blob(&p->in_data.data, r);
2618 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
2620 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
2622 ndr_err = call->ndr_pull(pull, NDR_IN, r);
2623 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2628 if (DEBUGLEVEL >= 10) {
2629 NDR_PRINT_FUNCTION_DEBUG(PNP_RegisterDriver, NDR_IN, r);
2632 r->out.result = _PNP_RegisterDriver(p, r);
2634 if (p->fault_state) {
2636 /* Return true here, srv_pipe_hnd.c will take care */
2640 if (DEBUGLEVEL >= 10) {
2641 NDR_PRINT_FUNCTION_DEBUG(PNP_RegisterDriver, NDR_OUT | NDR_SET_VALUES, r);
2644 push = ndr_push_init_ctx(r);
2651 * carry over the pointer count to the reply in case we are
2652 * using full pointer. See NDR specification for full pointers
2654 push->ptr_count = pull->ptr_count;
2656 ndr_err = call->ndr_push(push, NDR_OUT, r);
2657 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2662 p->out_data.rdata = ndr_push_blob(push);
2663 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
2670 static bool api_PNP_QueryRemove(struct pipes_struct *p)
2672 const struct ndr_interface_call *call;
2673 struct ndr_pull *pull;
2674 struct ndr_push *push;
2675 enum ndr_err_code ndr_err;
2676 struct PNP_QueryRemove *r;
2678 call = &ndr_table_ntsvcs.calls[NDR_PNP_QUERYREMOVE];
2680 r = talloc(talloc_tos(), struct PNP_QueryRemove);
2685 pull = ndr_pull_init_blob(&p->in_data.data, r);
2691 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
2693 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
2695 ndr_err = call->ndr_pull(pull, NDR_IN, r);
2696 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2701 if (DEBUGLEVEL >= 10) {
2702 NDR_PRINT_FUNCTION_DEBUG(PNP_QueryRemove, NDR_IN, r);
2705 r->out.result = _PNP_QueryRemove(p, r);
2707 if (p->fault_state) {
2709 /* Return true here, srv_pipe_hnd.c will take care */
2713 if (DEBUGLEVEL >= 10) {
2714 NDR_PRINT_FUNCTION_DEBUG(PNP_QueryRemove, NDR_OUT | NDR_SET_VALUES, r);
2717 push = ndr_push_init_ctx(r);
2724 * carry over the pointer count to the reply in case we are
2725 * using full pointer. See NDR specification for full pointers
2727 push->ptr_count = pull->ptr_count;
2729 ndr_err = call->ndr_push(push, NDR_OUT, r);
2730 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2735 p->out_data.rdata = ndr_push_blob(push);
2736 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
2743 static bool api_PNP_RequestDeviceEject(struct pipes_struct *p)
2745 const struct ndr_interface_call *call;
2746 struct ndr_pull *pull;
2747 struct ndr_push *push;
2748 enum ndr_err_code ndr_err;
2749 struct PNP_RequestDeviceEject *r;
2751 call = &ndr_table_ntsvcs.calls[NDR_PNP_REQUESTDEVICEEJECT];
2753 r = talloc(talloc_tos(), struct PNP_RequestDeviceEject);
2758 pull = ndr_pull_init_blob(&p->in_data.data, r);
2764 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
2766 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
2768 ndr_err = call->ndr_pull(pull, NDR_IN, r);
2769 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2774 if (DEBUGLEVEL >= 10) {
2775 NDR_PRINT_FUNCTION_DEBUG(PNP_RequestDeviceEject, NDR_IN, r);
2778 r->out.result = _PNP_RequestDeviceEject(p, r);
2780 if (p->fault_state) {
2782 /* Return true here, srv_pipe_hnd.c will take care */
2786 if (DEBUGLEVEL >= 10) {
2787 NDR_PRINT_FUNCTION_DEBUG(PNP_RequestDeviceEject, NDR_OUT | NDR_SET_VALUES, r);
2790 push = ndr_push_init_ctx(r);
2797 * carry over the pointer count to the reply in case we are
2798 * using full pointer. See NDR specification for full pointers
2800 push->ptr_count = pull->ptr_count;
2802 ndr_err = call->ndr_push(push, NDR_OUT, r);
2803 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2808 p->out_data.rdata = ndr_push_blob(push);
2809 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
2816 static bool api_PNP_IsDockStationPresent(struct pipes_struct *p)
2818 const struct ndr_interface_call *call;
2819 struct ndr_pull *pull;
2820 struct ndr_push *push;
2821 enum ndr_err_code ndr_err;
2822 struct PNP_IsDockStationPresent *r;
2824 call = &ndr_table_ntsvcs.calls[NDR_PNP_ISDOCKSTATIONPRESENT];
2826 r = talloc(talloc_tos(), struct PNP_IsDockStationPresent);
2831 pull = ndr_pull_init_blob(&p->in_data.data, r);
2837 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
2839 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
2841 ndr_err = call->ndr_pull(pull, NDR_IN, r);
2842 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2847 if (DEBUGLEVEL >= 10) {
2848 NDR_PRINT_FUNCTION_DEBUG(PNP_IsDockStationPresent, NDR_IN, r);
2851 r->out.result = _PNP_IsDockStationPresent(p, r);
2853 if (p->fault_state) {
2855 /* Return true here, srv_pipe_hnd.c will take care */
2859 if (DEBUGLEVEL >= 10) {
2860 NDR_PRINT_FUNCTION_DEBUG(PNP_IsDockStationPresent, NDR_OUT | NDR_SET_VALUES, r);
2863 push = ndr_push_init_ctx(r);
2870 * carry over the pointer count to the reply in case we are
2871 * using full pointer. See NDR specification for full pointers
2873 push->ptr_count = pull->ptr_count;
2875 ndr_err = call->ndr_push(push, NDR_OUT, r);
2876 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2881 p->out_data.rdata = ndr_push_blob(push);
2882 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
2889 static bool api_PNP_RequestEjectPC(struct pipes_struct *p)
2891 const struct ndr_interface_call *call;
2892 struct ndr_pull *pull;
2893 struct ndr_push *push;
2894 enum ndr_err_code ndr_err;
2895 struct PNP_RequestEjectPC *r;
2897 call = &ndr_table_ntsvcs.calls[NDR_PNP_REQUESTEJECTPC];
2899 r = talloc(talloc_tos(), struct PNP_RequestEjectPC);
2904 pull = ndr_pull_init_blob(&p->in_data.data, r);
2910 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
2912 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
2914 ndr_err = call->ndr_pull(pull, NDR_IN, r);
2915 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2920 if (DEBUGLEVEL >= 10) {
2921 NDR_PRINT_FUNCTION_DEBUG(PNP_RequestEjectPC, NDR_IN, r);
2924 r->out.result = _PNP_RequestEjectPC(p, r);
2926 if (p->fault_state) {
2928 /* Return true here, srv_pipe_hnd.c will take care */
2932 if (DEBUGLEVEL >= 10) {
2933 NDR_PRINT_FUNCTION_DEBUG(PNP_RequestEjectPC, NDR_OUT | NDR_SET_VALUES, r);
2936 push = ndr_push_init_ctx(r);
2943 * carry over the pointer count to the reply in case we are
2944 * using full pointer. See NDR specification for full pointers
2946 push->ptr_count = pull->ptr_count;
2948 ndr_err = call->ndr_push(push, NDR_OUT, r);
2949 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2954 p->out_data.rdata = ndr_push_blob(push);
2955 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
2962 static bool api_PNP_HwProfFlags(struct pipes_struct *p)
2964 const struct ndr_interface_call *call;
2965 struct ndr_pull *pull;
2966 struct ndr_push *push;
2967 enum ndr_err_code ndr_err;
2968 struct PNP_HwProfFlags *r;
2970 call = &ndr_table_ntsvcs.calls[NDR_PNP_HWPROFFLAGS];
2972 r = talloc(talloc_tos(), struct PNP_HwProfFlags);
2977 pull = ndr_pull_init_blob(&p->in_data.data, r);
2983 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
2985 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
2987 ndr_err = call->ndr_pull(pull, NDR_IN, r);
2988 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2993 if (DEBUGLEVEL >= 10) {
2994 NDR_PRINT_FUNCTION_DEBUG(PNP_HwProfFlags, NDR_IN, r);
2997 ZERO_STRUCT(r->out);
2998 r->out.profile_flags = r->in.profile_flags;
2999 r->out.veto_type = r->in.veto_type;
3000 r->out.unknown5a = talloc_zero(r, const char *);
3001 if (r->out.unknown5a == NULL) {
3006 r->out.result = _PNP_HwProfFlags(p, r);
3008 if (p->fault_state) {
3010 /* Return true here, srv_pipe_hnd.c will take care */
3014 if (DEBUGLEVEL >= 10) {
3015 NDR_PRINT_FUNCTION_DEBUG(PNP_HwProfFlags, NDR_OUT | NDR_SET_VALUES, r);
3018 push = ndr_push_init_ctx(r);
3025 * carry over the pointer count to the reply in case we are
3026 * using full pointer. See NDR specification for full pointers
3028 push->ptr_count = pull->ptr_count;
3030 ndr_err = call->ndr_push(push, NDR_OUT, r);
3031 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3036 p->out_data.rdata = ndr_push_blob(push);
3037 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
3044 static bool api_PNP_GetHwProfInfo(struct pipes_struct *p)
3046 const struct ndr_interface_call *call;
3047 struct ndr_pull *pull;
3048 struct ndr_push *push;
3049 enum ndr_err_code ndr_err;
3050 struct PNP_GetHwProfInfo *r;
3052 call = &ndr_table_ntsvcs.calls[NDR_PNP_GETHWPROFINFO];
3054 r = talloc(talloc_tos(), struct PNP_GetHwProfInfo);
3059 pull = ndr_pull_init_blob(&p->in_data.data, r);
3065 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
3067 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
3069 ndr_err = call->ndr_pull(pull, NDR_IN, r);
3070 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3075 if (DEBUGLEVEL >= 10) {
3076 NDR_PRINT_FUNCTION_DEBUG(PNP_GetHwProfInfo, NDR_IN, r);
3079 ZERO_STRUCT(r->out);
3080 r->out.info = r->in.info;
3081 r->out.result = _PNP_GetHwProfInfo(p, r);
3083 if (p->fault_state) {
3085 /* Return true here, srv_pipe_hnd.c will take care */
3089 if (DEBUGLEVEL >= 10) {
3090 NDR_PRINT_FUNCTION_DEBUG(PNP_GetHwProfInfo, NDR_OUT | NDR_SET_VALUES, r);
3093 push = ndr_push_init_ctx(r);
3100 * carry over the pointer count to the reply in case we are
3101 * using full pointer. See NDR specification for full pointers
3103 push->ptr_count = pull->ptr_count;
3105 ndr_err = call->ndr_push(push, NDR_OUT, r);
3106 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3111 p->out_data.rdata = ndr_push_blob(push);
3112 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
3119 static bool api_PNP_AddEmptyLogConf(struct pipes_struct *p)
3121 const struct ndr_interface_call *call;
3122 struct ndr_pull *pull;
3123 struct ndr_push *push;
3124 enum ndr_err_code ndr_err;
3125 struct PNP_AddEmptyLogConf *r;
3127 call = &ndr_table_ntsvcs.calls[NDR_PNP_ADDEMPTYLOGCONF];
3129 r = talloc(talloc_tos(), struct PNP_AddEmptyLogConf);
3134 pull = ndr_pull_init_blob(&p->in_data.data, r);
3140 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
3142 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
3144 ndr_err = call->ndr_pull(pull, NDR_IN, r);
3145 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3150 if (DEBUGLEVEL >= 10) {
3151 NDR_PRINT_FUNCTION_DEBUG(PNP_AddEmptyLogConf, NDR_IN, r);
3154 r->out.result = _PNP_AddEmptyLogConf(p, r);
3156 if (p->fault_state) {
3158 /* Return true here, srv_pipe_hnd.c will take care */
3162 if (DEBUGLEVEL >= 10) {
3163 NDR_PRINT_FUNCTION_DEBUG(PNP_AddEmptyLogConf, NDR_OUT | NDR_SET_VALUES, r);
3166 push = ndr_push_init_ctx(r);
3173 * carry over the pointer count to the reply in case we are
3174 * using full pointer. See NDR specification for full pointers
3176 push->ptr_count = pull->ptr_count;
3178 ndr_err = call->ndr_push(push, NDR_OUT, r);
3179 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3184 p->out_data.rdata = ndr_push_blob(push);
3185 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
3192 static bool api_PNP_FreeLogConf(struct pipes_struct *p)
3194 const struct ndr_interface_call *call;
3195 struct ndr_pull *pull;
3196 struct ndr_push *push;
3197 enum ndr_err_code ndr_err;
3198 struct PNP_FreeLogConf *r;
3200 call = &ndr_table_ntsvcs.calls[NDR_PNP_FREELOGCONF];
3202 r = talloc(talloc_tos(), struct PNP_FreeLogConf);
3207 pull = ndr_pull_init_blob(&p->in_data.data, r);
3213 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
3215 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
3217 ndr_err = call->ndr_pull(pull, NDR_IN, r);
3218 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3223 if (DEBUGLEVEL >= 10) {
3224 NDR_PRINT_FUNCTION_DEBUG(PNP_FreeLogConf, NDR_IN, r);
3227 r->out.result = _PNP_FreeLogConf(p, r);
3229 if (p->fault_state) {
3231 /* Return true here, srv_pipe_hnd.c will take care */
3235 if (DEBUGLEVEL >= 10) {
3236 NDR_PRINT_FUNCTION_DEBUG(PNP_FreeLogConf, NDR_OUT | NDR_SET_VALUES, r);
3239 push = ndr_push_init_ctx(r);
3246 * carry over the pointer count to the reply in case we are
3247 * using full pointer. See NDR specification for full pointers
3249 push->ptr_count = pull->ptr_count;
3251 ndr_err = call->ndr_push(push, NDR_OUT, r);
3252 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3257 p->out_data.rdata = ndr_push_blob(push);
3258 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
3265 static bool api_PNP_GetFirstLogConf(struct pipes_struct *p)
3267 const struct ndr_interface_call *call;
3268 struct ndr_pull *pull;
3269 struct ndr_push *push;
3270 enum ndr_err_code ndr_err;
3271 struct PNP_GetFirstLogConf *r;
3273 call = &ndr_table_ntsvcs.calls[NDR_PNP_GETFIRSTLOGCONF];
3275 r = talloc(talloc_tos(), struct PNP_GetFirstLogConf);
3280 pull = ndr_pull_init_blob(&p->in_data.data, r);
3286 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
3288 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
3290 ndr_err = call->ndr_pull(pull, NDR_IN, r);
3291 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3296 if (DEBUGLEVEL >= 10) {
3297 NDR_PRINT_FUNCTION_DEBUG(PNP_GetFirstLogConf, NDR_IN, r);
3300 r->out.result = _PNP_GetFirstLogConf(p, r);
3302 if (p->fault_state) {
3304 /* Return true here, srv_pipe_hnd.c will take care */
3308 if (DEBUGLEVEL >= 10) {
3309 NDR_PRINT_FUNCTION_DEBUG(PNP_GetFirstLogConf, NDR_OUT | NDR_SET_VALUES, r);
3312 push = ndr_push_init_ctx(r);
3319 * carry over the pointer count to the reply in case we are
3320 * using full pointer. See NDR specification for full pointers
3322 push->ptr_count = pull->ptr_count;
3324 ndr_err = call->ndr_push(push, NDR_OUT, r);
3325 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3330 p->out_data.rdata = ndr_push_blob(push);
3331 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
3338 static bool api_PNP_GetNextLogConf(struct pipes_struct *p)
3340 const struct ndr_interface_call *call;
3341 struct ndr_pull *pull;
3342 struct ndr_push *push;
3343 enum ndr_err_code ndr_err;
3344 struct PNP_GetNextLogConf *r;
3346 call = &ndr_table_ntsvcs.calls[NDR_PNP_GETNEXTLOGCONF];
3348 r = talloc(talloc_tos(), struct PNP_GetNextLogConf);
3353 pull = ndr_pull_init_blob(&p->in_data.data, r);
3359 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
3361 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
3363 ndr_err = call->ndr_pull(pull, NDR_IN, r);
3364 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3369 if (DEBUGLEVEL >= 10) {
3370 NDR_PRINT_FUNCTION_DEBUG(PNP_GetNextLogConf, NDR_IN, r);
3373 r->out.result = _PNP_GetNextLogConf(p, r);
3375 if (p->fault_state) {
3377 /* Return true here, srv_pipe_hnd.c will take care */
3381 if (DEBUGLEVEL >= 10) {
3382 NDR_PRINT_FUNCTION_DEBUG(PNP_GetNextLogConf, NDR_OUT | NDR_SET_VALUES, r);
3385 push = ndr_push_init_ctx(r);
3392 * carry over the pointer count to the reply in case we are
3393 * using full pointer. See NDR specification for full pointers
3395 push->ptr_count = pull->ptr_count;
3397 ndr_err = call->ndr_push(push, NDR_OUT, r);
3398 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3403 p->out_data.rdata = ndr_push_blob(push);
3404 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
3411 static bool api_PNP_GetLogConfPriority(struct pipes_struct *p)
3413 const struct ndr_interface_call *call;
3414 struct ndr_pull *pull;
3415 struct ndr_push *push;
3416 enum ndr_err_code ndr_err;
3417 struct PNP_GetLogConfPriority *r;
3419 call = &ndr_table_ntsvcs.calls[NDR_PNP_GETLOGCONFPRIORITY];
3421 r = talloc(talloc_tos(), struct PNP_GetLogConfPriority);
3426 pull = ndr_pull_init_blob(&p->in_data.data, r);
3432 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
3434 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
3436 ndr_err = call->ndr_pull(pull, NDR_IN, r);
3437 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3442 if (DEBUGLEVEL >= 10) {
3443 NDR_PRINT_FUNCTION_DEBUG(PNP_GetLogConfPriority, NDR_IN, r);
3446 r->out.result = _PNP_GetLogConfPriority(p, r);
3448 if (p->fault_state) {
3450 /* Return true here, srv_pipe_hnd.c will take care */
3454 if (DEBUGLEVEL >= 10) {
3455 NDR_PRINT_FUNCTION_DEBUG(PNP_GetLogConfPriority, NDR_OUT | NDR_SET_VALUES, r);
3458 push = ndr_push_init_ctx(r);
3465 * carry over the pointer count to the reply in case we are
3466 * using full pointer. See NDR specification for full pointers
3468 push->ptr_count = pull->ptr_count;
3470 ndr_err = call->ndr_push(push, NDR_OUT, r);
3471 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3476 p->out_data.rdata = ndr_push_blob(push);
3477 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
3484 static bool api_PNP_AddResDes(struct pipes_struct *p)
3486 const struct ndr_interface_call *call;
3487 struct ndr_pull *pull;
3488 struct ndr_push *push;
3489 enum ndr_err_code ndr_err;
3490 struct PNP_AddResDes *r;
3492 call = &ndr_table_ntsvcs.calls[NDR_PNP_ADDRESDES];
3494 r = talloc(talloc_tos(), struct PNP_AddResDes);
3499 pull = ndr_pull_init_blob(&p->in_data.data, r);
3505 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
3507 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
3509 ndr_err = call->ndr_pull(pull, NDR_IN, r);
3510 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3515 if (DEBUGLEVEL >= 10) {
3516 NDR_PRINT_FUNCTION_DEBUG(PNP_AddResDes, NDR_IN, r);
3519 r->out.result = _PNP_AddResDes(p, r);
3521 if (p->fault_state) {
3523 /* Return true here, srv_pipe_hnd.c will take care */
3527 if (DEBUGLEVEL >= 10) {
3528 NDR_PRINT_FUNCTION_DEBUG(PNP_AddResDes, NDR_OUT | NDR_SET_VALUES, r);
3531 push = ndr_push_init_ctx(r);
3538 * carry over the pointer count to the reply in case we are
3539 * using full pointer. See NDR specification for full pointers
3541 push->ptr_count = pull->ptr_count;
3543 ndr_err = call->ndr_push(push, NDR_OUT, r);
3544 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3549 p->out_data.rdata = ndr_push_blob(push);
3550 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
3557 static bool api_PNP_FreeResDes(struct pipes_struct *p)
3559 const struct ndr_interface_call *call;
3560 struct ndr_pull *pull;
3561 struct ndr_push *push;
3562 enum ndr_err_code ndr_err;
3563 struct PNP_FreeResDes *r;
3565 call = &ndr_table_ntsvcs.calls[NDR_PNP_FREERESDES];
3567 r = talloc(talloc_tos(), struct PNP_FreeResDes);
3572 pull = ndr_pull_init_blob(&p->in_data.data, r);
3578 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
3580 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
3582 ndr_err = call->ndr_pull(pull, NDR_IN, r);
3583 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3588 if (DEBUGLEVEL >= 10) {
3589 NDR_PRINT_FUNCTION_DEBUG(PNP_FreeResDes, NDR_IN, r);
3592 r->out.result = _PNP_FreeResDes(p, r);
3594 if (p->fault_state) {
3596 /* Return true here, srv_pipe_hnd.c will take care */
3600 if (DEBUGLEVEL >= 10) {
3601 NDR_PRINT_FUNCTION_DEBUG(PNP_FreeResDes, NDR_OUT | NDR_SET_VALUES, r);
3604 push = ndr_push_init_ctx(r);
3611 * carry over the pointer count to the reply in case we are
3612 * using full pointer. See NDR specification for full pointers
3614 push->ptr_count = pull->ptr_count;
3616 ndr_err = call->ndr_push(push, NDR_OUT, r);
3617 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3622 p->out_data.rdata = ndr_push_blob(push);
3623 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
3630 static bool api_PNP_GetNextResDes(struct pipes_struct *p)
3632 const struct ndr_interface_call *call;
3633 struct ndr_pull *pull;
3634 struct ndr_push *push;
3635 enum ndr_err_code ndr_err;
3636 struct PNP_GetNextResDes *r;
3638 call = &ndr_table_ntsvcs.calls[NDR_PNP_GETNEXTRESDES];
3640 r = talloc(talloc_tos(), struct PNP_GetNextResDes);
3645 pull = ndr_pull_init_blob(&p->in_data.data, r);
3651 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
3653 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
3655 ndr_err = call->ndr_pull(pull, NDR_IN, r);
3656 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3661 if (DEBUGLEVEL >= 10) {
3662 NDR_PRINT_FUNCTION_DEBUG(PNP_GetNextResDes, NDR_IN, r);
3665 r->out.result = _PNP_GetNextResDes(p, r);
3667 if (p->fault_state) {
3669 /* Return true here, srv_pipe_hnd.c will take care */
3673 if (DEBUGLEVEL >= 10) {
3674 NDR_PRINT_FUNCTION_DEBUG(PNP_GetNextResDes, NDR_OUT | NDR_SET_VALUES, r);
3677 push = ndr_push_init_ctx(r);
3684 * carry over the pointer count to the reply in case we are
3685 * using full pointer. See NDR specification for full pointers
3687 push->ptr_count = pull->ptr_count;
3689 ndr_err = call->ndr_push(push, NDR_OUT, r);
3690 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3695 p->out_data.rdata = ndr_push_blob(push);
3696 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
3703 static bool api_PNP_GetResDesData(struct pipes_struct *p)
3705 const struct ndr_interface_call *call;
3706 struct ndr_pull *pull;
3707 struct ndr_push *push;
3708 enum ndr_err_code ndr_err;
3709 struct PNP_GetResDesData *r;
3711 call = &ndr_table_ntsvcs.calls[NDR_PNP_GETRESDESDATA];
3713 r = talloc(talloc_tos(), struct PNP_GetResDesData);
3718 pull = ndr_pull_init_blob(&p->in_data.data, r);
3724 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
3726 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
3728 ndr_err = call->ndr_pull(pull, NDR_IN, r);
3729 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3734 if (DEBUGLEVEL >= 10) {
3735 NDR_PRINT_FUNCTION_DEBUG(PNP_GetResDesData, NDR_IN, r);
3738 r->out.result = _PNP_GetResDesData(p, r);
3740 if (p->fault_state) {
3742 /* Return true here, srv_pipe_hnd.c will take care */
3746 if (DEBUGLEVEL >= 10) {
3747 NDR_PRINT_FUNCTION_DEBUG(PNP_GetResDesData, NDR_OUT | NDR_SET_VALUES, r);
3750 push = ndr_push_init_ctx(r);
3757 * carry over the pointer count to the reply in case we are
3758 * using full pointer. See NDR specification for full pointers
3760 push->ptr_count = pull->ptr_count;
3762 ndr_err = call->ndr_push(push, NDR_OUT, r);
3763 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3768 p->out_data.rdata = ndr_push_blob(push);
3769 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
3776 static bool api_PNP_GetResDesDataSize(struct pipes_struct *p)
3778 const struct ndr_interface_call *call;
3779 struct ndr_pull *pull;
3780 struct ndr_push *push;
3781 enum ndr_err_code ndr_err;
3782 struct PNP_GetResDesDataSize *r;
3784 call = &ndr_table_ntsvcs.calls[NDR_PNP_GETRESDESDATASIZE];
3786 r = talloc(talloc_tos(), struct PNP_GetResDesDataSize);
3791 pull = ndr_pull_init_blob(&p->in_data.data, r);
3797 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
3799 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
3801 ndr_err = call->ndr_pull(pull, NDR_IN, r);
3802 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3807 if (DEBUGLEVEL >= 10) {
3808 NDR_PRINT_FUNCTION_DEBUG(PNP_GetResDesDataSize, NDR_IN, r);
3811 r->out.result = _PNP_GetResDesDataSize(p, r);
3813 if (p->fault_state) {
3815 /* Return true here, srv_pipe_hnd.c will take care */
3819 if (DEBUGLEVEL >= 10) {
3820 NDR_PRINT_FUNCTION_DEBUG(PNP_GetResDesDataSize, NDR_OUT | NDR_SET_VALUES, r);
3823 push = ndr_push_init_ctx(r);
3830 * carry over the pointer count to the reply in case we are
3831 * using full pointer. See NDR specification for full pointers
3833 push->ptr_count = pull->ptr_count;
3835 ndr_err = call->ndr_push(push, NDR_OUT, r);
3836 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3841 p->out_data.rdata = ndr_push_blob(push);
3842 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
3849 static bool api_PNP_ModifyResDes(struct pipes_struct *p)
3851 const struct ndr_interface_call *call;
3852 struct ndr_pull *pull;
3853 struct ndr_push *push;
3854 enum ndr_err_code ndr_err;
3855 struct PNP_ModifyResDes *r;
3857 call = &ndr_table_ntsvcs.calls[NDR_PNP_MODIFYRESDES];
3859 r = talloc(talloc_tos(), struct PNP_ModifyResDes);
3864 pull = ndr_pull_init_blob(&p->in_data.data, r);
3870 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
3872 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
3874 ndr_err = call->ndr_pull(pull, NDR_IN, r);
3875 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3880 if (DEBUGLEVEL >= 10) {
3881 NDR_PRINT_FUNCTION_DEBUG(PNP_ModifyResDes, NDR_IN, r);
3884 r->out.result = _PNP_ModifyResDes(p, r);
3886 if (p->fault_state) {
3888 /* Return true here, srv_pipe_hnd.c will take care */
3892 if (DEBUGLEVEL >= 10) {
3893 NDR_PRINT_FUNCTION_DEBUG(PNP_ModifyResDes, NDR_OUT | NDR_SET_VALUES, r);
3896 push = ndr_push_init_ctx(r);
3903 * carry over the pointer count to the reply in case we are
3904 * using full pointer. See NDR specification for full pointers
3906 push->ptr_count = pull->ptr_count;
3908 ndr_err = call->ndr_push(push, NDR_OUT, r);
3909 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3914 p->out_data.rdata = ndr_push_blob(push);
3915 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
3922 static bool api_PNP_DetectResourceLimit(struct pipes_struct *p)
3924 const struct ndr_interface_call *call;
3925 struct ndr_pull *pull;
3926 struct ndr_push *push;
3927 enum ndr_err_code ndr_err;
3928 struct PNP_DetectResourceLimit *r;
3930 call = &ndr_table_ntsvcs.calls[NDR_PNP_DETECTRESOURCELIMIT];
3932 r = talloc(talloc_tos(), struct PNP_DetectResourceLimit);
3937 pull = ndr_pull_init_blob(&p->in_data.data, r);
3943 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
3945 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
3947 ndr_err = call->ndr_pull(pull, NDR_IN, r);
3948 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3953 if (DEBUGLEVEL >= 10) {
3954 NDR_PRINT_FUNCTION_DEBUG(PNP_DetectResourceLimit, NDR_IN, r);
3957 r->out.result = _PNP_DetectResourceLimit(p, r);
3959 if (p->fault_state) {
3961 /* Return true here, srv_pipe_hnd.c will take care */
3965 if (DEBUGLEVEL >= 10) {
3966 NDR_PRINT_FUNCTION_DEBUG(PNP_DetectResourceLimit, NDR_OUT | NDR_SET_VALUES, r);
3969 push = ndr_push_init_ctx(r);
3976 * carry over the pointer count to the reply in case we are
3977 * using full pointer. See NDR specification for full pointers
3979 push->ptr_count = pull->ptr_count;
3981 ndr_err = call->ndr_push(push, NDR_OUT, r);
3982 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
3987 p->out_data.rdata = ndr_push_blob(push);
3988 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
3995 static bool api_PNP_QueryResConfList(struct pipes_struct *p)
3997 const struct ndr_interface_call *call;
3998 struct ndr_pull *pull;
3999 struct ndr_push *push;
4000 enum ndr_err_code ndr_err;
4001 struct PNP_QueryResConfList *r;
4003 call = &ndr_table_ntsvcs.calls[NDR_PNP_QUERYRESCONFLIST];
4005 r = talloc(talloc_tos(), struct PNP_QueryResConfList);
4010 pull = ndr_pull_init_blob(&p->in_data.data, r);
4016 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
4018 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
4020 ndr_err = call->ndr_pull(pull, NDR_IN, r);
4021 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
4026 if (DEBUGLEVEL >= 10) {
4027 NDR_PRINT_FUNCTION_DEBUG(PNP_QueryResConfList, NDR_IN, r);
4030 r->out.result = _PNP_QueryResConfList(p, r);
4032 if (p->fault_state) {
4034 /* Return true here, srv_pipe_hnd.c will take care */
4038 if (DEBUGLEVEL >= 10) {
4039 NDR_PRINT_FUNCTION_DEBUG(PNP_QueryResConfList, NDR_OUT | NDR_SET_VALUES, r);
4042 push = ndr_push_init_ctx(r);
4049 * carry over the pointer count to the reply in case we are
4050 * using full pointer. See NDR specification for full pointers
4052 push->ptr_count = pull->ptr_count;
4054 ndr_err = call->ndr_push(push, NDR_OUT, r);
4055 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
4060 p->out_data.rdata = ndr_push_blob(push);
4061 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
4068 static bool api_PNP_SetHwProf(struct pipes_struct *p)
4070 const struct ndr_interface_call *call;
4071 struct ndr_pull *pull;
4072 struct ndr_push *push;
4073 enum ndr_err_code ndr_err;
4074 struct PNP_SetHwProf *r;
4076 call = &ndr_table_ntsvcs.calls[NDR_PNP_SETHWPROF];
4078 r = talloc(talloc_tos(), struct PNP_SetHwProf);
4083 pull = ndr_pull_init_blob(&p->in_data.data, r);
4089 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
4091 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
4093 ndr_err = call->ndr_pull(pull, NDR_IN, r);
4094 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
4099 if (DEBUGLEVEL >= 10) {
4100 NDR_PRINT_FUNCTION_DEBUG(PNP_SetHwProf, NDR_IN, r);
4103 r->out.result = _PNP_SetHwProf(p, r);
4105 if (p->fault_state) {
4107 /* Return true here, srv_pipe_hnd.c will take care */
4111 if (DEBUGLEVEL >= 10) {
4112 NDR_PRINT_FUNCTION_DEBUG(PNP_SetHwProf, NDR_OUT | NDR_SET_VALUES, r);
4115 push = ndr_push_init_ctx(r);
4122 * carry over the pointer count to the reply in case we are
4123 * using full pointer. See NDR specification for full pointers
4125 push->ptr_count = pull->ptr_count;
4127 ndr_err = call->ndr_push(push, NDR_OUT, r);
4128 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
4133 p->out_data.rdata = ndr_push_blob(push);
4134 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
4141 static bool api_PNP_QueryArbitratorFreeData(struct pipes_struct *p)
4143 const struct ndr_interface_call *call;
4144 struct ndr_pull *pull;
4145 struct ndr_push *push;
4146 enum ndr_err_code ndr_err;
4147 struct PNP_QueryArbitratorFreeData *r;
4149 call = &ndr_table_ntsvcs.calls[NDR_PNP_QUERYARBITRATORFREEDATA];
4151 r = talloc(talloc_tos(), struct PNP_QueryArbitratorFreeData);
4156 pull = ndr_pull_init_blob(&p->in_data.data, r);
4162 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
4164 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
4166 ndr_err = call->ndr_pull(pull, NDR_IN, r);
4167 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
4172 if (DEBUGLEVEL >= 10) {
4173 NDR_PRINT_FUNCTION_DEBUG(PNP_QueryArbitratorFreeData, NDR_IN, r);
4176 r->out.result = _PNP_QueryArbitratorFreeData(p, r);
4178 if (p->fault_state) {
4180 /* Return true here, srv_pipe_hnd.c will take care */
4184 if (DEBUGLEVEL >= 10) {
4185 NDR_PRINT_FUNCTION_DEBUG(PNP_QueryArbitratorFreeData, NDR_OUT | NDR_SET_VALUES, r);
4188 push = ndr_push_init_ctx(r);
4195 * carry over the pointer count to the reply in case we are
4196 * using full pointer. See NDR specification for full pointers
4198 push->ptr_count = pull->ptr_count;
4200 ndr_err = call->ndr_push(push, NDR_OUT, r);
4201 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
4206 p->out_data.rdata = ndr_push_blob(push);
4207 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
4214 static bool api_PNP_QueryArbitratorFreeSize(struct pipes_struct *p)
4216 const struct ndr_interface_call *call;
4217 struct ndr_pull *pull;
4218 struct ndr_push *push;
4219 enum ndr_err_code ndr_err;
4220 struct PNP_QueryArbitratorFreeSize *r;
4222 call = &ndr_table_ntsvcs.calls[NDR_PNP_QUERYARBITRATORFREESIZE];
4224 r = talloc(talloc_tos(), struct PNP_QueryArbitratorFreeSize);
4229 pull = ndr_pull_init_blob(&p->in_data.data, r);
4235 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
4237 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
4239 ndr_err = call->ndr_pull(pull, NDR_IN, r);
4240 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
4245 if (DEBUGLEVEL >= 10) {
4246 NDR_PRINT_FUNCTION_DEBUG(PNP_QueryArbitratorFreeSize, NDR_IN, r);
4249 r->out.result = _PNP_QueryArbitratorFreeSize(p, r);
4251 if (p->fault_state) {
4253 /* Return true here, srv_pipe_hnd.c will take care */
4257 if (DEBUGLEVEL >= 10) {
4258 NDR_PRINT_FUNCTION_DEBUG(PNP_QueryArbitratorFreeSize, NDR_OUT | NDR_SET_VALUES, r);
4261 push = ndr_push_init_ctx(r);
4268 * carry over the pointer count to the reply in case we are
4269 * using full pointer. See NDR specification for full pointers
4271 push->ptr_count = pull->ptr_count;
4273 ndr_err = call->ndr_push(push, NDR_OUT, r);
4274 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
4279 p->out_data.rdata = ndr_push_blob(push);
4280 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
4287 static bool api_PNP_RunDetection(struct pipes_struct *p)
4289 const struct ndr_interface_call *call;
4290 struct ndr_pull *pull;
4291 struct ndr_push *push;
4292 enum ndr_err_code ndr_err;
4293 struct PNP_RunDetection *r;
4295 call = &ndr_table_ntsvcs.calls[NDR_PNP_RUNDETECTION];
4297 r = talloc(talloc_tos(), struct PNP_RunDetection);
4302 pull = ndr_pull_init_blob(&p->in_data.data, r);
4308 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
4310 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
4312 ndr_err = call->ndr_pull(pull, NDR_IN, r);
4313 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
4318 if (DEBUGLEVEL >= 10) {
4319 NDR_PRINT_FUNCTION_DEBUG(PNP_RunDetection, NDR_IN, r);
4322 r->out.result = _PNP_RunDetection(p, r);
4324 if (p->fault_state) {
4326 /* Return true here, srv_pipe_hnd.c will take care */
4330 if (DEBUGLEVEL >= 10) {
4331 NDR_PRINT_FUNCTION_DEBUG(PNP_RunDetection, NDR_OUT | NDR_SET_VALUES, r);
4334 push = ndr_push_init_ctx(r);
4341 * carry over the pointer count to the reply in case we are
4342 * using full pointer. See NDR specification for full pointers
4344 push->ptr_count = pull->ptr_count;
4346 ndr_err = call->ndr_push(push, NDR_OUT, r);
4347 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
4352 p->out_data.rdata = ndr_push_blob(push);
4353 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
4360 static bool api_PNP_RegisterNotification(struct pipes_struct *p)
4362 const struct ndr_interface_call *call;
4363 struct ndr_pull *pull;
4364 struct ndr_push *push;
4365 enum ndr_err_code ndr_err;
4366 struct PNP_RegisterNotification *r;
4368 call = &ndr_table_ntsvcs.calls[NDR_PNP_REGISTERNOTIFICATION];
4370 r = talloc(talloc_tos(), struct PNP_RegisterNotification);
4375 pull = ndr_pull_init_blob(&p->in_data.data, r);
4381 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
4383 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
4385 ndr_err = call->ndr_pull(pull, NDR_IN, r);
4386 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
4391 if (DEBUGLEVEL >= 10) {
4392 NDR_PRINT_FUNCTION_DEBUG(PNP_RegisterNotification, NDR_IN, r);
4395 r->out.result = _PNP_RegisterNotification(p, r);
4397 if (p->fault_state) {
4399 /* Return true here, srv_pipe_hnd.c will take care */
4403 if (DEBUGLEVEL >= 10) {
4404 NDR_PRINT_FUNCTION_DEBUG(PNP_RegisterNotification, NDR_OUT | NDR_SET_VALUES, r);
4407 push = ndr_push_init_ctx(r);
4414 * carry over the pointer count to the reply in case we are
4415 * using full pointer. See NDR specification for full pointers
4417 push->ptr_count = pull->ptr_count;
4419 ndr_err = call->ndr_push(push, NDR_OUT, r);
4420 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
4425 p->out_data.rdata = ndr_push_blob(push);
4426 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
4433 static bool api_PNP_UnregisterNotification(struct pipes_struct *p)
4435 const struct ndr_interface_call *call;
4436 struct ndr_pull *pull;
4437 struct ndr_push *push;
4438 enum ndr_err_code ndr_err;
4439 struct PNP_UnregisterNotification *r;
4441 call = &ndr_table_ntsvcs.calls[NDR_PNP_UNREGISTERNOTIFICATION];
4443 r = talloc(talloc_tos(), struct PNP_UnregisterNotification);
4448 pull = ndr_pull_init_blob(&p->in_data.data, r);
4454 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
4456 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
4458 ndr_err = call->ndr_pull(pull, NDR_IN, r);
4459 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
4464 if (DEBUGLEVEL >= 10) {
4465 NDR_PRINT_FUNCTION_DEBUG(PNP_UnregisterNotification, NDR_IN, r);
4468 r->out.result = _PNP_UnregisterNotification(p, r);
4470 if (p->fault_state) {
4472 /* Return true here, srv_pipe_hnd.c will take care */
4476 if (DEBUGLEVEL >= 10) {
4477 NDR_PRINT_FUNCTION_DEBUG(PNP_UnregisterNotification, NDR_OUT | NDR_SET_VALUES, r);
4480 push = ndr_push_init_ctx(r);
4487 * carry over the pointer count to the reply in case we are
4488 * using full pointer. See NDR specification for full pointers
4490 push->ptr_count = pull->ptr_count;
4492 ndr_err = call->ndr_push(push, NDR_OUT, r);
4493 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
4498 p->out_data.rdata = ndr_push_blob(push);
4499 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
4506 static bool api_PNP_GetCustomDevProp(struct pipes_struct *p)
4508 const struct ndr_interface_call *call;
4509 struct ndr_pull *pull;
4510 struct ndr_push *push;
4511 enum ndr_err_code ndr_err;
4512 struct PNP_GetCustomDevProp *r;
4514 call = &ndr_table_ntsvcs.calls[NDR_PNP_GETCUSTOMDEVPROP];
4516 r = talloc(talloc_tos(), struct PNP_GetCustomDevProp);
4521 pull = ndr_pull_init_blob(&p->in_data.data, r);
4527 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
4529 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
4531 ndr_err = call->ndr_pull(pull, NDR_IN, r);
4532 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
4537 if (DEBUGLEVEL >= 10) {
4538 NDR_PRINT_FUNCTION_DEBUG(PNP_GetCustomDevProp, NDR_IN, r);
4541 r->out.result = _PNP_GetCustomDevProp(p, r);
4543 if (p->fault_state) {
4545 /* Return true here, srv_pipe_hnd.c will take care */
4549 if (DEBUGLEVEL >= 10) {
4550 NDR_PRINT_FUNCTION_DEBUG(PNP_GetCustomDevProp, NDR_OUT | NDR_SET_VALUES, r);
4553 push = ndr_push_init_ctx(r);
4560 * carry over the pointer count to the reply in case we are
4561 * using full pointer. See NDR specification for full pointers
4563 push->ptr_count = pull->ptr_count;
4565 ndr_err = call->ndr_push(push, NDR_OUT, r);
4566 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
4571 p->out_data.rdata = ndr_push_blob(push);
4572 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
4579 static bool api_PNP_GetVersionInternal(struct pipes_struct *p)
4581 const struct ndr_interface_call *call;
4582 struct ndr_pull *pull;
4583 struct ndr_push *push;
4584 enum ndr_err_code ndr_err;
4585 struct PNP_GetVersionInternal *r;
4587 call = &ndr_table_ntsvcs.calls[NDR_PNP_GETVERSIONINTERNAL];
4589 r = talloc(talloc_tos(), struct PNP_GetVersionInternal);
4594 pull = ndr_pull_init_blob(&p->in_data.data, r);
4600 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
4602 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
4604 ndr_err = call->ndr_pull(pull, NDR_IN, r);
4605 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
4610 if (DEBUGLEVEL >= 10) {
4611 NDR_PRINT_FUNCTION_DEBUG(PNP_GetVersionInternal, NDR_IN, r);
4614 r->out.result = _PNP_GetVersionInternal(p, r);
4616 if (p->fault_state) {
4618 /* Return true here, srv_pipe_hnd.c will take care */
4622 if (DEBUGLEVEL >= 10) {
4623 NDR_PRINT_FUNCTION_DEBUG(PNP_GetVersionInternal, NDR_OUT | NDR_SET_VALUES, r);
4626 push = ndr_push_init_ctx(r);
4633 * carry over the pointer count to the reply in case we are
4634 * using full pointer. See NDR specification for full pointers
4636 push->ptr_count = pull->ptr_count;
4638 ndr_err = call->ndr_push(push, NDR_OUT, r);
4639 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
4644 p->out_data.rdata = ndr_push_blob(push);
4645 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
4652 static bool api_PNP_GetBlockedDriverInfo(struct pipes_struct *p)
4654 const struct ndr_interface_call *call;
4655 struct ndr_pull *pull;
4656 struct ndr_push *push;
4657 enum ndr_err_code ndr_err;
4658 struct PNP_GetBlockedDriverInfo *r;
4660 call = &ndr_table_ntsvcs.calls[NDR_PNP_GETBLOCKEDDRIVERINFO];
4662 r = talloc(talloc_tos(), struct PNP_GetBlockedDriverInfo);
4667 pull = ndr_pull_init_blob(&p->in_data.data, r);
4673 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
4675 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
4677 ndr_err = call->ndr_pull(pull, NDR_IN, r);
4678 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
4683 if (DEBUGLEVEL >= 10) {
4684 NDR_PRINT_FUNCTION_DEBUG(PNP_GetBlockedDriverInfo, NDR_IN, r);
4687 r->out.result = _PNP_GetBlockedDriverInfo(p, r);
4689 if (p->fault_state) {
4691 /* Return true here, srv_pipe_hnd.c will take care */
4695 if (DEBUGLEVEL >= 10) {
4696 NDR_PRINT_FUNCTION_DEBUG(PNP_GetBlockedDriverInfo, NDR_OUT | NDR_SET_VALUES, r);
4699 push = ndr_push_init_ctx(r);
4706 * carry over the pointer count to the reply in case we are
4707 * using full pointer. See NDR specification for full pointers
4709 push->ptr_count = pull->ptr_count;
4711 ndr_err = call->ndr_push(push, NDR_OUT, r);
4712 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
4717 p->out_data.rdata = ndr_push_blob(push);
4718 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
4725 static bool api_PNP_GetServerSideDeviceInstallFlags(struct pipes_struct *p)
4727 const struct ndr_interface_call *call;
4728 struct ndr_pull *pull;
4729 struct ndr_push *push;
4730 enum ndr_err_code ndr_err;
4731 struct PNP_GetServerSideDeviceInstallFlags *r;
4733 call = &ndr_table_ntsvcs.calls[NDR_PNP_GETSERVERSIDEDEVICEINSTALLFLAGS];
4735 r = talloc(talloc_tos(), struct PNP_GetServerSideDeviceInstallFlags);
4740 pull = ndr_pull_init_blob(&p->in_data.data, r);
4746 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
4748 pull->flags |= LIBNDR_FLAG_BIGENDIAN;
4750 ndr_err = call->ndr_pull(pull, NDR_IN, r);
4751 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
4756 if (DEBUGLEVEL >= 10) {
4757 NDR_PRINT_FUNCTION_DEBUG(PNP_GetServerSideDeviceInstallFlags, NDR_IN, r);
4760 r->out.result = _PNP_GetServerSideDeviceInstallFlags(p, r);
4762 if (p->fault_state) {
4764 /* Return true here, srv_pipe_hnd.c will take care */
4768 if (DEBUGLEVEL >= 10) {
4769 NDR_PRINT_FUNCTION_DEBUG(PNP_GetServerSideDeviceInstallFlags, NDR_OUT | NDR_SET_VALUES, r);
4772 push = ndr_push_init_ctx(r);
4779 * carry over the pointer count to the reply in case we are
4780 * using full pointer. See NDR specification for full pointers
4782 push->ptr_count = pull->ptr_count;
4784 ndr_err = call->ndr_push(push, NDR_OUT, r);
4785 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
4790 p->out_data.rdata = ndr_push_blob(push);
4791 talloc_steal(p->mem_ctx, p->out_data.rdata.data);
4800 static struct api_struct api_ntsvcs_cmds[] =
4802 {"PNP_DISCONNECT", NDR_PNP_DISCONNECT, api_PNP_Disconnect},
4803 {"PNP_CONNECT", NDR_PNP_CONNECT, api_PNP_Connect},
4804 {"PNP_GETVERSION", NDR_PNP_GETVERSION, api_PNP_GetVersion},
4805 {"PNP_GETGLOBALSTATE", NDR_PNP_GETGLOBALSTATE, api_PNP_GetGlobalState},
4806 {"PNP_INITDETECTION", NDR_PNP_INITDETECTION, api_PNP_InitDetection},
4807 {"PNP_REPORTLOGON", NDR_PNP_REPORTLOGON, api_PNP_ReportLogOn},
4808 {"PNP_VALIDATEDEVICEINSTANCE", NDR_PNP_VALIDATEDEVICEINSTANCE, api_PNP_ValidateDeviceInstance},
4809 {"PNP_GETROOTDEVICEINSTANCE", NDR_PNP_GETROOTDEVICEINSTANCE, api_PNP_GetRootDeviceInstance},
4810 {"PNP_GETRELATEDDEVICEINSTANCE", NDR_PNP_GETRELATEDDEVICEINSTANCE, api_PNP_GetRelatedDeviceInstance},
4811 {"PNP_ENUMERATESUBKEYS", NDR_PNP_ENUMERATESUBKEYS, api_PNP_EnumerateSubKeys},
4812 {"PNP_GETDEVICELIST", NDR_PNP_GETDEVICELIST, api_PNP_GetDeviceList},
4813 {"PNP_GETDEVICELISTSIZE", NDR_PNP_GETDEVICELISTSIZE, api_PNP_GetDeviceListSize},
4814 {"PNP_GETDEPTH", NDR_PNP_GETDEPTH, api_PNP_GetDepth},
4815 {"PNP_GETDEVICEREGPROP", NDR_PNP_GETDEVICEREGPROP, api_PNP_GetDeviceRegProp},
4816 {"PNP_SETDEVICEREGPROP", NDR_PNP_SETDEVICEREGPROP, api_PNP_SetDeviceRegProp},
4817 {"PNP_GETCLASSINSTANCE", NDR_PNP_GETCLASSINSTANCE, api_PNP_GetClassInstance},
4818 {"PNP_CREATEKEY", NDR_PNP_CREATEKEY, api_PNP_CreateKey},
4819 {"PNP_DELETEREGISTRYKEY", NDR_PNP_DELETEREGISTRYKEY, api_PNP_DeleteRegistryKey},
4820 {"PNP_GETCLASSCOUNT", NDR_PNP_GETCLASSCOUNT, api_PNP_GetClassCount},
4821 {"PNP_GETCLASSNAME", NDR_PNP_GETCLASSNAME, api_PNP_GetClassName},
4822 {"PNP_DELETECLASSKEY", NDR_PNP_DELETECLASSKEY, api_PNP_DeleteClassKey},
4823 {"PNP_GETINTERFACEDEVICEALIAS", NDR_PNP_GETINTERFACEDEVICEALIAS, api_PNP_GetInterfaceDeviceAlias},
4824 {"PNP_GETINTERFACEDEVICELIST", NDR_PNP_GETINTERFACEDEVICELIST, api_PNP_GetInterfaceDeviceList},
4825 {"PNP_GETINTERFACEDEVICELISTSIZE", NDR_PNP_GETINTERFACEDEVICELISTSIZE, api_PNP_GetInterfaceDeviceListSize},
4826 {"PNP_REGISTERDEVICECLASSASSOCIATION", NDR_PNP_REGISTERDEVICECLASSASSOCIATION, api_PNP_RegisterDeviceClassAssociation},
4827 {"PNP_UNREGISTERDEVICECLASSASSOCIATION", NDR_PNP_UNREGISTERDEVICECLASSASSOCIATION, api_PNP_UnregisterDeviceClassAssociation},
4828 {"PNP_GETCLASSREGPROP", NDR_PNP_GETCLASSREGPROP, api_PNP_GetClassRegProp},
4829 {"PNP_SETCLASSREGPROP", NDR_PNP_SETCLASSREGPROP, api_PNP_SetClassRegProp},
4830 {"PNP_CREATEDEVINST", NDR_PNP_CREATEDEVINST, api_PNP_CreateDevInst},
4831 {"PNP_DEVICEINSTANCEACTION", NDR_PNP_DEVICEINSTANCEACTION, api_PNP_DeviceInstanceAction},
4832 {"PNP_GETDEVICESTATUS", NDR_PNP_GETDEVICESTATUS, api_PNP_GetDeviceStatus},
4833 {"PNP_SETDEVICEPROBLEM", NDR_PNP_SETDEVICEPROBLEM, api_PNP_SetDeviceProblem},
4834 {"PNP_DISABLEDEVINST", NDR_PNP_DISABLEDEVINST, api_PNP_DisableDevInst},
4835 {"PNP_UNINSTALLDEVINST", NDR_PNP_UNINSTALLDEVINST, api_PNP_UninstallDevInst},
4836 {"PNP_ADDID", NDR_PNP_ADDID, api_PNP_AddID},
4837 {"PNP_REGISTERDRIVER", NDR_PNP_REGISTERDRIVER, api_PNP_RegisterDriver},
4838 {"PNP_QUERYREMOVE", NDR_PNP_QUERYREMOVE, api_PNP_QueryRemove},
4839 {"PNP_REQUESTDEVICEEJECT", NDR_PNP_REQUESTDEVICEEJECT, api_PNP_RequestDeviceEject},
4840 {"PNP_ISDOCKSTATIONPRESENT", NDR_PNP_ISDOCKSTATIONPRESENT, api_PNP_IsDockStationPresent},
4841 {"PNP_REQUESTEJECTPC", NDR_PNP_REQUESTEJECTPC, api_PNP_RequestEjectPC},
4842 {"PNP_HWPROFFLAGS", NDR_PNP_HWPROFFLAGS, api_PNP_HwProfFlags},
4843 {"PNP_GETHWPROFINFO", NDR_PNP_GETHWPROFINFO, api_PNP_GetHwProfInfo},
4844 {"PNP_ADDEMPTYLOGCONF", NDR_PNP_ADDEMPTYLOGCONF, api_PNP_AddEmptyLogConf},
4845 {"PNP_FREELOGCONF", NDR_PNP_FREELOGCONF, api_PNP_FreeLogConf},
4846 {"PNP_GETFIRSTLOGCONF", NDR_PNP_GETFIRSTLOGCONF, api_PNP_GetFirstLogConf},
4847 {"PNP_GETNEXTLOGCONF", NDR_PNP_GETNEXTLOGCONF, api_PNP_GetNextLogConf},
4848 {"PNP_GETLOGCONFPRIORITY", NDR_PNP_GETLOGCONFPRIORITY, api_PNP_GetLogConfPriority},
4849 {"PNP_ADDRESDES", NDR_PNP_ADDRESDES, api_PNP_AddResDes},
4850 {"PNP_FREERESDES", NDR_PNP_FREERESDES, api_PNP_FreeResDes},
4851 {"PNP_GETNEXTRESDES", NDR_PNP_GETNEXTRESDES, api_PNP_GetNextResDes},
4852 {"PNP_GETRESDESDATA", NDR_PNP_GETRESDESDATA, api_PNP_GetResDesData},
4853 {"PNP_GETRESDESDATASIZE", NDR_PNP_GETRESDESDATASIZE, api_PNP_GetResDesDataSize},
4854 {"PNP_MODIFYRESDES", NDR_PNP_MODIFYRESDES, api_PNP_ModifyResDes},
4855 {"PNP_DETECTRESOURCELIMIT", NDR_PNP_DETECTRESOURCELIMIT, api_PNP_DetectResourceLimit},
4856 {"PNP_QUERYRESCONFLIST", NDR_PNP_QUERYRESCONFLIST, api_PNP_QueryResConfList},
4857 {"PNP_SETHWPROF", NDR_PNP_SETHWPROF, api_PNP_SetHwProf},
4858 {"PNP_QUERYARBITRATORFREEDATA", NDR_PNP_QUERYARBITRATORFREEDATA, api_PNP_QueryArbitratorFreeData},
4859 {"PNP_QUERYARBITRATORFREESIZE", NDR_PNP_QUERYARBITRATORFREESIZE, api_PNP_QueryArbitratorFreeSize},
4860 {"PNP_RUNDETECTION", NDR_PNP_RUNDETECTION, api_PNP_RunDetection},
4861 {"PNP_REGISTERNOTIFICATION", NDR_PNP_REGISTERNOTIFICATION, api_PNP_RegisterNotification},
4862 {"PNP_UNREGISTERNOTIFICATION", NDR_PNP_UNREGISTERNOTIFICATION, api_PNP_UnregisterNotification},
4863 {"PNP_GETCUSTOMDEVPROP", NDR_PNP_GETCUSTOMDEVPROP, api_PNP_GetCustomDevProp},
4864 {"PNP_GETVERSIONINTERNAL", NDR_PNP_GETVERSIONINTERNAL, api_PNP_GetVersionInternal},
4865 {"PNP_GETBLOCKEDDRIVERINFO", NDR_PNP_GETBLOCKEDDRIVERINFO, api_PNP_GetBlockedDriverInfo},
4866 {"PNP_GETSERVERSIDEDEVICEINSTALLFLAGS", NDR_PNP_GETSERVERSIDEDEVICEINSTALLFLAGS, api_PNP_GetServerSideDeviceInstallFlags},
4869 void ntsvcs_get_pipe_fns(struct api_struct **fns, int *n_fns)
4871 *fns = api_ntsvcs_cmds;
4872 *n_fns = sizeof(api_ntsvcs_cmds) / sizeof(struct api_struct);
4875 NTSTATUS rpc_ntsvcs_init(const struct rpc_srv_callbacks *rpc_srv_cb)
4877 return rpc_srv_register(SMB_RPC_INTERFACE_VERSION, "ntsvcs", "ntsvcs", &ndr_table_ntsvcs, api_ntsvcs_cmds, sizeof(api_ntsvcs_cmds) / sizeof(struct api_struct), rpc_srv_cb);
4880 NTSTATUS rpc_ntsvcs_shutdown(void)
4882 return rpc_srv_unregister(&ndr_table_ntsvcs);