Line data Source code
1 : /* parser auto-generated by pidl */
2 :
3 : #include "includes.h"
4 : #include "bin/default/librpc/gen_ndr/ndr_security.h"
5 :
6 : #include "librpc/gen_ndr/ndr_misc.h"
7 0 : static void ndr_print_flags_dom_sid(struct ndr_print *ndr, const char *name, int unused, const struct dom_sid *r)
8 : {
9 0 : ndr_print_dom_sid(ndr, name, r);
10 0 : }
11 :
12 61014 : static enum ndr_err_code ndr_push_se_privilege(struct ndr_push *ndr, int ndr_flags, uint64_t r)
13 : {
14 61014 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r));
15 61014 : return NDR_ERR_SUCCESS;
16 : }
17 :
18 47448 : static enum ndr_err_code ndr_pull_se_privilege(struct ndr_pull *ndr, int ndr_flags, uint64_t *r)
19 : {
20 : uint64_t v;
21 47448 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &v));
22 47448 : *r = v;
23 47448 : return NDR_ERR_SUCCESS;
24 : }
25 :
26 0 : _PUBLIC_ void ndr_print_se_privilege(struct ndr_print *ndr, const char *name, uint64_t r)
27 : {
28 0 : ndr_print_hyper(ndr, name, r);
29 0 : ndr->depth++;
30 0 : ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_MACHINE_ACCOUNT_BIT", SEC_PRIV_MACHINE_ACCOUNT_BIT, r);
31 0 : ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_PRINT_OPERATOR_BIT", SEC_PRIV_PRINT_OPERATOR_BIT, r);
32 0 : ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_ADD_USERS_BIT", SEC_PRIV_ADD_USERS_BIT, r);
33 0 : ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_DISK_OPERATOR_BIT", SEC_PRIV_DISK_OPERATOR_BIT, r);
34 0 : ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_REMOTE_SHUTDOWN_BIT", SEC_PRIV_REMOTE_SHUTDOWN_BIT, r);
35 0 : ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_BACKUP_BIT", SEC_PRIV_BACKUP_BIT, r);
36 0 : ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_RESTORE_BIT", SEC_PRIV_RESTORE_BIT, r);
37 0 : ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_TAKE_OWNERSHIP_BIT", SEC_PRIV_TAKE_OWNERSHIP_BIT, r);
38 0 : ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_INCREASE_QUOTA_BIT", SEC_PRIV_INCREASE_QUOTA_BIT, r);
39 0 : ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_SECURITY_BIT", SEC_PRIV_SECURITY_BIT, r);
40 0 : ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_LOAD_DRIVER_BIT", SEC_PRIV_LOAD_DRIVER_BIT, r);
41 0 : ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_SYSTEM_PROFILE_BIT", SEC_PRIV_SYSTEM_PROFILE_BIT, r);
42 0 : ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_SYSTEMTIME_BIT", SEC_PRIV_SYSTEMTIME_BIT, r);
43 0 : ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_PROFILE_SINGLE_PROCESS_BIT", SEC_PRIV_PROFILE_SINGLE_PROCESS_BIT, r);
44 0 : ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_INCREASE_BASE_PRIORITY_BIT", SEC_PRIV_INCREASE_BASE_PRIORITY_BIT, r);
45 0 : ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_CREATE_PAGEFILE_BIT", SEC_PRIV_CREATE_PAGEFILE_BIT, r);
46 0 : ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_SHUTDOWN_BIT", SEC_PRIV_SHUTDOWN_BIT, r);
47 0 : ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_DEBUG_BIT", SEC_PRIV_DEBUG_BIT, r);
48 0 : ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_SYSTEM_ENVIRONMENT_BIT", SEC_PRIV_SYSTEM_ENVIRONMENT_BIT, r);
49 0 : ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_CHANGE_NOTIFY_BIT", SEC_PRIV_CHANGE_NOTIFY_BIT, r);
50 0 : ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_UNDOCK_BIT", SEC_PRIV_UNDOCK_BIT, r);
51 0 : ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_ENABLE_DELEGATION_BIT", SEC_PRIV_ENABLE_DELEGATION_BIT, r);
52 0 : ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_MANAGE_VOLUME_BIT", SEC_PRIV_MANAGE_VOLUME_BIT, r);
53 0 : ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_IMPERSONATE_BIT", SEC_PRIV_IMPERSONATE_BIT, r);
54 0 : ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_CREATE_GLOBAL_BIT", SEC_PRIV_CREATE_GLOBAL_BIT, r);
55 0 : ndr->depth--;
56 0 : }
57 :
58 61014 : static enum ndr_err_code ndr_push_lsa_SystemAccessModeFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
59 : {
60 61014 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
61 61014 : return NDR_ERR_SUCCESS;
62 : }
63 :
64 47448 : static enum ndr_err_code ndr_pull_lsa_SystemAccessModeFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
65 : {
66 : uint32_t v;
67 47448 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
68 47448 : *r = v;
69 47448 : return NDR_ERR_SUCCESS;
70 : }
71 :
72 0 : _PUBLIC_ void ndr_print_lsa_SystemAccessModeFlags(struct ndr_print *ndr, const char *name, uint32_t r)
73 : {
74 0 : ndr_print_uint32(ndr, name, r);
75 0 : ndr->depth++;
76 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_MODE_INTERACTIVE", LSA_POLICY_MODE_INTERACTIVE, r);
77 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_MODE_NETWORK", LSA_POLICY_MODE_NETWORK, r);
78 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_MODE_BATCH", LSA_POLICY_MODE_BATCH, r);
79 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_MODE_SERVICE", LSA_POLICY_MODE_SERVICE, r);
80 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_MODE_PROXY", LSA_POLICY_MODE_PROXY, r);
81 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_MODE_DENY_INTERACTIVE", LSA_POLICY_MODE_DENY_INTERACTIVE, r);
82 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_MODE_DENY_NETWORK", LSA_POLICY_MODE_DENY_NETWORK, r);
83 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_MODE_DENY_BATCH", LSA_POLICY_MODE_DENY_BATCH, r);
84 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_MODE_DENY_SERVICE", LSA_POLICY_MODE_DENY_SERVICE, r);
85 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_MODE_REMOTE_INTERACTIVE", LSA_POLICY_MODE_REMOTE_INTERACTIVE, r);
86 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_MODE_DENY_REMOTE_INTERACTIVE", LSA_POLICY_MODE_DENY_REMOTE_INTERACTIVE, r);
87 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_MODE_ALL", LSA_POLICY_MODE_ALL, r);
88 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_MODE_ALL_NT4", LSA_POLICY_MODE_ALL_NT4, r);
89 0 : ndr->depth--;
90 0 : }
91 :
92 22428006 : _PUBLIC_ enum ndr_err_code ndr_push_security_ace_flags(struct ndr_push *ndr, int ndr_flags, uint8_t r)
93 : {
94 22428006 : NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r));
95 22428006 : return NDR_ERR_SUCCESS;
96 : }
97 :
98 115124508 : _PUBLIC_ enum ndr_err_code ndr_pull_security_ace_flags(struct ndr_pull *ndr, int ndr_flags, uint8_t *r)
99 : {
100 : uint8_t v;
101 115124508 : NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &v));
102 115124508 : *r = v;
103 115124508 : return NDR_ERR_SUCCESS;
104 : }
105 :
106 346 : _PUBLIC_ void ndr_print_security_ace_flags(struct ndr_print *ndr, const char *name, uint8_t r)
107 : {
108 346 : ndr_print_uint8(ndr, name, r);
109 346 : ndr->depth++;
110 346 : ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "SEC_ACE_FLAG_OBJECT_INHERIT", SEC_ACE_FLAG_OBJECT_INHERIT, r);
111 346 : ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "SEC_ACE_FLAG_CONTAINER_INHERIT", SEC_ACE_FLAG_CONTAINER_INHERIT, r);
112 346 : ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "SEC_ACE_FLAG_NO_PROPAGATE_INHERIT", SEC_ACE_FLAG_NO_PROPAGATE_INHERIT, r);
113 346 : ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "SEC_ACE_FLAG_INHERIT_ONLY", SEC_ACE_FLAG_INHERIT_ONLY, r);
114 346 : ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "SEC_ACE_FLAG_INHERITED_ACE", SEC_ACE_FLAG_INHERITED_ACE, r);
115 346 : ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "SEC_ACE_FLAG_VALID_INHERIT", SEC_ACE_FLAG_VALID_INHERIT, r);
116 346 : ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "SEC_ACE_FLAG_SUCCESSFUL_ACCESS", SEC_ACE_FLAG_SUCCESSFUL_ACCESS, r);
117 346 : ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "SEC_ACE_FLAG_FAILED_ACCESS", SEC_ACE_FLAG_FAILED_ACCESS, r);
118 346 : ndr->depth--;
119 346 : }
120 :
121 22428006 : _PUBLIC_ enum ndr_err_code ndr_push_security_ace_type(struct ndr_push *ndr, int ndr_flags, enum security_ace_type r)
122 : {
123 22428006 : NDR_CHECK(ndr_push_enum_uint8(ndr, NDR_SCALARS, r));
124 22428006 : return NDR_ERR_SUCCESS;
125 : }
126 :
127 115124508 : _PUBLIC_ enum ndr_err_code ndr_pull_security_ace_type(struct ndr_pull *ndr, int ndr_flags, enum security_ace_type *r)
128 : {
129 : uint8_t v;
130 115124508 : NDR_CHECK(ndr_pull_enum_uint8(ndr, NDR_SCALARS, &v));
131 115124508 : *r = v;
132 115124508 : return NDR_ERR_SUCCESS;
133 : }
134 :
135 346 : _PUBLIC_ void ndr_print_security_ace_type(struct ndr_print *ndr, const char *name, enum security_ace_type r)
136 : {
137 346 : const char *val = NULL;
138 :
139 346 : switch (r) {
140 346 : case SEC_ACE_TYPE_ACCESS_ALLOWED: val = "SEC_ACE_TYPE_ACCESS_ALLOWED"; break;
141 0 : case SEC_ACE_TYPE_ACCESS_DENIED: val = "SEC_ACE_TYPE_ACCESS_DENIED"; break;
142 0 : case SEC_ACE_TYPE_SYSTEM_AUDIT: val = "SEC_ACE_TYPE_SYSTEM_AUDIT"; break;
143 0 : case SEC_ACE_TYPE_SYSTEM_ALARM: val = "SEC_ACE_TYPE_SYSTEM_ALARM"; break;
144 0 : case SEC_ACE_TYPE_ALLOWED_COMPOUND: val = "SEC_ACE_TYPE_ALLOWED_COMPOUND"; break;
145 0 : case SEC_ACE_TYPE_ACCESS_ALLOWED_OBJECT: val = "SEC_ACE_TYPE_ACCESS_ALLOWED_OBJECT"; break;
146 0 : case SEC_ACE_TYPE_ACCESS_DENIED_OBJECT: val = "SEC_ACE_TYPE_ACCESS_DENIED_OBJECT"; break;
147 0 : case SEC_ACE_TYPE_SYSTEM_AUDIT_OBJECT: val = "SEC_ACE_TYPE_SYSTEM_AUDIT_OBJECT"; break;
148 0 : case SEC_ACE_TYPE_SYSTEM_ALARM_OBJECT: val = "SEC_ACE_TYPE_SYSTEM_ALARM_OBJECT"; break;
149 : }
150 346 : ndr_print_enum(ndr, name, "ENUM", val, r);
151 346 : }
152 :
153 11068572 : static enum ndr_err_code ndr_push_security_ace_object_flags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
154 : {
155 11068572 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
156 11068572 : return NDR_ERR_SUCCESS;
157 : }
158 :
159 74811215 : static enum ndr_err_code ndr_pull_security_ace_object_flags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
160 : {
161 : uint32_t v;
162 74811215 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
163 74811215 : *r = v;
164 74811215 : return NDR_ERR_SUCCESS;
165 : }
166 :
167 0 : _PUBLIC_ void ndr_print_security_ace_object_flags(struct ndr_print *ndr, const char *name, uint32_t r)
168 : {
169 0 : ndr_print_uint32(ndr, name, r);
170 0 : ndr->depth++;
171 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SEC_ACE_OBJECT_TYPE_PRESENT", SEC_ACE_OBJECT_TYPE_PRESENT, r);
172 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SEC_ACE_INHERITED_OBJECT_TYPE_PRESENT", SEC_ACE_INHERITED_OBJECT_TYPE_PRESENT, r);
173 0 : ndr->depth--;
174 0 : }
175 :
176 22137144 : static enum ndr_err_code ndr_push_security_ace_object_type(struct ndr_push *ndr, int ndr_flags, const union security_ace_object_type *r)
177 : {
178 : uint32_t level;
179 22137144 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
180 22137144 : if (ndr_flags & NDR_SCALARS) {
181 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
182 11068572 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
183 11068572 : NDR_CHECK(ndr_push_union_align(ndr, 4));
184 11068572 : switch (level) {
185 9840648 : case SEC_ACE_OBJECT_TYPE_PRESENT: {
186 9840648 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->type));
187 9840648 : break; }
188 :
189 1227924 : default: {
190 1227924 : break; }
191 :
192 : }
193 10443418 : }
194 22137144 : return NDR_ERR_SUCCESS;
195 : }
196 :
197 149622430 : static enum ndr_err_code ndr_pull_security_ace_object_type(struct ndr_pull *ndr, int ndr_flags, union security_ace_object_type *r)
198 : {
199 : uint32_t level;
200 149622430 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
201 149622430 : if (ndr_flags & NDR_SCALARS) {
202 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
203 74811215 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
204 74811215 : NDR_CHECK(ndr_pull_union_align(ndr, 4));
205 74811215 : switch (level) {
206 67955503 : case SEC_ACE_OBJECT_TYPE_PRESENT: {
207 67955503 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->type));
208 67955503 : break; }
209 :
210 6855712 : default: {
211 6855712 : break; }
212 :
213 : }
214 68680399 : }
215 149622430 : return NDR_ERR_SUCCESS;
216 : }
217 :
218 0 : _PUBLIC_ void ndr_print_security_ace_object_type(struct ndr_print *ndr, const char *name, const union security_ace_object_type *r)
219 : {
220 : uint32_t level;
221 0 : level = ndr_print_steal_switch_value(ndr, r);
222 0 : ndr_print_union(ndr, name, level, "security_ace_object_type");
223 0 : switch (level) {
224 0 : case SEC_ACE_OBJECT_TYPE_PRESENT:
225 0 : ndr_print_GUID(ndr, "type", &r->type);
226 0 : break;
227 :
228 0 : default:
229 0 : break;
230 :
231 : }
232 0 : }
233 :
234 22137144 : static enum ndr_err_code ndr_push_security_ace_object_inherited_type(struct ndr_push *ndr, int ndr_flags, const union security_ace_object_inherited_type *r)
235 : {
236 : uint32_t level;
237 22137144 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
238 22137144 : if (ndr_flags & NDR_SCALARS) {
239 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
240 11068572 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
241 11068572 : NDR_CHECK(ndr_push_union_align(ndr, 4));
242 11068572 : switch (level) {
243 7525262 : case SEC_ACE_INHERITED_OBJECT_TYPE_PRESENT: {
244 7525262 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->inherited_type));
245 7525262 : break; }
246 :
247 3543310 : default: {
248 3543310 : break; }
249 :
250 : }
251 10443418 : }
252 22137144 : return NDR_ERR_SUCCESS;
253 : }
254 :
255 149622430 : static enum ndr_err_code ndr_pull_security_ace_object_inherited_type(struct ndr_pull *ndr, int ndr_flags, union security_ace_object_inherited_type *r)
256 : {
257 : uint32_t level;
258 149622430 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
259 149622430 : if (ndr_flags & NDR_SCALARS) {
260 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
261 74811215 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
262 74811215 : NDR_CHECK(ndr_pull_union_align(ndr, 4));
263 74811215 : switch (level) {
264 41977333 : case SEC_ACE_INHERITED_OBJECT_TYPE_PRESENT: {
265 41977333 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->inherited_type));
266 41977333 : break; }
267 :
268 32833882 : default: {
269 32833882 : break; }
270 :
271 : }
272 68680399 : }
273 149622430 : return NDR_ERR_SUCCESS;
274 : }
275 :
276 0 : _PUBLIC_ void ndr_print_security_ace_object_inherited_type(struct ndr_print *ndr, const char *name, const union security_ace_object_inherited_type *r)
277 : {
278 : uint32_t level;
279 0 : level = ndr_print_steal_switch_value(ndr, r);
280 0 : ndr_print_union(ndr, name, level, "security_ace_object_inherited_type");
281 0 : switch (level) {
282 0 : case SEC_ACE_INHERITED_OBJECT_TYPE_PRESENT:
283 0 : ndr_print_GUID(ndr, "inherited_type", &r->inherited_type);
284 0 : break;
285 :
286 0 : default:
287 0 : break;
288 :
289 : }
290 0 : }
291 :
292 22137144 : static enum ndr_err_code ndr_push_security_ace_object(struct ndr_push *ndr, int ndr_flags, const struct security_ace_object *r)
293 : {
294 22137144 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
295 22137144 : if (ndr_flags & NDR_SCALARS) {
296 11068572 : NDR_CHECK(ndr_push_align(ndr, 4));
297 11068572 : NDR_CHECK(ndr_push_security_ace_object_flags(ndr, NDR_SCALARS, r->flags));
298 11068572 : NDR_CHECK(ndr_push_set_switch_value(ndr, &r->type, r->flags & SEC_ACE_OBJECT_TYPE_PRESENT));
299 11068572 : NDR_CHECK(ndr_push_security_ace_object_type(ndr, NDR_SCALARS, &r->type));
300 11068572 : NDR_CHECK(ndr_push_set_switch_value(ndr, &r->inherited_type, r->flags & SEC_ACE_INHERITED_OBJECT_TYPE_PRESENT));
301 11068572 : NDR_CHECK(ndr_push_security_ace_object_inherited_type(ndr, NDR_SCALARS, &r->inherited_type));
302 11068572 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
303 : }
304 22137144 : if (ndr_flags & NDR_BUFFERS) {
305 11068572 : NDR_CHECK(ndr_push_set_switch_value(ndr, &r->type, r->flags & SEC_ACE_OBJECT_TYPE_PRESENT));
306 11068572 : NDR_CHECK(ndr_push_security_ace_object_type(ndr, NDR_BUFFERS, &r->type));
307 11068572 : NDR_CHECK(ndr_push_set_switch_value(ndr, &r->inherited_type, r->flags & SEC_ACE_INHERITED_OBJECT_TYPE_PRESENT));
308 11068572 : NDR_CHECK(ndr_push_security_ace_object_inherited_type(ndr, NDR_BUFFERS, &r->inherited_type));
309 : }
310 22137144 : return NDR_ERR_SUCCESS;
311 : }
312 :
313 149622430 : static enum ndr_err_code ndr_pull_security_ace_object(struct ndr_pull *ndr, int ndr_flags, struct security_ace_object *r)
314 : {
315 149622430 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
316 149622430 : if (ndr_flags & NDR_SCALARS) {
317 74811215 : NDR_CHECK(ndr_pull_align(ndr, 4));
318 74811215 : NDR_CHECK(ndr_pull_security_ace_object_flags(ndr, NDR_SCALARS, &r->flags));
319 74811215 : NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->type, r->flags & SEC_ACE_OBJECT_TYPE_PRESENT));
320 74811215 : NDR_CHECK(ndr_pull_security_ace_object_type(ndr, NDR_SCALARS, &r->type));
321 74811215 : NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->inherited_type, r->flags & SEC_ACE_INHERITED_OBJECT_TYPE_PRESENT));
322 74811215 : NDR_CHECK(ndr_pull_security_ace_object_inherited_type(ndr, NDR_SCALARS, &r->inherited_type));
323 74811215 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
324 : }
325 149622430 : if (ndr_flags & NDR_BUFFERS) {
326 74811215 : NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->type, r->flags & SEC_ACE_OBJECT_TYPE_PRESENT));
327 74811215 : NDR_CHECK(ndr_pull_security_ace_object_type(ndr, NDR_BUFFERS, &r->type));
328 74811215 : NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->inherited_type, r->flags & SEC_ACE_INHERITED_OBJECT_TYPE_PRESENT));
329 74811215 : NDR_CHECK(ndr_pull_security_ace_object_inherited_type(ndr, NDR_BUFFERS, &r->inherited_type));
330 : }
331 149622430 : return NDR_ERR_SUCCESS;
332 : }
333 :
334 0 : _PUBLIC_ void ndr_print_security_ace_object(struct ndr_print *ndr, const char *name, const struct security_ace_object *r)
335 : {
336 0 : ndr_print_struct(ndr, name, "security_ace_object");
337 0 : if (r == NULL) { ndr_print_null(ndr); return; }
338 0 : ndr->depth++;
339 0 : ndr_print_security_ace_object_flags(ndr, "flags", r->flags);
340 0 : ndr_print_set_switch_value(ndr, &r->type, r->flags & SEC_ACE_OBJECT_TYPE_PRESENT);
341 0 : ndr_print_security_ace_object_type(ndr, "type", &r->type);
342 0 : ndr_print_set_switch_value(ndr, &r->inherited_type, r->flags & SEC_ACE_INHERITED_OBJECT_TYPE_PRESENT);
343 0 : ndr_print_security_ace_object_inherited_type(ndr, "inherited_type", &r->inherited_type);
344 0 : ndr->depth--;
345 : }
346 :
347 44856012 : _PUBLIC_ enum ndr_err_code ndr_push_security_ace_object_ctr(struct ndr_push *ndr, int ndr_flags, const union security_ace_object_ctr *r)
348 : {
349 : uint32_t level;
350 44856012 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
351 44856012 : if (ndr_flags & NDR_SCALARS) {
352 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
353 22428006 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
354 22428006 : NDR_CHECK(ndr_push_union_align(ndr, 4));
355 22428006 : switch (level) {
356 10069938 : case SEC_ACE_TYPE_ACCESS_ALLOWED_OBJECT: {
357 10069938 : NDR_CHECK(ndr_push_security_ace_object(ndr, NDR_SCALARS, &r->object));
358 10069938 : break; }
359 :
360 12090 : case SEC_ACE_TYPE_ACCESS_DENIED_OBJECT: {
361 12090 : NDR_CHECK(ndr_push_security_ace_object(ndr, NDR_SCALARS, &r->object));
362 12090 : break; }
363 :
364 986544 : case SEC_ACE_TYPE_SYSTEM_AUDIT_OBJECT: {
365 986544 : NDR_CHECK(ndr_push_security_ace_object(ndr, NDR_SCALARS, &r->object));
366 986544 : break; }
367 :
368 0 : case SEC_ACE_TYPE_SYSTEM_ALARM_OBJECT: {
369 0 : NDR_CHECK(ndr_push_security_ace_object(ndr, NDR_SCALARS, &r->object));
370 0 : break; }
371 :
372 11359434 : default: {
373 11359434 : break; }
374 :
375 : }
376 20310013 : }
377 44856012 : if (ndr_flags & NDR_BUFFERS) {
378 22428006 : if (!(ndr_flags & NDR_SCALARS)) {
379 : /* We didn't get it above, and the token is not needed after this. */
380 22428006 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
381 : }
382 22428006 : switch (level) {
383 10069938 : case SEC_ACE_TYPE_ACCESS_ALLOWED_OBJECT:
384 10069938 : NDR_CHECK(ndr_push_security_ace_object(ndr, NDR_BUFFERS, &r->object));
385 10069938 : break;
386 :
387 12090 : case SEC_ACE_TYPE_ACCESS_DENIED_OBJECT:
388 12090 : NDR_CHECK(ndr_push_security_ace_object(ndr, NDR_BUFFERS, &r->object));
389 12090 : break;
390 :
391 986544 : case SEC_ACE_TYPE_SYSTEM_AUDIT_OBJECT:
392 986544 : NDR_CHECK(ndr_push_security_ace_object(ndr, NDR_BUFFERS, &r->object));
393 986544 : break;
394 :
395 0 : case SEC_ACE_TYPE_SYSTEM_ALARM_OBJECT:
396 0 : NDR_CHECK(ndr_push_security_ace_object(ndr, NDR_BUFFERS, &r->object));
397 0 : break;
398 :
399 11359434 : default:
400 11359434 : break;
401 :
402 : }
403 20310013 : }
404 44856012 : return NDR_ERR_SUCCESS;
405 : }
406 :
407 230249016 : _PUBLIC_ enum ndr_err_code ndr_pull_security_ace_object_ctr(struct ndr_pull *ndr, int ndr_flags, union security_ace_object_ctr *r)
408 : {
409 : uint32_t level;
410 230249016 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
411 230249016 : if (ndr_flags & NDR_SCALARS) {
412 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
413 115124508 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
414 115124508 : NDR_CHECK(ndr_pull_union_align(ndr, 4));
415 115124508 : switch (level) {
416 68010329 : case SEC_ACE_TYPE_ACCESS_ALLOWED_OBJECT: {
417 68010329 : NDR_CHECK(ndr_pull_security_ace_object(ndr, NDR_SCALARS, &r->object));
418 68010329 : break; }
419 :
420 53673 : case SEC_ACE_TYPE_ACCESS_DENIED_OBJECT: {
421 53673 : NDR_CHECK(ndr_pull_security_ace_object(ndr, NDR_SCALARS, &r->object));
422 53673 : break; }
423 :
424 6747213 : case SEC_ACE_TYPE_SYSTEM_AUDIT_OBJECT: {
425 6747213 : NDR_CHECK(ndr_pull_security_ace_object(ndr, NDR_SCALARS, &r->object));
426 6747213 : break; }
427 :
428 0 : case SEC_ACE_TYPE_SYSTEM_ALARM_OBJECT: {
429 0 : NDR_CHECK(ndr_pull_security_ace_object(ndr, NDR_SCALARS, &r->object));
430 0 : break; }
431 :
432 40313293 : default: {
433 40313293 : break; }
434 :
435 : }
436 103452259 : }
437 230249016 : if (ndr_flags & NDR_BUFFERS) {
438 115124508 : if (!(ndr_flags & NDR_SCALARS)) {
439 : /* We didn't get it above, and the token is not needed after this. */
440 115124508 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
441 : }
442 115124508 : switch (level) {
443 68010329 : case SEC_ACE_TYPE_ACCESS_ALLOWED_OBJECT:
444 68010329 : NDR_CHECK(ndr_pull_security_ace_object(ndr, NDR_BUFFERS, &r->object));
445 68010329 : break;
446 :
447 53673 : case SEC_ACE_TYPE_ACCESS_DENIED_OBJECT:
448 53673 : NDR_CHECK(ndr_pull_security_ace_object(ndr, NDR_BUFFERS, &r->object));
449 53673 : break;
450 :
451 6747213 : case SEC_ACE_TYPE_SYSTEM_AUDIT_OBJECT:
452 6747213 : NDR_CHECK(ndr_pull_security_ace_object(ndr, NDR_BUFFERS, &r->object));
453 6747213 : break;
454 :
455 0 : case SEC_ACE_TYPE_SYSTEM_ALARM_OBJECT:
456 0 : NDR_CHECK(ndr_pull_security_ace_object(ndr, NDR_BUFFERS, &r->object));
457 0 : break;
458 :
459 40313293 : default:
460 40313293 : break;
461 :
462 : }
463 103452259 : }
464 230249016 : return NDR_ERR_SUCCESS;
465 : }
466 :
467 346 : _PUBLIC_ void ndr_print_security_ace_object_ctr(struct ndr_print *ndr, const char *name, const union security_ace_object_ctr *r)
468 : {
469 : uint32_t level;
470 346 : level = ndr_print_steal_switch_value(ndr, r);
471 346 : ndr_print_union(ndr, name, level, "security_ace_object_ctr");
472 346 : switch (level) {
473 0 : case SEC_ACE_TYPE_ACCESS_ALLOWED_OBJECT:
474 0 : ndr_print_security_ace_object(ndr, "object", &r->object);
475 0 : break;
476 :
477 0 : case SEC_ACE_TYPE_ACCESS_DENIED_OBJECT:
478 0 : ndr_print_security_ace_object(ndr, "object", &r->object);
479 0 : break;
480 :
481 0 : case SEC_ACE_TYPE_SYSTEM_AUDIT_OBJECT:
482 0 : ndr_print_security_ace_object(ndr, "object", &r->object);
483 0 : break;
484 :
485 0 : case SEC_ACE_TYPE_SYSTEM_ALARM_OBJECT:
486 0 : ndr_print_security_ace_object(ndr, "object", &r->object);
487 0 : break;
488 :
489 346 : default:
490 346 : break;
491 :
492 : }
493 346 : }
494 :
495 44856012 : _PUBLIC_ enum ndr_err_code ndr_push_security_ace(struct ndr_push *ndr, int ndr_flags, const struct security_ace *r)
496 : {
497 44856012 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
498 44856012 : if (ndr_flags & NDR_SCALARS) {
499 22428006 : NDR_CHECK(ndr_push_align(ndr, 4));
500 22428006 : NDR_CHECK(ndr_push_security_ace_type(ndr, NDR_SCALARS, r->type));
501 22428006 : NDR_CHECK(ndr_push_security_ace_flags(ndr, NDR_SCALARS, r->flags));
502 22428006 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, ndr_size_security_ace(r, ndr->flags)));
503 22428006 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->access_mask));
504 22428006 : NDR_CHECK(ndr_push_set_switch_value(ndr, &r->object, r->type));
505 22428006 : NDR_CHECK(ndr_push_security_ace_object_ctr(ndr, NDR_SCALARS, &r->object));
506 22428006 : NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, &r->trustee));
507 22428006 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
508 : }
509 44856012 : if (ndr_flags & NDR_BUFFERS) {
510 22428006 : NDR_CHECK(ndr_push_set_switch_value(ndr, &r->object, r->type));
511 22428006 : NDR_CHECK(ndr_push_security_ace_object_ctr(ndr, NDR_BUFFERS, &r->object));
512 : }
513 44856012 : return NDR_ERR_SUCCESS;
514 : }
515 :
516 0 : static void ndr_print_flags_security_ace(struct ndr_print *ndr, const char *name, int unused, const struct security_ace *r)
517 : {
518 0 : ndr_print_security_ace(ndr, name, r);
519 0 : }
520 :
521 346 : _PUBLIC_ void ndr_print_security_ace(struct ndr_print *ndr, const char *name, const struct security_ace *r)
522 : {
523 346 : ndr_print_struct(ndr, name, "security_ace");
524 346 : if (r == NULL) { ndr_print_null(ndr); return; }
525 346 : ndr->depth++;
526 346 : ndr_print_security_ace_type(ndr, "type", r->type);
527 346 : ndr_print_security_ace_flags(ndr, "flags", r->flags);
528 346 : ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_security_ace(r, ndr->flags):r->size);
529 346 : ndr_print_uint32(ndr, "access_mask", r->access_mask);
530 346 : ndr_print_set_switch_value(ndr, &r->object, r->type);
531 346 : ndr_print_security_ace_object_ctr(ndr, "object", &r->object);
532 346 : ndr_print_dom_sid(ndr, "trustee", &r->trustee);
533 346 : ndr->depth--;
534 : }
535 :
536 3233794 : static enum ndr_err_code ndr_push_security_acl_revision(struct ndr_push *ndr, int ndr_flags, enum security_acl_revision r)
537 : {
538 3233794 : NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
539 3233794 : return NDR_ERR_SUCCESS;
540 : }
541 :
542 10500603 : static enum ndr_err_code ndr_pull_security_acl_revision(struct ndr_pull *ndr, int ndr_flags, enum security_acl_revision *r)
543 : {
544 : uint16_t v;
545 10500603 : NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
546 10500603 : *r = v;
547 10500603 : return NDR_ERR_SUCCESS;
548 : }
549 :
550 319 : _PUBLIC_ void ndr_print_security_acl_revision(struct ndr_print *ndr, const char *name, enum security_acl_revision r)
551 : {
552 319 : const char *val = NULL;
553 :
554 319 : switch (r) {
555 319 : case SECURITY_ACL_REVISION_NT4: val = "SECURITY_ACL_REVISION_NT4"; break;
556 0 : case SECURITY_ACL_REVISION_ADS: val = "SECURITY_ACL_REVISION_ADS"; break;
557 : }
558 319 : ndr_print_enum(ndr, name, "ENUM", val, r);
559 319 : }
560 :
561 3233794 : _PUBLIC_ enum ndr_err_code ndr_push_security_acl(struct ndr_push *ndr, int ndr_flags, const struct security_acl *r)
562 : {
563 : uint32_t cntr_aces_0;
564 3233794 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
565 3233794 : if (ndr_flags & NDR_SCALARS) {
566 3233794 : NDR_CHECK(ndr_push_align(ndr, 4));
567 3233794 : NDR_CHECK(ndr_push_security_acl_revision(ndr, NDR_SCALARS, r->revision));
568 3233794 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, ndr_size_security_acl(r, ndr->flags)));
569 3233794 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_aces));
570 25661800 : for (cntr_aces_0 = 0; cntr_aces_0 < (r->num_aces); cntr_aces_0++) {
571 22428006 : NDR_CHECK(ndr_push_security_ace(ndr, NDR_SCALARS, &r->aces[cntr_aces_0]));
572 : }
573 3233794 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
574 : }
575 3233794 : if (ndr_flags & NDR_BUFFERS) {
576 25661800 : for (cntr_aces_0 = 0; cntr_aces_0 < (r->num_aces); cntr_aces_0++) {
577 22428006 : NDR_CHECK(ndr_push_security_ace(ndr, NDR_BUFFERS, &r->aces[cntr_aces_0]));
578 : }
579 : }
580 3233794 : return NDR_ERR_SUCCESS;
581 : }
582 :
583 10500603 : _PUBLIC_ enum ndr_err_code ndr_pull_security_acl(struct ndr_pull *ndr, int ndr_flags, struct security_acl *r)
584 : {
585 10500603 : uint32_t size_aces_0 = 0;
586 : uint32_t cntr_aces_0;
587 10500603 : TALLOC_CTX *_mem_save_aces_0 = NULL;
588 10500603 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
589 10500603 : if (ndr_flags & NDR_SCALARS) {
590 10500603 : NDR_CHECK(ndr_pull_align(ndr, 4));
591 10500603 : NDR_CHECK(ndr_pull_security_acl_revision(ndr, NDR_SCALARS, &r->revision));
592 10500603 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
593 10500603 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_aces));
594 10500603 : if (r->num_aces > 2000) {
595 0 : return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
596 : }
597 10500603 : size_aces_0 = r->num_aces;
598 10500603 : NDR_PULL_ALLOC_N(ndr, r->aces, size_aces_0);
599 10500603 : _mem_save_aces_0 = NDR_PULL_GET_MEM_CTX(ndr);
600 10500603 : NDR_PULL_SET_MEM_CTX(ndr, r->aces, 0);
601 125625111 : for (cntr_aces_0 = 0; cntr_aces_0 < (size_aces_0); cntr_aces_0++) {
602 115124508 : NDR_CHECK(ndr_pull_security_ace(ndr, NDR_SCALARS, &r->aces[cntr_aces_0]));
603 : }
604 10500603 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_aces_0, 0);
605 10500603 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
606 : }
607 10500603 : if (ndr_flags & NDR_BUFFERS) {
608 10500603 : size_aces_0 = r->num_aces;
609 10500603 : _mem_save_aces_0 = NDR_PULL_GET_MEM_CTX(ndr);
610 10500603 : NDR_PULL_SET_MEM_CTX(ndr, r->aces, 0);
611 125625111 : for (cntr_aces_0 = 0; cntr_aces_0 < (size_aces_0); cntr_aces_0++) {
612 115124508 : NDR_CHECK(ndr_pull_security_ace(ndr, NDR_BUFFERS, &r->aces[cntr_aces_0]));
613 : }
614 10500603 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_aces_0, 0);
615 22172852 : for (cntr_aces_0 = 0; cntr_aces_0 < (size_aces_0); cntr_aces_0++) {
616 : }
617 : }
618 10500603 : return NDR_ERR_SUCCESS;
619 : }
620 :
621 0 : static void ndr_print_flags_security_acl(struct ndr_print *ndr, const char *name, int unused, const struct security_acl *r)
622 : {
623 0 : ndr_print_security_acl(ndr, name, r);
624 0 : }
625 :
626 319 : _PUBLIC_ void ndr_print_security_acl(struct ndr_print *ndr, const char *name, const struct security_acl *r)
627 : {
628 : uint32_t cntr_aces_0;
629 319 : ndr_print_struct(ndr, name, "security_acl");
630 319 : if (r == NULL) { ndr_print_null(ndr); return; }
631 319 : ndr->depth++;
632 319 : ndr_print_security_acl_revision(ndr, "revision", r->revision);
633 319 : ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_security_acl(r, ndr->flags):r->size);
634 319 : ndr_print_uint32(ndr, "num_aces", r->num_aces);
635 319 : ndr->print(ndr, "%s: ARRAY(%d)", "aces", (int)r->num_aces);
636 319 : ndr->depth++;
637 665 : for (cntr_aces_0 = 0; cntr_aces_0 < (r->num_aces); cntr_aces_0++) {
638 346 : ndr_print_security_ace(ndr, "aces", &r->aces[cntr_aces_0]);
639 : }
640 319 : ndr->depth--;
641 319 : ndr->depth--;
642 : }
643 :
644 1973821 : _PUBLIC_ enum ndr_err_code ndr_push_security_descriptor_revision(struct ndr_push *ndr, int ndr_flags, enum security_descriptor_revision r)
645 : {
646 1973821 : NDR_CHECK(ndr_push_enum_uint8(ndr, NDR_SCALARS, r));
647 1973821 : return NDR_ERR_SUCCESS;
648 : }
649 :
650 6044627 : _PUBLIC_ enum ndr_err_code ndr_pull_security_descriptor_revision(struct ndr_pull *ndr, int ndr_flags, enum security_descriptor_revision *r)
651 : {
652 : uint8_t v;
653 6044627 : NDR_CHECK(ndr_pull_enum_uint8(ndr, NDR_SCALARS, &v));
654 6044627 : *r = v;
655 6044627 : return NDR_ERR_SUCCESS;
656 : }
657 :
658 327 : _PUBLIC_ void ndr_print_security_descriptor_revision(struct ndr_print *ndr, const char *name, enum security_descriptor_revision r)
659 : {
660 327 : const char *val = NULL;
661 :
662 327 : switch (r) {
663 327 : case SECURITY_DESCRIPTOR_REVISION_1: val = "SECURITY_DESCRIPTOR_REVISION_1"; break;
664 : }
665 327 : ndr_print_enum(ndr, name, "ENUM", val, r);
666 327 : }
667 :
668 1973821 : _PUBLIC_ enum ndr_err_code ndr_push_security_descriptor_type(struct ndr_push *ndr, int ndr_flags, uint16_t r)
669 : {
670 1973821 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
671 1973821 : return NDR_ERR_SUCCESS;
672 : }
673 :
674 6044627 : _PUBLIC_ enum ndr_err_code ndr_pull_security_descriptor_type(struct ndr_pull *ndr, int ndr_flags, uint16_t *r)
675 : {
676 : uint16_t v;
677 6044627 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
678 6044627 : *r = v;
679 6044627 : return NDR_ERR_SUCCESS;
680 : }
681 :
682 327 : _PUBLIC_ void ndr_print_security_descriptor_type(struct ndr_print *ndr, const char *name, uint16_t r)
683 : {
684 327 : ndr_print_uint16(ndr, name, r);
685 327 : ndr->depth++;
686 327 : ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_OWNER_DEFAULTED", SEC_DESC_OWNER_DEFAULTED, r);
687 327 : ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_GROUP_DEFAULTED", SEC_DESC_GROUP_DEFAULTED, r);
688 327 : ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_DACL_PRESENT", SEC_DESC_DACL_PRESENT, r);
689 327 : ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_DACL_DEFAULTED", SEC_DESC_DACL_DEFAULTED, r);
690 327 : ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_SACL_PRESENT", SEC_DESC_SACL_PRESENT, r);
691 327 : ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_SACL_DEFAULTED", SEC_DESC_SACL_DEFAULTED, r);
692 327 : ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_DACL_TRUSTED", SEC_DESC_DACL_TRUSTED, r);
693 327 : ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_SERVER_SECURITY", SEC_DESC_SERVER_SECURITY, r);
694 327 : ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_DACL_AUTO_INHERIT_REQ", SEC_DESC_DACL_AUTO_INHERIT_REQ, r);
695 327 : ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_SACL_AUTO_INHERIT_REQ", SEC_DESC_SACL_AUTO_INHERIT_REQ, r);
696 327 : ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_DACL_AUTO_INHERITED", SEC_DESC_DACL_AUTO_INHERITED, r);
697 327 : ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_SACL_AUTO_INHERITED", SEC_DESC_SACL_AUTO_INHERITED, r);
698 327 : ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_DACL_PROTECTED", SEC_DESC_DACL_PROTECTED, r);
699 327 : ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_SACL_PROTECTED", SEC_DESC_SACL_PROTECTED, r);
700 327 : ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_RM_CONTROL_VALID", SEC_DESC_RM_CONTROL_VALID, r);
701 327 : ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_SELF_RELATIVE", SEC_DESC_SELF_RELATIVE, r);
702 327 : ndr->depth--;
703 327 : }
704 :
705 1973821 : _PUBLIC_ enum ndr_err_code ndr_push_security_descriptor(struct ndr_push *ndr, int ndr_flags, const struct security_descriptor *r)
706 : {
707 : {
708 1973821 : uint32_t _flags_save_STRUCT = ndr->flags;
709 1973821 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_LITTLE_ENDIAN);
710 1973821 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
711 1973821 : if (ndr_flags & NDR_SCALARS) {
712 1973821 : NDR_CHECK(ndr_push_align(ndr, 5));
713 1973821 : NDR_CHECK(ndr_push_security_descriptor_revision(ndr, NDR_SCALARS, r->revision));
714 1973821 : NDR_CHECK(ndr_push_security_descriptor_type(ndr, NDR_SCALARS, r->type));
715 1973821 : NDR_CHECK(ndr_push_relative_ptr1(ndr, r->owner_sid));
716 1973821 : NDR_CHECK(ndr_push_relative_ptr1(ndr, r->group_sid));
717 1973821 : NDR_CHECK(ndr_push_relative_ptr1(ndr, r->sacl));
718 1973821 : NDR_CHECK(ndr_push_relative_ptr1(ndr, r->dacl));
719 1973821 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
720 : }
721 1973821 : if (ndr_flags & NDR_BUFFERS) {
722 1973821 : if (r->owner_sid) {
723 1948061 : NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->owner_sid));
724 1948061 : NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, r->owner_sid));
725 1948061 : NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->owner_sid));
726 : }
727 1973821 : if (r->group_sid) {
728 1947406 : NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->group_sid));
729 1947406 : NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, r->group_sid));
730 1947406 : NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->group_sid));
731 : }
732 1973821 : if (r->sacl) {
733 1263683 : NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->sacl));
734 1263683 : NDR_CHECK(ndr_push_security_acl(ndr, NDR_SCALARS|NDR_BUFFERS, r->sacl));
735 1263683 : NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->sacl));
736 : }
737 1973821 : if (r->dacl) {
738 1966555 : NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->dacl));
739 1966555 : NDR_CHECK(ndr_push_security_acl(ndr, NDR_SCALARS|NDR_BUFFERS, r->dacl));
740 1966555 : NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->dacl));
741 : }
742 : }
743 1973821 : ndr->flags = _flags_save_STRUCT;
744 : }
745 1973821 : return NDR_ERR_SUCCESS;
746 : }
747 :
748 6044627 : _PUBLIC_ enum ndr_err_code ndr_pull_security_descriptor(struct ndr_pull *ndr, int ndr_flags, struct security_descriptor *r)
749 : {
750 : uint32_t _ptr_owner_sid;
751 6044627 : TALLOC_CTX *_mem_save_owner_sid_0 = NULL;
752 : uint32_t _ptr_group_sid;
753 6044627 : TALLOC_CTX *_mem_save_group_sid_0 = NULL;
754 : uint32_t _ptr_sacl;
755 6044627 : TALLOC_CTX *_mem_save_sacl_0 = NULL;
756 : uint32_t _ptr_dacl;
757 6044627 : TALLOC_CTX *_mem_save_dacl_0 = NULL;
758 : {
759 6044627 : uint32_t _flags_save_STRUCT = ndr->flags;
760 6044627 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_LITTLE_ENDIAN);
761 6044627 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
762 6044627 : if (ndr_flags & NDR_SCALARS) {
763 6044627 : NDR_CHECK(ndr_pull_align(ndr, 5));
764 6044627 : NDR_CHECK(ndr_pull_security_descriptor_revision(ndr, NDR_SCALARS, &r->revision));
765 6044627 : NDR_CHECK(ndr_pull_security_descriptor_type(ndr, NDR_SCALARS, &r->type));
766 6044627 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_owner_sid));
767 6044627 : if (_ptr_owner_sid) {
768 6018624 : NDR_PULL_ALLOC(ndr, r->owner_sid);
769 6018624 : NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->owner_sid, _ptr_owner_sid));
770 : } else {
771 26003 : r->owner_sid = NULL;
772 : }
773 6044394 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_group_sid));
774 6044394 : if (_ptr_group_sid) {
775 6017740 : NDR_PULL_ALLOC(ndr, r->group_sid);
776 6017740 : NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->group_sid, _ptr_group_sid));
777 : } else {
778 26654 : r->group_sid = NULL;
779 : }
780 6044394 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sacl));
781 6044394 : if (_ptr_sacl) {
782 4459915 : NDR_PULL_ALLOC(ndr, r->sacl);
783 4459915 : NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->sacl, _ptr_sacl));
784 : } else {
785 1584479 : r->sacl = NULL;
786 : }
787 6044394 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dacl));
788 6044394 : if (_ptr_dacl) {
789 6037132 : NDR_PULL_ALLOC(ndr, r->dacl);
790 6037132 : NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->dacl, _ptr_dacl));
791 : } else {
792 7262 : r->dacl = NULL;
793 : }
794 6044394 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
795 : }
796 6044394 : if (ndr_flags & NDR_BUFFERS) {
797 6044394 : if (r->owner_sid) {
798 : uint32_t _relative_save_offset;
799 6018391 : _relative_save_offset = ndr->offset;
800 6018391 : NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->owner_sid));
801 6018391 : _mem_save_owner_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
802 6018391 : NDR_PULL_SET_MEM_CTX(ndr, r->owner_sid, 0);
803 6018391 : NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, r->owner_sid));
804 6018391 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_owner_sid_0, 0);
805 6018391 : if (ndr->offset > ndr->relative_highest_offset) {
806 6018391 : ndr->relative_highest_offset = ndr->offset;
807 : }
808 6018391 : ndr->offset = _relative_save_offset;
809 : }
810 6044394 : if (r->group_sid) {
811 : uint32_t _relative_save_offset;
812 6017740 : _relative_save_offset = ndr->offset;
813 6017740 : NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->group_sid));
814 6017740 : _mem_save_group_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
815 6017740 : NDR_PULL_SET_MEM_CTX(ndr, r->group_sid, 0);
816 6017740 : NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, r->group_sid));
817 6017740 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_sid_0, 0);
818 6017740 : if (ndr->offset > ndr->relative_highest_offset) {
819 6017740 : ndr->relative_highest_offset = ndr->offset;
820 : }
821 6017740 : ndr->offset = _relative_save_offset;
822 : }
823 6044394 : if (r->sacl) {
824 : uint32_t _relative_save_offset;
825 4459915 : _relative_save_offset = ndr->offset;
826 4459915 : NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->sacl));
827 4459915 : _mem_save_sacl_0 = NDR_PULL_GET_MEM_CTX(ndr);
828 4459915 : NDR_PULL_SET_MEM_CTX(ndr, r->sacl, 0);
829 4459915 : NDR_CHECK(ndr_pull_security_acl(ndr, NDR_SCALARS|NDR_BUFFERS, r->sacl));
830 4459915 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sacl_0, 0);
831 4459915 : if (ndr->offset > ndr->relative_highest_offset) {
832 4459915 : ndr->relative_highest_offset = ndr->offset;
833 : }
834 4459915 : ndr->offset = _relative_save_offset;
835 : }
836 6044394 : if (r->dacl) {
837 : uint32_t _relative_save_offset;
838 6037132 : _relative_save_offset = ndr->offset;
839 6037132 : NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->dacl));
840 6037132 : _mem_save_dacl_0 = NDR_PULL_GET_MEM_CTX(ndr);
841 6037132 : NDR_PULL_SET_MEM_CTX(ndr, r->dacl, 0);
842 6037132 : NDR_CHECK(ndr_pull_security_acl(ndr, NDR_SCALARS|NDR_BUFFERS, r->dacl));
843 6037132 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dacl_0, 0);
844 6037132 : if (ndr->offset > ndr->relative_highest_offset) {
845 6037132 : ndr->relative_highest_offset = ndr->offset;
846 : }
847 6037132 : ndr->offset = _relative_save_offset;
848 : }
849 : }
850 6044394 : ndr->flags = _flags_save_STRUCT;
851 : }
852 6044394 : return NDR_ERR_SUCCESS;
853 : }
854 :
855 0 : static void ndr_print_flags_security_descriptor(struct ndr_print *ndr, const char *name, int unused, const struct security_descriptor *r)
856 : {
857 0 : ndr_print_security_descriptor(ndr, name, r);
858 0 : }
859 :
860 327 : _PUBLIC_ void ndr_print_security_descriptor(struct ndr_print *ndr, const char *name, const struct security_descriptor *r)
861 : {
862 327 : ndr_print_struct(ndr, name, "security_descriptor");
863 327 : if (r == NULL) { ndr_print_null(ndr); return; }
864 : {
865 327 : uint32_t _flags_save_STRUCT = ndr->flags;
866 327 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_LITTLE_ENDIAN);
867 327 : ndr->depth++;
868 327 : ndr_print_security_descriptor_revision(ndr, "revision", r->revision);
869 327 : ndr_print_security_descriptor_type(ndr, "type", r->type);
870 327 : ndr_print_ptr(ndr, "owner_sid", r->owner_sid);
871 327 : ndr->depth++;
872 327 : if (r->owner_sid) {
873 301 : ndr_print_dom_sid(ndr, "owner_sid", r->owner_sid);
874 : }
875 327 : ndr->depth--;
876 327 : ndr_print_ptr(ndr, "group_sid", r->group_sid);
877 327 : ndr->depth++;
878 327 : if (r->group_sid) {
879 7 : ndr_print_dom_sid(ndr, "group_sid", r->group_sid);
880 : }
881 327 : ndr->depth--;
882 327 : ndr_print_ptr(ndr, "sacl", r->sacl);
883 327 : ndr->depth++;
884 327 : if (r->sacl) {
885 0 : ndr_print_security_acl(ndr, "sacl", r->sacl);
886 : }
887 327 : ndr->depth--;
888 327 : ndr_print_ptr(ndr, "dacl", r->dacl);
889 327 : ndr->depth++;
890 327 : if (r->dacl) {
891 319 : ndr_print_security_acl(ndr, "dacl", r->dacl);
892 : }
893 327 : ndr->depth--;
894 327 : ndr->depth--;
895 327 : ndr->flags = _flags_save_STRUCT;
896 : }
897 : }
898 :
899 751 : _PUBLIC_ enum ndr_err_code ndr_push_sec_desc_buf(struct ndr_push *ndr, int ndr_flags, const struct sec_desc_buf *r)
900 : {
901 751 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
902 751 : if (ndr_flags & NDR_SCALARS) {
903 527 : NDR_CHECK(ndr_push_align(ndr, 5));
904 527 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_security_descriptor(r->sd, ndr->flags)));
905 527 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->sd));
906 527 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
907 : }
908 751 : if (ndr_flags & NDR_BUFFERS) {
909 527 : if (r->sd) {
910 : {
911 : struct ndr_push *_ndr_sd;
912 331 : NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_sd, 4, -1));
913 331 : NDR_CHECK(ndr_push_security_descriptor(_ndr_sd, NDR_SCALARS|NDR_BUFFERS, r->sd));
914 331 : NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_sd, 4, -1));
915 : }
916 : }
917 : }
918 751 : return NDR_ERR_SUCCESS;
919 : }
920 :
921 669 : _PUBLIC_ enum ndr_err_code ndr_pull_sec_desc_buf(struct ndr_pull *ndr, int ndr_flags, struct sec_desc_buf *r)
922 : {
923 : uint32_t _ptr_sd;
924 669 : TALLOC_CTX *_mem_save_sd_0 = NULL;
925 669 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
926 669 : if (ndr_flags & NDR_SCALARS) {
927 484 : NDR_CHECK(ndr_pull_align(ndr, 5));
928 484 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sd_size));
929 484 : if (r->sd_size > 262144) {
930 0 : return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
931 : }
932 484 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sd));
933 484 : if (_ptr_sd) {
934 327 : NDR_PULL_ALLOC(ndr, r->sd);
935 : } else {
936 157 : r->sd = NULL;
937 : }
938 484 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
939 : }
940 669 : if (ndr_flags & NDR_BUFFERS) {
941 484 : if (r->sd) {
942 327 : _mem_save_sd_0 = NDR_PULL_GET_MEM_CTX(ndr);
943 327 : NDR_PULL_SET_MEM_CTX(ndr, r->sd, 0);
944 : {
945 : struct ndr_pull *_ndr_sd;
946 327 : NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_sd, 4, -1));
947 327 : NDR_CHECK(ndr_pull_security_descriptor(_ndr_sd, NDR_SCALARS|NDR_BUFFERS, r->sd));
948 327 : NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_sd, 4, -1));
949 : }
950 327 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sd_0, 0);
951 : }
952 : }
953 669 : return NDR_ERR_SUCCESS;
954 : }
955 :
956 0 : static void ndr_print_flags_sec_desc_buf(struct ndr_print *ndr, const char *name, int unused, const struct sec_desc_buf *r)
957 : {
958 0 : ndr_print_sec_desc_buf(ndr, name, r);
959 0 : }
960 :
961 86 : _PUBLIC_ void ndr_print_sec_desc_buf(struct ndr_print *ndr, const char *name, const struct sec_desc_buf *r)
962 : {
963 86 : ndr_print_struct(ndr, name, "sec_desc_buf");
964 86 : if (r == NULL) { ndr_print_null(ndr); return; }
965 86 : ndr->depth++;
966 86 : ndr_print_uint32(ndr, "sd_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_security_descriptor(r->sd, ndr->flags):r->sd_size);
967 86 : ndr_print_ptr(ndr, "sd", r->sd);
968 86 : ndr->depth++;
969 86 : if (r->sd) {
970 8 : ndr_print_security_descriptor(ndr, "sd", r->sd);
971 : }
972 86 : ndr->depth--;
973 86 : ndr->depth--;
974 : }
975 :
976 374884 : _PUBLIC_ enum ndr_err_code ndr_push_security_GroupAttrs(struct ndr_push *ndr, int ndr_flags, uint32_t r)
977 : {
978 374884 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
979 374884 : return NDR_ERR_SUCCESS;
980 : }
981 :
982 444841 : _PUBLIC_ enum ndr_err_code ndr_pull_security_GroupAttrs(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
983 : {
984 : uint32_t v;
985 444841 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
986 444841 : *r = v;
987 444841 : return NDR_ERR_SUCCESS;
988 : }
989 :
990 11720 : _PUBLIC_ void ndr_print_security_GroupAttrs(struct ndr_print *ndr, const char *name, uint32_t r)
991 : {
992 11720 : ndr_print_uint32(ndr, name, r);
993 11720 : ndr->depth++;
994 11720 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_MANDATORY", SE_GROUP_MANDATORY, r);
995 11720 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_ENABLED_BY_DEFAULT", SE_GROUP_ENABLED_BY_DEFAULT, r);
996 11720 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_ENABLED", SE_GROUP_ENABLED, r);
997 11720 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_OWNER", SE_GROUP_OWNER, r);
998 11720 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_USE_FOR_DENY_ONLY", SE_GROUP_USE_FOR_DENY_ONLY, r);
999 11720 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_INTEGRITY", SE_GROUP_INTEGRITY, r);
1000 11720 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_INTEGRITY_ENABLED", SE_GROUP_INTEGRITY_ENABLED, r);
1001 11720 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_RESOURCE", SE_GROUP_RESOURCE, r);
1002 11720 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_LOGON_ID", SE_GROUP_LOGON_ID, r);
1003 11720 : ndr->depth--;
1004 11720 : }
1005 :
1006 61014 : _PUBLIC_ enum ndr_err_code ndr_push_security_token(struct ndr_push *ndr, int ndr_flags, const struct security_token *r)
1007 : {
1008 : uint32_t cntr_sids_0;
1009 61014 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1010 61014 : if (ndr_flags & NDR_SCALARS) {
1011 61014 : NDR_CHECK(ndr_push_align(ndr, 8));
1012 61014 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sids));
1013 61014 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_sids));
1014 769346 : for (cntr_sids_0 = 0; cntr_sids_0 < (r->num_sids); cntr_sids_0++) {
1015 708332 : NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, &r->sids[cntr_sids_0]));
1016 : }
1017 61014 : NDR_CHECK(ndr_push_se_privilege(ndr, NDR_SCALARS, r->privilege_mask));
1018 61014 : NDR_CHECK(ndr_push_lsa_SystemAccessModeFlags(ndr, NDR_SCALARS, r->rights_mask));
1019 61014 : NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1020 : }
1021 61014 : if (ndr_flags & NDR_BUFFERS) {
1022 : }
1023 61014 : return NDR_ERR_SUCCESS;
1024 : }
1025 :
1026 47448 : _PUBLIC_ enum ndr_err_code ndr_pull_security_token(struct ndr_pull *ndr, int ndr_flags, struct security_token *r)
1027 : {
1028 47448 : uint32_t size_sids_0 = 0;
1029 : uint32_t cntr_sids_0;
1030 47448 : TALLOC_CTX *_mem_save_sids_0 = NULL;
1031 47448 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1032 47448 : if (ndr_flags & NDR_SCALARS) {
1033 47448 : NDR_CHECK(ndr_pull_align(ndr, 8));
1034 47448 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_sids));
1035 47448 : NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
1036 47448 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->sids, &size_sids_0));
1037 47448 : NDR_PULL_ALLOC_N(ndr, r->sids, size_sids_0);
1038 47448 : _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1039 47448 : NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
1040 555660 : for (cntr_sids_0 = 0; cntr_sids_0 < (size_sids_0); cntr_sids_0++) {
1041 508212 : NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, &r->sids[cntr_sids_0]));
1042 : }
1043 47448 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
1044 47448 : NDR_CHECK(ndr_pull_se_privilege(ndr, NDR_SCALARS, &r->privilege_mask));
1045 47448 : NDR_CHECK(ndr_pull_lsa_SystemAccessModeFlags(ndr, NDR_SCALARS, &r->rights_mask));
1046 47448 : if (r->sids) {
1047 47448 : NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->sids, r->num_sids));
1048 : }
1049 47448 : NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1050 : }
1051 47448 : if (ndr_flags & NDR_BUFFERS) {
1052 : }
1053 47448 : return NDR_ERR_SUCCESS;
1054 : }
1055 :
1056 0 : static void ndr_print_flags_security_token(struct ndr_print *ndr, const char *name, int unused, const struct security_token *r)
1057 : {
1058 0 : ndr_print_security_token(ndr, name, r);
1059 0 : }
1060 :
1061 0 : _PUBLIC_ void ndr_print_security_token(struct ndr_print *ndr, const char *name, const struct security_token *r)
1062 : {
1063 : uint32_t cntr_sids_0;
1064 0 : ndr_print_struct(ndr, name, "security_token");
1065 0 : if (r == NULL) { ndr_print_null(ndr); return; }
1066 0 : ndr->depth++;
1067 0 : ndr_print_uint32(ndr, "num_sids", r->num_sids);
1068 0 : ndr->print(ndr, "%s: ARRAY(%d)", "sids", (int)r->num_sids);
1069 0 : ndr->depth++;
1070 0 : for (cntr_sids_0 = 0; cntr_sids_0 < (r->num_sids); cntr_sids_0++) {
1071 0 : ndr_print_dom_sid(ndr, "sids", &r->sids[cntr_sids_0]);
1072 : }
1073 0 : ndr->depth--;
1074 0 : ndr_print_se_privilege(ndr, "privilege_mask", r->privilege_mask);
1075 0 : ndr_print_lsa_SystemAccessModeFlags(ndr, "rights_mask", r->rights_mask);
1076 0 : ndr->depth--;
1077 : }
1078 :
1079 40434 : _PUBLIC_ enum ndr_err_code ndr_push_security_unix_token(struct ndr_push *ndr, int ndr_flags, const struct security_unix_token *r)
1080 : {
1081 : uint32_t cntr_groups_0;
1082 40434 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1083 40434 : if (ndr_flags & NDR_SCALARS) {
1084 40434 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->ngroups));
1085 40434 : NDR_CHECK(ndr_push_align(ndr, 8));
1086 40434 : NDR_CHECK(ndr_push_uid_t(ndr, NDR_SCALARS, r->uid));
1087 40434 : NDR_CHECK(ndr_push_gid_t(ndr, NDR_SCALARS, r->gid));
1088 40434 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ngroups));
1089 443655 : for (cntr_groups_0 = 0; cntr_groups_0 < (r->ngroups); cntr_groups_0++) {
1090 403221 : NDR_CHECK(ndr_push_gid_t(ndr, NDR_SCALARS, r->groups[cntr_groups_0]));
1091 : }
1092 40434 : NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1093 : }
1094 40434 : if (ndr_flags & NDR_BUFFERS) {
1095 : }
1096 40434 : return NDR_ERR_SUCCESS;
1097 : }
1098 :
1099 26966 : _PUBLIC_ enum ndr_err_code ndr_pull_security_unix_token(struct ndr_pull *ndr, int ndr_flags, struct security_unix_token *r)
1100 : {
1101 26966 : uint32_t size_groups_0 = 0;
1102 : uint32_t cntr_groups_0;
1103 26966 : TALLOC_CTX *_mem_save_groups_0 = NULL;
1104 26966 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1105 26966 : if (ndr_flags & NDR_SCALARS) {
1106 26966 : NDR_CHECK(ndr_pull_array_size(ndr, &r->groups));
1107 26966 : NDR_CHECK(ndr_pull_align(ndr, 8));
1108 26966 : NDR_CHECK(ndr_pull_uid_t(ndr, NDR_SCALARS, &r->uid));
1109 26966 : NDR_CHECK(ndr_pull_gid_t(ndr, NDR_SCALARS, &r->gid));
1110 26966 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ngroups));
1111 26966 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->groups, &size_groups_0));
1112 26966 : NDR_PULL_ALLOC_N(ndr, r->groups, size_groups_0);
1113 26966 : _mem_save_groups_0 = NDR_PULL_GET_MEM_CTX(ndr);
1114 26966 : NDR_PULL_SET_MEM_CTX(ndr, r->groups, 0);
1115 276363 : for (cntr_groups_0 = 0; cntr_groups_0 < (size_groups_0); cntr_groups_0++) {
1116 249397 : NDR_CHECK(ndr_pull_gid_t(ndr, NDR_SCALARS, &r->groups[cntr_groups_0]));
1117 : }
1118 26966 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_groups_0, 0);
1119 26966 : if (r->groups) {
1120 26966 : NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->groups, r->ngroups));
1121 : }
1122 26966 : NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1123 : }
1124 26966 : if (ndr_flags & NDR_BUFFERS) {
1125 : }
1126 26966 : return NDR_ERR_SUCCESS;
1127 : }
1128 :
1129 0 : static void ndr_print_flags_security_unix_token(struct ndr_print *ndr, const char *name, int unused, const struct security_unix_token *r)
1130 : {
1131 0 : ndr_print_security_unix_token(ndr, name, r);
1132 0 : }
1133 :
1134 0 : _PUBLIC_ void ndr_print_security_unix_token(struct ndr_print *ndr, const char *name, const struct security_unix_token *r)
1135 : {
1136 : uint32_t cntr_groups_0;
1137 0 : ndr_print_struct(ndr, name, "security_unix_token");
1138 0 : if (r == NULL) { ndr_print_null(ndr); return; }
1139 0 : ndr->depth++;
1140 0 : ndr_print_uid_t(ndr, "uid", r->uid);
1141 0 : ndr_print_gid_t(ndr, "gid", r->gid);
1142 0 : ndr_print_uint32(ndr, "ngroups", r->ngroups);
1143 0 : ndr->print(ndr, "%s: ARRAY(%d)", "groups", (int)r->ngroups);
1144 0 : ndr->depth++;
1145 0 : for (cntr_groups_0 = 0; cntr_groups_0 < (r->ngroups); cntr_groups_0++) {
1146 0 : ndr_print_gid_t(ndr, "groups", r->groups[cntr_groups_0]);
1147 : }
1148 0 : ndr->depth--;
1149 0 : ndr->depth--;
1150 : }
1151 :
1152 299 : _PUBLIC_ enum ndr_err_code ndr_push_security_secinfo(struct ndr_push *ndr, int ndr_flags, uint32_t r)
1153 : {
1154 299 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
1155 299 : return NDR_ERR_SUCCESS;
1156 : }
1157 :
1158 299 : _PUBLIC_ enum ndr_err_code ndr_pull_security_secinfo(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
1159 : {
1160 : uint32_t v;
1161 299 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
1162 299 : *r = v;
1163 299 : return NDR_ERR_SUCCESS;
1164 : }
1165 :
1166 0 : _PUBLIC_ void ndr_print_security_secinfo(struct ndr_print *ndr, const char *name, uint32_t r)
1167 : {
1168 0 : ndr_print_uint32(ndr, name, r);
1169 0 : ndr->depth++;
1170 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SECINFO_OWNER", SECINFO_OWNER, r);
1171 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SECINFO_GROUP", SECINFO_GROUP, r);
1172 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SECINFO_DACL", SECINFO_DACL, r);
1173 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SECINFO_SACL", SECINFO_SACL, r);
1174 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SECINFO_LABEL", SECINFO_LABEL, r);
1175 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SECINFO_ATTRIBUTE", SECINFO_ATTRIBUTE, r);
1176 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SECINFO_SCOPE", SECINFO_SCOPE, r);
1177 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SECINFO_BACKUP", SECINFO_BACKUP, r);
1178 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SECINFO_UNPROTECTED_SACL", SECINFO_UNPROTECTED_SACL, r);
1179 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SECINFO_UNPROTECTED_DACL", SECINFO_UNPROTECTED_DACL, r);
1180 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SECINFO_PROTECTED_SACL", SECINFO_PROTECTED_SACL, r);
1181 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SECINFO_PROTECTED_DACL", SECINFO_PROTECTED_DACL, r);
1182 0 : ndr->depth--;
1183 0 : }
1184 :
1185 77408 : _PUBLIC_ enum ndr_err_code ndr_push_LSAP_TOKEN_INFO_INTEGRITY(struct ndr_push *ndr, int ndr_flags, const struct LSAP_TOKEN_INFO_INTEGRITY *r)
1186 : {
1187 : {
1188 77408 : uint32_t _flags_save_STRUCT = ndr->flags;
1189 77408 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1190 77408 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1191 77408 : if (ndr_flags & NDR_SCALARS) {
1192 77408 : NDR_CHECK(ndr_push_align(ndr, 4));
1193 77408 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->Flags));
1194 77408 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->TokenIL));
1195 77408 : NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->MachineId, 32));
1196 77408 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1197 : }
1198 77408 : if (ndr_flags & NDR_BUFFERS) {
1199 : }
1200 77408 : ndr->flags = _flags_save_STRUCT;
1201 : }
1202 77408 : return NDR_ERR_SUCCESS;
1203 : }
1204 :
1205 9862 : _PUBLIC_ enum ndr_err_code ndr_pull_LSAP_TOKEN_INFO_INTEGRITY(struct ndr_pull *ndr, int ndr_flags, struct LSAP_TOKEN_INFO_INTEGRITY *r)
1206 : {
1207 9862 : uint32_t size_MachineId_0 = 0;
1208 : {
1209 9862 : uint32_t _flags_save_STRUCT = ndr->flags;
1210 9862 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1211 9862 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1212 9862 : if (ndr_flags & NDR_SCALARS) {
1213 9862 : NDR_CHECK(ndr_pull_align(ndr, 4));
1214 9862 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->Flags));
1215 9862 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->TokenIL));
1216 9862 : size_MachineId_0 = 32;
1217 9862 : NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->MachineId, size_MachineId_0));
1218 9862 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1219 : }
1220 9862 : if (ndr_flags & NDR_BUFFERS) {
1221 : }
1222 9862 : ndr->flags = _flags_save_STRUCT;
1223 : }
1224 9862 : return NDR_ERR_SUCCESS;
1225 : }
1226 :
1227 0 : static void ndr_print_flags_LSAP_TOKEN_INFO_INTEGRITY(struct ndr_print *ndr, const char *name, int unused, const struct LSAP_TOKEN_INFO_INTEGRITY *r)
1228 : {
1229 0 : ndr_print_LSAP_TOKEN_INFO_INTEGRITY(ndr, name, r);
1230 0 : }
1231 :
1232 0 : _PUBLIC_ void ndr_print_LSAP_TOKEN_INFO_INTEGRITY(struct ndr_print *ndr, const char *name, const struct LSAP_TOKEN_INFO_INTEGRITY *r)
1233 : {
1234 0 : ndr_print_struct(ndr, name, "LSAP_TOKEN_INFO_INTEGRITY");
1235 0 : if (r == NULL) { ndr_print_null(ndr); return; }
1236 : {
1237 0 : uint32_t _flags_save_STRUCT = ndr->flags;
1238 0 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1239 0 : ndr->depth++;
1240 0 : ndr_print_uint32(ndr, "Flags", r->Flags);
1241 0 : ndr_print_uint32(ndr, "TokenIL", r->TokenIL);
1242 0 : ndr_print_array_uint8(ndr, "MachineId", r->MachineId, 32);
1243 0 : ndr->depth--;
1244 0 : ndr->flags = _flags_save_STRUCT;
1245 : }
1246 : }
1247 :
1248 38704 : _PUBLIC_ size_t ndr_size_LSAP_TOKEN_INFO_INTEGRITY(const struct LSAP_TOKEN_INFO_INTEGRITY *r, int flags)
1249 : {
1250 38704 : flags |= LIBNDR_PRINT_ARRAY_HEX;
1251 38704 : return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_LSAP_TOKEN_INFO_INTEGRITY);
1252 : }
1253 :
1254 1052 : _PUBLIC_ enum ndr_err_code ndr_push_kerb_EncTypes(struct ndr_push *ndr, int ndr_flags, uint32_t r)
1255 : {
1256 1052 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
1257 1052 : return NDR_ERR_SUCCESS;
1258 : }
1259 :
1260 4185 : _PUBLIC_ enum ndr_err_code ndr_pull_kerb_EncTypes(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
1261 : {
1262 : uint32_t v;
1263 4185 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
1264 4185 : *r = v;
1265 4185 : return NDR_ERR_SUCCESS;
1266 : }
1267 :
1268 333 : _PUBLIC_ void ndr_print_kerb_EncTypes(struct ndr_print *ndr, const char *name, uint32_t r)
1269 : {
1270 333 : ndr_print_uint32(ndr, name, r);
1271 333 : ndr->depth++;
1272 333 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "KERB_ENCTYPE_DES_CBC_CRC", KERB_ENCTYPE_DES_CBC_CRC, r);
1273 333 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "KERB_ENCTYPE_DES_CBC_MD5", KERB_ENCTYPE_DES_CBC_MD5, r);
1274 333 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "KERB_ENCTYPE_RC4_HMAC_MD5", KERB_ENCTYPE_RC4_HMAC_MD5, r);
1275 333 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "KERB_ENCTYPE_AES128_CTS_HMAC_SHA1_96", KERB_ENCTYPE_AES128_CTS_HMAC_SHA1_96, r);
1276 333 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "KERB_ENCTYPE_AES256_CTS_HMAC_SHA1_96", KERB_ENCTYPE_AES256_CTS_HMAC_SHA1_96, r);
1277 333 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "KERB_ENCTYPE_AES256_CTS_HMAC_SHA1_96_SK", KERB_ENCTYPE_AES256_CTS_HMAC_SHA1_96_SK, r);
1278 333 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "KERB_ENCTYPE_FAST_SUPPORTED", KERB_ENCTYPE_FAST_SUPPORTED, r);
1279 333 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "KERB_ENCTYPE_COMPOUND_IDENTITY_SUPPORTED", KERB_ENCTYPE_COMPOUND_IDENTITY_SUPPORTED, r);
1280 333 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "KERB_ENCTYPE_CLAIMS_SUPPORTED", KERB_ENCTYPE_CLAIMS_SUPPORTED, r);
1281 333 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "KERB_ENCTYPE_RESOURCE_SID_COMPRESSION_DISABLED", KERB_ENCTYPE_RESOURCE_SID_COMPRESSION_DISABLED, r);
1282 333 : ndr->depth--;
1283 333 : }
1284 :
1285 0 : _PUBLIC_ enum ndr_err_code ndr_push_security_autoinherit(struct ndr_push *ndr, int ndr_flags, uint32_t r)
1286 : {
1287 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
1288 0 : return NDR_ERR_SUCCESS;
1289 : }
1290 :
1291 0 : _PUBLIC_ enum ndr_err_code ndr_pull_security_autoinherit(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
1292 : {
1293 : uint32_t v;
1294 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
1295 0 : *r = v;
1296 0 : return NDR_ERR_SUCCESS;
1297 : }
1298 :
1299 0 : _PUBLIC_ void ndr_print_security_autoinherit(struct ndr_print *ndr, const char *name, uint32_t r)
1300 : {
1301 0 : ndr_print_uint32(ndr, name, r);
1302 0 : ndr->depth++;
1303 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SEC_DACL_AUTO_INHERIT", SEC_DACL_AUTO_INHERIT, r);
1304 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SEC_SACL_AUTO_INHERIT", SEC_SACL_AUTO_INHERIT, r);
1305 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SEC_DEFAULT_DESCRIPTOR", SEC_DEFAULT_DESCRIPTOR, r);
1306 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SEC_OWNER_FROM_PARENT", SEC_OWNER_FROM_PARENT, r);
1307 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SEC_GROUP_FROM_PARENT", SEC_GROUP_FROM_PARENT, r);
1308 0 : ndr->depth--;
1309 0 : }
1310 :
1311 : #ifndef SKIP_NDR_TABLE_security
1312 : static const struct ndr_interface_public_struct security_public_structs[] = {
1313 : {
1314 : .name = "dom_sid",
1315 : .struct_size = sizeof(struct dom_sid ),
1316 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_dom_sid,
1317 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_dom_sid,
1318 : .ndr_print = (ndr_print_function_t) ndr_print_flags_dom_sid,
1319 : },
1320 : {
1321 : .name = "security_ace",
1322 : .struct_size = sizeof(struct security_ace ),
1323 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_security_ace,
1324 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_security_ace,
1325 : .ndr_print = (ndr_print_function_t) ndr_print_flags_security_ace,
1326 : },
1327 : {
1328 : .name = "security_acl",
1329 : .struct_size = sizeof(struct security_acl ),
1330 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_security_acl,
1331 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_security_acl,
1332 : .ndr_print = (ndr_print_function_t) ndr_print_flags_security_acl,
1333 : },
1334 : {
1335 : .name = "security_descriptor",
1336 : .struct_size = sizeof(struct security_descriptor ),
1337 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_security_descriptor,
1338 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_security_descriptor,
1339 : .ndr_print = (ndr_print_function_t) ndr_print_flags_security_descriptor,
1340 : },
1341 : {
1342 : .name = "sec_desc_buf",
1343 : .struct_size = sizeof(struct sec_desc_buf ),
1344 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_sec_desc_buf,
1345 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_sec_desc_buf,
1346 : .ndr_print = (ndr_print_function_t) ndr_print_flags_sec_desc_buf,
1347 : },
1348 : {
1349 : .name = "security_token",
1350 : .struct_size = sizeof(struct security_token ),
1351 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_security_token,
1352 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_security_token,
1353 : .ndr_print = (ndr_print_function_t) ndr_print_flags_security_token,
1354 : },
1355 : {
1356 : .name = "security_unix_token",
1357 : .struct_size = sizeof(struct security_unix_token ),
1358 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_security_unix_token,
1359 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_security_unix_token,
1360 : .ndr_print = (ndr_print_function_t) ndr_print_flags_security_unix_token,
1361 : },
1362 : {
1363 : .name = "LSAP_TOKEN_INFO_INTEGRITY",
1364 : .struct_size = sizeof(struct LSAP_TOKEN_INFO_INTEGRITY ),
1365 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_LSAP_TOKEN_INFO_INTEGRITY,
1366 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_LSAP_TOKEN_INFO_INTEGRITY,
1367 : .ndr_print = (ndr_print_function_t) ndr_print_flags_LSAP_TOKEN_INFO_INTEGRITY,
1368 : },
1369 : { .name = NULL }
1370 : };
1371 :
1372 : static const struct ndr_interface_call security_calls[] = {
1373 : { .name = NULL }
1374 : };
1375 :
1376 : static const char * const security_endpoint_strings[] = {
1377 : "ncacn_np:[\\pipe\\security]",
1378 : };
1379 :
1380 : static const struct ndr_interface_string_array security_endpoints = {
1381 : .count = 1,
1382 : .names = security_endpoint_strings
1383 : };
1384 :
1385 : static const char * const security_authservice_strings[] = {
1386 : "host",
1387 : };
1388 :
1389 : static const struct ndr_interface_string_array security_authservices = {
1390 : .count = 1,
1391 : .names = security_authservice_strings
1392 : };
1393 :
1394 :
1395 : const struct ndr_interface_table ndr_table_security = {
1396 : .name = "security",
1397 : .syntax_id = {
1398 : {0xcbf7d408,0x2d6c,0x11e2,{0xae,0x5b},{0x0b,0x56,0x92,0x79,0x0e,0x18}},
1399 : NDR_SECURITY_VERSION
1400 : },
1401 : .helpstring = NDR_SECURITY_HELPSTRING,
1402 : .num_calls = 0,
1403 : .calls = security_calls,
1404 : .num_public_structs = 8,
1405 : .public_structs = security_public_structs,
1406 : .endpoints = &security_endpoints,
1407 : .authservices = &security_authservices
1408 : };
1409 :
1410 : #endif /* SKIP_NDR_TABLE_security */
|