1/* parser auto-generated by pidl */ 2 3#include "includes.h" 4#include "../librpc/gen_ndr/ndr_drsblobs.h" 5 6#include "librpc/gen_ndr/ndr_drsuapi.h" 7#include "librpc/gen_ndr/ndr_misc.h" 8#include "librpc/gen_ndr/ndr_samr.h" 9#include "librpc/gen_ndr/ndr_lsa.h" 10static enum ndr_err_code ndr_push_replPropertyMetaData1(struct ndr_push *ndr, int ndr_flags, const struct replPropertyMetaData1 *r) 11{ 12 if (ndr_flags & NDR_SCALARS) { 13 NDR_CHECK(ndr_push_align(ndr, 8)); 14 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attid)); 15 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version)); 16 NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->originating_change_time)); 17 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id)); 18 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn)); 19 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn)); 20 NDR_CHECK(ndr_push_trailer_align(ndr, 8)); 21 } 22 if (ndr_flags & NDR_BUFFERS) { 23 } 24 return NDR_ERR_SUCCESS; 25} 26 27static enum ndr_err_code ndr_pull_replPropertyMetaData1(struct ndr_pull *ndr, int ndr_flags, struct replPropertyMetaData1 *r) 28{ 29 if (ndr_flags & NDR_SCALARS) { 30 NDR_CHECK(ndr_pull_align(ndr, 8)); 31 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attid)); 32 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version)); 33 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->originating_change_time)); 34 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id)); 35 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn)); 36 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn)); 37 NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); 38 } 39 if (ndr_flags & NDR_BUFFERS) { 40 } 41 return NDR_ERR_SUCCESS; 42} 43 44_PUBLIC_ void ndr_print_replPropertyMetaData1(struct ndr_print *ndr, const char *name, const struct replPropertyMetaData1 *r) 45{ 46 ndr_print_struct(ndr, name, "replPropertyMetaData1"); 47 ndr->depth++; 48 ndr_print_drsuapi_DsAttributeId(ndr, "attid", r->attid); 49 ndr_print_uint32(ndr, "version", r->version); 50 ndr_print_NTTIME_1sec(ndr, "originating_change_time", r->originating_change_time); 51 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id); 52 ndr_print_hyper(ndr, "originating_usn", r->originating_usn); 53 ndr_print_hyper(ndr, "local_usn", r->local_usn); 54 ndr->depth--; 55} 56 57static enum ndr_err_code ndr_push_replPropertyMetaDataCtr1(struct ndr_push *ndr, int ndr_flags, const struct replPropertyMetaDataCtr1 *r) 58{ 59 uint32_t cntr_array_0; 60 if (ndr_flags & NDR_SCALARS) { 61 NDR_CHECK(ndr_push_align(ndr, 8)); 62 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); 63 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved)); 64 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) { 65 NDR_CHECK(ndr_push_replPropertyMetaData1(ndr, NDR_SCALARS, &r->array[cntr_array_0])); 66 } 67 NDR_CHECK(ndr_push_trailer_align(ndr, 8)); 68 } 69 if (ndr_flags & NDR_BUFFERS) { 70 } 71 return NDR_ERR_SUCCESS; 72} 73 74static enum ndr_err_code ndr_pull_replPropertyMetaDataCtr1(struct ndr_pull *ndr, int ndr_flags, struct replPropertyMetaDataCtr1 *r) 75{ 76 uint32_t cntr_array_0; 77 TALLOC_CTX *_mem_save_array_0; 78 if (ndr_flags & NDR_SCALARS) { 79 NDR_CHECK(ndr_pull_align(ndr, 8)); 80 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); 81 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved)); 82 NDR_PULL_ALLOC_N(ndr, r->array, r->count); 83 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr); 84 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); 85 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) { 86 NDR_CHECK(ndr_pull_replPropertyMetaData1(ndr, NDR_SCALARS, &r->array[cntr_array_0])); 87 } 88 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0); 89 NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); 90 } 91 if (ndr_flags & NDR_BUFFERS) { 92 } 93 return NDR_ERR_SUCCESS; 94} 95 96_PUBLIC_ void ndr_print_replPropertyMetaDataCtr1(struct ndr_print *ndr, const char *name, const struct replPropertyMetaDataCtr1 *r) 97{ 98 uint32_t cntr_array_0; 99 ndr_print_struct(ndr, name, "replPropertyMetaDataCtr1"); 100 ndr->depth++; 101 ndr_print_uint32(ndr, "count", r->count); 102 ndr_print_uint32(ndr, "reserved", r->reserved); 103 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count); 104 ndr->depth++; 105 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) { 106 char *idx_0=NULL; 107 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) { 108 ndr_print_replPropertyMetaData1(ndr, "array", &r->array[cntr_array_0]); 109 free(idx_0); 110 } 111 } 112 ndr->depth--; 113 ndr->depth--; 114} 115 116static enum ndr_err_code ndr_push_replPropertyMetaDataCtr(struct ndr_push *ndr, int ndr_flags, const union replPropertyMetaDataCtr *r) 117{ 118 if (ndr_flags & NDR_SCALARS) { 119 int level = ndr_push_get_switch_value(ndr, r); 120 NDR_CHECK(ndr_push_union_align(ndr, 8)); 121 switch (level) { 122 case 1: { 123 NDR_CHECK(ndr_push_replPropertyMetaDataCtr1(ndr, NDR_SCALARS, &r->ctr1)); 124 break; } 125 126 default: 127 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); 128 } 129 } 130 if (ndr_flags & NDR_BUFFERS) { 131 int level = ndr_push_get_switch_value(ndr, r); 132 switch (level) { 133 case 1: 134 break; 135 136 default: 137 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); 138 } 139 } 140 return NDR_ERR_SUCCESS; 141} 142 143static enum ndr_err_code ndr_pull_replPropertyMetaDataCtr(struct ndr_pull *ndr, int ndr_flags, union replPropertyMetaDataCtr *r) 144{ 145 int level; 146 level = ndr_pull_get_switch_value(ndr, r); 147 if (ndr_flags & NDR_SCALARS) { 148 NDR_CHECK(ndr_pull_union_align(ndr, 8)); 149 switch (level) { 150 case 1: { 151 NDR_CHECK(ndr_pull_replPropertyMetaDataCtr1(ndr, NDR_SCALARS, &r->ctr1)); 152 break; } 153 154 default: 155 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); 156 } 157 } 158 if (ndr_flags & NDR_BUFFERS) { 159 switch (level) { 160 case 1: 161 break; 162 163 default: 164 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); 165 } 166 } 167 return NDR_ERR_SUCCESS; 168} 169 170_PUBLIC_ void ndr_print_replPropertyMetaDataCtr(struct ndr_print *ndr, const char *name, const union replPropertyMetaDataCtr *r) 171{ 172 int level; 173 level = ndr_print_get_switch_value(ndr, r); 174 ndr_print_union(ndr, name, level, "replPropertyMetaDataCtr"); 175 switch (level) { 176 case 1: 177 ndr_print_replPropertyMetaDataCtr1(ndr, "ctr1", &r->ctr1); 178 break; 179 180 default: 181 ndr_print_bad_level(ndr, name, level); 182 } 183} 184 185_PUBLIC_ enum ndr_err_code ndr_push_replPropertyMetaDataBlob(struct ndr_push *ndr, int ndr_flags, const struct replPropertyMetaDataBlob *r) 186{ 187 if (ndr_flags & NDR_SCALARS) { 188 NDR_CHECK(ndr_push_align(ndr, 8)); 189 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version)); 190 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved)); 191 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->version)); 192 NDR_CHECK(ndr_push_replPropertyMetaDataCtr(ndr, NDR_SCALARS, &r->ctr)); 193 NDR_CHECK(ndr_push_trailer_align(ndr, 8)); 194 } 195 if (ndr_flags & NDR_BUFFERS) { 196 } 197 return NDR_ERR_SUCCESS; 198} 199 200_PUBLIC_ enum ndr_err_code ndr_pull_replPropertyMetaDataBlob(struct ndr_pull *ndr, int ndr_flags, struct replPropertyMetaDataBlob *r) 201{ 202 if (ndr_flags & NDR_SCALARS) { 203 NDR_CHECK(ndr_pull_align(ndr, 8)); 204 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version)); 205 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved)); 206 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->version)); 207 NDR_CHECK(ndr_pull_replPropertyMetaDataCtr(ndr, NDR_SCALARS, &r->ctr)); 208 NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); 209 } 210 if (ndr_flags & NDR_BUFFERS) { 211 } 212 return NDR_ERR_SUCCESS; 213} 214 215_PUBLIC_ void ndr_print_replPropertyMetaDataBlob(struct ndr_print *ndr, const char *name, const struct replPropertyMetaDataBlob *r) 216{ 217 ndr_print_struct(ndr, name, "replPropertyMetaDataBlob"); 218 ndr->depth++; 219 ndr_print_uint32(ndr, "version", r->version); 220 ndr_print_uint32(ndr, "reserved", r->reserved); 221 ndr_print_set_switch_value(ndr, &r->ctr, r->version); 222 ndr_print_replPropertyMetaDataCtr(ndr, "ctr", &r->ctr); 223 ndr->depth--; 224} 225 226static enum ndr_err_code ndr_push_replUpToDateVectorCtr1(struct ndr_push *ndr, int ndr_flags, const struct replUpToDateVectorCtr1 *r) 227{ 228 uint32_t cntr_cursors_0; 229 if (ndr_flags & NDR_SCALARS) { 230 NDR_CHECK(ndr_push_align(ndr, 8)); 231 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); 232 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved)); 233 for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) { 234 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0])); 235 } 236 NDR_CHECK(ndr_push_trailer_align(ndr, 8)); 237 } 238 if (ndr_flags & NDR_BUFFERS) { 239 } 240 return NDR_ERR_SUCCESS; 241} 242 243static enum ndr_err_code ndr_pull_replUpToDateVectorCtr1(struct ndr_pull *ndr, int ndr_flags, struct replUpToDateVectorCtr1 *r) 244{ 245 uint32_t cntr_cursors_0; 246 TALLOC_CTX *_mem_save_cursors_0; 247 if (ndr_flags & NDR_SCALARS) { 248 NDR_CHECK(ndr_pull_align(ndr, 8)); 249 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); 250 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved)); 251 NDR_PULL_ALLOC_N(ndr, r->cursors, r->count); 252 _mem_save_cursors_0 = NDR_PULL_GET_MEM_CTX(ndr); 253 NDR_PULL_SET_MEM_CTX(ndr, r->cursors, 0); 254 for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) { 255 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0])); 256 } 257 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors_0, 0); 258 NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); 259 } 260 if (ndr_flags & NDR_BUFFERS) { 261 } 262 return NDR_ERR_SUCCESS; 263} 264 265_PUBLIC_ void ndr_print_replUpToDateVectorCtr1(struct ndr_print *ndr, const char *name, const struct replUpToDateVectorCtr1 *r) 266{ 267 uint32_t cntr_cursors_0; 268 ndr_print_struct(ndr, name, "replUpToDateVectorCtr1"); 269 ndr->depth++; 270 ndr_print_uint32(ndr, "count", r->count); 271 ndr_print_uint32(ndr, "reserved", r->reserved); 272 ndr->print(ndr, "%s: ARRAY(%d)", "cursors", (int)r->count); 273 ndr->depth++; 274 for (cntr_cursors_0=0;cntr_cursors_0<r->count;cntr_cursors_0++) { 275 char *idx_0=NULL; 276 if (asprintf(&idx_0, "[%d]", cntr_cursors_0) != -1) { 277 ndr_print_drsuapi_DsReplicaCursor(ndr, "cursors", &r->cursors[cntr_cursors_0]); 278 free(idx_0); 279 } 280 } 281 ndr->depth--; 282 ndr->depth--; 283} 284 285static enum ndr_err_code ndr_push_replUpToDateVectorCtr2(struct ndr_push *ndr, int ndr_flags, const struct replUpToDateVectorCtr2 *r) 286{ 287 uint32_t cntr_cursors_0; 288 if (ndr_flags & NDR_SCALARS) { 289 NDR_CHECK(ndr_push_align(ndr, 8)); 290 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); 291 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved)); 292 for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) { 293 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0])); 294 } 295 NDR_CHECK(ndr_push_trailer_align(ndr, 8)); 296 } 297 if (ndr_flags & NDR_BUFFERS) { 298 } 299 return NDR_ERR_SUCCESS; 300} 301 302static enum ndr_err_code ndr_pull_replUpToDateVectorCtr2(struct ndr_pull *ndr, int ndr_flags, struct replUpToDateVectorCtr2 *r) 303{ 304 uint32_t cntr_cursors_0; 305 TALLOC_CTX *_mem_save_cursors_0; 306 if (ndr_flags & NDR_SCALARS) { 307 NDR_CHECK(ndr_pull_align(ndr, 8)); 308 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); 309 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved)); 310 NDR_PULL_ALLOC_N(ndr, r->cursors, r->count); 311 _mem_save_cursors_0 = NDR_PULL_GET_MEM_CTX(ndr); 312 NDR_PULL_SET_MEM_CTX(ndr, r->cursors, 0); 313 for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) { 314 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0])); 315 } 316 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors_0, 0); 317 NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); 318 } 319 if (ndr_flags & NDR_BUFFERS) { 320 } 321 return NDR_ERR_SUCCESS; 322} 323 324_PUBLIC_ void ndr_print_replUpToDateVectorCtr2(struct ndr_print *ndr, const char *name, const struct replUpToDateVectorCtr2 *r) 325{ 326 uint32_t cntr_cursors_0; 327 ndr_print_struct(ndr, name, "replUpToDateVectorCtr2"); 328 ndr->depth++; 329 ndr_print_uint32(ndr, "count", r->count); 330 ndr_print_uint32(ndr, "reserved", r->reserved); 331 ndr->print(ndr, "%s: ARRAY(%d)", "cursors", (int)r->count); 332 ndr->depth++; 333 for (cntr_cursors_0=0;cntr_cursors_0<r->count;cntr_cursors_0++) { 334 char *idx_0=NULL; 335 if (asprintf(&idx_0, "[%d]", cntr_cursors_0) != -1) { 336 ndr_print_drsuapi_DsReplicaCursor2(ndr, "cursors", &r->cursors[cntr_cursors_0]); 337 free(idx_0); 338 } 339 } 340 ndr->depth--; 341 ndr->depth--; 342} 343 344static enum ndr_err_code ndr_push_replUpToDateVectorCtr(struct ndr_push *ndr, int ndr_flags, const union replUpToDateVectorCtr *r) 345{ 346 if (ndr_flags & NDR_SCALARS) { 347 int level = ndr_push_get_switch_value(ndr, r); 348 NDR_CHECK(ndr_push_union_align(ndr, 8)); 349 switch (level) { 350 case 1: { 351 NDR_CHECK(ndr_push_replUpToDateVectorCtr1(ndr, NDR_SCALARS, &r->ctr1)); 352 break; } 353 354 case 2: { 355 NDR_CHECK(ndr_push_replUpToDateVectorCtr2(ndr, NDR_SCALARS, &r->ctr2)); 356 break; } 357 358 default: 359 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); 360 } 361 } 362 if (ndr_flags & NDR_BUFFERS) { 363 int level = ndr_push_get_switch_value(ndr, r); 364 switch (level) { 365 case 1: 366 break; 367 368 case 2: 369 break; 370 371 default: 372 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); 373 } 374 } 375 return NDR_ERR_SUCCESS; 376} 377 378static enum ndr_err_code ndr_pull_replUpToDateVectorCtr(struct ndr_pull *ndr, int ndr_flags, union replUpToDateVectorCtr *r) 379{ 380 int level; 381 level = ndr_pull_get_switch_value(ndr, r); 382 if (ndr_flags & NDR_SCALARS) { 383 NDR_CHECK(ndr_pull_union_align(ndr, 8)); 384 switch (level) { 385 case 1: { 386 NDR_CHECK(ndr_pull_replUpToDateVectorCtr1(ndr, NDR_SCALARS, &r->ctr1)); 387 break; } 388 389 case 2: { 390 NDR_CHECK(ndr_pull_replUpToDateVectorCtr2(ndr, NDR_SCALARS, &r->ctr2)); 391 break; } 392 393 default: 394 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); 395 } 396 } 397 if (ndr_flags & NDR_BUFFERS) { 398 switch (level) { 399 case 1: 400 break; 401 402 case 2: 403 break; 404 405 default: 406 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); 407 } 408 } 409 return NDR_ERR_SUCCESS; 410} 411 412_PUBLIC_ void ndr_print_replUpToDateVectorCtr(struct ndr_print *ndr, const char *name, const union replUpToDateVectorCtr *r) 413{ 414 int level; 415 level = ndr_print_get_switch_value(ndr, r); 416 ndr_print_union(ndr, name, level, "replUpToDateVectorCtr"); 417 switch (level) { 418 case 1: 419 ndr_print_replUpToDateVectorCtr1(ndr, "ctr1", &r->ctr1); 420 break; 421 422 case 2: 423 ndr_print_replUpToDateVectorCtr2(ndr, "ctr2", &r->ctr2); 424 break; 425 426 default: 427 ndr_print_bad_level(ndr, name, level); 428 } 429} 430 431_PUBLIC_ enum ndr_err_code ndr_push_replUpToDateVectorBlob(struct ndr_push *ndr, int ndr_flags, const struct replUpToDateVectorBlob *r) 432{ 433 if (ndr_flags & NDR_SCALARS) { 434 NDR_CHECK(ndr_push_align(ndr, 8)); 435 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version)); 436 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved)); 437 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->version)); 438 NDR_CHECK(ndr_push_replUpToDateVectorCtr(ndr, NDR_SCALARS, &r->ctr)); 439 NDR_CHECK(ndr_push_trailer_align(ndr, 8)); 440 } 441 if (ndr_flags & NDR_BUFFERS) { 442 } 443 return NDR_ERR_SUCCESS; 444} 445 446_PUBLIC_ enum ndr_err_code ndr_pull_replUpToDateVectorBlob(struct ndr_pull *ndr, int ndr_flags, struct replUpToDateVectorBlob *r) 447{ 448 if (ndr_flags & NDR_SCALARS) { 449 NDR_CHECK(ndr_pull_align(ndr, 8)); 450 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version)); 451 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved)); 452 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->version)); 453 NDR_CHECK(ndr_pull_replUpToDateVectorCtr(ndr, NDR_SCALARS, &r->ctr)); 454 NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); 455 } 456 if (ndr_flags & NDR_BUFFERS) { 457 } 458 return NDR_ERR_SUCCESS; 459} 460 461_PUBLIC_ void ndr_print_replUpToDateVectorBlob(struct ndr_print *ndr, const char *name, const struct replUpToDateVectorBlob *r) 462{ 463 ndr_print_struct(ndr, name, "replUpToDateVectorBlob"); 464 ndr->depth++; 465 ndr_print_uint32(ndr, "version", r->version); 466 ndr_print_uint32(ndr, "reserved", r->reserved); 467 ndr_print_set_switch_value(ndr, &r->ctr, r->version); 468 ndr_print_replUpToDateVectorCtr(ndr, "ctr", &r->ctr); 469 ndr->depth--; 470} 471 472_PUBLIC_ enum ndr_err_code ndr_push_repsFromTo1OtherInfo(struct ndr_push *ndr, int ndr_flags, const struct repsFromTo1OtherInfo *r) 473{ 474 if (ndr_flags & NDR_SCALARS) { 475 NDR_CHECK(ndr_push_align(ndr, 4)); 476 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen(r->dns_name) + 1)); 477 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, strlen(r->dns_name) + 1, sizeof(uint8_t), CH_DOS)); 478 NDR_CHECK(ndr_push_trailer_align(ndr, 4)); 479 } 480 if (ndr_flags & NDR_BUFFERS) { 481 } 482 return NDR_ERR_SUCCESS; 483} 484 485_PUBLIC_ enum ndr_err_code ndr_pull_repsFromTo1OtherInfo(struct ndr_pull *ndr, int ndr_flags, struct repsFromTo1OtherInfo *r) 486{ 487 if (ndr_flags & NDR_SCALARS) { 488 NDR_CHECK(ndr_pull_align(ndr, 4)); 489 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__dns_name_size)); 490 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, r->__dns_name_size, sizeof(uint8_t), CH_DOS)); 491 NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); 492 } 493 if (ndr_flags & NDR_BUFFERS) { 494 } 495 return NDR_ERR_SUCCESS; 496} 497 498_PUBLIC_ void ndr_print_repsFromTo1OtherInfo(struct ndr_print *ndr, const char *name, const struct repsFromTo1OtherInfo *r) 499{ 500 ndr_print_struct(ndr, name, "repsFromTo1OtherInfo"); 501 ndr->depth++; 502 ndr_print_uint32(ndr, "__dns_name_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen(r->dns_name) + 1:r->__dns_name_size); 503 ndr_print_string(ndr, "dns_name", r->dns_name); 504 ndr->depth--; 505} 506 507_PUBLIC_ size_t ndr_size_repsFromTo1OtherInfo(const struct repsFromTo1OtherInfo *r, struct smb_iconv_convenience *ic, int flags) 508{ 509 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_repsFromTo1OtherInfo, ic); 510} 511 512_PUBLIC_ enum ndr_err_code ndr_push_repsFromTo1(struct ndr_push *ndr, int ndr_flags, const struct repsFromTo1 *r) 513{ 514 { 515 uint32_t _flags_save_STRUCT = ndr->flags; 516 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); 517 if (ndr_flags & NDR_SCALARS) { 518 NDR_CHECK(ndr_push_align(ndr, 8)); 519 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_repsFromTo1(r, ndr->iconv_convenience, ndr->flags) + 8)); 520 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->consecutive_sync_failures)); 521 NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->last_success)); 522 NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->last_attempt)); 523 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->result_last_attempt)); 524 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->other_info)); 525 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_repsFromTo1OtherInfo(r->other_info, ndr->iconv_convenience, ndr->flags))); 526 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, r->replica_flags)); 527 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->schedule, 84)); 528 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved)); 529 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark)); 530 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_obj_guid)); 531 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id)); 532 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->transport_guid)); 533 NDR_CHECK(ndr_push_trailer_align(ndr, 8)); 534 } 535 if (ndr_flags & NDR_BUFFERS) { 536 if (r->other_info) { 537 NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->other_info)); 538 NDR_CHECK(ndr_push_repsFromTo1OtherInfo(ndr, NDR_SCALARS, r->other_info)); 539 NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->other_info)); 540 } 541 } 542 ndr->flags = _flags_save_STRUCT; 543 } 544 return NDR_ERR_SUCCESS; 545} 546 547_PUBLIC_ enum ndr_err_code ndr_pull_repsFromTo1(struct ndr_pull *ndr, int ndr_flags, struct repsFromTo1 *r) 548{ 549 uint32_t _ptr_other_info; 550 TALLOC_CTX *_mem_save_other_info_0; 551 { 552 uint32_t _flags_save_STRUCT = ndr->flags; 553 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); 554 if (ndr_flags & NDR_SCALARS) { 555 NDR_CHECK(ndr_pull_align(ndr, 8)); 556 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->blobsize)); 557 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->consecutive_sync_failures)); 558 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->last_success)); 559 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->last_attempt)); 560 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->result_last_attempt)); 561 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_other_info)); 562 if (_ptr_other_info) { 563 NDR_PULL_ALLOC(ndr, r->other_info); 564 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->other_info, _ptr_other_info)); 565 } else { 566 r->other_info = NULL; 567 } 568 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->other_info_length)); 569 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, &r->replica_flags)); 570 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->schedule, 84)); 571 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved)); 572 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark)); 573 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_obj_guid)); 574 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id)); 575 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->transport_guid)); 576 NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); 577 } 578 if (ndr_flags & NDR_BUFFERS) { 579 if (r->other_info) { 580 uint32_t _relative_save_offset; 581 _relative_save_offset = ndr->offset; 582 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->other_info)); 583 _mem_save_other_info_0 = NDR_PULL_GET_MEM_CTX(ndr); 584 NDR_PULL_SET_MEM_CTX(ndr, r->other_info, 0); 585 NDR_CHECK(ndr_pull_repsFromTo1OtherInfo(ndr, NDR_SCALARS, r->other_info)); 586 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_other_info_0, 0); 587 ndr->offset = _relative_save_offset; 588 } 589 } 590 ndr->flags = _flags_save_STRUCT; 591 } 592 return NDR_ERR_SUCCESS; 593} 594 595_PUBLIC_ void ndr_print_repsFromTo1(struct ndr_print *ndr, const char *name, const struct repsFromTo1 *r) 596{ 597 ndr_print_struct(ndr, name, "repsFromTo1"); 598 { 599 uint32_t _flags_save_STRUCT = ndr->flags; 600 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); 601 ndr->depth++; 602 ndr_print_uint32(ndr, "blobsize", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_repsFromTo1(r, ndr->iconv_convenience, ndr->flags) + 8:r->blobsize); 603 ndr_print_uint32(ndr, "consecutive_sync_failures", r->consecutive_sync_failures); 604 ndr_print_NTTIME_1sec(ndr, "last_success", r->last_success); 605 ndr_print_NTTIME_1sec(ndr, "last_attempt", r->last_attempt); 606 ndr_print_WERROR(ndr, "result_last_attempt", r->result_last_attempt); 607 ndr_print_ptr(ndr, "other_info", r->other_info); 608 ndr->depth++; 609 if (r->other_info) { 610 ndr_print_repsFromTo1OtherInfo(ndr, "other_info", r->other_info); 611 } 612 ndr->depth--; 613 ndr_print_uint32(ndr, "other_info_length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_repsFromTo1OtherInfo(r->other_info, ndr->iconv_convenience, ndr->flags):r->other_info_length); 614 ndr_print_drsuapi_DsReplicaNeighbourFlags(ndr, "replica_flags", r->replica_flags); 615 ndr_print_array_uint8(ndr, "schedule", r->schedule, 84); 616 ndr_print_uint32(ndr, "reserved", r->reserved); 617 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "highwatermark", &r->highwatermark); 618 ndr_print_GUID(ndr, "source_dsa_obj_guid", &r->source_dsa_obj_guid); 619 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id); 620 ndr_print_GUID(ndr, "transport_guid", &r->transport_guid); 621 ndr->depth--; 622 ndr->flags = _flags_save_STRUCT; 623 } 624} 625 626_PUBLIC_ size_t ndr_size_repsFromTo1(const struct repsFromTo1 *r, struct smb_iconv_convenience *ic, int flags) 627{ 628 flags |= LIBNDR_PRINT_ARRAY_HEX; 629 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_repsFromTo1, ic); 630} 631 632_PUBLIC_ enum ndr_err_code ndr_push_repsFromTo2OtherInfo(struct ndr_push *ndr, int ndr_flags, const struct repsFromTo2OtherInfo *r) 633{ 634 uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr); 635 if (ndr_flags & NDR_SCALARS) { 636 NDR_CHECK(ndr_push_align(ndr, 8)); 637 NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset)); 638 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_repsFromTo2OtherInfo(r, ndr->iconv_convenience, ndr->flags))); 639 { 640 uint32_t _flags_save_string = ndr->flags; 641 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2); 642 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->dns_name1)); 643 ndr->flags = _flags_save_string; 644 } 645 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1)); 646 { 647 uint32_t _flags_save_string = ndr->flags; 648 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2); 649 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->dns_name2)); 650 ndr->flags = _flags_save_string; 651 } 652 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown2)); 653 NDR_CHECK(ndr_push_trailer_align(ndr, 8)); 654 } 655 if (ndr_flags & NDR_BUFFERS) { 656 NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r)); 657 { 658 uint32_t _flags_save_string = ndr->flags; 659 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2); 660 if (r->dns_name1) { 661 NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->dns_name1)); 662 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->dns_name1)); 663 NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->dns_name1)); 664 } 665 ndr->flags = _flags_save_string; 666 } 667 { 668 uint32_t _flags_save_string = ndr->flags; 669 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2); 670 if (r->dns_name2) { 671 NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->dns_name2)); 672 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->dns_name2)); 673 NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->dns_name2)); 674 } 675 ndr->flags = _flags_save_string; 676 } 677 } 678 ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset); 679 return NDR_ERR_SUCCESS; 680} 681 682_PUBLIC_ enum ndr_err_code ndr_pull_repsFromTo2OtherInfo(struct ndr_pull *ndr, int ndr_flags, struct repsFromTo2OtherInfo *r) 683{ 684 uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr); 685 uint32_t _ptr_dns_name1; 686 TALLOC_CTX *_mem_save_dns_name1_0; 687 uint32_t _ptr_dns_name2; 688 TALLOC_CTX *_mem_save_dns_name2_0; 689 if (ndr_flags & NDR_SCALARS) { 690 NDR_CHECK(ndr_pull_align(ndr, 8)); 691 NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset)); 692 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size)); 693 { 694 uint32_t _flags_save_string = ndr->flags; 695 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2); 696 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name1)); 697 if (_ptr_dns_name1) { 698 NDR_PULL_ALLOC(ndr, r->dns_name1); 699 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->dns_name1, _ptr_dns_name1)); 700 } else { 701 r->dns_name1 = NULL; 702 } 703 ndr->flags = _flags_save_string; 704 } 705 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1)); 706 { 707 uint32_t _flags_save_string = ndr->flags; 708 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2); 709 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name2)); 710 if (_ptr_dns_name2) { 711 NDR_PULL_ALLOC(ndr, r->dns_name2); 712 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->dns_name2, _ptr_dns_name2)); 713 } else { 714 r->dns_name2 = NULL; 715 } 716 ndr->flags = _flags_save_string; 717 } 718 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown2)); 719 NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); 720 } 721 if (ndr_flags & NDR_BUFFERS) { 722 NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r)); 723 { 724 uint32_t _flags_save_string = ndr->flags; 725 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2); 726 if (r->dns_name1) { 727 uint32_t _relative_save_offset; 728 _relative_save_offset = ndr->offset; 729 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->dns_name1)); 730 _mem_save_dns_name1_0 = NDR_PULL_GET_MEM_CTX(ndr); 731 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name1, 0); 732 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->dns_name1)); 733 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name1_0, 0); 734 ndr->offset = _relative_save_offset; 735 } 736 ndr->flags = _flags_save_string; 737 } 738 { 739 uint32_t _flags_save_string = ndr->flags; 740 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2); 741 if (r->dns_name2) { 742 uint32_t _relative_save_offset; 743 _relative_save_offset = ndr->offset; 744 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->dns_name2)); 745 _mem_save_dns_name2_0 = NDR_PULL_GET_MEM_CTX(ndr); 746 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name2, 0); 747 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->dns_name2)); 748 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name2_0, 0); 749 ndr->offset = _relative_save_offset; 750 } 751 ndr->flags = _flags_save_string; 752 } 753 } 754 ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset); 755 return NDR_ERR_SUCCESS; 756} 757 758_PUBLIC_ void ndr_print_repsFromTo2OtherInfo(struct ndr_print *ndr, const char *name, const struct repsFromTo2OtherInfo *r) 759{ 760 ndr_print_struct(ndr, name, "repsFromTo2OtherInfo"); 761 ndr->depth++; 762 ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_repsFromTo2OtherInfo(r, ndr->iconv_convenience, ndr->flags):r->__ndr_size); 763 ndr_print_ptr(ndr, "dns_name1", r->dns_name1); 764 ndr->depth++; 765 if (r->dns_name1) { 766 ndr_print_string(ndr, "dns_name1", r->dns_name1); 767 } 768 ndr->depth--; 769 ndr_print_uint32(ndr, "unknown1", r->unknown1); 770 ndr_print_ptr(ndr, "dns_name2", r->dns_name2); 771 ndr->depth++; 772 if (r->dns_name2) { 773 ndr_print_string(ndr, "dns_name2", r->dns_name2); 774 } 775 ndr->depth--; 776 ndr_print_hyper(ndr, "unknown2", r->unknown2); 777 ndr->depth--; 778} 779 780_PUBLIC_ size_t ndr_size_repsFromTo2OtherInfo(const struct repsFromTo2OtherInfo *r, struct smb_iconv_convenience *ic, int flags) 781{ 782 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_repsFromTo2OtherInfo, ic); 783} 784 785_PUBLIC_ enum ndr_err_code ndr_push_repsFromTo2(struct ndr_push *ndr, int ndr_flags, const struct repsFromTo2 *r) 786{ 787 { 788 uint32_t _flags_save_STRUCT = ndr->flags; 789 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); 790 if (ndr_flags & NDR_SCALARS) { 791 NDR_CHECK(ndr_push_align(ndr, 8)); 792 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_repsFromTo2(r, ndr->iconv_convenience, ndr->flags) + 8)); 793 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->consecutive_sync_failures)); 794 NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->last_success)); 795 NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->last_attempt)); 796 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->result_last_attempt)); 797 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->other_info)); 798 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_repsFromTo2OtherInfo(r->other_info, ndr->iconv_convenience, ndr->flags))); 799 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, r->replica_flags)); 800 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->schedule, 84)); 801 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved)); 802 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark)); 803 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_obj_guid)); 804 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id)); 805 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->transport_guid)); 806 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown1)); 807 NDR_CHECK(ndr_push_trailer_align(ndr, 8)); 808 } 809 if (ndr_flags & NDR_BUFFERS) { 810 if (r->other_info) { 811 NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->other_info)); 812 NDR_CHECK(ndr_push_repsFromTo2OtherInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->other_info)); 813 NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->other_info)); 814 } 815 } 816 ndr->flags = _flags_save_STRUCT; 817 } 818 return NDR_ERR_SUCCESS; 819} 820 821_PUBLIC_ enum ndr_err_code ndr_pull_repsFromTo2(struct ndr_pull *ndr, int ndr_flags, struct repsFromTo2 *r) 822{ 823 uint32_t _ptr_other_info; 824 TALLOC_CTX *_mem_save_other_info_0; 825 { 826 uint32_t _flags_save_STRUCT = ndr->flags; 827 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); 828 if (ndr_flags & NDR_SCALARS) { 829 NDR_CHECK(ndr_pull_align(ndr, 8)); 830 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->blobsize)); 831 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->consecutive_sync_failures)); 832 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->last_success)); 833 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->last_attempt)); 834 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->result_last_attempt)); 835 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_other_info)); 836 if (_ptr_other_info) { 837 NDR_PULL_ALLOC(ndr, r->other_info); 838 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->other_info, _ptr_other_info)); 839 } else { 840 r->other_info = NULL; 841 } 842 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->other_info_length)); 843 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, &r->replica_flags)); 844 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->schedule, 84)); 845 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved)); 846 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark)); 847 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_obj_guid)); 848 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id)); 849 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->transport_guid)); 850 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown1)); 851 NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); 852 } 853 if (ndr_flags & NDR_BUFFERS) { 854 if (r->other_info) { 855 uint32_t _relative_save_offset; 856 _relative_save_offset = ndr->offset; 857 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->other_info)); 858 _mem_save_other_info_0 = NDR_PULL_GET_MEM_CTX(ndr); 859 NDR_PULL_SET_MEM_CTX(ndr, r->other_info, 0); 860 NDR_CHECK(ndr_pull_repsFromTo2OtherInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->other_info)); 861 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_other_info_0, 0); 862 ndr->offset = _relative_save_offset; 863 } 864 } 865 ndr->flags = _flags_save_STRUCT; 866 } 867 return NDR_ERR_SUCCESS; 868} 869 870_PUBLIC_ void ndr_print_repsFromTo2(struct ndr_print *ndr, const char *name, const struct repsFromTo2 *r) 871{ 872 ndr_print_struct(ndr, name, "repsFromTo2"); 873 { 874 uint32_t _flags_save_STRUCT = ndr->flags; 875 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); 876 ndr->depth++; 877 ndr_print_uint32(ndr, "blobsize", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_repsFromTo2(r, ndr->iconv_convenience, ndr->flags) + 8:r->blobsize); 878 ndr_print_uint32(ndr, "consecutive_sync_failures", r->consecutive_sync_failures); 879 ndr_print_NTTIME_1sec(ndr, "last_success", r->last_success); 880 ndr_print_NTTIME_1sec(ndr, "last_attempt", r->last_attempt); 881 ndr_print_WERROR(ndr, "result_last_attempt", r->result_last_attempt); 882 ndr_print_ptr(ndr, "other_info", r->other_info); 883 ndr->depth++; 884 if (r->other_info) { 885 ndr_print_repsFromTo2OtherInfo(ndr, "other_info", r->other_info); 886 } 887 ndr->depth--; 888 ndr_print_uint32(ndr, "other_info_length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_repsFromTo2OtherInfo(r->other_info, ndr->iconv_convenience, ndr->flags):r->other_info_length); 889 ndr_print_drsuapi_DsReplicaNeighbourFlags(ndr, "replica_flags", r->replica_flags); 890 ndr_print_array_uint8(ndr, "schedule", r->schedule, 84); 891 ndr_print_uint32(ndr, "reserved", r->reserved); 892 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "highwatermark", &r->highwatermark); 893 ndr_print_GUID(ndr, "source_dsa_obj_guid", &r->source_dsa_obj_guid); 894 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id); 895 ndr_print_GUID(ndr, "transport_guid", &r->transport_guid); 896 ndr_print_hyper(ndr, "unknown1", r->unknown1); 897 ndr->depth--; 898 ndr->flags = _flags_save_STRUCT; 899 } 900} 901 902_PUBLIC_ size_t ndr_size_repsFromTo2(const struct repsFromTo2 *r, struct smb_iconv_convenience *ic, int flags) 903{ 904 flags |= LIBNDR_PRINT_ARRAY_HEX; 905 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_repsFromTo2, ic); 906} 907 908static enum ndr_err_code ndr_push_repsFromTo(struct ndr_push *ndr, int ndr_flags, const union repsFromTo *r) 909{ 910 if (ndr_flags & NDR_SCALARS) { 911 int level = ndr_push_get_switch_value(ndr, r); 912 NDR_CHECK(ndr_push_union_align(ndr, 8)); 913 switch (level) { 914 case 1: { 915 NDR_CHECK(ndr_push_repsFromTo1(ndr, NDR_SCALARS, &r->ctr1)); 916 break; } 917 918 case 2: { 919 NDR_CHECK(ndr_push_repsFromTo2(ndr, NDR_SCALARS, &r->ctr2)); 920 break; } 921 922 default: 923 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); 924 } 925 } 926 if (ndr_flags & NDR_BUFFERS) { 927 int level = ndr_push_get_switch_value(ndr, r); 928 switch (level) { 929 case 1: 930 NDR_CHECK(ndr_push_repsFromTo1(ndr, NDR_BUFFERS, &r->ctr1)); 931 break; 932 933 case 2: 934 NDR_CHECK(ndr_push_repsFromTo2(ndr, NDR_BUFFERS, &r->ctr2)); 935 break; 936 937 default: 938 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); 939 } 940 } 941 return NDR_ERR_SUCCESS; 942} 943 944static enum ndr_err_code ndr_pull_repsFromTo(struct ndr_pull *ndr, int ndr_flags, union repsFromTo *r) 945{ 946 int level; 947 level = ndr_pull_get_switch_value(ndr, r); 948 if (ndr_flags & NDR_SCALARS) { 949 NDR_CHECK(ndr_pull_union_align(ndr, 8)); 950 switch (level) { 951 case 1: { 952 NDR_CHECK(ndr_pull_repsFromTo1(ndr, NDR_SCALARS, &r->ctr1)); 953 break; } 954 955 case 2: { 956 NDR_CHECK(ndr_pull_repsFromTo2(ndr, NDR_SCALARS, &r->ctr2)); 957 break; } 958 959 default: 960 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); 961 } 962 } 963 if (ndr_flags & NDR_BUFFERS) { 964 switch (level) { 965 case 1: 966 NDR_CHECK(ndr_pull_repsFromTo1(ndr, NDR_BUFFERS, &r->ctr1)); 967 break; 968 969 case 2: 970 NDR_CHECK(ndr_pull_repsFromTo2(ndr, NDR_BUFFERS, &r->ctr2)); 971 break; 972 973 default: 974 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); 975 } 976 } 977 return NDR_ERR_SUCCESS; 978} 979 980_PUBLIC_ void ndr_print_repsFromTo(struct ndr_print *ndr, const char *name, const union repsFromTo *r) 981{ 982 int level; 983 level = ndr_print_get_switch_value(ndr, r); 984 ndr_print_union(ndr, name, level, "repsFromTo"); 985 switch (level) { 986 case 1: 987 ndr_print_repsFromTo1(ndr, "ctr1", &r->ctr1); 988 break; 989 990 case 2: 991 ndr_print_repsFromTo2(ndr, "ctr2", &r->ctr2); 992 break; 993 994 default: 995 ndr_print_bad_level(ndr, name, level); 996 } 997} 998 999_PUBLIC_ enum ndr_err_code ndr_push_repsFromToBlob(struct ndr_push *ndr, int ndr_flags, const struct repsFromToBlob *r) 1000{ 1001 if (ndr_flags & NDR_SCALARS) { 1002 NDR_CHECK(ndr_push_align(ndr, 8)); 1003 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version)); 1004 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved)); 1005 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->version)); 1006 NDR_CHECK(ndr_push_repsFromTo(ndr, NDR_SCALARS, &r->ctr)); 1007 NDR_CHECK(ndr_push_trailer_align(ndr, 8)); 1008 } 1009 if (ndr_flags & NDR_BUFFERS) { 1010 NDR_CHECK(ndr_push_repsFromTo(ndr, NDR_BUFFERS, &r->ctr)); 1011 } 1012 return NDR_ERR_SUCCESS; 1013} 1014 1015_PUBLIC_ enum ndr_err_code ndr_pull_repsFromToBlob(struct ndr_pull *ndr, int ndr_flags, struct repsFromToBlob *r) 1016{ 1017 if (ndr_flags & NDR_SCALARS) { 1018 NDR_CHECK(ndr_pull_align(ndr, 8)); 1019 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version)); 1020 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved)); 1021 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->version)); 1022 NDR_CHECK(ndr_pull_repsFromTo(ndr, NDR_SCALARS, &r->ctr)); 1023 NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); 1024 } 1025 if (ndr_flags & NDR_BUFFERS) { 1026 NDR_CHECK(ndr_pull_repsFromTo(ndr, NDR_BUFFERS, &r->ctr)); 1027 } 1028 return NDR_ERR_SUCCESS; 1029} 1030 1031_PUBLIC_ void ndr_print_repsFromToBlob(struct ndr_print *ndr, const char *name, const struct repsFromToBlob *r) 1032{ 1033 ndr_print_struct(ndr, name, "repsFromToBlob"); 1034 ndr->depth++; 1035 ndr_print_uint32(ndr, "version", r->version); 1036 ndr_print_uint32(ndr, "reserved", r->reserved); 1037 ndr_print_set_switch_value(ndr, &r->ctr, r->version); 1038 ndr_print_repsFromTo(ndr, "ctr", &r->ctr); 1039 ndr->depth--; 1040} 1041 1042static enum ndr_err_code ndr_push_partialAttributeSetCtr1(struct ndr_push *ndr, int ndr_flags, const struct partialAttributeSetCtr1 *r) 1043{ 1044 uint32_t cntr_array_0; 1045 if (ndr_flags & NDR_SCALARS) { 1046 NDR_CHECK(ndr_push_align(ndr, 4)); 1047 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); 1048 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) { 1049 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->array[cntr_array_0])); 1050 } 1051 NDR_CHECK(ndr_push_trailer_align(ndr, 4)); 1052 } 1053 if (ndr_flags & NDR_BUFFERS) { 1054 } 1055 return NDR_ERR_SUCCESS; 1056} 1057 1058static enum ndr_err_code ndr_pull_partialAttributeSetCtr1(struct ndr_pull *ndr, int ndr_flags, struct partialAttributeSetCtr1 *r) 1059{ 1060 uint32_t cntr_array_0; 1061 TALLOC_CTX *_mem_save_array_0; 1062 if (ndr_flags & NDR_SCALARS) { 1063 NDR_CHECK(ndr_pull_align(ndr, 4)); 1064 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); 1065 NDR_PULL_ALLOC_N(ndr, r->array, r->count); 1066 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr); 1067 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); 1068 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) { 1069 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->array[cntr_array_0])); 1070 } 1071 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0); 1072 NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); 1073 } 1074 if (ndr_flags & NDR_BUFFERS) { 1075 } 1076 return NDR_ERR_SUCCESS; 1077} 1078 1079_PUBLIC_ void ndr_print_partialAttributeSetCtr1(struct ndr_print *ndr, const char *name, const struct partialAttributeSetCtr1 *r) 1080{ 1081 uint32_t cntr_array_0; 1082 ndr_print_struct(ndr, name, "partialAttributeSetCtr1"); 1083 ndr->depth++; 1084 ndr_print_uint32(ndr, "count", r->count); 1085 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count); 1086 ndr->depth++; 1087 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) { 1088 char *idx_0=NULL; 1089 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) { 1090 ndr_print_drsuapi_DsAttributeId(ndr, "array", r->array[cntr_array_0]); 1091 free(idx_0); 1092 } 1093 } 1094 ndr->depth--; 1095 ndr->depth--; 1096} 1097 1098static enum ndr_err_code ndr_push_partialAttributeSetCtr(struct ndr_push *ndr, int ndr_flags, const union partialAttributeSetCtr *r) 1099{ 1100 if (ndr_flags & NDR_SCALARS) { 1101 int level = ndr_push_get_switch_value(ndr, r); 1102 NDR_CHECK(ndr_push_union_align(ndr, 4)); 1103 switch (level) { 1104 case 1: { 1105 NDR_CHECK(ndr_push_partialAttributeSetCtr1(ndr, NDR_SCALARS, &r->ctr1)); 1106 break; } 1107 1108 default: 1109 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); 1110 } 1111 } 1112 if (ndr_flags & NDR_BUFFERS) { 1113 int level = ndr_push_get_switch_value(ndr, r); 1114 switch (level) { 1115 case 1: 1116 break; 1117 1118 default: 1119 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); 1120 } 1121 } 1122 return NDR_ERR_SUCCESS; 1123} 1124 1125static enum ndr_err_code ndr_pull_partialAttributeSetCtr(struct ndr_pull *ndr, int ndr_flags, union partialAttributeSetCtr *r) 1126{ 1127 int level; 1128 level = ndr_pull_get_switch_value(ndr, r); 1129 if (ndr_flags & NDR_SCALARS) { 1130 NDR_CHECK(ndr_pull_union_align(ndr, 4)); 1131 switch (level) { 1132 case 1: { 1133 NDR_CHECK(ndr_pull_partialAttributeSetCtr1(ndr, NDR_SCALARS, &r->ctr1)); 1134 break; } 1135 1136 default: 1137 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); 1138 } 1139 } 1140 if (ndr_flags & NDR_BUFFERS) { 1141 switch (level) { 1142 case 1: 1143 break; 1144 1145 default: 1146 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); 1147 } 1148 } 1149 return NDR_ERR_SUCCESS; 1150} 1151 1152_PUBLIC_ void ndr_print_partialAttributeSetCtr(struct ndr_print *ndr, const char *name, const union partialAttributeSetCtr *r) 1153{ 1154 int level; 1155 level = ndr_print_get_switch_value(ndr, r); 1156 ndr_print_union(ndr, name, level, "partialAttributeSetCtr"); 1157 switch (level) { 1158 case 1: 1159 ndr_print_partialAttributeSetCtr1(ndr, "ctr1", &r->ctr1); 1160 break; 1161 1162 default: 1163 ndr_print_bad_level(ndr, name, level); 1164 } 1165} 1166 1167_PUBLIC_ enum ndr_err_code ndr_push_partialAttributeSetBlob(struct ndr_push *ndr, int ndr_flags, const struct partialAttributeSetBlob *r) 1168{ 1169 if (ndr_flags & NDR_SCALARS) { 1170 NDR_CHECK(ndr_push_align(ndr, 4)); 1171 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version)); 1172 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved)); 1173 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->version)); 1174 NDR_CHECK(ndr_push_partialAttributeSetCtr(ndr, NDR_SCALARS, &r->ctr)); 1175 NDR_CHECK(ndr_push_trailer_align(ndr, 4)); 1176 } 1177 if (ndr_flags & NDR_BUFFERS) { 1178 } 1179 return NDR_ERR_SUCCESS; 1180} 1181 1182_PUBLIC_ enum ndr_err_code ndr_pull_partialAttributeSetBlob(struct ndr_pull *ndr, int ndr_flags, struct partialAttributeSetBlob *r) 1183{ 1184 if (ndr_flags & NDR_SCALARS) { 1185 NDR_CHECK(ndr_pull_align(ndr, 4)); 1186 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version)); 1187 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved)); 1188 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->version)); 1189 NDR_CHECK(ndr_pull_partialAttributeSetCtr(ndr, NDR_SCALARS, &r->ctr)); 1190 NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); 1191 } 1192 if (ndr_flags & NDR_BUFFERS) { 1193 } 1194 return NDR_ERR_SUCCESS; 1195} 1196 1197_PUBLIC_ void ndr_print_partialAttributeSetBlob(struct ndr_print *ndr, const char *name, const struct partialAttributeSetBlob *r) 1198{ 1199 ndr_print_struct(ndr, name, "partialAttributeSetBlob"); 1200 ndr->depth++; 1201 ndr_print_uint32(ndr, "version", r->version); 1202 ndr_print_uint32(ndr, "reserved", r->reserved); 1203 ndr_print_set_switch_value(ndr, &r->ctr, r->version); 1204 ndr_print_partialAttributeSetCtr(ndr, "ctr", &r->ctr); 1205 ndr->depth--; 1206} 1207 1208static enum ndr_err_code ndr_push_prefixMapVersion(struct ndr_push *ndr, int ndr_flags, enum prefixMapVersion r) 1209{ 1210 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); 1211 return NDR_ERR_SUCCESS; 1212} 1213 1214static enum ndr_err_code ndr_pull_prefixMapVersion(struct ndr_pull *ndr, int ndr_flags, enum prefixMapVersion *r) 1215{ 1216 uint32_t v; 1217 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); 1218 *r = v; 1219 return NDR_ERR_SUCCESS; 1220} 1221 1222_PUBLIC_ void ndr_print_prefixMapVersion(struct ndr_print *ndr, const char *name, enum prefixMapVersion r) 1223{ 1224 const char *val = NULL; 1225 1226 switch (r) { 1227 case PREFIX_MAP_VERSION_DSDB: val = "PREFIX_MAP_VERSION_DSDB"; break; 1228 } 1229 ndr_print_enum(ndr, name, "ENUM", val, r); 1230} 1231 1232static enum ndr_err_code ndr_push_prefixMapCtr(struct ndr_push *ndr, int ndr_flags, const union prefixMapCtr *r) 1233{ 1234 if (ndr_flags & NDR_SCALARS) { 1235 int level = ndr_push_get_switch_value(ndr, r); 1236 NDR_CHECK(ndr_push_union_align(ndr, 5)); 1237 switch (level) { 1238 case PREFIX_MAP_VERSION_DSDB: { 1239 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->dsdb)); 1240 break; } 1241 1242 default: 1243 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); 1244 } 1245 } 1246 if (ndr_flags & NDR_BUFFERS) { 1247 int level = ndr_push_get_switch_value(ndr, r); 1248 switch (level) { 1249 case PREFIX_MAP_VERSION_DSDB: 1250 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->dsdb)); 1251 break; 1252 1253 default: 1254 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); 1255 } 1256 } 1257 return NDR_ERR_SUCCESS; 1258} 1259 1260static enum ndr_err_code ndr_pull_prefixMapCtr(struct ndr_pull *ndr, int ndr_flags, union prefixMapCtr *r) 1261{ 1262 int level; 1263 level = ndr_pull_get_switch_value(ndr, r); 1264 if (ndr_flags & NDR_SCALARS) { 1265 NDR_CHECK(ndr_pull_union_align(ndr, 5)); 1266 switch (level) { 1267 case PREFIX_MAP_VERSION_DSDB: { 1268 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->dsdb)); 1269 break; } 1270 1271 default: 1272 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); 1273 } 1274 } 1275 if (ndr_flags & NDR_BUFFERS) { 1276 switch (level) { 1277 case PREFIX_MAP_VERSION_DSDB: 1278 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->dsdb)); 1279 break; 1280 1281 default: 1282 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); 1283 } 1284 } 1285 return NDR_ERR_SUCCESS; 1286} 1287 1288_PUBLIC_ void ndr_print_prefixMapCtr(struct ndr_print *ndr, const char *name, const union prefixMapCtr *r) 1289{ 1290 int level; 1291 level = ndr_print_get_switch_value(ndr, r); 1292 ndr_print_union(ndr, name, level, "prefixMapCtr"); 1293 switch (level) { 1294 case PREFIX_MAP_VERSION_DSDB: 1295 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "dsdb", &r->dsdb); 1296 break; 1297 1298 default: 1299 ndr_print_bad_level(ndr, name, level); 1300 } 1301} 1302 1303_PUBLIC_ enum ndr_err_code ndr_push_prefixMapBlob(struct ndr_push *ndr, int ndr_flags, const struct prefixMapBlob *r) 1304{ 1305 if (ndr_flags & NDR_SCALARS) { 1306 NDR_CHECK(ndr_push_align(ndr, 5)); 1307 NDR_CHECK(ndr_push_prefixMapVersion(ndr, NDR_SCALARS, r->version)); 1308 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved)); 1309 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->version)); 1310 NDR_CHECK(ndr_push_prefixMapCtr(ndr, NDR_SCALARS, &r->ctr)); 1311 NDR_CHECK(ndr_push_trailer_align(ndr, 5)); 1312 } 1313 if (ndr_flags & NDR_BUFFERS) { 1314 NDR_CHECK(ndr_push_prefixMapCtr(ndr, NDR_BUFFERS, &r->ctr)); 1315 } 1316 return NDR_ERR_SUCCESS; 1317} 1318 1319_PUBLIC_ enum ndr_err_code ndr_pull_prefixMapBlob(struct ndr_pull *ndr, int ndr_flags, struct prefixMapBlob *r) 1320{ 1321 if (ndr_flags & NDR_SCALARS) { 1322 NDR_CHECK(ndr_pull_align(ndr, 5)); 1323 NDR_CHECK(ndr_pull_prefixMapVersion(ndr, NDR_SCALARS, &r->version)); 1324 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved)); 1325 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->version)); 1326 NDR_CHECK(ndr_pull_prefixMapCtr(ndr, NDR_SCALARS, &r->ctr)); 1327 NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); 1328 } 1329 if (ndr_flags & NDR_BUFFERS) { 1330 NDR_CHECK(ndr_pull_prefixMapCtr(ndr, NDR_BUFFERS, &r->ctr)); 1331 } 1332 return NDR_ERR_SUCCESS; 1333} 1334 1335_PUBLIC_ void ndr_print_prefixMapBlob(struct ndr_print *ndr, const char *name, const struct prefixMapBlob *r) 1336{ 1337 ndr_print_struct(ndr, name, "prefixMapBlob"); 1338 ndr->depth++; 1339 ndr_print_prefixMapVersion(ndr, "version", r->version); 1340 ndr_print_uint32(ndr, "reserved", r->reserved); 1341 ndr_print_set_switch_value(ndr, &r->ctr, r->version); 1342 ndr_print_prefixMapCtr(ndr, "ctr", &r->ctr); 1343 ndr->depth--; 1344} 1345 1346static enum ndr_err_code ndr_push_ldapControlDirSyncExtra(struct ndr_push *ndr, int ndr_flags, const union ldapControlDirSyncExtra *r) 1347{ 1348 if (ndr_flags & NDR_SCALARS) { 1349 int level = ndr_push_get_switch_value(ndr, r); 1350 NDR_CHECK(ndr_push_union_align(ndr, 8)); 1351 switch (level) { 1352 case 0: { 1353 break; } 1354 1355 default: { 1356 NDR_CHECK(ndr_push_replUpToDateVectorBlob(ndr, NDR_SCALARS, &r->uptodateness_vector)); 1357 break; } 1358 1359 } 1360 } 1361 if (ndr_flags & NDR_BUFFERS) { 1362 int level = ndr_push_get_switch_value(ndr, r); 1363 switch (level) { 1364 case 0: 1365 break; 1366 1367 default: 1368 break; 1369 1370 } 1371 } 1372 return NDR_ERR_SUCCESS; 1373} 1374 1375static enum ndr_err_code ndr_pull_ldapControlDirSyncExtra(struct ndr_pull *ndr, int ndr_flags, union ldapControlDirSyncExtra *r) 1376{ 1377 int level; 1378 level = ndr_pull_get_switch_value(ndr, r); 1379 if (ndr_flags & NDR_SCALARS) { 1380 NDR_CHECK(ndr_pull_union_align(ndr, 8)); 1381 switch (level) { 1382 case 0: { 1383 break; } 1384 1385 default: { 1386 NDR_CHECK(ndr_pull_replUpToDateVectorBlob(ndr, NDR_SCALARS, &r->uptodateness_vector)); 1387 break; } 1388 1389 } 1390 } 1391 if (ndr_flags & NDR_BUFFERS) { 1392 switch (level) { 1393 case 0: 1394 break; 1395 1396 default: 1397 break; 1398 1399 } 1400 } 1401 return NDR_ERR_SUCCESS; 1402} 1403 1404_PUBLIC_ void ndr_print_ldapControlDirSyncExtra(struct ndr_print *ndr, const char *name, const union ldapControlDirSyncExtra *r) 1405{ 1406 int level; 1407 level = ndr_print_get_switch_value(ndr, r); 1408 ndr_print_union(ndr, name, level, "ldapControlDirSyncExtra"); 1409 switch (level) { 1410 case 0: 1411 break; 1412 1413 default: 1414 ndr_print_replUpToDateVectorBlob(ndr, "uptodateness_vector", &r->uptodateness_vector); 1415 break; 1416 1417 } 1418} 1419 1420static size_t ndr_size_ldapControlDirSyncExtra(const union ldapControlDirSyncExtra *r, uint32_t level, struct smb_iconv_convenience *ic, int flags) 1421{ 1422 return ndr_size_union(r, flags, level, (ndr_push_flags_fn_t)ndr_push_ldapControlDirSyncExtra, ic); 1423} 1424 1425static enum ndr_err_code ndr_push_ldapControlDirSyncBlob(struct ndr_push *ndr, int ndr_flags, const struct ldapControlDirSyncBlob *r) 1426{ 1427 if (ndr_flags & NDR_SCALARS) { 1428 NDR_CHECK(ndr_push_align(ndr, 8)); 1429 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 3)); 1430 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->time)); 1431 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u2)); 1432 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u3)); 1433 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_ldapControlDirSyncExtra(&r->extra, r->extra.uptodateness_vector.version, ndr->iconv_convenience, 0))); 1434 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark)); 1435 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid1)); 1436 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->extra, ndr_size_ldapControlDirSyncExtra(&r->extra, r->extra.uptodateness_vector.version, ndr->iconv_convenience, 0))); 1437 NDR_CHECK(ndr_push_ldapControlDirSyncExtra(ndr, NDR_SCALARS, &r->extra)); 1438 NDR_CHECK(ndr_push_trailer_align(ndr, 8)); 1439 } 1440 if (ndr_flags & NDR_BUFFERS) { 1441 NDR_CHECK(ndr_push_ldapControlDirSyncExtra(ndr, NDR_BUFFERS, &r->extra)); 1442 } 1443 return NDR_ERR_SUCCESS; 1444} 1445 1446static enum ndr_err_code ndr_pull_ldapControlDirSyncBlob(struct ndr_pull *ndr, int ndr_flags, struct ldapControlDirSyncBlob *r) 1447{ 1448 if (ndr_flags & NDR_SCALARS) { 1449 NDR_CHECK(ndr_pull_align(ndr, 8)); 1450 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u1)); 1451 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->time)); 1452 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u2)); 1453 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u3)); 1454 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->extra_length)); 1455 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark)); 1456 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid1)); 1457 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->extra, r->extra_length)); 1458 NDR_CHECK(ndr_pull_ldapControlDirSyncExtra(ndr, NDR_SCALARS, &r->extra)); 1459 NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); 1460 } 1461 if (ndr_flags & NDR_BUFFERS) { 1462 NDR_CHECK(ndr_pull_ldapControlDirSyncExtra(ndr, NDR_BUFFERS, &r->extra)); 1463 } 1464 return NDR_ERR_SUCCESS; 1465} 1466 1467_PUBLIC_ void ndr_print_ldapControlDirSyncBlob(struct ndr_print *ndr, const char *name, const struct ldapControlDirSyncBlob *r) 1468{ 1469 ndr_print_struct(ndr, name, "ldapControlDirSyncBlob"); 1470 ndr->depth++; 1471 ndr_print_uint32(ndr, "u1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?3:r->u1); 1472 ndr_print_NTTIME(ndr, "time", r->time); 1473 ndr_print_uint32(ndr, "u2", r->u2); 1474 ndr_print_uint32(ndr, "u3", r->u3); 1475 ndr_print_uint32(ndr, "extra_length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_ldapControlDirSyncExtra(&r->extra, r->extra.uptodateness_vector.version, ndr->iconv_convenience, 0):r->extra_length); 1476 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "highwatermark", &r->highwatermark); 1477 ndr_print_GUID(ndr, "guid1", &r->guid1); 1478 ndr_print_set_switch_value(ndr, &r->extra, r->extra_length); 1479 ndr_print_ldapControlDirSyncExtra(ndr, "extra", &r->extra); 1480 ndr->depth--; 1481} 1482 1483_PUBLIC_ enum ndr_err_code ndr_push_ldapControlDirSyncCookie(struct ndr_push *ndr, int ndr_flags, const struct ldapControlDirSyncCookie *r) 1484{ 1485 uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr); 1486 if (ndr_flags & NDR_SCALARS) { 1487 NDR_CHECK(ndr_push_align(ndr, 8)); 1488 NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset)); 1489 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, "MSDS", 4, sizeof(uint8_t), CH_DOS)); 1490 { 1491 struct ndr_push *_ndr_blob; 1492 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_blob, 0, -1)); 1493 NDR_CHECK(ndr_push_ldapControlDirSyncBlob(_ndr_blob, NDR_SCALARS|NDR_BUFFERS, &r->blob)); 1494 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_blob, 0, -1)); 1495 } 1496 NDR_CHECK(ndr_push_trailer_align(ndr, 8)); 1497 } 1498 if (ndr_flags & NDR_BUFFERS) { 1499 NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r)); 1500 } 1501 ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset); 1502 return NDR_ERR_SUCCESS; 1503} 1504 1505_PUBLIC_ enum ndr_err_code ndr_pull_ldapControlDirSyncCookie(struct ndr_pull *ndr, int ndr_flags, struct ldapControlDirSyncCookie *r) 1506{ 1507 uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr); 1508 if (ndr_flags & NDR_SCALARS) { 1509 NDR_CHECK(ndr_pull_align(ndr, 8)); 1510 NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset)); 1511 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->msds, 4, sizeof(uint8_t), CH_DOS)); 1512 { 1513 struct ndr_pull *_ndr_blob; 1514 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_blob, 0, -1)); 1515 NDR_CHECK(ndr_pull_ldapControlDirSyncBlob(_ndr_blob, NDR_SCALARS|NDR_BUFFERS, &r->blob)); 1516 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_blob, 0, -1)); 1517 } 1518 NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); 1519 } 1520 if (ndr_flags & NDR_BUFFERS) { 1521 NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r)); 1522 } 1523 ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset); 1524 return NDR_ERR_SUCCESS; 1525} 1526 1527_PUBLIC_ void ndr_print_ldapControlDirSyncCookie(struct ndr_print *ndr, const char *name, const struct ldapControlDirSyncCookie *r) 1528{ 1529 ndr_print_struct(ndr, name, "ldapControlDirSyncCookie"); 1530 ndr->depth++; 1531 ndr_print_string(ndr, "msds", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?"MSDS":r->msds); 1532 ndr_print_ldapControlDirSyncBlob(ndr, "blob", &r->blob); 1533 ndr->depth--; 1534} 1535 1536static enum ndr_err_code ndr_push_supplementalCredentialsPackage(struct ndr_push *ndr, int ndr_flags, const struct supplementalCredentialsPackage *r) 1537{ 1538 if (ndr_flags & NDR_SCALARS) { 1539 NDR_CHECK(ndr_push_align(ndr, 2)); 1540 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 2 * strlen_m(r->name))); 1541 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, strlen(r->data))); 1542 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->reserved)); 1543 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, 2 * strlen_m(r->name), sizeof(uint8_t), CH_UTF16)); 1544 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->data, strlen(r->data), sizeof(uint8_t), CH_DOS)); 1545 NDR_CHECK(ndr_push_trailer_align(ndr, 2)); 1546 } 1547 if (ndr_flags & NDR_BUFFERS) { 1548 } 1549 return NDR_ERR_SUCCESS; 1550} 1551 1552static enum ndr_err_code ndr_pull_supplementalCredentialsPackage(struct ndr_pull *ndr, int ndr_flags, struct supplementalCredentialsPackage *r) 1553{ 1554 if (ndr_flags & NDR_SCALARS) { 1555 NDR_CHECK(ndr_pull_align(ndr, 2)); 1556 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->name_len)); 1557 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->data_len)); 1558 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->reserved)); 1559 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, r->name_len, sizeof(uint8_t), CH_UTF16)); 1560 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->data, r->data_len, sizeof(uint8_t), CH_DOS)); 1561 NDR_CHECK(ndr_pull_trailer_align(ndr, 2)); 1562 } 1563 if (ndr_flags & NDR_BUFFERS) { 1564 } 1565 return NDR_ERR_SUCCESS; 1566} 1567 1568_PUBLIC_ void ndr_print_supplementalCredentialsPackage(struct ndr_print *ndr, const char *name, const struct supplementalCredentialsPackage *r) 1569{ 1570 ndr_print_struct(ndr, name, "supplementalCredentialsPackage"); 1571 ndr->depth++; 1572 ndr_print_uint16(ndr, "name_len", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2 * strlen_m(r->name):r->name_len); 1573 ndr_print_uint16(ndr, "data_len", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen(r->data):r->data_len); 1574 ndr_print_uint16(ndr, "reserved", r->reserved); 1575 ndr_print_string(ndr, "name", r->name); 1576 ndr_print_string(ndr, "data", r->data); 1577 ndr->depth--; 1578} 1579 1580static enum ndr_err_code ndr_push_supplementalCredentialsSignature(struct ndr_push *ndr, int ndr_flags, enum supplementalCredentialsSignature r) 1581{ 1582 { 1583 uint32_t _flags_save_ENUM = ndr->flags; 1584 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); 1585 NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r)); 1586 ndr->flags = _flags_save_ENUM; 1587 } 1588 return NDR_ERR_SUCCESS; 1589} 1590 1591static enum ndr_err_code ndr_pull_supplementalCredentialsSignature(struct ndr_pull *ndr, int ndr_flags, enum supplementalCredentialsSignature *r) 1592{ 1593 uint16_t v; 1594 { 1595 uint32_t _flags_save_ENUM = ndr->flags; 1596 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); 1597 NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v)); 1598 *r = v; 1599 ndr->flags = _flags_save_ENUM; 1600 } 1601 return NDR_ERR_SUCCESS; 1602} 1603 1604_PUBLIC_ void ndr_print_supplementalCredentialsSignature(struct ndr_print *ndr, const char *name, enum supplementalCredentialsSignature r) 1605{ 1606 const char *val = NULL; 1607 1608 { 1609 uint32_t _flags_save_ENUM = ndr->flags; 1610 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); 1611 switch (r) { 1612 case SUPPLEMENTAL_CREDENTIALS_SIGNATURE: val = "SUPPLEMENTAL_CREDENTIALS_SIGNATURE"; break; 1613 } 1614 ndr_print_enum(ndr, name, "ENUM", val, r); 1615 ndr->flags = _flags_save_ENUM; 1616 } 1617} 1618 1619static enum ndr_err_code ndr_push_supplementalCredentialsSubBlob(struct ndr_push *ndr, int ndr_flags, const struct supplementalCredentialsSubBlob *r) 1620{ 1621 uint32_t cntr_packages_0; 1622 if (ndr_flags & NDR_SCALARS) { 1623 NDR_CHECK(ndr_push_align(ndr, 3)); 1624 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, SUPPLEMENTAL_CREDENTIALS_PREFIX, 0x30, sizeof(uint16_t), CH_UTF16)); 1625 NDR_CHECK(ndr_push_supplementalCredentialsSignature(ndr, NDR_SCALARS, SUPPLEMENTAL_CREDENTIALS_SIGNATURE)); 1626 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->num_packages)); 1627 for (cntr_packages_0 = 0; cntr_packages_0 < r->num_packages; cntr_packages_0++) { 1628 NDR_CHECK(ndr_push_supplementalCredentialsPackage(ndr, NDR_SCALARS, &r->packages[cntr_packages_0])); 1629 } 1630 NDR_CHECK(ndr_push_trailer_align(ndr, 3)); 1631 } 1632 if (ndr_flags & NDR_BUFFERS) { 1633 } 1634 return NDR_ERR_SUCCESS; 1635} 1636 1637static enum ndr_err_code ndr_pull_supplementalCredentialsSubBlob(struct ndr_pull *ndr, int ndr_flags, struct supplementalCredentialsSubBlob *r) 1638{ 1639 uint32_t cntr_packages_0; 1640 TALLOC_CTX *_mem_save_packages_0; 1641 if (ndr_flags & NDR_SCALARS) { 1642 NDR_CHECK(ndr_pull_align(ndr, 3)); 1643 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->prefix, 0x30, sizeof(uint16_t), CH_UTF16)); 1644 NDR_CHECK(ndr_pull_supplementalCredentialsSignature(ndr, NDR_SCALARS, &r->signature)); 1645 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->num_packages)); 1646 NDR_PULL_ALLOC_N(ndr, r->packages, r->num_packages); 1647 _mem_save_packages_0 = NDR_PULL_GET_MEM_CTX(ndr); 1648 NDR_PULL_SET_MEM_CTX(ndr, r->packages, 0); 1649 for (cntr_packages_0 = 0; cntr_packages_0 < r->num_packages; cntr_packages_0++) { 1650 NDR_CHECK(ndr_pull_supplementalCredentialsPackage(ndr, NDR_SCALARS, &r->packages[cntr_packages_0])); 1651 } 1652 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_packages_0, 0); 1653 NDR_CHECK(ndr_pull_trailer_align(ndr, 3)); 1654 } 1655 if (ndr_flags & NDR_BUFFERS) { 1656 } 1657 return NDR_ERR_SUCCESS; 1658} 1659 1660_PUBLIC_ void ndr_print_supplementalCredentialsSubBlob(struct ndr_print *ndr, const char *name, const struct supplementalCredentialsSubBlob *r) 1661{ 1662 uint32_t cntr_packages_0; 1663 ndr_print_struct(ndr, name, "supplementalCredentialsSubBlob"); 1664 ndr->depth++; 1665 ndr_print_string(ndr, "prefix", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?SUPPLEMENTAL_CREDENTIALS_PREFIX:r->prefix); 1666 ndr_print_supplementalCredentialsSignature(ndr, "signature", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?SUPPLEMENTAL_CREDENTIALS_SIGNATURE:r->signature); 1667 ndr_print_uint16(ndr, "num_packages", r->num_packages); 1668 ndr->print(ndr, "%s: ARRAY(%d)", "packages", (int)r->num_packages); 1669 ndr->depth++; 1670 for (cntr_packages_0=0;cntr_packages_0<r->num_packages;cntr_packages_0++) { 1671 char *idx_0=NULL; 1672 if (asprintf(&idx_0, "[%d]", cntr_packages_0) != -1) { 1673 ndr_print_supplementalCredentialsPackage(ndr, "packages", &r->packages[cntr_packages_0]); 1674 free(idx_0); 1675 } 1676 } 1677 ndr->depth--; 1678 ndr->depth--; 1679} 1680 1681static size_t ndr_size_supplementalCredentialsSubBlob(const struct supplementalCredentialsSubBlob *r, struct smb_iconv_convenience *ic, int flags) 1682{ 1683 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_supplementalCredentialsSubBlob, ic); 1684} 1685 1686_PUBLIC_ enum ndr_err_code ndr_push_supplementalCredentialsBlob(struct ndr_push *ndr, int ndr_flags, const struct supplementalCredentialsBlob *r) 1687{ 1688 if (ndr_flags & NDR_SCALARS) { 1689 NDR_CHECK(ndr_push_align(ndr, 4)); 1690 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0)); 1691 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_supplementalCredentialsSubBlob(&r->sub, ndr->iconv_convenience, ndr->flags))); 1692 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0)); 1693 { 1694 struct ndr_push *_ndr_sub; 1695 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_sub, 0, ndr_size_supplementalCredentialsSubBlob(&r->sub, ndr->iconv_convenience, ndr->flags))); 1696 NDR_CHECK(ndr_push_supplementalCredentialsSubBlob(_ndr_sub, NDR_SCALARS, &r->sub)); 1697 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_sub, 0, ndr_size_supplementalCredentialsSubBlob(&r->sub, ndr->iconv_convenience, ndr->flags))); 1698 } 1699 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, 0)); 1700 NDR_CHECK(ndr_push_trailer_align(ndr, 4)); 1701 } 1702 if (ndr_flags & NDR_BUFFERS) { 1703 } 1704 return NDR_ERR_SUCCESS; 1705} 1706 1707_PUBLIC_ enum ndr_err_code ndr_pull_supplementalCredentialsBlob(struct ndr_pull *ndr, int ndr_flags, struct supplementalCredentialsBlob *r) 1708{ 1709 if (ndr_flags & NDR_SCALARS) { 1710 NDR_CHECK(ndr_pull_align(ndr, 4)); 1711 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1)); 1712 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size)); 1713 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2)); 1714 { 1715 struct ndr_pull *_ndr_sub; 1716 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_sub, 0, r->__ndr_size)); 1717 NDR_CHECK(ndr_pull_supplementalCredentialsSubBlob(_ndr_sub, NDR_SCALARS, &r->sub)); 1718 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_sub, 0, r->__ndr_size)); 1719 } 1720 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->unknown3)); 1721 NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); 1722 } 1723 if (ndr_flags & NDR_BUFFERS) { 1724 } 1725 return NDR_ERR_SUCCESS; 1726} 1727 1728_PUBLIC_ void ndr_print_supplementalCredentialsBlob(struct ndr_print *ndr, const char *name, const struct supplementalCredentialsBlob *r) 1729{ 1730 ndr_print_struct(ndr, name, "supplementalCredentialsBlob"); 1731 ndr->depth++; 1732 ndr_print_uint32(ndr, "unknown1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->unknown1); 1733 ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_supplementalCredentialsSubBlob(&r->sub, ndr->iconv_convenience, ndr->flags):r->__ndr_size); 1734 ndr_print_uint32(ndr, "unknown2", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->unknown2); 1735 ndr_print_supplementalCredentialsSubBlob(ndr, "sub", &r->sub); 1736 ndr_print_uint8(ndr, "unknown3", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->unknown3); 1737 ndr->depth--; 1738} 1739 1740_PUBLIC_ enum ndr_err_code ndr_push_package_PackagesBlob(struct ndr_push *ndr, int ndr_flags, const struct package_PackagesBlob *r) 1741{ 1742 if (ndr_flags & NDR_SCALARS) { 1743 NDR_CHECK(ndr_push_align(ndr, 4)); 1744 { 1745 uint32_t _flags_save_string_array = ndr->flags; 1746 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING); 1747 NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->names)); 1748 ndr->flags = _flags_save_string_array; 1749 } 1750 NDR_CHECK(ndr_push_trailer_align(ndr, 4)); 1751 } 1752 if (ndr_flags & NDR_BUFFERS) { 1753 } 1754 return NDR_ERR_SUCCESS; 1755} 1756 1757_PUBLIC_ enum ndr_err_code ndr_pull_package_PackagesBlob(struct ndr_pull *ndr, int ndr_flags, struct package_PackagesBlob *r) 1758{ 1759 if (ndr_flags & NDR_SCALARS) { 1760 NDR_CHECK(ndr_pull_align(ndr, 4)); 1761 { 1762 uint32_t _flags_save_string_array = ndr->flags; 1763 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING); 1764 NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->names)); 1765 ndr->flags = _flags_save_string_array; 1766 } 1767 NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); 1768 } 1769 if (ndr_flags & NDR_BUFFERS) { 1770 } 1771 return NDR_ERR_SUCCESS; 1772} 1773 1774_PUBLIC_ void ndr_print_package_PackagesBlob(struct ndr_print *ndr, const char *name, const struct package_PackagesBlob *r) 1775{ 1776 ndr_print_struct(ndr, name, "package_PackagesBlob"); 1777 ndr->depth++; 1778 ndr_print_string_array(ndr, "names", r->names); 1779 ndr->depth--; 1780} 1781 1782static enum ndr_err_code ndr_push_package_PrimaryKerberosString(struct ndr_push *ndr, int ndr_flags, const struct package_PrimaryKerberosString *r) 1783{ 1784 if (ndr_flags & NDR_SCALARS) { 1785 NDR_CHECK(ndr_push_align(ndr, 5)); 1786 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 2 * strlen_m(r->string))); 1787 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 2 * strlen_m(r->string))); 1788 { 1789 uint32_t _flags_save_string = ndr->flags; 1790 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING); 1791 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->string)); 1792 ndr->flags = _flags_save_string; 1793 } 1794 NDR_CHECK(ndr_push_trailer_align(ndr, 5)); 1795 } 1796 if (ndr_flags & NDR_BUFFERS) { 1797 { 1798 uint32_t _flags_save_string = ndr->flags; 1799 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING); 1800 if (r->string) { 1801 NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->string)); 1802 { 1803 struct ndr_push *_ndr_string; 1804 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_string, 0, 2 * strlen_m(r->string))); 1805 NDR_CHECK(ndr_push_string(_ndr_string, NDR_SCALARS, r->string)); 1806 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_string, 0, 2 * strlen_m(r->string))); 1807 } 1808 NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->string)); 1809 } 1810 ndr->flags = _flags_save_string; 1811 } 1812 } 1813 return NDR_ERR_SUCCESS; 1814} 1815 1816static enum ndr_err_code ndr_pull_package_PrimaryKerberosString(struct ndr_pull *ndr, int ndr_flags, struct package_PrimaryKerberosString *r) 1817{ 1818 uint32_t _ptr_string; 1819 TALLOC_CTX *_mem_save_string_0; 1820 if (ndr_flags & NDR_SCALARS) { 1821 NDR_CHECK(ndr_pull_align(ndr, 5)); 1822 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length)); 1823 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size)); 1824 { 1825 uint32_t _flags_save_string = ndr->flags; 1826 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING); 1827 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_string)); 1828 if (_ptr_string) { 1829 NDR_PULL_ALLOC(ndr, r->string); 1830 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->string, _ptr_string)); 1831 } else { 1832 r->string = NULL; 1833 } 1834 ndr->flags = _flags_save_string; 1835 } 1836 NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); 1837 } 1838 if (ndr_flags & NDR_BUFFERS) { 1839 { 1840 uint32_t _flags_save_string = ndr->flags; 1841 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING); 1842 if (r->string) { 1843 uint32_t _relative_save_offset; 1844 _relative_save_offset = ndr->offset; 1845 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->string)); 1846 _mem_save_string_0 = NDR_PULL_GET_MEM_CTX(ndr); 1847 NDR_PULL_SET_MEM_CTX(ndr, r->string, 0); 1848 { 1849 struct ndr_pull *_ndr_string; 1850 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_string, 0, r->size)); 1851 NDR_CHECK(ndr_pull_string(_ndr_string, NDR_SCALARS, &r->string)); 1852 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_string, 0, r->size)); 1853 } 1854 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_string_0, 0); 1855 ndr->offset = _relative_save_offset; 1856 } 1857 ndr->flags = _flags_save_string; 1858 } 1859 } 1860 return NDR_ERR_SUCCESS; 1861} 1862 1863_PUBLIC_ void ndr_print_package_PrimaryKerberosString(struct ndr_print *ndr, const char *name, const struct package_PrimaryKerberosString *r) 1864{ 1865 ndr_print_struct(ndr, name, "package_PrimaryKerberosString"); 1866 ndr->depth++; 1867 ndr_print_uint16(ndr, "length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2 * strlen_m(r->string):r->length); 1868 ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2 * strlen_m(r->string):r->size); 1869 ndr_print_ptr(ndr, "string", r->string); 1870 ndr->depth++; 1871 if (r->string) { 1872 ndr_print_string(ndr, "string", r->string); 1873 } 1874 ndr->depth--; 1875 ndr->depth--; 1876} 1877 1878static enum ndr_err_code ndr_push_package_PrimaryKerberosKey3(struct ndr_push *ndr, int ndr_flags, const struct package_PrimaryKerberosKey3 *r) 1879{ 1880 if (ndr_flags & NDR_SCALARS) { 1881 NDR_CHECK(ndr_push_align(ndr, 5)); 1882 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 0)); 1883 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 0)); 1884 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0)); 1885 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->keytype)); 1886 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, (r->value?r->value->length:0))); 1887 { 1888 uint32_t _flags_save_DATA_BLOB = ndr->flags; 1889 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); 1890 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->value)); 1891 ndr->flags = _flags_save_DATA_BLOB; 1892 } 1893 NDR_CHECK(ndr_push_trailer_align(ndr, 5)); 1894 } 1895 if (ndr_flags & NDR_BUFFERS) { 1896 { 1897 uint32_t _flags_save_DATA_BLOB = ndr->flags; 1898 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); 1899 if (r->value) { 1900 NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->value)); 1901 { 1902 struct ndr_push *_ndr_value; 1903 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_value, 0, (r->value?r->value->length:0))); 1904 NDR_CHECK(ndr_push_DATA_BLOB(_ndr_value, NDR_SCALARS, *r->value)); 1905 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_value, 0, (r->value?r->value->length:0))); 1906 } 1907 NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->value)); 1908 } 1909 ndr->flags = _flags_save_DATA_BLOB; 1910 } 1911 } 1912 return NDR_ERR_SUCCESS; 1913} 1914 1915static enum ndr_err_code ndr_pull_package_PrimaryKerberosKey3(struct ndr_pull *ndr, int ndr_flags, struct package_PrimaryKerberosKey3 *r) 1916{ 1917 uint32_t _ptr_value; 1918 TALLOC_CTX *_mem_save_value_0; 1919 if (ndr_flags & NDR_SCALARS) { 1920 NDR_CHECK(ndr_pull_align(ndr, 5)); 1921 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->reserved1)); 1922 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->reserved2)); 1923 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved3)); 1924 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->keytype)); 1925 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->value_len)); 1926 { 1927 uint32_t _flags_save_DATA_BLOB = ndr->flags; 1928 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); 1929 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_value)); 1930 if (_ptr_value) { 1931 NDR_PULL_ALLOC(ndr, r->value); 1932 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->value, _ptr_value)); 1933 } else { 1934 r->value = NULL; 1935 } 1936 ndr->flags = _flags_save_DATA_BLOB; 1937 } 1938 NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); 1939 } 1940 if (ndr_flags & NDR_BUFFERS) { 1941 { 1942 uint32_t _flags_save_DATA_BLOB = ndr->flags; 1943 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); 1944 if (r->value) { 1945 uint32_t _relative_save_offset; 1946 _relative_save_offset = ndr->offset; 1947 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->value)); 1948 _mem_save_value_0 = NDR_PULL_GET_MEM_CTX(ndr); 1949 NDR_PULL_SET_MEM_CTX(ndr, r->value, 0); 1950 { 1951 struct ndr_pull *_ndr_value; 1952 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_value, 0, r->value_len)); 1953 NDR_CHECK(ndr_pull_DATA_BLOB(_ndr_value, NDR_SCALARS, r->value)); 1954 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_value, 0, r->value_len)); 1955 } 1956 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_value_0, 0); 1957 ndr->offset = _relative_save_offset; 1958 } 1959 ndr->flags = _flags_save_DATA_BLOB; 1960 } 1961 } 1962 return NDR_ERR_SUCCESS; 1963} 1964 1965_PUBLIC_ void ndr_print_package_PrimaryKerberosKey3(struct ndr_print *ndr, const char *name, const struct package_PrimaryKerberosKey3 *r) 1966{ 1967 ndr_print_struct(ndr, name, "package_PrimaryKerberosKey3"); 1968 ndr->depth++; 1969 ndr_print_uint16(ndr, "reserved1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved1); 1970 ndr_print_uint16(ndr, "reserved2", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved2); 1971 ndr_print_uint32(ndr, "reserved3", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved3); 1972 ndr_print_uint32(ndr, "keytype", r->keytype); 1973 ndr_print_uint32(ndr, "value_len", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?(r->value?r->value->length:0):r->value_len); 1974 ndr_print_ptr(ndr, "value", r->value); 1975 ndr->depth++; 1976 if (r->value) { 1977 ndr_print_DATA_BLOB(ndr, "value", *r->value); 1978 } 1979 ndr->depth--; 1980 ndr->depth--; 1981} 1982 1983static enum ndr_err_code ndr_push_package_PrimaryKerberosCtr3(struct ndr_push *ndr, int ndr_flags, const struct package_PrimaryKerberosCtr3 *r) 1984{ 1985 uint32_t cntr_keys_0; 1986 uint32_t cntr_old_keys_0; 1987 if (ndr_flags & NDR_SCALARS) { 1988 NDR_CHECK(ndr_push_align(ndr, 5)); 1989 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->num_keys)); 1990 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->num_old_keys)); 1991 NDR_CHECK(ndr_push_package_PrimaryKerberosString(ndr, NDR_SCALARS, &r->salt)); 1992 for (cntr_keys_0 = 0; cntr_keys_0 < r->num_keys; cntr_keys_0++) { 1993 NDR_CHECK(ndr_push_package_PrimaryKerberosKey3(ndr, NDR_SCALARS, &r->keys[cntr_keys_0])); 1994 } 1995 for (cntr_old_keys_0 = 0; cntr_old_keys_0 < r->num_old_keys; cntr_old_keys_0++) { 1996 NDR_CHECK(ndr_push_package_PrimaryKerberosKey3(ndr, NDR_SCALARS, &r->old_keys[cntr_old_keys_0])); 1997 } 1998 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0)); 1999 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0)); 2000 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0)); 2001 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0)); 2002 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0)); 2003 NDR_CHECK(ndr_push_trailer_align(ndr, 5)); 2004 } 2005 if (ndr_flags & NDR_BUFFERS) { 2006 NDR_CHECK(ndr_push_package_PrimaryKerberosString(ndr, NDR_BUFFERS, &r->salt)); 2007 for (cntr_keys_0 = 0; cntr_keys_0 < r->num_keys; cntr_keys_0++) { 2008 NDR_CHECK(ndr_push_package_PrimaryKerberosKey3(ndr, NDR_BUFFERS, &r->keys[cntr_keys_0])); 2009 } 2010 for (cntr_old_keys_0 = 0; cntr_old_keys_0 < r->num_old_keys; cntr_old_keys_0++) { 2011 NDR_CHECK(ndr_push_package_PrimaryKerberosKey3(ndr, NDR_BUFFERS, &r->old_keys[cntr_old_keys_0])); 2012 } 2013 } 2014 return NDR_ERR_SUCCESS; 2015} 2016 2017static enum ndr_err_code ndr_pull_package_PrimaryKerberosCtr3(struct ndr_pull *ndr, int ndr_flags, struct package_PrimaryKerberosCtr3 *r) 2018{ 2019 uint32_t cntr_keys_0; 2020 TALLOC_CTX *_mem_save_keys_0; 2021 uint32_t cntr_old_keys_0; 2022 TALLOC_CTX *_mem_save_old_keys_0; 2023 if (ndr_flags & NDR_SCALARS) { 2024 NDR_CHECK(ndr_pull_align(ndr, 5)); 2025 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->num_keys)); 2026 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->num_old_keys)); 2027 NDR_CHECK(ndr_pull_package_PrimaryKerberosString(ndr, NDR_SCALARS, &r->salt)); 2028 NDR_PULL_ALLOC_N(ndr, r->keys, r->num_keys); 2029 _mem_save_keys_0 = NDR_PULL_GET_MEM_CTX(ndr); 2030 NDR_PULL_SET_MEM_CTX(ndr, r->keys, 0); 2031 for (cntr_keys_0 = 0; cntr_keys_0 < r->num_keys; cntr_keys_0++) { 2032 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey3(ndr, NDR_SCALARS, &r->keys[cntr_keys_0])); 2033 } 2034 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_keys_0, 0); 2035 NDR_PULL_ALLOC_N(ndr, r->old_keys, r->num_old_keys); 2036 _mem_save_old_keys_0 = NDR_PULL_GET_MEM_CTX(ndr); 2037 NDR_PULL_SET_MEM_CTX(ndr, r->old_keys, 0); 2038 for (cntr_old_keys_0 = 0; cntr_old_keys_0 < r->num_old_keys; cntr_old_keys_0++) { 2039 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey3(ndr, NDR_SCALARS, &r->old_keys[cntr_old_keys_0])); 2040 } 2041 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_keys_0, 0); 2042 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->padding1)); 2043 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->padding2)); 2044 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->padding3)); 2045 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->padding4)); 2046 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->padding5)); 2047 NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); 2048 } 2049 if (ndr_flags & NDR_BUFFERS) { 2050 NDR_CHECK(ndr_pull_package_PrimaryKerberosString(ndr, NDR_BUFFERS, &r->salt)); 2051 _mem_save_keys_0 = NDR_PULL_GET_MEM_CTX(ndr); 2052 NDR_PULL_SET_MEM_CTX(ndr, r->keys, 0); 2053 for (cntr_keys_0 = 0; cntr_keys_0 < r->num_keys; cntr_keys_0++) { 2054 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey3(ndr, NDR_BUFFERS, &r->keys[cntr_keys_0])); 2055 } 2056 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_keys_0, 0); 2057 _mem_save_old_keys_0 = NDR_PULL_GET_MEM_CTX(ndr); 2058 NDR_PULL_SET_MEM_CTX(ndr, r->old_keys, 0); 2059 for (cntr_old_keys_0 = 0; cntr_old_keys_0 < r->num_old_keys; cntr_old_keys_0++) { 2060 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey3(ndr, NDR_BUFFERS, &r->old_keys[cntr_old_keys_0])); 2061 } 2062 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_keys_0, 0); 2063 } 2064 return NDR_ERR_SUCCESS; 2065} 2066 2067_PUBLIC_ void ndr_print_package_PrimaryKerberosCtr3(struct ndr_print *ndr, const char *name, const struct package_PrimaryKerberosCtr3 *r) 2068{ 2069 uint32_t cntr_keys_0; 2070 uint32_t cntr_old_keys_0; 2071 ndr_print_struct(ndr, name, "package_PrimaryKerberosCtr3"); 2072 ndr->depth++; 2073 ndr_print_uint16(ndr, "num_keys", r->num_keys); 2074 ndr_print_uint16(ndr, "num_old_keys", r->num_old_keys); 2075 ndr_print_package_PrimaryKerberosString(ndr, "salt", &r->salt); 2076 ndr->print(ndr, "%s: ARRAY(%d)", "keys", (int)r->num_keys); 2077 ndr->depth++; 2078 for (cntr_keys_0=0;cntr_keys_0<r->num_keys;cntr_keys_0++) { 2079 char *idx_0=NULL; 2080 if (asprintf(&idx_0, "[%d]", cntr_keys_0) != -1) { 2081 ndr_print_package_PrimaryKerberosKey3(ndr, "keys", &r->keys[cntr_keys_0]); 2082 free(idx_0); 2083 } 2084 } 2085 ndr->depth--; 2086 ndr->print(ndr, "%s: ARRAY(%d)", "old_keys", (int)r->num_old_keys); 2087 ndr->depth++; 2088 for (cntr_old_keys_0=0;cntr_old_keys_0<r->num_old_keys;cntr_old_keys_0++) { 2089 char *idx_0=NULL; 2090 if (asprintf(&idx_0, "[%d]", cntr_old_keys_0) != -1) { 2091 ndr_print_package_PrimaryKerberosKey3(ndr, "old_keys", &r->old_keys[cntr_old_keys_0]); 2092 free(idx_0); 2093 } 2094 } 2095 ndr->depth--; 2096 ndr_print_uint32(ndr, "padding1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->padding1); 2097 ndr_print_uint32(ndr, "padding2", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->padding2); 2098 ndr_print_uint32(ndr, "padding3", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->padding3); 2099 ndr_print_uint32(ndr, "padding4", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->padding4); 2100 ndr_print_uint32(ndr, "padding5", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->padding5); 2101 ndr->depth--; 2102} 2103 2104static enum ndr_err_code ndr_push_package_PrimaryKerberosKey4(struct ndr_push *ndr, int ndr_flags, const struct package_PrimaryKerberosKey4 *r) 2105{ 2106 if (ndr_flags & NDR_SCALARS) { 2107 NDR_CHECK(ndr_push_align(ndr, 5)); 2108 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 0)); 2109 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 0)); 2110 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0)); 2111 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->iteration_count)); 2112 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->keytype)); 2113 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, (r->value?r->value->length:0))); 2114 { 2115 uint32_t _flags_save_DATA_BLOB = ndr->flags; 2116 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); 2117 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->value)); 2118 ndr->flags = _flags_save_DATA_BLOB; 2119 } 2120 NDR_CHECK(ndr_push_trailer_align(ndr, 5)); 2121 } 2122 if (ndr_flags & NDR_BUFFERS) { 2123 { 2124 uint32_t _flags_save_DATA_BLOB = ndr->flags; 2125 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); 2126 if (r->value) { 2127 NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->value)); 2128 { 2129 struct ndr_push *_ndr_value; 2130 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_value, 0, (r->value?r->value->length:0))); 2131 NDR_CHECK(ndr_push_DATA_BLOB(_ndr_value, NDR_SCALARS, *r->value)); 2132 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_value, 0, (r->value?r->value->length:0))); 2133 } 2134 NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->value)); 2135 } 2136 ndr->flags = _flags_save_DATA_BLOB; 2137 } 2138 } 2139 return NDR_ERR_SUCCESS; 2140} 2141 2142static enum ndr_err_code ndr_pull_package_PrimaryKerberosKey4(struct ndr_pull *ndr, int ndr_flags, struct package_PrimaryKerberosKey4 *r) 2143{ 2144 uint32_t _ptr_value; 2145 TALLOC_CTX *_mem_save_value_0; 2146 if (ndr_flags & NDR_SCALARS) { 2147 NDR_CHECK(ndr_pull_align(ndr, 5)); 2148 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->reserved1)); 2149 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->reserved2)); 2150 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved3)); 2151 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->iteration_count)); 2152 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->keytype)); 2153 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->value_len)); 2154 { 2155 uint32_t _flags_save_DATA_BLOB = ndr->flags; 2156 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); 2157 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_value)); 2158 if (_ptr_value) { 2159 NDR_PULL_ALLOC(ndr, r->value); 2160 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->value, _ptr_value)); 2161 } else { 2162 r->value = NULL; 2163 } 2164 ndr->flags = _flags_save_DATA_BLOB; 2165 } 2166 NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); 2167 } 2168 if (ndr_flags & NDR_BUFFERS) { 2169 { 2170 uint32_t _flags_save_DATA_BLOB = ndr->flags; 2171 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); 2172 if (r->value) { 2173 uint32_t _relative_save_offset; 2174 _relative_save_offset = ndr->offset; 2175 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->value)); 2176 _mem_save_value_0 = NDR_PULL_GET_MEM_CTX(ndr); 2177 NDR_PULL_SET_MEM_CTX(ndr, r->value, 0); 2178 { 2179 struct ndr_pull *_ndr_value; 2180 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_value, 0, r->value_len)); 2181 NDR_CHECK(ndr_pull_DATA_BLOB(_ndr_value, NDR_SCALARS, r->value)); 2182 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_value, 0, r->value_len)); 2183 } 2184 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_value_0, 0); 2185 ndr->offset = _relative_save_offset; 2186 } 2187 ndr->flags = _flags_save_DATA_BLOB; 2188 } 2189 } 2190 return NDR_ERR_SUCCESS; 2191} 2192 2193_PUBLIC_ void ndr_print_package_PrimaryKerberosKey4(struct ndr_print *ndr, const char *name, const struct package_PrimaryKerberosKey4 *r) 2194{ 2195 ndr_print_struct(ndr, name, "package_PrimaryKerberosKey4"); 2196 ndr->depth++; 2197 ndr_print_uint16(ndr, "reserved1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved1); 2198 ndr_print_uint16(ndr, "reserved2", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved2); 2199 ndr_print_uint32(ndr, "reserved3", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved3); 2200 ndr_print_uint32(ndr, "iteration_count", r->iteration_count); 2201 ndr_print_uint32(ndr, "keytype", r->keytype); 2202 ndr_print_uint32(ndr, "value_len", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?(r->value?r->value->length:0):r->value_len); 2203 ndr_print_ptr(ndr, "value", r->value); 2204 ndr->depth++; 2205 if (r->value) { 2206 ndr_print_DATA_BLOB(ndr, "value", *r->value); 2207 } 2208 ndr->depth--; 2209 ndr->depth--; 2210} 2211 2212static enum ndr_err_code ndr_push_package_PrimaryKerberosCtr4(struct ndr_push *ndr, int ndr_flags, const struct package_PrimaryKerberosCtr4 *r) 2213{ 2214 uint32_t cntr_keys_0; 2215 uint32_t cntr_old_keys_0; 2216 uint32_t cntr_older_keys_0; 2217 if (ndr_flags & NDR_SCALARS) { 2218 NDR_CHECK(ndr_push_align(ndr, 5)); 2219 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->num_keys)); 2220 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 0)); 2221 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->num_old_keys)); 2222 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->num_older_keys)); 2223 NDR_CHECK(ndr_push_package_PrimaryKerberosString(ndr, NDR_SCALARS, &r->salt)); 2224 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->default_iteration_count)); 2225 for (cntr_keys_0 = 0; cntr_keys_0 < r->num_keys; cntr_keys_0++) { 2226 NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr, NDR_SCALARS, &r->keys[cntr_keys_0])); 2227 } 2228 for (cntr_old_keys_0 = 0; cntr_old_keys_0 < r->num_old_keys; cntr_old_keys_0++) { 2229 NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr, NDR_SCALARS, &r->old_keys[cntr_old_keys_0])); 2230 } 2231 for (cntr_older_keys_0 = 0; cntr_older_keys_0 < r->num_older_keys; cntr_older_keys_0++) { 2232 NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr, NDR_SCALARS, &r->older_keys[cntr_older_keys_0])); 2233 } 2234 NDR_CHECK(ndr_push_trailer_align(ndr, 5)); 2235 } 2236 if (ndr_flags & NDR_BUFFERS) { 2237 NDR_CHECK(ndr_push_package_PrimaryKerberosString(ndr, NDR_BUFFERS, &r->salt)); 2238 for (cntr_keys_0 = 0; cntr_keys_0 < r->num_keys; cntr_keys_0++) { 2239 NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr, NDR_BUFFERS, &r->keys[cntr_keys_0])); 2240 } 2241 for (cntr_old_keys_0 = 0; cntr_old_keys_0 < r->num_old_keys; cntr_old_keys_0++) { 2242 NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr, NDR_BUFFERS, &r->old_keys[cntr_old_keys_0])); 2243 } 2244 for (cntr_older_keys_0 = 0; cntr_older_keys_0 < r->num_older_keys; cntr_older_keys_0++) { 2245 NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr, NDR_BUFFERS, &r->older_keys[cntr_older_keys_0])); 2246 } 2247 } 2248 return NDR_ERR_SUCCESS; 2249} 2250 2251static enum ndr_err_code ndr_pull_package_PrimaryKerberosCtr4(struct ndr_pull *ndr, int ndr_flags, struct package_PrimaryKerberosCtr4 *r) 2252{ 2253 uint32_t cntr_keys_0; 2254 TALLOC_CTX *_mem_save_keys_0; 2255 uint32_t cntr_service_keys_0; 2256 TALLOC_CTX *_mem_save_service_keys_0; 2257 uint32_t cntr_old_keys_0; 2258 TALLOC_CTX *_mem_save_old_keys_0; 2259 uint32_t cntr_older_keys_0; 2260 TALLOC_CTX *_mem_save_older_keys_0; 2261 if (ndr_flags & NDR_SCALARS) { 2262 NDR_CHECK(ndr_pull_align(ndr, 5)); 2263 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->num_keys)); 2264 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->num_service_keys)); 2265 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->num_old_keys)); 2266 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->num_older_keys)); 2267 NDR_CHECK(ndr_pull_package_PrimaryKerberosString(ndr, NDR_SCALARS, &r->salt)); 2268 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->default_iteration_count)); 2269 NDR_PULL_ALLOC_N(ndr, r->keys, r->num_keys); 2270 _mem_save_keys_0 = NDR_PULL_GET_MEM_CTX(ndr); 2271 NDR_PULL_SET_MEM_CTX(ndr, r->keys, 0); 2272 for (cntr_keys_0 = 0; cntr_keys_0 < r->num_keys; cntr_keys_0++) { 2273 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr, NDR_SCALARS, &r->keys[cntr_keys_0])); 2274 } 2275 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_keys_0, 0); 2276 NDR_PULL_ALLOC_N(ndr, r->service_keys, r->num_service_keys); 2277 _mem_save_service_keys_0 = NDR_PULL_GET_MEM_CTX(ndr); 2278 NDR_PULL_SET_MEM_CTX(ndr, r->service_keys, 0); 2279 for (cntr_service_keys_0 = 0; cntr_service_keys_0 < r->num_service_keys; cntr_service_keys_0++) { 2280 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr, NDR_SCALARS, &r->service_keys[cntr_service_keys_0])); 2281 } 2282 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_service_keys_0, 0); 2283 NDR_PULL_ALLOC_N(ndr, r->old_keys, r->num_old_keys); 2284 _mem_save_old_keys_0 = NDR_PULL_GET_MEM_CTX(ndr); 2285 NDR_PULL_SET_MEM_CTX(ndr, r->old_keys, 0); 2286 for (cntr_old_keys_0 = 0; cntr_old_keys_0 < r->num_old_keys; cntr_old_keys_0++) { 2287 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr, NDR_SCALARS, &r->old_keys[cntr_old_keys_0])); 2288 } 2289 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_keys_0, 0); 2290 NDR_PULL_ALLOC_N(ndr, r->older_keys, r->num_older_keys); 2291 _mem_save_older_keys_0 = NDR_PULL_GET_MEM_CTX(ndr); 2292 NDR_PULL_SET_MEM_CTX(ndr, r->older_keys, 0); 2293 for (cntr_older_keys_0 = 0; cntr_older_keys_0 < r->num_older_keys; cntr_older_keys_0++) { 2294 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr, NDR_SCALARS, &r->older_keys[cntr_older_keys_0])); 2295 } 2296 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_older_keys_0, 0); 2297 NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); 2298 } 2299 if (ndr_flags & NDR_BUFFERS) { 2300 NDR_CHECK(ndr_pull_package_PrimaryKerberosString(ndr, NDR_BUFFERS, &r->salt)); 2301 _mem_save_keys_0 = NDR_PULL_GET_MEM_CTX(ndr); 2302 NDR_PULL_SET_MEM_CTX(ndr, r->keys, 0); 2303 for (cntr_keys_0 = 0; cntr_keys_0 < r->num_keys; cntr_keys_0++) { 2304 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr, NDR_BUFFERS, &r->keys[cntr_keys_0])); 2305 } 2306 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_keys_0, 0); 2307 _mem_save_service_keys_0 = NDR_PULL_GET_MEM_CTX(ndr); 2308 NDR_PULL_SET_MEM_CTX(ndr, r->service_keys, 0); 2309 for (cntr_service_keys_0 = 0; cntr_service_keys_0 < r->num_service_keys; cntr_service_keys_0++) { 2310 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr, NDR_BUFFERS, &r->service_keys[cntr_service_keys_0])); 2311 } 2312 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_service_keys_0, 0); 2313 _mem_save_old_keys_0 = NDR_PULL_GET_MEM_CTX(ndr); 2314 NDR_PULL_SET_MEM_CTX(ndr, r->old_keys, 0); 2315 for (cntr_old_keys_0 = 0; cntr_old_keys_0 < r->num_old_keys; cntr_old_keys_0++) { 2316 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr, NDR_BUFFERS, &r->old_keys[cntr_old_keys_0])); 2317 } 2318 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_keys_0, 0); 2319 _mem_save_older_keys_0 = NDR_PULL_GET_MEM_CTX(ndr); 2320 NDR_PULL_SET_MEM_CTX(ndr, r->older_keys, 0); 2321 for (cntr_older_keys_0 = 0; cntr_older_keys_0 < r->num_older_keys; cntr_older_keys_0++) { 2322 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr, NDR_BUFFERS, &r->older_keys[cntr_older_keys_0])); 2323 } 2324 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_older_keys_0, 0); 2325 } 2326 return NDR_ERR_SUCCESS; 2327} 2328 2329_PUBLIC_ void ndr_print_package_PrimaryKerberosCtr4(struct ndr_print *ndr, const char *name, const struct package_PrimaryKerberosCtr4 *r) 2330{ 2331 uint32_t cntr_keys_0; 2332 uint32_t cntr_service_keys_0; 2333 uint32_t cntr_old_keys_0; 2334 uint32_t cntr_older_keys_0; 2335 ndr_print_struct(ndr, name, "package_PrimaryKerberosCtr4"); 2336 ndr->depth++; 2337 ndr_print_uint16(ndr, "num_keys", r->num_keys); 2338 ndr_print_uint16(ndr, "num_service_keys", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->num_service_keys); 2339 ndr_print_uint16(ndr, "num_old_keys", r->num_old_keys); 2340 ndr_print_uint16(ndr, "num_older_keys", r->num_older_keys); 2341 ndr_print_package_PrimaryKerberosString(ndr, "salt", &r->salt); 2342 ndr_print_uint32(ndr, "default_iteration_count", r->default_iteration_count); 2343 ndr->print(ndr, "%s: ARRAY(%d)", "keys", (int)r->num_keys); 2344 ndr->depth++; 2345 for (cntr_keys_0=0;cntr_keys_0<r->num_keys;cntr_keys_0++) { 2346 char *idx_0=NULL; 2347 if (asprintf(&idx_0, "[%d]", cntr_keys_0) != -1) { 2348 ndr_print_package_PrimaryKerberosKey4(ndr, "keys", &r->keys[cntr_keys_0]); 2349 free(idx_0); 2350 } 2351 } 2352 ndr->depth--; 2353 ndr->print(ndr, "%s: ARRAY(%d)", "service_keys", (int)r->num_service_keys); 2354 ndr->depth++; 2355 for (cntr_service_keys_0=0;cntr_service_keys_0<r->num_service_keys;cntr_service_keys_0++) { 2356 char *idx_0=NULL; 2357 if (asprintf(&idx_0, "[%d]", cntr_service_keys_0) != -1) { 2358 ndr_print_package_PrimaryKerberosKey4(ndr, "service_keys", &r->service_keys[cntr_service_keys_0]); 2359 free(idx_0); 2360 } 2361 } 2362 ndr->depth--; 2363 ndr->print(ndr, "%s: ARRAY(%d)", "old_keys", (int)r->num_old_keys); 2364 ndr->depth++; 2365 for (cntr_old_keys_0=0;cntr_old_keys_0<r->num_old_keys;cntr_old_keys_0++) { 2366 char *idx_0=NULL; 2367 if (asprintf(&idx_0, "[%d]", cntr_old_keys_0) != -1) { 2368 ndr_print_package_PrimaryKerberosKey4(ndr, "old_keys", &r->old_keys[cntr_old_keys_0]); 2369 free(idx_0); 2370 } 2371 } 2372 ndr->depth--; 2373 ndr->print(ndr, "%s: ARRAY(%d)", "older_keys", (int)r->num_older_keys); 2374 ndr->depth++; 2375 for (cntr_older_keys_0=0;cntr_older_keys_0<r->num_older_keys;cntr_older_keys_0++) { 2376 char *idx_0=NULL; 2377 if (asprintf(&idx_0, "[%d]", cntr_older_keys_0) != -1) { 2378 ndr_print_package_PrimaryKerberosKey4(ndr, "older_keys", &r->older_keys[cntr_older_keys_0]); 2379 free(idx_0); 2380 } 2381 } 2382 ndr->depth--; 2383 ndr->depth--; 2384} 2385 2386static enum ndr_err_code ndr_push_package_PrimaryKerberosCtr(struct ndr_push *ndr, int ndr_flags, const union package_PrimaryKerberosCtr *r) 2387{ 2388 if (ndr_flags & NDR_SCALARS) { 2389 int level = ndr_push_get_switch_value(ndr, r); 2390 NDR_CHECK(ndr_push_union_align(ndr, 5)); 2391 switch (level) { 2392 case 3: { 2393 NDR_CHECK(ndr_push_package_PrimaryKerberosCtr3(ndr, NDR_SCALARS, &r->ctr3)); 2394 break; } 2395 2396 case 4: { 2397 NDR_CHECK(ndr_push_package_PrimaryKerberosCtr4(ndr, NDR_SCALARS, &r->ctr4)); 2398 break; } 2399 2400 default: 2401 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); 2402 } 2403 } 2404 if (ndr_flags & NDR_BUFFERS) { 2405 int level = ndr_push_get_switch_value(ndr, r); 2406 switch (level) { 2407 case 3: 2408 NDR_CHECK(ndr_push_package_PrimaryKerberosCtr3(ndr, NDR_BUFFERS, &r->ctr3)); 2409 break; 2410 2411 case 4: 2412 NDR_CHECK(ndr_push_package_PrimaryKerberosCtr4(ndr, NDR_BUFFERS, &r->ctr4)); 2413 break; 2414 2415 default: 2416 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); 2417 } 2418 } 2419 return NDR_ERR_SUCCESS; 2420} 2421 2422static enum ndr_err_code ndr_pull_package_PrimaryKerberosCtr(struct ndr_pull *ndr, int ndr_flags, union package_PrimaryKerberosCtr *r) 2423{ 2424 int level; 2425 level = ndr_pull_get_switch_value(ndr, r); 2426 if (ndr_flags & NDR_SCALARS) { 2427 NDR_CHECK(ndr_pull_union_align(ndr, 5)); 2428 switch (level) { 2429 case 3: { 2430 NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr3(ndr, NDR_SCALARS, &r->ctr3)); 2431 break; } 2432 2433 case 4: { 2434 NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr4(ndr, NDR_SCALARS, &r->ctr4)); 2435 break; } 2436 2437 default: 2438 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); 2439 } 2440 } 2441 if (ndr_flags & NDR_BUFFERS) { 2442 switch (level) { 2443 case 3: 2444 NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr3(ndr, NDR_BUFFERS, &r->ctr3)); 2445 break; 2446 2447 case 4: 2448 NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr4(ndr, NDR_BUFFERS, &r->ctr4)); 2449 break; 2450 2451 default: 2452 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); 2453 } 2454 } 2455 return NDR_ERR_SUCCESS; 2456} 2457 2458_PUBLIC_ void ndr_print_package_PrimaryKerberosCtr(struct ndr_print *ndr, const char *name, const union package_PrimaryKerberosCtr *r) 2459{ 2460 int level; 2461 level = ndr_print_get_switch_value(ndr, r); 2462 ndr_print_union(ndr, name, level, "package_PrimaryKerberosCtr"); 2463 switch (level) { 2464 case 3: 2465 ndr_print_package_PrimaryKerberosCtr3(ndr, "ctr3", &r->ctr3); 2466 break; 2467 2468 case 4: 2469 ndr_print_package_PrimaryKerberosCtr4(ndr, "ctr4", &r->ctr4); 2470 break; 2471 2472 default: 2473 ndr_print_bad_level(ndr, name, level); 2474 } 2475} 2476 2477_PUBLIC_ enum ndr_err_code ndr_push_package_PrimaryKerberosBlob(struct ndr_push *ndr, int ndr_flags, const struct package_PrimaryKerberosBlob *r) 2478{ 2479 if (ndr_flags & NDR_SCALARS) { 2480 NDR_CHECK(ndr_push_align(ndr, 5)); 2481 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->version)); 2482 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 0)); 2483 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->version)); 2484 NDR_CHECK(ndr_push_package_PrimaryKerberosCtr(ndr, NDR_SCALARS, &r->ctr)); 2485 NDR_CHECK(ndr_push_trailer_align(ndr, 5)); 2486 } 2487 if (ndr_flags & NDR_BUFFERS) { 2488 NDR_CHECK(ndr_push_package_PrimaryKerberosCtr(ndr, NDR_BUFFERS, &r->ctr)); 2489 } 2490 return NDR_ERR_SUCCESS; 2491} 2492 2493_PUBLIC_ enum ndr_err_code ndr_pull_package_PrimaryKerberosBlob(struct ndr_pull *ndr, int ndr_flags, struct package_PrimaryKerberosBlob *r) 2494{ 2495 if (ndr_flags & NDR_SCALARS) { 2496 NDR_CHECK(ndr_pull_align(ndr, 5)); 2497 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->version)); 2498 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->flags)); 2499 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->version)); 2500 NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr(ndr, NDR_SCALARS, &r->ctr)); 2501 NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); 2502 } 2503 if (ndr_flags & NDR_BUFFERS) { 2504 NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr(ndr, NDR_BUFFERS, &r->ctr)); 2505 } 2506 return NDR_ERR_SUCCESS; 2507} 2508 2509_PUBLIC_ void ndr_print_package_PrimaryKerberosBlob(struct ndr_print *ndr, const char *name, const struct package_PrimaryKerberosBlob *r) 2510{ 2511 ndr_print_struct(ndr, name, "package_PrimaryKerberosBlob"); 2512 ndr->depth++; 2513 ndr_print_uint16(ndr, "version", r->version); 2514 ndr_print_uint16(ndr, "flags", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->flags); 2515 ndr_print_set_switch_value(ndr, &r->ctr, r->version); 2516 ndr_print_package_PrimaryKerberosCtr(ndr, "ctr", &r->ctr); 2517 ndr->depth--; 2518} 2519 2520_PUBLIC_ enum ndr_err_code ndr_push_package_PrimaryCLEARTEXTBlob(struct ndr_push *ndr, int ndr_flags, const struct package_PrimaryCLEARTEXTBlob *r) 2521{ 2522 if (ndr_flags & NDR_SCALARS) { 2523 NDR_CHECK(ndr_push_align(ndr, 4)); 2524 { 2525 uint32_t _flags_save_DATA_BLOB = ndr->flags; 2526 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); 2527 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->cleartext)); 2528 ndr->flags = _flags_save_DATA_BLOB; 2529 } 2530 NDR_CHECK(ndr_push_trailer_align(ndr, 4)); 2531 } 2532 if (ndr_flags & NDR_BUFFERS) { 2533 } 2534 return NDR_ERR_SUCCESS; 2535} 2536 2537_PUBLIC_ enum ndr_err_code ndr_pull_package_PrimaryCLEARTEXTBlob(struct ndr_pull *ndr, int ndr_flags, struct package_PrimaryCLEARTEXTBlob *r) 2538{ 2539 if (ndr_flags & NDR_SCALARS) { 2540 NDR_CHECK(ndr_pull_align(ndr, 4)); 2541 { 2542 uint32_t _flags_save_DATA_BLOB = ndr->flags; 2543 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); 2544 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->cleartext)); 2545 ndr->flags = _flags_save_DATA_BLOB; 2546 } 2547 NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); 2548 } 2549 if (ndr_flags & NDR_BUFFERS) { 2550 } 2551 return NDR_ERR_SUCCESS; 2552} 2553 2554_PUBLIC_ void ndr_print_package_PrimaryCLEARTEXTBlob(struct ndr_print *ndr, const char *name, const struct package_PrimaryCLEARTEXTBlob *r) 2555{ 2556 ndr_print_struct(ndr, name, "package_PrimaryCLEARTEXTBlob"); 2557 ndr->depth++; 2558 ndr_print_DATA_BLOB(ndr, "cleartext", r->cleartext); 2559 ndr->depth--; 2560} 2561 2562static enum ndr_err_code ndr_push_package_PrimaryWDigestHash(struct ndr_push *ndr, int ndr_flags, const struct package_PrimaryWDigestHash *r) 2563{ 2564 { 2565 uint32_t _flags_save_STRUCT = ndr->flags; 2566 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); 2567 if (ndr_flags & NDR_SCALARS) { 2568 NDR_CHECK(ndr_push_align(ndr, 1)); 2569 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->hash, 16)); 2570 NDR_CHECK(ndr_push_trailer_align(ndr, 1)); 2571 } 2572 if (ndr_flags & NDR_BUFFERS) { 2573 } 2574 ndr->flags = _flags_save_STRUCT; 2575 } 2576 return NDR_ERR_SUCCESS; 2577} 2578 2579static enum ndr_err_code ndr_pull_package_PrimaryWDigestHash(struct ndr_pull *ndr, int ndr_flags, struct package_PrimaryWDigestHash *r) 2580{ 2581 { 2582 uint32_t _flags_save_STRUCT = ndr->flags; 2583 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); 2584 if (ndr_flags & NDR_SCALARS) { 2585 NDR_CHECK(ndr_pull_align(ndr, 1)); 2586 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->hash, 16)); 2587 NDR_CHECK(ndr_pull_trailer_align(ndr, 1)); 2588 } 2589 if (ndr_flags & NDR_BUFFERS) { 2590 } 2591 ndr->flags = _flags_save_STRUCT; 2592 } 2593 return NDR_ERR_SUCCESS; 2594} 2595 2596_PUBLIC_ void ndr_print_package_PrimaryWDigestHash(struct ndr_print *ndr, const char *name, const struct package_PrimaryWDigestHash *r) 2597{ 2598 ndr_print_struct(ndr, name, "package_PrimaryWDigestHash"); 2599 { 2600 uint32_t _flags_save_STRUCT = ndr->flags; 2601 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); 2602 ndr->depth++; 2603 ndr_print_array_uint8(ndr, "hash", r->hash, 16); 2604 ndr->depth--; 2605 ndr->flags = _flags_save_STRUCT; 2606 } 2607} 2608 2609_PUBLIC_ enum ndr_err_code ndr_push_package_PrimaryWDigestBlob(struct ndr_push *ndr, int ndr_flags, const struct package_PrimaryWDigestBlob *r) 2610{ 2611 uint32_t cntr_hashes_0; 2612 if (ndr_flags & NDR_SCALARS) { 2613 NDR_CHECK(ndr_push_align(ndr, 4)); 2614 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 0x31)); 2615 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, 0x01)); 2616 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->num_hashes)); 2617 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0)); 2618 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, 0)); 2619 for (cntr_hashes_0 = 0; cntr_hashes_0 < r->num_hashes; cntr_hashes_0++) { 2620 NDR_CHECK(ndr_push_package_PrimaryWDigestHash(ndr, NDR_SCALARS, &r->hashes[cntr_hashes_0])); 2621 } 2622 NDR_CHECK(ndr_push_trailer_align(ndr, 4)); 2623 } 2624 if (ndr_flags & NDR_BUFFERS) { 2625 } 2626 return NDR_ERR_SUCCESS; 2627} 2628 2629_PUBLIC_ enum ndr_err_code ndr_pull_package_PrimaryWDigestBlob(struct ndr_pull *ndr, int ndr_flags, struct package_PrimaryWDigestBlob *r) 2630{ 2631 uint32_t cntr_hashes_0; 2632 TALLOC_CTX *_mem_save_hashes_0; 2633 if (ndr_flags & NDR_SCALARS) { 2634 NDR_CHECK(ndr_pull_align(ndr, 4)); 2635 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->unknown1)); 2636 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->unknown2)); 2637 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->num_hashes)); 2638 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown3)); 2639 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->uuknown4)); 2640 NDR_PULL_ALLOC_N(ndr, r->hashes, r->num_hashes); 2641 _mem_save_hashes_0 = NDR_PULL_GET_MEM_CTX(ndr); 2642 NDR_PULL_SET_MEM_CTX(ndr, r->hashes, 0); 2643 for (cntr_hashes_0 = 0; cntr_hashes_0 < r->num_hashes; cntr_hashes_0++) { 2644 NDR_CHECK(ndr_pull_package_PrimaryWDigestHash(ndr, NDR_SCALARS, &r->hashes[cntr_hashes_0])); 2645 } 2646 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_hashes_0, 0); 2647 NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); 2648 } 2649 if (ndr_flags & NDR_BUFFERS) { 2650 } 2651 return NDR_ERR_SUCCESS; 2652} 2653 2654_PUBLIC_ void ndr_print_package_PrimaryWDigestBlob(struct ndr_print *ndr, const char *name, const struct package_PrimaryWDigestBlob *r) 2655{ 2656 uint32_t cntr_hashes_0; 2657 ndr_print_struct(ndr, name, "package_PrimaryWDigestBlob"); 2658 ndr->depth++; 2659 ndr_print_uint16(ndr, "unknown1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0x31:r->unknown1); 2660 ndr_print_uint8(ndr, "unknown2", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0x01:r->unknown2); 2661 ndr_print_uint8(ndr, "num_hashes", r->num_hashes); 2662 ndr_print_uint32(ndr, "unknown3", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->unknown3); 2663 ndr_print_udlong(ndr, "uuknown4", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->uuknown4); 2664 ndr->print(ndr, "%s: ARRAY(%d)", "hashes", (int)r->num_hashes); 2665 ndr->depth++; 2666 for (cntr_hashes_0=0;cntr_hashes_0<r->num_hashes;cntr_hashes_0++) { 2667 char *idx_0=NULL; 2668 if (asprintf(&idx_0, "[%d]", cntr_hashes_0) != -1) { 2669 ndr_print_package_PrimaryWDigestHash(ndr, "hashes", &r->hashes[cntr_hashes_0]); 2670 free(idx_0); 2671 } 2672 } 2673 ndr->depth--; 2674 ndr->depth--; 2675} 2676 2677static enum ndr_err_code ndr_push_AuthInfoNone(struct ndr_push *ndr, int ndr_flags, const struct AuthInfoNone *r) 2678{ 2679 if (ndr_flags & NDR_SCALARS) { 2680 NDR_CHECK(ndr_push_align(ndr, 4)); 2681 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0)); 2682 NDR_CHECK(ndr_push_trailer_align(ndr, 4)); 2683 } 2684 if (ndr_flags & NDR_BUFFERS) { 2685 } 2686 return NDR_ERR_SUCCESS; 2687} 2688 2689static enum ndr_err_code ndr_pull_AuthInfoNone(struct ndr_pull *ndr, int ndr_flags, struct AuthInfoNone *r) 2690{ 2691 if (ndr_flags & NDR_SCALARS) { 2692 NDR_CHECK(ndr_pull_align(ndr, 4)); 2693 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size)); 2694 NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); 2695 } 2696 if (ndr_flags & NDR_BUFFERS) { 2697 } 2698 return NDR_ERR_SUCCESS; 2699} 2700 2701_PUBLIC_ void ndr_print_AuthInfoNone(struct ndr_print *ndr, const char *name, const struct AuthInfoNone *r) 2702{ 2703 ndr_print_struct(ndr, name, "AuthInfoNone"); 2704 ndr->depth++; 2705 ndr_print_uint32(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->size); 2706 ndr->depth--; 2707} 2708 2709static enum ndr_err_code ndr_push_AuthInfoNT4Owf(struct ndr_push *ndr, int ndr_flags, const struct AuthInfoNT4Owf *r) 2710{ 2711 if (ndr_flags & NDR_SCALARS) { 2712 NDR_CHECK(ndr_push_align(ndr, 4)); 2713 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 16)); 2714 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->password)); 2715 NDR_CHECK(ndr_push_trailer_align(ndr, 4)); 2716 } 2717 if (ndr_flags & NDR_BUFFERS) { 2718 } 2719 return NDR_ERR_SUCCESS; 2720} 2721 2722static enum ndr_err_code ndr_pull_AuthInfoNT4Owf(struct ndr_pull *ndr, int ndr_flags, struct AuthInfoNT4Owf *r) 2723{ 2724 if (ndr_flags & NDR_SCALARS) { 2725 NDR_CHECK(ndr_pull_align(ndr, 4)); 2726 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size)); 2727 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->password)); 2728 NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); 2729 } 2730 if (ndr_flags & NDR_BUFFERS) { 2731 } 2732 return NDR_ERR_SUCCESS; 2733} 2734 2735_PUBLIC_ void ndr_print_AuthInfoNT4Owf(struct ndr_print *ndr, const char *name, const struct AuthInfoNT4Owf *r) 2736{ 2737 ndr_print_struct(ndr, name, "AuthInfoNT4Owf"); 2738 ndr->depth++; 2739 ndr_print_uint32(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?16:r->size); 2740 ndr_print_samr_Password(ndr, "password", &r->password); 2741 ndr->depth--; 2742} 2743 2744static enum ndr_err_code ndr_push_AuthInfoClear(struct ndr_push *ndr, int ndr_flags, const struct AuthInfoClear *r) 2745{ 2746 if (ndr_flags & NDR_SCALARS) { 2747 NDR_CHECK(ndr_push_align(ndr, 4)); 2748 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size)); 2749 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->password, r->size)); 2750 NDR_CHECK(ndr_push_trailer_align(ndr, 4)); 2751 } 2752 if (ndr_flags & NDR_BUFFERS) { 2753 } 2754 return NDR_ERR_SUCCESS; 2755} 2756 2757static enum ndr_err_code ndr_pull_AuthInfoClear(struct ndr_pull *ndr, int ndr_flags, struct AuthInfoClear *r) 2758{ 2759 if (ndr_flags & NDR_SCALARS) { 2760 NDR_CHECK(ndr_pull_align(ndr, 4)); 2761 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size)); 2762 NDR_PULL_ALLOC_N(ndr, r->password, r->size); 2763 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->password, r->size)); 2764 NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); 2765 } 2766 if (ndr_flags & NDR_BUFFERS) { 2767 } 2768 return NDR_ERR_SUCCESS; 2769} 2770 2771_PUBLIC_ void ndr_print_AuthInfoClear(struct ndr_print *ndr, const char *name, const struct AuthInfoClear *r) 2772{ 2773 ndr_print_struct(ndr, name, "AuthInfoClear"); 2774 ndr->depth++; 2775 ndr_print_uint32(ndr, "size", r->size); 2776 ndr_print_array_uint8(ndr, "password", r->password, r->size); 2777 ndr->depth--; 2778} 2779 2780static enum ndr_err_code ndr_push_AuthInfoVersion(struct ndr_push *ndr, int ndr_flags, const struct AuthInfoVersion *r) 2781{ 2782 if (ndr_flags & NDR_SCALARS) { 2783 NDR_CHECK(ndr_push_align(ndr, 4)); 2784 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 4)); 2785 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version)); 2786 NDR_CHECK(ndr_push_trailer_align(ndr, 4)); 2787 } 2788 if (ndr_flags & NDR_BUFFERS) { 2789 } 2790 return NDR_ERR_SUCCESS; 2791} 2792 2793static enum ndr_err_code ndr_pull_AuthInfoVersion(struct ndr_pull *ndr, int ndr_flags, struct AuthInfoVersion *r) 2794{ 2795 if (ndr_flags & NDR_SCALARS) { 2796 NDR_CHECK(ndr_pull_align(ndr, 4)); 2797 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size)); 2798 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version)); 2799 NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); 2800 } 2801 if (ndr_flags & NDR_BUFFERS) { 2802 } 2803 return NDR_ERR_SUCCESS; 2804} 2805 2806_PUBLIC_ void ndr_print_AuthInfoVersion(struct ndr_print *ndr, const char *name, const struct AuthInfoVersion *r) 2807{ 2808 ndr_print_struct(ndr, name, "AuthInfoVersion"); 2809 ndr->depth++; 2810 ndr_print_uint32(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?4:r->size); 2811 ndr_print_uint32(ndr, "version", r->version); 2812 ndr->depth--; 2813} 2814 2815static enum ndr_err_code ndr_push_AuthInfo(struct ndr_push *ndr, int ndr_flags, const union AuthInfo *r) 2816{ 2817 if (ndr_flags & NDR_SCALARS) { 2818 int level = ndr_push_get_switch_value(ndr, r); 2819 NDR_CHECK(ndr_push_union_align(ndr, 4)); 2820 switch (level) { 2821 case TRUST_AUTH_TYPE_NONE: { 2822 NDR_CHECK(ndr_push_AuthInfoNone(ndr, NDR_SCALARS, &r->none)); 2823 break; } 2824 2825 case TRUST_AUTH_TYPE_NT4OWF: { 2826 NDR_CHECK(ndr_push_AuthInfoNT4Owf(ndr, NDR_SCALARS, &r->nt4owf)); 2827 break; } 2828 2829 case TRUST_AUTH_TYPE_CLEAR: { 2830 NDR_CHECK(ndr_push_AuthInfoClear(ndr, NDR_SCALARS, &r->clear)); 2831 break; } 2832 2833 case TRUST_AUTH_TYPE_VERSION: { 2834 NDR_CHECK(ndr_push_AuthInfoVersion(ndr, NDR_SCALARS, &r->version)); 2835 break; } 2836 2837 default: 2838 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); 2839 } 2840 } 2841 if (ndr_flags & NDR_BUFFERS) { 2842 int level = ndr_push_get_switch_value(ndr, r); 2843 switch (level) { 2844 case TRUST_AUTH_TYPE_NONE: 2845 break; 2846 2847 case TRUST_AUTH_TYPE_NT4OWF: 2848 break; 2849 2850 case TRUST_AUTH_TYPE_CLEAR: 2851 break; 2852 2853 case TRUST_AUTH_TYPE_VERSION: 2854 break; 2855 2856 default: 2857 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); 2858 } 2859 } 2860 return NDR_ERR_SUCCESS; 2861} 2862 2863static enum ndr_err_code ndr_pull_AuthInfo(struct ndr_pull *ndr, int ndr_flags, union AuthInfo *r) 2864{ 2865 int level; 2866 level = ndr_pull_get_switch_value(ndr, r); 2867 if (ndr_flags & NDR_SCALARS) { 2868 NDR_CHECK(ndr_pull_union_align(ndr, 4)); 2869 switch (level) { 2870 case TRUST_AUTH_TYPE_NONE: { 2871 NDR_CHECK(ndr_pull_AuthInfoNone(ndr, NDR_SCALARS, &r->none)); 2872 break; } 2873 2874 case TRUST_AUTH_TYPE_NT4OWF: { 2875 NDR_CHECK(ndr_pull_AuthInfoNT4Owf(ndr, NDR_SCALARS, &r->nt4owf)); 2876 break; } 2877 2878 case TRUST_AUTH_TYPE_CLEAR: { 2879 NDR_CHECK(ndr_pull_AuthInfoClear(ndr, NDR_SCALARS, &r->clear)); 2880 break; } 2881 2882 case TRUST_AUTH_TYPE_VERSION: { 2883 NDR_CHECK(ndr_pull_AuthInfoVersion(ndr, NDR_SCALARS, &r->version)); 2884 break; } 2885 2886 default: 2887 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); 2888 } 2889 } 2890 if (ndr_flags & NDR_BUFFERS) { 2891 switch (level) { 2892 case TRUST_AUTH_TYPE_NONE: 2893 break; 2894 2895 case TRUST_AUTH_TYPE_NT4OWF: 2896 break; 2897 2898 case TRUST_AUTH_TYPE_CLEAR: 2899 break; 2900 2901 case TRUST_AUTH_TYPE_VERSION: 2902 break; 2903 2904 default: 2905 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); 2906 } 2907 } 2908 return NDR_ERR_SUCCESS; 2909} 2910 2911_PUBLIC_ void ndr_print_AuthInfo(struct ndr_print *ndr, const char *name, const union AuthInfo *r) 2912{ 2913 int level; 2914 level = ndr_print_get_switch_value(ndr, r); 2915 ndr_print_union(ndr, name, level, "AuthInfo"); 2916 switch (level) { 2917 case TRUST_AUTH_TYPE_NONE: 2918 ndr_print_AuthInfoNone(ndr, "none", &r->none); 2919 break; 2920 2921 case TRUST_AUTH_TYPE_NT4OWF: 2922 ndr_print_AuthInfoNT4Owf(ndr, "nt4owf", &r->nt4owf); 2923 break; 2924 2925 case TRUST_AUTH_TYPE_CLEAR: 2926 ndr_print_AuthInfoClear(ndr, "clear", &r->clear); 2927 break; 2928 2929 case TRUST_AUTH_TYPE_VERSION: 2930 ndr_print_AuthInfoVersion(ndr, "version", &r->version); 2931 break; 2932 2933 default: 2934 ndr_print_bad_level(ndr, name, level); 2935 } 2936} 2937 2938_PUBLIC_ enum ndr_err_code ndr_push_AuthenticationInformation(struct ndr_push *ndr, int ndr_flags, const struct AuthenticationInformation *r) 2939{ 2940 if (ndr_flags & NDR_SCALARS) { 2941 NDR_CHECK(ndr_push_align(ndr, 4)); 2942 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->LastUpdateTime)); 2943 NDR_CHECK(ndr_push_lsa_TrustAuthType(ndr, NDR_SCALARS, r->AuthType)); 2944 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->AuthInfo, r->AuthType)); 2945 NDR_CHECK(ndr_push_AuthInfo(ndr, NDR_SCALARS, &r->AuthInfo)); 2946 { 2947 uint32_t _flags_save_DATA_BLOB = ndr->flags; 2948 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4); 2949 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->_pad)); 2950 ndr->flags = _flags_save_DATA_BLOB; 2951 } 2952 NDR_CHECK(ndr_push_trailer_align(ndr, 4)); 2953 } 2954 if (ndr_flags & NDR_BUFFERS) { 2955 } 2956 return NDR_ERR_SUCCESS; 2957} 2958 2959_PUBLIC_ enum ndr_err_code ndr_pull_AuthenticationInformation(struct ndr_pull *ndr, int ndr_flags, struct AuthenticationInformation *r) 2960{ 2961 if (ndr_flags & NDR_SCALARS) { 2962 NDR_CHECK(ndr_pull_align(ndr, 4)); 2963 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->LastUpdateTime)); 2964 NDR_CHECK(ndr_pull_lsa_TrustAuthType(ndr, NDR_SCALARS, &r->AuthType)); 2965 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->AuthInfo, r->AuthType)); 2966 NDR_CHECK(ndr_pull_AuthInfo(ndr, NDR_SCALARS, &r->AuthInfo)); 2967 { 2968 uint32_t _flags_save_DATA_BLOB = ndr->flags; 2969 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4); 2970 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->_pad)); 2971 ndr->flags = _flags_save_DATA_BLOB; 2972 } 2973 NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); 2974 } 2975 if (ndr_flags & NDR_BUFFERS) { 2976 } 2977 return NDR_ERR_SUCCESS; 2978} 2979 2980_PUBLIC_ void ndr_print_AuthenticationInformation(struct ndr_print *ndr, const char *name, const struct AuthenticationInformation *r) 2981{ 2982 ndr_print_struct(ndr, name, "AuthenticationInformation"); 2983 ndr->depth++; 2984 ndr_print_NTTIME(ndr, "LastUpdateTime", r->LastUpdateTime); 2985 ndr_print_lsa_TrustAuthType(ndr, "AuthType", r->AuthType); 2986 ndr_print_set_switch_value(ndr, &r->AuthInfo, r->AuthType); 2987 ndr_print_AuthInfo(ndr, "AuthInfo", &r->AuthInfo); 2988 ndr_print_DATA_BLOB(ndr, "_pad", r->_pad); 2989 ndr->depth--; 2990} 2991 2992_PUBLIC_ size_t ndr_size_trustAuthInOutBlob(const struct trustAuthInOutBlob *r, struct smb_iconv_convenience *ic, int flags) 2993{ 2994 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_trustAuthInOutBlob, ic); 2995} 2996 2997_PUBLIC_ enum ndr_err_code ndr_push_trustCurrentPasswords(struct ndr_push *ndr, int ndr_flags, const struct trustCurrentPasswords *r) 2998{ 2999 uint32_t cntr_current_0; 3000 if (ndr_flags & NDR_SCALARS) { 3001 NDR_CHECK(ndr_push_align(ndr, 5)); 3002 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); 3003 for (cntr_current_0 = 0; cntr_current_0 < r->count; cntr_current_0++) { 3004 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->current[cntr_current_0])); 3005 } 3006 NDR_CHECK(ndr_push_trailer_align(ndr, 5)); 3007 } 3008 if (ndr_flags & NDR_BUFFERS) { 3009 for (cntr_current_0 = 0; cntr_current_0 < r->count; cntr_current_0++) { 3010 if (r->current[cntr_current_0]) { 3011 NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->current[cntr_current_0])); 3012 NDR_CHECK(ndr_push_AuthenticationInformation(ndr, NDR_SCALARS, r->current[cntr_current_0])); 3013 NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->current[cntr_current_0])); 3014 } 3015 } 3016 } 3017 return NDR_ERR_SUCCESS; 3018} 3019 3020_PUBLIC_ enum ndr_err_code ndr_pull_trustCurrentPasswords(struct ndr_pull *ndr, int ndr_flags, struct trustCurrentPasswords *r) 3021{ 3022 uint32_t _ptr_current; 3023 uint32_t cntr_current_0; 3024 TALLOC_CTX *_mem_save_current_0; 3025 TALLOC_CTX *_mem_save_current_1; 3026 if (ndr_flags & NDR_SCALARS) { 3027 NDR_CHECK(ndr_pull_align(ndr, 5)); 3028 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); 3029 NDR_PULL_ALLOC_N(ndr, r->current, r->count); 3030 _mem_save_current_0 = NDR_PULL_GET_MEM_CTX(ndr); 3031 NDR_PULL_SET_MEM_CTX(ndr, r->current, 0); 3032 for (cntr_current_0 = 0; cntr_current_0 < r->count; cntr_current_0++) { 3033 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_current)); 3034 if (_ptr_current) { 3035 NDR_PULL_ALLOC(ndr, r->current[cntr_current_0]); 3036 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->current[cntr_current_0], _ptr_current)); 3037 } else { 3038 r->current[cntr_current_0] = NULL; 3039 } 3040 } 3041 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_current_0, 0); 3042 NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); 3043 } 3044 if (ndr_flags & NDR_BUFFERS) { 3045 _mem_save_current_0 = NDR_PULL_GET_MEM_CTX(ndr); 3046 NDR_PULL_SET_MEM_CTX(ndr, r->current, 0); 3047 for (cntr_current_0 = 0; cntr_current_0 < r->count; cntr_current_0++) { 3048 if (r->current[cntr_current_0]) { 3049 uint32_t _relative_save_offset; 3050 _relative_save_offset = ndr->offset; 3051 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->current[cntr_current_0])); 3052 _mem_save_current_1 = NDR_PULL_GET_MEM_CTX(ndr); 3053 NDR_PULL_SET_MEM_CTX(ndr, r->current[cntr_current_0], 0); 3054 NDR_CHECK(ndr_pull_AuthenticationInformation(ndr, NDR_SCALARS, r->current[cntr_current_0])); 3055 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_current_1, 0); 3056 ndr->offset = _relative_save_offset; 3057 } 3058 } 3059 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_current_0, 0); 3060 } 3061 return NDR_ERR_SUCCESS; 3062} 3063 3064_PUBLIC_ void ndr_print_trustCurrentPasswords(struct ndr_print *ndr, const char *name, const struct trustCurrentPasswords *r) 3065{ 3066 uint32_t cntr_current_0; 3067 ndr_print_struct(ndr, name, "trustCurrentPasswords"); 3068 ndr->depth++; 3069 ndr_print_uint32(ndr, "count", r->count); 3070 ndr->print(ndr, "%s: ARRAY(%d)", "current", (int)r->count); 3071 ndr->depth++; 3072 for (cntr_current_0=0;cntr_current_0<r->count;cntr_current_0++) { 3073 char *idx_0=NULL; 3074 if (asprintf(&idx_0, "[%d]", cntr_current_0) != -1) { 3075 ndr_print_ptr(ndr, "current", r->current[cntr_current_0]); 3076 ndr->depth++; 3077 if (r->current[cntr_current_0]) { 3078 ndr_print_AuthenticationInformation(ndr, "current", r->current[cntr_current_0]); 3079 } 3080 ndr->depth--; 3081 free(idx_0); 3082 } 3083 } 3084 ndr->depth--; 3085 ndr->depth--; 3086} 3087 3088_PUBLIC_ size_t ndr_size_trustCurrentPasswords(const struct trustCurrentPasswords *r, struct smb_iconv_convenience *ic, int flags) 3089{ 3090 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_trustCurrentPasswords, ic); 3091} 3092 3093_PUBLIC_ enum ndr_err_code ndr_push_trustDomainPasswords(struct ndr_push *ndr, int ndr_flags, const struct trustDomainPasswords *r) 3094{ 3095 if (ndr_flags & NDR_SCALARS) { 3096 NDR_CHECK(ndr_push_align(ndr, 5)); 3097 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->confounder, 512)); 3098 { 3099 struct ndr_push *_ndr_outgoing; 3100 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_outgoing, 0, ndr_size_trustCurrentPasswords(&r->outgoing, ndr->iconv_convenience, ndr->flags))); 3101 NDR_CHECK(ndr_push_trustCurrentPasswords(_ndr_outgoing, NDR_SCALARS|NDR_BUFFERS, &r->outgoing)); 3102 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_outgoing, 0, ndr_size_trustCurrentPasswords(&r->outgoing, ndr->iconv_convenience, ndr->flags))); 3103 } 3104 { 3105 struct ndr_push *_ndr_incoming; 3106 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_incoming, 0, ndr_size_trustCurrentPasswords(&r->incoming, ndr->iconv_convenience, ndr->flags))); 3107 NDR_CHECK(ndr_push_trustCurrentPasswords(_ndr_incoming, NDR_SCALARS|NDR_BUFFERS, &r->incoming)); 3108 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_incoming, 0, ndr_size_trustCurrentPasswords(&r->incoming, ndr->iconv_convenience, ndr->flags))); 3109 } 3110 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_trustCurrentPasswords(&r->outgoing, ndr->iconv_convenience, ndr->flags))); 3111 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_trustCurrentPasswords(&r->incoming, ndr->iconv_convenience, ndr->flags))); 3112 NDR_CHECK(ndr_push_trailer_align(ndr, 5)); 3113 } 3114 if (ndr_flags & NDR_BUFFERS) { 3115 } 3116 return NDR_ERR_SUCCESS; 3117} 3118 3119_PUBLIC_ void ndr_print_trustDomainPasswords(struct ndr_print *ndr, const char *name, const struct trustDomainPasswords *r) 3120{ 3121 ndr_print_struct(ndr, name, "trustDomainPasswords"); 3122 ndr->depth++; 3123 ndr_print_array_uint8(ndr, "confounder", r->confounder, 512); 3124 ndr_print_trustCurrentPasswords(ndr, "outgoing", &r->outgoing); 3125 ndr_print_trustCurrentPasswords(ndr, "incoming", &r->incoming); 3126 ndr_print_uint32(ndr, "outgoing_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_trustCurrentPasswords(&r->outgoing, ndr->iconv_convenience, ndr->flags):r->outgoing_size); 3127 ndr_print_uint32(ndr, "incoming_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_trustCurrentPasswords(&r->incoming, ndr->iconv_convenience, ndr->flags):r->incoming_size); 3128 ndr->depth--; 3129} 3130 3131_PUBLIC_ enum ndr_err_code ndr_push_DsCompressedChunk(struct ndr_push *ndr, int ndr_flags, const struct DsCompressedChunk *r) 3132{ 3133 if (ndr_flags & NDR_SCALARS) { 3134 NDR_CHECK(ndr_push_align(ndr, 4)); 3135 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->marker)); 3136 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->data)); 3137 NDR_CHECK(ndr_push_trailer_align(ndr, 4)); 3138 } 3139 if (ndr_flags & NDR_BUFFERS) { 3140 } 3141 return NDR_ERR_SUCCESS; 3142} 3143 3144_PUBLIC_ enum ndr_err_code ndr_pull_DsCompressedChunk(struct ndr_pull *ndr, int ndr_flags, struct DsCompressedChunk *r) 3145{ 3146 if (ndr_flags & NDR_SCALARS) { 3147 NDR_CHECK(ndr_pull_align(ndr, 4)); 3148 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->marker)); 3149 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->data)); 3150 NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); 3151 } 3152 if (ndr_flags & NDR_BUFFERS) { 3153 } 3154 return NDR_ERR_SUCCESS; 3155} 3156 3157_PUBLIC_ void ndr_print_DsCompressedChunk(struct ndr_print *ndr, const char *name, const struct DsCompressedChunk *r) 3158{ 3159 ndr_print_struct(ndr, name, "DsCompressedChunk"); 3160 ndr->depth++; 3161 ndr_print_uint32(ndr, "marker", r->marker); 3162 ndr_print_DATA_BLOB(ndr, "data", r->data); 3163 ndr->depth--; 3164} 3165 3166static enum ndr_err_code ndr_push_ExtendedErrorAString(struct ndr_push *ndr, int ndr_flags, const struct ExtendedErrorAString *r) 3167{ 3168 if (ndr_flags & NDR_SCALARS) { 3169 NDR_CHECK(ndr_push_align(ndr, 5)); 3170 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->__size)); 3171 NDR_CHECK(ndr_push_unique_ptr(ndr, r->string)); 3172 NDR_CHECK(ndr_push_trailer_align(ndr, 5)); 3173 } 3174 if (ndr_flags & NDR_BUFFERS) { 3175 if (r->string) { 3176 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->__size)); 3177 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->string, r->__size, sizeof(uint8_t), CH_DOS)); 3178 } 3179 } 3180 return NDR_ERR_SUCCESS; 3181} 3182 3183static enum ndr_err_code ndr_pull_ExtendedErrorAString(struct ndr_pull *ndr, int ndr_flags, struct ExtendedErrorAString *r) 3184{ 3185 uint32_t _ptr_string; 3186 TALLOC_CTX *_mem_save_string_0; 3187 if (ndr_flags & NDR_SCALARS) { 3188 NDR_CHECK(ndr_pull_align(ndr, 5)); 3189 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->__size)); 3190 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_string)); 3191 if (_ptr_string) { 3192 NDR_PULL_ALLOC(ndr, r->string); 3193 } else { 3194 r->string = NULL; 3195 } 3196 NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); 3197 } 3198 if (ndr_flags & NDR_BUFFERS) { 3199 if (r->string) { 3200 _mem_save_string_0 = NDR_PULL_GET_MEM_CTX(ndr); 3201 NDR_PULL_SET_MEM_CTX(ndr, r->string, 0); 3202 NDR_CHECK(ndr_pull_array_size(ndr, &r->string)); 3203 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->string, ndr_get_array_size(ndr, &r->string), sizeof(uint8_t), CH_DOS)); 3204 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_string_0, 0); 3205 } 3206 if (r->string) { 3207 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->string, r->__size)); 3208 } 3209 } 3210 return NDR_ERR_SUCCESS; 3211} 3212 3213_PUBLIC_ void ndr_print_ExtendedErrorAString(struct ndr_print *ndr, const char *name, const struct ExtendedErrorAString *r) 3214{ 3215 ndr_print_struct(ndr, name, "ExtendedErrorAString"); 3216 ndr->depth++; 3217 ndr_print_uint16(ndr, "__size", r->__size); 3218 ndr_print_ptr(ndr, "string", r->string); 3219 ndr->depth++; 3220 if (r->string) { 3221 ndr_print_string(ndr, "string", r->string); 3222 } 3223 ndr->depth--; 3224 ndr->depth--; 3225} 3226 3227static enum ndr_err_code ndr_push_ExtendedErrorUString(struct ndr_push *ndr, int ndr_flags, const struct ExtendedErrorUString *r) 3228{ 3229 if (ndr_flags & NDR_SCALARS) { 3230 NDR_CHECK(ndr_push_align(ndr, 5)); 3231 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->__size)); 3232 NDR_CHECK(ndr_push_unique_ptr(ndr, r->string)); 3233 NDR_CHECK(ndr_push_trailer_align(ndr, 5)); 3234 } 3235 if (ndr_flags & NDR_BUFFERS) { 3236 if (r->string) { 3237 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->__size)); 3238 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->string, r->__size, sizeof(uint16_t), CH_UTF16)); 3239 } 3240 } 3241 return NDR_ERR_SUCCESS; 3242} 3243 3244static enum ndr_err_code ndr_pull_ExtendedErrorUString(struct ndr_pull *ndr, int ndr_flags, struct ExtendedErrorUString *r) 3245{ 3246 uint32_t _ptr_string; 3247 TALLOC_CTX *_mem_save_string_0; 3248 if (ndr_flags & NDR_SCALARS) { 3249 NDR_CHECK(ndr_pull_align(ndr, 5)); 3250 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->__size)); 3251 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_string)); 3252 if (_ptr_string) { 3253 NDR_PULL_ALLOC(ndr, r->string); 3254 } else { 3255 r->string = NULL; 3256 } 3257 NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); 3258 } 3259 if (ndr_flags & NDR_BUFFERS) { 3260 if (r->string) { 3261 _mem_save_string_0 = NDR_PULL_GET_MEM_CTX(ndr); 3262 NDR_PULL_SET_MEM_CTX(ndr, r->string, 0); 3263 NDR_CHECK(ndr_pull_array_size(ndr, &r->string)); 3264 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->string, ndr_get_array_size(ndr, &r->string), sizeof(uint16_t), CH_UTF16)); 3265 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_string_0, 0); 3266 } 3267 if (r->string) { 3268 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->string, r->__size)); 3269 } 3270 } 3271 return NDR_ERR_SUCCESS; 3272} 3273 3274_PUBLIC_ void ndr_print_ExtendedErrorUString(struct ndr_print *ndr, const char *name, const struct ExtendedErrorUString *r) 3275{ 3276 ndr_print_struct(ndr, name, "ExtendedErrorUString"); 3277 ndr->depth++; 3278 ndr_print_uint16(ndr, "__size", r->__size); 3279 ndr_print_ptr(ndr, "string", r->string); 3280 ndr->depth++; 3281 if (r->string) { 3282 ndr_print_string(ndr, "string", r->string); 3283 } 3284 ndr->depth--; 3285 ndr->depth--; 3286} 3287 3288static enum ndr_err_code ndr_push_ExtendedErrorBlob(struct ndr_push *ndr, int ndr_flags, const struct ExtendedErrorBlob *r) 3289{ 3290 if (ndr_flags & NDR_SCALARS) { 3291 NDR_CHECK(ndr_push_align(ndr, 5)); 3292 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length)); 3293 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data)); 3294 NDR_CHECK(ndr_push_trailer_align(ndr, 5)); 3295 } 3296 if (ndr_flags & NDR_BUFFERS) { 3297 if (r->data) { 3298 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length)); 3299 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length)); 3300 } 3301 } 3302 return NDR_ERR_SUCCESS; 3303} 3304 3305static enum ndr_err_code ndr_pull_ExtendedErrorBlob(struct ndr_pull *ndr, int ndr_flags, struct ExtendedErrorBlob *r) 3306{ 3307 uint32_t _ptr_data; 3308 TALLOC_CTX *_mem_save_data_0; 3309 if (ndr_flags & NDR_SCALARS) { 3310 NDR_CHECK(ndr_pull_align(ndr, 5)); 3311 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length)); 3312 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data)); 3313 if (_ptr_data) { 3314 NDR_PULL_ALLOC(ndr, r->data); 3315 } else { 3316 r->data = NULL; 3317 } 3318 NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); 3319 } 3320 if (ndr_flags & NDR_BUFFERS) { 3321 if (r->data) { 3322 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr); 3323 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0); 3324 NDR_CHECK(ndr_pull_array_size(ndr, &r->data)); 3325 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data)); 3326 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data))); 3327 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0); 3328 } 3329 if (r->data) { 3330 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length)); 3331 } 3332 } 3333 return NDR_ERR_SUCCESS; 3334} 3335 3336_PUBLIC_ void ndr_print_ExtendedErrorBlob(struct ndr_print *ndr, const char *name, const struct ExtendedErrorBlob *r) 3337{ 3338 ndr_print_struct(ndr, name, "ExtendedErrorBlob"); 3339 ndr->depth++; 3340 ndr_print_uint16(ndr, "length", r->length); 3341 ndr_print_ptr(ndr, "data", r->data); 3342 ndr->depth++; 3343 if (r->data) { 3344 ndr_print_array_uint8(ndr, "data", r->data, r->length); 3345 } 3346 ndr->depth--; 3347 ndr->depth--; 3348} 3349 3350static enum ndr_err_code ndr_push_ExtendedErrorComputerNamePresent(struct ndr_push *ndr, int ndr_flags, enum ExtendedErrorComputerNamePresent r) 3351{ 3352 NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r)); 3353 return NDR_ERR_SUCCESS; 3354} 3355 3356static enum ndr_err_code ndr_pull_ExtendedErrorComputerNamePresent(struct ndr_pull *ndr, int ndr_flags, enum ExtendedErrorComputerNamePresent *r) 3357{ 3358 uint16_t v; 3359 NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v)); 3360 *r = v; 3361 return NDR_ERR_SUCCESS; 3362} 3363 3364_PUBLIC_ void ndr_print_ExtendedErrorComputerNamePresent(struct ndr_print *ndr, const char *name, enum ExtendedErrorComputerNamePresent r) 3365{ 3366 const char *val = NULL; 3367 3368 switch (r) { 3369 case EXTENDED_ERROR_COMPUTER_NAME_PRESENT: val = "EXTENDED_ERROR_COMPUTER_NAME_PRESENT"; break; 3370 case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT: val = "EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT"; break; 3371 } 3372 ndr_print_enum(ndr, name, "ENUM", val, r); 3373} 3374 3375static enum ndr_err_code ndr_push_ExtendedErrorComputerNameU(struct ndr_push *ndr, int ndr_flags, const union ExtendedErrorComputerNameU *r) 3376{ 3377 if (ndr_flags & NDR_SCALARS) { 3378 int level = ndr_push_get_switch_value(ndr, r); 3379 NDR_CHECK(ndr_push_ExtendedErrorComputerNamePresent(ndr, NDR_SCALARS, level)); 3380 NDR_CHECK(ndr_push_union_align(ndr, 5)); 3381 switch (level) { 3382 case EXTENDED_ERROR_COMPUTER_NAME_PRESENT: { 3383 NDR_CHECK(ndr_push_ExtendedErrorUString(ndr, NDR_SCALARS, &r->name)); 3384 break; } 3385 3386 case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT: { 3387 break; } 3388 3389 default: 3390 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); 3391 } 3392 } 3393 if (ndr_flags & NDR_BUFFERS) { 3394 int level = ndr_push_get_switch_value(ndr, r); 3395 switch (level) { 3396 case EXTENDED_ERROR_COMPUTER_NAME_PRESENT: 3397 NDR_CHECK(ndr_push_ExtendedErrorUString(ndr, NDR_BUFFERS, &r->name)); 3398 break; 3399 3400 case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT: 3401 break; 3402 3403 default: 3404 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); 3405 } 3406 } 3407 return NDR_ERR_SUCCESS; 3408} 3409 3410static enum ndr_err_code ndr_pull_ExtendedErrorComputerNameU(struct ndr_pull *ndr, int ndr_flags, union ExtendedErrorComputerNameU *r) 3411{ 3412 int level; 3413 uint16_t _level; 3414 level = ndr_pull_get_switch_value(ndr, r); 3415 if (ndr_flags & NDR_SCALARS) { 3416 NDR_CHECK(ndr_pull_uint1632(ndr, NDR_SCALARS, &_level)); 3417 if (_level != level) { 3418 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); 3419 } 3420 NDR_CHECK(ndr_pull_union_align(ndr, 5)); 3421 switch (level) { 3422 case EXTENDED_ERROR_COMPUTER_NAME_PRESENT: { 3423 NDR_CHECK(ndr_pull_ExtendedErrorUString(ndr, NDR_SCALARS, &r->name)); 3424 break; } 3425 3426 case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT: { 3427 break; } 3428 3429 default: 3430 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); 3431 } 3432 } 3433 if (ndr_flags & NDR_BUFFERS) { 3434 switch (level) { 3435 case EXTENDED_ERROR_COMPUTER_NAME_PRESENT: 3436 NDR_CHECK(ndr_pull_ExtendedErrorUString(ndr, NDR_BUFFERS, &r->name)); 3437 break; 3438 3439 case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT: 3440 break; 3441 3442 default: 3443 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); 3444 } 3445 } 3446 return NDR_ERR_SUCCESS; 3447} 3448 3449_PUBLIC_ void ndr_print_ExtendedErrorComputerNameU(struct ndr_print *ndr, const char *name, const union ExtendedErrorComputerNameU *r) 3450{ 3451 int level; 3452 level = ndr_print_get_switch_value(ndr, r); 3453 ndr_print_union(ndr, name, level, "ExtendedErrorComputerNameU"); 3454 switch (level) { 3455 case EXTENDED_ERROR_COMPUTER_NAME_PRESENT: 3456 ndr_print_ExtendedErrorUString(ndr, "name", &r->name); 3457 break; 3458 3459 case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT: 3460 break; 3461 3462 default: 3463 ndr_print_bad_level(ndr, name, level); 3464 } 3465} 3466 3467static enum ndr_err_code ndr_push_ExtendedErrorComputerName(struct ndr_push *ndr, int ndr_flags, const struct ExtendedErrorComputerName *r) 3468{ 3469 if (ndr_flags & NDR_SCALARS) { 3470 NDR_CHECK(ndr_push_align(ndr, 5)); 3471 NDR_CHECK(ndr_push_ExtendedErrorComputerNamePresent(ndr, NDR_SCALARS, r->present)); 3472 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->n, r->present)); 3473 NDR_CHECK(ndr_push_ExtendedErrorComputerNameU(ndr, NDR_SCALARS, &r->n)); 3474 NDR_CHECK(ndr_push_trailer_align(ndr, 5)); 3475 } 3476 if (ndr_flags & NDR_BUFFERS) { 3477 NDR_CHECK(ndr_push_ExtendedErrorComputerNameU(ndr, NDR_BUFFERS, &r->n)); 3478 } 3479 return NDR_ERR_SUCCESS; 3480} 3481 3482static enum ndr_err_code ndr_pull_ExtendedErrorComputerName(struct ndr_pull *ndr, int ndr_flags, struct ExtendedErrorComputerName *r) 3483{ 3484 if (ndr_flags & NDR_SCALARS) { 3485 NDR_CHECK(ndr_pull_align(ndr, 5)); 3486 NDR_CHECK(ndr_pull_ExtendedErrorComputerNamePresent(ndr, NDR_SCALARS, &r->present)); 3487 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->n, r->present)); 3488 NDR_CHECK(ndr_pull_ExtendedErrorComputerNameU(ndr, NDR_SCALARS, &r->n)); 3489 NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); 3490 } 3491 if (ndr_flags & NDR_BUFFERS) { 3492 NDR_CHECK(ndr_pull_ExtendedErrorComputerNameU(ndr, NDR_BUFFERS, &r->n)); 3493 } 3494 return NDR_ERR_SUCCESS; 3495} 3496 3497_PUBLIC_ void ndr_print_ExtendedErrorComputerName(struct ndr_print *ndr, const char *name, const struct ExtendedErrorComputerName *r) 3498{ 3499 ndr_print_struct(ndr, name, "ExtendedErrorComputerName"); 3500 ndr->depth++; 3501 ndr_print_ExtendedErrorComputerNamePresent(ndr, "present", r->present); 3502 ndr_print_set_switch_value(ndr, &r->n, r->present); 3503 ndr_print_ExtendedErrorComputerNameU(ndr, "n", &r->n); 3504 ndr->depth--; 3505} 3506 3507static enum ndr_err_code ndr_push_ExtendedErrorParamType(struct ndr_push *ndr, int ndr_flags, enum ExtendedErrorParamType r) 3508{ 3509 NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r)); 3510 return NDR_ERR_SUCCESS; 3511} 3512 3513static enum ndr_err_code ndr_pull_ExtendedErrorParamType(struct ndr_pull *ndr, int ndr_flags, enum ExtendedErrorParamType *r) 3514{ 3515 uint16_t v; 3516 NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v)); 3517 *r = v; 3518 return NDR_ERR_SUCCESS; 3519} 3520 3521_PUBLIC_ void ndr_print_ExtendedErrorParamType(struct ndr_print *ndr, const char *name, enum ExtendedErrorParamType r) 3522{ 3523 const char *val = NULL; 3524 3525 switch (r) { 3526 case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING: val = "EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING"; break; 3527 case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING: val = "EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING"; break; 3528 case EXTENDED_ERROR_PARAM_TYPE_UINT32: val = "EXTENDED_ERROR_PARAM_TYPE_UINT32"; break; 3529 case EXTENDED_ERROR_PARAM_TYPE_UINT16: val = "EXTENDED_ERROR_PARAM_TYPE_UINT16"; break; 3530 case EXTENDED_ERROR_PARAM_TYPE_UINT64: val = "EXTENDED_ERROR_PARAM_TYPE_UINT64"; break; 3531 case EXTENDED_ERROR_PARAM_TYPE_NONE: val = "EXTENDED_ERROR_PARAM_TYPE_NONE"; break; 3532 case EXTENDED_ERROR_PARAM_TYPE_BLOB: val = "EXTENDED_ERROR_PARAM_TYPE_BLOB"; break; 3533 } 3534 ndr_print_enum(ndr, name, "ENUM", val, r); 3535} 3536 3537static enum ndr_err_code ndr_push_ExtendedErrorParamU(struct ndr_push *ndr, int ndr_flags, const union ExtendedErrorParamU *r) 3538{ 3539 if (ndr_flags & NDR_SCALARS) { 3540 int level = ndr_push_get_switch_value(ndr, r); 3541 NDR_CHECK(ndr_push_ExtendedErrorParamType(ndr, NDR_SCALARS, level)); 3542 NDR_CHECK(ndr_push_union_align(ndr, 8)); 3543 switch (level) { 3544 case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING: { 3545 NDR_CHECK(ndr_push_ExtendedErrorAString(ndr, NDR_SCALARS, &r->a_string)); 3546 break; } 3547 3548 case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING: { 3549 NDR_CHECK(ndr_push_ExtendedErrorUString(ndr, NDR_SCALARS, &r->u_string)); 3550 break; } 3551 3552 case EXTENDED_ERROR_PARAM_TYPE_UINT32: { 3553 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->uint32)); 3554 break; } 3555 3556 case EXTENDED_ERROR_PARAM_TYPE_UINT16: { 3557 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->uint16)); 3558 break; } 3559 3560 case EXTENDED_ERROR_PARAM_TYPE_UINT64: { 3561 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->uint64)); 3562 break; } 3563 3564 case EXTENDED_ERROR_PARAM_TYPE_NONE: { 3565 break; } 3566 3567 case EXTENDED_ERROR_PARAM_TYPE_BLOB: { 3568 NDR_CHECK(ndr_push_ExtendedErrorBlob(ndr, NDR_SCALARS, &r->blob)); 3569 break; } 3570 3571 default: 3572 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); 3573 } 3574 } 3575 if (ndr_flags & NDR_BUFFERS) { 3576 int level = ndr_push_get_switch_value(ndr, r); 3577 switch (level) { 3578 case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING: 3579 NDR_CHECK(ndr_push_ExtendedErrorAString(ndr, NDR_BUFFERS, &r->a_string)); 3580 break; 3581 3582 case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING: 3583 NDR_CHECK(ndr_push_ExtendedErrorUString(ndr, NDR_BUFFERS, &r->u_string)); 3584 break; 3585 3586 case EXTENDED_ERROR_PARAM_TYPE_UINT32: 3587 break; 3588 3589 case EXTENDED_ERROR_PARAM_TYPE_UINT16: 3590 break; 3591 3592 case EXTENDED_ERROR_PARAM_TYPE_UINT64: 3593 break; 3594 3595 case EXTENDED_ERROR_PARAM_TYPE_NONE: 3596 break; 3597 3598 case EXTENDED_ERROR_PARAM_TYPE_BLOB: 3599 NDR_CHECK(ndr_push_ExtendedErrorBlob(ndr, NDR_BUFFERS, &r->blob)); 3600 break; 3601 3602 default: 3603 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); 3604 } 3605 } 3606 return NDR_ERR_SUCCESS; 3607} 3608 3609static enum ndr_err_code ndr_pull_ExtendedErrorParamU(struct ndr_pull *ndr, int ndr_flags, union ExtendedErrorParamU *r) 3610{ 3611 int level; 3612 uint16_t _level; 3613 level = ndr_pull_get_switch_value(ndr, r); 3614 if (ndr_flags & NDR_SCALARS) { 3615 NDR_CHECK(ndr_pull_uint1632(ndr, NDR_SCALARS, &_level)); 3616 if (_level != level) { 3617 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); 3618 } 3619 NDR_CHECK(ndr_pull_union_align(ndr, 8)); 3620 switch (level) { 3621 case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING: { 3622 NDR_CHECK(ndr_pull_ExtendedErrorAString(ndr, NDR_SCALARS, &r->a_string)); 3623 break; } 3624 3625 case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING: { 3626 NDR_CHECK(ndr_pull_ExtendedErrorUString(ndr, NDR_SCALARS, &r->u_string)); 3627 break; } 3628 3629 case EXTENDED_ERROR_PARAM_TYPE_UINT32: { 3630 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->uint32)); 3631 break; } 3632 3633 case EXTENDED_ERROR_PARAM_TYPE_UINT16: { 3634 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->uint16)); 3635 break; } 3636 3637 case EXTENDED_ERROR_PARAM_TYPE_UINT64: { 3638 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->uint64)); 3639 break; } 3640 3641 case EXTENDED_ERROR_PARAM_TYPE_NONE: { 3642 break; } 3643 3644 case EXTENDED_ERROR_PARAM_TYPE_BLOB: { 3645 NDR_CHECK(ndr_pull_ExtendedErrorBlob(ndr, NDR_SCALARS, &r->blob)); 3646 break; } 3647 3648 default: 3649 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); 3650 } 3651 } 3652 if (ndr_flags & NDR_BUFFERS) { 3653 switch (level) { 3654 case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING: 3655 NDR_CHECK(ndr_pull_ExtendedErrorAString(ndr, NDR_BUFFERS, &r->a_string)); 3656 break; 3657 3658 case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING: 3659 NDR_CHECK(ndr_pull_ExtendedErrorUString(ndr, NDR_BUFFERS, &r->u_string)); 3660 break; 3661 3662 case EXTENDED_ERROR_PARAM_TYPE_UINT32: 3663 break; 3664 3665 case EXTENDED_ERROR_PARAM_TYPE_UINT16: 3666 break; 3667 3668 case EXTENDED_ERROR_PARAM_TYPE_UINT64: 3669 break; 3670 3671 case EXTENDED_ERROR_PARAM_TYPE_NONE: 3672 break; 3673 3674 case EXTENDED_ERROR_PARAM_TYPE_BLOB: 3675 NDR_CHECK(ndr_pull_ExtendedErrorBlob(ndr, NDR_BUFFERS, &r->blob)); 3676 break; 3677 3678 default: 3679 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); 3680 } 3681 } 3682 return NDR_ERR_SUCCESS; 3683} 3684 3685_PUBLIC_ void ndr_print_ExtendedErrorParamU(struct ndr_print *ndr, const char *name, const union ExtendedErrorParamU *r) 3686{ 3687 int level; 3688 level = ndr_print_get_switch_value(ndr, r); 3689 ndr_print_union(ndr, name, level, "ExtendedErrorParamU"); 3690 switch (level) { 3691 case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING: 3692 ndr_print_ExtendedErrorAString(ndr, "a_string", &r->a_string); 3693 break; 3694 3695 case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING: 3696 ndr_print_ExtendedErrorUString(ndr, "u_string", &r->u_string); 3697 break; 3698 3699 case EXTENDED_ERROR_PARAM_TYPE_UINT32: 3700 ndr_print_uint32(ndr, "uint32", r->uint32); 3701 break; 3702 3703 case EXTENDED_ERROR_PARAM_TYPE_UINT16: 3704 ndr_print_uint16(ndr, "uint16", r->uint16); 3705 break; 3706 3707 case EXTENDED_ERROR_PARAM_TYPE_UINT64: 3708 ndr_print_hyper(ndr, "uint64", r->uint64); 3709 break; 3710 3711 case EXTENDED_ERROR_PARAM_TYPE_NONE: 3712 break; 3713 3714 case EXTENDED_ERROR_PARAM_TYPE_BLOB: 3715 ndr_print_ExtendedErrorBlob(ndr, "blob", &r->blob); 3716 break; 3717 3718 default: 3719 ndr_print_bad_level(ndr, name, level); 3720 } 3721} 3722 3723static enum ndr_err_code ndr_push_ExtendedErrorParam(struct ndr_push *ndr, int ndr_flags, const struct ExtendedErrorParam *r) 3724{ 3725 if (ndr_flags & NDR_SCALARS) { 3726 NDR_CHECK(ndr_push_align(ndr, 8)); 3727 NDR_CHECK(ndr_push_ExtendedErrorParamType(ndr, NDR_SCALARS, r->type)); 3728 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->p, r->type)); 3729 NDR_CHECK(ndr_push_ExtendedErrorParamU(ndr, NDR_SCALARS, &r->p)); 3730 NDR_CHECK(ndr_push_trailer_align(ndr, 8)); 3731 } 3732 if (ndr_flags & NDR_BUFFERS) { 3733 NDR_CHECK(ndr_push_ExtendedErrorParamU(ndr, NDR_BUFFERS, &r->p)); 3734 } 3735 return NDR_ERR_SUCCESS; 3736} 3737 3738static enum ndr_err_code ndr_pull_ExtendedErrorParam(struct ndr_pull *ndr, int ndr_flags, struct ExtendedErrorParam *r) 3739{ 3740 if (ndr_flags & NDR_SCALARS) { 3741 NDR_CHECK(ndr_pull_align(ndr, 8)); 3742 NDR_CHECK(ndr_pull_ExtendedErrorParamType(ndr, NDR_SCALARS, &r->type)); 3743 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->p, r->type)); 3744 NDR_CHECK(ndr_pull_ExtendedErrorParamU(ndr, NDR_SCALARS, &r->p)); 3745 NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); 3746 } 3747 if (ndr_flags & NDR_BUFFERS) { 3748 NDR_CHECK(ndr_pull_ExtendedErrorParamU(ndr, NDR_BUFFERS, &r->p)); 3749 } 3750 return NDR_ERR_SUCCESS; 3751} 3752 3753_PUBLIC_ void ndr_print_ExtendedErrorParam(struct ndr_print *ndr, const char *name, const struct ExtendedErrorParam *r) 3754{ 3755 ndr_print_struct(ndr, name, "ExtendedErrorParam"); 3756 ndr->depth++; 3757 ndr_print_ExtendedErrorParamType(ndr, "type", r->type); 3758 ndr_print_set_switch_value(ndr, &r->p, r->type); 3759 ndr_print_ExtendedErrorParamU(ndr, "p", &r->p); 3760 ndr->depth--; 3761} 3762 3763_PUBLIC_ enum ndr_err_code ndr_push_ExtendedErrorInfo(struct ndr_push *ndr, int ndr_flags, const struct ExtendedErrorInfo *r) 3764{ 3765 uint32_t cntr_params_0; 3766 if (ndr_flags & NDR_SCALARS) { 3767 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_params)); 3768 NDR_CHECK(ndr_push_align(ndr, 8)); 3769 NDR_CHECK(ndr_push_unique_ptr(ndr, r->next)); 3770 NDR_CHECK(ndr_push_ExtendedErrorComputerName(ndr, NDR_SCALARS, &r->computer_name)); 3771 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->pid)); 3772 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->time)); 3773 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->generating_component)); 3774 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status)); 3775 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->detection_location)); 3776 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->flags)); 3777 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->num_params)); 3778 for (cntr_params_0 = 0; cntr_params_0 < r->num_params; cntr_params_0++) { 3779 NDR_CHECK(ndr_push_ExtendedErrorParam(ndr, NDR_SCALARS, &r->params[cntr_params_0])); 3780 } 3781 NDR_CHECK(ndr_push_trailer_align(ndr, 8)); 3782 } 3783 if (ndr_flags & NDR_BUFFERS) { 3784 if (r->next) { 3785 NDR_CHECK(ndr_push_ExtendedErrorInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->next)); 3786 } 3787 NDR_CHECK(ndr_push_ExtendedErrorComputerName(ndr, NDR_BUFFERS, &r->computer_name)); 3788 for (cntr_params_0 = 0; cntr_params_0 < r->num_params; cntr_params_0++) { 3789 NDR_CHECK(ndr_push_ExtendedErrorParam(ndr, NDR_BUFFERS, &r->params[cntr_params_0])); 3790 } 3791 } 3792 return NDR_ERR_SUCCESS; 3793} 3794 3795_PUBLIC_ enum ndr_err_code ndr_pull_ExtendedErrorInfo(struct ndr_pull *ndr, int ndr_flags, struct ExtendedErrorInfo *r) 3796{ 3797 uint32_t _ptr_next; 3798 TALLOC_CTX *_mem_save_next_0; 3799 uint32_t cntr_params_0; 3800 TALLOC_CTX *_mem_save_params_0; 3801 if (ndr_flags & NDR_SCALARS) { 3802 NDR_CHECK(ndr_pull_array_size(ndr, &r->params)); 3803 NDR_CHECK(ndr_pull_align(ndr, 8)); 3804 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next)); 3805 if (_ptr_next) { 3806 NDR_PULL_ALLOC(ndr, r->next); 3807 } else { 3808 r->next = NULL; 3809 } 3810 NDR_CHECK(ndr_pull_ExtendedErrorComputerName(ndr, NDR_SCALARS, &r->computer_name)); 3811 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->pid)); 3812 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->time)); 3813 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->generating_component)); 3814 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status)); 3815 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->detection_location)); 3816 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->flags)); 3817 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->num_params)); 3818 NDR_PULL_ALLOC_N(ndr, r->params, ndr_get_array_size(ndr, &r->params)); 3819 _mem_save_params_0 = NDR_PULL_GET_MEM_CTX(ndr); 3820 NDR_PULL_SET_MEM_CTX(ndr, r->params, 0); 3821 for (cntr_params_0 = 0; cntr_params_0 < r->num_params; cntr_params_0++) { 3822 NDR_CHECK(ndr_pull_ExtendedErrorParam(ndr, NDR_SCALARS, &r->params[cntr_params_0])); 3823 } 3824 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_params_0, 0); 3825 if (r->params) { 3826 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->params, r->num_params)); 3827 } 3828 NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); 3829 } 3830 if (ndr_flags & NDR_BUFFERS) { 3831 if (r->next) { 3832 _mem_save_next_0 = NDR_PULL_GET_MEM_CTX(ndr); 3833 NDR_PULL_SET_MEM_CTX(ndr, r->next, 0); 3834 NDR_CHECK(ndr_pull_ExtendedErrorInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->next)); 3835 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_0, 0); 3836 } 3837 NDR_CHECK(ndr_pull_ExtendedErrorComputerName(ndr, NDR_BUFFERS, &r->computer_name)); 3838 _mem_save_params_0 = NDR_PULL_GET_MEM_CTX(ndr); 3839 NDR_PULL_SET_MEM_CTX(ndr, r->params, 0); 3840 for (cntr_params_0 = 0; cntr_params_0 < r->num_params; cntr_params_0++) { 3841 NDR_CHECK(ndr_pull_ExtendedErrorParam(ndr, NDR_BUFFERS, &r->params[cntr_params_0])); 3842 } 3843 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_params_0, 0); 3844 } 3845 return NDR_ERR_SUCCESS; 3846} 3847 3848_PUBLIC_ void ndr_print_ExtendedErrorInfo(struct ndr_print *ndr, const char *name, const struct ExtendedErrorInfo *r) 3849{ 3850 uint32_t cntr_params_0; 3851 ndr_print_struct(ndr, name, "ExtendedErrorInfo"); 3852 ndr->depth++; 3853 ndr_print_ptr(ndr, "next", r->next); 3854 ndr->depth++; 3855 if (r->next) { 3856 ndr_print_ExtendedErrorInfo(ndr, "next", r->next); 3857 } 3858 ndr->depth--; 3859 ndr_print_ExtendedErrorComputerName(ndr, "computer_name", &r->computer_name); 3860 ndr_print_hyper(ndr, "pid", r->pid); 3861 ndr_print_NTTIME(ndr, "time", r->time); 3862 ndr_print_uint32(ndr, "generating_component", r->generating_component); 3863 ndr_print_WERROR(ndr, "status", r->status); 3864 ndr_print_uint16(ndr, "detection_location", r->detection_location); 3865 ndr_print_uint16(ndr, "flags", r->flags); 3866 ndr_print_uint16(ndr, "num_params", r->num_params); 3867 ndr->print(ndr, "%s: ARRAY(%d)", "params", (int)r->num_params); 3868 ndr->depth++; 3869 for (cntr_params_0=0;cntr_params_0<r->num_params;cntr_params_0++) { 3870 char *idx_0=NULL; 3871 if (asprintf(&idx_0, "[%d]", cntr_params_0) != -1) { 3872 ndr_print_ExtendedErrorParam(ndr, "params", &r->params[cntr_params_0]); 3873 free(idx_0); 3874 } 3875 } 3876 ndr->depth--; 3877 ndr->depth--; 3878} 3879 3880static enum ndr_err_code ndr_push_ExtendedErrorInfoPtr(struct ndr_push *ndr, int ndr_flags, const struct ExtendedErrorInfoPtr *r) 3881{ 3882 if (ndr_flags & NDR_SCALARS) { 3883 NDR_CHECK(ndr_push_align(ndr, 5)); 3884 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info)); 3885 NDR_CHECK(ndr_push_trailer_align(ndr, 5)); 3886 } 3887 if (ndr_flags & NDR_BUFFERS) { 3888 if (r->info) { 3889 NDR_CHECK(ndr_push_ExtendedErrorInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->info)); 3890 } 3891 } 3892 return NDR_ERR_SUCCESS; 3893} 3894 3895static enum ndr_err_code ndr_pull_ExtendedErrorInfoPtr(struct ndr_pull *ndr, int ndr_flags, struct ExtendedErrorInfoPtr *r) 3896{ 3897 uint32_t _ptr_info; 3898 TALLOC_CTX *_mem_save_info_0; 3899 if (ndr_flags & NDR_SCALARS) { 3900 NDR_CHECK(ndr_pull_align(ndr, 5)); 3901 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info)); 3902 if (_ptr_info) { 3903 NDR_PULL_ALLOC(ndr, r->info); 3904 } else { 3905 r->info = NULL; 3906 } 3907 NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); 3908 } 3909 if (ndr_flags & NDR_BUFFERS) { 3910 if (r->info) { 3911 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); 3912 NDR_PULL_SET_MEM_CTX(ndr, r->info, 0); 3913 NDR_CHECK(ndr_pull_ExtendedErrorInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->info)); 3914 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0); 3915 } 3916 } 3917 return NDR_ERR_SUCCESS; 3918} 3919 3920_PUBLIC_ void ndr_print_ExtendedErrorInfoPtr(struct ndr_print *ndr, const char *name, const struct ExtendedErrorInfoPtr *r) 3921{ 3922 ndr_print_struct(ndr, name, "ExtendedErrorInfoPtr"); 3923 ndr->depth++; 3924 ndr_print_ptr(ndr, "info", r->info); 3925 ndr->depth++; 3926 if (r->info) { 3927 ndr_print_ExtendedErrorInfo(ndr, "info", r->info); 3928 } 3929 ndr->depth--; 3930 ndr->depth--; 3931} 3932 3933static enum ndr_err_code ndr_push_decode_replPropertyMetaData(struct ndr_push *ndr, int flags, const struct decode_replPropertyMetaData *r) 3934{ 3935 if (flags & NDR_IN) { 3936 NDR_CHECK(ndr_push_replPropertyMetaDataBlob(ndr, NDR_SCALARS, &r->in.blob)); 3937 } 3938 if (flags & NDR_OUT) { 3939 } 3940 return NDR_ERR_SUCCESS; 3941} 3942 3943static enum ndr_err_code ndr_pull_decode_replPropertyMetaData(struct ndr_pull *ndr, int flags, struct decode_replPropertyMetaData *r) 3944{ 3945 if (flags & NDR_IN) { 3946 NDR_CHECK(ndr_pull_replPropertyMetaDataBlob(ndr, NDR_SCALARS, &r->in.blob)); 3947 } 3948 if (flags & NDR_OUT) { 3949 } 3950 return NDR_ERR_SUCCESS; 3951} 3952 3953_PUBLIC_ void ndr_print_decode_replPropertyMetaData(struct ndr_print *ndr, const char *name, int flags, const struct decode_replPropertyMetaData *r) 3954{ 3955 ndr_print_struct(ndr, name, "decode_replPropertyMetaData"); 3956 ndr->depth++; 3957 if (flags & NDR_SET_VALUES) { 3958 ndr->flags |= LIBNDR_PRINT_SET_VALUES; 3959 } 3960 if (flags & NDR_IN) { 3961 ndr_print_struct(ndr, "in", "decode_replPropertyMetaData"); 3962 ndr->depth++; 3963 ndr_print_replPropertyMetaDataBlob(ndr, "blob", &r->in.blob); 3964 ndr->depth--; 3965 } 3966 if (flags & NDR_OUT) { 3967 ndr_print_struct(ndr, "out", "decode_replPropertyMetaData"); 3968 ndr->depth++; 3969 ndr->depth--; 3970 } 3971 ndr->depth--; 3972} 3973 3974static enum ndr_err_code ndr_push_decode_replUpToDateVector(struct ndr_push *ndr, int flags, const struct decode_replUpToDateVector *r) 3975{ 3976 if (flags & NDR_IN) { 3977 NDR_CHECK(ndr_push_replUpToDateVectorBlob(ndr, NDR_SCALARS, &r->in.blob)); 3978 } 3979 if (flags & NDR_OUT) { 3980 } 3981 return NDR_ERR_SUCCESS; 3982} 3983 3984static enum ndr_err_code ndr_pull_decode_replUpToDateVector(struct ndr_pull *ndr, int flags, struct decode_replUpToDateVector *r) 3985{ 3986 if (flags & NDR_IN) { 3987 NDR_CHECK(ndr_pull_replUpToDateVectorBlob(ndr, NDR_SCALARS, &r->in.blob)); 3988 } 3989 if (flags & NDR_OUT) { 3990 } 3991 return NDR_ERR_SUCCESS; 3992} 3993 3994_PUBLIC_ void ndr_print_decode_replUpToDateVector(struct ndr_print *ndr, const char *name, int flags, const struct decode_replUpToDateVector *r) 3995{ 3996 ndr_print_struct(ndr, name, "decode_replUpToDateVector"); 3997 ndr->depth++; 3998 if (flags & NDR_SET_VALUES) { 3999 ndr->flags |= LIBNDR_PRINT_SET_VALUES; 4000 } 4001 if (flags & NDR_IN) { 4002 ndr_print_struct(ndr, "in", "decode_replUpToDateVector"); 4003 ndr->depth++; 4004 ndr_print_replUpToDateVectorBlob(ndr, "blob", &r->in.blob); 4005 ndr->depth--; 4006 } 4007 if (flags & NDR_OUT) { 4008 ndr_print_struct(ndr, "out", "decode_replUpToDateVector"); 4009 ndr->depth++; 4010 ndr->depth--; 4011 } 4012 ndr->depth--; 4013} 4014 4015static enum ndr_err_code ndr_push_decode_repsFromTo(struct ndr_push *ndr, int flags, const struct decode_repsFromTo *r) 4016{ 4017 if (flags & NDR_IN) { 4018 NDR_CHECK(ndr_push_repsFromToBlob(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob)); 4019 } 4020 if (flags & NDR_OUT) { 4021 } 4022 return NDR_ERR_SUCCESS; 4023} 4024 4025static enum ndr_err_code ndr_pull_decode_repsFromTo(struct ndr_pull *ndr, int flags, struct decode_repsFromTo *r) 4026{ 4027 if (flags & NDR_IN) { 4028 NDR_CHECK(ndr_pull_repsFromToBlob(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob)); 4029 } 4030 if (flags & NDR_OUT) { 4031 } 4032 return NDR_ERR_SUCCESS; 4033} 4034 4035_PUBLIC_ void ndr_print_decode_repsFromTo(struct ndr_print *ndr, const char *name, int flags, const struct decode_repsFromTo *r) 4036{ 4037 ndr_print_struct(ndr, name, "decode_repsFromTo"); 4038 ndr->depth++; 4039 if (flags & NDR_SET_VALUES) { 4040 ndr->flags |= LIBNDR_PRINT_SET_VALUES; 4041 } 4042 if (flags & NDR_IN) { 4043 ndr_print_struct(ndr, "in", "decode_repsFromTo"); 4044 ndr->depth++; 4045 ndr_print_repsFromToBlob(ndr, "blob", &r->in.blob); 4046 ndr->depth--; 4047 } 4048 if (flags & NDR_OUT) { 4049 ndr_print_struct(ndr, "out", "decode_repsFromTo"); 4050 ndr->depth++; 4051 ndr->depth--; 4052 } 4053 ndr->depth--; 4054} 4055 4056static enum ndr_err_code ndr_push_decode_partialAttributeSet(struct ndr_push *ndr, int flags, const struct decode_partialAttributeSet *r) 4057{ 4058 if (flags & NDR_IN) { 4059 NDR_CHECK(ndr_push_partialAttributeSetBlob(ndr, NDR_SCALARS, &r->in.blob)); 4060 } 4061 if (flags & NDR_OUT) { 4062 } 4063 return NDR_ERR_SUCCESS; 4064} 4065 4066static enum ndr_err_code ndr_pull_decode_partialAttributeSet(struct ndr_pull *ndr, int flags, struct decode_partialAttributeSet *r) 4067{ 4068 if (flags & NDR_IN) { 4069 NDR_CHECK(ndr_pull_partialAttributeSetBlob(ndr, NDR_SCALARS, &r->in.blob)); 4070 } 4071 if (flags & NDR_OUT) { 4072 } 4073 return NDR_ERR_SUCCESS; 4074} 4075 4076_PUBLIC_ void ndr_print_decode_partialAttributeSet(struct ndr_print *ndr, const char *name, int flags, const struct decode_partialAttributeSet *r) 4077{ 4078 ndr_print_struct(ndr, name, "decode_partialAttributeSet"); 4079 ndr->depth++; 4080 if (flags & NDR_SET_VALUES) { 4081 ndr->flags |= LIBNDR_PRINT_SET_VALUES; 4082 } 4083 if (flags & NDR_IN) { 4084 ndr_print_struct(ndr, "in", "decode_partialAttributeSet"); 4085 ndr->depth++; 4086 ndr_print_partialAttributeSetBlob(ndr, "blob", &r->in.blob); 4087 ndr->depth--; 4088 } 4089 if (flags & NDR_OUT) { 4090 ndr_print_struct(ndr, "out", "decode_partialAttributeSet"); 4091 ndr->depth++; 4092 ndr->depth--; 4093 } 4094 ndr->depth--; 4095} 4096 4097static enum ndr_err_code ndr_push_decode_prefixMap(struct ndr_push *ndr, int flags, const struct decode_prefixMap *r) 4098{ 4099 if (flags & NDR_IN) { 4100 NDR_CHECK(ndr_push_prefixMapBlob(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob)); 4101 } 4102 if (flags & NDR_OUT) { 4103 } 4104 return NDR_ERR_SUCCESS; 4105} 4106 4107static enum ndr_err_code ndr_pull_decode_prefixMap(struct ndr_pull *ndr, int flags, struct decode_prefixMap *r) 4108{ 4109 if (flags & NDR_IN) { 4110 NDR_CHECK(ndr_pull_prefixMapBlob(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob)); 4111 } 4112 if (flags & NDR_OUT) { 4113 } 4114 return NDR_ERR_SUCCESS; 4115} 4116 4117_PUBLIC_ void ndr_print_decode_prefixMap(struct ndr_print *ndr, const char *name, int flags, const struct decode_prefixMap *r) 4118{ 4119 ndr_print_struct(ndr, name, "decode_prefixMap"); 4120 ndr->depth++; 4121 if (flags & NDR_SET_VALUES) { 4122 ndr->flags |= LIBNDR_PRINT_SET_VALUES; 4123 } 4124 if (flags & NDR_IN) { 4125 ndr_print_struct(ndr, "in", "decode_prefixMap"); 4126 ndr->depth++; 4127 ndr_print_prefixMapBlob(ndr, "blob", &r->in.blob); 4128 ndr->depth--; 4129 } 4130 if (flags & NDR_OUT) { 4131 ndr_print_struct(ndr, "out", "decode_prefixMap"); 4132 ndr->depth++; 4133 ndr->depth--; 4134 } 4135 ndr->depth--; 4136} 4137 4138static enum ndr_err_code ndr_push_decode_ldapControlDirSync(struct ndr_push *ndr, int flags, const struct decode_ldapControlDirSync *r) 4139{ 4140 if (flags & NDR_IN) { 4141 NDR_CHECK(ndr_push_ldapControlDirSyncCookie(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.cookie)); 4142 } 4143 if (flags & NDR_OUT) { 4144 } 4145 return NDR_ERR_SUCCESS; 4146} 4147 4148static enum ndr_err_code ndr_pull_decode_ldapControlDirSync(struct ndr_pull *ndr, int flags, struct decode_ldapControlDirSync *r) 4149{ 4150 if (flags & NDR_IN) { 4151 NDR_CHECK(ndr_pull_ldapControlDirSyncCookie(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.cookie)); 4152 } 4153 if (flags & NDR_OUT) { 4154 } 4155 return NDR_ERR_SUCCESS; 4156} 4157 4158_PUBLIC_ void ndr_print_decode_ldapControlDirSync(struct ndr_print *ndr, const char *name, int flags, const struct decode_ldapControlDirSync *r) 4159{ 4160 ndr_print_struct(ndr, name, "decode_ldapControlDirSync"); 4161 ndr->depth++; 4162 if (flags & NDR_SET_VALUES) { 4163 ndr->flags |= LIBNDR_PRINT_SET_VALUES; 4164 } 4165 if (flags & NDR_IN) { 4166 ndr_print_struct(ndr, "in", "decode_ldapControlDirSync"); 4167 ndr->depth++; 4168 ndr_print_ldapControlDirSyncCookie(ndr, "cookie", &r->in.cookie); 4169 ndr->depth--; 4170 } 4171 if (flags & NDR_OUT) { 4172 ndr_print_struct(ndr, "out", "decode_ldapControlDirSync"); 4173 ndr->depth++; 4174 ndr->depth--; 4175 } 4176 ndr->depth--; 4177} 4178 4179static enum ndr_err_code ndr_push_decode_supplementalCredentials(struct ndr_push *ndr, int flags, const struct decode_supplementalCredentials *r) 4180{ 4181 if (flags & NDR_IN) { 4182 NDR_CHECK(ndr_push_supplementalCredentialsBlob(ndr, NDR_SCALARS, &r->in.blob)); 4183 } 4184 if (flags & NDR_OUT) { 4185 } 4186 return NDR_ERR_SUCCESS; 4187} 4188 4189static enum ndr_err_code ndr_pull_decode_supplementalCredentials(struct ndr_pull *ndr, int flags, struct decode_supplementalCredentials *r) 4190{ 4191 if (flags & NDR_IN) { 4192 NDR_CHECK(ndr_pull_supplementalCredentialsBlob(ndr, NDR_SCALARS, &r->in.blob)); 4193 } 4194 if (flags & NDR_OUT) { 4195 } 4196 return NDR_ERR_SUCCESS; 4197} 4198 4199_PUBLIC_ void ndr_print_decode_supplementalCredentials(struct ndr_print *ndr, const char *name, int flags, const struct decode_supplementalCredentials *r) 4200{ 4201 ndr_print_struct(ndr, name, "decode_supplementalCredentials"); 4202 ndr->depth++; 4203 if (flags & NDR_SET_VALUES) { 4204 ndr->flags |= LIBNDR_PRINT_SET_VALUES; 4205 } 4206 if (flags & NDR_IN) { 4207 ndr_print_struct(ndr, "in", "decode_supplementalCredentials"); 4208 ndr->depth++; 4209 ndr_print_supplementalCredentialsBlob(ndr, "blob", &r->in.blob); 4210 ndr->depth--; 4211 } 4212 if (flags & NDR_OUT) { 4213 ndr_print_struct(ndr, "out", "decode_supplementalCredentials"); 4214 ndr->depth++; 4215 ndr->depth--; 4216 } 4217 ndr->depth--; 4218} 4219 4220static enum ndr_err_code ndr_push_decode_Packages(struct ndr_push *ndr, int flags, const struct decode_Packages *r) 4221{ 4222 if (flags & NDR_IN) { 4223 NDR_CHECK(ndr_push_package_PackagesBlob(ndr, NDR_SCALARS, &r->in.blob)); 4224 } 4225 if (flags & NDR_OUT) { 4226 } 4227 return NDR_ERR_SUCCESS; 4228} 4229 4230static enum ndr_err_code ndr_pull_decode_Packages(struct ndr_pull *ndr, int flags, struct decode_Packages *r) 4231{ 4232 if (flags & NDR_IN) { 4233 NDR_CHECK(ndr_pull_package_PackagesBlob(ndr, NDR_SCALARS, &r->in.blob)); 4234 } 4235 if (flags & NDR_OUT) { 4236 } 4237 return NDR_ERR_SUCCESS; 4238} 4239 4240_PUBLIC_ void ndr_print_decode_Packages(struct ndr_print *ndr, const char *name, int flags, const struct decode_Packages *r) 4241{ 4242 ndr_print_struct(ndr, name, "decode_Packages"); 4243 ndr->depth++; 4244 if (flags & NDR_SET_VALUES) { 4245 ndr->flags |= LIBNDR_PRINT_SET_VALUES; 4246 } 4247 if (flags & NDR_IN) { 4248 ndr_print_struct(ndr, "in", "decode_Packages"); 4249 ndr->depth++; 4250 ndr_print_package_PackagesBlob(ndr, "blob", &r->in.blob); 4251 ndr->depth--; 4252 } 4253 if (flags & NDR_OUT) { 4254 ndr_print_struct(ndr, "out", "decode_Packages"); 4255 ndr->depth++; 4256 ndr->depth--; 4257 } 4258 ndr->depth--; 4259} 4260 4261static enum ndr_err_code ndr_push_decode_PrimaryKerberos(struct ndr_push *ndr, int flags, const struct decode_PrimaryKerberos *r) 4262{ 4263 if (flags & NDR_IN) { 4264 NDR_CHECK(ndr_push_package_PrimaryKerberosBlob(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob)); 4265 } 4266 if (flags & NDR_OUT) { 4267 } 4268 return NDR_ERR_SUCCESS; 4269} 4270 4271static enum ndr_err_code ndr_pull_decode_PrimaryKerberos(struct ndr_pull *ndr, int flags, struct decode_PrimaryKerberos *r) 4272{ 4273 if (flags & NDR_IN) { 4274 NDR_CHECK(ndr_pull_package_PrimaryKerberosBlob(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob)); 4275 } 4276 if (flags & NDR_OUT) { 4277 } 4278 return NDR_ERR_SUCCESS; 4279} 4280 4281_PUBLIC_ void ndr_print_decode_PrimaryKerberos(struct ndr_print *ndr, const char *name, int flags, const struct decode_PrimaryKerberos *r) 4282{ 4283 ndr_print_struct(ndr, name, "decode_PrimaryKerberos"); 4284 ndr->depth++; 4285 if (flags & NDR_SET_VALUES) { 4286 ndr->flags |= LIBNDR_PRINT_SET_VALUES; 4287 } 4288 if (flags & NDR_IN) { 4289 ndr_print_struct(ndr, "in", "decode_PrimaryKerberos"); 4290 ndr->depth++; 4291 ndr_print_package_PrimaryKerberosBlob(ndr, "blob", &r->in.blob); 4292 ndr->depth--; 4293 } 4294 if (flags & NDR_OUT) { 4295 ndr_print_struct(ndr, "out", "decode_PrimaryKerberos"); 4296 ndr->depth++; 4297 ndr->depth--; 4298 } 4299 ndr->depth--; 4300} 4301 4302static enum ndr_err_code ndr_push_decode_PrimaryCLEARTEXT(struct ndr_push *ndr, int flags, const struct decode_PrimaryCLEARTEXT *r) 4303{ 4304 if (flags & NDR_IN) { 4305 NDR_CHECK(ndr_push_package_PrimaryCLEARTEXTBlob(ndr, NDR_SCALARS, &r->in.blob)); 4306 } 4307 if (flags & NDR_OUT) { 4308 } 4309 return NDR_ERR_SUCCESS; 4310} 4311 4312static enum ndr_err_code ndr_pull_decode_PrimaryCLEARTEXT(struct ndr_pull *ndr, int flags, struct decode_PrimaryCLEARTEXT *r) 4313{ 4314 if (flags & NDR_IN) { 4315 NDR_CHECK(ndr_pull_package_PrimaryCLEARTEXTBlob(ndr, NDR_SCALARS, &r->in.blob)); 4316 } 4317 if (flags & NDR_OUT) { 4318 } 4319 return NDR_ERR_SUCCESS; 4320} 4321 4322_PUBLIC_ void ndr_print_decode_PrimaryCLEARTEXT(struct ndr_print *ndr, const char *name, int flags, const struct decode_PrimaryCLEARTEXT *r) 4323{ 4324 ndr_print_struct(ndr, name, "decode_PrimaryCLEARTEXT"); 4325 ndr->depth++; 4326 if (flags & NDR_SET_VALUES) { 4327 ndr->flags |= LIBNDR_PRINT_SET_VALUES; 4328 } 4329 if (flags & NDR_IN) { 4330 ndr_print_struct(ndr, "in", "decode_PrimaryCLEARTEXT"); 4331 ndr->depth++; 4332 ndr_print_package_PrimaryCLEARTEXTBlob(ndr, "blob", &r->in.blob); 4333 ndr->depth--; 4334 } 4335 if (flags & NDR_OUT) { 4336 ndr_print_struct(ndr, "out", "decode_PrimaryCLEARTEXT"); 4337 ndr->depth++; 4338 ndr->depth--; 4339 } 4340 ndr->depth--; 4341} 4342 4343static enum ndr_err_code ndr_push_decode_PrimaryWDigest(struct ndr_push *ndr, int flags, const struct decode_PrimaryWDigest *r) 4344{ 4345 if (flags & NDR_IN) { 4346 NDR_CHECK(ndr_push_package_PrimaryWDigestBlob(ndr, NDR_SCALARS, &r->in.blob)); 4347 } 4348 if (flags & NDR_OUT) { 4349 } 4350 return NDR_ERR_SUCCESS; 4351} 4352 4353static enum ndr_err_code ndr_pull_decode_PrimaryWDigest(struct ndr_pull *ndr, int flags, struct decode_PrimaryWDigest *r) 4354{ 4355 if (flags & NDR_IN) { 4356 NDR_CHECK(ndr_pull_package_PrimaryWDigestBlob(ndr, NDR_SCALARS, &r->in.blob)); 4357 } 4358 if (flags & NDR_OUT) { 4359 } 4360 return NDR_ERR_SUCCESS; 4361} 4362 4363_PUBLIC_ void ndr_print_decode_PrimaryWDigest(struct ndr_print *ndr, const char *name, int flags, const struct decode_PrimaryWDigest *r) 4364{ 4365 ndr_print_struct(ndr, name, "decode_PrimaryWDigest"); 4366 ndr->depth++; 4367 if (flags & NDR_SET_VALUES) { 4368 ndr->flags |= LIBNDR_PRINT_SET_VALUES; 4369 } 4370 if (flags & NDR_IN) { 4371 ndr_print_struct(ndr, "in", "decode_PrimaryWDigest"); 4372 ndr->depth++; 4373 ndr_print_package_PrimaryWDigestBlob(ndr, "blob", &r->in.blob); 4374 ndr->depth--; 4375 } 4376 if (flags & NDR_OUT) { 4377 ndr_print_struct(ndr, "out", "decode_PrimaryWDigest"); 4378 ndr->depth++; 4379 ndr->depth--; 4380 } 4381 ndr->depth--; 4382} 4383 4384static enum ndr_err_code ndr_push_decode_trustAuthInOut(struct ndr_push *ndr, int flags, const struct decode_trustAuthInOut *r) 4385{ 4386 if (flags & NDR_IN) { 4387 NDR_CHECK(ndr_push_trustAuthInOutBlob(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob)); 4388 } 4389 if (flags & NDR_OUT) { 4390 } 4391 return NDR_ERR_SUCCESS; 4392} 4393 4394static enum ndr_err_code ndr_pull_decode_trustAuthInOut(struct ndr_pull *ndr, int flags, struct decode_trustAuthInOut *r) 4395{ 4396 if (flags & NDR_IN) { 4397 NDR_CHECK(ndr_pull_trustAuthInOutBlob(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob)); 4398 } 4399 if (flags & NDR_OUT) { 4400 } 4401 return NDR_ERR_SUCCESS; 4402} 4403 4404_PUBLIC_ void ndr_print_decode_trustAuthInOut(struct ndr_print *ndr, const char *name, int flags, const struct decode_trustAuthInOut *r) 4405{ 4406 ndr_print_struct(ndr, name, "decode_trustAuthInOut"); 4407 ndr->depth++; 4408 if (flags & NDR_SET_VALUES) { 4409 ndr->flags |= LIBNDR_PRINT_SET_VALUES; 4410 } 4411 if (flags & NDR_IN) { 4412 ndr_print_struct(ndr, "in", "decode_trustAuthInOut"); 4413 ndr->depth++; 4414 ndr_print_trustAuthInOutBlob(ndr, "blob", &r->in.blob); 4415 ndr->depth--; 4416 } 4417 if (flags & NDR_OUT) { 4418 ndr_print_struct(ndr, "out", "decode_trustAuthInOut"); 4419 ndr->depth++; 4420 ndr->depth--; 4421 } 4422 ndr->depth--; 4423} 4424 4425static enum ndr_err_code ndr_push_decode_trustDomainPasswords(struct ndr_push *ndr, int flags, const struct decode_trustDomainPasswords *r) 4426{ 4427 if (flags & NDR_IN) { 4428 NDR_CHECK(ndr_push_trustDomainPasswords(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob)); 4429 } 4430 if (flags & NDR_OUT) { 4431 } 4432 return NDR_ERR_SUCCESS; 4433} 4434 4435static enum ndr_err_code ndr_pull_decode_trustDomainPasswords(struct ndr_pull *ndr, int flags, struct decode_trustDomainPasswords *r) 4436{ 4437 if (flags & NDR_IN) { 4438 NDR_CHECK(ndr_pull_trustDomainPasswords(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob)); 4439 } 4440 if (flags & NDR_OUT) { 4441 } 4442 return NDR_ERR_SUCCESS; 4443} 4444 4445_PUBLIC_ void ndr_print_decode_trustDomainPasswords(struct ndr_print *ndr, const char *name, int flags, const struct decode_trustDomainPasswords *r) 4446{ 4447 ndr_print_struct(ndr, name, "decode_trustDomainPasswords"); 4448 ndr->depth++; 4449 if (flags & NDR_SET_VALUES) { 4450 ndr->flags |= LIBNDR_PRINT_SET_VALUES; 4451 } 4452 if (flags & NDR_IN) { 4453 ndr_print_struct(ndr, "in", "decode_trustDomainPasswords"); 4454 ndr->depth++; 4455 ndr_print_trustDomainPasswords(ndr, "blob", &r->in.blob); 4456 ndr->depth--; 4457 } 4458 if (flags & NDR_OUT) { 4459 ndr_print_struct(ndr, "out", "decode_trustDomainPasswords"); 4460 ndr->depth++; 4461 ndr->depth--; 4462 } 4463 ndr->depth--; 4464} 4465 4466static enum ndr_err_code ndr_push_decode_ExtendedErrorInfo(struct ndr_push *ndr, int flags, const struct decode_ExtendedErrorInfo *r) 4467{ 4468 if (flags & NDR_IN) { 4469 { 4470 struct ndr_push *_ndr_ptr; 4471 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ptr, 0xFFFFFC01, -1)); 4472 NDR_CHECK(ndr_push_ExtendedErrorInfoPtr(_ndr_ptr, NDR_SCALARS|NDR_BUFFERS, &r->in.ptr)); 4473 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_ptr, 0xFFFFFC01, -1)); 4474 } 4475 } 4476 if (flags & NDR_OUT) { 4477 } 4478 return NDR_ERR_SUCCESS; 4479} 4480 4481static enum ndr_err_code ndr_pull_decode_ExtendedErrorInfo(struct ndr_pull *ndr, int flags, struct decode_ExtendedErrorInfo *r) 4482{ 4483 if (flags & NDR_IN) { 4484 { 4485 struct ndr_pull *_ndr_ptr; 4486 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ptr, 0xFFFFFC01, -1)); 4487 NDR_CHECK(ndr_pull_ExtendedErrorInfoPtr(_ndr_ptr, NDR_SCALARS|NDR_BUFFERS, &r->in.ptr)); 4488 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ptr, 0xFFFFFC01, -1)); 4489 } 4490 } 4491 if (flags & NDR_OUT) { 4492 } 4493 return NDR_ERR_SUCCESS; 4494} 4495 4496_PUBLIC_ void ndr_print_decode_ExtendedErrorInfo(struct ndr_print *ndr, const char *name, int flags, const struct decode_ExtendedErrorInfo *r) 4497{ 4498 ndr_print_struct(ndr, name, "decode_ExtendedErrorInfo"); 4499 ndr->depth++; 4500 if (flags & NDR_SET_VALUES) { 4501 ndr->flags |= LIBNDR_PRINT_SET_VALUES; 4502 } 4503 if (flags & NDR_IN) { 4504 ndr_print_struct(ndr, "in", "decode_ExtendedErrorInfo"); 4505 ndr->depth++; 4506 ndr_print_ExtendedErrorInfoPtr(ndr, "ptr", &r->in.ptr); 4507 ndr->depth--; 4508 } 4509 if (flags & NDR_OUT) { 4510 ndr_print_struct(ndr, "out", "decode_ExtendedErrorInfo"); 4511 ndr->depth++; 4512 ndr->depth--; 4513 } 4514 ndr->depth--; 4515} 4516 4517static const struct ndr_interface_call drsblobs_calls[] = { 4518 { 4519 "decode_replPropertyMetaData", 4520 sizeof(struct decode_replPropertyMetaData), 4521 (ndr_push_flags_fn_t) ndr_push_decode_replPropertyMetaData, 4522 (ndr_pull_flags_fn_t) ndr_pull_decode_replPropertyMetaData, 4523 (ndr_print_function_t) ndr_print_decode_replPropertyMetaData, 4524 false, 4525 }, 4526 { 4527 "decode_replUpToDateVector", 4528 sizeof(struct decode_replUpToDateVector), 4529 (ndr_push_flags_fn_t) ndr_push_decode_replUpToDateVector, 4530 (ndr_pull_flags_fn_t) ndr_pull_decode_replUpToDateVector, 4531 (ndr_print_function_t) ndr_print_decode_replUpToDateVector, 4532 false, 4533 }, 4534 { 4535 "decode_repsFromTo", 4536 sizeof(struct decode_repsFromTo), 4537 (ndr_push_flags_fn_t) ndr_push_decode_repsFromTo, 4538 (ndr_pull_flags_fn_t) ndr_pull_decode_repsFromTo, 4539 (ndr_print_function_t) ndr_print_decode_repsFromTo, 4540 false, 4541 }, 4542 { 4543 "decode_partialAttributeSet", 4544 sizeof(struct decode_partialAttributeSet), 4545 (ndr_push_flags_fn_t) ndr_push_decode_partialAttributeSet, 4546 (ndr_pull_flags_fn_t) ndr_pull_decode_partialAttributeSet, 4547 (ndr_print_function_t) ndr_print_decode_partialAttributeSet, 4548 false, 4549 }, 4550 { 4551 "decode_prefixMap", 4552 sizeof(struct decode_prefixMap), 4553 (ndr_push_flags_fn_t) ndr_push_decode_prefixMap, 4554 (ndr_pull_flags_fn_t) ndr_pull_decode_prefixMap, 4555 (ndr_print_function_t) ndr_print_decode_prefixMap, 4556 false, 4557 }, 4558 { 4559 "decode_ldapControlDirSync", 4560 sizeof(struct decode_ldapControlDirSync), 4561 (ndr_push_flags_fn_t) ndr_push_decode_ldapControlDirSync, 4562 (ndr_pull_flags_fn_t) ndr_pull_decode_ldapControlDirSync, 4563 (ndr_print_function_t) ndr_print_decode_ldapControlDirSync, 4564 false, 4565 }, 4566 { 4567 "decode_supplementalCredentials", 4568 sizeof(struct decode_supplementalCredentials), 4569 (ndr_push_flags_fn_t) ndr_push_decode_supplementalCredentials, 4570 (ndr_pull_flags_fn_t) ndr_pull_decode_supplementalCredentials, 4571 (ndr_print_function_t) ndr_print_decode_supplementalCredentials, 4572 false, 4573 }, 4574 { 4575 "decode_Packages", 4576 sizeof(struct decode_Packages), 4577 (ndr_push_flags_fn_t) ndr_push_decode_Packages, 4578 (ndr_pull_flags_fn_t) ndr_pull_decode_Packages, 4579 (ndr_print_function_t) ndr_print_decode_Packages, 4580 false, 4581 }, 4582 { 4583 "decode_PrimaryKerberos", 4584 sizeof(struct decode_PrimaryKerberos), 4585 (ndr_push_flags_fn_t) ndr_push_decode_PrimaryKerberos, 4586 (ndr_pull_flags_fn_t) ndr_pull_decode_PrimaryKerberos, 4587 (ndr_print_function_t) ndr_print_decode_PrimaryKerberos, 4588 false, 4589 }, 4590 { 4591 "decode_PrimaryCLEARTEXT", 4592 sizeof(struct decode_PrimaryCLEARTEXT), 4593 (ndr_push_flags_fn_t) ndr_push_decode_PrimaryCLEARTEXT, 4594 (ndr_pull_flags_fn_t) ndr_pull_decode_PrimaryCLEARTEXT, 4595 (ndr_print_function_t) ndr_print_decode_PrimaryCLEARTEXT, 4596 false, 4597 }, 4598 { 4599 "decode_PrimaryWDigest", 4600 sizeof(struct decode_PrimaryWDigest), 4601 (ndr_push_flags_fn_t) ndr_push_decode_PrimaryWDigest, 4602 (ndr_pull_flags_fn_t) ndr_pull_decode_PrimaryWDigest, 4603 (ndr_print_function_t) ndr_print_decode_PrimaryWDigest, 4604 false, 4605 }, 4606 { 4607 "decode_trustAuthInOut", 4608 sizeof(struct decode_trustAuthInOut), 4609 (ndr_push_flags_fn_t) ndr_push_decode_trustAuthInOut, 4610 (ndr_pull_flags_fn_t) ndr_pull_decode_trustAuthInOut, 4611 (ndr_print_function_t) ndr_print_decode_trustAuthInOut, 4612 false, 4613 }, 4614 { 4615 "decode_trustDomainPasswords", 4616 sizeof(struct decode_trustDomainPasswords), 4617 (ndr_push_flags_fn_t) ndr_push_decode_trustDomainPasswords, 4618 (ndr_pull_flags_fn_t) ndr_pull_decode_trustDomainPasswords, 4619 (ndr_print_function_t) ndr_print_decode_trustDomainPasswords, 4620 false, 4621 }, 4622 { 4623 "decode_ExtendedErrorInfo", 4624 sizeof(struct decode_ExtendedErrorInfo), 4625 (ndr_push_flags_fn_t) ndr_push_decode_ExtendedErrorInfo, 4626 (ndr_pull_flags_fn_t) ndr_pull_decode_ExtendedErrorInfo, 4627 (ndr_print_function_t) ndr_print_decode_ExtendedErrorInfo, 4628 false, 4629 }, 4630 { NULL, 0, NULL, NULL, NULL, false } 4631}; 4632 4633static const char * const drsblobs_endpoint_strings[] = { 4634 "ncacn_np:[\\pipe\\drsblobs]", 4635}; 4636 4637static const struct ndr_interface_string_array drsblobs_endpoints = { 4638 .count = 1, 4639 .names = drsblobs_endpoint_strings 4640}; 4641 4642static const char * const drsblobs_authservice_strings[] = { 4643 "host", 4644}; 4645 4646static const struct ndr_interface_string_array drsblobs_authservices = { 4647 .count = 1, 4648 .names = drsblobs_authservice_strings 4649}; 4650 4651 4652const struct ndr_interface_table ndr_table_drsblobs = { 4653 .name = "drsblobs", 4654 .syntax_id = { 4655 {0x12345778,0x1234,0xabcd,{0x00,0x01},{0x00,0x00,0x00,0x01}}, 4656 NDR_DRSBLOBS_VERSION 4657 }, 4658 .helpstring = NDR_DRSBLOBS_HELPSTRING, 4659 .num_calls = 14, 4660 .calls = drsblobs_calls, 4661 .endpoints = &drsblobs_endpoints, 4662 .authservices = &drsblobs_authservices 4663}; 4664 4665