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 241727 : static enum ndr_err_code ndr_push_se_privilege(struct ndr_push *ndr, int ndr_flags, uint64_t r)
13 : {
14 246120 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r));
15 241727 : return NDR_ERR_SUCCESS;
16 : }
17 :
18 149551 : 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 152170 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &v));
22 152170 : *r = v;
23 149551 : 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 241727 : static enum ndr_err_code ndr_push_lsa_SystemAccessModeFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
59 : {
60 246120 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
61 241727 : return NDR_ERR_SUCCESS;
62 : }
63 :
64 149551 : 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 152170 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
68 152170 : *r = v;
69 149551 : 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 26740440 : _PUBLIC_ enum ndr_err_code ndr_push_security_ace_flags(struct ndr_push *ndr, int ndr_flags, uint8_t r)
93 : {
94 26740440 : NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r));
95 26740440 : return NDR_ERR_SUCCESS;
96 : }
97 :
98 89815928 : _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 89815928 : NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &v));
102 89815928 : *r = v;
103 89815928 : return NDR_ERR_SUCCESS;
104 : }
105 :
106 4406 : _PUBLIC_ void ndr_print_security_ace_flags(struct ndr_print *ndr, const char *name, uint8_t r)
107 : {
108 4406 : ndr_print_uint8(ndr, name, r);
109 4406 : ndr->depth++;
110 4406 : ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "SEC_ACE_FLAG_OBJECT_INHERIT", SEC_ACE_FLAG_OBJECT_INHERIT, r);
111 4406 : ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "SEC_ACE_FLAG_CONTAINER_INHERIT", SEC_ACE_FLAG_CONTAINER_INHERIT, r);
112 4406 : ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "SEC_ACE_FLAG_NO_PROPAGATE_INHERIT", SEC_ACE_FLAG_NO_PROPAGATE_INHERIT, r);
113 4406 : ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "SEC_ACE_FLAG_INHERIT_ONLY", SEC_ACE_FLAG_INHERIT_ONLY, r);
114 4406 : ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "SEC_ACE_FLAG_INHERITED_ACE", SEC_ACE_FLAG_INHERITED_ACE, r);
115 4406 : ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "SEC_ACE_FLAG_VALID_INHERIT", SEC_ACE_FLAG_VALID_INHERIT, r);
116 4406 : ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "SEC_ACE_FLAG_SUCCESSFUL_ACCESS", SEC_ACE_FLAG_SUCCESSFUL_ACCESS, r);
117 4406 : ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "SEC_ACE_FLAG_FAILED_ACCESS", SEC_ACE_FLAG_FAILED_ACCESS, r);
118 4406 : ndr->depth--;
119 4406 : }
120 :
121 26740440 : _PUBLIC_ enum ndr_err_code ndr_push_security_ace_type(struct ndr_push *ndr, int ndr_flags, enum security_ace_type r)
122 : {
123 26740440 : NDR_CHECK(ndr_push_enum_uint8(ndr, NDR_SCALARS, r));
124 26740440 : return NDR_ERR_SUCCESS;
125 : }
126 :
127 89815928 : _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 89815928 : NDR_CHECK(ndr_pull_enum_uint8(ndr, NDR_SCALARS, &v));
131 89815928 : *r = v;
132 89815928 : return NDR_ERR_SUCCESS;
133 : }
134 :
135 4406 : _PUBLIC_ void ndr_print_security_ace_type(struct ndr_print *ndr, const char *name, enum security_ace_type r)
136 : {
137 4406 : const char *val = NULL;
138 :
139 4406 : switch (r) {
140 4406 : 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 4406 : ndr_print_enum(ndr, name, "ENUM", val, r);
151 4406 : }
152 :
153 12491412 : static enum ndr_err_code ndr_push_security_ace_object_flags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
154 : {
155 12751353 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
156 12491412 : return NDR_ERR_SUCCESS;
157 : }
158 :
159 49731066 : 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 51529554 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
163 51529554 : *r = v;
164 49731066 : 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 25502706 : 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 25502706 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
180 25502706 : if (ndr_flags & NDR_SCALARS) {
181 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
182 12751353 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
183 12751353 : NDR_CHECK(ndr_push_union_align(ndr, 4));
184 12751353 : switch (level) {
185 11275518 : case SEC_ACE_OBJECT_TYPE_PRESENT: {
186 11275518 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->type));
187 11051379 : break; }
188 :
189 1440033 : default: {
190 1440033 : break; }
191 :
192 : }
193 11690375 : }
194 24982824 : return NDR_ERR_SUCCESS;
195 : }
196 :
197 103059108 : 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 103059108 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
201 103059108 : if (ndr_flags & NDR_SCALARS) {
202 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
203 51529554 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
204 51529554 : NDR_CHECK(ndr_pull_union_align(ndr, 4));
205 51529554 : switch (level) {
206 47029164 : case SEC_ACE_OBJECT_TYPE_PRESENT: {
207 47029164 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->type));
208 45310962 : break; }
209 :
210 4420104 : default: {
211 4420104 : break; }
212 :
213 : }
214 44103045 : }
215 99462132 : 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 25502706 : 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 25502706 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
238 25502706 : if (ndr_flags & NDR_SCALARS) {
239 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
240 12751353 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
241 12751353 : NDR_CHECK(ndr_push_union_align(ndr, 4));
242 12751353 : switch (level) {
243 8987730 : case SEC_ACE_INHERITED_OBJECT_TYPE_PRESENT: {
244 8987730 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->inherited_type));
245 8772086 : break; }
246 :
247 3719326 : default: {
248 3719326 : break; }
249 :
250 : }
251 11690375 : }
252 24982824 : return NDR_ERR_SUCCESS;
253 : }
254 :
255 103059108 : 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 103059108 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
259 103059108 : if (ndr_flags & NDR_SCALARS) {
260 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
261 51529554 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
262 51529554 : NDR_CHECK(ndr_pull_union_align(ndr, 4));
263 51529554 : switch (level) {
264 27653965 : case SEC_ACE_INHERITED_OBJECT_TYPE_PRESENT: {
265 27653965 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->inherited_type));
266 27169164 : break; }
267 :
268 22561902 : default: {
269 22561902 : break; }
270 :
271 : }
272 44103045 : }
273 99462132 : 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 25502706 : 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 25502706 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
295 25502706 : if (ndr_flags & NDR_SCALARS) {
296 12751353 : NDR_CHECK(ndr_push_align(ndr, 4));
297 13011294 : NDR_CHECK(ndr_push_security_ace_object_flags(ndr, NDR_SCALARS, r->flags));
298 12751353 : NDR_CHECK(ndr_push_set_switch_value(ndr, &r->type, r->flags & SEC_ACE_OBJECT_TYPE_PRESENT));
299 12751353 : NDR_CHECK(ndr_push_security_ace_object_type(ndr, NDR_SCALARS, &r->type));
300 12751353 : NDR_CHECK(ndr_push_set_switch_value(ndr, &r->inherited_type, r->flags & SEC_ACE_INHERITED_OBJECT_TYPE_PRESENT));
301 12751353 : NDR_CHECK(ndr_push_security_ace_object_inherited_type(ndr, NDR_SCALARS, &r->inherited_type));
302 12751353 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
303 : }
304 25502706 : if (ndr_flags & NDR_BUFFERS) {
305 12751353 : NDR_CHECK(ndr_push_set_switch_value(ndr, &r->type, r->flags & SEC_ACE_OBJECT_TYPE_PRESENT));
306 12751353 : NDR_CHECK(ndr_push_security_ace_object_type(ndr, NDR_BUFFERS, &r->type));
307 12751353 : NDR_CHECK(ndr_push_set_switch_value(ndr, &r->inherited_type, r->flags & SEC_ACE_INHERITED_OBJECT_TYPE_PRESENT));
308 12751353 : NDR_CHECK(ndr_push_security_ace_object_inherited_type(ndr, NDR_BUFFERS, &r->inherited_type));
309 : }
310 24982824 : return NDR_ERR_SUCCESS;
311 : }
312 :
313 103059108 : static enum ndr_err_code ndr_pull_security_ace_object(struct ndr_pull *ndr, int ndr_flags, struct security_ace_object *r)
314 : {
315 103059108 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
316 103059108 : if (ndr_flags & NDR_SCALARS) {
317 51529554 : NDR_CHECK(ndr_pull_align(ndr, 4));
318 53328042 : NDR_CHECK(ndr_pull_security_ace_object_flags(ndr, NDR_SCALARS, &r->flags));
319 51529554 : NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->type, r->flags & SEC_ACE_OBJECT_TYPE_PRESENT));
320 51529554 : NDR_CHECK(ndr_pull_security_ace_object_type(ndr, NDR_SCALARS, &r->type));
321 51529554 : NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->inherited_type, r->flags & SEC_ACE_INHERITED_OBJECT_TYPE_PRESENT));
322 51529554 : NDR_CHECK(ndr_pull_security_ace_object_inherited_type(ndr, NDR_SCALARS, &r->inherited_type));
323 51529554 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
324 : }
325 103059108 : if (ndr_flags & NDR_BUFFERS) {
326 51529554 : NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->type, r->flags & SEC_ACE_OBJECT_TYPE_PRESENT));
327 51529554 : NDR_CHECK(ndr_pull_security_ace_object_type(ndr, NDR_BUFFERS, &r->type));
328 51529554 : NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->inherited_type, r->flags & SEC_ACE_INHERITED_OBJECT_TYPE_PRESENT));
329 51529554 : NDR_CHECK(ndr_pull_security_ace_object_inherited_type(ndr, NDR_BUFFERS, &r->inherited_type));
330 : }
331 99462132 : 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 53480880 : _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 53480880 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
351 53480880 : if (ndr_flags & NDR_SCALARS) {
352 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
353 26740440 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
354 26740440 : NDR_CHECK(ndr_push_union_align(ndr, 4));
355 26740440 : switch (level) {
356 11622727 : case SEC_ACE_TYPE_ACCESS_ALLOWED_OBJECT: {
357 11622727 : NDR_CHECK(ndr_push_security_ace_object(ndr, NDR_SCALARS, &r->object));
358 11389198 : break; }
359 :
360 735 : case SEC_ACE_TYPE_ACCESS_DENIED_OBJECT: {
361 735 : NDR_CHECK(ndr_push_security_ace_object(ndr, NDR_SCALARS, &r->object));
362 735 : break; }
363 :
364 1127891 : case SEC_ACE_TYPE_SYSTEM_AUDIT_OBJECT: {
365 1127891 : NDR_CHECK(ndr_push_security_ace_object(ndr, NDR_SCALARS, &r->object));
366 1101479 : 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 13171673 : default: {
373 13171673 : break; }
374 :
375 : }
376 23762448 : }
377 53480880 : if (ndr_flags & NDR_BUFFERS) {
378 26740440 : if (!(ndr_flags & NDR_SCALARS)) {
379 : /* We didn't get it above, and the token is not needed after this. */
380 26740440 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
381 : }
382 26740440 : switch (level) {
383 11622727 : case SEC_ACE_TYPE_ACCESS_ALLOWED_OBJECT:
384 11622727 : NDR_CHECK(ndr_push_security_ace_object(ndr, NDR_BUFFERS, &r->object));
385 11389198 : break;
386 :
387 735 : case SEC_ACE_TYPE_ACCESS_DENIED_OBJECT:
388 735 : NDR_CHECK(ndr_push_security_ace_object(ndr, NDR_BUFFERS, &r->object));
389 735 : break;
390 :
391 1127891 : case SEC_ACE_TYPE_SYSTEM_AUDIT_OBJECT:
392 1127891 : NDR_CHECK(ndr_push_security_ace_object(ndr, NDR_BUFFERS, &r->object));
393 1101479 : 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 13171673 : default:
400 13171673 : break;
401 :
402 : }
403 23762448 : }
404 51326170 : return NDR_ERR_SUCCESS;
405 : }
406 :
407 179631856 : _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 179631856 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
411 179631856 : if (ndr_flags & NDR_SCALARS) {
412 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
413 89815928 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
414 89815928 : NDR_CHECK(ndr_pull_union_align(ndr, 4));
415 89815928 : switch (level) {
416 46202591 : case SEC_ACE_TYPE_ACCESS_ALLOWED_OBJECT: {
417 46202591 : NDR_CHECK(ndr_pull_security_ace_object(ndr, NDR_SCALARS, &r->object));
418 44612209 : break; }
419 :
420 36048 : case SEC_ACE_TYPE_ACCESS_DENIED_OBJECT: {
421 36048 : NDR_CHECK(ndr_pull_security_ace_object(ndr, NDR_SCALARS, &r->object));
422 36048 : break; }
423 :
424 5290915 : case SEC_ACE_TYPE_SYSTEM_AUDIT_OBJECT: {
425 5290915 : NDR_CHECK(ndr_pull_security_ace_object(ndr, NDR_SCALARS, &r->object));
426 5082809 : 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 36179755 : default: {
433 36179755 : break; }
434 :
435 : }
436 76223607 : }
437 179631856 : if (ndr_flags & NDR_BUFFERS) {
438 89815928 : if (!(ndr_flags & NDR_SCALARS)) {
439 : /* We didn't get it above, and the token is not needed after this. */
440 89815928 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
441 : }
442 89815928 : switch (level) {
443 46202591 : case SEC_ACE_TYPE_ACCESS_ALLOWED_OBJECT:
444 46202591 : NDR_CHECK(ndr_pull_security_ace_object(ndr, NDR_BUFFERS, &r->object));
445 44612209 : break;
446 :
447 36048 : case SEC_ACE_TYPE_ACCESS_DENIED_OBJECT:
448 36048 : NDR_CHECK(ndr_pull_security_ace_object(ndr, NDR_BUFFERS, &r->object));
449 36048 : break;
450 :
451 5290915 : case SEC_ACE_TYPE_SYSTEM_AUDIT_OBJECT:
452 5290915 : NDR_CHECK(ndr_pull_security_ace_object(ndr, NDR_BUFFERS, &r->object));
453 5082809 : 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 36179755 : default:
460 36179755 : break;
461 :
462 : }
463 76223607 : }
464 171821642 : return NDR_ERR_SUCCESS;
465 : }
466 :
467 4406 : _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 4406 : level = ndr_print_steal_switch_value(ndr, r);
471 4406 : ndr_print_union(ndr, name, level, "security_ace_object_ctr");
472 4406 : 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 4374 : default:
490 4374 : break;
491 :
492 : }
493 4406 : }
494 :
495 53480880 : _PUBLIC_ enum ndr_err_code ndr_push_security_ace(struct ndr_push *ndr, int ndr_flags, const struct security_ace *r)
496 : {
497 53480880 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
498 53480880 : if (ndr_flags & NDR_SCALARS) {
499 26740440 : NDR_CHECK(ndr_push_align(ndr, 4));
500 26740440 : NDR_CHECK(ndr_push_security_ace_type(ndr, NDR_SCALARS, r->type));
501 26740440 : NDR_CHECK(ndr_push_security_ace_flags(ndr, NDR_SCALARS, r->flags));
502 26740440 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, ndr_size_security_ace(r, ndr->flags)));
503 26740440 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->access_mask));
504 26740440 : NDR_CHECK(ndr_push_set_switch_value(ndr, &r->object, r->type));
505 26740440 : NDR_CHECK(ndr_push_security_ace_object_ctr(ndr, NDR_SCALARS, &r->object));
506 26740440 : NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, &r->trustee));
507 26740440 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
508 : }
509 53480880 : if (ndr_flags & NDR_BUFFERS) {
510 26740440 : NDR_CHECK(ndr_push_set_switch_value(ndr, &r->object, r->type));
511 26740440 : NDR_CHECK(ndr_push_security_ace_object_ctr(ndr, NDR_BUFFERS, &r->object));
512 : }
513 51326170 : 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 4406 : _PUBLIC_ void ndr_print_security_ace(struct ndr_print *ndr, const char *name, const struct security_ace *r)
522 : {
523 4406 : ndr_print_struct(ndr, name, "security_ace");
524 4406 : if (r == NULL) { ndr_print_null(ndr); return; }
525 4406 : ndr->depth++;
526 4406 : ndr_print_security_ace_type(ndr, "type", r->type);
527 4406 : ndr_print_security_ace_flags(ndr, "flags", r->flags);
528 4406 : ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_security_ace(r, ndr->flags):r->size);
529 4406 : ndr_print_uint32(ndr, "access_mask", r->access_mask);
530 4406 : ndr_print_set_switch_value(ndr, &r->object, r->type);
531 4406 : ndr_print_security_ace_object_ctr(ndr, "object", &r->object);
532 4406 : ndr_print_dom_sid(ndr, "trustee", &r->trustee);
533 4406 : ndr->depth--;
534 : }
535 :
536 3748088 : static enum ndr_err_code ndr_push_security_acl_revision(struct ndr_push *ndr, int ndr_flags, enum security_acl_revision r)
537 : {
538 3995744 : NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
539 3748088 : return NDR_ERR_SUCCESS;
540 : }
541 :
542 9654661 : 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 10210261 : NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
546 10210261 : *r = v;
547 9654661 : return NDR_ERR_SUCCESS;
548 : }
549 :
550 3505 : _PUBLIC_ void ndr_print_security_acl_revision(struct ndr_print *ndr, const char *name, enum security_acl_revision r)
551 : {
552 3505 : const char *val = NULL;
553 :
554 3505 : switch (r) {
555 3503 : case SECURITY_ACL_REVISION_NT4: val = "SECURITY_ACL_REVISION_NT4"; break;
556 2 : case SECURITY_ACL_REVISION_ADS: val = "SECURITY_ACL_REVISION_ADS"; break;
557 : }
558 3505 : ndr_print_enum(ndr, name, "ENUM", val, r);
559 3505 : }
560 :
561 3995744 : _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 3995744 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
565 3995744 : if (ndr_flags & NDR_SCALARS) {
566 3995744 : NDR_CHECK(ndr_push_align(ndr, 4));
567 4243400 : NDR_CHECK(ndr_push_security_acl_revision(ndr, NDR_SCALARS, r->revision));
568 3995744 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, ndr_size_security_acl(r, ndr->flags)));
569 3995744 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_aces));
570 30488528 : for (cntr_aces_0 = 0; cntr_aces_0 < (r->num_aces); cntr_aces_0++) {
571 26740440 : NDR_CHECK(ndr_push_security_ace(ndr, NDR_SCALARS, &r->aces[cntr_aces_0]));
572 : }
573 3995744 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
574 : }
575 3995744 : if (ndr_flags & NDR_BUFFERS) {
576 30488528 : for (cntr_aces_0 = 0; cntr_aces_0 < (r->num_aces); cntr_aces_0++) {
577 26740440 : NDR_CHECK(ndr_push_security_ace(ndr, NDR_BUFFERS, &r->aces[cntr_aces_0]));
578 : }
579 : }
580 3748088 : return NDR_ERR_SUCCESS;
581 : }
582 :
583 10210261 : _PUBLIC_ enum ndr_err_code ndr_pull_security_acl(struct ndr_pull *ndr, int ndr_flags, struct security_acl *r)
584 : {
585 10210261 : uint32_t size_aces_0 = 0;
586 : uint32_t cntr_aces_0;
587 10210261 : TALLOC_CTX *_mem_save_aces_0 = NULL;
588 10210261 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
589 10210261 : if (ndr_flags & NDR_SCALARS) {
590 10210261 : NDR_CHECK(ndr_pull_align(ndr, 4));
591 10765861 : NDR_CHECK(ndr_pull_security_acl_revision(ndr, NDR_SCALARS, &r->revision));
592 10210261 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
593 10210261 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_aces));
594 10210261 : if (r->num_aces > 2000) {
595 0 : return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
596 : }
597 10210261 : size_aces_0 = r->num_aces;
598 10210261 : NDR_PULL_ALLOC_N(ndr, r->aces, size_aces_0);
599 10210261 : _mem_save_aces_0 = NDR_PULL_GET_MEM_CTX(ndr);
600 10210261 : NDR_PULL_SET_MEM_CTX(ndr, r->aces, 0);
601 100026189 : for (cntr_aces_0 = 0; cntr_aces_0 < (size_aces_0); cntr_aces_0++) {
602 89815928 : NDR_CHECK(ndr_pull_security_ace(ndr, NDR_SCALARS, &r->aces[cntr_aces_0]));
603 : }
604 10210261 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_aces_0, 0);
605 10210261 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
606 : }
607 10210261 : if (ndr_flags & NDR_BUFFERS) {
608 10210261 : size_aces_0 = r->num_aces;
609 10210261 : _mem_save_aces_0 = NDR_PULL_GET_MEM_CTX(ndr);
610 10210261 : NDR_PULL_SET_MEM_CTX(ndr, r->aces, 0);
611 100026189 : for (cntr_aces_0 = 0; cntr_aces_0 < (size_aces_0); cntr_aces_0++) {
612 89815928 : NDR_CHECK(ndr_pull_security_ace(ndr, NDR_BUFFERS, &r->aces[cntr_aces_0]));
613 : }
614 10210261 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_aces_0, 0);
615 23802582 : for (cntr_aces_0 = 0; cntr_aces_0 < (size_aces_0); cntr_aces_0++) {
616 : }
617 : }
618 9654661 : 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 3505 : _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 3505 : ndr_print_struct(ndr, name, "security_acl");
630 3505 : if (r == NULL) { ndr_print_null(ndr); return; }
631 3505 : ndr->depth++;
632 3505 : ndr_print_security_acl_revision(ndr, "revision", r->revision);
633 3505 : ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_security_acl(r, ndr->flags):r->size);
634 3505 : ndr_print_uint32(ndr, "num_aces", r->num_aces);
635 3505 : ndr->print(ndr, "%s: ARRAY(%d)", "aces", (int)r->num_aces);
636 3505 : ndr->depth++;
637 7911 : for (cntr_aces_0 = 0; cntr_aces_0 < (r->num_aces); cntr_aces_0++) {
638 4406 : ndr_print_security_ace(ndr, "aces", &r->aces[cntr_aces_0]);
639 : }
640 3505 : ndr->depth--;
641 3505 : ndr->depth--;
642 : }
643 :
644 2648411 : _PUBLIC_ enum ndr_err_code ndr_push_security_descriptor_revision(struct ndr_push *ndr, int ndr_flags, enum security_descriptor_revision r)
645 : {
646 2648411 : NDR_CHECK(ndr_push_enum_uint8(ndr, NDR_SCALARS, r));
647 2648411 : return NDR_ERR_SUCCESS;
648 : }
649 :
650 6573881 : _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 6573881 : NDR_CHECK(ndr_pull_enum_uint8(ndr, NDR_SCALARS, &v));
654 6573881 : *r = v;
655 6573881 : return NDR_ERR_SUCCESS;
656 : }
657 :
658 3537 : _PUBLIC_ void ndr_print_security_descriptor_revision(struct ndr_print *ndr, const char *name, enum security_descriptor_revision r)
659 : {
660 3537 : const char *val = NULL;
661 :
662 3537 : switch (r) {
663 3537 : case SECURITY_DESCRIPTOR_REVISION_1: val = "SECURITY_DESCRIPTOR_REVISION_1"; break;
664 : }
665 3537 : ndr_print_enum(ndr, name, "ENUM", val, r);
666 3537 : }
667 :
668 2648411 : _PUBLIC_ enum ndr_err_code ndr_push_security_descriptor_type(struct ndr_push *ndr, int ndr_flags, uint16_t r)
669 : {
670 2648411 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
671 2648411 : return NDR_ERR_SUCCESS;
672 : }
673 :
674 6573881 : _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 6573881 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
678 6573881 : *r = v;
679 6573881 : return NDR_ERR_SUCCESS;
680 : }
681 :
682 3537 : _PUBLIC_ void ndr_print_security_descriptor_type(struct ndr_print *ndr, const char *name, uint16_t r)
683 : {
684 3537 : ndr_print_uint16(ndr, name, r);
685 3537 : ndr->depth++;
686 3537 : ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_OWNER_DEFAULTED", SEC_DESC_OWNER_DEFAULTED, r);
687 3537 : ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_GROUP_DEFAULTED", SEC_DESC_GROUP_DEFAULTED, r);
688 3537 : ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_DACL_PRESENT", SEC_DESC_DACL_PRESENT, r);
689 3537 : ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_DACL_DEFAULTED", SEC_DESC_DACL_DEFAULTED, r);
690 3537 : ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_SACL_PRESENT", SEC_DESC_SACL_PRESENT, r);
691 3537 : ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_SACL_DEFAULTED", SEC_DESC_SACL_DEFAULTED, r);
692 3537 : ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_DACL_TRUSTED", SEC_DESC_DACL_TRUSTED, r);
693 3537 : ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_SERVER_SECURITY", SEC_DESC_SERVER_SECURITY, r);
694 3537 : ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_DACL_AUTO_INHERIT_REQ", SEC_DESC_DACL_AUTO_INHERIT_REQ, r);
695 3537 : ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_SACL_AUTO_INHERIT_REQ", SEC_DESC_SACL_AUTO_INHERIT_REQ, r);
696 3537 : ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_DACL_AUTO_INHERITED", SEC_DESC_DACL_AUTO_INHERITED, r);
697 3537 : ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_SACL_AUTO_INHERITED", SEC_DESC_SACL_AUTO_INHERITED, r);
698 3537 : ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_DACL_PROTECTED", SEC_DESC_DACL_PROTECTED, r);
699 3537 : ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_SACL_PROTECTED", SEC_DESC_SACL_PROTECTED, r);
700 3537 : ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_RM_CONTROL_VALID", SEC_DESC_RM_CONTROL_VALID, r);
701 3537 : ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_SELF_RELATIVE", SEC_DESC_SELF_RELATIVE, r);
702 3537 : ndr->depth--;
703 3537 : }
704 :
705 2646293 : _PUBLIC_ enum ndr_err_code ndr_push_security_descriptor(struct ndr_push *ndr, int ndr_flags, const struct security_descriptor *r)
706 : {
707 : {
708 2646293 : uint32_t _flags_save_STRUCT = ndr->flags;
709 2646293 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_LITTLE_ENDIAN);
710 2646293 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
711 2646293 : if (ndr_flags & NDR_SCALARS) {
712 2646293 : NDR_CHECK(ndr_push_align(ndr, 5));
713 2646293 : NDR_CHECK(ndr_push_security_descriptor_revision(ndr, NDR_SCALARS, r->revision));
714 2646293 : NDR_CHECK(ndr_push_security_descriptor_type(ndr, NDR_SCALARS, r->type));
715 2646293 : NDR_CHECK(ndr_push_relative_ptr1(ndr, r->owner_sid));
716 2646293 : NDR_CHECK(ndr_push_relative_ptr1(ndr, r->group_sid));
717 2646293 : NDR_CHECK(ndr_push_relative_ptr1(ndr, r->sacl));
718 2646293 : NDR_CHECK(ndr_push_relative_ptr1(ndr, r->dacl));
719 2646293 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
720 : }
721 2646293 : if (ndr_flags & NDR_BUFFERS) {
722 2646293 : if (r->owner_sid) {
723 2613407 : NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->owner_sid));
724 2613407 : NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, r->owner_sid));
725 2613407 : NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->owner_sid));
726 : }
727 2646293 : if (r->group_sid) {
728 2593996 : NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->group_sid));
729 2593996 : NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, r->group_sid));
730 2593996 : NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->group_sid));
731 : }
732 2646293 : if (r->sacl) {
733 1356946 : NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->sacl));
734 1356946 : NDR_CHECK(ndr_push_security_acl(ndr, NDR_SCALARS|NDR_BUFFERS, r->sacl));
735 1356946 : NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->sacl));
736 : }
737 2646293 : if (r->dacl) {
738 2636680 : NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->dacl));
739 2636680 : NDR_CHECK(ndr_push_security_acl(ndr, NDR_SCALARS|NDR_BUFFERS, r->dacl));
740 2636680 : NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->dacl));
741 : }
742 : }
743 2646293 : ndr->flags = _flags_save_STRUCT;
744 : }
745 2646293 : return NDR_ERR_SUCCESS;
746 : }
747 :
748 6573881 : _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 6573881 : TALLOC_CTX *_mem_save_owner_sid_0 = NULL;
752 : uint32_t _ptr_group_sid;
753 6573881 : TALLOC_CTX *_mem_save_group_sid_0 = NULL;
754 : uint32_t _ptr_sacl;
755 6573881 : TALLOC_CTX *_mem_save_sacl_0 = NULL;
756 : uint32_t _ptr_dacl;
757 6573881 : TALLOC_CTX *_mem_save_dacl_0 = NULL;
758 : {
759 6573881 : uint32_t _flags_save_STRUCT = ndr->flags;
760 6573881 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_LITTLE_ENDIAN);
761 6573881 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
762 6573881 : if (ndr_flags & NDR_SCALARS) {
763 6573881 : NDR_CHECK(ndr_pull_align(ndr, 5));
764 6573881 : NDR_CHECK(ndr_pull_security_descriptor_revision(ndr, NDR_SCALARS, &r->revision));
765 6573881 : NDR_CHECK(ndr_pull_security_descriptor_type(ndr, NDR_SCALARS, &r->type));
766 6573881 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_owner_sid));
767 6573881 : if (_ptr_owner_sid) {
768 6540169 : NDR_PULL_ALLOC(ndr, r->owner_sid);
769 6540169 : NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->owner_sid, _ptr_owner_sid));
770 : } else {
771 33712 : r->owner_sid = NULL;
772 : }
773 6573645 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_group_sid));
774 6573645 : if (_ptr_group_sid) {
775 6520498 : NDR_PULL_ALLOC(ndr, r->group_sid);
776 6520498 : NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->group_sid, _ptr_group_sid));
777 : } else {
778 53147 : r->group_sid = NULL;
779 : }
780 6573645 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sacl));
781 6573645 : if (_ptr_sacl) {
782 3646235 : NDR_PULL_ALLOC(ndr, r->sacl);
783 3646235 : NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->sacl, _ptr_sacl));
784 : } else {
785 2927410 : r->sacl = NULL;
786 : }
787 6573645 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dacl));
788 6573645 : if (_ptr_dacl) {
789 6564026 : NDR_PULL_ALLOC(ndr, r->dacl);
790 6564026 : NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->dacl, _ptr_dacl));
791 : } else {
792 9619 : r->dacl = NULL;
793 : }
794 6573645 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
795 : }
796 6573645 : if (ndr_flags & NDR_BUFFERS) {
797 6573645 : if (r->owner_sid) {
798 : uint32_t _relative_save_offset;
799 6539933 : _relative_save_offset = ndr->offset;
800 6539933 : NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->owner_sid));
801 6539933 : _mem_save_owner_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
802 6539933 : NDR_PULL_SET_MEM_CTX(ndr, r->owner_sid, 0);
803 6539933 : NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, r->owner_sid));
804 6539933 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_owner_sid_0, 0);
805 6539933 : if (ndr->offset > ndr->relative_highest_offset) {
806 6539933 : ndr->relative_highest_offset = ndr->offset;
807 : }
808 6539933 : ndr->offset = _relative_save_offset;
809 : }
810 6573645 : if (r->group_sid) {
811 : uint32_t _relative_save_offset;
812 6520498 : _relative_save_offset = ndr->offset;
813 6520498 : NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->group_sid));
814 6520498 : _mem_save_group_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
815 6520498 : NDR_PULL_SET_MEM_CTX(ndr, r->group_sid, 0);
816 6520498 : NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, r->group_sid));
817 6520498 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_sid_0, 0);
818 6520498 : if (ndr->offset > ndr->relative_highest_offset) {
819 6520498 : ndr->relative_highest_offset = ndr->offset;
820 : }
821 6520498 : ndr->offset = _relative_save_offset;
822 : }
823 6573645 : if (r->sacl) {
824 : uint32_t _relative_save_offset;
825 3646235 : _relative_save_offset = ndr->offset;
826 3646235 : NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->sacl));
827 3646235 : _mem_save_sacl_0 = NDR_PULL_GET_MEM_CTX(ndr);
828 3646235 : NDR_PULL_SET_MEM_CTX(ndr, r->sacl, 0);
829 3646235 : NDR_CHECK(ndr_pull_security_acl(ndr, NDR_SCALARS|NDR_BUFFERS, r->sacl));
830 3646235 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sacl_0, 0);
831 3646235 : if (ndr->offset > ndr->relative_highest_offset) {
832 3646234 : ndr->relative_highest_offset = ndr->offset;
833 : }
834 3646235 : ndr->offset = _relative_save_offset;
835 : }
836 6573645 : if (r->dacl) {
837 : uint32_t _relative_save_offset;
838 6564026 : _relative_save_offset = ndr->offset;
839 6564026 : NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->dacl));
840 6564026 : _mem_save_dacl_0 = NDR_PULL_GET_MEM_CTX(ndr);
841 6564026 : NDR_PULL_SET_MEM_CTX(ndr, r->dacl, 0);
842 6564026 : NDR_CHECK(ndr_pull_security_acl(ndr, NDR_SCALARS|NDR_BUFFERS, r->dacl));
843 6564026 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dacl_0, 0);
844 6564026 : if (ndr->offset > ndr->relative_highest_offset) {
845 6563321 : ndr->relative_highest_offset = ndr->offset;
846 : }
847 6564026 : ndr->offset = _relative_save_offset;
848 : }
849 : }
850 6573645 : ndr->flags = _flags_save_STRUCT;
851 : }
852 6573645 : 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 3537 : _PUBLIC_ void ndr_print_security_descriptor(struct ndr_print *ndr, const char *name, const struct security_descriptor *r)
861 : {
862 3537 : ndr_print_struct(ndr, name, "security_descriptor");
863 3537 : if (r == NULL) { ndr_print_null(ndr); return; }
864 : {
865 3537 : uint32_t _flags_save_STRUCT = ndr->flags;
866 3537 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_LITTLE_ENDIAN);
867 3537 : ndr->depth++;
868 3537 : ndr_print_security_descriptor_revision(ndr, "revision", r->revision);
869 3537 : ndr_print_security_descriptor_type(ndr, "type", r->type);
870 3537 : ndr_print_ptr(ndr, "owner_sid", r->owner_sid);
871 3537 : ndr->depth++;
872 3537 : if (r->owner_sid) {
873 3335 : ndr_print_dom_sid(ndr, "owner_sid", r->owner_sid);
874 : }
875 3537 : ndr->depth--;
876 3537 : ndr_print_ptr(ndr, "group_sid", r->group_sid);
877 3537 : ndr->depth++;
878 3537 : if (r->group_sid) {
879 73 : ndr_print_dom_sid(ndr, "group_sid", r->group_sid);
880 : }
881 3537 : ndr->depth--;
882 3537 : ndr_print_ptr(ndr, "sacl", r->sacl);
883 3537 : ndr->depth++;
884 3537 : if (r->sacl) {
885 0 : ndr_print_security_acl(ndr, "sacl", r->sacl);
886 : }
887 3537 : ndr->depth--;
888 3537 : ndr_print_ptr(ndr, "dacl", r->dacl);
889 3537 : ndr->depth++;
890 3537 : if (r->dacl) {
891 3505 : ndr_print_security_acl(ndr, "dacl", r->dacl);
892 : }
893 3537 : ndr->depth--;
894 3537 : ndr->depth--;
895 3537 : ndr->flags = _flags_save_STRUCT;
896 : }
897 : }
898 :
899 4680 : _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 4680 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
902 4680 : if (ndr_flags & NDR_SCALARS) {
903 2894 : NDR_CHECK(ndr_push_align(ndr, 5));
904 2894 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_security_descriptor(r->sd, ndr->flags)));
905 2894 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->sd));
906 2894 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
907 : }
908 4680 : if (ndr_flags & NDR_BUFFERS) {
909 2894 : if (r->sd) {
910 : {
911 : struct ndr_push *_ndr_sd;
912 2136 : NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_sd, 4, -1));
913 2136 : NDR_CHECK(ndr_push_security_descriptor(_ndr_sd, NDR_SCALARS|NDR_BUFFERS, r->sd));
914 2136 : NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_sd, 4, -1));
915 : }
916 : }
917 : }
918 4660 : return NDR_ERR_SUCCESS;
919 : }
920 :
921 4594 : _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 4594 : TALLOC_CTX *_mem_save_sd_0 = NULL;
925 4594 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
926 4594 : if (ndr_flags & NDR_SCALARS) {
927 2847 : NDR_CHECK(ndr_pull_align(ndr, 5));
928 2847 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sd_size));
929 2847 : if (r->sd_size > 262144) {
930 0 : return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
931 : }
932 2847 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sd));
933 2847 : if (_ptr_sd) {
934 2124 : NDR_PULL_ALLOC(ndr, r->sd);
935 : } else {
936 723 : r->sd = NULL;
937 : }
938 2847 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
939 : }
940 4594 : if (ndr_flags & NDR_BUFFERS) {
941 2847 : if (r->sd) {
942 2124 : _mem_save_sd_0 = NDR_PULL_GET_MEM_CTX(ndr);
943 2124 : NDR_PULL_SET_MEM_CTX(ndr, r->sd, 0);
944 : {
945 : struct ndr_pull *_ndr_sd;
946 2124 : NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_sd, 4, -1));
947 2124 : NDR_CHECK(ndr_pull_security_descriptor(_ndr_sd, NDR_SCALARS|NDR_BUFFERS, r->sd));
948 2124 : NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_sd, 4, -1));
949 : }
950 2124 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sd_0, 0);
951 : }
952 : }
953 4570 : 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 118 : _PUBLIC_ void ndr_print_sec_desc_buf(struct ndr_print *ndr, const char *name, const struct sec_desc_buf *r)
962 : {
963 118 : ndr_print_struct(ndr, name, "sec_desc_buf");
964 118 : if (r == NULL) { ndr_print_null(ndr); return; }
965 118 : ndr->depth++;
966 118 : ndr_print_uint32(ndr, "sd_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_security_descriptor(r->sd, ndr->flags):r->sd_size);
967 118 : ndr_print_ptr(ndr, "sd", r->sd);
968 118 : ndr->depth++;
969 118 : if (r->sd) {
970 36 : ndr_print_security_descriptor(ndr, "sd", r->sd);
971 : }
972 118 : ndr->depth--;
973 118 : ndr->depth--;
974 : }
975 :
976 410767 : _PUBLIC_ enum ndr_err_code ndr_push_security_GroupAttrs(struct ndr_push *ndr, int ndr_flags, uint32_t r)
977 : {
978 410767 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
979 410767 : return NDR_ERR_SUCCESS;
980 : }
981 :
982 443944 : _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 443944 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
986 443944 : *r = v;
987 443944 : return NDR_ERR_SUCCESS;
988 : }
989 :
990 21136 : _PUBLIC_ void ndr_print_security_GroupAttrs(struct ndr_print *ndr, const char *name, uint32_t r)
991 : {
992 21136 : ndr_print_uint32(ndr, name, r);
993 21136 : ndr->depth++;
994 21136 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_MANDATORY", SE_GROUP_MANDATORY, r);
995 21136 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_ENABLED_BY_DEFAULT", SE_GROUP_ENABLED_BY_DEFAULT, r);
996 21136 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_ENABLED", SE_GROUP_ENABLED, r);
997 21136 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_OWNER", SE_GROUP_OWNER, r);
998 21136 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_USE_FOR_DENY_ONLY", SE_GROUP_USE_FOR_DENY_ONLY, r);
999 21136 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_INTEGRITY", SE_GROUP_INTEGRITY, r);
1000 21136 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_INTEGRITY_ENABLED", SE_GROUP_INTEGRITY_ENABLED, r);
1001 21136 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_RESOURCE", SE_GROUP_RESOURCE, r);
1002 21136 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_LOGON_ID", SE_GROUP_LOGON_ID, r);
1003 21136 : ndr->depth--;
1004 21136 : }
1005 :
1006 246120 : _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 246120 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1010 246120 : if (ndr_flags & NDR_SCALARS) {
1011 246120 : NDR_CHECK(ndr_push_align(ndr, 8));
1012 246120 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sids));
1013 246120 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_sids));
1014 2800296 : for (cntr_sids_0 = 0; cntr_sids_0 < (r->num_sids); cntr_sids_0++) {
1015 2558569 : NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, &r->sids[cntr_sids_0]));
1016 : }
1017 250513 : NDR_CHECK(ndr_push_se_privilege(ndr, NDR_SCALARS, r->privilege_mask));
1018 250513 : NDR_CHECK(ndr_push_lsa_SystemAccessModeFlags(ndr, NDR_SCALARS, r->rights_mask));
1019 246120 : NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1020 : }
1021 241727 : if (ndr_flags & NDR_BUFFERS) {
1022 : }
1023 246120 : return NDR_ERR_SUCCESS;
1024 : }
1025 :
1026 152170 : _PUBLIC_ enum ndr_err_code ndr_pull_security_token(struct ndr_pull *ndr, int ndr_flags, struct security_token *r)
1027 : {
1028 152170 : uint32_t size_sids_0 = 0;
1029 : uint32_t cntr_sids_0;
1030 152170 : TALLOC_CTX *_mem_save_sids_0 = NULL;
1031 152170 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1032 152170 : if (ndr_flags & NDR_SCALARS) {
1033 152170 : NDR_CHECK(ndr_pull_align(ndr, 8));
1034 152170 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_sids));
1035 152170 : NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
1036 152170 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->sids, &size_sids_0));
1037 152170 : NDR_PULL_ALLOC_N(ndr, r->sids, size_sids_0);
1038 152170 : _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1039 152170 : NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
1040 1533576 : for (cntr_sids_0 = 0; cntr_sids_0 < (size_sids_0); cntr_sids_0++) {
1041 1381406 : NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, &r->sids[cntr_sids_0]));
1042 : }
1043 152170 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
1044 154789 : NDR_CHECK(ndr_pull_se_privilege(ndr, NDR_SCALARS, &r->privilege_mask));
1045 154789 : NDR_CHECK(ndr_pull_lsa_SystemAccessModeFlags(ndr, NDR_SCALARS, &r->rights_mask));
1046 152170 : if (r->sids) {
1047 152170 : NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->sids, r->num_sids));
1048 : }
1049 152170 : NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1050 : }
1051 149551 : if (ndr_flags & NDR_BUFFERS) {
1052 : }
1053 152170 : 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 239534 : _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 239534 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1083 239534 : if (ndr_flags & NDR_SCALARS) {
1084 239534 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->ngroups));
1085 239534 : NDR_CHECK(ndr_push_align(ndr, 8));
1086 239534 : NDR_CHECK(ndr_push_uid_t(ndr, NDR_SCALARS, r->uid));
1087 239534 : NDR_CHECK(ndr_push_gid_t(ndr, NDR_SCALARS, r->gid));
1088 239534 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ngroups));
1089 1726765 : for (cntr_groups_0 = 0; cntr_groups_0 < (r->ngroups); cntr_groups_0++) {
1090 1491534 : NDR_CHECK(ndr_push_gid_t(ndr, NDR_SCALARS, r->groups[cntr_groups_0]));
1091 : }
1092 239534 : NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1093 : }
1094 235231 : if (ndr_flags & NDR_BUFFERS) {
1095 : }
1096 239534 : return NDR_ERR_SUCCESS;
1097 : }
1098 :
1099 145563 : _PUBLIC_ enum ndr_err_code ndr_pull_security_unix_token(struct ndr_pull *ndr, int ndr_flags, struct security_unix_token *r)
1100 : {
1101 145563 : uint32_t size_groups_0 = 0;
1102 : uint32_t cntr_groups_0;
1103 145563 : TALLOC_CTX *_mem_save_groups_0 = NULL;
1104 145563 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1105 145563 : if (ndr_flags & NDR_SCALARS) {
1106 145563 : NDR_CHECK(ndr_pull_array_size(ndr, &r->groups));
1107 145563 : NDR_CHECK(ndr_pull_align(ndr, 8));
1108 145563 : NDR_CHECK(ndr_pull_uid_t(ndr, NDR_SCALARS, &r->uid));
1109 145563 : NDR_CHECK(ndr_pull_gid_t(ndr, NDR_SCALARS, &r->gid));
1110 145563 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ngroups));
1111 145563 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->groups, &size_groups_0));
1112 145563 : NDR_PULL_ALLOC_N(ndr, r->groups, size_groups_0);
1113 145563 : _mem_save_groups_0 = NDR_PULL_GET_MEM_CTX(ndr);
1114 145563 : NDR_PULL_SET_MEM_CTX(ndr, r->groups, 0);
1115 897776 : for (cntr_groups_0 = 0; cntr_groups_0 < (size_groups_0); cntr_groups_0++) {
1116 752213 : NDR_CHECK(ndr_pull_gid_t(ndr, NDR_SCALARS, &r->groups[cntr_groups_0]));
1117 : }
1118 145563 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_groups_0, 0);
1119 145563 : if (r->groups) {
1120 145563 : NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->groups, r->ngroups));
1121 : }
1122 145563 : NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1123 : }
1124 143034 : if (ndr_flags & NDR_BUFFERS) {
1125 : }
1126 145563 : 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 408 : _PUBLIC_ enum ndr_err_code ndr_push_security_secinfo(struct ndr_push *ndr, int ndr_flags, uint32_t r)
1153 : {
1154 408 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
1155 408 : return NDR_ERR_SUCCESS;
1156 : }
1157 :
1158 408 : _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 408 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
1162 408 : *r = v;
1163 408 : 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 227528 : _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 227528 : uint32_t _flags_save_STRUCT = ndr->flags;
1189 227528 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1190 227528 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1191 227528 : if (ndr_flags & NDR_SCALARS) {
1192 227528 : NDR_CHECK(ndr_push_align(ndr, 4));
1193 227528 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->Flags));
1194 227528 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->TokenIL));
1195 227528 : NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->MachineId, 32));
1196 227528 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1197 : }
1198 227528 : if (ndr_flags & NDR_BUFFERS) {
1199 : }
1200 227528 : ndr->flags = _flags_save_STRUCT;
1201 : }
1202 227528 : return NDR_ERR_SUCCESS;
1203 : }
1204 :
1205 27543 : _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 27543 : uint32_t size_MachineId_0 = 0;
1208 : {
1209 27543 : uint32_t _flags_save_STRUCT = ndr->flags;
1210 27543 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1211 27543 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1212 27543 : if (ndr_flags & NDR_SCALARS) {
1213 27543 : NDR_CHECK(ndr_pull_align(ndr, 4));
1214 27543 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->Flags));
1215 27543 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->TokenIL));
1216 27543 : size_MachineId_0 = 32;
1217 27543 : NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->MachineId, size_MachineId_0));
1218 27543 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1219 : }
1220 27541 : if (ndr_flags & NDR_BUFFERS) {
1221 : }
1222 27543 : ndr->flags = _flags_save_STRUCT;
1223 : }
1224 27543 : 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 4 : _PUBLIC_ void ndr_print_LSAP_TOKEN_INFO_INTEGRITY(struct ndr_print *ndr, const char *name, const struct LSAP_TOKEN_INFO_INTEGRITY *r)
1233 : {
1234 4 : ndr_print_struct(ndr, name, "LSAP_TOKEN_INFO_INTEGRITY");
1235 4 : if (r == NULL) { ndr_print_null(ndr); return; }
1236 : {
1237 4 : uint32_t _flags_save_STRUCT = ndr->flags;
1238 4 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1239 4 : ndr->depth++;
1240 4 : ndr_print_uint32(ndr, "Flags", r->Flags);
1241 4 : ndr_print_uint32(ndr, "TokenIL", r->TokenIL);
1242 4 : ndr_print_array_uint8(ndr, "MachineId", r->MachineId, 32);
1243 4 : ndr->depth--;
1244 4 : ndr->flags = _flags_save_STRUCT;
1245 : }
1246 : }
1247 :
1248 113764 : _PUBLIC_ size_t ndr_size_LSAP_TOKEN_INFO_INTEGRITY(const struct LSAP_TOKEN_INFO_INTEGRITY *r, int flags)
1249 : {
1250 113764 : flags |= LIBNDR_PRINT_ARRAY_HEX;
1251 113764 : return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_LSAP_TOKEN_INFO_INTEGRITY);
1252 : }
1253 :
1254 1231 : _PUBLIC_ enum ndr_err_code ndr_push_kerb_EncTypes(struct ndr_push *ndr, int ndr_flags, uint32_t r)
1255 : {
1256 1231 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
1257 1231 : return NDR_ERR_SUCCESS;
1258 : }
1259 :
1260 3969 : _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 3969 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
1264 3969 : *r = v;
1265 3969 : return NDR_ERR_SUCCESS;
1266 : }
1267 :
1268 476 : _PUBLIC_ void ndr_print_kerb_EncTypes(struct ndr_print *ndr, const char *name, uint32_t r)
1269 : {
1270 476 : ndr_print_uint32(ndr, name, r);
1271 476 : ndr->depth++;
1272 476 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "KERB_ENCTYPE_DES_CBC_CRC", KERB_ENCTYPE_DES_CBC_CRC, r);
1273 476 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "KERB_ENCTYPE_DES_CBC_MD5", KERB_ENCTYPE_DES_CBC_MD5, r);
1274 476 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "KERB_ENCTYPE_RC4_HMAC_MD5", KERB_ENCTYPE_RC4_HMAC_MD5, r);
1275 476 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "KERB_ENCTYPE_AES128_CTS_HMAC_SHA1_96", KERB_ENCTYPE_AES128_CTS_HMAC_SHA1_96, r);
1276 476 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "KERB_ENCTYPE_AES256_CTS_HMAC_SHA1_96", KERB_ENCTYPE_AES256_CTS_HMAC_SHA1_96, r);
1277 476 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "KERB_ENCTYPE_FAST_SUPPORTED", KERB_ENCTYPE_FAST_SUPPORTED, r);
1278 476 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "KERB_ENCTYPE_COMPOUND_IDENTITY_SUPPORTED", KERB_ENCTYPE_COMPOUND_IDENTITY_SUPPORTED, r);
1279 476 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "KERB_ENCTYPE_CLAIMS_SUPPORTED", KERB_ENCTYPE_CLAIMS_SUPPORTED, r);
1280 476 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "KERB_ENCTYPE_RESOURCE_SID_COMPRESSION_DISABLED", KERB_ENCTYPE_RESOURCE_SID_COMPRESSION_DISABLED, r);
1281 476 : ndr->depth--;
1282 476 : }
1283 :
1284 0 : _PUBLIC_ enum ndr_err_code ndr_push_security_autoinherit(struct ndr_push *ndr, int ndr_flags, uint32_t r)
1285 : {
1286 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
1287 0 : return NDR_ERR_SUCCESS;
1288 : }
1289 :
1290 0 : _PUBLIC_ enum ndr_err_code ndr_pull_security_autoinherit(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
1291 : {
1292 : uint32_t v;
1293 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
1294 0 : *r = v;
1295 0 : return NDR_ERR_SUCCESS;
1296 : }
1297 :
1298 0 : _PUBLIC_ void ndr_print_security_autoinherit(struct ndr_print *ndr, const char *name, uint32_t r)
1299 : {
1300 0 : ndr_print_uint32(ndr, name, r);
1301 0 : ndr->depth++;
1302 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SEC_DACL_AUTO_INHERIT", SEC_DACL_AUTO_INHERIT, r);
1303 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SEC_SACL_AUTO_INHERIT", SEC_SACL_AUTO_INHERIT, r);
1304 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SEC_DEFAULT_DESCRIPTOR", SEC_DEFAULT_DESCRIPTOR, r);
1305 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SEC_OWNER_FROM_PARENT", SEC_OWNER_FROM_PARENT, r);
1306 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SEC_GROUP_FROM_PARENT", SEC_GROUP_FROM_PARENT, r);
1307 0 : ndr->depth--;
1308 0 : }
1309 :
1310 : #ifndef SKIP_NDR_TABLE_security
1311 : static const struct ndr_interface_public_struct security_public_structs[] = {
1312 : {
1313 : .name = "dom_sid",
1314 : .struct_size = sizeof(struct dom_sid ),
1315 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_dom_sid,
1316 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_dom_sid,
1317 : .ndr_print = (ndr_print_function_t) ndr_print_flags_dom_sid,
1318 : },
1319 : {
1320 : .name = "security_ace",
1321 : .struct_size = sizeof(struct security_ace ),
1322 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_security_ace,
1323 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_security_ace,
1324 : .ndr_print = (ndr_print_function_t) ndr_print_flags_security_ace,
1325 : },
1326 : {
1327 : .name = "security_acl",
1328 : .struct_size = sizeof(struct security_acl ),
1329 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_security_acl,
1330 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_security_acl,
1331 : .ndr_print = (ndr_print_function_t) ndr_print_flags_security_acl,
1332 : },
1333 : {
1334 : .name = "security_descriptor",
1335 : .struct_size = sizeof(struct security_descriptor ),
1336 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_security_descriptor,
1337 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_security_descriptor,
1338 : .ndr_print = (ndr_print_function_t) ndr_print_flags_security_descriptor,
1339 : },
1340 : {
1341 : .name = "sec_desc_buf",
1342 : .struct_size = sizeof(struct sec_desc_buf ),
1343 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_sec_desc_buf,
1344 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_sec_desc_buf,
1345 : .ndr_print = (ndr_print_function_t) ndr_print_flags_sec_desc_buf,
1346 : },
1347 : {
1348 : .name = "security_token",
1349 : .struct_size = sizeof(struct security_token ),
1350 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_security_token,
1351 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_security_token,
1352 : .ndr_print = (ndr_print_function_t) ndr_print_flags_security_token,
1353 : },
1354 : {
1355 : .name = "security_unix_token",
1356 : .struct_size = sizeof(struct security_unix_token ),
1357 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_security_unix_token,
1358 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_security_unix_token,
1359 : .ndr_print = (ndr_print_function_t) ndr_print_flags_security_unix_token,
1360 : },
1361 : {
1362 : .name = "LSAP_TOKEN_INFO_INTEGRITY",
1363 : .struct_size = sizeof(struct LSAP_TOKEN_INFO_INTEGRITY ),
1364 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_LSAP_TOKEN_INFO_INTEGRITY,
1365 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_LSAP_TOKEN_INFO_INTEGRITY,
1366 : .ndr_print = (ndr_print_function_t) ndr_print_flags_LSAP_TOKEN_INFO_INTEGRITY,
1367 : },
1368 : { .name = NULL }
1369 : };
1370 :
1371 : static const struct ndr_interface_call security_calls[] = {
1372 : { .name = NULL }
1373 : };
1374 :
1375 : static const char * const security_endpoint_strings[] = {
1376 : "ncacn_np:[\\pipe\\security]",
1377 : };
1378 :
1379 : static const struct ndr_interface_string_array security_endpoints = {
1380 : .count = 1,
1381 : .names = security_endpoint_strings
1382 : };
1383 :
1384 : static const char * const security_authservice_strings[] = {
1385 : "host",
1386 : };
1387 :
1388 : static const struct ndr_interface_string_array security_authservices = {
1389 : .count = 1,
1390 : .names = security_authservice_strings
1391 : };
1392 :
1393 :
1394 : const struct ndr_interface_table ndr_table_security = {
1395 : .name = "security",
1396 : .syntax_id = {
1397 : {0xcbf7d408,0x2d6c,0x11e2,{0xae,0x5b},{0x0b,0x56,0x92,0x79,0x0e,0x18}},
1398 : NDR_SECURITY_VERSION
1399 : },
1400 : .helpstring = NDR_SECURITY_HELPSTRING,
1401 : .num_calls = 0,
1402 : .calls = security_calls,
1403 : .num_public_structs = 8,
1404 : .public_structs = security_public_structs,
1405 : .endpoints = &security_endpoints,
1406 : .authservices = &security_authservices
1407 : };
1408 :
1409 : #endif /* SKIP_NDR_TABLE_security */
|