/* parser auto-generated by pidl */ #include "includes.h" #include "bin/default/librpc/gen_ndr/ndr_browser.h" #include "librpc/gen_ndr/ndr_srvsvc.h" static enum ndr_err_code ndr_push_BrowserrSrvInfo100Ctr(struct ndr_push *ndr, int ndr_flags, const struct BrowserrSrvInfo100Ctr *r) { uint32_t cntr_entries_1; NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags); if (ndr_flags & NDR_SCALARS) { NDR_CHECK(ndr_push_align(ndr, 5)); NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->entries_read)); NDR_CHECK(ndr_push_unique_ptr(ndr, r->entries)); NDR_CHECK(ndr_push_trailer_align(ndr, 5)); } if (ndr_flags & NDR_BUFFERS) { if (r->entries) { NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->entries_read)); for (cntr_entries_1 = 0; cntr_entries_1 < (r->entries_read); cntr_entries_1++) { NDR_CHECK(ndr_push_srvsvc_NetSrvInfo100(ndr, NDR_SCALARS, &r->entries[cntr_entries_1])); } for (cntr_entries_1 = 0; cntr_entries_1 < (r->entries_read); cntr_entries_1++) { NDR_CHECK(ndr_push_srvsvc_NetSrvInfo100(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1])); } } } return NDR_ERR_SUCCESS; } static enum ndr_err_code ndr_pull_BrowserrSrvInfo100Ctr(struct ndr_pull *ndr, int ndr_flags, struct BrowserrSrvInfo100Ctr *r) { uint32_t _ptr_entries; uint32_t size_entries_1 = 0; uint32_t cntr_entries_1; TALLOC_CTX *_mem_save_entries_0 = NULL; TALLOC_CTX *_mem_save_entries_1 = NULL; NDR_PULL_CHECK_FLAGS(ndr, ndr_flags); if (ndr_flags & NDR_SCALARS) { NDR_CHECK(ndr_pull_align(ndr, 5)); NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->entries_read)); NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_entries)); if (_ptr_entries) { NDR_PULL_ALLOC(ndr, r->entries); } else { r->entries = NULL; } NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); } if (ndr_flags & NDR_BUFFERS) { if (r->entries) { _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr); NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0); NDR_CHECK(ndr_pull_array_size(ndr, &r->entries)); size_entries_1 = ndr_get_array_size(ndr, &r->entries); NDR_PULL_ALLOC_N(ndr, r->entries, size_entries_1); _mem_save_entries_1 = NDR_PULL_GET_MEM_CTX(ndr); NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0); for (cntr_entries_1 = 0; cntr_entries_1 < (size_entries_1); cntr_entries_1++) { NDR_CHECK(ndr_pull_srvsvc_NetSrvInfo100(ndr, NDR_SCALARS, &r->entries[cntr_entries_1])); } for (cntr_entries_1 = 0; cntr_entries_1 < (size_entries_1); cntr_entries_1++) { NDR_CHECK(ndr_pull_srvsvc_NetSrvInfo100(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1])); } NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_1, 0); NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0); } if (r->entries) { NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->entries, r->entries_read)); } for (cntr_entries_1 = 0; cntr_entries_1 < (size_entries_1); cntr_entries_1++) { } } return NDR_ERR_SUCCESS; } _PUBLIC_ void ndr_print_BrowserrSrvInfo100Ctr(struct ndr_print *ndr, const char *name, const struct BrowserrSrvInfo100Ctr *r) { uint32_t cntr_entries_1; ndr_print_struct(ndr, name, "BrowserrSrvInfo100Ctr"); if (r == NULL) { ndr_print_null(ndr); return; } ndr->depth++; ndr_print_uint32(ndr, "entries_read", r->entries_read); ndr_print_ptr(ndr, "entries", r->entries); ndr->depth++; if (r->entries) { ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)r->entries_read); ndr->depth++; for (cntr_entries_1 = 0; cntr_entries_1 < (r->entries_read); cntr_entries_1++) { ndr_print_srvsvc_NetSrvInfo100(ndr, "entries", &r->entries[cntr_entries_1]); } ndr->depth--; } ndr->depth--; ndr->depth--; } static enum ndr_err_code ndr_push_BrowserrSrvInfo101Ctr(struct ndr_push *ndr, int ndr_flags, const struct BrowserrSrvInfo101Ctr *r) { uint32_t cntr_entries_1; NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags); if (ndr_flags & NDR_SCALARS) { NDR_CHECK(ndr_push_align(ndr, 5)); NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->entries_read)); NDR_CHECK(ndr_push_unique_ptr(ndr, r->entries)); NDR_CHECK(ndr_push_trailer_align(ndr, 5)); } if (ndr_flags & NDR_BUFFERS) { if (r->entries) { NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->entries_read)); for (cntr_entries_1 = 0; cntr_entries_1 < (r->entries_read); cntr_entries_1++) { NDR_CHECK(ndr_push_srvsvc_NetSrvInfo101(ndr, NDR_SCALARS, &r->entries[cntr_entries_1])); } for (cntr_entries_1 = 0; cntr_entries_1 < (r->entries_read); cntr_entries_1++) { NDR_CHECK(ndr_push_srvsvc_NetSrvInfo101(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1])); } } } return NDR_ERR_SUCCESS; } static enum ndr_err_code ndr_pull_BrowserrSrvInfo101Ctr(struct ndr_pull *ndr, int ndr_flags, struct BrowserrSrvInfo101Ctr *r) { uint32_t _ptr_entries; uint32_t size_entries_1 = 0; uint32_t cntr_entries_1; TALLOC_CTX *_mem_save_entries_0 = NULL; TALLOC_CTX *_mem_save_entries_1 = NULL; NDR_PULL_CHECK_FLAGS(ndr, ndr_flags); if (ndr_flags & NDR_SCALARS) { NDR_CHECK(ndr_pull_align(ndr, 5)); NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->entries_read)); NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_entries)); if (_ptr_entries) { NDR_PULL_ALLOC(ndr, r->entries); } else { r->entries = NULL; } NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); } if (ndr_flags & NDR_BUFFERS) { if (r->entries) { _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr); NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0); NDR_CHECK(ndr_pull_array_size(ndr, &r->entries)); size_entries_1 = ndr_get_array_size(ndr, &r->entries); NDR_PULL_ALLOC_N(ndr, r->entries, size_entries_1); _mem_save_entries_1 = NDR_PULL_GET_MEM_CTX(ndr); NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0); for (cntr_entries_1 = 0; cntr_entries_1 < (size_entries_1); cntr_entries_1++) { NDR_CHECK(ndr_pull_srvsvc_NetSrvInfo101(ndr, NDR_SCALARS, &r->entries[cntr_entries_1])); } for (cntr_entries_1 = 0; cntr_entries_1 < (size_entries_1); cntr_entries_1++) { NDR_CHECK(ndr_pull_srvsvc_NetSrvInfo101(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1])); } NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_1, 0); NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0); } if (r->entries) { NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->entries, r->entries_read)); } for (cntr_entries_1 = 0; cntr_entries_1 < (size_entries_1); cntr_entries_1++) { } } return NDR_ERR_SUCCESS; } _PUBLIC_ void ndr_print_BrowserrSrvInfo101Ctr(struct ndr_print *ndr, const char *name, const struct BrowserrSrvInfo101Ctr *r) { uint32_t cntr_entries_1; ndr_print_struct(ndr, name, "BrowserrSrvInfo101Ctr"); if (r == NULL) { ndr_print_null(ndr); return; } ndr->depth++; ndr_print_uint32(ndr, "entries_read", r->entries_read); ndr_print_ptr(ndr, "entries", r->entries); ndr->depth++; if (r->entries) { ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)r->entries_read); ndr->depth++; for (cntr_entries_1 = 0; cntr_entries_1 < (r->entries_read); cntr_entries_1++) { ndr_print_srvsvc_NetSrvInfo101(ndr, "entries", &r->entries[cntr_entries_1]); } ndr->depth--; } ndr->depth--; ndr->depth--; } static enum ndr_err_code ndr_push_BrowserrSrvInfoUnion(struct ndr_push *ndr, int ndr_flags, const union BrowserrSrvInfoUnion *r) { uint32_t level; NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags); if (ndr_flags & NDR_SCALARS) { /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */ NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level)); NDR_CHECK(ndr_push_union_align(ndr, 5)); NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level)); NDR_CHECK(ndr_push_union_align(ndr, 5)); switch (level) { case 100: { NDR_CHECK(ndr_push_unique_ptr(ndr, r->info100)); break; } case 101: { NDR_CHECK(ndr_push_unique_ptr(ndr, r->info101)); break; } default: { break; } } } if (ndr_flags & NDR_BUFFERS) { if (!(ndr_flags & NDR_SCALARS)) { /* We didn't get it above, and the token is not needed after this. */ NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level)); } switch (level) { case 100: if (r->info100) { NDR_CHECK(ndr_push_BrowserrSrvInfo100Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->info100)); } break; case 101: if (r->info101) { NDR_CHECK(ndr_push_BrowserrSrvInfo101Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->info101)); } break; default: break; } } return NDR_ERR_SUCCESS; } static enum ndr_err_code ndr_pull_BrowserrSrvInfoUnion(struct ndr_pull *ndr, int ndr_flags, union BrowserrSrvInfoUnion *r) { uint32_t level; uint32_t _level; TALLOC_CTX *_mem_save_info100_0 = NULL; uint32_t _ptr_info100; TALLOC_CTX *_mem_save_info101_0 = NULL; uint32_t _ptr_info101; NDR_PULL_CHECK_FLAGS(ndr, ndr_flags); if (ndr_flags & NDR_SCALARS) { /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */ NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level)); NDR_CHECK(ndr_pull_union_align(ndr, 5)); NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); if (_level != level) { return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); } NDR_CHECK(ndr_pull_union_align(ndr, 5)); switch (level) { case 100: { NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info100)); if (_ptr_info100) { NDR_PULL_ALLOC(ndr, r->info100); } else { r->info100 = NULL; } break; } case 101: { NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info101)); if (_ptr_info101) { NDR_PULL_ALLOC(ndr, r->info101); } else { r->info101 = NULL; } break; } default: { break; } } } if (ndr_flags & NDR_BUFFERS) { if (!(ndr_flags & NDR_SCALARS)) { /* We didn't get it above, and the token is not needed after this. */ NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level)); } switch (level) { case 100: if (r->info100) { _mem_save_info100_0 = NDR_PULL_GET_MEM_CTX(ndr); NDR_PULL_SET_MEM_CTX(ndr, r->info100, 0); NDR_CHECK(ndr_pull_BrowserrSrvInfo100Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->info100)); NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info100_0, 0); } break; case 101: if (r->info101) { _mem_save_info101_0 = NDR_PULL_GET_MEM_CTX(ndr); NDR_PULL_SET_MEM_CTX(ndr, r->info101, 0); NDR_CHECK(ndr_pull_BrowserrSrvInfo101Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->info101)); NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info101_0, 0); } break; default: break; } } return NDR_ERR_SUCCESS; } _PUBLIC_ void ndr_print_BrowserrSrvInfoUnion(struct ndr_print *ndr, const char *name, const union BrowserrSrvInfoUnion *r) { uint32_t level; level = ndr_print_steal_switch_value(ndr, r); ndr_print_union(ndr, name, level, "BrowserrSrvInfoUnion"); switch (level) { case 100: ndr_print_ptr(ndr, "info100", r->info100); ndr->depth++; if (r->info100) { ndr_print_BrowserrSrvInfo100Ctr(ndr, "info100", r->info100); } ndr->depth--; break; case 101: ndr_print_ptr(ndr, "info101", r->info101); ndr->depth++; if (r->info101) { ndr_print_BrowserrSrvInfo101Ctr(ndr, "info101", r->info101); } ndr->depth--; break; default: break; } } static enum ndr_err_code ndr_push_BrowserrSrvInfo(struct ndr_push *ndr, int ndr_flags, const struct BrowserrSrvInfo *r) { NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags); if (ndr_flags & NDR_SCALARS) { NDR_CHECK(ndr_push_align(ndr, 5)); NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level)); NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->level)); NDR_CHECK(ndr_push_BrowserrSrvInfoUnion(ndr, NDR_SCALARS, &r->info)); NDR_CHECK(ndr_push_trailer_align(ndr, 5)); } if (ndr_flags & NDR_BUFFERS) { NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->level)); NDR_CHECK(ndr_push_BrowserrSrvInfoUnion(ndr, NDR_BUFFERS, &r->info)); } return NDR_ERR_SUCCESS; } static enum ndr_err_code ndr_pull_BrowserrSrvInfo(struct ndr_pull *ndr, int ndr_flags, struct BrowserrSrvInfo *r) { NDR_PULL_CHECK_FLAGS(ndr, ndr_flags); if (ndr_flags & NDR_SCALARS) { NDR_CHECK(ndr_pull_align(ndr, 5)); NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level)); NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->level)); NDR_CHECK(ndr_pull_BrowserrSrvInfoUnion(ndr, NDR_SCALARS, &r->info)); NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); } if (ndr_flags & NDR_BUFFERS) { NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->level)); NDR_CHECK(ndr_pull_BrowserrSrvInfoUnion(ndr, NDR_BUFFERS, &r->info)); } return NDR_ERR_SUCCESS; } _PUBLIC_ void ndr_print_BrowserrSrvInfo(struct ndr_print *ndr, const char *name, const struct BrowserrSrvInfo *r) { ndr_print_struct(ndr, name, "BrowserrSrvInfo"); if (r == NULL) { ndr_print_null(ndr); return; } ndr->depth++; ndr_print_uint32(ndr, "level", r->level); ndr_print_set_switch_value(ndr, &r->info, r->level); ndr_print_BrowserrSrvInfoUnion(ndr, "info", &r->info); ndr->depth--; } static enum ndr_err_code ndr_push_BrowserrServerEnum(struct ndr_push *ndr, int flags, const struct BrowserrServerEnum *r) { NDR_PUSH_CHECK_FN_FLAGS(ndr, flags); if (flags & NDR_IN) { } if (flags & NDR_OUT) { } return NDR_ERR_SUCCESS; } static enum ndr_err_code ndr_pull_BrowserrServerEnum(struct ndr_pull *ndr, int flags, struct BrowserrServerEnum *r) { NDR_PULL_CHECK_FN_FLAGS(ndr, flags); if (flags & NDR_IN) { } if (flags & NDR_OUT) { #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */ } return NDR_ERR_SUCCESS; } _PUBLIC_ void ndr_print_BrowserrServerEnum(struct ndr_print *ndr, const char *name, int flags, const struct BrowserrServerEnum *r) { ndr_print_struct(ndr, name, "BrowserrServerEnum"); if (r == NULL) { ndr_print_null(ndr); return; } ndr->depth++; if (flags & NDR_SET_VALUES) { ndr->flags |= LIBNDR_PRINT_SET_VALUES; } if (flags & NDR_IN) { ndr_print_struct(ndr, "in", "BrowserrServerEnum"); ndr->depth++; ndr->depth--; } if (flags & NDR_OUT) { ndr_print_struct(ndr, "out", "BrowserrServerEnum"); ndr->depth++; ndr->depth--; } ndr->depth--; } static enum ndr_err_code ndr_push_BrowserrDebugCall(struct ndr_push *ndr, int flags, const struct BrowserrDebugCall *r) { NDR_PUSH_CHECK_FN_FLAGS(ndr, flags); if (flags & NDR_IN) { } if (flags & NDR_OUT) { } return NDR_ERR_SUCCESS; } static enum ndr_err_code ndr_pull_BrowserrDebugCall(struct ndr_pull *ndr, int flags, struct BrowserrDebugCall *r) { NDR_PULL_CHECK_FN_FLAGS(ndr, flags); if (flags & NDR_IN) { } if (flags & NDR_OUT) { #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */ } return NDR_ERR_SUCCESS; } _PUBLIC_ void ndr_print_BrowserrDebugCall(struct ndr_print *ndr, const char *name, int flags, const struct BrowserrDebugCall *r) { ndr_print_struct(ndr, name, "BrowserrDebugCall"); if (r == NULL) { ndr_print_null(ndr); return; } ndr->depth++; if (flags & NDR_SET_VALUES) { ndr->flags |= LIBNDR_PRINT_SET_VALUES; } if (flags & NDR_IN) { ndr_print_struct(ndr, "in", "BrowserrDebugCall"); ndr->depth++; ndr->depth--; } if (flags & NDR_OUT) { ndr_print_struct(ndr, "out", "BrowserrDebugCall"); ndr->depth++; ndr->depth--; } ndr->depth--; } static enum ndr_err_code ndr_push_BrowserrQueryOtherDomains(struct ndr_push *ndr, int flags, const struct BrowserrQueryOtherDomains *r) { NDR_PUSH_CHECK_FN_FLAGS(ndr, flags); if (flags & NDR_IN) { if (r->in.info == NULL) { return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); } NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc)); if (r->in.server_unc) { NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_unc, ndr_charset_length(r->in.server_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16)); } NDR_CHECK(ndr_push_BrowserrSrvInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info)); } if (flags & NDR_OUT) { if (r->out.info == NULL) { return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); } if (r->out.total_entries == NULL) { return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); } NDR_CHECK(ndr_push_BrowserrSrvInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info)); NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.total_entries)); NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); } return NDR_ERR_SUCCESS; } static enum ndr_err_code ndr_pull_BrowserrQueryOtherDomains(struct ndr_pull *ndr, int flags, struct BrowserrQueryOtherDomains *r) { uint32_t _ptr_server_unc; uint32_t size_server_unc_1 = 0; uint32_t length_server_unc_1 = 0; TALLOC_CTX *_mem_save_server_unc_0 = NULL; TALLOC_CTX *_mem_save_info_0 = NULL; TALLOC_CTX *_mem_save_total_entries_0 = NULL; NDR_PULL_CHECK_FN_FLAGS(ndr, flags); if (flags & NDR_IN) { NDR_ZERO_STRUCT(r->out); NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc)); if (_ptr_server_unc) { NDR_PULL_ALLOC(ndr, r->in.server_unc); } else { r->in.server_unc = NULL; } if (r->in.server_unc) { _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr); NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0); NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc)); NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc)); size_server_unc_1 = ndr_get_array_size(ndr, &r->in.server_unc); length_server_unc_1 = ndr_get_array_length(ndr, &r->in.server_unc); if (length_server_unc_1 > size_server_unc_1) { return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_unc_1, length_server_unc_1); } NDR_CHECK(ndr_check_string_terminator(ndr, length_server_unc_1, sizeof(uint16_t))); NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, length_server_unc_1, sizeof(uint16_t), CH_UTF16)); NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0); } if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { NDR_PULL_ALLOC(ndr, r->in.info); } _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC); NDR_CHECK(ndr_pull_BrowserrSrvInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info)); NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); NDR_PULL_ALLOC(ndr, r->out.info); *r->out.info = *r->in.info; NDR_PULL_ALLOC(ndr, r->out.total_entries); NDR_ZERO_STRUCTP(r->out.total_entries); } if (flags & NDR_OUT) { #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION if (r->in.info == NULL) { NDR_PULL_ALLOC(ndr, r->in.info); NDR_ZERO_STRUCTP(r->in.info); } #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { NDR_PULL_ALLOC(ndr, r->out.info); } _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC); NDR_CHECK(ndr_pull_BrowserrSrvInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info)); NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { NDR_PULL_ALLOC(ndr, r->out.total_entries); } _mem_save_total_entries_0 = NDR_PULL_GET_MEM_CTX(ndr); NDR_PULL_SET_MEM_CTX(ndr, r->out.total_entries, LIBNDR_FLAG_REF_ALLOC); NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.total_entries)); NDR_PULL_SET_MEM_CTX(ndr, _mem_save_total_entries_0, LIBNDR_FLAG_REF_ALLOC); NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); } return NDR_ERR_SUCCESS; } _PUBLIC_ void ndr_print_BrowserrQueryOtherDomains(struct ndr_print *ndr, const char *name, int flags, const struct BrowserrQueryOtherDomains *r) { ndr_print_struct(ndr, name, "BrowserrQueryOtherDomains"); if (r == NULL) { ndr_print_null(ndr); return; } ndr->depth++; if (flags & NDR_SET_VALUES) { ndr->flags |= LIBNDR_PRINT_SET_VALUES; } if (flags & NDR_IN) { ndr_print_struct(ndr, "in", "BrowserrQueryOtherDomains"); ndr->depth++; ndr_print_ptr(ndr, "server_unc", r->in.server_unc); ndr->depth++; if (r->in.server_unc) { ndr_print_string(ndr, "server_unc", r->in.server_unc); } ndr->depth--; ndr_print_ptr(ndr, "info", r->in.info); ndr->depth++; ndr_print_BrowserrSrvInfo(ndr, "info", r->in.info); ndr->depth--; ndr->depth--; } if (flags & NDR_OUT) { ndr_print_struct(ndr, "out", "BrowserrQueryOtherDomains"); ndr->depth++; ndr_print_ptr(ndr, "info", r->out.info); ndr->depth++; ndr_print_BrowserrSrvInfo(ndr, "info", r->out.info); ndr->depth--; ndr_print_ptr(ndr, "total_entries", r->out.total_entries); ndr->depth++; ndr_print_uint32(ndr, "total_entries", *r->out.total_entries); ndr->depth--; ndr_print_WERROR(ndr, "result", r->out.result); ndr->depth--; } ndr->depth--; } static enum ndr_err_code ndr_push_BrowserrResetNetlogonState(struct ndr_push *ndr, int flags, const struct BrowserrResetNetlogonState *r) { NDR_PUSH_CHECK_FN_FLAGS(ndr, flags); if (flags & NDR_IN) { } if (flags & NDR_OUT) { } return NDR_ERR_SUCCESS; } static enum ndr_err_code ndr_pull_BrowserrResetNetlogonState(struct ndr_pull *ndr, int flags, struct BrowserrResetNetlogonState *r) { NDR_PULL_CHECK_FN_FLAGS(ndr, flags); if (flags & NDR_IN) { } if (flags & NDR_OUT) { #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */ } return NDR_ERR_SUCCESS; } _PUBLIC_ void ndr_print_BrowserrResetNetlogonState(struct ndr_print *ndr, const char *name, int flags, const struct BrowserrResetNetlogonState *r) { ndr_print_struct(ndr, name, "BrowserrResetNetlogonState"); if (r == NULL) { ndr_print_null(ndr); return; } ndr->depth++; if (flags & NDR_SET_VALUES) { ndr->flags |= LIBNDR_PRINT_SET_VALUES; } if (flags & NDR_IN) { ndr_print_struct(ndr, "in", "BrowserrResetNetlogonState"); ndr->depth++; ndr->depth--; } if (flags & NDR_OUT) { ndr_print_struct(ndr, "out", "BrowserrResetNetlogonState"); ndr->depth++; ndr->depth--; } ndr->depth--; } static enum ndr_err_code ndr_push_BrowserrDebugTrace(struct ndr_push *ndr, int flags, const struct BrowserrDebugTrace *r) { NDR_PUSH_CHECK_FN_FLAGS(ndr, flags); if (flags & NDR_IN) { } if (flags & NDR_OUT) { } return NDR_ERR_SUCCESS; } static enum ndr_err_code ndr_pull_BrowserrDebugTrace(struct ndr_pull *ndr, int flags, struct BrowserrDebugTrace *r) { NDR_PULL_CHECK_FN_FLAGS(ndr, flags); if (flags & NDR_IN) { } if (flags & NDR_OUT) { #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */ } return NDR_ERR_SUCCESS; } _PUBLIC_ void ndr_print_BrowserrDebugTrace(struct ndr_print *ndr, const char *name, int flags, const struct BrowserrDebugTrace *r) { ndr_print_struct(ndr, name, "BrowserrDebugTrace"); if (r == NULL) { ndr_print_null(ndr); return; } ndr->depth++; if (flags & NDR_SET_VALUES) { ndr->flags |= LIBNDR_PRINT_SET_VALUES; } if (flags & NDR_IN) { ndr_print_struct(ndr, "in", "BrowserrDebugTrace"); ndr->depth++; ndr->depth--; } if (flags & NDR_OUT) { ndr_print_struct(ndr, "out", "BrowserrDebugTrace"); ndr->depth++; ndr->depth--; } ndr->depth--; } static enum ndr_err_code ndr_push_BrowserrQueryStatistics(struct ndr_push *ndr, int flags, const struct BrowserrQueryStatistics *r) { NDR_PUSH_CHECK_FN_FLAGS(ndr, flags); if (flags & NDR_IN) { } if (flags & NDR_OUT) { } return NDR_ERR_SUCCESS; } static enum ndr_err_code ndr_pull_BrowserrQueryStatistics(struct ndr_pull *ndr, int flags, struct BrowserrQueryStatistics *r) { NDR_PULL_CHECK_FN_FLAGS(ndr, flags); if (flags & NDR_IN) { } if (flags & NDR_OUT) { #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */ } return NDR_ERR_SUCCESS; } _PUBLIC_ void ndr_print_BrowserrQueryStatistics(struct ndr_print *ndr, const char *name, int flags, const struct BrowserrQueryStatistics *r) { ndr_print_struct(ndr, name, "BrowserrQueryStatistics"); if (r == NULL) { ndr_print_null(ndr); return; } ndr->depth++; if (flags & NDR_SET_VALUES) { ndr->flags |= LIBNDR_PRINT_SET_VALUES; } if (flags & NDR_IN) { ndr_print_struct(ndr, "in", "BrowserrQueryStatistics"); ndr->depth++; ndr->depth--; } if (flags & NDR_OUT) { ndr_print_struct(ndr, "out", "BrowserrQueryStatistics"); ndr->depth++; ndr->depth--; } ndr->depth--; } static enum ndr_err_code ndr_push_BrowserResetStatistics(struct ndr_push *ndr, int flags, const struct BrowserResetStatistics *r) { NDR_PUSH_CHECK_FN_FLAGS(ndr, flags); if (flags & NDR_IN) { } if (flags & NDR_OUT) { } return NDR_ERR_SUCCESS; } static enum ndr_err_code ndr_pull_BrowserResetStatistics(struct ndr_pull *ndr, int flags, struct BrowserResetStatistics *r) { NDR_PULL_CHECK_FN_FLAGS(ndr, flags); if (flags & NDR_IN) { } if (flags & NDR_OUT) { #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */ } return NDR_ERR_SUCCESS; } _PUBLIC_ void ndr_print_BrowserResetStatistics(struct ndr_print *ndr, const char *name, int flags, const struct BrowserResetStatistics *r) { ndr_print_struct(ndr, name, "BrowserResetStatistics"); if (r == NULL) { ndr_print_null(ndr); return; } ndr->depth++; if (flags & NDR_SET_VALUES) { ndr->flags |= LIBNDR_PRINT_SET_VALUES; } if (flags & NDR_IN) { ndr_print_struct(ndr, "in", "BrowserResetStatistics"); ndr->depth++; ndr->depth--; } if (flags & NDR_OUT) { ndr_print_struct(ndr, "out", "BrowserResetStatistics"); ndr->depth++; ndr->depth--; } ndr->depth--; } static enum ndr_err_code ndr_push_NetrBrowserStatisticsClear(struct ndr_push *ndr, int flags, const struct NetrBrowserStatisticsClear *r) { NDR_PUSH_CHECK_FN_FLAGS(ndr, flags); if (flags & NDR_IN) { } if (flags & NDR_OUT) { } return NDR_ERR_SUCCESS; } static enum ndr_err_code ndr_pull_NetrBrowserStatisticsClear(struct ndr_pull *ndr, int flags, struct NetrBrowserStatisticsClear *r) { NDR_PULL_CHECK_FN_FLAGS(ndr, flags); if (flags & NDR_IN) { } if (flags & NDR_OUT) { #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */ } return NDR_ERR_SUCCESS; } _PUBLIC_ void ndr_print_NetrBrowserStatisticsClear(struct ndr_print *ndr, const char *name, int flags, const struct NetrBrowserStatisticsClear *r) { ndr_print_struct(ndr, name, "NetrBrowserStatisticsClear"); if (r == NULL) { ndr_print_null(ndr); return; } ndr->depth++; if (flags & NDR_SET_VALUES) { ndr->flags |= LIBNDR_PRINT_SET_VALUES; } if (flags & NDR_IN) { ndr_print_struct(ndr, "in", "NetrBrowserStatisticsClear"); ndr->depth++; ndr->depth--; } if (flags & NDR_OUT) { ndr_print_struct(ndr, "out", "NetrBrowserStatisticsClear"); ndr->depth++; ndr->depth--; } ndr->depth--; } static enum ndr_err_code ndr_push_NetrBrowserStatisticsGet(struct ndr_push *ndr, int flags, const struct NetrBrowserStatisticsGet *r) { NDR_PUSH_CHECK_FN_FLAGS(ndr, flags); if (flags & NDR_IN) { } if (flags & NDR_OUT) { } return NDR_ERR_SUCCESS; } static enum ndr_err_code ndr_pull_NetrBrowserStatisticsGet(struct ndr_pull *ndr, int flags, struct NetrBrowserStatisticsGet *r) { NDR_PULL_CHECK_FN_FLAGS(ndr, flags); if (flags & NDR_IN) { } if (flags & NDR_OUT) { #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */ } return NDR_ERR_SUCCESS; } _PUBLIC_ void ndr_print_NetrBrowserStatisticsGet(struct ndr_print *ndr, const char *name, int flags, const struct NetrBrowserStatisticsGet *r) { ndr_print_struct(ndr, name, "NetrBrowserStatisticsGet"); if (r == NULL) { ndr_print_null(ndr); return; } ndr->depth++; if (flags & NDR_SET_VALUES) { ndr->flags |= LIBNDR_PRINT_SET_VALUES; } if (flags & NDR_IN) { ndr_print_struct(ndr, "in", "NetrBrowserStatisticsGet"); ndr->depth++; ndr->depth--; } if (flags & NDR_OUT) { ndr_print_struct(ndr, "out", "NetrBrowserStatisticsGet"); ndr->depth++; ndr->depth--; } ndr->depth--; } static enum ndr_err_code ndr_push_BrowserrSetNetlogonState(struct ndr_push *ndr, int flags, const struct BrowserrSetNetlogonState *r) { NDR_PUSH_CHECK_FN_FLAGS(ndr, flags); if (flags & NDR_IN) { } if (flags & NDR_OUT) { } return NDR_ERR_SUCCESS; } static enum ndr_err_code ndr_pull_BrowserrSetNetlogonState(struct ndr_pull *ndr, int flags, struct BrowserrSetNetlogonState *r) { NDR_PULL_CHECK_FN_FLAGS(ndr, flags); if (flags & NDR_IN) { } if (flags & NDR_OUT) { #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */ } return NDR_ERR_SUCCESS; } _PUBLIC_ void ndr_print_BrowserrSetNetlogonState(struct ndr_print *ndr, const char *name, int flags, const struct BrowserrSetNetlogonState *r) { ndr_print_struct(ndr, name, "BrowserrSetNetlogonState"); if (r == NULL) { ndr_print_null(ndr); return; } ndr->depth++; if (flags & NDR_SET_VALUES) { ndr->flags |= LIBNDR_PRINT_SET_VALUES; } if (flags & NDR_IN) { ndr_print_struct(ndr, "in", "BrowserrSetNetlogonState"); ndr->depth++; ndr->depth--; } if (flags & NDR_OUT) { ndr_print_struct(ndr, "out", "BrowserrSetNetlogonState"); ndr->depth++; ndr->depth--; } ndr->depth--; } static enum ndr_err_code ndr_push_BrowserrQueryEmulatedDomains(struct ndr_push *ndr, int flags, const struct BrowserrQueryEmulatedDomains *r) { NDR_PUSH_CHECK_FN_FLAGS(ndr, flags); if (flags & NDR_IN) { } if (flags & NDR_OUT) { } return NDR_ERR_SUCCESS; } static enum ndr_err_code ndr_pull_BrowserrQueryEmulatedDomains(struct ndr_pull *ndr, int flags, struct BrowserrQueryEmulatedDomains *r) { NDR_PULL_CHECK_FN_FLAGS(ndr, flags); if (flags & NDR_IN) { } if (flags & NDR_OUT) { #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */ } return NDR_ERR_SUCCESS; } _PUBLIC_ void ndr_print_BrowserrQueryEmulatedDomains(struct ndr_print *ndr, const char *name, int flags, const struct BrowserrQueryEmulatedDomains *r) { ndr_print_struct(ndr, name, "BrowserrQueryEmulatedDomains"); if (r == NULL) { ndr_print_null(ndr); return; } ndr->depth++; if (flags & NDR_SET_VALUES) { ndr->flags |= LIBNDR_PRINT_SET_VALUES; } if (flags & NDR_IN) { ndr_print_struct(ndr, "in", "BrowserrQueryEmulatedDomains"); ndr->depth++; ndr->depth--; } if (flags & NDR_OUT) { ndr_print_struct(ndr, "out", "BrowserrQueryEmulatedDomains"); ndr->depth++; ndr->depth--; } ndr->depth--; } static enum ndr_err_code ndr_push_BrowserrServerEnumEx(struct ndr_push *ndr, int flags, const struct BrowserrServerEnumEx *r) { NDR_PUSH_CHECK_FN_FLAGS(ndr, flags); if (flags & NDR_IN) { } if (flags & NDR_OUT) { } return NDR_ERR_SUCCESS; } static enum ndr_err_code ndr_pull_BrowserrServerEnumEx(struct ndr_pull *ndr, int flags, struct BrowserrServerEnumEx *r) { NDR_PULL_CHECK_FN_FLAGS(ndr, flags); if (flags & NDR_IN) { } if (flags & NDR_OUT) { #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */ } return NDR_ERR_SUCCESS; } _PUBLIC_ void ndr_print_BrowserrServerEnumEx(struct ndr_print *ndr, const char *name, int flags, const struct BrowserrServerEnumEx *r) { ndr_print_struct(ndr, name, "BrowserrServerEnumEx"); if (r == NULL) { ndr_print_null(ndr); return; } ndr->depth++; if (flags & NDR_SET_VALUES) { ndr->flags |= LIBNDR_PRINT_SET_VALUES; } if (flags & NDR_IN) { ndr_print_struct(ndr, "in", "BrowserrServerEnumEx"); ndr->depth++; ndr->depth--; } if (flags & NDR_OUT) { ndr_print_struct(ndr, "out", "BrowserrServerEnumEx"); ndr->depth++; ndr->depth--; } ndr->depth--; } #ifndef SKIP_NDR_TABLE_browser static const struct ndr_interface_public_struct browser_public_structs[] = { { .name = NULL } }; static const struct ndr_interface_call browser_calls[] = { { "BrowserrServerEnum", sizeof(struct BrowserrServerEnum), (ndr_push_flags_fn_t) ndr_push_BrowserrServerEnum, (ndr_pull_flags_fn_t) ndr_pull_BrowserrServerEnum, (ndr_print_function_t) ndr_print_BrowserrServerEnum, { 0, NULL }, { 0, NULL }, }, { "BrowserrDebugCall", sizeof(struct BrowserrDebugCall), (ndr_push_flags_fn_t) ndr_push_BrowserrDebugCall, (ndr_pull_flags_fn_t) ndr_pull_BrowserrDebugCall, (ndr_print_function_t) ndr_print_BrowserrDebugCall, { 0, NULL }, { 0, NULL }, }, { "BrowserrQueryOtherDomains", sizeof(struct BrowserrQueryOtherDomains), (ndr_push_flags_fn_t) ndr_push_BrowserrQueryOtherDomains, (ndr_pull_flags_fn_t) ndr_pull_BrowserrQueryOtherDomains, (ndr_print_function_t) ndr_print_BrowserrQueryOtherDomains, { 0, NULL }, { 0, NULL }, }, { "BrowserrResetNetlogonState", sizeof(struct BrowserrResetNetlogonState), (ndr_push_flags_fn_t) ndr_push_BrowserrResetNetlogonState, (ndr_pull_flags_fn_t) ndr_pull_BrowserrResetNetlogonState, (ndr_print_function_t) ndr_print_BrowserrResetNetlogonState, { 0, NULL }, { 0, NULL }, }, { "BrowserrDebugTrace", sizeof(struct BrowserrDebugTrace), (ndr_push_flags_fn_t) ndr_push_BrowserrDebugTrace, (ndr_pull_flags_fn_t) ndr_pull_BrowserrDebugTrace, (ndr_print_function_t) ndr_print_BrowserrDebugTrace, { 0, NULL }, { 0, NULL }, }, { "BrowserrQueryStatistics", sizeof(struct BrowserrQueryStatistics), (ndr_push_flags_fn_t) ndr_push_BrowserrQueryStatistics, (ndr_pull_flags_fn_t) ndr_pull_BrowserrQueryStatistics, (ndr_print_function_t) ndr_print_BrowserrQueryStatistics, { 0, NULL }, { 0, NULL }, }, { "BrowserResetStatistics", sizeof(struct BrowserResetStatistics), (ndr_push_flags_fn_t) ndr_push_BrowserResetStatistics, (ndr_pull_flags_fn_t) ndr_pull_BrowserResetStatistics, (ndr_print_function_t) ndr_print_BrowserResetStatistics, { 0, NULL }, { 0, NULL }, }, { "NetrBrowserStatisticsClear", sizeof(struct NetrBrowserStatisticsClear), (ndr_push_flags_fn_t) ndr_push_NetrBrowserStatisticsClear, (ndr_pull_flags_fn_t) ndr_pull_NetrBrowserStatisticsClear, (ndr_print_function_t) ndr_print_NetrBrowserStatisticsClear, { 0, NULL }, { 0, NULL }, }, { "NetrBrowserStatisticsGet", sizeof(struct NetrBrowserStatisticsGet), (ndr_push_flags_fn_t) ndr_push_NetrBrowserStatisticsGet, (ndr_pull_flags_fn_t) ndr_pull_NetrBrowserStatisticsGet, (ndr_print_function_t) ndr_print_NetrBrowserStatisticsGet, { 0, NULL }, { 0, NULL }, }, { "BrowserrSetNetlogonState", sizeof(struct BrowserrSetNetlogonState), (ndr_push_flags_fn_t) ndr_push_BrowserrSetNetlogonState, (ndr_pull_flags_fn_t) ndr_pull_BrowserrSetNetlogonState, (ndr_print_function_t) ndr_print_BrowserrSetNetlogonState, { 0, NULL }, { 0, NULL }, }, { "BrowserrQueryEmulatedDomains", sizeof(struct BrowserrQueryEmulatedDomains), (ndr_push_flags_fn_t) ndr_push_BrowserrQueryEmulatedDomains, (ndr_pull_flags_fn_t) ndr_pull_BrowserrQueryEmulatedDomains, (ndr_print_function_t) ndr_print_BrowserrQueryEmulatedDomains, { 0, NULL }, { 0, NULL }, }, { "BrowserrServerEnumEx", sizeof(struct BrowserrServerEnumEx), (ndr_push_flags_fn_t) ndr_push_BrowserrServerEnumEx, (ndr_pull_flags_fn_t) ndr_pull_BrowserrServerEnumEx, (ndr_print_function_t) ndr_print_BrowserrServerEnumEx, { 0, NULL }, { 0, NULL }, }, { .name = NULL } }; static const char * const browser_endpoint_strings[] = { "ncacn_np:[\\pipe\\browser]", "ncacn_ip_tcp:", "ncalrpc:", }; static const struct ndr_interface_string_array browser_endpoints = { .count = 3, .names = browser_endpoint_strings }; static const char * const browser_authservice_strings[] = { "host", }; static const struct ndr_interface_string_array browser_authservices = { .count = 1, .names = browser_authservice_strings }; const struct ndr_interface_table ndr_table_browser = { .name = "browser", .syntax_id = { {0x6bffd098,0xa112,0x3610,{0x98,0x33},{0x01,0x28,0x92,0x02,0x01,0x62}}, NDR_BROWSER_VERSION }, .helpstring = NDR_BROWSER_HELPSTRING, .num_calls = 12, .calls = browser_calls, .num_public_structs = 0, .public_structs = browser_public_structs, .endpoints = &browser_endpoints, .authservices = &browser_authservices }; #endif /* SKIP_NDR_TABLE_browser */