1 /* 2 * Please do not edit this file. 3 * It was generated using ndrgen. 4 */ 5 6 #include <strings.h> 7 #include <smbsrv/ndr.h> 8 #include <smbsrv/ndl/netlogon.ndl> 9 10 extern struct ndr_typeinfo ndt__char; 11 extern struct ndr_typeinfo ndt_s_char; 12 extern struct ndr_typeinfo ndt__uchar; 13 extern struct ndr_typeinfo ndt_s_uchar; 14 extern struct ndr_typeinfo ndt__wchar; 15 extern struct ndr_typeinfo ndt_s_wchar; 16 extern struct ndr_typeinfo ndt__short; 17 extern struct ndr_typeinfo ndt_s_short; 18 extern struct ndr_typeinfo ndt__ushort; 19 extern struct ndr_typeinfo ndt_s_ushort; 20 extern struct ndr_typeinfo ndt__long; 21 extern struct ndr_typeinfo ndt_s_long; 22 extern struct ndr_typeinfo ndt__ulong; 23 extern struct ndr_typeinfo ndt_s_ulong; 24 25 26 27 int ndr__netr_sid (struct ndr_reference *encl_ref); 28 struct ndr_typeinfo ndt__netr_sid = { 29 1, /* NDR version */ 30 3, /* alignment */ 31 NDR_F_CONFORMANT|NDR_F_STRUCT, /* flags */ 32 ndr__netr_sid, /* ndr_func */ 33 8, /* pdu_size_fixed_part */ 34 4, /* pdu_size_variable_part */ 35 8, /* c_size_fixed_part */ 36 4, /* c_size_variable_part */ 37 }; 38 39 40 /* 41 * */ 42 int 43 ndr__netr_sid (struct ndr_reference *encl_ref) 44 { 45 struct netr_sid *val = (struct netr_sid *) encl_ref->datum; 46 struct ndr_reference myref; 47 48 (void) bzero(&myref, sizeof (myref)); 49 myref.enclosing = encl_ref; 50 myref.stream = encl_ref->stream; 51 52 /* do all basic elements first */ 53 NDR_MEMBER (_uchar, Revision, 0UL); 54 NDR_MEMBER (_uchar, SubAuthCount, 1UL); 55 56 /* do all constructed elements w/o pointers */ 57 NDR_MEMBER_ARR_WITH_DIMENSION (_uchar, Authority, 2UL, 58 6); 59 NDR_MEMBER_ARR_WITH_SIZE_IS (_ulong, SubAuthority, 8UL, 60 val->SubAuthCount); 61 62 /* do members with pointers in order */ 63 64 return 1; 65 } 66 67 68 69 int ndr__netr_string (struct ndr_reference *encl_ref); 70 struct ndr_typeinfo ndt__netr_string = { 71 1, /* NDR version */ 72 3, /* alignment */ 73 NDR_F_STRUCT, /* flags */ 74 ndr__netr_string, /* ndr_func */ 75 8, /* pdu_size_fixed_part */ 76 0, /* pdu_size_variable_part */ 77 8, /* c_size_fixed_part */ 78 0, /* c_size_variable_part */ 79 }; 80 81 82 /* 83 * */ 84 int 85 ndr__netr_string (struct ndr_reference *encl_ref) 86 { 87 struct netr_string *val = (struct netr_string *) encl_ref->datum; 88 struct ndr_reference myref; 89 90 (void) bzero(&myref, sizeof (myref)); 91 myref.enclosing = encl_ref; 92 myref.stream = encl_ref->stream; 93 94 /* do all basic elements first */ 95 NDR_MEMBER (_ushort, length, 0UL); 96 NDR_MEMBER (_ushort, allosize, 2UL); 97 98 /* do all constructed elements w/o pointers */ 99 100 /* do members with pointers in order */ 101 NDR_MEMBER_PTR (s_wchar, str, 4UL); 102 103 return 1; 104 } 105 106 107 108 int ndr__netr_vcs (struct ndr_reference *encl_ref); 109 struct ndr_typeinfo ndt__netr_vcs = { 110 1, /* NDR version */ 111 3, /* alignment */ 112 NDR_F_CONFORMANT|NDR_F_STRUCT, /* flags */ 113 ndr__netr_vcs, /* ndr_func */ 114 8, /* pdu_size_fixed_part */ 115 2, /* pdu_size_variable_part */ 116 8, /* c_size_fixed_part */ 117 2, /* c_size_variable_part */ 118 }; 119 120 121 /* 122 * */ 123 int 124 ndr__netr_vcs (struct ndr_reference *encl_ref) 125 { 126 struct netr_vcs *val = (struct netr_vcs *) encl_ref->datum; 127 struct ndr_reference myref; 128 129 (void) bzero(&myref, sizeof (myref)); 130 myref.enclosing = encl_ref; 131 myref.stream = encl_ref->stream; 132 133 /* do all basic elements first */ 134 NDR_MEMBER (_ulong, vc_first_is, 0UL); 135 NDR_MEMBER (_ulong, vc_length_is, 4UL); 136 137 /* do all constructed elements w/o pointers */ 138 NDR_MEMBER_ARR_WITH_SIZE_IS (_ushort, buffer, 8UL, 139 val->vc_length_is); 140 141 /* do members with pointers in order */ 142 143 return 1; 144 } 145 146 147 148 int ndr__netr_vcstr (struct ndr_reference *encl_ref); 149 struct ndr_typeinfo ndt__netr_vcstr = { 150 1, /* NDR version */ 151 3, /* alignment */ 152 NDR_F_STRUCT, /* flags */ 153 ndr__netr_vcstr, /* ndr_func */ 154 8, /* pdu_size_fixed_part */ 155 0, /* pdu_size_variable_part */ 156 8, /* c_size_fixed_part */ 157 0, /* c_size_variable_part */ 158 }; 159 160 161 /* 162 * */ 163 int 164 ndr__netr_vcstr (struct ndr_reference *encl_ref) 165 { 166 struct netr_vcstr *val = (struct netr_vcstr *) encl_ref->datum; 167 struct ndr_reference myref; 168 169 (void) bzero(&myref, sizeof (myref)); 170 myref.enclosing = encl_ref; 171 myref.stream = encl_ref->stream; 172 173 /* do all basic elements first */ 174 NDR_MEMBER (_ushort, wclen, 0UL); 175 NDR_MEMBER (_ushort, wcsize, 2UL); 176 177 /* do all constructed elements w/o pointers */ 178 179 /* do members with pointers in order */ 180 NDR_MEMBER_PTR (_netr_vcs, vcs, 4UL); 181 182 return 1; 183 } 184 185 186 187 int ndr__netr_vcb (struct ndr_reference *encl_ref); 188 struct ndr_typeinfo ndt__netr_vcb = { 189 1, /* NDR version */ 190 3, /* alignment */ 191 NDR_F_CONFORMANT|NDR_F_STRUCT, /* flags */ 192 ndr__netr_vcb, /* ndr_func */ 193 8, /* pdu_size_fixed_part */ 194 1, /* pdu_size_variable_part */ 195 8, /* c_size_fixed_part */ 196 1, /* c_size_variable_part */ 197 }; 198 199 200 /* 201 * */ 202 int 203 ndr__netr_vcb (struct ndr_reference *encl_ref) 204 { 205 struct netr_vcb *val = (struct netr_vcb *) encl_ref->datum; 206 struct ndr_reference myref; 207 208 (void) bzero(&myref, sizeof (myref)); 209 myref.enclosing = encl_ref; 210 myref.stream = encl_ref->stream; 211 212 /* do all basic elements first */ 213 NDR_MEMBER (_ulong, vc_first_is, 0UL); 214 NDR_MEMBER (_ulong, vc_length_is, 4UL); 215 216 /* do all constructed elements w/o pointers */ 217 NDR_MEMBER_ARR_WITH_SIZE_IS (_uchar, buffer, 8UL, 218 val->vc_length_is); 219 220 /* do members with pointers in order */ 221 222 return 1; 223 } 224 225 226 227 int ndr__netr_vcbuf (struct ndr_reference *encl_ref); 228 struct ndr_typeinfo ndt__netr_vcbuf = { 229 1, /* NDR version */ 230 3, /* alignment */ 231 NDR_F_STRUCT, /* flags */ 232 ndr__netr_vcbuf, /* ndr_func */ 233 8, /* pdu_size_fixed_part */ 234 0, /* pdu_size_variable_part */ 235 8, /* c_size_fixed_part */ 236 0, /* c_size_variable_part */ 237 }; 238 239 240 /* 241 * */ 242 int 243 ndr__netr_vcbuf (struct ndr_reference *encl_ref) 244 { 245 struct netr_vcbuf *val = (struct netr_vcbuf *) encl_ref->datum; 246 struct ndr_reference myref; 247 248 (void) bzero(&myref, sizeof (myref)); 249 myref.enclosing = encl_ref; 250 myref.stream = encl_ref->stream; 251 252 /* do all basic elements first */ 253 NDR_MEMBER (_ushort, len, 0UL); 254 NDR_MEMBER (_ushort, size, 2UL); 255 256 /* do all constructed elements w/o pointers */ 257 258 /* do members with pointers in order */ 259 NDR_MEMBER_PTR (_netr_vcb, vcb, 4UL); 260 261 return 1; 262 } 263 264 265 266 int ndr__netr_credential (struct ndr_reference *encl_ref); 267 struct ndr_typeinfo ndt__netr_credential = { 268 1, /* NDR version */ 269 0, /* alignment */ 270 NDR_F_STRUCT, /* flags */ 271 ndr__netr_credential, /* ndr_func */ 272 8, /* pdu_size_fixed_part */ 273 0, /* pdu_size_variable_part */ 274 8, /* c_size_fixed_part */ 275 0, /* c_size_variable_part */ 276 }; 277 278 279 /* 280 * */ 281 int 282 ndr__netr_credential (struct ndr_reference *encl_ref) 283 { 284 struct netr_credential *val = (struct netr_credential *) encl_ref->datum; 285 struct ndr_reference myref; 286 287 (void) bzero(&myref, sizeof (myref)); 288 myref.enclosing = encl_ref; 289 myref.stream = encl_ref->stream; 290 291 /* do all basic elements first */ 292 293 /* do all constructed elements w/o pointers */ 294 NDR_MEMBER_ARR_WITH_DIMENSION (_uchar, data, 0UL, 295 8); 296 297 /* do members with pointers in order */ 298 299 return 1; 300 } 301 302 303 304 int ndr__netr_authenticator (struct ndr_reference *encl_ref); 305 struct ndr_typeinfo ndt__netr_authenticator = { 306 1, /* NDR version */ 307 3, /* alignment */ 308 NDR_F_STRUCT, /* flags */ 309 ndr__netr_authenticator, /* ndr_func */ 310 12, /* pdu_size_fixed_part */ 311 0, /* pdu_size_variable_part */ 312 12, /* c_size_fixed_part */ 313 0, /* c_size_variable_part */ 314 }; 315 316 317 /* 318 * */ 319 int 320 ndr__netr_authenticator (struct ndr_reference *encl_ref) 321 { 322 struct netr_authenticator *val = (struct netr_authenticator *) encl_ref->datum; 323 struct ndr_reference myref; 324 325 (void) bzero(&myref, sizeof (myref)); 326 myref.enclosing = encl_ref; 327 myref.stream = encl_ref->stream; 328 329 /* do all basic elements first */ 330 NDR_MEMBER (_ulong, timestamp, 8UL); 331 332 /* do all constructed elements w/o pointers */ 333 NDR_MEMBER (_netr_credential, credential, 0UL); 334 335 /* do members with pointers in order */ 336 337 return 1; 338 } 339 340 341 342 int ndr__OLD_LARGE_INTEGER (struct ndr_reference *encl_ref); 343 struct ndr_typeinfo ndt__OLD_LARGE_INTEGER = { 344 1, /* NDR version */ 345 3, /* alignment */ 346 NDR_F_STRUCT, /* flags */ 347 ndr__OLD_LARGE_INTEGER, /* ndr_func */ 348 8, /* pdu_size_fixed_part */ 349 0, /* pdu_size_variable_part */ 350 8, /* c_size_fixed_part */ 351 0, /* c_size_variable_part */ 352 }; 353 354 355 /* 356 * */ 357 int 358 ndr__OLD_LARGE_INTEGER (struct ndr_reference *encl_ref) 359 { 360 struct OLD_LARGE_INTEGER *val = (struct OLD_LARGE_INTEGER *) encl_ref->datum; 361 struct ndr_reference myref; 362 363 (void) bzero(&myref, sizeof (myref)); 364 myref.enclosing = encl_ref; 365 myref.stream = encl_ref->stream; 366 367 /* do all basic elements first */ 368 NDR_MEMBER (_ulong, LowPart, 0UL); 369 NDR_MEMBER (_ulong, HighPart, 4UL); 370 371 /* do all constructed elements w/o pointers */ 372 373 /* do members with pointers in order */ 374 375 return 1; 376 } 377 378 379 380 int ndr__CYPHER_BLOCK (struct ndr_reference *encl_ref); 381 struct ndr_typeinfo ndt__CYPHER_BLOCK = { 382 1, /* NDR version */ 383 0, /* alignment */ 384 NDR_F_STRUCT, /* flags */ 385 ndr__CYPHER_BLOCK, /* ndr_func */ 386 8, /* pdu_size_fixed_part */ 387 0, /* pdu_size_variable_part */ 388 8, /* c_size_fixed_part */ 389 0, /* c_size_variable_part */ 390 }; 391 392 393 /* 394 * */ 395 int 396 ndr__CYPHER_BLOCK (struct ndr_reference *encl_ref) 397 { 398 struct CYPHER_BLOCK *val = (struct CYPHER_BLOCK *) encl_ref->datum; 399 struct ndr_reference myref; 400 401 (void) bzero(&myref, sizeof (myref)); 402 myref.enclosing = encl_ref; 403 myref.stream = encl_ref->stream; 404 405 /* do all basic elements first */ 406 407 /* do all constructed elements w/o pointers */ 408 NDR_MEMBER_ARR_WITH_DIMENSION (_uchar, data, 0UL, 409 8); 410 411 /* do members with pointers in order */ 412 413 return 1; 414 } 415 416 417 418 int ndr__OWF_PASSWORD (struct ndr_reference *encl_ref); 419 struct ndr_typeinfo ndt__OWF_PASSWORD = { 420 1, /* NDR version */ 421 0, /* alignment */ 422 NDR_F_STRUCT, /* flags */ 423 ndr__OWF_PASSWORD, /* ndr_func */ 424 16, /* pdu_size_fixed_part */ 425 0, /* pdu_size_variable_part */ 426 16, /* c_size_fixed_part */ 427 0, /* c_size_variable_part */ 428 }; 429 430 431 /* 432 * */ 433 int 434 ndr__OWF_PASSWORD (struct ndr_reference *encl_ref) 435 { 436 struct OWF_PASSWORD *val = (struct OWF_PASSWORD *) encl_ref->datum; 437 struct ndr_reference myref; 438 439 (void) bzero(&myref, sizeof (myref)); 440 myref.enclosing = encl_ref; 441 myref.stream = encl_ref->stream; 442 443 /* do all basic elements first */ 444 445 /* do all constructed elements w/o pointers */ 446 NDR_MEMBER_ARR_WITH_DIMENSION (_uchar, data, 0UL, 447 16); 448 449 /* do members with pointers in order */ 450 451 return 1; 452 } 453 454 455 456 int ndr__netr_trust_password (struct ndr_reference *encl_ref); 457 struct ndr_typeinfo ndt__netr_trust_password = { 458 1, /* NDR version */ 459 3, /* alignment */ 460 NDR_F_STRUCT, /* flags */ 461 ndr__netr_trust_password, /* ndr_func */ 462 516, /* pdu_size_fixed_part */ 463 0, /* pdu_size_variable_part */ 464 516, /* c_size_fixed_part */ 465 0, /* c_size_variable_part */ 466 }; 467 468 469 /* 470 * */ 471 int 472 ndr__netr_trust_password (struct ndr_reference *encl_ref) 473 { 474 struct netr_trust_password *val = (struct netr_trust_password *) encl_ref->datum; 475 struct ndr_reference myref; 476 477 (void) bzero(&myref, sizeof (myref)); 478 myref.enclosing = encl_ref; 479 myref.stream = encl_ref->stream; 480 481 /* do all basic elements first */ 482 NDR_MEMBER (_ulong, Length, 512UL); 483 484 /* do all constructed elements w/o pointers */ 485 NDR_MEMBER_ARR_WITH_DIMENSION (_ushort, Buffer, 0UL, 486 256); 487 488 /* do members with pointers in order */ 489 490 return 1; 491 } 492 493 494 495 int ndr__USER_SESSION_KEY (struct ndr_reference *encl_ref); 496 struct ndr_typeinfo ndt__USER_SESSION_KEY = { 497 1, /* NDR version */ 498 0, /* alignment */ 499 NDR_F_STRUCT, /* flags */ 500 ndr__USER_SESSION_KEY, /* ndr_func */ 501 16, /* pdu_size_fixed_part */ 502 0, /* pdu_size_variable_part */ 503 16, /* c_size_fixed_part */ 504 0, /* c_size_variable_part */ 505 }; 506 507 508 /* 509 * */ 510 int 511 ndr__USER_SESSION_KEY (struct ndr_reference *encl_ref) 512 { 513 struct USER_SESSION_KEY *val = (struct USER_SESSION_KEY *) encl_ref->datum; 514 struct ndr_reference myref; 515 516 (void) bzero(&myref, sizeof (myref)); 517 myref.enclosing = encl_ref; 518 myref.stream = encl_ref->stream; 519 520 /* do all basic elements first */ 521 522 /* do all constructed elements w/o pointers */ 523 NDR_MEMBER_ARR_WITH_DIMENSION (_CYPHER_BLOCK, data, 0UL, 524 2); 525 526 /* do members with pointers in order */ 527 528 return 1; 529 } 530 531 532 533 int ndr__netr_ServerReqChallenge (struct ndr_reference *encl_ref); 534 struct ndr_typeinfo ndt__netr_ServerReqChallenge = { 535 1, /* NDR version */ 536 3, /* alignment */ 537 NDR_F_OPERATION, /* flags */ 538 ndr__netr_ServerReqChallenge, /* ndr_func */ 539 28, /* pdu_size_fixed_part */ 540 0, /* pdu_size_variable_part */ 541 28, /* c_size_fixed_part */ 542 0, /* c_size_variable_part */ 543 }; 544 545 546 /* 547 * [operation(4) align(2)] 548 */ 549 int 550 ndr__netr_ServerReqChallenge (struct ndr_reference *encl_ref) 551 { 552 struct netr_ServerReqChallenge *val = (struct netr_ServerReqChallenge *) encl_ref->datum; 553 struct ndr_reference myref; 554 555 (void) bzero(&myref, sizeof (myref)); 556 myref.enclosing = encl_ref; 557 myref.stream = encl_ref->stream; 558 myref.packed_alignment = 2; 559 560 /* do all members in order */ 561 if (NDR_DIR_IS_IN) { 562 NDR_TOPMOST_MEMBER_PTR (s_wchar, servername); 563 } 564 if (NDR_DIR_IS_IN) { 565 NDR_TOPMOST_MEMBER_REF (s_wchar, hostname); 566 } 567 if (NDR_DIR_IS_IN) { 568 NDR_TOPMOST_MEMBER (_netr_credential, client_challenge); 569 } 570 if (NDR_DIR_IS_OUT) { 571 NDR_TOPMOST_MEMBER (_netr_credential, server_challenge); 572 } 573 if (NDR_DIR_IS_OUT) { 574 NDR_TOPMOST_MEMBER (_ulong, status); 575 } 576 577 return 1; 578 } 579 580 581 582 int ndr__netr_ServerAuthenticate2 (struct ndr_reference *encl_ref); 583 struct ndr_typeinfo ndt__netr_ServerAuthenticate2 = { 584 1, /* NDR version */ 585 3, /* alignment */ 586 NDR_F_OPERATION, /* flags */ 587 ndr__netr_ServerAuthenticate2, /* ndr_func */ 588 40, /* pdu_size_fixed_part */ 589 0, /* pdu_size_variable_part */ 590 40, /* c_size_fixed_part */ 591 0, /* c_size_variable_part */ 592 }; 593 594 595 /* 596 * [operation(15) align(2)] 597 */ 598 int 599 ndr__netr_ServerAuthenticate2 (struct ndr_reference *encl_ref) 600 { 601 struct netr_ServerAuthenticate2 *val = (struct netr_ServerAuthenticate2 *) encl_ref->datum; 602 struct ndr_reference myref; 603 604 (void) bzero(&myref, sizeof (myref)); 605 myref.enclosing = encl_ref; 606 myref.stream = encl_ref->stream; 607 myref.packed_alignment = 2; 608 609 /* do all members in order */ 610 if (NDR_DIR_IS_IN) { 611 NDR_TOPMOST_MEMBER_PTR (s_wchar, servername); 612 } 613 if (NDR_DIR_IS_IN) { 614 NDR_TOPMOST_MEMBER_REF (s_wchar, account_name); 615 } 616 if (NDR_DIR_IS_IN) { 617 NDR_TOPMOST_MEMBER (_ushort, account_type); 618 } 619 if (NDR_DIR_IS_IN) { 620 NDR_TOPMOST_MEMBER_REF (s_wchar, hostname); 621 } 622 if (NDR_DIR_IS_IN) { 623 NDR_TOPMOST_MEMBER (_netr_credential, client_credential); 624 } 625 if (NDR_DIR_IS_OUT) { 626 NDR_TOPMOST_MEMBER (_netr_credential, server_credential); 627 } 628 NDR_TOPMOST_MEMBER (_ulong, negotiate_flags); 629 if (NDR_DIR_IS_OUT) { 630 NDR_TOPMOST_MEMBER (_ulong, status); 631 } 632 633 return 1; 634 } 635 636 637 638 int ndr__netr_PasswordSet (struct ndr_reference *encl_ref); 639 struct ndr_typeinfo ndt__netr_PasswordSet = { 640 1, /* NDR version */ 641 3, /* alignment */ 642 NDR_F_OPERATION, /* flags */ 643 ndr__netr_PasswordSet, /* ndr_func */ 644 48, /* pdu_size_fixed_part */ 645 0, /* pdu_size_variable_part */ 646 48, /* c_size_fixed_part */ 647 0, /* c_size_variable_part */ 648 }; 649 650 651 /* 652 * [operation(6) align(2)] 653 */ 654 int 655 ndr__netr_PasswordSet (struct ndr_reference *encl_ref) 656 { 657 struct netr_PasswordSet *val = (struct netr_PasswordSet *) encl_ref->datum; 658 struct ndr_reference myref; 659 660 (void) bzero(&myref, sizeof (myref)); 661 myref.enclosing = encl_ref; 662 myref.stream = encl_ref->stream; 663 myref.packed_alignment = 2; 664 665 /* do all members in order */ 666 if (NDR_DIR_IS_IN) { 667 NDR_TOPMOST_MEMBER_PTR (s_wchar, servername); 668 } 669 if (NDR_DIR_IS_IN) { 670 NDR_TOPMOST_MEMBER_REF (s_wchar, account_name); 671 } 672 if (NDR_DIR_IS_IN) { 673 NDR_TOPMOST_MEMBER (_ushort, sec_chan_type); 674 } 675 if (NDR_DIR_IS_IN) { 676 NDR_TOPMOST_MEMBER_REF (s_wchar, hostname); 677 } 678 NDR_TOPMOST_MEMBER (_netr_authenticator, auth); 679 if (NDR_DIR_IS_IN) { 680 NDR_TOPMOST_MEMBER (_OWF_PASSWORD, owf_password); 681 } 682 if (NDR_DIR_IS_OUT) { 683 NDR_TOPMOST_MEMBER (_ulong, status); 684 } 685 686 return 1; 687 } 688 689 690 691 int ndr__netr_PasswordSet2 (struct ndr_reference *encl_ref); 692 struct ndr_typeinfo ndt__netr_PasswordSet2 = { 693 1, /* NDR version */ 694 3, /* alignment */ 695 NDR_F_OPERATION, /* flags */ 696 ndr__netr_PasswordSet2, /* ndr_func */ 697 548, /* pdu_size_fixed_part */ 698 0, /* pdu_size_variable_part */ 699 548, /* c_size_fixed_part */ 700 0, /* c_size_variable_part */ 701 }; 702 703 704 /* 705 * [operation(30)] 706 */ 707 int 708 ndr__netr_PasswordSet2 (struct ndr_reference *encl_ref) 709 { 710 struct netr_PasswordSet2 *val = (struct netr_PasswordSet2 *) encl_ref->datum; 711 struct ndr_reference myref; 712 713 (void) bzero(&myref, sizeof (myref)); 714 myref.enclosing = encl_ref; 715 myref.stream = encl_ref->stream; 716 717 /* do all members in order */ 718 if (NDR_DIR_IS_IN) { 719 NDR_TOPMOST_MEMBER_PTR (s_wchar, servername); 720 } 721 if (NDR_DIR_IS_IN) { 722 NDR_TOPMOST_MEMBER_REF (s_wchar, account_name); 723 } 724 if (NDR_DIR_IS_IN) { 725 NDR_TOPMOST_MEMBER (_ushort, sec_chan_type); 726 } 727 if (NDR_DIR_IS_IN) { 728 NDR_TOPMOST_MEMBER_REF (s_wchar, hostname); 729 } 730 NDR_TOPMOST_MEMBER (_netr_authenticator, auth); 731 if (NDR_DIR_IS_IN) { 732 NDR_TOPMOST_MEMBER (_netr_trust_password, trust_password); 733 } 734 if (NDR_DIR_IS_OUT) { 735 NDR_TOPMOST_MEMBER (_ulong, status); 736 } 737 738 return 1; 739 } 740 741 742 743 int ndr__lm_challenge (struct ndr_reference *encl_ref); 744 struct ndr_typeinfo ndt__lm_challenge = { 745 1, /* NDR version */ 746 0, /* alignment */ 747 NDR_F_STRUCT, /* flags */ 748 ndr__lm_challenge, /* ndr_func */ 749 8, /* pdu_size_fixed_part */ 750 0, /* pdu_size_variable_part */ 751 8, /* c_size_fixed_part */ 752 0, /* c_size_variable_part */ 753 }; 754 755 756 /* 757 * */ 758 int 759 ndr__lm_challenge (struct ndr_reference *encl_ref) 760 { 761 struct lm_challenge *val = (struct lm_challenge *) encl_ref->datum; 762 struct ndr_reference myref; 763 764 (void) bzero(&myref, sizeof (myref)); 765 myref.enclosing = encl_ref; 766 myref.stream = encl_ref->stream; 767 768 /* do all basic elements first */ 769 770 /* do all constructed elements w/o pointers */ 771 NDR_MEMBER_ARR_WITH_DIMENSION (_uchar, data, 0UL, 772 8); 773 774 /* do members with pointers in order */ 775 776 return 1; 777 } 778 779 780 781 int ndr__netr_logon_identity_info (struct ndr_reference *encl_ref); 782 struct ndr_typeinfo ndt__netr_logon_identity_info = { 783 1, /* NDR version */ 784 3, /* alignment */ 785 NDR_F_STRUCT, /* flags */ 786 ndr__netr_logon_identity_info, /* ndr_func */ 787 36, /* pdu_size_fixed_part */ 788 0, /* pdu_size_variable_part */ 789 36, /* c_size_fixed_part */ 790 0, /* c_size_variable_part */ 791 }; 792 793 794 /* 795 * */ 796 int 797 ndr__netr_logon_identity_info (struct ndr_reference *encl_ref) 798 { 799 struct netr_logon_identity_info *val = (struct netr_logon_identity_info *) encl_ref->datum; 800 struct ndr_reference myref; 801 802 (void) bzero(&myref, sizeof (myref)); 803 myref.enclosing = encl_ref; 804 myref.stream = encl_ref->stream; 805 806 /* do all basic elements first */ 807 NDR_MEMBER (_ulong, parameter_control, 8UL); 808 809 /* do all constructed elements w/o pointers */ 810 NDR_MEMBER (_OLD_LARGE_INTEGER, logon_id, 12UL); 811 812 /* do members with pointers in order */ 813 NDR_MEMBER (_netr_vcstr, domain_name, 0UL); 814 NDR_MEMBER (_netr_vcstr, username, 20UL); 815 NDR_MEMBER (_netr_vcstr, workstation, 28UL); 816 817 return 1; 818 } 819 820 821 822 int ndr__netr_logon_info1 (struct ndr_reference *encl_ref); 823 struct ndr_typeinfo ndt__netr_logon_info1 = { 824 1, /* NDR version */ 825 3, /* alignment */ 826 NDR_F_STRUCT, /* flags */ 827 ndr__netr_logon_info1, /* ndr_func */ 828 68, /* pdu_size_fixed_part */ 829 0, /* pdu_size_variable_part */ 830 68, /* c_size_fixed_part */ 831 0, /* c_size_variable_part */ 832 }; 833 834 835 /* 836 * */ 837 int 838 ndr__netr_logon_info1 (struct ndr_reference *encl_ref) 839 { 840 struct netr_logon_info1 *val = (struct netr_logon_info1 *) encl_ref->datum; 841 struct ndr_reference myref; 842 843 (void) bzero(&myref, sizeof (myref)); 844 myref.enclosing = encl_ref; 845 myref.stream = encl_ref->stream; 846 847 /* do all basic elements first */ 848 849 /* do all constructed elements w/o pointers */ 850 NDR_MEMBER (_OWF_PASSWORD, lm_owf_password, 36UL); 851 NDR_MEMBER (_OWF_PASSWORD, nt_owf_password, 52UL); 852 853 /* do members with pointers in order */ 854 NDR_MEMBER (_netr_logon_identity_info, identity, 0UL); 855 856 return 1; 857 } 858 859 860 861 int ndr__netr_logon_info2 (struct ndr_reference *encl_ref); 862 struct ndr_typeinfo ndt__netr_logon_info2 = { 863 1, /* NDR version */ 864 3, /* alignment */ 865 NDR_F_STRUCT, /* flags */ 866 ndr__netr_logon_info2, /* ndr_func */ 867 60, /* pdu_size_fixed_part */ 868 0, /* pdu_size_variable_part */ 869 60, /* c_size_fixed_part */ 870 0, /* c_size_variable_part */ 871 }; 872 873 874 /* 875 * */ 876 int 877 ndr__netr_logon_info2 (struct ndr_reference *encl_ref) 878 { 879 struct netr_logon_info2 *val = (struct netr_logon_info2 *) encl_ref->datum; 880 struct ndr_reference myref; 881 882 (void) bzero(&myref, sizeof (myref)); 883 myref.enclosing = encl_ref; 884 myref.stream = encl_ref->stream; 885 886 /* do all basic elements first */ 887 888 /* do all constructed elements w/o pointers */ 889 NDR_MEMBER (_lm_challenge, lm_challenge, 36UL); 890 891 /* do members with pointers in order */ 892 NDR_MEMBER (_netr_logon_identity_info, identity, 0UL); 893 NDR_MEMBER (_netr_vcbuf, nt_response, 44UL); 894 NDR_MEMBER (_netr_vcbuf, lm_response, 52UL); 895 896 return 1; 897 } 898 899 900 901 int ndr__netr_logon_info_u (struct ndr_reference *encl_ref); 902 struct ndr_typeinfo ndt__netr_logon_info_u = { 903 1, /* NDR version */ 904 3, /* alignment */ 905 NDR_F_UNION, /* flags */ 906 ndr__netr_logon_info_u, /* ndr_func */ 907 4, /* pdu_size_fixed_part */ 908 0, /* pdu_size_variable_part */ 909 4, /* c_size_fixed_part */ 910 0, /* c_size_variable_part */ 911 }; 912 913 914 /* 915 * */ 916 int 917 ndr__netr_logon_info_u (struct ndr_reference *encl_ref) 918 { 919 union netr_logon_info_u *val = (union netr_logon_info_u *) encl_ref->datum; 920 struct ndr_reference myref; 921 922 (void) bzero(&myref, sizeof (myref)); 923 myref.enclosing = encl_ref; 924 myref.stream = encl_ref->stream; 925 926 switch (encl_ref->switch_is) { 927 case 1: 928 NDR_MEMBER_PTR (_netr_logon_info1, info1, 0UL); 929 break; 930 931 case 2: 932 NDR_MEMBER_PTR (_netr_logon_info2, info2, 0UL); 933 break; 934 935 default: 936 NDR_MEMBER (_ulong, nothing, 0UL); 937 break; 938 939 } 940 941 942 return 1; 943 } 944 945 946 947 int ndr__netr_login_info (struct ndr_reference *encl_ref); 948 struct ndr_typeinfo ndt__netr_login_info = { 949 1, /* NDR version */ 950 3, /* alignment */ 951 NDR_F_STRUCT, /* flags */ 952 ndr__netr_login_info, /* ndr_func */ 953 8, /* pdu_size_fixed_part */ 954 0, /* pdu_size_variable_part */ 955 8, /* c_size_fixed_part */ 956 0, /* c_size_variable_part */ 957 }; 958 959 960 /* 961 * */ 962 int 963 ndr__netr_login_info (struct ndr_reference *encl_ref) 964 { 965 struct netr_login_info *val = (struct netr_login_info *) encl_ref->datum; 966 struct ndr_reference myref; 967 968 (void) bzero(&myref, sizeof (myref)); 969 myref.enclosing = encl_ref; 970 myref.stream = encl_ref->stream; 971 972 /* do all basic elements first */ 973 NDR_MEMBER (_ushort, logon_level, 0UL); 974 NDR_MEMBER (_ushort, switch_value, 2UL); 975 976 /* do all constructed elements w/o pointers */ 977 978 /* do members with pointers in order */ 979 NDR_MEMBER_WITH_SWITCH_IS (_netr_logon_info_u, ru, 4UL, 980 val->switch_value); 981 982 return 1; 983 } 984 985 986 987 int ndr__netr_group_membership (struct ndr_reference *encl_ref); 988 struct ndr_typeinfo ndt__netr_group_membership = { 989 1, /* NDR version */ 990 3, /* alignment */ 991 NDR_F_STRUCT, /* flags */ 992 ndr__netr_group_membership, /* ndr_func */ 993 8, /* pdu_size_fixed_part */ 994 0, /* pdu_size_variable_part */ 995 8, /* c_size_fixed_part */ 996 0, /* c_size_variable_part */ 997 }; 998 999 1000 /* 1001 * */ 1002 int 1003 ndr__netr_group_membership (struct ndr_reference *encl_ref) 1004 { 1005 struct netr_group_membership *val = (struct netr_group_membership *) encl_ref->datum; 1006 struct ndr_reference myref; 1007 1008 (void) bzero(&myref, sizeof (myref)); 1009 myref.enclosing = encl_ref; 1010 myref.stream = encl_ref->stream; 1011 1012 /* do all basic elements first */ 1013 NDR_MEMBER (_ulong, rid, 0UL); 1014 NDR_MEMBER (_ulong, attributes, 4UL); 1015 1016 /* do all constructed elements w/o pointers */ 1017 1018 /* do members with pointers in order */ 1019 1020 return 1; 1021 } 1022 1023 1024 1025 int ndr__netr_sid_and_attributes (struct ndr_reference *encl_ref); 1026 struct ndr_typeinfo ndt__netr_sid_and_attributes = { 1027 1, /* NDR version */ 1028 3, /* alignment */ 1029 NDR_F_STRUCT, /* flags */ 1030 ndr__netr_sid_and_attributes, /* ndr_func */ 1031 8, /* pdu_size_fixed_part */ 1032 0, /* pdu_size_variable_part */ 1033 8, /* c_size_fixed_part */ 1034 0, /* c_size_variable_part */ 1035 }; 1036 1037 1038 /* 1039 * */ 1040 int 1041 ndr__netr_sid_and_attributes (struct ndr_reference *encl_ref) 1042 { 1043 struct netr_sid_and_attributes *val = (struct netr_sid_and_attributes *) encl_ref->datum; 1044 struct ndr_reference myref; 1045 1046 (void) bzero(&myref, sizeof (myref)); 1047 myref.enclosing = encl_ref; 1048 myref.stream = encl_ref->stream; 1049 1050 /* do all basic elements first */ 1051 NDR_MEMBER (_ulong, attributes, 4UL); 1052 1053 /* do all constructed elements w/o pointers */ 1054 1055 /* do members with pointers in order */ 1056 NDR_MEMBER_PTR (_netr_sid, sid, 0UL); 1057 1058 return 1; 1059 } 1060 1061 1062 1063 int ndr__netr_validation_info3 (struct ndr_reference *encl_ref); 1064 struct ndr_typeinfo ndt__netr_validation_info3 = { 1065 1, /* NDR version */ 1066 3, /* alignment */ 1067 NDR_F_STRUCT, /* flags */ 1068 ndr__netr_validation_info3, /* ndr_func */ 1069 204, /* pdu_size_fixed_part */ 1070 0, /* pdu_size_variable_part */ 1071 204, /* c_size_fixed_part */ 1072 0, /* c_size_variable_part */ 1073 }; 1074 1075 1076 /* 1077 * */ 1078 int 1079 ndr__netr_validation_info3 (struct ndr_reference *encl_ref) 1080 { 1081 struct netr_validation_info3 *val = (struct netr_validation_info3 *) encl_ref->datum; 1082 struct ndr_reference myref; 1083 1084 (void) bzero(&myref, sizeof (myref)); 1085 myref.enclosing = encl_ref; 1086 myref.stream = encl_ref->stream; 1087 1088 /* do all basic elements first */ 1089 NDR_MEMBER (_ushort, LogonCount, 96UL); 1090 NDR_MEMBER (_ushort, BadPasswordCount, 98UL); 1091 NDR_MEMBER (_ulong, UserId, 100UL); 1092 NDR_MEMBER (_ulong, PrimaryGroupId, 104UL); 1093 NDR_MEMBER (_ulong, GroupCount, 108UL); 1094 NDR_MEMBER (_ulong, UserFlags, 116UL); 1095 NDR_MEMBER (_ulong, SidCount, 196UL); 1096 1097 /* do all constructed elements w/o pointers */ 1098 NDR_MEMBER (_OLD_LARGE_INTEGER, LogonTime, 0UL); 1099 NDR_MEMBER (_OLD_LARGE_INTEGER, LogoffTime, 8UL); 1100 NDR_MEMBER (_OLD_LARGE_INTEGER, KickOffTime, 16UL); 1101 NDR_MEMBER (_OLD_LARGE_INTEGER, PasswordLastSet, 24UL); 1102 NDR_MEMBER (_OLD_LARGE_INTEGER, PasswordCanChange, 32UL); 1103 NDR_MEMBER (_OLD_LARGE_INTEGER, PasswordMustChange, 40UL); 1104 NDR_MEMBER (_USER_SESSION_KEY, UserSessionKey, 120UL); 1105 NDR_MEMBER_ARR_WITH_DIMENSION (_ulong, ExpansionRoom, 156UL, 1106 10); 1107 1108 /* do members with pointers in order */ 1109 NDR_MEMBER (_netr_string, EffectiveName, 48UL); 1110 NDR_MEMBER (_netr_string, FullName, 56UL); 1111 NDR_MEMBER (_netr_string, LogonScript, 64UL); 1112 NDR_MEMBER (_netr_string, ProfilePath, 72UL); 1113 NDR_MEMBER (_netr_string, HomeDirectory, 80UL); 1114 NDR_MEMBER (_netr_string, HomeDirectoryDrive, 88UL); 1115 NDR_MEMBER_PTR_WITH_SIZE_IS (_netr_group_membership, GroupIds, 112UL, 1116 val->GroupCount); 1117 NDR_MEMBER (_netr_string, LogonServer, 136UL); 1118 NDR_MEMBER (_netr_string, LogonDomainName, 144UL); 1119 NDR_MEMBER_PTR (_netr_sid, LogonDomainId, 152UL); 1120 NDR_MEMBER_PTR_WITH_SIZE_IS (_netr_sid_and_attributes, ExtraSids, 200UL, 1121 val->SidCount); 1122 1123 return 1; 1124 } 1125 1126 1127 1128 int ndr__krb5_validation_info (struct ndr_reference *encl_ref); 1129 struct ndr_typeinfo ndt__krb5_validation_info = { 1130 1, /* NDR version */ 1131 3, /* alignment */ 1132 NDR_F_STRUCT, /* flags */ 1133 ndr__krb5_validation_info, /* ndr_func */ 1134 216, /* pdu_size_fixed_part */ 1135 0, /* pdu_size_variable_part */ 1136 216, /* c_size_fixed_part */ 1137 0, /* c_size_variable_part */ 1138 }; 1139 1140 1141 /* 1142 * */ 1143 int 1144 ndr__krb5_validation_info (struct ndr_reference *encl_ref) 1145 { 1146 struct krb5_validation_info *val = (struct krb5_validation_info *) encl_ref->datum; 1147 struct ndr_reference myref; 1148 1149 (void) bzero(&myref, sizeof (myref)); 1150 myref.enclosing = encl_ref; 1151 myref.stream = encl_ref->stream; 1152 1153 /* do all basic elements first */ 1154 NDR_MEMBER (_ulong, rg_rid_cnt, 208UL); 1155 1156 /* do all constructed elements w/o pointers */ 1157 1158 /* do members with pointers in order */ 1159 NDR_MEMBER (_netr_validation_info3, info3, 0UL); 1160 NDR_MEMBER_PTR (_netr_sid, rg_dom_sid, 204UL); 1161 NDR_MEMBER_PTR_WITH_SIZE_IS (_netr_group_membership, rg_rids, 212UL, 1162 val->rg_rid_cnt); 1163 1164 return 1; 1165 } 1166 1167 1168 1169 int ndr__netr_validation_u (struct ndr_reference *encl_ref); 1170 struct ndr_typeinfo ndt__netr_validation_u = { 1171 1, /* NDR version */ 1172 3, /* alignment */ 1173 NDR_F_UNION, /* flags */ 1174 ndr__netr_validation_u, /* ndr_func */ 1175 4, /* pdu_size_fixed_part */ 1176 0, /* pdu_size_variable_part */ 1177 4, /* c_size_fixed_part */ 1178 0, /* c_size_variable_part */ 1179 }; 1180 1181 1182 /* 1183 * */ 1184 int 1185 ndr__netr_validation_u (struct ndr_reference *encl_ref) 1186 { 1187 union netr_validation_u *val = (union netr_validation_u *) encl_ref->datum; 1188 struct ndr_reference myref; 1189 1190 (void) bzero(&myref, sizeof (myref)); 1191 myref.enclosing = encl_ref; 1192 myref.stream = encl_ref->stream; 1193 1194 switch (encl_ref->switch_is) { 1195 case 3: 1196 NDR_MEMBER_PTR (_netr_validation_info3, info3, 0UL); 1197 break; 1198 1199 default: 1200 NDR_MEMBER (_ulong, nothing, 0UL); 1201 break; 1202 1203 } 1204 1205 1206 return 1; 1207 } 1208 1209 1210 1211 int ndr__netr_validation_info (struct ndr_reference *encl_ref); 1212 struct ndr_typeinfo ndt__netr_validation_info = { 1213 1, /* NDR version */ 1214 3, /* alignment */ 1215 NDR_F_STRUCT, /* flags */ 1216 ndr__netr_validation_info, /* ndr_func */ 1217 8, /* pdu_size_fixed_part */ 1218 0, /* pdu_size_variable_part */ 1219 8, /* c_size_fixed_part */ 1220 0, /* c_size_variable_part */ 1221 }; 1222 1223 1224 /* 1225 * */ 1226 int 1227 ndr__netr_validation_info (struct ndr_reference *encl_ref) 1228 { 1229 struct netr_validation_info *val = (struct netr_validation_info *) encl_ref->datum; 1230 struct ndr_reference myref; 1231 1232 (void) bzero(&myref, sizeof (myref)); 1233 myref.enclosing = encl_ref; 1234 myref.stream = encl_ref->stream; 1235 1236 /* do all basic elements first */ 1237 NDR_MEMBER (_ushort, validation_level, 0UL); 1238 1239 /* do all constructed elements w/o pointers */ 1240 1241 /* do members with pointers in order */ 1242 NDR_MEMBER_WITH_SWITCH_IS (_netr_validation_u, ru, 4UL, 1243 val->validation_level); 1244 1245 return 1; 1246 } 1247 1248 1249 1250 int ndr__netr_SamLogon (struct ndr_reference *encl_ref); 1251 struct ndr_typeinfo ndt__netr_SamLogon = { 1252 1, /* NDR version */ 1253 3, /* alignment */ 1254 NDR_F_OPERATION, /* flags */ 1255 ndr__netr_SamLogon, /* ndr_func */ 1256 40, /* pdu_size_fixed_part */ 1257 0, /* pdu_size_variable_part */ 1258 40, /* c_size_fixed_part */ 1259 0, /* c_size_variable_part */ 1260 }; 1261 1262 1263 extern void fixup_netr_SamLogon(struct netr_SamLogon *val); 1264 1265 /* 1266 * [operation(2)] 1267 */ 1268 int 1269 ndr__netr_SamLogon (struct ndr_reference *encl_ref) 1270 { 1271 struct netr_SamLogon *val = (struct netr_SamLogon *) encl_ref->datum; 1272 struct ndr_reference myref; 1273 1274 (void) bzero(&myref, sizeof (myref)); 1275 myref.enclosing = encl_ref; 1276 myref.stream = encl_ref->stream; 1277 1278 /* do all members in order */ 1279 if (NDR_DIR_IS_IN) { 1280 NDR_TOPMOST_MEMBER_PTR (s_wchar, servername); 1281 } 1282 if (NDR_DIR_IS_IN) { 1283 NDR_TOPMOST_MEMBER_PTR (s_wchar, hostname); 1284 } 1285 if (NDR_DIR_IS_IN) { 1286 NDR_TOPMOST_MEMBER_PTR (_netr_authenticator, auth); 1287 } 1288 NDR_TOPMOST_MEMBER_PTR (_netr_authenticator, ret_auth); 1289 if (NDR_DIR_IS_IN) { 1290 NDR_TOPMOST_MEMBER (_netr_login_info, logon_info); 1291 } 1292 NDR_TOPMOST_MEMBER (_ushort, validation_level); 1293 if (NDR_DIR_IS_OUT) { 1294 /* 1295 * Cannot use the canned offsets to unmarshall multiple 1296 * entry discriminated unions. The service must provide 1297 * this function to patch the offsets at runtime. 1298 */ 1299 fixup_netr_SamLogon(val); 1300 NDR_TOPMOST_MEMBER_WITH_SWITCH_IS (_netr_validation_u, ru, 1301 val->validation_level); 1302 } 1303 if (NDR_DIR_IS_OUT) { 1304 NDR_TOPMOST_MEMBER (_ulong, authoritative); 1305 } 1306 if (NDR_DIR_IS_OUT) { 1307 NDR_TOPMOST_MEMBER (_ulong, status); 1308 } 1309 1310 return 1; 1311 } 1312 1313 1314 1315 int ndr__netr_SamLogoff (struct ndr_reference *encl_ref); 1316 struct ndr_typeinfo ndt__netr_SamLogoff = { 1317 1, /* NDR version */ 1318 3, /* alignment */ 1319 NDR_F_OPERATION, /* flags */ 1320 ndr__netr_SamLogoff, /* ndr_func */ 1321 44, /* pdu_size_fixed_part */ 1322 0, /* pdu_size_variable_part */ 1323 44, /* c_size_fixed_part */ 1324 0, /* c_size_variable_part */ 1325 }; 1326 1327 1328 /* 1329 * [operation(3)] 1330 */ 1331 int 1332 ndr__netr_SamLogoff (struct ndr_reference *encl_ref) 1333 { 1334 struct netr_SamLogoff *val = (struct netr_SamLogoff *) encl_ref->datum; 1335 struct ndr_reference myref; 1336 1337 (void) bzero(&myref, sizeof (myref)); 1338 myref.enclosing = encl_ref; 1339 myref.stream = encl_ref->stream; 1340 1341 /* do all members in order */ 1342 if (NDR_DIR_IS_IN) { 1343 NDR_TOPMOST_MEMBER_PTR (s_wchar, servername); 1344 } 1345 if (NDR_DIR_IS_IN) { 1346 NDR_TOPMOST_MEMBER_REF (s_wchar, hostname); 1347 } 1348 if (NDR_DIR_IS_IN) { 1349 NDR_TOPMOST_MEMBER (_netr_authenticator, auth); 1350 } 1351 NDR_TOPMOST_MEMBER (_netr_authenticator, ret_auth); 1352 if (NDR_DIR_IS_IN) { 1353 NDR_TOPMOST_MEMBER (_ulong, logon_level); 1354 } 1355 if (NDR_DIR_IS_IN) { 1356 NDR_TOPMOST_MEMBER_WITH_SWITCH_IS (_netr_logon_info_u, ru, 1357 val->logon_level); 1358 } 1359 if (NDR_DIR_IS_OUT) { 1360 NDR_TOPMOST_MEMBER (_ulong, status); 1361 } 1362 1363 return 1; 1364 } 1365 1366 1367 1368 int ndr__netr_interface (struct ndr_reference *encl_ref); 1369 struct ndr_typeinfo ndt__netr_interface = { 1370 1, /* NDR version */ 1371 3, /* alignment */ 1372 NDR_F_INTERFACE, /* flags */ 1373 ndr__netr_interface, /* ndr_func */ 1374 548, /* pdu_size_fixed_part */ 1375 0, /* pdu_size_variable_part */ 1376 548, /* c_size_fixed_part */ 1377 0, /* c_size_variable_part */ 1378 }; 1379 1380 1381 /* 1382 * [interface(0)] 1383 */ 1384 int 1385 ndr__netr_interface (struct ndr_reference *encl_ref) 1386 { 1387 union netr_interface *val = (union netr_interface *) encl_ref->datum; 1388 struct ndr_reference myref; 1389 1390 (void) bzero(&myref, sizeof (myref)); 1391 myref.enclosing = encl_ref; 1392 myref.stream = encl_ref->stream; 1393 1394 switch (encl_ref->switch_is) { 1395 case 4: 1396 NDR_PARAMS_MEMBER (_netr_ServerReqChallenge, ServerReqChallenge); 1397 break; 1398 1399 case 15: 1400 NDR_PARAMS_MEMBER (_netr_ServerAuthenticate2, ServerAuthenticate2); 1401 break; 1402 1403 case 2: 1404 NDR_PARAMS_MEMBER (_netr_SamLogon, SamLogon); 1405 break; 1406 1407 case 3: 1408 NDR_PARAMS_MEMBER (_netr_SamLogoff, SamLogoff); 1409 break; 1410 1411 case 6: 1412 NDR_PARAMS_MEMBER (_netr_PasswordSet, PasswordSet); 1413 break; 1414 1415 case 30: 1416 NDR_PARAMS_MEMBER (_netr_PasswordSet2, PasswordSet2); 1417 break; 1418 1419 case 1000: 1420 NDR_PARAMS_MEMBER (_krb5_validation_info, krb5pac); 1421 break; 1422 1423 default: 1424 NDR_SET_ERROR(encl_ref, NDR_ERR_SWITCH_VALUE_INVALID); 1425 return 0; 1426 break; 1427 } 1428 1429 1430 return 1; 1431 } 1432