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 60946 : static enum ndr_err_code ndr_push_se_privilege(struct ndr_push *ndr, int ndr_flags, uint64_t r)
13 : {
14 60946 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r));
15 60946 : return NDR_ERR_SUCCESS;
16 : }
17 :
18 47365 : 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 47365 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &v));
22 47365 : *r = v;
23 47365 : 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 60946 : static enum ndr_err_code ndr_push_lsa_SystemAccessModeFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
59 : {
60 60946 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
61 60946 : return NDR_ERR_SUCCESS;
62 : }
63 :
64 47365 : 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 47365 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
68 47365 : *r = v;
69 47365 : 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 22241440 : _PUBLIC_ enum ndr_err_code ndr_push_security_ace_flags(struct ndr_push *ndr, int ndr_flags, uint8_t r)
93 : {
94 22241440 : NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r));
95 22241440 : return NDR_ERR_SUCCESS;
96 : }
97 :
98 114398726 : _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 114398726 : NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &v));
102 114398726 : *r = v;
103 114398726 : 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 22241440 : _PUBLIC_ enum ndr_err_code ndr_push_security_ace_type(struct ndr_push *ndr, int ndr_flags, enum security_ace_type r)
122 : {
123 22241440 : NDR_CHECK(ndr_push_enum_uint8(ndr, NDR_SCALARS, r));
124 22241440 : return NDR_ERR_SUCCESS;
125 : }
126 :
127 114398726 : _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 114398726 : NDR_CHECK(ndr_pull_enum_uint8(ndr, NDR_SCALARS, &v));
131 114398726 : *r = v;
132 114398726 : 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 10952062 : static enum ndr_err_code ndr_push_security_ace_object_flags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
154 : {
155 10952062 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
156 10952062 : return NDR_ERR_SUCCESS;
157 : }
158 :
159 74302725 : 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 74302725 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
163 74302725 : *r = v;
164 74302725 : 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 21904124 : 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 21904124 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
180 21904124 : if (ndr_flags & NDR_SCALARS) {
181 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
182 10952062 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
183 10952062 : NDR_CHECK(ndr_push_union_align(ndr, 4));
184 10952062 : switch (level) {
185 9731299 : case SEC_ACE_OBJECT_TYPE_PRESENT: {
186 9731299 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->type));
187 9731299 : break; }
188 :
189 1220763 : default: {
190 1220763 : break; }
191 :
192 : }
193 10326908 : }
194 21904124 : return NDR_ERR_SUCCESS;
195 : }
196 :
197 148605450 : 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 148605450 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
201 148605450 : if (ndr_flags & NDR_SCALARS) {
202 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
203 74302725 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
204 74302725 : NDR_CHECK(ndr_pull_union_align(ndr, 4));
205 74302725 : switch (level) {
206 67467890 : case SEC_ACE_OBJECT_TYPE_PRESENT: {
207 67467890 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->type));
208 67467890 : break; }
209 :
210 6834835 : default: {
211 6834835 : break; }
212 :
213 : }
214 68173266 : }
215 148605450 : 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 21904124 : 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 21904124 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
238 21904124 : if (ndr_flags & NDR_SCALARS) {
239 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
240 10952062 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
241 10952062 : NDR_CHECK(ndr_push_union_align(ndr, 4));
242 10952062 : switch (level) {
243 7479275 : case SEC_ACE_INHERITED_OBJECT_TYPE_PRESENT: {
244 7479275 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->inherited_type));
245 7479275 : break; }
246 :
247 3472787 : default: {
248 3472787 : break; }
249 :
250 : }
251 10326908 : }
252 21904124 : return NDR_ERR_SUCCESS;
253 : }
254 :
255 148605450 : 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 148605450 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
259 148605450 : if (ndr_flags & NDR_SCALARS) {
260 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
261 74302725 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
262 74302725 : NDR_CHECK(ndr_pull_union_align(ndr, 4));
263 74302725 : switch (level) {
264 41843690 : case SEC_ACE_INHERITED_OBJECT_TYPE_PRESENT: {
265 41843690 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->inherited_type));
266 41843690 : break; }
267 :
268 32459035 : default: {
269 32459035 : break; }
270 :
271 : }
272 68173266 : }
273 148605450 : 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 21904124 : 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 21904124 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
295 21904124 : if (ndr_flags & NDR_SCALARS) {
296 10952062 : NDR_CHECK(ndr_push_align(ndr, 4));
297 10952062 : NDR_CHECK(ndr_push_security_ace_object_flags(ndr, NDR_SCALARS, r->flags));
298 10952062 : NDR_CHECK(ndr_push_set_switch_value(ndr, &r->type, r->flags & SEC_ACE_OBJECT_TYPE_PRESENT));
299 10952062 : NDR_CHECK(ndr_push_security_ace_object_type(ndr, NDR_SCALARS, &r->type));
300 10952062 : NDR_CHECK(ndr_push_set_switch_value(ndr, &r->inherited_type, r->flags & SEC_ACE_INHERITED_OBJECT_TYPE_PRESENT));
301 10952062 : NDR_CHECK(ndr_push_security_ace_object_inherited_type(ndr, NDR_SCALARS, &r->inherited_type));
302 10952062 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
303 : }
304 21904124 : if (ndr_flags & NDR_BUFFERS) {
305 10952062 : NDR_CHECK(ndr_push_set_switch_value(ndr, &r->type, r->flags & SEC_ACE_OBJECT_TYPE_PRESENT));
306 10952062 : NDR_CHECK(ndr_push_security_ace_object_type(ndr, NDR_BUFFERS, &r->type));
307 10952062 : NDR_CHECK(ndr_push_set_switch_value(ndr, &r->inherited_type, r->flags & SEC_ACE_INHERITED_OBJECT_TYPE_PRESENT));
308 10952062 : NDR_CHECK(ndr_push_security_ace_object_inherited_type(ndr, NDR_BUFFERS, &r->inherited_type));
309 : }
310 21904124 : return NDR_ERR_SUCCESS;
311 : }
312 :
313 148605450 : static enum ndr_err_code ndr_pull_security_ace_object(struct ndr_pull *ndr, int ndr_flags, struct security_ace_object *r)
314 : {
315 148605450 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
316 148605450 : if (ndr_flags & NDR_SCALARS) {
317 74302725 : NDR_CHECK(ndr_pull_align(ndr, 4));
318 74302725 : NDR_CHECK(ndr_pull_security_ace_object_flags(ndr, NDR_SCALARS, &r->flags));
319 74302725 : NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->type, r->flags & SEC_ACE_OBJECT_TYPE_PRESENT));
320 74302725 : NDR_CHECK(ndr_pull_security_ace_object_type(ndr, NDR_SCALARS, &r->type));
321 74302725 : NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->inherited_type, r->flags & SEC_ACE_INHERITED_OBJECT_TYPE_PRESENT));
322 74302725 : NDR_CHECK(ndr_pull_security_ace_object_inherited_type(ndr, NDR_SCALARS, &r->inherited_type));
323 74302725 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
324 : }
325 148605450 : if (ndr_flags & NDR_BUFFERS) {
326 74302725 : NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->type, r->flags & SEC_ACE_OBJECT_TYPE_PRESENT));
327 74302725 : NDR_CHECK(ndr_pull_security_ace_object_type(ndr, NDR_BUFFERS, &r->type));
328 74302725 : NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->inherited_type, r->flags & SEC_ACE_INHERITED_OBJECT_TYPE_PRESENT));
329 74302725 : NDR_CHECK(ndr_pull_security_ace_object_inherited_type(ndr, NDR_BUFFERS, &r->inherited_type));
330 : }
331 148605450 : 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 44482880 : _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 44482880 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
351 44482880 : if (ndr_flags & NDR_SCALARS) {
352 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
353 22241440 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
354 22241440 : NDR_CHECK(ndr_push_union_align(ndr, 4));
355 22241440 : switch (level) {
356 9963060 : case SEC_ACE_TYPE_ACCESS_ALLOWED_OBJECT: {
357 9963060 : NDR_CHECK(ndr_push_security_ace_object(ndr, NDR_SCALARS, &r->object));
358 9963060 : break; }
359 :
360 10439 : case SEC_ACE_TYPE_ACCESS_DENIED_OBJECT: {
361 10439 : NDR_CHECK(ndr_push_security_ace_object(ndr, NDR_SCALARS, &r->object));
362 10439 : break; }
363 :
364 978563 : case SEC_ACE_TYPE_SYSTEM_AUDIT_OBJECT: {
365 978563 : NDR_CHECK(ndr_push_security_ace_object(ndr, NDR_SCALARS, &r->object));
366 978563 : 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 11289378 : default: {
373 11289378 : break; }
374 :
375 : }
376 20123447 : }
377 44482880 : if (ndr_flags & NDR_BUFFERS) {
378 22241440 : if (!(ndr_flags & NDR_SCALARS)) {
379 : /* We didn't get it above, and the token is not needed after this. */
380 22241440 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
381 : }
382 22241440 : switch (level) {
383 9963060 : case SEC_ACE_TYPE_ACCESS_ALLOWED_OBJECT:
384 9963060 : NDR_CHECK(ndr_push_security_ace_object(ndr, NDR_BUFFERS, &r->object));
385 9963060 : break;
386 :
387 10439 : case SEC_ACE_TYPE_ACCESS_DENIED_OBJECT:
388 10439 : NDR_CHECK(ndr_push_security_ace_object(ndr, NDR_BUFFERS, &r->object));
389 10439 : break;
390 :
391 978563 : case SEC_ACE_TYPE_SYSTEM_AUDIT_OBJECT:
392 978563 : NDR_CHECK(ndr_push_security_ace_object(ndr, NDR_BUFFERS, &r->object));
393 978563 : 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 11289378 : default:
400 11289378 : break;
401 :
402 : }
403 20123447 : }
404 44482880 : return NDR_ERR_SUCCESS;
405 : }
406 :
407 228797452 : _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 228797452 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
411 228797452 : if (ndr_flags & NDR_SCALARS) {
412 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
413 114398726 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
414 114398726 : NDR_CHECK(ndr_pull_union_align(ndr, 4));
415 114398726 : switch (level) {
416 67532042 : case SEC_ACE_TYPE_ACCESS_ALLOWED_OBJECT: {
417 67532042 : NDR_CHECK(ndr_pull_security_ace_object(ndr, NDR_SCALARS, &r->object));
418 67532042 : break; }
419 :
420 51953 : case SEC_ACE_TYPE_ACCESS_DENIED_OBJECT: {
421 51953 : NDR_CHECK(ndr_pull_security_ace_object(ndr, NDR_SCALARS, &r->object));
422 51953 : break; }
423 :
424 6718730 : case SEC_ACE_TYPE_SYSTEM_AUDIT_OBJECT: {
425 6718730 : NDR_CHECK(ndr_pull_security_ace_object(ndr, NDR_SCALARS, &r->object));
426 6718730 : 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 40096001 : default: {
433 40096001 : break; }
434 :
435 : }
436 102728794 : }
437 228797452 : if (ndr_flags & NDR_BUFFERS) {
438 114398726 : if (!(ndr_flags & NDR_SCALARS)) {
439 : /* We didn't get it above, and the token is not needed after this. */
440 114398726 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
441 : }
442 114398726 : switch (level) {
443 67532042 : case SEC_ACE_TYPE_ACCESS_ALLOWED_OBJECT:
444 67532042 : NDR_CHECK(ndr_pull_security_ace_object(ndr, NDR_BUFFERS, &r->object));
445 67532042 : break;
446 :
447 51953 : case SEC_ACE_TYPE_ACCESS_DENIED_OBJECT:
448 51953 : NDR_CHECK(ndr_pull_security_ace_object(ndr, NDR_BUFFERS, &r->object));
449 51953 : break;
450 :
451 6718730 : case SEC_ACE_TYPE_SYSTEM_AUDIT_OBJECT:
452 6718730 : NDR_CHECK(ndr_pull_security_ace_object(ndr, NDR_BUFFERS, &r->object));
453 6718730 : 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 40096001 : default:
460 40096001 : break;
461 :
462 : }
463 102728794 : }
464 228797452 : 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 44482880 : _PUBLIC_ enum ndr_err_code ndr_push_security_ace(struct ndr_push *ndr, int ndr_flags, const struct security_ace *r)
496 : {
497 44482880 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
498 44482880 : if (ndr_flags & NDR_SCALARS) {
499 22241440 : NDR_CHECK(ndr_push_align(ndr, 4));
500 22241440 : NDR_CHECK(ndr_push_security_ace_type(ndr, NDR_SCALARS, r->type));
501 22241440 : NDR_CHECK(ndr_push_security_ace_flags(ndr, NDR_SCALARS, r->flags));
502 22241440 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, ndr_size_security_ace(r, ndr->flags)));
503 22241440 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->access_mask));
504 22241440 : NDR_CHECK(ndr_push_set_switch_value(ndr, &r->object, r->type));
505 22241440 : NDR_CHECK(ndr_push_security_ace_object_ctr(ndr, NDR_SCALARS, &r->object));
506 22241440 : NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, &r->trustee));
507 22241440 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
508 : }
509 44482880 : if (ndr_flags & NDR_BUFFERS) {
510 22241440 : NDR_CHECK(ndr_push_set_switch_value(ndr, &r->object, r->type));
511 22241440 : NDR_CHECK(ndr_push_security_ace_object_ctr(ndr, NDR_BUFFERS, &r->object));
512 : }
513 44482880 : 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 3214418 : static enum ndr_err_code ndr_push_security_acl_revision(struct ndr_push *ndr, int ndr_flags, enum security_acl_revision r)
537 : {
538 3214418 : NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
539 3214418 : return NDR_ERR_SUCCESS;
540 : }
541 :
542 10449426 : 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 10449426 : NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
546 10449426 : *r = v;
547 10449426 : 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 3214418 : _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 3214418 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
565 3214418 : if (ndr_flags & NDR_SCALARS) {
566 3214418 : NDR_CHECK(ndr_push_align(ndr, 4));
567 3214418 : NDR_CHECK(ndr_push_security_acl_revision(ndr, NDR_SCALARS, r->revision));
568 3214418 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, ndr_size_security_acl(r, ndr->flags)));
569 3214418 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_aces));
570 25455858 : for (cntr_aces_0 = 0; cntr_aces_0 < (r->num_aces); cntr_aces_0++) {
571 22241440 : NDR_CHECK(ndr_push_security_ace(ndr, NDR_SCALARS, &r->aces[cntr_aces_0]));
572 : }
573 3214418 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
574 : }
575 3214418 : if (ndr_flags & NDR_BUFFERS) {
576 25455858 : for (cntr_aces_0 = 0; cntr_aces_0 < (r->num_aces); cntr_aces_0++) {
577 22241440 : NDR_CHECK(ndr_push_security_ace(ndr, NDR_BUFFERS, &r->aces[cntr_aces_0]));
578 : }
579 : }
580 3214418 : return NDR_ERR_SUCCESS;
581 : }
582 :
583 10449426 : _PUBLIC_ enum ndr_err_code ndr_pull_security_acl(struct ndr_pull *ndr, int ndr_flags, struct security_acl *r)
584 : {
585 10449426 : uint32_t size_aces_0 = 0;
586 : uint32_t cntr_aces_0;
587 10449426 : TALLOC_CTX *_mem_save_aces_0 = NULL;
588 10449426 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
589 10449426 : if (ndr_flags & NDR_SCALARS) {
590 10449426 : NDR_CHECK(ndr_pull_align(ndr, 4));
591 10449426 : NDR_CHECK(ndr_pull_security_acl_revision(ndr, NDR_SCALARS, &r->revision));
592 10449426 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
593 10449426 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_aces));
594 10449426 : if (r->num_aces > 2000) {
595 0 : return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
596 : }
597 10449426 : size_aces_0 = r->num_aces;
598 10449426 : NDR_PULL_ALLOC_N(ndr, r->aces, size_aces_0);
599 10449426 : _mem_save_aces_0 = NDR_PULL_GET_MEM_CTX(ndr);
600 10449426 : NDR_PULL_SET_MEM_CTX(ndr, r->aces, 0);
601 124848152 : for (cntr_aces_0 = 0; cntr_aces_0 < (size_aces_0); cntr_aces_0++) {
602 114398726 : NDR_CHECK(ndr_pull_security_ace(ndr, NDR_SCALARS, &r->aces[cntr_aces_0]));
603 : }
604 10449426 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_aces_0, 0);
605 10449426 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
606 : }
607 10449426 : if (ndr_flags & NDR_BUFFERS) {
608 10449426 : size_aces_0 = r->num_aces;
609 10449426 : _mem_save_aces_0 = NDR_PULL_GET_MEM_CTX(ndr);
610 10449426 : NDR_PULL_SET_MEM_CTX(ndr, r->aces, 0);
611 124848152 : for (cntr_aces_0 = 0; cntr_aces_0 < (size_aces_0); cntr_aces_0++) {
612 114398726 : NDR_CHECK(ndr_pull_security_ace(ndr, NDR_BUFFERS, &r->aces[cntr_aces_0]));
613 : }
614 10449426 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_aces_0, 0);
615 22119358 : for (cntr_aces_0 = 0; cntr_aces_0 < (size_aces_0); cntr_aces_0++) {
616 : }
617 : }
618 10449426 : 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 1964129 : _PUBLIC_ enum ndr_err_code ndr_push_security_descriptor_revision(struct ndr_push *ndr, int ndr_flags, enum security_descriptor_revision r)
645 : {
646 1964129 : NDR_CHECK(ndr_push_enum_uint8(ndr, NDR_SCALARS, r));
647 1964129 : return NDR_ERR_SUCCESS;
648 : }
649 :
650 6018968 : _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 6018968 : NDR_CHECK(ndr_pull_enum_uint8(ndr, NDR_SCALARS, &v));
654 6018968 : *r = v;
655 6018968 : 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 1964129 : _PUBLIC_ enum ndr_err_code ndr_push_security_descriptor_type(struct ndr_push *ndr, int ndr_flags, uint16_t r)
669 : {
670 1964129 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
671 1964129 : return NDR_ERR_SUCCESS;
672 : }
673 :
674 6018968 : _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 6018968 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
678 6018968 : *r = v;
679 6018968 : 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 1964129 : _PUBLIC_ enum ndr_err_code ndr_push_security_descriptor(struct ndr_push *ndr, int ndr_flags, const struct security_descriptor *r)
706 : {
707 : {
708 1964129 : uint32_t _flags_save_STRUCT = ndr->flags;
709 1964129 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_LITTLE_ENDIAN);
710 1964129 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
711 1964129 : if (ndr_flags & NDR_SCALARS) {
712 1964129 : NDR_CHECK(ndr_push_align(ndr, 5));
713 1964129 : NDR_CHECK(ndr_push_security_descriptor_revision(ndr, NDR_SCALARS, r->revision));
714 1964129 : NDR_CHECK(ndr_push_security_descriptor_type(ndr, NDR_SCALARS, r->type));
715 1964129 : NDR_CHECK(ndr_push_relative_ptr1(ndr, r->owner_sid));
716 1964129 : NDR_CHECK(ndr_push_relative_ptr1(ndr, r->group_sid));
717 1964129 : NDR_CHECK(ndr_push_relative_ptr1(ndr, r->sacl));
718 1964129 : NDR_CHECK(ndr_push_relative_ptr1(ndr, r->dacl));
719 1964129 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
720 : }
721 1964129 : if (ndr_flags & NDR_BUFFERS) {
722 1964129 : if (r->owner_sid) {
723 1938369 : NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->owner_sid));
724 1938369 : NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, r->owner_sid));
725 1938369 : NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->owner_sid));
726 : }
727 1964129 : if (r->group_sid) {
728 1937714 : NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->group_sid));
729 1937714 : NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, r->group_sid));
730 1937714 : NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->group_sid));
731 : }
732 1964129 : if (r->sacl) {
733 1253999 : NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->sacl));
734 1253999 : NDR_CHECK(ndr_push_security_acl(ndr, NDR_SCALARS|NDR_BUFFERS, r->sacl));
735 1253999 : NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->sacl));
736 : }
737 1964129 : if (r->dacl) {
738 1956863 : NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->dacl));
739 1956863 : NDR_CHECK(ndr_push_security_acl(ndr, NDR_SCALARS|NDR_BUFFERS, r->dacl));
740 1956863 : NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->dacl));
741 : }
742 : }
743 1964129 : ndr->flags = _flags_save_STRUCT;
744 : }
745 1964129 : return NDR_ERR_SUCCESS;
746 : }
747 :
748 6018968 : _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 6018968 : TALLOC_CTX *_mem_save_owner_sid_0 = NULL;
752 : uint32_t _ptr_group_sid;
753 6018968 : TALLOC_CTX *_mem_save_group_sid_0 = NULL;
754 : uint32_t _ptr_sacl;
755 6018968 : TALLOC_CTX *_mem_save_sacl_0 = NULL;
756 : uint32_t _ptr_dacl;
757 6018968 : TALLOC_CTX *_mem_save_dacl_0 = NULL;
758 : {
759 6018968 : uint32_t _flags_save_STRUCT = ndr->flags;
760 6018968 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_LITTLE_ENDIAN);
761 6018968 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
762 6018968 : if (ndr_flags & NDR_SCALARS) {
763 6018968 : NDR_CHECK(ndr_pull_align(ndr, 5));
764 6018968 : NDR_CHECK(ndr_pull_security_descriptor_revision(ndr, NDR_SCALARS, &r->revision));
765 6018968 : NDR_CHECK(ndr_pull_security_descriptor_type(ndr, NDR_SCALARS, &r->type));
766 6018968 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_owner_sid));
767 6018968 : if (_ptr_owner_sid) {
768 5992965 : NDR_PULL_ALLOC(ndr, r->owner_sid);
769 5992965 : NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->owner_sid, _ptr_owner_sid));
770 : } else {
771 26003 : r->owner_sid = NULL;
772 : }
773 6018735 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_group_sid));
774 6018735 : if (_ptr_group_sid) {
775 5992081 : NDR_PULL_ALLOC(ndr, r->group_sid);
776 5992081 : NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->group_sid, _ptr_group_sid));
777 : } else {
778 26654 : r->group_sid = NULL;
779 : }
780 6018735 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sacl));
781 6018735 : if (_ptr_sacl) {
782 4434397 : NDR_PULL_ALLOC(ndr, r->sacl);
783 4434397 : NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->sacl, _ptr_sacl));
784 : } else {
785 1584338 : r->sacl = NULL;
786 : }
787 6018735 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dacl));
788 6018735 : if (_ptr_dacl) {
789 6011473 : NDR_PULL_ALLOC(ndr, r->dacl);
790 6011473 : NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->dacl, _ptr_dacl));
791 : } else {
792 7262 : r->dacl = NULL;
793 : }
794 6018735 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
795 : }
796 6018735 : if (ndr_flags & NDR_BUFFERS) {
797 6018735 : if (r->owner_sid) {
798 : uint32_t _relative_save_offset;
799 5992732 : _relative_save_offset = ndr->offset;
800 5992732 : NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->owner_sid));
801 5992732 : _mem_save_owner_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
802 5992732 : NDR_PULL_SET_MEM_CTX(ndr, r->owner_sid, 0);
803 5992732 : NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, r->owner_sid));
804 5992732 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_owner_sid_0, 0);
805 5992732 : if (ndr->offset > ndr->relative_highest_offset) {
806 5992732 : ndr->relative_highest_offset = ndr->offset;
807 : }
808 5992732 : ndr->offset = _relative_save_offset;
809 : }
810 6018735 : if (r->group_sid) {
811 : uint32_t _relative_save_offset;
812 5992081 : _relative_save_offset = ndr->offset;
813 5992081 : NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->group_sid));
814 5992081 : _mem_save_group_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
815 5992081 : NDR_PULL_SET_MEM_CTX(ndr, r->group_sid, 0);
816 5992081 : NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, r->group_sid));
817 5992081 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_sid_0, 0);
818 5992081 : if (ndr->offset > ndr->relative_highest_offset) {
819 5992081 : ndr->relative_highest_offset = ndr->offset;
820 : }
821 5992081 : ndr->offset = _relative_save_offset;
822 : }
823 6018735 : if (r->sacl) {
824 : uint32_t _relative_save_offset;
825 4434397 : _relative_save_offset = ndr->offset;
826 4434397 : NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->sacl));
827 4434397 : _mem_save_sacl_0 = NDR_PULL_GET_MEM_CTX(ndr);
828 4434397 : NDR_PULL_SET_MEM_CTX(ndr, r->sacl, 0);
829 4434397 : NDR_CHECK(ndr_pull_security_acl(ndr, NDR_SCALARS|NDR_BUFFERS, r->sacl));
830 4434397 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sacl_0, 0);
831 4434397 : if (ndr->offset > ndr->relative_highest_offset) {
832 4434397 : ndr->relative_highest_offset = ndr->offset;
833 : }
834 4434397 : ndr->offset = _relative_save_offset;
835 : }
836 6018735 : if (r->dacl) {
837 : uint32_t _relative_save_offset;
838 6011473 : _relative_save_offset = ndr->offset;
839 6011473 : NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->dacl));
840 6011473 : _mem_save_dacl_0 = NDR_PULL_GET_MEM_CTX(ndr);
841 6011473 : NDR_PULL_SET_MEM_CTX(ndr, r->dacl, 0);
842 6011473 : NDR_CHECK(ndr_pull_security_acl(ndr, NDR_SCALARS|NDR_BUFFERS, r->dacl));
843 6011473 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dacl_0, 0);
844 6011473 : if (ndr->offset > ndr->relative_highest_offset) {
845 6011473 : ndr->relative_highest_offset = ndr->offset;
846 : }
847 6011473 : ndr->offset = _relative_save_offset;
848 : }
849 : }
850 6018735 : ndr->flags = _flags_save_STRUCT;
851 : }
852 6018735 : 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 374955 : _PUBLIC_ enum ndr_err_code ndr_push_security_GroupAttrs(struct ndr_push *ndr, int ndr_flags, uint32_t r)
977 : {
978 374955 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
979 374955 : return NDR_ERR_SUCCESS;
980 : }
981 :
982 444891 : _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 444891 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
986 444891 : *r = v;
987 444891 : return NDR_ERR_SUCCESS;
988 : }
989 :
990 11716 : _PUBLIC_ void ndr_print_security_GroupAttrs(struct ndr_print *ndr, const char *name, uint32_t r)
991 : {
992 11716 : ndr_print_uint32(ndr, name, r);
993 11716 : ndr->depth++;
994 11716 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_MANDATORY", SE_GROUP_MANDATORY, r);
995 11716 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_ENABLED_BY_DEFAULT", SE_GROUP_ENABLED_BY_DEFAULT, r);
996 11716 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_ENABLED", SE_GROUP_ENABLED, r);
997 11716 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_OWNER", SE_GROUP_OWNER, r);
998 11716 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_USE_FOR_DENY_ONLY", SE_GROUP_USE_FOR_DENY_ONLY, r);
999 11716 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_INTEGRITY", SE_GROUP_INTEGRITY, r);
1000 11716 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_INTEGRITY_ENABLED", SE_GROUP_INTEGRITY_ENABLED, r);
1001 11716 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_RESOURCE", SE_GROUP_RESOURCE, r);
1002 11716 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_LOGON_ID", SE_GROUP_LOGON_ID, r);
1003 11716 : ndr->depth--;
1004 11716 : }
1005 :
1006 60946 : _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 60946 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1010 60946 : if (ndr_flags & NDR_SCALARS) {
1011 60946 : NDR_CHECK(ndr_push_align(ndr, 8));
1012 60946 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sids));
1013 60946 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_sids));
1014 767455 : for (cntr_sids_0 = 0; cntr_sids_0 < (r->num_sids); cntr_sids_0++) {
1015 706509 : NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, &r->sids[cntr_sids_0]));
1016 : }
1017 60946 : NDR_CHECK(ndr_push_se_privilege(ndr, NDR_SCALARS, r->privilege_mask));
1018 60946 : NDR_CHECK(ndr_push_lsa_SystemAccessModeFlags(ndr, NDR_SCALARS, r->rights_mask));
1019 60946 : NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1020 : }
1021 60946 : if (ndr_flags & NDR_BUFFERS) {
1022 : }
1023 60946 : return NDR_ERR_SUCCESS;
1024 : }
1025 :
1026 47365 : _PUBLIC_ enum ndr_err_code ndr_pull_security_token(struct ndr_pull *ndr, int ndr_flags, struct security_token *r)
1027 : {
1028 47365 : uint32_t size_sids_0 = 0;
1029 : uint32_t cntr_sids_0;
1030 47365 : TALLOC_CTX *_mem_save_sids_0 = NULL;
1031 47365 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1032 47365 : if (ndr_flags & NDR_SCALARS) {
1033 47365 : NDR_CHECK(ndr_pull_align(ndr, 8));
1034 47365 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_sids));
1035 47365 : NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
1036 47365 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->sids, &size_sids_0));
1037 47365 : NDR_PULL_ALLOC_N(ndr, r->sids, size_sids_0);
1038 47365 : _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1039 47365 : NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
1040 553546 : for (cntr_sids_0 = 0; cntr_sids_0 < (size_sids_0); cntr_sids_0++) {
1041 506181 : NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, &r->sids[cntr_sids_0]));
1042 : }
1043 47365 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
1044 47365 : NDR_CHECK(ndr_pull_se_privilege(ndr, NDR_SCALARS, &r->privilege_mask));
1045 47365 : NDR_CHECK(ndr_pull_lsa_SystemAccessModeFlags(ndr, NDR_SCALARS, &r->rights_mask));
1046 47365 : if (r->sids) {
1047 47365 : NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->sids, r->num_sids));
1048 : }
1049 47365 : NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1050 : }
1051 47365 : if (ndr_flags & NDR_BUFFERS) {
1052 : }
1053 47365 : 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 40380 : _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 40380 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1083 40380 : if (ndr_flags & NDR_SCALARS) {
1084 40380 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->ngroups));
1085 40380 : NDR_CHECK(ndr_push_align(ndr, 8));
1086 40380 : NDR_CHECK(ndr_push_uid_t(ndr, NDR_SCALARS, r->uid));
1087 40380 : NDR_CHECK(ndr_push_gid_t(ndr, NDR_SCALARS, r->gid));
1088 40380 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ngroups));
1089 443262 : for (cntr_groups_0 = 0; cntr_groups_0 < (r->ngroups); cntr_groups_0++) {
1090 402882 : NDR_CHECK(ndr_push_gid_t(ndr, NDR_SCALARS, r->groups[cntr_groups_0]));
1091 : }
1092 40380 : NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1093 : }
1094 40380 : if (ndr_flags & NDR_BUFFERS) {
1095 : }
1096 40380 : return NDR_ERR_SUCCESS;
1097 : }
1098 :
1099 26922 : _PUBLIC_ enum ndr_err_code ndr_pull_security_unix_token(struct ndr_pull *ndr, int ndr_flags, struct security_unix_token *r)
1100 : {
1101 26922 : uint32_t size_groups_0 = 0;
1102 : uint32_t cntr_groups_0;
1103 26922 : TALLOC_CTX *_mem_save_groups_0 = NULL;
1104 26922 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1105 26922 : if (ndr_flags & NDR_SCALARS) {
1106 26922 : NDR_CHECK(ndr_pull_array_size(ndr, &r->groups));
1107 26922 : NDR_CHECK(ndr_pull_align(ndr, 8));
1108 26922 : NDR_CHECK(ndr_pull_uid_t(ndr, NDR_SCALARS, &r->uid));
1109 26922 : NDR_CHECK(ndr_pull_gid_t(ndr, NDR_SCALARS, &r->gid));
1110 26922 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ngroups));
1111 26922 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->groups, &size_groups_0));
1112 26922 : NDR_PULL_ALLOC_N(ndr, r->groups, size_groups_0);
1113 26922 : _mem_save_groups_0 = NDR_PULL_GET_MEM_CTX(ndr);
1114 26922 : NDR_PULL_SET_MEM_CTX(ndr, r->groups, 0);
1115 276067 : for (cntr_groups_0 = 0; cntr_groups_0 < (size_groups_0); cntr_groups_0++) {
1116 249145 : NDR_CHECK(ndr_pull_gid_t(ndr, NDR_SCALARS, &r->groups[cntr_groups_0]));
1117 : }
1118 26922 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_groups_0, 0);
1119 26922 : if (r->groups) {
1120 26922 : NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->groups, r->ngroups));
1121 : }
1122 26922 : NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1123 : }
1124 26922 : if (ndr_flags & NDR_BUFFERS) {
1125 : }
1126 26922 : 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 77464 : _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 77464 : uint32_t _flags_save_STRUCT = ndr->flags;
1189 77464 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1190 77464 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1191 77464 : if (ndr_flags & NDR_SCALARS) {
1192 77464 : NDR_CHECK(ndr_push_align(ndr, 4));
1193 77464 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->Flags));
1194 77464 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->TokenIL));
1195 77464 : NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->MachineId, 32));
1196 77464 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1197 : }
1198 77464 : if (ndr_flags & NDR_BUFFERS) {
1199 : }
1200 77464 : ndr->flags = _flags_save_STRUCT;
1201 : }
1202 77464 : return NDR_ERR_SUCCESS;
1203 : }
1204 :
1205 9871 : _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 9871 : uint32_t size_MachineId_0 = 0;
1208 : {
1209 9871 : uint32_t _flags_save_STRUCT = ndr->flags;
1210 9871 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1211 9871 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1212 9871 : if (ndr_flags & NDR_SCALARS) {
1213 9871 : NDR_CHECK(ndr_pull_align(ndr, 4));
1214 9871 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->Flags));
1215 9871 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->TokenIL));
1216 9871 : size_MachineId_0 = 32;
1217 9871 : NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->MachineId, size_MachineId_0));
1218 9871 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1219 : }
1220 9871 : if (ndr_flags & NDR_BUFFERS) {
1221 : }
1222 9871 : ndr->flags = _flags_save_STRUCT;
1223 : }
1224 9871 : 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 38732 : _PUBLIC_ size_t ndr_size_LSAP_TOKEN_INFO_INTEGRITY(const struct LSAP_TOKEN_INFO_INTEGRITY *r, int flags)
1249 : {
1250 38732 : flags |= LIBNDR_PRINT_ARRAY_HEX;
1251 38732 : return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_LSAP_TOKEN_INFO_INTEGRITY);
1252 : }
1253 :
1254 1051 : _PUBLIC_ enum ndr_err_code ndr_push_kerb_EncTypes(struct ndr_push *ndr, int ndr_flags, uint32_t r)
1255 : {
1256 1051 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
1257 1051 : return NDR_ERR_SUCCESS;
1258 : }
1259 :
1260 4186 : _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 4186 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
1264 4186 : *r = v;
1265 4186 : 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 */
|