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/samrpc.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__samr_sid (struct ndr_reference *encl_ref);
28 struct ndr_typeinfo ndt__samr_sid = {
29 	1,		/* NDR version */
30 	3,		/* alignment */
31 	NDR_F_CONFORMANT|NDR_F_STRUCT,	/* flags */
32 	ndr__samr_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__samr_sid (struct ndr_reference *encl_ref)
44 {
45 	struct samr_sid *val = (struct samr_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__samr_sec_desc (struct ndr_reference *encl_ref);
70 struct ndr_typeinfo ndt__samr_sec_desc = {
71 	1,		/* NDR version */
72 	3,		/* alignment */
73 	NDR_F_STRUCT,	/* flags */
74 	ndr__samr_sec_desc,	/* ndr_func */
75 	20,		/* pdu_size_fixed_part */
76 	0,		/* pdu_size_variable_part */
77 	20,		/* c_size_fixed_part */
78 	0,		/* c_size_variable_part */
79 };
80 
81 
82 /*
83  *  */
84 int
85 ndr__samr_sec_desc (struct ndr_reference *encl_ref)
86 {
87 	struct samr_sec_desc *val = (struct samr_sec_desc *) 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 (_uchar, Revision, 0UL);
96 	NDR_MEMBER (_uchar, Sbz1, 1UL);
97 	NDR_MEMBER (_ushort, Control, 2UL);
98 
99 	/* do all constructed elements w/o pointers */
100 
101 	/* do members with pointers in order */
102 	NDR_MEMBER_PTR (_samr_sid, owner, 4UL);
103 	NDR_MEMBER_PTR (_samr_sid, group, 8UL);
104 	NDR_MEMBER_PTR (_samr_sid, sacl, 12UL);
105 	NDR_MEMBER_PTR (_samr_sid, dacl, 16UL);
106 
107 	return 1;
108 }
109 
110 
111 
112 int ndr__samr_sd (struct ndr_reference *encl_ref);
113 struct ndr_typeinfo ndt__samr_sd = {
114 	1,		/* NDR version */
115 	3,		/* alignment */
116 	NDR_F_STRUCT,	/* flags */
117 	ndr__samr_sd,	/* ndr_func */
118 	8,		/* pdu_size_fixed_part */
119 	0,		/* pdu_size_variable_part */
120 	8,		/* c_size_fixed_part */
121 	0,		/* c_size_variable_part */
122 };
123 
124 
125 /*
126  *  */
127 int
128 ndr__samr_sd (struct ndr_reference *encl_ref)
129 {
130 	struct samr_sd *val = (struct samr_sd *) encl_ref->datum;
131 	struct ndr_reference myref;
132 
133 	(void) bzero(&myref, sizeof (myref));
134 	myref.enclosing = encl_ref;
135 	myref.stream = encl_ref->stream;
136 
137 	/* do all basic elements first */
138 	NDR_MEMBER (_ulong, length, 0UL);
139 
140 	/* do all constructed elements w/o pointers */
141 
142 	/* do members with pointers in order */
143 	NDR_MEMBER_PTR_WITH_SIZE_IS (_uchar, data, 4UL,
144 		val->length);
145 
146 	return 1;
147 }
148 
149 
150 
151 int ndr__samr_string (struct ndr_reference *encl_ref);
152 struct ndr_typeinfo ndt__samr_string = {
153 	1,		/* NDR version */
154 	3,		/* alignment */
155 	NDR_F_STRUCT,	/* flags */
156 	ndr__samr_string,	/* ndr_func */
157 	8,		/* pdu_size_fixed_part */
158 	0,		/* pdu_size_variable_part */
159 	8,		/* c_size_fixed_part */
160 	0,		/* c_size_variable_part */
161 };
162 
163 
164 /*
165  *  */
166 int
167 ndr__samr_string (struct ndr_reference *encl_ref)
168 {
169 	struct samr_string *val = (struct samr_string *) encl_ref->datum;
170 	struct ndr_reference myref;
171 
172 	(void) bzero(&myref, sizeof (myref));
173 	myref.enclosing = encl_ref;
174 	myref.stream = encl_ref->stream;
175 
176 	/* do all basic elements first */
177 	NDR_MEMBER (_ushort, length, 0UL);
178 	NDR_MEMBER (_ushort, allosize, 2UL);
179 
180 	/* do all constructed elements w/o pointers */
181 
182 	/* do members with pointers in order */
183 	NDR_MEMBER_PTR (s_wchar, str, 4UL);
184 
185 	return 1;
186 }
187 
188 
189 
190 int ndr__samr_vcb (struct ndr_reference *encl_ref);
191 struct ndr_typeinfo ndt__samr_vcb = {
192 	1,		/* NDR version */
193 	3,		/* alignment */
194 	NDR_F_CONFORMANT|NDR_F_STRUCT,	/* flags */
195 	ndr__samr_vcb,	/* ndr_func */
196 	8,		/* pdu_size_fixed_part */
197 	2,		/* pdu_size_variable_part */
198 	8,		/* c_size_fixed_part */
199 	2,		/* c_size_variable_part */
200 };
201 
202 
203 /*
204  *  */
205 int
206 ndr__samr_vcb (struct ndr_reference *encl_ref)
207 {
208 	struct samr_vcb *val = (struct samr_vcb *) encl_ref->datum;
209 	struct ndr_reference myref;
210 
211 	(void) bzero(&myref, sizeof (myref));
212 	myref.enclosing = encl_ref;
213 	myref.stream = encl_ref->stream;
214 
215 	/* do all basic elements first */
216 	NDR_MEMBER (_ulong, vc_first_is, 0UL);
217 	NDR_MEMBER (_ulong, vc_length_is, 4UL);
218 
219 	/* do all constructed elements w/o pointers */
220 	NDR_MEMBER_ARR_WITH_SIZE_IS (_ushort, buffer, 8UL,
221 		val->vc_length_is);
222 
223 	/* do members with pointers in order */
224 
225 	return 1;
226 }
227 
228 
229 
230 int ndr__samr_vcbuf (struct ndr_reference *encl_ref);
231 struct ndr_typeinfo ndt__samr_vcbuf = {
232 	1,		/* NDR version */
233 	3,		/* alignment */
234 	NDR_F_STRUCT,	/* flags */
235 	ndr__samr_vcbuf,	/* ndr_func */
236 	8,		/* pdu_size_fixed_part */
237 	0,		/* pdu_size_variable_part */
238 	8,		/* c_size_fixed_part */
239 	0,		/* c_size_variable_part */
240 };
241 
242 
243 /*
244  *  */
245 int
246 ndr__samr_vcbuf (struct ndr_reference *encl_ref)
247 {
248 	struct samr_vcbuf *val = (struct samr_vcbuf *) encl_ref->datum;
249 	struct ndr_reference myref;
250 
251 	(void) bzero(&myref, sizeof (myref));
252 	myref.enclosing = encl_ref;
253 	myref.stream = encl_ref->stream;
254 
255 	/* do all basic elements first */
256 	NDR_MEMBER (_ushort, wclen, 0UL);
257 	NDR_MEMBER (_ushort, wcsize, 2UL);
258 
259 	/* do all constructed elements w/o pointers */
260 
261 	/* do members with pointers in order */
262 	NDR_MEMBER_PTR (_samr_vcb, vcb, 4UL);
263 
264 	return 1;
265 }
266 
267 
268 
269 int ndr__samr_handle (struct ndr_reference *encl_ref);
270 struct ndr_typeinfo ndt__samr_handle = {
271 	1,		/* NDR version */
272 	3,		/* alignment */
273 	NDR_F_STRUCT,	/* flags */
274 	ndr__samr_handle,	/* ndr_func */
275 	20,		/* pdu_size_fixed_part */
276 	0,		/* pdu_size_variable_part */
277 	20,		/* c_size_fixed_part */
278 	0,		/* c_size_variable_part */
279 };
280 
281 
282 /*
283  *  */
284 int
285 ndr__samr_handle (struct ndr_reference *encl_ref)
286 {
287 	struct samr_handle *val = (struct samr_handle *) encl_ref->datum;
288 	struct ndr_reference myref;
289 
290 	(void) bzero(&myref, sizeof (myref));
291 	myref.enclosing = encl_ref;
292 	myref.stream = encl_ref->stream;
293 
294 	/* do all basic elements first */
295 	NDR_MEMBER (_ulong, data1, 0UL);
296 	NDR_MEMBER (_ulong, data2, 4UL);
297 
298 	/* do all constructed elements w/o pointers */
299 	NDR_MEMBER_ARR_WITH_DIMENSION (_ushort, data3, 8UL,
300 		2);
301 	NDR_MEMBER_ARR_WITH_DIMENSION (_uchar, data4, 12UL,
302 		8);
303 
304 	/* do members with pointers in order */
305 
306 	return 1;
307 }
308 
309 
310 
311 int ndr__samr_quad (struct ndr_reference *encl_ref);
312 struct ndr_typeinfo ndt__samr_quad = {
313 	1,		/* NDR version */
314 	3,		/* alignment */
315 	NDR_F_STRUCT,	/* flags */
316 	ndr__samr_quad,	/* ndr_func */
317 	8,		/* pdu_size_fixed_part */
318 	0,		/* pdu_size_variable_part */
319 	8,		/* c_size_fixed_part */
320 	0,		/* c_size_variable_part */
321 };
322 
323 
324 /*
325  *  */
326 int
327 ndr__samr_quad (struct ndr_reference *encl_ref)
328 {
329 	struct samr_quad *val = (struct samr_quad *) encl_ref->datum;
330 	struct ndr_reference myref;
331 
332 	(void) bzero(&myref, sizeof (myref));
333 	myref.enclosing = encl_ref;
334 	myref.stream = encl_ref->stream;
335 
336 	/* do all basic elements first */
337 	NDR_MEMBER (_ulong, low, 0UL);
338 	NDR_MEMBER (_ulong, high, 4UL);
339 
340 	/* do all constructed elements w/o pointers */
341 
342 	/* do members with pointers in order */
343 
344 	return 1;
345 }
346 
347 
348 
349 int ndr__samr_short_blob (struct ndr_reference *encl_ref);
350 struct ndr_typeinfo ndt__samr_short_blob = {
351 	1,		/* NDR version */
352 	3,		/* alignment */
353 	NDR_F_STRUCT,	/* flags */
354 	ndr__samr_short_blob,	/* ndr_func */
355 	8,		/* pdu_size_fixed_part */
356 	0,		/* pdu_size_variable_part */
357 	8,		/* c_size_fixed_part */
358 	0,		/* c_size_variable_part */
359 };
360 
361 
362 /*
363  *  */
364 int
365 ndr__samr_short_blob (struct ndr_reference *encl_ref)
366 {
367 	struct samr_short_blob *val = (struct samr_short_blob *) encl_ref->datum;
368 	struct ndr_reference myref;
369 
370 	(void) bzero(&myref, sizeof (myref));
371 	myref.enclosing = encl_ref;
372 	myref.stream = encl_ref->stream;
373 
374 	/* do all basic elements first */
375 	NDR_MEMBER (_ushort, length, 0UL);
376 	NDR_MEMBER (_ushort, maxlen, 2UL);
377 
378 	/* do all constructed elements w/o pointers */
379 
380 	/* do members with pointers in order */
381 	NDR_MEMBER_PTR_WITH_SIZE_IS (_ushort, buf, 4UL,
382 		val->length / 2UL);
383 
384 	return 1;
385 }
386 
387 
388 
389 int ndr__samr_password_info (struct ndr_reference *encl_ref);
390 struct ndr_typeinfo ndt__samr_password_info = {
391 	1,		/* NDR version */
392 	3,		/* alignment */
393 	NDR_F_STRUCT,	/* flags */
394 	ndr__samr_password_info,	/* ndr_func */
395 	8,		/* pdu_size_fixed_part */
396 	0,		/* pdu_size_variable_part */
397 	8,		/* c_size_fixed_part */
398 	0,		/* c_size_variable_part */
399 };
400 
401 
402 /*
403  *  */
404 int
405 ndr__samr_password_info (struct ndr_reference *encl_ref)
406 {
407 	struct samr_password_info *val = (struct samr_password_info *) encl_ref->datum;
408 	struct ndr_reference myref;
409 
410 	(void) bzero(&myref, sizeof (myref));
411 	myref.enclosing = encl_ref;
412 	myref.stream = encl_ref->stream;
413 
414 	/* do all basic elements first */
415 	NDR_MEMBER (_ushort, min_length, 0UL);
416 	NDR_MEMBER (_ulong, properties, 4UL);
417 
418 	/* do all constructed elements w/o pointers */
419 
420 	/* do members with pointers in order */
421 
422 	return 1;
423 }
424 
425 
426 
427 int ndr__samr_logon_hours (struct ndr_reference *encl_ref);
428 struct ndr_typeinfo ndt__samr_logon_hours = {
429 	1,		/* NDR version */
430 	3,		/* alignment */
431 	NDR_F_STRUCT,	/* flags */
432 	ndr__samr_logon_hours,	/* ndr_func */
433 	36,		/* pdu_size_fixed_part */
434 	0,		/* pdu_size_variable_part */
435 	36,		/* c_size_fixed_part */
436 	0,		/* c_size_variable_part */
437 };
438 
439 
440 /*
441  *  */
442 int
443 ndr__samr_logon_hours (struct ndr_reference *encl_ref)
444 {
445 	struct samr_logon_hours *val = (struct samr_logon_hours *) encl_ref->datum;
446 	struct ndr_reference myref;
447 
448 	(void) bzero(&myref, sizeof (myref));
449 	myref.enclosing = encl_ref;
450 	myref.stream = encl_ref->stream;
451 
452 	/* do all basic elements first */
453 	NDR_MEMBER (_ulong, size, 0UL);
454 	NDR_MEMBER (_ulong, first, 4UL);
455 	NDR_MEMBER (_ulong, length, 8UL);
456 
457 	/* do all constructed elements w/o pointers */
458 	NDR_MEMBER_ARR_WITH_DIMENSION (_uchar, bitmap, 12UL,
459 		21);
460 
461 	/* do members with pointers in order */
462 
463 	return 1;
464 }
465 
466 
467 
468 int ndr__samr_logon_info (struct ndr_reference *encl_ref);
469 struct ndr_typeinfo ndt__samr_logon_info = {
470 	1,		/* NDR version */
471 	3,		/* alignment */
472 	NDR_F_STRUCT,	/* flags */
473 	ndr__samr_logon_info,	/* ndr_func */
474 	8,		/* pdu_size_fixed_part */
475 	0,		/* pdu_size_variable_part */
476 	8,		/* c_size_fixed_part */
477 	0,		/* c_size_variable_part */
478 };
479 
480 
481 /*
482  *  */
483 int
484 ndr__samr_logon_info (struct ndr_reference *encl_ref)
485 {
486 	struct samr_logon_info *val = (struct samr_logon_info *) encl_ref->datum;
487 	struct ndr_reference myref;
488 
489 	(void) bzero(&myref, sizeof (myref));
490 	myref.enclosing = encl_ref;
491 	myref.stream = encl_ref->stream;
492 
493 	/* do all basic elements first */
494 	NDR_MEMBER (_ulong, units, 0UL);
495 	NDR_MEMBER (_ulong, hours, 4UL);
496 
497 	/* do all constructed elements w/o pointers */
498 
499 	/* do members with pointers in order */
500 
501 	return 1;
502 }
503 
504 
505 
506 int ndr__samr_logon_hours_all (struct ndr_reference *encl_ref);
507 struct ndr_typeinfo ndt__samr_logon_hours_all = {
508 	1,		/* NDR version */
509 	3,		/* alignment */
510 	NDR_F_STRUCT,	/* flags */
511 	ndr__samr_logon_hours_all,	/* ndr_func */
512 	8,		/* pdu_size_fixed_part */
513 	0,		/* pdu_size_variable_part */
514 	8,		/* c_size_fixed_part */
515 	0,		/* c_size_variable_part */
516 };
517 
518 
519 /*
520  *  */
521 int
522 ndr__samr_logon_hours_all (struct ndr_reference *encl_ref)
523 {
524 	struct samr_logon_hours_all *val = (struct samr_logon_hours_all *) encl_ref->datum;
525 	struct ndr_reference myref;
526 
527 	(void) bzero(&myref, sizeof (myref));
528 	myref.enclosing = encl_ref;
529 	myref.stream = encl_ref->stream;
530 
531 	/* do all basic elements first */
532 	NDR_MEMBER (_ushort, units_per_week, 0UL);
533 
534 	/* do all constructed elements w/o pointers */
535 
536 	/* do members with pointers in order */
537 	NDR_MEMBER_PTR_WITH_SIZE_IS (_uchar, hours, 4UL,
538 		val->units_per_week / 8UL);
539 
540 	return 1;
541 }
542 
543 
544 
545 int ndr__samr_encr_passwd (struct ndr_reference *encl_ref);
546 struct ndr_typeinfo ndt__samr_encr_passwd = {
547 	1,		/* NDR version */
548 	0,		/* alignment */
549 	NDR_F_STRUCT,	/* flags */
550 	ndr__samr_encr_passwd,	/* ndr_func */
551 	516,		/* pdu_size_fixed_part */
552 	0,		/* pdu_size_variable_part */
553 	516,		/* c_size_fixed_part */
554 	0,		/* c_size_variable_part */
555 };
556 
557 
558 /*
559  *  */
560 int
561 ndr__samr_encr_passwd (struct ndr_reference *encl_ref)
562 {
563 	struct samr_encr_passwd *val = (struct samr_encr_passwd *) encl_ref->datum;
564 	struct ndr_reference myref;
565 
566 	(void) bzero(&myref, sizeof (myref));
567 	myref.enclosing = encl_ref;
568 	myref.stream = encl_ref->stream;
569 
570 	/* do all basic elements first */
571 
572 	/* do all constructed elements w/o pointers */
573 	NDR_MEMBER_ARR_WITH_DIMENSION (_uchar, data, 0UL,
574 		516);
575 
576 	/* do members with pointers in order */
577 
578 	return 1;
579 }
580 
581 
582 
583 int ndr__samr_encr_hash (struct ndr_reference *encl_ref);
584 struct ndr_typeinfo ndt__samr_encr_hash = {
585 	1,		/* NDR version */
586 	0,		/* alignment */
587 	NDR_F_STRUCT,	/* flags */
588 	ndr__samr_encr_hash,	/* ndr_func */
589 	16,		/* pdu_size_fixed_part */
590 	0,		/* pdu_size_variable_part */
591 	16,		/* c_size_fixed_part */
592 	0,		/* c_size_variable_part */
593 };
594 
595 
596 /*
597  *  */
598 int
599 ndr__samr_encr_hash (struct ndr_reference *encl_ref)
600 {
601 	struct samr_encr_hash *val = (struct samr_encr_hash *) 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 
608 	/* do all basic elements first */
609 
610 	/* do all constructed elements w/o pointers */
611 	NDR_MEMBER_ARR_WITH_DIMENSION (_uchar, data, 0UL,
612 		16);
613 
614 	/* do members with pointers in order */
615 
616 	return 1;
617 }
618 
619 
620 
621 int ndr__samr_Connect (struct ndr_reference *encl_ref);
622 struct ndr_typeinfo ndt__samr_Connect = {
623 	1,		/* NDR version */
624 	3,		/* alignment */
625 	NDR_F_OPERATION,	/* flags */
626 	ndr__samr_Connect,	/* ndr_func */
627 	32,		/* pdu_size_fixed_part */
628 	0,		/* pdu_size_variable_part */
629 	32,		/* c_size_fixed_part */
630 	0,		/* c_size_variable_part */
631 };
632 
633 
634 /*
635  * [operation(0)]
636  */
637 int
638 ndr__samr_Connect (struct ndr_reference *encl_ref)
639 {
640 	struct samr_Connect *val = (struct samr_Connect *) encl_ref->datum;
641 	struct ndr_reference myref;
642 
643 	(void) bzero(&myref, sizeof (myref));
644 	myref.enclosing = encl_ref;
645 	myref.stream = encl_ref->stream;
646 
647 	/* do all members in order */
648     if (NDR_DIR_IS_IN) {
649 	NDR_TOPMOST_MEMBER_PTR (_ulong, servername);
650     }
651     if (NDR_DIR_IS_IN) {
652 	NDR_TOPMOST_MEMBER (_ulong, access_mask);
653     }
654     if (NDR_DIR_IS_OUT) {
655 	NDR_TOPMOST_MEMBER (_samr_handle, handle);
656     }
657     if (NDR_DIR_IS_OUT) {
658 	NDR_TOPMOST_MEMBER (_ulong, status);
659     }
660 
661 	return 1;
662 }
663 
664 
665 
666 int ndr__samr_Connect2 (struct ndr_reference *encl_ref);
667 struct ndr_typeinfo ndt__samr_Connect2 = {
668 	1,		/* NDR version */
669 	3,		/* alignment */
670 	NDR_F_OPERATION,	/* flags */
671 	ndr__samr_Connect2,	/* ndr_func */
672 	32,		/* pdu_size_fixed_part */
673 	0,		/* pdu_size_variable_part */
674 	32,		/* c_size_fixed_part */
675 	0,		/* c_size_variable_part */
676 };
677 
678 
679 /*
680  * [operation(57)]
681  */
682 int
683 ndr__samr_Connect2 (struct ndr_reference *encl_ref)
684 {
685 	struct samr_Connect2 *val = (struct samr_Connect2 *) encl_ref->datum;
686 	struct ndr_reference myref;
687 
688 	(void) bzero(&myref, sizeof (myref));
689 	myref.enclosing = encl_ref;
690 	myref.stream = encl_ref->stream;
691 
692 	/* do all members in order */
693     if (NDR_DIR_IS_IN) {
694 	NDR_TOPMOST_MEMBER_PTR (s_wchar, servername);
695     }
696     if (NDR_DIR_IS_IN) {
697 	NDR_TOPMOST_MEMBER (_ulong, access_mask);
698     }
699     if (NDR_DIR_IS_OUT) {
700 	NDR_TOPMOST_MEMBER (_samr_handle, handle);
701     }
702     if (NDR_DIR_IS_OUT) {
703 	NDR_TOPMOST_MEMBER (_ulong, status);
704     }
705 
706 	return 1;
707 }
708 
709 
710 
711 int ndr__samr_Connect4 (struct ndr_reference *encl_ref);
712 struct ndr_typeinfo ndt__samr_Connect4 = {
713 	1,		/* NDR version */
714 	3,		/* alignment */
715 	NDR_F_OPERATION,	/* flags */
716 	ndr__samr_Connect4,	/* ndr_func */
717 	36,		/* pdu_size_fixed_part */
718 	0,		/* pdu_size_variable_part */
719 	36,		/* c_size_fixed_part */
720 	0,		/* c_size_variable_part */
721 };
722 
723 
724 /*
725  * [operation(62)]
726  */
727 int
728 ndr__samr_Connect4 (struct ndr_reference *encl_ref)
729 {
730 	struct samr_Connect4 *val = (struct samr_Connect4 *) encl_ref->datum;
731 	struct ndr_reference myref;
732 
733 	(void) bzero(&myref, sizeof (myref));
734 	myref.enclosing = encl_ref;
735 	myref.stream = encl_ref->stream;
736 
737 	/* do all members in order */
738     if (NDR_DIR_IS_IN) {
739 	NDR_TOPMOST_MEMBER_PTR (s_wchar, servername);
740     }
741     if (NDR_DIR_IS_IN) {
742 	NDR_TOPMOST_MEMBER (_ulong, revision);
743     }
744     if (NDR_DIR_IS_IN) {
745 	NDR_TOPMOST_MEMBER (_ulong, access_mask);
746     }
747     if (NDR_DIR_IS_OUT) {
748 	NDR_TOPMOST_MEMBER (_samr_handle, handle);
749     }
750     if (NDR_DIR_IS_OUT) {
751 	NDR_TOPMOST_MEMBER (_ulong, status);
752     }
753 
754 	return 1;
755 }
756 
757 
758 
759 int ndr__samr_revision_info1 (struct ndr_reference *encl_ref);
760 struct ndr_typeinfo ndt__samr_revision_info1 = {
761 	1,		/* NDR version */
762 	3,		/* alignment */
763 	NDR_F_STRUCT,	/* flags */
764 	ndr__samr_revision_info1,	/* ndr_func */
765 	8,		/* pdu_size_fixed_part */
766 	0,		/* pdu_size_variable_part */
767 	8,		/* c_size_fixed_part */
768 	0,		/* c_size_variable_part */
769 };
770 
771 
772 /*
773  *  */
774 int
775 ndr__samr_revision_info1 (struct ndr_reference *encl_ref)
776 {
777 	struct samr_revision_info1 *val = (struct samr_revision_info1 *) encl_ref->datum;
778 	struct ndr_reference myref;
779 
780 	(void) bzero(&myref, sizeof (myref));
781 	myref.enclosing = encl_ref;
782 	myref.stream = encl_ref->stream;
783 
784 	/* do all basic elements first */
785 	NDR_MEMBER (_ulong, revision, 0UL);
786 	NDR_MEMBER (_ulong, supported_features, 4UL);
787 
788 	/* do all constructed elements w/o pointers */
789 
790 	/* do members with pointers in order */
791 
792 	return 1;
793 }
794 
795 
796 
797 int ndr__samr_revision_info (struct ndr_reference *encl_ref);
798 struct ndr_typeinfo ndt__samr_revision_info = {
799 	1,		/* NDR version */
800 	3,		/* alignment */
801 	NDR_F_UNION,	/* flags */
802 	ndr__samr_revision_info,	/* ndr_func */
803 	8,		/* pdu_size_fixed_part */
804 	0,		/* pdu_size_variable_part */
805 	8,		/* c_size_fixed_part */
806 	0,		/* c_size_variable_part */
807 };
808 
809 
810 /*
811  *  */
812 int
813 ndr__samr_revision_info (struct ndr_reference *encl_ref)
814 {
815 	union samr_revision_info *val = (union samr_revision_info *) encl_ref->datum;
816 	struct ndr_reference myref;
817 
818 	(void) bzero(&myref, sizeof (myref));
819 	myref.enclosing = encl_ref;
820 	myref.stream = encl_ref->stream;
821 
822     switch (encl_ref->switch_is) {
823     case 1:
824 	NDR_MEMBER (_samr_revision_info1, info1, 0UL);
825 	break;
826 
827     default:
828 	NDR_MEMBER_PTR (_char, nullptr, 0UL);
829 	break;
830 
831     }
832 
833 
834 	return 1;
835 }
836 
837 
838 
839 int ndr__samr_Connect5 (struct ndr_reference *encl_ref);
840 struct ndr_typeinfo ndt__samr_Connect5 = {
841 	1,		/* NDR version */
842 	3,		/* alignment */
843 	NDR_F_OPERATION,	/* flags */
844 	ndr__samr_Connect5,	/* ndr_func */
845 	48,		/* pdu_size_fixed_part */
846 	0,		/* pdu_size_variable_part */
847 	48,		/* c_size_fixed_part */
848 	0,		/* c_size_variable_part */
849 };
850 
851 
852 /*
853  * [operation(64)]
854  */
855 int
856 ndr__samr_Connect5 (struct ndr_reference *encl_ref)
857 {
858 	struct samr_Connect5 *val = (struct samr_Connect5 *) encl_ref->datum;
859 	struct ndr_reference myref;
860 
861 	(void) bzero(&myref, sizeof (myref));
862 	myref.enclosing = encl_ref;
863 	myref.stream = encl_ref->stream;
864 
865 	/* do all members in order */
866     if (NDR_DIR_IS_IN) {
867 	NDR_TOPMOST_MEMBER_PTR (s_wchar, servername);
868     }
869     if (NDR_DIR_IS_IN) {
870 	NDR_TOPMOST_MEMBER (_ulong, access_mask);
871     }
872 	NDR_TOPMOST_MEMBER (_ulong, unknown2_00000001);
873 	NDR_TOPMOST_MEMBER (_ulong, unknown3_00000001);
874 	NDR_TOPMOST_MEMBER (_ulong, unknown4_00000003);
875 	NDR_TOPMOST_MEMBER (_ulong, unknown5_00000000);
876     if (NDR_DIR_IS_OUT) {
877 	NDR_TOPMOST_MEMBER (_samr_handle, handle);
878     }
879     if (NDR_DIR_IS_OUT) {
880 	NDR_TOPMOST_MEMBER (_ulong, status);
881     }
882 
883 	return 1;
884 }
885 
886 
887 
888 int ndr__samr_CloseHandle (struct ndr_reference *encl_ref);
889 struct ndr_typeinfo ndt__samr_CloseHandle = {
890 	1,		/* NDR version */
891 	3,		/* alignment */
892 	NDR_F_OPERATION,	/* flags */
893 	ndr__samr_CloseHandle,	/* ndr_func */
894 	44,		/* pdu_size_fixed_part */
895 	0,		/* pdu_size_variable_part */
896 	44,		/* c_size_fixed_part */
897 	0,		/* c_size_variable_part */
898 };
899 
900 
901 /*
902  * [operation(1)]
903  */
904 int
905 ndr__samr_CloseHandle (struct ndr_reference *encl_ref)
906 {
907 	struct samr_CloseHandle *val = (struct samr_CloseHandle *) encl_ref->datum;
908 	struct ndr_reference myref;
909 
910 	(void) bzero(&myref, sizeof (myref));
911 	myref.enclosing = encl_ref;
912 	myref.stream = encl_ref->stream;
913 
914 	/* do all members in order */
915     if (NDR_DIR_IS_IN) {
916 	NDR_TOPMOST_MEMBER (_samr_handle, handle);
917     }
918     if (NDR_DIR_IS_OUT) {
919 	NDR_TOPMOST_MEMBER (_samr_handle, result_handle);
920     }
921     if (NDR_DIR_IS_OUT) {
922 	NDR_TOPMOST_MEMBER (_ulong, status);
923     }
924 
925 	return 1;
926 }
927 
928 
929 
930 int ndr__samr_LookupDomain (struct ndr_reference *encl_ref);
931 struct ndr_typeinfo ndt__samr_LookupDomain = {
932 	1,		/* NDR version */
933 	3,		/* alignment */
934 	NDR_F_OPERATION,	/* flags */
935 	ndr__samr_LookupDomain,	/* ndr_func */
936 	36,		/* pdu_size_fixed_part */
937 	0,		/* pdu_size_variable_part */
938 	36,		/* c_size_fixed_part */
939 	0,		/* c_size_variable_part */
940 };
941 
942 
943 /*
944  * [operation(5)]
945  */
946 int
947 ndr__samr_LookupDomain (struct ndr_reference *encl_ref)
948 {
949 	struct samr_LookupDomain *val = (struct samr_LookupDomain *) encl_ref->datum;
950 	struct ndr_reference myref;
951 
952 	(void) bzero(&myref, sizeof (myref));
953 	myref.enclosing = encl_ref;
954 	myref.stream = encl_ref->stream;
955 
956 	/* do all members in order */
957     if (NDR_DIR_IS_IN) {
958 	NDR_TOPMOST_MEMBER (_samr_handle, handle);
959     }
960     if (NDR_DIR_IS_IN) {
961 	NDR_TOPMOST_MEMBER (_samr_string, domain_name);
962     }
963     if (NDR_DIR_IS_OUT) {
964 	NDR_TOPMOST_MEMBER_PTR (_samr_sid, sid);
965     }
966     if (NDR_DIR_IS_OUT) {
967 	NDR_TOPMOST_MEMBER (_ulong, status);
968     }
969 
970 	return 1;
971 }
972 
973 
974 
975 int ndr__samr_LocalDomainEntry (struct ndr_reference *encl_ref);
976 struct ndr_typeinfo ndt__samr_LocalDomainEntry = {
977 	1,		/* NDR version */
978 	3,		/* alignment */
979 	NDR_F_STRUCT,	/* flags */
980 	ndr__samr_LocalDomainEntry,	/* ndr_func */
981 	12,		/* pdu_size_fixed_part */
982 	0,		/* pdu_size_variable_part */
983 	12,		/* c_size_fixed_part */
984 	0,		/* c_size_variable_part */
985 };
986 
987 
988 /*
989  *  */
990 int
991 ndr__samr_LocalDomainEntry (struct ndr_reference *encl_ref)
992 {
993 	struct samr_LocalDomainEntry *val = (struct samr_LocalDomainEntry *) encl_ref->datum;
994 	struct ndr_reference myref;
995 
996 	(void) bzero(&myref, sizeof (myref));
997 	myref.enclosing = encl_ref;
998 	myref.stream = encl_ref->stream;
999 
1000 	/* do all basic elements first */
1001 	NDR_MEMBER (_ulong, unknown, 0UL);
1002 
1003 	/* do all constructed elements w/o pointers */
1004 
1005 	/* do members with pointers in order */
1006 	NDR_MEMBER (_samr_string, name, 4UL);
1007 
1008 	return 1;
1009 }
1010 
1011 
1012 
1013 int ndr__samr_LocalDomainInfo (struct ndr_reference *encl_ref);
1014 struct ndr_typeinfo ndt__samr_LocalDomainInfo = {
1015 	1,		/* NDR version */
1016 	3,		/* alignment */
1017 	NDR_F_STRUCT,	/* flags */
1018 	ndr__samr_LocalDomainInfo,	/* ndr_func */
1019 	8,		/* pdu_size_fixed_part */
1020 	0,		/* pdu_size_variable_part */
1021 	8,		/* c_size_fixed_part */
1022 	0,		/* c_size_variable_part */
1023 };
1024 
1025 
1026 /*
1027  *  */
1028 int
1029 ndr__samr_LocalDomainInfo (struct ndr_reference *encl_ref)
1030 {
1031 	struct samr_LocalDomainInfo *val = (struct samr_LocalDomainInfo *) encl_ref->datum;
1032 	struct ndr_reference myref;
1033 
1034 	(void) bzero(&myref, sizeof (myref));
1035 	myref.enclosing = encl_ref;
1036 	myref.stream = encl_ref->stream;
1037 
1038 	/* do all basic elements first */
1039 	NDR_MEMBER (_ulong, entries_read, 0UL);
1040 
1041 	/* do all constructed elements w/o pointers */
1042 
1043 	/* do members with pointers in order */
1044 	NDR_MEMBER_PTR_WITH_SIZE_IS (_samr_LocalDomainEntry, entry, 4UL,
1045 		val->entries_read);
1046 
1047 	return 1;
1048 }
1049 
1050 
1051 
1052 int ndr__samr_EnumLocalDomain (struct ndr_reference *encl_ref);
1053 struct ndr_typeinfo ndt__samr_EnumLocalDomain = {
1054 	1,		/* NDR version */
1055 	3,		/* alignment */
1056 	NDR_F_OPERATION,	/* flags */
1057 	ndr__samr_EnumLocalDomain,	/* ndr_func */
1058 	40,		/* pdu_size_fixed_part */
1059 	0,		/* pdu_size_variable_part */
1060 	40,		/* c_size_fixed_part */
1061 	0,		/* c_size_variable_part */
1062 };
1063 
1064 
1065 /*
1066  * [operation(6)]
1067  */
1068 int
1069 ndr__samr_EnumLocalDomain (struct ndr_reference *encl_ref)
1070 {
1071 	struct samr_EnumLocalDomain *val = (struct samr_EnumLocalDomain *) encl_ref->datum;
1072 	struct ndr_reference myref;
1073 
1074 	(void) bzero(&myref, sizeof (myref));
1075 	myref.enclosing = encl_ref;
1076 	myref.stream = encl_ref->stream;
1077 
1078 	/* do all members in order */
1079     if (NDR_DIR_IS_IN) {
1080 	NDR_TOPMOST_MEMBER (_samr_handle, handle);
1081     }
1082 	NDR_TOPMOST_MEMBER (_ulong, enum_context);
1083     if (NDR_DIR_IS_IN) {
1084 	NDR_TOPMOST_MEMBER (_ulong, max_length);
1085     }
1086     if (NDR_DIR_IS_OUT) {
1087 	NDR_TOPMOST_MEMBER_PTR (_samr_LocalDomainInfo, info);
1088     }
1089     if (NDR_DIR_IS_OUT) {
1090 	NDR_TOPMOST_MEMBER (_ulong, total_entries);
1091     }
1092     if (NDR_DIR_IS_OUT) {
1093 	NDR_TOPMOST_MEMBER (_ulong, status);
1094     }
1095 
1096 	return 1;
1097 }
1098 
1099 
1100 
1101 int ndr__samr_OpenDomain (struct ndr_reference *encl_ref);
1102 struct ndr_typeinfo ndt__samr_OpenDomain = {
1103 	1,		/* NDR version */
1104 	3,		/* alignment */
1105 	NDR_F_OPERATION,	/* flags */
1106 	ndr__samr_OpenDomain,	/* ndr_func */
1107 	52,		/* pdu_size_fixed_part */
1108 	0,		/* pdu_size_variable_part */
1109 	52,		/* c_size_fixed_part */
1110 	0,		/* c_size_variable_part */
1111 };
1112 
1113 
1114 /*
1115  * [operation(7)]
1116  */
1117 int
1118 ndr__samr_OpenDomain (struct ndr_reference *encl_ref)
1119 {
1120 	struct samr_OpenDomain *val = (struct samr_OpenDomain *) encl_ref->datum;
1121 	struct ndr_reference myref;
1122 
1123 	(void) bzero(&myref, sizeof (myref));
1124 	myref.enclosing = encl_ref;
1125 	myref.stream = encl_ref->stream;
1126 
1127 	/* do all members in order */
1128     if (NDR_DIR_IS_IN) {
1129 	NDR_TOPMOST_MEMBER (_samr_handle, handle);
1130     }
1131     if (NDR_DIR_IS_IN) {
1132 	NDR_TOPMOST_MEMBER (_ulong, access_mask);
1133     }
1134     if (NDR_DIR_IS_IN) {
1135 	NDR_TOPMOST_MEMBER_REF (_samr_sid, sid);
1136     }
1137     if (NDR_DIR_IS_OUT) {
1138 	NDR_TOPMOST_MEMBER (_samr_handle, domain_handle);
1139     }
1140     if (NDR_DIR_IS_OUT) {
1141 	NDR_TOPMOST_MEMBER (_ulong, status);
1142     }
1143 
1144 	return 1;
1145 }
1146 
1147 
1148 
1149 int ndr__samr_QueryDomainInfo2 (struct ndr_reference *encl_ref);
1150 struct ndr_typeinfo ndt__samr_QueryDomainInfo2 = {
1151 	1,		/* NDR version */
1152 	3,		/* alignment */
1153 	NDR_F_STRUCT,	/* flags */
1154 	ndr__samr_QueryDomainInfo2,	/* ndr_func */
1155 	64,		/* pdu_size_fixed_part */
1156 	0,		/* pdu_size_variable_part */
1157 	64,		/* c_size_fixed_part */
1158 	0,		/* c_size_variable_part */
1159 };
1160 
1161 
1162 /*
1163  *  */
1164 int
1165 ndr__samr_QueryDomainInfo2 (struct ndr_reference *encl_ref)
1166 {
1167 	struct samr_QueryDomainInfo2 *val = (struct samr_QueryDomainInfo2 *) encl_ref->datum;
1168 	struct ndr_reference myref;
1169 
1170 	(void) bzero(&myref, sizeof (myref));
1171 	myref.enclosing = encl_ref;
1172 	myref.stream = encl_ref->stream;
1173 
1174 	/* do all basic elements first */
1175 	NDR_MEMBER (_ulong, unknown1, 0UL);
1176 	NDR_MEMBER (_ulong, unknown2, 4UL);
1177 	NDR_MEMBER (_ulong, sequence_num, 32UL);
1178 	NDR_MEMBER (_ulong, unknown3, 36UL);
1179 	NDR_MEMBER (_ulong, unknown4, 40UL);
1180 	NDR_MEMBER (_ulong, unknown5, 44UL);
1181 	NDR_MEMBER (_ulong, unknown6, 48UL);
1182 	NDR_MEMBER (_ulong, num_users, 52UL);
1183 	NDR_MEMBER (_ulong, num_groups, 56UL);
1184 	NDR_MEMBER (_ulong, num_aliases, 60UL);
1185 
1186 	/* do all constructed elements w/o pointers */
1187 
1188 	/* do members with pointers in order */
1189 	NDR_MEMBER (_samr_string, s1, 8UL);
1190 	NDR_MEMBER (_samr_string, domain, 16UL);
1191 	NDR_MEMBER (_samr_string, s2, 24UL);
1192 
1193 	return 1;
1194 }
1195 
1196 
1197 
1198 int ndr__samr_QueryDomainInfo6 (struct ndr_reference *encl_ref);
1199 struct ndr_typeinfo ndt__samr_QueryDomainInfo6 = {
1200 	1,		/* NDR version */
1201 	3,		/* alignment */
1202 	NDR_F_STRUCT,	/* flags */
1203 	ndr__samr_QueryDomainInfo6,	/* ndr_func */
1204 	20,		/* pdu_size_fixed_part */
1205 	0,		/* pdu_size_variable_part */
1206 	20,		/* c_size_fixed_part */
1207 	0,		/* c_size_variable_part */
1208 };
1209 
1210 
1211 /*
1212  *  */
1213 int
1214 ndr__samr_QueryDomainInfo6 (struct ndr_reference *encl_ref)
1215 {
1216 	struct samr_QueryDomainInfo6 *val = (struct samr_QueryDomainInfo6 *) encl_ref->datum;
1217 	struct ndr_reference myref;
1218 
1219 	(void) bzero(&myref, sizeof (myref));
1220 	myref.enclosing = encl_ref;
1221 	myref.stream = encl_ref->stream;
1222 
1223 	/* do all basic elements first */
1224 	NDR_MEMBER (_ulong, unknown1, 0UL);
1225 	NDR_MEMBER (_ulong, unknown2, 4UL);
1226 	NDR_MEMBER (_ulong, unknown3, 8UL);
1227 	NDR_MEMBER (_ulong, unknown4, 12UL);
1228 	NDR_MEMBER (_ulong, unknown5, 16UL);
1229 
1230 	/* do all constructed elements w/o pointers */
1231 
1232 	/* do members with pointers in order */
1233 
1234 	return 1;
1235 }
1236 
1237 
1238 
1239 int ndr__samr_QueryDomainInfo7 (struct ndr_reference *encl_ref);
1240 struct ndr_typeinfo ndt__samr_QueryDomainInfo7 = {
1241 	1,		/* NDR version */
1242 	3,		/* alignment */
1243 	NDR_F_STRUCT,	/* flags */
1244 	ndr__samr_QueryDomainInfo7,	/* ndr_func */
1245 	4,		/* pdu_size_fixed_part */
1246 	0,		/* pdu_size_variable_part */
1247 	4,		/* c_size_fixed_part */
1248 	0,		/* c_size_variable_part */
1249 };
1250 
1251 
1252 /*
1253  *  */
1254 int
1255 ndr__samr_QueryDomainInfo7 (struct ndr_reference *encl_ref)
1256 {
1257 	struct samr_QueryDomainInfo7 *val = (struct samr_QueryDomainInfo7 *) encl_ref->datum;
1258 	struct ndr_reference myref;
1259 
1260 	(void) bzero(&myref, sizeof (myref));
1261 	myref.enclosing = encl_ref;
1262 	myref.stream = encl_ref->stream;
1263 
1264 	/* do all basic elements first */
1265 	NDR_MEMBER (_ulong, unknown1, 0UL);
1266 
1267 	/* do all constructed elements w/o pointers */
1268 
1269 	/* do members with pointers in order */
1270 
1271 	return 1;
1272 }
1273 
1274 
1275 
1276 int ndr__samr_QueryDomainInfo_ru (struct ndr_reference *encl_ref);
1277 struct ndr_typeinfo ndt__samr_QueryDomainInfo_ru = {
1278 	1,		/* NDR version */
1279 	3,		/* alignment */
1280 	NDR_F_UNION,	/* flags */
1281 	ndr__samr_QueryDomainInfo_ru,	/* ndr_func */
1282 	64,		/* pdu_size_fixed_part */
1283 	0,		/* pdu_size_variable_part */
1284 	64,		/* c_size_fixed_part */
1285 	0,		/* c_size_variable_part */
1286 };
1287 
1288 
1289 /*
1290  *  */
1291 int
1292 ndr__samr_QueryDomainInfo_ru (struct ndr_reference *encl_ref)
1293 {
1294 	union samr_QueryDomainInfo_ru *val = (union samr_QueryDomainInfo_ru *) encl_ref->datum;
1295 	struct ndr_reference myref;
1296 
1297 	(void) bzero(&myref, sizeof (myref));
1298 	myref.enclosing = encl_ref;
1299 	myref.stream = encl_ref->stream;
1300 
1301     switch (encl_ref->switch_is) {
1302     case 2:
1303 	NDR_MEMBER (_samr_QueryDomainInfo2, info2, 0UL);
1304 	break;
1305 
1306     case 6:
1307 	NDR_MEMBER (_samr_QueryDomainInfo6, info6, 0UL);
1308 	break;
1309 
1310     case 7:
1311 	NDR_MEMBER (_samr_QueryDomainInfo7, info7, 0UL);
1312 	break;
1313 
1314     default:
1315 	NDR_MEMBER_PTR (_char, nullptr, 0UL);
1316 	break;
1317 
1318     }
1319 
1320 
1321 	return 1;
1322 }
1323 
1324 
1325 
1326 int ndr__samr_QueryDomainInfoRes (struct ndr_reference *encl_ref);
1327 struct ndr_typeinfo ndt__samr_QueryDomainInfoRes = {
1328 	1,		/* NDR version */
1329 	3,		/* alignment */
1330 	NDR_F_STRUCT,	/* flags */
1331 	ndr__samr_QueryDomainInfoRes,	/* ndr_func */
1332 	68,		/* pdu_size_fixed_part */
1333 	0,		/* pdu_size_variable_part */
1334 	68,		/* c_size_fixed_part */
1335 	0,		/* c_size_variable_part */
1336 };
1337 
1338 
1339 /*
1340  *  */
1341 int
1342 ndr__samr_QueryDomainInfoRes (struct ndr_reference *encl_ref)
1343 {
1344 	struct samr_QueryDomainInfoRes *val = (struct samr_QueryDomainInfoRes *) encl_ref->datum;
1345 	struct ndr_reference myref;
1346 
1347 	(void) bzero(&myref, sizeof (myref));
1348 	myref.enclosing = encl_ref;
1349 	myref.stream = encl_ref->stream;
1350 
1351 	/* do all basic elements first */
1352 	NDR_MEMBER (_ushort, switch_value, 0UL);
1353 
1354 	/* do all constructed elements w/o pointers */
1355 
1356 	/* do members with pointers in order */
1357 	NDR_MEMBER_WITH_SWITCH_IS (_samr_QueryDomainInfo_ru, ru, 4UL,
1358 		val->switch_value);
1359 
1360 	return 1;
1361 }
1362 
1363 
1364 
1365 int ndr__samr_QueryDomainInfo (struct ndr_reference *encl_ref);
1366 struct ndr_typeinfo ndt__samr_QueryDomainInfo = {
1367 	1,		/* NDR version */
1368 	3,		/* alignment */
1369 	NDR_F_OPERATION,	/* flags */
1370 	ndr__samr_QueryDomainInfo,	/* ndr_func */
1371 	32,		/* pdu_size_fixed_part */
1372 	0,		/* pdu_size_variable_part */
1373 	32,		/* c_size_fixed_part */
1374 	0,		/* c_size_variable_part */
1375 };
1376 
1377 
1378 /*
1379  * [operation(8)]
1380  */
1381 int
1382 ndr__samr_QueryDomainInfo (struct ndr_reference *encl_ref)
1383 {
1384 	struct samr_QueryDomainInfo *val = (struct samr_QueryDomainInfo *) encl_ref->datum;
1385 	struct ndr_reference myref;
1386 
1387 	(void) bzero(&myref, sizeof (myref));
1388 	myref.enclosing = encl_ref;
1389 	myref.stream = encl_ref->stream;
1390 
1391 	/* do all members in order */
1392     if (NDR_DIR_IS_IN) {
1393 	NDR_TOPMOST_MEMBER (_samr_handle, domain_handle);
1394     }
1395     if (NDR_DIR_IS_IN) {
1396 	NDR_TOPMOST_MEMBER (_ushort, info_level);
1397     }
1398     if (NDR_DIR_IS_OUT) {
1399 	NDR_TOPMOST_MEMBER_PTR (_samr_QueryDomainInfoRes, info);
1400     }
1401     if (NDR_DIR_IS_OUT) {
1402 	NDR_TOPMOST_MEMBER (_ulong, status);
1403     }
1404 
1405 	return 1;
1406 }
1407 
1408 
1409 
1410 int ndr__samr_QueryInfoDomain2 (struct ndr_reference *encl_ref);
1411 struct ndr_typeinfo ndt__samr_QueryInfoDomain2 = {
1412 	1,		/* NDR version */
1413 	3,		/* alignment */
1414 	NDR_F_OPERATION,	/* flags */
1415 	ndr__samr_QueryInfoDomain2,	/* ndr_func */
1416 	32,		/* pdu_size_fixed_part */
1417 	0,		/* pdu_size_variable_part */
1418 	32,		/* c_size_fixed_part */
1419 	0,		/* c_size_variable_part */
1420 };
1421 
1422 
1423 /*
1424  * [operation(46)]
1425  */
1426 int
1427 ndr__samr_QueryInfoDomain2 (struct ndr_reference *encl_ref)
1428 {
1429 	struct samr_QueryInfoDomain2 *val = (struct samr_QueryInfoDomain2 *) encl_ref->datum;
1430 	struct ndr_reference myref;
1431 
1432 	(void) bzero(&myref, sizeof (myref));
1433 	myref.enclosing = encl_ref;
1434 	myref.stream = encl_ref->stream;
1435 
1436 	/* do all members in order */
1437     if (NDR_DIR_IS_IN) {
1438 	NDR_TOPMOST_MEMBER (_samr_handle, domain_handle);
1439     }
1440     if (NDR_DIR_IS_IN) {
1441 	NDR_TOPMOST_MEMBER (_ushort, info_level);
1442     }
1443     if (NDR_DIR_IS_OUT) {
1444 	NDR_TOPMOST_MEMBER_PTR (_samr_QueryDomainInfoRes, info);
1445     }
1446     if (NDR_DIR_IS_OUT) {
1447 	NDR_TOPMOST_MEMBER (_ulong, status);
1448     }
1449 
1450 	return 1;
1451 }
1452 
1453 
1454 
1455 int ndr__samr_QueryAliasInfoGeneral (struct ndr_reference *encl_ref);
1456 struct ndr_typeinfo ndt__samr_QueryAliasInfoGeneral = {
1457 	1,		/* NDR version */
1458 	3,		/* alignment */
1459 	NDR_F_STRUCT,	/* flags */
1460 	ndr__samr_QueryAliasInfoGeneral,	/* ndr_func */
1461 	24,		/* pdu_size_fixed_part */
1462 	0,		/* pdu_size_variable_part */
1463 	24,		/* c_size_fixed_part */
1464 	0,		/* c_size_variable_part */
1465 };
1466 
1467 
1468 /*
1469  *  */
1470 int
1471 ndr__samr_QueryAliasInfoGeneral (struct ndr_reference *encl_ref)
1472 {
1473 	struct samr_QueryAliasInfoGeneral *val = (struct samr_QueryAliasInfoGeneral *) encl_ref->datum;
1474 	struct ndr_reference myref;
1475 
1476 	(void) bzero(&myref, sizeof (myref));
1477 	myref.enclosing = encl_ref;
1478 	myref.stream = encl_ref->stream;
1479 
1480 	/* do all basic elements first */
1481 	NDR_MEMBER (_ushort, level, 0UL);
1482 	NDR_MEMBER (_ulong, member_count, 12UL);
1483 
1484 	/* do all constructed elements w/o pointers */
1485 
1486 	/* do members with pointers in order */
1487 	NDR_MEMBER (_samr_string, name, 4UL);
1488 	NDR_MEMBER (_samr_string, desc, 16UL);
1489 
1490 	return 1;
1491 }
1492 
1493 
1494 
1495 int ndr__samr_QueryAliasInfoName (struct ndr_reference *encl_ref);
1496 struct ndr_typeinfo ndt__samr_QueryAliasInfoName = {
1497 	1,		/* NDR version */
1498 	3,		/* alignment */
1499 	NDR_F_STRUCT,	/* flags */
1500 	ndr__samr_QueryAliasInfoName,	/* ndr_func */
1501 	12,		/* pdu_size_fixed_part */
1502 	0,		/* pdu_size_variable_part */
1503 	12,		/* c_size_fixed_part */
1504 	0,		/* c_size_variable_part */
1505 };
1506 
1507 
1508 /*
1509  *  */
1510 int
1511 ndr__samr_QueryAliasInfoName (struct ndr_reference *encl_ref)
1512 {
1513 	struct samr_QueryAliasInfoName *val = (struct samr_QueryAliasInfoName *) encl_ref->datum;
1514 	struct ndr_reference myref;
1515 
1516 	(void) bzero(&myref, sizeof (myref));
1517 	myref.enclosing = encl_ref;
1518 	myref.stream = encl_ref->stream;
1519 
1520 	/* do all basic elements first */
1521 	NDR_MEMBER (_ushort, level, 0UL);
1522 
1523 	/* do all constructed elements w/o pointers */
1524 
1525 	/* do members with pointers in order */
1526 	NDR_MEMBER (_samr_string, name, 4UL);
1527 
1528 	return 1;
1529 }
1530 
1531 
1532 
1533 int ndr__samr_QueryAliasInfoComment (struct ndr_reference *encl_ref);
1534 struct ndr_typeinfo ndt__samr_QueryAliasInfoComment = {
1535 	1,		/* NDR version */
1536 	3,		/* alignment */
1537 	NDR_F_STRUCT,	/* flags */
1538 	ndr__samr_QueryAliasInfoComment,	/* ndr_func */
1539 	12,		/* pdu_size_fixed_part */
1540 	0,		/* pdu_size_variable_part */
1541 	12,		/* c_size_fixed_part */
1542 	0,		/* c_size_variable_part */
1543 };
1544 
1545 
1546 /*
1547  *  */
1548 int
1549 ndr__samr_QueryAliasInfoComment (struct ndr_reference *encl_ref)
1550 {
1551 	struct samr_QueryAliasInfoComment *val = (struct samr_QueryAliasInfoComment *) encl_ref->datum;
1552 	struct ndr_reference myref;
1553 
1554 	(void) bzero(&myref, sizeof (myref));
1555 	myref.enclosing = encl_ref;
1556 	myref.stream = encl_ref->stream;
1557 
1558 	/* do all basic elements first */
1559 	NDR_MEMBER (_ushort, level, 0UL);
1560 
1561 	/* do all constructed elements w/o pointers */
1562 
1563 	/* do members with pointers in order */
1564 	NDR_MEMBER (_samr_string, desc, 4UL);
1565 
1566 	return 1;
1567 }
1568 
1569 
1570 
1571 int ndr__samr_QueryAliasInfo_ru (struct ndr_reference *encl_ref);
1572 struct ndr_typeinfo ndt__samr_QueryAliasInfo_ru = {
1573 	1,		/* NDR version */
1574 	3,		/* alignment */
1575 	NDR_F_UNION,	/* flags */
1576 	ndr__samr_QueryAliasInfo_ru,	/* ndr_func */
1577 	24,		/* pdu_size_fixed_part */
1578 	0,		/* pdu_size_variable_part */
1579 	24,		/* c_size_fixed_part */
1580 	0,		/* c_size_variable_part */
1581 };
1582 
1583 
1584 /*
1585  *  */
1586 int
1587 ndr__samr_QueryAliasInfo_ru (struct ndr_reference *encl_ref)
1588 {
1589 	union samr_QueryAliasInfo_ru *val = (union samr_QueryAliasInfo_ru *) encl_ref->datum;
1590 	struct ndr_reference myref;
1591 
1592 	(void) bzero(&myref, sizeof (myref));
1593 	myref.enclosing = encl_ref;
1594 	myref.stream = encl_ref->stream;
1595 
1596     switch (encl_ref->switch_is) {
1597     case 1:
1598 	NDR_MEMBER (_samr_QueryAliasInfoGeneral, info1, 0UL);
1599 	break;
1600 
1601     case 2:
1602 	NDR_MEMBER (_samr_QueryAliasInfoName, info2, 0UL);
1603 	break;
1604 
1605     case 3:
1606 	NDR_MEMBER (_samr_QueryAliasInfoComment, info3, 0UL);
1607 	break;
1608 
1609     default:
1610 	NDR_MEMBER_PTR (_char, nullptr, 0UL);
1611 	break;
1612 
1613     }
1614 
1615 
1616 	return 1;
1617 }
1618 
1619 
1620 
1621 int ndr__samr_QueryAliasInfoRes (struct ndr_reference *encl_ref);
1622 struct ndr_typeinfo ndt__samr_QueryAliasInfoRes = {
1623 	1,		/* NDR version */
1624 	3,		/* alignment */
1625 	NDR_F_STRUCT,	/* flags */
1626 	ndr__samr_QueryAliasInfoRes,	/* ndr_func */
1627 	32,		/* pdu_size_fixed_part */
1628 	0,		/* pdu_size_variable_part */
1629 	32,		/* c_size_fixed_part */
1630 	0,		/* c_size_variable_part */
1631 };
1632 
1633 
1634 /*
1635  *  */
1636 int
1637 ndr__samr_QueryAliasInfoRes (struct ndr_reference *encl_ref)
1638 {
1639 	struct samr_QueryAliasInfoRes *val = (struct samr_QueryAliasInfoRes *) encl_ref->datum;
1640 	struct ndr_reference myref;
1641 
1642 	(void) bzero(&myref, sizeof (myref));
1643 	myref.enclosing = encl_ref;
1644 	myref.stream = encl_ref->stream;
1645 
1646 	/* do all basic elements first */
1647 	NDR_MEMBER (_ulong, address, 0UL);
1648 	NDR_MEMBER (_ushort, switch_value, 4UL);
1649 
1650 	/* do all constructed elements w/o pointers */
1651 
1652 	/* do members with pointers in order */
1653 	NDR_MEMBER_WITH_SWITCH_IS (_samr_QueryAliasInfo_ru, ru, 8UL,
1654 		val->switch_value);
1655 
1656 	return 1;
1657 }
1658 
1659 
1660 
1661 int ndr__samr_QueryAliasInfo (struct ndr_reference *encl_ref);
1662 struct ndr_typeinfo ndt__samr_QueryAliasInfo = {
1663 	1,		/* NDR version */
1664 	3,		/* alignment */
1665 	NDR_F_OPERATION,	/* flags */
1666 	ndr__samr_QueryAliasInfo,	/* ndr_func */
1667 	56,		/* pdu_size_fixed_part */
1668 	0,		/* pdu_size_variable_part */
1669 	56,		/* c_size_fixed_part */
1670 	0,		/* c_size_variable_part */
1671 };
1672 
1673 
1674 extern void fixup_samr_QueryAliasInfo(struct samr_QueryAliasInfo *val);
1675 
1676 /*
1677  * [operation(28)]
1678  */
1679 int
1680 ndr__samr_QueryAliasInfo (struct ndr_reference *encl_ref)
1681 {
1682 	struct samr_QueryAliasInfo *val = (struct samr_QueryAliasInfo *) encl_ref->datum;
1683 	struct ndr_reference myref;
1684 
1685 	(void) bzero(&myref, sizeof (myref));
1686 	myref.enclosing = encl_ref;
1687 	myref.stream = encl_ref->stream;
1688 
1689 	/* do all members in order */
1690     if (NDR_DIR_IS_IN) {
1691 	NDR_TOPMOST_MEMBER (_samr_handle, alias_handle);
1692     }
1693     if (NDR_DIR_IS_IN) {
1694 	NDR_TOPMOST_MEMBER (_ushort, level);
1695     }
1696     if (NDR_DIR_IS_OUT) {
1697 	NDR_TOPMOST_MEMBER (_ulong, address);
1698     }
1699     if (NDR_DIR_IS_OUT) {
1700 	/*
1701 	 * Cannot use the canned offsets to unmarshall multiple
1702 	 * entry discriminated unions.  The service must provide
1703 	 * this function to patch the offsets at runtime.
1704 	 */
1705 	fixup_samr_QueryAliasInfo(val);
1706 	NDR_TOPMOST_MEMBER_WITH_SWITCH_IS (_samr_QueryAliasInfo_ru, ru,
1707 		val->level);
1708     }
1709     if (NDR_DIR_IS_OUT) {
1710 	NDR_TOPMOST_MEMBER (_ulong, status);
1711     }
1712 
1713 	return 1;
1714 }
1715 
1716 
1717 
1718 int ndr__samr_CreateDomainAlias (struct ndr_reference *encl_ref);
1719 struct ndr_typeinfo ndt__samr_CreateDomainAlias = {
1720 	1,		/* NDR version */
1721 	3,		/* alignment */
1722 	NDR_F_OPERATION,	/* flags */
1723 	ndr__samr_CreateDomainAlias,	/* ndr_func */
1724 	60,		/* pdu_size_fixed_part */
1725 	0,		/* pdu_size_variable_part */
1726 	60,		/* c_size_fixed_part */
1727 	0,		/* c_size_variable_part */
1728 };
1729 
1730 
1731 /*
1732  * [operation(14)]
1733  */
1734 int
1735 ndr__samr_CreateDomainAlias (struct ndr_reference *encl_ref)
1736 {
1737 	struct samr_CreateDomainAlias *val = (struct samr_CreateDomainAlias *) encl_ref->datum;
1738 	struct ndr_reference myref;
1739 
1740 	(void) bzero(&myref, sizeof (myref));
1741 	myref.enclosing = encl_ref;
1742 	myref.stream = encl_ref->stream;
1743 
1744 	/* do all members in order */
1745     if (NDR_DIR_IS_IN) {
1746 	NDR_TOPMOST_MEMBER (_samr_handle, domain_handle);
1747     }
1748     if (NDR_DIR_IS_IN) {
1749 	NDR_TOPMOST_MEMBER (_samr_string, alias_name);
1750     }
1751     if (NDR_DIR_IS_IN) {
1752 	NDR_TOPMOST_MEMBER (_ulong, access_mask);
1753     }
1754     if (NDR_DIR_IS_OUT) {
1755 	NDR_TOPMOST_MEMBER (_samr_handle, alias_handle);
1756     }
1757     if (NDR_DIR_IS_OUT) {
1758 	NDR_TOPMOST_MEMBER (_ulong, rid);
1759     }
1760     if (NDR_DIR_IS_OUT) {
1761 	NDR_TOPMOST_MEMBER (_ulong, status);
1762     }
1763 
1764 	return 1;
1765 }
1766 
1767 
1768 
1769 int ndr__samr_SetAliasInfo (struct ndr_reference *encl_ref);
1770 struct ndr_typeinfo ndt__samr_SetAliasInfo = {
1771 	1,		/* NDR version */
1772 	3,		/* alignment */
1773 	NDR_F_OPERATION,	/* flags */
1774 	ndr__samr_SetAliasInfo,	/* ndr_func */
1775 	28,		/* pdu_size_fixed_part */
1776 	0,		/* pdu_size_variable_part */
1777 	28,		/* c_size_fixed_part */
1778 	0,		/* c_size_variable_part */
1779 };
1780 
1781 
1782 /*
1783  * [operation(29)]
1784  */
1785 int
1786 ndr__samr_SetAliasInfo (struct ndr_reference *encl_ref)
1787 {
1788 	struct samr_SetAliasInfo *val = (struct samr_SetAliasInfo *) encl_ref->datum;
1789 	struct ndr_reference myref;
1790 
1791 	(void) bzero(&myref, sizeof (myref));
1792 	myref.enclosing = encl_ref;
1793 	myref.stream = encl_ref->stream;
1794 
1795 	/* do all members in order */
1796     if (NDR_DIR_IS_IN) {
1797 	NDR_TOPMOST_MEMBER (_samr_handle, alias_handle);
1798     }
1799     if (NDR_DIR_IS_IN) {
1800 	NDR_TOPMOST_MEMBER (_ushort, level);
1801     }
1802     if (NDR_DIR_IS_OUT) {
1803 	NDR_TOPMOST_MEMBER (_ulong, status);
1804     }
1805 
1806 	return 1;
1807 }
1808 
1809 
1810 
1811 int ndr__samr_DeleteDomainAlias (struct ndr_reference *encl_ref);
1812 struct ndr_typeinfo ndt__samr_DeleteDomainAlias = {
1813 	1,		/* NDR version */
1814 	3,		/* alignment */
1815 	NDR_F_OPERATION,	/* flags */
1816 	ndr__samr_DeleteDomainAlias,	/* ndr_func */
1817 	24,		/* pdu_size_fixed_part */
1818 	0,		/* pdu_size_variable_part */
1819 	24,		/* c_size_fixed_part */
1820 	0,		/* c_size_variable_part */
1821 };
1822 
1823 
1824 /*
1825  * [operation(30)]
1826  */
1827 int
1828 ndr__samr_DeleteDomainAlias (struct ndr_reference *encl_ref)
1829 {
1830 	struct samr_DeleteDomainAlias *val = (struct samr_DeleteDomainAlias *) encl_ref->datum;
1831 	struct ndr_reference myref;
1832 
1833 	(void) bzero(&myref, sizeof (myref));
1834 	myref.enclosing = encl_ref;
1835 	myref.stream = encl_ref->stream;
1836 
1837 	/* do all members in order */
1838 	NDR_TOPMOST_MEMBER (_samr_handle, alias_handle);
1839     if (NDR_DIR_IS_OUT) {
1840 	NDR_TOPMOST_MEMBER (_ulong, status);
1841     }
1842 
1843 	return 1;
1844 }
1845 
1846 
1847 
1848 int ndr__samr_OpenAlias (struct ndr_reference *encl_ref);
1849 struct ndr_typeinfo ndt__samr_OpenAlias = {
1850 	1,		/* NDR version */
1851 	3,		/* alignment */
1852 	NDR_F_OPERATION,	/* flags */
1853 	ndr__samr_OpenAlias,	/* ndr_func */
1854 	52,		/* pdu_size_fixed_part */
1855 	0,		/* pdu_size_variable_part */
1856 	52,		/* c_size_fixed_part */
1857 	0,		/* c_size_variable_part */
1858 };
1859 
1860 
1861 /*
1862  * [operation(27)]
1863  */
1864 int
1865 ndr__samr_OpenAlias (struct ndr_reference *encl_ref)
1866 {
1867 	struct samr_OpenAlias *val = (struct samr_OpenAlias *) encl_ref->datum;
1868 	struct ndr_reference myref;
1869 
1870 	(void) bzero(&myref, sizeof (myref));
1871 	myref.enclosing = encl_ref;
1872 	myref.stream = encl_ref->stream;
1873 
1874 	/* do all members in order */
1875     if (NDR_DIR_IS_IN) {
1876 	NDR_TOPMOST_MEMBER (_samr_handle, domain_handle);
1877     }
1878     if (NDR_DIR_IS_IN) {
1879 	NDR_TOPMOST_MEMBER (_ulong, access_mask);
1880     }
1881     if (NDR_DIR_IS_IN) {
1882 	NDR_TOPMOST_MEMBER (_ulong, rid);
1883     }
1884     if (NDR_DIR_IS_OUT) {
1885 	NDR_TOPMOST_MEMBER (_samr_handle, alias_handle);
1886     }
1887     if (NDR_DIR_IS_OUT) {
1888 	NDR_TOPMOST_MEMBER (_ulong, status);
1889     }
1890 
1891 	return 1;
1892 }
1893 
1894 
1895 
1896 int ndr__name_rid (struct ndr_reference *encl_ref);
1897 struct ndr_typeinfo ndt__name_rid = {
1898 	1,		/* NDR version */
1899 	3,		/* alignment */
1900 	NDR_F_STRUCT,	/* flags */
1901 	ndr__name_rid,	/* ndr_func */
1902 	12,		/* pdu_size_fixed_part */
1903 	0,		/* pdu_size_variable_part */
1904 	12,		/* c_size_fixed_part */
1905 	0,		/* c_size_variable_part */
1906 };
1907 
1908 
1909 /*
1910  *  */
1911 int
1912 ndr__name_rid (struct ndr_reference *encl_ref)
1913 {
1914 	struct name_rid *val = (struct name_rid *) encl_ref->datum;
1915 	struct ndr_reference myref;
1916 
1917 	(void) bzero(&myref, sizeof (myref));
1918 	myref.enclosing = encl_ref;
1919 	myref.stream = encl_ref->stream;
1920 
1921 	/* do all basic elements first */
1922 	NDR_MEMBER (_ulong, rid, 0UL);
1923 
1924 	/* do all constructed elements w/o pointers */
1925 
1926 	/* do members with pointers in order */
1927 	NDR_MEMBER (_samr_string, name, 4UL);
1928 
1929 	return 1;
1930 }
1931 
1932 
1933 
1934 int ndr__aliases_info (struct ndr_reference *encl_ref);
1935 struct ndr_typeinfo ndt__aliases_info = {
1936 	1,		/* NDR version */
1937 	3,		/* alignment */
1938 	NDR_F_CONFORMANT|NDR_F_STRUCT,	/* flags */
1939 	ndr__aliases_info,	/* ndr_func */
1940 	8,		/* pdu_size_fixed_part */
1941 	12,		/* pdu_size_variable_part */
1942 	8,		/* c_size_fixed_part */
1943 	12,		/* c_size_variable_part */
1944 };
1945 
1946 
1947 /*
1948  *  */
1949 int
1950 ndr__aliases_info (struct ndr_reference *encl_ref)
1951 {
1952 	struct aliases_info *val = (struct aliases_info *) encl_ref->datum;
1953 	struct ndr_reference myref;
1954 
1955 	(void) bzero(&myref, sizeof (myref));
1956 	myref.enclosing = encl_ref;
1957 	myref.stream = encl_ref->stream;
1958 
1959 	/* do all basic elements first */
1960 	NDR_MEMBER (_ulong, count, 0UL);
1961 	NDR_MEMBER (_ulong, address, 4UL);
1962 
1963 	/* do all constructed elements w/o pointers */
1964 
1965 	/* do members with pointers in order */
1966 	NDR_MEMBER_ARR_WITH_SIZE_IS (_name_rid, info, 8UL,
1967 		val->count);
1968 
1969 	return 1;
1970 }
1971 
1972 
1973 
1974 int ndr__samr_EnumDomainAliases (struct ndr_reference *encl_ref);
1975 struct ndr_typeinfo ndt__samr_EnumDomainAliases = {
1976 	1,		/* NDR version */
1977 	3,		/* alignment */
1978 	NDR_F_OPERATION,	/* flags */
1979 	ndr__samr_EnumDomainAliases,	/* ndr_func */
1980 	44,		/* pdu_size_fixed_part */
1981 	0,		/* pdu_size_variable_part */
1982 	44,		/* c_size_fixed_part */
1983 	0,		/* c_size_variable_part */
1984 };
1985 
1986 
1987 /*
1988  * [operation(15)]
1989  */
1990 int
1991 ndr__samr_EnumDomainAliases (struct ndr_reference *encl_ref)
1992 {
1993 	struct samr_EnumDomainAliases *val = (struct samr_EnumDomainAliases *) encl_ref->datum;
1994 	struct ndr_reference myref;
1995 
1996 	(void) bzero(&myref, sizeof (myref));
1997 	myref.enclosing = encl_ref;
1998 	myref.stream = encl_ref->stream;
1999 
2000 	/* do all members in order */
2001     if (NDR_DIR_IS_IN) {
2002 	NDR_TOPMOST_MEMBER (_samr_handle, domain_handle);
2003     }
2004     if (NDR_DIR_IS_IN) {
2005 	NDR_TOPMOST_MEMBER (_ulong, resume_handle);
2006     }
2007     if (NDR_DIR_IS_IN) {
2008 	NDR_TOPMOST_MEMBER (_ulong, mask);
2009     }
2010     if (NDR_DIR_IS_OUT) {
2011 	NDR_TOPMOST_MEMBER (_ulong, out_resume);
2012     }
2013     if (NDR_DIR_IS_OUT) {
2014 	NDR_TOPMOST_MEMBER_PTR (_aliases_info, aliases);
2015     }
2016     if (NDR_DIR_IS_OUT) {
2017 	NDR_TOPMOST_MEMBER (_ulong, entries);
2018     }
2019     if (NDR_DIR_IS_OUT) {
2020 	NDR_TOPMOST_MEMBER (_ulong, status);
2021     }
2022 
2023 	return 1;
2024 }
2025 
2026 
2027 
2028 int ndr__user_acct_info (struct ndr_reference *encl_ref);
2029 struct ndr_typeinfo ndt__user_acct_info = {
2030 	1,		/* NDR version */
2031 	3,		/* alignment */
2032 	NDR_F_STRUCT,	/* flags */
2033 	ndr__user_acct_info,	/* ndr_func */
2034 	36,		/* pdu_size_fixed_part */
2035 	0,		/* pdu_size_variable_part */
2036 	36,		/* c_size_fixed_part */
2037 	0,		/* c_size_variable_part */
2038 };
2039 
2040 
2041 /*
2042  *  */
2043 int
2044 ndr__user_acct_info (struct ndr_reference *encl_ref)
2045 {
2046 	struct user_acct_info *val = (struct user_acct_info *) encl_ref->datum;
2047 	struct ndr_reference myref;
2048 
2049 	(void) bzero(&myref, sizeof (myref));
2050 	myref.enclosing = encl_ref;
2051 	myref.stream = encl_ref->stream;
2052 
2053 	/* do all basic elements first */
2054 	NDR_MEMBER (_ulong, index, 0UL);
2055 	NDR_MEMBER (_ulong, rid, 4UL);
2056 	NDR_MEMBER (_ulong, ctrl, 8UL);
2057 
2058 	/* do all constructed elements w/o pointers */
2059 
2060 	/* do members with pointers in order */
2061 	NDR_MEMBER (_samr_string, name, 12UL);
2062 	NDR_MEMBER (_samr_string, fullname, 20UL);
2063 	NDR_MEMBER (_samr_string, desc, 28UL);
2064 
2065 	return 1;
2066 }
2067 
2068 
2069 
2070 int ndr__user_disp_info (struct ndr_reference *encl_ref);
2071 struct ndr_typeinfo ndt__user_disp_info = {
2072 	1,		/* NDR version */
2073 	3,		/* alignment */
2074 	NDR_F_STRUCT,	/* flags */
2075 	ndr__user_disp_info,	/* ndr_func */
2076 	20,		/* pdu_size_fixed_part */
2077 	0,		/* pdu_size_variable_part */
2078 	20,		/* c_size_fixed_part */
2079 	0,		/* c_size_variable_part */
2080 };
2081 
2082 
2083 /*
2084  *  */
2085 int
2086 ndr__user_disp_info (struct ndr_reference *encl_ref)
2087 {
2088 	struct user_disp_info *val = (struct user_disp_info *) encl_ref->datum;
2089 	struct ndr_reference myref;
2090 
2091 	(void) bzero(&myref, sizeof (myref));
2092 	myref.enclosing = encl_ref;
2093 	myref.stream = encl_ref->stream;
2094 
2095 	/* do all basic elements first */
2096     if (NDR_DIR_IS_OUT) {
2097 	NDR_MEMBER (_ulong, total_size, 0UL);
2098     }
2099     if (NDR_DIR_IS_OUT) {
2100 	NDR_MEMBER (_ulong, returned_size, 4UL);
2101     }
2102     if (NDR_DIR_IS_OUT) {
2103 	NDR_MEMBER (_ushort, switch_value, 8UL);
2104     }
2105 	NDR_MEMBER (_ulong, count, 12UL);
2106 
2107 	/* do all constructed elements w/o pointers */
2108 
2109 	/* do members with pointers in order */
2110 	NDR_MEMBER_PTR_WITH_SIZE_IS (_user_acct_info, acct, 16UL,
2111 		val->count);
2112 
2113 	return 1;
2114 }
2115 
2116 
2117 
2118 int ndr__samr_QueryDispInfo (struct ndr_reference *encl_ref);
2119 struct ndr_typeinfo ndt__samr_QueryDispInfo = {
2120 	1,		/* NDR version */
2121 	3,		/* alignment */
2122 	NDR_F_OPERATION,	/* flags */
2123 	ndr__samr_QueryDispInfo,	/* ndr_func */
2124 	60,		/* pdu_size_fixed_part */
2125 	0,		/* pdu_size_variable_part */
2126 	60,		/* c_size_fixed_part */
2127 	0,		/* c_size_variable_part */
2128 };
2129 
2130 
2131 /*
2132  * [operation(40)]
2133  */
2134 int
2135 ndr__samr_QueryDispInfo (struct ndr_reference *encl_ref)
2136 {
2137 	struct samr_QueryDispInfo *val = (struct samr_QueryDispInfo *) encl_ref->datum;
2138 	struct ndr_reference myref;
2139 
2140 	(void) bzero(&myref, sizeof (myref));
2141 	myref.enclosing = encl_ref;
2142 	myref.stream = encl_ref->stream;
2143 
2144 	/* do all members in order */
2145     if (NDR_DIR_IS_IN) {
2146 	NDR_TOPMOST_MEMBER (_samr_handle, domain_handle);
2147     }
2148     if (NDR_DIR_IS_IN) {
2149 	NDR_TOPMOST_MEMBER (_ushort, level);
2150     }
2151     if (NDR_DIR_IS_IN) {
2152 	NDR_TOPMOST_MEMBER (_ulong, start_idx);
2153     }
2154     if (NDR_DIR_IS_IN) {
2155 	NDR_TOPMOST_MEMBER (_ulong, max_entries);
2156     }
2157     if (NDR_DIR_IS_IN) {
2158 	NDR_TOPMOST_MEMBER (_ulong, pref_maxsize);
2159     }
2160     if (NDR_DIR_IS_OUT) {
2161 	NDR_TOPMOST_MEMBER (_user_disp_info, users);
2162     }
2163     if (NDR_DIR_IS_OUT) {
2164 	NDR_TOPMOST_MEMBER (_ulong, status);
2165     }
2166 
2167 	return 1;
2168 }
2169 
2170 
2171 
2172 int ndr__group_acct_info (struct ndr_reference *encl_ref);
2173 struct ndr_typeinfo ndt__group_acct_info = {
2174 	1,		/* NDR version */
2175 	3,		/* alignment */
2176 	NDR_F_STRUCT,	/* flags */
2177 	ndr__group_acct_info,	/* ndr_func */
2178 	28,		/* pdu_size_fixed_part */
2179 	0,		/* pdu_size_variable_part */
2180 	28,		/* c_size_fixed_part */
2181 	0,		/* c_size_variable_part */
2182 };
2183 
2184 
2185 /*
2186  *  */
2187 int
2188 ndr__group_acct_info (struct ndr_reference *encl_ref)
2189 {
2190 	struct group_acct_info *val = (struct group_acct_info *) encl_ref->datum;
2191 	struct ndr_reference myref;
2192 
2193 	(void) bzero(&myref, sizeof (myref));
2194 	myref.enclosing = encl_ref;
2195 	myref.stream = encl_ref->stream;
2196 
2197 	/* do all basic elements first */
2198 	NDR_MEMBER (_ulong, index, 0UL);
2199 	NDR_MEMBER (_ulong, rid, 4UL);
2200 	NDR_MEMBER (_ulong, ctrl, 8UL);
2201 
2202 	/* do all constructed elements w/o pointers */
2203 
2204 	/* do members with pointers in order */
2205 	NDR_MEMBER (_samr_string, name, 12UL);
2206 	NDR_MEMBER (_samr_string, desc, 20UL);
2207 
2208 	return 1;
2209 }
2210 
2211 
2212 
2213 int ndr__group_disp_info (struct ndr_reference *encl_ref);
2214 struct ndr_typeinfo ndt__group_disp_info = {
2215 	1,		/* NDR version */
2216 	3,		/* alignment */
2217 	NDR_F_STRUCT,	/* flags */
2218 	ndr__group_disp_info,	/* ndr_func */
2219 	32,		/* pdu_size_fixed_part */
2220 	0,		/* pdu_size_variable_part */
2221 	32,		/* c_size_fixed_part */
2222 	0,		/* c_size_variable_part */
2223 };
2224 
2225 
2226 /*
2227  *  */
2228 int
2229 ndr__group_disp_info (struct ndr_reference *encl_ref)
2230 {
2231 	struct group_disp_info *val = (struct group_disp_info *) encl_ref->datum;
2232 	struct ndr_reference myref;
2233 
2234 	(void) bzero(&myref, sizeof (myref));
2235 	myref.enclosing = encl_ref;
2236 	myref.stream = encl_ref->stream;
2237 
2238 	/* do all basic elements first */
2239 	NDR_MEMBER (_ulong, count, 0UL);
2240 
2241 	/* do all constructed elements w/o pointers */
2242 
2243 	/* do members with pointers in order */
2244 	NDR_MEMBER_ARR_WITH_DIMENSION (_group_acct_info, acct, 4UL,
2245 		1);
2246 
2247 	return 1;
2248 }
2249 
2250 
2251 
2252 int ndr__samr_EnumDomainGroups (struct ndr_reference *encl_ref);
2253 struct ndr_typeinfo ndt__samr_EnumDomainGroups = {
2254 	1,		/* NDR version */
2255 	3,		/* alignment */
2256 	NDR_F_OPERATION,	/* flags */
2257 	ndr__samr_EnumDomainGroups,	/* ndr_func */
2258 	60,		/* pdu_size_fixed_part */
2259 	0,		/* pdu_size_variable_part */
2260 	60,		/* c_size_fixed_part */
2261 	0,		/* c_size_variable_part */
2262 };
2263 
2264 
2265 /*
2266  * [operation(48)]
2267  */
2268 int
2269 ndr__samr_EnumDomainGroups (struct ndr_reference *encl_ref)
2270 {
2271 	struct samr_EnumDomainGroups *val = (struct samr_EnumDomainGroups *) encl_ref->datum;
2272 	struct ndr_reference myref;
2273 
2274 	(void) bzero(&myref, sizeof (myref));
2275 	myref.enclosing = encl_ref;
2276 	myref.stream = encl_ref->stream;
2277 
2278 	/* do all members in order */
2279     if (NDR_DIR_IS_IN) {
2280 	NDR_TOPMOST_MEMBER (_samr_handle, domain_handle);
2281     }
2282     if (NDR_DIR_IS_IN) {
2283 	NDR_TOPMOST_MEMBER (_ushort, level);
2284     }
2285     if (NDR_DIR_IS_IN) {
2286 	NDR_TOPMOST_MEMBER (_ulong, start_idx);
2287     }
2288     if (NDR_DIR_IS_IN) {
2289 	NDR_TOPMOST_MEMBER (_ulong, max_entries);
2290     }
2291     if (NDR_DIR_IS_IN) {
2292 	NDR_TOPMOST_MEMBER (_ulong, pref_maxsize);
2293     }
2294     if (NDR_DIR_IS_OUT) {
2295 	NDR_TOPMOST_MEMBER (_ulong, total_size);
2296     }
2297     if (NDR_DIR_IS_OUT) {
2298 	NDR_TOPMOST_MEMBER (_ulong, returned_size);
2299     }
2300     if (NDR_DIR_IS_OUT) {
2301 	NDR_TOPMOST_MEMBER (_ushort, switch_value);
2302     }
2303     if (NDR_DIR_IS_OUT) {
2304 	NDR_TOPMOST_MEMBER (_ulong, count);
2305     }
2306     if (NDR_DIR_IS_OUT) {
2307 	NDR_TOPMOST_MEMBER_PTR (_group_disp_info, groups);
2308     }
2309     if (NDR_DIR_IS_OUT) {
2310 	NDR_TOPMOST_MEMBER (_ulong, status);
2311     }
2312 
2313 	return 1;
2314 }
2315 
2316 
2317 
2318 int ndr__samr_OpenUser (struct ndr_reference *encl_ref);
2319 struct ndr_typeinfo ndt__samr_OpenUser = {
2320 	1,		/* NDR version */
2321 	3,		/* alignment */
2322 	NDR_F_OPERATION,	/* flags */
2323 	ndr__samr_OpenUser,	/* ndr_func */
2324 	52,		/* pdu_size_fixed_part */
2325 	0,		/* pdu_size_variable_part */
2326 	52,		/* c_size_fixed_part */
2327 	0,		/* c_size_variable_part */
2328 };
2329 
2330 
2331 /*
2332  * [operation(34)]
2333  */
2334 int
2335 ndr__samr_OpenUser (struct ndr_reference *encl_ref)
2336 {
2337 	struct samr_OpenUser *val = (struct samr_OpenUser *) encl_ref->datum;
2338 	struct ndr_reference myref;
2339 
2340 	(void) bzero(&myref, sizeof (myref));
2341 	myref.enclosing = encl_ref;
2342 	myref.stream = encl_ref->stream;
2343 
2344 	/* do all members in order */
2345     if (NDR_DIR_IS_IN) {
2346 	NDR_TOPMOST_MEMBER (_samr_handle, handle);
2347     }
2348     if (NDR_DIR_IS_IN) {
2349 	NDR_TOPMOST_MEMBER (_ulong, access_mask);
2350     }
2351     if (NDR_DIR_IS_IN) {
2352 	NDR_TOPMOST_MEMBER (_ulong, rid);
2353     }
2354     if (NDR_DIR_IS_OUT) {
2355 	NDR_TOPMOST_MEMBER (_samr_handle, user_handle);
2356     }
2357     if (NDR_DIR_IS_OUT) {
2358 	NDR_TOPMOST_MEMBER (_ulong, status);
2359     }
2360 
2361 	return 1;
2362 }
2363 
2364 
2365 
2366 int ndr__samr_DeleteUser (struct ndr_reference *encl_ref);
2367 struct ndr_typeinfo ndt__samr_DeleteUser = {
2368 	1,		/* NDR version */
2369 	3,		/* alignment */
2370 	NDR_F_OPERATION,	/* flags */
2371 	ndr__samr_DeleteUser,	/* ndr_func */
2372 	24,		/* pdu_size_fixed_part */
2373 	0,		/* pdu_size_variable_part */
2374 	24,		/* c_size_fixed_part */
2375 	0,		/* c_size_variable_part */
2376 };
2377 
2378 
2379 /*
2380  * [operation(35)]
2381  */
2382 int
2383 ndr__samr_DeleteUser (struct ndr_reference *encl_ref)
2384 {
2385 	struct samr_DeleteUser *val = (struct samr_DeleteUser *) encl_ref->datum;
2386 	struct ndr_reference myref;
2387 
2388 	(void) bzero(&myref, sizeof (myref));
2389 	myref.enclosing = encl_ref;
2390 	myref.stream = encl_ref->stream;
2391 
2392 	/* do all members in order */
2393 	NDR_TOPMOST_MEMBER (_samr_handle, user_handle);
2394     if (NDR_DIR_IS_OUT) {
2395 	NDR_TOPMOST_MEMBER (_ulong, status);
2396     }
2397 
2398 	return 1;
2399 }
2400 
2401 
2402 
2403 int ndr__samr_QueryUserInfo1 (struct ndr_reference *encl_ref);
2404 struct ndr_typeinfo ndt__samr_QueryUserInfo1 = {
2405 	1,		/* NDR version */
2406 	3,		/* alignment */
2407 	NDR_F_STRUCT,	/* flags */
2408 	ndr__samr_QueryUserInfo1,	/* ndr_func */
2409 	36,		/* pdu_size_fixed_part */
2410 	0,		/* pdu_size_variable_part */
2411 	36,		/* c_size_fixed_part */
2412 	0,		/* c_size_variable_part */
2413 };
2414 
2415 
2416 /*
2417  *  */
2418 int
2419 ndr__samr_QueryUserInfo1 (struct ndr_reference *encl_ref)
2420 {
2421 	struct samr_QueryUserInfo1 *val = (struct samr_QueryUserInfo1 *) encl_ref->datum;
2422 	struct ndr_reference myref;
2423 
2424 	(void) bzero(&myref, sizeof (myref));
2425 	myref.enclosing = encl_ref;
2426 	myref.stream = encl_ref->stream;
2427 
2428 	/* do all basic elements first */
2429 	NDR_MEMBER (_ulong, group_rid, 16UL);
2430 
2431 	/* do all constructed elements w/o pointers */
2432 
2433 	/* do members with pointers in order */
2434 	NDR_MEMBER (_samr_string, username, 0UL);
2435 	NDR_MEMBER (_samr_string, fullname, 8UL);
2436 	NDR_MEMBER (_samr_string, description, 20UL);
2437 	NDR_MEMBER (_samr_string, unknown, 28UL);
2438 
2439 	return 1;
2440 }
2441 
2442 
2443 
2444 int ndr__samr_QueryUserInfo6 (struct ndr_reference *encl_ref);
2445 struct ndr_typeinfo ndt__samr_QueryUserInfo6 = {
2446 	1,		/* NDR version */
2447 	3,		/* alignment */
2448 	NDR_F_STRUCT,	/* flags */
2449 	ndr__samr_QueryUserInfo6,	/* ndr_func */
2450 	16,		/* pdu_size_fixed_part */
2451 	0,		/* pdu_size_variable_part */
2452 	16,		/* c_size_fixed_part */
2453 	0,		/* c_size_variable_part */
2454 };
2455 
2456 
2457 /*
2458  *  */
2459 int
2460 ndr__samr_QueryUserInfo6 (struct ndr_reference *encl_ref)
2461 {
2462 	struct samr_QueryUserInfo6 *val = (struct samr_QueryUserInfo6 *) encl_ref->datum;
2463 	struct ndr_reference myref;
2464 
2465 	(void) bzero(&myref, sizeof (myref));
2466 	myref.enclosing = encl_ref;
2467 	myref.stream = encl_ref->stream;
2468 
2469 	/* do all basic elements first */
2470 
2471 	/* do all constructed elements w/o pointers */
2472 
2473 	/* do members with pointers in order */
2474 	NDR_MEMBER (_samr_string, username, 0UL);
2475 	NDR_MEMBER (_samr_string, fullname, 8UL);
2476 
2477 	return 1;
2478 }
2479 
2480 
2481 
2482 int ndr__samr_QueryUserInfo7 (struct ndr_reference *encl_ref);
2483 struct ndr_typeinfo ndt__samr_QueryUserInfo7 = {
2484 	1,		/* NDR version */
2485 	3,		/* alignment */
2486 	NDR_F_STRUCT,	/* flags */
2487 	ndr__samr_QueryUserInfo7,	/* ndr_func */
2488 	8,		/* pdu_size_fixed_part */
2489 	0,		/* pdu_size_variable_part */
2490 	8,		/* c_size_fixed_part */
2491 	0,		/* c_size_variable_part */
2492 };
2493 
2494 
2495 /*
2496  *  */
2497 int
2498 ndr__samr_QueryUserInfo7 (struct ndr_reference *encl_ref)
2499 {
2500 	struct samr_QueryUserInfo7 *val = (struct samr_QueryUserInfo7 *) encl_ref->datum;
2501 	struct ndr_reference myref;
2502 
2503 	(void) bzero(&myref, sizeof (myref));
2504 	myref.enclosing = encl_ref;
2505 	myref.stream = encl_ref->stream;
2506 
2507 	/* do all basic elements first */
2508 
2509 	/* do all constructed elements w/o pointers */
2510 
2511 	/* do members with pointers in order */
2512 	NDR_MEMBER (_samr_string, username, 0UL);
2513 
2514 	return 1;
2515 }
2516 
2517 
2518 
2519 int ndr__samr_QueryUserInfo8 (struct ndr_reference *encl_ref);
2520 struct ndr_typeinfo ndt__samr_QueryUserInfo8 = {
2521 	1,		/* NDR version */
2522 	3,		/* alignment */
2523 	NDR_F_STRUCT,	/* flags */
2524 	ndr__samr_QueryUserInfo8,	/* ndr_func */
2525 	8,		/* pdu_size_fixed_part */
2526 	0,		/* pdu_size_variable_part */
2527 	8,		/* c_size_fixed_part */
2528 	0,		/* c_size_variable_part */
2529 };
2530 
2531 
2532 /*
2533  *  */
2534 int
2535 ndr__samr_QueryUserInfo8 (struct ndr_reference *encl_ref)
2536 {
2537 	struct samr_QueryUserInfo8 *val = (struct samr_QueryUserInfo8 *) encl_ref->datum;
2538 	struct ndr_reference myref;
2539 
2540 	(void) bzero(&myref, sizeof (myref));
2541 	myref.enclosing = encl_ref;
2542 	myref.stream = encl_ref->stream;
2543 
2544 	/* do all basic elements first */
2545 
2546 	/* do all constructed elements w/o pointers */
2547 
2548 	/* do members with pointers in order */
2549 	NDR_MEMBER (_samr_string, fullname, 0UL);
2550 
2551 	return 1;
2552 }
2553 
2554 
2555 
2556 int ndr__samr_QueryUserInfo9 (struct ndr_reference *encl_ref);
2557 struct ndr_typeinfo ndt__samr_QueryUserInfo9 = {
2558 	1,		/* NDR version */
2559 	3,		/* alignment */
2560 	NDR_F_STRUCT,	/* flags */
2561 	ndr__samr_QueryUserInfo9,	/* ndr_func */
2562 	4,		/* pdu_size_fixed_part */
2563 	0,		/* pdu_size_variable_part */
2564 	4,		/* c_size_fixed_part */
2565 	0,		/* c_size_variable_part */
2566 };
2567 
2568 
2569 /*
2570  *  */
2571 int
2572 ndr__samr_QueryUserInfo9 (struct ndr_reference *encl_ref)
2573 {
2574 	struct samr_QueryUserInfo9 *val = (struct samr_QueryUserInfo9 *) encl_ref->datum;
2575 	struct ndr_reference myref;
2576 
2577 	(void) bzero(&myref, sizeof (myref));
2578 	myref.enclosing = encl_ref;
2579 	myref.stream = encl_ref->stream;
2580 
2581 	/* do all basic elements first */
2582 	NDR_MEMBER (_ulong, group_rid, 0UL);
2583 
2584 	/* do all constructed elements w/o pointers */
2585 
2586 	/* do members with pointers in order */
2587 
2588 	return 1;
2589 }
2590 
2591 
2592 
2593 int ndr__samr_QueryUserInfo16 (struct ndr_reference *encl_ref);
2594 struct ndr_typeinfo ndt__samr_QueryUserInfo16 = {
2595 	1,		/* NDR version */
2596 	3,		/* alignment */
2597 	NDR_F_STRUCT,	/* flags */
2598 	ndr__samr_QueryUserInfo16,	/* ndr_func */
2599 	4,		/* pdu_size_fixed_part */
2600 	0,		/* pdu_size_variable_part */
2601 	4,		/* c_size_fixed_part */
2602 	0,		/* c_size_variable_part */
2603 };
2604 
2605 
2606 /*
2607  *  */
2608 int
2609 ndr__samr_QueryUserInfo16 (struct ndr_reference *encl_ref)
2610 {
2611 	struct samr_QueryUserInfo16 *val = (struct samr_QueryUserInfo16 *) encl_ref->datum;
2612 	struct ndr_reference myref;
2613 
2614 	(void) bzero(&myref, sizeof (myref));
2615 	myref.enclosing = encl_ref;
2616 	myref.stream = encl_ref->stream;
2617 
2618 	/* do all basic elements first */
2619 	NDR_MEMBER (_ulong, UserAccountControl, 0UL);
2620 
2621 	/* do all constructed elements w/o pointers */
2622 
2623 	/* do members with pointers in order */
2624 
2625 	return 1;
2626 }
2627 
2628 
2629 
2630 int ndr__samr_QueryUserInfo21 (struct ndr_reference *encl_ref);
2631 struct ndr_typeinfo ndt__samr_QueryUserInfo21 = {
2632 	1,		/* NDR version */
2633 	3,		/* alignment */
2634 	NDR_F_STRUCT,	/* flags */
2635 	ndr__samr_QueryUserInfo21,	/* ndr_func */
2636 	196,		/* pdu_size_fixed_part */
2637 	0,		/* pdu_size_variable_part */
2638 	196,		/* c_size_fixed_part */
2639 	0,		/* c_size_variable_part */
2640 };
2641 
2642 
2643 /*
2644  *  */
2645 int
2646 ndr__samr_QueryUserInfo21 (struct ndr_reference *encl_ref)
2647 {
2648 	struct samr_QueryUserInfo21 *val = (struct samr_QueryUserInfo21 *) encl_ref->datum;
2649 	struct ndr_reference myref;
2650 
2651 	(void) bzero(&myref, sizeof (myref));
2652 	myref.enclosing = encl_ref;
2653 	myref.stream = encl_ref->stream;
2654 
2655 	/* do all basic elements first */
2656 	NDR_MEMBER (_ulong, UserId, 160UL);
2657 	NDR_MEMBER (_ulong, PrimaryGroupId, 164UL);
2658 	NDR_MEMBER (_ulong, UserAccountControl, 168UL);
2659 	NDR_MEMBER (_ulong, WhichFields, 172UL);
2660 	NDR_MEMBER (_ushort, BadPasswordCount, 184UL);
2661 	NDR_MEMBER (_ushort, LogonCount, 186UL);
2662 	NDR_MEMBER (_ushort, CountryCode, 188UL);
2663 	NDR_MEMBER (_ushort, CodePage, 190UL);
2664 	NDR_MEMBER (_uchar, LmPasswordPresent, 192UL);
2665 	NDR_MEMBER (_uchar, NtPasswordPresent, 193UL);
2666 	NDR_MEMBER (_uchar, PasswordExpired, 194UL);
2667 	NDR_MEMBER (_uchar, PrivateDataSensitive, 195UL);
2668 
2669 	/* do all constructed elements w/o pointers */
2670 	NDR_MEMBER (_samr_quad, LastLogon, 0UL);
2671 	NDR_MEMBER (_samr_quad, LastLogoff, 8UL);
2672 	NDR_MEMBER (_samr_quad, PasswordLastSet, 16UL);
2673 	NDR_MEMBER (_samr_quad, AccountExpires, 24UL);
2674 	NDR_MEMBER (_samr_quad, PasswordCanChange, 32UL);
2675 	NDR_MEMBER (_samr_quad, PasswordMustChange, 40UL);
2676 
2677 	/* do members with pointers in order */
2678 	NDR_MEMBER (_samr_string, UserName, 48UL);
2679 	NDR_MEMBER (_samr_string, FullName, 56UL);
2680 	NDR_MEMBER (_samr_string, HomeDirectory, 64UL);
2681 	NDR_MEMBER (_samr_string, HomeDirectoryDrive, 72UL);
2682 	NDR_MEMBER (_samr_string, ScriptPath, 80UL);
2683 	NDR_MEMBER (_samr_string, ProfilePath, 88UL);
2684 	NDR_MEMBER (_samr_string, AdminComment, 96UL);
2685 	NDR_MEMBER (_samr_string, WorkStations, 104UL);
2686 	NDR_MEMBER (_samr_string, UserComment, 112UL);
2687 	NDR_MEMBER (_samr_string, Parameters, 120UL);
2688 	NDR_MEMBER (_samr_short_blob, LmOwfPassword, 128UL);
2689 	NDR_MEMBER (_samr_short_blob, NtOwfPassword, 136UL);
2690 	NDR_MEMBER (_samr_string, PrivateData, 144UL);
2691 	NDR_MEMBER (_samr_sd, SecurityDescriptor, 152UL);
2692 	NDR_MEMBER (_samr_logon_hours_all, LogonHours, 176UL);
2693 
2694 	return 1;
2695 }
2696 
2697 
2698 
2699 int ndr__QueryUserInfo_result_u (struct ndr_reference *encl_ref);
2700 struct ndr_typeinfo ndt__QueryUserInfo_result_u = {
2701 	1,		/* NDR version */
2702 	3,		/* alignment */
2703 	NDR_F_UNION,	/* flags */
2704 	ndr__QueryUserInfo_result_u,	/* ndr_func */
2705 	196,		/* pdu_size_fixed_part */
2706 	0,		/* pdu_size_variable_part */
2707 	196,		/* c_size_fixed_part */
2708 	0,		/* c_size_variable_part */
2709 };
2710 
2711 
2712 /*
2713  *  */
2714 int
2715 ndr__QueryUserInfo_result_u (struct ndr_reference *encl_ref)
2716 {
2717 	union QueryUserInfo_result_u *val = (union QueryUserInfo_result_u *) encl_ref->datum;
2718 	struct ndr_reference myref;
2719 
2720 	(void) bzero(&myref, sizeof (myref));
2721 	myref.enclosing = encl_ref;
2722 	myref.stream = encl_ref->stream;
2723 
2724     switch (encl_ref->switch_is) {
2725     case 1:
2726 	NDR_MEMBER (_samr_QueryUserInfo1, info1, 0UL);
2727 	break;
2728 
2729     case 6:
2730 	NDR_MEMBER (_samr_QueryUserInfo6, info6, 0UL);
2731 	break;
2732 
2733     case 7:
2734 	NDR_MEMBER (_samr_QueryUserInfo7, info7, 0UL);
2735 	break;
2736 
2737     case 8:
2738 	NDR_MEMBER (_samr_QueryUserInfo8, info8, 0UL);
2739 	break;
2740 
2741     case 9:
2742 	NDR_MEMBER (_samr_QueryUserInfo9, info9, 0UL);
2743 	break;
2744 
2745     case 16:
2746 	NDR_MEMBER (_samr_QueryUserInfo16, info16, 0UL);
2747 	break;
2748 
2749     case 21:
2750 	NDR_MEMBER (_samr_QueryUserInfo21, info21, 0UL);
2751 	break;
2752 
2753     default:
2754 	NDR_MEMBER_PTR (_char, nullptr, 0UL);
2755 	break;
2756 
2757     }
2758 
2759 
2760 	return 1;
2761 }
2762 
2763 
2764 
2765 int ndr__QueryUserInfo_result (struct ndr_reference *encl_ref);
2766 struct ndr_typeinfo ndt__QueryUserInfo_result = {
2767 	1,		/* NDR version */
2768 	3,		/* alignment */
2769 	NDR_F_STRUCT,	/* flags */
2770 	ndr__QueryUserInfo_result,	/* ndr_func */
2771 	204,		/* pdu_size_fixed_part */
2772 	0,		/* pdu_size_variable_part */
2773 	204,		/* c_size_fixed_part */
2774 	0,		/* c_size_variable_part */
2775 };
2776 
2777 
2778 /*
2779  *  */
2780 int
2781 ndr__QueryUserInfo_result (struct ndr_reference *encl_ref)
2782 {
2783 	struct QueryUserInfo_result *val = (struct QueryUserInfo_result *) encl_ref->datum;
2784 	struct ndr_reference myref;
2785 
2786 	(void) bzero(&myref, sizeof (myref));
2787 	myref.enclosing = encl_ref;
2788 	myref.stream = encl_ref->stream;
2789 
2790 	/* do all basic elements first */
2791 	NDR_MEMBER (_ulong, address, 0UL);
2792 	NDR_MEMBER (_ushort, switch_value, 4UL);
2793 
2794 	/* do all constructed elements w/o pointers */
2795 
2796 	/* do members with pointers in order */
2797 	NDR_MEMBER_WITH_SWITCH_IS (_QueryUserInfo_result_u, ru, 8UL,
2798 		val->switch_value);
2799 
2800 	return 1;
2801 }
2802 
2803 
2804 
2805 int ndr__samr_QueryUserInfo (struct ndr_reference *encl_ref);
2806 struct ndr_typeinfo ndt__samr_QueryUserInfo = {
2807 	1,		/* NDR version */
2808 	3,		/* alignment */
2809 	NDR_F_OPERATION,	/* flags */
2810 	ndr__samr_QueryUserInfo,	/* ndr_func */
2811 	232,		/* pdu_size_fixed_part */
2812 	0,		/* pdu_size_variable_part */
2813 	232,		/* c_size_fixed_part */
2814 	0,		/* c_size_variable_part */
2815 };
2816 
2817 
2818 extern void fixup_samr_QueryUserInfo(struct samr_QueryUserInfo *val);
2819 
2820 /*
2821  * [operation(36)]
2822  */
2823 int
2824 ndr__samr_QueryUserInfo (struct ndr_reference *encl_ref)
2825 {
2826 	struct samr_QueryUserInfo *val = (struct samr_QueryUserInfo *) encl_ref->datum;
2827 	struct ndr_reference myref;
2828 
2829 	(void) bzero(&myref, sizeof (myref));
2830 	myref.enclosing = encl_ref;
2831 	myref.stream = encl_ref->stream;
2832 
2833 	/* do all members in order */
2834     if (NDR_DIR_IS_IN) {
2835 	NDR_TOPMOST_MEMBER (_samr_handle, user_handle);
2836     }
2837     if (NDR_DIR_IS_IN) {
2838 	NDR_TOPMOST_MEMBER (_ushort, switch_value);
2839     }
2840     if (NDR_DIR_IS_OUT) {
2841 	NDR_TOPMOST_MEMBER (_ulong, address);
2842     }
2843     if (NDR_DIR_IS_OUT) {
2844 	NDR_TOPMOST_MEMBER (_ushort, switch_index);
2845     }
2846     if (NDR_DIR_IS_OUT) {
2847 	/*
2848 	 * Cannot use the canned offsets to unmarshall multiple
2849 	 * entry discriminated unions.  The service must provide
2850 	 * this function to patch the offsets at runtime.
2851 	 */
2852 	fixup_samr_QueryUserInfo(val);
2853 	NDR_TOPMOST_MEMBER_WITH_SWITCH_IS (_QueryUserInfo_result_u, ru,
2854 		val->switch_value);
2855     }
2856     if (NDR_DIR_IS_OUT) {
2857 	NDR_TOPMOST_MEMBER (_ulong, status);
2858     }
2859 
2860 	return 1;
2861 }
2862 
2863 
2864 
2865 int ndr__samr_UserGroups (struct ndr_reference *encl_ref);
2866 struct ndr_typeinfo ndt__samr_UserGroups = {
2867 	1,		/* NDR version */
2868 	3,		/* alignment */
2869 	NDR_F_STRUCT,	/* flags */
2870 	ndr__samr_UserGroups,	/* ndr_func */
2871 	8,		/* pdu_size_fixed_part */
2872 	0,		/* pdu_size_variable_part */
2873 	8,		/* c_size_fixed_part */
2874 	0,		/* c_size_variable_part */
2875 };
2876 
2877 
2878 /*
2879  *  */
2880 int
2881 ndr__samr_UserGroups (struct ndr_reference *encl_ref)
2882 {
2883 	struct samr_UserGroups *val = (struct samr_UserGroups *) encl_ref->datum;
2884 	struct ndr_reference myref;
2885 
2886 	(void) bzero(&myref, sizeof (myref));
2887 	myref.enclosing = encl_ref;
2888 	myref.stream = encl_ref->stream;
2889 
2890 	/* do all basic elements first */
2891 	NDR_MEMBER (_ulong, rid, 0UL);
2892 	NDR_MEMBER (_ulong, attr, 4UL);
2893 
2894 	/* do all constructed elements w/o pointers */
2895 
2896 	/* do members with pointers in order */
2897 
2898 	return 1;
2899 }
2900 
2901 
2902 
2903 int ndr__samr_UserGroupInfo (struct ndr_reference *encl_ref);
2904 struct ndr_typeinfo ndt__samr_UserGroupInfo = {
2905 	1,		/* NDR version */
2906 	3,		/* alignment */
2907 	NDR_F_STRUCT,	/* flags */
2908 	ndr__samr_UserGroupInfo,	/* ndr_func */
2909 	8,		/* pdu_size_fixed_part */
2910 	0,		/* pdu_size_variable_part */
2911 	8,		/* c_size_fixed_part */
2912 	0,		/* c_size_variable_part */
2913 };
2914 
2915 
2916 /*
2917  *  */
2918 int
2919 ndr__samr_UserGroupInfo (struct ndr_reference *encl_ref)
2920 {
2921 	struct samr_UserGroupInfo *val = (struct samr_UserGroupInfo *) encl_ref->datum;
2922 	struct ndr_reference myref;
2923 
2924 	(void) bzero(&myref, sizeof (myref));
2925 	myref.enclosing = encl_ref;
2926 	myref.stream = encl_ref->stream;
2927 
2928 	/* do all basic elements first */
2929 	NDR_MEMBER (_ulong, n_entry, 0UL);
2930 
2931 	/* do all constructed elements w/o pointers */
2932 
2933 	/* do members with pointers in order */
2934 	NDR_MEMBER_PTR_WITH_SIZE_IS (_samr_UserGroups, groups, 4UL,
2935 		val->n_entry);
2936 
2937 	return 1;
2938 }
2939 
2940 
2941 
2942 int ndr__samr_QueryUserGroups (struct ndr_reference *encl_ref);
2943 struct ndr_typeinfo ndt__samr_QueryUserGroups = {
2944 	1,		/* NDR version */
2945 	3,		/* alignment */
2946 	NDR_F_OPERATION,	/* flags */
2947 	ndr__samr_QueryUserGroups,	/* ndr_func */
2948 	28,		/* pdu_size_fixed_part */
2949 	0,		/* pdu_size_variable_part */
2950 	28,		/* c_size_fixed_part */
2951 	0,		/* c_size_variable_part */
2952 };
2953 
2954 
2955 /*
2956  * [operation(39)]
2957  */
2958 int
2959 ndr__samr_QueryUserGroups (struct ndr_reference *encl_ref)
2960 {
2961 	struct samr_QueryUserGroups *val = (struct samr_QueryUserGroups *) encl_ref->datum;
2962 	struct ndr_reference myref;
2963 
2964 	(void) bzero(&myref, sizeof (myref));
2965 	myref.enclosing = encl_ref;
2966 	myref.stream = encl_ref->stream;
2967 
2968 	/* do all members in order */
2969     if (NDR_DIR_IS_IN) {
2970 	NDR_TOPMOST_MEMBER (_samr_handle, user_handle);
2971     }
2972     if (NDR_DIR_IS_OUT) {
2973 	NDR_TOPMOST_MEMBER_PTR (_samr_UserGroupInfo, info);
2974     }
2975     if (NDR_DIR_IS_OUT) {
2976 	NDR_TOPMOST_MEMBER (_ulong, status);
2977     }
2978 
2979 	return 1;
2980 }
2981 
2982 
2983 
2984 int ndr__samr_LookupNameTable (struct ndr_reference *encl_ref);
2985 struct ndr_typeinfo ndt__samr_LookupNameTable = {
2986 	1,		/* NDR version */
2987 	3,		/* alignment */
2988 	NDR_F_CONFORMANT|NDR_F_STRUCT,	/* flags */
2989 	ndr__samr_LookupNameTable,	/* ndr_func */
2990 	4,		/* pdu_size_fixed_part */
2991 	8,		/* pdu_size_variable_part */
2992 	4,		/* c_size_fixed_part */
2993 	8,		/* c_size_variable_part */
2994 };
2995 
2996 
2997 /*
2998  *  */
2999 int
3000 ndr__samr_LookupNameTable (struct ndr_reference *encl_ref)
3001 {
3002 	struct samr_LookupNameTable *val = (struct samr_LookupNameTable *) encl_ref->datum;
3003 	struct ndr_reference myref;
3004 
3005 	(void) bzero(&myref, sizeof (myref));
3006 	myref.enclosing = encl_ref;
3007 	myref.stream = encl_ref->stream;
3008 
3009 	/* do all basic elements first */
3010 	NDR_MEMBER (_ulong, n_entry, 0UL);
3011 
3012 	/* do all constructed elements w/o pointers */
3013 
3014 	/* do members with pointers in order */
3015 	NDR_MEMBER_ARR_WITH_SIZE_IS (_samr_string, names, 4UL,
3016 		val->n_entry);
3017 
3018 	return 1;
3019 }
3020 
3021 
3022 
3023 int ndr__samr_LookupRidTable (struct ndr_reference *encl_ref);
3024 struct ndr_typeinfo ndt__samr_LookupRidTable = {
3025 	1,		/* NDR version */
3026 	3,		/* alignment */
3027 	NDR_F_STRUCT,	/* flags */
3028 	ndr__samr_LookupRidTable,	/* ndr_func */
3029 	8,		/* pdu_size_fixed_part */
3030 	0,		/* pdu_size_variable_part */
3031 	8,		/* c_size_fixed_part */
3032 	0,		/* c_size_variable_part */
3033 };
3034 
3035 
3036 /*
3037  *  */
3038 int
3039 ndr__samr_LookupRidTable (struct ndr_reference *encl_ref)
3040 {
3041 	struct samr_LookupRidTable *val = (struct samr_LookupRidTable *) encl_ref->datum;
3042 	struct ndr_reference myref;
3043 
3044 	(void) bzero(&myref, sizeof (myref));
3045 	myref.enclosing = encl_ref;
3046 	myref.stream = encl_ref->stream;
3047 
3048 	/* do all basic elements first */
3049 	NDR_MEMBER (_ulong, n_entry, 0UL);
3050 
3051 	/* do all constructed elements w/o pointers */
3052 
3053 	/* do members with pointers in order */
3054 	NDR_MEMBER_PTR_WITH_SIZE_IS (_ulong, rid, 4UL,
3055 		val->n_entry);
3056 
3057 	return 1;
3058 }
3059 
3060 
3061 
3062 int ndr__samr_RidType (struct ndr_reference *encl_ref);
3063 struct ndr_typeinfo ndt__samr_RidType = {
3064 	1,		/* NDR version */
3065 	3,		/* alignment */
3066 	NDR_F_STRUCT,	/* flags */
3067 	ndr__samr_RidType,	/* ndr_func */
3068 	8,		/* pdu_size_fixed_part */
3069 	0,		/* pdu_size_variable_part */
3070 	8,		/* c_size_fixed_part */
3071 	0,		/* c_size_variable_part */
3072 };
3073 
3074 
3075 /*
3076  *  */
3077 int
3078 ndr__samr_RidType (struct ndr_reference *encl_ref)
3079 {
3080 	struct samr_RidType *val = (struct samr_RidType *) encl_ref->datum;
3081 	struct ndr_reference myref;
3082 
3083 	(void) bzero(&myref, sizeof (myref));
3084 	myref.enclosing = encl_ref;
3085 	myref.stream = encl_ref->stream;
3086 
3087 	/* do all basic elements first */
3088 	NDR_MEMBER (_ulong, n_entry, 0UL);
3089 
3090 	/* do all constructed elements w/o pointers */
3091 
3092 	/* do members with pointers in order */
3093 	NDR_MEMBER_PTR_WITH_SIZE_IS (_ulong, rid_type, 4UL,
3094 		val->n_entry);
3095 
3096 	return 1;
3097 }
3098 
3099 
3100 
3101 int ndr__samr_LookupNames (struct ndr_reference *encl_ref);
3102 struct ndr_typeinfo ndt__samr_LookupNames = {
3103 	1,		/* NDR version */
3104 	3,		/* alignment */
3105 	NDR_F_OPERATION,	/* flags */
3106 	ndr__samr_LookupNames,	/* ndr_func */
3107 	64,		/* pdu_size_fixed_part */
3108 	0,		/* pdu_size_variable_part */
3109 	64,		/* c_size_fixed_part */
3110 	0,		/* c_size_variable_part */
3111 };
3112 
3113 
3114 /*
3115  * [operation(17)]
3116  */
3117 int
3118 ndr__samr_LookupNames (struct ndr_reference *encl_ref)
3119 {
3120 	struct samr_LookupNames *val = (struct samr_LookupNames *) encl_ref->datum;
3121 	struct ndr_reference myref;
3122 
3123 	(void) bzero(&myref, sizeof (myref));
3124 	myref.enclosing = encl_ref;
3125 	myref.stream = encl_ref->stream;
3126 
3127 	/* do all members in order */
3128     if (NDR_DIR_IS_IN) {
3129 	NDR_TOPMOST_MEMBER (_samr_handle, handle);
3130     }
3131     if (NDR_DIR_IS_IN) {
3132 	NDR_TOPMOST_MEMBER (_ulong, n_entry);
3133     }
3134     if (NDR_DIR_IS_IN) {
3135 	NDR_TOPMOST_MEMBER (_ulong, max_n_entry);
3136     }
3137     if (NDR_DIR_IS_IN) {
3138 	NDR_TOPMOST_MEMBER (_ulong, index);
3139     }
3140     if (NDR_DIR_IS_IN) {
3141 	NDR_TOPMOST_MEMBER (_ulong, total);
3142     }
3143     if (NDR_DIR_IS_IN) {
3144 	NDR_TOPMOST_MEMBER (_samr_string, name);
3145     }
3146     if (NDR_DIR_IS_OUT) {
3147 	NDR_TOPMOST_MEMBER (_samr_LookupRidTable, rids);
3148     }
3149     if (NDR_DIR_IS_OUT) {
3150 	NDR_TOPMOST_MEMBER (_samr_RidType, rid_types);
3151     }
3152     if (NDR_DIR_IS_OUT) {
3153 	NDR_TOPMOST_MEMBER (_ulong, status);
3154     }
3155 
3156 	return 1;
3157 }
3158 
3159 
3160 
3161 int ndr__samr_OpenGroup (struct ndr_reference *encl_ref);
3162 struct ndr_typeinfo ndt__samr_OpenGroup = {
3163 	1,		/* NDR version */
3164 	3,		/* alignment */
3165 	NDR_F_OPERATION,	/* flags */
3166 	ndr__samr_OpenGroup,	/* ndr_func */
3167 	52,		/* pdu_size_fixed_part */
3168 	0,		/* pdu_size_variable_part */
3169 	52,		/* c_size_fixed_part */
3170 	0,		/* c_size_variable_part */
3171 };
3172 
3173 
3174 /*
3175  * [operation(19)]
3176  */
3177 int
3178 ndr__samr_OpenGroup (struct ndr_reference *encl_ref)
3179 {
3180 	struct samr_OpenGroup *val = (struct samr_OpenGroup *) encl_ref->datum;
3181 	struct ndr_reference myref;
3182 
3183 	(void) bzero(&myref, sizeof (myref));
3184 	myref.enclosing = encl_ref;
3185 	myref.stream = encl_ref->stream;
3186 
3187 	/* do all members in order */
3188     if (NDR_DIR_IS_IN) {
3189 	NDR_TOPMOST_MEMBER (_samr_handle, handle);
3190     }
3191     if (NDR_DIR_IS_IN) {
3192 	NDR_TOPMOST_MEMBER (_ulong, access_mask);
3193     }
3194     if (NDR_DIR_IS_IN) {
3195 	NDR_TOPMOST_MEMBER (_ulong, rid);
3196     }
3197     if (NDR_DIR_IS_OUT) {
3198 	NDR_TOPMOST_MEMBER (_samr_handle, group_handle);
3199     }
3200     if (NDR_DIR_IS_OUT) {
3201 	NDR_TOPMOST_MEMBER (_ulong, status);
3202     }
3203 
3204 	return 1;
3205 }
3206 
3207 
3208 
3209 int ndr__samr_QueryGroupInfo1 (struct ndr_reference *encl_ref);
3210 struct ndr_typeinfo ndt__samr_QueryGroupInfo1 = {
3211 	1,		/* NDR version */
3212 	3,		/* alignment */
3213 	NDR_F_STRUCT,	/* flags */
3214 	ndr__samr_QueryGroupInfo1,	/* ndr_func */
3215 	8,		/* pdu_size_fixed_part */
3216 	0,		/* pdu_size_variable_part */
3217 	8,		/* c_size_fixed_part */
3218 	0,		/* c_size_variable_part */
3219 };
3220 
3221 
3222 /*
3223  *  */
3224 int
3225 ndr__samr_QueryGroupInfo1 (struct ndr_reference *encl_ref)
3226 {
3227 	struct samr_QueryGroupInfo1 *val = (struct samr_QueryGroupInfo1 *) encl_ref->datum;
3228 	struct ndr_reference myref;
3229 
3230 	(void) bzero(&myref, sizeof (myref));
3231 	myref.enclosing = encl_ref;
3232 	myref.stream = encl_ref->stream;
3233 
3234 	/* do all basic elements first */
3235 
3236 	/* do all constructed elements w/o pointers */
3237 
3238 	/* do members with pointers in order */
3239 	NDR_MEMBER (_samr_string, groupname, 0UL);
3240 
3241 	return 1;
3242 }
3243 
3244 
3245 
3246 int ndr__samr_QueryGroupInfo_result_u (struct ndr_reference *encl_ref);
3247 struct ndr_typeinfo ndt__samr_QueryGroupInfo_result_u = {
3248 	1,		/* NDR version */
3249 	3,		/* alignment */
3250 	NDR_F_UNION,	/* flags */
3251 	ndr__samr_QueryGroupInfo_result_u,	/* ndr_func */
3252 	8,		/* pdu_size_fixed_part */
3253 	0,		/* pdu_size_variable_part */
3254 	8,		/* c_size_fixed_part */
3255 	0,		/* c_size_variable_part */
3256 };
3257 
3258 
3259 /*
3260  *  */
3261 int
3262 ndr__samr_QueryGroupInfo_result_u (struct ndr_reference *encl_ref)
3263 {
3264 	union samr_QueryGroupInfo_result_u *val = (union samr_QueryGroupInfo_result_u *) encl_ref->datum;
3265 	struct ndr_reference myref;
3266 
3267 	(void) bzero(&myref, sizeof (myref));
3268 	myref.enclosing = encl_ref;
3269 	myref.stream = encl_ref->stream;
3270 
3271     switch (encl_ref->switch_is) {
3272     case 1:
3273 	NDR_MEMBER (_samr_QueryGroupInfo1, info1, 0UL);
3274 	break;
3275 
3276     default:
3277 	NDR_MEMBER_PTR (_char, nullptr, 0UL);
3278 	break;
3279 
3280     }
3281 
3282 
3283 	return 1;
3284 }
3285 
3286 
3287 
3288 int ndr__samr_QueryGroupInfo_result (struct ndr_reference *encl_ref);
3289 struct ndr_typeinfo ndt__samr_QueryGroupInfo_result = {
3290 	1,		/* NDR version */
3291 	3,		/* alignment */
3292 	NDR_F_STRUCT,	/* flags */
3293 	ndr__samr_QueryGroupInfo_result,	/* ndr_func */
3294 	16,		/* pdu_size_fixed_part */
3295 	0,		/* pdu_size_variable_part */
3296 	16,		/* c_size_fixed_part */
3297 	0,		/* c_size_variable_part */
3298 };
3299 
3300 
3301 /*
3302  *  */
3303 int
3304 ndr__samr_QueryGroupInfo_result (struct ndr_reference *encl_ref)
3305 {
3306 	struct samr_QueryGroupInfo_result *val = (struct samr_QueryGroupInfo_result *) encl_ref->datum;
3307 	struct ndr_reference myref;
3308 
3309 	(void) bzero(&myref, sizeof (myref));
3310 	myref.enclosing = encl_ref;
3311 	myref.stream = encl_ref->stream;
3312 
3313 	/* do all basic elements first */
3314 	NDR_MEMBER (_ulong, address, 0UL);
3315 	NDR_MEMBER (_ushort, switch_index, 4UL);
3316 
3317 	/* do all constructed elements w/o pointers */
3318 
3319 	/* do members with pointers in order */
3320 	NDR_MEMBER_WITH_SWITCH_IS (_samr_QueryGroupInfo_result_u, ru, 8UL,
3321 		val->switch_index);
3322 
3323 	return 1;
3324 }
3325 
3326 
3327 
3328 int ndr__samr_QueryGroupInfo (struct ndr_reference *encl_ref);
3329 struct ndr_typeinfo ndt__samr_QueryGroupInfo = {
3330 	1,		/* NDR version */
3331 	3,		/* alignment */
3332 	NDR_F_OPERATION,	/* flags */
3333 	ndr__samr_QueryGroupInfo,	/* ndr_func */
3334 	44,		/* pdu_size_fixed_part */
3335 	0,		/* pdu_size_variable_part */
3336 	44,		/* c_size_fixed_part */
3337 	0,		/* c_size_variable_part */
3338 };
3339 
3340 
3341 extern void fixup_samr_QueryGroupInfo(struct samr_QueryGroupInfo *val);
3342 
3343 /*
3344  * [operation(20)]
3345  */
3346 int
3347 ndr__samr_QueryGroupInfo (struct ndr_reference *encl_ref)
3348 {
3349 	struct samr_QueryGroupInfo *val = (struct samr_QueryGroupInfo *) encl_ref->datum;
3350 	struct ndr_reference myref;
3351 
3352 	(void) bzero(&myref, sizeof (myref));
3353 	myref.enclosing = encl_ref;
3354 	myref.stream = encl_ref->stream;
3355 
3356 	/* do all members in order */
3357     if (NDR_DIR_IS_IN) {
3358 	NDR_TOPMOST_MEMBER (_samr_handle, group_handle);
3359     }
3360     if (NDR_DIR_IS_IN) {
3361 	NDR_TOPMOST_MEMBER (_ulong, switch_value);
3362     }
3363     if (NDR_DIR_IS_OUT) {
3364 	NDR_TOPMOST_MEMBER (_ulong, address);
3365     }
3366     if (NDR_DIR_IS_OUT) {
3367 	NDR_TOPMOST_MEMBER (_ushort, switch_index);
3368     }
3369     if (NDR_DIR_IS_OUT) {
3370 	/*
3371 	 * Cannot use the canned offsets to unmarshall multiple
3372 	 * entry discriminated unions.  The service must provide
3373 	 * this function to patch the offsets at runtime.
3374 	 */
3375 	fixup_samr_QueryGroupInfo(val);
3376 	NDR_TOPMOST_MEMBER_WITH_SWITCH_IS (_samr_QueryGroupInfo_result_u, ru,
3377 		val->switch_index);
3378     }
3379     if (NDR_DIR_IS_OUT) {
3380 	NDR_TOPMOST_MEMBER (_ulong, status);
3381     }
3382 
3383 	return 1;
3384 }
3385 
3386 
3387 
3388 int ndr__samr_StoreGroupInfo (struct ndr_reference *encl_ref);
3389 struct ndr_typeinfo ndt__samr_StoreGroupInfo = {
3390 	1,		/* NDR version */
3391 	3,		/* alignment */
3392 	NDR_F_OPERATION,	/* flags */
3393 	ndr__samr_StoreGroupInfo,	/* ndr_func */
3394 	36,		/* pdu_size_fixed_part */
3395 	0,		/* pdu_size_variable_part */
3396 	36,		/* c_size_fixed_part */
3397 	0,		/* c_size_variable_part */
3398 };
3399 
3400 
3401 /*
3402  * [operation(21)]
3403  */
3404 int
3405 ndr__samr_StoreGroupInfo (struct ndr_reference *encl_ref)
3406 {
3407 	struct samr_StoreGroupInfo *val = (struct samr_StoreGroupInfo *) encl_ref->datum;
3408 	struct ndr_reference myref;
3409 
3410 	(void) bzero(&myref, sizeof (myref));
3411 	myref.enclosing = encl_ref;
3412 	myref.stream = encl_ref->stream;
3413 
3414 	/* do all members in order */
3415     if (NDR_DIR_IS_IN) {
3416 	NDR_TOPMOST_MEMBER (_samr_handle, group_handle);
3417     }
3418     if (NDR_DIR_IS_IN) {
3419 	NDR_TOPMOST_MEMBER (_ulong, switch_value);
3420     }
3421     if (NDR_DIR_IS_IN) {
3422 	NDR_TOPMOST_MEMBER (_samr_string, group_description);
3423     }
3424     if (NDR_DIR_IS_OUT) {
3425 	NDR_TOPMOST_MEMBER (_ulong, status);
3426     }
3427 
3428 	return 1;
3429 }
3430 
3431 
3432 
3433 int ndr__samr_AddAliasMember (struct ndr_reference *encl_ref);
3434 struct ndr_typeinfo ndt__samr_AddAliasMember = {
3435 	1,		/* NDR version */
3436 	3,		/* alignment */
3437 	NDR_F_OPERATION,	/* flags */
3438 	ndr__samr_AddAliasMember,	/* ndr_func */
3439 	28,		/* pdu_size_fixed_part */
3440 	0,		/* pdu_size_variable_part */
3441 	28,		/* c_size_fixed_part */
3442 	0,		/* c_size_variable_part */
3443 };
3444 
3445 
3446 /*
3447  * [operation(31)]
3448  */
3449 int
3450 ndr__samr_AddAliasMember (struct ndr_reference *encl_ref)
3451 {
3452 	struct samr_AddAliasMember *val = (struct samr_AddAliasMember *) encl_ref->datum;
3453 	struct ndr_reference myref;
3454 
3455 	(void) bzero(&myref, sizeof (myref));
3456 	myref.enclosing = encl_ref;
3457 	myref.stream = encl_ref->stream;
3458 
3459 	/* do all members in order */
3460     if (NDR_DIR_IS_IN) {
3461 	NDR_TOPMOST_MEMBER (_samr_handle, alias_handle);
3462     }
3463     if (NDR_DIR_IS_IN) {
3464 	NDR_TOPMOST_MEMBER_REF (_samr_sid, sid);
3465     }
3466     if (NDR_DIR_IS_OUT) {
3467 	NDR_TOPMOST_MEMBER (_ulong, status);
3468     }
3469 
3470 	return 1;
3471 }
3472 
3473 
3474 
3475 int ndr__samr_DeleteAliasMember (struct ndr_reference *encl_ref);
3476 struct ndr_typeinfo ndt__samr_DeleteAliasMember = {
3477 	1,		/* NDR version */
3478 	3,		/* alignment */
3479 	NDR_F_OPERATION,	/* flags */
3480 	ndr__samr_DeleteAliasMember,	/* ndr_func */
3481 	28,		/* pdu_size_fixed_part */
3482 	0,		/* pdu_size_variable_part */
3483 	28,		/* c_size_fixed_part */
3484 	0,		/* c_size_variable_part */
3485 };
3486 
3487 
3488 /*
3489  * [operation(32)]
3490  */
3491 int
3492 ndr__samr_DeleteAliasMember (struct ndr_reference *encl_ref)
3493 {
3494 	struct samr_DeleteAliasMember *val = (struct samr_DeleteAliasMember *) encl_ref->datum;
3495 	struct ndr_reference myref;
3496 
3497 	(void) bzero(&myref, sizeof (myref));
3498 	myref.enclosing = encl_ref;
3499 	myref.stream = encl_ref->stream;
3500 
3501 	/* do all members in order */
3502     if (NDR_DIR_IS_IN) {
3503 	NDR_TOPMOST_MEMBER (_samr_handle, alias_handle);
3504     }
3505     if (NDR_DIR_IS_IN) {
3506 	NDR_TOPMOST_MEMBER_REF (_samr_sid, sid);
3507     }
3508     if (NDR_DIR_IS_OUT) {
3509 	NDR_TOPMOST_MEMBER (_ulong, status);
3510     }
3511 
3512 	return 1;
3513 }
3514 
3515 
3516 
3517 int ndr__samr_SidList (struct ndr_reference *encl_ref);
3518 struct ndr_typeinfo ndt__samr_SidList = {
3519 	1,		/* NDR version */
3520 	3,		/* alignment */
3521 	NDR_F_STRUCT,	/* flags */
3522 	ndr__samr_SidList,	/* ndr_func */
3523 	4,		/* pdu_size_fixed_part */
3524 	0,		/* pdu_size_variable_part */
3525 	4,		/* c_size_fixed_part */
3526 	0,		/* c_size_variable_part */
3527 };
3528 
3529 
3530 /*
3531  *  */
3532 int
3533 ndr__samr_SidList (struct ndr_reference *encl_ref)
3534 {
3535 	struct samr_SidList *val = (struct samr_SidList *) encl_ref->datum;
3536 	struct ndr_reference myref;
3537 
3538 	(void) bzero(&myref, sizeof (myref));
3539 	myref.enclosing = encl_ref;
3540 	myref.stream = encl_ref->stream;
3541 
3542 	/* do all basic elements first */
3543 
3544 	/* do all constructed elements w/o pointers */
3545 
3546 	/* do members with pointers in order */
3547 	NDR_MEMBER_PTR (_samr_sid, sid, 0UL);
3548 
3549 	return 1;
3550 }
3551 
3552 
3553 
3554 int ndr__samr_SidInfo (struct ndr_reference *encl_ref);
3555 struct ndr_typeinfo ndt__samr_SidInfo = {
3556 	1,		/* NDR version */
3557 	3,		/* alignment */
3558 	NDR_F_STRUCT,	/* flags */
3559 	ndr__samr_SidInfo,	/* ndr_func */
3560 	8,		/* pdu_size_fixed_part */
3561 	0,		/* pdu_size_variable_part */
3562 	8,		/* c_size_fixed_part */
3563 	0,		/* c_size_variable_part */
3564 };
3565 
3566 
3567 /*
3568  *  */
3569 int
3570 ndr__samr_SidInfo (struct ndr_reference *encl_ref)
3571 {
3572 	struct samr_SidInfo *val = (struct samr_SidInfo *) encl_ref->datum;
3573 	struct ndr_reference myref;
3574 
3575 	(void) bzero(&myref, sizeof (myref));
3576 	myref.enclosing = encl_ref;
3577 	myref.stream = encl_ref->stream;
3578 
3579 	/* do all basic elements first */
3580 	NDR_MEMBER (_ulong, n_entry, 0UL);
3581 
3582 	/* do all constructed elements w/o pointers */
3583 
3584 	/* do members with pointers in order */
3585 	NDR_MEMBER_PTR_WITH_SIZE_IS (_samr_SidList, sidlist, 4UL,
3586 		val->n_entry);
3587 
3588 	return 1;
3589 }
3590 
3591 
3592 
3593 int ndr__samr_ListAliasMembers (struct ndr_reference *encl_ref);
3594 struct ndr_typeinfo ndt__samr_ListAliasMembers = {
3595 	1,		/* NDR version */
3596 	3,		/* alignment */
3597 	NDR_F_OPERATION,	/* flags */
3598 	ndr__samr_ListAliasMembers,	/* ndr_func */
3599 	32,		/* pdu_size_fixed_part */
3600 	0,		/* pdu_size_variable_part */
3601 	32,		/* c_size_fixed_part */
3602 	0,		/* c_size_variable_part */
3603 };
3604 
3605 
3606 /*
3607  * [operation(33)]
3608  */
3609 int
3610 ndr__samr_ListAliasMembers (struct ndr_reference *encl_ref)
3611 {
3612 	struct samr_ListAliasMembers *val = (struct samr_ListAliasMembers *) encl_ref->datum;
3613 	struct ndr_reference myref;
3614 
3615 	(void) bzero(&myref, sizeof (myref));
3616 	myref.enclosing = encl_ref;
3617 	myref.stream = encl_ref->stream;
3618 
3619 	/* do all members in order */
3620     if (NDR_DIR_IS_IN) {
3621 	NDR_TOPMOST_MEMBER (_samr_handle, alias_handle);
3622     }
3623     if (NDR_DIR_IS_OUT) {
3624 	NDR_TOPMOST_MEMBER (_samr_SidInfo, info);
3625     }
3626     if (NDR_DIR_IS_OUT) {
3627 	NDR_TOPMOST_MEMBER (_ulong, status);
3628     }
3629 
3630 	return 1;
3631 }
3632 
3633 
3634 
3635 int ndr__samr_GetUserPwInfo (struct ndr_reference *encl_ref);
3636 struct ndr_typeinfo ndt__samr_GetUserPwInfo = {
3637 	1,		/* NDR version */
3638 	3,		/* alignment */
3639 	NDR_F_OPERATION,	/* flags */
3640 	ndr__samr_GetUserPwInfo,	/* ndr_func */
3641 	28,		/* pdu_size_fixed_part */
3642 	0,		/* pdu_size_variable_part */
3643 	28,		/* c_size_fixed_part */
3644 	0,		/* c_size_variable_part */
3645 };
3646 
3647 
3648 /*
3649  * [operation(44)]
3650  */
3651 int
3652 ndr__samr_GetUserPwInfo (struct ndr_reference *encl_ref)
3653 {
3654 	struct samr_GetUserPwInfo *val = (struct samr_GetUserPwInfo *) encl_ref->datum;
3655 	struct ndr_reference myref;
3656 
3657 	(void) bzero(&myref, sizeof (myref));
3658 	myref.enclosing = encl_ref;
3659 	myref.stream = encl_ref->stream;
3660 
3661 	/* do all members in order */
3662     if (NDR_DIR_IS_IN) {
3663 	NDR_TOPMOST_MEMBER (_samr_handle, user_handle);
3664     }
3665     if (NDR_DIR_IS_OUT) {
3666 	NDR_TOPMOST_MEMBER_REF (_samr_password_info, pwinfo);
3667     }
3668     if (NDR_DIR_IS_OUT) {
3669 	NDR_TOPMOST_MEMBER (_ulong, status);
3670     }
3671 
3672 	return 1;
3673 }
3674 
3675 
3676 
3677 int ndr__samr_CreateUser (struct ndr_reference *encl_ref);
3678 struct ndr_typeinfo ndt__samr_CreateUser = {
3679 	1,		/* NDR version */
3680 	3,		/* alignment */
3681 	NDR_F_OPERATION,	/* flags */
3682 	ndr__samr_CreateUser,	/* ndr_func */
3683 	68,		/* pdu_size_fixed_part */
3684 	0,		/* pdu_size_variable_part */
3685 	68,		/* c_size_fixed_part */
3686 	0,		/* c_size_variable_part */
3687 };
3688 
3689 
3690 /*
3691  * [operation(50)]
3692  */
3693 int
3694 ndr__samr_CreateUser (struct ndr_reference *encl_ref)
3695 {
3696 	struct samr_CreateUser *val = (struct samr_CreateUser *) encl_ref->datum;
3697 	struct ndr_reference myref;
3698 
3699 	(void) bzero(&myref, sizeof (myref));
3700 	myref.enclosing = encl_ref;
3701 	myref.stream = encl_ref->stream;
3702 
3703 	/* do all members in order */
3704     if (NDR_DIR_IS_IN) {
3705 	NDR_TOPMOST_MEMBER (_samr_handle, handle);
3706     }
3707     if (NDR_DIR_IS_IN) {
3708 	NDR_TOPMOST_MEMBER (_samr_vcbuf, username);
3709     }
3710     if (NDR_DIR_IS_IN) {
3711 	NDR_TOPMOST_MEMBER (_ulong, account_flags);
3712     }
3713     if (NDR_DIR_IS_IN) {
3714 	NDR_TOPMOST_MEMBER (_ulong, desired_access);
3715     }
3716     if (NDR_DIR_IS_OUT) {
3717 	NDR_TOPMOST_MEMBER (_samr_handle, user_handle);
3718     }
3719     if (NDR_DIR_IS_OUT) {
3720 	NDR_TOPMOST_MEMBER (_ulong, maybe_ptr);
3721     }
3722     if (NDR_DIR_IS_OUT) {
3723 	NDR_TOPMOST_MEMBER (_ulong, rid);
3724     }
3725     if (NDR_DIR_IS_OUT) {
3726 	NDR_TOPMOST_MEMBER (_ulong, status);
3727     }
3728 
3729 	return 1;
3730 }
3731 
3732 
3733 
3734 int ndr__samr_ChangePasswordUser2 (struct ndr_reference *encl_ref);
3735 struct ndr_typeinfo ndt__samr_ChangePasswordUser2 = {
3736 	1,		/* NDR version */
3737 	3,		/* alignment */
3738 	NDR_F_OPERATION,	/* flags */
3739 	ndr__samr_ChangePasswordUser2,	/* ndr_func */
3740 	32,		/* pdu_size_fixed_part */
3741 	0,		/* pdu_size_variable_part */
3742 	32,		/* c_size_fixed_part */
3743 	0,		/* c_size_variable_part */
3744 };
3745 
3746 
3747 /*
3748  * [operation(55)]
3749  */
3750 int
3751 ndr__samr_ChangePasswordUser2 (struct ndr_reference *encl_ref)
3752 {
3753 	struct samr_ChangePasswordUser2 *val = (struct samr_ChangePasswordUser2 *) encl_ref->datum;
3754 	struct ndr_reference myref;
3755 
3756 	(void) bzero(&myref, sizeof (myref));
3757 	myref.enclosing = encl_ref;
3758 	myref.stream = encl_ref->stream;
3759 
3760 	/* do all members in order */
3761     if (NDR_DIR_IS_IN) {
3762 	NDR_TOPMOST_MEMBER_PTR (_samr_string, servername);
3763     }
3764     if (NDR_DIR_IS_IN) {
3765 	NDR_TOPMOST_MEMBER_REF (_samr_string, username);
3766     }
3767     if (NDR_DIR_IS_IN) {
3768 	NDR_TOPMOST_MEMBER_PTR (_samr_encr_passwd, nt_newpw);
3769     }
3770     if (NDR_DIR_IS_IN) {
3771 	NDR_TOPMOST_MEMBER_PTR (_samr_encr_hash, nt_oldpw);
3772     }
3773     if (NDR_DIR_IS_IN) {
3774 	NDR_TOPMOST_MEMBER (_uchar, lm_present);
3775     }
3776     if (NDR_DIR_IS_IN) {
3777 	NDR_TOPMOST_MEMBER_PTR (_samr_encr_passwd, lm_newpw);
3778     }
3779     if (NDR_DIR_IS_IN) {
3780 	NDR_TOPMOST_MEMBER_PTR (_samr_encr_hash, lm_oldpw);
3781     }
3782     if (NDR_DIR_IS_OUT) {
3783 	NDR_TOPMOST_MEMBER (_ulong, status);
3784     }
3785 
3786 	return 1;
3787 }
3788 
3789 
3790 
3791 int ndr__samr_GetDomainPwInfo (struct ndr_reference *encl_ref);
3792 struct ndr_typeinfo ndt__samr_GetDomainPwInfo = {
3793 	1,		/* NDR version */
3794 	3,		/* alignment */
3795 	NDR_F_OPERATION,	/* flags */
3796 	ndr__samr_GetDomainPwInfo,	/* ndr_func */
3797 	12,		/* pdu_size_fixed_part */
3798 	0,		/* pdu_size_variable_part */
3799 	12,		/* c_size_fixed_part */
3800 	0,		/* c_size_variable_part */
3801 };
3802 
3803 
3804 /*
3805  * [operation(56)]
3806  */
3807 int
3808 ndr__samr_GetDomainPwInfo (struct ndr_reference *encl_ref)
3809 {
3810 	struct samr_GetDomainPwInfo *val = (struct samr_GetDomainPwInfo *) encl_ref->datum;
3811 	struct ndr_reference myref;
3812 
3813 	(void) bzero(&myref, sizeof (myref));
3814 	myref.enclosing = encl_ref;
3815 	myref.stream = encl_ref->stream;
3816 
3817 	/* do all members in order */
3818     if (NDR_DIR_IS_IN) {
3819 	NDR_TOPMOST_MEMBER (_ulong, unused);
3820     }
3821     if (NDR_DIR_IS_OUT) {
3822 	NDR_TOPMOST_MEMBER_REF (_samr_password_info, pwinfo);
3823     }
3824     if (NDR_DIR_IS_OUT) {
3825 	NDR_TOPMOST_MEMBER (_ulong, status);
3826     }
3827 
3828 	return 1;
3829 }
3830 
3831 
3832 
3833 int ndr__samr_SetUserInfo16 (struct ndr_reference *encl_ref);
3834 struct ndr_typeinfo ndt__samr_SetUserInfo16 = {
3835 	1,		/* NDR version */
3836 	3,		/* alignment */
3837 	NDR_F_STRUCT,	/* flags */
3838 	ndr__samr_SetUserInfo16,	/* ndr_func */
3839 	4,		/* pdu_size_fixed_part */
3840 	0,		/* pdu_size_variable_part */
3841 	4,		/* c_size_fixed_part */
3842 	0,		/* c_size_variable_part */
3843 };
3844 
3845 
3846 /*
3847  *  */
3848 int
3849 ndr__samr_SetUserInfo16 (struct ndr_reference *encl_ref)
3850 {
3851 	struct samr_SetUserInfo16 *val = (struct samr_SetUserInfo16 *) encl_ref->datum;
3852 	struct ndr_reference myref;
3853 
3854 	(void) bzero(&myref, sizeof (myref));
3855 	myref.enclosing = encl_ref;
3856 	myref.stream = encl_ref->stream;
3857 
3858 	/* do all basic elements first */
3859 	NDR_MEMBER (_ulong, UserAccountControl, 0UL);
3860 
3861 	/* do all constructed elements w/o pointers */
3862 
3863 	/* do members with pointers in order */
3864 
3865 	return 1;
3866 }
3867 
3868 
3869 
3870 int ndr__samr_SetUserInfo21 (struct ndr_reference *encl_ref);
3871 struct ndr_typeinfo ndt__samr_SetUserInfo21 = {
3872 	1,		/* NDR version */
3873 	3,		/* alignment */
3874 	NDR_F_STRUCT,	/* flags */
3875 	ndr__samr_SetUserInfo21,	/* ndr_func */
3876 	196,		/* pdu_size_fixed_part */
3877 	0,		/* pdu_size_variable_part */
3878 	196,		/* c_size_fixed_part */
3879 	0,		/* c_size_variable_part */
3880 };
3881 
3882 
3883 /*
3884  *  */
3885 int
3886 ndr__samr_SetUserInfo21 (struct ndr_reference *encl_ref)
3887 {
3888 	struct samr_SetUserInfo21 *val = (struct samr_SetUserInfo21 *) encl_ref->datum;
3889 	struct ndr_reference myref;
3890 
3891 	(void) bzero(&myref, sizeof (myref));
3892 	myref.enclosing = encl_ref;
3893 	myref.stream = encl_ref->stream;
3894 
3895 	/* do all basic elements first */
3896 	NDR_MEMBER (_ulong, UserId, 160UL);
3897 	NDR_MEMBER (_ulong, PrimaryGroupId, 164UL);
3898 	NDR_MEMBER (_ulong, UserAccountControl, 168UL);
3899 	NDR_MEMBER (_ulong, WhichFields, 172UL);
3900 	NDR_MEMBER (_ushort, BadPasswordCount, 184UL);
3901 	NDR_MEMBER (_ushort, LogonCount, 186UL);
3902 	NDR_MEMBER (_ushort, CountryCode, 188UL);
3903 	NDR_MEMBER (_ushort, CodePage, 190UL);
3904 	NDR_MEMBER (_uchar, LmPasswordPresent, 192UL);
3905 	NDR_MEMBER (_uchar, NtPasswordPresent, 193UL);
3906 	NDR_MEMBER (_uchar, PasswordExpired, 194UL);
3907 	NDR_MEMBER (_uchar, PrivateDataSensitive, 195UL);
3908 
3909 	/* do all constructed elements w/o pointers */
3910 	NDR_MEMBER (_samr_quad, LastLogon, 0UL);
3911 	NDR_MEMBER (_samr_quad, LastLogoff, 8UL);
3912 	NDR_MEMBER (_samr_quad, PasswordLastSet, 16UL);
3913 	NDR_MEMBER (_samr_quad, AccountExpires, 24UL);
3914 	NDR_MEMBER (_samr_quad, PasswordCanChange, 32UL);
3915 	NDR_MEMBER (_samr_quad, PasswordMustChange, 40UL);
3916 	NDR_MEMBER (_samr_logon_info, LogonHours, 176UL);
3917 
3918 	/* do members with pointers in order */
3919 	NDR_MEMBER (_samr_vcbuf, UserName, 48UL);
3920 	NDR_MEMBER (_samr_vcbuf, FullName, 56UL);
3921 	NDR_MEMBER (_samr_vcbuf, HomeDirectory, 64UL);
3922 	NDR_MEMBER (_samr_vcbuf, HomeDirectoryDrive, 72UL);
3923 	NDR_MEMBER (_samr_vcbuf, ScriptPath, 80UL);
3924 	NDR_MEMBER (_samr_vcbuf, ProfilePath, 88UL);
3925 	NDR_MEMBER (_samr_vcbuf, AdminComment, 96UL);
3926 	NDR_MEMBER (_samr_vcbuf, WorkStations, 104UL);
3927 	NDR_MEMBER (_samr_vcbuf, UserComment, 112UL);
3928 	NDR_MEMBER (_samr_vcbuf, Parameters, 120UL);
3929 	NDR_MEMBER (_samr_short_blob, LmOwfPassword, 128UL);
3930 	NDR_MEMBER (_samr_short_blob, NtOwfPassword, 136UL);
3931 	NDR_MEMBER (_samr_vcbuf, PrivateData, 144UL);
3932 	NDR_MEMBER (_samr_sd, SecurityDescriptor, 152UL);
3933 
3934 	return 1;
3935 }
3936 
3937 
3938 
3939 int ndr__samr_SetUserInfo23 (struct ndr_reference *encl_ref);
3940 struct ndr_typeinfo ndt__samr_SetUserInfo23 = {
3941 	1,		/* NDR version */
3942 	3,		/* alignment */
3943 	NDR_F_STRUCT,	/* flags */
3944 	ndr__samr_SetUserInfo23,	/* ndr_func */
3945 	712,		/* pdu_size_fixed_part */
3946 	0,		/* pdu_size_variable_part */
3947 	712,		/* c_size_fixed_part */
3948 	0,		/* c_size_variable_part */
3949 };
3950 
3951 
3952 /*
3953  *  */
3954 int
3955 ndr__samr_SetUserInfo23 (struct ndr_reference *encl_ref)
3956 {
3957 	struct samr_SetUserInfo23 *val = (struct samr_SetUserInfo23 *) encl_ref->datum;
3958 	struct ndr_reference myref;
3959 
3960 	(void) bzero(&myref, sizeof (myref));
3961 	myref.enclosing = encl_ref;
3962 	myref.stream = encl_ref->stream;
3963 
3964 	/* do all basic elements first */
3965 
3966 	/* do all constructed elements w/o pointers */
3967 	NDR_MEMBER (_samr_encr_passwd, encr_pw, 196UL);
3968 
3969 	/* do members with pointers in order */
3970 	NDR_MEMBER (_samr_SetUserInfo21, info21, 0UL);
3971 
3972 	return 1;
3973 }
3974 
3975 
3976 
3977 int ndr__samr_SetUserInfo24 (struct ndr_reference *encl_ref);
3978 struct ndr_typeinfo ndt__samr_SetUserInfo24 = {
3979 	1,		/* NDR version */
3980 	0,		/* alignment */
3981 	NDR_F_STRUCT,	/* flags */
3982 	ndr__samr_SetUserInfo24,	/* ndr_func */
3983 	517,		/* pdu_size_fixed_part */
3984 	0,		/* pdu_size_variable_part */
3985 	517,		/* c_size_fixed_part */
3986 	0,		/* c_size_variable_part */
3987 };
3988 
3989 
3990 /*
3991  *  */
3992 int
3993 ndr__samr_SetUserInfo24 (struct ndr_reference *encl_ref)
3994 {
3995 	struct samr_SetUserInfo24 *val = (struct samr_SetUserInfo24 *) encl_ref->datum;
3996 	struct ndr_reference myref;
3997 
3998 	(void) bzero(&myref, sizeof (myref));
3999 	myref.enclosing = encl_ref;
4000 	myref.stream = encl_ref->stream;
4001 
4002 	/* do all basic elements first */
4003 	NDR_MEMBER (_uchar, password_expired, 516UL);
4004 
4005 	/* do all constructed elements w/o pointers */
4006 	NDR_MEMBER (_samr_encr_passwd, encr_pw, 0UL);
4007 
4008 	/* do members with pointers in order */
4009 
4010 	return 1;
4011 }
4012 
4013 
4014 
4015 int ndr__samr_SetUserInfo_u (struct ndr_reference *encl_ref);
4016 struct ndr_typeinfo ndt__samr_SetUserInfo_u = {
4017 	1,		/* NDR version */
4018 	3,		/* alignment */
4019 	NDR_F_UNION,	/* flags */
4020 	ndr__samr_SetUserInfo_u,	/* ndr_func */
4021 	712,		/* pdu_size_fixed_part */
4022 	0,		/* pdu_size_variable_part */
4023 	712,		/* c_size_fixed_part */
4024 	0,		/* c_size_variable_part */
4025 };
4026 
4027 
4028 /*
4029  *  */
4030 int
4031 ndr__samr_SetUserInfo_u (struct ndr_reference *encl_ref)
4032 {
4033 	union samr_SetUserInfo_u *val = (union samr_SetUserInfo_u *) encl_ref->datum;
4034 	struct ndr_reference myref;
4035 
4036 	(void) bzero(&myref, sizeof (myref));
4037 	myref.enclosing = encl_ref;
4038 	myref.stream = encl_ref->stream;
4039 
4040     switch (encl_ref->switch_is) {
4041     case 16:
4042 	NDR_MEMBER (_samr_SetUserInfo16, info16, 0UL);
4043 	break;
4044 
4045     case 21:
4046 	NDR_MEMBER (_samr_SetUserInfo21, info21, 0UL);
4047 	break;
4048 
4049     case 23:
4050 	NDR_MEMBER (_samr_SetUserInfo23, info23, 0UL);
4051 	break;
4052 
4053     case 24:
4054 	NDR_MEMBER (_samr_SetUserInfo24, info24, 0UL);
4055 	break;
4056 
4057     default:
4058 	NDR_MEMBER (_ulong, nothing, 0UL);
4059 	break;
4060 
4061     }
4062 
4063 
4064 	return 1;
4065 }
4066 
4067 
4068 
4069 int ndr__samr_SetUserInfo_s (struct ndr_reference *encl_ref);
4070 struct ndr_typeinfo ndt__samr_SetUserInfo_s = {
4071 	1,		/* NDR version */
4072 	3,		/* alignment */
4073 	NDR_F_STRUCT,	/* flags */
4074 	ndr__samr_SetUserInfo_s,	/* ndr_func */
4075 	716,		/* pdu_size_fixed_part */
4076 	0,		/* pdu_size_variable_part */
4077 	716,		/* c_size_fixed_part */
4078 	0,		/* c_size_variable_part */
4079 };
4080 
4081 
4082 /*
4083  *  */
4084 int
4085 ndr__samr_SetUserInfo_s (struct ndr_reference *encl_ref)
4086 {
4087 	struct samr_SetUserInfo_s *val = (struct samr_SetUserInfo_s *) encl_ref->datum;
4088 	struct ndr_reference myref;
4089 
4090 	(void) bzero(&myref, sizeof (myref));
4091 	myref.enclosing = encl_ref;
4092 	myref.stream = encl_ref->stream;
4093 
4094 	/* do all basic elements first */
4095 	NDR_MEMBER (_ushort, info_level, 0UL);
4096 	NDR_MEMBER (_ushort, switch_value, 2UL);
4097 
4098 	/* do all constructed elements w/o pointers */
4099 
4100 	/* do members with pointers in order */
4101 	NDR_MEMBER_WITH_SWITCH_IS (_samr_SetUserInfo_u, ru, 4UL,
4102 		val->switch_value);
4103 
4104 	return 1;
4105 }
4106 
4107 
4108 
4109 int ndr__samr_SetUserInfo (struct ndr_reference *encl_ref);
4110 struct ndr_typeinfo ndt__samr_SetUserInfo = {
4111 	1,		/* NDR version */
4112 	3,		/* alignment */
4113 	NDR_F_OPERATION,	/* flags */
4114 	ndr__samr_SetUserInfo,	/* ndr_func */
4115 	740,		/* pdu_size_fixed_part */
4116 	0,		/* pdu_size_variable_part */
4117 	740,		/* c_size_fixed_part */
4118 	0,		/* c_size_variable_part */
4119 };
4120 
4121 
4122 /*
4123  * [operation(58)]
4124  */
4125 int
4126 ndr__samr_SetUserInfo (struct ndr_reference *encl_ref)
4127 {
4128 	struct samr_SetUserInfo *val = (struct samr_SetUserInfo *) encl_ref->datum;
4129 	struct ndr_reference myref;
4130 
4131 	(void) bzero(&myref, sizeof (myref));
4132 	myref.enclosing = encl_ref;
4133 	myref.stream = encl_ref->stream;
4134 
4135 	/* do all members in order */
4136     if (NDR_DIR_IS_IN) {
4137 	NDR_TOPMOST_MEMBER (_samr_handle, user_handle);
4138     }
4139     if (NDR_DIR_IS_IN) {
4140 	NDR_TOPMOST_MEMBER (_samr_SetUserInfo_s, info);
4141     }
4142     if (NDR_DIR_IS_OUT) {
4143 	NDR_TOPMOST_MEMBER (_ulong, status);
4144     }
4145 
4146 	return 1;
4147 }
4148 
4149 
4150 
4151 int ndr__samr_interface (struct ndr_reference *encl_ref);
4152 struct ndr_typeinfo ndt__samr_interface = {
4153 	1,		/* NDR version */
4154 	3,		/* alignment */
4155 	NDR_F_INTERFACE,	/* flags */
4156 	ndr__samr_interface,	/* ndr_func */
4157 	740,		/* pdu_size_fixed_part */
4158 	0,		/* pdu_size_variable_part */
4159 	740,		/* c_size_fixed_part */
4160 	0,		/* c_size_variable_part */
4161 };
4162 
4163 
4164 /*
4165  * [interface(0)]
4166  */
4167 int
4168 ndr__samr_interface (struct ndr_reference *encl_ref)
4169 {
4170 	union samr_interface *val = (union samr_interface *) encl_ref->datum;
4171 	struct ndr_reference myref;
4172 
4173 	(void) bzero(&myref, sizeof (myref));
4174 	myref.enclosing = encl_ref;
4175 	myref.stream = encl_ref->stream;
4176 
4177     switch (encl_ref->switch_is) {
4178     case 0:
4179 	NDR_PARAMS_MEMBER (_samr_Connect, Connect);
4180 	break;
4181 
4182     case 1:
4183 	NDR_PARAMS_MEMBER (_samr_CloseHandle, CloseHandle);
4184 	break;
4185 
4186     case 5:
4187 	NDR_PARAMS_MEMBER (_samr_LookupDomain, LookupDomain);
4188 	break;
4189 
4190     case 6:
4191 	NDR_PARAMS_MEMBER (_samr_EnumLocalDomain, EnumLocalDomain);
4192 	break;
4193 
4194     case 7:
4195 	NDR_PARAMS_MEMBER (_samr_OpenDomain, OpenDomain);
4196 	break;
4197 
4198     case 8:
4199 	NDR_PARAMS_MEMBER (_samr_QueryDomainInfo, QueryDomainInfo);
4200 	break;
4201 
4202     case 46:
4203 	NDR_PARAMS_MEMBER (_samr_QueryInfoDomain2, QueryInfoDomain2);
4204 	break;
4205 
4206     case 17:
4207 	NDR_PARAMS_MEMBER (_samr_LookupNames, LookupNames);
4208 	break;
4209 
4210     case 34:
4211 	NDR_PARAMS_MEMBER (_samr_OpenUser, OpenUser);
4212 	break;
4213 
4214     case 35:
4215 	NDR_PARAMS_MEMBER (_samr_DeleteUser, DeleteUser);
4216 	break;
4217 
4218     case 36:
4219 	NDR_PARAMS_MEMBER (_samr_QueryUserInfo, QueryUserInfo);
4220 	break;
4221 
4222     case 39:
4223 	NDR_PARAMS_MEMBER (_samr_QueryUserGroups, QueryUserGroups);
4224 	break;
4225 
4226     case 19:
4227 	NDR_PARAMS_MEMBER (_samr_OpenGroup, OpenGroup);
4228 	break;
4229 
4230     case 31:
4231 	NDR_PARAMS_MEMBER (_samr_AddAliasMember, AddAliasMember);
4232 	break;
4233 
4234     case 32:
4235 	NDR_PARAMS_MEMBER (_samr_DeleteAliasMember, DeleteAliasMember);
4236 	break;
4237 
4238     case 33:
4239 	NDR_PARAMS_MEMBER (_samr_ListAliasMembers, ListAliasMembers);
4240 	break;
4241 
4242     case 44:
4243 	NDR_PARAMS_MEMBER (_samr_GetUserPwInfo, GetUserPwInfo);
4244 	break;
4245 
4246     case 50:
4247 	NDR_PARAMS_MEMBER (_samr_CreateUser, CreateUser);
4248 	break;
4249 
4250     case 55:
4251 	NDR_PARAMS_MEMBER (_samr_ChangePasswordUser2, ChangePasswordUser2);
4252 	break;
4253 
4254     case 56:
4255 	NDR_PARAMS_MEMBER (_samr_GetDomainPwInfo, GetDomainPwInfo);
4256 	break;
4257 
4258     case 57:
4259 	NDR_PARAMS_MEMBER (_samr_Connect2, Connect2);
4260 	break;
4261 
4262     case 58:
4263 	NDR_PARAMS_MEMBER (_samr_SetUserInfo, SetUserInfo);
4264 	break;
4265 
4266     case 62:
4267 	NDR_PARAMS_MEMBER (_samr_Connect4, Connect4);
4268 	break;
4269 
4270     case 64:
4271 	NDR_PARAMS_MEMBER (_samr_Connect5, Connect5);
4272 	break;
4273 
4274     case 40:
4275 	NDR_PARAMS_MEMBER (_samr_QueryDispInfo, QueryDispInfo);
4276 	break;
4277 
4278     case 27:
4279 	NDR_PARAMS_MEMBER (_samr_OpenAlias, OpenAlias);
4280 	break;
4281 
4282     case 14:
4283 	NDR_PARAMS_MEMBER (_samr_CreateDomainAlias, CreateDomainAlias);
4284 	break;
4285 
4286     case 29:
4287 	NDR_PARAMS_MEMBER (_samr_SetAliasInfo, SetAliasInfo);
4288 	break;
4289 
4290     case 28:
4291 	NDR_PARAMS_MEMBER (_samr_QueryAliasInfo, QueryAliasInfo);
4292 	break;
4293 
4294     case 30:
4295 	NDR_PARAMS_MEMBER (_samr_DeleteDomainAlias, DeleteDomainAlias);
4296 	break;
4297 
4298     case 15:
4299 	NDR_PARAMS_MEMBER (_samr_EnumDomainAliases, EnumDomainAliases);
4300 	break;
4301 
4302     case 48:
4303 	NDR_PARAMS_MEMBER (_samr_EnumDomainGroups, EnumDomainGroups);
4304 	break;
4305 
4306     default:
4307 	NDR_SET_ERROR(encl_ref, NDR_ERR_SWITCH_VALUE_INVALID);
4308 	return 0;
4309 	break;
4310     }
4311 
4312 
4313 	return 1;
4314 }
4315