/* parser auto-generated by pidl */ #include "includes.h" NTSTATUS ndr_push_srvsvc_00(struct ndr_push *ndr, struct srvsvc_00 *r) { return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_01(struct ndr_push *ndr, struct srvsvc_01 *r) { return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_02(struct ndr_push *ndr, struct srvsvc_02 *r) { return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_03(struct ndr_push *ndr, struct srvsvc_03 *r) { return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_04(struct ndr_push *ndr, struct srvsvc_04 *r) { return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_05(struct ndr_push *ndr, struct srvsvc_05 *r) { return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_06(struct ndr_push *ndr, struct srvsvc_06 *r) { return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_07(struct ndr_push *ndr, struct srvsvc_07 *r) { return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_NetConn0(struct ndr_push *ndr, int ndr_flags, struct srvsvc_NetConn0 *r) { if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_push_struct_start(ndr)); NDR_CHECK(ndr_push_align(ndr, 4)); NDR_CHECK(ndr_push_uint32(ndr, r->conn_id)); ndr_push_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; done: return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_NetConnCtr0(struct ndr_push *ndr, int ndr_flags, struct srvsvc_NetConnCtr0 *r) { if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_push_struct_start(ndr)); NDR_CHECK(ndr_push_align(ndr, 4)); NDR_CHECK(ndr_push_uint32(ndr, r->count)); NDR_CHECK(ndr_push_ptr(ndr, r->array)); ndr_push_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; if (r->array) { NDR_CHECK(ndr_push_uint32(ndr, r->count)); NDR_CHECK(ndr_push_array(ndr, NDR_SCALARS|NDR_BUFFERS, r->array, sizeof(r->array[0]), r->count, (ndr_push_flags_fn_t)ndr_push_srvsvc_NetConn0)); } done: return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_NetConn1(struct ndr_push *ndr, int ndr_flags, struct srvsvc_NetConn1 *r) { if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_push_struct_start(ndr)); NDR_CHECK(ndr_push_align(ndr, 4)); NDR_CHECK(ndr_push_uint32(ndr, r->conn_id)); NDR_CHECK(ndr_push_uint32(ndr, r->conn_type)); NDR_CHECK(ndr_push_uint32(ndr, r->num_open)); NDR_CHECK(ndr_push_uint32(ndr, r->num_users)); NDR_CHECK(ndr_push_uint32(ndr, r->conn_time)); NDR_CHECK(ndr_push_ptr(ndr, r->user)); NDR_CHECK(ndr_push_ptr(ndr, r->client)); ndr_push_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; if (r->user) { NDR_CHECK(ndr_push_unistr(ndr, r->user)); } if (r->client) { NDR_CHECK(ndr_push_unistr(ndr, r->client)); } done: return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_NetConnCtr1(struct ndr_push *ndr, int ndr_flags, struct srvsvc_NetConnCtr1 *r) { if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_push_struct_start(ndr)); NDR_CHECK(ndr_push_align(ndr, 4)); NDR_CHECK(ndr_push_uint32(ndr, r->count)); NDR_CHECK(ndr_push_ptr(ndr, r->array)); ndr_push_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; if (r->array) { NDR_CHECK(ndr_push_uint32(ndr, r->count)); NDR_CHECK(ndr_push_array(ndr, NDR_SCALARS|NDR_BUFFERS, r->array, sizeof(r->array[0]), r->count, (ndr_push_flags_fn_t)ndr_push_srvsvc_NetConn1)); } done: return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_NetConnCtrDefault(struct ndr_push *ndr, int ndr_flags, struct srvsvc_NetConnCtrDefault *r) { if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_push_struct_start(ndr)); NDR_CHECK(ndr_push_align(ndr, 1)); ndr_push_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; done: return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_NetConnCtr(struct ndr_push *ndr, int ndr_flags, uint16 level, union srvsvc_NetConnCtr *r) { if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_push_struct_start(ndr)); switch (level) { case 0: NDR_CHECK(ndr_push_ptr(ndr, r->ctr0)); break; case 1: NDR_CHECK(ndr_push_ptr(ndr, r->ctr1)); break; default: NDR_CHECK(ndr_push_srvsvc_NetConnCtrDefault(ndr, NDR_SCALARS, &r->ctrDefault)); break; } ndr_push_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; switch (level) { case 0: if (r->ctr0) { NDR_CHECK(ndr_push_srvsvc_NetConnCtr0(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr0)); } break; case 1: if (r->ctr1) { NDR_CHECK(ndr_push_srvsvc_NetConnCtr1(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1)); } break; default: NDR_CHECK(ndr_push_srvsvc_NetConnCtrDefault(ndr, ndr_flags, &r->ctrDefault)); break; } done: return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_NetConnEnum(struct ndr_push *ndr, struct srvsvc_NetConnEnum *r) { NDR_CHECK(ndr_push_ptr(ndr, r->in.server_unc)); if (r->in.server_unc) { NDR_CHECK(ndr_push_unistr(ndr, r->in.server_unc)); } NDR_CHECK(ndr_push_ptr(ndr, r->in.path)); if (r->in.path) { NDR_CHECK(ndr_push_unistr(ndr, r->in.path)); } NDR_CHECK(ndr_push_uint32(ndr, r->in.level)); NDR_CHECK(ndr_push_uint32(ndr, r->in.level)); NDR_CHECK(ndr_push_srvsvc_NetConnCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.level, &r->in.ctr)); NDR_CHECK(ndr_push_uint32(ndr, r->in.preferred_len)); NDR_CHECK(ndr_push_ptr(ndr, r->in.resume_handle)); if (r->in.resume_handle) { NDR_CHECK(ndr_push_uint32(ndr, *r->in.resume_handle)); } return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_NetFile2(struct ndr_push *ndr, int ndr_flags, struct srvsvc_NetFile2 *r) { if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_push_struct_start(ndr)); NDR_CHECK(ndr_push_align(ndr, 4)); NDR_CHECK(ndr_push_uint32(ndr, r->fid)); ndr_push_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; done: return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_NetFileCtr2(struct ndr_push *ndr, int ndr_flags, struct srvsvc_NetFileCtr2 *r) { if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_push_struct_start(ndr)); NDR_CHECK(ndr_push_align(ndr, 4)); NDR_CHECK(ndr_push_uint32(ndr, r->count)); NDR_CHECK(ndr_push_ptr(ndr, r->array)); ndr_push_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; if (r->array) { NDR_CHECK(ndr_push_uint32(ndr, r->count)); NDR_CHECK(ndr_push_array(ndr, NDR_SCALARS|NDR_BUFFERS, r->array, sizeof(r->array[0]), r->count, (ndr_push_flags_fn_t)ndr_push_srvsvc_NetFile2)); } done: return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_NetFile3(struct ndr_push *ndr, int ndr_flags, struct srvsvc_NetFile3 *r) { if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_push_struct_start(ndr)); NDR_CHECK(ndr_push_align(ndr, 4)); NDR_CHECK(ndr_push_uint32(ndr, r->fid)); NDR_CHECK(ndr_push_uint32(ndr, r->permissions)); NDR_CHECK(ndr_push_uint32(ndr, r->num_locks)); NDR_CHECK(ndr_push_ptr(ndr, r->path)); NDR_CHECK(ndr_push_ptr(ndr, r->user)); ndr_push_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; if (r->path) { NDR_CHECK(ndr_push_unistr(ndr, r->path)); } if (r->user) { NDR_CHECK(ndr_push_unistr(ndr, r->user)); } done: return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_NetFileCtr3(struct ndr_push *ndr, int ndr_flags, struct srvsvc_NetFileCtr3 *r) { if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_push_struct_start(ndr)); NDR_CHECK(ndr_push_align(ndr, 4)); NDR_CHECK(ndr_push_uint32(ndr, r->count)); NDR_CHECK(ndr_push_ptr(ndr, r->array)); ndr_push_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; if (r->array) { NDR_CHECK(ndr_push_uint32(ndr, r->count)); NDR_CHECK(ndr_push_array(ndr, NDR_SCALARS|NDR_BUFFERS, r->array, sizeof(r->array[0]), r->count, (ndr_push_flags_fn_t)ndr_push_srvsvc_NetFile3)); } done: return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_NetFileCtrDefault(struct ndr_push *ndr, int ndr_flags, struct srvsvc_NetFileCtrDefault *r) { if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_push_struct_start(ndr)); NDR_CHECK(ndr_push_align(ndr, 1)); ndr_push_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; done: return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_NetFileCtr(struct ndr_push *ndr, int ndr_flags, uint16 level, union srvsvc_NetFileCtr *r) { if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_push_struct_start(ndr)); switch (level) { case 2: NDR_CHECK(ndr_push_ptr(ndr, r->ctr2)); break; case 3: NDR_CHECK(ndr_push_ptr(ndr, r->ctr3)); break; default: NDR_CHECK(ndr_push_srvsvc_NetFileCtrDefault(ndr, NDR_SCALARS, &r->ctrDefault)); break; } ndr_push_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; switch (level) { case 2: if (r->ctr2) { NDR_CHECK(ndr_push_srvsvc_NetFileCtr2(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr2)); } break; case 3: if (r->ctr3) { NDR_CHECK(ndr_push_srvsvc_NetFileCtr3(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr3)); } break; default: NDR_CHECK(ndr_push_srvsvc_NetFileCtrDefault(ndr, ndr_flags, &r->ctrDefault)); break; } done: return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_NetFileEnum(struct ndr_push *ndr, struct srvsvc_NetFileEnum *r) { NDR_CHECK(ndr_push_ptr(ndr, r->in.server_unc)); if (r->in.server_unc) { NDR_CHECK(ndr_push_unistr(ndr, r->in.server_unc)); } NDR_CHECK(ndr_push_ptr(ndr, r->in.path)); if (r->in.path) { NDR_CHECK(ndr_push_unistr(ndr, r->in.path)); } NDR_CHECK(ndr_push_ptr(ndr, r->in.user)); if (r->in.user) { NDR_CHECK(ndr_push_unistr(ndr, r->in.user)); } NDR_CHECK(ndr_push_uint32(ndr, r->in.level)); NDR_CHECK(ndr_push_uint32(ndr, r->in.level)); NDR_CHECK(ndr_push_srvsvc_NetFileCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.level, &r->in.ctr)); NDR_CHECK(ndr_push_uint32(ndr, r->in.preferred_len)); NDR_CHECK(ndr_push_ptr(ndr, r->in.resume_handle)); if (r->in.resume_handle) { NDR_CHECK(ndr_push_uint32(ndr, *r->in.resume_handle)); } return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_0a(struct ndr_push *ndr, struct srvsvc_0a *r) { return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_NET_FILE_CLOSE(struct ndr_push *ndr, struct srvsvc_NET_FILE_CLOSE *r) { return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_NetSess0(struct ndr_push *ndr, int ndr_flags, struct srvsvc_NetSess0 *r) { if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_push_struct_start(ndr)); NDR_CHECK(ndr_push_align(ndr, 4)); NDR_CHECK(ndr_push_ptr(ndr, r->client)); ndr_push_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; if (r->client) { NDR_CHECK(ndr_push_unistr(ndr, r->client)); } done: return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_NetSessCtr0(struct ndr_push *ndr, int ndr_flags, struct srvsvc_NetSessCtr0 *r) { if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_push_struct_start(ndr)); NDR_CHECK(ndr_push_align(ndr, 4)); NDR_CHECK(ndr_push_uint32(ndr, r->count)); NDR_CHECK(ndr_push_ptr(ndr, r->array)); ndr_push_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; if (r->array) { NDR_CHECK(ndr_push_uint32(ndr, r->count)); NDR_CHECK(ndr_push_array(ndr, NDR_SCALARS|NDR_BUFFERS, r->array, sizeof(r->array[0]), r->count, (ndr_push_flags_fn_t)ndr_push_srvsvc_NetSess0)); } done: return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_NetSess1(struct ndr_push *ndr, int ndr_flags, struct srvsvc_NetSess1 *r) { if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_push_struct_start(ndr)); NDR_CHECK(ndr_push_align(ndr, 4)); NDR_CHECK(ndr_push_ptr(ndr, r->client)); NDR_CHECK(ndr_push_ptr(ndr, r->user)); NDR_CHECK(ndr_push_uint32(ndr, r->num_open)); NDR_CHECK(ndr_push_uint32(ndr, r->time)); NDR_CHECK(ndr_push_uint32(ndr, r->idle_time)); NDR_CHECK(ndr_push_uint32(ndr, r->user_flags)); ndr_push_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; if (r->client) { NDR_CHECK(ndr_push_unistr(ndr, r->client)); } if (r->user) { NDR_CHECK(ndr_push_unistr(ndr, r->user)); } done: return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_NetSessCtr1(struct ndr_push *ndr, int ndr_flags, struct srvsvc_NetSessCtr1 *r) { if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_push_struct_start(ndr)); NDR_CHECK(ndr_push_align(ndr, 4)); NDR_CHECK(ndr_push_uint32(ndr, r->count)); NDR_CHECK(ndr_push_ptr(ndr, r->array)); ndr_push_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; if (r->array) { NDR_CHECK(ndr_push_uint32(ndr, r->count)); NDR_CHECK(ndr_push_array(ndr, NDR_SCALARS|NDR_BUFFERS, r->array, sizeof(r->array[0]), r->count, (ndr_push_flags_fn_t)ndr_push_srvsvc_NetSess1)); } done: return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_NetSess2(struct ndr_push *ndr, int ndr_flags, struct srvsvc_NetSess2 *r) { if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_push_struct_start(ndr)); NDR_CHECK(ndr_push_align(ndr, 4)); NDR_CHECK(ndr_push_ptr(ndr, r->client)); NDR_CHECK(ndr_push_ptr(ndr, r->user)); NDR_CHECK(ndr_push_uint32(ndr, r->num_open)); NDR_CHECK(ndr_push_uint32(ndr, r->time)); NDR_CHECK(ndr_push_uint32(ndr, r->idle_time)); NDR_CHECK(ndr_push_uint32(ndr, r->user_flags)); NDR_CHECK(ndr_push_ptr(ndr, r->client_type)); ndr_push_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; if (r->client) { NDR_CHECK(ndr_push_unistr(ndr, r->client)); } if (r->user) { NDR_CHECK(ndr_push_unistr(ndr, r->user)); } if (r->client_type) { NDR_CHECK(ndr_push_unistr(ndr, r->client_type)); } done: return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_NetSessCtr2(struct ndr_push *ndr, int ndr_flags, struct srvsvc_NetSessCtr2 *r) { if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_push_struct_start(ndr)); NDR_CHECK(ndr_push_align(ndr, 4)); NDR_CHECK(ndr_push_uint32(ndr, r->count)); NDR_CHECK(ndr_push_ptr(ndr, r->array)); ndr_push_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; if (r->array) { NDR_CHECK(ndr_push_uint32(ndr, r->count)); NDR_CHECK(ndr_push_array(ndr, NDR_SCALARS|NDR_BUFFERS, r->array, sizeof(r->array[0]), r->count, (ndr_push_flags_fn_t)ndr_push_srvsvc_NetSess2)); } done: return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_NetSess10(struct ndr_push *ndr, int ndr_flags, struct srvsvc_NetSess10 *r) { if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_push_struct_start(ndr)); NDR_CHECK(ndr_push_align(ndr, 4)); NDR_CHECK(ndr_push_ptr(ndr, r->client)); NDR_CHECK(ndr_push_ptr(ndr, r->user)); NDR_CHECK(ndr_push_uint32(ndr, r->time)); NDR_CHECK(ndr_push_uint32(ndr, r->idle_time)); ndr_push_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; if (r->client) { NDR_CHECK(ndr_push_unistr(ndr, r->client)); } if (r->user) { NDR_CHECK(ndr_push_unistr(ndr, r->user)); } done: return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_NetSessCtr10(struct ndr_push *ndr, int ndr_flags, struct srvsvc_NetSessCtr10 *r) { if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_push_struct_start(ndr)); NDR_CHECK(ndr_push_align(ndr, 4)); NDR_CHECK(ndr_push_uint32(ndr, r->count)); NDR_CHECK(ndr_push_ptr(ndr, r->array)); ndr_push_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; if (r->array) { NDR_CHECK(ndr_push_uint32(ndr, r->count)); NDR_CHECK(ndr_push_array(ndr, NDR_SCALARS|NDR_BUFFERS, r->array, sizeof(r->array[0]), r->count, (ndr_push_flags_fn_t)ndr_push_srvsvc_NetSess10)); } done: return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_NetSess502(struct ndr_push *ndr, int ndr_flags, struct srvsvc_NetSess502 *r) { if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_push_struct_start(ndr)); NDR_CHECK(ndr_push_align(ndr, 4)); NDR_CHECK(ndr_push_ptr(ndr, r->client)); NDR_CHECK(ndr_push_ptr(ndr, r->user)); NDR_CHECK(ndr_push_uint32(ndr, r->num_open)); NDR_CHECK(ndr_push_uint32(ndr, r->time)); NDR_CHECK(ndr_push_uint32(ndr, r->idle_time)); NDR_CHECK(ndr_push_uint32(ndr, r->user_flags)); NDR_CHECK(ndr_push_ptr(ndr, r->client_type)); NDR_CHECK(ndr_push_ptr(ndr, r->transport)); ndr_push_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; if (r->client) { NDR_CHECK(ndr_push_unistr(ndr, r->client)); } if (r->user) { NDR_CHECK(ndr_push_unistr(ndr, r->user)); } if (r->client_type) { NDR_CHECK(ndr_push_unistr(ndr, r->client_type)); } if (r->transport) { NDR_CHECK(ndr_push_unistr(ndr, r->transport)); } done: return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_NetSessCtr502(struct ndr_push *ndr, int ndr_flags, struct srvsvc_NetSessCtr502 *r) { if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_push_struct_start(ndr)); NDR_CHECK(ndr_push_align(ndr, 4)); NDR_CHECK(ndr_push_uint32(ndr, r->count)); NDR_CHECK(ndr_push_ptr(ndr, r->array)); ndr_push_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; if (r->array) { NDR_CHECK(ndr_push_uint32(ndr, r->count)); NDR_CHECK(ndr_push_array(ndr, NDR_SCALARS|NDR_BUFFERS, r->array, sizeof(r->array[0]), r->count, (ndr_push_flags_fn_t)ndr_push_srvsvc_NetSess502)); } done: return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_NetSessCtrDefault(struct ndr_push *ndr, int ndr_flags, struct srvsvc_NetSessCtrDefault *r) { if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_push_struct_start(ndr)); NDR_CHECK(ndr_push_align(ndr, 1)); ndr_push_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; done: return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_NetSessCtr(struct ndr_push *ndr, int ndr_flags, uint16 level, union srvsvc_NetSessCtr *r) { if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_push_struct_start(ndr)); switch (level) { case 0: NDR_CHECK(ndr_push_ptr(ndr, r->ctr0)); break; case 1: NDR_CHECK(ndr_push_ptr(ndr, r->ctr1)); break; case 2: NDR_CHECK(ndr_push_ptr(ndr, r->ctr2)); break; case 10: NDR_CHECK(ndr_push_ptr(ndr, r->ctr10)); break; case 502: NDR_CHECK(ndr_push_ptr(ndr, r->ctr502)); break; default: NDR_CHECK(ndr_push_srvsvc_NetSessCtrDefault(ndr, NDR_SCALARS, &r->ctrDefault)); break; } ndr_push_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; switch (level) { case 0: if (r->ctr0) { NDR_CHECK(ndr_push_srvsvc_NetSessCtr0(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr0)); } break; case 1: if (r->ctr1) { NDR_CHECK(ndr_push_srvsvc_NetSessCtr1(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1)); } break; case 2: if (r->ctr2) { NDR_CHECK(ndr_push_srvsvc_NetSessCtr2(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr2)); } break; case 10: if (r->ctr10) { NDR_CHECK(ndr_push_srvsvc_NetSessCtr10(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr10)); } break; case 502: if (r->ctr502) { NDR_CHECK(ndr_push_srvsvc_NetSessCtr502(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr502)); } break; default: NDR_CHECK(ndr_push_srvsvc_NetSessCtrDefault(ndr, ndr_flags, &r->ctrDefault)); break; } done: return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_NetSessEnum(struct ndr_push *ndr, struct srvsvc_NetSessEnum *r) { NDR_CHECK(ndr_push_ptr(ndr, r->in.server_unc)); if (r->in.server_unc) { NDR_CHECK(ndr_push_unistr(ndr, r->in.server_unc)); } NDR_CHECK(ndr_push_ptr(ndr, r->in.client)); if (r->in.client) { NDR_CHECK(ndr_push_unistr(ndr, r->in.client)); } NDR_CHECK(ndr_push_ptr(ndr, r->in.user)); if (r->in.user) { NDR_CHECK(ndr_push_unistr(ndr, r->in.user)); } NDR_CHECK(ndr_push_uint32(ndr, r->in.level)); NDR_CHECK(ndr_push_uint32(ndr, r->in.level)); NDR_CHECK(ndr_push_srvsvc_NetSessCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.level, &r->in.ctr)); NDR_CHECK(ndr_push_uint32(ndr, r->in.preferred_len)); NDR_CHECK(ndr_push_ptr(ndr, r->in.resume_handle)); if (r->in.resume_handle) { NDR_CHECK(ndr_push_uint32(ndr, *r->in.resume_handle)); } return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_0d(struct ndr_push *ndr, struct srvsvc_0d *r) { return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_NET_SHARE_ADD(struct ndr_push *ndr, struct srvsvc_NET_SHARE_ADD *r) { return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_NetShare0(struct ndr_push *ndr, int ndr_flags, struct srvsvc_NetShare0 *r) { if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_push_struct_start(ndr)); NDR_CHECK(ndr_push_align(ndr, 4)); NDR_CHECK(ndr_push_ptr(ndr, r->name)); ndr_push_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; if (r->name) { NDR_CHECK(ndr_push_unistr(ndr, r->name)); } done: return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_NetShareCtr0(struct ndr_push *ndr, int ndr_flags, struct srvsvc_NetShareCtr0 *r) { if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_push_struct_start(ndr)); NDR_CHECK(ndr_push_align(ndr, 4)); NDR_CHECK(ndr_push_uint32(ndr, r->count)); NDR_CHECK(ndr_push_ptr(ndr, r->array)); ndr_push_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; if (r->array) { NDR_CHECK(ndr_push_uint32(ndr, r->count)); NDR_CHECK(ndr_push_array(ndr, NDR_SCALARS|NDR_BUFFERS, r->array, sizeof(r->array[0]), r->count, (ndr_push_flags_fn_t)ndr_push_srvsvc_NetShare0)); } done: return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_NetShare1(struct ndr_push *ndr, int ndr_flags, struct srvsvc_NetShare1 *r) { if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_push_struct_start(ndr)); NDR_CHECK(ndr_push_align(ndr, 4)); NDR_CHECK(ndr_push_ptr(ndr, r->name)); NDR_CHECK(ndr_push_uint32(ndr, r->type)); NDR_CHECK(ndr_push_ptr(ndr, r->comment)); ndr_push_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; if (r->name) { NDR_CHECK(ndr_push_unistr(ndr, r->name)); } if (r->comment) { NDR_CHECK(ndr_push_unistr(ndr, r->comment)); } done: return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_NetShareCtr1(struct ndr_push *ndr, int ndr_flags, struct srvsvc_NetShareCtr1 *r) { if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_push_struct_start(ndr)); NDR_CHECK(ndr_push_align(ndr, 4)); NDR_CHECK(ndr_push_uint32(ndr, r->count)); NDR_CHECK(ndr_push_ptr(ndr, r->array)); ndr_push_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; if (r->array) { NDR_CHECK(ndr_push_uint32(ndr, r->count)); NDR_CHECK(ndr_push_array(ndr, NDR_SCALARS|NDR_BUFFERS, r->array, sizeof(r->array[0]), r->count, (ndr_push_flags_fn_t)ndr_push_srvsvc_NetShare1)); } done: return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_NetShare2(struct ndr_push *ndr, int ndr_flags, struct srvsvc_NetShare2 *r) { if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_push_struct_start(ndr)); NDR_CHECK(ndr_push_align(ndr, 4)); NDR_CHECK(ndr_push_ptr(ndr, r->name)); NDR_CHECK(ndr_push_uint32(ndr, r->type)); NDR_CHECK(ndr_push_ptr(ndr, r->comment)); NDR_CHECK(ndr_push_uint32(ndr, r->permissions)); NDR_CHECK(ndr_push_uint32(ndr, r->max_users)); NDR_CHECK(ndr_push_uint32(ndr, r->current_users)); NDR_CHECK(ndr_push_ptr(ndr, r->path)); NDR_CHECK(ndr_push_ptr(ndr, r->password)); ndr_push_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; if (r->name) { NDR_CHECK(ndr_push_unistr(ndr, r->name)); } if (r->comment) { NDR_CHECK(ndr_push_unistr(ndr, r->comment)); } if (r->path) { NDR_CHECK(ndr_push_unistr(ndr, r->path)); } if (r->password) { NDR_CHECK(ndr_push_uint32(ndr, *r->password)); } done: return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_NetShareCtr2(struct ndr_push *ndr, int ndr_flags, struct srvsvc_NetShareCtr2 *r) { if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_push_struct_start(ndr)); NDR_CHECK(ndr_push_align(ndr, 4)); NDR_CHECK(ndr_push_uint32(ndr, r->count)); NDR_CHECK(ndr_push_ptr(ndr, r->array)); ndr_push_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; if (r->array) { NDR_CHECK(ndr_push_uint32(ndr, r->count)); NDR_CHECK(ndr_push_array(ndr, NDR_SCALARS|NDR_BUFFERS, r->array, sizeof(r->array[0]), r->count, (ndr_push_flags_fn_t)ndr_push_srvsvc_NetShare2)); } done: return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_NetShare501(struct ndr_push *ndr, int ndr_flags, struct srvsvc_NetShare501 *r) { if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_push_struct_start(ndr)); NDR_CHECK(ndr_push_align(ndr, 4)); NDR_CHECK(ndr_push_ptr(ndr, r->name)); NDR_CHECK(ndr_push_uint32(ndr, r->type)); NDR_CHECK(ndr_push_ptr(ndr, r->comment)); NDR_CHECK(ndr_push_uint32(ndr, r->csc_policy)); ndr_push_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; if (r->name) { NDR_CHECK(ndr_push_unistr(ndr, r->name)); } if (r->comment) { NDR_CHECK(ndr_push_unistr(ndr, r->comment)); } done: return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_NetShareCtr501(struct ndr_push *ndr, int ndr_flags, struct srvsvc_NetShareCtr501 *r) { if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_push_struct_start(ndr)); NDR_CHECK(ndr_push_align(ndr, 4)); NDR_CHECK(ndr_push_uint32(ndr, r->count)); NDR_CHECK(ndr_push_ptr(ndr, r->array)); ndr_push_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; if (r->array) { NDR_CHECK(ndr_push_uint32(ndr, r->count)); NDR_CHECK(ndr_push_array(ndr, NDR_SCALARS|NDR_BUFFERS, r->array, sizeof(r->array[0]), r->count, (ndr_push_flags_fn_t)ndr_push_srvsvc_NetShare501)); } done: return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_NetShare502(struct ndr_push *ndr, int ndr_flags, struct srvsvc_NetShare502 *r) { if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_push_struct_start(ndr)); NDR_CHECK(ndr_push_align(ndr, 4)); NDR_CHECK(ndr_push_ptr(ndr, r->name)); NDR_CHECK(ndr_push_uint32(ndr, r->type)); NDR_CHECK(ndr_push_ptr(ndr, r->comment)); NDR_CHECK(ndr_push_uint32(ndr, r->permissions)); NDR_CHECK(ndr_push_uint32(ndr, r->max_users)); NDR_CHECK(ndr_push_uint32(ndr, r->current_users)); NDR_CHECK(ndr_push_ptr(ndr, r->path)); NDR_CHECK(ndr_push_ptr(ndr, r->password)); NDR_CHECK(ndr_push_uint32(ndr, r->unknown)); NDR_CHECK(ndr_push_ptr(ndr, r->sd)); ndr_push_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; if (r->name) { NDR_CHECK(ndr_push_unistr(ndr, r->name)); } if (r->comment) { NDR_CHECK(ndr_push_unistr(ndr, r->comment)); } if (r->path) { NDR_CHECK(ndr_push_unistr(ndr, r->path)); } if (r->password) { NDR_CHECK(ndr_push_uint32(ndr, *r->password)); } if (r->sd) { NDR_CHECK(ndr_push_security_descriptor(ndr, NDR_SCALARS|NDR_BUFFERS, r->sd)); } done: return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_NetShareCtr502(struct ndr_push *ndr, int ndr_flags, struct srvsvc_NetShareCtr502 *r) { if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_push_struct_start(ndr)); NDR_CHECK(ndr_push_align(ndr, 4)); NDR_CHECK(ndr_push_uint32(ndr, r->count)); NDR_CHECK(ndr_push_ptr(ndr, r->array)); ndr_push_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; if (r->array) { NDR_CHECK(ndr_push_uint32(ndr, r->count)); NDR_CHECK(ndr_push_array(ndr, NDR_SCALARS|NDR_BUFFERS, r->array, sizeof(r->array[0]), r->count, (ndr_push_flags_fn_t)ndr_push_srvsvc_NetShare502)); } done: return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_NetShareCtrDefault(struct ndr_push *ndr, int ndr_flags, struct srvsvc_NetShareCtrDefault *r) { if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_push_struct_start(ndr)); NDR_CHECK(ndr_push_align(ndr, 1)); ndr_push_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; done: return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_NetShareCtr(struct ndr_push *ndr, int ndr_flags, uint16 level, union srvsvc_NetShareCtr *r) { if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_push_struct_start(ndr)); switch (level) { case 0: NDR_CHECK(ndr_push_ptr(ndr, r->ctr0)); break; case 1: NDR_CHECK(ndr_push_ptr(ndr, r->ctr1)); break; case 2: NDR_CHECK(ndr_push_ptr(ndr, r->ctr2)); break; case 501: NDR_CHECK(ndr_push_ptr(ndr, r->ctr501)); break; case 502: NDR_CHECK(ndr_push_ptr(ndr, r->ctr502)); break; default: NDR_CHECK(ndr_push_srvsvc_NetShareCtrDefault(ndr, NDR_SCALARS, &r->ctrDefault)); break; } ndr_push_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; switch (level) { case 0: if (r->ctr0) { NDR_CHECK(ndr_push_srvsvc_NetShareCtr0(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr0)); } break; case 1: if (r->ctr1) { NDR_CHECK(ndr_push_srvsvc_NetShareCtr1(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1)); } break; case 2: if (r->ctr2) { NDR_CHECK(ndr_push_srvsvc_NetShareCtr2(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr2)); } break; case 501: if (r->ctr501) { NDR_CHECK(ndr_push_srvsvc_NetShareCtr501(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr501)); } break; case 502: if (r->ctr502) { NDR_CHECK(ndr_push_srvsvc_NetShareCtr502(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr502)); } break; default: NDR_CHECK(ndr_push_srvsvc_NetShareCtrDefault(ndr, ndr_flags, &r->ctrDefault)); break; } done: return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_NetShareEnumAll(struct ndr_push *ndr, struct srvsvc_NetShareEnumAll *r) { NDR_CHECK(ndr_push_ptr(ndr, r->in.server_unc)); if (r->in.server_unc) { NDR_CHECK(ndr_push_unistr(ndr, r->in.server_unc)); } NDR_CHECK(ndr_push_uint32(ndr, r->in.level)); NDR_CHECK(ndr_push_uint32(ndr, r->in.level)); NDR_CHECK(ndr_push_srvsvc_NetShareCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.level, &r->in.ctr)); NDR_CHECK(ndr_push_uint32(ndr, r->in.preferred_len)); NDR_CHECK(ndr_push_ptr(ndr, r->in.resume_handle)); if (r->in.resume_handle) { NDR_CHECK(ndr_push_uint32(ndr, *r->in.resume_handle)); } return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_NET_SHARE_GET_INFO(struct ndr_push *ndr, struct srvsvc_NET_SHARE_GET_INFO *r) { return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_NET_SHARE_SET_INFO(struct ndr_push *ndr, struct srvsvc_NET_SHARE_SET_INFO *r) { return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_NET_SHARE_DEL(struct ndr_push *ndr, struct srvsvc_NET_SHARE_DEL *r) { return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_NET_SHARE_DEL_STICKY(struct ndr_push *ndr, struct srvsvc_NET_SHARE_DEL_STICKY *r) { return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_14(struct ndr_push *ndr, struct srvsvc_14 *r) { return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_NET_SRV_GET_INFO(struct ndr_push *ndr, struct srvsvc_NET_SRV_GET_INFO *r) { return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_NET_SRV_SET_INFO(struct ndr_push *ndr, struct srvsvc_NET_SRV_SET_INFO *r) { return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_NetDiskEnum(struct ndr_push *ndr, struct srvsvc_NetDiskEnum *r) { NDR_CHECK(ndr_push_ptr(ndr, r->in.server_unc)); if (r->in.server_unc) { NDR_CHECK(ndr_push_unistr(ndr, r->in.server_unc)); } NDR_CHECK(ndr_push_uint32(ndr, r->in.level)); NDR_CHECK(ndr_push_uint32(ndr, r->in.unknown1)); NDR_CHECK(ndr_push_uint32(ndr, r->in.unknown2)); NDR_CHECK(ndr_push_uint32(ndr, r->in.preferred_len)); NDR_CHECK(ndr_push_ptr(ndr, r->in.resume_handle)); if (r->in.resume_handle) { NDR_CHECK(ndr_push_uint32(ndr, *r->in.resume_handle)); } return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_18(struct ndr_push *ndr, struct srvsvc_18 *r) { return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_19(struct ndr_push *ndr, struct srvsvc_19 *r) { return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_TransportAddress(struct ndr_push *ndr, int ndr_flags, struct srvsvc_TransportAddress *r) { if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_push_struct_start(ndr)); NDR_CHECK(ndr_push_align(ndr, 4)); NDR_CHECK(ndr_push_uint32(ndr, r->count)); NDR_CHECK(ndr_push_ptr(ndr, r->addr)); ndr_push_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; if (r->addr) { NDR_CHECK(ndr_push_uint32(ndr, r->count)); NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS|NDR_BUFFERS, r->addr, r->count)); } done: return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_NetTransport0(struct ndr_push *ndr, int ndr_flags, struct srvsvc_NetTransport0 *r) { if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_push_struct_start(ndr)); NDR_CHECK(ndr_push_align(ndr, 4)); NDR_CHECK(ndr_push_uint32(ndr, r->vcs)); NDR_CHECK(ndr_push_ptr(ndr, r->name)); NDR_CHECK(ndr_push_ptr(ndr, r->addr)); NDR_CHECK(ndr_push_uint32(ndr, r->addr_len)); NDR_CHECK(ndr_push_ptr(ndr, r->net_addr)); ndr_push_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; if (r->name) { NDR_CHECK(ndr_push_unistr(ndr, r->name)); } if (r->addr) { NDR_CHECK(ndr_push_srvsvc_TransportAddress(ndr, NDR_SCALARS|NDR_BUFFERS, r->addr)); } if (r->net_addr) { NDR_CHECK(ndr_push_unistr(ndr, r->net_addr)); } done: return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_NetTransportCtr0(struct ndr_push *ndr, int ndr_flags, struct srvsvc_NetTransportCtr0 *r) { if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_push_struct_start(ndr)); NDR_CHECK(ndr_push_align(ndr, 4)); NDR_CHECK(ndr_push_uint32(ndr, r->count)); NDR_CHECK(ndr_push_ptr(ndr, r->array)); ndr_push_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; if (r->array) { NDR_CHECK(ndr_push_uint32(ndr, r->count)); NDR_CHECK(ndr_push_array(ndr, NDR_SCALARS|NDR_BUFFERS, r->array, sizeof(r->array[0]), r->count, (ndr_push_flags_fn_t)ndr_push_srvsvc_NetTransport0)); } done: return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_NetTransport1(struct ndr_push *ndr, int ndr_flags, struct srvsvc_NetTransport1 *r) { if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_push_struct_start(ndr)); NDR_CHECK(ndr_push_align(ndr, 4)); NDR_CHECK(ndr_push_uint32(ndr, r->vcs)); NDR_CHECK(ndr_push_ptr(ndr, r->name)); NDR_CHECK(ndr_push_ptr(ndr, r->addr)); NDR_CHECK(ndr_push_uint32(ndr, r->addr_len)); NDR_CHECK(ndr_push_ptr(ndr, r->net_addr)); NDR_CHECK(ndr_push_ptr(ndr, r->domain)); ndr_push_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; if (r->name) { NDR_CHECK(ndr_push_unistr(ndr, r->name)); } if (r->addr) { NDR_CHECK(ndr_push_srvsvc_TransportAddress(ndr, NDR_SCALARS|NDR_BUFFERS, r->addr)); } if (r->net_addr) { NDR_CHECK(ndr_push_unistr(ndr, r->net_addr)); } if (r->domain) { NDR_CHECK(ndr_push_unistr(ndr, r->domain)); } done: return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_NetTransportCtr1(struct ndr_push *ndr, int ndr_flags, struct srvsvc_NetTransportCtr1 *r) { if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_push_struct_start(ndr)); NDR_CHECK(ndr_push_align(ndr, 4)); NDR_CHECK(ndr_push_uint32(ndr, r->count)); NDR_CHECK(ndr_push_ptr(ndr, r->array)); ndr_push_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; if (r->array) { NDR_CHECK(ndr_push_uint32(ndr, r->count)); NDR_CHECK(ndr_push_array(ndr, NDR_SCALARS|NDR_BUFFERS, r->array, sizeof(r->array[0]), r->count, (ndr_push_flags_fn_t)ndr_push_srvsvc_NetTransport1)); } done: return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_NetTransport2(struct ndr_push *ndr, int ndr_flags, struct srvsvc_NetTransport2 *r) { if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_push_struct_start(ndr)); NDR_CHECK(ndr_push_align(ndr, 4)); NDR_CHECK(ndr_push_uint32(ndr, r->dummy)); ndr_push_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; done: return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_NetTransportCtr2(struct ndr_push *ndr, int ndr_flags, struct srvsvc_NetTransportCtr2 *r) { if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_push_struct_start(ndr)); NDR_CHECK(ndr_push_align(ndr, 4)); NDR_CHECK(ndr_push_uint32(ndr, r->count)); NDR_CHECK(ndr_push_ptr(ndr, r->array)); ndr_push_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; if (r->array) { NDR_CHECK(ndr_push_uint32(ndr, r->count)); NDR_CHECK(ndr_push_array(ndr, NDR_SCALARS|NDR_BUFFERS, r->array, sizeof(r->array[0]), r->count, (ndr_push_flags_fn_t)ndr_push_srvsvc_NetTransport2)); } done: return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_NetTransportCtrDefault(struct ndr_push *ndr, int ndr_flags, struct srvsvc_NetTransportCtrDefault *r) { if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_push_struct_start(ndr)); NDR_CHECK(ndr_push_align(ndr, 1)); ndr_push_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; done: return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_NetTransportCtr(struct ndr_push *ndr, int ndr_flags, uint16 level, union srvsvc_NetTransportCtr *r) { if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_push_struct_start(ndr)); switch (level) { case 0: NDR_CHECK(ndr_push_ptr(ndr, r->ctr0)); break; case 1: NDR_CHECK(ndr_push_ptr(ndr, r->ctr1)); break; case 2: NDR_CHECK(ndr_push_ptr(ndr, r->ctr2)); break; default: NDR_CHECK(ndr_push_srvsvc_NetTransportCtrDefault(ndr, NDR_SCALARS, &r->ctrDefault)); break; } ndr_push_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; switch (level) { case 0: if (r->ctr0) { NDR_CHECK(ndr_push_srvsvc_NetTransportCtr0(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr0)); } break; case 1: if (r->ctr1) { NDR_CHECK(ndr_push_srvsvc_NetTransportCtr1(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1)); } break; case 2: if (r->ctr2) { NDR_CHECK(ndr_push_srvsvc_NetTransportCtr2(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr2)); } break; default: NDR_CHECK(ndr_push_srvsvc_NetTransportCtrDefault(ndr, ndr_flags, &r->ctrDefault)); break; } done: return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_NetTransportEnum(struct ndr_push *ndr, struct srvsvc_NetTransportEnum *r) { NDR_CHECK(ndr_push_ptr(ndr, r->in.server_unc)); if (r->in.server_unc) { NDR_CHECK(ndr_push_unistr(ndr, r->in.server_unc)); } NDR_CHECK(ndr_push_uint32(ndr, r->in.level)); NDR_CHECK(ndr_push_uint32(ndr, r->in.level)); NDR_CHECK(ndr_push_srvsvc_NetTransportCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.level, &r->in.ctr)); NDR_CHECK(ndr_push_uint32(ndr, r->in.preferred_len)); NDR_CHECK(ndr_push_ptr(ndr, r->in.resume_handle)); if (r->in.resume_handle) { NDR_CHECK(ndr_push_uint32(ndr, *r->in.resume_handle)); } return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_1b(struct ndr_push *ndr, struct srvsvc_1b *r) { return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_NET_REMOTE_TOD(struct ndr_push *ndr, struct srvsvc_NET_REMOTE_TOD *r) { return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_1d(struct ndr_push *ndr, struct srvsvc_1d *r) { return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_1e(struct ndr_push *ndr, struct srvsvc_1e *r) { return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_1f(struct ndr_push *ndr, struct srvsvc_1f *r) { return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_20(struct ndr_push *ndr, struct srvsvc_20 *r) { return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_NET_NAME_VALIDATE(struct ndr_push *ndr, struct srvsvc_NET_NAME_VALIDATE *r) { return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_22(struct ndr_push *ndr, struct srvsvc_22 *r) { return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_23(struct ndr_push *ndr, struct srvsvc_23 *r) { return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_NetShareEnum(struct ndr_push *ndr, struct srvsvc_NetShareEnum *r) { NDR_CHECK(ndr_push_ptr(ndr, r->in.server_unc)); if (r->in.server_unc) { NDR_CHECK(ndr_push_unistr(ndr, r->in.server_unc)); } NDR_CHECK(ndr_push_uint32(ndr, r->in.level)); NDR_CHECK(ndr_push_uint32(ndr, r->in.level)); NDR_CHECK(ndr_push_srvsvc_NetShareCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.level, &r->in.ctr)); NDR_CHECK(ndr_push_uint32(ndr, r->in.preferred_len)); NDR_CHECK(ndr_push_ptr(ndr, r->in.resume_handle)); if (r->in.resume_handle) { NDR_CHECK(ndr_push_uint32(ndr, *r->in.resume_handle)); } return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_25(struct ndr_push *ndr, struct srvsvc_25 *r) { return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_26(struct ndr_push *ndr, struct srvsvc_26 *r) { return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_NET_FILE_QUERY_SECDESC(struct ndr_push *ndr, struct srvsvc_NET_FILE_QUERY_SECDESC *r) { return NT_STATUS_OK; } NTSTATUS ndr_push_srvsvc_NET_FILE_SET_SECDESC(struct ndr_push *ndr, struct srvsvc_NET_FILE_SET_SECDESC *r) { return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_00(struct ndr_pull *ndr, struct srvsvc_00 *r) { NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result)); return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_01(struct ndr_pull *ndr, struct srvsvc_01 *r) { NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result)); return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_02(struct ndr_pull *ndr, struct srvsvc_02 *r) { NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result)); return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_03(struct ndr_pull *ndr, struct srvsvc_03 *r) { NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result)); return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_04(struct ndr_pull *ndr, struct srvsvc_04 *r) { NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result)); return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_05(struct ndr_pull *ndr, struct srvsvc_05 *r) { NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result)); return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_06(struct ndr_pull *ndr, struct srvsvc_06 *r) { NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result)); return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_07(struct ndr_pull *ndr, struct srvsvc_07 *r) { NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result)); return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_NetConn0(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetConn0 *r) { NDR_CHECK(ndr_pull_struct_start(ndr)); if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_pull_align(ndr, 4)); NDR_CHECK(ndr_pull_uint32(ndr, &r->conn_id)); ndr_pull_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; done: return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_NetConnCtr0(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetConnCtr0 *r) { uint32 _ptr_array; NDR_CHECK(ndr_pull_struct_start(ndr)); if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_pull_align(ndr, 4)); NDR_CHECK(ndr_pull_uint32(ndr, &r->count)); NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_array)); if (_ptr_array) { NDR_ALLOC(ndr, r->array); } else { r->array = NULL; } ndr_pull_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; if (r->array) { { uint32 _array_size; NDR_CHECK(ndr_pull_uint32(ndr, &_array_size)); if (r->count > _array_size) { return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should be %u", _array_size, r->count); } } NDR_ALLOC_N_SIZE(ndr, r->array, r->count, sizeof(r->array[0])); NDR_CHECK(ndr_pull_array(ndr, NDR_SCALARS|NDR_BUFFERS, (void **)r->array, sizeof(r->array[0]), r->count, (ndr_pull_flags_fn_t)ndr_pull_srvsvc_NetConn0)); } done: return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_NetConn1(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetConn1 *r) { uint32 _ptr_user; uint32 _ptr_client; NDR_CHECK(ndr_pull_struct_start(ndr)); if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_pull_align(ndr, 4)); NDR_CHECK(ndr_pull_uint32(ndr, &r->conn_id)); NDR_CHECK(ndr_pull_uint32(ndr, &r->conn_type)); NDR_CHECK(ndr_pull_uint32(ndr, &r->num_open)); NDR_CHECK(ndr_pull_uint32(ndr, &r->num_users)); NDR_CHECK(ndr_pull_uint32(ndr, &r->conn_time)); NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_user)); if (_ptr_user) { NDR_ALLOC(ndr, r->user); } else { r->user = NULL; } NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_client)); if (_ptr_client) { NDR_ALLOC(ndr, r->client); } else { r->client = NULL; } ndr_pull_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; if (r->user) { NDR_CHECK(ndr_pull_unistr(ndr, &r->user)); } if (r->client) { NDR_CHECK(ndr_pull_unistr(ndr, &r->client)); } done: return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_NetConnCtr1(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetConnCtr1 *r) { uint32 _ptr_array; NDR_CHECK(ndr_pull_struct_start(ndr)); if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_pull_align(ndr, 4)); NDR_CHECK(ndr_pull_uint32(ndr, &r->count)); NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_array)); if (_ptr_array) { NDR_ALLOC(ndr, r->array); } else { r->array = NULL; } ndr_pull_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; if (r->array) { { uint32 _array_size; NDR_CHECK(ndr_pull_uint32(ndr, &_array_size)); if (r->count > _array_size) { return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should be %u", _array_size, r->count); } } NDR_ALLOC_N_SIZE(ndr, r->array, r->count, sizeof(r->array[0])); NDR_CHECK(ndr_pull_array(ndr, NDR_SCALARS|NDR_BUFFERS, (void **)r->array, sizeof(r->array[0]), r->count, (ndr_pull_flags_fn_t)ndr_pull_srvsvc_NetConn1)); } done: return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_NetConnCtrDefault(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetConnCtrDefault *r) { NDR_CHECK(ndr_pull_struct_start(ndr)); if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_pull_align(ndr, 1)); ndr_pull_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; done: return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_NetConnCtr(struct ndr_pull *ndr, int ndr_flags, uint16 level, union srvsvc_NetConnCtr *r) { if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_pull_struct_start(ndr)); switch (level) { case 0: { uint32 _ptr_ctr0; NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_ctr0)); if (_ptr_ctr0) { NDR_ALLOC(ndr, r->ctr0); } else { r->ctr0 = NULL; } break; } case 1: { uint32 _ptr_ctr1; NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_ctr1)); if (_ptr_ctr1) { NDR_ALLOC(ndr, r->ctr1); } else { r->ctr1 = NULL; } break; } default: { NDR_CHECK(ndr_pull_srvsvc_NetConnCtrDefault(ndr, NDR_SCALARS, &r->ctrDefault)); break; } } ndr_pull_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; switch (level) { case 0: if (r->ctr0) { NDR_CHECK(ndr_pull_srvsvc_NetConnCtr0(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr0)); } break; case 1: if (r->ctr1) { NDR_CHECK(ndr_pull_srvsvc_NetConnCtr1(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1)); } break; default: NDR_CHECK(ndr_pull_srvsvc_NetConnCtrDefault(ndr, NDR_BUFFERS, &r->ctrDefault)); break; } done: return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_NetConnEnum(struct ndr_pull *ndr, struct srvsvc_NetConnEnum *r) { uint32 _ptr_resume_handle; NDR_CHECK(ndr_pull_uint32(ndr, &r->out.level)); if ((NDR_SCALARS|NDR_BUFFERS) & NDR_SCALARS) { uint32 _level; NDR_CHECK(ndr_pull_uint32(ndr, &_level)); if (_level != r->in.level) return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u in ctr"); } NDR_CHECK(ndr_pull_srvsvc_NetConnCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.level, &r->out.ctr)); NDR_CHECK(ndr_pull_uint32(ndr, &r->out.total)); NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_resume_handle)); if (_ptr_resume_handle) { NDR_ALLOC(ndr, r->out.resume_handle); } else { r->out.resume_handle = NULL; } if (r->out.resume_handle) { NDR_CHECK(ndr_pull_uint32(ndr, r->out.resume_handle)); } NDR_CHECK(ndr_pull_WERROR(ndr, &r->out.result)); return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_NetFile2(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetFile2 *r) { NDR_CHECK(ndr_pull_struct_start(ndr)); if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_pull_align(ndr, 4)); NDR_CHECK(ndr_pull_uint32(ndr, &r->fid)); ndr_pull_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; done: return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_NetFileCtr2(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetFileCtr2 *r) { uint32 _ptr_array; NDR_CHECK(ndr_pull_struct_start(ndr)); if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_pull_align(ndr, 4)); NDR_CHECK(ndr_pull_uint32(ndr, &r->count)); NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_array)); if (_ptr_array) { NDR_ALLOC(ndr, r->array); } else { r->array = NULL; } ndr_pull_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; if (r->array) { { uint32 _array_size; NDR_CHECK(ndr_pull_uint32(ndr, &_array_size)); if (r->count > _array_size) { return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should be %u", _array_size, r->count); } } NDR_ALLOC_N_SIZE(ndr, r->array, r->count, sizeof(r->array[0])); NDR_CHECK(ndr_pull_array(ndr, NDR_SCALARS|NDR_BUFFERS, (void **)r->array, sizeof(r->array[0]), r->count, (ndr_pull_flags_fn_t)ndr_pull_srvsvc_NetFile2)); } done: return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_NetFile3(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetFile3 *r) { uint32 _ptr_path; uint32 _ptr_user; NDR_CHECK(ndr_pull_struct_start(ndr)); if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_pull_align(ndr, 4)); NDR_CHECK(ndr_pull_uint32(ndr, &r->fid)); NDR_CHECK(ndr_pull_uint32(ndr, &r->permissions)); NDR_CHECK(ndr_pull_uint32(ndr, &r->num_locks)); NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_path)); if (_ptr_path) { NDR_ALLOC(ndr, r->path); } else { r->path = NULL; } NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_user)); if (_ptr_user) { NDR_ALLOC(ndr, r->user); } else { r->user = NULL; } ndr_pull_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; if (r->path) { NDR_CHECK(ndr_pull_unistr(ndr, &r->path)); } if (r->user) { NDR_CHECK(ndr_pull_unistr(ndr, &r->user)); } done: return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_NetFileCtr3(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetFileCtr3 *r) { uint32 _ptr_array; NDR_CHECK(ndr_pull_struct_start(ndr)); if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_pull_align(ndr, 4)); NDR_CHECK(ndr_pull_uint32(ndr, &r->count)); NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_array)); if (_ptr_array) { NDR_ALLOC(ndr, r->array); } else { r->array = NULL; } ndr_pull_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; if (r->array) { { uint32 _array_size; NDR_CHECK(ndr_pull_uint32(ndr, &_array_size)); if (r->count > _array_size) { return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should be %u", _array_size, r->count); } } NDR_ALLOC_N_SIZE(ndr, r->array, r->count, sizeof(r->array[0])); NDR_CHECK(ndr_pull_array(ndr, NDR_SCALARS|NDR_BUFFERS, (void **)r->array, sizeof(r->array[0]), r->count, (ndr_pull_flags_fn_t)ndr_pull_srvsvc_NetFile3)); } done: return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_NetFileCtrDefault(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetFileCtrDefault *r) { NDR_CHECK(ndr_pull_struct_start(ndr)); if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_pull_align(ndr, 1)); ndr_pull_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; done: return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_NetFileCtr(struct ndr_pull *ndr, int ndr_flags, uint16 level, union srvsvc_NetFileCtr *r) { if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_pull_struct_start(ndr)); switch (level) { case 2: { uint32 _ptr_ctr2; NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_ctr2)); if (_ptr_ctr2) { NDR_ALLOC(ndr, r->ctr2); } else { r->ctr2 = NULL; } break; } case 3: { uint32 _ptr_ctr3; NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_ctr3)); if (_ptr_ctr3) { NDR_ALLOC(ndr, r->ctr3); } else { r->ctr3 = NULL; } break; } default: { NDR_CHECK(ndr_pull_srvsvc_NetFileCtrDefault(ndr, NDR_SCALARS, &r->ctrDefault)); break; } } ndr_pull_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; switch (level) { case 2: if (r->ctr2) { NDR_CHECK(ndr_pull_srvsvc_NetFileCtr2(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr2)); } break; case 3: if (r->ctr3) { NDR_CHECK(ndr_pull_srvsvc_NetFileCtr3(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr3)); } break; default: NDR_CHECK(ndr_pull_srvsvc_NetFileCtrDefault(ndr, NDR_BUFFERS, &r->ctrDefault)); break; } done: return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_NetFileEnum(struct ndr_pull *ndr, struct srvsvc_NetFileEnum *r) { uint32 _ptr_resume_handle; NDR_CHECK(ndr_pull_uint32(ndr, &r->out.level)); if ((NDR_SCALARS|NDR_BUFFERS) & NDR_SCALARS) { uint32 _level; NDR_CHECK(ndr_pull_uint32(ndr, &_level)); if (_level != r->in.level) return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u in ctr"); } NDR_CHECK(ndr_pull_srvsvc_NetFileCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.level, &r->out.ctr)); NDR_CHECK(ndr_pull_uint32(ndr, &r->out.total)); NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_resume_handle)); if (_ptr_resume_handle) { NDR_ALLOC(ndr, r->out.resume_handle); } else { r->out.resume_handle = NULL; } if (r->out.resume_handle) { NDR_CHECK(ndr_pull_uint32(ndr, r->out.resume_handle)); } NDR_CHECK(ndr_pull_WERROR(ndr, &r->out.result)); return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_0a(struct ndr_pull *ndr, struct srvsvc_0a *r) { NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result)); return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_NET_FILE_CLOSE(struct ndr_pull *ndr, struct srvsvc_NET_FILE_CLOSE *r) { NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result)); return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_NetSess0(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSess0 *r) { uint32 _ptr_client; NDR_CHECK(ndr_pull_struct_start(ndr)); if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_pull_align(ndr, 4)); NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_client)); if (_ptr_client) { NDR_ALLOC(ndr, r->client); } else { r->client = NULL; } ndr_pull_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; if (r->client) { NDR_CHECK(ndr_pull_unistr(ndr, &r->client)); } done: return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_NetSessCtr0(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSessCtr0 *r) { uint32 _ptr_array; NDR_CHECK(ndr_pull_struct_start(ndr)); if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_pull_align(ndr, 4)); NDR_CHECK(ndr_pull_uint32(ndr, &r->count)); NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_array)); if (_ptr_array) { NDR_ALLOC(ndr, r->array); } else { r->array = NULL; } ndr_pull_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; if (r->array) { { uint32 _array_size; NDR_CHECK(ndr_pull_uint32(ndr, &_array_size)); if (r->count > _array_size) { return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should be %u", _array_size, r->count); } } NDR_ALLOC_N_SIZE(ndr, r->array, r->count, sizeof(r->array[0])); NDR_CHECK(ndr_pull_array(ndr, NDR_SCALARS|NDR_BUFFERS, (void **)r->array, sizeof(r->array[0]), r->count, (ndr_pull_flags_fn_t)ndr_pull_srvsvc_NetSess0)); } done: return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_NetSess1(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSess1 *r) { uint32 _ptr_client; uint32 _ptr_user; NDR_CHECK(ndr_pull_struct_start(ndr)); if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_pull_align(ndr, 4)); NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_client)); if (_ptr_client) { NDR_ALLOC(ndr, r->client); } else { r->client = NULL; } NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_user)); if (_ptr_user) { NDR_ALLOC(ndr, r->user); } else { r->user = NULL; } NDR_CHECK(ndr_pull_uint32(ndr, &r->num_open)); NDR_CHECK(ndr_pull_uint32(ndr, &r->time)); NDR_CHECK(ndr_pull_uint32(ndr, &r->idle_time)); NDR_CHECK(ndr_pull_uint32(ndr, &r->user_flags)); ndr_pull_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; if (r->client) { NDR_CHECK(ndr_pull_unistr(ndr, &r->client)); } if (r->user) { NDR_CHECK(ndr_pull_unistr(ndr, &r->user)); } done: return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_NetSessCtr1(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSessCtr1 *r) { uint32 _ptr_array; NDR_CHECK(ndr_pull_struct_start(ndr)); if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_pull_align(ndr, 4)); NDR_CHECK(ndr_pull_uint32(ndr, &r->count)); NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_array)); if (_ptr_array) { NDR_ALLOC(ndr, r->array); } else { r->array = NULL; } ndr_pull_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; if (r->array) { { uint32 _array_size; NDR_CHECK(ndr_pull_uint32(ndr, &_array_size)); if (r->count > _array_size) { return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should be %u", _array_size, r->count); } } NDR_ALLOC_N_SIZE(ndr, r->array, r->count, sizeof(r->array[0])); NDR_CHECK(ndr_pull_array(ndr, NDR_SCALARS|NDR_BUFFERS, (void **)r->array, sizeof(r->array[0]), r->count, (ndr_pull_flags_fn_t)ndr_pull_srvsvc_NetSess1)); } done: return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_NetSess2(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSess2 *r) { uint32 _ptr_client; uint32 _ptr_user; uint32 _ptr_client_type; NDR_CHECK(ndr_pull_struct_start(ndr)); if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_pull_align(ndr, 4)); NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_client)); if (_ptr_client) { NDR_ALLOC(ndr, r->client); } else { r->client = NULL; } NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_user)); if (_ptr_user) { NDR_ALLOC(ndr, r->user); } else { r->user = NULL; } NDR_CHECK(ndr_pull_uint32(ndr, &r->num_open)); NDR_CHECK(ndr_pull_uint32(ndr, &r->time)); NDR_CHECK(ndr_pull_uint32(ndr, &r->idle_time)); NDR_CHECK(ndr_pull_uint32(ndr, &r->user_flags)); NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_client_type)); if (_ptr_client_type) { NDR_ALLOC(ndr, r->client_type); } else { r->client_type = NULL; } ndr_pull_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; if (r->client) { NDR_CHECK(ndr_pull_unistr(ndr, &r->client)); } if (r->user) { NDR_CHECK(ndr_pull_unistr(ndr, &r->user)); } if (r->client_type) { NDR_CHECK(ndr_pull_unistr(ndr, &r->client_type)); } done: return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_NetSessCtr2(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSessCtr2 *r) { uint32 _ptr_array; NDR_CHECK(ndr_pull_struct_start(ndr)); if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_pull_align(ndr, 4)); NDR_CHECK(ndr_pull_uint32(ndr, &r->count)); NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_array)); if (_ptr_array) { NDR_ALLOC(ndr, r->array); } else { r->array = NULL; } ndr_pull_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; if (r->array) { { uint32 _array_size; NDR_CHECK(ndr_pull_uint32(ndr, &_array_size)); if (r->count > _array_size) { return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should be %u", _array_size, r->count); } } NDR_ALLOC_N_SIZE(ndr, r->array, r->count, sizeof(r->array[0])); NDR_CHECK(ndr_pull_array(ndr, NDR_SCALARS|NDR_BUFFERS, (void **)r->array, sizeof(r->array[0]), r->count, (ndr_pull_flags_fn_t)ndr_pull_srvsvc_NetSess2)); } done: return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_NetSess10(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSess10 *r) { uint32 _ptr_client; uint32 _ptr_user; NDR_CHECK(ndr_pull_struct_start(ndr)); if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_pull_align(ndr, 4)); NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_client)); if (_ptr_client) { NDR_ALLOC(ndr, r->client); } else { r->client = NULL; } NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_user)); if (_ptr_user) { NDR_ALLOC(ndr, r->user); } else { r->user = NULL; } NDR_CHECK(ndr_pull_uint32(ndr, &r->time)); NDR_CHECK(ndr_pull_uint32(ndr, &r->idle_time)); ndr_pull_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; if (r->client) { NDR_CHECK(ndr_pull_unistr(ndr, &r->client)); } if (r->user) { NDR_CHECK(ndr_pull_unistr(ndr, &r->user)); } done: return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_NetSessCtr10(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSessCtr10 *r) { uint32 _ptr_array; NDR_CHECK(ndr_pull_struct_start(ndr)); if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_pull_align(ndr, 4)); NDR_CHECK(ndr_pull_uint32(ndr, &r->count)); NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_array)); if (_ptr_array) { NDR_ALLOC(ndr, r->array); } else { r->array = NULL; } ndr_pull_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; if (r->array) { { uint32 _array_size; NDR_CHECK(ndr_pull_uint32(ndr, &_array_size)); if (r->count > _array_size) { return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should be %u", _array_size, r->count); } } NDR_ALLOC_N_SIZE(ndr, r->array, r->count, sizeof(r->array[0])); NDR_CHECK(ndr_pull_array(ndr, NDR_SCALARS|NDR_BUFFERS, (void **)r->array, sizeof(r->array[0]), r->count, (ndr_pull_flags_fn_t)ndr_pull_srvsvc_NetSess10)); } done: return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_NetSess502(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSess502 *r) { uint32 _ptr_client; uint32 _ptr_user; uint32 _ptr_client_type; uint32 _ptr_transport; NDR_CHECK(ndr_pull_struct_start(ndr)); if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_pull_align(ndr, 4)); NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_client)); if (_ptr_client) { NDR_ALLOC(ndr, r->client); } else { r->client = NULL; } NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_user)); if (_ptr_user) { NDR_ALLOC(ndr, r->user); } else { r->user = NULL; } NDR_CHECK(ndr_pull_uint32(ndr, &r->num_open)); NDR_CHECK(ndr_pull_uint32(ndr, &r->time)); NDR_CHECK(ndr_pull_uint32(ndr, &r->idle_time)); NDR_CHECK(ndr_pull_uint32(ndr, &r->user_flags)); NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_client_type)); if (_ptr_client_type) { NDR_ALLOC(ndr, r->client_type); } else { r->client_type = NULL; } NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_transport)); if (_ptr_transport) { NDR_ALLOC(ndr, r->transport); } else { r->transport = NULL; } ndr_pull_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; if (r->client) { NDR_CHECK(ndr_pull_unistr(ndr, &r->client)); } if (r->user) { NDR_CHECK(ndr_pull_unistr(ndr, &r->user)); } if (r->client_type) { NDR_CHECK(ndr_pull_unistr(ndr, &r->client_type)); } if (r->transport) { NDR_CHECK(ndr_pull_unistr(ndr, &r->transport)); } done: return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_NetSessCtr502(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSessCtr502 *r) { uint32 _ptr_array; NDR_CHECK(ndr_pull_struct_start(ndr)); if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_pull_align(ndr, 4)); NDR_CHECK(ndr_pull_uint32(ndr, &r->count)); NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_array)); if (_ptr_array) { NDR_ALLOC(ndr, r->array); } else { r->array = NULL; } ndr_pull_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; if (r->array) { { uint32 _array_size; NDR_CHECK(ndr_pull_uint32(ndr, &_array_size)); if (r->count > _array_size) { return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should be %u", _array_size, r->count); } } NDR_ALLOC_N_SIZE(ndr, r->array, r->count, sizeof(r->array[0])); NDR_CHECK(ndr_pull_array(ndr, NDR_SCALARS|NDR_BUFFERS, (void **)r->array, sizeof(r->array[0]), r->count, (ndr_pull_flags_fn_t)ndr_pull_srvsvc_NetSess502)); } done: return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_NetSessCtrDefault(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSessCtrDefault *r) { NDR_CHECK(ndr_pull_struct_start(ndr)); if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_pull_align(ndr, 1)); ndr_pull_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; done: return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_NetSessCtr(struct ndr_pull *ndr, int ndr_flags, uint16 level, union srvsvc_NetSessCtr *r) { if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_pull_struct_start(ndr)); switch (level) { case 0: { uint32 _ptr_ctr0; NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_ctr0)); if (_ptr_ctr0) { NDR_ALLOC(ndr, r->ctr0); } else { r->ctr0 = NULL; } break; } case 1: { uint32 _ptr_ctr1; NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_ctr1)); if (_ptr_ctr1) { NDR_ALLOC(ndr, r->ctr1); } else { r->ctr1 = NULL; } break; } case 2: { uint32 _ptr_ctr2; NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_ctr2)); if (_ptr_ctr2) { NDR_ALLOC(ndr, r->ctr2); } else { r->ctr2 = NULL; } break; } case 10: { uint32 _ptr_ctr10; NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_ctr10)); if (_ptr_ctr10) { NDR_ALLOC(ndr, r->ctr10); } else { r->ctr10 = NULL; } break; } case 502: { uint32 _ptr_ctr502; NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_ctr502)); if (_ptr_ctr502) { NDR_ALLOC(ndr, r->ctr502); } else { r->ctr502 = NULL; } break; } default: { NDR_CHECK(ndr_pull_srvsvc_NetSessCtrDefault(ndr, NDR_SCALARS, &r->ctrDefault)); break; } } ndr_pull_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; switch (level) { case 0: if (r->ctr0) { NDR_CHECK(ndr_pull_srvsvc_NetSessCtr0(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr0)); } break; case 1: if (r->ctr1) { NDR_CHECK(ndr_pull_srvsvc_NetSessCtr1(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1)); } break; case 2: if (r->ctr2) { NDR_CHECK(ndr_pull_srvsvc_NetSessCtr2(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr2)); } break; case 10: if (r->ctr10) { NDR_CHECK(ndr_pull_srvsvc_NetSessCtr10(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr10)); } break; case 502: if (r->ctr502) { NDR_CHECK(ndr_pull_srvsvc_NetSessCtr502(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr502)); } break; default: NDR_CHECK(ndr_pull_srvsvc_NetSessCtrDefault(ndr, NDR_BUFFERS, &r->ctrDefault)); break; } done: return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_NetSessEnum(struct ndr_pull *ndr, struct srvsvc_NetSessEnum *r) { uint32 _ptr_resume_handle; NDR_CHECK(ndr_pull_uint32(ndr, &r->out.level)); if ((NDR_SCALARS|NDR_BUFFERS) & NDR_SCALARS) { uint32 _level; NDR_CHECK(ndr_pull_uint32(ndr, &_level)); if (_level != r->in.level) return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u in ctr"); } NDR_CHECK(ndr_pull_srvsvc_NetSessCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.level, &r->out.ctr)); NDR_CHECK(ndr_pull_uint32(ndr, &r->out.total)); NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_resume_handle)); if (_ptr_resume_handle) { NDR_ALLOC(ndr, r->out.resume_handle); } else { r->out.resume_handle = NULL; } if (r->out.resume_handle) { NDR_CHECK(ndr_pull_uint32(ndr, r->out.resume_handle)); } NDR_CHECK(ndr_pull_WERROR(ndr, &r->out.result)); return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_0d(struct ndr_pull *ndr, struct srvsvc_0d *r) { NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result)); return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_NET_SHARE_ADD(struct ndr_pull *ndr, struct srvsvc_NET_SHARE_ADD *r) { NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result)); return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_NetShare0(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetShare0 *r) { uint32 _ptr_name; NDR_CHECK(ndr_pull_struct_start(ndr)); if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_pull_align(ndr, 4)); NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_name)); if (_ptr_name) { NDR_ALLOC(ndr, r->name); } else { r->name = NULL; } ndr_pull_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; if (r->name) { NDR_CHECK(ndr_pull_unistr(ndr, &r->name)); } done: return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_NetShareCtr0(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetShareCtr0 *r) { uint32 _ptr_array; NDR_CHECK(ndr_pull_struct_start(ndr)); if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_pull_align(ndr, 4)); NDR_CHECK(ndr_pull_uint32(ndr, &r->count)); NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_array)); if (_ptr_array) { NDR_ALLOC(ndr, r->array); } else { r->array = NULL; } ndr_pull_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; if (r->array) { { uint32 _array_size; NDR_CHECK(ndr_pull_uint32(ndr, &_array_size)); if (r->count > _array_size) { return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should be %u", _array_size, r->count); } } NDR_ALLOC_N_SIZE(ndr, r->array, r->count, sizeof(r->array[0])); NDR_CHECK(ndr_pull_array(ndr, NDR_SCALARS|NDR_BUFFERS, (void **)r->array, sizeof(r->array[0]), r->count, (ndr_pull_flags_fn_t)ndr_pull_srvsvc_NetShare0)); } done: return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_NetShare1(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetShare1 *r) { uint32 _ptr_name; uint32 _ptr_comment; NDR_CHECK(ndr_pull_struct_start(ndr)); if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_pull_align(ndr, 4)); NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_name)); if (_ptr_name) { NDR_ALLOC(ndr, r->name); } else { r->name = NULL; } NDR_CHECK(ndr_pull_uint32(ndr, &r->type)); NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_comment)); if (_ptr_comment) { NDR_ALLOC(ndr, r->comment); } else { r->comment = NULL; } ndr_pull_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; if (r->name) { NDR_CHECK(ndr_pull_unistr(ndr, &r->name)); } if (r->comment) { NDR_CHECK(ndr_pull_unistr(ndr, &r->comment)); } done: return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_NetShareCtr1(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetShareCtr1 *r) { uint32 _ptr_array; NDR_CHECK(ndr_pull_struct_start(ndr)); if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_pull_align(ndr, 4)); NDR_CHECK(ndr_pull_uint32(ndr, &r->count)); NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_array)); if (_ptr_array) { NDR_ALLOC(ndr, r->array); } else { r->array = NULL; } ndr_pull_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; if (r->array) { { uint32 _array_size; NDR_CHECK(ndr_pull_uint32(ndr, &_array_size)); if (r->count > _array_size) { return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should be %u", _array_size, r->count); } } NDR_ALLOC_N_SIZE(ndr, r->array, r->count, sizeof(r->array[0])); NDR_CHECK(ndr_pull_array(ndr, NDR_SCALARS|NDR_BUFFERS, (void **)r->array, sizeof(r->array[0]), r->count, (ndr_pull_flags_fn_t)ndr_pull_srvsvc_NetShare1)); } done: return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_NetShare2(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetShare2 *r) { uint32 _ptr_name; uint32 _ptr_comment; uint32 _ptr_path; uint32 _ptr_password; NDR_CHECK(ndr_pull_struct_start(ndr)); if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_pull_align(ndr, 4)); NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_name)); if (_ptr_name) { NDR_ALLOC(ndr, r->name); } else { r->name = NULL; } NDR_CHECK(ndr_pull_uint32(ndr, &r->type)); NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_comment)); if (_ptr_comment) { NDR_ALLOC(ndr, r->comment); } else { r->comment = NULL; } NDR_CHECK(ndr_pull_uint32(ndr, &r->permissions)); NDR_CHECK(ndr_pull_uint32(ndr, &r->max_users)); NDR_CHECK(ndr_pull_uint32(ndr, &r->current_users)); NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_path)); if (_ptr_path) { NDR_ALLOC(ndr, r->path); } else { r->path = NULL; } NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_password)); if (_ptr_password) { NDR_ALLOC(ndr, r->password); } else { r->password = NULL; } ndr_pull_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; if (r->name) { NDR_CHECK(ndr_pull_unistr(ndr, &r->name)); } if (r->comment) { NDR_CHECK(ndr_pull_unistr(ndr, &r->comment)); } if (r->path) { NDR_CHECK(ndr_pull_unistr(ndr, &r->path)); } if (r->password) { NDR_CHECK(ndr_pull_uint32(ndr, r->password)); } done: return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_NetShareCtr2(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetShareCtr2 *r) { uint32 _ptr_array; NDR_CHECK(ndr_pull_struct_start(ndr)); if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_pull_align(ndr, 4)); NDR_CHECK(ndr_pull_uint32(ndr, &r->count)); NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_array)); if (_ptr_array) { NDR_ALLOC(ndr, r->array); } else { r->array = NULL; } ndr_pull_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; if (r->array) { { uint32 _array_size; NDR_CHECK(ndr_pull_uint32(ndr, &_array_size)); if (r->count > _array_size) { return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should be %u", _array_size, r->count); } } NDR_ALLOC_N_SIZE(ndr, r->array, r->count, sizeof(r->array[0])); NDR_CHECK(ndr_pull_array(ndr, NDR_SCALARS|NDR_BUFFERS, (void **)r->array, sizeof(r->array[0]), r->count, (ndr_pull_flags_fn_t)ndr_pull_srvsvc_NetShare2)); } done: return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_NetShare501(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetShare501 *r) { uint32 _ptr_name; uint32 _ptr_comment; NDR_CHECK(ndr_pull_struct_start(ndr)); if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_pull_align(ndr, 4)); NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_name)); if (_ptr_name) { NDR_ALLOC(ndr, r->name); } else { r->name = NULL; } NDR_CHECK(ndr_pull_uint32(ndr, &r->type)); NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_comment)); if (_ptr_comment) { NDR_ALLOC(ndr, r->comment); } else { r->comment = NULL; } NDR_CHECK(ndr_pull_uint32(ndr, &r->csc_policy)); ndr_pull_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; if (r->name) { NDR_CHECK(ndr_pull_unistr(ndr, &r->name)); } if (r->comment) { NDR_CHECK(ndr_pull_unistr(ndr, &r->comment)); } done: return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_NetShareCtr501(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetShareCtr501 *r) { uint32 _ptr_array; NDR_CHECK(ndr_pull_struct_start(ndr)); if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_pull_align(ndr, 4)); NDR_CHECK(ndr_pull_uint32(ndr, &r->count)); NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_array)); if (_ptr_array) { NDR_ALLOC(ndr, r->array); } else { r->array = NULL; } ndr_pull_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; if (r->array) { { uint32 _array_size; NDR_CHECK(ndr_pull_uint32(ndr, &_array_size)); if (r->count > _array_size) { return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should be %u", _array_size, r->count); } } NDR_ALLOC_N_SIZE(ndr, r->array, r->count, sizeof(r->array[0])); NDR_CHECK(ndr_pull_array(ndr, NDR_SCALARS|NDR_BUFFERS, (void **)r->array, sizeof(r->array[0]), r->count, (ndr_pull_flags_fn_t)ndr_pull_srvsvc_NetShare501)); } done: return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_NetShare502(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetShare502 *r) { uint32 _ptr_name; uint32 _ptr_comment; uint32 _ptr_path; uint32 _ptr_password; uint32 _ptr_sd; NDR_CHECK(ndr_pull_struct_start(ndr)); if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_pull_align(ndr, 4)); NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_name)); if (_ptr_name) { NDR_ALLOC(ndr, r->name); } else { r->name = NULL; } NDR_CHECK(ndr_pull_uint32(ndr, &r->type)); NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_comment)); if (_ptr_comment) { NDR_ALLOC(ndr, r->comment); } else { r->comment = NULL; } NDR_CHECK(ndr_pull_uint32(ndr, &r->permissions)); NDR_CHECK(ndr_pull_uint32(ndr, &r->max_users)); NDR_CHECK(ndr_pull_uint32(ndr, &r->current_users)); NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_path)); if (_ptr_path) { NDR_ALLOC(ndr, r->path); } else { r->path = NULL; } NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_password)); if (_ptr_password) { NDR_ALLOC(ndr, r->password); } else { r->password = NULL; } NDR_CHECK(ndr_pull_uint32(ndr, &r->unknown)); NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_sd)); if (_ptr_sd) { NDR_ALLOC(ndr, r->sd); } else { r->sd = NULL; } ndr_pull_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; if (r->name) { NDR_CHECK(ndr_pull_unistr(ndr, &r->name)); } if (r->comment) { NDR_CHECK(ndr_pull_unistr(ndr, &r->comment)); } if (r->path) { NDR_CHECK(ndr_pull_unistr(ndr, &r->path)); } if (r->password) { NDR_CHECK(ndr_pull_uint32(ndr, r->password)); } if (r->sd) { NDR_CHECK(ndr_pull_subcontext_flags_fn(ndr, r->sd, (ndr_pull_flags_fn_t) ndr_pull_security_descriptor)); } done: return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_NetShareCtr502(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetShareCtr502 *r) { uint32 _ptr_array; NDR_CHECK(ndr_pull_struct_start(ndr)); if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_pull_align(ndr, 4)); NDR_CHECK(ndr_pull_uint32(ndr, &r->count)); NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_array)); if (_ptr_array) { NDR_ALLOC(ndr, r->array); } else { r->array = NULL; } ndr_pull_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; if (r->array) { { uint32 _array_size; NDR_CHECK(ndr_pull_uint32(ndr, &_array_size)); if (r->count > _array_size) { return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should be %u", _array_size, r->count); } } NDR_ALLOC_N_SIZE(ndr, r->array, r->count, sizeof(r->array[0])); NDR_CHECK(ndr_pull_array(ndr, NDR_SCALARS|NDR_BUFFERS, (void **)r->array, sizeof(r->array[0]), r->count, (ndr_pull_flags_fn_t)ndr_pull_srvsvc_NetShare502)); } done: return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_NetShareCtrDefault(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetShareCtrDefault *r) { NDR_CHECK(ndr_pull_struct_start(ndr)); if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_pull_align(ndr, 1)); ndr_pull_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; done: return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_NetShareCtr(struct ndr_pull *ndr, int ndr_flags, uint16 level, union srvsvc_NetShareCtr *r) { if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_pull_struct_start(ndr)); switch (level) { case 0: { uint32 _ptr_ctr0; NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_ctr0)); if (_ptr_ctr0) { NDR_ALLOC(ndr, r->ctr0); } else { r->ctr0 = NULL; } break; } case 1: { uint32 _ptr_ctr1; NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_ctr1)); if (_ptr_ctr1) { NDR_ALLOC(ndr, r->ctr1); } else { r->ctr1 = NULL; } break; } case 2: { uint32 _ptr_ctr2; NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_ctr2)); if (_ptr_ctr2) { NDR_ALLOC(ndr, r->ctr2); } else { r->ctr2 = NULL; } break; } case 501: { uint32 _ptr_ctr501; NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_ctr501)); if (_ptr_ctr501) { NDR_ALLOC(ndr, r->ctr501); } else { r->ctr501 = NULL; } break; } case 502: { uint32 _ptr_ctr502; NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_ctr502)); if (_ptr_ctr502) { NDR_ALLOC(ndr, r->ctr502); } else { r->ctr502 = NULL; } break; } default: { NDR_CHECK(ndr_pull_srvsvc_NetShareCtrDefault(ndr, NDR_SCALARS, &r->ctrDefault)); break; } } ndr_pull_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; switch (level) { case 0: if (r->ctr0) { NDR_CHECK(ndr_pull_srvsvc_NetShareCtr0(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr0)); } break; case 1: if (r->ctr1) { NDR_CHECK(ndr_pull_srvsvc_NetShareCtr1(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1)); } break; case 2: if (r->ctr2) { NDR_CHECK(ndr_pull_srvsvc_NetShareCtr2(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr2)); } break; case 501: if (r->ctr501) { NDR_CHECK(ndr_pull_srvsvc_NetShareCtr501(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr501)); } break; case 502: if (r->ctr502) { NDR_CHECK(ndr_pull_srvsvc_NetShareCtr502(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr502)); } break; default: NDR_CHECK(ndr_pull_srvsvc_NetShareCtrDefault(ndr, NDR_BUFFERS, &r->ctrDefault)); break; } done: return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_NetShareEnumAll(struct ndr_pull *ndr, struct srvsvc_NetShareEnumAll *r) { uint32 _ptr_resume_handle; NDR_CHECK(ndr_pull_uint32(ndr, &r->out.level)); if ((NDR_SCALARS|NDR_BUFFERS) & NDR_SCALARS) { uint32 _level; NDR_CHECK(ndr_pull_uint32(ndr, &_level)); if (_level != r->in.level) return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u in ctr"); } NDR_CHECK(ndr_pull_srvsvc_NetShareCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.level, &r->out.ctr)); NDR_CHECK(ndr_pull_uint32(ndr, &r->out.totalentries)); NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_resume_handle)); if (_ptr_resume_handle) { NDR_ALLOC(ndr, r->out.resume_handle); } else { r->out.resume_handle = NULL; } if (r->out.resume_handle) { NDR_CHECK(ndr_pull_uint32(ndr, r->out.resume_handle)); } NDR_CHECK(ndr_pull_WERROR(ndr, &r->out.result)); return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_NET_SHARE_GET_INFO(struct ndr_pull *ndr, struct srvsvc_NET_SHARE_GET_INFO *r) { NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result)); return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_NET_SHARE_SET_INFO(struct ndr_pull *ndr, struct srvsvc_NET_SHARE_SET_INFO *r) { NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result)); return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_NET_SHARE_DEL(struct ndr_pull *ndr, struct srvsvc_NET_SHARE_DEL *r) { NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result)); return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_NET_SHARE_DEL_STICKY(struct ndr_pull *ndr, struct srvsvc_NET_SHARE_DEL_STICKY *r) { NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result)); return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_14(struct ndr_pull *ndr, struct srvsvc_14 *r) { NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result)); return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_NET_SRV_GET_INFO(struct ndr_pull *ndr, struct srvsvc_NET_SRV_GET_INFO *r) { NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result)); return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_NET_SRV_SET_INFO(struct ndr_pull *ndr, struct srvsvc_NET_SRV_SET_INFO *r) { NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result)); return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_NetDisk0(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetDisk0 *r) { uint32 _ptr_disk; NDR_CHECK(ndr_pull_struct_start(ndr)); if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_pull_align(ndr, 4)); NDR_CHECK(ndr_pull_uint32(ndr, &r->unknown)); NDR_CHECK(ndr_pull_uint32(ndr, &r->size)); NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_disk)); if (_ptr_disk) { NDR_ALLOC(ndr, r->disk); } else { r->disk = NULL; } ndr_pull_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; if (r->disk) { { uint32 _array_size; NDR_CHECK(ndr_pull_uint32(ndr, &_array_size)); if (r->size > _array_size) { return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should be %u", _array_size, r->size); } } NDR_ALLOC_N_SIZE(ndr, r->disk, r->size, sizeof(r->disk[0])); NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS|NDR_BUFFERS, r->disk, r->size)); } done: return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_NetDiskCtr0(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetDiskCtr0 *r) { uint32 _ptr_array; NDR_CHECK(ndr_pull_struct_start(ndr)); if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_pull_align(ndr, 4)); NDR_CHECK(ndr_pull_uint32(ndr, &r->count)); NDR_CHECK(ndr_pull_uint32(ndr, &r->unknown1)); NDR_CHECK(ndr_pull_uint32(ndr, &r->unknown2)); NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_array)); if (_ptr_array) { NDR_ALLOC(ndr, r->array); } else { r->array = NULL; } ndr_pull_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; if (r->array) { { uint32 _array_size; NDR_CHECK(ndr_pull_uint32(ndr, &_array_size)); if (r->count > _array_size) { return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should be %u", _array_size, r->count); } } NDR_ALLOC_N_SIZE(ndr, r->array, r->count, sizeof(r->array[0])); NDR_CHECK(ndr_pull_array(ndr, NDR_SCALARS|NDR_BUFFERS, (void **)r->array, sizeof(r->array[0]), r->count, (ndr_pull_flags_fn_t)ndr_pull_srvsvc_NetDisk0)); } done: return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_NetDiskCtr(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetDiskCtr *r) { uint32 _ptr_ctr0; NDR_CHECK(ndr_pull_struct_start(ndr)); if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_pull_align(ndr, 4)); NDR_CHECK(ndr_pull_uint32(ndr, &r->num1)); NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_ctr0)); if (_ptr_ctr0) { NDR_ALLOC(ndr, r->ctr0); } else { r->ctr0 = NULL; } ndr_pull_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; if (r->ctr0) { NDR_CHECK(ndr_pull_srvsvc_NetDiskCtr0(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr0)); } done: return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_NetDiskEnum(struct ndr_pull *ndr, struct srvsvc_NetDiskEnum *r) { uint32 _ptr_resume_handle; NDR_CHECK(ndr_pull_srvsvc_NetDiskCtr(ndr, NDR_SCALARS|NDR_BUFFERS, &r->out.ctr)); NDR_CHECK(ndr_pull_uint32(ndr, &r->out.total)); NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_resume_handle)); if (_ptr_resume_handle) { NDR_ALLOC(ndr, r->out.resume_handle); } else { r->out.resume_handle = NULL; } if (r->out.resume_handle) { NDR_CHECK(ndr_pull_uint32(ndr, r->out.resume_handle)); } NDR_CHECK(ndr_pull_WERROR(ndr, &r->out.result)); return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_18(struct ndr_pull *ndr, struct srvsvc_18 *r) { NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result)); return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_19(struct ndr_pull *ndr, struct srvsvc_19 *r) { NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result)); return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_TransportAddress(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_TransportAddress *r) { uint32 _ptr_addr; NDR_CHECK(ndr_pull_struct_start(ndr)); if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_pull_align(ndr, 4)); NDR_CHECK(ndr_pull_uint32(ndr, &r->count)); NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_addr)); if (_ptr_addr) { NDR_ALLOC(ndr, r->addr); } else { r->addr = NULL; } ndr_pull_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; if (r->addr) { { uint32 _array_size; NDR_CHECK(ndr_pull_uint32(ndr, &_array_size)); if (r->count > _array_size) { return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should be %u", _array_size, r->count); } } NDR_ALLOC_N_SIZE(ndr, r->addr, r->count, sizeof(r->addr[0])); NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS|NDR_BUFFERS, r->addr, r->count)); } done: return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_NetTransport0(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetTransport0 *r) { uint32 _ptr_name; uint32 _ptr_addr; uint32 _ptr_net_addr; NDR_CHECK(ndr_pull_struct_start(ndr)); if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_pull_align(ndr, 4)); NDR_CHECK(ndr_pull_uint32(ndr, &r->vcs)); NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_name)); if (_ptr_name) { NDR_ALLOC(ndr, r->name); } else { r->name = NULL; } NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_addr)); if (_ptr_addr) { NDR_ALLOC(ndr, r->addr); } else { r->addr = NULL; } NDR_CHECK(ndr_pull_uint32(ndr, &r->addr_len)); NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_net_addr)); if (_ptr_net_addr) { NDR_ALLOC(ndr, r->net_addr); } else { r->net_addr = NULL; } ndr_pull_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; if (r->name) { NDR_CHECK(ndr_pull_unistr(ndr, &r->name)); } if (r->addr) { NDR_CHECK(ndr_pull_srvsvc_TransportAddress(ndr, NDR_SCALARS|NDR_BUFFERS, r->addr)); } if (r->net_addr) { NDR_CHECK(ndr_pull_unistr(ndr, &r->net_addr)); } done: return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_NetTransportCtr0(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetTransportCtr0 *r) { uint32 _ptr_array; NDR_CHECK(ndr_pull_struct_start(ndr)); if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_pull_align(ndr, 4)); NDR_CHECK(ndr_pull_uint32(ndr, &r->count)); NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_array)); if (_ptr_array) { NDR_ALLOC(ndr, r->array); } else { r->array = NULL; } ndr_pull_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; if (r->array) { { uint32 _array_size; NDR_CHECK(ndr_pull_uint32(ndr, &_array_size)); if (r->count > _array_size) { return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should be %u", _array_size, r->count); } } NDR_ALLOC_N_SIZE(ndr, r->array, r->count, sizeof(r->array[0])); NDR_CHECK(ndr_pull_array(ndr, NDR_SCALARS|NDR_BUFFERS, (void **)r->array, sizeof(r->array[0]), r->count, (ndr_pull_flags_fn_t)ndr_pull_srvsvc_NetTransport0)); } done: return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_NetTransport1(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetTransport1 *r) { uint32 _ptr_name; uint32 _ptr_addr; uint32 _ptr_net_addr; uint32 _ptr_domain; NDR_CHECK(ndr_pull_struct_start(ndr)); if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_pull_align(ndr, 4)); NDR_CHECK(ndr_pull_uint32(ndr, &r->vcs)); NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_name)); if (_ptr_name) { NDR_ALLOC(ndr, r->name); } else { r->name = NULL; } NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_addr)); if (_ptr_addr) { NDR_ALLOC(ndr, r->addr); } else { r->addr = NULL; } NDR_CHECK(ndr_pull_uint32(ndr, &r->addr_len)); NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_net_addr)); if (_ptr_net_addr) { NDR_ALLOC(ndr, r->net_addr); } else { r->net_addr = NULL; } NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_domain)); if (_ptr_domain) { NDR_ALLOC(ndr, r->domain); } else { r->domain = NULL; } ndr_pull_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; if (r->name) { NDR_CHECK(ndr_pull_unistr(ndr, &r->name)); } if (r->addr) { NDR_CHECK(ndr_pull_srvsvc_TransportAddress(ndr, NDR_SCALARS|NDR_BUFFERS, r->addr)); } if (r->net_addr) { NDR_CHECK(ndr_pull_unistr(ndr, &r->net_addr)); } if (r->domain) { NDR_CHECK(ndr_pull_unistr(ndr, &r->domain)); } done: return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_NetTransportCtr1(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetTransportCtr1 *r) { uint32 _ptr_array; NDR_CHECK(ndr_pull_struct_start(ndr)); if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_pull_align(ndr, 4)); NDR_CHECK(ndr_pull_uint32(ndr, &r->count)); NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_array)); if (_ptr_array) { NDR_ALLOC(ndr, r->array); } else { r->array = NULL; } ndr_pull_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; if (r->array) { { uint32 _array_size; NDR_CHECK(ndr_pull_uint32(ndr, &_array_size)); if (r->count > _array_size) { return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should be %u", _array_size, r->count); } } NDR_ALLOC_N_SIZE(ndr, r->array, r->count, sizeof(r->array[0])); NDR_CHECK(ndr_pull_array(ndr, NDR_SCALARS|NDR_BUFFERS, (void **)r->array, sizeof(r->array[0]), r->count, (ndr_pull_flags_fn_t)ndr_pull_srvsvc_NetTransport1)); } done: return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_NetTransport2(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetTransport2 *r) { NDR_CHECK(ndr_pull_struct_start(ndr)); if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_pull_align(ndr, 4)); NDR_CHECK(ndr_pull_uint32(ndr, &r->dummy)); ndr_pull_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; done: return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_NetTransportCtr2(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetTransportCtr2 *r) { uint32 _ptr_array; NDR_CHECK(ndr_pull_struct_start(ndr)); if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_pull_align(ndr, 4)); NDR_CHECK(ndr_pull_uint32(ndr, &r->count)); NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_array)); if (_ptr_array) { NDR_ALLOC(ndr, r->array); } else { r->array = NULL; } ndr_pull_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; if (r->array) { { uint32 _array_size; NDR_CHECK(ndr_pull_uint32(ndr, &_array_size)); if (r->count > _array_size) { return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should be %u", _array_size, r->count); } } NDR_ALLOC_N_SIZE(ndr, r->array, r->count, sizeof(r->array[0])); NDR_CHECK(ndr_pull_array(ndr, NDR_SCALARS|NDR_BUFFERS, (void **)r->array, sizeof(r->array[0]), r->count, (ndr_pull_flags_fn_t)ndr_pull_srvsvc_NetTransport2)); } done: return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_NetTransportCtrDefault(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetTransportCtrDefault *r) { NDR_CHECK(ndr_pull_struct_start(ndr)); if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_pull_align(ndr, 1)); ndr_pull_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; done: return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_NetTransportCtr(struct ndr_pull *ndr, int ndr_flags, uint16 level, union srvsvc_NetTransportCtr *r) { if (!(ndr_flags & NDR_SCALARS)) goto buffers; NDR_CHECK(ndr_pull_struct_start(ndr)); switch (level) { case 0: { uint32 _ptr_ctr0; NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_ctr0)); if (_ptr_ctr0) { NDR_ALLOC(ndr, r->ctr0); } else { r->ctr0 = NULL; } break; } case 1: { uint32 _ptr_ctr1; NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_ctr1)); if (_ptr_ctr1) { NDR_ALLOC(ndr, r->ctr1); } else { r->ctr1 = NULL; } break; } case 2: { uint32 _ptr_ctr2; NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_ctr2)); if (_ptr_ctr2) { NDR_ALLOC(ndr, r->ctr2); } else { r->ctr2 = NULL; } break; } default: { NDR_CHECK(ndr_pull_srvsvc_NetTransportCtrDefault(ndr, NDR_SCALARS, &r->ctrDefault)); break; } } ndr_pull_struct_end(ndr); buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; switch (level) { case 0: if (r->ctr0) { NDR_CHECK(ndr_pull_srvsvc_NetTransportCtr0(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr0)); } break; case 1: if (r->ctr1) { NDR_CHECK(ndr_pull_srvsvc_NetTransportCtr1(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1)); } break; case 2: if (r->ctr2) { NDR_CHECK(ndr_pull_srvsvc_NetTransportCtr2(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr2)); } break; default: NDR_CHECK(ndr_pull_srvsvc_NetTransportCtrDefault(ndr, NDR_BUFFERS, &r->ctrDefault)); break; } done: return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_NetTransportEnum(struct ndr_pull *ndr, struct srvsvc_NetTransportEnum *r) { uint32 _ptr_resume_handle; NDR_CHECK(ndr_pull_uint32(ndr, &r->out.level)); if ((NDR_SCALARS|NDR_BUFFERS) & NDR_SCALARS) { uint32 _level; NDR_CHECK(ndr_pull_uint32(ndr, &_level)); if (_level != r->in.level) return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u in ctr"); } NDR_CHECK(ndr_pull_srvsvc_NetTransportCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.level, &r->out.ctr)); NDR_CHECK(ndr_pull_uint32(ndr, &r->out.total)); NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_resume_handle)); if (_ptr_resume_handle) { NDR_ALLOC(ndr, r->out.resume_handle); } else { r->out.resume_handle = NULL; } if (r->out.resume_handle) { NDR_CHECK(ndr_pull_uint32(ndr, r->out.resume_handle)); } NDR_CHECK(ndr_pull_WERROR(ndr, &r->out.result)); return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_1b(struct ndr_pull *ndr, struct srvsvc_1b *r) { NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result)); return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_NET_REMOTE_TOD(struct ndr_pull *ndr, struct srvsvc_NET_REMOTE_TOD *r) { NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result)); return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_1d(struct ndr_pull *ndr, struct srvsvc_1d *r) { NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result)); return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_1e(struct ndr_pull *ndr, struct srvsvc_1e *r) { NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result)); return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_1f(struct ndr_pull *ndr, struct srvsvc_1f *r) { NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result)); return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_20(struct ndr_pull *ndr, struct srvsvc_20 *r) { NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result)); return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_NET_NAME_VALIDATE(struct ndr_pull *ndr, struct srvsvc_NET_NAME_VALIDATE *r) { NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result)); return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_22(struct ndr_pull *ndr, struct srvsvc_22 *r) { NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result)); return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_23(struct ndr_pull *ndr, struct srvsvc_23 *r) { NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result)); return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_NetShareEnum(struct ndr_pull *ndr, struct srvsvc_NetShareEnum *r) { uint32 _ptr_resume_handle; NDR_CHECK(ndr_pull_uint32(ndr, &r->out.level)); if ((NDR_SCALARS|NDR_BUFFERS) & NDR_SCALARS) { uint32 _level; NDR_CHECK(ndr_pull_uint32(ndr, &_level)); if (_level != r->in.level) return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u in ctr"); } NDR_CHECK(ndr_pull_srvsvc_NetShareCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.level, &r->out.ctr)); NDR_CHECK(ndr_pull_uint32(ndr, &r->out.totalentries)); NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_resume_handle)); if (_ptr_resume_handle) { NDR_ALLOC(ndr, r->out.resume_handle); } else { r->out.resume_handle = NULL; } if (r->out.resume_handle) { NDR_CHECK(ndr_pull_uint32(ndr, r->out.resume_handle)); } NDR_CHECK(ndr_pull_WERROR(ndr, &r->out.result)); return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_25(struct ndr_pull *ndr, struct srvsvc_25 *r) { NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result)); return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_26(struct ndr_pull *ndr, struct srvsvc_26 *r) { NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result)); return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_NET_FILE_QUERY_SECDESC(struct ndr_pull *ndr, struct srvsvc_NET_FILE_QUERY_SECDESC *r) { NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result)); return NT_STATUS_OK; } NTSTATUS ndr_pull_srvsvc_NET_FILE_SET_SECDESC(struct ndr_pull *ndr, struct srvsvc_NET_FILE_SET_SECDESC *r) { NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result)); return NT_STATUS_OK; } void ndr_print_srvsvc_00(struct ndr_print *ndr, const char *name, int flags, struct srvsvc_00 *r) { ndr_print_struct(ndr, name, "srvsvc_00"); ndr->depth++; if (flags & NDR_IN) { ndr_print_struct(ndr, "in", "srvsvc_00"); ndr->depth++; ndr->depth--; } if (flags & NDR_OUT) { ndr_print_struct(ndr, "out", "srvsvc_00"); ndr->depth++; ndr_print_NTSTATUS(ndr, "result", &r->out.result); ndr->depth--; } ndr->depth--; } void ndr_print_srvsvc_01(struct ndr_print *ndr, const char *name, int flags, struct srvsvc_01 *r) { ndr_print_struct(ndr, name, "srvsvc_01"); ndr->depth++; if (flags & NDR_IN) { ndr_print_struct(ndr, "in", "srvsvc_01"); ndr->depth++; ndr->depth--; } if (flags & NDR_OUT) { ndr_print_struct(ndr, "out", "srvsvc_01"); ndr->depth++; ndr_print_NTSTATUS(ndr, "result", &r->out.result); ndr->depth--; } ndr->depth--; } void ndr_print_srvsvc_02(struct ndr_print *ndr, const char *name, int flags, struct srvsvc_02 *r) { ndr_print_struct(ndr, name, "srvsvc_02"); ndr->depth++; if (flags & NDR_IN) { ndr_print_struct(ndr, "in", "srvsvc_02"); ndr->depth++; ndr->depth--; } if (flags & NDR_OUT) { ndr_print_struct(ndr, "out", "srvsvc_02"); ndr->depth++; ndr_print_NTSTATUS(ndr, "result", &r->out.result); ndr->depth--; } ndr->depth--; } void ndr_print_srvsvc_03(struct ndr_print *ndr, const char *name, int flags, struct srvsvc_03 *r) { ndr_print_struct(ndr, name, "srvsvc_03"); ndr->depth++; if (flags & NDR_IN) { ndr_print_struct(ndr, "in", "srvsvc_03"); ndr->depth++; ndr->depth--; } if (flags & NDR_OUT) { ndr_print_struct(ndr, "out", "srvsvc_03"); ndr->depth++; ndr_print_NTSTATUS(ndr, "result", &r->out.result); ndr->depth--; } ndr->depth--; } void ndr_print_srvsvc_04(struct ndr_print *ndr, const char *name, int flags, struct srvsvc_04 *r) { ndr_print_struct(ndr, name, "srvsvc_04"); ndr->depth++; if (flags & NDR_IN) { ndr_print_struct(ndr, "in", "srvsvc_04"); ndr->depth++; ndr->depth--; } if (flags & NDR_OUT) { ndr_print_struct(ndr, "out", "srvsvc_04"); ndr->depth++; ndr_print_NTSTATUS(ndr, "result", &r->out.result); ndr->depth--; } ndr->depth--; } void ndr_print_srvsvc_05(struct ndr_print *ndr, const char *name, int flags, struct srvsvc_05 *r) { ndr_print_struct(ndr, name, "srvsvc_05"); ndr->depth++; if (flags & NDR_IN) { ndr_print_struct(ndr, "in", "srvsvc_05"); ndr->depth++; ndr->depth--; } if (flags & NDR_OUT) { ndr_print_struct(ndr, "out", "srvsvc_05"); ndr->depth++; ndr_print_NTSTATUS(ndr, "result", &r->out.result); ndr->depth--; } ndr->depth--; } void ndr_print_srvsvc_06(struct ndr_print *ndr, const char *name, int flags, struct srvsvc_06 *r) { ndr_print_struct(ndr, name, "srvsvc_06"); ndr->depth++; if (flags & NDR_IN) { ndr_print_struct(ndr, "in", "srvsvc_06"); ndr->depth++; ndr->depth--; } if (flags & NDR_OUT) { ndr_print_struct(ndr, "out", "srvsvc_06"); ndr->depth++; ndr_print_NTSTATUS(ndr, "result", &r->out.result); ndr->depth--; } ndr->depth--; } void ndr_print_srvsvc_07(struct ndr_print *ndr, const char *name, int flags, struct srvsvc_07 *r) { ndr_print_struct(ndr, name, "srvsvc_07"); ndr->depth++; if (flags & NDR_IN) { ndr_print_struct(ndr, "in", "srvsvc_07"); ndr->depth++; ndr->depth--; } if (flags & NDR_OUT) { ndr_print_struct(ndr, "out", "srvsvc_07"); ndr->depth++; ndr_print_NTSTATUS(ndr, "result", &r->out.result); ndr->depth--; } ndr->depth--; } void ndr_print_srvsvc_NetConn0(struct ndr_print *ndr, const char *name, struct srvsvc_NetConn0 *r) { ndr_print_struct(ndr, name, "srvsvc_NetConn0"); ndr->depth++; ndr_print_uint32(ndr, "conn_id", r->conn_id); ndr->depth--; } void ndr_print_srvsvc_NetConnCtr0(struct ndr_print *ndr, const char *name, struct srvsvc_NetConnCtr0 *r) { ndr_print_struct(ndr, name, "srvsvc_NetConnCtr0"); ndr->depth++; ndr_print_uint32(ndr, "count", r->count); ndr_print_ptr(ndr, "array", r->array); ndr->depth++; if (r->array) { ndr_print_array(ndr, "array", r->array, sizeof(r->array[0]), r->count, (ndr_print_fn_t)ndr_print_srvsvc_NetConn0); } ndr->depth--; ndr->depth--; } void ndr_print_srvsvc_NetConn1(struct ndr_print *ndr, const char *name, struct srvsvc_NetConn1 *r) { ndr_print_struct(ndr, name, "srvsvc_NetConn1"); ndr->depth++; ndr_print_uint32(ndr, "conn_id", r->conn_id); ndr_print_uint32(ndr, "conn_type", r->conn_type); ndr_print_uint32(ndr, "num_open", r->num_open); ndr_print_uint32(ndr, "num_users", r->num_users); ndr_print_uint32(ndr, "conn_time", r->conn_time); ndr_print_ptr(ndr, "user", r->user); ndr->depth++; if (r->user) { ndr_print_unistr(ndr, "user", r->user); } ndr->depth--; ndr_print_ptr(ndr, "client", r->client); ndr->depth++; if (r->client) { ndr_print_unistr(ndr, "client", r->client); } ndr->depth--; ndr->depth--; } void ndr_print_srvsvc_NetConnCtr1(struct ndr_print *ndr, const char *name, struct srvsvc_NetConnCtr1 *r) { ndr_print_struct(ndr, name, "srvsvc_NetConnCtr1"); ndr->depth++; ndr_print_uint32(ndr, "count", r->count); ndr_print_ptr(ndr, "array", r->array); ndr->depth++; if (r->array) { ndr_print_array(ndr, "array", r->array, sizeof(r->array[0]), r->count, (ndr_print_fn_t)ndr_print_srvsvc_NetConn1); } ndr->depth--; ndr->depth--; } void ndr_print_srvsvc_NetConnCtrDefault(struct ndr_print *ndr, const char *name, struct srvsvc_NetConnCtrDefault *r) { ndr_print_struct(ndr, name, "srvsvc_NetConnCtrDefault"); ndr->depth++; ndr->depth--; } void ndr_print_srvsvc_NetConnCtr(struct ndr_print *ndr, const char *name, uint16 level, union srvsvc_NetConnCtr *r) { ndr_print_union(ndr, name, level, "srvsvc_NetConnCtr"); switch (level) { case 0: ndr_print_ptr(ndr, "ctr0", r->ctr0); ndr->depth++; if (r->ctr0) { ndr_print_srvsvc_NetConnCtr0(ndr, "ctr0", r->ctr0); } ndr->depth--; break; case 1: ndr_print_ptr(ndr, "ctr1", r->ctr1); ndr->depth++; if (r->ctr1) { ndr_print_srvsvc_NetConnCtr1(ndr, "ctr1", r->ctr1); } ndr->depth--; break; default: ndr_print_srvsvc_NetConnCtrDefault(ndr, "ctrDefault", &r->ctrDefault); break; } } void ndr_print_srvsvc_NetConnEnum(struct ndr_print *ndr, const char *name, int flags, struct srvsvc_NetConnEnum *r) { ndr_print_struct(ndr, name, "srvsvc_NetConnEnum"); ndr->depth++; if (flags & NDR_IN) { ndr_print_struct(ndr, "in", "srvsvc_NetConnEnum"); ndr->depth++; ndr_print_ptr(ndr, "server_unc", r->in.server_unc); ndr->depth++; if (r->in.server_unc) { ndr_print_unistr(ndr, "server_unc", r->in.server_unc); } ndr->depth--; ndr_print_ptr(ndr, "path", r->in.path); ndr->depth++; if (r->in.path) { ndr_print_unistr(ndr, "path", r->in.path); } ndr->depth--; ndr_print_uint32(ndr, "level", r->in.level); ndr_print_srvsvc_NetConnCtr(ndr, "ctr", r->in.level, &r->in.ctr); ndr_print_uint32(ndr, "preferred_len", r->in.preferred_len); ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle); ndr->depth++; if (r->in.resume_handle) { ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle); } ndr->depth--; ndr->depth--; } if (flags & NDR_OUT) { ndr_print_struct(ndr, "out", "srvsvc_NetConnEnum"); ndr->depth++; ndr_print_uint32(ndr, "level", r->out.level); ndr_print_srvsvc_NetConnCtr(ndr, "ctr", r->in.level, &r->out.ctr); ndr_print_uint32(ndr, "total", r->out.total); ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle); ndr->depth++; if (r->out.resume_handle) { ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle); } ndr->depth--; ndr_print_WERROR(ndr, "result", &r->out.result); ndr->depth--; } ndr->depth--; } void ndr_print_srvsvc_NetFile2(struct ndr_print *ndr, const char *name, struct srvsvc_NetFile2 *r) { ndr_print_struct(ndr, name, "srvsvc_NetFile2"); ndr->depth++; ndr_print_uint32(ndr, "fid", r->fid); ndr->depth--; } void ndr_print_srvsvc_NetFileCtr2(struct ndr_print *ndr, const char *name, struct srvsvc_NetFileCtr2 *r) { ndr_print_struct(ndr, name, "srvsvc_NetFileCtr2"); ndr->depth++; ndr_print_uint32(ndr, "count", r->count); ndr_print_ptr(ndr, "array", r->array); ndr->depth++; if (r->array) { ndr_print_array(ndr, "array", r->array, sizeof(r->array[0]), r->count, (ndr_print_fn_t)ndr_print_srvsvc_NetFile2); } ndr->depth--; ndr->depth--; } void ndr_print_srvsvc_NetFile3(struct ndr_print *ndr, const char *name, struct srvsvc_NetFile3 *r) { ndr_print_struct(ndr, name, "srvsvc_NetFile3"); ndr->depth++; ndr_print_uint32(ndr, "fid", r->fid); ndr_print_uint32(ndr, "permissions", r->permissions); ndr_print_uint32(ndr, "num_locks", r->num_locks); ndr_print_ptr(ndr, "path", r->path); ndr->depth++; if (r->path) { ndr_print_unistr(ndr, "path", r->path); } ndr->depth--; ndr_print_ptr(ndr, "user", r->user); ndr->depth++; if (r->user) { ndr_print_unistr(ndr, "user", r->user); } ndr->depth--; ndr->depth--; } void ndr_print_srvsvc_NetFileCtr3(struct ndr_print *ndr, const char *name, struct srvsvc_NetFileCtr3 *r) { ndr_print_struct(ndr, name, "srvsvc_NetFileCtr3"); ndr->depth++; ndr_print_uint32(ndr, "count", r->count); ndr_print_ptr(ndr, "array", r->array); ndr->depth++; if (r->array) { ndr_print_array(ndr, "array", r->array, sizeof(r->array[0]), r->count, (ndr_print_fn_t)ndr_print_srvsvc_NetFile3); } ndr->depth--; ndr->depth--; } void ndr_print_srvsvc_NetFileCtrDefault(struct ndr_print *ndr, const char *name, struct srvsvc_NetFileCtrDefault *r) { ndr_print_struct(ndr, name, "srvsvc_NetFileCtrDefault"); ndr->depth++; ndr->depth--; } void ndr_print_srvsvc_NetFileCtr(struct ndr_print *ndr, const char *name, uint16 level, union srvsvc_NetFileCtr *r) { ndr_print_union(ndr, name, level, "srvsvc_NetFileCtr"); switch (level) { case 2: ndr_print_ptr(ndr, "ctr2", r->ctr2); ndr->depth++; if (r->ctr2) { ndr_print_srvsvc_NetFileCtr2(ndr, "ctr2", r->ctr2); } ndr->depth--; break; case 3: ndr_print_ptr(ndr, "ctr3", r->ctr3); ndr->depth++; if (r->ctr3) { ndr_print_srvsvc_NetFileCtr3(ndr, "ctr3", r->ctr3); } ndr->depth--; break; default: ndr_print_srvsvc_NetFileCtrDefault(ndr, "ctrDefault", &r->ctrDefault); break; } } void ndr_print_srvsvc_NetFileEnum(struct ndr_print *ndr, const char *name, int flags, struct srvsvc_NetFileEnum *r) { ndr_print_struct(ndr, name, "srvsvc_NetFileEnum"); ndr->depth++; if (flags & NDR_IN) { ndr_print_struct(ndr, "in", "srvsvc_NetFileEnum"); ndr->depth++; ndr_print_ptr(ndr, "server_unc", r->in.server_unc); ndr->depth++; if (r->in.server_unc) { ndr_print_unistr(ndr, "server_unc", r->in.server_unc); } ndr->depth--; ndr_print_ptr(ndr, "path", r->in.path); ndr->depth++; if (r->in.path) { ndr_print_unistr(ndr, "path", r->in.path); } ndr->depth--; ndr_print_ptr(ndr, "user", r->in.user); ndr->depth++; if (r->in.user) { ndr_print_unistr(ndr, "user", r->in.user); } ndr->depth--; ndr_print_uint32(ndr, "level", r->in.level); ndr_print_srvsvc_NetFileCtr(ndr, "ctr", r->in.level, &r->in.ctr); ndr_print_uint32(ndr, "preferred_len", r->in.preferred_len); ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle); ndr->depth++; if (r->in.resume_handle) { ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle); } ndr->depth--; ndr->depth--; } if (flags & NDR_OUT) { ndr_print_struct(ndr, "out", "srvsvc_NetFileEnum"); ndr->depth++; ndr_print_uint32(ndr, "level", r->out.level); ndr_print_srvsvc_NetFileCtr(ndr, "ctr", r->in.level, &r->out.ctr); ndr_print_uint32(ndr, "total", r->out.total); ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle); ndr->depth++; if (r->out.resume_handle) { ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle); } ndr->depth--; ndr_print_WERROR(ndr, "result", &r->out.result); ndr->depth--; } ndr->depth--; } void ndr_print_srvsvc_0a(struct ndr_print *ndr, const char *name, int flags, struct srvsvc_0a *r) { ndr_print_struct(ndr, name, "srvsvc_0a"); ndr->depth++; if (flags & NDR_IN) { ndr_print_struct(ndr, "in", "srvsvc_0a"); ndr->depth++; ndr->depth--; } if (flags & NDR_OUT) { ndr_print_struct(ndr, "out", "srvsvc_0a"); ndr->depth++; ndr_print_NTSTATUS(ndr, "result", &r->out.result); ndr->depth--; } ndr->depth--; } void ndr_print_srvsvc_NET_FILE_CLOSE(struct ndr_print *ndr, const char *name, int flags, struct srvsvc_NET_FILE_CLOSE *r) { ndr_print_struct(ndr, name, "srvsvc_NET_FILE_CLOSE"); ndr->depth++; if (flags & NDR_IN) { ndr_print_struct(ndr, "in", "srvsvc_NET_FILE_CLOSE"); ndr->depth++; ndr->depth--; } if (flags & NDR_OUT) { ndr_print_struct(ndr, "out", "srvsvc_NET_FILE_CLOSE"); ndr->depth++; ndr_print_NTSTATUS(ndr, "result", &r->out.result); ndr->depth--; } ndr->depth--; } void ndr_print_srvsvc_NetSess0(struct ndr_print *ndr, const char *name, struct srvsvc_NetSess0 *r) { ndr_print_struct(ndr, name, "srvsvc_NetSess0"); ndr->depth++; ndr_print_ptr(ndr, "client", r->client); ndr->depth++; if (r->client) { ndr_print_unistr(ndr, "client", r->client); } ndr->depth--; ndr->depth--; } void ndr_print_srvsvc_NetSessCtr0(struct ndr_print *ndr, const char *name, struct srvsvc_NetSessCtr0 *r) { ndr_print_struct(ndr, name, "srvsvc_NetSessCtr0"); ndr->depth++; ndr_print_uint32(ndr, "count", r->count); ndr_print_ptr(ndr, "array", r->array); ndr->depth++; if (r->array) { ndr_print_array(ndr, "array", r->array, sizeof(r->array[0]), r->count, (ndr_print_fn_t)ndr_print_srvsvc_NetSess0); } ndr->depth--; ndr->depth--; } void ndr_print_srvsvc_NetSess1(struct ndr_print *ndr, const char *name, struct srvsvc_NetSess1 *r) { ndr_print_struct(ndr, name, "srvsvc_NetSess1"); ndr->depth++; ndr_print_ptr(ndr, "client", r->client); ndr->depth++; if (r->client) { ndr_print_unistr(ndr, "client", r->client); } ndr->depth--; ndr_print_ptr(ndr, "user", r->user); ndr->depth++; if (r->user) { ndr_print_unistr(ndr, "user", r->user); } ndr->depth--; ndr_print_uint32(ndr, "num_open", r->num_open); ndr_print_uint32(ndr, "time", r->time); ndr_print_uint32(ndr, "idle_time", r->idle_time); ndr_print_uint32(ndr, "user_flags", r->user_flags); ndr->depth--; } void ndr_print_srvsvc_NetSessCtr1(struct ndr_print *ndr, const char *name, struct srvsvc_NetSessCtr1 *r) { ndr_print_struct(ndr, name, "srvsvc_NetSessCtr1"); ndr->depth++; ndr_print_uint32(ndr, "count", r->count); ndr_print_ptr(ndr, "array", r->array); ndr->depth++; if (r->array) { ndr_print_array(ndr, "array", r->array, sizeof(r->array[0]), r->count, (ndr_print_fn_t)ndr_print_srvsvc_NetSess1); } ndr->depth--; ndr->depth--; } void ndr_print_srvsvc_NetSess2(struct ndr_print *ndr, const char *name, struct srvsvc_NetSess2 *r) { ndr_print_struct(ndr, name, "srvsvc_NetSess2"); ndr->depth++; ndr_print_ptr(ndr, "client", r->client); ndr->depth++; if (r->client) { ndr_print_unistr(ndr, "client", r->client); } ndr->depth--; ndr_print_ptr(ndr, "user", r->user); ndr->depth++; if (r->user) { ndr_print_unistr(ndr, "user", r->user); } ndr->depth--; ndr_print_uint32(ndr, "num_open", r->num_open); ndr_print_uint32(ndr, "time", r->time); ndr_print_uint32(ndr, "idle_time", r->idle_time); ndr_print_uint32(ndr, "user_flags", r->user_flags); ndr_print_ptr(ndr, "client_type", r->client_type); ndr->depth++; if (r->client_type) { ndr_print_unistr(ndr, "client_type", r->client_type); } ndr->depth--; ndr->depth--; } void ndr_print_srvsvc_NetSessCtr2(struct ndr_print *ndr, const char *name, struct srvsvc_NetSessCtr2 *r) { ndr_print_struct(ndr, name, "srvsvc_NetSessCtr2"); ndr->depth++; ndr_print_uint32(ndr, "count", r->count); ndr_print_ptr(ndr, "array", r->array); ndr->depth++; if (r->array) { ndr_print_array(ndr, "array", r->array, sizeof(r->array[0]), r->count, (ndr_print_fn_t)ndr_print_srvsvc_NetSess2); } ndr->depth--; ndr->depth--; } void ndr_print_srvsvc_NetSess10(struct ndr_print *ndr, const char *name, struct srvsvc_NetSess10 *r) { ndr_print_struct(ndr, name, "srvsvc_NetSess10"); ndr->depth++; ndr_print_ptr(ndr, "client", r->client); ndr->depth++; if (r->client) { ndr_print_unistr(ndr, "client", r->client); } ndr->depth--; ndr_print_ptr(ndr, "user", r->user); ndr->depth++; if (r->user) { ndr_print_unistr(ndr, "user", r->user); } ndr->depth--; ndr_print_uint32(ndr, "time", r->time); ndr_print_uint32(ndr, "idle_time", r->idle_time); ndr->depth--; } void ndr_print_srvsvc_NetSessCtr10(struct ndr_print *ndr, const char *name, struct srvsvc_NetSessCtr10 *r) { ndr_print_struct(ndr, name, "srvsvc_NetSessCtr10"); ndr->depth++; ndr_print_uint32(ndr, "count", r->count); ndr_print_ptr(ndr, "array", r->array); ndr->depth++; if (r->array) { ndr_print_array(ndr, "array", r->array, sizeof(r->array[0]), r->count, (ndr_print_fn_t)ndr_print_srvsvc_NetSess10); } ndr->depth--; ndr->depth--; } void ndr_print_srvsvc_NetSess502(struct ndr_print *ndr, const char *name, struct srvsvc_NetSess502 *r) { ndr_print_struct(ndr, name, "srvsvc_NetSess502"); ndr->depth++; ndr_print_ptr(ndr, "client", r->client); ndr->depth++; if (r->client) { ndr_print_unistr(ndr, "client", r->client); } ndr->depth--; ndr_print_ptr(ndr, "user", r->user); ndr->depth++; if (r->user) { ndr_print_unistr(ndr, "user", r->user); } ndr->depth--; ndr_print_uint32(ndr, "num_open", r->num_open); ndr_print_uint32(ndr, "time", r->time); ndr_print_uint32(ndr, "idle_time", r->idle_time); ndr_print_uint32(ndr, "user_flags", r->user_flags); ndr_print_ptr(ndr, "client_type", r->client_type); ndr->depth++; if (r->client_type) { ndr_print_unistr(ndr, "client_type", r->client_type); } ndr->depth--; ndr_print_ptr(ndr, "transport", r->transport); ndr->depth++; if (r->transport) { ndr_print_unistr(ndr, "transport", r->transport); } ndr->depth--; ndr->depth--; } void ndr_print_srvsvc_NetSessCtr502(struct ndr_print *ndr, const char *name, struct srvsvc_NetSessCtr502 *r) { ndr_print_struct(ndr, name, "srvsvc_NetSessCtr502"); ndr->depth++; ndr_print_uint32(ndr, "count", r->count); ndr_print_ptr(ndr, "array", r->array); ndr->depth++; if (r->array) { ndr_print_array(ndr, "array", r->array, sizeof(r->array[0]), r->count, (ndr_print_fn_t)ndr_print_srvsvc_NetSess502); } ndr->depth--; ndr->depth--; } void ndr_print_srvsvc_NetSessCtrDefault(struct ndr_print *ndr, const char *name, struct srvsvc_NetSessCtrDefault *r) { ndr_print_struct(ndr, name, "srvsvc_NetSessCtrDefault"); ndr->depth++; ndr->depth--; } void ndr_print_srvsvc_NetSessCtr(struct ndr_print *ndr, const char *name, uint16 level, union srvsvc_NetSessCtr *r) { ndr_print_union(ndr, name, level, "srvsvc_NetSessCtr"); switch (level) { case 0: ndr_print_ptr(ndr, "ctr0", r->ctr0); ndr->depth++; if (r->ctr0) { ndr_print_srvsvc_NetSessCtr0(ndr, "ctr0", r->ctr0); } ndr->depth--; break; case 1: ndr_print_ptr(ndr, "ctr1", r->ctr1); ndr->depth++; if (r->ctr1) { ndr_print_srvsvc_NetSessCtr1(ndr, "ctr1", r->ctr1); } ndr->depth--; break; case 2: ndr_print_ptr(ndr, "ctr2", r->ctr2); ndr->depth++; if (r->ctr2) { ndr_print_srvsvc_NetSessCtr2(ndr, "ctr2", r->ctr2); } ndr->depth--; break; case 10: ndr_print_ptr(ndr, "ctr10", r->ctr10); ndr->depth++; if (r->ctr10) { ndr_print_srvsvc_NetSessCtr10(ndr, "ctr10", r->ctr10); } ndr->depth--; break; case 502: ndr_print_ptr(ndr, "ctr502", r->ctr502); ndr->depth++; if (r->ctr502) { ndr_print_srvsvc_NetSessCtr502(ndr, "ctr502", r->ctr502); } ndr->depth--; break; default: ndr_print_srvsvc_NetSessCtrDefault(ndr, "ctrDefault", &r->ctrDefault); break; } } void ndr_print_srvsvc_NetSessEnum(struct ndr_print *ndr, const char *name, int flags, struct srvsvc_NetSessEnum *r) { ndr_print_struct(ndr, name, "srvsvc_NetSessEnum"); ndr->depth++; if (flags & NDR_IN) { ndr_print_struct(ndr, "in", "srvsvc_NetSessEnum"); ndr->depth++; ndr_print_ptr(ndr, "server_unc", r->in.server_unc); ndr->depth++; if (r->in.server_unc) { ndr_print_unistr(ndr, "server_unc", r->in.server_unc); } ndr->depth--; ndr_print_ptr(ndr, "client", r->in.client); ndr->depth++; if (r->in.client) { ndr_print_unistr(ndr, "client", r->in.client); } ndr->depth--; ndr_print_ptr(ndr, "user", r->in.user); ndr->depth++; if (r->in.user) { ndr_print_unistr(ndr, "user", r->in.user); } ndr->depth--; ndr_print_uint32(ndr, "level", r->in.level); ndr_print_srvsvc_NetSessCtr(ndr, "ctr", r->in.level, &r->in.ctr); ndr_print_uint32(ndr, "preferred_len", r->in.preferred_len); ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle); ndr->depth++; if (r->in.resume_handle) { ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle); } ndr->depth--; ndr->depth--; } if (flags & NDR_OUT) { ndr_print_struct(ndr, "out", "srvsvc_NetSessEnum"); ndr->depth++; ndr_print_uint32(ndr, "level", r->out.level); ndr_print_srvsvc_NetSessCtr(ndr, "ctr", r->in.level, &r->out.ctr); ndr_print_uint32(ndr, "total", r->out.total); ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle); ndr->depth++; if (r->out.resume_handle) { ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle); } ndr->depth--; ndr_print_WERROR(ndr, "result", &r->out.result); ndr->depth--; } ndr->depth--; } void ndr_print_srvsvc_0d(struct ndr_print *ndr, const char *name, int flags, struct srvsvc_0d *r) { ndr_print_struct(ndr, name, "srvsvc_0d"); ndr->depth++; if (flags & NDR_IN) { ndr_print_struct(ndr, "in", "srvsvc_0d"); ndr->depth++; ndr->depth--; } if (flags & NDR_OUT) { ndr_print_struct(ndr, "out", "srvsvc_0d"); ndr->depth++; ndr_print_NTSTATUS(ndr, "result", &r->out.result); ndr->depth--; } ndr->depth--; } void ndr_print_srvsvc_NET_SHARE_ADD(struct ndr_print *ndr, const char *name, int flags, struct srvsvc_NET_SHARE_ADD *r) { ndr_print_struct(ndr, name, "srvsvc_NET_SHARE_ADD"); ndr->depth++; if (flags & NDR_IN) { ndr_print_struct(ndr, "in", "srvsvc_NET_SHARE_ADD"); ndr->depth++; ndr->depth--; } if (flags & NDR_OUT) { ndr_print_struct(ndr, "out", "srvsvc_NET_SHARE_ADD"); ndr->depth++; ndr_print_NTSTATUS(ndr, "result", &r->out.result); ndr->depth--; } ndr->depth--; } void ndr_print_srvsvc_NetShare0(struct ndr_print *ndr, const char *name, struct srvsvc_NetShare0 *r) { ndr_print_struct(ndr, name, "srvsvc_NetShare0"); ndr->depth++; ndr_print_ptr(ndr, "name", r->name); ndr->depth++; if (r->name) { ndr_print_unistr(ndr, "name", r->name); } ndr->depth--; ndr->depth--; } void ndr_print_srvsvc_NetShareCtr0(struct ndr_print *ndr, const char *name, struct srvsvc_NetShareCtr0 *r) { ndr_print_struct(ndr, name, "srvsvc_NetShareCtr0"); ndr->depth++; ndr_print_uint32(ndr, "count", r->count); ndr_print_ptr(ndr, "array", r->array); ndr->depth++; if (r->array) { ndr_print_array(ndr, "array", r->array, sizeof(r->array[0]), r->count, (ndr_print_fn_t)ndr_print_srvsvc_NetShare0); } ndr->depth--; ndr->depth--; } void ndr_print_srvsvc_NetShare1(struct ndr_print *ndr, const char *name, struct srvsvc_NetShare1 *r) { ndr_print_struct(ndr, name, "srvsvc_NetShare1"); ndr->depth++; ndr_print_ptr(ndr, "name", r->name); ndr->depth++; if (r->name) { ndr_print_unistr(ndr, "name", r->name); } ndr->depth--; ndr_print_uint32(ndr, "type", r->type); ndr_print_ptr(ndr, "comment", r->comment); ndr->depth++; if (r->comment) { ndr_print_unistr(ndr, "comment", r->comment); } ndr->depth--; ndr->depth--; } void ndr_print_srvsvc_NetShareCtr1(struct ndr_print *ndr, const char *name, struct srvsvc_NetShareCtr1 *r) { ndr_print_struct(ndr, name, "srvsvc_NetShareCtr1"); ndr->depth++; ndr_print_uint32(ndr, "count", r->count); ndr_print_ptr(ndr, "array", r->array); ndr->depth++; if (r->array) { ndr_print_array(ndr, "array", r->array, sizeof(r->array[0]), r->count, (ndr_print_fn_t)ndr_print_srvsvc_NetShare1); } ndr->depth--; ndr->depth--; } void ndr_print_srvsvc_NetShare2(struct ndr_print *ndr, const char *name, struct srvsvc_NetShare2 *r) { ndr_print_struct(ndr, name, "srvsvc_NetShare2"); ndr->depth++; ndr_print_ptr(ndr, "name", r->name); ndr->depth++; if (r->name) { ndr_print_unistr(ndr, "name", r->name); } ndr->depth--; ndr_print_uint32(ndr, "type", r->type); ndr_print_ptr(ndr, "comment", r->comment); ndr->depth++; if (r->comment) { ndr_print_unistr(ndr, "comment", r->comment); } ndr->depth--; ndr_print_uint32(ndr, "permissions", r->permissions); ndr_print_uint32(ndr, "max_users", r->max_users); ndr_print_uint32(ndr, "current_users", r->current_users); ndr_print_ptr(ndr, "path", r->path); ndr->depth++; if (r->path) { ndr_print_unistr(ndr, "path", r->path); } ndr->depth--; ndr_print_ptr(ndr, "password", r->password); ndr->depth++; if (r->password) { ndr_print_uint32(ndr, "password", *r->password); } ndr->depth--; ndr->depth--; } void ndr_print_srvsvc_NetShareCtr2(struct ndr_print *ndr, const char *name, struct srvsvc_NetShareCtr2 *r) { ndr_print_struct(ndr, name, "srvsvc_NetShareCtr2"); ndr->depth++; ndr_print_uint32(ndr, "count", r->count); ndr_print_ptr(ndr, "array", r->array); ndr->depth++; if (r->array) { ndr_print_array(ndr, "array", r->array, sizeof(r->array[0]), r->count, (ndr_print_fn_t)ndr_print_srvsvc_NetShare2); } ndr->depth--; ndr->depth--; } void ndr_print_srvsvc_NetShare501(struct ndr_print *ndr, const char *name, struct srvsvc_NetShare501 *r) { ndr_print_struct(ndr, name, "srvsvc_NetShare501"); ndr->depth++; ndr_print_ptr(ndr, "name", r->name); ndr->depth++; if (r->name) { ndr_print_unistr(ndr, "name", r->name); } ndr->depth--; ndr_print_uint32(ndr, "type", r->type); ndr_print_ptr(ndr, "comment", r->comment); ndr->depth++; if (r->comment) { ndr_print_unistr(ndr, "comment", r->comment); } ndr->depth--; ndr_print_uint32(ndr, "csc_policy", r->csc_policy); ndr->depth--; } void ndr_print_srvsvc_NetShareCtr501(struct ndr_print *ndr, const char *name, struct srvsvc_NetShareCtr501 *r) { ndr_print_struct(ndr, name, "srvsvc_NetShareCtr501"); ndr->depth++; ndr_print_uint32(ndr, "count", r->count); ndr_print_ptr(ndr, "array", r->array); ndr->depth++; if (r->array) { ndr_print_array(ndr, "array", r->array, sizeof(r->array[0]), r->count, (ndr_print_fn_t)ndr_print_srvsvc_NetShare501); } ndr->depth--; ndr->depth--; } void ndr_print_srvsvc_NetShare502(struct ndr_print *ndr, const char *name, struct srvsvc_NetShare502 *r) { ndr_print_struct(ndr, name, "srvsvc_NetShare502"); ndr->depth++; ndr_print_ptr(ndr, "name", r->name); ndr->depth++; if (r->name) { ndr_print_unistr(ndr, "name", r->name); } ndr->depth--; ndr_print_uint32(ndr, "type", r->type); ndr_print_ptr(ndr, "comment", r->comment); ndr->depth++; if (r->comment) { ndr_print_unistr(ndr, "comment", r->comment); } ndr->depth--; ndr_print_uint32(ndr, "permissions", r->permissions); ndr_print_uint32(ndr, "max_users", r->max_users); ndr_print_uint32(ndr, "current_users", r->current_users); ndr_print_ptr(ndr, "path", r->path); ndr->depth++; if (r->path) { ndr_print_unistr(ndr, "path", r->path); } ndr->depth--; ndr_print_ptr(ndr, "password", r->password); ndr->depth++; if (r->password) { ndr_print_uint32(ndr, "password", *r->password); } ndr->depth--; ndr_print_uint32(ndr, "unknown", r->unknown); ndr_print_ptr(ndr, "sd", r->sd); ndr->depth++; if (r->sd) { ndr_print_security_descriptor(ndr, "sd", r->sd); } ndr->depth--; ndr->depth--; } void ndr_print_srvsvc_NetShareCtr502(struct ndr_print *ndr, const char *name, struct srvsvc_NetShareCtr502 *r) { ndr_print_struct(ndr, name, "srvsvc_NetShareCtr502"); ndr->depth++; ndr_print_uint32(ndr, "count", r->count); ndr_print_ptr(ndr, "array", r->array); ndr->depth++; if (r->array) { ndr_print_array(ndr, "array", r->array, sizeof(r->array[0]), r->count, (ndr_print_fn_t)ndr_print_srvsvc_NetShare502); } ndr->depth--; ndr->depth--; } void ndr_print_srvsvc_NetShareCtrDefault(struct ndr_print *ndr, const char *name, struct srvsvc_NetShareCtrDefault *r) { ndr_print_struct(ndr, name, "srvsvc_NetShareCtrDefault"); ndr->depth++; ndr->depth--; } void ndr_print_srvsvc_NetShareCtr(struct ndr_print *ndr, const char *name, uint16 level, union srvsvc_NetShareCtr *r) { ndr_print_union(ndr, name, level, "srvsvc_NetShareCtr"); switch (level) { case 0: ndr_print_ptr(ndr, "ctr0", r->ctr0); ndr->depth++; if (r->ctr0) { ndr_print_srvsvc_NetShareCtr0(ndr, "ctr0", r->ctr0); } ndr->depth--; break; case 1: ndr_print_ptr(ndr, "ctr1", r->ctr1); ndr->depth++; if (r->ctr1) { ndr_print_srvsvc_NetShareCtr1(ndr, "ctr1", r->ctr1); } ndr->depth--; break; case 2: ndr_print_ptr(ndr, "ctr2", r->ctr2); ndr->depth++; if (r->ctr2) { ndr_print_srvsvc_NetShareCtr2(ndr, "ctr2", r->ctr2); } ndr->depth--; break; case 501: ndr_print_ptr(ndr, "ctr501", r->ctr501); ndr->depth++; if (r->ctr501) { ndr_print_srvsvc_NetShareCtr501(ndr, "ctr501", r->ctr501); } ndr->depth--; break; case 502: ndr_print_ptr(ndr, "ctr502", r->ctr502); ndr->depth++; if (r->ctr502) { ndr_print_srvsvc_NetShareCtr502(ndr, "ctr502", r->ctr502); } ndr->depth--; break; default: ndr_print_srvsvc_NetShareCtrDefault(ndr, "ctrDefault", &r->ctrDefault); break; } } void ndr_print_srvsvc_NetShareEnumAll(struct ndr_print *ndr, const char *name, int flags, struct srvsvc_NetShareEnumAll *r) { ndr_print_struct(ndr, name, "srvsvc_NetShareEnumAll"); ndr->depth++; if (flags & NDR_IN) { ndr_print_struct(ndr, "in", "srvsvc_NetShareEnumAll"); ndr->depth++; ndr_print_ptr(ndr, "server_unc", r->in.server_unc); ndr->depth++; if (r->in.server_unc) { ndr_print_unistr(ndr, "server_unc", r->in.server_unc); } ndr->depth--; ndr_print_uint32(ndr, "level", r->in.level); ndr_print_srvsvc_NetShareCtr(ndr, "ctr", r->in.level, &r->in.ctr); ndr_print_uint32(ndr, "preferred_len", r->in.preferred_len); ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle); ndr->depth++; if (r->in.resume_handle) { ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle); } ndr->depth--; ndr->depth--; } if (flags & NDR_OUT) { ndr_print_struct(ndr, "out", "srvsvc_NetShareEnumAll"); ndr->depth++; ndr_print_uint32(ndr, "level", r->out.level); ndr_print_srvsvc_NetShareCtr(ndr, "ctr", r->in.level, &r->out.ctr); ndr_print_uint32(ndr, "totalentries", r->out.totalentries); ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle); ndr->depth++; if (r->out.resume_handle) { ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle); } ndr->depth--; ndr_print_WERROR(ndr, "result", &r->out.result); ndr->depth--; } ndr->depth--; } void ndr_print_srvsvc_NET_SHARE_GET_INFO(struct ndr_print *ndr, const char *name, int flags, struct srvsvc_NET_SHARE_GET_INFO *r) { ndr_print_struct(ndr, name, "srvsvc_NET_SHARE_GET_INFO"); ndr->depth++; if (flags & NDR_IN) { ndr_print_struct(ndr, "in", "srvsvc_NET_SHARE_GET_INFO"); ndr->depth++; ndr->depth--; } if (flags & NDR_OUT) { ndr_print_struct(ndr, "out", "srvsvc_NET_SHARE_GET_INFO"); ndr->depth++; ndr_print_NTSTATUS(ndr, "result", &r->out.result); ndr->depth--; } ndr->depth--; } void ndr_print_srvsvc_NET_SHARE_SET_INFO(struct ndr_print *ndr, const char *name, int flags, struct srvsvc_NET_SHARE_SET_INFO *r) { ndr_print_struct(ndr, name, "srvsvc_NET_SHARE_SET_INFO"); ndr->depth++; if (flags & NDR_IN) { ndr_print_struct(ndr, "in", "srvsvc_NET_SHARE_SET_INFO"); ndr->depth++; ndr->depth--; } if (flags & NDR_OUT) { ndr_print_struct(ndr, "out", "srvsvc_NET_SHARE_SET_INFO"); ndr->depth++; ndr_print_NTSTATUS(ndr, "result", &r->out.result); ndr->depth--; } ndr->depth--; } void ndr_print_srvsvc_NET_SHARE_DEL(struct ndr_print *ndr, const char *name, int flags, struct srvsvc_NET_SHARE_DEL *r) { ndr_print_struct(ndr, name, "srvsvc_NET_SHARE_DEL"); ndr->depth++; if (flags & NDR_IN) { ndr_print_struct(ndr, "in", "srvsvc_NET_SHARE_DEL"); ndr->depth++; ndr->depth--; } if (flags & NDR_OUT) { ndr_print_struct(ndr, "out", "srvsvc_NET_SHARE_DEL"); ndr->depth++; ndr_print_NTSTATUS(ndr, "result", &r->out.result); ndr->depth--; } ndr->depth--; } void ndr_print_srvsvc_NET_SHARE_DEL_STICKY(struct ndr_print *ndr, const char *name, int flags, struct srvsvc_NET_SHARE_DEL_STICKY *r) { ndr_print_struct(ndr, name, "srvsvc_NET_SHARE_DEL_STICKY"); ndr->depth++; if (flags & NDR_IN) { ndr_print_struct(ndr, "in", "srvsvc_NET_SHARE_DEL_STICKY"); ndr->depth++; ndr->depth--; } if (flags & NDR_OUT) { ndr_print_struct(ndr, "out", "srvsvc_NET_SHARE_DEL_STICKY"); ndr->depth++; ndr_print_NTSTATUS(ndr, "result", &r->out.result); ndr->depth--; } ndr->depth--; } void ndr_print_srvsvc_14(struct ndr_print *ndr, const char *name, int flags, struct srvsvc_14 *r) { ndr_print_struct(ndr, name, "srvsvc_14"); ndr->depth++; if (flags & NDR_IN) { ndr_print_struct(ndr, "in", "srvsvc_14"); ndr->depth++; ndr->depth--; } if (flags & NDR_OUT) { ndr_print_struct(ndr, "out", "srvsvc_14"); ndr->depth++; ndr_print_NTSTATUS(ndr, "result", &r->out.result); ndr->depth--; } ndr->depth--; } void ndr_print_srvsvc_NET_SRV_GET_INFO(struct ndr_print *ndr, const char *name, int flags, struct srvsvc_NET_SRV_GET_INFO *r) { ndr_print_struct(ndr, name, "srvsvc_NET_SRV_GET_INFO"); ndr->depth++; if (flags & NDR_IN) { ndr_print_struct(ndr, "in", "srvsvc_NET_SRV_GET_INFO"); ndr->depth++; ndr->depth--; } if (flags & NDR_OUT) { ndr_print_struct(ndr, "out", "srvsvc_NET_SRV_GET_INFO"); ndr->depth++; ndr_print_NTSTATUS(ndr, "result", &r->out.result); ndr->depth--; } ndr->depth--; } void ndr_print_srvsvc_NET_SRV_SET_INFO(struct ndr_print *ndr, const char *name, int flags, struct srvsvc_NET_SRV_SET_INFO *r) { ndr_print_struct(ndr, name, "srvsvc_NET_SRV_SET_INFO"); ndr->depth++; if (flags & NDR_IN) { ndr_print_struct(ndr, "in", "srvsvc_NET_SRV_SET_INFO"); ndr->depth++; ndr->depth--; } if (flags & NDR_OUT) { ndr_print_struct(ndr, "out", "srvsvc_NET_SRV_SET_INFO"); ndr->depth++; ndr_print_NTSTATUS(ndr, "result", &r->out.result); ndr->depth--; } ndr->depth--; } void ndr_print_srvsvc_NetDisk0(struct ndr_print *ndr, const char *name, struct srvsvc_NetDisk0 *r) { ndr_print_struct(ndr, name, "srvsvc_NetDisk0"); ndr->depth++; ndr_print_uint32(ndr, "unknown", r->unknown); ndr_print_uint32(ndr, "size", r->size); ndr_print_ptr(ndr, "disk", r->disk); ndr->depth++; if (r->disk) { ndr_print_array_uint8(ndr, "disk", r->disk, r->size); } ndr->depth--; ndr->depth--; } void ndr_print_srvsvc_NetDiskCtr0(struct ndr_print *ndr, const char *name, struct srvsvc_NetDiskCtr0 *r) { ndr_print_struct(ndr, name, "srvsvc_NetDiskCtr0"); ndr->depth++; ndr_print_uint32(ndr, "count", r->count); ndr_print_uint32(ndr, "unknown1", r->unknown1); ndr_print_uint32(ndr, "unknown2", r->unknown2); ndr_print_ptr(ndr, "array", r->array); ndr->depth++; if (r->array) { ndr_print_array(ndr, "array", r->array, sizeof(r->array[0]), r->count, (ndr_print_fn_t)ndr_print_srvsvc_NetDisk0); } ndr->depth--; ndr->depth--; } void ndr_print_srvsvc_NetDisk1(struct ndr_print *ndr, const char *name, struct srvsvc_NetDisk1 *r) { ndr_print_struct(ndr, name, "srvsvc_NetDisk1"); ndr->depth++; ndr_print_uint32(ndr, "dummy", r->dummy); ndr->depth--; } void ndr_print_srvsvc_NetDiskCtr1(struct ndr_print *ndr, const char *name, struct srvsvc_NetDiskCtr1 *r) { ndr_print_struct(ndr, name, "srvsvc_NetDiskCtr1"); ndr->depth++; ndr_print_uint32(ndr, "count", r->count); ndr_print_ptr(ndr, "array", r->array); ndr->depth++; if (r->array) { ndr_print_array(ndr, "array", r->array, sizeof(r->array[0]), r->count, (ndr_print_fn_t)ndr_print_srvsvc_NetDisk1); } ndr->depth--; ndr->depth--; } void ndr_print_srvsvc_NetDisk2(struct ndr_print *ndr, const char *name, struct srvsvc_NetDisk2 *r) { ndr_print_struct(ndr, name, "srvsvc_NetDisk2"); ndr->depth++; ndr_print_uint32(ndr, "dummy", r->dummy); ndr->depth--; } void ndr_print_srvsvc_NetDiskCtr2(struct ndr_print *ndr, const char *name, struct srvsvc_NetDiskCtr2 *r) { ndr_print_struct(ndr, name, "srvsvc_NetDiskCtr2"); ndr->depth++; ndr_print_uint32(ndr, "count", r->count); ndr_print_ptr(ndr, "array", r->array); ndr->depth++; if (r->array) { ndr_print_array(ndr, "array", r->array, sizeof(r->array[0]), r->count, (ndr_print_fn_t)ndr_print_srvsvc_NetDisk2); } ndr->depth--; ndr->depth--; } void ndr_print_srvsvc_NetDisk3(struct ndr_print *ndr, const char *name, struct srvsvc_NetDisk3 *r) { ndr_print_struct(ndr, name, "srvsvc_NetDisk3"); ndr->depth++; ndr_print_uint32(ndr, "dummy", r->dummy); ndr->depth--; } void ndr_print_srvsvc_NetDiskCtr3(struct ndr_print *ndr, const char *name, struct srvsvc_NetDiskCtr3 *r) { ndr_print_struct(ndr, name, "srvsvc_NetDiskCtr3"); ndr->depth++; ndr_print_uint32(ndr, "count", r->count); ndr_print_ptr(ndr, "array", r->array); ndr->depth++; if (r->array) { ndr_print_array(ndr, "array", r->array, sizeof(r->array[0]), r->count, (ndr_print_fn_t)ndr_print_srvsvc_NetDisk3); } ndr->depth--; ndr->depth--; } void ndr_print_srvsvc_NetDiskCtrDefault(struct ndr_print *ndr, const char *name, struct srvsvc_NetDiskCtrDefault *r) { ndr_print_struct(ndr, name, "srvsvc_NetDiskCtrDefault"); ndr->depth++; ndr->depth--; } void ndr_print_srvsvc_NetDiskSubCtr(struct ndr_print *ndr, const char *name, uint16 level, union srvsvc_NetDiskSubCtr *r) { ndr_print_union(ndr, name, level, "srvsvc_NetDiskSubCtr"); switch (level) { case 0: ndr_print_srvsvc_NetDiskCtr0(ndr, "ctr0", &r->ctr0); break; case 1: ndr_print_srvsvc_NetDiskCtr1(ndr, "ctr1", &r->ctr1); break; case 2: ndr_print_srvsvc_NetDiskCtr2(ndr, "ctr2", &r->ctr2); break; case 3: ndr_print_srvsvc_NetDiskCtr3(ndr, "ctr3", &r->ctr3); break; default: ndr_print_srvsvc_NetDiskCtrDefault(ndr, "ctrDefault", &r->ctrDefault); break; } } void ndr_print_srvsvc_NetDiskCtr(struct ndr_print *ndr, const char *name, struct srvsvc_NetDiskCtr *r) { ndr_print_struct(ndr, name, "srvsvc_NetDiskCtr"); ndr->depth++; ndr_print_uint32(ndr, "num1", r->num1); ndr_print_ptr(ndr, "ctr0", r->ctr0); ndr->depth++; if (r->ctr0) { ndr_print_srvsvc_NetDiskCtr0(ndr, "ctr0", r->ctr0); } ndr->depth--; ndr->depth--; } void ndr_print_srvsvc_NetDiskEnum(struct ndr_print *ndr, const char *name, int flags, struct srvsvc_NetDiskEnum *r) { ndr_print_struct(ndr, name, "srvsvc_NetDiskEnum"); ndr->depth++; if (flags & NDR_IN) { ndr_print_struct(ndr, "in", "srvsvc_NetDiskEnum"); ndr->depth++; ndr_print_ptr(ndr, "server_unc", r->in.server_unc); ndr->depth++; if (r->in.server_unc) { ndr_print_unistr(ndr, "server_unc", r->in.server_unc); } ndr->depth--; ndr_print_uint32(ndr, "level", r->in.level); ndr_print_uint32(ndr, "unknown1", r->in.unknown1); ndr_print_uint32(ndr, "unknown2", r->in.unknown2); ndr_print_uint32(ndr, "preferred_len", r->in.preferred_len); ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle); ndr->depth++; if (r->in.resume_handle) { ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle); } ndr->depth--; ndr->depth--; } if (flags & NDR_OUT) { ndr_print_struct(ndr, "out", "srvsvc_NetDiskEnum"); ndr->depth++; ndr_print_srvsvc_NetDiskCtr(ndr, "ctr", &r->out.ctr); ndr_print_uint32(ndr, "total", r->out.total); ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle); ndr->depth++; if (r->out.resume_handle) { ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle); } ndr->depth--; ndr_print_WERROR(ndr, "result", &r->out.result); ndr->depth--; } ndr->depth--; } void ndr_print_srvsvc_18(struct ndr_print *ndr, const char *name, int flags, struct srvsvc_18 *r) { ndr_print_struct(ndr, name, "srvsvc_18"); ndr->depth++; if (flags & NDR_IN) { ndr_print_struct(ndr, "in", "srvsvc_18"); ndr->depth++; ndr->depth--; } if (flags & NDR_OUT) { ndr_print_struct(ndr, "out", "srvsvc_18"); ndr->depth++; ndr_print_NTSTATUS(ndr, "result", &r->out.result); ndr->depth--; } ndr->depth--; } void ndr_print_srvsvc_19(struct ndr_print *ndr, const char *name, int flags, struct srvsvc_19 *r) { ndr_print_struct(ndr, name, "srvsvc_19"); ndr->depth++; if (flags & NDR_IN) { ndr_print_struct(ndr, "in", "srvsvc_19"); ndr->depth++; ndr->depth--; } if (flags & NDR_OUT) { ndr_print_struct(ndr, "out", "srvsvc_19"); ndr->depth++; ndr_print_NTSTATUS(ndr, "result", &r->out.result); ndr->depth--; } ndr->depth--; } void ndr_print_srvsvc_TransportAddress(struct ndr_print *ndr, const char *name, struct srvsvc_TransportAddress *r) { ndr_print_struct(ndr, name, "srvsvc_TransportAddress"); ndr->depth++; ndr_print_uint32(ndr, "count", r->count); ndr_print_ptr(ndr, "addr", r->addr); ndr->depth++; if (r->addr) { ndr_print_array_uint8(ndr, "addr", r->addr, r->count); } ndr->depth--; ndr->depth--; } void ndr_print_srvsvc_NetTransport0(struct ndr_print *ndr, const char *name, struct srvsvc_NetTransport0 *r) { ndr_print_struct(ndr, name, "srvsvc_NetTransport0"); ndr->depth++; ndr_print_uint32(ndr, "vcs", r->vcs); ndr_print_ptr(ndr, "name", r->name); ndr->depth++; if (r->name) { ndr_print_unistr(ndr, "name", r->name); } ndr->depth--; ndr_print_ptr(ndr, "addr", r->addr); ndr->depth++; if (r->addr) { ndr_print_srvsvc_TransportAddress(ndr, "addr", r->addr); } ndr->depth--; ndr_print_uint32(ndr, "addr_len", r->addr_len); ndr_print_ptr(ndr, "net_addr", r->net_addr); ndr->depth++; if (r->net_addr) { ndr_print_unistr(ndr, "net_addr", r->net_addr); } ndr->depth--; ndr->depth--; } void ndr_print_srvsvc_NetTransportCtr0(struct ndr_print *ndr, const char *name, struct srvsvc_NetTransportCtr0 *r) { ndr_print_struct(ndr, name, "srvsvc_NetTransportCtr0"); ndr->depth++; ndr_print_uint32(ndr, "count", r->count); ndr_print_ptr(ndr, "array", r->array); ndr->depth++; if (r->array) { ndr_print_array(ndr, "array", r->array, sizeof(r->array[0]), r->count, (ndr_print_fn_t)ndr_print_srvsvc_NetTransport0); } ndr->depth--; ndr->depth--; } void ndr_print_srvsvc_NetTransport1(struct ndr_print *ndr, const char *name, struct srvsvc_NetTransport1 *r) { ndr_print_struct(ndr, name, "srvsvc_NetTransport1"); ndr->depth++; ndr_print_uint32(ndr, "vcs", r->vcs); ndr_print_ptr(ndr, "name", r->name); ndr->depth++; if (r->name) { ndr_print_unistr(ndr, "name", r->name); } ndr->depth--; ndr_print_ptr(ndr, "addr", r->addr); ndr->depth++; if (r->addr) { ndr_print_srvsvc_TransportAddress(ndr, "addr", r->addr); } ndr->depth--; ndr_print_uint32(ndr, "addr_len", r->addr_len); ndr_print_ptr(ndr, "net_addr", r->net_addr); ndr->depth++; if (r->net_addr) { ndr_print_unistr(ndr, "net_addr", r->net_addr); } ndr->depth--; ndr_print_ptr(ndr, "domain", r->domain); ndr->depth++; if (r->domain) { ndr_print_unistr(ndr, "domain", r->domain); } ndr->depth--; ndr->depth--; } void ndr_print_srvsvc_NetTransportCtr1(struct ndr_print *ndr, const char *name, struct srvsvc_NetTransportCtr1 *r) { ndr_print_struct(ndr, name, "srvsvc_NetTransportCtr1"); ndr->depth++; ndr_print_uint32(ndr, "count", r->count); ndr_print_ptr(ndr, "array", r->array); ndr->depth++; if (r->array) { ndr_print_array(ndr, "array", r->array, sizeof(r->array[0]), r->count, (ndr_print_fn_t)ndr_print_srvsvc_NetTransport1); } ndr->depth--; ndr->depth--; } void ndr_print_srvsvc_NetTransport2(struct ndr_print *ndr, const char *name, struct srvsvc_NetTransport2 *r) { ndr_print_struct(ndr, name, "srvsvc_NetTransport2"); ndr->depth++; ndr_print_uint32(ndr, "dummy", r->dummy); ndr->depth--; } void ndr_print_srvsvc_NetTransportCtr2(struct ndr_print *ndr, const char *name, struct srvsvc_NetTransportCtr2 *r) { ndr_print_struct(ndr, name, "srvsvc_NetTransportCtr2"); ndr->depth++; ndr_print_uint32(ndr, "count", r->count); ndr_print_ptr(ndr, "array", r->array); ndr->depth++; if (r->array) { ndr_print_array(ndr, "array", r->array, sizeof(r->array[0]), r->count, (ndr_print_fn_t)ndr_print_srvsvc_NetTransport2); } ndr->depth--; ndr->depth--; } void ndr_print_srvsvc_NetTransportCtrDefault(struct ndr_print *ndr, const char *name, struct srvsvc_NetTransportCtrDefault *r) { ndr_print_struct(ndr, name, "srvsvc_NetTransportCtrDefault"); ndr->depth++; ndr->depth--; } void ndr_print_srvsvc_NetTransportCtr(struct ndr_print *ndr, const char *name, uint16 level, union srvsvc_NetTransportCtr *r) { ndr_print_union(ndr, name, level, "srvsvc_NetTransportCtr"); switch (level) { case 0: ndr_print_ptr(ndr, "ctr0", r->ctr0); ndr->depth++; if (r->ctr0) { ndr_print_srvsvc_NetTransportCtr0(ndr, "ctr0", r->ctr0); } ndr->depth--; break; case 1: ndr_print_ptr(ndr, "ctr1", r->ctr1); ndr->depth++; if (r->ctr1) { ndr_print_srvsvc_NetTransportCtr1(ndr, "ctr1", r->ctr1); } ndr->depth--; break; case 2: ndr_print_ptr(ndr, "ctr2", r->ctr2); ndr->depth++; if (r->ctr2) { ndr_print_srvsvc_NetTransportCtr2(ndr, "ctr2", r->ctr2); } ndr->depth--; break; default: ndr_print_srvsvc_NetTransportCtrDefault(ndr, "ctrDefault", &r->ctrDefault); break; } } void ndr_print_srvsvc_NetTransportEnum(struct ndr_print *ndr, const char *name, int flags, struct srvsvc_NetTransportEnum *r) { ndr_print_struct(ndr, name, "srvsvc_NetTransportEnum"); ndr->depth++; if (flags & NDR_IN) { ndr_print_struct(ndr, "in", "srvsvc_NetTransportEnum"); ndr->depth++; ndr_print_ptr(ndr, "server_unc", r->in.server_unc); ndr->depth++; if (r->in.server_unc) { ndr_print_unistr(ndr, "server_unc", r->in.server_unc); } ndr->depth--; ndr_print_uint32(ndr, "level", r->in.level); ndr_print_srvsvc_NetTransportCtr(ndr, "ctr", r->in.level, &r->in.ctr); ndr_print_uint32(ndr, "preferred_len", r->in.preferred_len); ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle); ndr->depth++; if (r->in.resume_handle) { ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle); } ndr->depth--; ndr->depth--; } if (flags & NDR_OUT) { ndr_print_struct(ndr, "out", "srvsvc_NetTransportEnum"); ndr->depth++; ndr_print_uint32(ndr, "level", r->out.level); ndr_print_srvsvc_NetTransportCtr(ndr, "ctr", r->in.level, &r->out.ctr); ndr_print_uint32(ndr, "total", r->out.total); ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle); ndr->depth++; if (r->out.resume_handle) { ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle); } ndr->depth--; ndr_print_WERROR(ndr, "result", &r->out.result); ndr->depth--; } ndr->depth--; } void ndr_print_srvsvc_1b(struct ndr_print *ndr, const char *name, int flags, struct srvsvc_1b *r) { ndr_print_struct(ndr, name, "srvsvc_1b"); ndr->depth++; if (flags & NDR_IN) { ndr_print_struct(ndr, "in", "srvsvc_1b"); ndr->depth++; ndr->depth--; } if (flags & NDR_OUT) { ndr_print_struct(ndr, "out", "srvsvc_1b"); ndr->depth++; ndr_print_NTSTATUS(ndr, "result", &r->out.result); ndr->depth--; } ndr->depth--; } void ndr_print_srvsvc_NET_REMOTE_TOD(struct ndr_print *ndr, const char *name, int flags, struct srvsvc_NET_REMOTE_TOD *r) { ndr_print_struct(ndr, name, "srvsvc_NET_REMOTE_TOD"); ndr->depth++; if (flags & NDR_IN) { ndr_print_struct(ndr, "in", "srvsvc_NET_REMOTE_TOD"); ndr->depth++; ndr->depth--; } if (flags & NDR_OUT) { ndr_print_struct(ndr, "out", "srvsvc_NET_REMOTE_TOD"); ndr->depth++; ndr_print_NTSTATUS(ndr, "result", &r->out.result); ndr->depth--; } ndr->depth--; } void ndr_print_srvsvc_1d(struct ndr_print *ndr, const char *name, int flags, struct srvsvc_1d *r) { ndr_print_struct(ndr, name, "srvsvc_1d"); ndr->depth++; if (flags & NDR_IN) { ndr_print_struct(ndr, "in", "srvsvc_1d"); ndr->depth++; ndr->depth--; } if (flags & NDR_OUT) { ndr_print_struct(ndr, "out", "srvsvc_1d"); ndr->depth++; ndr_print_NTSTATUS(ndr, "result", &r->out.result); ndr->depth--; } ndr->depth--; } void ndr_print_srvsvc_1e(struct ndr_print *ndr, const char *name, int flags, struct srvsvc_1e *r) { ndr_print_struct(ndr, name, "srvsvc_1e"); ndr->depth++; if (flags & NDR_IN) { ndr_print_struct(ndr, "in", "srvsvc_1e"); ndr->depth++; ndr->depth--; } if (flags & NDR_OUT) { ndr_print_struct(ndr, "out", "srvsvc_1e"); ndr->depth++; ndr_print_NTSTATUS(ndr, "result", &r->out.result); ndr->depth--; } ndr->depth--; } void ndr_print_srvsvc_1f(struct ndr_print *ndr, const char *name, int flags, struct srvsvc_1f *r) { ndr_print_struct(ndr, name, "srvsvc_1f"); ndr->depth++; if (flags & NDR_IN) { ndr_print_struct(ndr, "in", "srvsvc_1f"); ndr->depth++; ndr->depth--; } if (flags & NDR_OUT) { ndr_print_struct(ndr, "out", "srvsvc_1f"); ndr->depth++; ndr_print_NTSTATUS(ndr, "result", &r->out.result); ndr->depth--; } ndr->depth--; } void ndr_print_srvsvc_20(struct ndr_print *ndr, const char *name, int flags, struct srvsvc_20 *r) { ndr_print_struct(ndr, name, "srvsvc_20"); ndr->depth++; if (flags & NDR_IN) { ndr_print_struct(ndr, "in", "srvsvc_20"); ndr->depth++; ndr->depth--; } if (flags & NDR_OUT) { ndr_print_struct(ndr, "out", "srvsvc_20"); ndr->depth++; ndr_print_NTSTATUS(ndr, "result", &r->out.result); ndr->depth--; } ndr->depth--; } void ndr_print_srvsvc_NET_NAME_VALIDATE(struct ndr_print *ndr, const char *name, int flags, struct srvsvc_NET_NAME_VALIDATE *r) { ndr_print_struct(ndr, name, "srvsvc_NET_NAME_VALIDATE"); ndr->depth++; if (flags & NDR_IN) { ndr_print_struct(ndr, "in", "srvsvc_NET_NAME_VALIDATE"); ndr->depth++; ndr->depth--; } if (flags & NDR_OUT) { ndr_print_struct(ndr, "out", "srvsvc_NET_NAME_VALIDATE"); ndr->depth++; ndr_print_NTSTATUS(ndr, "result", &r->out.result); ndr->depth--; } ndr->depth--; } void ndr_print_srvsvc_22(struct ndr_print *ndr, const char *name, int flags, struct srvsvc_22 *r) { ndr_print_struct(ndr, name, "srvsvc_22"); ndr->depth++; if (flags & NDR_IN) { ndr_print_struct(ndr, "in", "srvsvc_22"); ndr->depth++; ndr->depth--; } if (flags & NDR_OUT) { ndr_print_struct(ndr, "out", "srvsvc_22"); ndr->depth++; ndr_print_NTSTATUS(ndr, "result", &r->out.result); ndr->depth--; } ndr->depth--; } void ndr_print_srvsvc_23(struct ndr_print *ndr, const char *name, int flags, struct srvsvc_23 *r) { ndr_print_struct(ndr, name, "srvsvc_23"); ndr->depth++; if (flags & NDR_IN) { ndr_print_struct(ndr, "in", "srvsvc_23"); ndr->depth++; ndr->depth--; } if (flags & NDR_OUT) { ndr_print_struct(ndr, "out", "srvsvc_23"); ndr->depth++; ndr_print_NTSTATUS(ndr, "result", &r->out.result); ndr->depth--; } ndr->depth--; } void ndr_print_srvsvc_NetShareEnum(struct ndr_print *ndr, const char *name, int flags, struct srvsvc_NetShareEnum *r) { ndr_print_struct(ndr, name, "srvsvc_NetShareEnum"); ndr->depth++; if (flags & NDR_IN) { ndr_print_struct(ndr, "in", "srvsvc_NetShareEnum"); ndr->depth++; ndr_print_ptr(ndr, "server_unc", r->in.server_unc); ndr->depth++; if (r->in.server_unc) { ndr_print_unistr(ndr, "server_unc", r->in.server_unc); } ndr->depth--; ndr_print_uint32(ndr, "level", r->in.level); ndr_print_srvsvc_NetShareCtr(ndr, "ctr", r->in.level, &r->in.ctr); ndr_print_uint32(ndr, "preferred_len", r->in.preferred_len); ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle); ndr->depth++; if (r->in.resume_handle) { ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle); } ndr->depth--; ndr->depth--; } if (flags & NDR_OUT) { ndr_print_struct(ndr, "out", "srvsvc_NetShareEnum"); ndr->depth++; ndr_print_uint32(ndr, "level", r->out.level); ndr_print_srvsvc_NetShareCtr(ndr, "ctr", r->in.level, &r->out.ctr); ndr_print_uint32(ndr, "totalentries", r->out.totalentries); ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle); ndr->depth++; if (r->out.resume_handle) { ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle); } ndr->depth--; ndr_print_WERROR(ndr, "result", &r->out.result); ndr->depth--; } ndr->depth--; } void ndr_print_srvsvc_25(struct ndr_print *ndr, const char *name, int flags, struct srvsvc_25 *r) { ndr_print_struct(ndr, name, "srvsvc_25"); ndr->depth++; if (flags & NDR_IN) { ndr_print_struct(ndr, "in", "srvsvc_25"); ndr->depth++; ndr->depth--; } if (flags & NDR_OUT) { ndr_print_struct(ndr, "out", "srvsvc_25"); ndr->depth++; ndr_print_NTSTATUS(ndr, "result", &r->out.result); ndr->depth--; } ndr->depth--; } void ndr_print_srvsvc_26(struct ndr_print *ndr, const char *name, int flags, struct srvsvc_26 *r) { ndr_print_struct(ndr, name, "srvsvc_26"); ndr->depth++; if (flags & NDR_IN) { ndr_print_struct(ndr, "in", "srvsvc_26"); ndr->depth++; ndr->depth--; } if (flags & NDR_OUT) { ndr_print_struct(ndr, "out", "srvsvc_26"); ndr->depth++; ndr_print_NTSTATUS(ndr, "result", &r->out.result); ndr->depth--; } ndr->depth--; } void ndr_print_srvsvc_NET_FILE_QUERY_SECDESC(struct ndr_print *ndr, const char *name, int flags, struct srvsvc_NET_FILE_QUERY_SECDESC *r) { ndr_print_struct(ndr, name, "srvsvc_NET_FILE_QUERY_SECDESC"); ndr->depth++; if (flags & NDR_IN) { ndr_print_struct(ndr, "in", "srvsvc_NET_FILE_QUERY_SECDESC"); ndr->depth++; ndr->depth--; } if (flags & NDR_OUT) { ndr_print_struct(ndr, "out", "srvsvc_NET_FILE_QUERY_SECDESC"); ndr->depth++; ndr_print_NTSTATUS(ndr, "result", &r->out.result); ndr->depth--; } ndr->depth--; } void ndr_print_srvsvc_NET_FILE_SET_SECDESC(struct ndr_print *ndr, const char *name, int flags, struct srvsvc_NET_FILE_SET_SECDESC *r) { ndr_print_struct(ndr, name, "srvsvc_NET_FILE_SET_SECDESC"); ndr->depth++; if (flags & NDR_IN) { ndr_print_struct(ndr, "in", "srvsvc_NET_FILE_SET_SECDESC"); ndr->depth++; ndr->depth--; } if (flags & NDR_OUT) { ndr_print_struct(ndr, "out", "srvsvc_NET_FILE_SET_SECDESC"); ndr->depth++; ndr_print_NTSTATUS(ndr, "result", &r->out.result); ndr->depth--; } ndr->depth--; }