1 /* parser auto-generated by pidl */
5 NTSTATUS ndr_push_dom_sid(struct ndr_push *ndr, int ndr_flags, struct dom_sid *r)
7 if (!(ndr_flags & NDR_SCALARS)) goto buffers;
8 NDR_CHECK(ndr_push_struct_start(ndr));
9 NDR_CHECK(ndr_push_align(ndr, 4));
10 NDR_CHECK(ndr_push_uint8(ndr, r->sid_rev_num));
11 NDR_CHECK(ndr_push_uint8(ndr, r->num_auths));
12 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->id_auth, 6));
13 NDR_CHECK(ndr_push_array_uint32(ndr, NDR_SCALARS, r->sub_auths, r->num_auths));
14 ndr_push_struct_end(ndr);
16 if (!(ndr_flags & NDR_BUFFERS)) goto done;
17 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_BUFFERS, r->id_auth, 6));
18 NDR_CHECK(ndr_push_array_uint32(ndr, NDR_BUFFERS, r->sub_auths, r->num_auths));
23 NTSTATUS ndr_push_security_ace(struct ndr_push *ndr, int ndr_flags, struct security_ace *r)
25 if (!(ndr_flags & NDR_SCALARS)) goto buffers;
26 NDR_CHECK(ndr_push_struct_start(ndr));
27 NDR_CHECK(ndr_push_align(ndr, 4));
28 NDR_CHECK(ndr_push_uint8(ndr, r->type));
29 NDR_CHECK(ndr_push_uint8(ndr, r->flags));
30 NDR_CHECK(ndr_push_uint32(ndr, r->access_mask));
31 NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, &r->trustee));
32 ndr_push_struct_end(ndr);
34 if (!(ndr_flags & NDR_BUFFERS)) goto done;
35 NDR_CHECK(ndr_push_dom_sid(ndr, NDR_BUFFERS, &r->trustee));
40 NTSTATUS ndr_push_security_acl(struct ndr_push *ndr, int ndr_flags, struct security_acl *r)
42 if (!(ndr_flags & NDR_SCALARS)) goto buffers;
43 NDR_CHECK(ndr_push_struct_start(ndr));
44 NDR_CHECK(ndr_push_align(ndr, 4));
45 NDR_CHECK(ndr_push_uint16(ndr, r->revision));
46 NDR_CHECK(ndr_push_uint32(ndr, r->num_aces));
47 NDR_CHECK(ndr_push_array(ndr, NDR_SCALARS, r->aces, sizeof(r->aces[0]), r->num_aces, (ndr_push_flags_fn_t)ndr_push_security_ace));
48 ndr_push_struct_end(ndr);
50 if (!(ndr_flags & NDR_BUFFERS)) goto done;
51 NDR_CHECK(ndr_push_array(ndr, NDR_BUFFERS, r->aces, sizeof(r->aces[0]), r->num_aces, (ndr_push_flags_fn_t)ndr_push_security_ace));
56 NTSTATUS ndr_push_security_descriptor(struct ndr_push *ndr, int ndr_flags, struct security_descriptor *r)
58 if (!(ndr_flags & NDR_SCALARS)) goto buffers;
59 NDR_CHECK(ndr_push_struct_start(ndr));
60 NDR_CHECK(ndr_push_align(ndr, 4));
61 NDR_CHECK(ndr_push_uint8(ndr, r->revision));
62 NDR_CHECK(ndr_push_uint16(ndr, r->type));
63 NDR_CHECK(ndr_push_relative(ndr, NDR_SCALARS, r->owner_sid, (ndr_push_const_fn_t) ndr_push_dom_sid));
64 NDR_CHECK(ndr_push_relative(ndr, NDR_SCALARS, r->group_sid, (ndr_push_const_fn_t) ndr_push_dom_sid));
65 NDR_CHECK(ndr_push_relative(ndr, NDR_SCALARS, r->sacl, (ndr_push_const_fn_t) ndr_push_security_acl));
66 NDR_CHECK(ndr_push_relative(ndr, NDR_SCALARS, r->dacl, (ndr_push_const_fn_t) ndr_push_security_acl));
67 ndr_push_struct_end(ndr);
69 if (!(ndr_flags & NDR_BUFFERS)) goto done;
71 NDR_CHECK(ndr_push_relative(ndr, NDR_BUFFERS, r->owner_sid, (ndr_push_const_fn_t) ndr_push_dom_sid));
74 NDR_CHECK(ndr_push_relative(ndr, NDR_BUFFERS, r->group_sid, (ndr_push_const_fn_t) ndr_push_dom_sid));
77 NDR_CHECK(ndr_push_relative(ndr, NDR_BUFFERS, r->sacl, (ndr_push_const_fn_t) ndr_push_security_acl));
80 NDR_CHECK(ndr_push_relative(ndr, NDR_BUFFERS, r->dacl, (ndr_push_const_fn_t) ndr_push_security_acl));
86 NTSTATUS ndr_pull_dom_sid(struct ndr_pull *ndr, int ndr_flags, struct dom_sid *r)
88 NDR_CHECK(ndr_pull_struct_start(ndr));
89 if (!(ndr_flags & NDR_SCALARS)) goto buffers;
90 NDR_CHECK(ndr_pull_align(ndr, 4));
91 NDR_CHECK(ndr_pull_uint8(ndr, &r->sid_rev_num));
92 NDR_CHECK(ndr_pull_uint8(ndr, &r->num_auths));
93 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->id_auth, 6));
94 NDR_ALLOC_N_SIZE(ndr, r->sub_auths, r->num_auths, sizeof(r->sub_auths[0]));
95 NDR_CHECK(ndr_pull_array_uint32(ndr, NDR_SCALARS, r->sub_auths, r->num_auths));
96 ndr_pull_struct_end(ndr);
98 if (!(ndr_flags & NDR_BUFFERS)) goto done;
99 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_BUFFERS, r->id_auth, 6));
100 NDR_CHECK(ndr_pull_array_uint32(ndr, NDR_BUFFERS, r->sub_auths, r->num_auths));
105 NTSTATUS ndr_pull_security_ace(struct ndr_pull *ndr, int ndr_flags, struct security_ace *r)
107 NDR_CHECK(ndr_pull_struct_start(ndr));
108 if (!(ndr_flags & NDR_SCALARS)) goto buffers;
109 NDR_CHECK(ndr_pull_align(ndr, 4));
110 NDR_CHECK(ndr_pull_uint8(ndr, &r->type));
111 NDR_CHECK(ndr_pull_uint8(ndr, &r->flags));
112 NDR_CHECK(ndr_pull_uint32(ndr, &r->access_mask));
113 NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, &r->trustee));
114 ndr_pull_struct_end(ndr);
116 if (!(ndr_flags & NDR_BUFFERS)) goto done;
117 NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_BUFFERS, &r->trustee));
122 NTSTATUS ndr_pull_security_acl(struct ndr_pull *ndr, int ndr_flags, struct security_acl *r)
124 NDR_CHECK(ndr_pull_struct_start(ndr));
125 if (!(ndr_flags & NDR_SCALARS)) goto buffers;
126 NDR_CHECK(ndr_pull_align(ndr, 4));
127 NDR_CHECK(ndr_pull_uint16(ndr, &r->revision));
128 NDR_CHECK(ndr_pull_uint32(ndr, &r->num_aces));
129 NDR_ALLOC_N_SIZE(ndr, r->aces, r->num_aces, sizeof(r->aces[0]));
130 NDR_CHECK(ndr_pull_array(ndr, NDR_SCALARS, (void **)r->aces, sizeof(r->aces[0]), r->num_aces, (ndr_pull_flags_fn_t)ndr_pull_security_ace));
131 ndr_pull_struct_end(ndr);
133 if (!(ndr_flags & NDR_BUFFERS)) goto done;
134 NDR_CHECK(ndr_pull_array(ndr, NDR_BUFFERS, (void **)r->aces, sizeof(r->aces[0]), r->num_aces, (ndr_pull_flags_fn_t)ndr_pull_security_ace));
139 NTSTATUS ndr_pull_security_descriptor(struct ndr_pull *ndr, int ndr_flags, struct security_descriptor *r)
141 NDR_CHECK(ndr_pull_struct_start(ndr));
142 if (!(ndr_flags & NDR_SCALARS)) goto buffers;
143 NDR_CHECK(ndr_pull_align(ndr, 4));
144 NDR_CHECK(ndr_pull_uint8(ndr, &r->revision));
145 NDR_CHECK(ndr_pull_uint16(ndr, &r->type));
146 NDR_CHECK(ndr_pull_relative(ndr, (const void **)&r->owner_sid, sizeof(*r->owner_sid), (ndr_pull_flags_fn_t)ndr_pull_dom_sid));
147 NDR_CHECK(ndr_pull_relative(ndr, (const void **)&r->group_sid, sizeof(*r->group_sid), (ndr_pull_flags_fn_t)ndr_pull_dom_sid));
148 NDR_CHECK(ndr_pull_relative(ndr, (const void **)&r->sacl, sizeof(*r->sacl), (ndr_pull_flags_fn_t)ndr_pull_security_acl));
149 NDR_CHECK(ndr_pull_relative(ndr, (const void **)&r->dacl, sizeof(*r->dacl), (ndr_pull_flags_fn_t)ndr_pull_security_acl));
150 ndr_pull_struct_end(ndr);
152 if (!(ndr_flags & NDR_BUFFERS)) goto done;
157 void ndr_print_security_ace(struct ndr_print *ndr, const char *name, struct security_ace *r)
159 ndr_print_struct(ndr, name, "security_ace");
161 ndr_print_uint8(ndr, "type", r->type);
162 ndr_print_uint8(ndr, "flags", r->flags);
163 ndr_print_uint32(ndr, "access_mask", r->access_mask);
164 ndr_print_dom_sid(ndr, "trustee", &r->trustee);
168 void ndr_print_security_acl(struct ndr_print *ndr, const char *name, struct security_acl *r)
170 ndr_print_struct(ndr, name, "security_acl");
172 ndr_print_uint16(ndr, "revision", r->revision);
173 ndr_print_uint32(ndr, "num_aces", r->num_aces);
174 ndr_print_ptr(ndr, "aces", r->aces);
176 ndr_print_array(ndr, "aces", r->aces, sizeof(r->aces[0]), r->num_aces, (ndr_print_fn_t)ndr_print_security_ace);
181 void ndr_print_security_descriptor(struct ndr_print *ndr, const char *name, struct security_descriptor *r)
183 ndr_print_struct(ndr, name, "security_descriptor");
185 ndr_print_uint8(ndr, "revision", r->revision);
186 ndr_print_uint16(ndr, "type", r->type);
187 ndr_print_ptr(ndr, "owner_sid", r->owner_sid);
190 ndr_print_dom_sid(ndr, "owner_sid", r->owner_sid);
193 ndr_print_ptr(ndr, "group_sid", r->group_sid);
196 ndr_print_dom_sid(ndr, "group_sid", r->group_sid);
199 ndr_print_ptr(ndr, "sacl", r->sacl);
202 ndr_print_security_acl(ndr, "sacl", r->sacl);
205 ndr_print_ptr(ndr, "dacl", r->dacl);
208 ndr_print_security_acl(ndr, "dacl", r->dacl);