root/librpc/gen_ndr/ndr_xattr.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. ndr_push_xattr_DosInfo1
  2. ndr_pull_xattr_DosInfo1
  3. ndr_print_xattr_DosInfo1
  4. ndr_push_xattr_DosInfo2Old
  5. ndr_pull_xattr_DosInfo2Old
  6. ndr_print_xattr_DosInfo2Old
  7. ndr_push_xattr_DosInfo
  8. ndr_pull_xattr_DosInfo
  9. ndr_print_xattr_DosInfo
  10. ndr_push_xattr_DosAttrib
  11. ndr_pull_xattr_DosAttrib
  12. ndr_print_xattr_DosAttrib
  13. ndr_push_xattr_EA
  14. ndr_pull_xattr_EA
  15. ndr_print_xattr_EA
  16. ndr_push_xattr_DosEAs
  17. ndr_pull_xattr_DosEAs
  18. ndr_print_xattr_DosEAs
  19. ndr_push_tdb_xattrs
  20. ndr_pull_tdb_xattrs
  21. ndr_print_tdb_xattrs
  22. ndr_push_xattr_DosStream
  23. ndr_pull_xattr_DosStream
  24. ndr_print_xattr_DosStream
  25. ndr_push_xattr_DosStreams
  26. ndr_pull_xattr_DosStreams
  27. ndr_print_xattr_DosStreams
  28. ndr_push_security_descriptor_hash
  29. ndr_pull_security_descriptor_hash
  30. ndr_print_security_descriptor_hash
  31. ndr_push_xattr_NTACL_Info
  32. ndr_pull_xattr_NTACL_Info
  33. ndr_print_xattr_NTACL_Info
  34. ndr_push_xattr_NTACL
  35. ndr_pull_xattr_NTACL
  36. ndr_print_xattr_NTACL

   1 /* parser auto-generated by pidl */
   2 
   3 #include "includes.h"
   4 #include "../librpc/gen_ndr/ndr_xattr.h"
   5 
   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)
     /* [<][>][^][v][top][bottom][index][help] */
   8 {
   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));
  17         }
  18         if (ndr_flags & NDR_BUFFERS) {
  19         }
  20         return NDR_ERR_SUCCESS;
  21 }
  22 
  23 static enum ndr_err_code ndr_pull_xattr_DosInfo1(struct ndr_pull *ndr, int ndr_flags, struct xattr_DosInfo1 *r)
     /* [<][>][^][v][top][bottom][index][help] */
  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->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));
  33         }
  34         if (ndr_flags & NDR_BUFFERS) {
  35         }
  36         return NDR_ERR_SUCCESS;
  37 }
  38 
  39 _PUBLIC_ void ndr_print_xattr_DosInfo1(struct ndr_print *ndr, const char *name, const struct xattr_DosInfo1 *r)
     /* [<][>][^][v][top][bottom][index][help] */
  40 {
  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--;
  50 }
  51 
  52 static enum ndr_err_code ndr_push_xattr_DosInfo2Old(struct ndr_push *ndr, int ndr_flags, const struct xattr_DosInfo2Old *r)
     /* [<][>][^][v][top][bottom][index][help] */
  53 {
  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));
  64                 {
  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;
  69                 }
  70         }
  71         if (ndr_flags & NDR_BUFFERS) {
  72         }
  73         return NDR_ERR_SUCCESS;
  74 }
  75 
  76 static enum ndr_err_code ndr_pull_xattr_DosInfo2Old(struct ndr_pull *ndr, int ndr_flags, struct xattr_DosInfo2Old *r)
     /* [<][>][^][v][top][bottom][index][help] */
  77 {
  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));
  88                 {
  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;
  93                 }
  94         }
  95         if (ndr_flags & NDR_BUFFERS) {
  96         }
  97         return NDR_ERR_SUCCESS;
  98 }
  99 
 100 _PUBLIC_ void ndr_print_xattr_DosInfo2Old(struct ndr_print *ndr, const char *name, const struct xattr_DosInfo2Old *r)
     /* [<][>][^][v][top][bottom][index][help] */
 101 {
 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--;
 114 }
 115 
 116 static enum ndr_err_code ndr_push_xattr_DosInfo(struct ndr_push *ndr, int ndr_flags, const union xattr_DosInfo *r)
     /* [<][>][^][v][top][bottom][index][help] */
 117 {
 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; }
 125 
 126                         case 2: {
 127                                 NDR_CHECK(ndr_push_xattr_DosInfo2Old(ndr, NDR_SCALARS, &r->oldinfo2));
 128                         break; }
 129 
 130                         default:
 131                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
 132                 }
 133         }
 134         if (ndr_flags & NDR_BUFFERS) {
 135                 int level = ndr_push_get_switch_value(ndr, r);
 136                 switch (level) {
 137                         case 1:
 138                         break;
 139 
 140                         case 2:
 141                         break;
 142 
 143                         default:
 144                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
 145                 }
 146         }
 147         return NDR_ERR_SUCCESS;
 148 }
 149 
 150 static enum ndr_err_code ndr_pull_xattr_DosInfo(struct ndr_pull *ndr, int ndr_flags, union xattr_DosInfo *r)
     /* [<][>][^][v][top][bottom][index][help] */
 151 {
 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);
 159                 }
 160                 switch (level) {
 161                         case 1: {
 162                                 NDR_CHECK(ndr_pull_xattr_DosInfo1(ndr, NDR_SCALARS, &r->info1));
 163                         break; }
 164 
 165                         case 2: {
 166                                 NDR_CHECK(ndr_pull_xattr_DosInfo2Old(ndr, NDR_SCALARS, &r->oldinfo2));
 167                         break; }
 168 
 169                         default:
 170                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
 171                 }
 172         }
 173         if (ndr_flags & NDR_BUFFERS) {
 174                 switch (level) {
 175                         case 1:
 176                         break;
 177 
 178                         case 2:
 179                         break;
 180 
 181                         default:
 182                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
 183                 }
 184         }
 185         return NDR_ERR_SUCCESS;
 186 }
 187 
 188 _PUBLIC_ void ndr_print_xattr_DosInfo(struct ndr_print *ndr, const char *name, const union xattr_DosInfo *r)
     /* [<][>][^][v][top][bottom][index][help] */
 189 {
 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;
 197 
 198                 case 2:
 199                         ndr_print_xattr_DosInfo2Old(ndr, "oldinfo2", &r->oldinfo2);
 200                 break;
 201 
 202                 default:
 203                         ndr_print_bad_level(ndr, name, level);
 204         }
 205 }
 206 
 207 _PUBLIC_ enum ndr_err_code ndr_push_xattr_DosAttrib(struct ndr_push *ndr, int ndr_flags, const struct xattr_DosAttrib *r)
     /* [<][>][^][v][top][bottom][index][help] */
 208 {
 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));
 214         }
 215         if (ndr_flags & NDR_BUFFERS) {
 216         }
 217         return NDR_ERR_SUCCESS;
 218 }
 219 
 220 _PUBLIC_ enum ndr_err_code ndr_pull_xattr_DosAttrib(struct ndr_pull *ndr, int ndr_flags, struct xattr_DosAttrib *r)
     /* [<][>][^][v][top][bottom][index][help] */
 221 {
 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));
 227         }
 228         if (ndr_flags & NDR_BUFFERS) {
 229         }
 230         return NDR_ERR_SUCCESS;
 231 }
 232 
 233 _PUBLIC_ void ndr_print_xattr_DosAttrib(struct ndr_print *ndr, const char *name, const struct xattr_DosAttrib *r)
     /* [<][>][^][v][top][bottom][index][help] */
 234 {
 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--;
 241 }
 242 
 243 static enum ndr_err_code ndr_push_xattr_EA(struct ndr_push *ndr, int ndr_flags, const struct xattr_EA *r)
     /* [<][>][^][v][top][bottom][index][help] */
 244 {
 245         if (ndr_flags & NDR_SCALARS) {
 246                 NDR_CHECK(ndr_push_align(ndr, 4));
 247                 {
 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;
 252                 }
 253                 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->value));
 254         }
 255         if (ndr_flags & NDR_BUFFERS) {
 256         }
 257         return NDR_ERR_SUCCESS;
 258 }
 259 
 260 static enum ndr_err_code ndr_pull_xattr_EA(struct ndr_pull *ndr, int ndr_flags, struct xattr_EA *r)
     /* [<][>][^][v][top][bottom][index][help] */
 261 {
 262         if (ndr_flags & NDR_SCALARS) {
 263                 NDR_CHECK(ndr_pull_align(ndr, 4));
 264                 {
 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;
 269                 }
 270                 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->value));
 271         }
 272         if (ndr_flags & NDR_BUFFERS) {
 273         }
 274         return NDR_ERR_SUCCESS;
 275 }
 276 
 277 _PUBLIC_ void ndr_print_xattr_EA(struct ndr_print *ndr, const char *name, const struct xattr_EA *r)
     /* [<][>][^][v][top][bottom][index][help] */
 278 {
 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--;
 284 }
 285 
 286 _PUBLIC_ enum ndr_err_code ndr_push_xattr_DosEAs(struct ndr_push *ndr, int ndr_flags, const struct xattr_DosEAs *r)
     /* [<][>][^][v][top][bottom][index][help] */
 287 {
 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));
 293         }
 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]));
 299                         }
 300                 }
 301         }
 302         return NDR_ERR_SUCCESS;
 303 }
 304 
 305 _PUBLIC_ enum ndr_err_code ndr_pull_xattr_DosEAs(struct ndr_pull *ndr, int ndr_flags, struct xattr_DosEAs *r)
     /* [<][>][^][v][top][bottom][index][help] */
 306 {
 307         uint32_t _ptr_eas;
 308         uint32_t cntr_eas_1;
 309         TALLOC_CTX *_mem_save_eas_0;
 310         TALLOC_CTX *_mem_save_eas_1;
 311         if (ndr_flags & NDR_SCALARS) {
 312                 NDR_CHECK(ndr_pull_align(ndr, 4));
 313                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->num_eas));
 314                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_eas));
 315                 if (_ptr_eas) {
 316                         NDR_PULL_ALLOC(ndr, r->eas);
 317                 } else {
 318                         r->eas = NULL;
 319                 }
 320         }
 321         if (ndr_flags & NDR_BUFFERS) {
 322                 if (r->eas) {
 323                         _mem_save_eas_0 = NDR_PULL_GET_MEM_CTX(ndr);
 324                         NDR_PULL_SET_MEM_CTX(ndr, r->eas, 0);
 325                         NDR_CHECK(ndr_pull_array_size(ndr, &r->eas));
 326                         NDR_PULL_ALLOC_N(ndr, r->eas, ndr_get_array_size(ndr, &r->eas));
 327                         _mem_save_eas_1 = NDR_PULL_GET_MEM_CTX(ndr);
 328                         NDR_PULL_SET_MEM_CTX(ndr, r->eas, 0);
 329                         for (cntr_eas_1 = 0; cntr_eas_1 < r->num_eas; cntr_eas_1++) {
 330                                 NDR_CHECK(ndr_pull_xattr_EA(ndr, NDR_SCALARS, &r->eas[cntr_eas_1]));
 331                         }
 332                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_eas_1, 0);
 333                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_eas_0, 0);
 334                 }
 335                 if (r->eas) {
 336                         NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->eas, r->num_eas));
 337                 }
 338         }
 339         return NDR_ERR_SUCCESS;
 340 }
 341 
 342 _PUBLIC_ void ndr_print_xattr_DosEAs(struct ndr_print *ndr, const char *name, const struct xattr_DosEAs *r)
     /* [<][>][^][v][top][bottom][index][help] */
 343 {
 344         uint32_t cntr_eas_1;
 345         ndr_print_struct(ndr, name, "xattr_DosEAs");
 346         ndr->depth++;
 347         ndr_print_uint16(ndr, "num_eas", r->num_eas);
 348         ndr_print_ptr(ndr, "eas", r->eas);
 349         ndr->depth++;
 350         if (r->eas) {
 351                 ndr->print(ndr, "%s: ARRAY(%d)", "eas", (int)r->num_eas);
 352                 ndr->depth++;
 353                 for (cntr_eas_1=0;cntr_eas_1<r->num_eas;cntr_eas_1++) {
 354                         char *idx_1=NULL;
 355                         if (asprintf(&idx_1, "[%d]", cntr_eas_1) != -1) {
 356                                 ndr_print_xattr_EA(ndr, "eas", &r->eas[cntr_eas_1]);
 357                                 free(idx_1);
 358                         }
 359                 }
 360                 ndr->depth--;
 361         }
 362         ndr->depth--;
 363         ndr->depth--;
 364 }
 365 
 366 _PUBLIC_ enum ndr_err_code ndr_push_tdb_xattrs(struct ndr_push *ndr, int ndr_flags, const struct tdb_xattrs *r)
     /* [<][>][^][v][top][bottom][index][help] */
 367 {
 368         uint32_t cntr_eas_0;
 369         if (ndr_flags & NDR_SCALARS) {
 370                 NDR_CHECK(ndr_push_align(ndr, 4));
 371                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_eas));
 372                 for (cntr_eas_0 = 0; cntr_eas_0 < r->num_eas; cntr_eas_0++) {
 373                         NDR_CHECK(ndr_push_xattr_EA(ndr, NDR_SCALARS, &r->eas[cntr_eas_0]));
 374                 }
 375         }
 376         if (ndr_flags & NDR_BUFFERS) {
 377         }
 378         return NDR_ERR_SUCCESS;
 379 }
 380 
 381 _PUBLIC_ enum ndr_err_code ndr_pull_tdb_xattrs(struct ndr_pull *ndr, int ndr_flags, struct tdb_xattrs *r)
     /* [<][>][^][v][top][bottom][index][help] */
 382 {
 383         uint32_t cntr_eas_0;
 384         TALLOC_CTX *_mem_save_eas_0;
 385         if (ndr_flags & NDR_SCALARS) {
 386                 NDR_CHECK(ndr_pull_align(ndr, 4));
 387                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_eas));
 388                 NDR_PULL_ALLOC_N(ndr, r->eas, r->num_eas);
 389                 _mem_save_eas_0 = NDR_PULL_GET_MEM_CTX(ndr);
 390                 NDR_PULL_SET_MEM_CTX(ndr, r->eas, 0);
 391                 for (cntr_eas_0 = 0; cntr_eas_0 < r->num_eas; cntr_eas_0++) {
 392                         NDR_CHECK(ndr_pull_xattr_EA(ndr, NDR_SCALARS, &r->eas[cntr_eas_0]));
 393                 }
 394                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_eas_0, 0);
 395         }
 396         if (ndr_flags & NDR_BUFFERS) {
 397         }
 398         return NDR_ERR_SUCCESS;
 399 }
 400 
 401 _PUBLIC_ void ndr_print_tdb_xattrs(struct ndr_print *ndr, const char *name, const struct tdb_xattrs *r)
     /* [<][>][^][v][top][bottom][index][help] */
 402 {
 403         uint32_t cntr_eas_0;
 404         ndr_print_struct(ndr, name, "tdb_xattrs");
 405         ndr->depth++;
 406         ndr_print_uint32(ndr, "num_eas", r->num_eas);
 407         ndr->print(ndr, "%s: ARRAY(%d)", "eas", (int)r->num_eas);
 408         ndr->depth++;
 409         for (cntr_eas_0=0;cntr_eas_0<r->num_eas;cntr_eas_0++) {
 410                 char *idx_0=NULL;
 411                 if (asprintf(&idx_0, "[%d]", cntr_eas_0) != -1) {
 412                         ndr_print_xattr_EA(ndr, "eas", &r->eas[cntr_eas_0]);
 413                         free(idx_0);
 414                 }
 415         }
 416         ndr->depth--;
 417         ndr->depth--;
 418 }
 419 
 420 static enum ndr_err_code ndr_push_xattr_DosStream(struct ndr_push *ndr, int ndr_flags, const struct xattr_DosStream *r)
     /* [<][>][^][v][top][bottom][index][help] */
 421 {
 422         if (ndr_flags & NDR_SCALARS) {
 423                 NDR_CHECK(ndr_push_align(ndr, 4));
 424                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
 425                 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->size));
 426                 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->alloc_size));
 427                 {
 428                         uint32_t _flags_save_string = ndr->flags;
 429                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM);
 430                         NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->name));
 431                         ndr->flags = _flags_save_string;
 432                 }
 433         }
 434         if (ndr_flags & NDR_BUFFERS) {
 435         }
 436         return NDR_ERR_SUCCESS;
 437 }
 438 
 439 static enum ndr_err_code ndr_pull_xattr_DosStream(struct ndr_pull *ndr, int ndr_flags, struct xattr_DosStream *r)
     /* [<][>][^][v][top][bottom][index][help] */
 440 {
 441         if (ndr_flags & NDR_SCALARS) {
 442                 NDR_CHECK(ndr_pull_align(ndr, 4));
 443                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
 444                 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->size));
 445                 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->alloc_size));
 446                 {
 447                         uint32_t _flags_save_string = ndr->flags;
 448                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM);
 449                         NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->name));
 450                         ndr->flags = _flags_save_string;
 451                 }
 452         }
 453         if (ndr_flags & NDR_BUFFERS) {
 454         }
 455         return NDR_ERR_SUCCESS;
 456 }
 457 
 458 _PUBLIC_ void ndr_print_xattr_DosStream(struct ndr_print *ndr, const char *name, const struct xattr_DosStream *r)
     /* [<][>][^][v][top][bottom][index][help] */
 459 {
 460         ndr_print_struct(ndr, name, "xattr_DosStream");
 461         ndr->depth++;
 462         ndr_print_uint32(ndr, "flags", r->flags);
 463         ndr_print_udlong(ndr, "size", r->size);
 464         ndr_print_udlong(ndr, "alloc_size", r->alloc_size);
 465         ndr_print_string(ndr, "name", r->name);
 466         ndr->depth--;
 467 }
 468 
 469 _PUBLIC_ enum ndr_err_code ndr_push_xattr_DosStreams(struct ndr_push *ndr, int ndr_flags, const struct xattr_DosStreams *r)
     /* [<][>][^][v][top][bottom][index][help] */
 470 {
 471         uint32_t cntr_streams_1;
 472         if (ndr_flags & NDR_SCALARS) {
 473                 NDR_CHECK(ndr_push_align(ndr, 4));
 474                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_streams));
 475                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->streams));
 476         }
 477         if (ndr_flags & NDR_BUFFERS) {
 478                 if (r->streams) {
 479                         NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_streams));
 480                         for (cntr_streams_1 = 0; cntr_streams_1 < r->num_streams; cntr_streams_1++) {
 481                                 NDR_CHECK(ndr_push_xattr_DosStream(ndr, NDR_SCALARS, &r->streams[cntr_streams_1]));
 482                         }
 483                 }
 484         }
 485         return NDR_ERR_SUCCESS;
 486 }
 487 
 488 _PUBLIC_ enum ndr_err_code ndr_pull_xattr_DosStreams(struct ndr_pull *ndr, int ndr_flags, struct xattr_DosStreams *r)
     /* [<][>][^][v][top][bottom][index][help] */
 489 {
 490         uint32_t _ptr_streams;
 491         uint32_t cntr_streams_1;
 492         TALLOC_CTX *_mem_save_streams_0;
 493         TALLOC_CTX *_mem_save_streams_1;
 494         if (ndr_flags & NDR_SCALARS) {
 495                 NDR_CHECK(ndr_pull_align(ndr, 4));
 496                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_streams));
 497                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_streams));
 498                 if (_ptr_streams) {
 499                         NDR_PULL_ALLOC(ndr, r->streams);
 500                 } else {
 501                         r->streams = NULL;
 502                 }
 503         }
 504         if (ndr_flags & NDR_BUFFERS) {
 505                 if (r->streams) {
 506                         _mem_save_streams_0 = NDR_PULL_GET_MEM_CTX(ndr);
 507                         NDR_PULL_SET_MEM_CTX(ndr, r->streams, 0);
 508                         NDR_CHECK(ndr_pull_array_size(ndr, &r->streams));
 509                         NDR_PULL_ALLOC_N(ndr, r->streams, ndr_get_array_size(ndr, &r->streams));
 510                         _mem_save_streams_1 = NDR_PULL_GET_MEM_CTX(ndr);
 511                         NDR_PULL_SET_MEM_CTX(ndr, r->streams, 0);
 512                         for (cntr_streams_1 = 0; cntr_streams_1 < r->num_streams; cntr_streams_1++) {
 513                                 NDR_CHECK(ndr_pull_xattr_DosStream(ndr, NDR_SCALARS, &r->streams[cntr_streams_1]));
 514                         }
 515                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_streams_1, 0);
 516                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_streams_0, 0);
 517                 }
 518                 if (r->streams) {
 519                         NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->streams, r->num_streams));
 520                 }
 521         }
 522         return NDR_ERR_SUCCESS;
 523 }
 524 
 525 _PUBLIC_ void ndr_print_xattr_DosStreams(struct ndr_print *ndr, const char *name, const struct xattr_DosStreams *r)
     /* [<][>][^][v][top][bottom][index][help] */
 526 {
 527         uint32_t cntr_streams_1;
 528         ndr_print_struct(ndr, name, "xattr_DosStreams");
 529         ndr->depth++;
 530         ndr_print_uint32(ndr, "num_streams", r->num_streams);
 531         ndr_print_ptr(ndr, "streams", r->streams);
 532         ndr->depth++;
 533         if (r->streams) {
 534                 ndr->print(ndr, "%s: ARRAY(%d)", "streams", (int)r->num_streams);
 535                 ndr->depth++;
 536                 for (cntr_streams_1=0;cntr_streams_1<r->num_streams;cntr_streams_1++) {
 537                         char *idx_1=NULL;
 538                         if (asprintf(&idx_1, "[%d]", cntr_streams_1) != -1) {
 539                                 ndr_print_xattr_DosStream(ndr, "streams", &r->streams[cntr_streams_1]);
 540                                 free(idx_1);
 541                         }
 542                 }
 543                 ndr->depth--;
 544         }
 545         ndr->depth--;
 546         ndr->depth--;
 547 }
 548 
 549 _PUBLIC_ enum ndr_err_code ndr_push_security_descriptor_hash(struct ndr_push *ndr, int ndr_flags, const struct security_descriptor_hash *r)
     /* [<][>][^][v][top][bottom][index][help] */
 550 {
 551         if (ndr_flags & NDR_SCALARS) {
 552                 NDR_CHECK(ndr_push_align(ndr, 4));
 553                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sd));
 554                 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->hash, 16));
 555         }
 556         if (ndr_flags & NDR_BUFFERS) {
 557                 if (r->sd) {
 558                         NDR_CHECK(ndr_push_security_descriptor(ndr, NDR_SCALARS|NDR_BUFFERS, r->sd));
 559                 }
 560         }
 561         return NDR_ERR_SUCCESS;
 562 }
 563 
 564 _PUBLIC_ enum ndr_err_code ndr_pull_security_descriptor_hash(struct ndr_pull *ndr, int ndr_flags, struct security_descriptor_hash *r)
     /* [<][>][^][v][top][bottom][index][help] */
 565 {
 566         uint32_t _ptr_sd;
 567         TALLOC_CTX *_mem_save_sd_0;
 568         if (ndr_flags & NDR_SCALARS) {
 569                 NDR_CHECK(ndr_pull_align(ndr, 4));
 570                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sd));
 571                 if (_ptr_sd) {
 572                         NDR_PULL_ALLOC(ndr, r->sd);
 573                 } else {
 574                         r->sd = NULL;
 575                 }
 576                 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->hash, 16));
 577         }
 578         if (ndr_flags & NDR_BUFFERS) {
 579                 if (r->sd) {
 580                         _mem_save_sd_0 = NDR_PULL_GET_MEM_CTX(ndr);
 581                         NDR_PULL_SET_MEM_CTX(ndr, r->sd, 0);
 582                         NDR_CHECK(ndr_pull_security_descriptor(ndr, NDR_SCALARS|NDR_BUFFERS, r->sd));
 583                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sd_0, 0);
 584                 }
 585         }
 586         return NDR_ERR_SUCCESS;
 587 }
 588 
 589 _PUBLIC_ void ndr_print_security_descriptor_hash(struct ndr_print *ndr, const char *name, const struct security_descriptor_hash *r)
     /* [<][>][^][v][top][bottom][index][help] */
 590 {
 591         ndr_print_struct(ndr, name, "security_descriptor_hash");
 592         ndr->depth++;
 593         ndr_print_ptr(ndr, "sd", r->sd);
 594         ndr->depth++;
 595         if (r->sd) {
 596                 ndr_print_security_descriptor(ndr, "sd", r->sd);
 597         }
 598         ndr->depth--;
 599         ndr_print_array_uint8(ndr, "hash", r->hash, 16);
 600         ndr->depth--;
 601 }
 602 
 603 static enum ndr_err_code ndr_push_xattr_NTACL_Info(struct ndr_push *ndr, int ndr_flags, const union xattr_NTACL_Info *r)
     /* [<][>][^][v][top][bottom][index][help] */
 604 {
 605         if (ndr_flags & NDR_SCALARS) {
 606                 int level = ndr_push_get_switch_value(ndr, r);
 607                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level));
 608                 switch (level) {
 609                         case 1: {
 610                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sd));
 611                         break; }
 612 
 613                         case 2: {
 614                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sd_hs));
 615                         break; }
 616 
 617                         default:
 618                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
 619                 }
 620         }
 621         if (ndr_flags & NDR_BUFFERS) {
 622                 int level = ndr_push_get_switch_value(ndr, r);
 623                 switch (level) {
 624                         case 1:
 625                                 if (r->sd) {
 626                                         NDR_CHECK(ndr_push_security_descriptor(ndr, NDR_SCALARS|NDR_BUFFERS, r->sd));
 627                                 }
 628                         break;
 629 
 630                         case 2:
 631                                 if (r->sd_hs) {
 632                                         NDR_CHECK(ndr_push_security_descriptor_hash(ndr, NDR_SCALARS|NDR_BUFFERS, r->sd_hs));
 633                                 }
 634                         break;
 635 
 636                         default:
 637                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
 638                 }
 639         }
 640         return NDR_ERR_SUCCESS;
 641 }
 642 
 643 static enum ndr_err_code ndr_pull_xattr_NTACL_Info(struct ndr_pull *ndr, int ndr_flags, union xattr_NTACL_Info *r)
     /* [<][>][^][v][top][bottom][index][help] */
 644 {
 645         int level;
 646         uint16_t _level;
 647         TALLOC_CTX *_mem_save_sd_0;
 648         TALLOC_CTX *_mem_save_sd_hs_0;
 649         level = ndr_pull_get_switch_value(ndr, r);
 650         if (ndr_flags & NDR_SCALARS) {
 651                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
 652                 if (_level != level) {
 653                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
 654                 }
 655                 switch (level) {
 656                         case 1: {
 657                                 uint32_t _ptr_sd;
 658                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sd));
 659                                 if (_ptr_sd) {
 660                                         NDR_PULL_ALLOC(ndr, r->sd);
 661                                 } else {
 662                                         r->sd = NULL;
 663                                 }
 664                         break; }
 665 
 666                         case 2: {
 667                                 uint32_t _ptr_sd_hs;
 668                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sd_hs));
 669                                 if (_ptr_sd_hs) {
 670                                         NDR_PULL_ALLOC(ndr, r->sd_hs);
 671                                 } else {
 672                                         r->sd_hs = NULL;
 673                                 }
 674                         break; }
 675 
 676                         default:
 677                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
 678                 }
 679         }
 680         if (ndr_flags & NDR_BUFFERS) {
 681                 switch (level) {
 682                         case 1:
 683                                 if (r->sd) {
 684                                         _mem_save_sd_0 = NDR_PULL_GET_MEM_CTX(ndr);
 685                                         NDR_PULL_SET_MEM_CTX(ndr, r->sd, 0);
 686                                         NDR_CHECK(ndr_pull_security_descriptor(ndr, NDR_SCALARS|NDR_BUFFERS, r->sd));
 687                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sd_0, 0);
 688                                 }
 689                         break;
 690 
 691                         case 2:
 692                                 if (r->sd_hs) {
 693                                         _mem_save_sd_hs_0 = NDR_PULL_GET_MEM_CTX(ndr);
 694                                         NDR_PULL_SET_MEM_CTX(ndr, r->sd_hs, 0);
 695                                         NDR_CHECK(ndr_pull_security_descriptor_hash(ndr, NDR_SCALARS|NDR_BUFFERS, r->sd_hs));
 696                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sd_hs_0, 0);
 697                                 }
 698                         break;
 699 
 700                         default:
 701                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
 702                 }
 703         }
 704         return NDR_ERR_SUCCESS;
 705 }
 706 
 707 _PUBLIC_ void ndr_print_xattr_NTACL_Info(struct ndr_print *ndr, const char *name, const union xattr_NTACL_Info *r)
     /* [<][>][^][v][top][bottom][index][help] */
 708 {
 709         int level;
 710         level = ndr_print_get_switch_value(ndr, r);
 711         ndr_print_union(ndr, name, level, "xattr_NTACL_Info");
 712         switch (level) {
 713                 case 1:
 714                         ndr_print_ptr(ndr, "sd", r->sd);
 715                         ndr->depth++;
 716                         if (r->sd) {
 717                                 ndr_print_security_descriptor(ndr, "sd", r->sd);
 718                         }
 719                         ndr->depth--;
 720                 break;
 721 
 722                 case 2:
 723                         ndr_print_ptr(ndr, "sd_hs", r->sd_hs);
 724                         ndr->depth++;
 725                         if (r->sd_hs) {
 726                                 ndr_print_security_descriptor_hash(ndr, "sd_hs", r->sd_hs);
 727                         }
 728                         ndr->depth--;
 729                 break;
 730 
 731                 default:
 732                         ndr_print_bad_level(ndr, name, level);
 733         }
 734 }
 735 
 736 _PUBLIC_ enum ndr_err_code ndr_push_xattr_NTACL(struct ndr_push *ndr, int ndr_flags, const struct xattr_NTACL *r)
     /* [<][>][^][v][top][bottom][index][help] */
 737 {
 738         if (ndr_flags & NDR_SCALARS) {
 739                 NDR_CHECK(ndr_push_align(ndr, 4));
 740                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->version));
 741                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->version));
 742                 NDR_CHECK(ndr_push_xattr_NTACL_Info(ndr, NDR_SCALARS, &r->info));
 743         }
 744         if (ndr_flags & NDR_BUFFERS) {
 745                 NDR_CHECK(ndr_push_xattr_NTACL_Info(ndr, NDR_BUFFERS, &r->info));
 746         }
 747         return NDR_ERR_SUCCESS;
 748 }
 749 
 750 _PUBLIC_ enum ndr_err_code ndr_pull_xattr_NTACL(struct ndr_pull *ndr, int ndr_flags, struct xattr_NTACL *r)
     /* [<][>][^][v][top][bottom][index][help] */
 751 {
 752         if (ndr_flags & NDR_SCALARS) {
 753                 NDR_CHECK(ndr_pull_align(ndr, 4));
 754                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->version));
 755                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->version));
 756                 NDR_CHECK(ndr_pull_xattr_NTACL_Info(ndr, NDR_SCALARS, &r->info));
 757         }
 758         if (ndr_flags & NDR_BUFFERS) {
 759                 NDR_CHECK(ndr_pull_xattr_NTACL_Info(ndr, NDR_BUFFERS, &r->info));
 760         }
 761         return NDR_ERR_SUCCESS;
 762 }
 763 
 764 _PUBLIC_ void ndr_print_xattr_NTACL(struct ndr_print *ndr, const char *name, const struct xattr_NTACL *r)
     /* [<][>][^][v][top][bottom][index][help] */
 765 {
 766         ndr_print_struct(ndr, name, "xattr_NTACL");
 767         ndr->depth++;
 768         ndr_print_uint16(ndr, "version", r->version);
 769         ndr_print_set_switch_value(ndr, &r->info, r->version);
 770         ndr_print_xattr_NTACL_Info(ndr, "info", &r->info);
 771         ndr->depth--;
 772 }
 773 

/* [<][>][^][v][top][bottom][index][help] */