source: branches/samba-3.2.x/source/librpc/gen_ndr/ndr_initshutdown.c@ 233

Last change on this file since 233 was 133, checked in by Paul Smedley, 18 years ago

Update trunk to 3.2.0pre3

File size: 13.4 KB
Line 
1/* parser auto-generated by pidl */
2
3#include "includes.h"
4#include "librpc/gen_ndr/ndr_initshutdown.h"
5
6static enum ndr_err_code ndr_push_initshutdown_String_sub(struct ndr_push *ndr, int ndr_flags, const struct initshutdown_String_sub *r)
7{
8 if (ndr_flags & NDR_SCALARS) {
9 NDR_CHECK(ndr_push_align(ndr, 4));
10 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen_m_term(r->name)));
11 {
12 uint32_t _flags_save_string = ndr->flags;
13 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_LEN4|LIBNDR_FLAG_STR_NOTERM);
14 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->name));
15 ndr->flags = _flags_save_string;
16 }
17 }
18 if (ndr_flags & NDR_BUFFERS) {
19 }
20 return NDR_ERR_SUCCESS;
21}
22
23static enum ndr_err_code ndr_pull_initshutdown_String_sub(struct ndr_pull *ndr, int ndr_flags, struct initshutdown_String_sub *r)
24{
25 if (ndr_flags & NDR_SCALARS) {
26 NDR_CHECK(ndr_pull_align(ndr, 4));
27 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->name_size));
28 {
29 uint32_t _flags_save_string = ndr->flags;
30 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_LEN4|LIBNDR_FLAG_STR_NOTERM);
31 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->name));
32 ndr->flags = _flags_save_string;
33 }
34 }
35 if (ndr_flags & NDR_BUFFERS) {
36 }
37 return NDR_ERR_SUCCESS;
38}
39
40_PUBLIC_ void ndr_print_initshutdown_String_sub(struct ndr_print *ndr, const char *name, const struct initshutdown_String_sub *r)
41{
42 ndr_print_struct(ndr, name, "initshutdown_String_sub");
43 ndr->depth++;
44 ndr_print_uint32(ndr, "name_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m_term(r->name):r->name_size);
45 ndr_print_string(ndr, "name", r->name);
46 ndr->depth--;
47}
48
49_PUBLIC_ enum ndr_err_code ndr_push_initshutdown_String(struct ndr_push *ndr, int ndr_flags, const struct initshutdown_String *r)
50{
51 if (ndr_flags & NDR_SCALARS) {
52 NDR_CHECK(ndr_push_align(ndr, 4));
53 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, strlen_m(r->name->name) * 2));
54 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, strlen_m_term(r->name->name) * 2));
55 NDR_CHECK(ndr_push_unique_ptr(ndr, r->name));
56 }
57 if (ndr_flags & NDR_BUFFERS) {
58 if (r->name) {
59 NDR_CHECK(ndr_push_initshutdown_String_sub(ndr, NDR_SCALARS, r->name));
60 }
61 }
62 return NDR_ERR_SUCCESS;
63}
64
65_PUBLIC_ enum ndr_err_code ndr_pull_initshutdown_String(struct ndr_pull *ndr, int ndr_flags, struct initshutdown_String *r)
66{
67 uint32_t _ptr_name;
68 TALLOC_CTX *_mem_save_name_0;
69 if (ndr_flags & NDR_SCALARS) {
70 NDR_CHECK(ndr_pull_align(ndr, 4));
71 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->name_len));
72 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->name_size));
73 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
74 if (_ptr_name) {
75 NDR_PULL_ALLOC(ndr, r->name);
76 } else {
77 r->name = NULL;
78 }
79 }
80 if (ndr_flags & NDR_BUFFERS) {
81 if (r->name) {
82 _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
83 NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
84 NDR_CHECK(ndr_pull_initshutdown_String_sub(ndr, NDR_SCALARS, r->name));
85 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
86 }
87 }