added QueryPolicyInfo/PrimaryDomainInfo idl and test code
[samba.git] / source4 / librpc / ndr / ndr_lsa.c
1 /* parser auto-generated by pidl */
2
3 #include "includes.h"
4
5 NTSTATUS ndr_push_lsa_Close(struct ndr_push *ndr, struct lsa_Close *r)
6 {
7         NDR_CHECK(ndr_push_policy_handle(ndr, r->in.handle));
8
9         return NT_STATUS_OK;
10 }
11
12 NTSTATUS ndr_pull_lsa_Close(struct ndr_pull *ndr, struct lsa_Close *r)
13 {
14         NDR_CHECK(ndr_pull_policy_handle(ndr, r->out.handle));
15         NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
16
17         return NT_STATUS_OK;
18 }
19
20 NTSTATUS ndr_push_lsa_Delete(struct ndr_push *ndr, struct lsa_Delete *r)
21 {
22         NDR_CHECK(ndr_push_policy_handle(ndr, r->in.handle));
23
24         return NT_STATUS_OK;
25 }
26
27 NTSTATUS ndr_pull_lsa_Delete(struct ndr_pull *ndr, struct lsa_Delete *r)
28 {
29         NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
30
31         return NT_STATUS_OK;
32 }
33
34 static NTSTATUS ndr_push_lsa_Name(struct ndr_push *ndr, int ndr_flags, struct lsa_Name *r)
35 {
36         NDR_CHECK(ndr_push_align(ndr, 4));
37         if (!(ndr_flags & NDR_SCALARS)) goto buffers;
38         NDR_CHECK(ndr_push_uint16(ndr, r->name_len));
39         NDR_CHECK(ndr_push_uint16(ndr, r->name_size));
40         NDR_CHECK(ndr_push_ptr(ndr, r->name));
41 buffers:
42         if (!(ndr_flags & NDR_BUFFERS)) goto done;
43         if (r->name) {
44                 NDR_CHECK(ndr_push_unistr_noterm(ndr, r->name));
45         }
46 done:
47         return NT_STATUS_OK;
48 }
49
50 static NTSTATUS ndr_pull_lsa_Name(struct ndr_pull *ndr, int ndr_flags, struct lsa_Name *r)
51 {
52         uint32 _ptr_name;
53         NDR_CHECK(ndr_pull_align(ndr, 4));
54         if (!(ndr_flags & NDR_SCALARS)) goto buffers;
55         NDR_CHECK(ndr_pull_uint16(ndr, &r->name_len));
56         NDR_CHECK(ndr_pull_uint16(ndr, &r->name_size));
57         NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_name));
58         if (_ptr_name) {
59                 NDR_ALLOC(ndr, r->name);
60         } else {
61                 r->name = NULL;
62         }
63 buffers:
64         if (!(ndr_flags & NDR_BUFFERS)) goto done;
65         if (r->name) {
66                 NDR_CHECK(ndr_pull_unistr_noterm(ndr, &r->name));
67         }
68 done:
69         return NT_STATUS_OK;
70 }
71
72 void ndr_print_lsa_Name(struct ndr_print *ndr, const char *name, struct lsa_Name *r)
73 {
74         ndr_print_struct(ndr, name, "lsa_Name");
75         ndr->depth++;
76         ndr_print_uint16(ndr, "name_len", r->name_len);
77         ndr_print_uint16(ndr, "name_size", r->name_size);
78         ndr_print_ptr(ndr, "name", r->name);
79         ndr->depth++;
80         if (r->name) {
81                 ndr_print_unistr_noterm(ndr, "name", r->name);
82         }
83         ndr->depth--;
84         ndr->depth--;
85 }
86
87 static NTSTATUS ndr_pull_lsa_PrivEntry(struct ndr_pull *ndr, int ndr_flags, struct lsa_PrivEntry *r)
88 {
89         NDR_CHECK(ndr_pull_align(ndr, 4));
90         if (!(ndr_flags & NDR_SCALARS)) goto buffers;
91         NDR_CHECK(ndr_pull_lsa_Name(ndr, NDR_SCALARS, &r->name));
92         NDR_CHECK(ndr_pull_uint32(ndr, &r->luid_low));
93         NDR_CHECK(ndr_pull_uint32(ndr, &r->luid_high));
94 buffers:
95         if (!(ndr_flags & NDR_BUFFERS)) goto done;
96                 NDR_CHECK(ndr_pull_lsa_Name(ndr, ndr_flags, &r->name));
97 done:
98         return NT_STATUS_OK;
99 }
100
101 void ndr_print_lsa_PrivEntry(struct ndr_print *ndr, const char *name, struct lsa_PrivEntry *r)
102 {
103         ndr_print_struct(ndr, name, "lsa_PrivEntry");
104         ndr->depth++;
105         ndr_print_lsa_Name(ndr, "name", &r->name);
106         ndr_print_uint32(ndr, "luid_low", r->luid_low);
107         ndr_print_uint32(ndr, "luid_high", r->luid_high);
108         ndr->depth--;
109 }
110
111 static NTSTATUS ndr_pull_lsa_PrivArray(struct ndr_pull *ndr, int ndr_flags, struct lsa_PrivArray *r)
112 {
113         uint32 _ptr_privs;
114         NDR_CHECK(ndr_pull_align(ndr, 4));
115         if (!(ndr_flags & NDR_SCALARS)) goto buffers;
116         NDR_CHECK(ndr_pull_uint32(ndr, &r->count));
117         NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_privs));
118         if (_ptr_privs) {
119                 NDR_ALLOC(ndr, r->privs);
120         } else {
121                 r->privs = NULL;
122         }
123 buffers:
124         if (!(ndr_flags & NDR_BUFFERS)) goto done;
125         if (r->privs) {
126                 NDR_ALLOC_N_SIZE(ndr, r->privs, r->count, sizeof(r->privs[0]));
127                 NDR_CHECK(ndr_pull_array(ndr, ndr_flags, (void **)r->privs, sizeof(r->privs[0]), r->count, (ndr_pull_flags_fn_t)ndr_pull_lsa_PrivEntry));
128         }
129 done:
130         return NT_STATUS_OK;
131 }
132
133 void ndr_print_lsa_PrivArray(struct ndr_print *ndr, const char *name, struct lsa_PrivArray *r)
134 {
135         ndr_print_struct(ndr, name, "lsa_PrivArray");
136         ndr->depth++;
137         ndr_print_uint32(ndr, "count", r->count);
138         ndr_print_ptr(ndr, "privs", r->privs);
139         ndr->depth++;
140         if (r->privs) {
141                 ndr_print_array(ndr, "privs", r->privs, sizeof(r->privs[0]), r->count, (ndr_print_fn_t)ndr_print_lsa_PrivEntry);
142         }
143         ndr->depth--;
144         ndr->depth--;
145 }
146
147 NTSTATUS ndr_push_lsa_EnumPrivs(struct ndr_push *ndr, struct lsa_EnumPrivs *r)
148 {
149         NDR_CHECK(ndr_push_policy_handle(ndr, r->in.handle));
150         NDR_CHECK(ndr_push_uint32(ndr, *r->in.resume_handle));
151         NDR_CHECK(ndr_push_uint32(ndr, r->in.max_count));
152
153         return NT_STATUS_OK;
154 }
155
156 NTSTATUS ndr_pull_lsa_EnumPrivs(struct ndr_pull *ndr, struct lsa_EnumPrivs *r)
157 {
158         NDR_CHECK(ndr_pull_uint32(ndr, r->out.resume_handle));
159         NDR_CHECK(ndr_pull_lsa_PrivArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.privs));
160         NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
161
162         return NT_STATUS_OK;
163 }
164
165 NTSTATUS ndr_push_lsa_QuerySecObj(struct ndr_push *ndr, struct lsa_QuerySecObj *r)
166 {
167
168         return NT_STATUS_OK;
169 }
170
171 NTSTATUS ndr_pull_lsa_QuerySecObj(struct ndr_pull *ndr, struct lsa_QuerySecObj *r)
172 {
173         NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
174
175         return NT_STATUS_OK;
176 }
177
178 NTSTATUS ndr_push_lsa_SetSecObj(struct ndr_push *ndr, struct lsa_SetSecObj *r)
179 {
180
181         return NT_STATUS_OK;
182 }
183
184 NTSTATUS ndr_pull_lsa_SetSecObj(struct ndr_pull *ndr, struct lsa_SetSecObj *r)
185 {
186         NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
187
188         return NT_STATUS_OK;
189 }
190
191 NTSTATUS ndr_push_lsa_ChangePassword(struct ndr_push *ndr, struct lsa_ChangePassword *r)
192 {
193
194         return NT_STATUS_OK;
195 }
196
197 NTSTATUS ndr_pull_lsa_ChangePassword(struct ndr_pull *ndr, struct lsa_ChangePassword *r)
198 {
199         NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
200
201         return NT_STATUS_OK;
202 }
203
204 static NTSTATUS ndr_push_lsa_QosInfo(struct ndr_push *ndr, int ndr_flags, struct lsa_QosInfo *r)
205 {
206         struct ndr_push_save _save1, _save2, _save3;
207         ndr_push_save(ndr, &_save1);
208         NDR_CHECK(ndr_push_align(ndr, 4));
209         if (!(ndr_flags & NDR_SCALARS)) goto buffers;
210         NDR_CHECK(ndr_push_align(ndr, sizeof(uint32)));
211         ndr_push_save(ndr, &_save2);
212         NDR_CHECK(ndr_push_uint32(ndr, 0));
213         NDR_CHECK(ndr_push_uint16(ndr, r->impersonation_level));
214         NDR_CHECK(ndr_push_uint8(ndr, r->context_mode));
215         NDR_CHECK(ndr_push_uint8(ndr, r->effective_only));
216 buffers:
217         if (!(ndr_flags & NDR_BUFFERS)) goto done;
218         ndr_push_save(ndr, &_save3);
219         ndr_push_restore(ndr, &_save2);
220         NDR_CHECK(ndr_push_uint32(ndr, _save3.offset - _save1.offset));
221         ndr_push_restore(ndr, &_save3);
222 done:
223         return NT_STATUS_OK;
224 }
225
226 void ndr_print_lsa_QosInfo(struct ndr_print *ndr, const char *name, struct lsa_QosInfo *r)
227 {
228         ndr_print_struct(ndr, name, "lsa_QosInfo");
229         ndr->depth++;
230         ndr_print_uint16(ndr, "impersonation_level", r->impersonation_level);
231         ndr_print_uint8(ndr, "context_mode", r->context_mode);
232         ndr_print_uint8(ndr, "effective_only", r->effective_only);
233         ndr->depth--;
234 }
235
236 static NTSTATUS ndr_push_lsa_ObjectAttribute(struct ndr_push *ndr, int ndr_flags, struct lsa_ObjectAttribute *r)
237 {
238         struct ndr_push_save _save1, _save2, _save3;
239         ndr_push_save(ndr, &_save1);
240         NDR_CHECK(ndr_push_align(ndr, 4));
241         if (!(ndr_flags & NDR_SCALARS)) goto buffers;
242         NDR_CHECK(ndr_push_align(ndr, sizeof(uint32)));
243         ndr_push_save(ndr, &_save2);
244         NDR_CHECK(ndr_push_uint32(ndr, 0));
245         NDR_CHECK(ndr_push_ptr(ndr, r->root_dir));
246         NDR_CHECK(ndr_push_ptr(ndr, r->object_name));
247         NDR_CHECK(ndr_push_uint32(ndr, r->attributes));
248         NDR_CHECK(ndr_push_ptr(ndr, r->sec_desc));
249         NDR_CHECK(ndr_push_ptr(ndr, r->sec_qos));
250 buffers:
251         if (!(ndr_flags & NDR_BUFFERS)) goto done;
252         if (r->root_dir) {
253                 NDR_CHECK(ndr_push_uint8(ndr, *r->root_dir));
254         }
255         if (r->object_name) {
256                 NDR_CHECK(ndr_push_unistr(ndr, r->object_name));
257         }
258         if (r->sec_desc) {
259                 NDR_CHECK(ndr_push_security_descriptor(ndr, r->sec_desc));
260         }
261         if (r->sec_qos) {
262                 NDR_CHECK(ndr_push_lsa_QosInfo(ndr, ndr_flags, r->sec_qos));
263         }
264         ndr_push_save(ndr, &_save3);
265         ndr_push_restore(ndr, &_save2);
266         NDR_CHECK(ndr_push_uint32(ndr, _save3.offset - _save1.offset));
267         ndr_push_restore(ndr, &_save3);
268 done:
269         return NT_STATUS_OK;
270 }
271
272 void ndr_print_lsa_ObjectAttribute(struct ndr_print *ndr, const char *name, struct lsa_ObjectAttribute *r)
273 {
274         ndr_print_struct(ndr, name, "lsa_ObjectAttribute");
275         ndr->depth++;
276         ndr_print_ptr(ndr, "root_dir", r->root_dir);
277         ndr->depth++;
278         if (r->root_dir) {
279                 ndr_print_uint8(ndr, "root_dir", *r->root_dir);
280         }
281         ndr->depth--;
282         ndr_print_ptr(ndr, "object_name", r->object_name);
283         ndr->depth++;
284         if (r->object_name) {
285                 ndr_print_unistr(ndr, "object_name", r->object_name);
286         }
287         ndr->depth--;
288         ndr_print_uint32(ndr, "attributes", r->attributes);
289         ndr_print_ptr(ndr, "sec_desc", r->sec_desc);
290         ndr->depth++;
291         if (r->sec_desc) {
292                 ndr_print_security_descriptor(ndr, "sec_desc", r->sec_desc);
293         }
294         ndr->depth--;
295         ndr_print_ptr(ndr, "sec_qos", r->sec_qos);
296         ndr->depth++;
297         if (r->sec_qos) {
298                 ndr_print_lsa_QosInfo(ndr, "sec_qos", r->sec_qos);
299         }
300         ndr->depth--;
301         ndr->depth--;
302 }
303
304 NTSTATUS ndr_push_lsa_OpenPolicy(struct ndr_push *ndr, struct lsa_OpenPolicy *r)
305 {
306         NDR_CHECK(ndr_push_ptr(ndr, r->in.system_name));
307         if (r->in.system_name) {
308                 NDR_CHECK(ndr_push_uint16(ndr, *r->in.system_name));
309         }
310         NDR_CHECK(ndr_push_lsa_ObjectAttribute(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.attr));
311         NDR_CHECK(ndr_push_uint32(ndr, r->in.desired_access));
312
313         return NT_STATUS_OK;
314 }
315
316 NTSTATUS ndr_pull_lsa_OpenPolicy(struct ndr_pull *ndr, struct lsa_OpenPolicy *r)
317 {
318         NDR_CHECK(ndr_pull_policy_handle(ndr, r->out.handle));
319         NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
320
321         return NT_STATUS_OK;
322 }
323
324 static NTSTATUS ndr_pull_lsa_AuditLogInfo(struct ndr_pull *ndr, int ndr_flags, struct lsa_AuditLogInfo *r)
325 {
326         NDR_CHECK(ndr_pull_align(ndr, 4));
327         if (!(ndr_flags & NDR_SCALARS)) goto buffers;
328         NDR_CHECK(ndr_pull_uint32(ndr, &r->percent_full));
329         NDR_CHECK(ndr_pull_uint32(ndr, &r->log_size));
330         NDR_CHECK(ndr_pull_NTTIME(ndr, &r->retention_time));
331         NDR_CHECK(ndr_pull_uint8(ndr, &r->shutdown_in_progress));
332         NDR_CHECK(ndr_pull_NTTIME(ndr, &r->time_to_shutdown));
333         NDR_CHECK(ndr_pull_uint32(ndr, &r->next_audit_record));
334         NDR_CHECK(ndr_pull_uint32(ndr, &r->unknown));
335 buffers:
336         if (!(ndr_flags & NDR_BUFFERS)) goto done;
337 done:
338         return NT_STATUS_OK;
339 }
340
341 void ndr_print_lsa_AuditLogInfo(struct ndr_print *ndr, const char *name, struct lsa_AuditLogInfo *r)
342 {
343         ndr_print_struct(ndr, name, "lsa_AuditLogInfo");
344         ndr->depth++;
345         ndr_print_uint32(ndr, "percent_full", r->percent_full);
346         ndr_print_uint32(ndr, "log_size", r->log_size);
347         ndr_print_NTTIME(ndr, "retention_time", r->retention_time);
348         ndr_print_uint8(ndr, "shutdown_in_progress", r->shutdown_in_progress);
349         ndr_print_NTTIME(ndr, "time_to_shutdown", r->time_to_shutdown);
350         ndr_print_uint32(ndr, "next_audit_record", r->next_audit_record);
351         ndr_print_uint32(ndr, "unknown", r->unknown);
352         ndr->depth--;
353 }
354
355 static NTSTATUS ndr_pull_lsa_AuditSettings(struct ndr_pull *ndr, int ndr_flags, struct lsa_AuditSettings *r)
356 {
357         NDR_CHECK(ndr_pull_align(ndr, 4));
358         if (!(ndr_flags & NDR_SCALARS)) goto buffers;
359         NDR_CHECK(ndr_pull_uint32(ndr, &r->count));
360 buffers:
361         if (!(ndr_flags & NDR_BUFFERS)) goto done;
362                 NDR_ALLOC_N_SIZE(ndr, r->settings, r->count, sizeof(r->settings[0]));
363                 NDR_CHECK(ndr_pull_array_uint32(ndr, r->settings, r->count));
364 done:
365         return NT_STATUS_OK;
366 }
367
368 void ndr_print_lsa_AuditSettings(struct ndr_print *ndr, const char *name, struct lsa_AuditSettings *r)
369 {
370         ndr_print_struct(ndr, name, "lsa_AuditSettings");
371         ndr->depth++;
372         ndr_print_uint32(ndr, "count", r->count);
373         ndr_print_ptr(ndr, "settings", r->settings);
374         ndr->depth++;
375                 ndr_print_array_uint32(ndr, "settings", r->settings, r->count);
376         ndr->depth--;
377         ndr->depth--;
378 }
379
380 static NTSTATUS ndr_pull_lsa_AuditEventsInfo(struct ndr_pull *ndr, int ndr_flags, struct lsa_AuditEventsInfo *r)
381 {
382         uint32 _ptr_settings;
383         NDR_CHECK(ndr_pull_align(ndr, 4));
384         if (!(ndr_flags & NDR_SCALARS)) goto buffers;
385         NDR_CHECK(ndr_pull_uint32(ndr, &r->auditing_mode));
386         NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_settings));
387         if (_ptr_settings) {
388                 NDR_ALLOC(ndr, r->settings);
389         } else {
390                 r->settings = NULL;
391         }
392 buffers:
393         if (!(ndr_flags & NDR_BUFFERS)) goto done;
394         if (r->settings) {
395                 NDR_CHECK(ndr_pull_lsa_AuditSettings(ndr, NDR_SCALARS|NDR_BUFFERS, r->settings));
396         }
397 done:
398         return NT_STATUS_OK;
399 }
400
401 void ndr_print_lsa_AuditEventsInfo(struct ndr_print *ndr, const char *name, struct lsa_AuditEventsInfo *r)
402 {
403         ndr_print_struct(ndr, name, "lsa_AuditEventsInfo");
404         ndr->depth++;
405         ndr_print_uint32(ndr, "auditing_mode", r->auditing_mode);
406         ndr_print_ptr(ndr, "settings", r->settings);
407         ndr->depth++;
408         if (r->settings) {
409                 ndr_print_lsa_AuditSettings(ndr, "settings", r->settings);
410         }
411         ndr->depth--;
412         ndr->depth--;
413 }
414
415 static NTSTATUS ndr_pull_lsa_PrimaryDomainInfo(struct ndr_pull *ndr, int ndr_flags, struct lsa_PrimaryDomainInfo *r)
416 {
417         uint32 _ptr_sid;
418         NDR_CHECK(ndr_pull_align(ndr, 4));
419         if (!(ndr_flags & NDR_SCALARS)) goto buffers;
420         NDR_CHECK(ndr_pull_lsa_Name(ndr, NDR_SCALARS, &r->name));
421         NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_sid));
422         if (_ptr_sid) {
423                 NDR_ALLOC(ndr, r->sid);
424         } else {
425                 r->sid = NULL;
426         }
427 buffers:
428         if (!(ndr_flags & NDR_BUFFERS)) goto done;
429                 NDR_CHECK(ndr_pull_lsa_Name(ndr, ndr_flags, &r->name));
430         if (r->sid) {
431                 NDR_CHECK(ndr_pull_dom_sid2(ndr, r->sid));
432         }
433 done:
434         return NT_STATUS_OK;
435 }
436
437 void ndr_print_lsa_PrimaryDomainInfo(struct ndr_print *ndr, const char *name, struct lsa_PrimaryDomainInfo *r)
438 {
439         ndr_print_struct(ndr, name, "lsa_PrimaryDomainInfo");
440         ndr->depth++;
441         ndr_print_lsa_Name(ndr, "name", &r->name);
442         ndr_print_ptr(ndr, "sid", r->sid);
443         ndr->depth++;
444         if (r->sid) {
445                 ndr_print_dom_sid2(ndr, "sid", r->sid);
446         }
447         ndr->depth--;
448         ndr->depth--;
449 }
450
451 static NTSTATUS ndr_pull_lsa_PolicyInformation(struct ndr_pull *ndr, int ndr_flags, uint16 *level, union lsa_PolicyInformation *r)
452 {
453         NDR_CHECK(ndr_pull_uint16(ndr, level));
454         if (!(ndr_flags & NDR_SCALARS)) goto buffers;
455         switch (*level) {
456         case 1:
457         NDR_CHECK(ndr_pull_lsa_AuditLogInfo(ndr, NDR_SCALARS, &r->audit_log));
458         break;
459
460         case 2:
461         NDR_CHECK(ndr_pull_lsa_AuditEventsInfo(ndr, NDR_SCALARS, &r->audit_events));
462         break;
463
464         case 3:
465         NDR_CHECK(ndr_pull_lsa_PrimaryDomainInfo(ndr, NDR_SCALARS, &r->domain));
466         break;
467
468         default:
469                 return NT_STATUS_INVALID_LEVEL;
470         }
471 buffers:
472         if (!(ndr_flags & NDR_BUFFERS)) goto done;
473         switch (*level) {
474         case 1:
475                 NDR_CHECK(ndr_pull_lsa_AuditLogInfo(ndr, NDR_BUFFERS, &r->audit_log));
476         break;
477
478         case 2:
479                 NDR_CHECK(ndr_pull_lsa_AuditEventsInfo(ndr, NDR_BUFFERS, &r->audit_events));
480         break;
481
482         case 3:
483                 NDR_CHECK(ndr_pull_lsa_PrimaryDomainInfo(ndr, NDR_BUFFERS, &r->domain));
484         break;
485
486         default:
487                 return NT_STATUS_INVALID_LEVEL;
488         }
489 done:
490         return NT_STATUS_OK;
491 }
492
493 void ndr_print_lsa_PolicyInformation(struct ndr_print *ndr, const char *name, uint16 level, union lsa_PolicyInformation *r)
494 {
495         ndr_print_union(ndr, name, level, "lsa_PolicyInformation");
496         switch (level) {
497         case 1:
498         ndr_print_lsa_AuditLogInfo(ndr, "audit_log", &r->audit_log);
499         break;
500
501         case 2:
502         ndr_print_lsa_AuditEventsInfo(ndr, "audit_events", &r->audit_events);
503         break;
504
505         case 3:
506         ndr_print_lsa_PrimaryDomainInfo(ndr, "domain", &r->domain);
507         break;
508
509         default:
510                 ndr_print_bad_level(ndr, name, level);
511         }
512 }
513
514 NTSTATUS ndr_push_lsa_QueryInfoPolicy(struct ndr_push *ndr, struct lsa_QueryInfoPolicy *r)
515 {
516         NDR_CHECK(ndr_push_policy_handle(ndr, r->in.handle));
517         NDR_CHECK(ndr_push_uint16(ndr, r->in.level));
518
519         return NT_STATUS_OK;
520 }
521
522 NTSTATUS ndr_pull_lsa_QueryInfoPolicy(struct ndr_pull *ndr, struct lsa_QueryInfoPolicy *r)
523 {
524         uint32 _ptr_info;
525         NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_info));
526         if (_ptr_info) {
527                 NDR_ALLOC(ndr, r->out.info);
528         } else {
529                 r->out.info = NULL;
530         }
531         if (r->out.info) {
532         { uint16 _level;
533         NDR_CHECK(ndr_pull_lsa_PolicyInformation(ndr, NDR_SCALARS|NDR_BUFFERS, &_level, r->out.info));
534         if (_level != r->in.level) return NT_STATUS_INVALID_LEVEL;
535         }
536         }
537         NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
538
539         return NT_STATUS_OK;
540 }
541
542 NTSTATUS ndr_push_lsa_SetInfoPolicy(struct ndr_push *ndr, struct lsa_SetInfoPolicy *r)
543 {
544
545         return NT_STATUS_OK;
546 }
547
548 NTSTATUS ndr_pull_lsa_SetInfoPolicy(struct ndr_pull *ndr, struct lsa_SetInfoPolicy *r)
549 {
550         NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
551
552         return NT_STATUS_OK;
553 }
554
555 NTSTATUS ndr_push_lsa_ClearAuditLog(struct ndr_push *ndr, struct lsa_ClearAuditLog *r)
556 {
557
558         return NT_STATUS_OK;
559 }
560
561 NTSTATUS ndr_pull_lsa_ClearAuditLog(struct ndr_pull *ndr, struct lsa_ClearAuditLog *r)
562 {
563         NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
564
565         return NT_STATUS_OK;
566 }
567
568 NTSTATUS ndr_push_lsa_CreateAccount(struct ndr_push *ndr, struct lsa_CreateAccount *r)
569 {
570
571         return NT_STATUS_OK;
572 }
573
574 NTSTATUS ndr_pull_lsa_CreateAccount(struct ndr_pull *ndr, struct lsa_CreateAccount *r)
575 {
576         NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
577
578         return NT_STATUS_OK;
579 }
580
581 static NTSTATUS ndr_push_lsa_SidPtr(struct ndr_push *ndr, int ndr_flags, struct lsa_SidPtr *r)
582 {
583         NDR_CHECK(ndr_push_align(ndr, 4));
584         if (!(ndr_flags & NDR_SCALARS)) goto buffers;
585         NDR_CHECK(ndr_push_ptr(ndr, r->sid));
586 buffers:
587         if (!(ndr_flags & NDR_BUFFERS)) goto done;
588         if (r->sid) {
589                 NDR_CHECK(ndr_push_dom_sid2(ndr, r->sid));
590         }
591 done:
592         return NT_STATUS_OK;
593 }
594
595 static NTSTATUS ndr_pull_lsa_SidPtr(struct ndr_pull *ndr, int ndr_flags, struct lsa_SidPtr *r)
596 {
597         uint32 _ptr_sid;
598         NDR_CHECK(ndr_pull_align(ndr, 4));
599         if (!(ndr_flags & NDR_SCALARS)) goto buffers;
600         NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_sid));
601         if (_ptr_sid) {
602                 NDR_ALLOC(ndr, r->sid);
603         } else {
604                 r->sid = NULL;
605         }
606 buffers:
607         if (!(ndr_flags & NDR_BUFFERS)) goto done;
608         if (r->sid) {
609                 NDR_CHECK(ndr_pull_dom_sid2(ndr, r->sid));
610         }
611 done:
612         return NT_STATUS_OK;
613 }
614
615 void ndr_print_lsa_SidPtr(struct ndr_print *ndr, const char *name, struct lsa_SidPtr *r)
616 {
617         ndr_print_struct(ndr, name, "lsa_SidPtr");
618         ndr->depth++;
619         ndr_print_ptr(ndr, "sid", r->sid);
620         ndr->depth++;
621         if (r->sid) {
622                 ndr_print_dom_sid2(ndr, "sid", r->sid);
623         }
624         ndr->depth--;
625         ndr->depth--;
626 }
627
628 static NTSTATUS ndr_push_lsa_SidArray(struct ndr_push *ndr, int ndr_flags, struct lsa_SidArray *r)
629 {
630         NDR_CHECK(ndr_push_align(ndr, 4));
631         if (!(ndr_flags & NDR_SCALARS)) goto buffers;
632         NDR_CHECK(ndr_push_uint32(ndr, r->num_sids));
633         NDR_CHECK(ndr_push_ptr(ndr, r->sids));
634 buffers:
635         if (!(ndr_flags & NDR_BUFFERS)) goto done;
636         if (r->sids) {
637                 NDR_CHECK(ndr_push_array(ndr, ndr_flags, r->sids, sizeof(r->sids[0]), r->num_sids, (ndr_push_flags_fn_t)ndr_push_lsa_SidPtr));
638         }
639 done:
640         return NT_STATUS_OK;
641 }
642
643 static NTSTATUS ndr_pull_lsa_SidArray(struct ndr_pull *ndr, int ndr_flags, struct lsa_SidArray *r)
644 {
645         uint32 _ptr_sids;
646         NDR_CHECK(ndr_pull_align(ndr, 4));
647         if (!(ndr_flags & NDR_SCALARS)) goto buffers;
648         NDR_CHECK(ndr_pull_uint32(ndr, &r->num_sids));
649         NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_sids));
650         if (_ptr_sids) {
651                 NDR_ALLOC(ndr, r->sids);
652         } else {
653                 r->sids = NULL;
654         }
655 buffers:
656         if (!(ndr_flags & NDR_BUFFERS)) goto done;
657         if (r->sids) {
658                 NDR_ALLOC_N_SIZE(ndr, r->sids, r->num_sids, sizeof(r->sids[0]));
659                 NDR_CHECK(ndr_pull_array(ndr, ndr_flags, (void **)r->sids, sizeof(r->sids[0]), r->num_sids, (ndr_pull_flags_fn_t)ndr_pull_lsa_SidPtr));
660         }
661 done:
662         return NT_STATUS_OK;
663 }
664
665 void ndr_print_lsa_SidArray(struct ndr_print *ndr, const char *name, struct lsa_SidArray *r)
666 {
667         ndr_print_struct(ndr, name, "lsa_SidArray");
668         ndr->depth++;
669         ndr_print_uint32(ndr, "num_sids", r->num_sids);
670         ndr_print_ptr(ndr, "sids", r->sids);
671         ndr->depth++;
672         if (r->sids) {
673                 ndr_print_array(ndr, "sids", r->sids, sizeof(r->sids[0]), r->num_sids, (ndr_print_fn_t)ndr_print_lsa_SidPtr);
674         }
675         ndr->depth--;
676         ndr->depth--;
677 }
678
679 NTSTATUS ndr_push_lsa_EnumAccounts(struct ndr_push *ndr, struct lsa_EnumAccounts *r)
680 {
681         NDR_CHECK(ndr_push_policy_handle(ndr, r->in.handle));
682         NDR_CHECK(ndr_push_uint32(ndr, *r->in.resume_handle));
683         NDR_CHECK(ndr_push_uint32(ndr, r->in.num_entries));
684
685         return NT_STATUS_OK;
686 }
687
688 NTSTATUS ndr_pull_lsa_EnumAccounts(struct ndr_pull *ndr, struct lsa_EnumAccounts *r)
689 {
690         NDR_CHECK(ndr_pull_uint32(ndr, r->out.resume_handle));
691         NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.sids));
692         NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
693
694         return NT_STATUS_OK;
695 }
696
697 NTSTATUS ndr_push_lsa_CreateTrustDom(struct ndr_push *ndr, struct lsa_CreateTrustDom *r)
698 {
699
700         return NT_STATUS_OK;
701 }
702
703 NTSTATUS ndr_pull_lsa_CreateTrustDom(struct ndr_pull *ndr, struct lsa_CreateTrustDom *r)
704 {
705         NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
706
707         return NT_STATUS_OK;
708 }
709
710 static NTSTATUS ndr_pull_lsa_DomainInformation(struct ndr_pull *ndr, int ndr_flags, struct lsa_DomainInformation *r)
711 {
712         uint32 _ptr_sid;
713         NDR_CHECK(ndr_pull_align(ndr, 4));
714         if (!(ndr_flags & NDR_SCALARS)) goto buffers;
715         NDR_CHECK(ndr_pull_lsa_Name(ndr, NDR_SCALARS, &r->name));
716         NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_sid));
717         if (_ptr_sid) {
718                 NDR_ALLOC(ndr, r->sid);
719         } else {
720                 r->sid = NULL;
721         }
722 buffers:
723         if (!(ndr_flags & NDR_BUFFERS)) goto done;
724                 NDR_CHECK(ndr_pull_lsa_Name(ndr, ndr_flags, &r->name));
725         if (r->sid) {
726                 NDR_CHECK(ndr_pull_dom_sid2(ndr, r->sid));
727         }
728 done:
729         return NT_STATUS_OK;
730 }
731
732 void ndr_print_lsa_DomainInformation(struct ndr_print *ndr, const char *name, struct lsa_DomainInformation *r)
733 {
734         ndr_print_struct(ndr, name, "lsa_DomainInformation");
735         ndr->depth++;
736         ndr_print_lsa_Name(ndr, "name", &r->name);
737         ndr_print_ptr(ndr, "sid", r->sid);
738         ndr->depth++;
739         if (r->sid) {
740                 ndr_print_dom_sid2(ndr, "sid", r->sid);
741         }
742         ndr->depth--;
743         ndr->depth--;
744 }
745
746 static NTSTATUS ndr_pull_lsa_DomainList(struct ndr_pull *ndr, int ndr_flags, struct lsa_DomainList *r)
747 {
748         uint32 _ptr_domains;
749         NDR_CHECK(ndr_pull_align(ndr, 4));
750         if (!(ndr_flags & NDR_SCALARS)) goto buffers;
751         NDR_CHECK(ndr_pull_uint32(ndr, &r->count));
752         NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_domains));
753         if (_ptr_domains) {
754                 NDR_ALLOC(ndr, r->domains);
755         } else {
756                 r->domains = NULL;
757         }
758 buffers:
759         if (!(ndr_flags & NDR_BUFFERS)) goto done;
760         if (r->domains) {
761                 NDR_ALLOC_N_SIZE(ndr, r->domains, r->count, sizeof(r->domains[0]));
762                 NDR_CHECK(ndr_pull_array(ndr, ndr_flags, (void **)r->domains, sizeof(r->domains[0]), r->count, (ndr_pull_flags_fn_t)ndr_pull_lsa_DomainInformation));
763         }
764 done:
765         return NT_STATUS_OK;
766 }
767
768 void ndr_print_lsa_DomainList(struct ndr_print *ndr, const char *name, struct lsa_DomainList *r)
769 {
770         ndr_print_struct(ndr, name, "lsa_DomainList");
771         ndr->depth++;
772         ndr_print_uint32(ndr, "count", r->count);
773         ndr_print_ptr(ndr, "domains", r->domains);
774         ndr->depth++;
775         if (r->domains) {
776                 ndr_print_array(ndr, "domains", r->domains, sizeof(r->domains[0]), r->count, (ndr_print_fn_t)ndr_print_lsa_DomainInformation);
777         }
778         ndr->depth--;
779         ndr->depth--;
780 }
781
782 NTSTATUS ndr_push_lsa_EnumTrustDom(struct ndr_push *ndr, struct lsa_EnumTrustDom *r)
783 {
784         NDR_CHECK(ndr_push_policy_handle(ndr, r->in.handle));
785         NDR_CHECK(ndr_push_uint32(ndr, *r->in.resume_handle));
786         NDR_CHECK(ndr_push_uint32(ndr, r->in.num_entries));
787
788         return NT_STATUS_OK;
789 }
790
791 NTSTATUS ndr_pull_lsa_EnumTrustDom(struct ndr_pull *ndr, struct lsa_EnumTrustDom *r)
792 {
793         NDR_CHECK(ndr_pull_uint32(ndr, r->out.resume_handle));
794         NDR_CHECK(ndr_pull_lsa_DomainList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.domains));
795         NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
796
797         return NT_STATUS_OK;
798 }
799
800 static NTSTATUS ndr_push_lsa_TranslatedSid(struct ndr_push *ndr, int ndr_flags, struct lsa_TranslatedSid *r)
801 {
802         NDR_CHECK(ndr_push_align(ndr, 4));
803         if (!(ndr_flags & NDR_SCALARS)) goto buffers;
804         NDR_CHECK(ndr_push_uint16(ndr, r->sid_type));
805         NDR_CHECK(ndr_push_uint32(ndr, r->rid));
806         NDR_CHECK(ndr_push_uint32(ndr, r->sid_index));
807 buffers:
808         if (!(ndr_flags & NDR_BUFFERS)) goto done;
809 done:
810         return NT_STATUS_OK;
811 }
812
813 static NTSTATUS ndr_pull_lsa_TranslatedSid(struct ndr_pull *ndr, int ndr_flags, struct lsa_TranslatedSid *r)
814 {
815         NDR_CHECK(ndr_pull_align(ndr, 4));
816         if (!(ndr_flags & NDR_SCALARS)) goto buffers;
817         NDR_CHECK(ndr_pull_uint16(ndr, &r->sid_type));
818         NDR_CHECK(ndr_pull_uint32(ndr, &r->rid));
819         NDR_CHECK(ndr_pull_uint32(ndr, &r->sid_index));
820 buffers:
821         if (!(ndr_flags & NDR_BUFFERS)) goto done;
822 done:
823         return NT_STATUS_OK;
824 }
825
826 void ndr_print_lsa_TranslatedSid(struct ndr_print *ndr, const char *name, struct lsa_TranslatedSid *r)
827 {
828         ndr_print_struct(ndr, name, "lsa_TranslatedSid");
829         ndr->depth++;
830         ndr_print_uint16(ndr, "sid_type", r->sid_type);
831         ndr_print_uint32(ndr, "rid", r->rid);
832         ndr_print_uint32(ndr, "sid_index", r->sid_index);
833         ndr->depth--;
834 }
835
836 static NTSTATUS ndr_push_lsa_TransSidArray(struct ndr_push *ndr, int ndr_flags, struct lsa_TransSidArray *r)
837 {
838         NDR_CHECK(ndr_push_align(ndr, 4));
839         if (!(ndr_flags & NDR_SCALARS)) goto buffers;
840         NDR_CHECK(ndr_push_uint32(ndr, r->count));
841         NDR_CHECK(ndr_push_ptr(ndr, r->sids));
842 buffers:
843         if (!(ndr_flags & NDR_BUFFERS)) goto done;
844         if (r->sids) {
845                 NDR_CHECK(ndr_push_array(ndr, ndr_flags, r->sids, sizeof(r->sids[0]), r->count, (ndr_push_flags_fn_t)ndr_push_lsa_TranslatedSid));
846         }
847 done:
848         return NT_STATUS_OK;
849 }
850
851 static NTSTATUS ndr_pull_lsa_TransSidArray(struct ndr_pull *ndr, int ndr_flags, struct lsa_TransSidArray *r)
852 {
853         uint32 _ptr_sids;
854         NDR_CHECK(ndr_pull_align(ndr, 4));
855         if (!(ndr_flags & NDR_SCALARS)) goto buffers;
856         NDR_CHECK(ndr_pull_uint32(ndr, &r->count));
857         NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_sids));
858         if (_ptr_sids) {
859                 NDR_ALLOC(ndr, r->sids);
860         } else {
861                 r->sids = NULL;
862         }
863 buffers:
864         if (!(ndr_flags & NDR_BUFFERS)) goto done;
865         if (r->sids) {
866                 NDR_ALLOC_N_SIZE(ndr, r->sids, r->count, sizeof(r->sids[0]));
867                 NDR_CHECK(ndr_pull_array(ndr, ndr_flags, (void **)r->sids, sizeof(r->sids[0]), r->count, (ndr_pull_flags_fn_t)ndr_pull_lsa_TranslatedSid));
868         }
869 done:
870         return NT_STATUS_OK;
871 }
872
873 void ndr_print_lsa_TransSidArray(struct ndr_print *ndr, const char *name, struct lsa_TransSidArray *r)
874 {
875         ndr_print_struct(ndr, name, "lsa_TransSidArray");
876         ndr->depth++;
877         ndr_print_uint32(ndr, "count", r->count);
878         ndr_print_ptr(ndr, "sids", r->sids);
879         ndr->depth++;
880         if (r->sids) {
881                 ndr_print_array(ndr, "sids", r->sids, sizeof(r->sids[0]), r->count, (ndr_print_fn_t)ndr_print_lsa_TranslatedSid);
882         }
883         ndr->depth--;
884         ndr->depth--;
885 }
886
887 static NTSTATUS ndr_pull_lsa_TrustInformation(struct ndr_pull *ndr, int ndr_flags, struct lsa_TrustInformation *r)
888 {
889         uint32 _ptr_sid;
890         NDR_CHECK(ndr_pull_align(ndr, 4));
891         if (!(ndr_flags & NDR_SCALARS)) goto buffers;
892         NDR_CHECK(ndr_pull_lsa_Name(ndr, NDR_SCALARS, &r->name));
893         NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_sid));
894         if (_ptr_sid) {
895                 NDR_ALLOC(ndr, r->sid);
896         } else {
897                 r->sid = NULL;
898         }
899 buffers:
900         if (!(ndr_flags & NDR_BUFFERS)) goto done;
901                 NDR_CHECK(ndr_pull_lsa_Name(ndr, ndr_flags, &r->name));
902         if (r->sid) {
903                 NDR_CHECK(ndr_pull_dom_sid2(ndr, r->sid));
904         }
905 done:
906         return NT_STATUS_OK;
907 }
908
909 void ndr_print_lsa_TrustInformation(struct ndr_print *ndr, const char *name, struct lsa_TrustInformation *r)
910 {
911         ndr_print_struct(ndr, name, "lsa_TrustInformation");
912         ndr->depth++;
913         ndr_print_lsa_Name(ndr, "name", &r->name);
914         ndr_print_ptr(ndr, "sid", r->sid);
915         ndr->depth++;
916         if (r->sid) {
917                 ndr_print_dom_sid2(ndr, "sid", r->sid);
918         }
919         ndr->depth--;
920         ndr->depth--;
921 }
922
923 static NTSTATUS ndr_pull_lsa_RefDomainList(struct ndr_pull *ndr, int ndr_flags, struct lsa_RefDomainList *r)
924 {
925         uint32 _ptr_domains;
926         NDR_CHECK(ndr_pull_align(ndr, 4));
927         if (!(ndr_flags & NDR_SCALARS)) goto buffers;
928         NDR_CHECK(ndr_pull_uint32(ndr, &r->count));
929         NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_domains));
930         if (_ptr_domains) {
931                 NDR_ALLOC(ndr, r->domains);
932         } else {
933                 r->domains = NULL;
934         }
935         NDR_CHECK(ndr_pull_uint32(ndr, &r->max_count));
936 buffers:
937         if (!(ndr_flags & NDR_BUFFERS)) goto done;
938         if (r->domains) {
939                 NDR_ALLOC_N_SIZE(ndr, r->domains, r->count, sizeof(r->domains[0]));
940                 NDR_CHECK(ndr_pull_array(ndr, ndr_flags, (void **)r->domains, sizeof(r->domains[0]), r->count, (ndr_pull_flags_fn_t)ndr_pull_lsa_TrustInformation));
941         }
942 done:
943         return NT_STATUS_OK;
944 }
945
946 void ndr_print_lsa_RefDomainList(struct ndr_print *ndr, const char *name, struct lsa_RefDomainList *r)
947 {
948         ndr_print_struct(ndr, name, "lsa_RefDomainList");
949         ndr->depth++;
950         ndr_print_uint32(ndr, "count", r->count);
951         ndr_print_ptr(ndr, "domains", r->domains);
952         ndr->depth++;
953         if (r->domains) {
954                 ndr_print_array(ndr, "domains", r->domains, sizeof(r->domains[0]), r->count, (ndr_print_fn_t)ndr_print_lsa_TrustInformation);
955         }
956         ndr->depth--;
957         ndr_print_uint32(ndr, "max_count", r->max_count);
958         ndr->depth--;
959 }
960
961 NTSTATUS ndr_push_lsa_LookupNames(struct ndr_push *ndr, struct lsa_LookupNames *r)
962 {
963         NDR_CHECK(ndr_push_policy_handle(ndr, r->in.handle));
964         NDR_CHECK(ndr_push_uint32(ndr, r->in.num_names));
965         if (r->in.names) {
966                 int ndr_flags = NDR_SCALARS|NDR_BUFFERS;
967                 NDR_CHECK(ndr_push_array(ndr, ndr_flags, r->in.names, sizeof(r->in.names[0]), r->in.num_names, (ndr_push_flags_fn_t)ndr_push_lsa_Name));
968         }
969         NDR_CHECK(ndr_push_lsa_TransSidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids));
970         NDR_CHECK(ndr_push_uint16(ndr, r->in.level));
971         NDR_CHECK(ndr_push_uint32(ndr, *r->in.count));
972
973         return NT_STATUS_OK;
974 }
975
976 NTSTATUS ndr_pull_lsa_LookupNames(struct ndr_pull *ndr, struct lsa_LookupNames *r)
977 {
978         uint32 _ptr_domains;
979         NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_domains));
980         if (_ptr_domains) {
981                 NDR_ALLOC(ndr, r->out.domains);
982         } else {
983                 r->out.domains = NULL;
984         }
985         if (r->out.domains) {
986                 NDR_CHECK(ndr_pull_lsa_RefDomainList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.domains));
987         }
988         NDR_CHECK(ndr_pull_lsa_TransSidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.sids));
989         NDR_CHECK(ndr_pull_uint32(ndr, r->out.count));
990         NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
991
992         return NT_STATUS_OK;
993 }
994
995 static NTSTATUS ndr_push_lsa_TranslatedName(struct ndr_push *ndr, int ndr_flags, struct lsa_TranslatedName *r)
996 {
997         NDR_CHECK(ndr_push_align(ndr, 4));
998         if (!(ndr_flags & NDR_SCALARS)) goto buffers;
999         NDR_CHECK(ndr_push_uint16(ndr, r->sid_type));
1000         NDR_CHECK(ndr_push_lsa_Name(ndr, NDR_SCALARS, &r->name));
1001         NDR_CHECK(ndr_push_uint32(ndr, r->sid_index));
1002 buffers:
1003         if (!(ndr_flags & NDR_BUFFERS)) goto done;
1004                 NDR_CHECK(ndr_push_lsa_Name(ndr, ndr_flags, &r->name));
1005 done:
1006         return NT_STATUS_OK;
1007 }
1008
1009 static NTSTATUS ndr_pull_lsa_TranslatedName(struct ndr_pull *ndr, int ndr_flags, struct lsa_TranslatedName *r)
1010 {
1011         NDR_CHECK(ndr_pull_align(ndr, 4));
1012         if (!(ndr_flags & NDR_SCALARS)) goto buffers;
1013         NDR_CHECK(ndr_pull_uint16(ndr, &r->sid_type));
1014         NDR_CHECK(ndr_pull_lsa_Name(ndr, NDR_SCALARS, &r->name));
1015         NDR_CHECK(ndr_pull_uint32(ndr, &r->sid_index));
1016 buffers:
1017         if (!(ndr_flags & NDR_BUFFERS)) goto done;
1018                 NDR_CHECK(ndr_pull_lsa_Name(ndr, ndr_flags, &r->name));
1019 done:
1020         return NT_STATUS_OK;
1021 }
1022
1023 void ndr_print_lsa_TranslatedName(struct ndr_print *ndr, const char *name, struct lsa_TranslatedName *r)
1024 {
1025         ndr_print_struct(ndr, name, "lsa_TranslatedName");
1026         ndr->depth++;
1027         ndr_print_uint16(ndr, "sid_type", r->sid_type);
1028         ndr_print_lsa_Name(ndr, "name", &r->name);
1029         ndr_print_uint32(ndr, "sid_index", r->sid_index);
1030         ndr->depth--;
1031 }
1032
1033 static NTSTATUS ndr_push_lsa_TransNameArray(struct ndr_push *ndr, int ndr_flags, struct lsa_TransNameArray *r)
1034 {
1035         NDR_CHECK(ndr_push_align(ndr, 4));
1036         if (!(ndr_flags & NDR_SCALARS)) goto buffers;
1037         NDR_CHECK(ndr_push_uint32(ndr, r->count));
1038         NDR_CHECK(ndr_push_ptr(ndr, r->names));
1039 buffers:
1040         if (!(ndr_flags & NDR_BUFFERS)) goto done;
1041         if (r->names) {
1042                 NDR_CHECK(ndr_push_array(ndr, ndr_flags, r->names, sizeof(r->names[0]), r->count, (ndr_push_flags_fn_t)ndr_push_lsa_TranslatedName));
1043         }
1044 done:
1045         return NT_STATUS_OK;
1046 }
1047
1048 static NTSTATUS ndr_pull_lsa_TransNameArray(struct ndr_pull *ndr, int ndr_flags, struct lsa_TransNameArray *r)
1049 {
1050         uint32 _ptr_names;
1051         NDR_CHECK(ndr_pull_align(ndr, 4));
1052         if (!(ndr_flags & NDR_SCALARS)) goto buffers;
1053         NDR_CHECK(ndr_pull_uint32(ndr, &r->count));
1054         NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_names));
1055         if (_ptr_names) {
1056                 NDR_ALLOC(ndr, r->names);
1057         } else {
1058                 r->names = NULL;
1059         }
1060 buffers:
1061         if (!(ndr_flags & NDR_BUFFERS)) goto done;
1062         if (r->names) {
1063                 NDR_ALLOC_N_SIZE(ndr, r->names, r->count, sizeof(r->names[0]));
1064                 NDR_CHECK(ndr_pull_array(ndr, ndr_flags, (void **)r->names, sizeof(r->names[0]), r->count, (ndr_pull_flags_fn_t)ndr_pull_lsa_TranslatedName));
1065         }
1066 done:
1067         return NT_STATUS_OK;
1068 }
1069
1070 void ndr_print_lsa_TransNameArray(struct ndr_print *ndr, const char *name, struct lsa_TransNameArray *r)
1071 {
1072         ndr_print_struct(ndr, name, "lsa_TransNameArray");
1073         ndr->depth++;
1074         ndr_print_uint32(ndr, "count", r->count);
1075         ndr_print_ptr(ndr, "names", r->names);
1076         ndr->depth++;
1077         if (r->names) {
1078                 ndr_print_array(ndr, "names", r->names, sizeof(r->names[0]), r->count, (ndr_print_fn_t)ndr_print_lsa_TranslatedName);
1079         }
1080         ndr->depth--;
1081         ndr->depth--;
1082 }
1083
1084 NTSTATUS ndr_push_lsa_LookupSids(struct ndr_push *ndr, struct lsa_LookupSids *r)
1085 {
1086         NDR_CHECK(ndr_push_policy_handle(ndr, r->in.handle));
1087         NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids));
1088         NDR_CHECK(ndr_push_lsa_TransNameArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.names));
1089         NDR_CHECK(ndr_push_uint16(ndr, r->in.level));
1090         NDR_CHECK(ndr_push_uint32(ndr, *r->in.count));
1091
1092         return NT_STATUS_OK;
1093 }
1094
1095 NTSTATUS ndr_pull_lsa_LookupSids(struct ndr_pull *ndr, struct lsa_LookupSids *r)
1096 {
1097         uint32 _ptr_domains;
1098         NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_domains));
1099         if (_ptr_domains) {
1100                 NDR_ALLOC(ndr, r->out.domains);
1101         } else {
1102                 r->out.domains = NULL;
1103         }
1104         if (r->out.domains) {
1105                 NDR_CHECK(ndr_pull_lsa_RefDomainList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.domains));
1106         }
1107         NDR_CHECK(ndr_pull_lsa_TransNameArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.names));
1108         NDR_CHECK(ndr_pull_uint32(ndr, r->out.count));
1109         NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1110
1111         return NT_STATUS_OK;
1112 }
1113
1114 NTSTATUS ndr_push_CREATESECRET(struct ndr_push *ndr, struct CREATESECRET *r)
1115 {
1116
1117         return NT_STATUS_OK;
1118 }
1119
1120 NTSTATUS ndr_pull_CREATESECRET(struct ndr_pull *ndr, struct CREATESECRET *r)
1121 {
1122         NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1123
1124         return NT_STATUS_OK;
1125 }
1126
1127 NTSTATUS ndr_push_lsa_OpenAccount(struct ndr_push *ndr, struct lsa_OpenAccount *r)
1128 {
1129         NDR_CHECK(ndr_push_policy_handle(ndr, r->in.handle));
1130         NDR_CHECK(ndr_push_dom_sid2(ndr, r->in.sid));
1131         NDR_CHECK(ndr_push_uint32(ndr, r->in.desired_access));
1132
1133         return NT_STATUS_OK;
1134 }
1135
1136 NTSTATUS ndr_pull_lsa_OpenAccount(struct ndr_pull *ndr, struct lsa_OpenAccount *r)
1137 {
1138         NDR_CHECK(ndr_pull_policy_handle(ndr, r->out.acct_handle));
1139         NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1140
1141         return NT_STATUS_OK;
1142 }
1143
1144 static NTSTATUS ndr_pull_lsa_LUID(struct ndr_pull *ndr, int ndr_flags, struct lsa_LUID *r)
1145 {
1146         NDR_CHECK(ndr_pull_align(ndr, 4));
1147         if (!(ndr_flags & NDR_SCALARS)) goto buffers;
1148         NDR_CHECK(ndr_pull_uint32(ndr, &r->low));
1149         NDR_CHECK(ndr_pull_uint32(ndr, &r->high));
1150 buffers:
1151         if (!(ndr_flags & NDR_BUFFERS)) goto done;
1152 done:
1153         return NT_STATUS_OK;
1154 }
1155
1156 void ndr_print_lsa_LUID(struct ndr_print *ndr, const char *name, struct lsa_LUID *r)
1157 {
1158         ndr_print_struct(ndr, name, "lsa_LUID");
1159         ndr->depth++;
1160         ndr_print_uint32(ndr, "low", r->low);
1161         ndr_print_uint32(ndr, "high", r->high);
1162         ndr->depth--;
1163 }
1164
1165 static NTSTATUS ndr_pull_lsa_LUIDAttribute(struct ndr_pull *ndr, int ndr_flags, struct lsa_LUIDAttribute *r)
1166 {
1167         NDR_CHECK(ndr_pull_align(ndr, 4));
1168         if (!(ndr_flags & NDR_SCALARS)) goto buffers;
1169         NDR_CHECK(ndr_pull_lsa_LUID(ndr, NDR_SCALARS, &r->luid));
1170         NDR_CHECK(ndr_pull_uint32(ndr, &r->attribute));
1171 buffers:
1172         if (!(ndr_flags & NDR_BUFFERS)) goto done;
1173                 NDR_CHECK(ndr_pull_lsa_LUID(ndr, ndr_flags, &r->luid));
1174 done:
1175         return NT_STATUS_OK;
1176 }
1177
1178 void ndr_print_lsa_LUIDAttribute(struct ndr_print *ndr, const char *name, struct lsa_LUIDAttribute *r)
1179 {
1180         ndr_print_struct(ndr, name, "lsa_LUIDAttribute");
1181         ndr->depth++;
1182         ndr_print_lsa_LUID(ndr, "luid", &r->luid);
1183         ndr_print_uint32(ndr, "attribute", r->attribute);
1184         ndr->depth--;
1185 }
1186
1187 static NTSTATUS ndr_pull_lsa_PrivilegeSet(struct ndr_pull *ndr, int ndr_flags, struct lsa_PrivilegeSet *r)
1188 {
1189         NDR_CHECK(ndr_pull_align(ndr, 4));
1190         if (!(ndr_flags & NDR_SCALARS)) goto buffers;
1191         NDR_CHECK(ndr_pull_uint32(ndr, &r->count));
1192 buffers:
1193         if (!(ndr_flags & NDR_BUFFERS)) goto done;
1194                 NDR_ALLOC_N_SIZE(ndr, r->set, r->count, sizeof(r->set[0]));
1195                 NDR_CHECK(ndr_pull_array(ndr, ndr_flags, (void **)r->set, sizeof(r->set[0]), r->count, (ndr_pull_flags_fn_t)ndr_pull_lsa_LUIDAttribute));
1196 done:
1197         return NT_STATUS_OK;
1198 }
1199
1200 void ndr_print_lsa_PrivilegeSet(struct ndr_print *ndr, const char *name, struct lsa_PrivilegeSet *r)
1201 {
1202         ndr_print_struct(ndr, name, "lsa_PrivilegeSet");
1203         ndr->depth++;
1204         ndr_print_uint32(ndr, "count", r->count);
1205         ndr_print_ptr(ndr, "set", r->set);
1206         ndr->depth++;
1207                 ndr_print_array(ndr, "set", r->set, sizeof(r->set[0]), r->count, (ndr_print_fn_t)ndr_print_lsa_LUIDAttribute);
1208         ndr->depth--;
1209         ndr->depth--;
1210 }
1211
1212 NTSTATUS ndr_push_lsa_EnumPrivsAccount(struct ndr_push *ndr, struct lsa_EnumPrivsAccount *r)
1213 {
1214         NDR_CHECK(ndr_push_policy_handle(ndr, r->in.handle));
1215
1216         return NT_STATUS_OK;
1217 }
1218
1219 NTSTATUS ndr_pull_lsa_EnumPrivsAccount(struct ndr_pull *ndr, struct lsa_EnumPrivsAccount *r)
1220 {
1221         uint32 _ptr_privs;
1222         NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_privs));
1223         if (_ptr_privs) {
1224                 NDR_ALLOC(ndr, r->out.privs);
1225         } else {
1226                 r->out.privs = NULL;
1227         }
1228         if (r->out.privs) {
1229                 NDR_CHECK(ndr_pull_lsa_PrivilegeSet(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.privs));
1230         }
1231         NDR_CHECK(ndr_pull_uint32(ndr, &r->out.unknown));
1232         NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1233
1234         return NT_STATUS_OK;
1235 }
1236
1237 NTSTATUS ndr_push_ADDPRIVS(struct ndr_push *ndr, struct ADDPRIVS *r)
1238 {
1239
1240         return NT_STATUS_OK;
1241 }
1242
1243 NTSTATUS ndr_pull_ADDPRIVS(struct ndr_pull *ndr, struct ADDPRIVS *r)
1244 {
1245         NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1246
1247         return NT_STATUS_OK;
1248 }
1249
1250 NTSTATUS ndr_push_REMOVEPRIVS(struct ndr_push *ndr, struct REMOVEPRIVS *r)
1251 {
1252
1253         return NT_STATUS_OK;
1254 }
1255
1256 NTSTATUS ndr_pull_REMOVEPRIVS(struct ndr_pull *ndr, struct REMOVEPRIVS *r)
1257 {
1258         NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1259
1260         return NT_STATUS_OK;
1261 }
1262
1263 NTSTATUS ndr_push_GETQUOTAS(struct ndr_push *ndr, struct GETQUOTAS *r)
1264 {
1265
1266         return NT_STATUS_OK;
1267 }
1268
1269 NTSTATUS ndr_pull_GETQUOTAS(struct ndr_pull *ndr, struct GETQUOTAS *r)
1270 {
1271         NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1272
1273         return NT_STATUS_OK;
1274 }
1275
1276 NTSTATUS ndr_push_SETQUOTAS(struct ndr_push *ndr, struct SETQUOTAS *r)
1277 {
1278
1279         return NT_STATUS_OK;
1280 }
1281
1282 NTSTATUS ndr_pull_SETQUOTAS(struct ndr_pull *ndr, struct SETQUOTAS *r)
1283 {
1284         NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1285
1286         return NT_STATUS_OK;
1287 }
1288
1289 NTSTATUS ndr_push_GETSYSTEMACCOUNT(struct ndr_push *ndr, struct GETSYSTEMACCOUNT *r)
1290 {
1291
1292         return NT_STATUS_OK;
1293 }
1294
1295 NTSTATUS ndr_pull_GETSYSTEMACCOUNT(struct ndr_pull *ndr, struct GETSYSTEMACCOUNT *r)
1296 {
1297         NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1298
1299         return NT_STATUS_OK;
1300 }
1301
1302 NTSTATUS ndr_push_SETSYSTEMACCOUNT(struct ndr_push *ndr, struct SETSYSTEMACCOUNT *r)
1303 {
1304
1305         return NT_STATUS_OK;
1306 }
1307
1308 NTSTATUS ndr_pull_SETSYSTEMACCOUNT(struct ndr_pull *ndr, struct SETSYSTEMACCOUNT *r)
1309 {
1310         NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1311
1312         return NT_STATUS_OK;
1313 }
1314
1315 NTSTATUS ndr_push_OPENTRUSTDOM(struct ndr_push *ndr, struct OPENTRUSTDOM *r)
1316 {
1317
1318         return NT_STATUS_OK;
1319 }
1320
1321 NTSTATUS ndr_pull_OPENTRUSTDOM(struct ndr_pull *ndr, struct OPENTRUSTDOM *r)
1322 {
1323         NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1324
1325         return NT_STATUS_OK;
1326 }
1327
1328 NTSTATUS ndr_push_QUERYTRUSTDOM(struct ndr_push *ndr, struct QUERYTRUSTDOM *r)
1329 {
1330
1331         return NT_STATUS_OK;
1332 }
1333
1334 NTSTATUS ndr_pull_QUERYTRUSTDOM(struct ndr_pull *ndr, struct QUERYTRUSTDOM *r)
1335 {
1336         NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1337
1338         return NT_STATUS_OK;
1339 }
1340
1341 NTSTATUS ndr_push_SETINFOTRUSTDOM(struct ndr_push *ndr, struct SETINFOTRUSTDOM *r)
1342 {
1343
1344         return NT_STATUS_OK;
1345 }
1346
1347 NTSTATUS ndr_pull_SETINFOTRUSTDOM(struct ndr_pull *ndr, struct SETINFOTRUSTDOM *r)
1348 {
1349         NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1350
1351         return NT_STATUS_OK;
1352 }
1353
1354 NTSTATUS ndr_push_OPENSECRET(struct ndr_push *ndr, struct OPENSECRET *r)
1355 {
1356
1357         return NT_STATUS_OK;
1358 }
1359
1360 NTSTATUS ndr_pull_OPENSECRET(struct ndr_pull *ndr, struct OPENSECRET *r)
1361 {
1362         NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1363
1364         return NT_STATUS_OK;
1365 }
1366
1367 NTSTATUS ndr_push_SETSECRET(struct ndr_push *ndr, struct SETSECRET *r)
1368 {
1369
1370         return NT_STATUS_OK;
1371 }
1372
1373 NTSTATUS ndr_pull_SETSECRET(struct ndr_pull *ndr, struct SETSECRET *r)
1374 {
1375         NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1376
1377         return NT_STATUS_OK;
1378 }
1379
1380 NTSTATUS ndr_push_QUERYSECRET(struct ndr_push *ndr, struct QUERYSECRET *r)
1381 {
1382
1383         return NT_STATUS_OK;
1384 }
1385
1386 NTSTATUS ndr_pull_QUERYSECRET(struct ndr_pull *ndr, struct QUERYSECRET *r)
1387 {
1388         NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1389
1390         return NT_STATUS_OK;
1391 }
1392
1393 NTSTATUS ndr_push_LOOKUPPRIVVALUE(struct ndr_push *ndr, struct LOOKUPPRIVVALUE *r)
1394 {
1395
1396         return NT_STATUS_OK;
1397 }
1398
1399 NTSTATUS ndr_pull_LOOKUPPRIVVALUE(struct ndr_pull *ndr, struct LOOKUPPRIVVALUE *r)
1400 {
1401         NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1402
1403         return NT_STATUS_OK;
1404 }
1405
1406 NTSTATUS ndr_push_lsa_LookupPrivName(struct ndr_push *ndr, struct lsa_LookupPrivName *r)
1407 {
1408         NDR_CHECK(ndr_push_policy_handle(ndr, r->in.handle));
1409         NDR_CHECK(ndr_push_uint32(ndr, r->in.luid_high));
1410         NDR_CHECK(ndr_push_uint32(ndr, r->in.luid_low));
1411
1412         return NT_STATUS_OK;
1413 }
1414
1415 NTSTATUS ndr_pull_lsa_LookupPrivName(struct ndr_pull *ndr, struct lsa_LookupPrivName *r)
1416 {
1417         uint32 _ptr_name;
1418         NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_name));
1419         if (_ptr_name) {
1420                 NDR_ALLOC(ndr, r->out.name);
1421         } else {
1422                 r->out.name = NULL;
1423         }
1424         if (r->out.name) {
1425                 NDR_CHECK(ndr_pull_lsa_Name(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.name));
1426         }
1427         NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1428
1429         return NT_STATUS_OK;
1430 }
1431
1432 NTSTATUS ndr_push_PRIV_GET_DISPNAME(struct ndr_push *ndr, struct PRIV_GET_DISPNAME *r)
1433 {
1434
1435         return NT_STATUS_OK;
1436 }
1437
1438 NTSTATUS ndr_pull_PRIV_GET_DISPNAME(struct ndr_pull *ndr, struct PRIV_GET_DISPNAME *r)
1439 {
1440         NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1441
1442         return NT_STATUS_OK;
1443 }
1444
1445 NTSTATUS ndr_push_DELETEOBJECT(struct ndr_push *ndr, struct DELETEOBJECT *r)
1446 {
1447
1448         return NT_STATUS_OK;
1449 }
1450
1451 NTSTATUS ndr_pull_DELETEOBJECT(struct ndr_pull *ndr, struct DELETEOBJECT *r)
1452 {
1453         NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1454
1455         return NT_STATUS_OK;
1456 }
1457
1458 NTSTATUS ndr_push_ENUMACCTWITHRIGHT(struct ndr_push *ndr, struct ENUMACCTWITHRIGHT *r)
1459 {
1460
1461         return NT_STATUS_OK;
1462 }
1463
1464 NTSTATUS ndr_pull_ENUMACCTWITHRIGHT(struct ndr_pull *ndr, struct ENUMACCTWITHRIGHT *r)
1465 {
1466         NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1467
1468         return NT_STATUS_OK;
1469 }
1470
1471 void ndr_print_lsa_RightAttribute(struct ndr_print *ndr, const char *name, struct lsa_RightAttribute *r)
1472 {
1473         ndr_print_struct(ndr, name, "lsa_RightAttribute");
1474         ndr->depth++;
1475         ndr_print_ptr(ndr, "name", r->name);
1476         ndr->depth++;
1477         if (r->name) {
1478                 ndr_print_unistr(ndr, "name", r->name);
1479         }
1480         ndr->depth--;
1481         ndr->depth--;
1482 }
1483
1484 static NTSTATUS ndr_pull_lsa_RightSet(struct ndr_pull *ndr, int ndr_flags, struct lsa_RightSet *r)
1485 {
1486         uint32 _ptr_names;
1487         NDR_CHECK(ndr_pull_align(ndr, 4));
1488         if (!(ndr_flags & NDR_SCALARS)) goto buffers;
1489         NDR_CHECK(ndr_pull_uint32(ndr, &r->count));
1490         NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_names));
1491         if (_ptr_names) {
1492                 NDR_ALLOC(ndr, r->names);
1493         } else {
1494                 r->names = NULL;
1495         }
1496 buffers:
1497         if (!(ndr_flags & NDR_BUFFERS)) goto done;
1498         if (r->names) {
1499                 NDR_ALLOC_N_SIZE(ndr, r->names, r->count, sizeof(r->names[0]));
1500                 NDR_CHECK(ndr_pull_array(ndr, ndr_flags, (void **)r->names, sizeof(r->names[0]), r->count, (ndr_pull_flags_fn_t)ndr_pull_lsa_Name));
1501         }
1502 done:
1503         return NT_STATUS_OK;
1504 }
1505
1506 void ndr_print_lsa_RightSet(struct ndr_print *ndr, const char *name, struct lsa_RightSet *r)
1507 {
1508         ndr_print_struct(ndr, name, "lsa_RightSet");
1509         ndr->depth++;
1510         ndr_print_uint32(ndr, "count", r->count);
1511         ndr_print_ptr(ndr, "names", r->names);
1512         ndr->depth++;
1513         if (r->names) {
1514                 ndr_print_array(ndr, "names", r->names, sizeof(r->names[0]), r->count, (ndr_print_fn_t)ndr_print_lsa_Name);
1515         }
1516         ndr->depth--;
1517         ndr->depth--;
1518 }
1519
1520 NTSTATUS ndr_push_lsa_EnumAccountRights(struct ndr_push *ndr, struct lsa_EnumAccountRights *r)
1521 {
1522         NDR_CHECK(ndr_push_policy_handle(ndr, r->in.handle));
1523         NDR_CHECK(ndr_push_dom_sid2(ndr, r->in.sid));
1524
1525         return NT_STATUS_OK;
1526 }
1527
1528 NTSTATUS ndr_pull_lsa_EnumAccountRights(struct ndr_pull *ndr, struct lsa_EnumAccountRights *r)
1529 {
1530         NDR_CHECK(ndr_pull_lsa_RightSet(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.rights));
1531         NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1532
1533         return NT_STATUS_OK;
1534 }
1535
1536 NTSTATUS ndr_push_ADDACCTRIGHTS(struct ndr_push *ndr, struct ADDACCTRIGHTS *r)
1537 {
1538
1539         return NT_STATUS_OK;
1540 }
1541
1542 NTSTATUS ndr_pull_ADDACCTRIGHTS(struct ndr_pull *ndr, struct ADDACCTRIGHTS *r)
1543 {
1544         NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1545
1546         return NT_STATUS_OK;
1547 }
1548
1549 NTSTATUS ndr_push_REMOVEACCTRIGHTS(struct ndr_push *ndr, struct REMOVEACCTRIGHTS *r)
1550 {
1551
1552         return NT_STATUS_OK;
1553 }
1554
1555 NTSTATUS ndr_pull_REMOVEACCTRIGHTS(struct ndr_pull *ndr, struct REMOVEACCTRIGHTS *r)
1556 {
1557         NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1558
1559         return NT_STATUS_OK;
1560 }
1561
1562 NTSTATUS ndr_push_QUERYTRUSTDOMINFO(struct ndr_push *ndr, struct QUERYTRUSTDOMINFO *r)
1563 {
1564
1565         return NT_STATUS_OK;
1566 }
1567
1568 NTSTATUS ndr_pull_QUERYTRUSTDOMINFO(struct ndr_pull *ndr, struct QUERYTRUSTDOMINFO *r)
1569 {
1570         NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1571
1572         return NT_STATUS_OK;
1573 }
1574
1575 NTSTATUS ndr_push_SETTRUSTDOMINFO(struct ndr_push *ndr, struct SETTRUSTDOMINFO *r)
1576 {
1577
1578         return NT_STATUS_OK;
1579 }
1580
1581 NTSTATUS ndr_pull_SETTRUSTDOMINFO(struct ndr_pull *ndr, struct SETTRUSTDOMINFO *r)
1582 {
1583         NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1584
1585         return NT_STATUS_OK;
1586 }
1587
1588 NTSTATUS ndr_push_DELETETRUSTDOM(struct ndr_push *ndr, struct DELETETRUSTDOM *r)
1589 {
1590
1591         return NT_STATUS_OK;
1592 }
1593
1594 NTSTATUS ndr_pull_DELETETRUSTDOM(struct ndr_pull *ndr, struct DELETETRUSTDOM *r)
1595 {
1596         NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1597
1598         return NT_STATUS_OK;
1599 }
1600
1601 NTSTATUS ndr_push_STOREPRIVDATA(struct ndr_push *ndr, struct STOREPRIVDATA *r)
1602 {
1603
1604         return NT_STATUS_OK;
1605 }
1606
1607 NTSTATUS ndr_pull_STOREPRIVDATA(struct ndr_pull *ndr, struct STOREPRIVDATA *r)
1608 {
1609         NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1610
1611         return NT_STATUS_OK;
1612 }
1613
1614 NTSTATUS ndr_push_RETRPRIVDATA(struct ndr_push *ndr, struct RETRPRIVDATA *r)
1615 {
1616
1617         return NT_STATUS_OK;
1618 }
1619
1620 NTSTATUS ndr_pull_RETRPRIVDATA(struct ndr_pull *ndr, struct RETRPRIVDATA *r)
1621 {
1622         NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1623
1624         return NT_STATUS_OK;
1625 }
1626
1627 NTSTATUS ndr_push_lsa_OpenPolicy2(struct ndr_push *ndr, struct lsa_OpenPolicy2 *r)
1628 {
1629         NDR_CHECK(ndr_push_ptr(ndr, r->in.system_name));
1630         if (r->in.system_name) {
1631                 NDR_CHECK(ndr_push_unistr(ndr, r->in.system_name));
1632         }
1633         NDR_CHECK(ndr_push_lsa_ObjectAttribute(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.attr));
1634         NDR_CHECK(ndr_push_uint32(ndr, r->in.desired_access));
1635
1636         return NT_STATUS_OK;
1637 }
1638
1639 NTSTATUS ndr_pull_lsa_OpenPolicy2(struct ndr_pull *ndr, struct lsa_OpenPolicy2 *r)
1640 {
1641         NDR_CHECK(ndr_pull_policy_handle(ndr, r->out.handle));
1642         NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1643
1644         return NT_STATUS_OK;
1645 }
1646
1647 NTSTATUS ndr_push_UNK_GET_CONNUSER(struct ndr_push *ndr, struct UNK_GET_CONNUSER *r)
1648 {
1649
1650         return NT_STATUS_OK;
1651 }
1652
1653 NTSTATUS ndr_pull_UNK_GET_CONNUSER(struct ndr_pull *ndr, struct UNK_GET_CONNUSER *r)
1654 {
1655         NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1656
1657         return NT_STATUS_OK;
1658 }
1659
1660 NTSTATUS ndr_push_QUERYINFO2(struct ndr_push *ndr, struct QUERYINFO2 *r)
1661 {
1662
1663         return NT_STATUS_OK;
1664 }
1665
1666 NTSTATUS ndr_pull_QUERYINFO2(struct ndr_pull *ndr, struct QUERYINFO2 *r)
1667 {
1668         NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1669
1670         return NT_STATUS_OK;
1671 }
1672