rerun 'make samba3-idl'
[Samba.git] / librpc / gen_ndr / ndr_xattr.c
bloba020ea3b255e45b0033073707726bbafb8b242ed
1 /* parser auto-generated by pidl */
3 #include "includes.h"
4 #include "../librpc/gen_ndr/ndr_xattr.h"
6 #include "librpc/gen_ndr/ndr_security.h"
7 static enum ndr_err_code ndr_push_xattr_DosInfo1(struct ndr_push *ndr, int ndr_flags, const struct xattr_DosInfo1 *r)
9 if (ndr_flags & NDR_SCALARS) {
10 NDR_CHECK(ndr_push_align(ndr, 4));
11 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->attrib));
12 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ea_size));
13 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->size));
14 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->alloc_size));
15 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->create_time));
16 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->change_time));
18 if (ndr_flags & NDR_BUFFERS) {
20 return NDR_ERR_SUCCESS;
23 static enum ndr_err_code ndr_pull_xattr_DosInfo1(struct ndr_pull *ndr, int ndr_flags, struct xattr_DosInfo1 *r)
25 if (ndr_flags & NDR_SCALARS) {
26 NDR_CHECK(ndr_pull_align(ndr, 4));
27 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->attrib));
28 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ea_size));
29 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->size));
30 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->alloc_size));
31 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->create_time));
32 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->change_time));
34 if (ndr_flags & NDR_BUFFERS) {
36 return NDR_ERR_SUCCESS;
39 _PUBLIC_ void ndr_print_xattr_DosInfo1(struct ndr_print *ndr, const char *name, const struct xattr_DosInfo1 *r)
41 ndr_print_struct(ndr, name, "xattr_DosInfo1");
42 ndr->depth++;
43 ndr_print_uint32(ndr, "attrib", r->attrib);
44 ndr_print_uint32(ndr, "ea_size", r->ea_size);
45 ndr_print_udlong(ndr, "size", r->size);
46 ndr_print_udlong(ndr, "alloc_size", r->alloc_size);
47 ndr_print_NTTIME(ndr, "create_time", r->create_time);
48 ndr_print_NTTIME(ndr, "change_time", r->change_time);
49 ndr->depth--;
52 static enum ndr_err_code ndr_push_xattr_DosInfo2Old(struct ndr_push *ndr, int ndr_flags, const struct xattr_DosInfo2Old *r)
54 if (ndr_flags & NDR_SCALARS) {
55 NDR_CHECK(ndr_push_align(ndr, 4));
56 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
57 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->attrib));
58 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ea_size));
59 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->size));
60 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->alloc_size));
61 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->create_time));
62 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->change_time));
63 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->write_time));
65 uint32_t _flags_save_string = ndr->flags;
66 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM);
67 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->name));
68 ndr->flags = _flags_save_string;
71 if (ndr_flags & NDR_BUFFERS) {
73 return NDR_ERR_SUCCESS;
76 static enum ndr_err_code ndr_pull_xattr_DosInfo2Old(struct ndr_pull *ndr, int ndr_flags, struct xattr_DosInfo2Old *r)
78 if (ndr_flags & NDR_SCALARS) {
79 NDR_CHECK(ndr_pull_align(ndr, 4));
80 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
81 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->attrib));
82 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ea_size));
83 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->size));
84 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->alloc_size));
85 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->create_time));
86 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->change_time));
87 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->write_time));
89 uint32_t _flags_save_string = ndr->flags;
90 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM);
91 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->name));
92 ndr->flags = _flags_save_string;
95 if (ndr_flags & NDR_BUFFERS) {
97 return NDR_ERR_SUCCESS;
100 _PUBLIC_ void ndr_print_xattr_DosInfo2Old(struct ndr_print *ndr, const char *name, const struct xattr_DosInfo2Old *r)
102 ndr_print_struct(ndr, name, "xattr_DosInfo2Old");
103 ndr->depth++;
104 ndr_print_uint32(ndr, "flags", r->flags);
105 ndr_print_uint32(ndr, "attrib", r->attrib);
106 ndr_print_uint32(ndr, "ea_size", r->ea_size);
107 ndr_print_udlong(ndr, "size", r->size);
108 ndr_print_udlong(ndr, "alloc_size", r->alloc_size);
109 ndr_print_NTTIME(ndr, "create_time", r->create_time);
110 ndr_print_NTTIME(ndr, "change_time", r->change_time);
111 ndr_print_NTTIME(ndr, "write_time", r->write_time);
112 ndr_print_string(ndr, "name", r->name);
113 ndr->depth--;
116 static enum ndr_err_code ndr_push_xattr_DosInfo(struct ndr_push *ndr, int ndr_flags, const union xattr_DosInfo *r)
118 if (ndr_flags & NDR_SCALARS) {
119 int level = ndr_push_get_switch_value(ndr, r);
120 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level));
121 switch (level) {
122 case 1: {
123 NDR_CHECK(ndr_push_xattr_DosInfo1(ndr, NDR_SCALARS, &r->info1));
124 break; }
126 case 2: {
127 NDR_CHECK(ndr_push_xattr_DosInfo2Old(ndr, NDR_SCALARS, &r->oldinfo2));
128 break; }
130 default:
131 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
134 if (ndr_flags & NDR_BUFFERS) {
135 int level = ndr_push_get_switch_value(ndr, r);
136 switch (level) {
137 case 1:
138 break;
140 case 2:
141 break;
143 default:
144 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
147 return NDR_ERR_SUCCESS;
150 static enum ndr_err_code ndr_pull_xattr_DosInfo(struct ndr_pull *ndr, int ndr_flags, union xattr_DosInfo *r)
152 int level;
153 uint16_t _level;
154 level = ndr_pull_get_switch_value(ndr, r);
155 if (ndr_flags & NDR_SCALARS) {
156 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
157 if (_level != level) {
158 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
160 switch (level) {
161 case 1: {
162 NDR_CHECK(ndr_pull_xattr_DosInfo1(ndr, NDR_SCALARS, &r->info1));
163 break; }
165 case 2: {
166 NDR_CHECK(ndr_pull_xattr_DosInfo2Old(ndr, NDR_SCALARS, &r->oldinfo2));
167 break; }
169 default:
170 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
173 if (ndr_flags & NDR_BUFFERS) {
174 switch (level) {
175 case 1:
176 break;
178 case 2:
179 break;
181 default:
182 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
185 return NDR_ERR_SUCCESS;
188 _PUBLIC_ void ndr_print_xattr_DosInfo(struct ndr_print *ndr, const char *name, const union xattr_DosInfo *r)
190 int level;
191 level = ndr_print_get_switch_value(ndr, r);
192 ndr_print_union(ndr, name, level, "xattr_DosInfo");
193 switch (level) {
194 case 1:
195 ndr_print_xattr_DosInfo1(ndr, "info1", &r->info1);
196 break;
198 case 2:
199 ndr_print_xattr_DosInfo2Old(ndr, "oldinfo2", &r->oldinfo2);
200 break;
202 default:
203 ndr_print_bad_level(ndr, name, level);
207 _PUBLIC_ enum ndr_err_code ndr_push_xattr_DosAttrib(struct ndr_push *ndr, int ndr_flags, const struct xattr_DosAttrib *r)
209 if (ndr_flags & NDR_SCALARS) {
210 NDR_CHECK(ndr_push_align(ndr, 4));
211 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->version));
212 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->version));
213 NDR_CHECK(ndr_push_xattr_DosInfo(ndr, NDR_SCALARS, &r->info));
215 if (ndr_flags & NDR_BUFFERS) {
217 return NDR_ERR_SUCCESS;
220 _PUBLIC_ enum ndr_err_code ndr_pull_xattr_DosAttrib(struct ndr_pull *ndr, int ndr_flags, struct xattr_DosAttrib *r)
222 if (ndr_flags & NDR_SCALARS) {
223 NDR_CHECK(ndr_pull_align(ndr, 4));
224 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->version));
225 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->version));
226 NDR_CHECK(ndr_pull_xattr_DosInfo(ndr, NDR_SCALARS, &r->info));
228 if (ndr_flags & NDR_BUFFERS) {
230 return NDR_ERR_SUCCESS;
233 _PUBLIC_ void ndr_print_xattr_DosAttrib(struct ndr_print *ndr, const char *name, const struct xattr_DosAttrib *r)
235 ndr_print_struct(ndr, name, "xattr_DosAttrib");
236 ndr->depth++;
237 ndr_print_uint16(ndr, "version", r->version);
238 ndr_print_set_switch_value(ndr, &r->info, r->version);
239 ndr_print_xattr_DosInfo(ndr, "info", &r->info);
240 ndr->depth--;
243 static enum ndr_err_code ndr_push_xattr_EA(struct ndr_push *ndr, int ndr_flags, const struct xattr_EA *r)
245 if (ndr_flags & NDR_SCALARS) {
246 NDR_CHECK(ndr_push_align(ndr, 4));
248 uint32_t _flags_save_string = ndr->flags;
249 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM);
250 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->name));
251 ndr->flags = _flags_save_string;
253 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->value));
255 if (ndr_flags & NDR_BUFFERS) {
257 return NDR_ERR_SUCCESS;
260 static enum ndr_err_code ndr_pull_xattr_EA(struct ndr_pull *ndr, int ndr_flags, struct xattr_EA *r)
262 if (ndr_flags & NDR_SCALARS) {
263 NDR_CHECK(ndr_pull_align(ndr, 4));
265 uint32_t _flags_save_string = ndr->flags;
266 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM);
267 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->name));
268 ndr->flags = _flags_save_string;
270 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->value));
272 if (ndr_flags & NDR_BUFFERS) {
274 return NDR_ERR_SUCCESS;
277 _PUBLIC_ void ndr_print_xattr_EA(struct ndr_print *ndr, const char *name, const struct xattr_EA *r)
279 ndr_print_struct(ndr, name, "xattr_EA");
280 ndr->depth++;
281 ndr_print_string(ndr, "name", r->name);
282 ndr_print_DATA_BLOB(ndr, "value", r->value);
283 ndr->depth--;
286 _PUBLIC_ enum ndr_err_code ndr_push_xattr_DosEAs(struct ndr_push *ndr, int ndr_flags, const struct xattr_DosEAs *r)
288 uint32_t cntr_eas_1;
289 if (ndr_flags & NDR_SCALARS) {
290 NDR_CHECK(ndr_push_align(ndr, 4));
291 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->num_eas));
292 NDR_CHECK(ndr_push_unique_ptr(ndr, r->eas));
294 if (ndr_flags & NDR_BUFFERS) {
295 if (r->eas) {
296 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_eas));
297 for (cntr_eas_1 = 0; cntr_eas_1 < r->num_eas; cntr_eas_1++) {
298 NDR_CHECK(ndr_push_xattr_EA(ndr, NDR_SCALARS, &r->eas[cntr_eas_1]));
302 return NDR_ERR_SUCCESS;
305 _PUBLIC_ enum ndr_err_code ndr_pull_xattr_DosEAs(struct ndr_pull *ndr, int ndr_flags, struct xattr_DosEAs *r)
307 uint32_t _ptr_eas;
308 uint32_t size_eas_1 = 0;
309 uint32_t cntr_eas_1;
310 TALLOC_CTX *_mem_save_eas_0;
311 TALLOC_CTX *_mem_save_eas_1;
312 if (ndr_flags & NDR_SCALARS) {
313 NDR_CHECK(ndr_pull_align(ndr, 4));
314 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->num_eas));
315 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_eas));
316 if (_ptr_eas) {
317 NDR_PULL_ALLOC(ndr, r->eas);
318 } else {
319 r->eas = NULL;
322 if (ndr_flags & NDR_BUFFERS) {
323 if (r->eas) {
324 _mem_save_eas_0 = NDR_PULL_GET_MEM_CTX(ndr);
325 NDR_PULL_SET_MEM_CTX(ndr, r->eas, 0);
326 NDR_CHECK(ndr_pull_array_size(ndr, &r->eas));
327 size_eas_1 = ndr_get_array_size(ndr, &r->eas);
328 NDR_PULL_ALLOC_N(ndr, r->eas, size_eas_1);
329 _mem_save_eas_1 = NDR_PULL_GET_MEM_CTX(ndr);
330 NDR_PULL_SET_MEM_CTX(ndr, r->eas, 0);
331 for (cntr_eas_1 = 0; cntr_eas_1 < size_eas_1; cntr_eas_1++) {
332 NDR_CHECK(ndr_pull_xattr_EA(ndr, NDR_SCALARS, &r->eas[cntr_eas_1]));
334 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_eas_1, 0);
335 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_eas_0, 0);
337 if (r->eas) {
338 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->eas, r->num_eas));
341 return NDR_ERR_SUCCESS;
344 _PUBLIC_ void ndr_print_xattr_DosEAs(struct ndr_print *ndr, const char *name, const struct xattr_DosEAs *r)
346 uint32_t cntr_eas_1;
347 ndr_print_struct(ndr, name, "xattr_DosEAs");
348 ndr->depth++;
349 ndr_print_uint16(ndr, "num_eas", r->num_eas);
350 ndr_print_ptr(ndr, "eas", r->eas);
351 ndr->depth++;
352 if (r->eas) {
353 ndr->print(ndr, "%s: ARRAY(%d)", "eas", (int)r->num_eas);
354 ndr->depth++;
355 for (cntr_eas_1=0;cntr_eas_1<r->num_eas;cntr_eas_1++) {
356 char *idx_1=NULL;
357 if (asprintf(&idx_1, "[%d]", cntr_eas_1) != -1) {
358 ndr_print_xattr_EA(ndr, "eas", &r->eas[cntr_eas_1]);
359 free(idx_1);
362 ndr->depth--;
364 ndr->depth--;
365 ndr->depth--;
368 _PUBLIC_ enum ndr_err_code ndr_push_tdb_xattrs(struct ndr_push *ndr, int ndr_flags, const struct tdb_xattrs *r)
370 uint32_t cntr_eas_0;
371 if (ndr_flags & NDR_SCALARS) {
372 NDR_CHECK(ndr_push_align(ndr, 4));
373 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_eas));
374 for (cntr_eas_0 = 0; cntr_eas_0 < r->num_eas; cntr_eas_0++) {
375 NDR_CHECK(ndr_push_xattr_EA(ndr, NDR_SCALARS, &r->eas[cntr_eas_0]));
378 if (ndr_flags & NDR_BUFFERS) {
380 return NDR_ERR_SUCCESS;
383 _PUBLIC_ enum ndr_err_code ndr_pull_tdb_xattrs(struct ndr_pull *ndr, int ndr_flags, struct tdb_xattrs *r)
385 uint32_t size_eas_0 = 0;
386 uint32_t cntr_eas_0;
387 TALLOC_CTX *_mem_save_eas_0;
388 if (ndr_flags & NDR_SCALARS) {
389 NDR_CHECK(ndr_pull_align(ndr, 4));
390 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_eas));
391 size_eas_0 = r->num_eas;
392 NDR_PULL_ALLOC_N(ndr, r->eas, size_eas_0);
393 _mem_save_eas_0 = NDR_PULL_GET_MEM_CTX(ndr);
394 NDR_PULL_SET_MEM_CTX(ndr, r->eas, 0);
395 for (cntr_eas_0 = 0; cntr_eas_0 < size_eas_0; cntr_eas_0++) {
396 NDR_CHECK(ndr_pull_xattr_EA(ndr, NDR_SCALARS, &r->eas[cntr_eas_0]));
398 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_eas_0, 0);
400 if (ndr_flags & NDR_BUFFERS) {
402 return NDR_ERR_SUCCESS;
405 _PUBLIC_ void ndr_print_tdb_xattrs(struct ndr_print *ndr, const char *name, const struct tdb_xattrs *r)
407 uint32_t cntr_eas_0;
408 ndr_print_struct(ndr, name, "tdb_xattrs");
409 ndr->depth++;
410 ndr_print_uint32(ndr, "num_eas", r->num_eas);
411 ndr->print(ndr, "%s: ARRAY(%d)", "eas", (int)r->num_eas);
412 ndr->depth++;
413 for (cntr_eas_0=0;cntr_eas_0<r->num_eas;cntr_eas_0++) {
414 char *idx_0=NULL;
415 if (asprintf(&idx_0, "[%d]", cntr_eas_0) != -1) {
416 ndr_print_xattr_EA(ndr, "eas", &r->eas[cntr_eas_0]);
417 free(idx_0);
420 ndr->depth--;
421 ndr->depth--;
424 static enum ndr_err_code ndr_push_xattr_DosStream(struct ndr_push *ndr, int ndr_flags, const struct xattr_DosStream *r)
426 if (ndr_flags & NDR_SCALARS) {
427 NDR_CHECK(ndr_push_align(ndr, 4));
428 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
429 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->size));
430 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->alloc_size));
432 uint32_t _flags_save_string = ndr->flags;
433 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM);
434 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->name));
435 ndr->flags = _flags_save_string;
438 if (ndr_flags & NDR_BUFFERS) {
440 return NDR_ERR_SUCCESS;
443 static enum ndr_err_code ndr_pull_xattr_DosStream(struct ndr_pull *ndr, int ndr_flags, struct xattr_DosStream *r)
445 if (ndr_flags & NDR_SCALARS) {
446 NDR_CHECK(ndr_pull_align(ndr, 4));
447 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
448 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->size));
449 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->alloc_size));
451 uint32_t _flags_save_string = ndr->flags;
452 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM);
453 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->name));
454 ndr->flags = _flags_save_string;
457 if (ndr_flags & NDR_BUFFERS) {
459 return NDR_ERR_SUCCESS;
462 _PUBLIC_ void ndr_print_xattr_DosStream(struct ndr_print *ndr, const char *name, const struct xattr_DosStream *r)
464 ndr_print_struct(ndr, name, "xattr_DosStream");
465 ndr->depth++;
466 ndr_print_uint32(ndr, "flags", r->flags);
467 ndr_print_udlong(ndr, "size", r->size);
468 ndr_print_udlong(ndr, "alloc_size", r->alloc_size);
469 ndr_print_string(ndr, "name", r->name);
470 ndr->depth--;
473 _PUBLIC_ enum ndr_err_code ndr_push_xattr_DosStreams(struct ndr_push *ndr, int ndr_flags, const struct xattr_DosStreams *r)
475 uint32_t cntr_streams_1;
476 if (ndr_flags & NDR_SCALARS) {
477 NDR_CHECK(ndr_push_align(ndr, 4));
478 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_streams));
479 NDR_CHECK(ndr_push_unique_ptr(ndr, r->streams));
481 if (ndr_flags & NDR_BUFFERS) {
482 if (r->streams) {
483 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_streams));
484 for (cntr_streams_1 = 0; cntr_streams_1 < r->num_streams; cntr_streams_1++) {
485 NDR_CHECK(ndr_push_xattr_DosStream(ndr, NDR_SCALARS, &r->streams[cntr_streams_1]));
489 return NDR_ERR_SUCCESS;
492 _PUBLIC_ enum ndr_err_code ndr_pull_xattr_DosStreams(struct ndr_pull *ndr, int ndr_flags, struct xattr_DosStreams *r)
494 uint32_t _ptr_streams;
495 uint32_t size_streams_1 = 0;
496 uint32_t cntr_streams_1;
497 TALLOC_CTX *_mem_save_streams_0;
498 TALLOC_CTX *_mem_save_streams_1;
499 if (ndr_flags & NDR_SCALARS) {
500 NDR_CHECK(ndr_pull_align(ndr, 4));
501 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_streams));
502 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_streams));
503 if (_ptr_streams) {
504 NDR_PULL_ALLOC(ndr, r->streams);
505 } else {
506 r->streams = NULL;
509 if (ndr_flags & NDR_BUFFERS) {
510 if (r->streams) {
511 _mem_save_streams_0 = NDR_PULL_GET_MEM_CTX(ndr);
512 NDR_PULL_SET_MEM_CTX(ndr, r->streams, 0);
513 NDR_CHECK(ndr_pull_array_size(ndr, &r->streams));
514 size_streams_1 = ndr_get_array_size(ndr, &r->streams);
515 NDR_PULL_ALLOC_N(ndr, r->streams, size_streams_1);
516 _mem_save_streams_1 = NDR_PULL_GET_MEM_CTX(ndr);
517 NDR_PULL_SET_MEM_CTX(ndr, r->streams, 0);
518 for (cntr_streams_1 = 0; cntr_streams_1 < size_streams_1; cntr_streams_1++) {
519 NDR_CHECK(ndr_pull_xattr_DosStream(ndr, NDR_SCALARS, &r->streams[cntr_streams_1]));
521 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_streams_1, 0);
522 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_streams_0, 0);
524 if (r->streams) {
525 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->streams, r->num_streams));
528 return NDR_ERR_SUCCESS;
531 _PUBLIC_ void ndr_print_xattr_DosStreams(struct ndr_print *ndr, const char *name, const struct xattr_DosStreams *r)
533 uint32_t cntr_streams_1;
534 ndr_print_struct(ndr, name, "xattr_DosStreams");
535 ndr->depth++;
536 ndr_print_uint32(ndr, "num_streams", r->num_streams);
537 ndr_print_ptr(ndr, "streams", r->streams);
538 ndr->depth++;
539 if (r->streams) {
540 ndr->print(ndr, "%s: ARRAY(%d)", "streams", (int)r->num_streams);
541 ndr->depth++;
542 for (cntr_streams_1=0;cntr_streams_1<r->num_streams;cntr_streams_1++) {
543 char *idx_1=NULL;
544 if (asprintf(&idx_1, "[%d]", cntr_streams_1) != -1) {
545 ndr_print_xattr_DosStream(ndr, "streams", &r->streams[cntr_streams_1]);
546 free(idx_1);
549 ndr->depth--;
551 ndr->depth--;
552 ndr->depth--;
555 _PUBLIC_ enum ndr_err_code ndr_push_security_descriptor_hash(struct ndr_push *ndr, int ndr_flags, const struct security_descriptor_hash *r)
557 if (ndr_flags & NDR_SCALARS) {
558 NDR_CHECK(ndr_push_align(ndr, 4));
559 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sd));
560 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->hash, 16));
562 if (ndr_flags & NDR_BUFFERS) {
563 if (r->sd) {
564 NDR_CHECK(ndr_push_security_descriptor(ndr, NDR_SCALARS|NDR_BUFFERS, r->sd));
567 return NDR_ERR_SUCCESS;
570 _PUBLIC_ enum ndr_err_code ndr_pull_security_descriptor_hash(struct ndr_pull *ndr, int ndr_flags, struct security_descriptor_hash *r)
572 uint32_t _ptr_sd;
573 TALLOC_CTX *_mem_save_sd_0;
574 uint32_t size_hash_0 = 0;
575 if (ndr_flags & NDR_SCALARS) {
576 NDR_CHECK(ndr_pull_align(ndr, 4));
577 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sd));
578 if (_ptr_sd) {
579 NDR_PULL_ALLOC(ndr, r->sd);
580 } else {
581 r->sd = NULL;
583 size_hash_0 = 16;
584 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->hash, size_hash_0));
586 if (ndr_flags & NDR_BUFFERS) {
587 if (r->sd) {
588 _mem_save_sd_0 = NDR_PULL_GET_MEM_CTX(ndr);
589 NDR_PULL_SET_MEM_CTX(ndr, r->sd, 0);
590 NDR_CHECK(ndr_pull_security_descriptor(ndr, NDR_SCALARS|NDR_BUFFERS, r->sd));
591 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sd_0, 0);
594 return NDR_ERR_SUCCESS;
597 _PUBLIC_ void ndr_print_security_descriptor_hash(struct ndr_print *ndr, const char *name, const struct security_descriptor_hash *r)
599 ndr_print_struct(ndr, name, "security_descriptor_hash");
600 ndr->depth++;
601 ndr_print_ptr(ndr, "sd", r->sd);
602 ndr->depth++;
603 if (r->sd) {
604 ndr_print_security_descriptor(ndr, "sd", r->sd);
606 ndr->depth--;
607 ndr_print_array_uint8(ndr, "hash", r->hash, 16);
608 ndr->depth--;
611 static enum ndr_err_code ndr_push_xattr_NTACL_Info(struct ndr_push *ndr, int ndr_flags, const union xattr_NTACL_Info *r)
613 if (ndr_flags & NDR_SCALARS) {
614 int level = ndr_push_get_switch_value(ndr, r);
615 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level));
616 switch (level) {
617 case 1: {
618 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sd));
619 break; }
621 case 2: {
622 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sd_hs));
623 break; }
625 default:
626 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
629 if (ndr_flags & NDR_BUFFERS) {
630 int level = ndr_push_get_switch_value(ndr, r);
631 switch (level) {
632 case 1:
633 if (r->sd) {
634 NDR_CHECK(ndr_push_security_descriptor(ndr, NDR_SCALARS|NDR_BUFFERS, r->sd));
636 break;
638 case 2:
639 if (r->sd_hs) {
640 NDR_CHECK(ndr_push_security_descriptor_hash(ndr, NDR_SCALARS|NDR_BUFFERS, r->sd_hs));
642 break;
644 default:
645 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
648 return NDR_ERR_SUCCESS;
651 static enum ndr_err_code ndr_pull_xattr_NTACL_Info(struct ndr_pull *ndr, int ndr_flags, union xattr_NTACL_Info *r)
653 int level;
654 uint16_t _level;
655 TALLOC_CTX *_mem_save_sd_0;
656 uint32_t _ptr_sd;
657 TALLOC_CTX *_mem_save_sd_hs_0;
658 uint32_t _ptr_sd_hs;
659 level = ndr_pull_get_switch_value(ndr, r);
660 if (ndr_flags & NDR_SCALARS) {
661 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
662 if (_level != level) {
663 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
665 switch (level) {
666 case 1: {
667 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sd));
668 if (_ptr_sd) {
669 NDR_PULL_ALLOC(ndr, r->sd);
670 } else {
671 r->sd = NULL;
673 break; }
675 case 2: {
676 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sd_hs));
677 if (_ptr_sd_hs) {
678 NDR_PULL_ALLOC(ndr, r->sd_hs);
679 } else {
680 r->sd_hs = NULL;
682 break; }
684 default:
685 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
688 if (ndr_flags & NDR_BUFFERS) {
689 switch (level) {
690 case 1:
691 if (r->sd) {
692 _mem_save_sd_0 = NDR_PULL_GET_MEM_CTX(ndr);
693 NDR_PULL_SET_MEM_CTX(ndr, r->sd, 0);
694 NDR_CHECK(ndr_pull_security_descriptor(ndr, NDR_SCALARS|NDR_BUFFERS, r->sd));
695 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sd_0, 0);
697 break;
699 case 2:
700 if (r->sd_hs) {
701 _mem_save_sd_hs_0 = NDR_PULL_GET_MEM_CTX(ndr);
702 NDR_PULL_SET_MEM_CTX(ndr, r->sd_hs, 0);
703 NDR_CHECK(ndr_pull_security_descriptor_hash(ndr, NDR_SCALARS|NDR_BUFFERS, r->sd_hs));
704 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sd_hs_0, 0);
706 break;
708 default:
709 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
712 return NDR_ERR_SUCCESS;
715 _PUBLIC_ void ndr_print_xattr_NTACL_Info(struct ndr_print *ndr, const char *name, const union xattr_NTACL_Info *r)
717 int level;
718 level = ndr_print_get_switch_value(ndr, r);
719 ndr_print_union(ndr, name, level, "xattr_NTACL_Info");
720 switch (level) {
721 case 1:
722 ndr_print_ptr(ndr, "sd", r->sd);
723 ndr->depth++;
724 if (r->sd) {
725 ndr_print_security_descriptor(ndr, "sd", r->sd);
727 ndr->depth--;
728 break;
730 case 2:
731 ndr_print_ptr(ndr, "sd_hs", r->sd_hs);
732 ndr->depth++;
733 if (r->sd_hs) {
734 ndr_print_security_descriptor_hash(ndr, "sd_hs", r->sd_hs);
736 ndr->depth--;
737 break;
739 default:
740 ndr_print_bad_level(ndr, name, level);
744 _PUBLIC_ enum ndr_err_code ndr_push_xattr_NTACL(struct ndr_push *ndr, int ndr_flags, const struct xattr_NTACL *r)
746 if (ndr_flags & NDR_SCALARS) {
747 NDR_CHECK(ndr_push_align(ndr, 4));
748 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->version));
749 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->version));
750 NDR_CHECK(ndr_push_xattr_NTACL_Info(ndr, NDR_SCALARS, &r->info));
752 if (ndr_flags & NDR_BUFFERS) {
753 NDR_CHECK(ndr_push_xattr_NTACL_Info(ndr, NDR_BUFFERS, &r->info));
755 return NDR_ERR_SUCCESS;
758 _PUBLIC_ enum ndr_err_code ndr_pull_xattr_NTACL(struct ndr_pull *ndr, int ndr_flags, struct xattr_NTACL *r)
760 if (ndr_flags & NDR_SCALARS) {
761 NDR_CHECK(ndr_pull_align(ndr, 4));
762 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->version));
763 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->version));
764 NDR_CHECK(ndr_pull_xattr_NTACL_Info(ndr, NDR_SCALARS, &r->info));
766 if (ndr_flags & NDR_BUFFERS) {
767 NDR_CHECK(ndr_pull_xattr_NTACL_Info(ndr, NDR_BUFFERS, &r->info));
769 return NDR_ERR_SUCCESS;
772 _PUBLIC_ void ndr_print_xattr_NTACL(struct ndr_print *ndr, const char *name, const struct xattr_NTACL *r)
774 ndr_print_struct(ndr, name, "xattr_NTACL");
775 ndr->depth++;
776 ndr_print_uint16(ndr, "version", r->version);
777 ndr_print_set_switch_value(ndr, &r->info, r->version);
778 ndr_print_xattr_NTACL_Info(ndr, "info", &r->info);
779 ndr->depth--;