1 /* parser auto-generated by pidl */
5 NTSTATUS ndr_push_lsa_Close(struct ndr_push *ndr, struct lsa_Close *r)
7 NDR_CHECK(ndr_push_policy_handle(ndr, r->in.handle));
12 NTSTATUS ndr_pull_lsa_Close(struct ndr_pull *ndr, struct lsa_Close *r)
14 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
19 NTSTATUS ndr_push_lsa_Delete(struct ndr_push *ndr, struct lsa_Delete *r)
21 NDR_CHECK(ndr_push_policy_handle(ndr, r->in.handle));
26 NTSTATUS ndr_pull_lsa_Delete(struct ndr_pull *ndr, struct lsa_Delete *r)
28 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
33 static NTSTATUS ndr_push_lsa_Name(struct ndr_push *ndr, int ndr_flags, struct lsa_Name *r)
35 if (!(ndr_flags & NDR_SCALARS)) goto buffers;
36 NDR_CHECK(ndr_push_uint16(ndr, r->name_len));
37 NDR_CHECK(ndr_push_uint16(ndr, r->name_size));
38 NDR_CHECK(ndr_push_ptr(ndr, r->name));
40 if (!(ndr_flags & NDR_BUFFERS)) goto done;
42 NDR_CHECK(ndr_push_unistr_noterm(ndr, r->name));
48 static NTSTATUS ndr_pull_lsa_Name(struct ndr_pull *ndr, int ndr_flags, struct lsa_Name *r)
51 if (!(ndr_flags & NDR_SCALARS)) goto buffers;
52 NDR_CHECK(ndr_pull_uint16(ndr, &r->name_len));
53 NDR_CHECK(ndr_pull_uint16(ndr, &r->name_size));
54 NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_name));
56 NDR_ALLOC(ndr, r->name);
61 if (!(ndr_flags & NDR_BUFFERS)) goto done;
63 NDR_CHECK(ndr_pull_unistr_noterm(ndr, &r->name));
69 static NTSTATUS ndr_push_lsa_PrivEntry(struct ndr_push *ndr, int ndr_flags, struct lsa_PrivEntry *r)
71 if (!(ndr_flags & NDR_SCALARS)) goto buffers;
72 NDR_CHECK(ndr_push_lsa_Name(ndr, NDR_SCALARS, &r->name));
73 NDR_CHECK(ndr_push_uint32(ndr, r->luid_low));
74 NDR_CHECK(ndr_push_uint32(ndr, r->luid_high));
76 if (!(ndr_flags & NDR_BUFFERS)) goto done;
77 NDR_CHECK(ndr_push_lsa_Name(ndr, ndr_flags, &r->name));
82 static NTSTATUS ndr_pull_lsa_PrivEntry(struct ndr_pull *ndr, int ndr_flags, struct lsa_PrivEntry *r)
84 if (!(ndr_flags & NDR_SCALARS)) goto buffers;
85 NDR_CHECK(ndr_pull_lsa_Name(ndr, NDR_SCALARS, &r->name));
86 NDR_CHECK(ndr_pull_uint32(ndr, &r->luid_low));
87 NDR_CHECK(ndr_pull_uint32(ndr, &r->luid_high));
89 if (!(ndr_flags & NDR_BUFFERS)) goto done;
90 NDR_CHECK(ndr_pull_lsa_Name(ndr, ndr_flags, &r->name));
95 static NTSTATUS ndr_push_lsa_PrivArray(struct ndr_push *ndr, int ndr_flags, struct lsa_PrivArray *r)
97 if (!(ndr_flags & NDR_SCALARS)) goto buffers;
98 NDR_CHECK(ndr_push_uint32(ndr, r->count));
99 NDR_CHECK(ndr_push_ptr(ndr, r->privs));
101 if (!(ndr_flags & NDR_BUFFERS)) goto done;
103 NDR_CHECK(ndr_push_array(ndr, ndr_flags, r->privs, sizeof(r->privs[0]), r->count, (ndr_push_flags_fn_t)ndr_push_lsa_PrivEntry));
109 static NTSTATUS ndr_pull_lsa_PrivArray(struct ndr_pull *ndr, int ndr_flags, struct lsa_PrivArray *r)
112 if (!(ndr_flags & NDR_SCALARS)) goto buffers;
113 NDR_CHECK(ndr_pull_uint32(ndr, &r->count));
114 NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_privs));
116 NDR_ALLOC(ndr, r->privs);
121 if (!(ndr_flags & NDR_BUFFERS)) goto done;
123 NDR_ALLOC_N_SIZE(ndr, r->privs, r->count, sizeof(r->privs[0]));
124 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));
130 NTSTATUS ndr_push_lsa_EnumPrivs(struct ndr_push *ndr, struct lsa_EnumPrivs *r)
132 NDR_CHECK(ndr_push_policy_handle(ndr, r->in.handle));
133 NDR_CHECK(ndr_push_uint32(ndr, *r->in.resume_handle));
134 NDR_CHECK(ndr_push_uint32(ndr, r->in.max_count));
139 NTSTATUS ndr_pull_lsa_EnumPrivs(struct ndr_pull *ndr, struct lsa_EnumPrivs *r)
141 NDR_CHECK(ndr_pull_uint32(ndr, r->out.resume_handle));
142 NDR_CHECK(ndr_pull_lsa_PrivArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.privs));
143 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
148 NTSTATUS ndr_push_lsa_QuerySecObj(struct ndr_push *ndr, struct lsa_QuerySecObj *r)
154 NTSTATUS ndr_pull_lsa_QuerySecObj(struct ndr_pull *ndr, struct lsa_QuerySecObj *r)
156 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
161 NTSTATUS ndr_push_lsa_SetSecObj(struct ndr_push *ndr, struct lsa_SetSecObj *r)
167 NTSTATUS ndr_pull_lsa_SetSecObj(struct ndr_pull *ndr, struct lsa_SetSecObj *r)
169 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
174 NTSTATUS ndr_push_lsa_ChangePassword(struct ndr_push *ndr, struct lsa_ChangePassword *r)
180 NTSTATUS ndr_pull_lsa_ChangePassword(struct ndr_pull *ndr, struct lsa_ChangePassword *r)
182 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
187 static NTSTATUS ndr_push_lsa_QosInfo(struct ndr_push *ndr, int ndr_flags, struct lsa_QosInfo *r)
189 struct ndr_push_save _save1, _save2, _save3;
190 ndr_push_save(ndr, &_save1);
191 if (!(ndr_flags & NDR_SCALARS)) goto buffers;
192 NDR_CHECK(ndr_push_align_uint32(ndr));
193 ndr_push_save(ndr, &_save2);
194 NDR_CHECK(ndr_push_uint32(ndr, 0));
195 NDR_CHECK(ndr_push_uint16(ndr, r->impersonation_level));
196 NDR_CHECK(ndr_push_uint8(ndr, r->context_mode));
197 NDR_CHECK(ndr_push_uint8(ndr, r->effective_only));
199 if (!(ndr_flags & NDR_BUFFERS)) goto done;
200 ndr_push_save(ndr, &_save3);
201 ndr_push_restore(ndr, &_save2);
202 NDR_CHECK(ndr_push_uint32(ndr, _save3.offset - _save1.offset));
203 ndr_push_restore(ndr, &_save3);
208 static NTSTATUS ndr_pull_lsa_QosInfo(struct ndr_pull *ndr, int ndr_flags, struct lsa_QosInfo *r)
211 struct ndr_pull_save _save;
212 ndr_pull_save(ndr, &_save);
213 if (!(ndr_flags & NDR_SCALARS)) goto buffers;
214 NDR_CHECK(ndr_pull_uint32(ndr, &_size));
215 NDR_CHECK(ndr_pull_limit_size(ndr, _size, 4));
216 NDR_CHECK(ndr_pull_uint16(ndr, &r->impersonation_level));
217 NDR_CHECK(ndr_pull_uint8(ndr, &r->context_mode));
218 NDR_CHECK(ndr_pull_uint8(ndr, &r->effective_only));
220 if (!(ndr_flags & NDR_BUFFERS)) goto done;
221 ndr_pull_restore(ndr, &_save);
222 NDR_CHECK(ndr_pull_advance(ndr, _size));
227 static NTSTATUS ndr_push_lsa_ObjectAttribute(struct ndr_push *ndr, int ndr_flags, struct lsa_ObjectAttribute *r)
229 struct ndr_push_save _save1, _save2, _save3;
230 ndr_push_save(ndr, &_save1);
231 if (!(ndr_flags & NDR_SCALARS)) goto buffers;
232 NDR_CHECK(ndr_push_align_uint32(ndr));
233 ndr_push_save(ndr, &_save2);
234 NDR_CHECK(ndr_push_uint32(ndr, 0));
235 NDR_CHECK(ndr_push_ptr(ndr, r->root_dir));
236 NDR_CHECK(ndr_push_ptr(ndr, r->object_name));
237 NDR_CHECK(ndr_push_uint32(ndr, r->attributes));
238 NDR_CHECK(ndr_push_ptr(ndr, r->sec_desc));
239 NDR_CHECK(ndr_push_ptr(ndr, r->sec_qos));
241 if (!(ndr_flags & NDR_BUFFERS)) goto done;
243 NDR_CHECK(ndr_push_uint8(ndr, *r->root_dir));
245 if (r->object_name) {
246 NDR_CHECK(ndr_push_unistr(ndr, r->object_name));
249 NDR_CHECK(ndr_push_security_descriptor(ndr, r->sec_desc));
252 NDR_CHECK(ndr_push_lsa_QosInfo(ndr, ndr_flags, r->sec_qos));
254 ndr_push_save(ndr, &_save3);
255 ndr_push_restore(ndr, &_save2);
256 NDR_CHECK(ndr_push_uint32(ndr, _save3.offset - _save1.offset));
257 ndr_push_restore(ndr, &_save3);
262 static NTSTATUS ndr_pull_lsa_ObjectAttribute(struct ndr_pull *ndr, int ndr_flags, struct lsa_ObjectAttribute *r)
264 uint32 _ptr_root_dir;
265 uint32 _ptr_object_name;
266 uint32 _ptr_sec_desc;
269 struct ndr_pull_save _save;
270 ndr_pull_save(ndr, &_save);
271 if (!(ndr_flags & NDR_SCALARS)) goto buffers;
272 NDR_CHECK(ndr_pull_uint32(ndr, &_size));
273 NDR_CHECK(ndr_pull_limit_size(ndr, _size, 4));
274 NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_root_dir));
276 NDR_ALLOC(ndr, r->root_dir);
280 NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_object_name));
281 if (_ptr_object_name) {
282 NDR_ALLOC(ndr, r->object_name);
284 r->object_name = NULL;
286 NDR_CHECK(ndr_pull_uint32(ndr, &r->attributes));
287 NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_sec_desc));
289 NDR_ALLOC(ndr, r->sec_desc);
293 NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_sec_qos));
295 NDR_ALLOC(ndr, r->sec_qos);
300 if (!(ndr_flags & NDR_BUFFERS)) goto done;
302 NDR_CHECK(ndr_pull_uint8(ndr, r->root_dir));
304 if (r->object_name) {
305 NDR_CHECK(ndr_pull_unistr(ndr, &r->object_name));
308 NDR_CHECK(ndr_pull_security_descriptor(ndr, r->sec_desc));
311 NDR_CHECK(ndr_pull_lsa_QosInfo(ndr, ndr_flags, r->sec_qos));
313 ndr_pull_restore(ndr, &_save);
314 NDR_CHECK(ndr_pull_advance(ndr, _size));
319 NTSTATUS ndr_push_lsa_OpenPolicy(struct ndr_push *ndr, struct lsa_OpenPolicy *r)
321 NDR_CHECK(ndr_push_ptr(ndr, r->in.system_name));
322 if (r->in.system_name) {
323 NDR_CHECK(ndr_push_uint16(ndr, *r->in.system_name));
325 NDR_CHECK(ndr_push_lsa_ObjectAttribute(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.attr));
326 NDR_CHECK(ndr_push_uint32(ndr, r->in.desired_access));
331 NTSTATUS ndr_pull_lsa_OpenPolicy(struct ndr_pull *ndr, struct lsa_OpenPolicy *r)
333 NDR_CHECK(ndr_pull_policy_handle(ndr, r->out.handle));
334 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
339 NTSTATUS ndr_push_lsa_QueryInfoPolicy(struct ndr_push *ndr, struct lsa_QueryInfoPolicy *r)
345 NTSTATUS ndr_pull_lsa_QueryInfoPolicy(struct ndr_pull *ndr, struct lsa_QueryInfoPolicy *r)
347 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
352 NTSTATUS ndr_push_lsa_SetInfoPolicy(struct ndr_push *ndr, struct lsa_SetInfoPolicy *r)
358 NTSTATUS ndr_pull_lsa_SetInfoPolicy(struct ndr_pull *ndr, struct lsa_SetInfoPolicy *r)
360 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
365 NTSTATUS ndr_push_lsa_ClearAuditLog(struct ndr_push *ndr, struct lsa_ClearAuditLog *r)
371 NTSTATUS ndr_pull_lsa_ClearAuditLog(struct ndr_pull *ndr, struct lsa_ClearAuditLog *r)
373 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
378 NTSTATUS ndr_push_lsa_CreateAccount(struct ndr_push *ndr, struct lsa_CreateAccount *r)
384 NTSTATUS ndr_pull_lsa_CreateAccount(struct ndr_pull *ndr, struct lsa_CreateAccount *r)
386 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
391 static NTSTATUS ndr_push_lsa_SidPtr(struct ndr_push *ndr, int ndr_flags, struct lsa_SidPtr *r)
393 if (!(ndr_flags & NDR_SCALARS)) goto buffers;
394 NDR_CHECK(ndr_push_ptr(ndr, r->sid));
396 if (!(ndr_flags & NDR_BUFFERS)) goto done;
398 NDR_CHECK(ndr_push_dom_sid2(ndr, r->sid));
404 static NTSTATUS ndr_pull_lsa_SidPtr(struct ndr_pull *ndr, int ndr_flags, struct lsa_SidPtr *r)
407 if (!(ndr_flags & NDR_SCALARS)) goto buffers;
408 NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_sid));
410 NDR_ALLOC(ndr, r->sid);
415 if (!(ndr_flags & NDR_BUFFERS)) goto done;
417 NDR_CHECK(ndr_pull_dom_sid2(ndr, r->sid));
423 static NTSTATUS ndr_push_lsa_SidArray(struct ndr_push *ndr, int ndr_flags, struct lsa_SidArray *r)
425 if (!(ndr_flags & NDR_SCALARS)) goto buffers;
426 NDR_CHECK(ndr_push_uint32(ndr, r->num_sids));
427 NDR_CHECK(ndr_push_ptr(ndr, r->sids));
429 if (!(ndr_flags & NDR_BUFFERS)) goto done;
431 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));
437 static NTSTATUS ndr_pull_lsa_SidArray(struct ndr_pull *ndr, int ndr_flags, struct lsa_SidArray *r)
440 if (!(ndr_flags & NDR_SCALARS)) goto buffers;
441 NDR_CHECK(ndr_pull_uint32(ndr, &r->num_sids));
442 NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_sids));
444 NDR_ALLOC(ndr, r->sids);
449 if (!(ndr_flags & NDR_BUFFERS)) goto done;
451 NDR_ALLOC_N_SIZE(ndr, r->sids, r->num_sids, sizeof(r->sids[0]));
452 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));
458 NTSTATUS ndr_push_lsa_EnumAccounts(struct ndr_push *ndr, struct lsa_EnumAccounts *r)
460 NDR_CHECK(ndr_push_policy_handle(ndr, r->in.handle));
461 NDR_CHECK(ndr_push_uint32(ndr, *r->in.resume_handle));
462 NDR_CHECK(ndr_push_uint32(ndr, r->in.num_entries));
467 NTSTATUS ndr_pull_lsa_EnumAccounts(struct ndr_pull *ndr, struct lsa_EnumAccounts *r)
469 NDR_CHECK(ndr_pull_uint32(ndr, r->out.resume_handle));
470 NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.sids));
471 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
476 NTSTATUS ndr_push_lsa_CreateTrustDom(struct ndr_push *ndr, struct lsa_CreateTrustDom *r)
482 NTSTATUS ndr_pull_lsa_CreateTrustDom(struct ndr_pull *ndr, struct lsa_CreateTrustDom *r)
484 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
489 static NTSTATUS ndr_push_lsa_TrustInformation(struct ndr_push *ndr, int ndr_flags, struct lsa_TrustInformation *r)
491 if (!(ndr_flags & NDR_SCALARS)) goto buffers;
492 NDR_CHECK(ndr_push_lsa_Name(ndr, NDR_SCALARS, &r->name));
493 NDR_CHECK(ndr_push_ptr(ndr, r->sid));
495 if (!(ndr_flags & NDR_BUFFERS)) goto done;
496 NDR_CHECK(ndr_push_lsa_Name(ndr, ndr_flags, &r->name));
498 NDR_CHECK(ndr_push_dom_sid2(ndr, r->sid));
504 static NTSTATUS ndr_pull_lsa_TrustInformation(struct ndr_pull *ndr, int ndr_flags, struct lsa_TrustInformation *r)
507 if (!(ndr_flags & NDR_SCALARS)) goto buffers;
508 NDR_CHECK(ndr_pull_lsa_Name(ndr, NDR_SCALARS, &r->name));
509 NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_sid));
511 NDR_ALLOC(ndr, r->sid);
516 if (!(ndr_flags & NDR_BUFFERS)) goto done;
517 NDR_CHECK(ndr_pull_lsa_Name(ndr, ndr_flags, &r->name));
519 NDR_CHECK(ndr_pull_dom_sid2(ndr, r->sid));
525 static NTSTATUS ndr_push_lsa_RefDomainList(struct ndr_push *ndr, int ndr_flags, struct lsa_RefDomainList *r)
527 if (!(ndr_flags & NDR_SCALARS)) goto buffers;
528 NDR_CHECK(ndr_push_uint32(ndr, r->count));
529 NDR_CHECK(ndr_push_ptr(ndr, r->domains));
530 NDR_CHECK(ndr_push_uint32(ndr, r->max_count));
532 if (!(ndr_flags & NDR_BUFFERS)) goto done;
534 NDR_CHECK(ndr_push_array(ndr, ndr_flags, r->domains, sizeof(r->domains[0]), r->count, (ndr_push_flags_fn_t)ndr_push_lsa_TrustInformation));
540 static NTSTATUS ndr_pull_lsa_RefDomainList(struct ndr_pull *ndr, int ndr_flags, struct lsa_RefDomainList *r)
543 if (!(ndr_flags & NDR_SCALARS)) goto buffers;
544 NDR_CHECK(ndr_pull_uint32(ndr, &r->count));
545 NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_domains));
547 NDR_ALLOC(ndr, r->domains);
551 NDR_CHECK(ndr_pull_uint32(ndr, &r->max_count));
553 if (!(ndr_flags & NDR_BUFFERS)) goto done;
555 NDR_ALLOC_N_SIZE(ndr, r->domains, r->count, sizeof(r->domains[0]));
556 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));
562 NTSTATUS ndr_push_lsa_EnumTrustDom(struct ndr_push *ndr, struct lsa_EnumTrustDom *r)
564 NDR_CHECK(ndr_push_policy_handle(ndr, r->in.handle));
565 NDR_CHECK(ndr_push_uint32(ndr, *r->in.resume_handle));
566 NDR_CHECK(ndr_push_uint32(ndr, r->in.num_entries));
571 NTSTATUS ndr_pull_lsa_EnumTrustDom(struct ndr_pull *ndr, struct lsa_EnumTrustDom *r)
574 NDR_CHECK(ndr_pull_uint32(ndr, r->out.resume_handle));
575 NDR_ALLOC(ndr, r->out.domains);
576 NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_domains));
578 NDR_ALLOC(ndr, r->out.domains);
580 r->out.domains = NULL;
582 if (r->out.domains) {
583 NDR_CHECK(ndr_pull_lsa_RefDomainList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.domains));
585 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
590 static NTSTATUS ndr_push_lsa_TranslatedSid(struct ndr_push *ndr, int ndr_flags, struct lsa_TranslatedSid *r)
592 if (!(ndr_flags & NDR_SCALARS)) goto buffers;
593 NDR_CHECK(ndr_push_uint16(ndr, r->sid_type));
594 NDR_CHECK(ndr_push_uint32(ndr, r->rid));
595 NDR_CHECK(ndr_push_uint32(ndr, r->sid_index));
597 if (!(ndr_flags & NDR_BUFFERS)) goto done;
602 static NTSTATUS ndr_pull_lsa_TranslatedSid(struct ndr_pull *ndr, int ndr_flags, struct lsa_TranslatedSid *r)
604 if (!(ndr_flags & NDR_SCALARS)) goto buffers;
605 NDR_CHECK(ndr_pull_uint16(ndr, &r->sid_type));
606 NDR_CHECK(ndr_pull_uint32(ndr, &r->rid));
607 NDR_CHECK(ndr_pull_uint32(ndr, &r->sid_index));
609 if (!(ndr_flags & NDR_BUFFERS)) goto done;
614 static NTSTATUS ndr_push_lsa_TransSidArray(struct ndr_push *ndr, int ndr_flags, struct lsa_TransSidArray *r)
616 if (!(ndr_flags & NDR_SCALARS)) goto buffers;
617 NDR_CHECK(ndr_push_uint32(ndr, r->count));
618 NDR_CHECK(ndr_push_ptr(ndr, r->sids));
620 if (!(ndr_flags & NDR_BUFFERS)) goto done;
622 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));
628 static NTSTATUS ndr_pull_lsa_TransSidArray(struct ndr_pull *ndr, int ndr_flags, struct lsa_TransSidArray *r)
631 if (!(ndr_flags & NDR_SCALARS)) goto buffers;
632 NDR_CHECK(ndr_pull_uint32(ndr, &r->count));
633 NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_sids));
635 NDR_ALLOC(ndr, r->sids);
640 if (!(ndr_flags & NDR_BUFFERS)) goto done;
642 NDR_ALLOC_N_SIZE(ndr, r->sids, r->count, sizeof(r->sids[0]));
643 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));
649 NTSTATUS ndr_push_lsa_LookupNames(struct ndr_push *ndr, struct lsa_LookupNames *r)
651 NDR_CHECK(ndr_push_policy_handle(ndr, r->in.handle));
652 NDR_CHECK(ndr_push_uint32(ndr, r->in.num_names));
654 int ndr_flags = NDR_SCALARS|NDR_BUFFERS;
655 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));
657 NDR_CHECK(ndr_push_lsa_TransSidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids));
658 NDR_CHECK(ndr_push_uint16(ndr, r->in.level));
659 NDR_CHECK(ndr_push_uint32(ndr, *r->in.count));
664 NTSTATUS ndr_pull_lsa_LookupNames(struct ndr_pull *ndr, struct lsa_LookupNames *r)
667 NDR_ALLOC(ndr, r->out.domains);
668 NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_domains));
670 NDR_ALLOC(ndr, r->out.domains);
672 r->out.domains = NULL;
674 if (r->out.domains) {
675 NDR_CHECK(ndr_pull_lsa_RefDomainList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.domains));
677 NDR_CHECK(ndr_pull_lsa_TransSidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.sids));
678 NDR_CHECK(ndr_pull_uint32(ndr, r->out.count));
679 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
684 static NTSTATUS ndr_push_lsa_TranslatedName(struct ndr_push *ndr, int ndr_flags, struct lsa_TranslatedName *r)
686 if (!(ndr_flags & NDR_SCALARS)) goto buffers;
687 NDR_CHECK(ndr_push_uint16(ndr, r->sid_type));
688 NDR_CHECK(ndr_push_lsa_Name(ndr, NDR_SCALARS, &r->name));
689 NDR_CHECK(ndr_push_uint32(ndr, r->sid_index));
691 if (!(ndr_flags & NDR_BUFFERS)) goto done;
692 NDR_CHECK(ndr_push_lsa_Name(ndr, ndr_flags, &r->name));
697 static NTSTATUS ndr_pull_lsa_TranslatedName(struct ndr_pull *ndr, int ndr_flags, struct lsa_TranslatedName *r)
699 if (!(ndr_flags & NDR_SCALARS)) goto buffers;
700 NDR_CHECK(ndr_pull_uint16(ndr, &r->sid_type));
701 NDR_CHECK(ndr_pull_lsa_Name(ndr, NDR_SCALARS, &r->name));
702 NDR_CHECK(ndr_pull_uint32(ndr, &r->sid_index));
704 if (!(ndr_flags & NDR_BUFFERS)) goto done;
705 NDR_CHECK(ndr_pull_lsa_Name(ndr, ndr_flags, &r->name));
710 static NTSTATUS ndr_push_lsa_TransNameArray(struct ndr_push *ndr, int ndr_flags, struct lsa_TransNameArray *r)
712 if (!(ndr_flags & NDR_SCALARS)) goto buffers;
713 NDR_CHECK(ndr_push_uint32(ndr, r->count));
714 NDR_CHECK(ndr_push_ptr(ndr, r->names));
716 if (!(ndr_flags & NDR_BUFFERS)) goto done;
718 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));
724 static NTSTATUS ndr_pull_lsa_TransNameArray(struct ndr_pull *ndr, int ndr_flags, struct lsa_TransNameArray *r)
727 if (!(ndr_flags & NDR_SCALARS)) goto buffers;
728 NDR_CHECK(ndr_pull_uint32(ndr, &r->count));
729 NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_names));
731 NDR_ALLOC(ndr, r->names);
736 if (!(ndr_flags & NDR_BUFFERS)) goto done;
738 NDR_ALLOC_N_SIZE(ndr, r->names, r->count, sizeof(r->names[0]));
739 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));
745 NTSTATUS ndr_push_lsa_LookupSids(struct ndr_push *ndr, struct lsa_LookupSids *r)
747 NDR_CHECK(ndr_push_policy_handle(ndr, r->in.handle));
748 NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids));
749 NDR_CHECK(ndr_push_lsa_TransNameArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.names));
750 NDR_CHECK(ndr_push_uint16(ndr, r->in.level));
751 NDR_CHECK(ndr_push_uint32(ndr, *r->in.count));
756 NTSTATUS ndr_pull_lsa_LookupSids(struct ndr_pull *ndr, struct lsa_LookupSids *r)
759 NDR_ALLOC(ndr, r->out.domains);
760 NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_domains));
762 NDR_ALLOC(ndr, r->out.domains);
764 r->out.domains = NULL;
766 if (r->out.domains) {
767 NDR_CHECK(ndr_pull_lsa_RefDomainList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.domains));
769 NDR_CHECK(ndr_pull_lsa_TransNameArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.names));
770 NDR_CHECK(ndr_pull_uint32(ndr, r->out.count));
771 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
776 NTSTATUS ndr_push_CREATESECRET(struct ndr_push *ndr, struct CREATESECRET *r)
782 NTSTATUS ndr_pull_CREATESECRET(struct ndr_pull *ndr, struct CREATESECRET *r)
784 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
789 NTSTATUS ndr_push_OPENACCOUNT(struct ndr_push *ndr, struct OPENACCOUNT *r)
795 NTSTATUS ndr_pull_OPENACCOUNT(struct ndr_pull *ndr, struct OPENACCOUNT *r)
797 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
802 NTSTATUS ndr_push_ENUMPRIVSACCOUNT(struct ndr_push *ndr, struct ENUMPRIVSACCOUNT *r)
808 NTSTATUS ndr_pull_ENUMPRIVSACCOUNT(struct ndr_pull *ndr, struct ENUMPRIVSACCOUNT *r)
810 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
815 NTSTATUS ndr_push_ADDPRIVS(struct ndr_push *ndr, struct ADDPRIVS *r)
821 NTSTATUS ndr_pull_ADDPRIVS(struct ndr_pull *ndr, struct ADDPRIVS *r)
823 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
828 NTSTATUS ndr_push_REMOVEPRIVS(struct ndr_push *ndr, struct REMOVEPRIVS *r)
834 NTSTATUS ndr_pull_REMOVEPRIVS(struct ndr_pull *ndr, struct REMOVEPRIVS *r)
836 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
841 NTSTATUS ndr_push_GETQUOTAS(struct ndr_push *ndr, struct GETQUOTAS *r)
847 NTSTATUS ndr_pull_GETQUOTAS(struct ndr_pull *ndr, struct GETQUOTAS *r)
849 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
854 NTSTATUS ndr_push_SETQUOTAS(struct ndr_push *ndr, struct SETQUOTAS *r)
860 NTSTATUS ndr_pull_SETQUOTAS(struct ndr_pull *ndr, struct SETQUOTAS *r)
862 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
867 NTSTATUS ndr_push_GETSYSTEMACCOUNT(struct ndr_push *ndr, struct GETSYSTEMACCOUNT *r)
873 NTSTATUS ndr_pull_GETSYSTEMACCOUNT(struct ndr_pull *ndr, struct GETSYSTEMACCOUNT *r)
875 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
880 NTSTATUS ndr_push_SETSYSTEMACCOUNT(struct ndr_push *ndr, struct SETSYSTEMACCOUNT *r)
886 NTSTATUS ndr_pull_SETSYSTEMACCOUNT(struct ndr_pull *ndr, struct SETSYSTEMACCOUNT *r)
888 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
893 NTSTATUS ndr_push_OPENTRUSTDOM(struct ndr_push *ndr, struct OPENTRUSTDOM *r)
899 NTSTATUS ndr_pull_OPENTRUSTDOM(struct ndr_pull *ndr, struct OPENTRUSTDOM *r)
901 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
906 NTSTATUS ndr_push_QUERYTRUSTDOM(struct ndr_push *ndr, struct QUERYTRUSTDOM *r)
912 NTSTATUS ndr_pull_QUERYTRUSTDOM(struct ndr_pull *ndr, struct QUERYTRUSTDOM *r)
914 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
919 NTSTATUS ndr_push_SETINFOTRUSTDOM(struct ndr_push *ndr, struct SETINFOTRUSTDOM *r)
925 NTSTATUS ndr_pull_SETINFOTRUSTDOM(struct ndr_pull *ndr, struct SETINFOTRUSTDOM *r)
927 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
932 NTSTATUS ndr_push_OPENSECRET(struct ndr_push *ndr, struct OPENSECRET *r)
938 NTSTATUS ndr_pull_OPENSECRET(struct ndr_pull *ndr, struct OPENSECRET *r)
940 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
945 NTSTATUS ndr_push_SETSECRET(struct ndr_push *ndr, struct SETSECRET *r)
951 NTSTATUS ndr_pull_SETSECRET(struct ndr_pull *ndr, struct SETSECRET *r)
953 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
958 NTSTATUS ndr_push_QUERYSECRET(struct ndr_push *ndr, struct QUERYSECRET *r)
964 NTSTATUS ndr_pull_QUERYSECRET(struct ndr_pull *ndr, struct QUERYSECRET *r)
966 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
971 NTSTATUS ndr_push_LOOKUPPRIVVALUE(struct ndr_push *ndr, struct LOOKUPPRIVVALUE *r)
977 NTSTATUS ndr_pull_LOOKUPPRIVVALUE(struct ndr_pull *ndr, struct LOOKUPPRIVVALUE *r)
979 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
984 NTSTATUS ndr_push_LOOKUPPRIVNAME(struct ndr_push *ndr, struct LOOKUPPRIVNAME *r)
990 NTSTATUS ndr_pull_LOOKUPPRIVNAME(struct ndr_pull *ndr, struct LOOKUPPRIVNAME *r)
992 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
997 NTSTATUS ndr_push_PRIV_GET_DISPNAME(struct ndr_push *ndr, struct PRIV_GET_DISPNAME *r)
1000 return NT_STATUS_OK;
1003 NTSTATUS ndr_pull_PRIV_GET_DISPNAME(struct ndr_pull *ndr, struct PRIV_GET_DISPNAME *r)
1005 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1007 return NT_STATUS_OK;
1010 NTSTATUS ndr_push_DELETEOBJECT(struct ndr_push *ndr, struct DELETEOBJECT *r)
1013 return NT_STATUS_OK;
1016 NTSTATUS ndr_pull_DELETEOBJECT(struct ndr_pull *ndr, struct DELETEOBJECT *r)
1018 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1020 return NT_STATUS_OK;
1023 NTSTATUS ndr_push_ENUMACCTWITHRIGHT(struct ndr_push *ndr, struct ENUMACCTWITHRIGHT *r)
1026 return NT_STATUS_OK;
1029 NTSTATUS ndr_pull_ENUMACCTWITHRIGHT(struct ndr_pull *ndr, struct ENUMACCTWITHRIGHT *r)
1031 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1033 return NT_STATUS_OK;
1036 NTSTATUS ndr_push_ENUMACCTRIGHTS(struct ndr_push *ndr, struct ENUMACCTRIGHTS *r)
1039 return NT_STATUS_OK;
1042 NTSTATUS ndr_pull_ENUMACCTRIGHTS(struct ndr_pull *ndr, struct ENUMACCTRIGHTS *r)
1044 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1046 return NT_STATUS_OK;
1049 NTSTATUS ndr_push_ADDACCTRIGHTS(struct ndr_push *ndr, struct ADDACCTRIGHTS *r)
1052 return NT_STATUS_OK;
1055 NTSTATUS ndr_pull_ADDACCTRIGHTS(struct ndr_pull *ndr, struct ADDACCTRIGHTS *r)
1057 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1059 return NT_STATUS_OK;
1062 NTSTATUS ndr_push_REMOVEACCTRIGHTS(struct ndr_push *ndr, struct REMOVEACCTRIGHTS *r)
1065 return NT_STATUS_OK;
1068 NTSTATUS ndr_pull_REMOVEACCTRIGHTS(struct ndr_pull *ndr, struct REMOVEACCTRIGHTS *r)
1070 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1072 return NT_STATUS_OK;
1075 NTSTATUS ndr_push_QUERYTRUSTDOMINFO(struct ndr_push *ndr, struct QUERYTRUSTDOMINFO *r)
1078 return NT_STATUS_OK;
1081 NTSTATUS ndr_pull_QUERYTRUSTDOMINFO(struct ndr_pull *ndr, struct QUERYTRUSTDOMINFO *r)
1083 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1085 return NT_STATUS_OK;
1088 NTSTATUS ndr_push_SETTRUSTDOMINFO(struct ndr_push *ndr, struct SETTRUSTDOMINFO *r)
1091 return NT_STATUS_OK;
1094 NTSTATUS ndr_pull_SETTRUSTDOMINFO(struct ndr_pull *ndr, struct SETTRUSTDOMINFO *r)
1096 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1098 return NT_STATUS_OK;
1101 NTSTATUS ndr_push_DELETETRUSTDOM(struct ndr_push *ndr, struct DELETETRUSTDOM *r)
1104 return NT_STATUS_OK;
1107 NTSTATUS ndr_pull_DELETETRUSTDOM(struct ndr_pull *ndr, struct DELETETRUSTDOM *r)
1109 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1111 return NT_STATUS_OK;
1114 NTSTATUS ndr_push_STOREPRIVDATA(struct ndr_push *ndr, struct STOREPRIVDATA *r)
1117 return NT_STATUS_OK;
1120 NTSTATUS ndr_pull_STOREPRIVDATA(struct ndr_pull *ndr, struct STOREPRIVDATA *r)
1122 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1124 return NT_STATUS_OK;
1127 NTSTATUS ndr_push_RETRPRIVDATA(struct ndr_push *ndr, struct RETRPRIVDATA *r)
1130 return NT_STATUS_OK;
1133 NTSTATUS ndr_pull_RETRPRIVDATA(struct ndr_pull *ndr, struct RETRPRIVDATA *r)
1135 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1137 return NT_STATUS_OK;
1140 NTSTATUS ndr_push_lsa_OpenPolicy2(struct ndr_push *ndr, struct lsa_OpenPolicy2 *r)
1142 NDR_CHECK(ndr_push_ptr(ndr, r->in.system_name));
1143 if (r->in.system_name) {
1144 NDR_CHECK(ndr_push_unistr(ndr, r->in.system_name));
1146 NDR_CHECK(ndr_push_lsa_ObjectAttribute(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.attr));
1147 NDR_CHECK(ndr_push_uint32(ndr, r->in.desired_access));
1149 return NT_STATUS_OK;
1152 NTSTATUS ndr_pull_lsa_OpenPolicy2(struct ndr_pull *ndr, struct lsa_OpenPolicy2 *r)
1154 NDR_CHECK(ndr_pull_policy_handle(ndr, r->out.handle));
1155 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1157 return NT_STATUS_OK;
1160 NTSTATUS ndr_push_UNK_GET_CONNUSER(struct ndr_push *ndr, struct UNK_GET_CONNUSER *r)
1163 return NT_STATUS_OK;
1166 NTSTATUS ndr_pull_UNK_GET_CONNUSER(struct ndr_pull *ndr, struct UNK_GET_CONNUSER *r)
1168 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1170 return NT_STATUS_OK;
1173 NTSTATUS ndr_push_QUERYINFO2(struct ndr_push *ndr, struct QUERYINFO2 *r)
1176 return NT_STATUS_OK;
1179 NTSTATUS ndr_pull_QUERYINFO2(struct ndr_pull *ndr, struct QUERYINFO2 *r)
1181 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1183 return NT_STATUS_OK;