717421c3b1fc1ea6eefc955e02a5d323acf9f918
[samba.git] / librpc / gen_ndr / ndr_named_pipe_auth.c
1 /* parser auto-generated by pidl */
2
3 #include "includes.h"
4 #include "../librpc/gen_ndr/ndr_named_pipe_auth.h"
5
6 #include "librpc/gen_ndr/ndr_netlogon.h"
7 static enum ndr_err_code ndr_push_named_pipe_auth_req_info(struct ndr_push *ndr, int ndr_flags, const union named_pipe_auth_req_info *r)
8 {
9         if (ndr_flags & NDR_SCALARS) {
10                 int level = ndr_push_get_switch_value(ndr, r);
11                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
12                 switch (level) {
13                         case 0: {
14                         break; }
15
16                         case 1: {
17                                 NDR_CHECK(ndr_push_netr_SamInfo3(ndr, NDR_SCALARS, &r->info1));
18                         break; }
19
20                         default:
21                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
22                 }
23         }
24         if (ndr_flags & NDR_BUFFERS) {
25                 int level = ndr_push_get_switch_value(ndr, r);
26                 switch (level) {
27                         case 0:
28                         break;
29
30                         case 1:
31                                 NDR_CHECK(ndr_push_netr_SamInfo3(ndr, NDR_BUFFERS, &r->info1));
32                         break;
33
34                         default:
35                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
36                 }
37         }
38         return NDR_ERR_SUCCESS;
39 }
40
41 static enum ndr_err_code ndr_pull_named_pipe_auth_req_info(struct ndr_pull *ndr, int ndr_flags, union named_pipe_auth_req_info *r)
42 {
43         int level;
44         uint32_t _level;
45         level = ndr_pull_get_switch_value(ndr, r);
46         if (ndr_flags & NDR_SCALARS) {
47                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
48                 if (_level != level) {
49                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
50                 }
51                 switch (level) {
52                         case 0: {
53                         break; }
54
55                         case 1: {
56                                 NDR_CHECK(ndr_pull_netr_SamInfo3(ndr, NDR_SCALARS, &r->info1));
57                         break; }
58
59                         default:
60                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
61                 }
62         }
63         if (ndr_flags & NDR_BUFFERS) {
64                 switch (level) {
65                         case 0:
66                         break;
67
68                         case 1:
69                                 NDR_CHECK(ndr_pull_netr_SamInfo3(ndr, NDR_BUFFERS, &r->info1));
70                         break;
71
72                         default:
73                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
74                 }
75         }
76         return NDR_ERR_SUCCESS;
77 }
78
79 _PUBLIC_ void ndr_print_named_pipe_auth_req_info(struct ndr_print *ndr, const char *name, const union named_pipe_auth_req_info *r)
80 {
81         int level;
82         level = ndr_print_get_switch_value(ndr, r);
83         ndr_print_union(ndr, name, level, "named_pipe_auth_req_info");
84         switch (level) {
85                 case 0:
86                 break;
87
88                 case 1:
89                         ndr_print_netr_SamInfo3(ndr, "info1", &r->info1);
90                 break;
91
92                 default:
93                         ndr_print_bad_level(ndr, name, level);
94         }
95 }
96
97 _PUBLIC_ enum ndr_err_code ndr_push_named_pipe_auth_req(struct ndr_push *ndr, int ndr_flags, const struct named_pipe_auth_req *r)
98 {
99         if (ndr_flags & NDR_SCALARS) {
100                 NDR_CHECK(ndr_push_align(ndr, 4));
101                 {
102                         uint32_t _flags_save_uint32 = ndr->flags;
103                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
104                         NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_named_pipe_auth_req(r, ndr->iconv_convenience, ndr->flags) - 4));
105                         ndr->flags = _flags_save_uint32;
106                 }
107                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, NAMED_PIPE_AUTH_MAGIC, 4, sizeof(uint8_t), CH_DOS));
108                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level));
109                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->level));
110                 NDR_CHECK(ndr_push_named_pipe_auth_req_info(ndr, NDR_SCALARS, &r->info));
111         }
112         if (ndr_flags & NDR_BUFFERS) {
113                 NDR_CHECK(ndr_push_named_pipe_auth_req_info(ndr, NDR_BUFFERS, &r->info));
114         }
115         return NDR_ERR_SUCCESS;
116 }
117
118 _PUBLIC_ enum ndr_err_code ndr_pull_named_pipe_auth_req(struct ndr_pull *ndr, int ndr_flags, struct named_pipe_auth_req *r)
119 {
120         uint32_t size_magic_0 = 0;
121         if (ndr_flags & NDR_SCALARS) {
122                 NDR_CHECK(ndr_pull_align(ndr, 4));
123                 {
124                         uint32_t _flags_save_uint32 = ndr->flags;
125                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
126                         NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
127                         ndr->flags = _flags_save_uint32;
128                 }
129                 size_magic_0 = 4;
130                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->magic, size_magic_0, sizeof(uint8_t), CH_DOS));
131                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level));
132                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->level));
133                 NDR_CHECK(ndr_pull_named_pipe_auth_req_info(ndr, NDR_SCALARS, &r->info));
134         }
135         if (ndr_flags & NDR_BUFFERS) {
136                 NDR_CHECK(ndr_pull_named_pipe_auth_req_info(ndr, NDR_BUFFERS, &r->info));
137         }
138         return NDR_ERR_SUCCESS;
139 }
140
141 _PUBLIC_ void ndr_print_named_pipe_auth_req(struct ndr_print *ndr, const char *name, const struct named_pipe_auth_req *r)
142 {
143         ndr_print_struct(ndr, name, "named_pipe_auth_req");
144         ndr->depth++;
145         ndr_print_uint32(ndr, "length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_named_pipe_auth_req(r, ndr->iconv_convenience, ndr->flags) - 4:r->length);
146         ndr_print_string(ndr, "magic", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?NAMED_PIPE_AUTH_MAGIC:r->magic);
147         ndr_print_uint32(ndr, "level", r->level);
148         ndr_print_set_switch_value(ndr, &r->info, r->level);
149         ndr_print_named_pipe_auth_req_info(ndr, "info", &r->info);
150         ndr->depth--;
151 }
152
153 _PUBLIC_ size_t ndr_size_named_pipe_auth_req(const struct named_pipe_auth_req *r, struct smb_iconv_convenience *ic, int flags)
154 {
155         return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_named_pipe_auth_req, ic);
156 }
157
158 static enum ndr_err_code ndr_push_named_pipe_auth_rep_info(struct ndr_push *ndr, int ndr_flags, const union named_pipe_auth_rep_info *r)
159 {
160         if (ndr_flags & NDR_SCALARS) {
161                 int level = ndr_push_get_switch_value(ndr, r);
162                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
163                 switch (level) {
164                         case 0: {
165                         break; }
166
167                         case 1: {
168                         break; }
169
170                         default:
171                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
172                 }
173         }
174         if (ndr_flags & NDR_BUFFERS) {
175                 int level = ndr_push_get_switch_value(ndr, r);
176                 switch (level) {
177                         case 0:
178                         break;
179
180                         case 1:
181                         break;
182
183                         default:
184                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
185                 }
186         }
187         return NDR_ERR_SUCCESS;
188 }
189
190 static enum ndr_err_code ndr_pull_named_pipe_auth_rep_info(struct ndr_pull *ndr, int ndr_flags, union named_pipe_auth_rep_info *r)
191 {
192         int level;
193         uint32_t _level;
194         level = ndr_pull_get_switch_value(ndr, r);
195         if (ndr_flags & NDR_SCALARS) {
196                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
197                 if (_level != level) {
198                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
199                 }
200                 switch (level) {
201                         case 0: {
202                         break; }
203
204                         case 1: {
205                         break; }
206
207                         default:
208                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
209                 }
210         }
211         if (ndr_flags & NDR_BUFFERS) {
212                 switch (level) {
213                         case 0:
214                         break;
215
216                         case 1:
217                         break;
218
219                         default:
220                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
221                 }
222         }
223         return NDR_ERR_SUCCESS;
224 }
225
226 _PUBLIC_ void ndr_print_named_pipe_auth_rep_info(struct ndr_print *ndr, const char *name, const union named_pipe_auth_rep_info *r)
227 {
228         int level;
229         level = ndr_print_get_switch_value(ndr, r);
230         ndr_print_union(ndr, name, level, "named_pipe_auth_rep_info");
231         switch (level) {
232                 case 0:
233                 break;
234
235                 case 1:
236                 break;
237
238                 default:
239                         ndr_print_bad_level(ndr, name, level);
240         }
241 }
242
243 _PUBLIC_ enum ndr_err_code ndr_push_named_pipe_auth_rep(struct ndr_push *ndr, int ndr_flags, const struct named_pipe_auth_rep *r)
244 {
245         if (ndr_flags & NDR_SCALARS) {
246                 NDR_CHECK(ndr_push_align(ndr, 4));
247                 {
248                         uint32_t _flags_save_uint32 = ndr->flags;
249                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
250                         NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_named_pipe_auth_rep(r, ndr->iconv_convenience, ndr->flags) - 4));
251                         ndr->flags = _flags_save_uint32;
252                 }
253                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, NAMED_PIPE_AUTH_MAGIC, 4, sizeof(uint8_t), CH_DOS));
254                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level));
255                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->level));
256                 NDR_CHECK(ndr_push_named_pipe_auth_rep_info(ndr, NDR_SCALARS, &r->info));
257                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->status));
258         }
259         if (ndr_flags & NDR_BUFFERS) {
260                 NDR_CHECK(ndr_push_named_pipe_auth_rep_info(ndr, NDR_BUFFERS, &r->info));
261         }
262         return NDR_ERR_SUCCESS;
263 }
264
265 _PUBLIC_ enum ndr_err_code ndr_pull_named_pipe_auth_rep(struct ndr_pull *ndr, int ndr_flags, struct named_pipe_auth_rep *r)
266 {
267         uint32_t size_magic_0 = 0;
268         if (ndr_flags & NDR_SCALARS) {
269                 NDR_CHECK(ndr_pull_align(ndr, 4));
270                 {
271                         uint32_t _flags_save_uint32 = ndr->flags;
272                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
273                         NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
274                         ndr->flags = _flags_save_uint32;
275                 }
276                 size_magic_0 = 4;
277                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->magic, size_magic_0, sizeof(uint8_t), CH_DOS));
278                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level));
279                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->level));
280                 NDR_CHECK(ndr_pull_named_pipe_auth_rep_info(ndr, NDR_SCALARS, &r->info));
281                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->status));
282         }
283         if (ndr_flags & NDR_BUFFERS) {
284                 NDR_CHECK(ndr_pull_named_pipe_auth_rep_info(ndr, NDR_BUFFERS, &r->info));
285         }
286         return NDR_ERR_SUCCESS;
287 }
288
289 _PUBLIC_ void ndr_print_named_pipe_auth_rep(struct ndr_print *ndr, const char *name, const struct named_pipe_auth_rep *r)
290 {
291         ndr_print_struct(ndr, name, "named_pipe_auth_rep");
292         ndr->depth++;
293         ndr_print_uint32(ndr, "length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_named_pipe_auth_rep(r, ndr->iconv_convenience, ndr->flags) - 4:r->length);
294         ndr_print_string(ndr, "magic", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?NAMED_PIPE_AUTH_MAGIC:r->magic);
295         ndr_print_uint32(ndr, "level", r->level);
296         ndr_print_set_switch_value(ndr, &r->info, r->level);
297         ndr_print_named_pipe_auth_rep_info(ndr, "info", &r->info);
298         ndr_print_NTSTATUS(ndr, "status", r->status);
299         ndr->depth--;
300 }
301
302 _PUBLIC_ size_t ndr_size_named_pipe_auth_rep(const struct named_pipe_auth_rep *r, struct smb_iconv_convenience *ic, int flags)
303 {
304         return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_named_pipe_auth_rep, ic);
305 }
306