LDB:TDB backend - change counter variables to "unsigned" where appropriate
[Samba/cd1.git] / librpc / gen_ndr / ndr_named_pipe_auth.c
blob18eadf9237304183e68eb696ada4a874f06e737f
1 /* parser auto-generated by pidl */
3 #include "includes.h"
4 #include "../librpc/gen_ndr/ndr_named_pipe_auth.h"
6 #include "librpc/gen_ndr/ndr_netlogon.h"
7 static enum ndr_err_code ndr_push_named_pipe_auth_req_info2(struct ndr_push *ndr, int ndr_flags, const struct named_pipe_auth_req_info2 *r)
9 if (ndr_flags & NDR_SCALARS) {
10 NDR_CHECK(ndr_push_align(ndr, 5));
11 NDR_CHECK(ndr_push_unique_ptr(ndr, r->client_name));
12 NDR_CHECK(ndr_push_unique_ptr(ndr, r->client_addr));
13 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->client_port));
14 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_name));
15 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_addr));
16 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->server_port));
17 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sam_info3));
18 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->session_key_length));
19 NDR_CHECK(ndr_push_unique_ptr(ndr, r->session_key));
20 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
22 if (ndr_flags & NDR_BUFFERS) {
23 if (r->client_name) {
24 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client_name, CH_UTF8)));
25 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
26 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client_name, CH_UTF8)));
27 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->client_name, ndr_charset_length(r->client_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
29 if (r->client_addr) {
30 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client_addr, CH_DOS)));
31 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
32 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client_addr, CH_DOS)));
33 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->client_addr, ndr_charset_length(r->client_addr, CH_DOS), sizeof(uint8_t), CH_DOS));
35 if (r->server_name) {
36 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_name, CH_UTF8)));
37 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
38 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_name, CH_UTF8)));
39 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_name, ndr_charset_length(r->server_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
41 if (r->server_addr) {
42 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_addr, CH_DOS)));
43 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
44 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_addr, CH_DOS)));
45 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_addr, ndr_charset_length(r->server_addr, CH_DOS), sizeof(uint8_t), CH_DOS));
47 if (r->sam_info3) {
48 NDR_CHECK(ndr_push_netr_SamInfo3(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam_info3));
50 if (r->session_key) {
51 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->session_key_length));
52 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->session_key, r->session_key_length));
55 return NDR_ERR_SUCCESS;
58 static enum ndr_err_code ndr_pull_named_pipe_auth_req_info2(struct ndr_pull *ndr, int ndr_flags, struct named_pipe_auth_req_info2 *r)
60 uint32_t _ptr_client_name;
61 TALLOC_CTX *_mem_save_client_name_0;
62 uint32_t _ptr_client_addr;
63 TALLOC_CTX *_mem_save_client_addr_0;
64 uint32_t _ptr_server_name;
65 TALLOC_CTX *_mem_save_server_name_0;
66 uint32_t _ptr_server_addr;
67 TALLOC_CTX *_mem_save_server_addr_0;
68 uint32_t _ptr_sam_info3;
69 TALLOC_CTX *_mem_save_sam_info3_0;
70 uint32_t _ptr_session_key;
71 TALLOC_CTX *_mem_save_session_key_0;
72 if (ndr_flags & NDR_SCALARS) {
73 NDR_CHECK(ndr_pull_align(ndr, 5));
74 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_name));
75 if (_ptr_client_name) {
76 NDR_PULL_ALLOC(ndr, r->client_name);
77 } else {
78 r->client_name = NULL;
80 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_addr));
81 if (_ptr_client_addr) {
82 NDR_PULL_ALLOC(ndr, r->client_addr);
83 } else {
84 r->client_addr = NULL;
86 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->client_port));
87 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
88 if (_ptr_server_name) {
89 NDR_PULL_ALLOC(ndr, r->server_name);
90 } else {
91 r->server_name = NULL;
93 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_addr));
94 if (_ptr_server_addr) {
95 NDR_PULL_ALLOC(ndr, r->server_addr);
96 } else {
97 r->server_addr = NULL;
99 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->server_port));
100 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam_info3));
101 if (_ptr_sam_info3) {
102 NDR_PULL_ALLOC(ndr, r->sam_info3);
103 } else {
104 r->sam_info3 = NULL;
106 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->session_key_length));
107 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_session_key));
108 if (_ptr_session_key) {
109 NDR_PULL_ALLOC(ndr, r->session_key);
110 } else {
111 r->session_key = NULL;
113 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
115 if (ndr_flags & NDR_BUFFERS) {
116 if (r->client_name) {
117 _mem_save_client_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
118 NDR_PULL_SET_MEM_CTX(ndr, r->client_name, 0);
119 NDR_CHECK(ndr_pull_array_size(ndr, &r->client_name));
120 NDR_CHECK(ndr_pull_array_length(ndr, &r->client_name));
121 if (ndr_get_array_length(ndr, &r->client_name) > ndr_get_array_size(ndr, &r->client_name)) {
122 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->client_name), ndr_get_array_length(ndr, &r->client_name));
124 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->client_name), sizeof(uint8_t)));
125 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->client_name, ndr_get_array_length(ndr, &r->client_name), sizeof(uint8_t), CH_UTF8));
126 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_name_0, 0);
128 if (r->client_addr) {
129 _mem_save_client_addr_0 = NDR_PULL_GET_MEM_CTX(ndr);
130 NDR_PULL_SET_MEM_CTX(ndr, r->client_addr, 0);
131 NDR_CHECK(ndr_pull_array_size(ndr, &r->client_addr));
132 NDR_CHECK(ndr_pull_array_length(ndr, &r->client_addr));
133 if (ndr_get_array_length(ndr, &r->client_addr) > ndr_get_array_size(ndr, &r->client_addr)) {
134 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->client_addr), ndr_get_array_length(ndr, &r->client_addr));
136 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->client_addr), sizeof(uint8_t)));
137 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->client_addr, ndr_get_array_length(ndr, &r->client_addr), sizeof(uint8_t), CH_DOS));
138 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_addr_0, 0);
140 if (r->server_name) {
141 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
142 NDR_PULL_SET_MEM_CTX(ndr, r->server_name, 0);
143 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_name));
144 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_name));
145 if (ndr_get_array_length(ndr, &r->server_name) > ndr_get_array_size(ndr, &r->server_name)) {
146 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->server_name), ndr_get_array_length(ndr, &r->server_name));
148 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_name), sizeof(uint8_t)));
149 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_name, ndr_get_array_length(ndr, &r->server_name), sizeof(uint8_t), CH_UTF8));
150 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
152 if (r->server_addr) {
153 _mem_save_server_addr_0 = NDR_PULL_GET_MEM_CTX(ndr);
154 NDR_PULL_SET_MEM_CTX(ndr, r->server_addr, 0);
155 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_addr));
156 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_addr));
157 if (ndr_get_array_length(ndr, &r->server_addr) > ndr_get_array_size(ndr, &r->server_addr)) {
158 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->server_addr), ndr_get_array_length(ndr, &r->server_addr));
160 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_addr), sizeof(uint8_t)));
161 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_addr, ndr_get_array_length(ndr, &r->server_addr), sizeof(uint8_t), CH_DOS));
162 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_addr_0, 0);
164 if (r->sam_info3) {
165 _mem_save_sam_info3_0 = NDR_PULL_GET_MEM_CTX(ndr);
166 NDR_PULL_SET_MEM_CTX(ndr, r->sam_info3, 0);
167 NDR_CHECK(ndr_pull_netr_SamInfo3(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam_info3));
168 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_info3_0, 0);
170 if (r->session_key) {
171 _mem_save_session_key_0 = NDR_PULL_GET_MEM_CTX(ndr);
172 NDR_PULL_SET_MEM_CTX(ndr, r->session_key, 0);
173 NDR_CHECK(ndr_pull_array_size(ndr, &r->session_key));
174 NDR_PULL_ALLOC_N(ndr, r->session_key, ndr_get_array_size(ndr, &r->session_key));
175 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->session_key, ndr_get_array_size(ndr, &r->session_key)));
176 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_session_key_0, 0);
178 if (r->session_key) {
179 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->session_key, r->session_key_length));
182 return NDR_ERR_SUCCESS;
185 _PUBLIC_ void ndr_print_named_pipe_auth_req_info2(struct ndr_print *ndr, const char *name, const struct named_pipe_auth_req_info2 *r)
187 ndr_print_struct(ndr, name, "named_pipe_auth_req_info2");
188 ndr->depth++;
189 ndr_print_ptr(ndr, "client_name", r->client_name);
190 ndr->depth++;
191 if (r->client_name) {
192 ndr_print_string(ndr, "client_name", r->client_name);
194 ndr->depth--;
195 ndr_print_ptr(ndr, "client_addr", r->client_addr);
196 ndr->depth++;
197 if (r->client_addr) {
198 ndr_print_string(ndr, "client_addr", r->client_addr);
200 ndr->depth--;
201 ndr_print_uint16(ndr, "client_port", r->client_port);
202 ndr_print_ptr(ndr, "server_name", r->server_name);
203 ndr->depth++;
204 if (r->server_name) {
205 ndr_print_string(ndr, "server_name", r->server_name);
207 ndr->depth--;
208 ndr_print_ptr(ndr, "server_addr", r->server_addr);
209 ndr->depth++;
210 if (r->server_addr) {
211 ndr_print_string(ndr, "server_addr", r->server_addr);
213 ndr->depth--;
214 ndr_print_uint16(ndr, "server_port", r->server_port);
215 ndr_print_ptr(ndr, "sam_info3", r->sam_info3);
216 ndr->depth++;
217 if (r->sam_info3) {
218 ndr_print_netr_SamInfo3(ndr, "sam_info3", r->sam_info3);
220 ndr->depth--;
221 ndr_print_uint32(ndr, "session_key_length", r->session_key_length);
222 ndr_print_ptr(ndr, "session_key", r->session_key);
223 ndr->depth++;
224 if (r->session_key) {
225 ndr_print_array_uint8(ndr, "session_key", r->session_key, r->session_key_length);
227 ndr->depth--;
228 ndr->depth--;
231 static enum ndr_err_code ndr_push_named_pipe_auth_req_info3(struct ndr_push *ndr, int ndr_flags, const struct named_pipe_auth_req_info3 *r)
233 if (ndr_flags & NDR_SCALARS) {
234 NDR_CHECK(ndr_push_align(ndr, 5));
235 NDR_CHECK(ndr_push_unique_ptr(ndr, r->client_name));
236 NDR_CHECK(ndr_push_unique_ptr(ndr, r->client_addr));
237 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->client_port));
238 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_name));
239 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_addr));
240 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->server_port));
241 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sam_info3));
242 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->session_key_length));
243 NDR_CHECK(ndr_push_unique_ptr(ndr, r->session_key));
244 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->gssapi_delegated_creds_length));
245 NDR_CHECK(ndr_push_unique_ptr(ndr, r->gssapi_delegated_creds));
246 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
248 if (ndr_flags & NDR_BUFFERS) {
249 if (r->client_name) {
250 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client_name, CH_UTF8)));
251 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
252 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client_name, CH_UTF8)));
253 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->client_name, ndr_charset_length(r->client_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
255 if (r->client_addr) {
256 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client_addr, CH_DOS)));
257 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
258 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client_addr, CH_DOS)));
259 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->client_addr, ndr_charset_length(r->client_addr, CH_DOS), sizeof(uint8_t), CH_DOS));
261 if (r->server_name) {
262 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_name, CH_UTF8)));
263 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
264 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_name, CH_UTF8)));
265 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_name, ndr_charset_length(r->server_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
267 if (r->server_addr) {
268 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_addr, CH_DOS)));
269 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
270 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_addr, CH_DOS)));
271 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_addr, ndr_charset_length(r->server_addr, CH_DOS), sizeof(uint8_t), CH_DOS));
273 if (r->sam_info3) {
274 NDR_CHECK(ndr_push_netr_SamInfo3(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam_info3));
276 if (r->session_key) {
277 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->session_key_length));
278 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->session_key, r->session_key_length));
280 if (r->gssapi_delegated_creds) {
281 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->gssapi_delegated_creds_length));
282 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->gssapi_delegated_creds, r->gssapi_delegated_creds_length));
285 return NDR_ERR_SUCCESS;
288 static enum ndr_err_code ndr_pull_named_pipe_auth_req_info3(struct ndr_pull *ndr, int ndr_flags, struct named_pipe_auth_req_info3 *r)
290 uint32_t _ptr_client_name;
291 TALLOC_CTX *_mem_save_client_name_0;
292 uint32_t _ptr_client_addr;
293 TALLOC_CTX *_mem_save_client_addr_0;
294 uint32_t _ptr_server_name;
295 TALLOC_CTX *_mem_save_server_name_0;
296 uint32_t _ptr_server_addr;
297 TALLOC_CTX *_mem_save_server_addr_0;
298 uint32_t _ptr_sam_info3;
299 TALLOC_CTX *_mem_save_sam_info3_0;
300 uint32_t _ptr_session_key;
301 TALLOC_CTX *_mem_save_session_key_0;
302 uint32_t _ptr_gssapi_delegated_creds;
303 TALLOC_CTX *_mem_save_gssapi_delegated_creds_0;
304 if (ndr_flags & NDR_SCALARS) {
305 NDR_CHECK(ndr_pull_align(ndr, 5));
306 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_name));
307 if (_ptr_client_name) {
308 NDR_PULL_ALLOC(ndr, r->client_name);
309 } else {
310 r->client_name = NULL;
312 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_addr));
313 if (_ptr_client_addr) {
314 NDR_PULL_ALLOC(ndr, r->client_addr);
315 } else {
316 r->client_addr = NULL;
318 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->client_port));
319 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
320 if (_ptr_server_name) {
321 NDR_PULL_ALLOC(ndr, r->server_name);
322 } else {
323 r->server_name = NULL;
325 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_addr));
326 if (_ptr_server_addr) {
327 NDR_PULL_ALLOC(ndr, r->server_addr);
328 } else {
329 r->server_addr = NULL;
331 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->server_port));
332 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam_info3));
333 if (_ptr_sam_info3) {
334 NDR_PULL_ALLOC(ndr, r->sam_info3);
335 } else {
336 r->sam_info3 = NULL;
338 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->session_key_length));
339 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_session_key));
340 if (_ptr_session_key) {
341 NDR_PULL_ALLOC(ndr, r->session_key);
342 } else {
343 r->session_key = NULL;
345 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->gssapi_delegated_creds_length));
346 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_gssapi_delegated_creds));
347 if (_ptr_gssapi_delegated_creds) {
348 NDR_PULL_ALLOC(ndr, r->gssapi_delegated_creds);
349 } else {
350 r->gssapi_delegated_creds = NULL;
352 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
354 if (ndr_flags & NDR_BUFFERS) {
355 if (r->client_name) {
356 _mem_save_client_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
357 NDR_PULL_SET_MEM_CTX(ndr, r->client_name, 0);
358 NDR_CHECK(ndr_pull_array_size(ndr, &r->client_name));
359 NDR_CHECK(ndr_pull_array_length(ndr, &r->client_name));
360 if (ndr_get_array_length(ndr, &r->client_name) > ndr_get_array_size(ndr, &r->client_name)) {
361 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->client_name), ndr_get_array_length(ndr, &r->client_name));
363 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->client_name), sizeof(uint8_t)));
364 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->client_name, ndr_get_array_length(ndr, &r->client_name), sizeof(uint8_t), CH_UTF8));
365 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_name_0, 0);
367 if (r->client_addr) {
368 _mem_save_client_addr_0 = NDR_PULL_GET_MEM_CTX(ndr);
369 NDR_PULL_SET_MEM_CTX(ndr, r->client_addr, 0);
370 NDR_CHECK(ndr_pull_array_size(ndr, &r->client_addr));
371 NDR_CHECK(ndr_pull_array_length(ndr, &r->client_addr));
372 if (ndr_get_array_length(ndr, &r->client_addr) > ndr_get_array_size(ndr, &r->client_addr)) {
373 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->client_addr), ndr_get_array_length(ndr, &r->client_addr));
375 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->client_addr), sizeof(uint8_t)));
376 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->client_addr, ndr_get_array_length(ndr, &r->client_addr), sizeof(uint8_t), CH_DOS));
377 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_addr_0, 0);
379 if (r->server_name) {
380 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
381 NDR_PULL_SET_MEM_CTX(ndr, r->server_name, 0);
382 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_name));
383 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_name));
384 if (ndr_get_array_length(ndr, &r->server_name) > ndr_get_array_size(ndr, &r->server_name)) {
385 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->server_name), ndr_get_array_length(ndr, &r->server_name));
387 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_name), sizeof(uint8_t)));
388 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_name, ndr_get_array_length(ndr, &r->server_name), sizeof(uint8_t), CH_UTF8));
389 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
391 if (r->server_addr) {
392 _mem_save_server_addr_0 = NDR_PULL_GET_MEM_CTX(ndr);
393 NDR_PULL_SET_MEM_CTX(ndr, r->server_addr, 0);
394 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_addr));
395 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_addr));
396 if (ndr_get_array_length(ndr, &r->server_addr) > ndr_get_array_size(ndr, &r->server_addr)) {
397 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->server_addr), ndr_get_array_length(ndr, &r->server_addr));
399 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_addr), sizeof(uint8_t)));
400 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_addr, ndr_get_array_length(ndr, &r->server_addr), sizeof(uint8_t), CH_DOS));
401 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_addr_0, 0);
403 if (r->sam_info3) {
404 _mem_save_sam_info3_0 = NDR_PULL_GET_MEM_CTX(ndr);
405 NDR_PULL_SET_MEM_CTX(ndr, r->sam_info3, 0);
406 NDR_CHECK(ndr_pull_netr_SamInfo3(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam_info3));
407 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_info3_0, 0);
409 if (r->session_key) {
410 _mem_save_session_key_0 = NDR_PULL_GET_MEM_CTX(ndr);
411 NDR_PULL_SET_MEM_CTX(ndr, r->session_key, 0);
412 NDR_CHECK(ndr_pull_array_size(ndr, &r->session_key));
413 NDR_PULL_ALLOC_N(ndr, r->session_key, ndr_get_array_size(ndr, &r->session_key));
414 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->session_key, ndr_get_array_size(ndr, &r->session_key)));
415 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_session_key_0, 0);
417 if (r->gssapi_delegated_creds) {
418 _mem_save_gssapi_delegated_creds_0 = NDR_PULL_GET_MEM_CTX(ndr);
419 NDR_PULL_SET_MEM_CTX(ndr, r->gssapi_delegated_creds, 0);
420 NDR_CHECK(ndr_pull_array_size(ndr, &r->gssapi_delegated_creds));
421 NDR_PULL_ALLOC_N(ndr, r->gssapi_delegated_creds, ndr_get_array_size(ndr, &r->gssapi_delegated_creds));
422 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->gssapi_delegated_creds, ndr_get_array_size(ndr, &r->gssapi_delegated_creds)));
423 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_gssapi_delegated_creds_0, 0);
425 if (r->session_key) {
426 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->session_key, r->session_key_length));
428 if (r->gssapi_delegated_creds) {
429 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->gssapi_delegated_creds, r->gssapi_delegated_creds_length));
432 return NDR_ERR_SUCCESS;
435 _PUBLIC_ void ndr_print_named_pipe_auth_req_info3(struct ndr_print *ndr, const char *name, const struct named_pipe_auth_req_info3 *r)
437 ndr_print_struct(ndr, name, "named_pipe_auth_req_info3");
438 ndr->depth++;
439 ndr_print_ptr(ndr, "client_name", r->client_name);
440 ndr->depth++;
441 if (r->client_name) {
442 ndr_print_string(ndr, "client_name", r->client_name);
444 ndr->depth--;
445 ndr_print_ptr(ndr, "client_addr", r->client_addr);
446 ndr->depth++;
447 if (r->client_addr) {
448 ndr_print_string(ndr, "client_addr", r->client_addr);
450 ndr->depth--;
451 ndr_print_uint16(ndr, "client_port", r->client_port);
452 ndr_print_ptr(ndr, "server_name", r->server_name);
453 ndr->depth++;
454 if (r->server_name) {
455 ndr_print_string(ndr, "server_name", r->server_name);
457 ndr->depth--;
458 ndr_print_ptr(ndr, "server_addr", r->server_addr);
459 ndr->depth++;
460 if (r->server_addr) {
461 ndr_print_string(ndr, "server_addr", r->server_addr);
463 ndr->depth--;
464 ndr_print_uint16(ndr, "server_port", r->server_port);
465 ndr_print_ptr(ndr, "sam_info3", r->sam_info3);
466 ndr->depth++;
467 if (r->sam_info3) {
468 ndr_print_netr_SamInfo3(ndr, "sam_info3", r->sam_info3);
470 ndr->depth--;
471 ndr_print_uint32(ndr, "session_key_length", r->session_key_length);
472 ndr_print_ptr(ndr, "session_key", r->session_key);
473 ndr->depth++;
474 if (r->session_key) {
475 ndr_print_array_uint8(ndr, "session_key", r->session_key, r->session_key_length);
477 ndr->depth--;
478 ndr_print_uint32(ndr, "gssapi_delegated_creds_length", r->gssapi_delegated_creds_length);
479 ndr_print_ptr(ndr, "gssapi_delegated_creds", r->gssapi_delegated_creds);
480 ndr->depth++;
481 if (r->gssapi_delegated_creds) {
482 ndr_print_array_uint8(ndr, "gssapi_delegated_creds", r->gssapi_delegated_creds, r->gssapi_delegated_creds_length);
484 ndr->depth--;
485 ndr->depth--;
488 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)
490 if (ndr_flags & NDR_SCALARS) {
491 int level = ndr_push_get_switch_value(ndr, r);
492 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
493 NDR_CHECK(ndr_push_union_align(ndr, 5));
494 switch (level) {
495 case 0: {
496 break; }
498 case 1: {
499 NDR_CHECK(ndr_push_netr_SamInfo3(ndr, NDR_SCALARS, &r->info1));
500 break; }
502 case 2: {
503 NDR_CHECK(ndr_push_named_pipe_auth_req_info2(ndr, NDR_SCALARS, &r->info2));
504 break; }
506 case 3: {
507 NDR_CHECK(ndr_push_named_pipe_auth_req_info3(ndr, NDR_SCALARS, &r->info3));
508 break; }
510 default:
511 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
514 if (ndr_flags & NDR_BUFFERS) {
515 int level = ndr_push_get_switch_value(ndr, r);
516 switch (level) {
517 case 0:
518 break;
520 case 1:
521 NDR_CHECK(ndr_push_netr_SamInfo3(ndr, NDR_BUFFERS, &r->info1));
522 break;
524 case 2:
525 NDR_CHECK(ndr_push_named_pipe_auth_req_info2(ndr, NDR_BUFFERS, &r->info2));
526 break;
528 case 3:
529 NDR_CHECK(ndr_push_named_pipe_auth_req_info3(ndr, NDR_BUFFERS, &r->info3));
530 break;
532 default:
533 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
536 return NDR_ERR_SUCCESS;
539 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)
541 int level;
542 uint32_t _level;
543 level = ndr_pull_get_switch_value(ndr, r);
544 if (ndr_flags & NDR_SCALARS) {
545 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
546 if (_level != level) {
547 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
549 NDR_CHECK(ndr_pull_union_align(ndr, 5));
550 switch (level) {
551 case 0: {
552 break; }
554 case 1: {
555 NDR_CHECK(ndr_pull_netr_SamInfo3(ndr, NDR_SCALARS, &r->info1));
556 break; }
558 case 2: {
559 NDR_CHECK(ndr_pull_named_pipe_auth_req_info2(ndr, NDR_SCALARS, &r->info2));
560 break; }
562 case 3: {
563 NDR_CHECK(ndr_pull_named_pipe_auth_req_info3(ndr, NDR_SCALARS, &r->info3));
564 break; }
566 default:
567 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
570 if (ndr_flags & NDR_BUFFERS) {
571 switch (level) {
572 case 0:
573 break;
575 case 1:
576 NDR_CHECK(ndr_pull_netr_SamInfo3(ndr, NDR_BUFFERS, &r->info1));
577 break;
579 case 2:
580 NDR_CHECK(ndr_pull_named_pipe_auth_req_info2(ndr, NDR_BUFFERS, &r->info2));
581 break;
583 case 3:
584 NDR_CHECK(ndr_pull_named_pipe_auth_req_info3(ndr, NDR_BUFFERS, &r->info3));
585 break;
587 default:
588 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
591 return NDR_ERR_SUCCESS;
594 _PUBLIC_ void ndr_print_named_pipe_auth_req_info(struct ndr_print *ndr, const char *name, const union named_pipe_auth_req_info *r)
596 int level;
597 level = ndr_print_get_switch_value(ndr, r);
598 ndr_print_union(ndr, name, level, "named_pipe_auth_req_info");
599 switch (level) {
600 case 0:
601 break;
603 case 1:
604 ndr_print_netr_SamInfo3(ndr, "info1", &r->info1);
605 break;
607 case 2:
608 ndr_print_named_pipe_auth_req_info2(ndr, "info2", &r->info2);
609 break;
611 case 3:
612 ndr_print_named_pipe_auth_req_info3(ndr, "info3", &r->info3);
613 break;
615 default:
616 ndr_print_bad_level(ndr, name, level);
620 _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)
622 if (ndr_flags & NDR_SCALARS) {
623 NDR_CHECK(ndr_push_align(ndr, 5));
625 uint32_t _flags_save_uint32 = ndr->flags;
626 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
627 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_named_pipe_auth_req(r, ndr->iconv_convenience, ndr->flags) - 4));
628 ndr->flags = _flags_save_uint32;
630 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, NAMED_PIPE_AUTH_MAGIC, 4, sizeof(uint8_t), CH_DOS));
631 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level));
632 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->level));
633 NDR_CHECK(ndr_push_named_pipe_auth_req_info(ndr, NDR_SCALARS, &r->info));
634 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
636 if (ndr_flags & NDR_BUFFERS) {
637 NDR_CHECK(ndr_push_named_pipe_auth_req_info(ndr, NDR_BUFFERS, &r->info));
639 return NDR_ERR_SUCCESS;
642 _PUBLIC_ enum ndr_err_code ndr_pull_named_pipe_auth_req(struct ndr_pull *ndr, int ndr_flags, struct named_pipe_auth_req *r)
644 if (ndr_flags & NDR_SCALARS) {
645 NDR_CHECK(ndr_pull_align(ndr, 5));
647 uint32_t _flags_save_uint32 = ndr->flags;
648 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
649 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
650 ndr->flags = _flags_save_uint32;
652 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->magic, 4, sizeof(uint8_t), CH_DOS));
653 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level));
654 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->level));
655 NDR_CHECK(ndr_pull_named_pipe_auth_req_info(ndr, NDR_SCALARS, &r->info));
656 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
658 if (ndr_flags & NDR_BUFFERS) {
659 NDR_CHECK(ndr_pull_named_pipe_auth_req_info(ndr, NDR_BUFFERS, &r->info));
661 return NDR_ERR_SUCCESS;
664 _PUBLIC_ void ndr_print_named_pipe_auth_req(struct ndr_print *ndr, const char *name, const struct named_pipe_auth_req *r)
666 ndr_print_struct(ndr, name, "named_pipe_auth_req");
667 ndr->depth++;
668 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);
669 ndr_print_string(ndr, "magic", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?NAMED_PIPE_AUTH_MAGIC:r->magic);
670 ndr_print_uint32(ndr, "level", r->level);
671 ndr_print_set_switch_value(ndr, &r->info, r->level);
672 ndr_print_named_pipe_auth_req_info(ndr, "info", &r->info);
673 ndr->depth--;
676 _PUBLIC_ size_t ndr_size_named_pipe_auth_req(const struct named_pipe_auth_req *r, struct smb_iconv_convenience *ic, int flags)
678 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_named_pipe_auth_req, ic);
681 static enum ndr_err_code ndr_push_named_pipe_auth_rep_info2(struct ndr_push *ndr, int ndr_flags, const struct named_pipe_auth_rep_info2 *r)
683 if (ndr_flags & NDR_SCALARS) {
684 NDR_CHECK(ndr_push_align(ndr, 8));
685 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->file_type));
686 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->device_state));
687 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->allocation_size));
688 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
690 if (ndr_flags & NDR_BUFFERS) {
692 return NDR_ERR_SUCCESS;
695 static enum ndr_err_code ndr_pull_named_pipe_auth_rep_info2(struct ndr_pull *ndr, int ndr_flags, struct named_pipe_auth_rep_info2 *r)
697 if (ndr_flags & NDR_SCALARS) {
698 NDR_CHECK(ndr_pull_align(ndr, 8));
699 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->file_type));
700 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->device_state));
701 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->allocation_size));
702 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
704 if (ndr_flags & NDR_BUFFERS) {
706 return NDR_ERR_SUCCESS;
709 _PUBLIC_ void ndr_print_named_pipe_auth_rep_info2(struct ndr_print *ndr, const char *name, const struct named_pipe_auth_rep_info2 *r)
711 ndr_print_struct(ndr, name, "named_pipe_auth_rep_info2");
712 ndr->depth++;
713 ndr_print_uint16(ndr, "file_type", r->file_type);
714 ndr_print_uint16(ndr, "device_state", r->device_state);
715 ndr_print_hyper(ndr, "allocation_size", r->allocation_size);
716 ndr->depth--;
719 static enum ndr_err_code ndr_push_named_pipe_auth_rep_info3(struct ndr_push *ndr, int ndr_flags, const struct named_pipe_auth_rep_info3 *r)
721 if (ndr_flags & NDR_SCALARS) {
722 NDR_CHECK(ndr_push_align(ndr, 8));
723 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->file_type));
724 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->device_state));
725 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->allocation_size));
726 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
728 if (ndr_flags & NDR_BUFFERS) {
730 return NDR_ERR_SUCCESS;
733 static enum ndr_err_code ndr_pull_named_pipe_auth_rep_info3(struct ndr_pull *ndr, int ndr_flags, struct named_pipe_auth_rep_info3 *r)
735 if (ndr_flags & NDR_SCALARS) {
736 NDR_CHECK(ndr_pull_align(ndr, 8));
737 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->file_type));
738 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->device_state));
739 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->allocation_size));
740 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
742 if (ndr_flags & NDR_BUFFERS) {
744 return NDR_ERR_SUCCESS;
747 _PUBLIC_ void ndr_print_named_pipe_auth_rep_info3(struct ndr_print *ndr, const char *name, const struct named_pipe_auth_rep_info3 *r)
749 ndr_print_struct(ndr, name, "named_pipe_auth_rep_info3");
750 ndr->depth++;
751 ndr_print_uint16(ndr, "file_type", r->file_type);
752 ndr_print_uint16(ndr, "device_state", r->device_state);
753 ndr_print_hyper(ndr, "allocation_size", r->allocation_size);
754 ndr->depth--;
757 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)
759 if (ndr_flags & NDR_SCALARS) {
760 int level = ndr_push_get_switch_value(ndr, r);
761 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
762 NDR_CHECK(ndr_push_union_align(ndr, 8));
763 switch (level) {
764 case 0: {
765 break; }
767 case 1: {
768 break; }
770 case 2: {
771 NDR_CHECK(ndr_push_named_pipe_auth_rep_info2(ndr, NDR_SCALARS, &r->info2));
772 break; }
774 case 3: {
775 NDR_CHECK(ndr_push_named_pipe_auth_rep_info3(ndr, NDR_SCALARS, &r->info3));
776 break; }
778 default:
779 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
782 if (ndr_flags & NDR_BUFFERS) {
783 int level = ndr_push_get_switch_value(ndr, r);
784 switch (level) {
785 case 0:
786 break;
788 case 1:
789 break;
791 case 2:
792 break;
794 case 3:
795 break;
797 default:
798 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
801 return NDR_ERR_SUCCESS;
804 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)
806 int level;
807 uint32_t _level;
808 level = ndr_pull_get_switch_value(ndr, r);
809 if (ndr_flags & NDR_SCALARS) {
810 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
811 if (_level != level) {
812 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
814 NDR_CHECK(ndr_pull_union_align(ndr, 8));
815 switch (level) {
816 case 0: {
817 break; }
819 case 1: {
820 break; }
822 case 2: {
823 NDR_CHECK(ndr_pull_named_pipe_auth_rep_info2(ndr, NDR_SCALARS, &r->info2));
824 break; }
826 case 3: {
827 NDR_CHECK(ndr_pull_named_pipe_auth_rep_info3(ndr, NDR_SCALARS, &r->info3));
828 break; }
830 default:
831 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
834 if (ndr_flags & NDR_BUFFERS) {
835 switch (level) {
836 case 0:
837 break;
839 case 1:
840 break;
842 case 2:
843 break;
845 case 3:
846 break;
848 default:
849 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
852 return NDR_ERR_SUCCESS;
855 _PUBLIC_ void ndr_print_named_pipe_auth_rep_info(struct ndr_print *ndr, const char *name, const union named_pipe_auth_rep_info *r)
857 int level;
858 level = ndr_print_get_switch_value(ndr, r);
859 ndr_print_union(ndr, name, level, "named_pipe_auth_rep_info");
860 switch (level) {
861 case 0:
862 break;
864 case 1:
865 break;
867 case 2:
868 ndr_print_named_pipe_auth_rep_info2(ndr, "info2", &r->info2);
869 break;
871 case 3:
872 ndr_print_named_pipe_auth_rep_info3(ndr, "info3", &r->info3);
873 break;
875 default:
876 ndr_print_bad_level(ndr, name, level);
880 _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)
882 if (ndr_flags & NDR_SCALARS) {
883 NDR_CHECK(ndr_push_align(ndr, 8));
885 uint32_t _flags_save_uint32 = ndr->flags;
886 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
887 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_named_pipe_auth_rep(r, ndr->iconv_convenience, ndr->flags) - 4));
888 ndr->flags = _flags_save_uint32;
890 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, NAMED_PIPE_AUTH_MAGIC, 4, sizeof(uint8_t), CH_DOS));
891 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level));
892 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->level));
893 NDR_CHECK(ndr_push_named_pipe_auth_rep_info(ndr, NDR_SCALARS, &r->info));
894 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->status));
895 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
897 if (ndr_flags & NDR_BUFFERS) {
898 NDR_CHECK(ndr_push_named_pipe_auth_rep_info(ndr, NDR_BUFFERS, &r->info));
900 return NDR_ERR_SUCCESS;
903 _PUBLIC_ enum ndr_err_code ndr_pull_named_pipe_auth_rep(struct ndr_pull *ndr, int ndr_flags, struct named_pipe_auth_rep *r)
905 if (ndr_flags & NDR_SCALARS) {
906 NDR_CHECK(ndr_pull_align(ndr, 8));
908 uint32_t _flags_save_uint32 = ndr->flags;
909 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
910 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
911 ndr->flags = _flags_save_uint32;
913 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->magic, 4, sizeof(uint8_t), CH_DOS));
914 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level));
915 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->level));
916 NDR_CHECK(ndr_pull_named_pipe_auth_rep_info(ndr, NDR_SCALARS, &r->info));
917 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->status));
918 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
920 if (ndr_flags & NDR_BUFFERS) {
921 NDR_CHECK(ndr_pull_named_pipe_auth_rep_info(ndr, NDR_BUFFERS, &r->info));
923 return NDR_ERR_SUCCESS;
926 _PUBLIC_ void ndr_print_named_pipe_auth_rep(struct ndr_print *ndr, const char *name, const struct named_pipe_auth_rep *r)
928 ndr_print_struct(ndr, name, "named_pipe_auth_rep");
929 ndr->depth++;
930 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);
931 ndr_print_string(ndr, "magic", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?NAMED_PIPE_AUTH_MAGIC:r->magic);
932 ndr_print_uint32(ndr, "level", r->level);
933 ndr_print_set_switch_value(ndr, &r->info, r->level);
934 ndr_print_named_pipe_auth_rep_info(ndr, "info", &r->info);
935 ndr_print_NTSTATUS(ndr, "status", r->status);
936 ndr->depth--;
939 _PUBLIC_ size_t ndr_size_named_pipe_auth_rep(const struct named_pipe_auth_rep *r, struct smb_iconv_convenience *ic, int flags)
941 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_named_pipe_auth_rep, ic);