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_policy_handle(ndr, r->out.handle));
15 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
20 NTSTATUS ndr_push_lsa_Delete(struct ndr_push *ndr, struct lsa_Delete *r)
22 NDR_CHECK(ndr_push_policy_handle(ndr, r->in.handle));
27 NTSTATUS ndr_pull_lsa_Delete(struct ndr_pull *ndr, struct lsa_Delete *r)
29 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
34 static NTSTATUS ndr_push_lsa_Name(struct ndr_push *ndr, int ndr_flags, struct lsa_Name *r)
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));
42 if (!(ndr_flags & NDR_BUFFERS)) goto done;
44 NDR_CHECK(ndr_push_unistr_noterm(ndr, r->name));
50 static NTSTATUS ndr_pull_lsa_Name(struct ndr_pull *ndr, int ndr_flags, struct lsa_Name *r)
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));
59 NDR_ALLOC(ndr, r->name);
64 if (!(ndr_flags & NDR_BUFFERS)) goto done;
66 NDR_CHECK(ndr_pull_unistr_noterm(ndr, &r->name));
72 void ndr_print_lsa_Name(struct ndr_print *ndr, const char *name, struct lsa_Name *r)
74 ndr_print_struct(ndr, name, "lsa_Name");
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);
81 ndr_print_unistr_noterm(ndr, "name", r->name);
87 static NTSTATUS ndr_pull_lsa_PrivEntry(struct ndr_pull *ndr, int ndr_flags, struct lsa_PrivEntry *r)
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));
95 if (!(ndr_flags & NDR_BUFFERS)) goto done;
96 NDR_CHECK(ndr_pull_lsa_Name(ndr, ndr_flags, &r->name));
101 void ndr_print_lsa_PrivEntry(struct ndr_print *ndr, const char *name, struct lsa_PrivEntry *r)
103 ndr_print_struct(ndr, name, "lsa_PrivEntry");
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);
111 static NTSTATUS ndr_pull_lsa_PrivArray(struct ndr_pull *ndr, int ndr_flags, struct lsa_PrivArray *r)
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));
119 NDR_ALLOC(ndr, r->privs);
124 if (!(ndr_flags & NDR_BUFFERS)) goto done;
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));
133 void ndr_print_lsa_PrivArray(struct ndr_print *ndr, const char *name, struct lsa_PrivArray *r)
135 ndr_print_struct(ndr, name, "lsa_PrivArray");
137 ndr_print_uint32(ndr, "count", r->count);
138 ndr_print_ptr(ndr, "privs", r->privs);
141 ndr_print_array(ndr, "privs", r->privs, sizeof(r->privs[0]), r->count, (ndr_print_fn_t)ndr_print_lsa_PrivEntry);
147 NTSTATUS ndr_push_lsa_EnumPrivs(struct ndr_push *ndr, struct lsa_EnumPrivs *r)
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));
156 NTSTATUS ndr_pull_lsa_EnumPrivs(struct ndr_pull *ndr, struct lsa_EnumPrivs *r)
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));
165 NTSTATUS ndr_push_lsa_QuerySecObj(struct ndr_push *ndr, struct lsa_QuerySecObj *r)
171 NTSTATUS ndr_pull_lsa_QuerySecObj(struct ndr_pull *ndr, struct lsa_QuerySecObj *r)
173 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
178 NTSTATUS ndr_push_lsa_SetSecObj(struct ndr_push *ndr, struct lsa_SetSecObj *r)
184 NTSTATUS ndr_pull_lsa_SetSecObj(struct ndr_pull *ndr, struct lsa_SetSecObj *r)
186 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
191 NTSTATUS ndr_push_lsa_ChangePassword(struct ndr_push *ndr, struct lsa_ChangePassword *r)
197 NTSTATUS ndr_pull_lsa_ChangePassword(struct ndr_pull *ndr, struct lsa_ChangePassword *r)
199 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
204 static NTSTATUS ndr_push_lsa_QosInfo(struct ndr_push *ndr, int ndr_flags, struct lsa_QosInfo *r)
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));
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);
226 void ndr_print_lsa_QosInfo(struct ndr_print *ndr, const char *name, struct lsa_QosInfo *r)
228 ndr_print_struct(ndr, name, "lsa_QosInfo");
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);
236 static NTSTATUS ndr_push_lsa_ObjectAttribute(struct ndr_push *ndr, int ndr_flags, struct lsa_ObjectAttribute *r)
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));
251 if (!(ndr_flags & NDR_BUFFERS)) goto done;
253 NDR_CHECK(ndr_push_uint8(ndr, *r->root_dir));
255 if (r->object_name) {
256 NDR_CHECK(ndr_push_unistr(ndr, r->object_name));
259 NDR_CHECK(ndr_push_security_descriptor(ndr, r->sec_desc));
262 NDR_CHECK(ndr_push_lsa_QosInfo(ndr, ndr_flags, r->sec_qos));
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);
272 void ndr_print_lsa_ObjectAttribute(struct ndr_print *ndr, const char *name, struct lsa_ObjectAttribute *r)
274 ndr_print_struct(ndr, name, "lsa_ObjectAttribute");
276 ndr_print_ptr(ndr, "root_dir", r->root_dir);
279 ndr_print_uint8(ndr, "root_dir", *r->root_dir);
282 ndr_print_ptr(ndr, "object_name", r->object_name);
284 if (r->object_name) {
285 ndr_print_unistr(ndr, "object_name", r->object_name);
288 ndr_print_uint32(ndr, "attributes", r->attributes);
289 ndr_print_ptr(ndr, "sec_desc", r->sec_desc);
292 ndr_print_security_descriptor(ndr, "sec_desc", r->sec_desc);
295 ndr_print_ptr(ndr, "sec_qos", r->sec_qos);
298 ndr_print_lsa_QosInfo(ndr, "sec_qos", r->sec_qos);
304 NTSTATUS ndr_push_lsa_OpenPolicy(struct ndr_push *ndr, struct lsa_OpenPolicy *r)
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));
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));
316 NTSTATUS ndr_pull_lsa_OpenPolicy(struct ndr_pull *ndr, struct lsa_OpenPolicy *r)
318 NDR_CHECK(ndr_pull_policy_handle(ndr, r->out.handle));
319 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
324 static NTSTATUS ndr_pull_lsa_AuditLogInfo(struct ndr_pull *ndr, int ndr_flags, struct lsa_AuditLogInfo *r)
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));
336 if (!(ndr_flags & NDR_BUFFERS)) goto done;
341 void ndr_print_lsa_AuditLogInfo(struct ndr_print *ndr, const char *name, struct lsa_AuditLogInfo *r)
343 ndr_print_struct(ndr, name, "lsa_AuditLogInfo");
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);
355 static NTSTATUS ndr_pull_lsa_AuditSettings(struct ndr_pull *ndr, int ndr_flags, struct lsa_AuditSettings *r)
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));
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));
368 void ndr_print_lsa_AuditSettings(struct ndr_print *ndr, const char *name, struct lsa_AuditSettings *r)
370 ndr_print_struct(ndr, name, "lsa_AuditSettings");
372 ndr_print_uint32(ndr, "count", r->count);
373 ndr_print_ptr(ndr, "settings", r->settings);
375 ndr_print_array_uint32(ndr, "settings", r->settings, r->count);
380 static NTSTATUS ndr_pull_lsa_AuditEventsInfo(struct ndr_pull *ndr, int ndr_flags, struct lsa_AuditEventsInfo *r)
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));
388 NDR_ALLOC(ndr, r->settings);
393 if (!(ndr_flags & NDR_BUFFERS)) goto done;
395 NDR_CHECK(ndr_pull_lsa_AuditSettings(ndr, NDR_SCALARS|NDR_BUFFERS, r->settings));
401 void ndr_print_lsa_AuditEventsInfo(struct ndr_print *ndr, const char *name, struct lsa_AuditEventsInfo *r)
403 ndr_print_struct(ndr, name, "lsa_AuditEventsInfo");
405 ndr_print_uint32(ndr, "auditing_mode", r->auditing_mode);
406 ndr_print_ptr(ndr, "settings", r->settings);
409 ndr_print_lsa_AuditSettings(ndr, "settings", r->settings);
415 static NTSTATUS ndr_pull_lsa_PrimaryDomainInfo(struct ndr_pull *ndr, int ndr_flags, struct lsa_PrimaryDomainInfo *r)
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));
423 NDR_ALLOC(ndr, r->sid);
428 if (!(ndr_flags & NDR_BUFFERS)) goto done;
429 NDR_CHECK(ndr_pull_lsa_Name(ndr, ndr_flags, &r->name));
431 NDR_CHECK(ndr_pull_dom_sid2(ndr, r->sid));
437 void ndr_print_lsa_PrimaryDomainInfo(struct ndr_print *ndr, const char *name, struct lsa_PrimaryDomainInfo *r)
439 ndr_print_struct(ndr, name, "lsa_PrimaryDomainInfo");
441 ndr_print_lsa_Name(ndr, "name", &r->name);
442 ndr_print_ptr(ndr, "sid", r->sid);
445 ndr_print_dom_sid2(ndr, "sid", r->sid);
451 static NTSTATUS ndr_pull_lsa_PolicyInformation(struct ndr_pull *ndr, int ndr_flags, uint16 *level, union lsa_PolicyInformation *r)
453 NDR_CHECK(ndr_pull_uint16(ndr, level));
454 if (!(ndr_flags & NDR_SCALARS)) goto buffers;
457 NDR_CHECK(ndr_pull_lsa_AuditLogInfo(ndr, NDR_SCALARS, &r->audit_log));
461 NDR_CHECK(ndr_pull_lsa_AuditEventsInfo(ndr, NDR_SCALARS, &r->audit_events));
465 NDR_CHECK(ndr_pull_lsa_PrimaryDomainInfo(ndr, NDR_SCALARS, &r->domain));
469 return NT_STATUS_INVALID_LEVEL;
472 if (!(ndr_flags & NDR_BUFFERS)) goto done;
475 NDR_CHECK(ndr_pull_lsa_AuditLogInfo(ndr, NDR_BUFFERS, &r->audit_log));
479 NDR_CHECK(ndr_pull_lsa_AuditEventsInfo(ndr, NDR_BUFFERS, &r->audit_events));
483 NDR_CHECK(ndr_pull_lsa_PrimaryDomainInfo(ndr, NDR_BUFFERS, &r->domain));
487 return NT_STATUS_INVALID_LEVEL;
493 void ndr_print_lsa_PolicyInformation(struct ndr_print *ndr, const char *name, uint16 level, union lsa_PolicyInformation *r)
495 ndr_print_union(ndr, name, level, "lsa_PolicyInformation");
498 ndr_print_lsa_AuditLogInfo(ndr, "audit_log", &r->audit_log);
502 ndr_print_lsa_AuditEventsInfo(ndr, "audit_events", &r->audit_events);
506 ndr_print_lsa_PrimaryDomainInfo(ndr, "domain", &r->domain);
510 ndr_print_bad_level(ndr, name, level);
514 NTSTATUS ndr_push_lsa_QueryInfoPolicy(struct ndr_push *ndr, struct lsa_QueryInfoPolicy *r)
516 NDR_CHECK(ndr_push_policy_handle(ndr, r->in.handle));
517 NDR_CHECK(ndr_push_uint16(ndr, r->in.level));
522 NTSTATUS ndr_pull_lsa_QueryInfoPolicy(struct ndr_pull *ndr, struct lsa_QueryInfoPolicy *r)
525 NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_info));
527 NDR_ALLOC(ndr, r->out.info);
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;
537 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
542 NTSTATUS ndr_push_lsa_SetInfoPolicy(struct ndr_push *ndr, struct lsa_SetInfoPolicy *r)
548 NTSTATUS ndr_pull_lsa_SetInfoPolicy(struct ndr_pull *ndr, struct lsa_SetInfoPolicy *r)
550 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
555 NTSTATUS ndr_push_lsa_ClearAuditLog(struct ndr_push *ndr, struct lsa_ClearAuditLog *r)
561 NTSTATUS ndr_pull_lsa_ClearAuditLog(struct ndr_pull *ndr, struct lsa_ClearAuditLog *r)
563 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
568 NTSTATUS ndr_push_lsa_CreateAccount(struct ndr_push *ndr, struct lsa_CreateAccount *r)
574 NTSTATUS ndr_pull_lsa_CreateAccount(struct ndr_pull *ndr, struct lsa_CreateAccount *r)
576 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
581 static NTSTATUS ndr_push_lsa_SidPtr(struct ndr_push *ndr, int ndr_flags, struct lsa_SidPtr *r)
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));
587 if (!(ndr_flags & NDR_BUFFERS)) goto done;
589 NDR_CHECK(ndr_push_dom_sid2(ndr, r->sid));
595 static NTSTATUS ndr_pull_lsa_SidPtr(struct ndr_pull *ndr, int ndr_flags, struct lsa_SidPtr *r)
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));
602 NDR_ALLOC(ndr, r->sid);
607 if (!(ndr_flags & NDR_BUFFERS)) goto done;
609 NDR_CHECK(ndr_pull_dom_sid2(ndr, r->sid));
615 void ndr_print_lsa_SidPtr(struct ndr_print *ndr, const char *name, struct lsa_SidPtr *r)
617 ndr_print_struct(ndr, name, "lsa_SidPtr");
619 ndr_print_ptr(ndr, "sid", r->sid);
622 ndr_print_dom_sid2(ndr, "sid", r->sid);
628 static NTSTATUS ndr_push_lsa_SidArray(struct ndr_push *ndr, int ndr_flags, struct lsa_SidArray *r)
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));
635 if (!(ndr_flags & NDR_BUFFERS)) goto done;
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));
643 static NTSTATUS ndr_pull_lsa_SidArray(struct ndr_pull *ndr, int ndr_flags, struct lsa_SidArray *r)
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));
651 NDR_ALLOC(ndr, r->sids);
656 if (!(ndr_flags & NDR_BUFFERS)) goto done;
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));
665 void ndr_print_lsa_SidArray(struct ndr_print *ndr, const char *name, struct lsa_SidArray *r)
667 ndr_print_struct(ndr, name, "lsa_SidArray");
669 ndr_print_uint32(ndr, "num_sids", r->num_sids);
670 ndr_print_ptr(ndr, "sids", 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);
679 NTSTATUS ndr_push_lsa_EnumAccounts(struct ndr_push *ndr, struct lsa_EnumAccounts *r)
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));
688 NTSTATUS ndr_pull_lsa_EnumAccounts(struct ndr_pull *ndr, struct lsa_EnumAccounts *r)
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));
697 NTSTATUS ndr_push_lsa_CreateTrustDom(struct ndr_push *ndr, struct lsa_CreateTrustDom *r)
703 NTSTATUS ndr_pull_lsa_CreateTrustDom(struct ndr_pull *ndr, struct lsa_CreateTrustDom *r)
705 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
710 static NTSTATUS ndr_pull_lsa_DomainInformation(struct ndr_pull *ndr, int ndr_flags, struct lsa_DomainInformation *r)
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));
718 NDR_ALLOC(ndr, r->sid);
723 if (!(ndr_flags & NDR_BUFFERS)) goto done;
724 NDR_CHECK(ndr_pull_lsa_Name(ndr, ndr_flags, &r->name));
726 NDR_CHECK(ndr_pull_dom_sid2(ndr, r->sid));
732 void ndr_print_lsa_DomainInformation(struct ndr_print *ndr, const char *name, struct lsa_DomainInformation *r)
734 ndr_print_struct(ndr, name, "lsa_DomainInformation");
736 ndr_print_lsa_Name(ndr, "name", &r->name);
737 ndr_print_ptr(ndr, "sid", r->sid);
740 ndr_print_dom_sid2(ndr, "sid", r->sid);
746 static NTSTATUS ndr_pull_lsa_DomainList(struct ndr_pull *ndr, int ndr_flags, struct lsa_DomainList *r)
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));
754 NDR_ALLOC(ndr, r->domains);
759 if (!(ndr_flags & NDR_BUFFERS)) goto done;
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));
768 void ndr_print_lsa_DomainList(struct ndr_print *ndr, const char *name, struct lsa_DomainList *r)
770 ndr_print_struct(ndr, name, "lsa_DomainList");
772 ndr_print_uint32(ndr, "count", r->count);
773 ndr_print_ptr(ndr, "domains", r->domains);
776 ndr_print_array(ndr, "domains", r->domains, sizeof(r->domains[0]), r->count, (ndr_print_fn_t)ndr_print_lsa_DomainInformation);
782 NTSTATUS ndr_push_lsa_EnumTrustDom(struct ndr_push *ndr, struct lsa_EnumTrustDom *r)
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));
791 NTSTATUS ndr_pull_lsa_EnumTrustDom(struct ndr_pull *ndr, struct lsa_EnumTrustDom *r)
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));
800 static NTSTATUS ndr_push_lsa_TranslatedSid(struct ndr_push *ndr, int ndr_flags, struct lsa_TranslatedSid *r)
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));
808 if (!(ndr_flags & NDR_BUFFERS)) goto done;
813 static NTSTATUS ndr_pull_lsa_TranslatedSid(struct ndr_pull *ndr, int ndr_flags, struct lsa_TranslatedSid *r)
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));
821 if (!(ndr_flags & NDR_BUFFERS)) goto done;
826 void ndr_print_lsa_TranslatedSid(struct ndr_print *ndr, const char *name, struct lsa_TranslatedSid *r)
828 ndr_print_struct(ndr, name, "lsa_TranslatedSid");
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);
836 static NTSTATUS ndr_push_lsa_TransSidArray(struct ndr_push *ndr, int ndr_flags, struct lsa_TransSidArray *r)
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));
843 if (!(ndr_flags & NDR_BUFFERS)) goto done;
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));
851 static NTSTATUS ndr_pull_lsa_TransSidArray(struct ndr_pull *ndr, int ndr_flags, struct lsa_TransSidArray *r)
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));
859 NDR_ALLOC(ndr, r->sids);
864 if (!(ndr_flags & NDR_BUFFERS)) goto done;
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));
873 void ndr_print_lsa_TransSidArray(struct ndr_print *ndr, const char *name, struct lsa_TransSidArray *r)
875 ndr_print_struct(ndr, name, "lsa_TransSidArray");
877 ndr_print_uint32(ndr, "count", r->count);
878 ndr_print_ptr(ndr, "sids", r->sids);
881 ndr_print_array(ndr, "sids", r->sids, sizeof(r->sids[0]), r->count, (ndr_print_fn_t)ndr_print_lsa_TranslatedSid);
887 static NTSTATUS ndr_pull_lsa_TrustInformation(struct ndr_pull *ndr, int ndr_flags, struct lsa_TrustInformation *r)
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));
895 NDR_ALLOC(ndr, r->sid);
900 if (!(ndr_flags & NDR_BUFFERS)) goto done;
901 NDR_CHECK(ndr_pull_lsa_Name(ndr, ndr_flags, &r->name));
903 NDR_CHECK(ndr_pull_dom_sid2(ndr, r->sid));
909 void ndr_print_lsa_TrustInformation(struct ndr_print *ndr, const char *name, struct lsa_TrustInformation *r)
911 ndr_print_struct(ndr, name, "lsa_TrustInformation");
913 ndr_print_lsa_Name(ndr, "name", &r->name);
914 ndr_print_ptr(ndr, "sid", r->sid);
917 ndr_print_dom_sid2(ndr, "sid", r->sid);
923 static NTSTATUS ndr_pull_lsa_RefDomainList(struct ndr_pull *ndr, int ndr_flags, struct lsa_RefDomainList *r)
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));
931 NDR_ALLOC(ndr, r->domains);
935 NDR_CHECK(ndr_pull_uint32(ndr, &r->max_count));
937 if (!(ndr_flags & NDR_BUFFERS)) goto done;
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));
946 void ndr_print_lsa_RefDomainList(struct ndr_print *ndr, const char *name, struct lsa_RefDomainList *r)
948 ndr_print_struct(ndr, name, "lsa_RefDomainList");
950 ndr_print_uint32(ndr, "count", r->count);
951 ndr_print_ptr(ndr, "domains", r->domains);
954 ndr_print_array(ndr, "domains", r->domains, sizeof(r->domains[0]), r->count, (ndr_print_fn_t)ndr_print_lsa_TrustInformation);
957 ndr_print_uint32(ndr, "max_count", r->max_count);
961 NTSTATUS ndr_push_lsa_LookupNames(struct ndr_push *ndr, struct lsa_LookupNames *r)
963 NDR_CHECK(ndr_push_policy_handle(ndr, r->in.handle));
964 NDR_CHECK(ndr_push_uint32(ndr, r->in.num_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));
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));
976 NTSTATUS ndr_pull_lsa_LookupNames(struct ndr_pull *ndr, struct lsa_LookupNames *r)
979 NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_domains));
981 NDR_ALLOC(ndr, r->out.domains);
983 r->out.domains = NULL;
985 if (r->out.domains) {
986 NDR_CHECK(ndr_pull_lsa_RefDomainList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.domains));
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));
995 static NTSTATUS ndr_push_lsa_TranslatedName(struct ndr_push *ndr, int ndr_flags, struct lsa_TranslatedName *r)
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));
1003 if (!(ndr_flags & NDR_BUFFERS)) goto done;
1004 NDR_CHECK(ndr_push_lsa_Name(ndr, ndr_flags, &r->name));
1006 return NT_STATUS_OK;
1009 static NTSTATUS ndr_pull_lsa_TranslatedName(struct ndr_pull *ndr, int ndr_flags, struct lsa_TranslatedName *r)
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));
1017 if (!(ndr_flags & NDR_BUFFERS)) goto done;
1018 NDR_CHECK(ndr_pull_lsa_Name(ndr, ndr_flags, &r->name));
1020 return NT_STATUS_OK;
1023 void ndr_print_lsa_TranslatedName(struct ndr_print *ndr, const char *name, struct lsa_TranslatedName *r)
1025 ndr_print_struct(ndr, name, "lsa_TranslatedName");
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);
1033 static NTSTATUS ndr_push_lsa_TransNameArray(struct ndr_push *ndr, int ndr_flags, struct lsa_TransNameArray *r)
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));
1040 if (!(ndr_flags & NDR_BUFFERS)) goto done;
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));
1045 return NT_STATUS_OK;
1048 static NTSTATUS ndr_pull_lsa_TransNameArray(struct ndr_pull *ndr, int ndr_flags, struct lsa_TransNameArray *r)
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));
1056 NDR_ALLOC(ndr, r->names);
1061 if (!(ndr_flags & NDR_BUFFERS)) goto done;
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));
1067 return NT_STATUS_OK;
1070 void ndr_print_lsa_TransNameArray(struct ndr_print *ndr, const char *name, struct lsa_TransNameArray *r)
1072 ndr_print_struct(ndr, name, "lsa_TransNameArray");
1074 ndr_print_uint32(ndr, "count", r->count);
1075 ndr_print_ptr(ndr, "names", r->names);
1078 ndr_print_array(ndr, "names", r->names, sizeof(r->names[0]), r->count, (ndr_print_fn_t)ndr_print_lsa_TranslatedName);
1084 NTSTATUS ndr_push_lsa_LookupSids(struct ndr_push *ndr, struct lsa_LookupSids *r)
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));
1092 return NT_STATUS_OK;
1095 NTSTATUS ndr_pull_lsa_LookupSids(struct ndr_pull *ndr, struct lsa_LookupSids *r)
1097 uint32 _ptr_domains;
1098 NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_domains));
1100 NDR_ALLOC(ndr, r->out.domains);
1102 r->out.domains = NULL;
1104 if (r->out.domains) {
1105 NDR_CHECK(ndr_pull_lsa_RefDomainList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.domains));
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));
1111 return NT_STATUS_OK;
1114 NTSTATUS ndr_push_CREATESECRET(struct ndr_push *ndr, struct CREATESECRET *r)
1117 return NT_STATUS_OK;
1120 NTSTATUS ndr_pull_CREATESECRET(struct ndr_pull *ndr, struct CREATESECRET *r)
1122 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1124 return NT_STATUS_OK;
1127 NTSTATUS ndr_push_lsa_OpenAccount(struct ndr_push *ndr, struct lsa_OpenAccount *r)
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));
1133 return NT_STATUS_OK;
1136 NTSTATUS ndr_pull_lsa_OpenAccount(struct ndr_pull *ndr, struct lsa_OpenAccount *r)
1138 NDR_CHECK(ndr_pull_policy_handle(ndr, r->out.acct_handle));
1139 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1141 return NT_STATUS_OK;
1144 static NTSTATUS ndr_pull_lsa_LUID(struct ndr_pull *ndr, int ndr_flags, struct lsa_LUID *r)
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));
1151 if (!(ndr_flags & NDR_BUFFERS)) goto done;
1153 return NT_STATUS_OK;
1156 void ndr_print_lsa_LUID(struct ndr_print *ndr, const char *name, struct lsa_LUID *r)
1158 ndr_print_struct(ndr, name, "lsa_LUID");
1160 ndr_print_uint32(ndr, "low", r->low);
1161 ndr_print_uint32(ndr, "high", r->high);
1165 static NTSTATUS ndr_pull_lsa_LUIDAttribute(struct ndr_pull *ndr, int ndr_flags, struct lsa_LUIDAttribute *r)
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));
1172 if (!(ndr_flags & NDR_BUFFERS)) goto done;
1173 NDR_CHECK(ndr_pull_lsa_LUID(ndr, ndr_flags, &r->luid));
1175 return NT_STATUS_OK;
1178 void ndr_print_lsa_LUIDAttribute(struct ndr_print *ndr, const char *name, struct lsa_LUIDAttribute *r)
1180 ndr_print_struct(ndr, name, "lsa_LUIDAttribute");
1182 ndr_print_lsa_LUID(ndr, "luid", &r->luid);
1183 ndr_print_uint32(ndr, "attribute", r->attribute);
1187 static NTSTATUS ndr_pull_lsa_PrivilegeSet(struct ndr_pull *ndr, int ndr_flags, struct lsa_PrivilegeSet *r)
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));
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));
1197 return NT_STATUS_OK;
1200 void ndr_print_lsa_PrivilegeSet(struct ndr_print *ndr, const char *name, struct lsa_PrivilegeSet *r)
1202 ndr_print_struct(ndr, name, "lsa_PrivilegeSet");
1204 ndr_print_uint32(ndr, "count", r->count);
1205 ndr_print_ptr(ndr, "set", r->set);
1207 ndr_print_array(ndr, "set", r->set, sizeof(r->set[0]), r->count, (ndr_print_fn_t)ndr_print_lsa_LUIDAttribute);
1212 NTSTATUS ndr_push_lsa_EnumPrivsAccount(struct ndr_push *ndr, struct lsa_EnumPrivsAccount *r)
1214 NDR_CHECK(ndr_push_policy_handle(ndr, r->in.handle));
1216 return NT_STATUS_OK;
1219 NTSTATUS ndr_pull_lsa_EnumPrivsAccount(struct ndr_pull *ndr, struct lsa_EnumPrivsAccount *r)
1222 NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_privs));
1224 NDR_ALLOC(ndr, r->out.privs);
1226 r->out.privs = NULL;
1229 NDR_CHECK(ndr_pull_lsa_PrivilegeSet(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.privs));
1231 NDR_CHECK(ndr_pull_uint32(ndr, &r->out.unknown));
1232 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1234 return NT_STATUS_OK;
1237 NTSTATUS ndr_push_ADDPRIVS(struct ndr_push *ndr, struct ADDPRIVS *r)
1240 return NT_STATUS_OK;
1243 NTSTATUS ndr_pull_ADDPRIVS(struct ndr_pull *ndr, struct ADDPRIVS *r)
1245 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1247 return NT_STATUS_OK;
1250 NTSTATUS ndr_push_REMOVEPRIVS(struct ndr_push *ndr, struct REMOVEPRIVS *r)
1253 return NT_STATUS_OK;
1256 NTSTATUS ndr_pull_REMOVEPRIVS(struct ndr_pull *ndr, struct REMOVEPRIVS *r)
1258 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1260 return NT_STATUS_OK;
1263 NTSTATUS ndr_push_GETQUOTAS(struct ndr_push *ndr, struct GETQUOTAS *r)
1266 return NT_STATUS_OK;
1269 NTSTATUS ndr_pull_GETQUOTAS(struct ndr_pull *ndr, struct GETQUOTAS *r)
1271 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1273 return NT_STATUS_OK;
1276 NTSTATUS ndr_push_SETQUOTAS(struct ndr_push *ndr, struct SETQUOTAS *r)
1279 return NT_STATUS_OK;
1282 NTSTATUS ndr_pull_SETQUOTAS(struct ndr_pull *ndr, struct SETQUOTAS *r)
1284 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1286 return NT_STATUS_OK;
1289 NTSTATUS ndr_push_GETSYSTEMACCOUNT(struct ndr_push *ndr, struct GETSYSTEMACCOUNT *r)
1292 return NT_STATUS_OK;
1295 NTSTATUS ndr_pull_GETSYSTEMACCOUNT(struct ndr_pull *ndr, struct GETSYSTEMACCOUNT *r)
1297 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1299 return NT_STATUS_OK;
1302 NTSTATUS ndr_push_SETSYSTEMACCOUNT(struct ndr_push *ndr, struct SETSYSTEMACCOUNT *r)
1305 return NT_STATUS_OK;
1308 NTSTATUS ndr_pull_SETSYSTEMACCOUNT(struct ndr_pull *ndr, struct SETSYSTEMACCOUNT *r)
1310 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1312 return NT_STATUS_OK;
1315 NTSTATUS ndr_push_OPENTRUSTDOM(struct ndr_push *ndr, struct OPENTRUSTDOM *r)
1318 return NT_STATUS_OK;
1321 NTSTATUS ndr_pull_OPENTRUSTDOM(struct ndr_pull *ndr, struct OPENTRUSTDOM *r)
1323 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1325 return NT_STATUS_OK;
1328 NTSTATUS ndr_push_QUERYTRUSTDOM(struct ndr_push *ndr, struct QUERYTRUSTDOM *r)
1331 return NT_STATUS_OK;
1334 NTSTATUS ndr_pull_QUERYTRUSTDOM(struct ndr_pull *ndr, struct QUERYTRUSTDOM *r)
1336 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1338 return NT_STATUS_OK;
1341 NTSTATUS ndr_push_SETINFOTRUSTDOM(struct ndr_push *ndr, struct SETINFOTRUSTDOM *r)
1344 return NT_STATUS_OK;
1347 NTSTATUS ndr_pull_SETINFOTRUSTDOM(struct ndr_pull *ndr, struct SETINFOTRUSTDOM *r)
1349 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1351 return NT_STATUS_OK;
1354 NTSTATUS ndr_push_OPENSECRET(struct ndr_push *ndr, struct OPENSECRET *r)
1357 return NT_STATUS_OK;
1360 NTSTATUS ndr_pull_OPENSECRET(struct ndr_pull *ndr, struct OPENSECRET *r)
1362 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1364 return NT_STATUS_OK;
1367 NTSTATUS ndr_push_SETSECRET(struct ndr_push *ndr, struct SETSECRET *r)
1370 return NT_STATUS_OK;
1373 NTSTATUS ndr_pull_SETSECRET(struct ndr_pull *ndr, struct SETSECRET *r)
1375 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1377 return NT_STATUS_OK;
1380 NTSTATUS ndr_push_QUERYSECRET(struct ndr_push *ndr, struct QUERYSECRET *r)
1383 return NT_STATUS_OK;
1386 NTSTATUS ndr_pull_QUERYSECRET(struct ndr_pull *ndr, struct QUERYSECRET *r)
1388 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1390 return NT_STATUS_OK;
1393 NTSTATUS ndr_push_LOOKUPPRIVVALUE(struct ndr_push *ndr, struct LOOKUPPRIVVALUE *r)
1396 return NT_STATUS_OK;
1399 NTSTATUS ndr_pull_LOOKUPPRIVVALUE(struct ndr_pull *ndr, struct LOOKUPPRIVVALUE *r)
1401 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1403 return NT_STATUS_OK;
1406 NTSTATUS ndr_push_lsa_LookupPrivName(struct ndr_push *ndr, struct lsa_LookupPrivName *r)
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));
1412 return NT_STATUS_OK;
1415 NTSTATUS ndr_pull_lsa_LookupPrivName(struct ndr_pull *ndr, struct lsa_LookupPrivName *r)
1418 NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_name));
1420 NDR_ALLOC(ndr, r->out.name);
1425 NDR_CHECK(ndr_pull_lsa_Name(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.name));
1427 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1429 return NT_STATUS_OK;
1432 NTSTATUS ndr_push_PRIV_GET_DISPNAME(struct ndr_push *ndr, struct PRIV_GET_DISPNAME *r)
1435 return NT_STATUS_OK;
1438 NTSTATUS ndr_pull_PRIV_GET_DISPNAME(struct ndr_pull *ndr, struct PRIV_GET_DISPNAME *r)
1440 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1442 return NT_STATUS_OK;
1445 NTSTATUS ndr_push_DELETEOBJECT(struct ndr_push *ndr, struct DELETEOBJECT *r)
1448 return NT_STATUS_OK;
1451 NTSTATUS ndr_pull_DELETEOBJECT(struct ndr_pull *ndr, struct DELETEOBJECT *r)
1453 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1455 return NT_STATUS_OK;
1458 NTSTATUS ndr_push_ENUMACCTWITHRIGHT(struct ndr_push *ndr, struct ENUMACCTWITHRIGHT *r)
1461 return NT_STATUS_OK;
1464 NTSTATUS ndr_pull_ENUMACCTWITHRIGHT(struct ndr_pull *ndr, struct ENUMACCTWITHRIGHT *r)
1466 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1468 return NT_STATUS_OK;
1471 void ndr_print_lsa_RightAttribute(struct ndr_print *ndr, const char *name, struct lsa_RightAttribute *r)
1473 ndr_print_struct(ndr, name, "lsa_RightAttribute");
1475 ndr_print_ptr(ndr, "name", r->name);
1478 ndr_print_unistr(ndr, "name", r->name);
1484 static NTSTATUS ndr_pull_lsa_RightSet(struct ndr_pull *ndr, int ndr_flags, struct lsa_RightSet *r)
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));
1492 NDR_ALLOC(ndr, r->names);
1497 if (!(ndr_flags & NDR_BUFFERS)) goto done;
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));
1503 return NT_STATUS_OK;
1506 void ndr_print_lsa_RightSet(struct ndr_print *ndr, const char *name, struct lsa_RightSet *r)
1508 ndr_print_struct(ndr, name, "lsa_RightSet");
1510 ndr_print_uint32(ndr, "count", r->count);
1511 ndr_print_ptr(ndr, "names", r->names);
1514 ndr_print_array(ndr, "names", r->names, sizeof(r->names[0]), r->count, (ndr_print_fn_t)ndr_print_lsa_Name);
1520 NTSTATUS ndr_push_lsa_EnumAccountRights(struct ndr_push *ndr, struct lsa_EnumAccountRights *r)
1522 NDR_CHECK(ndr_push_policy_handle(ndr, r->in.handle));
1523 NDR_CHECK(ndr_push_dom_sid2(ndr, r->in.sid));
1525 return NT_STATUS_OK;
1528 NTSTATUS ndr_pull_lsa_EnumAccountRights(struct ndr_pull *ndr, struct lsa_EnumAccountRights *r)
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));
1533 return NT_STATUS_OK;
1536 NTSTATUS ndr_push_ADDACCTRIGHTS(struct ndr_push *ndr, struct ADDACCTRIGHTS *r)
1539 return NT_STATUS_OK;
1542 NTSTATUS ndr_pull_ADDACCTRIGHTS(struct ndr_pull *ndr, struct ADDACCTRIGHTS *r)
1544 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1546 return NT_STATUS_OK;
1549 NTSTATUS ndr_push_REMOVEACCTRIGHTS(struct ndr_push *ndr, struct REMOVEACCTRIGHTS *r)
1552 return NT_STATUS_OK;
1555 NTSTATUS ndr_pull_REMOVEACCTRIGHTS(struct ndr_pull *ndr, struct REMOVEACCTRIGHTS *r)
1557 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1559 return NT_STATUS_OK;
1562 NTSTATUS ndr_push_QUERYTRUSTDOMINFO(struct ndr_push *ndr, struct QUERYTRUSTDOMINFO *r)
1565 return NT_STATUS_OK;
1568 NTSTATUS ndr_pull_QUERYTRUSTDOMINFO(struct ndr_pull *ndr, struct QUERYTRUSTDOMINFO *r)
1570 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1572 return NT_STATUS_OK;
1575 NTSTATUS ndr_push_SETTRUSTDOMINFO(struct ndr_push *ndr, struct SETTRUSTDOMINFO *r)
1578 return NT_STATUS_OK;
1581 NTSTATUS ndr_pull_SETTRUSTDOMINFO(struct ndr_pull *ndr, struct SETTRUSTDOMINFO *r)
1583 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1585 return NT_STATUS_OK;
1588 NTSTATUS ndr_push_DELETETRUSTDOM(struct ndr_push *ndr, struct DELETETRUSTDOM *r)
1591 return NT_STATUS_OK;
1594 NTSTATUS ndr_pull_DELETETRUSTDOM(struct ndr_pull *ndr, struct DELETETRUSTDOM *r)
1596 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1598 return NT_STATUS_OK;
1601 NTSTATUS ndr_push_STOREPRIVDATA(struct ndr_push *ndr, struct STOREPRIVDATA *r)
1604 return NT_STATUS_OK;
1607 NTSTATUS ndr_pull_STOREPRIVDATA(struct ndr_pull *ndr, struct STOREPRIVDATA *r)
1609 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1611 return NT_STATUS_OK;
1614 NTSTATUS ndr_push_RETRPRIVDATA(struct ndr_push *ndr, struct RETRPRIVDATA *r)
1617 return NT_STATUS_OK;
1620 NTSTATUS ndr_pull_RETRPRIVDATA(struct ndr_pull *ndr, struct RETRPRIVDATA *r)
1622 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1624 return NT_STATUS_OK;
1627 NTSTATUS ndr_push_lsa_OpenPolicy2(struct ndr_push *ndr, struct lsa_OpenPolicy2 *r)
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));
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));
1636 return NT_STATUS_OK;
1639 NTSTATUS ndr_pull_lsa_OpenPolicy2(struct ndr_pull *ndr, struct lsa_OpenPolicy2 *r)
1641 NDR_CHECK(ndr_pull_policy_handle(ndr, r->out.handle));
1642 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1644 return NT_STATUS_OK;
1647 NTSTATUS ndr_push_UNK_GET_CONNUSER(struct ndr_push *ndr, struct UNK_GET_CONNUSER *r)
1650 return NT_STATUS_OK;
1653 NTSTATUS ndr_pull_UNK_GET_CONNUSER(struct ndr_pull *ndr, struct UNK_GET_CONNUSER *r)
1655 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1657 return NT_STATUS_OK;
1660 NTSTATUS ndr_push_QUERYINFO2(struct ndr_push *ndr, struct QUERYINFO2 *r)
1663 return NT_STATUS_OK;
1666 NTSTATUS ndr_pull_QUERYINFO2(struct ndr_pull *ndr, struct QUERYINFO2 *r)
1668 NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
1670 return NT_STATUS_OK;