/* parser auto-generated by pidl */ #include "includes.h" NTSTATUS ndr_push_echo_AddOne(struct ndr_push *ndr, struct echo_AddOne *r) { NDR_CHECK(ndr_push_uint32(ndr, *r->in.v)); return NT_STATUS_OK; } NTSTATUS ndr_push_echo_EchoData(struct ndr_push *ndr, struct echo_EchoData *r) { NDR_CHECK(ndr_push_uint32(ndr, r->in.len)); if (r->in.in_data) { NDR_CHECK(ndr_push_uint32(ndr, r->in.len)); NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.in_data, r->in.len)); } return NT_STATUS_OK; } NTSTATUS ndr_push_echo_SinkData(struct ndr_push *ndr, struct echo_SinkData *r) { NDR_CHECK(ndr_push_uint32(ndr, r->in.len)); if (r->in.data) { NDR_CHECK(ndr_push_uint32(ndr, r->in.len)); NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.data, r->in.len)); } return NT_STATUS_OK; } NTSTATUS ndr_push_echo_SourceData(struct ndr_push *ndr, struct echo_SourceData *r) { NDR_CHECK(ndr_push_uint32(ndr, r->in.len)); return NT_STATUS_OK; } NTSTATUS ndr_push_TestCall(struct ndr_push *ndr, struct TestCall *r) { NDR_CHECK(ndr_push_ptr(ndr, r->in.s)); if (r->in.s) { NDR_CHECK(ndr_push_unistr(ndr, r->in.s)); } return NT_STATUS_OK; } NTSTATUS ndr_pull_echo_AddOne(struct ndr_pull *ndr, struct echo_AddOne *r) { NDR_CHECK(ndr_pull_uint32(ndr, r->out.v)); return NT_STATUS_OK; } NTSTATUS ndr_pull_echo_EchoData(struct ndr_pull *ndr, struct echo_EchoData *r) { if (r->out.out_data) { { uint32 _array_size; NDR_CHECK(ndr_pull_uint32(ndr, &_array_size)); if (r->in.len > _array_size) { return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should be %u", _array_size, r->in.len); } } NDR_ALLOC_N_SIZE(ndr, r->out.out_data, r->in.len, sizeof(r->out.out_data[0])); NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.out_data, r->in.len)); } return NT_STATUS_OK; } NTSTATUS ndr_pull_echo_SinkData(struct ndr_pull *ndr, struct echo_SinkData *r) { return NT_STATUS_OK; } NTSTATUS ndr_pull_echo_SourceData(struct ndr_pull *ndr, struct echo_SourceData *r) { if (r->out.data) { { uint32 _array_size; NDR_CHECK(ndr_pull_uint32(ndr, &_array_size)); if (r->in.len > _array_size) { return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should be %u", _array_size, r->in.len); } } NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.data, r->in.len)); } return NT_STATUS_OK; } NTSTATUS ndr_pull_TestCall(struct ndr_pull *ndr, struct TestCall *r) { return NT_STATUS_OK; } void ndr_print_echo_AddOne(struct ndr_print *ndr, const char *name, int flags, struct echo_AddOne *r) { ndr_print_struct(ndr, name, "echo_AddOne"); ndr->depth++; if (flags & NDR_IN) { ndr_print_struct(ndr, "in", "echo_AddOne"); ndr->depth++; ndr_print_ptr(ndr, "v", r->in.v); ndr->depth++; ndr_print_uint32(ndr, "v", *r->in.v); ndr->depth--; ndr->depth--; } if (flags & NDR_OUT) { ndr_print_struct(ndr, "out", "echo_AddOne"); ndr->depth++; ndr_print_ptr(ndr, "v", r->out.v); ndr->depth++; ndr_print_uint32(ndr, "v", *r->out.v); ndr->depth--; ndr->depth--; } ndr->depth--; } void ndr_print_echo_EchoData(struct ndr_print *ndr, const char *name, int flags, struct echo_EchoData *r) { ndr_print_struct(ndr, name, "echo_EchoData"); ndr->depth++; if (flags & NDR_IN) { ndr_print_struct(ndr, "in", "echo_EchoData"); ndr->depth++; ndr_print_uint32(ndr, "len", r->in.len); ndr_print_ptr(ndr, "in_data", r->in.in_data); ndr->depth++; ndr_print_array_uint8(ndr, "in_data", r->in.in_data, r->in.len); ndr->depth--; ndr->depth--; } if (flags & NDR_OUT) { ndr_print_struct(ndr, "out", "echo_EchoData"); ndr->depth++; ndr_print_ptr(ndr, "out_data", r->out.out_data); ndr->depth++; ndr_print_array_uint8(ndr, "out_data", r->out.out_data, r->in.len); ndr->depth--; ndr->depth--; } ndr->depth--; } void ndr_print_echo_SinkData(struct ndr_print *ndr, const char *name, int flags, struct echo_SinkData *r) { ndr_print_struct(ndr, name, "echo_SinkData"); ndr->depth++; if (flags & NDR_IN) { ndr_print_struct(ndr, "in", "echo_SinkData"); ndr->depth++; ndr_print_uint32(ndr, "len", r->in.len); ndr_print_ptr(ndr, "data", r->in.data); ndr->depth++; ndr_print_array_uint8(ndr, "data", r->in.data, r->in.len); ndr->depth--; ndr->depth--; } if (flags & NDR_OUT) { ndr_print_struct(ndr, "out", "echo_SinkData"); ndr->depth++; ndr->depth--; } ndr->depth--; } void ndr_print_echo_SourceData(struct ndr_print *ndr, const char *name, int flags, struct echo_SourceData *r) { ndr_print_struct(ndr, name, "echo_SourceData"); ndr->depth++; if (flags & NDR_IN) { ndr_print_struct(ndr, "in", "echo_SourceData"); ndr->depth++; ndr_print_uint32(ndr, "len", r->in.len); ndr->depth--; } if (flags & NDR_OUT) { ndr_print_struct(ndr, "out", "echo_SourceData"); ndr->depth++; ndr_print_ptr(ndr, "data", r->out.data); ndr->depth++; ndr_print_array_uint8(ndr, "data", r->out.data, r->in.len); ndr->depth--; ndr->depth--; } ndr->depth--; } void ndr_print_TestCall(struct ndr_print *ndr, const char *name, int flags, struct TestCall *r) { ndr_print_struct(ndr, name, "TestCall"); ndr->depth++; if (flags & NDR_IN) { ndr_print_struct(ndr, "in", "TestCall"); ndr->depth++; ndr_print_ptr(ndr, "s", r->in.s); ndr->depth++; if (r->in.s) { ndr_print_unistr(ndr, "s", r->in.s); } ndr->depth--; ndr->depth--; } if (flags & NDR_OUT) { ndr_print_struct(ndr, "out", "TestCall"); ndr->depth++; ndr->depth--; } ndr->depth--; }