1 /* parser auto-generated by pidl */
4 #include "bin/default/librpc/gen_ndr/ndr_dcom.h"
6 #include "librpc/gen_ndr/ndr_orpc.h"
7 #include "librpc/gen_ndr/ndr_misc.h"
8 static enum ndr_err_code ndr_push_UseProtSeq(struct ndr_push *ndr, int flags, const struct UseProtSeq *r)
10 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
13 if (flags & NDR_OUT) {
15 return NDR_ERR_SUCCESS;
18 static enum ndr_err_code ndr_pull_UseProtSeq(struct ndr_pull *ndr, int flags, struct UseProtSeq *r)
20 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
23 if (flags & NDR_OUT) {
25 return NDR_ERR_SUCCESS;
28 _PUBLIC_ void ndr_print_UseProtSeq(struct ndr_print *ndr, const char *name, int flags, const struct UseProtSeq *r)
30 ndr_print_struct(ndr, name, "UseProtSeq");
31 if (r == NULL) { ndr_print_null(ndr); return; }
33 if (flags & NDR_SET_VALUES) {
34 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
37 ndr_print_struct(ndr, "in", "UseProtSeq");
41 if (flags & NDR_OUT) {
42 ndr_print_struct(ndr, "out", "UseProtSeq");
49 static enum ndr_err_code ndr_push_GetCustomProtseqInfo(struct ndr_push *ndr, int flags, const struct GetCustomProtseqInfo *r)
51 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
54 if (flags & NDR_OUT) {
56 return NDR_ERR_SUCCESS;
59 static enum ndr_err_code ndr_pull_GetCustomProtseqInfo(struct ndr_pull *ndr, int flags, struct GetCustomProtseqInfo *r)
61 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
64 if (flags & NDR_OUT) {
66 return NDR_ERR_SUCCESS;
69 _PUBLIC_ void ndr_print_GetCustomProtseqInfo(struct ndr_print *ndr, const char *name, int flags, const struct GetCustomProtseqInfo *r)
71 ndr_print_struct(ndr, name, "GetCustomProtseqInfo");
72 if (r == NULL) { ndr_print_null(ndr); return; }
74 if (flags & NDR_SET_VALUES) {
75 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
78 ndr_print_struct(ndr, "in", "GetCustomProtseqInfo");
82 if (flags & NDR_OUT) {
83 ndr_print_struct(ndr, "out", "GetCustomProtseqInfo");
90 static enum ndr_err_code ndr_push_UpdateResolverBindings(struct ndr_push *ndr, int flags, const struct UpdateResolverBindings *r)
92 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
95 if (flags & NDR_OUT) {
97 return NDR_ERR_SUCCESS;
100 static enum ndr_err_code ndr_pull_UpdateResolverBindings(struct ndr_pull *ndr, int flags, struct UpdateResolverBindings *r)
102 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
103 if (flags & NDR_IN) {
105 if (flags & NDR_OUT) {
107 return NDR_ERR_SUCCESS;
110 _PUBLIC_ void ndr_print_UpdateResolverBindings(struct ndr_print *ndr, const char *name, int flags, const struct UpdateResolverBindings *r)
112 ndr_print_struct(ndr, name, "UpdateResolverBindings");
113 if (r == NULL) { ndr_print_null(ndr); return; }
115 if (flags & NDR_SET_VALUES) {
116 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
118 if (flags & NDR_IN) {
119 ndr_print_struct(ndr, "in", "UpdateResolverBindings");
123 if (flags & NDR_OUT) {
124 ndr_print_struct(ndr, "out", "UpdateResolverBindings");
131 static const struct ndr_interface_call dcom_Unknown_calls[] = {
134 sizeof(struct UseProtSeq),
135 (ndr_push_flags_fn_t) ndr_push_UseProtSeq,
136 (ndr_pull_flags_fn_t) ndr_pull_UseProtSeq,
137 (ndr_print_function_t) ndr_print_UseProtSeq,
142 "GetCustomProtseqInfo",
143 sizeof(struct GetCustomProtseqInfo),
144 (ndr_push_flags_fn_t) ndr_push_GetCustomProtseqInfo,
145 (ndr_pull_flags_fn_t) ndr_pull_GetCustomProtseqInfo,
146 (ndr_print_function_t) ndr_print_GetCustomProtseqInfo,
151 "UpdateResolverBindings",
152 sizeof(struct UpdateResolverBindings),
153 (ndr_push_flags_fn_t) ndr_push_UpdateResolverBindings,
154 (ndr_pull_flags_fn_t) ndr_pull_UpdateResolverBindings,
155 (ndr_print_function_t) ndr_print_UpdateResolverBindings,
159 { NULL, 0, NULL, NULL, NULL }
162 static const char * const dcom_Unknown_endpoint_strings[] = {
163 "ncacn_np:[\\pipe\\dcom_Unknown]",
166 static const struct ndr_interface_string_array dcom_Unknown_endpoints = {
168 .names = dcom_Unknown_endpoint_strings
171 static const char * const dcom_Unknown_authservice_strings[] = {
175 static const struct ndr_interface_string_array dcom_Unknown_authservices = {
177 .names = dcom_Unknown_authservice_strings
181 const struct ndr_interface_table ndr_table_dcom_Unknown = {
182 .name = "dcom_Unknown",
184 {0x18f70770,0x8e64,0x11cf,{0x9a,0xf1},{0x00,0x20,0xaf,0x6e,0x72,0xf4}},
185 NDR_DCOM_UNKNOWN_VERSION
187 .helpstring = NDR_DCOM_UNKNOWN_HELPSTRING,
189 .calls = dcom_Unknown_calls,
190 .endpoints = &dcom_Unknown_endpoints,
191 .authservices = &dcom_Unknown_authservices
194 #include "librpc/gen_ndr/ndr_orpc.h"
195 static enum ndr_err_code ndr_push_QueryInterface(struct ndr_push *ndr, int flags, const struct QueryInterface *r)
197 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
198 if (flags & NDR_IN) {
199 NDR_CHECK(ndr_push_ORPCTHIS(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.ORPCthis));
200 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.iid));
202 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.iid));
205 if (flags & NDR_OUT) {
206 if (r->out.ORPCthat == NULL) {
207 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
209 NDR_CHECK(ndr_push_ORPCTHAT(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ORPCthat));
210 if (r->out.data == NULL) {
211 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
213 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.data));
215 NDR_CHECK(ndr_push_MInterfacePointer(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.data));
217 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
219 return NDR_ERR_SUCCESS;
222 static enum ndr_err_code ndr_pull_QueryInterface(struct ndr_pull *ndr, int flags, struct QueryInterface *r)
226 TALLOC_CTX *_mem_save_ORPCthat_0;
227 TALLOC_CTX *_mem_save_iid_0;
228 TALLOC_CTX *_mem_save_data_0;
229 TALLOC_CTX *_mem_save_data_1;
230 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
231 if (flags & NDR_IN) {
234 NDR_CHECK(ndr_pull_ORPCTHIS(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.ORPCthis));
235 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_iid));
237 NDR_PULL_ALLOC(ndr, r->in.iid);
242 _mem_save_iid_0 = NDR_PULL_GET_MEM_CTX(ndr);
243 NDR_PULL_SET_MEM_CTX(ndr, r->in.iid, 0);
244 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.iid));
245 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_iid_0, 0);
247 NDR_PULL_ALLOC(ndr, r->out.ORPCthat);
248 ZERO_STRUCTP(r->out.ORPCthat);
249 NDR_PULL_ALLOC(ndr, r->out.data);
250 ZERO_STRUCTP(r->out.data);
252 if (flags & NDR_OUT) {
253 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
254 NDR_PULL_ALLOC(ndr, r->out.ORPCthat);
256 _mem_save_ORPCthat_0 = NDR_PULL_GET_MEM_CTX(ndr);
257 NDR_PULL_SET_MEM_CTX(ndr, r->out.ORPCthat, LIBNDR_FLAG_REF_ALLOC);
258 NDR_CHECK(ndr_pull_ORPCTHAT(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ORPCthat));
259 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ORPCthat_0, LIBNDR_FLAG_REF_ALLOC);
260 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
261 NDR_PULL_ALLOC(ndr, r->out.data);
263 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
264 NDR_PULL_SET_MEM_CTX(ndr, r->out.data, LIBNDR_FLAG_REF_ALLOC);
265 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
267 NDR_PULL_ALLOC(ndr, *r->out.data);
272 _mem_save_data_1 = NDR_PULL_GET_MEM_CTX(ndr);
273 NDR_PULL_SET_MEM_CTX(ndr, *r->out.data, 0);
274 NDR_CHECK(ndr_pull_MInterfacePointer(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.data));
275 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_1, 0);
277 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, LIBNDR_FLAG_REF_ALLOC);
278 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
280 return NDR_ERR_SUCCESS;
283 _PUBLIC_ void ndr_print_QueryInterface(struct ndr_print *ndr, const char *name, int flags, const struct QueryInterface *r)
285 ndr_print_struct(ndr, name, "QueryInterface");
286 if (r == NULL) { ndr_print_null(ndr); return; }
288 if (flags & NDR_SET_VALUES) {
289 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
291 if (flags & NDR_IN) {
292 ndr_print_struct(ndr, "in", "QueryInterface");
294 ndr_print_ORPCTHIS(ndr, "ORPCthis", &r->in.ORPCthis);
295 ndr_print_ptr(ndr, "iid", r->in.iid);
298 ndr_print_GUID(ndr, "iid", r->in.iid);
303 if (flags & NDR_OUT) {
304 ndr_print_struct(ndr, "out", "QueryInterface");
306 ndr_print_ptr(ndr, "ORPCthat", r->out.ORPCthat);
308 ndr_print_ORPCTHAT(ndr, "ORPCthat", r->out.ORPCthat);
310 ndr_print_ptr(ndr, "data", r->out.data);
312 ndr_print_ptr(ndr, "data", *r->out.data);
315 ndr_print_MInterfacePointer(ndr, "data", *r->out.data);
319 ndr_print_WERROR(ndr, "result", r->out.result);
325 static enum ndr_err_code ndr_push_AddRef(struct ndr_push *ndr, int flags, const struct AddRef *r)
327 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
328 if (flags & NDR_IN) {
329 NDR_CHECK(ndr_push_ORPCTHIS(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.ORPCthis));
331 if (flags & NDR_OUT) {
332 if (r->out.ORPCthat == NULL) {
333 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
335 NDR_CHECK(ndr_push_ORPCTHAT(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ORPCthat));
336 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->out.result));
338 return NDR_ERR_SUCCESS;
341 static enum ndr_err_code ndr_pull_AddRef(struct ndr_pull *ndr, int flags, struct AddRef *r)
343 TALLOC_CTX *_mem_save_ORPCthat_0;
344 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
345 if (flags & NDR_IN) {
348 NDR_CHECK(ndr_pull_ORPCTHIS(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.ORPCthis));
349 NDR_PULL_ALLOC(ndr, r->out.ORPCthat);
350 ZERO_STRUCTP(r->out.ORPCthat);
352 if (flags & NDR_OUT) {
353 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
354 NDR_PULL_ALLOC(ndr, r->out.ORPCthat);
356 _mem_save_ORPCthat_0 = NDR_PULL_GET_MEM_CTX(ndr);
357 NDR_PULL_SET_MEM_CTX(ndr, r->out.ORPCthat, LIBNDR_FLAG_REF_ALLOC);
358 NDR_CHECK(ndr_pull_ORPCTHAT(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ORPCthat));
359 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ORPCthat_0, LIBNDR_FLAG_REF_ALLOC);
360 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->out.result));
362 return NDR_ERR_SUCCESS;
365 _PUBLIC_ void ndr_print_AddRef(struct ndr_print *ndr, const char *name, int flags, const struct AddRef *r)
367 ndr_print_struct(ndr, name, "AddRef");
368 if (r == NULL) { ndr_print_null(ndr); return; }
370 if (flags & NDR_SET_VALUES) {
371 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
373 if (flags & NDR_IN) {
374 ndr_print_struct(ndr, "in", "AddRef");
376 ndr_print_ORPCTHIS(ndr, "ORPCthis", &r->in.ORPCthis);
379 if (flags & NDR_OUT) {
380 ndr_print_struct(ndr, "out", "AddRef");
382 ndr_print_ptr(ndr, "ORPCthat", r->out.ORPCthat);
384 ndr_print_ORPCTHAT(ndr, "ORPCthat", r->out.ORPCthat);
386 ndr_print_uint32(ndr, "result", r->out.result);
392 static enum ndr_err_code ndr_push_Release(struct ndr_push *ndr, int flags, const struct Release *r)
394 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
395 if (flags & NDR_IN) {
396 NDR_CHECK(ndr_push_ORPCTHIS(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.ORPCthis));
398 if (flags & NDR_OUT) {
399 if (r->out.ORPCthat == NULL) {
400 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
402 NDR_CHECK(ndr_push_ORPCTHAT(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ORPCthat));
403 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->out.result));
405 return NDR_ERR_SUCCESS;
408 static enum ndr_err_code ndr_pull_Release(struct ndr_pull *ndr, int flags, struct Release *r)
410 TALLOC_CTX *_mem_save_ORPCthat_0;
411 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
412 if (flags & NDR_IN) {
415 NDR_CHECK(ndr_pull_ORPCTHIS(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.ORPCthis));
416 NDR_PULL_ALLOC(ndr, r->out.ORPCthat);
417 ZERO_STRUCTP(r->out.ORPCthat);
419 if (flags & NDR_OUT) {
420 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
421 NDR_PULL_ALLOC(ndr, r->out.ORPCthat);
423 _mem_save_ORPCthat_0 = NDR_PULL_GET_MEM_CTX(ndr);
424 NDR_PULL_SET_MEM_CTX(ndr, r->out.ORPCthat, LIBNDR_FLAG_REF_ALLOC);
425 NDR_CHECK(ndr_pull_ORPCTHAT(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ORPCthat));
426 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ORPCthat_0, LIBNDR_FLAG_REF_ALLOC);
427 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->out.result));
429 return NDR_ERR_SUCCESS;
432 _PUBLIC_ void ndr_print_Release(struct ndr_print *ndr, const char *name, int flags, const struct Release *r)
434 ndr_print_struct(ndr, name, "Release");
435 if (r == NULL) { ndr_print_null(ndr); return; }
437 if (flags & NDR_SET_VALUES) {
438 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
440 if (flags & NDR_IN) {
441 ndr_print_struct(ndr, "in", "Release");
443 ndr_print_ORPCTHIS(ndr, "ORPCthis", &r->in.ORPCthis);
446 if (flags & NDR_OUT) {
447 ndr_print_struct(ndr, "out", "Release");
449 ndr_print_ptr(ndr, "ORPCthat", r->out.ORPCthat);
451 ndr_print_ORPCTHAT(ndr, "ORPCthat", r->out.ORPCthat);
453 ndr_print_uint32(ndr, "result", r->out.result);
459 static const struct ndr_interface_call IUnknown_calls[] = {
462 sizeof(struct QueryInterface),
463 (ndr_push_flags_fn_t) ndr_push_QueryInterface,
464 (ndr_pull_flags_fn_t) ndr_pull_QueryInterface,
465 (ndr_print_function_t) ndr_print_QueryInterface,
471 sizeof(struct AddRef),
472 (ndr_push_flags_fn_t) ndr_push_AddRef,
473 (ndr_pull_flags_fn_t) ndr_pull_AddRef,
474 (ndr_print_function_t) ndr_print_AddRef,
480 sizeof(struct Release),
481 (ndr_push_flags_fn_t) ndr_push_Release,
482 (ndr_pull_flags_fn_t) ndr_pull_Release,
483 (ndr_print_function_t) ndr_print_Release,
487 { NULL, 0, NULL, NULL, NULL }
490 static const char * const IUnknown_endpoint_strings[] = {
491 "ncacn_np:[\\pipe\\IUnknown]",
494 static const struct ndr_interface_string_array IUnknown_endpoints = {
496 .names = IUnknown_endpoint_strings
499 static const char * const IUnknown_authservice_strings[] = {
503 static const struct ndr_interface_string_array IUnknown_authservices = {
505 .names = IUnknown_authservice_strings
509 const struct ndr_interface_table ndr_table_IUnknown = {
512 {0x00000000,0x0000,0x0000,{0xc0,0x00},{0x00,0x00,0x00,0x00,0x00,0x46}},
515 .helpstring = NDR_IUNKNOWN_HELPSTRING,
517 .calls = IUnknown_calls,
518 .endpoints = &IUnknown_endpoints,
519 .authservices = &IUnknown_authservices
522 #include "librpc/gen_ndr/ndr_orpc.h"
523 static enum ndr_err_code ndr_push_CreateInstance(struct ndr_push *ndr, int flags, const struct CreateInstance *r)
525 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
526 if (flags & NDR_IN) {
527 NDR_CHECK(ndr_push_ORPCTHIS(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.ORPCthis));
528 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.pUnknown));
529 if (r->in.pUnknown) {
530 NDR_CHECK(ndr_push_MInterfacePointer(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.pUnknown));
532 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.iid));
534 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.iid));
537 if (flags & NDR_OUT) {
538 if (r->out.ORPCthat == NULL) {
539 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
541 NDR_CHECK(ndr_push_ORPCTHAT(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ORPCthat));
542 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.ppv));
544 NDR_CHECK(ndr_push_MInterfacePointer(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ppv));
546 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
548 return NDR_ERR_SUCCESS;
551 static enum ndr_err_code ndr_pull_CreateInstance(struct ndr_pull *ndr, int flags, struct CreateInstance *r)
553 uint32_t _ptr_pUnknown;
556 TALLOC_CTX *_mem_save_ORPCthat_0;
557 TALLOC_CTX *_mem_save_pUnknown_0;
558 TALLOC_CTX *_mem_save_iid_0;
559 TALLOC_CTX *_mem_save_ppv_0;
560 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
561 if (flags & NDR_IN) {
564 NDR_CHECK(ndr_pull_ORPCTHIS(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.ORPCthis));
565 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pUnknown));
567 NDR_PULL_ALLOC(ndr, r->in.pUnknown);
569 r->in.pUnknown = NULL;
571 if (r->in.pUnknown) {
572 _mem_save_pUnknown_0 = NDR_PULL_GET_MEM_CTX(ndr);
573 NDR_PULL_SET_MEM_CTX(ndr, r->in.pUnknown, 0);
574 NDR_CHECK(ndr_pull_MInterfacePointer(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.pUnknown));
575 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pUnknown_0, 0);
577 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_iid));
579 NDR_PULL_ALLOC(ndr, r->in.iid);
584 _mem_save_iid_0 = NDR_PULL_GET_MEM_CTX(ndr);
585 NDR_PULL_SET_MEM_CTX(ndr, r->in.iid, 0);
586 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.iid));
587 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_iid_0, 0);
589 NDR_PULL_ALLOC(ndr, r->out.ORPCthat);
590 ZERO_STRUCTP(r->out.ORPCthat);
592 if (flags & NDR_OUT) {
593 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
594 NDR_PULL_ALLOC(ndr, r->out.ORPCthat);
596 _mem_save_ORPCthat_0 = NDR_PULL_GET_MEM_CTX(ndr);
597 NDR_PULL_SET_MEM_CTX(ndr, r->out.ORPCthat, LIBNDR_FLAG_REF_ALLOC);
598 NDR_CHECK(ndr_pull_ORPCTHAT(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ORPCthat));
599 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ORPCthat_0, LIBNDR_FLAG_REF_ALLOC);
600 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ppv));
602 NDR_PULL_ALLOC(ndr, r->out.ppv);
607 _mem_save_ppv_0 = NDR_PULL_GET_MEM_CTX(ndr);
608 NDR_PULL_SET_MEM_CTX(ndr, r->out.ppv, 0);
609 NDR_CHECK(ndr_pull_MInterfacePointer(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ppv));
610 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ppv_0, 0);
612 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
614 return NDR_ERR_SUCCESS;
617 _PUBLIC_ void ndr_print_CreateInstance(struct ndr_print *ndr, const char *name, int flags, const struct CreateInstance *r)
619 ndr_print_struct(ndr, name, "CreateInstance");
620 if (r == NULL) { ndr_print_null(ndr); return; }
622 if (flags & NDR_SET_VALUES) {
623 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
625 if (flags & NDR_IN) {
626 ndr_print_struct(ndr, "in", "CreateInstance");
628 ndr_print_ORPCTHIS(ndr, "ORPCthis", &r->in.ORPCthis);
629 ndr_print_ptr(ndr, "pUnknown", r->in.pUnknown);
631 if (r->in.pUnknown) {
632 ndr_print_MInterfacePointer(ndr, "pUnknown", r->in.pUnknown);
635 ndr_print_ptr(ndr, "iid", r->in.iid);
638 ndr_print_GUID(ndr, "iid", r->in.iid);
643 if (flags & NDR_OUT) {
644 ndr_print_struct(ndr, "out", "CreateInstance");
646 ndr_print_ptr(ndr, "ORPCthat", r->out.ORPCthat);
648 ndr_print_ORPCTHAT(ndr, "ORPCthat", r->out.ORPCthat);
650 ndr_print_ptr(ndr, "ppv", r->out.ppv);
653 ndr_print_MInterfacePointer(ndr, "ppv", r->out.ppv);
656 ndr_print_WERROR(ndr, "result", r->out.result);
662 static enum ndr_err_code ndr_push_RemoteCreateInstance(struct ndr_push *ndr, int flags, const struct RemoteCreateInstance *r)
664 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
665 if (flags & NDR_IN) {
666 NDR_CHECK(ndr_push_ORPCTHIS(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.ORPCthis));
668 if (flags & NDR_OUT) {
669 if (r->out.ORPCthat == NULL) {
670 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
672 NDR_CHECK(ndr_push_ORPCTHAT(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ORPCthat));
673 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
675 return NDR_ERR_SUCCESS;
678 static enum ndr_err_code ndr_pull_RemoteCreateInstance(struct ndr_pull *ndr, int flags, struct RemoteCreateInstance *r)
680 TALLOC_CTX *_mem_save_ORPCthat_0;
681 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
682 if (flags & NDR_IN) {
685 NDR_CHECK(ndr_pull_ORPCTHIS(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.ORPCthis));
686 NDR_PULL_ALLOC(ndr, r->out.ORPCthat);
687 ZERO_STRUCTP(r->out.ORPCthat);
689 if (flags & NDR_OUT) {
690 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
691 NDR_PULL_ALLOC(ndr, r->out.ORPCthat);
693 _mem_save_ORPCthat_0 = NDR_PULL_GET_MEM_CTX(ndr);
694 NDR_PULL_SET_MEM_CTX(ndr, r->out.ORPCthat, LIBNDR_FLAG_REF_ALLOC);
695 NDR_CHECK(ndr_pull_ORPCTHAT(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ORPCthat));
696 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ORPCthat_0, LIBNDR_FLAG_REF_ALLOC);
697 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
699 return NDR_ERR_SUCCESS;
702 _PUBLIC_ void ndr_print_RemoteCreateInstance(struct ndr_print *ndr, const char *name, int flags, const struct RemoteCreateInstance *r)
704 ndr_print_struct(ndr, name, "RemoteCreateInstance");
705 if (r == NULL) { ndr_print_null(ndr); return; }
707 if (flags & NDR_SET_VALUES) {
708 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
710 if (flags & NDR_IN) {
711 ndr_print_struct(ndr, "in", "RemoteCreateInstance");
713 ndr_print_ORPCTHIS(ndr, "ORPCthis", &r->in.ORPCthis);
716 if (flags & NDR_OUT) {
717 ndr_print_struct(ndr, "out", "RemoteCreateInstance");
719 ndr_print_ptr(ndr, "ORPCthat", r->out.ORPCthat);
721 ndr_print_ORPCTHAT(ndr, "ORPCthat", r->out.ORPCthat);
723 ndr_print_WERROR(ndr, "result", r->out.result);
729 static enum ndr_err_code ndr_push_LockServer(struct ndr_push *ndr, int flags, const struct LockServer *r)
731 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
732 if (flags & NDR_IN) {
733 NDR_CHECK(ndr_push_ORPCTHIS(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.ORPCthis));
734 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.lock));
736 if (flags & NDR_OUT) {
737 if (r->out.ORPCthat == NULL) {
738 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
740 NDR_CHECK(ndr_push_ORPCTHAT(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ORPCthat));
741 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
743 return NDR_ERR_SUCCESS;
746 static enum ndr_err_code ndr_pull_LockServer(struct ndr_pull *ndr, int flags, struct LockServer *r)
748 TALLOC_CTX *_mem_save_ORPCthat_0;
749 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
750 if (flags & NDR_IN) {
753 NDR_CHECK(ndr_pull_ORPCTHIS(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.ORPCthis));
754 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.lock));
755 NDR_PULL_ALLOC(ndr, r->out.ORPCthat);
756 ZERO_STRUCTP(r->out.ORPCthat);
758 if (flags & NDR_OUT) {
759 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
760 NDR_PULL_ALLOC(ndr, r->out.ORPCthat);
762 _mem_save_ORPCthat_0 = NDR_PULL_GET_MEM_CTX(ndr);
763 NDR_PULL_SET_MEM_CTX(ndr, r->out.ORPCthat, LIBNDR_FLAG_REF_ALLOC);
764 NDR_CHECK(ndr_pull_ORPCTHAT(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ORPCthat));
765 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ORPCthat_0, LIBNDR_FLAG_REF_ALLOC);
766 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
768 return NDR_ERR_SUCCESS;
771 _PUBLIC_ void ndr_print_LockServer(struct ndr_print *ndr, const char *name, int flags, const struct LockServer *r)
773 ndr_print_struct(ndr, name, "LockServer");
774 if (r == NULL) { ndr_print_null(ndr); return; }
776 if (flags & NDR_SET_VALUES) {
777 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
779 if (flags & NDR_IN) {
780 ndr_print_struct(ndr, "in", "LockServer");
782 ndr_print_ORPCTHIS(ndr, "ORPCthis", &r->in.ORPCthis);
783 ndr_print_uint8(ndr, "lock", r->in.lock);
786 if (flags & NDR_OUT) {
787 ndr_print_struct(ndr, "out", "LockServer");
789 ndr_print_ptr(ndr, "ORPCthat", r->out.ORPCthat);
791 ndr_print_ORPCTHAT(ndr, "ORPCthat", r->out.ORPCthat);
793 ndr_print_WERROR(ndr, "result", r->out.result);
799 static enum ndr_err_code ndr_push_RemoteLockServer(struct ndr_push *ndr, int flags, const struct RemoteLockServer *r)
801 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
802 if (flags & NDR_IN) {
803 NDR_CHECK(ndr_push_ORPCTHIS(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.ORPCthis));
805 if (flags & NDR_OUT) {
806 if (r->out.ORPCthat == NULL) {
807 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
809 NDR_CHECK(ndr_push_ORPCTHAT(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ORPCthat));
810 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
812 return NDR_ERR_SUCCESS;
815 static enum ndr_err_code ndr_pull_RemoteLockServer(struct ndr_pull *ndr, int flags, struct RemoteLockServer *r)
817 TALLOC_CTX *_mem_save_ORPCthat_0;
818 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
819 if (flags & NDR_IN) {
822 NDR_CHECK(ndr_pull_ORPCTHIS(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.ORPCthis));
823 NDR_PULL_ALLOC(ndr, r->out.ORPCthat);
824 ZERO_STRUCTP(r->out.ORPCthat);
826 if (flags & NDR_OUT) {
827 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
828 NDR_PULL_ALLOC(ndr, r->out.ORPCthat);
830 _mem_save_ORPCthat_0 = NDR_PULL_GET_MEM_CTX(ndr);
831 NDR_PULL_SET_MEM_CTX(ndr, r->out.ORPCthat, LIBNDR_FLAG_REF_ALLOC);
832 NDR_CHECK(ndr_pull_ORPCTHAT(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ORPCthat));
833 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ORPCthat_0, LIBNDR_FLAG_REF_ALLOC);
834 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
836 return NDR_ERR_SUCCESS;
839 _PUBLIC_ void ndr_print_RemoteLockServer(struct ndr_print *ndr, const char *name, int flags, const struct RemoteLockServer *r)
841 ndr_print_struct(ndr, name, "RemoteLockServer");
842 if (r == NULL) { ndr_print_null(ndr); return; }
844 if (flags & NDR_SET_VALUES) {
845 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
847 if (flags & NDR_IN) {
848 ndr_print_struct(ndr, "in", "RemoteLockServer");
850 ndr_print_ORPCTHIS(ndr, "ORPCthis", &r->in.ORPCthis);
853 if (flags & NDR_OUT) {
854 ndr_print_struct(ndr, "out", "RemoteLockServer");
856 ndr_print_ptr(ndr, "ORPCthat", r->out.ORPCthat);
858 ndr_print_ORPCTHAT(ndr, "ORPCthat", r->out.ORPCthat);
860 ndr_print_WERROR(ndr, "result", r->out.result);
866 static const struct ndr_interface_call IClassFactory_calls[] = {
869 sizeof(struct CreateInstance),
870 (ndr_push_flags_fn_t) ndr_push_CreateInstance,
871 (ndr_pull_flags_fn_t) ndr_pull_CreateInstance,
872 (ndr_print_function_t) ndr_print_CreateInstance,
877 "RemoteCreateInstance",
878 sizeof(struct RemoteCreateInstance),
879 (ndr_push_flags_fn_t) ndr_push_RemoteCreateInstance,
880 (ndr_pull_flags_fn_t) ndr_pull_RemoteCreateInstance,
881 (ndr_print_function_t) ndr_print_RemoteCreateInstance,
887 sizeof(struct LockServer),
888 (ndr_push_flags_fn_t) ndr_push_LockServer,
889 (ndr_pull_flags_fn_t) ndr_pull_LockServer,
890 (ndr_print_function_t) ndr_print_LockServer,
896 sizeof(struct RemoteLockServer),
897 (ndr_push_flags_fn_t) ndr_push_RemoteLockServer,
898 (ndr_pull_flags_fn_t) ndr_pull_RemoteLockServer,
899 (ndr_print_function_t) ndr_print_RemoteLockServer,
903 { NULL, 0, NULL, NULL, NULL }
906 static const char * const IClassFactory_endpoint_strings[] = {
907 "ncacn_np:[\\pipe\\IClassFactory]",
910 static const struct ndr_interface_string_array IClassFactory_endpoints = {
912 .names = IClassFactory_endpoint_strings
915 static const char * const IClassFactory_authservice_strings[] = {
919 static const struct ndr_interface_string_array IClassFactory_authservices = {
921 .names = IClassFactory_authservice_strings
925 const struct ndr_interface_table ndr_table_IClassFactory = {
926 .name = "IClassFactory",
928 {0x00000001,0x0000,0x0000,{0xc0,0x00},{0x00,0x00,0x00,0x00,0x00,0x46}},
929 NDR_ICLASSFACTORY_VERSION
931 .helpstring = NDR_ICLASSFACTORY_HELPSTRING,
933 .calls = IClassFactory_calls,
934 .endpoints = &IClassFactory_endpoints,
935 .authservices = &IClassFactory_authservices
938 #include "librpc/gen_ndr/ndr_orpc.h"
939 _PUBLIC_ enum ndr_err_code ndr_push_REMQIRESULT(struct ndr_push *ndr, int ndr_flags, const struct REMQIRESULT *r)
941 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
942 if (ndr_flags & NDR_SCALARS) {
943 NDR_CHECK(ndr_push_align(ndr, 4));
944 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->hResult));
945 NDR_CHECK(ndr_push_STDOBJREF(ndr, NDR_SCALARS, &r->std));
946 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
948 if (ndr_flags & NDR_BUFFERS) {
949 NDR_CHECK(ndr_push_STDOBJREF(ndr, NDR_BUFFERS, &r->std));
951 return NDR_ERR_SUCCESS;
954 _PUBLIC_ enum ndr_err_code ndr_pull_REMQIRESULT(struct ndr_pull *ndr, int ndr_flags, struct REMQIRESULT *r)
956 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
957 if (ndr_flags & NDR_SCALARS) {
958 NDR_CHECK(ndr_pull_align(ndr, 4));
959 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->hResult));
960 NDR_CHECK(ndr_pull_STDOBJREF(ndr, NDR_SCALARS, &r->std));
961 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
963 if (ndr_flags & NDR_BUFFERS) {
964 NDR_CHECK(ndr_pull_STDOBJREF(ndr, NDR_BUFFERS, &r->std));
966 return NDR_ERR_SUCCESS;
969 _PUBLIC_ void ndr_print_REMQIRESULT(struct ndr_print *ndr, const char *name, const struct REMQIRESULT *r)
971 ndr_print_struct(ndr, name, "REMQIRESULT");
972 if (r == NULL) { ndr_print_null(ndr); return; }
974 ndr_print_WERROR(ndr, "hResult", r->hResult);
975 ndr_print_STDOBJREF(ndr, "std", &r->std);
979 static enum ndr_err_code ndr_push_REMINTERFACEREF(struct ndr_push *ndr, int ndr_flags, const struct REMINTERFACEREF *r)
981 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
982 if (ndr_flags & NDR_SCALARS) {
983 NDR_CHECK(ndr_push_align(ndr, 4));
984 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->ipid));
985 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->cPublicRefs));
986 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->cPrivateRefs));
987 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
989 if (ndr_flags & NDR_BUFFERS) {
991 return NDR_ERR_SUCCESS;
994 static enum ndr_err_code ndr_pull_REMINTERFACEREF(struct ndr_pull *ndr, int ndr_flags, struct REMINTERFACEREF *r)
996 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
997 if (ndr_flags & NDR_SCALARS) {
998 NDR_CHECK(ndr_pull_align(ndr, 4));
999 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->ipid));
1000 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->cPublicRefs));
1001 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->cPrivateRefs));
1002 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1004 if (ndr_flags & NDR_BUFFERS) {
1006 return NDR_ERR_SUCCESS;
1009 _PUBLIC_ void ndr_print_REMINTERFACEREF(struct ndr_print *ndr, const char *name, const struct REMINTERFACEREF *r)
1011 ndr_print_struct(ndr, name, "REMINTERFACEREF");
1012 if (r == NULL) { ndr_print_null(ndr); return; }
1014 ndr_print_GUID(ndr, "ipid", &r->ipid);
1015 ndr_print_uint32(ndr, "cPublicRefs", r->cPublicRefs);
1016 ndr_print_uint32(ndr, "cPrivateRefs", r->cPrivateRefs);
1020 static enum ndr_err_code ndr_push_RemQueryInterface(struct ndr_push *ndr, int flags, const struct RemQueryInterface *r)
1022 uint32_t cntr_iids_1;
1024 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
1025 if (flags & NDR_IN) {
1026 NDR_CHECK(ndr_push_ORPCTHIS(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.ORPCthis));
1027 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.ripid));
1029 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.ripid));
1031 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.cRefs));
1032 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.cIids));
1033 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.iids));
1035 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.cIids));
1036 for (cntr_iids_1 = 0; cntr_iids_1 < r->in.cIids; cntr_iids_1++) {
1037 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->in.iids[cntr_iids_1]));
1041 if (flags & NDR_OUT) {
1042 if (r->out.ORPCthat == NULL) {
1043 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1045 NDR_CHECK(ndr_push_ORPCTHAT(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ORPCthat));
1046 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.ip));
1048 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.cIids));
1049 for (cntr_ip_1 = 0; cntr_ip_1 < r->in.cIids; cntr_ip_1++) {
1050 NDR_CHECK(ndr_push_MInterfacePointer(ndr, NDR_SCALARS, &r->out.ip[cntr_ip_1]));
1052 for (cntr_ip_1 = 0; cntr_ip_1 < r->in.cIids; cntr_ip_1++) {
1053 NDR_CHECK(ndr_push_MInterfacePointer(ndr, NDR_BUFFERS, &r->out.ip[cntr_ip_1]));
1056 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
1058 return NDR_ERR_SUCCESS;
1061 static enum ndr_err_code ndr_pull_RemQueryInterface(struct ndr_pull *ndr, int flags, struct RemQueryInterface *r)
1063 uint32_t _ptr_ripid;
1065 uint32_t size_iids_1 = 0;
1066 uint32_t cntr_iids_1;
1068 uint32_t size_ip_1 = 0;
1070 TALLOC_CTX *_mem_save_ORPCthat_0;
1071 TALLOC_CTX *_mem_save_ripid_0;
1072 TALLOC_CTX *_mem_save_iids_0;
1073 TALLOC_CTX *_mem_save_iids_1;
1074 TALLOC_CTX *_mem_save_ip_0;
1075 TALLOC_CTX *_mem_save_ip_1;
1076 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
1077 if (flags & NDR_IN) {
1078 ZERO_STRUCT(r->out);
1080 NDR_CHECK(ndr_pull_ORPCTHIS(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.ORPCthis));
1081 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ripid));
1083 NDR_PULL_ALLOC(ndr, r->in.ripid);
1088 _mem_save_ripid_0 = NDR_PULL_GET_MEM_CTX(ndr);
1089 NDR_PULL_SET_MEM_CTX(ndr, r->in.ripid, 0);
1090 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.ripid));
1091 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ripid_0, 0);
1093 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.cRefs));
1094 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.cIids));
1095 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_iids));
1097 NDR_PULL_ALLOC(ndr, r->in.iids);
1102 _mem_save_iids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1103 NDR_PULL_SET_MEM_CTX(ndr, r->in.iids, 0);
1104 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.iids));
1105 size_iids_1 = ndr_get_array_size(ndr, &r->in.iids);
1106 NDR_PULL_ALLOC_N(ndr, r->in.iids, size_iids_1);
1107 _mem_save_iids_1 = NDR_PULL_GET_MEM_CTX(ndr);
1108 NDR_PULL_SET_MEM_CTX(ndr, r->in.iids, 0);
1109 for (cntr_iids_1 = 0; cntr_iids_1 < size_iids_1; cntr_iids_1++) {
1110 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->in.iids[cntr_iids_1]));
1112 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_iids_1, 0);
1113 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_iids_0, 0);
1115 NDR_PULL_ALLOC(ndr, r->out.ORPCthat);
1116 ZERO_STRUCTP(r->out.ORPCthat);
1118 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.iids, r->in.cIids));
1121 if (flags & NDR_OUT) {
1122 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1123 NDR_PULL_ALLOC(ndr, r->out.ORPCthat);
1125 _mem_save_ORPCthat_0 = NDR_PULL_GET_MEM_CTX(ndr);
1126 NDR_PULL_SET_MEM_CTX(ndr, r->out.ORPCthat, LIBNDR_FLAG_REF_ALLOC);
1127 NDR_CHECK(ndr_pull_ORPCTHAT(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ORPCthat));
1128 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ORPCthat_0, LIBNDR_FLAG_REF_ALLOC);
1129 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ip));
1131 NDR_PULL_ALLOC(ndr, r->out.ip);
1136 _mem_save_ip_0 = NDR_PULL_GET_MEM_CTX(ndr);
1137 NDR_PULL_SET_MEM_CTX(ndr, r->out.ip, 0);
1138 NDR_CHECK(ndr_pull_array_size(ndr, &r->out.ip));
1139 size_ip_1 = ndr_get_array_size(ndr, &r->out.ip);
1140 NDR_PULL_ALLOC_N(ndr, r->out.ip, size_ip_1);
1141 _mem_save_ip_1 = NDR_PULL_GET_MEM_CTX(ndr);
1142 NDR_PULL_SET_MEM_CTX(ndr, r->out.ip, 0);
1143 for (cntr_ip_1 = 0; cntr_ip_1 < size_ip_1; cntr_ip_1++) {
1144 NDR_CHECK(ndr_pull_MInterfacePointer(ndr, NDR_SCALARS, &r->out.ip[cntr_ip_1]));
1146 for (cntr_ip_1 = 0; cntr_ip_1 < size_ip_1; cntr_ip_1++) {
1147 NDR_CHECK(ndr_pull_MInterfacePointer(ndr, NDR_BUFFERS, &r->out.ip[cntr_ip_1]));
1149 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ip_1, 0);
1150 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ip_0, 0);
1152 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
1154 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.ip, r->in.cIids));
1157 return NDR_ERR_SUCCESS;
1160 _PUBLIC_ void ndr_print_RemQueryInterface(struct ndr_print *ndr, const char *name, int flags, const struct RemQueryInterface *r)
1162 uint32_t cntr_iids_1;
1164 ndr_print_struct(ndr, name, "RemQueryInterface");
1165 if (r == NULL) { ndr_print_null(ndr); return; }
1167 if (flags & NDR_SET_VALUES) {
1168 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
1170 if (flags & NDR_IN) {
1171 ndr_print_struct(ndr, "in", "RemQueryInterface");
1173 ndr_print_ORPCTHIS(ndr, "ORPCthis", &r->in.ORPCthis);
1174 ndr_print_ptr(ndr, "ripid", r->in.ripid);
1177 ndr_print_GUID(ndr, "ripid", r->in.ripid);
1180 ndr_print_uint32(ndr, "cRefs", r->in.cRefs);
1181 ndr_print_uint16(ndr, "cIids", r->in.cIids);
1182 ndr_print_ptr(ndr, "iids", r->in.iids);
1185 ndr->print(ndr, "%s: ARRAY(%d)", "iids", (int)r->in.cIids);
1187 for (cntr_iids_1=0;cntr_iids_1<r->in.cIids;cntr_iids_1++) {
1188 ndr_print_GUID(ndr, "iids", &r->in.iids[cntr_iids_1]);
1195 if (flags & NDR_OUT) {
1196 ndr_print_struct(ndr, "out", "RemQueryInterface");
1198 ndr_print_ptr(ndr, "ORPCthat", r->out.ORPCthat);
1200 ndr_print_ORPCTHAT(ndr, "ORPCthat", r->out.ORPCthat);
1202 ndr_print_ptr(ndr, "ip", r->out.ip);
1205 ndr->print(ndr, "%s: ARRAY(%d)", "ip", (int)r->in.cIids);
1207 for (cntr_ip_1=0;cntr_ip_1<r->in.cIids;cntr_ip_1++) {
1208 ndr_print_MInterfacePointer(ndr, "ip", &r->out.ip[cntr_ip_1]);
1213 ndr_print_WERROR(ndr, "result", r->out.result);
1219 static enum ndr_err_code ndr_push_RemAddRef(struct ndr_push *ndr, int flags, const struct RemAddRef *r)
1221 uint32_t cntr_InterfaceRefs_0;
1222 uint32_t cntr_pResults_1;
1223 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
1224 if (flags & NDR_IN) {
1225 NDR_CHECK(ndr_push_ORPCTHIS(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.ORPCthis));
1226 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.cInterfaceRefs));
1227 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.cInterfaceRefs));
1228 for (cntr_InterfaceRefs_0 = 0; cntr_InterfaceRefs_0 < r->in.cInterfaceRefs; cntr_InterfaceRefs_0++) {
1229 NDR_CHECK(ndr_push_REMINTERFACEREF(ndr, NDR_SCALARS, &r->in.InterfaceRefs[cntr_InterfaceRefs_0]));
1232 if (flags & NDR_OUT) {
1233 if (r->out.ORPCthat == NULL) {
1234 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1236 NDR_CHECK(ndr_push_ORPCTHAT(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ORPCthat));
1237 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.pResults));
1238 if (r->out.pResults) {
1239 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.cInterfaceRefs));
1240 for (cntr_pResults_1 = 0; cntr_pResults_1 < r->in.cInterfaceRefs; cntr_pResults_1++) {
1241 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.pResults[cntr_pResults_1]));
1244 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
1246 return NDR_ERR_SUCCESS;
1249 static enum ndr_err_code ndr_pull_RemAddRef(struct ndr_pull *ndr, int flags, struct RemAddRef *r)
1251 uint32_t size_InterfaceRefs_0 = 0;
1252 uint32_t cntr_InterfaceRefs_0;
1253 uint32_t _ptr_pResults;
1254 uint32_t size_pResults_1 = 0;
1255 uint32_t cntr_pResults_1;
1256 TALLOC_CTX *_mem_save_ORPCthat_0;
1257 TALLOC_CTX *_mem_save_InterfaceRefs_0;
1258 TALLOC_CTX *_mem_save_pResults_0;
1259 TALLOC_CTX *_mem_save_pResults_1;
1260 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
1261 if (flags & NDR_IN) {
1262 ZERO_STRUCT(r->out);
1264 NDR_CHECK(ndr_pull_ORPCTHIS(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.ORPCthis));
1265 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.cInterfaceRefs));
1266 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.InterfaceRefs));
1267 size_InterfaceRefs_0 = ndr_get_array_size(ndr, &r->in.InterfaceRefs);
1268 NDR_PULL_ALLOC_N(ndr, r->in.InterfaceRefs, size_InterfaceRefs_0);
1269 _mem_save_InterfaceRefs_0 = NDR_PULL_GET_MEM_CTX(ndr);
1270 NDR_PULL_SET_MEM_CTX(ndr, r->in.InterfaceRefs, 0);
1271 for (cntr_InterfaceRefs_0 = 0; cntr_InterfaceRefs_0 < size_InterfaceRefs_0; cntr_InterfaceRefs_0++) {
1272 NDR_CHECK(ndr_pull_REMINTERFACEREF(ndr, NDR_SCALARS, &r->in.InterfaceRefs[cntr_InterfaceRefs_0]));
1274 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_InterfaceRefs_0, 0);
1275 NDR_PULL_ALLOC(ndr, r->out.ORPCthat);
1276 ZERO_STRUCTP(r->out.ORPCthat);
1277 if (r->in.InterfaceRefs) {
1278 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.InterfaceRefs, r->in.cInterfaceRefs));
1281 if (flags & NDR_OUT) {
1282 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1283 NDR_PULL_ALLOC(ndr, r->out.ORPCthat);
1285 _mem_save_ORPCthat_0 = NDR_PULL_GET_MEM_CTX(ndr);
1286 NDR_PULL_SET_MEM_CTX(ndr, r->out.ORPCthat, LIBNDR_FLAG_REF_ALLOC);
1287 NDR_CHECK(ndr_pull_ORPCTHAT(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ORPCthat));
1288 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ORPCthat_0, LIBNDR_FLAG_REF_ALLOC);
1289 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pResults));
1290 if (_ptr_pResults) {
1291 NDR_PULL_ALLOC(ndr, r->out.pResults);
1293 r->out.pResults = NULL;
1295 if (r->out.pResults) {
1296 _mem_save_pResults_0 = NDR_PULL_GET_MEM_CTX(ndr);
1297 NDR_PULL_SET_MEM_CTX(ndr, r->out.pResults, 0);
1298 NDR_CHECK(ndr_pull_array_size(ndr, &r->out.pResults));
1299 size_pResults_1 = ndr_get_array_size(ndr, &r->out.pResults);
1300 NDR_PULL_ALLOC_N(ndr, r->out.pResults, size_pResults_1);
1301 _mem_save_pResults_1 = NDR_PULL_GET_MEM_CTX(ndr);
1302 NDR_PULL_SET_MEM_CTX(ndr, r->out.pResults, 0);
1303 for (cntr_pResults_1 = 0; cntr_pResults_1 < size_pResults_1; cntr_pResults_1++) {
1304 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.pResults[cntr_pResults_1]));
1306 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pResults_1, 0);
1307 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pResults_0, 0);
1309 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
1310 if (r->out.pResults) {
1311 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.pResults, r->in.cInterfaceRefs));
1314 return NDR_ERR_SUCCESS;
1317 _PUBLIC_ void ndr_print_RemAddRef(struct ndr_print *ndr, const char *name, int flags, const struct RemAddRef *r)
1319 uint32_t cntr_InterfaceRefs_0;
1320 uint32_t cntr_pResults_1;
1321 ndr_print_struct(ndr, name, "RemAddRef");
1322 if (r == NULL) { ndr_print_null(ndr); return; }
1324 if (flags & NDR_SET_VALUES) {
1325 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
1327 if (flags & NDR_IN) {
1328 ndr_print_struct(ndr, "in", "RemAddRef");
1330 ndr_print_ORPCTHIS(ndr, "ORPCthis", &r->in.ORPCthis);
1331 ndr_print_uint16(ndr, "cInterfaceRefs", r->in.cInterfaceRefs);
1332 ndr->print(ndr, "%s: ARRAY(%d)", "InterfaceRefs", (int)r->in.cInterfaceRefs);
1334 for (cntr_InterfaceRefs_0=0;cntr_InterfaceRefs_0<r->in.cInterfaceRefs;cntr_InterfaceRefs_0++) {
1335 ndr_print_REMINTERFACEREF(ndr, "InterfaceRefs", &r->in.InterfaceRefs[cntr_InterfaceRefs_0]);
1340 if (flags & NDR_OUT) {
1341 ndr_print_struct(ndr, "out", "RemAddRef");
1343 ndr_print_ptr(ndr, "ORPCthat", r->out.ORPCthat);
1345 ndr_print_ORPCTHAT(ndr, "ORPCthat", r->out.ORPCthat);
1347 ndr_print_ptr(ndr, "pResults", r->out.pResults);
1349 if (r->out.pResults) {
1350 ndr->print(ndr, "%s: ARRAY(%d)", "pResults", (int)r->in.cInterfaceRefs);
1352 for (cntr_pResults_1=0;cntr_pResults_1<r->in.cInterfaceRefs;cntr_pResults_1++) {
1353 ndr_print_WERROR(ndr, "pResults", r->out.pResults[cntr_pResults_1]);
1358 ndr_print_WERROR(ndr, "result", r->out.result);
1364 static enum ndr_err_code ndr_push_RemRelease(struct ndr_push *ndr, int flags, const struct RemRelease *r)
1366 uint32_t cntr_InterfaceRefs_0;
1367 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
1368 if (flags & NDR_IN) {
1369 NDR_CHECK(ndr_push_ORPCTHIS(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.ORPCthis));
1370 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.cInterfaceRefs));
1371 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.cInterfaceRefs));
1372 for (cntr_InterfaceRefs_0 = 0; cntr_InterfaceRefs_0 < r->in.cInterfaceRefs; cntr_InterfaceRefs_0++) {
1373 NDR_CHECK(ndr_push_REMINTERFACEREF(ndr, NDR_SCALARS, &r->in.InterfaceRefs[cntr_InterfaceRefs_0]));
1376 if (flags & NDR_OUT) {
1377 if (r->out.ORPCthat == NULL) {
1378 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1380 NDR_CHECK(ndr_push_ORPCTHAT(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ORPCthat));
1381 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
1383 return NDR_ERR_SUCCESS;
1386 static enum ndr_err_code ndr_pull_RemRelease(struct ndr_pull *ndr, int flags, struct RemRelease *r)
1388 uint32_t size_InterfaceRefs_0 = 0;
1389 uint32_t cntr_InterfaceRefs_0;
1390 TALLOC_CTX *_mem_save_ORPCthat_0;
1391 TALLOC_CTX *_mem_save_InterfaceRefs_0;
1392 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
1393 if (flags & NDR_IN) {
1394 ZERO_STRUCT(r->out);
1396 NDR_CHECK(ndr_pull_ORPCTHIS(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.ORPCthis));
1397 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.cInterfaceRefs));
1398 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.InterfaceRefs));
1399 size_InterfaceRefs_0 = ndr_get_array_size(ndr, &r->in.InterfaceRefs);
1400 NDR_PULL_ALLOC_N(ndr, r->in.InterfaceRefs, size_InterfaceRefs_0);
1401 _mem_save_InterfaceRefs_0 = NDR_PULL_GET_MEM_CTX(ndr);
1402 NDR_PULL_SET_MEM_CTX(ndr, r->in.InterfaceRefs, 0);
1403 for (cntr_InterfaceRefs_0 = 0; cntr_InterfaceRefs_0 < size_InterfaceRefs_0; cntr_InterfaceRefs_0++) {
1404 NDR_CHECK(ndr_pull_REMINTERFACEREF(ndr, NDR_SCALARS, &r->in.InterfaceRefs[cntr_InterfaceRefs_0]));
1406 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_InterfaceRefs_0, 0);
1407 NDR_PULL_ALLOC(ndr, r->out.ORPCthat);
1408 ZERO_STRUCTP(r->out.ORPCthat);
1409 if (r->in.InterfaceRefs) {
1410 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.InterfaceRefs, r->in.cInterfaceRefs));
1413 if (flags & NDR_OUT) {
1414 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1415 NDR_PULL_ALLOC(ndr, r->out.ORPCthat);
1417 _mem_save_ORPCthat_0 = NDR_PULL_GET_MEM_CTX(ndr);
1418 NDR_PULL_SET_MEM_CTX(ndr, r->out.ORPCthat, LIBNDR_FLAG_REF_ALLOC);
1419 NDR_CHECK(ndr_pull_ORPCTHAT(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ORPCthat));
1420 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ORPCthat_0, LIBNDR_FLAG_REF_ALLOC);
1421 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
1423 return NDR_ERR_SUCCESS;
1426 _PUBLIC_ void ndr_print_RemRelease(struct ndr_print *ndr, const char *name, int flags, const struct RemRelease *r)
1428 uint32_t cntr_InterfaceRefs_0;
1429 ndr_print_struct(ndr, name, "RemRelease");
1430 if (r == NULL) { ndr_print_null(ndr); return; }
1432 if (flags & NDR_SET_VALUES) {
1433 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
1435 if (flags & NDR_IN) {
1436 ndr_print_struct(ndr, "in", "RemRelease");
1438 ndr_print_ORPCTHIS(ndr, "ORPCthis", &r->in.ORPCthis);
1439 ndr_print_uint16(ndr, "cInterfaceRefs", r->in.cInterfaceRefs);
1440 ndr->print(ndr, "%s: ARRAY(%d)", "InterfaceRefs", (int)r->in.cInterfaceRefs);
1442 for (cntr_InterfaceRefs_0=0;cntr_InterfaceRefs_0<r->in.cInterfaceRefs;cntr_InterfaceRefs_0++) {
1443 ndr_print_REMINTERFACEREF(ndr, "InterfaceRefs", &r->in.InterfaceRefs[cntr_InterfaceRefs_0]);
1448 if (flags & NDR_OUT) {
1449 ndr_print_struct(ndr, "out", "RemRelease");
1451 ndr_print_ptr(ndr, "ORPCthat", r->out.ORPCthat);
1453 ndr_print_ORPCTHAT(ndr, "ORPCthat", r->out.ORPCthat);
1455 ndr_print_WERROR(ndr, "result", r->out.result);
1461 static const struct ndr_interface_call IRemUnknown_calls[] = {
1463 "RemQueryInterface",
1464 sizeof(struct RemQueryInterface),
1465 (ndr_push_flags_fn_t) ndr_push_RemQueryInterface,
1466 (ndr_pull_flags_fn_t) ndr_pull_RemQueryInterface,
1467 (ndr_print_function_t) ndr_print_RemQueryInterface,
1473 sizeof(struct RemAddRef),
1474 (ndr_push_flags_fn_t) ndr_push_RemAddRef,
1475 (ndr_pull_flags_fn_t) ndr_pull_RemAddRef,
1476 (ndr_print_function_t) ndr_print_RemAddRef,
1482 sizeof(struct RemRelease),
1483 (ndr_push_flags_fn_t) ndr_push_RemRelease,
1484 (ndr_pull_flags_fn_t) ndr_pull_RemRelease,
1485 (ndr_print_function_t) ndr_print_RemRelease,
1489 { NULL, 0, NULL, NULL, NULL }
1492 static const char * const IRemUnknown_endpoint_strings[] = {
1493 "ncacn_np:[\\pipe\\IRemUnknown]",
1496 static const struct ndr_interface_string_array IRemUnknown_endpoints = {
1498 .names = IRemUnknown_endpoint_strings
1501 static const char * const IRemUnknown_authservice_strings[] = {
1505 static const struct ndr_interface_string_array IRemUnknown_authservices = {
1507 .names = IRemUnknown_authservice_strings
1511 const struct ndr_interface_table ndr_table_IRemUnknown = {
1512 .name = "IRemUnknown",
1514 {0x00000131,0x0000,0x0000,{0xc0,0x00},{0x00,0x00,0x00,0x00,0x00,0x46}},
1515 NDR_IREMUNKNOWN_VERSION
1517 .helpstring = NDR_IREMUNKNOWN_HELPSTRING,
1519 .calls = IRemUnknown_calls,
1520 .endpoints = &IRemUnknown_endpoints,
1521 .authservices = &IRemUnknown_authservices
1524 #include "librpc/gen_ndr/ndr_orpc.h"
1525 static enum ndr_err_code ndr_push_GetClassObject(struct ndr_push *ndr, int flags, const struct GetClassObject *r)
1527 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
1528 if (flags & NDR_IN) {
1529 NDR_CHECK(ndr_push_ORPCTHIS(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.ORPCthis));
1530 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->in.clsid));
1531 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.context));
1532 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.locale));
1533 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->in.iid));
1535 if (flags & NDR_OUT) {
1536 if (r->out.ORPCthat == NULL) {
1537 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1539 NDR_CHECK(ndr_push_ORPCTHAT(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ORPCthat));
1540 if (r->out.data == NULL) {
1541 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1543 NDR_CHECK(ndr_push_MInterfacePointer(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.data));
1545 return NDR_ERR_SUCCESS;
1548 static enum ndr_err_code ndr_pull_GetClassObject(struct ndr_pull *ndr, int flags, struct GetClassObject *r)
1550 TALLOC_CTX *_mem_save_ORPCthat_0;
1551 TALLOC_CTX *_mem_save_data_0;
1552 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
1553 if (flags & NDR_IN) {
1554 ZERO_STRUCT(r->out);
1556 NDR_CHECK(ndr_pull_ORPCTHIS(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.ORPCthis));
1557 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->in.clsid));
1558 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.context));
1559 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.locale));
1560 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->in.iid));
1561 NDR_PULL_ALLOC(ndr, r->out.ORPCthat);
1562 ZERO_STRUCTP(r->out.ORPCthat);
1563 NDR_PULL_ALLOC(ndr, r->out.data);
1564 ZERO_STRUCTP(r->out.data);
1566 if (flags & NDR_OUT) {
1567 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1568 NDR_PULL_ALLOC(ndr, r->out.ORPCthat);
1570 _mem_save_ORPCthat_0 = NDR_PULL_GET_MEM_CTX(ndr);
1571 NDR_PULL_SET_MEM_CTX(ndr, r->out.ORPCthat, LIBNDR_FLAG_REF_ALLOC);
1572 NDR_CHECK(ndr_pull_ORPCTHAT(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ORPCthat));
1573 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ORPCthat_0, LIBNDR_FLAG_REF_ALLOC);
1574 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1575 NDR_PULL_ALLOC(ndr, r->out.data);
1577 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
1578 NDR_PULL_SET_MEM_CTX(ndr, r->out.data, LIBNDR_FLAG_REF_ALLOC);
1579 NDR_CHECK(ndr_pull_MInterfacePointer(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.data));
1580 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, LIBNDR_FLAG_REF_ALLOC);
1582 return NDR_ERR_SUCCESS;
1585 _PUBLIC_ void ndr_print_GetClassObject(struct ndr_print *ndr, const char *name, int flags, const struct GetClassObject *r)
1587 ndr_print_struct(ndr, name, "GetClassObject");
1588 if (r == NULL) { ndr_print_null(ndr); return; }
1590 if (flags & NDR_SET_VALUES) {
1591 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
1593 if (flags & NDR_IN) {
1594 ndr_print_struct(ndr, "in", "GetClassObject");
1596 ndr_print_ORPCTHIS(ndr, "ORPCthis", &r->in.ORPCthis);
1597 ndr_print_GUID(ndr, "clsid", &r->in.clsid);
1598 ndr_print_uint32(ndr, "context", r->in.context);
1599 ndr_print_uint32(ndr, "locale", r->in.locale);
1600 ndr_print_GUID(ndr, "iid", &r->in.iid);
1603 if (flags & NDR_OUT) {
1604 ndr_print_struct(ndr, "out", "GetClassObject");
1606 ndr_print_ptr(ndr, "ORPCthat", r->out.ORPCthat);
1608 ndr_print_ORPCTHAT(ndr, "ORPCthat", r->out.ORPCthat);
1610 ndr_print_ptr(ndr, "data", r->out.data);
1612 ndr_print_MInterfacePointer(ndr, "data", r->out.data);
1619 static const struct ndr_interface_call IClassActivator_calls[] = {
1622 sizeof(struct GetClassObject),
1623 (ndr_push_flags_fn_t) ndr_push_GetClassObject,
1624 (ndr_pull_flags_fn_t) ndr_pull_GetClassObject,
1625 (ndr_print_function_t) ndr_print_GetClassObject,
1629 { NULL, 0, NULL, NULL, NULL }
1632 static const char * const IClassActivator_endpoint_strings[] = {
1633 "ncacn_np:[\\pipe\\IClassActivator]",
1636 static const struct ndr_interface_string_array IClassActivator_endpoints = {
1638 .names = IClassActivator_endpoint_strings
1641 static const char * const IClassActivator_authservice_strings[] = {
1645 static const struct ndr_interface_string_array IClassActivator_authservices = {
1647 .names = IClassActivator_authservice_strings
1651 const struct ndr_interface_table ndr_table_IClassActivator = {
1652 .name = "IClassActivator",
1654 {0x00000140,0x0000,0x0000,{0xc0,0x00},{0x00,0x00,0x00,0x00,0x00,0x46}},
1655 NDR_ICLASSACTIVATOR_VERSION
1657 .helpstring = NDR_ICLASSACTIVATOR_HELPSTRING,
1659 .calls = IClassActivator_calls,
1660 .endpoints = &IClassActivator_endpoints,
1661 .authservices = &IClassActivator_authservices
1664 #include "librpc/gen_ndr/ndr_orpc.h"
1665 static enum ndr_err_code ndr_push_ISCMLocalActivator_CreateInstance(struct ndr_push *ndr, int flags, const struct ISCMLocalActivator_CreateInstance *r)
1667 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
1668 if (flags & NDR_IN) {
1669 NDR_CHECK(ndr_push_ORPCTHIS(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.ORPCthis));
1671 if (flags & NDR_OUT) {
1672 if (r->out.ORPCthat == NULL) {
1673 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1675 NDR_CHECK(ndr_push_ORPCTHAT(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ORPCthat));
1676 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
1678 return NDR_ERR_SUCCESS;
1681 static enum ndr_err_code ndr_pull_ISCMLocalActivator_CreateInstance(struct ndr_pull *ndr, int flags, struct ISCMLocalActivator_CreateInstance *r)
1683 TALLOC_CTX *_mem_save_ORPCthat_0;
1684 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
1685 if (flags & NDR_IN) {
1686 ZERO_STRUCT(r->out);
1688 NDR_CHECK(ndr_pull_ORPCTHIS(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.ORPCthis));
1689 NDR_PULL_ALLOC(ndr, r->out.ORPCthat);
1690 ZERO_STRUCTP(r->out.ORPCthat);
1692 if (flags & NDR_OUT) {
1693 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1694 NDR_PULL_ALLOC(ndr, r->out.ORPCthat);
1696 _mem_save_ORPCthat_0 = NDR_PULL_GET_MEM_CTX(ndr);
1697 NDR_PULL_SET_MEM_CTX(ndr, r->out.ORPCthat, LIBNDR_FLAG_REF_ALLOC);
1698 NDR_CHECK(ndr_pull_ORPCTHAT(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ORPCthat));
1699 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ORPCthat_0, LIBNDR_FLAG_REF_ALLOC);
1700 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
1702 return NDR_ERR_SUCCESS;
1705 _PUBLIC_ void ndr_print_ISCMLocalActivator_CreateInstance(struct ndr_print *ndr, const char *name, int flags, const struct ISCMLocalActivator_CreateInstance *r)
1707 ndr_print_struct(ndr, name, "ISCMLocalActivator_CreateInstance");
1708 if (r == NULL) { ndr_print_null(ndr); return; }
1710 if (flags & NDR_SET_VALUES) {
1711 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
1713 if (flags & NDR_IN) {
1714 ndr_print_struct(ndr, "in", "ISCMLocalActivator_CreateInstance");
1716 ndr_print_ORPCTHIS(ndr, "ORPCthis", &r->in.ORPCthis);
1719 if (flags & NDR_OUT) {
1720 ndr_print_struct(ndr, "out", "ISCMLocalActivator_CreateInstance");
1722 ndr_print_ptr(ndr, "ORPCthat", r->out.ORPCthat);
1724 ndr_print_ORPCTHAT(ndr, "ORPCthat", r->out.ORPCthat);
1726 ndr_print_WERROR(ndr, "result", r->out.result);
1732 static const struct ndr_interface_call ISCMLocalActivator_calls[] = {
1734 "ISCMLocalActivator_CreateInstance",
1735 sizeof(struct ISCMLocalActivator_CreateInstance),
1736 (ndr_push_flags_fn_t) ndr_push_ISCMLocalActivator_CreateInstance,
1737 (ndr_pull_flags_fn_t) ndr_pull_ISCMLocalActivator_CreateInstance,
1738 (ndr_print_function_t) ndr_print_ISCMLocalActivator_CreateInstance,
1742 { NULL, 0, NULL, NULL, NULL }
1745 static const char * const ISCMLocalActivator_endpoint_strings[] = {
1746 "ncacn_np:[\\pipe\\ISCMLocalActivator]",
1749 static const struct ndr_interface_string_array ISCMLocalActivator_endpoints = {
1751 .names = ISCMLocalActivator_endpoint_strings
1754 static const char * const ISCMLocalActivator_authservice_strings[] = {
1758 static const struct ndr_interface_string_array ISCMLocalActivator_authservices = {
1760 .names = ISCMLocalActivator_authservice_strings
1764 const struct ndr_interface_table ndr_table_ISCMLocalActivator = {
1765 .name = "ISCMLocalActivator",
1767 {0x00000136,0x0000,0x0000,{0xc0,0x00},{0x00,0x00,0x00,0x00,0x00,0x46}},
1768 NDR_ISCMLOCALACTIVATOR_VERSION
1770 .helpstring = NDR_ISCMLOCALACTIVATOR_HELPSTRING,
1772 .calls = ISCMLocalActivator_calls,
1773 .endpoints = &ISCMLocalActivator_endpoints,
1774 .authservices = &ISCMLocalActivator_authservices
1777 static enum ndr_err_code ndr_push_IMachineLocalActivator_foo(struct ndr_push *ndr, int flags, const struct IMachineLocalActivator_foo *r)
1779 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
1780 if (flags & NDR_IN) {
1782 if (flags & NDR_OUT) {
1783 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
1785 return NDR_ERR_SUCCESS;
1788 static enum ndr_err_code ndr_pull_IMachineLocalActivator_foo(struct ndr_pull *ndr, int flags, struct IMachineLocalActivator_foo *r)
1790 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
1791 if (flags & NDR_IN) {
1793 if (flags & NDR_OUT) {
1794 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
1796 return NDR_ERR_SUCCESS;
1799 _PUBLIC_ void ndr_print_IMachineLocalActivator_foo(struct ndr_print *ndr, const char *name, int flags, const struct IMachineLocalActivator_foo *r)
1801 ndr_print_struct(ndr, name, "IMachineLocalActivator_foo");
1802 if (r == NULL) { ndr_print_null(ndr); return; }
1804 if (flags & NDR_SET_VALUES) {
1805 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
1807 if (flags & NDR_IN) {
1808 ndr_print_struct(ndr, "in", "IMachineLocalActivator_foo");
1812 if (flags & NDR_OUT) {
1813 ndr_print_struct(ndr, "out", "IMachineLocalActivator_foo");
1815 ndr_print_WERROR(ndr, "result", r->out.result);
1821 static const struct ndr_interface_call IMachineLocalActivator_calls[] = {
1823 "IMachineLocalActivator_foo",
1824 sizeof(struct IMachineLocalActivator_foo),
1825 (ndr_push_flags_fn_t) ndr_push_IMachineLocalActivator_foo,
1826 (ndr_pull_flags_fn_t) ndr_pull_IMachineLocalActivator_foo,
1827 (ndr_print_function_t) ndr_print_IMachineLocalActivator_foo,
1831 { NULL, 0, NULL, NULL, NULL }
1834 static const char * const IMachineLocalActivator_endpoint_strings[] = {
1835 "ncacn_np:[\\pipe\\IMachineLocalActivator]",
1838 static const struct ndr_interface_string_array IMachineLocalActivator_endpoints = {
1840 .names = IMachineLocalActivator_endpoint_strings
1843 static const char * const IMachineLocalActivator_authservice_strings[] = {
1847 static const struct ndr_interface_string_array IMachineLocalActivator_authservices = {
1849 .names = IMachineLocalActivator_authservice_strings
1853 const struct ndr_interface_table ndr_table_IMachineLocalActivator = {
1854 .name = "IMachineLocalActivator",
1856 {0xc6f3ee72,0xce7e,0x11d1,{0xb7,0x1e},{0x00,0xc0,0x4f,0xc3,0x11,0x1a}},
1857 NDR_IMACHINELOCALACTIVATOR_VERSION
1859 .helpstring = NDR_IMACHINELOCALACTIVATOR_HELPSTRING,
1861 .calls = IMachineLocalActivator_calls,
1862 .endpoints = &IMachineLocalActivator_endpoints,
1863 .authservices = &IMachineLocalActivator_authservices
1866 static enum ndr_err_code ndr_push_ILocalObjectExporter_Foo(struct ndr_push *ndr, int flags, const struct ILocalObjectExporter_Foo *r)
1868 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
1869 if (flags & NDR_IN) {
1871 if (flags & NDR_OUT) {
1872 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
1874 return NDR_ERR_SUCCESS;
1877 static enum ndr_err_code ndr_pull_ILocalObjectExporter_Foo(struct ndr_pull *ndr, int flags, struct ILocalObjectExporter_Foo *r)
1879 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
1880 if (flags & NDR_IN) {
1882 if (flags & NDR_OUT) {
1883 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
1885 return NDR_ERR_SUCCESS;
1888 _PUBLIC_ void ndr_print_ILocalObjectExporter_Foo(struct ndr_print *ndr, const char *name, int flags, const struct ILocalObjectExporter_Foo *r)
1890 ndr_print_struct(ndr, name, "ILocalObjectExporter_Foo");
1891 if (r == NULL) { ndr_print_null(ndr); return; }
1893 if (flags & NDR_SET_VALUES) {
1894 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
1896 if (flags & NDR_IN) {
1897 ndr_print_struct(ndr, "in", "ILocalObjectExporter_Foo");
1901 if (flags & NDR_OUT) {
1902 ndr_print_struct(ndr, "out", "ILocalObjectExporter_Foo");
1904 ndr_print_WERROR(ndr, "result", r->out.result);
1910 static const struct ndr_interface_call ILocalObjectExporter_calls[] = {
1912 "ILocalObjectExporter_Foo",
1913 sizeof(struct ILocalObjectExporter_Foo),
1914 (ndr_push_flags_fn_t) ndr_push_ILocalObjectExporter_Foo,
1915 (ndr_pull_flags_fn_t) ndr_pull_ILocalObjectExporter_Foo,
1916 (ndr_print_function_t) ndr_print_ILocalObjectExporter_Foo,
1920 { NULL, 0, NULL, NULL, NULL }
1923 static const char * const ILocalObjectExporter_endpoint_strings[] = {
1924 "ncacn_np:[\\pipe\\ILocalObjectExporter]",
1927 static const struct ndr_interface_string_array ILocalObjectExporter_endpoints = {
1929 .names = ILocalObjectExporter_endpoint_strings
1932 static const char * const ILocalObjectExporter_authservice_strings[] = {
1936 static const struct ndr_interface_string_array ILocalObjectExporter_authservices = {
1938 .names = ILocalObjectExporter_authservice_strings
1942 const struct ndr_interface_table ndr_table_ILocalObjectExporter = {
1943 .name = "ILocalObjectExporter",
1945 {0xe60c73e6,0x88f9,0x11cf,{0x9a,0xf1},{0x00,0x20,0xaf,0x6e,0x72,0xf4}},
1946 NDR_ILOCALOBJECTEXPORTER_VERSION
1948 .helpstring = NDR_ILOCALOBJECTEXPORTER_HELPSTRING,
1950 .calls = ILocalObjectExporter_calls,
1951 .endpoints = &ILocalObjectExporter_endpoints,
1952 .authservices = &ILocalObjectExporter_authservices
1955 #include "librpc/gen_ndr/ndr_orpc.h"
1956 static enum ndr_err_code ndr_push_ISystemActivatorRemoteCreateInstance(struct ndr_push *ndr, int flags, const struct ISystemActivatorRemoteCreateInstance *r)
1958 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
1959 if (flags & NDR_IN) {
1960 NDR_CHECK(ndr_push_ORPCTHIS(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.ORPCthis));
1961 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->in.unknown1));
1962 NDR_CHECK(ndr_push_MInterfacePointer(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.iface1));
1963 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->in.unknown2));
1965 if (flags & NDR_OUT) {
1966 if (r->out.ORPCthat == NULL) {
1967 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1969 NDR_CHECK(ndr_push_ORPCTHAT(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ORPCthat));
1970 if (r->out.unknown3 == NULL) {
1971 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1973 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.unknown3));
1974 if (r->out.iface2 == NULL) {
1975 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1977 NDR_CHECK(ndr_push_MInterfacePointer(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.iface2));
1978 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
1980 return NDR_ERR_SUCCESS;
1983 static enum ndr_err_code ndr_pull_ISystemActivatorRemoteCreateInstance(struct ndr_pull *ndr, int flags, struct ISystemActivatorRemoteCreateInstance *r)
1985 TALLOC_CTX *_mem_save_ORPCthat_0;
1986 TALLOC_CTX *_mem_save_unknown3_0;
1987 TALLOC_CTX *_mem_save_iface2_0;
1988 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
1989 if (flags & NDR_IN) {
1990 ZERO_STRUCT(r->out);
1992 NDR_CHECK(ndr_pull_ORPCTHIS(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.ORPCthis));
1993 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->in.unknown1));
1994 NDR_CHECK(ndr_pull_MInterfacePointer(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.iface1));
1995 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->in.unknown2));
1996 NDR_PULL_ALLOC(ndr, r->out.ORPCthat);
1997 ZERO_STRUCTP(r->out.ORPCthat);
1998 NDR_PULL_ALLOC(ndr, r->out.unknown3);
1999 ZERO_STRUCTP(r->out.unknown3);
2000 NDR_PULL_ALLOC(ndr, r->out.iface2);
2001 ZERO_STRUCTP(r->out.iface2);
2003 if (flags & NDR_OUT) {
2004 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2005 NDR_PULL_ALLOC(ndr, r->out.ORPCthat);
2007 _mem_save_ORPCthat_0 = NDR_PULL_GET_MEM_CTX(ndr);
2008 NDR_PULL_SET_MEM_CTX(ndr, r->out.ORPCthat, LIBNDR_FLAG_REF_ALLOC);
2009 NDR_CHECK(ndr_pull_ORPCTHAT(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ORPCthat));
2010 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ORPCthat_0, LIBNDR_FLAG_REF_ALLOC);
2011 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2012 NDR_PULL_ALLOC(ndr, r->out.unknown3);
2014 _mem_save_unknown3_0 = NDR_PULL_GET_MEM_CTX(ndr);
2015 NDR_PULL_SET_MEM_CTX(ndr, r->out.unknown3, LIBNDR_FLAG_REF_ALLOC);
2016 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.unknown3));
2017 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown3_0, LIBNDR_FLAG_REF_ALLOC);
2018 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2019 NDR_PULL_ALLOC(ndr, r->out.iface2);
2021 _mem_save_iface2_0 = NDR_PULL_GET_MEM_CTX(ndr);
2022 NDR_PULL_SET_MEM_CTX(ndr, r->out.iface2, LIBNDR_FLAG_REF_ALLOC);
2023 NDR_CHECK(ndr_pull_MInterfacePointer(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.iface2));
2024 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_iface2_0, LIBNDR_FLAG_REF_ALLOC);
2025 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
2027 return NDR_ERR_SUCCESS;
2030 _PUBLIC_ void ndr_print_ISystemActivatorRemoteCreateInstance(struct ndr_print *ndr, const char *name, int flags, const struct ISystemActivatorRemoteCreateInstance *r)
2032 ndr_print_struct(ndr, name, "ISystemActivatorRemoteCreateInstance");
2033 if (r == NULL) { ndr_print_null(ndr); return; }
2035 if (flags & NDR_SET_VALUES) {
2036 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
2038 if (flags & NDR_IN) {
2039 ndr_print_struct(ndr, "in", "ISystemActivatorRemoteCreateInstance");
2041 ndr_print_ORPCTHIS(ndr, "ORPCthis", &r->in.ORPCthis);
2042 ndr_print_hyper(ndr, "unknown1", r->in.unknown1);
2043 ndr_print_MInterfacePointer(ndr, "iface1", &r->in.iface1);
2044 ndr_print_hyper(ndr, "unknown2", r->in.unknown2);
2047 if (flags & NDR_OUT) {
2048 ndr_print_struct(ndr, "out", "ISystemActivatorRemoteCreateInstance");
2050 ndr_print_ptr(ndr, "ORPCthat", r->out.ORPCthat);
2052 ndr_print_ORPCTHAT(ndr, "ORPCthat", r->out.ORPCthat);
2054 ndr_print_ptr(ndr, "unknown3", r->out.unknown3);
2056 ndr_print_uint32(ndr, "unknown3", *r->out.unknown3);
2058 ndr_print_ptr(ndr, "iface2", r->out.iface2);
2060 ndr_print_MInterfacePointer(ndr, "iface2", r->out.iface2);
2062 ndr_print_WERROR(ndr, "result", r->out.result);
2068 static const struct ndr_interface_call ISystemActivator_calls[] = {
2070 "ISystemActivatorRemoteCreateInstance",
2071 sizeof(struct ISystemActivatorRemoteCreateInstance),
2072 (ndr_push_flags_fn_t) ndr_push_ISystemActivatorRemoteCreateInstance,
2073 (ndr_pull_flags_fn_t) ndr_pull_ISystemActivatorRemoteCreateInstance,
2074 (ndr_print_function_t) ndr_print_ISystemActivatorRemoteCreateInstance,
2078 { NULL, 0, NULL, NULL, NULL }
2081 static const char * const ISystemActivator_endpoint_strings[] = {
2082 "ncacn_np:[\\pipe\\ISystemActivator]",
2085 static const struct ndr_interface_string_array ISystemActivator_endpoints = {
2087 .names = ISystemActivator_endpoint_strings
2090 static const char * const ISystemActivator_authservice_strings[] = {
2094 static const struct ndr_interface_string_array ISystemActivator_authservices = {
2096 .names = ISystemActivator_authservice_strings
2100 const struct ndr_interface_table ndr_table_ISystemActivator = {
2101 .name = "ISystemActivator",
2103 {0x000001a0,0x0000,0x0000,{0xc0,0x00},{0x00,0x00,0x00,0x00,0x00,0x46}},
2104 NDR_ISYSTEMACTIVATOR_VERSION
2106 .helpstring = NDR_ISYSTEMACTIVATOR_HELPSTRING,
2108 .calls = ISystemActivator_calls,
2109 .endpoints = &ISystemActivator_endpoints,
2110 .authservices = &ISystemActivator_authservices
2113 #include "librpc/gen_ndr/ndr_orpc.h"
2114 static enum ndr_err_code ndr_push_RemQueryInterface2(struct ndr_push *ndr, int flags, const struct RemQueryInterface2 *r)
2116 uint32_t cntr_iids_1;
2117 uint32_t cntr_phr_1;
2118 uint32_t cntr_ppMIF_1;
2119 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
2120 if (flags & NDR_IN) {
2121 NDR_CHECK(ndr_push_ORPCTHIS(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.ORPCthis));
2122 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.ripid));
2124 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.ripid));
2126 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.cIids));
2127 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.iids));
2129 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.cIids));
2130 for (cntr_iids_1 = 0; cntr_iids_1 < r->in.cIids; cntr_iids_1++) {
2131 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->in.iids[cntr_iids_1]));
2135 if (flags & NDR_OUT) {
2136 if (r->out.ORPCthat == NULL) {
2137 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2139 NDR_CHECK(ndr_push_ORPCTHAT(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ORPCthat));
2140 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.phr));
2142 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.cIids));
2143 for (cntr_phr_1 = 0; cntr_phr_1 < r->in.cIids; cntr_phr_1++) {
2144 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.phr[cntr_phr_1]));
2147 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.ppMIF));
2149 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.cIids));
2150 for (cntr_ppMIF_1 = 0; cntr_ppMIF_1 < r->in.cIids; cntr_ppMIF_1++) {
2151 NDR_CHECK(ndr_push_MInterfacePointer(ndr, NDR_SCALARS, &r->out.ppMIF[cntr_ppMIF_1]));
2153 for (cntr_ppMIF_1 = 0; cntr_ppMIF_1 < r->in.cIids; cntr_ppMIF_1++) {
2154 NDR_CHECK(ndr_push_MInterfacePointer(ndr, NDR_BUFFERS, &r->out.ppMIF[cntr_ppMIF_1]));
2157 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
2159 return NDR_ERR_SUCCESS;
2162 static enum ndr_err_code ndr_pull_RemQueryInterface2(struct ndr_pull *ndr, int flags, struct RemQueryInterface2 *r)
2164 uint32_t _ptr_ripid;
2166 uint32_t size_iids_1 = 0;
2167 uint32_t cntr_iids_1;
2169 uint32_t size_phr_1 = 0;
2170 uint32_t cntr_phr_1;
2171 uint32_t _ptr_ppMIF;
2172 uint32_t size_ppMIF_1 = 0;
2173 uint32_t cntr_ppMIF_1;
2174 TALLOC_CTX *_mem_save_ORPCthat_0;
2175 TALLOC_CTX *_mem_save_ripid_0;
2176 TALLOC_CTX *_mem_save_iids_0;
2177 TALLOC_CTX *_mem_save_iids_1;
2178 TALLOC_CTX *_mem_save_phr_0;
2179 TALLOC_CTX *_mem_save_phr_1;
2180 TALLOC_CTX *_mem_save_ppMIF_0;
2181 TALLOC_CTX *_mem_save_ppMIF_1;
2182 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
2183 if (flags & NDR_IN) {
2184 ZERO_STRUCT(r->out);
2186 NDR_CHECK(ndr_pull_ORPCTHIS(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.ORPCthis));
2187 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ripid));
2189 NDR_PULL_ALLOC(ndr, r->in.ripid);
2194 _mem_save_ripid_0 = NDR_PULL_GET_MEM_CTX(ndr);
2195 NDR_PULL_SET_MEM_CTX(ndr, r->in.ripid, 0);
2196 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.ripid));
2197 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ripid_0, 0);
2199 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.cIids));
2200 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_iids));
2202 NDR_PULL_ALLOC(ndr, r->in.iids);
2207 _mem_save_iids_0 = NDR_PULL_GET_MEM_CTX(ndr);
2208 NDR_PULL_SET_MEM_CTX(ndr, r->in.iids, 0);
2209 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.iids));
2210 size_iids_1 = ndr_get_array_size(ndr, &r->in.iids);
2211 NDR_PULL_ALLOC_N(ndr, r->in.iids, size_iids_1);
2212 _mem_save_iids_1 = NDR_PULL_GET_MEM_CTX(ndr);
2213 NDR_PULL_SET_MEM_CTX(ndr, r->in.iids, 0);
2214 for (cntr_iids_1 = 0; cntr_iids_1 < size_iids_1; cntr_iids_1++) {
2215 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->in.iids[cntr_iids_1]));
2217 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_iids_1, 0);
2218 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_iids_0, 0);
2220 NDR_PULL_ALLOC(ndr, r->out.ORPCthat);
2221 ZERO_STRUCTP(r->out.ORPCthat);
2223 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.iids, r->in.cIids));
2226 if (flags & NDR_OUT) {
2227 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2228 NDR_PULL_ALLOC(ndr, r->out.ORPCthat);
2230 _mem_save_ORPCthat_0 = NDR_PULL_GET_MEM_CTX(ndr);
2231 NDR_PULL_SET_MEM_CTX(ndr, r->out.ORPCthat, LIBNDR_FLAG_REF_ALLOC);
2232 NDR_CHECK(ndr_pull_ORPCTHAT(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ORPCthat));
2233 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ORPCthat_0, LIBNDR_FLAG_REF_ALLOC);
2234 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_phr));
2236 NDR_PULL_ALLOC(ndr, r->out.phr);
2241 _mem_save_phr_0 = NDR_PULL_GET_MEM_CTX(ndr);
2242 NDR_PULL_SET_MEM_CTX(ndr, r->out.phr, 0);
2243 NDR_CHECK(ndr_pull_array_size(ndr, &r->out.phr));
2244 size_phr_1 = ndr_get_array_size(ndr, &r->out.phr);
2245 NDR_PULL_ALLOC_N(ndr, r->out.phr, size_phr_1);
2246 _mem_save_phr_1 = NDR_PULL_GET_MEM_CTX(ndr);
2247 NDR_PULL_SET_MEM_CTX(ndr, r->out.phr, 0);
2248 for (cntr_phr_1 = 0; cntr_phr_1 < size_phr_1; cntr_phr_1++) {
2249 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.phr[cntr_phr_1]));
2251 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_phr_1, 0);
2252 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_phr_0, 0);
2254 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ppMIF));
2256 NDR_PULL_ALLOC(ndr, r->out.ppMIF);
2258 r->out.ppMIF = NULL;
2261 _mem_save_ppMIF_0 = NDR_PULL_GET_MEM_CTX(ndr);
2262 NDR_PULL_SET_MEM_CTX(ndr, r->out.ppMIF, 0);
2263 NDR_CHECK(ndr_pull_array_size(ndr, &r->out.ppMIF));
2264 size_ppMIF_1 = ndr_get_array_size(ndr, &r->out.ppMIF);
2265 NDR_PULL_ALLOC_N(ndr, r->out.ppMIF, size_ppMIF_1);
2266 _mem_save_ppMIF_1 = NDR_PULL_GET_MEM_CTX(ndr);
2267 NDR_PULL_SET_MEM_CTX(ndr, r->out.ppMIF, 0);
2268 for (cntr_ppMIF_1 = 0; cntr_ppMIF_1 < size_ppMIF_1; cntr_ppMIF_1++) {
2269 NDR_CHECK(ndr_pull_MInterfacePointer(ndr, NDR_SCALARS, &r->out.ppMIF[cntr_ppMIF_1]));
2271 for (cntr_ppMIF_1 = 0; cntr_ppMIF_1 < size_ppMIF_1; cntr_ppMIF_1++) {
2272 NDR_CHECK(ndr_pull_MInterfacePointer(ndr, NDR_BUFFERS, &r->out.ppMIF[cntr_ppMIF_1]));
2274 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ppMIF_1, 0);
2275 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ppMIF_0, 0);
2277 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
2279 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.phr, r->in.cIids));
2282 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.ppMIF, r->in.cIids));
2285 return NDR_ERR_SUCCESS;
2288 _PUBLIC_ void ndr_print_RemQueryInterface2(struct ndr_print *ndr, const char *name, int flags, const struct RemQueryInterface2 *r)
2290 uint32_t cntr_iids_1;
2291 uint32_t cntr_phr_1;
2292 uint32_t cntr_ppMIF_1;
2293 ndr_print_struct(ndr, name, "RemQueryInterface2");
2294 if (r == NULL) { ndr_print_null(ndr); return; }
2296 if (flags & NDR_SET_VALUES) {
2297 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
2299 if (flags & NDR_IN) {
2300 ndr_print_struct(ndr, "in", "RemQueryInterface2");
2302 ndr_print_ORPCTHIS(ndr, "ORPCthis", &r->in.ORPCthis);
2303 ndr_print_ptr(ndr, "ripid", r->in.ripid);
2306 ndr_print_GUID(ndr, "ripid", r->in.ripid);
2309 ndr_print_uint16(ndr, "cIids", r->in.cIids);
2310 ndr_print_ptr(ndr, "iids", r->in.iids);
2313 ndr->print(ndr, "%s: ARRAY(%d)", "iids", (int)r->in.cIids);
2315 for (cntr_iids_1=0;cntr_iids_1<r->in.cIids;cntr_iids_1++) {
2316 ndr_print_GUID(ndr, "iids", &r->in.iids[cntr_iids_1]);
2323 if (flags & NDR_OUT) {
2324 ndr_print_struct(ndr, "out", "RemQueryInterface2");
2326 ndr_print_ptr(ndr, "ORPCthat", r->out.ORPCthat);
2328 ndr_print_ORPCTHAT(ndr, "ORPCthat", r->out.ORPCthat);
2330 ndr_print_ptr(ndr, "phr", r->out.phr);
2333 ndr->print(ndr, "%s: ARRAY(%d)", "phr", (int)r->in.cIids);
2335 for (cntr_phr_1=0;cntr_phr_1<r->in.cIids;cntr_phr_1++) {
2336 ndr_print_WERROR(ndr, "phr", r->out.phr[cntr_phr_1]);
2341 ndr_print_ptr(ndr, "ppMIF", r->out.ppMIF);
2344 ndr->print(ndr, "%s: ARRAY(%d)", "ppMIF", (int)r->in.cIids);
2346 for (cntr_ppMIF_1=0;cntr_ppMIF_1<r->in.cIids;cntr_ppMIF_1++) {
2347 ndr_print_MInterfacePointer(ndr, "ppMIF", &r->out.ppMIF[cntr_ppMIF_1]);
2352 ndr_print_WERROR(ndr, "result", r->out.result);
2358 static const struct ndr_interface_call IRemUnknown2_calls[] = {
2360 "RemQueryInterface2",
2361 sizeof(struct RemQueryInterface2),
2362 (ndr_push_flags_fn_t) ndr_push_RemQueryInterface2,
2363 (ndr_pull_flags_fn_t) ndr_pull_RemQueryInterface2,
2364 (ndr_print_function_t) ndr_print_RemQueryInterface2,
2368 { NULL, 0, NULL, NULL, NULL }
2371 static const char * const IRemUnknown2_endpoint_strings[] = {
2372 "ncacn_np:[\\pipe\\IRemUnknown2]",
2375 static const struct ndr_interface_string_array IRemUnknown2_endpoints = {
2377 .names = IRemUnknown2_endpoint_strings
2380 static const char * const IRemUnknown2_authservice_strings[] = {
2384 static const struct ndr_interface_string_array IRemUnknown2_authservices = {
2386 .names = IRemUnknown2_authservice_strings
2390 const struct ndr_interface_table ndr_table_IRemUnknown2 = {
2391 .name = "IRemUnknown2",
2393 {0x00000143,0x0000,0x0000,{0xc0,0x00},{0x00,0x00,0x00,0x00,0x00,0x46}},
2394 NDR_IREMUNKNOWN2_VERSION
2396 .helpstring = NDR_IREMUNKNOWN2_HELPSTRING,
2398 .calls = IRemUnknown2_calls,
2399 .endpoints = &IRemUnknown2_endpoints,
2400 .authservices = &IRemUnknown2_authservices
2403 #include "librpc/gen_ndr/ndr_orpc.h"
2404 static enum ndr_err_code ndr_push_REF_ITypeInfo(struct ndr_push *ndr, int ndr_flags, const struct REF_ITypeInfo *r)
2406 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2407 if (ndr_flags & NDR_SCALARS) {
2408 NDR_CHECK(ndr_push_align(ndr, 1));
2409 NDR_CHECK(ndr_push_trailer_align(ndr, 1));
2411 if (ndr_flags & NDR_BUFFERS) {
2413 return NDR_ERR_SUCCESS;
2416 static enum ndr_err_code ndr_pull_REF_ITypeInfo(struct ndr_pull *ndr, int ndr_flags, struct REF_ITypeInfo *r)
2418 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2419 if (ndr_flags & NDR_SCALARS) {
2420 NDR_CHECK(ndr_pull_align(ndr, 1));
2421 NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
2423 if (ndr_flags & NDR_BUFFERS) {
2425 return NDR_ERR_SUCCESS;
2428 _PUBLIC_ void ndr_print_REF_ITypeInfo(struct ndr_print *ndr, const char *name, const struct REF_ITypeInfo *r)
2430 ndr_print_struct(ndr, name, "REF_ITypeInfo");
2431 if (r == NULL) { ndr_print_null(ndr); return; }
2436 static enum ndr_err_code ndr_push_VARIANT(struct ndr_push *ndr, int ndr_flags, const struct VARIANT *r)
2438 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2439 if (ndr_flags & NDR_SCALARS) {
2440 NDR_CHECK(ndr_push_align(ndr, 2));
2441 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->vartype));
2442 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->FIXME));
2443 NDR_CHECK(ndr_push_trailer_align(ndr, 2));
2445 if (ndr_flags & NDR_BUFFERS) {
2447 return NDR_ERR_SUCCESS;
2450 static enum ndr_err_code ndr_pull_VARIANT(struct ndr_pull *ndr, int ndr_flags, struct VARIANT *r)
2452 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2453 if (ndr_flags & NDR_SCALARS) {
2454 NDR_CHECK(ndr_pull_align(ndr, 2));
2455 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->vartype));
2456 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->FIXME));
2457 NDR_CHECK(ndr_pull_trailer_align(ndr, 2));
2459 if (ndr_flags & NDR_BUFFERS) {
2461 return NDR_ERR_SUCCESS;
2464 _PUBLIC_ void ndr_print_VARIANT(struct ndr_print *ndr, const char *name, const struct VARIANT *r)
2466 ndr_print_struct(ndr, name, "VARIANT");
2467 if (r == NULL) { ndr_print_null(ndr); return; }
2469 ndr_print_uint16(ndr, "vartype", r->vartype);
2470 ndr_print_uint16(ndr, "FIXME", r->FIXME);
2474 static enum ndr_err_code ndr_push_DISPPARAMS(struct ndr_push *ndr, int ndr_flags, const struct DISPPARAMS *r)
2476 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2477 if (ndr_flags & NDR_SCALARS) {
2478 NDR_CHECK(ndr_push_align(ndr, 2));
2479 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->FIXME));
2480 NDR_CHECK(ndr_push_trailer_align(ndr, 2));
2482 if (ndr_flags & NDR_BUFFERS) {
2484 return NDR_ERR_SUCCESS;
2487 static enum ndr_err_code ndr_pull_DISPPARAMS(struct ndr_pull *ndr, int ndr_flags, struct DISPPARAMS *r)
2489 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2490 if (ndr_flags & NDR_SCALARS) {
2491 NDR_CHECK(ndr_pull_align(ndr, 2));
2492 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->FIXME));
2493 NDR_CHECK(ndr_pull_trailer_align(ndr, 2));
2495 if (ndr_flags & NDR_BUFFERS) {
2497 return NDR_ERR_SUCCESS;
2500 _PUBLIC_ void ndr_print_DISPPARAMS(struct ndr_print *ndr, const char *name, const struct DISPPARAMS *r)
2502 ndr_print_struct(ndr, name, "DISPPARAMS");
2503 if (r == NULL) { ndr_print_null(ndr); return; }
2505 ndr_print_uint16(ndr, "FIXME", r->FIXME);
2509 static enum ndr_err_code ndr_push_EXCEPINFO(struct ndr_push *ndr, int ndr_flags, const struct EXCEPINFO *r)
2511 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2512 if (ndr_flags & NDR_SCALARS) {
2513 NDR_CHECK(ndr_push_align(ndr, 2));
2514 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->FIXME));
2515 NDR_CHECK(ndr_push_trailer_align(ndr, 2));
2517 if (ndr_flags & NDR_BUFFERS) {
2519 return NDR_ERR_SUCCESS;
2522 static enum ndr_err_code ndr_pull_EXCEPINFO(struct ndr_pull *ndr, int ndr_flags, struct EXCEPINFO *r)
2524 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2525 if (ndr_flags & NDR_SCALARS) {
2526 NDR_CHECK(ndr_pull_align(ndr, 2));
2527 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->FIXME));
2528 NDR_CHECK(ndr_pull_trailer_align(ndr, 2));
2530 if (ndr_flags & NDR_BUFFERS) {
2532 return NDR_ERR_SUCCESS;
2535 _PUBLIC_ void ndr_print_EXCEPINFO(struct ndr_print *ndr, const char *name, const struct EXCEPINFO *r)
2537 ndr_print_struct(ndr, name, "EXCEPINFO");
2538 if (r == NULL) { ndr_print_null(ndr); return; }
2540 ndr_print_uint16(ndr, "FIXME", r->FIXME);
2544 static enum ndr_err_code ndr_push_GetTypeInfoCount(struct ndr_push *ndr, int flags, const struct GetTypeInfoCount *r)
2546 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
2547 if (flags & NDR_IN) {
2548 NDR_CHECK(ndr_push_ORPCTHIS(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.ORPCthis));
2550 if (flags & NDR_OUT) {
2551 if (r->out.ORPCthat == NULL) {
2552 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2554 NDR_CHECK(ndr_push_ORPCTHAT(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ORPCthat));
2555 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.pctinfo));
2556 if (r->out.pctinfo) {
2557 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, *r->out.pctinfo));
2559 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
2561 return NDR_ERR_SUCCESS;
2564 static enum ndr_err_code ndr_pull_GetTypeInfoCount(struct ndr_pull *ndr, int flags, struct GetTypeInfoCount *r)
2566 uint32_t _ptr_pctinfo;
2567 TALLOC_CTX *_mem_save_ORPCthat_0;
2568 TALLOC_CTX *_mem_save_pctinfo_0;
2569 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
2570 if (flags & NDR_IN) {
2571 ZERO_STRUCT(r->out);
2573 NDR_CHECK(ndr_pull_ORPCTHIS(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.ORPCthis));
2574 NDR_PULL_ALLOC(ndr, r->out.ORPCthat);
2575 ZERO_STRUCTP(r->out.ORPCthat);
2577 if (flags & NDR_OUT) {
2578 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2579 NDR_PULL_ALLOC(ndr, r->out.ORPCthat);
2581 _mem_save_ORPCthat_0 = NDR_PULL_GET_MEM_CTX(ndr);
2582 NDR_PULL_SET_MEM_CTX(ndr, r->out.ORPCthat, LIBNDR_FLAG_REF_ALLOC);
2583 NDR_CHECK(ndr_pull_ORPCTHAT(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ORPCthat));
2584 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ORPCthat_0, LIBNDR_FLAG_REF_ALLOC);
2585 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pctinfo));
2587 NDR_PULL_ALLOC(ndr, r->out.pctinfo);
2589 r->out.pctinfo = NULL;
2591 if (r->out.pctinfo) {
2592 _mem_save_pctinfo_0 = NDR_PULL_GET_MEM_CTX(ndr);
2593 NDR_PULL_SET_MEM_CTX(ndr, r->out.pctinfo, 0);
2594 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, r->out.pctinfo));
2595 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pctinfo_0, 0);
2597 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
2599 return NDR_ERR_SUCCESS;
2602 _PUBLIC_ void ndr_print_GetTypeInfoCount(struct ndr_print *ndr, const char *name, int flags, const struct GetTypeInfoCount *r)
2604 ndr_print_struct(ndr, name, "GetTypeInfoCount");
2605 if (r == NULL) { ndr_print_null(ndr); return; }
2607 if (flags & NDR_SET_VALUES) {
2608 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
2610 if (flags & NDR_IN) {
2611 ndr_print_struct(ndr, "in", "GetTypeInfoCount");
2613 ndr_print_ORPCTHIS(ndr, "ORPCthis", &r->in.ORPCthis);
2616 if (flags & NDR_OUT) {
2617 ndr_print_struct(ndr, "out", "GetTypeInfoCount");
2619 ndr_print_ptr(ndr, "ORPCthat", r->out.ORPCthat);
2621 ndr_print_ORPCTHAT(ndr, "ORPCthat", r->out.ORPCthat);
2623 ndr_print_ptr(ndr, "pctinfo", r->out.pctinfo);
2625 if (r->out.pctinfo) {
2626 ndr_print_uint16(ndr, "pctinfo", *r->out.pctinfo);
2629 ndr_print_WERROR(ndr, "result", r->out.result);
2635 static enum ndr_err_code ndr_push_GetTypeInfo(struct ndr_push *ndr, int flags, const struct GetTypeInfo *r)
2637 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
2638 if (flags & NDR_IN) {
2639 NDR_CHECK(ndr_push_ORPCTHIS(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.ORPCthis));
2640 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.iTInfo));
2641 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.lcid));
2643 if (flags & NDR_OUT) {
2644 if (r->out.ORPCthat == NULL) {
2645 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2647 NDR_CHECK(ndr_push_ORPCTHAT(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ORPCthat));
2648 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.ppTInfo));
2649 if (r->out.ppTInfo) {
2650 NDR_CHECK(ndr_push_REF_ITypeInfo(ndr, NDR_SCALARS, r->out.ppTInfo));
2652 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
2654 return NDR_ERR_SUCCESS;
2657 static enum ndr_err_code ndr_pull_GetTypeInfo(struct ndr_pull *ndr, int flags, struct GetTypeInfo *r)
2659 uint32_t _ptr_ppTInfo;
2660 TALLOC_CTX *_mem_save_ORPCthat_0;
2661 TALLOC_CTX *_mem_save_ppTInfo_0;
2662 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
2663 if (flags & NDR_IN) {
2664 ZERO_STRUCT(r->out);
2666 NDR_CHECK(ndr_pull_ORPCTHIS(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.ORPCthis));
2667 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.iTInfo));
2668 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.lcid));
2669 NDR_PULL_ALLOC(ndr, r->out.ORPCthat);
2670 ZERO_STRUCTP(r->out.ORPCthat);
2672 if (flags & NDR_OUT) {
2673 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2674 NDR_PULL_ALLOC(ndr, r->out.ORPCthat);
2676 _mem_save_ORPCthat_0 = NDR_PULL_GET_MEM_CTX(ndr);
2677 NDR_PULL_SET_MEM_CTX(ndr, r->out.ORPCthat, LIBNDR_FLAG_REF_ALLOC);
2678 NDR_CHECK(ndr_pull_ORPCTHAT(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ORPCthat));
2679 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ORPCthat_0, LIBNDR_FLAG_REF_ALLOC);
2680 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ppTInfo));
2682 NDR_PULL_ALLOC(ndr, r->out.ppTInfo);
2684 r->out.ppTInfo = NULL;
2686 if (r->out.ppTInfo) {
2687 _mem_save_ppTInfo_0 = NDR_PULL_GET_MEM_CTX(ndr);
2688 NDR_PULL_SET_MEM_CTX(ndr, r->out.ppTInfo, 0);
2689 NDR_CHECK(ndr_pull_REF_ITypeInfo(ndr, NDR_SCALARS, r->out.ppTInfo));
2690 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ppTInfo_0, 0);
2692 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
2694 return NDR_ERR_SUCCESS;
2697 _PUBLIC_ void ndr_print_GetTypeInfo(struct ndr_print *ndr, const char *name, int flags, const struct GetTypeInfo *r)
2699 ndr_print_struct(ndr, name, "GetTypeInfo");
2700 if (r == NULL) { ndr_print_null(ndr); return; }
2702 if (flags & NDR_SET_VALUES) {
2703 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
2705 if (flags & NDR_IN) {
2706 ndr_print_struct(ndr, "in", "GetTypeInfo");
2708 ndr_print_ORPCTHIS(ndr, "ORPCthis", &r->in.ORPCthis);
2709 ndr_print_uint16(ndr, "iTInfo", r->in.iTInfo);
2710 ndr_print_uint32(ndr, "lcid", r->in.lcid);
2713 if (flags & NDR_OUT) {
2714 ndr_print_struct(ndr, "out", "GetTypeInfo");
2716 ndr_print_ptr(ndr, "ORPCthat", r->out.ORPCthat);
2718 ndr_print_ORPCTHAT(ndr, "ORPCthat", r->out.ORPCthat);
2720 ndr_print_ptr(ndr, "ppTInfo", r->out.ppTInfo);
2722 if (r->out.ppTInfo) {
2723 ndr_print_REF_ITypeInfo(ndr, "ppTInfo", r->out.ppTInfo);
2726 ndr_print_WERROR(ndr, "result", r->out.result);
2732 static enum ndr_err_code ndr_push_GetIDsOfNames(struct ndr_push *ndr, int flags, const struct GetIDsOfNames *r)
2734 uint32_t cntr_rgDispId_1;
2735 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
2736 if (flags & NDR_IN) {
2737 NDR_CHECK(ndr_push_ORPCTHIS(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.ORPCthis));
2738 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.riid));
2740 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.riid));
2742 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.cNames));
2743 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.lcid));
2745 if (flags & NDR_OUT) {
2746 if (r->out.ORPCthat == NULL) {
2747 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2749 NDR_CHECK(ndr_push_ORPCTHAT(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ORPCthat));
2750 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.rgDispId));
2751 if (r->out.rgDispId) {
2752 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.cNames));
2753 for (cntr_rgDispId_1 = 0; cntr_rgDispId_1 < r->in.cNames; cntr_rgDispId_1++) {
2754 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->out.rgDispId[cntr_rgDispId_1]));
2757 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
2759 return NDR_ERR_SUCCESS;
2762 static enum ndr_err_code ndr_pull_GetIDsOfNames(struct ndr_pull *ndr, int flags, struct GetIDsOfNames *r)
2765 uint32_t _ptr_rgDispId;
2766 uint32_t size_rgDispId_1 = 0;
2767 uint32_t cntr_rgDispId_1;
2768 TALLOC_CTX *_mem_save_ORPCthat_0;
2769 TALLOC_CTX *_mem_save_riid_0;
2770 TALLOC_CTX *_mem_save_rgDispId_0;
2771 TALLOC_CTX *_mem_save_rgDispId_1;
2772 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
2773 if (flags & NDR_IN) {
2774 ZERO_STRUCT(r->out);
2776 NDR_CHECK(ndr_pull_ORPCTHIS(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.ORPCthis));
2777 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_riid));
2779 NDR_PULL_ALLOC(ndr, r->in.riid);
2784 _mem_save_riid_0 = NDR_PULL_GET_MEM_CTX(ndr);
2785 NDR_PULL_SET_MEM_CTX(ndr, r->in.riid, 0);
2786 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.riid));
2787 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_riid_0, 0);
2789 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.cNames));
2790 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.lcid));
2791 NDR_PULL_ALLOC(ndr, r->out.ORPCthat);
2792 ZERO_STRUCTP(r->out.ORPCthat);
2794 if (flags & NDR_OUT) {
2795 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2796 NDR_PULL_ALLOC(ndr, r->out.ORPCthat);
2798 _mem_save_ORPCthat_0 = NDR_PULL_GET_MEM_CTX(ndr);
2799 NDR_PULL_SET_MEM_CTX(ndr, r->out.ORPCthat, LIBNDR_FLAG_REF_ALLOC);
2800 NDR_CHECK(ndr_pull_ORPCTHAT(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ORPCthat));
2801 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ORPCthat_0, LIBNDR_FLAG_REF_ALLOC);
2802 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rgDispId));
2803 if (_ptr_rgDispId) {
2804 NDR_PULL_ALLOC(ndr, r->out.rgDispId);
2806 r->out.rgDispId = NULL;
2808 if (r->out.rgDispId) {
2809 _mem_save_rgDispId_0 = NDR_PULL_GET_MEM_CTX(ndr);
2810 NDR_PULL_SET_MEM_CTX(ndr, r->out.rgDispId, 0);
2811 NDR_CHECK(ndr_pull_array_size(ndr, &r->out.rgDispId));
2812 size_rgDispId_1 = ndr_get_array_size(ndr, &r->out.rgDispId);
2813 NDR_PULL_ALLOC_N(ndr, r->out.rgDispId, size_rgDispId_1);
2814 _mem_save_rgDispId_1 = NDR_PULL_GET_MEM_CTX(ndr);
2815 NDR_PULL_SET_MEM_CTX(ndr, r->out.rgDispId, 0);
2816 for (cntr_rgDispId_1 = 0; cntr_rgDispId_1 < size_rgDispId_1; cntr_rgDispId_1++) {
2817 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->out.rgDispId[cntr_rgDispId_1]));
2819 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rgDispId_1, 0);
2820 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rgDispId_0, 0);
2822 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
2823 if (r->out.rgDispId) {
2824 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.rgDispId, r->in.cNames));
2827 return NDR_ERR_SUCCESS;
2830 _PUBLIC_ void ndr_print_GetIDsOfNames(struct ndr_print *ndr, const char *name, int flags, const struct GetIDsOfNames *r)
2832 uint32_t cntr_rgDispId_1;
2833 ndr_print_struct(ndr, name, "GetIDsOfNames");
2834 if (r == NULL) { ndr_print_null(ndr); return; }
2836 if (flags & NDR_SET_VALUES) {
2837 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
2839 if (flags & NDR_IN) {
2840 ndr_print_struct(ndr, "in", "GetIDsOfNames");
2842 ndr_print_ORPCTHIS(ndr, "ORPCthis", &r->in.ORPCthis);
2843 ndr_print_ptr(ndr, "riid", r->in.riid);
2846 ndr_print_GUID(ndr, "riid", r->in.riid);
2849 ndr_print_uint16(ndr, "cNames", r->in.cNames);
2850 ndr_print_uint32(ndr, "lcid", r->in.lcid);
2853 if (flags & NDR_OUT) {
2854 ndr_print_struct(ndr, "out", "GetIDsOfNames");
2856 ndr_print_ptr(ndr, "ORPCthat", r->out.ORPCthat);
2858 ndr_print_ORPCTHAT(ndr, "ORPCthat", r->out.ORPCthat);
2860 ndr_print_ptr(ndr, "rgDispId", r->out.rgDispId);
2862 if (r->out.rgDispId) {
2863 ndr->print(ndr, "%s: ARRAY(%d)", "rgDispId", (int)r->in.cNames);
2865 for (cntr_rgDispId_1=0;cntr_rgDispId_1<r->in.cNames;cntr_rgDispId_1++) {
2866 ndr_print_uint32(ndr, "rgDispId", r->out.rgDispId[cntr_rgDispId_1]);
2871 ndr_print_WERROR(ndr, "result", r->out.result);
2877 static enum ndr_err_code ndr_push_Invoke(struct ndr_push *ndr, int flags, const struct Invoke *r)
2879 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
2880 if (flags & NDR_IN) {
2881 NDR_CHECK(ndr_push_ORPCTHIS(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.ORPCthis));
2882 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.dispIdMember));
2883 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.riid));
2885 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.riid));
2887 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.lcid));
2888 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.wFlags));
2889 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.pDispParams));
2890 if (r->in.pDispParams) {
2891 NDR_CHECK(ndr_push_DISPPARAMS(ndr, NDR_SCALARS, r->in.pDispParams));
2894 if (flags & NDR_OUT) {
2895 if (r->out.ORPCthat == NULL) {
2896 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2898 NDR_CHECK(ndr_push_ORPCTHAT(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ORPCthat));
2899 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.pDispParams));
2900 if (r->out.pDispParams) {
2901 NDR_CHECK(ndr_push_DISPPARAMS(ndr, NDR_SCALARS, r->out.pDispParams));
2903 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.pVarResult));
2904 if (r->out.pVarResult) {
2905 NDR_CHECK(ndr_push_VARIANT(ndr, NDR_SCALARS, r->out.pVarResult));
2907 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.pExcepInfo));
2908 if (r->out.pExcepInfo) {
2909 NDR_CHECK(ndr_push_EXCEPINFO(ndr, NDR_SCALARS, r->out.pExcepInfo));
2911 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.puArgErr));
2912 if (r->out.puArgErr) {
2913 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, *r->out.puArgErr));
2915 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
2917 return NDR_ERR_SUCCESS;
2920 static enum ndr_err_code ndr_pull_Invoke(struct ndr_pull *ndr, int flags, struct Invoke *r)
2923 uint32_t _ptr_pDispParams;
2924 uint32_t _ptr_pVarResult;
2925 uint32_t _ptr_pExcepInfo;
2926 uint32_t _ptr_puArgErr;
2927 TALLOC_CTX *_mem_save_ORPCthat_0;
2928 TALLOC_CTX *_mem_save_riid_0;
2929 TALLOC_CTX *_mem_save_pDispParams_0;
2930 TALLOC_CTX *_mem_save_pVarResult_0;
2931 TALLOC_CTX *_mem_save_pExcepInfo_0;
2932 TALLOC_CTX *_mem_save_puArgErr_0;
2933 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
2934 if (flags & NDR_IN) {
2935 ZERO_STRUCT(r->out);
2937 NDR_CHECK(ndr_pull_ORPCTHIS(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.ORPCthis));
2938 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.dispIdMember));
2939 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_riid));
2941 NDR_PULL_ALLOC(ndr, r->in.riid);
2946 _mem_save_riid_0 = NDR_PULL_GET_MEM_CTX(ndr);
2947 NDR_PULL_SET_MEM_CTX(ndr, r->in.riid, 0);
2948 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.riid));
2949 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_riid_0, 0);
2951 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.lcid));
2952 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.wFlags));
2953 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pDispParams));
2954 if (_ptr_pDispParams) {
2955 NDR_PULL_ALLOC(ndr, r->in.pDispParams);
2957 r->in.pDispParams = NULL;
2959 if (r->in.pDispParams) {
2960 _mem_save_pDispParams_0 = NDR_PULL_GET_MEM_CTX(ndr);
2961 NDR_PULL_SET_MEM_CTX(ndr, r->in.pDispParams, 0);
2962 NDR_CHECK(ndr_pull_DISPPARAMS(ndr, NDR_SCALARS, r->in.pDispParams));
2963 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pDispParams_0, 0);
2965 NDR_PULL_ALLOC(ndr, r->out.ORPCthat);
2966 ZERO_STRUCTP(r->out.ORPCthat);
2968 if (flags & NDR_OUT) {
2969 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2970 NDR_PULL_ALLOC(ndr, r->out.ORPCthat);
2972 _mem_save_ORPCthat_0 = NDR_PULL_GET_MEM_CTX(ndr);
2973 NDR_PULL_SET_MEM_CTX(ndr, r->out.ORPCthat, LIBNDR_FLAG_REF_ALLOC);
2974 NDR_CHECK(ndr_pull_ORPCTHAT(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ORPCthat));
2975 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ORPCthat_0, LIBNDR_FLAG_REF_ALLOC);
2976 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pDispParams));
2977 if (_ptr_pDispParams) {
2978 NDR_PULL_ALLOC(ndr, r->out.pDispParams);
2980 r->out.pDispParams = NULL;
2982 if (r->out.pDispParams) {
2983 _mem_save_pDispParams_0 = NDR_PULL_GET_MEM_CTX(ndr);
2984 NDR_PULL_SET_MEM_CTX(ndr, r->out.pDispParams, 0);
2985 NDR_CHECK(ndr_pull_DISPPARAMS(ndr, NDR_SCALARS, r->out.pDispParams));
2986 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pDispParams_0, 0);
2988 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pVarResult));
2989 if (_ptr_pVarResult) {
2990 NDR_PULL_ALLOC(ndr, r->out.pVarResult);
2992 r->out.pVarResult = NULL;
2994 if (r->out.pVarResult) {
2995 _mem_save_pVarResult_0 = NDR_PULL_GET_MEM_CTX(ndr);
2996 NDR_PULL_SET_MEM_CTX(ndr, r->out.pVarResult, 0);
2997 NDR_CHECK(ndr_pull_VARIANT(ndr, NDR_SCALARS, r->out.pVarResult));
2998 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pVarResult_0, 0);
3000 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pExcepInfo));
3001 if (_ptr_pExcepInfo) {
3002 NDR_PULL_ALLOC(ndr, r->out.pExcepInfo);
3004 r->out.pExcepInfo = NULL;
3006 if (r->out.pExcepInfo) {
3007 _mem_save_pExcepInfo_0 = NDR_PULL_GET_MEM_CTX(ndr);
3008 NDR_PULL_SET_MEM_CTX(ndr, r->out.pExcepInfo, 0);
3009 NDR_CHECK(ndr_pull_EXCEPINFO(ndr, NDR_SCALARS, r->out.pExcepInfo));
3010 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pExcepInfo_0, 0);
3012 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_puArgErr));
3013 if (_ptr_puArgErr) {
3014 NDR_PULL_ALLOC(ndr, r->out.puArgErr);
3016 r->out.puArgErr = NULL;
3018 if (r->out.puArgErr) {
3019 _mem_save_puArgErr_0 = NDR_PULL_GET_MEM_CTX(ndr);
3020 NDR_PULL_SET_MEM_CTX(ndr, r->out.puArgErr, 0);
3021 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, r->out.puArgErr));
3022 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_puArgErr_0, 0);
3024 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
3026 return NDR_ERR_SUCCESS;
3029 _PUBLIC_ void ndr_print_Invoke(struct ndr_print *ndr, const char *name, int flags, const struct Invoke *r)
3031 ndr_print_struct(ndr, name, "Invoke");
3032 if (r == NULL) { ndr_print_null(ndr); return; }
3034 if (flags & NDR_SET_VALUES) {
3035 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3037 if (flags & NDR_IN) {
3038 ndr_print_struct(ndr, "in", "Invoke");
3040 ndr_print_ORPCTHIS(ndr, "ORPCthis", &r->in.ORPCthis);
3041 ndr_print_uint32(ndr, "dispIdMember", r->in.dispIdMember);
3042 ndr_print_ptr(ndr, "riid", r->in.riid);
3045 ndr_print_GUID(ndr, "riid", r->in.riid);
3048 ndr_print_uint32(ndr, "lcid", r->in.lcid);
3049 ndr_print_uint16(ndr, "wFlags", r->in.wFlags);
3050 ndr_print_ptr(ndr, "pDispParams", r->in.pDispParams);
3052 if (r->in.pDispParams) {
3053 ndr_print_DISPPARAMS(ndr, "pDispParams", r->in.pDispParams);
3058 if (flags & NDR_OUT) {
3059 ndr_print_struct(ndr, "out", "Invoke");
3061 ndr_print_ptr(ndr, "ORPCthat", r->out.ORPCthat);
3063 ndr_print_ORPCTHAT(ndr, "ORPCthat", r->out.ORPCthat);
3065 ndr_print_ptr(ndr, "pDispParams", r->out.pDispParams);
3067 if (r->out.pDispParams) {
3068 ndr_print_DISPPARAMS(ndr, "pDispParams", r->out.pDispParams);
3071 ndr_print_ptr(ndr, "pVarResult", r->out.pVarResult);
3073 if (r->out.pVarResult) {
3074 ndr_print_VARIANT(ndr, "pVarResult", r->out.pVarResult);
3077 ndr_print_ptr(ndr, "pExcepInfo", r->out.pExcepInfo);
3079 if (r->out.pExcepInfo) {
3080 ndr_print_EXCEPINFO(ndr, "pExcepInfo", r->out.pExcepInfo);
3083 ndr_print_ptr(ndr, "puArgErr", r->out.puArgErr);
3085 if (r->out.puArgErr) {
3086 ndr_print_uint16(ndr, "puArgErr", *r->out.puArgErr);
3089 ndr_print_WERROR(ndr, "result", r->out.result);
3095 static const struct ndr_interface_call IDispatch_calls[] = {
3098 sizeof(struct GetTypeInfoCount),
3099 (ndr_push_flags_fn_t) ndr_push_GetTypeInfoCount,
3100 (ndr_pull_flags_fn_t) ndr_pull_GetTypeInfoCount,
3101 (ndr_print_function_t) ndr_print_GetTypeInfoCount,
3107 sizeof(struct GetTypeInfo),
3108 (ndr_push_flags_fn_t) ndr_push_GetTypeInfo,
3109 (ndr_pull_flags_fn_t) ndr_pull_GetTypeInfo,
3110 (ndr_print_function_t) ndr_print_GetTypeInfo,
3116 sizeof(struct GetIDsOfNames),
3117 (ndr_push_flags_fn_t) ndr_push_GetIDsOfNames,
3118 (ndr_pull_flags_fn_t) ndr_pull_GetIDsOfNames,
3119 (ndr_print_function_t) ndr_print_GetIDsOfNames,
3125 sizeof(struct Invoke),
3126 (ndr_push_flags_fn_t) ndr_push_Invoke,
3127 (ndr_pull_flags_fn_t) ndr_pull_Invoke,
3128 (ndr_print_function_t) ndr_print_Invoke,
3132 { NULL, 0, NULL, NULL, NULL }
3135 static const char * const IDispatch_endpoint_strings[] = {
3136 "ncacn_np:[\\pipe\\IDispatch]",
3139 static const struct ndr_interface_string_array IDispatch_endpoints = {
3141 .names = IDispatch_endpoint_strings
3144 static const char * const IDispatch_authservice_strings[] = {
3148 static const struct ndr_interface_string_array IDispatch_authservices = {
3150 .names = IDispatch_authservice_strings
3154 const struct ndr_interface_table ndr_table_IDispatch = {
3155 .name = "IDispatch",
3157 {0x00020400,0x0000,0x0000,{0xc0,0x00},{0x00,0x00,0x00,0x00,0x00,0x46}},
3158 NDR_IDISPATCH_VERSION
3160 .helpstring = NDR_IDISPATCH_HELPSTRING,
3162 .calls = IDispatch_calls,
3163 .endpoints = &IDispatch_endpoints,
3164 .authservices = &IDispatch_authservices
3167 #include "librpc/gen_ndr/ndr_orpc.h"
3168 static enum ndr_err_code ndr_push_MarshalInterface(struct ndr_push *ndr, int flags, const struct MarshalInterface *r)
3170 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
3171 if (flags & NDR_IN) {
3172 NDR_CHECK(ndr_push_ORPCTHIS(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.ORPCthis));
3174 if (flags & NDR_OUT) {
3175 if (r->out.ORPCthat == NULL) {
3176 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3178 NDR_CHECK(ndr_push_ORPCTHAT(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ORPCthat));
3179 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
3181 return NDR_ERR_SUCCESS;
3184 static enum ndr_err_code ndr_pull_MarshalInterface(struct ndr_pull *ndr, int flags, struct MarshalInterface *r)
3186 TALLOC_CTX *_mem_save_ORPCthat_0;
3187 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
3188 if (flags & NDR_IN) {
3189 ZERO_STRUCT(r->out);
3191 NDR_CHECK(ndr_pull_ORPCTHIS(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.ORPCthis));
3192 NDR_PULL_ALLOC(ndr, r->out.ORPCthat);
3193 ZERO_STRUCTP(r->out.ORPCthat);
3195 if (flags & NDR_OUT) {
3196 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
3197 NDR_PULL_ALLOC(ndr, r->out.ORPCthat);
3199 _mem_save_ORPCthat_0 = NDR_PULL_GET_MEM_CTX(ndr);
3200 NDR_PULL_SET_MEM_CTX(ndr, r->out.ORPCthat, LIBNDR_FLAG_REF_ALLOC);
3201 NDR_CHECK(ndr_pull_ORPCTHAT(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ORPCthat));
3202 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ORPCthat_0, LIBNDR_FLAG_REF_ALLOC);
3203 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
3205 return NDR_ERR_SUCCESS;
3208 _PUBLIC_ void ndr_print_MarshalInterface(struct ndr_print *ndr, const char *name, int flags, const struct MarshalInterface *r)
3210 ndr_print_struct(ndr, name, "MarshalInterface");
3211 if (r == NULL) { ndr_print_null(ndr); return; }
3213 if (flags & NDR_SET_VALUES) {
3214 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3216 if (flags & NDR_IN) {
3217 ndr_print_struct(ndr, "in", "MarshalInterface");
3219 ndr_print_ORPCTHIS(ndr, "ORPCthis", &r->in.ORPCthis);
3222 if (flags & NDR_OUT) {
3223 ndr_print_struct(ndr, "out", "MarshalInterface");
3225 ndr_print_ptr(ndr, "ORPCthat", r->out.ORPCthat);
3227 ndr_print_ORPCTHAT(ndr, "ORPCthat", r->out.ORPCthat);
3229 ndr_print_WERROR(ndr, "result", r->out.result);
3235 static enum ndr_err_code ndr_push_UnMarshalInterface(struct ndr_push *ndr, int flags, const struct UnMarshalInterface *r)
3237 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
3238 if (flags & NDR_IN) {
3239 NDR_CHECK(ndr_push_ORPCTHIS(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.ORPCthis));
3241 if (flags & NDR_OUT) {
3242 if (r->out.ORPCthat == NULL) {
3243 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3245 NDR_CHECK(ndr_push_ORPCTHAT(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ORPCthat));
3246 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
3248 return NDR_ERR_SUCCESS;
3251 static enum ndr_err_code ndr_pull_UnMarshalInterface(struct ndr_pull *ndr, int flags, struct UnMarshalInterface *r)
3253 TALLOC_CTX *_mem_save_ORPCthat_0;
3254 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
3255 if (flags & NDR_IN) {
3256 ZERO_STRUCT(r->out);
3258 NDR_CHECK(ndr_pull_ORPCTHIS(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.ORPCthis));
3259 NDR_PULL_ALLOC(ndr, r->out.ORPCthat);
3260 ZERO_STRUCTP(r->out.ORPCthat);
3262 if (flags & NDR_OUT) {
3263 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
3264 NDR_PULL_ALLOC(ndr, r->out.ORPCthat);
3266 _mem_save_ORPCthat_0 = NDR_PULL_GET_MEM_CTX(ndr);
3267 NDR_PULL_SET_MEM_CTX(ndr, r->out.ORPCthat, LIBNDR_FLAG_REF_ALLOC);
3268 NDR_CHECK(ndr_pull_ORPCTHAT(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ORPCthat));
3269 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ORPCthat_0, LIBNDR_FLAG_REF_ALLOC);
3270 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
3272 return NDR_ERR_SUCCESS;
3275 _PUBLIC_ void ndr_print_UnMarshalInterface(struct ndr_print *ndr, const char *name, int flags, const struct UnMarshalInterface *r)
3277 ndr_print_struct(ndr, name, "UnMarshalInterface");
3278 if (r == NULL) { ndr_print_null(ndr); return; }
3280 if (flags & NDR_SET_VALUES) {
3281 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3283 if (flags & NDR_IN) {
3284 ndr_print_struct(ndr, "in", "UnMarshalInterface");
3286 ndr_print_ORPCTHIS(ndr, "ORPCthis", &r->in.ORPCthis);
3289 if (flags & NDR_OUT) {
3290 ndr_print_struct(ndr, "out", "UnMarshalInterface");
3292 ndr_print_ptr(ndr, "ORPCthat", r->out.ORPCthat);
3294 ndr_print_ORPCTHAT(ndr, "ORPCthat", r->out.ORPCthat);
3296 ndr_print_WERROR(ndr, "result", r->out.result);
3302 static const struct ndr_interface_call IMarshal_calls[] = {
3305 sizeof(struct MarshalInterface),
3306 (ndr_push_flags_fn_t) ndr_push_MarshalInterface,
3307 (ndr_pull_flags_fn_t) ndr_pull_MarshalInterface,
3308 (ndr_print_function_t) ndr_print_MarshalInterface,
3313 "UnMarshalInterface",
3314 sizeof(struct UnMarshalInterface),
3315 (ndr_push_flags_fn_t) ndr_push_UnMarshalInterface,
3316 (ndr_pull_flags_fn_t) ndr_pull_UnMarshalInterface,
3317 (ndr_print_function_t) ndr_print_UnMarshalInterface,
3321 { NULL, 0, NULL, NULL, NULL }
3324 static const char * const IMarshal_endpoint_strings[] = {
3325 "ncacn_np:[\\pipe\\IMarshal]",
3328 static const struct ndr_interface_string_array IMarshal_endpoints = {
3330 .names = IMarshal_endpoint_strings
3333 static const char * const IMarshal_authservice_strings[] = {
3337 static const struct ndr_interface_string_array IMarshal_authservices = {
3339 .names = IMarshal_authservice_strings
3343 const struct ndr_interface_table ndr_table_IMarshal = {
3346 {0x00000003,0x0000,0x0000,{0xc0,0x00},{0x00,0x00,0x00,0x00,0x00,0x46}},
3347 NDR_IMARSHAL_VERSION
3349 .helpstring = NDR_IMARSHAL_HELPSTRING,
3351 .calls = IMarshal_calls,
3352 .endpoints = &IMarshal_endpoints,
3353 .authservices = &IMarshal_authservices
3356 #include "librpc/gen_ndr/ndr_orpc.h"
3357 static enum ndr_err_code ndr_push_MakeCoffee(struct ndr_push *ndr, int flags, const struct MakeCoffee *r)
3359 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
3360 if (flags & NDR_IN) {
3361 NDR_CHECK(ndr_push_ORPCTHIS(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.ORPCthis));
3362 if (r->in.flavor == NULL) {
3363 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3365 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.flavor, CH_UTF16)));
3366 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
3367 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.flavor, CH_UTF16)));
3368 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.flavor, ndr_charset_length(r->in.flavor, CH_UTF16), sizeof(uint16_t), CH_UTF16));
3370 if (flags & NDR_OUT) {
3371 if (r->out.ORPCthat == NULL) {
3372 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3374 NDR_CHECK(ndr_push_ORPCTHAT(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ORPCthat));
3375 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
3377 return NDR_ERR_SUCCESS;
3380 static enum ndr_err_code ndr_pull_MakeCoffee(struct ndr_pull *ndr, int flags, struct MakeCoffee *r)
3382 uint32_t size_flavor_1 = 0;
3383 uint32_t length_flavor_1 = 0;
3384 TALLOC_CTX *_mem_save_ORPCthat_0;
3385 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
3386 if (flags & NDR_IN) {
3387 ZERO_STRUCT(r->out);
3389 NDR_CHECK(ndr_pull_ORPCTHIS(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.ORPCthis));
3390 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.flavor));
3391 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.flavor));
3392 size_flavor_1 = ndr_get_array_size(ndr, &r->in.flavor);
3393 length_flavor_1 = ndr_get_array_length(ndr, &r->in.flavor);
3394 if (length_flavor_1 > size_flavor_1) {
3395 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_flavor_1, length_flavor_1);
3397 NDR_CHECK(ndr_check_string_terminator(ndr, length_flavor_1, sizeof(uint16_t)));
3398 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.flavor, length_flavor_1, sizeof(uint16_t), CH_UTF16));
3399 NDR_PULL_ALLOC(ndr, r->out.ORPCthat);
3400 ZERO_STRUCTP(r->out.ORPCthat);
3402 if (flags & NDR_OUT) {
3403 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
3404 NDR_PULL_ALLOC(ndr, r->out.ORPCthat);
3406 _mem_save_ORPCthat_0 = NDR_PULL_GET_MEM_CTX(ndr);
3407 NDR_PULL_SET_MEM_CTX(ndr, r->out.ORPCthat, LIBNDR_FLAG_REF_ALLOC);
3408 NDR_CHECK(ndr_pull_ORPCTHAT(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ORPCthat));
3409 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ORPCthat_0, LIBNDR_FLAG_REF_ALLOC);
3410 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
3412 return NDR_ERR_SUCCESS;
3415 _PUBLIC_ void ndr_print_MakeCoffee(struct ndr_print *ndr, const char *name, int flags, const struct MakeCoffee *r)
3417 ndr_print_struct(ndr, name, "MakeCoffee");
3418 if (r == NULL) { ndr_print_null(ndr); return; }
3420 if (flags & NDR_SET_VALUES) {
3421 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3423 if (flags & NDR_IN) {
3424 ndr_print_struct(ndr, "in", "MakeCoffee");
3426 ndr_print_ORPCTHIS(ndr, "ORPCthis", &r->in.ORPCthis);
3427 ndr_print_ptr(ndr, "flavor", r->in.flavor);
3429 ndr_print_string(ndr, "flavor", r->in.flavor);
3433 if (flags & NDR_OUT) {
3434 ndr_print_struct(ndr, "out", "MakeCoffee");
3436 ndr_print_ptr(ndr, "ORPCthat", r->out.ORPCthat);
3438 ndr_print_ORPCTHAT(ndr, "ORPCthat", r->out.ORPCthat);
3440 ndr_print_WERROR(ndr, "result", r->out.result);
3446 static const struct ndr_interface_call ICoffeeMachine_calls[] = {
3449 sizeof(struct MakeCoffee),
3450 (ndr_push_flags_fn_t) ndr_push_MakeCoffee,
3451 (ndr_pull_flags_fn_t) ndr_pull_MakeCoffee,
3452 (ndr_print_function_t) ndr_print_MakeCoffee,
3456 { NULL, 0, NULL, NULL, NULL }
3459 static const char * const ICoffeeMachine_endpoint_strings[] = {
3460 "ncacn_np:[\\pipe\\ICoffeeMachine]",
3463 static const struct ndr_interface_string_array ICoffeeMachine_endpoints = {
3465 .names = ICoffeeMachine_endpoint_strings
3468 static const char * const ICoffeeMachine_authservice_strings[] = {
3472 static const struct ndr_interface_string_array ICoffeeMachine_authservices = {
3474 .names = ICoffeeMachine_authservice_strings
3478 const struct ndr_interface_table ndr_table_ICoffeeMachine = {
3479 .name = "ICoffeeMachine",
3481 {0xda23f6db,0x6f45,0x466c,{0x9e,0xed},{0x0b,0x65,0x28,0x6f,0x2d,0x78}},
3482 NDR_ICOFFEEMACHINE_VERSION
3484 .helpstring = NDR_ICOFFEEMACHINE_HELPSTRING,
3486 .calls = ICoffeeMachine_calls,
3487 .endpoints = &ICoffeeMachine_endpoints,
3488 .authservices = &ICoffeeMachine_authservices
3491 #include "librpc/gen_ndr/ndr_orpc.h"
3492 static enum ndr_err_code ndr_push_Read(struct ndr_push *ndr, int flags, const struct Read *r)
3494 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
3495 if (flags & NDR_IN) {
3496 NDR_CHECK(ndr_push_ORPCTHIS(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.ORPCthis));
3497 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.num_requested));
3498 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.num_readx));
3499 if (r->in.num_readx) {
3500 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.num_readx));
3503 if (flags & NDR_OUT) {
3504 if (r->out.ORPCthat == NULL) {
3505 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3507 NDR_CHECK(ndr_push_ORPCTHAT(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ORPCthat));
3508 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.num_requested));
3509 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
3510 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, *r->out.num_read));
3511 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->out.pv, *r->out.num_read));
3512 if (r->out.num_read == NULL) {
3513 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3515 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.num_read));
3516 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
3518 return NDR_ERR_SUCCESS;
3521 static enum ndr_err_code ndr_pull_Read(struct ndr_pull *ndr, int flags, struct Read *r)
3523 uint32_t size_pv_0 = 0;
3524 uint32_t length_pv_0 = 0;
3525 uint32_t _ptr_num_readx;
3526 TALLOC_CTX *_mem_save_ORPCthat_0;
3527 TALLOC_CTX *_mem_save_num_readx_0;
3528 TALLOC_CTX *_mem_save_num_read_0;
3529 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
3530 if (flags & NDR_IN) {
3531 ZERO_STRUCT(r->out);
3533 NDR_CHECK(ndr_pull_ORPCTHIS(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.ORPCthis));
3534 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.num_requested));
3535 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_num_readx));
3536 if (_ptr_num_readx) {
3537 NDR_PULL_ALLOC(ndr, r->in.num_readx);
3539 r->in.num_readx = NULL;
3541 if (r->in.num_readx) {
3542 _mem_save_num_readx_0 = NDR_PULL_GET_MEM_CTX(ndr);
3543 NDR_PULL_SET_MEM_CTX(ndr, r->in.num_readx, 0);
3544 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.num_readx));
3545 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_num_readx_0, 0);
3547 NDR_PULL_ALLOC(ndr, r->out.ORPCthat);
3548 ZERO_STRUCTP(r->out.ORPCthat);
3549 NDR_PULL_ALLOC(ndr, r->out.num_read);
3550 ZERO_STRUCTP(r->out.num_read);
3552 if (flags & NDR_OUT) {
3553 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
3554 NDR_PULL_ALLOC(ndr, r->out.ORPCthat);
3556 _mem_save_ORPCthat_0 = NDR_PULL_GET_MEM_CTX(ndr);
3557 NDR_PULL_SET_MEM_CTX(ndr, r->out.ORPCthat, LIBNDR_FLAG_REF_ALLOC);
3558 NDR_CHECK(ndr_pull_ORPCTHAT(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ORPCthat));
3559 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ORPCthat_0, LIBNDR_FLAG_REF_ALLOC);
3560 NDR_CHECK(ndr_pull_array_size(ndr, &r->out.pv));
3561 NDR_CHECK(ndr_pull_array_length(ndr, &r->out.pv));
3562 size_pv_0 = ndr_get_array_size(ndr, &r->out.pv);
3563 length_pv_0 = ndr_get_array_length(ndr, &r->out.pv);
3564 if (length_pv_0 > size_pv_0) {
3565 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_pv_0, length_pv_0);
3567 NDR_PULL_ALLOC_N(ndr, r->out.pv, size_pv_0);
3568 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.pv, length_pv_0));
3569 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
3570 NDR_PULL_ALLOC(ndr, r->out.num_read);
3572 _mem_save_num_read_0 = NDR_PULL_GET_MEM_CTX(ndr);
3573 NDR_PULL_SET_MEM_CTX(ndr, r->out.num_read, LIBNDR_FLAG_REF_ALLOC);
3574 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.num_read));
3575 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_num_read_0, LIBNDR_FLAG_REF_ALLOC);
3576 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
3578 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.pv, r->in.num_requested));
3581 NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->out.pv, *r->out.num_read));
3584 return NDR_ERR_SUCCESS;
3587 _PUBLIC_ void ndr_print_Read(struct ndr_print *ndr, const char *name, int flags, const struct Read *r)
3589 ndr_print_struct(ndr, name, "Read");
3590 if (r == NULL) { ndr_print_null(ndr); return; }
3592 if (flags & NDR_SET_VALUES) {
3593 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3595 if (flags & NDR_IN) {
3596 ndr_print_struct(ndr, "in", "Read");
3598 ndr_print_ORPCTHIS(ndr, "ORPCthis", &r->in.ORPCthis);
3599 ndr_print_uint32(ndr, "num_requested", r->in.num_requested);
3600 ndr_print_ptr(ndr, "num_readx", r->in.num_readx);
3602 if (r->in.num_readx) {
3603 ndr_print_uint32(ndr, "num_readx", *r->in.num_readx);
3608 if (flags & NDR_OUT) {
3609 ndr_print_struct(ndr, "out", "Read");
3611 ndr_print_ptr(ndr, "ORPCthat", r->out.ORPCthat);
3613 ndr_print_ORPCTHAT(ndr, "ORPCthat", r->out.ORPCthat);
3615 ndr_print_array_uint8(ndr, "pv", r->out.pv, *r->out.num_read);
3616 ndr_print_ptr(ndr, "num_read", r->out.num_read);
3618 ndr_print_uint32(ndr, "num_read", *r->out.num_read);
3620 ndr_print_WERROR(ndr, "result", r->out.result);
3626 static enum ndr_err_code ndr_push_Write(struct ndr_push *ndr, int flags, const struct Write *r)
3628 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
3629 if (flags & NDR_IN) {
3630 NDR_CHECK(ndr_push_ORPCTHIS(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.ORPCthis));
3631 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.data));
3633 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.num_requested));
3634 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->in.data, r->in.num_requested));
3636 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.num_requested));
3638 if (flags & NDR_OUT) {
3639 if (r->out.ORPCthat == NULL) {
3640 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3642 NDR_CHECK(ndr_push_ORPCTHAT(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ORPCthat));
3643 if (r->out.num_written == NULL) {
3644 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3646 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.num_written));
3647 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
3649 return NDR_ERR_SUCCESS;
3652 static enum ndr_err_code ndr_pull_Write(struct ndr_pull *ndr, int flags, struct Write *r)
3655 uint32_t size_data_1 = 0;
3656 TALLOC_CTX *_mem_save_ORPCthat_0;
3657 TALLOC_CTX *_mem_save_data_0;
3658 TALLOC_CTX *_mem_save_num_written_0;
3659 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
3660 if (flags & NDR_IN) {
3661 ZERO_STRUCT(r->out);
3663 NDR_CHECK(ndr_pull_ORPCTHIS(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.ORPCthis));
3664 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
3666 NDR_PULL_ALLOC(ndr, r->in.data);
3671 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
3672 NDR_PULL_SET_MEM_CTX(ndr, r->in.data, 0);
3673 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.data));
3674 size_data_1 = ndr_get_array_size(ndr, &r->in.data);
3675 NDR_PULL_ALLOC_N(ndr, r->in.data, size_data_1);
3676 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.data, size_data_1));
3677 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
3679 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.num_requested));
3680 NDR_PULL_ALLOC(ndr, r->out.ORPCthat);
3681 ZERO_STRUCTP(r->out.ORPCthat);
3682 NDR_PULL_ALLOC(ndr, r->out.num_written);
3683 ZERO_STRUCTP(r->out.num_written);
3685 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.data, r->in.num_requested));
3688 if (flags & NDR_OUT) {
3689 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
3690 NDR_PULL_ALLOC(ndr, r->out.ORPCthat);
3692 _mem_save_ORPCthat_0 = NDR_PULL_GET_MEM_CTX(ndr);
3693 NDR_PULL_SET_MEM_CTX(ndr, r->out.ORPCthat, LIBNDR_FLAG_REF_ALLOC);
3694 NDR_CHECK(ndr_pull_ORPCTHAT(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ORPCthat));
3695 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ORPCthat_0, LIBNDR_FLAG_REF_ALLOC);
3696 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
3697 NDR_PULL_ALLOC(ndr, r->out.num_written);
3699 _mem_save_num_written_0 = NDR_PULL_GET_MEM_CTX(ndr);
3700 NDR_PULL_SET_MEM_CTX(ndr, r->out.num_written, LIBNDR_FLAG_REF_ALLOC);
3701 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.num_written));
3702 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_num_written_0, LIBNDR_FLAG_REF_ALLOC);
3703 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
3705 return NDR_ERR_SUCCESS;
3708 _PUBLIC_ void ndr_print_Write(struct ndr_print *ndr, const char *name, int flags, const struct Write *r)
3710 ndr_print_struct(ndr, name, "Write");
3711 if (r == NULL) { ndr_print_null(ndr); return; }
3713 if (flags & NDR_SET_VALUES) {
3714 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3716 if (flags & NDR_IN) {
3717 ndr_print_struct(ndr, "in", "Write");
3719 ndr_print_ORPCTHIS(ndr, "ORPCthis", &r->in.ORPCthis);
3720 ndr_print_ptr(ndr, "data", r->in.data);
3723 ndr_print_array_uint8(ndr, "data", r->in.data, r->in.num_requested);
3726 ndr_print_uint32(ndr, "num_requested", r->in.num_requested);
3729 if (flags & NDR_OUT) {
3730 ndr_print_struct(ndr, "out", "Write");
3732 ndr_print_ptr(ndr, "ORPCthat", r->out.ORPCthat);
3734 ndr_print_ORPCTHAT(ndr, "ORPCthat", r->out.ORPCthat);
3736 ndr_print_ptr(ndr, "num_written", r->out.num_written);
3738 ndr_print_uint32(ndr, "num_written", *r->out.num_written);
3740 ndr_print_WERROR(ndr, "result", r->out.result);
3746 static const struct ndr_interface_call IStream_calls[] = {
3749 sizeof(struct Read),
3750 (ndr_push_flags_fn_t) ndr_push_Read,
3751 (ndr_pull_flags_fn_t) ndr_pull_Read,
3752 (ndr_print_function_t) ndr_print_Read,
3758 sizeof(struct Write),
3759 (ndr_push_flags_fn_t) ndr_push_Write,
3760 (ndr_pull_flags_fn_t) ndr_pull_Write,
3761 (ndr_print_function_t) ndr_print_Write,
3765 { NULL, 0, NULL, NULL, NULL }
3768 static const char * const IStream_endpoint_strings[] = {
3769 "ncacn_np:[\\pipe\\IStream]",
3772 static const struct ndr_interface_string_array IStream_endpoints = {
3774 .names = IStream_endpoint_strings
3777 static const char * const IStream_authservice_strings[] = {
3781 static const struct ndr_interface_string_array IStream_authservices = {
3783 .names = IStream_authservice_strings
3787 const struct ndr_interface_table ndr_table_IStream = {
3790 {0x0000000c,0x0000,0x0000,{0xc0,0x00},{0x00,0x00,0x00,0x00,0x00,0x46}},
3793 .helpstring = NDR_ISTREAM_HELPSTRING,
3795 .calls = IStream_calls,
3796 .endpoints = &IStream_endpoints,
3797 .authservices = &IStream_authservices