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