Line data Source code
1 : /* parser auto-generated by pidl */
2 :
3 : #include "includes.h"
4 : #include "bin/default/librpc/gen_ndr/ndr_samr.h"
5 :
6 : #include "librpc/gen_ndr/ndr_misc.h"
7 : #include "librpc/gen_ndr/ndr_lsa.h"
8 : #include "librpc/gen_ndr/ndr_security.h"
9 99083 : _PUBLIC_ enum ndr_err_code ndr_push_samr_AcctFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
10 : {
11 99083 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
12 99083 : return NDR_ERR_SUCCESS;
13 : }
14 :
15 136358 : _PUBLIC_ enum ndr_err_code ndr_pull_samr_AcctFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
16 : {
17 : uint32_t v;
18 136358 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
19 136358 : *r = v;
20 136358 : return NDR_ERR_SUCCESS;
21 : }
22 :
23 3905 : _PUBLIC_ void ndr_print_samr_AcctFlags(struct ndr_print *ndr, const char *name, uint32_t r)
24 : {
25 3905 : ndr_print_uint32(ndr, name, r);
26 3905 : ndr->depth++;
27 3905 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_DISABLED", ACB_DISABLED, r);
28 3905 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_HOMDIRREQ", ACB_HOMDIRREQ, r);
29 3905 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_PWNOTREQ", ACB_PWNOTREQ, r);
30 3905 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_TEMPDUP", ACB_TEMPDUP, r);
31 3905 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_NORMAL", ACB_NORMAL, r);
32 3905 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_MNS", ACB_MNS, r);
33 3905 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_DOMTRUST", ACB_DOMTRUST, r);
34 3905 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_WSTRUST", ACB_WSTRUST, r);
35 3905 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_SVRTRUST", ACB_SVRTRUST, r);
36 3905 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_PWNOEXP", ACB_PWNOEXP, r);
37 3905 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_AUTOLOCK", ACB_AUTOLOCK, r);
38 3905 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_ENC_TXT_PWD_ALLOWED", ACB_ENC_TXT_PWD_ALLOWED, r);
39 3905 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_SMARTCARD_REQUIRED", ACB_SMARTCARD_REQUIRED, r);
40 3905 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_TRUSTED_FOR_DELEGATION", ACB_TRUSTED_FOR_DELEGATION, r);
41 3905 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_NOT_DELEGATED", ACB_NOT_DELEGATED, r);
42 3905 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_USE_DES_KEY_ONLY", ACB_USE_DES_KEY_ONLY, r);
43 3905 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_DONT_REQUIRE_PREAUTH", ACB_DONT_REQUIRE_PREAUTH, r);
44 3905 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_PW_EXPIRED", ACB_PW_EXPIRED, r);
45 3905 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION", ACB_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION, r);
46 3905 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_NO_AUTH_DATA_REQD", ACB_NO_AUTH_DATA_REQD, r);
47 3905 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_PARTIAL_SECRETS_ACCOUNT", ACB_PARTIAL_SECRETS_ACCOUNT, r);
48 3905 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_USE_AES_KEYS", ACB_USE_AES_KEYS, r);
49 3905 : ndr->depth--;
50 3905 : }
51 :
52 3052 : static enum ndr_err_code ndr_push_samr_ConnectAccessMask(struct ndr_push *ndr, int ndr_flags, uint32_t r)
53 : {
54 3270 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
55 3052 : return NDR_ERR_SUCCESS;
56 : }
57 :
58 2947 : static enum ndr_err_code ndr_pull_samr_ConnectAccessMask(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
59 : {
60 : uint32_t v;
61 3169 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
62 3169 : *r = v;
63 2947 : return NDR_ERR_SUCCESS;
64 : }
65 :
66 2 : _PUBLIC_ void ndr_print_samr_ConnectAccessMask(struct ndr_print *ndr, const char *name, uint32_t r)
67 : {
68 2 : ndr_print_uint32(ndr, name, r);
69 2 : ndr->depth++;
70 2 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ACCESS_CONNECT_TO_SERVER", SAMR_ACCESS_CONNECT_TO_SERVER, r);
71 2 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ACCESS_SHUTDOWN_SERVER", SAMR_ACCESS_SHUTDOWN_SERVER, r);
72 2 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ACCESS_INITIALIZE_SERVER", SAMR_ACCESS_INITIALIZE_SERVER, r);
73 2 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ACCESS_CREATE_DOMAIN", SAMR_ACCESS_CREATE_DOMAIN, r);
74 2 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ACCESS_ENUM_DOMAINS", SAMR_ACCESS_ENUM_DOMAINS, r);
75 2 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ACCESS_LOOKUP_DOMAIN", SAMR_ACCESS_LOOKUP_DOMAIN, r);
76 2 : ndr->depth--;
77 2 : }
78 :
79 5572 : static enum ndr_err_code ndr_push_samr_UserAccessMask(struct ndr_push *ndr, int ndr_flags, uint32_t r)
80 : {
81 5663 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
82 5572 : return NDR_ERR_SUCCESS;
83 : }
84 :
85 5558 : static enum ndr_err_code ndr_pull_samr_UserAccessMask(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
86 : {
87 : uint32_t v;
88 5654 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
89 5654 : *r = v;
90 5558 : return NDR_ERR_SUCCESS;
91 : }
92 :
93 5 : _PUBLIC_ void ndr_print_samr_UserAccessMask(struct ndr_print *ndr, const char *name, uint32_t r)
94 : {
95 5 : ndr_print_uint32(ndr, name, r);
96 5 : ndr->depth++;
97 5 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_GET_NAME_ETC", SAMR_USER_ACCESS_GET_NAME_ETC, r);
98 5 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_GET_LOCALE", SAMR_USER_ACCESS_GET_LOCALE, r);
99 5 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_SET_LOC_COM", SAMR_USER_ACCESS_SET_LOC_COM, r);
100 5 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_GET_LOGONINFO", SAMR_USER_ACCESS_GET_LOGONINFO, r);
101 5 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_GET_ATTRIBUTES", SAMR_USER_ACCESS_GET_ATTRIBUTES, r);
102 5 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_SET_ATTRIBUTES", SAMR_USER_ACCESS_SET_ATTRIBUTES, r);
103 5 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_CHANGE_PASSWORD", SAMR_USER_ACCESS_CHANGE_PASSWORD, r);
104 5 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_SET_PASSWORD", SAMR_USER_ACCESS_SET_PASSWORD, r);
105 5 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_GET_GROUPS", SAMR_USER_ACCESS_GET_GROUPS, r);
106 5 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_GET_GROUP_MEMBERSHIP", SAMR_USER_ACCESS_GET_GROUP_MEMBERSHIP, r);
107 5 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_CHANGE_GROUP_MEMBERSHIP", SAMR_USER_ACCESS_CHANGE_GROUP_MEMBERSHIP, r);
108 5 : ndr->depth--;
109 5 : }
110 :
111 2302 : static enum ndr_err_code ndr_push_samr_DomainAccessMask(struct ndr_push *ndr, int ndr_flags, uint32_t r)
112 : {
113 2512 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
114 2302 : return NDR_ERR_SUCCESS;
115 : }
116 :
117 2264 : static enum ndr_err_code ndr_pull_samr_DomainAccessMask(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
118 : {
119 : uint32_t v;
120 2478 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
121 2478 : *r = v;
122 2264 : return NDR_ERR_SUCCESS;
123 : }
124 :
125 2 : _PUBLIC_ void ndr_print_samr_DomainAccessMask(struct ndr_print *ndr, const char *name, uint32_t r)
126 : {
127 2 : ndr_print_uint32(ndr, name, r);
128 2 : ndr->depth++;
129 2 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_LOOKUP_INFO_1", SAMR_DOMAIN_ACCESS_LOOKUP_INFO_1, r);
130 2 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_SET_INFO_1", SAMR_DOMAIN_ACCESS_SET_INFO_1, r);
131 2 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_LOOKUP_INFO_2", SAMR_DOMAIN_ACCESS_LOOKUP_INFO_2, r);
132 2 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_SET_INFO_2", SAMR_DOMAIN_ACCESS_SET_INFO_2, r);
133 2 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_CREATE_USER", SAMR_DOMAIN_ACCESS_CREATE_USER, r);
134 2 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_CREATE_GROUP", SAMR_DOMAIN_ACCESS_CREATE_GROUP, r);
135 2 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_CREATE_ALIAS", SAMR_DOMAIN_ACCESS_CREATE_ALIAS, r);
136 2 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_LOOKUP_ALIAS", SAMR_DOMAIN_ACCESS_LOOKUP_ALIAS, r);
137 2 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_ENUM_ACCOUNTS", SAMR_DOMAIN_ACCESS_ENUM_ACCOUNTS, r);
138 2 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_OPEN_ACCOUNT", SAMR_DOMAIN_ACCESS_OPEN_ACCOUNT, r);
139 2 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_SET_INFO_3", SAMR_DOMAIN_ACCESS_SET_INFO_3, r);
140 2 : ndr->depth--;
141 2 : }
142 :
143 3128 : static enum ndr_err_code ndr_push_samr_GroupAccessMask(struct ndr_push *ndr, int ndr_flags, uint32_t r)
144 : {
145 3128 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
146 3128 : return NDR_ERR_SUCCESS;
147 : }
148 :
149 2672 : static enum ndr_err_code ndr_pull_samr_GroupAccessMask(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
150 : {
151 : uint32_t v;
152 2672 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
153 2672 : *r = v;
154 2672 : return NDR_ERR_SUCCESS;
155 : }
156 :
157 0 : _PUBLIC_ void ndr_print_samr_GroupAccessMask(struct ndr_print *ndr, const char *name, uint32_t r)
158 : {
159 0 : ndr_print_uint32(ndr, name, r);
160 0 : ndr->depth++;
161 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_GROUP_ACCESS_LOOKUP_INFO", SAMR_GROUP_ACCESS_LOOKUP_INFO, r);
162 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_GROUP_ACCESS_SET_INFO", SAMR_GROUP_ACCESS_SET_INFO, r);
163 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_GROUP_ACCESS_ADD_MEMBER", SAMR_GROUP_ACCESS_ADD_MEMBER, r);
164 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_GROUP_ACCESS_REMOVE_MEMBER", SAMR_GROUP_ACCESS_REMOVE_MEMBER, r);
165 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_GROUP_ACCESS_GET_MEMBERS", SAMR_GROUP_ACCESS_GET_MEMBERS, r);
166 0 : ndr->depth--;
167 0 : }
168 :
169 3479 : static enum ndr_err_code ndr_push_samr_AliasAccessMask(struct ndr_push *ndr, int ndr_flags, uint32_t r)
170 : {
171 3479 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
172 3479 : return NDR_ERR_SUCCESS;
173 : }
174 :
175 2253 : static enum ndr_err_code ndr_pull_samr_AliasAccessMask(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
176 : {
177 : uint32_t v;
178 2253 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
179 2253 : *r = v;
180 2253 : return NDR_ERR_SUCCESS;
181 : }
182 :
183 0 : _PUBLIC_ void ndr_print_samr_AliasAccessMask(struct ndr_print *ndr, const char *name, uint32_t r)
184 : {
185 0 : ndr_print_uint32(ndr, name, r);
186 0 : ndr->depth++;
187 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ALIAS_ACCESS_ADD_MEMBER", SAMR_ALIAS_ACCESS_ADD_MEMBER, r);
188 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ALIAS_ACCESS_REMOVE_MEMBER", SAMR_ALIAS_ACCESS_REMOVE_MEMBER, r);
189 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ALIAS_ACCESS_GET_MEMBERS", SAMR_ALIAS_ACCESS_GET_MEMBERS, r);
190 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ALIAS_ACCESS_LOOKUP_INFO", SAMR_ALIAS_ACCESS_LOOKUP_INFO, r);
191 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ALIAS_ACCESS_SET_INFO", SAMR_ALIAS_ACCESS_SET_INFO, r);
192 0 : ndr->depth--;
193 0 : }
194 :
195 24942 : static enum ndr_err_code ndr_push_samr_SamEntry(struct ndr_push *ndr, int ndr_flags, const struct samr_SamEntry *r)
196 : {
197 24942 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
198 24942 : if (ndr_flags & NDR_SCALARS) {
199 12471 : NDR_CHECK(ndr_push_align(ndr, 5));
200 12471 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->idx));
201 12471 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->name));
202 12471 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
203 : }
204 24942 : if (ndr_flags & NDR_BUFFERS) {
205 12471 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->name));
206 : }
207 24942 : return NDR_ERR_SUCCESS;
208 : }
209 :
210 14250 : static enum ndr_err_code ndr_pull_samr_SamEntry(struct ndr_pull *ndr, int ndr_flags, struct samr_SamEntry *r)
211 : {
212 14250 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
213 14250 : if (ndr_flags & NDR_SCALARS) {
214 7125 : NDR_CHECK(ndr_pull_align(ndr, 5));
215 7125 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->idx));
216 7125 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->name));
217 7125 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
218 : }
219 14250 : if (ndr_flags & NDR_BUFFERS) {
220 7125 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->name));
221 : }
222 14250 : return NDR_ERR_SUCCESS;
223 : }
224 :
225 34 : _PUBLIC_ void ndr_print_samr_SamEntry(struct ndr_print *ndr, const char *name, const struct samr_SamEntry *r)
226 : {
227 34 : ndr_print_struct(ndr, name, "samr_SamEntry");
228 34 : if (r == NULL) { ndr_print_null(ndr); return; }
229 34 : ndr->depth++;
230 34 : ndr_print_uint32(ndr, "idx", r->idx);
231 34 : ndr_print_lsa_String(ndr, "name", &r->name);
232 34 : ndr->depth--;
233 : }
234 :
235 592 : static enum ndr_err_code ndr_push_samr_SamArray(struct ndr_push *ndr, int ndr_flags, const struct samr_SamArray *r)
236 : {
237 : uint32_t cntr_entries_1;
238 592 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
239 592 : if (ndr_flags & NDR_SCALARS) {
240 592 : NDR_CHECK(ndr_push_align(ndr, 5));
241 592 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
242 592 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->entries));
243 592 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
244 : }
245 592 : if (ndr_flags & NDR_BUFFERS) {
246 592 : if (r->entries) {
247 560 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
248 13031 : for (cntr_entries_1 = 0; cntr_entries_1 < (r->count); cntr_entries_1++) {
249 12471 : NDR_CHECK(ndr_push_samr_SamEntry(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
250 : }
251 13031 : for (cntr_entries_1 = 0; cntr_entries_1 < (r->count); cntr_entries_1++) {
252 12471 : NDR_CHECK(ndr_push_samr_SamEntry(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
253 : }
254 : }
255 : }
256 592 : return NDR_ERR_SUCCESS;
257 : }
258 :
259 565 : static enum ndr_err_code ndr_pull_samr_SamArray(struct ndr_pull *ndr, int ndr_flags, struct samr_SamArray *r)
260 : {
261 : uint32_t _ptr_entries;
262 565 : uint32_t size_entries_1 = 0;
263 : uint32_t cntr_entries_1;
264 565 : TALLOC_CTX *_mem_save_entries_0 = NULL;
265 565 : TALLOC_CTX *_mem_save_entries_1 = NULL;
266 565 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
267 565 : if (ndr_flags & NDR_SCALARS) {
268 565 : NDR_CHECK(ndr_pull_align(ndr, 5));
269 565 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
270 565 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_entries));
271 565 : if (_ptr_entries) {
272 512 : NDR_PULL_ALLOC(ndr, r->entries);
273 : } else {
274 53 : r->entries = NULL;
275 : }
276 565 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
277 : }
278 565 : if (ndr_flags & NDR_BUFFERS) {
279 565 : if (r->entries) {
280 512 : _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
281 512 : NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
282 512 : NDR_CHECK(ndr_pull_array_size(ndr, &r->entries));
283 512 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->entries, &size_entries_1));
284 512 : NDR_PULL_ALLOC_N(ndr, r->entries, size_entries_1);
285 512 : _mem_save_entries_1 = NDR_PULL_GET_MEM_CTX(ndr);
286 512 : NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
287 7637 : for (cntr_entries_1 = 0; cntr_entries_1 < (size_entries_1); cntr_entries_1++) {
288 7125 : NDR_CHECK(ndr_pull_samr_SamEntry(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
289 : }
290 7637 : for (cntr_entries_1 = 0; cntr_entries_1 < (size_entries_1); cntr_entries_1++) {
291 7125 : NDR_CHECK(ndr_pull_samr_SamEntry(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
292 : }
293 512 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_1, 0);
294 512 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0);
295 : }
296 565 : if (r->entries) {
297 512 : NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->entries, r->count));
298 : }
299 1635 : for (cntr_entries_1 = 0; cntr_entries_1 < (size_entries_1); cntr_entries_1++) {
300 : }
301 : }
302 565 : return NDR_ERR_SUCCESS;
303 : }
304 :
305 4 : _PUBLIC_ void ndr_print_samr_SamArray(struct ndr_print *ndr, const char *name, const struct samr_SamArray *r)
306 : {
307 : uint32_t cntr_entries_1;
308 4 : ndr_print_struct(ndr, name, "samr_SamArray");
309 4 : if (r == NULL) { ndr_print_null(ndr); return; }
310 4 : ndr->depth++;
311 4 : ndr_print_uint32(ndr, "count", r->count);
312 4 : ndr_print_ptr(ndr, "entries", r->entries);
313 4 : ndr->depth++;
314 4 : if (r->entries) {
315 4 : ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)r->count);
316 4 : ndr->depth++;
317 38 : for (cntr_entries_1 = 0; cntr_entries_1 < (r->count); cntr_entries_1++) {
318 34 : ndr_print_samr_SamEntry(ndr, "entries", &r->entries[cntr_entries_1]);
319 : }
320 4 : ndr->depth--;
321 : }
322 4 : ndr->depth--;
323 4 : ndr->depth--;
324 : }
325 :
326 1052 : static enum ndr_err_code ndr_push_samr_DomainInfoClass(struct ndr_push *ndr, int ndr_flags, enum samr_DomainInfoClass r)
327 : {
328 1052 : NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
329 1052 : return NDR_ERR_SUCCESS;
330 : }
331 :
332 947 : static enum ndr_err_code ndr_pull_samr_DomainInfoClass(struct ndr_pull *ndr, int ndr_flags, enum samr_DomainInfoClass *r)
333 : {
334 : uint16_t v;
335 947 : NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
336 947 : *r = v;
337 947 : return NDR_ERR_SUCCESS;
338 : }
339 :
340 0 : _PUBLIC_ void ndr_print_samr_DomainInfoClass(struct ndr_print *ndr, const char *name, enum samr_DomainInfoClass r)
341 : {
342 0 : const char *val = NULL;
343 :
344 0 : switch (r) {
345 0 : case DomainPasswordInformation: val = "DomainPasswordInformation"; break;
346 0 : case DomainGeneralInformation: val = "DomainGeneralInformation"; break;
347 0 : case DomainLogoffInformation: val = "DomainLogoffInformation"; break;
348 0 : case DomainOemInformation: val = "DomainOemInformation"; break;
349 0 : case DomainNameInformation: val = "DomainNameInformation"; break;
350 0 : case DomainReplicationInformation: val = "DomainReplicationInformation"; break;
351 0 : case DomainServerRoleInformation: val = "DomainServerRoleInformation"; break;
352 0 : case DomainModifiedInformation: val = "DomainModifiedInformation"; break;
353 0 : case DomainStateInformation: val = "DomainStateInformation"; break;
354 0 : case DomainUasInformation: val = "DomainUasInformation"; break;
355 0 : case DomainGeneralInformation2: val = "DomainGeneralInformation2"; break;
356 0 : case DomainLockoutInformation: val = "DomainLockoutInformation"; break;
357 0 : case DomainModifiedInformation2: val = "DomainModifiedInformation2"; break;
358 : }
359 0 : ndr_print_enum(ndr, name, "ENUM", val, r);
360 0 : }
361 :
362 274 : static enum ndr_err_code ndr_push_samr_Role(struct ndr_push *ndr, int ndr_flags, enum samr_Role r)
363 : {
364 274 : NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
365 274 : return NDR_ERR_SUCCESS;
366 : }
367 :
368 290 : static enum ndr_err_code ndr_pull_samr_Role(struct ndr_pull *ndr, int ndr_flags, enum samr_Role *r)
369 : {
370 : uint32_t v;
371 290 : NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
372 290 : *r = v;
373 290 : return NDR_ERR_SUCCESS;
374 : }
375 :
376 2 : _PUBLIC_ void ndr_print_samr_Role(struct ndr_print *ndr, const char *name, enum samr_Role r)
377 : {
378 2 : const char *val = NULL;
379 :
380 2 : switch (r) {
381 0 : case SAMR_ROLE_STANDALONE: val = "SAMR_ROLE_STANDALONE"; break;
382 0 : case SAMR_ROLE_DOMAIN_MEMBER: val = "SAMR_ROLE_DOMAIN_MEMBER"; break;
383 0 : case SAMR_ROLE_DOMAIN_BDC: val = "SAMR_ROLE_DOMAIN_BDC"; break;
384 2 : case SAMR_ROLE_DOMAIN_PDC: val = "SAMR_ROLE_DOMAIN_PDC"; break;
385 : }
386 2 : ndr_print_enum(ndr, name, "ENUM", val, r);
387 2 : }
388 :
389 6807 : _PUBLIC_ enum ndr_err_code ndr_push_samr_PasswordProperties(struct ndr_push *ndr, int ndr_flags, uint32_t r)
390 : {
391 6807 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
392 6807 : return NDR_ERR_SUCCESS;
393 : }
394 :
395 6129 : _PUBLIC_ enum ndr_err_code ndr_pull_samr_PasswordProperties(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
396 : {
397 : uint32_t v;
398 6129 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
399 6129 : *r = v;
400 6129 : return NDR_ERR_SUCCESS;
401 : }
402 :
403 1694 : _PUBLIC_ void ndr_print_samr_PasswordProperties(struct ndr_print *ndr, const char *name, uint32_t r)
404 : {
405 1694 : ndr_print_uint32(ndr, name, r);
406 1694 : ndr->depth++;
407 1694 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DOMAIN_PASSWORD_COMPLEX", DOMAIN_PASSWORD_COMPLEX, r);
408 1694 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DOMAIN_PASSWORD_NO_ANON_CHANGE", DOMAIN_PASSWORD_NO_ANON_CHANGE, r);
409 1694 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DOMAIN_PASSWORD_NO_CLEAR_CHANGE", DOMAIN_PASSWORD_NO_CLEAR_CHANGE, r);
410 1694 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DOMAIN_PASSWORD_LOCKOUT_ADMINS", DOMAIN_PASSWORD_LOCKOUT_ADMINS, r);
411 1694 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DOMAIN_PASSWORD_STORE_CLEARTEXT", DOMAIN_PASSWORD_STORE_CLEARTEXT, r);
412 1694 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DOMAIN_REFUSE_PASSWORD_CHANGE", DOMAIN_REFUSE_PASSWORD_CHANGE, r);
413 1694 : ndr->depth--;
414 1694 : }
415 :
416 273 : static enum ndr_err_code ndr_push_samr_DomainServerState(struct ndr_push *ndr, int ndr_flags, enum samr_DomainServerState r)
417 : {
418 273 : NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
419 273 : return NDR_ERR_SUCCESS;
420 : }
421 :
422 289 : static enum ndr_err_code ndr_pull_samr_DomainServerState(struct ndr_pull *ndr, int ndr_flags, enum samr_DomainServerState *r)
423 : {
424 : uint32_t v;
425 289 : NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
426 289 : *r = v;
427 289 : return NDR_ERR_SUCCESS;
428 : }
429 :
430 2 : _PUBLIC_ void ndr_print_samr_DomainServerState(struct ndr_print *ndr, const char *name, enum samr_DomainServerState r)
431 : {
432 2 : const char *val = NULL;
433 :
434 2 : switch (r) {
435 0 : case DOMAIN_SERVER_ENABLED: val = "DOMAIN_SERVER_ENABLED"; break;
436 0 : case DOMAIN_SERVER_DISABLED: val = "DOMAIN_SERVER_DISABLED"; break;
437 : }
438 2 : ndr_print_enum(ndr, name, "ENUM", val, r);
439 2 : }
440 :
441 225 : static enum ndr_err_code ndr_push_samr_DomInfo1(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo1 *r)
442 : {
443 225 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
444 225 : if (ndr_flags & NDR_SCALARS) {
445 225 : NDR_CHECK(ndr_push_align(ndr, 4));
446 225 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->min_password_length));
447 225 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->password_history_length));
448 225 : NDR_CHECK(ndr_push_samr_PasswordProperties(ndr, NDR_SCALARS, r->password_properties));
449 225 : NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->max_password_age));
450 225 : NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->min_password_age));
451 225 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
452 : }
453 225 : if (ndr_flags & NDR_BUFFERS) {
454 : }
455 225 : return NDR_ERR_SUCCESS;
456 : }
457 :
458 232 : static enum ndr_err_code ndr_pull_samr_DomInfo1(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo1 *r)
459 : {
460 232 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
461 232 : if (ndr_flags & NDR_SCALARS) {
462 232 : NDR_CHECK(ndr_pull_align(ndr, 4));
463 232 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->min_password_length));
464 232 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->password_history_length));
465 232 : NDR_CHECK(ndr_pull_samr_PasswordProperties(ndr, NDR_SCALARS, &r->password_properties));
466 232 : NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->max_password_age));
467 232 : NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->min_password_age));
468 232 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
469 : }
470 230 : if (ndr_flags & NDR_BUFFERS) {
471 : }
472 232 : return NDR_ERR_SUCCESS;
473 : }
474 :
475 4 : _PUBLIC_ void ndr_print_samr_DomInfo1(struct ndr_print *ndr, const char *name, const struct samr_DomInfo1 *r)
476 : {
477 4 : ndr_print_struct(ndr, name, "samr_DomInfo1");
478 4 : if (r == NULL) { ndr_print_null(ndr); return; }
479 4 : ndr->depth++;
480 4 : ndr_print_uint16(ndr, "min_password_length", r->min_password_length);
481 4 : ndr_print_uint16(ndr, "password_history_length", r->password_history_length);
482 4 : ndr_print_samr_PasswordProperties(ndr, "password_properties", r->password_properties);
483 4 : ndr_print_dlong(ndr, "max_password_age", r->max_password_age);
484 4 : ndr_print_dlong(ndr, "min_password_age", r->min_password_age);
485 4 : ndr->depth--;
486 : }
487 :
488 446 : static enum ndr_err_code ndr_push_samr_DomGeneralInformation(struct ndr_push *ndr, int ndr_flags, const struct samr_DomGeneralInformation *r)
489 : {
490 446 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
491 446 : if (ndr_flags & NDR_SCALARS) {
492 223 : NDR_CHECK(ndr_push_align(ndr, 5));
493 223 : NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->force_logoff_time));
494 223 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->oem_information));
495 223 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
496 223 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->primary));
497 223 : NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->sequence_num));
498 223 : NDR_CHECK(ndr_push_samr_DomainServerState(ndr, NDR_SCALARS, r->domain_server_state));
499 223 : NDR_CHECK(ndr_push_samr_Role(ndr, NDR_SCALARS, r->role));
500 223 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown3));
501 223 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_users));
502 223 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_groups));
503 223 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_aliases));
504 223 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
505 : }
506 446 : if (ndr_flags & NDR_BUFFERS) {
507 223 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->oem_information));
508 223 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
509 223 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->primary));
510 : }
511 446 : return NDR_ERR_SUCCESS;
512 : }
513 :
514 470 : static enum ndr_err_code ndr_pull_samr_DomGeneralInformation(struct ndr_pull *ndr, int ndr_flags, struct samr_DomGeneralInformation *r)
515 : {
516 470 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
517 470 : if (ndr_flags & NDR_SCALARS) {
518 235 : NDR_CHECK(ndr_pull_align(ndr, 5));
519 235 : NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->force_logoff_time));
520 235 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->oem_information));
521 235 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
522 235 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->primary));
523 235 : NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->sequence_num));
524 235 : NDR_CHECK(ndr_pull_samr_DomainServerState(ndr, NDR_SCALARS, &r->domain_server_state));
525 235 : NDR_CHECK(ndr_pull_samr_Role(ndr, NDR_SCALARS, &r->role));
526 235 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown3));
527 235 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_users));
528 235 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_groups));
529 235 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_aliases));
530 235 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
531 : }
532 470 : if (ndr_flags & NDR_BUFFERS) {
533 235 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->oem_information));
534 235 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
535 235 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->primary));
536 : }
537 470 : return NDR_ERR_SUCCESS;
538 : }
539 :
540 2 : _PUBLIC_ void ndr_print_samr_DomGeneralInformation(struct ndr_print *ndr, const char *name, const struct samr_DomGeneralInformation *r)
541 : {
542 2 : ndr_print_struct(ndr, name, "samr_DomGeneralInformation");
543 2 : if (r == NULL) { ndr_print_null(ndr); return; }
544 2 : ndr->depth++;
545 2 : ndr_print_NTTIME(ndr, "force_logoff_time", r->force_logoff_time);
546 2 : ndr_print_lsa_String(ndr, "oem_information", &r->oem_information);
547 2 : ndr_print_lsa_String(ndr, "domain_name", &r->domain_name);
548 2 : ndr_print_lsa_String(ndr, "primary", &r->primary);
549 2 : ndr_print_udlong(ndr, "sequence_num", r->sequence_num);
550 2 : ndr_print_samr_DomainServerState(ndr, "domain_server_state", r->domain_server_state);
551 2 : ndr_print_samr_Role(ndr, "role", r->role);
552 2 : ndr_print_uint32(ndr, "unknown3", r->unknown3);
553 2 : ndr_print_uint32(ndr, "num_users", r->num_users);
554 2 : ndr_print_uint32(ndr, "num_groups", r->num_groups);
555 2 : ndr_print_uint32(ndr, "num_aliases", r->num_aliases);
556 2 : ndr->depth--;
557 : }
558 :
559 55 : static enum ndr_err_code ndr_push_samr_DomInfo3(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo3 *r)
560 : {
561 55 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
562 55 : if (ndr_flags & NDR_SCALARS) {
563 55 : NDR_CHECK(ndr_push_align(ndr, 4));
564 55 : NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->force_logoff_time));
565 55 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
566 : }
567 55 : if (ndr_flags & NDR_BUFFERS) {
568 : }
569 55 : return NDR_ERR_SUCCESS;
570 : }
571 :
572 59 : static enum ndr_err_code ndr_pull_samr_DomInfo3(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo3 *r)
573 : {
574 59 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
575 59 : if (ndr_flags & NDR_SCALARS) {
576 59 : NDR_CHECK(ndr_pull_align(ndr, 4));
577 59 : NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->force_logoff_time));
578 59 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
579 : }
580 59 : if (ndr_flags & NDR_BUFFERS) {
581 : }
582 59 : return NDR_ERR_SUCCESS;
583 : }
584 :
585 0 : _PUBLIC_ void ndr_print_samr_DomInfo3(struct ndr_print *ndr, const char *name, const struct samr_DomInfo3 *r)
586 : {
587 0 : ndr_print_struct(ndr, name, "samr_DomInfo3");
588 0 : if (r == NULL) { ndr_print_null(ndr); return; }
589 0 : ndr->depth++;
590 0 : ndr_print_NTTIME(ndr, "force_logoff_time", r->force_logoff_time);
591 0 : ndr->depth--;
592 : }
593 :
594 128 : static enum ndr_err_code ndr_push_samr_DomOEMInformation(struct ndr_push *ndr, int ndr_flags, const struct samr_DomOEMInformation *r)
595 : {
596 128 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
597 128 : if (ndr_flags & NDR_SCALARS) {
598 64 : NDR_CHECK(ndr_push_align(ndr, 5));
599 64 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->oem_information));
600 64 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
601 : }
602 128 : if (ndr_flags & NDR_BUFFERS) {
603 64 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->oem_information));
604 : }
605 128 : return NDR_ERR_SUCCESS;
606 : }
607 :
608 132 : static enum ndr_err_code ndr_pull_samr_DomOEMInformation(struct ndr_pull *ndr, int ndr_flags, struct samr_DomOEMInformation *r)
609 : {
610 132 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
611 132 : if (ndr_flags & NDR_SCALARS) {
612 66 : NDR_CHECK(ndr_pull_align(ndr, 5));
613 66 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->oem_information));
614 66 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
615 : }
616 132 : if (ndr_flags & NDR_BUFFERS) {
617 66 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->oem_information));
618 : }
619 132 : return NDR_ERR_SUCCESS;
620 : }
621 :
622 0 : _PUBLIC_ void ndr_print_samr_DomOEMInformation(struct ndr_print *ndr, const char *name, const struct samr_DomOEMInformation *r)
623 : {
624 0 : ndr_print_struct(ndr, name, "samr_DomOEMInformation");
625 0 : if (r == NULL) { ndr_print_null(ndr); return; }
626 0 : ndr->depth++;
627 0 : ndr_print_lsa_String(ndr, "oem_information", &r->oem_information);
628 0 : ndr->depth--;
629 : }
630 :
631 102 : static enum ndr_err_code ndr_push_samr_DomInfo5(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo5 *r)
632 : {
633 102 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
634 102 : if (ndr_flags & NDR_SCALARS) {
635 51 : NDR_CHECK(ndr_push_align(ndr, 5));
636 51 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
637 51 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
638 : }
639 102 : if (ndr_flags & NDR_BUFFERS) {
640 51 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
641 : }
642 102 : return NDR_ERR_SUCCESS;
643 : }
644 :
645 110 : static enum ndr_err_code ndr_pull_samr_DomInfo5(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo5 *r)
646 : {
647 110 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
648 110 : if (ndr_flags & NDR_SCALARS) {
649 55 : NDR_CHECK(ndr_pull_align(ndr, 5));
650 55 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
651 55 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
652 : }
653 110 : if (ndr_flags & NDR_BUFFERS) {
654 55 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
655 : }
656 110 : return NDR_ERR_SUCCESS;
657 : }
658 :
659 0 : _PUBLIC_ void ndr_print_samr_DomInfo5(struct ndr_print *ndr, const char *name, const struct samr_DomInfo5 *r)
660 : {
661 0 : ndr_print_struct(ndr, name, "samr_DomInfo5");
662 0 : if (r == NULL) { ndr_print_null(ndr); return; }
663 0 : ndr->depth++;
664 0 : ndr_print_lsa_String(ndr, "domain_name", &r->domain_name);
665 0 : ndr->depth--;
666 : }
667 :
668 102 : static enum ndr_err_code ndr_push_samr_DomInfo6(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo6 *r)
669 : {
670 102 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
671 102 : if (ndr_flags & NDR_SCALARS) {
672 51 : NDR_CHECK(ndr_push_align(ndr, 5));
673 51 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->primary));
674 51 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
675 : }
676 102 : if (ndr_flags & NDR_BUFFERS) {
677 51 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->primary));
678 : }
679 102 : return NDR_ERR_SUCCESS;
680 : }
681 :
682 110 : static enum ndr_err_code ndr_pull_samr_DomInfo6(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo6 *r)
683 : {
684 110 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
685 110 : if (ndr_flags & NDR_SCALARS) {
686 55 : NDR_CHECK(ndr_pull_align(ndr, 5));
687 55 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->primary));
688 55 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
689 : }
690 110 : if (ndr_flags & NDR_BUFFERS) {
691 55 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->primary));
692 : }
693 110 : return NDR_ERR_SUCCESS;
694 : }
695 :
696 0 : _PUBLIC_ void ndr_print_samr_DomInfo6(struct ndr_print *ndr, const char *name, const struct samr_DomInfo6 *r)
697 : {
698 0 : ndr_print_struct(ndr, name, "samr_DomInfo6");
699 0 : if (r == NULL) { ndr_print_null(ndr); return; }
700 0 : ndr->depth++;
701 0 : ndr_print_lsa_String(ndr, "primary", &r->primary);
702 0 : ndr->depth--;
703 : }
704 :
705 51 : static enum ndr_err_code ndr_push_samr_DomInfo7(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo7 *r)
706 : {
707 51 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
708 51 : if (ndr_flags & NDR_SCALARS) {
709 51 : NDR_CHECK(ndr_push_align(ndr, 4));
710 51 : NDR_CHECK(ndr_push_samr_Role(ndr, NDR_SCALARS, r->role));
711 51 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
712 : }
713 51 : if (ndr_flags & NDR_BUFFERS) {
714 : }
715 51 : return NDR_ERR_SUCCESS;
716 : }
717 :
718 55 : static enum ndr_err_code ndr_pull_samr_DomInfo7(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo7 *r)
719 : {
720 55 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
721 55 : if (ndr_flags & NDR_SCALARS) {
722 55 : NDR_CHECK(ndr_pull_align(ndr, 4));
723 55 : NDR_CHECK(ndr_pull_samr_Role(ndr, NDR_SCALARS, &r->role));
724 55 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
725 : }
726 55 : if (ndr_flags & NDR_BUFFERS) {
727 : }
728 55 : return NDR_ERR_SUCCESS;
729 : }
730 :
731 0 : _PUBLIC_ void ndr_print_samr_DomInfo7(struct ndr_print *ndr, const char *name, const struct samr_DomInfo7 *r)
732 : {
733 0 : ndr_print_struct(ndr, name, "samr_DomInfo7");
734 0 : if (r == NULL) { ndr_print_null(ndr); return; }
735 0 : ndr->depth++;
736 0 : ndr_print_samr_Role(ndr, "role", r->role);
737 0 : ndr->depth--;
738 : }
739 :
740 57 : static enum ndr_err_code ndr_push_samr_DomInfo8(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo8 *r)
741 : {
742 57 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
743 57 : if (ndr_flags & NDR_SCALARS) {
744 57 : NDR_CHECK(ndr_push_align(ndr, 8));
745 57 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->sequence_num));
746 57 : NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->domain_create_time));
747 57 : NDR_CHECK(ndr_push_trailer_align(ndr, 8));
748 : }
749 57 : if (ndr_flags & NDR_BUFFERS) {
750 : }
751 57 : return NDR_ERR_SUCCESS;
752 : }
753 :
754 62 : static enum ndr_err_code ndr_pull_samr_DomInfo8(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo8 *r)
755 : {
756 62 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
757 62 : if (ndr_flags & NDR_SCALARS) {
758 62 : NDR_CHECK(ndr_pull_align(ndr, 8));
759 62 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->sequence_num));
760 62 : NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->domain_create_time));
761 62 : NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
762 : }
763 62 : if (ndr_flags & NDR_BUFFERS) {
764 : }
765 62 : return NDR_ERR_SUCCESS;
766 : }
767 :
768 2 : _PUBLIC_ void ndr_print_samr_DomInfo8(struct ndr_print *ndr, const char *name, const struct samr_DomInfo8 *r)
769 : {
770 2 : ndr_print_struct(ndr, name, "samr_DomInfo8");
771 2 : if (r == NULL) { ndr_print_null(ndr); return; }
772 2 : ndr->depth++;
773 2 : ndr_print_hyper(ndr, "sequence_num", r->sequence_num);
774 2 : ndr_print_NTTIME(ndr, "domain_create_time", r->domain_create_time);
775 2 : ndr->depth--;
776 : }
777 :
778 50 : static enum ndr_err_code ndr_push_samr_DomInfo9(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo9 *r)
779 : {
780 50 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
781 50 : if (ndr_flags & NDR_SCALARS) {
782 50 : NDR_CHECK(ndr_push_align(ndr, 4));
783 50 : NDR_CHECK(ndr_push_samr_DomainServerState(ndr, NDR_SCALARS, r->domain_server_state));
784 50 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
785 : }
786 50 : if (ndr_flags & NDR_BUFFERS) {
787 : }
788 50 : return NDR_ERR_SUCCESS;
789 : }
790 :
791 54 : static enum ndr_err_code ndr_pull_samr_DomInfo9(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo9 *r)
792 : {
793 54 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
794 54 : if (ndr_flags & NDR_SCALARS) {
795 54 : NDR_CHECK(ndr_pull_align(ndr, 4));
796 54 : NDR_CHECK(ndr_pull_samr_DomainServerState(ndr, NDR_SCALARS, &r->domain_server_state));
797 54 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
798 : }
799 54 : if (ndr_flags & NDR_BUFFERS) {
800 : }
801 54 : return NDR_ERR_SUCCESS;
802 : }
803 :
804 0 : _PUBLIC_ void ndr_print_samr_DomInfo9(struct ndr_print *ndr, const char *name, const struct samr_DomInfo9 *r)
805 : {
806 0 : ndr_print_struct(ndr, name, "samr_DomInfo9");
807 0 : if (r == NULL) { ndr_print_null(ndr); return; }
808 0 : ndr->depth++;
809 0 : ndr_print_samr_DomainServerState(ndr, "domain_server_state", r->domain_server_state);
810 0 : ndr->depth--;
811 : }
812 :
813 100 : static enum ndr_err_code ndr_push_samr_DomGeneralInformation2(struct ndr_push *ndr, int ndr_flags, const struct samr_DomGeneralInformation2 *r)
814 : {
815 100 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
816 100 : if (ndr_flags & NDR_SCALARS) {
817 50 : NDR_CHECK(ndr_push_align(ndr, 8));
818 50 : NDR_CHECK(ndr_push_samr_DomGeneralInformation(ndr, NDR_SCALARS, &r->general));
819 50 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->lockout_duration));
820 50 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->lockout_window));
821 50 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lockout_threshold));
822 50 : NDR_CHECK(ndr_push_trailer_align(ndr, 8));
823 : }
824 100 : if (ndr_flags & NDR_BUFFERS) {
825 50 : NDR_CHECK(ndr_push_samr_DomGeneralInformation(ndr, NDR_BUFFERS, &r->general));
826 : }
827 100 : return NDR_ERR_SUCCESS;
828 : }
829 :
830 108 : static enum ndr_err_code ndr_pull_samr_DomGeneralInformation2(struct ndr_pull *ndr, int ndr_flags, struct samr_DomGeneralInformation2 *r)
831 : {
832 108 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
833 108 : if (ndr_flags & NDR_SCALARS) {
834 54 : NDR_CHECK(ndr_pull_align(ndr, 8));
835 54 : NDR_CHECK(ndr_pull_samr_DomGeneralInformation(ndr, NDR_SCALARS, &r->general));
836 54 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->lockout_duration));
837 54 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->lockout_window));
838 54 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lockout_threshold));
839 54 : NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
840 : }
841 108 : if (ndr_flags & NDR_BUFFERS) {
842 54 : NDR_CHECK(ndr_pull_samr_DomGeneralInformation(ndr, NDR_BUFFERS, &r->general));
843 : }
844 108 : return NDR_ERR_SUCCESS;
845 : }
846 :
847 0 : _PUBLIC_ void ndr_print_samr_DomGeneralInformation2(struct ndr_print *ndr, const char *name, const struct samr_DomGeneralInformation2 *r)
848 : {
849 0 : ndr_print_struct(ndr, name, "samr_DomGeneralInformation2");
850 0 : if (r == NULL) { ndr_print_null(ndr); return; }
851 0 : ndr->depth++;
852 0 : ndr_print_samr_DomGeneralInformation(ndr, "general", &r->general);
853 0 : ndr_print_hyper(ndr, "lockout_duration", r->lockout_duration);
854 0 : ndr_print_hyper(ndr, "lockout_window", r->lockout_window);
855 0 : ndr_print_uint16(ndr, "lockout_threshold", r->lockout_threshold);
856 0 : ndr->depth--;
857 : }
858 :
859 169 : static enum ndr_err_code ndr_push_samr_DomInfo12(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo12 *r)
860 : {
861 169 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
862 169 : if (ndr_flags & NDR_SCALARS) {
863 169 : NDR_CHECK(ndr_push_align(ndr, 8));
864 169 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->lockout_duration));
865 169 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->lockout_window));
866 169 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lockout_threshold));
867 169 : NDR_CHECK(ndr_push_trailer_align(ndr, 8));
868 : }
869 169 : if (ndr_flags & NDR_BUFFERS) {
870 : }
871 169 : return NDR_ERR_SUCCESS;
872 : }
873 :
874 170 : static enum ndr_err_code ndr_pull_samr_DomInfo12(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo12 *r)
875 : {
876 170 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
877 170 : if (ndr_flags & NDR_SCALARS) {
878 170 : NDR_CHECK(ndr_pull_align(ndr, 8));
879 170 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->lockout_duration));
880 170 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->lockout_window));
881 170 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lockout_threshold));
882 170 : NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
883 : }
884 170 : if (ndr_flags & NDR_BUFFERS) {
885 : }
886 170 : return NDR_ERR_SUCCESS;
887 : }
888 :
889 2 : _PUBLIC_ void ndr_print_samr_DomInfo12(struct ndr_print *ndr, const char *name, const struct samr_DomInfo12 *r)
890 : {
891 2 : ndr_print_struct(ndr, name, "samr_DomInfo12");
892 2 : if (r == NULL) { ndr_print_null(ndr); return; }
893 2 : ndr->depth++;
894 2 : ndr_print_hyper(ndr, "lockout_duration", r->lockout_duration);
895 2 : ndr_print_hyper(ndr, "lockout_window", r->lockout_window);
896 2 : ndr_print_uint16(ndr, "lockout_threshold", r->lockout_threshold);
897 2 : ndr->depth--;
898 : }
899 :
900 50 : static enum ndr_err_code ndr_push_samr_DomInfo13(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo13 *r)
901 : {
902 50 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
903 50 : if (ndr_flags & NDR_SCALARS) {
904 50 : NDR_CHECK(ndr_push_align(ndr, 8));
905 50 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->sequence_num));
906 50 : NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->domain_create_time));
907 50 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->modified_count_at_last_promotion));
908 50 : NDR_CHECK(ndr_push_trailer_align(ndr, 8));
909 : }
910 50 : if (ndr_flags & NDR_BUFFERS) {
911 : }
912 50 : return NDR_ERR_SUCCESS;
913 : }
914 :
915 54 : static enum ndr_err_code ndr_pull_samr_DomInfo13(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo13 *r)
916 : {
917 54 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
918 54 : if (ndr_flags & NDR_SCALARS) {
919 54 : NDR_CHECK(ndr_pull_align(ndr, 8));
920 54 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->sequence_num));
921 54 : NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->domain_create_time));
922 54 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->modified_count_at_last_promotion));
923 54 : NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
924 : }
925 54 : if (ndr_flags & NDR_BUFFERS) {
926 : }
927 54 : return NDR_ERR_SUCCESS;
928 : }
929 :
930 0 : _PUBLIC_ void ndr_print_samr_DomInfo13(struct ndr_print *ndr, const char *name, const struct samr_DomInfo13 *r)
931 : {
932 0 : ndr_print_struct(ndr, name, "samr_DomInfo13");
933 0 : if (r == NULL) { ndr_print_null(ndr); return; }
934 0 : ndr->depth++;
935 0 : ndr_print_hyper(ndr, "sequence_num", r->sequence_num);
936 0 : ndr_print_NTTIME(ndr, "domain_create_time", r->domain_create_time);
937 0 : ndr_print_hyper(ndr, "modified_count_at_last_promotion", r->modified_count_at_last_promotion);
938 0 : ndr->depth--;
939 : }
940 :
941 977 : static enum ndr_err_code ndr_push_samr_DomainInfo(struct ndr_push *ndr, int ndr_flags, const union samr_DomainInfo *r)
942 : {
943 : uint32_t level;
944 977 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
945 977 : if (ndr_flags & NDR_SCALARS) {
946 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
947 977 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
948 977 : NDR_CHECK(ndr_push_union_align(ndr, 8));
949 977 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level));
950 977 : NDR_CHECK(ndr_push_union_align(ndr, 8));
951 977 : switch (level) {
952 156 : case 1: {
953 156 : NDR_CHECK(ndr_push_samr_DomInfo1(ndr, NDR_SCALARS, &r->info1));
954 156 : break; }
955 :
956 173 : case 2: {
957 173 : NDR_CHECK(ndr_push_samr_DomGeneralInformation(ndr, NDR_SCALARS, &r->general));
958 173 : break; }
959 :
960 55 : case 3: {
961 55 : NDR_CHECK(ndr_push_samr_DomInfo3(ndr, NDR_SCALARS, &r->info3));
962 55 : break; }
963 :
964 64 : case 4: {
965 64 : NDR_CHECK(ndr_push_samr_DomOEMInformation(ndr, NDR_SCALARS, &r->oem));
966 64 : break; }
967 :
968 51 : case 5: {
969 51 : NDR_CHECK(ndr_push_samr_DomInfo5(ndr, NDR_SCALARS, &r->info5));
970 51 : break; }
971 :
972 51 : case 6: {
973 51 : NDR_CHECK(ndr_push_samr_DomInfo6(ndr, NDR_SCALARS, &r->info6));
974 51 : break; }
975 :
976 51 : case 7: {
977 51 : NDR_CHECK(ndr_push_samr_DomInfo7(ndr, NDR_SCALARS, &r->info7));
978 51 : break; }
979 :
980 57 : case 8: {
981 57 : NDR_CHECK(ndr_push_samr_DomInfo8(ndr, NDR_SCALARS, &r->info8));
982 57 : break; }
983 :
984 50 : case 9: {
985 50 : NDR_CHECK(ndr_push_samr_DomInfo9(ndr, NDR_SCALARS, &r->info9));
986 50 : break; }
987 :
988 50 : case 11: {
989 50 : NDR_CHECK(ndr_push_samr_DomGeneralInformation2(ndr, NDR_SCALARS, &r->general2));
990 50 : break; }
991 :
992 169 : case 12: {
993 169 : NDR_CHECK(ndr_push_samr_DomInfo12(ndr, NDR_SCALARS, &r->info12));
994 169 : break; }
995 :
996 50 : case 13: {
997 50 : NDR_CHECK(ndr_push_samr_DomInfo13(ndr, NDR_SCALARS, &r->info13));
998 50 : break; }
999 :
1000 0 : default:
1001 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1002 : }
1003 0 : }
1004 977 : if (ndr_flags & NDR_BUFFERS) {
1005 977 : if (!(ndr_flags & NDR_SCALARS)) {
1006 : /* We didn't get it above, and the token is not needed after this. */
1007 0 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
1008 : }
1009 977 : switch (level) {
1010 156 : case 1:
1011 156 : break;
1012 :
1013 173 : case 2:
1014 173 : NDR_CHECK(ndr_push_samr_DomGeneralInformation(ndr, NDR_BUFFERS, &r->general));
1015 173 : break;
1016 :
1017 55 : case 3:
1018 55 : break;
1019 :
1020 64 : case 4:
1021 64 : NDR_CHECK(ndr_push_samr_DomOEMInformation(ndr, NDR_BUFFERS, &r->oem));
1022 64 : break;
1023 :
1024 51 : case 5:
1025 51 : NDR_CHECK(ndr_push_samr_DomInfo5(ndr, NDR_BUFFERS, &r->info5));
1026 51 : break;
1027 :
1028 51 : case 6:
1029 51 : NDR_CHECK(ndr_push_samr_DomInfo6(ndr, NDR_BUFFERS, &r->info6));
1030 51 : break;
1031 :
1032 51 : case 7:
1033 51 : break;
1034 :
1035 57 : case 8:
1036 57 : break;
1037 :
1038 50 : case 9:
1039 50 : break;
1040 :
1041 50 : case 11:
1042 50 : NDR_CHECK(ndr_push_samr_DomGeneralInformation2(ndr, NDR_BUFFERS, &r->general2));
1043 50 : break;
1044 :
1045 169 : case 12:
1046 169 : break;
1047 :
1048 50 : case 13:
1049 50 : break;
1050 :
1051 0 : default:
1052 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1053 : }
1054 0 : }
1055 977 : return NDR_ERR_SUCCESS;
1056 : }
1057 :
1058 1026 : static enum ndr_err_code ndr_pull_samr_DomainInfo(struct ndr_pull *ndr, int ndr_flags, union samr_DomainInfo *r)
1059 : {
1060 : uint32_t level;
1061 : uint16_t _level;
1062 1026 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1063 1026 : if (ndr_flags & NDR_SCALARS) {
1064 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
1065 1026 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
1066 1026 : NDR_CHECK(ndr_pull_union_align(ndr, 8));
1067 1026 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
1068 1026 : if (_level != level) {
1069 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
1070 : }
1071 1026 : NDR_CHECK(ndr_pull_union_align(ndr, 8));
1072 1026 : switch (level) {
1073 161 : case 1: {
1074 161 : NDR_CHECK(ndr_pull_samr_DomInfo1(ndr, NDR_SCALARS, &r->info1));
1075 161 : break; }
1076 :
1077 181 : case 2: {
1078 181 : NDR_CHECK(ndr_pull_samr_DomGeneralInformation(ndr, NDR_SCALARS, &r->general));
1079 181 : break; }
1080 :
1081 59 : case 3: {
1082 59 : NDR_CHECK(ndr_pull_samr_DomInfo3(ndr, NDR_SCALARS, &r->info3));
1083 59 : break; }
1084 :
1085 66 : case 4: {
1086 66 : NDR_CHECK(ndr_pull_samr_DomOEMInformation(ndr, NDR_SCALARS, &r->oem));
1087 66 : break; }
1088 :
1089 55 : case 5: {
1090 55 : NDR_CHECK(ndr_pull_samr_DomInfo5(ndr, NDR_SCALARS, &r->info5));
1091 55 : break; }
1092 :
1093 55 : case 6: {
1094 55 : NDR_CHECK(ndr_pull_samr_DomInfo6(ndr, NDR_SCALARS, &r->info6));
1095 55 : break; }
1096 :
1097 55 : case 7: {
1098 55 : NDR_CHECK(ndr_pull_samr_DomInfo7(ndr, NDR_SCALARS, &r->info7));
1099 55 : break; }
1100 :
1101 62 : case 8: {
1102 62 : NDR_CHECK(ndr_pull_samr_DomInfo8(ndr, NDR_SCALARS, &r->info8));
1103 62 : break; }
1104 :
1105 54 : case 9: {
1106 54 : NDR_CHECK(ndr_pull_samr_DomInfo9(ndr, NDR_SCALARS, &r->info9));
1107 54 : break; }
1108 :
1109 54 : case 11: {
1110 54 : NDR_CHECK(ndr_pull_samr_DomGeneralInformation2(ndr, NDR_SCALARS, &r->general2));
1111 54 : break; }
1112 :
1113 170 : case 12: {
1114 170 : NDR_CHECK(ndr_pull_samr_DomInfo12(ndr, NDR_SCALARS, &r->info12));
1115 170 : break; }
1116 :
1117 54 : case 13: {
1118 54 : NDR_CHECK(ndr_pull_samr_DomInfo13(ndr, NDR_SCALARS, &r->info13));
1119 54 : break; }
1120 :
1121 0 : default:
1122 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1123 : }
1124 0 : }
1125 1026 : if (ndr_flags & NDR_BUFFERS) {
1126 1026 : if (!(ndr_flags & NDR_SCALARS)) {
1127 : /* We didn't get it above, and the token is not needed after this. */
1128 0 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
1129 : }
1130 1026 : switch (level) {
1131 161 : case 1:
1132 161 : break;
1133 :
1134 181 : case 2:
1135 181 : NDR_CHECK(ndr_pull_samr_DomGeneralInformation(ndr, NDR_BUFFERS, &r->general));
1136 181 : break;
1137 :
1138 59 : case 3:
1139 59 : break;
1140 :
1141 66 : case 4:
1142 66 : NDR_CHECK(ndr_pull_samr_DomOEMInformation(ndr, NDR_BUFFERS, &r->oem));
1143 66 : break;
1144 :
1145 55 : case 5:
1146 55 : NDR_CHECK(ndr_pull_samr_DomInfo5(ndr, NDR_BUFFERS, &r->info5));
1147 55 : break;
1148 :
1149 55 : case 6:
1150 55 : NDR_CHECK(ndr_pull_samr_DomInfo6(ndr, NDR_BUFFERS, &r->info6));
1151 55 : break;
1152 :
1153 55 : case 7:
1154 55 : break;
1155 :
1156 62 : case 8:
1157 62 : break;
1158 :
1159 54 : case 9:
1160 54 : break;
1161 :
1162 54 : case 11:
1163 54 : NDR_CHECK(ndr_pull_samr_DomGeneralInformation2(ndr, NDR_BUFFERS, &r->general2));
1164 54 : break;
1165 :
1166 170 : case 12:
1167 170 : break;
1168 :
1169 54 : case 13:
1170 54 : break;
1171 :
1172 0 : default:
1173 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1174 : }
1175 0 : }
1176 1026 : return NDR_ERR_SUCCESS;
1177 : }
1178 :
1179 8 : _PUBLIC_ void ndr_print_samr_DomainInfo(struct ndr_print *ndr, const char *name, const union samr_DomainInfo *r)
1180 : {
1181 : uint32_t level;
1182 8 : level = ndr_print_steal_switch_value(ndr, r);
1183 8 : ndr_print_union(ndr, name, level, "samr_DomainInfo");
1184 8 : switch (level) {
1185 2 : case 1:
1186 2 : ndr_print_samr_DomInfo1(ndr, "info1", &r->info1);
1187 2 : break;
1188 :
1189 2 : case 2:
1190 2 : ndr_print_samr_DomGeneralInformation(ndr, "general", &r->general);
1191 2 : break;
1192 :
1193 0 : case 3:
1194 0 : ndr_print_samr_DomInfo3(ndr, "info3", &r->info3);
1195 0 : break;
1196 :
1197 0 : case 4:
1198 0 : ndr_print_samr_DomOEMInformation(ndr, "oem", &r->oem);
1199 0 : break;
1200 :
1201 0 : case 5:
1202 0 : ndr_print_samr_DomInfo5(ndr, "info5", &r->info5);
1203 0 : break;
1204 :
1205 0 : case 6:
1206 0 : ndr_print_samr_DomInfo6(ndr, "info6", &r->info6);
1207 0 : break;
1208 :
1209 0 : case 7:
1210 0 : ndr_print_samr_DomInfo7(ndr, "info7", &r->info7);
1211 0 : break;
1212 :
1213 2 : case 8:
1214 2 : ndr_print_samr_DomInfo8(ndr, "info8", &r->info8);
1215 2 : break;
1216 :
1217 0 : case 9:
1218 0 : ndr_print_samr_DomInfo9(ndr, "info9", &r->info9);
1219 0 : break;
1220 :
1221 0 : case 11:
1222 0 : ndr_print_samr_DomGeneralInformation2(ndr, "general2", &r->general2);
1223 0 : break;
1224 :
1225 2 : case 12:
1226 2 : ndr_print_samr_DomInfo12(ndr, "info12", &r->info12);
1227 2 : break;
1228 :
1229 0 : case 13:
1230 0 : ndr_print_samr_DomInfo13(ndr, "info13", &r->info13);
1231 0 : break;
1232 :
1233 0 : default:
1234 0 : ndr_print_bad_level(ndr, name, level);
1235 : }
1236 8 : }
1237 :
1238 15258 : static enum ndr_err_code ndr_push_samr_Ids(struct ndr_push *ndr, int ndr_flags, const struct samr_Ids *r)
1239 : {
1240 : uint32_t cntr_ids_1;
1241 15258 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1242 15258 : if (ndr_flags & NDR_SCALARS) {
1243 15258 : NDR_CHECK(ndr_push_align(ndr, 5));
1244 15258 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
1245 15258 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->ids));
1246 15258 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1247 : }
1248 15258 : if (ndr_flags & NDR_BUFFERS) {
1249 15258 : if (r->ids) {
1250 14634 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
1251 30586 : for (cntr_ids_1 = 0; cntr_ids_1 < (r->count); cntr_ids_1++) {
1252 15986 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ids[cntr_ids_1]));
1253 : }
1254 : }
1255 : }
1256 15224 : return NDR_ERR_SUCCESS;
1257 : }
1258 :
1259 7745 : static enum ndr_err_code ndr_pull_samr_Ids(struct ndr_pull *ndr, int ndr_flags, struct samr_Ids *r)
1260 : {
1261 : uint32_t _ptr_ids;
1262 7745 : uint32_t size_ids_1 = 0;
1263 : uint32_t cntr_ids_1;
1264 7745 : TALLOC_CTX *_mem_save_ids_0 = NULL;
1265 7745 : TALLOC_CTX *_mem_save_ids_1 = NULL;
1266 7745 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1267 7745 : if (ndr_flags & NDR_SCALARS) {
1268 7745 : NDR_CHECK(ndr_pull_align(ndr, 5));
1269 7745 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
1270 7745 : if (r->count > 1024) {
1271 0 : return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1272 : }
1273 7745 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ids));
1274 7745 : if (_ptr_ids) {
1275 7119 : NDR_PULL_ALLOC(ndr, r->ids);
1276 : } else {
1277 626 : r->ids = NULL;
1278 : }
1279 7745 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1280 : }
1281 7745 : if (ndr_flags & NDR_BUFFERS) {
1282 7745 : if (r->ids) {
1283 7119 : _mem_save_ids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1284 7119 : NDR_PULL_SET_MEM_CTX(ndr, r->ids, 0);
1285 7119 : NDR_CHECK(ndr_pull_array_size(ndr, &r->ids));
1286 7119 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->ids, &size_ids_1));
1287 7119 : NDR_PULL_ALLOC_N(ndr, r->ids, size_ids_1);
1288 7119 : _mem_save_ids_1 = NDR_PULL_GET_MEM_CTX(ndr);
1289 7119 : NDR_PULL_SET_MEM_CTX(ndr, r->ids, 0);
1290 14881 : for (cntr_ids_1 = 0; cntr_ids_1 < (size_ids_1); cntr_ids_1++) {
1291 7762 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ids[cntr_ids_1]));
1292 : }
1293 7119 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ids_1, 0);
1294 7119 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ids_0, 0);
1295 : }
1296 7745 : if (r->ids) {
1297 7119 : NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->ids, r->count));
1298 : }
1299 : }
1300 7741 : return NDR_ERR_SUCCESS;
1301 : }
1302 :
1303 464 : _PUBLIC_ void ndr_print_samr_Ids(struct ndr_print *ndr, const char *name, const struct samr_Ids *r)
1304 : {
1305 : uint32_t cntr_ids_1;
1306 464 : ndr_print_struct(ndr, name, "samr_Ids");
1307 464 : if (r == NULL) { ndr_print_null(ndr); return; }
1308 464 : ndr->depth++;
1309 464 : ndr_print_uint32(ndr, "count", r->count);
1310 464 : ndr_print_ptr(ndr, "ids", r->ids);
1311 464 : ndr->depth++;
1312 464 : if (r->ids) {
1313 464 : ndr->print(ndr, "%s: ARRAY(%d)", "ids", (int)r->count);
1314 464 : ndr->depth++;
1315 918 : for (cntr_ids_1 = 0; cntr_ids_1 < (r->count); cntr_ids_1++) {
1316 454 : ndr_print_uint32(ndr, "ids", r->ids[cntr_ids_1]);
1317 : }
1318 464 : ndr->depth--;
1319 : }
1320 464 : ndr->depth--;
1321 464 : ndr->depth--;
1322 : }
1323 :
1324 338 : static enum ndr_err_code ndr_push_samr_GroupInfoAll(struct ndr_push *ndr, int ndr_flags, const struct samr_GroupInfoAll *r)
1325 : {
1326 338 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1327 338 : if (ndr_flags & NDR_SCALARS) {
1328 169 : NDR_CHECK(ndr_push_align(ndr, 5));
1329 169 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->name));
1330 169 : NDR_CHECK(ndr_push_security_GroupAttrs(ndr, NDR_SCALARS, r->attributes));
1331 169 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_members));
1332 169 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
1333 169 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1334 : }
1335 338 : if (ndr_flags & NDR_BUFFERS) {
1336 169 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->name));
1337 169 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
1338 : }
1339 338 : return NDR_ERR_SUCCESS;
1340 : }
1341 :
1342 332 : static enum ndr_err_code ndr_pull_samr_GroupInfoAll(struct ndr_pull *ndr, int ndr_flags, struct samr_GroupInfoAll *r)
1343 : {
1344 332 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1345 332 : if (ndr_flags & NDR_SCALARS) {
1346 166 : NDR_CHECK(ndr_pull_align(ndr, 5));
1347 166 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->name));
1348 166 : NDR_CHECK(ndr_pull_security_GroupAttrs(ndr, NDR_SCALARS, &r->attributes));
1349 166 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_members));
1350 166 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
1351 166 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1352 : }
1353 332 : if (ndr_flags & NDR_BUFFERS) {
1354 166 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->name));
1355 166 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
1356 : }
1357 332 : return NDR_ERR_SUCCESS;
1358 : }
1359 :
1360 6 : _PUBLIC_ void ndr_print_samr_GroupInfoAll(struct ndr_print *ndr, const char *name, const struct samr_GroupInfoAll *r)
1361 : {
1362 6 : ndr_print_struct(ndr, name, "samr_GroupInfoAll");
1363 6 : if (r == NULL) { ndr_print_null(ndr); return; }
1364 6 : ndr->depth++;
1365 6 : ndr_print_lsa_String(ndr, "name", &r->name);
1366 6 : ndr_print_security_GroupAttrs(ndr, "attributes", r->attributes);
1367 6 : ndr_print_uint32(ndr, "num_members", r->num_members);
1368 6 : ndr_print_lsa_String(ndr, "description", &r->description);
1369 6 : ndr->depth--;
1370 : }
1371 :
1372 85 : static enum ndr_err_code ndr_push_samr_GroupInfoAttributes(struct ndr_push *ndr, int ndr_flags, const struct samr_GroupInfoAttributes *r)
1373 : {
1374 85 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1375 85 : if (ndr_flags & NDR_SCALARS) {
1376 85 : NDR_CHECK(ndr_push_align(ndr, 4));
1377 85 : NDR_CHECK(ndr_push_security_GroupAttrs(ndr, NDR_SCALARS, r->attributes));
1378 85 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1379 : }
1380 85 : if (ndr_flags & NDR_BUFFERS) {
1381 : }
1382 85 : return NDR_ERR_SUCCESS;
1383 : }
1384 :
1385 85 : static enum ndr_err_code ndr_pull_samr_GroupInfoAttributes(struct ndr_pull *ndr, int ndr_flags, struct samr_GroupInfoAttributes *r)
1386 : {
1387 85 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1388 85 : if (ndr_flags & NDR_SCALARS) {
1389 85 : NDR_CHECK(ndr_pull_align(ndr, 4));
1390 85 : NDR_CHECK(ndr_pull_security_GroupAttrs(ndr, NDR_SCALARS, &r->attributes));
1391 85 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1392 : }
1393 85 : if (ndr_flags & NDR_BUFFERS) {
1394 : }
1395 85 : return NDR_ERR_SUCCESS;
1396 : }
1397 :
1398 0 : _PUBLIC_ void ndr_print_samr_GroupInfoAttributes(struct ndr_print *ndr, const char *name, const struct samr_GroupInfoAttributes *r)
1399 : {
1400 0 : ndr_print_struct(ndr, name, "samr_GroupInfoAttributes");
1401 0 : if (r == NULL) { ndr_print_null(ndr); return; }
1402 0 : ndr->depth++;
1403 0 : ndr_print_security_GroupAttrs(ndr, "attributes", r->attributes);
1404 0 : ndr->depth--;
1405 : }
1406 :
1407 839 : static enum ndr_err_code ndr_push_samr_GroupInfoEnum(struct ndr_push *ndr, int ndr_flags, enum samr_GroupInfoEnum r)
1408 : {
1409 839 : NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
1410 839 : return NDR_ERR_SUCCESS;
1411 : }
1412 :
1413 418 : static enum ndr_err_code ndr_pull_samr_GroupInfoEnum(struct ndr_pull *ndr, int ndr_flags, enum samr_GroupInfoEnum *r)
1414 : {
1415 : uint16_t v;
1416 418 : NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
1417 418 : *r = v;
1418 418 : return NDR_ERR_SUCCESS;
1419 : }
1420 :
1421 0 : _PUBLIC_ void ndr_print_samr_GroupInfoEnum(struct ndr_print *ndr, const char *name, enum samr_GroupInfoEnum r)
1422 : {
1423 0 : const char *val = NULL;
1424 :
1425 0 : switch (r) {
1426 0 : case GROUPINFOALL: val = "GROUPINFOALL"; break;
1427 0 : case GROUPINFONAME: val = "GROUPINFONAME"; break;
1428 0 : case GROUPINFOATTRIBUTES: val = "GROUPINFOATTRIBUTES"; break;
1429 0 : case GROUPINFODESCRIPTION: val = "GROUPINFODESCRIPTION"; break;
1430 0 : case GROUPINFOALL2: val = "GROUPINFOALL2"; break;
1431 : }
1432 0 : ndr_print_enum(ndr, name, "ENUM", val, r);
1433 0 : }
1434 :
1435 421 : static enum ndr_err_code ndr_push_samr_GroupInfo(struct ndr_push *ndr, int ndr_flags, const union samr_GroupInfo *r)
1436 : {
1437 : uint32_t level;
1438 421 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1439 421 : if (ndr_flags & NDR_SCALARS) {
1440 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
1441 421 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
1442 421 : NDR_CHECK(ndr_push_union_align(ndr, 5));
1443 421 : NDR_CHECK(ndr_push_samr_GroupInfoEnum(ndr, NDR_SCALARS, level));
1444 421 : NDR_CHECK(ndr_push_union_align(ndr, 5));
1445 421 : switch (level) {
1446 86 : case GROUPINFOALL: {
1447 86 : NDR_CHECK(ndr_push_samr_GroupInfoAll(ndr, NDR_SCALARS, &r->all));
1448 86 : break; }
1449 :
1450 84 : case GROUPINFONAME: {
1451 84 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->name));
1452 84 : break; }
1453 :
1454 85 : case GROUPINFOATTRIBUTES: {
1455 85 : NDR_CHECK(ndr_push_samr_GroupInfoAttributes(ndr, NDR_SCALARS, &r->attributes));
1456 85 : break; }
1457 :
1458 83 : case GROUPINFODESCRIPTION: {
1459 83 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
1460 83 : break; }
1461 :
1462 83 : case GROUPINFOALL2: {
1463 83 : NDR_CHECK(ndr_push_samr_GroupInfoAll(ndr, NDR_SCALARS, &r->all2));
1464 83 : break; }
1465 :
1466 0 : default:
1467 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1468 : }
1469 0 : }
1470 421 : if (ndr_flags & NDR_BUFFERS) {
1471 421 : if (!(ndr_flags & NDR_SCALARS)) {
1472 : /* We didn't get it above, and the token is not needed after this. */
1473 0 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
1474 : }
1475 421 : switch (level) {
1476 86 : case GROUPINFOALL:
1477 86 : NDR_CHECK(ndr_push_samr_GroupInfoAll(ndr, NDR_BUFFERS, &r->all));
1478 86 : break;
1479 :
1480 84 : case GROUPINFONAME:
1481 84 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->name));
1482 84 : break;
1483 :
1484 85 : case GROUPINFOATTRIBUTES:
1485 85 : break;
1486 :
1487 83 : case GROUPINFODESCRIPTION:
1488 83 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
1489 83 : break;
1490 :
1491 83 : case GROUPINFOALL2:
1492 83 : NDR_CHECK(ndr_push_samr_GroupInfoAll(ndr, NDR_BUFFERS, &r->all2));
1493 83 : break;
1494 :
1495 0 : default:
1496 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1497 : }
1498 0 : }
1499 421 : return NDR_ERR_SUCCESS;
1500 : }
1501 :
1502 418 : static enum ndr_err_code ndr_pull_samr_GroupInfo(struct ndr_pull *ndr, int ndr_flags, union samr_GroupInfo *r)
1503 : {
1504 : uint32_t level;
1505 : uint16_t _level;
1506 418 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1507 418 : if (ndr_flags & NDR_SCALARS) {
1508 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
1509 418 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
1510 418 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
1511 418 : NDR_CHECK(ndr_pull_uint1632(ndr, NDR_SCALARS, &_level));
1512 418 : if (_level != level) {
1513 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
1514 : }
1515 418 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
1516 418 : switch (level) {
1517 85 : case GROUPINFOALL: {
1518 85 : NDR_CHECK(ndr_pull_samr_GroupInfoAll(ndr, NDR_SCALARS, &r->all));
1519 85 : break; }
1520 :
1521 84 : case GROUPINFONAME: {
1522 84 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->name));
1523 84 : break; }
1524 :
1525 85 : case GROUPINFOATTRIBUTES: {
1526 85 : NDR_CHECK(ndr_pull_samr_GroupInfoAttributes(ndr, NDR_SCALARS, &r->attributes));
1527 85 : break; }
1528 :
1529 83 : case GROUPINFODESCRIPTION: {
1530 83 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
1531 83 : break; }
1532 :
1533 81 : case GROUPINFOALL2: {
1534 81 : NDR_CHECK(ndr_pull_samr_GroupInfoAll(ndr, NDR_SCALARS, &r->all2));
1535 81 : break; }
1536 :
1537 0 : default:
1538 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1539 : }
1540 0 : }
1541 418 : if (ndr_flags & NDR_BUFFERS) {
1542 418 : if (!(ndr_flags & NDR_SCALARS)) {
1543 : /* We didn't get it above, and the token is not needed after this. */
1544 0 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
1545 : }
1546 418 : switch (level) {
1547 85 : case GROUPINFOALL:
1548 85 : NDR_CHECK(ndr_pull_samr_GroupInfoAll(ndr, NDR_BUFFERS, &r->all));
1549 85 : break;
1550 :
1551 84 : case GROUPINFONAME:
1552 84 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->name));
1553 84 : break;
1554 :
1555 85 : case GROUPINFOATTRIBUTES:
1556 85 : break;
1557 :
1558 83 : case GROUPINFODESCRIPTION:
1559 83 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
1560 83 : break;
1561 :
1562 81 : case GROUPINFOALL2:
1563 81 : NDR_CHECK(ndr_pull_samr_GroupInfoAll(ndr, NDR_BUFFERS, &r->all2));
1564 81 : break;
1565 :
1566 0 : default:
1567 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1568 : }
1569 0 : }
1570 418 : return NDR_ERR_SUCCESS;
1571 : }
1572 :
1573 6 : _PUBLIC_ void ndr_print_samr_GroupInfo(struct ndr_print *ndr, const char *name, const union samr_GroupInfo *r)
1574 : {
1575 : uint32_t level;
1576 6 : level = ndr_print_steal_switch_value(ndr, r);
1577 6 : ndr_print_union(ndr, name, level, "samr_GroupInfo");
1578 6 : switch (level) {
1579 2 : case GROUPINFOALL:
1580 2 : ndr_print_samr_GroupInfoAll(ndr, "all", &r->all);
1581 2 : break;
1582 :
1583 0 : case GROUPINFONAME:
1584 0 : ndr_print_lsa_String(ndr, "name", &r->name);
1585 0 : break;
1586 :
1587 0 : case GROUPINFOATTRIBUTES:
1588 0 : ndr_print_samr_GroupInfoAttributes(ndr, "attributes", &r->attributes);
1589 0 : break;
1590 :
1591 0 : case GROUPINFODESCRIPTION:
1592 0 : ndr_print_lsa_String(ndr, "description", &r->description);
1593 0 : break;
1594 :
1595 4 : case GROUPINFOALL2:
1596 4 : ndr_print_samr_GroupInfoAll(ndr, "all2", &r->all2);
1597 4 : break;
1598 :
1599 0 : default:
1600 0 : ndr_print_bad_level(ndr, name, level);
1601 : }
1602 6 : }
1603 :
1604 536 : static enum ndr_err_code ndr_push_samr_RidAttrArray(struct ndr_push *ndr, int ndr_flags, const struct samr_RidAttrArray *r)
1605 : {
1606 : uint32_t cntr_rids_1;
1607 : uint32_t cntr_attributes_1;
1608 536 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1609 536 : if (ndr_flags & NDR_SCALARS) {
1610 536 : NDR_CHECK(ndr_push_align(ndr, 5));
1611 536 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
1612 536 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->rids));
1613 536 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->attributes));
1614 536 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1615 : }
1616 536 : if (ndr_flags & NDR_BUFFERS) {
1617 536 : if (r->rids) {
1618 139 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
1619 284 : for (cntr_rids_1 = 0; cntr_rids_1 < (r->count); cntr_rids_1++) {
1620 145 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rids[cntr_rids_1]));
1621 : }
1622 : }
1623 536 : if (r->attributes) {
1624 139 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
1625 284 : for (cntr_attributes_1 = 0; cntr_attributes_1 < (r->count); cntr_attributes_1++) {
1626 145 : NDR_CHECK(ndr_push_security_GroupAttrs(ndr, NDR_SCALARS, r->attributes[cntr_attributes_1]));
1627 : }
1628 : }
1629 : }
1630 536 : return NDR_ERR_SUCCESS;
1631 : }
1632 :
1633 828 : static enum ndr_err_code ndr_pull_samr_RidAttrArray(struct ndr_pull *ndr, int ndr_flags, struct samr_RidAttrArray *r)
1634 : {
1635 : uint32_t _ptr_rids;
1636 828 : uint32_t size_rids_1 = 0;
1637 : uint32_t cntr_rids_1;
1638 828 : TALLOC_CTX *_mem_save_rids_0 = NULL;
1639 828 : TALLOC_CTX *_mem_save_rids_1 = NULL;
1640 : uint32_t _ptr_attributes;
1641 828 : uint32_t size_attributes_1 = 0;
1642 : uint32_t cntr_attributes_1;
1643 828 : TALLOC_CTX *_mem_save_attributes_0 = NULL;
1644 828 : TALLOC_CTX *_mem_save_attributes_1 = NULL;
1645 828 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1646 828 : if (ndr_flags & NDR_SCALARS) {
1647 828 : NDR_CHECK(ndr_pull_align(ndr, 5));
1648 828 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
1649 828 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rids));
1650 828 : if (_ptr_rids) {
1651 136 : NDR_PULL_ALLOC(ndr, r->rids);
1652 : } else {
1653 692 : r->rids = NULL;
1654 : }
1655 828 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attributes));
1656 828 : if (_ptr_attributes) {
1657 136 : NDR_PULL_ALLOC(ndr, r->attributes);
1658 : } else {
1659 692 : r->attributes = NULL;
1660 : }
1661 828 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1662 : }
1663 828 : if (ndr_flags & NDR_BUFFERS) {
1664 828 : if (r->rids) {
1665 136 : _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1666 136 : NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0);
1667 136 : NDR_CHECK(ndr_pull_array_size(ndr, &r->rids));
1668 136 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->rids, &size_rids_1));
1669 136 : NDR_PULL_ALLOC_N(ndr, r->rids, size_rids_1);
1670 136 : _mem_save_rids_1 = NDR_PULL_GET_MEM_CTX(ndr);
1671 136 : NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0);
1672 284 : for (cntr_rids_1 = 0; cntr_rids_1 < (size_rids_1); cntr_rids_1++) {
1673 148 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rids[cntr_rids_1]));
1674 : }
1675 136 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_1, 0);
1676 136 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, 0);
1677 : }
1678 828 : if (r->attributes) {
1679 136 : _mem_save_attributes_0 = NDR_PULL_GET_MEM_CTX(ndr);
1680 136 : NDR_PULL_SET_MEM_CTX(ndr, r->attributes, 0);
1681 136 : NDR_CHECK(ndr_pull_array_size(ndr, &r->attributes));
1682 136 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->attributes, &size_attributes_1));
1683 136 : NDR_PULL_ALLOC_N(ndr, r->attributes, size_attributes_1);
1684 136 : _mem_save_attributes_1 = NDR_PULL_GET_MEM_CTX(ndr);
1685 136 : NDR_PULL_SET_MEM_CTX(ndr, r->attributes, 0);
1686 284 : for (cntr_attributes_1 = 0; cntr_attributes_1 < (size_attributes_1); cntr_attributes_1++) {
1687 148 : NDR_CHECK(ndr_pull_security_GroupAttrs(ndr, NDR_SCALARS, &r->attributes[cntr_attributes_1]));
1688 : }
1689 136 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attributes_1, 0);
1690 136 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attributes_0, 0);
1691 : }
1692 828 : if (r->rids) {
1693 136 : NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->rids, r->count));
1694 : }
1695 828 : if (r->attributes) {
1696 136 : NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->attributes, r->count));
1697 : }
1698 : }
1699 828 : return NDR_ERR_SUCCESS;
1700 : }
1701 :
1702 24 : _PUBLIC_ void ndr_print_samr_RidAttrArray(struct ndr_print *ndr, const char *name, const struct samr_RidAttrArray *r)
1703 : {
1704 : uint32_t cntr_rids_1;
1705 : uint32_t cntr_attributes_1;
1706 24 : ndr_print_struct(ndr, name, "samr_RidAttrArray");
1707 24 : if (r == NULL) { ndr_print_null(ndr); return; }
1708 24 : ndr->depth++;
1709 24 : ndr_print_uint32(ndr, "count", r->count);
1710 24 : ndr_print_ptr(ndr, "rids", r->rids);
1711 24 : ndr->depth++;
1712 24 : if (r->rids) {
1713 10 : ndr->print(ndr, "%s: ARRAY(%d)", "rids", (int)r->count);
1714 10 : ndr->depth++;
1715 20 : for (cntr_rids_1 = 0; cntr_rids_1 < (r->count); cntr_rids_1++) {
1716 10 : ndr_print_uint32(ndr, "rids", r->rids[cntr_rids_1]);
1717 : }
1718 10 : ndr->depth--;
1719 : }
1720 24 : ndr->depth--;
1721 24 : ndr_print_ptr(ndr, "attributes", r->attributes);
1722 24 : ndr->depth++;
1723 24 : if (r->attributes) {
1724 10 : ndr->print(ndr, "%s: ARRAY(%d)", "attributes", (int)r->count);
1725 10 : ndr->depth++;
1726 20 : for (cntr_attributes_1 = 0; cntr_attributes_1 < (r->count); cntr_attributes_1++) {
1727 10 : ndr_print_security_GroupAttrs(ndr, "attributes", r->attributes[cntr_attributes_1]);
1728 : }
1729 10 : ndr->depth--;
1730 : }
1731 24 : ndr->depth--;
1732 24 : ndr->depth--;
1733 : }
1734 :
1735 284 : static enum ndr_err_code ndr_push_samr_AliasInfoAll(struct ndr_push *ndr, int ndr_flags, const struct samr_AliasInfoAll *r)
1736 : {
1737 284 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1738 284 : if (ndr_flags & NDR_SCALARS) {
1739 142 : NDR_CHECK(ndr_push_align(ndr, 5));
1740 142 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->name));
1741 142 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_members));
1742 142 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
1743 142 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1744 : }
1745 284 : if (ndr_flags & NDR_BUFFERS) {
1746 142 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->name));
1747 142 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
1748 : }
1749 284 : return NDR_ERR_SUCCESS;
1750 : }
1751 :
1752 296 : static enum ndr_err_code ndr_pull_samr_AliasInfoAll(struct ndr_pull *ndr, int ndr_flags, struct samr_AliasInfoAll *r)
1753 : {
1754 296 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1755 296 : if (ndr_flags & NDR_SCALARS) {
1756 148 : NDR_CHECK(ndr_pull_align(ndr, 5));
1757 148 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->name));
1758 148 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_members));
1759 148 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
1760 148 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1761 : }
1762 296 : if (ndr_flags & NDR_BUFFERS) {
1763 148 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->name));
1764 148 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
1765 : }
1766 296 : return NDR_ERR_SUCCESS;
1767 : }
1768 :
1769 0 : _PUBLIC_ void ndr_print_samr_AliasInfoAll(struct ndr_print *ndr, const char *name, const struct samr_AliasInfoAll *r)
1770 : {
1771 0 : ndr_print_struct(ndr, name, "samr_AliasInfoAll");
1772 0 : if (r == NULL) { ndr_print_null(ndr); return; }
1773 0 : ndr->depth++;
1774 0 : ndr_print_lsa_String(ndr, "name", &r->name);
1775 0 : ndr_print_uint32(ndr, "num_members", r->num_members);
1776 0 : ndr_print_lsa_String(ndr, "description", &r->description);
1777 0 : ndr->depth--;
1778 : }
1779 :
1780 926 : static enum ndr_err_code ndr_push_samr_AliasInfoEnum(struct ndr_push *ndr, int ndr_flags, enum samr_AliasInfoEnum r)
1781 : {
1782 926 : NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
1783 926 : return NDR_ERR_SUCCESS;
1784 : }
1785 :
1786 454 : static enum ndr_err_code ndr_pull_samr_AliasInfoEnum(struct ndr_pull *ndr, int ndr_flags, enum samr_AliasInfoEnum *r)
1787 : {
1788 : uint16_t v;
1789 454 : NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
1790 454 : *r = v;
1791 454 : return NDR_ERR_SUCCESS;
1792 : }
1793 :
1794 0 : _PUBLIC_ void ndr_print_samr_AliasInfoEnum(struct ndr_print *ndr, const char *name, enum samr_AliasInfoEnum r)
1795 : {
1796 0 : const char *val = NULL;
1797 :
1798 0 : switch (r) {
1799 0 : case ALIASINFOALL: val = "ALIASINFOALL"; break;
1800 0 : case ALIASINFONAME: val = "ALIASINFONAME"; break;
1801 0 : case ALIASINFODESCRIPTION: val = "ALIASINFODESCRIPTION"; break;
1802 : }
1803 0 : ndr_print_enum(ndr, name, "ENUM", val, r);
1804 0 : }
1805 :
1806 454 : static enum ndr_err_code ndr_push_samr_AliasInfo(struct ndr_push *ndr, int ndr_flags, const union samr_AliasInfo *r)
1807 : {
1808 : uint32_t level;
1809 454 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1810 454 : if (ndr_flags & NDR_SCALARS) {
1811 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
1812 454 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
1813 454 : NDR_CHECK(ndr_push_union_align(ndr, 5));
1814 454 : NDR_CHECK(ndr_push_samr_AliasInfoEnum(ndr, NDR_SCALARS, level));
1815 454 : NDR_CHECK(ndr_push_union_align(ndr, 5));
1816 454 : switch (level) {
1817 142 : case ALIASINFOALL: {
1818 142 : NDR_CHECK(ndr_push_samr_AliasInfoAll(ndr, NDR_SCALARS, &r->all));
1819 142 : break; }
1820 :
1821 156 : case ALIASINFONAME: {
1822 156 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->name));
1823 156 : break; }
1824 :
1825 156 : case ALIASINFODESCRIPTION: {
1826 156 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
1827 156 : break; }
1828 :
1829 0 : default:
1830 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1831 : }
1832 0 : }
1833 454 : if (ndr_flags & NDR_BUFFERS) {
1834 454 : if (!(ndr_flags & NDR_SCALARS)) {
1835 : /* We didn't get it above, and the token is not needed after this. */
1836 0 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
1837 : }
1838 454 : switch (level) {
1839 142 : case ALIASINFOALL:
1840 142 : NDR_CHECK(ndr_push_samr_AliasInfoAll(ndr, NDR_BUFFERS, &r->all));
1841 142 : break;
1842 :
1843 156 : case ALIASINFONAME:
1844 156 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->name));
1845 156 : break;
1846 :
1847 156 : case ALIASINFODESCRIPTION:
1848 156 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
1849 156 : break;
1850 :
1851 0 : default:
1852 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1853 : }
1854 0 : }
1855 454 : return NDR_ERR_SUCCESS;
1856 : }
1857 :
1858 472 : static enum ndr_err_code ndr_pull_samr_AliasInfo(struct ndr_pull *ndr, int ndr_flags, union samr_AliasInfo *r)
1859 : {
1860 : uint32_t level;
1861 : uint16_t _level;
1862 472 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1863 472 : if (ndr_flags & NDR_SCALARS) {
1864 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
1865 472 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
1866 472 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
1867 472 : NDR_CHECK(ndr_pull_uint1632(ndr, NDR_SCALARS, &_level));
1868 472 : if (_level != level) {
1869 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
1870 : }
1871 472 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
1872 472 : switch (level) {
1873 148 : case ALIASINFOALL: {
1874 148 : NDR_CHECK(ndr_pull_samr_AliasInfoAll(ndr, NDR_SCALARS, &r->all));
1875 148 : break; }
1876 :
1877 162 : case ALIASINFONAME: {
1878 162 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->name));
1879 162 : break; }
1880 :
1881 162 : case ALIASINFODESCRIPTION: {
1882 162 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
1883 162 : break; }
1884 :
1885 0 : default:
1886 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1887 : }
1888 0 : }
1889 472 : if (ndr_flags & NDR_BUFFERS) {
1890 472 : if (!(ndr_flags & NDR_SCALARS)) {
1891 : /* We didn't get it above, and the token is not needed after this. */
1892 0 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
1893 : }
1894 472 : switch (level) {
1895 148 : case ALIASINFOALL:
1896 148 : NDR_CHECK(ndr_pull_samr_AliasInfoAll(ndr, NDR_BUFFERS, &r->all));
1897 148 : break;
1898 :
1899 162 : case ALIASINFONAME:
1900 162 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->name));
1901 162 : break;
1902 :
1903 162 : case ALIASINFODESCRIPTION:
1904 162 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
1905 162 : break;
1906 :
1907 0 : default:
1908 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1909 : }
1910 0 : }
1911 472 : return NDR_ERR_SUCCESS;
1912 : }
1913 :
1914 0 : _PUBLIC_ void ndr_print_samr_AliasInfo(struct ndr_print *ndr, const char *name, const union samr_AliasInfo *r)
1915 : {
1916 : uint32_t level;
1917 0 : level = ndr_print_steal_switch_value(ndr, r);
1918 0 : ndr_print_union(ndr, name, level, "samr_AliasInfo");
1919 0 : switch (level) {
1920 0 : case ALIASINFOALL:
1921 0 : ndr_print_samr_AliasInfoAll(ndr, "all", &r->all);
1922 0 : break;
1923 :
1924 0 : case ALIASINFONAME:
1925 0 : ndr_print_lsa_String(ndr, "name", &r->name);
1926 0 : break;
1927 :
1928 0 : case ALIASINFODESCRIPTION:
1929 0 : ndr_print_lsa_String(ndr, "description", &r->description);
1930 0 : break;
1931 :
1932 0 : default:
1933 0 : ndr_print_bad_level(ndr, name, level);
1934 : }
1935 0 : }
1936 :
1937 18197 : static enum ndr_err_code ndr_push_samr_UserInfoLevel(struct ndr_push *ndr, int ndr_flags, enum samr_UserInfoLevel r)
1938 : {
1939 18467 : NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
1940 18197 : return NDR_ERR_SUCCESS;
1941 : }
1942 :
1943 17518 : static enum ndr_err_code ndr_pull_samr_UserInfoLevel(struct ndr_pull *ndr, int ndr_flags, enum samr_UserInfoLevel *r)
1944 : {
1945 : uint16_t v;
1946 17796 : NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
1947 17796 : *r = v;
1948 17518 : return NDR_ERR_SUCCESS;
1949 : }
1950 :
1951 8 : _PUBLIC_ void ndr_print_samr_UserInfoLevel(struct ndr_print *ndr, const char *name, enum samr_UserInfoLevel r)
1952 : {
1953 8 : const char *val = NULL;
1954 :
1955 8 : switch (r) {
1956 0 : case UserGeneralInformation: val = "UserGeneralInformation"; break;
1957 0 : case UserPreferencesInformation: val = "UserPreferencesInformation"; break;
1958 0 : case UserLogonInformation: val = "UserLogonInformation"; break;
1959 0 : case UserLogonHoursInformation: val = "UserLogonHoursInformation"; break;
1960 0 : case UserAccountInformation: val = "UserAccountInformation"; break;
1961 0 : case UserNameInformation: val = "UserNameInformation"; break;
1962 0 : case UserAccountNameInformation: val = "UserAccountNameInformation"; break;
1963 0 : case UserFullNameInformation: val = "UserFullNameInformation"; break;
1964 0 : case UserPrimaryGroupInformation: val = "UserPrimaryGroupInformation"; break;
1965 0 : case UserHomeInformation: val = "UserHomeInformation"; break;
1966 0 : case UserScriptInformation: val = "UserScriptInformation"; break;
1967 0 : case UserProfileInformation: val = "UserProfileInformation"; break;
1968 0 : case UserAdminCommentInformation: val = "UserAdminCommentInformation"; break;
1969 0 : case UserWorkStationsInformation: val = "UserWorkStationsInformation"; break;
1970 6 : case UserControlInformation: val = "UserControlInformation"; break;
1971 0 : case UserExpiresInformation: val = "UserExpiresInformation"; break;
1972 0 : case UserInternal1Information: val = "UserInternal1Information"; break;
1973 0 : case UserParametersInformation: val = "UserParametersInformation"; break;
1974 0 : case UserAllInformation: val = "UserAllInformation"; break;
1975 0 : case UserInternal4Information: val = "UserInternal4Information"; break;
1976 0 : case UserInternal5Information: val = "UserInternal5Information"; break;
1977 0 : case UserInternal4InformationNew: val = "UserInternal4InformationNew"; break;
1978 2 : case UserInternal5InformationNew: val = "UserInternal5InformationNew"; break;
1979 : }
1980 8 : ndr_print_enum(ndr, name, "ENUM", val, r);
1981 8 : }
1982 :
1983 556 : static enum ndr_err_code ndr_push_samr_UserInfo1(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo1 *r)
1984 : {
1985 556 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1986 556 : if (ndr_flags & NDR_SCALARS) {
1987 278 : NDR_CHECK(ndr_push_align(ndr, 5));
1988 278 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
1989 278 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
1990 278 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid));
1991 278 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
1992 278 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->comment));
1993 278 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1994 : }
1995 556 : if (ndr_flags & NDR_BUFFERS) {
1996 278 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
1997 278 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
1998 278 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
1999 278 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->comment));
2000 : }
2001 556 : return NDR_ERR_SUCCESS;
2002 : }
2003 :
2004 558 : static enum ndr_err_code ndr_pull_samr_UserInfo1(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo1 *r)
2005 : {
2006 558 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2007 558 : if (ndr_flags & NDR_SCALARS) {
2008 279 : NDR_CHECK(ndr_pull_align(ndr, 5));
2009 279 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2010 279 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2011 279 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid));
2012 279 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
2013 279 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->comment));
2014 279 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2015 : }
2016 558 : if (ndr_flags & NDR_BUFFERS) {
2017 279 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2018 279 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2019 279 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
2020 279 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->comment));
2021 : }
2022 558 : return NDR_ERR_SUCCESS;
2023 : }
2024 :
2025 40 : _PUBLIC_ void ndr_print_samr_UserInfo1(struct ndr_print *ndr, const char *name, const struct samr_UserInfo1 *r)
2026 : {
2027 40 : ndr_print_struct(ndr, name, "samr_UserInfo1");
2028 40 : if (r == NULL) { ndr_print_null(ndr); return; }
2029 40 : ndr->depth++;
2030 40 : ndr_print_lsa_String(ndr, "account_name", &r->account_name);
2031 40 : ndr_print_lsa_String(ndr, "full_name", &r->full_name);
2032 40 : ndr_print_uint32(ndr, "primary_gid", r->primary_gid);
2033 40 : ndr_print_lsa_String(ndr, "description", &r->description);
2034 40 : ndr_print_lsa_String(ndr, "comment", &r->comment);
2035 40 : ndr->depth--;
2036 : }
2037 :
2038 718 : static enum ndr_err_code ndr_push_samr_UserInfo2(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo2 *r)
2039 : {
2040 718 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2041 718 : if (ndr_flags & NDR_SCALARS) {
2042 359 : NDR_CHECK(ndr_push_align(ndr, 5));
2043 359 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->comment));
2044 359 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->reserved));
2045 359 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->country_code));
2046 359 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->code_page));
2047 359 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2048 : }
2049 718 : if (ndr_flags & NDR_BUFFERS) {
2050 359 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->comment));
2051 359 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->reserved));
2052 : }
2053 718 : return NDR_ERR_SUCCESS;
2054 : }
2055 :
2056 712 : static enum ndr_err_code ndr_pull_samr_UserInfo2(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo2 *r)
2057 : {
2058 712 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2059 712 : if (ndr_flags & NDR_SCALARS) {
2060 356 : NDR_CHECK(ndr_pull_align(ndr, 5));
2061 356 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->comment));
2062 356 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->reserved));
2063 356 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->country_code));
2064 356 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->code_page));
2065 356 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2066 : }
2067 712 : if (ndr_flags & NDR_BUFFERS) {
2068 356 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->comment));
2069 356 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->reserved));
2070 : }
2071 712 : return NDR_ERR_SUCCESS;
2072 : }
2073 :
2074 6 : _PUBLIC_ void ndr_print_samr_UserInfo2(struct ndr_print *ndr, const char *name, const struct samr_UserInfo2 *r)
2075 : {
2076 6 : ndr_print_struct(ndr, name, "samr_UserInfo2");
2077 6 : if (r == NULL) { ndr_print_null(ndr); return; }
2078 6 : ndr->depth++;
2079 6 : ndr_print_lsa_String(ndr, "comment", &r->comment);
2080 6 : ndr_print_lsa_String(ndr, "reserved", &r->reserved);
2081 6 : ndr_print_uint16(ndr, "country_code", r->country_code);
2082 6 : ndr_print_uint16(ndr, "code_page", r->code_page);
2083 6 : ndr->depth--;
2084 : }
2085 :
2086 20846 : _PUBLIC_ enum ndr_err_code ndr_push_samr_LogonHours(struct ndr_push *ndr, int ndr_flags, const struct samr_LogonHours *r)
2087 : {
2088 : {
2089 20846 : uint32_t _flags_save_STRUCT = ndr->flags;
2090 20846 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2091 20846 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2092 20846 : if (ndr_flags & NDR_SCALARS) {
2093 10423 : NDR_CHECK(ndr_push_align(ndr, 5));
2094 10423 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->units_per_week));
2095 10423 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->bits));
2096 10423 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2097 : }
2098 20846 : if (ndr_flags & NDR_BUFFERS) {
2099 10423 : if (r->bits) {
2100 7546 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 1260));
2101 7546 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
2102 7546 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->units_per_week / 8));
2103 7546 : NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->bits, r->units_per_week / 8));
2104 : }
2105 : }
2106 20846 : ndr->flags = _flags_save_STRUCT;
2107 : }
2108 20846 : return NDR_ERR_SUCCESS;
2109 : }
2110 :
2111 21406 : _PUBLIC_ enum ndr_err_code ndr_pull_samr_LogonHours(struct ndr_pull *ndr, int ndr_flags, struct samr_LogonHours *r)
2112 : {
2113 : uint32_t _ptr_bits;
2114 21406 : uint32_t size_bits_1 = 0;
2115 21406 : uint32_t length_bits_1 = 0;
2116 21406 : TALLOC_CTX *_mem_save_bits_0 = NULL;
2117 : {
2118 21406 : uint32_t _flags_save_STRUCT = ndr->flags;
2119 21406 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2120 21406 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2121 21406 : if (ndr_flags & NDR_SCALARS) {
2122 10703 : NDR_CHECK(ndr_pull_align(ndr, 5));
2123 10703 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->units_per_week));
2124 10703 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_bits));
2125 10703 : if (_ptr_bits) {
2126 7827 : NDR_PULL_ALLOC(ndr, r->bits);
2127 : } else {
2128 2876 : r->bits = NULL;
2129 : }
2130 10703 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2131 : }
2132 21406 : if (ndr_flags & NDR_BUFFERS) {
2133 10703 : if (r->bits) {
2134 7827 : _mem_save_bits_0 = NDR_PULL_GET_MEM_CTX(ndr);
2135 7827 : NDR_PULL_SET_MEM_CTX(ndr, r->bits, 0);
2136 7827 : NDR_CHECK(ndr_pull_array_size(ndr, &r->bits));
2137 7827 : NDR_CHECK(ndr_pull_array_length(ndr, &r->bits));
2138 7827 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->bits, &size_bits_1));
2139 7827 : NDR_CHECK(ndr_get_array_length(ndr, (void*)&r->bits, &length_bits_1));
2140 7827 : if (length_bits_1 > size_bits_1) {
2141 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_bits_1, length_bits_1);
2142 : }
2143 7827 : NDR_PULL_ALLOC_N(ndr, r->bits, size_bits_1);
2144 7827 : NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->bits, length_bits_1));
2145 7827 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bits_0, 0);
2146 : }
2147 10703 : if (r->bits) {
2148 7827 : NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->bits, 1260));
2149 : }
2150 10703 : if (r->bits) {
2151 7827 : NDR_CHECK(ndr_check_steal_array_length(ndr, (void*)&r->bits, r->units_per_week / 8));
2152 : }
2153 : }
2154 21406 : ndr->flags = _flags_save_STRUCT;
2155 : }
2156 21406 : return NDR_ERR_SUCCESS;
2157 : }
2158 :
2159 0 : static void ndr_print_flags_samr_LogonHours(struct ndr_print *ndr, const char *name, int unused, const struct samr_LogonHours *r)
2160 : {
2161 0 : ndr_print_samr_LogonHours(ndr, name, r);
2162 0 : }
2163 :
2164 90 : _PUBLIC_ void ndr_print_samr_LogonHours(struct ndr_print *ndr, const char *name, const struct samr_LogonHours *r)
2165 : {
2166 90 : ndr_print_struct(ndr, name, "samr_LogonHours");
2167 90 : if (r == NULL) { ndr_print_null(ndr); return; }
2168 : {
2169 90 : uint32_t _flags_save_STRUCT = ndr->flags;
2170 90 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2171 90 : ndr->depth++;
2172 90 : ndr_print_uint16(ndr, "units_per_week", r->units_per_week);
2173 90 : ndr_print_ptr(ndr, "bits", r->bits);
2174 90 : ndr->depth++;
2175 90 : if (r->bits) {
2176 90 : ndr_print_array_uint8(ndr, "bits", r->bits, r->units_per_week / 8);
2177 : }
2178 90 : ndr->depth--;
2179 90 : ndr->depth--;
2180 90 : ndr->flags = _flags_save_STRUCT;
2181 : }
2182 : }
2183 :
2184 3296 : static enum ndr_err_code ndr_push_samr_UserInfo3(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo3 *r)
2185 : {
2186 3296 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2187 3296 : if (ndr_flags & NDR_SCALARS) {
2188 1648 : NDR_CHECK(ndr_push_align(ndr, 5));
2189 1648 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2190 1648 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2191 1648 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
2192 1648 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid));
2193 1648 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
2194 1648 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
2195 1648 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
2196 1648 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
2197 1648 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->workstations));
2198 1648 : NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logon));
2199 1648 : NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logoff));
2200 1648 : NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_password_change));
2201 1648 : NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->allow_password_change));
2202 1648 : NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->force_password_change));
2203 1648 : NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
2204 1648 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->bad_password_count));
2205 1648 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count));
2206 1648 : NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
2207 1648 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2208 : }
2209 3296 : if (ndr_flags & NDR_BUFFERS) {
2210 1648 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2211 1648 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2212 1648 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
2213 1648 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
2214 1648 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
2215 1648 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
2216 1648 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
2217 1648 : NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
2218 : }
2219 3296 : return NDR_ERR_SUCCESS;
2220 : }
2221 :
2222 3296 : static enum ndr_err_code ndr_pull_samr_UserInfo3(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo3 *r)
2223 : {
2224 3296 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2225 3296 : if (ndr_flags & NDR_SCALARS) {
2226 1648 : NDR_CHECK(ndr_pull_align(ndr, 5));
2227 1648 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2228 1648 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2229 1648 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
2230 1648 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid));
2231 1648 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
2232 1648 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
2233 1648 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
2234 1648 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
2235 1648 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->workstations));
2236 1648 : NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logon));
2237 1648 : NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logoff));
2238 1648 : NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_password_change));
2239 1648 : NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->allow_password_change));
2240 1648 : NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->force_password_change));
2241 1648 : NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
2242 1648 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->bad_password_count));
2243 1648 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count));
2244 1648 : NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
2245 1648 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2246 : }
2247 3296 : if (ndr_flags & NDR_BUFFERS) {
2248 1648 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2249 1648 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2250 1648 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
2251 1648 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
2252 1648 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
2253 1648 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
2254 1648 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
2255 1648 : NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
2256 : }
2257 3296 : return NDR_ERR_SUCCESS;
2258 : }
2259 :
2260 0 : _PUBLIC_ void ndr_print_samr_UserInfo3(struct ndr_print *ndr, const char *name, const struct samr_UserInfo3 *r)
2261 : {
2262 0 : ndr_print_struct(ndr, name, "samr_UserInfo3");
2263 0 : if (r == NULL) { ndr_print_null(ndr); return; }
2264 0 : ndr->depth++;
2265 0 : ndr_print_lsa_String(ndr, "account_name", &r->account_name);
2266 0 : ndr_print_lsa_String(ndr, "full_name", &r->full_name);
2267 0 : ndr_print_uint32(ndr, "rid", r->rid);
2268 0 : ndr_print_uint32(ndr, "primary_gid", r->primary_gid);
2269 0 : ndr_print_lsa_String(ndr, "home_directory", &r->home_directory);
2270 0 : ndr_print_lsa_String(ndr, "home_drive", &r->home_drive);
2271 0 : ndr_print_lsa_String(ndr, "logon_script", &r->logon_script);
2272 0 : ndr_print_lsa_String(ndr, "profile_path", &r->profile_path);
2273 0 : ndr_print_lsa_String(ndr, "workstations", &r->workstations);
2274 0 : ndr_print_NTTIME(ndr, "last_logon", r->last_logon);
2275 0 : ndr_print_NTTIME(ndr, "last_logoff", r->last_logoff);
2276 0 : ndr_print_NTTIME(ndr, "last_password_change", r->last_password_change);
2277 0 : ndr_print_NTTIME(ndr, "allow_password_change", r->allow_password_change);
2278 0 : ndr_print_NTTIME(ndr, "force_password_change", r->force_password_change);
2279 0 : ndr_print_samr_LogonHours(ndr, "logon_hours", &r->logon_hours);
2280 0 : ndr_print_uint16(ndr, "bad_password_count", r->bad_password_count);
2281 0 : ndr_print_uint16(ndr, "logon_count", r->logon_count);
2282 0 : ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
2283 0 : ndr->depth--;
2284 : }
2285 :
2286 456 : static enum ndr_err_code ndr_push_samr_UserInfo4(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo4 *r)
2287 : {
2288 456 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2289 456 : if (ndr_flags & NDR_SCALARS) {
2290 228 : NDR_CHECK(ndr_push_align(ndr, 5));
2291 228 : NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
2292 228 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2293 : }
2294 456 : if (ndr_flags & NDR_BUFFERS) {
2295 228 : NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
2296 : }
2297 456 : return NDR_ERR_SUCCESS;
2298 : }
2299 :
2300 456 : static enum ndr_err_code ndr_pull_samr_UserInfo4(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo4 *r)
2301 : {
2302 456 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2303 456 : if (ndr_flags & NDR_SCALARS) {
2304 228 : NDR_CHECK(ndr_pull_align(ndr, 5));
2305 228 : NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
2306 228 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2307 : }
2308 456 : if (ndr_flags & NDR_BUFFERS) {
2309 228 : NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
2310 : }
2311 456 : return NDR_ERR_SUCCESS;
2312 : }
2313 :
2314 0 : _PUBLIC_ void ndr_print_samr_UserInfo4(struct ndr_print *ndr, const char *name, const struct samr_UserInfo4 *r)
2315 : {
2316 0 : ndr_print_struct(ndr, name, "samr_UserInfo4");
2317 0 : if (r == NULL) { ndr_print_null(ndr); return; }
2318 0 : ndr->depth++;
2319 0 : ndr_print_samr_LogonHours(ndr, "logon_hours", &r->logon_hours);
2320 0 : ndr->depth--;
2321 : }
2322 :
2323 3648 : static enum ndr_err_code ndr_push_samr_UserInfo5(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo5 *r)
2324 : {
2325 3648 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2326 3648 : if (ndr_flags & NDR_SCALARS) {
2327 1824 : NDR_CHECK(ndr_push_align(ndr, 5));
2328 1824 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2329 1824 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2330 1824 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
2331 1824 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid));
2332 1824 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
2333 1824 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
2334 1824 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
2335 1824 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
2336 1824 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
2337 1824 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->workstations));
2338 1824 : NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logon));
2339 1824 : NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logoff));
2340 1824 : NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
2341 1824 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->bad_password_count));
2342 1824 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count));
2343 1824 : NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_password_change));
2344 1824 : NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->acct_expiry));
2345 1824 : NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
2346 1824 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2347 : }
2348 3648 : if (ndr_flags & NDR_BUFFERS) {
2349 1824 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2350 1824 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2351 1824 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
2352 1824 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
2353 1824 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
2354 1824 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
2355 1824 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
2356 1824 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
2357 1824 : NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
2358 : }
2359 3648 : return NDR_ERR_SUCCESS;
2360 : }
2361 :
2362 3644 : static enum ndr_err_code ndr_pull_samr_UserInfo5(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo5 *r)
2363 : {
2364 3644 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2365 3644 : if (ndr_flags & NDR_SCALARS) {
2366 1822 : NDR_CHECK(ndr_pull_align(ndr, 5));
2367 1822 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2368 1822 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2369 1822 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
2370 1822 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid));
2371 1822 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
2372 1822 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
2373 1822 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
2374 1822 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
2375 1822 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
2376 1822 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->workstations));
2377 1822 : NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logon));
2378 1822 : NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logoff));
2379 1822 : NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
2380 1822 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->bad_password_count));
2381 1822 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count));
2382 1822 : NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_password_change));
2383 1822 : NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->acct_expiry));
2384 1822 : NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
2385 1822 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2386 : }
2387 3644 : if (ndr_flags & NDR_BUFFERS) {
2388 1822 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2389 1822 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2390 1822 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
2391 1822 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
2392 1822 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
2393 1822 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
2394 1822 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
2395 1822 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
2396 1822 : NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
2397 : }
2398 3644 : return NDR_ERR_SUCCESS;
2399 : }
2400 :
2401 4 : _PUBLIC_ void ndr_print_samr_UserInfo5(struct ndr_print *ndr, const char *name, const struct samr_UserInfo5 *r)
2402 : {
2403 4 : ndr_print_struct(ndr, name, "samr_UserInfo5");
2404 4 : if (r == NULL) { ndr_print_null(ndr); return; }
2405 4 : ndr->depth++;
2406 4 : ndr_print_lsa_String(ndr, "account_name", &r->account_name);
2407 4 : ndr_print_lsa_String(ndr, "full_name", &r->full_name);
2408 4 : ndr_print_uint32(ndr, "rid", r->rid);
2409 4 : ndr_print_uint32(ndr, "primary_gid", r->primary_gid);
2410 4 : ndr_print_lsa_String(ndr, "home_directory", &r->home_directory);
2411 4 : ndr_print_lsa_String(ndr, "home_drive", &r->home_drive);
2412 4 : ndr_print_lsa_String(ndr, "logon_script", &r->logon_script);
2413 4 : ndr_print_lsa_String(ndr, "profile_path", &r->profile_path);
2414 4 : ndr_print_lsa_String(ndr, "description", &r->description);
2415 4 : ndr_print_lsa_String(ndr, "workstations", &r->workstations);
2416 4 : ndr_print_NTTIME(ndr, "last_logon", r->last_logon);
2417 4 : ndr_print_NTTIME(ndr, "last_logoff", r->last_logoff);
2418 4 : ndr_print_samr_LogonHours(ndr, "logon_hours", &r->logon_hours);
2419 4 : ndr_print_uint16(ndr, "bad_password_count", r->bad_password_count);
2420 4 : ndr_print_uint16(ndr, "logon_count", r->logon_count);
2421 4 : ndr_print_NTTIME(ndr, "last_password_change", r->last_password_change);
2422 4 : ndr_print_NTTIME(ndr, "acct_expiry", r->acct_expiry);
2423 4 : ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
2424 4 : ndr->depth--;
2425 : }
2426 :
2427 1700 : static enum ndr_err_code ndr_push_samr_UserInfo6(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo6 *r)
2428 : {
2429 1700 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2430 1700 : if (ndr_flags & NDR_SCALARS) {
2431 850 : NDR_CHECK(ndr_push_align(ndr, 5));
2432 850 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2433 850 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2434 850 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2435 : }
2436 1700 : if (ndr_flags & NDR_BUFFERS) {
2437 850 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2438 850 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2439 : }
2440 1700 : return NDR_ERR_SUCCESS;
2441 : }
2442 :
2443 1700 : static enum ndr_err_code ndr_pull_samr_UserInfo6(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo6 *r)
2444 : {
2445 1700 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2446 1700 : if (ndr_flags & NDR_SCALARS) {
2447 850 : NDR_CHECK(ndr_pull_align(ndr, 5));
2448 850 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2449 850 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2450 850 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2451 : }
2452 1700 : if (ndr_flags & NDR_BUFFERS) {
2453 850 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2454 850 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2455 : }
2456 1700 : return NDR_ERR_SUCCESS;
2457 : }
2458 :
2459 0 : _PUBLIC_ void ndr_print_samr_UserInfo6(struct ndr_print *ndr, const char *name, const struct samr_UserInfo6 *r)
2460 : {
2461 0 : ndr_print_struct(ndr, name, "samr_UserInfo6");
2462 0 : if (r == NULL) { ndr_print_null(ndr); return; }
2463 0 : ndr->depth++;
2464 0 : ndr_print_lsa_String(ndr, "account_name", &r->account_name);
2465 0 : ndr_print_lsa_String(ndr, "full_name", &r->full_name);
2466 0 : ndr->depth--;
2467 : }
2468 :
2469 836 : static enum ndr_err_code ndr_push_samr_UserInfo7(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo7 *r)
2470 : {
2471 836 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2472 836 : if (ndr_flags & NDR_SCALARS) {
2473 418 : NDR_CHECK(ndr_push_align(ndr, 5));
2474 418 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2475 418 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2476 : }
2477 836 : if (ndr_flags & NDR_BUFFERS) {
2478 418 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2479 : }
2480 836 : return NDR_ERR_SUCCESS;
2481 : }
2482 :
2483 836 : static enum ndr_err_code ndr_pull_samr_UserInfo7(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo7 *r)
2484 : {
2485 836 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2486 836 : if (ndr_flags & NDR_SCALARS) {
2487 418 : NDR_CHECK(ndr_pull_align(ndr, 5));
2488 418 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2489 418 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2490 : }
2491 836 : if (ndr_flags & NDR_BUFFERS) {
2492 418 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2493 : }
2494 836 : return NDR_ERR_SUCCESS;
2495 : }
2496 :
2497 0 : _PUBLIC_ void ndr_print_samr_UserInfo7(struct ndr_print *ndr, const char *name, const struct samr_UserInfo7 *r)
2498 : {
2499 0 : ndr_print_struct(ndr, name, "samr_UserInfo7");
2500 0 : if (r == NULL) { ndr_print_null(ndr); return; }
2501 0 : ndr->depth++;
2502 0 : ndr_print_lsa_String(ndr, "account_name", &r->account_name);
2503 0 : ndr->depth--;
2504 : }
2505 :
2506 416 : static enum ndr_err_code ndr_push_samr_UserInfo8(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo8 *r)
2507 : {
2508 416 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2509 416 : if (ndr_flags & NDR_SCALARS) {
2510 208 : NDR_CHECK(ndr_push_align(ndr, 5));
2511 208 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2512 208 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2513 : }
2514 416 : if (ndr_flags & NDR_BUFFERS) {
2515 208 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2516 : }
2517 416 : return NDR_ERR_SUCCESS;
2518 : }
2519 :
2520 416 : static enum ndr_err_code ndr_pull_samr_UserInfo8(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo8 *r)
2521 : {
2522 416 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2523 416 : if (ndr_flags & NDR_SCALARS) {
2524 208 : NDR_CHECK(ndr_pull_align(ndr, 5));
2525 208 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2526 208 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2527 : }
2528 416 : if (ndr_flags & NDR_BUFFERS) {
2529 208 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2530 : }
2531 416 : return NDR_ERR_SUCCESS;
2532 : }
2533 :
2534 0 : _PUBLIC_ void ndr_print_samr_UserInfo8(struct ndr_print *ndr, const char *name, const struct samr_UserInfo8 *r)
2535 : {
2536 0 : ndr_print_struct(ndr, name, "samr_UserInfo8");
2537 0 : if (r == NULL) { ndr_print_null(ndr); return; }
2538 0 : ndr->depth++;
2539 0 : ndr_print_lsa_String(ndr, "full_name", &r->full_name);
2540 0 : ndr->depth--;
2541 : }
2542 :
2543 36 : static enum ndr_err_code ndr_push_samr_UserInfo9(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo9 *r)
2544 : {
2545 36 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2546 36 : if (ndr_flags & NDR_SCALARS) {
2547 36 : NDR_CHECK(ndr_push_align(ndr, 4));
2548 36 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid));
2549 36 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2550 : }
2551 36 : if (ndr_flags & NDR_BUFFERS) {
2552 : }
2553 36 : return NDR_ERR_SUCCESS;
2554 : }
2555 :
2556 36 : static enum ndr_err_code ndr_pull_samr_UserInfo9(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo9 *r)
2557 : {
2558 36 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2559 36 : if (ndr_flags & NDR_SCALARS) {
2560 36 : NDR_CHECK(ndr_pull_align(ndr, 4));
2561 36 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid));
2562 36 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2563 : }
2564 36 : if (ndr_flags & NDR_BUFFERS) {
2565 : }
2566 36 : return NDR_ERR_SUCCESS;
2567 : }
2568 :
2569 0 : _PUBLIC_ void ndr_print_samr_UserInfo9(struct ndr_print *ndr, const char *name, const struct samr_UserInfo9 *r)
2570 : {
2571 0 : ndr_print_struct(ndr, name, "samr_UserInfo9");
2572 0 : if (r == NULL) { ndr_print_null(ndr); return; }
2573 0 : ndr->depth++;
2574 0 : ndr_print_uint32(ndr, "primary_gid", r->primary_gid);
2575 0 : ndr->depth--;
2576 : }
2577 :
2578 1016 : static enum ndr_err_code ndr_push_samr_UserInfo10(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo10 *r)
2579 : {
2580 1016 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2581 1016 : if (ndr_flags & NDR_SCALARS) {
2582 508 : NDR_CHECK(ndr_push_align(ndr, 5));
2583 508 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
2584 508 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
2585 508 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2586 : }
2587 1016 : if (ndr_flags & NDR_BUFFERS) {
2588 508 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
2589 508 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
2590 : }
2591 1016 : return NDR_ERR_SUCCESS;
2592 : }
2593 :
2594 992 : static enum ndr_err_code ndr_pull_samr_UserInfo10(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo10 *r)
2595 : {
2596 992 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2597 992 : if (ndr_flags & NDR_SCALARS) {
2598 496 : NDR_CHECK(ndr_pull_align(ndr, 5));
2599 496 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
2600 496 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
2601 496 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2602 : }
2603 992 : if (ndr_flags & NDR_BUFFERS) {
2604 496 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
2605 496 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
2606 : }
2607 992 : return NDR_ERR_SUCCESS;
2608 : }
2609 :
2610 24 : _PUBLIC_ void ndr_print_samr_UserInfo10(struct ndr_print *ndr, const char *name, const struct samr_UserInfo10 *r)
2611 : {
2612 24 : ndr_print_struct(ndr, name, "samr_UserInfo10");
2613 24 : if (r == NULL) { ndr_print_null(ndr); return; }
2614 24 : ndr->depth++;
2615 24 : ndr_print_lsa_String(ndr, "home_directory", &r->home_directory);
2616 24 : ndr_print_lsa_String(ndr, "home_drive", &r->home_drive);
2617 24 : ndr->depth--;
2618 : }
2619 :
2620 464 : static enum ndr_err_code ndr_push_samr_UserInfo11(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo11 *r)
2621 : {
2622 464 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2623 464 : if (ndr_flags & NDR_SCALARS) {
2624 232 : NDR_CHECK(ndr_push_align(ndr, 5));
2625 232 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
2626 232 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2627 : }
2628 464 : if (ndr_flags & NDR_BUFFERS) {
2629 232 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
2630 : }
2631 464 : return NDR_ERR_SUCCESS;
2632 : }
2633 :
2634 464 : static enum ndr_err_code ndr_pull_samr_UserInfo11(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo11 *r)
2635 : {
2636 464 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2637 464 : if (ndr_flags & NDR_SCALARS) {
2638 232 : NDR_CHECK(ndr_pull_align(ndr, 5));
2639 232 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
2640 232 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2641 : }
2642 464 : if (ndr_flags & NDR_BUFFERS) {
2643 232 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
2644 : }
2645 464 : return NDR_ERR_SUCCESS;
2646 : }
2647 :
2648 0 : _PUBLIC_ void ndr_print_samr_UserInfo11(struct ndr_print *ndr, const char *name, const struct samr_UserInfo11 *r)
2649 : {
2650 0 : ndr_print_struct(ndr, name, "samr_UserInfo11");
2651 0 : if (r == NULL) { ndr_print_null(ndr); return; }
2652 0 : ndr->depth++;
2653 0 : ndr_print_lsa_String(ndr, "logon_script", &r->logon_script);
2654 0 : ndr->depth--;
2655 : }
2656 :
2657 528 : static enum ndr_err_code ndr_push_samr_UserInfo12(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo12 *r)
2658 : {
2659 528 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2660 528 : if (ndr_flags & NDR_SCALARS) {
2661 264 : NDR_CHECK(ndr_push_align(ndr, 5));
2662 264 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
2663 264 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2664 : }
2665 528 : if (ndr_flags & NDR_BUFFERS) {
2666 264 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
2667 : }
2668 528 : return NDR_ERR_SUCCESS;
2669 : }
2670 :
2671 528 : static enum ndr_err_code ndr_pull_samr_UserInfo12(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo12 *r)
2672 : {
2673 528 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2674 528 : if (ndr_flags & NDR_SCALARS) {
2675 264 : NDR_CHECK(ndr_pull_align(ndr, 5));
2676 264 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
2677 264 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2678 : }
2679 528 : if (ndr_flags & NDR_BUFFERS) {
2680 264 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
2681 : }
2682 528 : return NDR_ERR_SUCCESS;
2683 : }
2684 :
2685 0 : _PUBLIC_ void ndr_print_samr_UserInfo12(struct ndr_print *ndr, const char *name, const struct samr_UserInfo12 *r)
2686 : {
2687 0 : ndr_print_struct(ndr, name, "samr_UserInfo12");
2688 0 : if (r == NULL) { ndr_print_null(ndr); return; }
2689 0 : ndr->depth++;
2690 0 : ndr_print_lsa_String(ndr, "profile_path", &r->profile_path);
2691 0 : ndr->depth--;
2692 : }
2693 :
2694 476 : static enum ndr_err_code ndr_push_samr_UserInfo13(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo13 *r)
2695 : {
2696 476 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2697 476 : if (ndr_flags & NDR_SCALARS) {
2698 238 : NDR_CHECK(ndr_push_align(ndr, 5));
2699 238 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
2700 238 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2701 : }
2702 476 : if (ndr_flags & NDR_BUFFERS) {
2703 238 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
2704 : }
2705 476 : return NDR_ERR_SUCCESS;
2706 : }
2707 :
2708 476 : static enum ndr_err_code ndr_pull_samr_UserInfo13(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo13 *r)
2709 : {
2710 476 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2711 476 : if (ndr_flags & NDR_SCALARS) {
2712 238 : NDR_CHECK(ndr_pull_align(ndr, 5));
2713 238 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
2714 238 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2715 : }
2716 476 : if (ndr_flags & NDR_BUFFERS) {
2717 238 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
2718 : }
2719 476 : return NDR_ERR_SUCCESS;
2720 : }
2721 :
2722 0 : _PUBLIC_ void ndr_print_samr_UserInfo13(struct ndr_print *ndr, const char *name, const struct samr_UserInfo13 *r)
2723 : {
2724 0 : ndr_print_struct(ndr, name, "samr_UserInfo13");
2725 0 : if (r == NULL) { ndr_print_null(ndr); return; }
2726 0 : ndr->depth++;
2727 0 : ndr_print_lsa_String(ndr, "description", &r->description);
2728 0 : ndr->depth--;
2729 : }
2730 :
2731 488 : static enum ndr_err_code ndr_push_samr_UserInfo14(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo14 *r)
2732 : {
2733 488 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2734 488 : if (ndr_flags & NDR_SCALARS) {
2735 244 : NDR_CHECK(ndr_push_align(ndr, 5));
2736 244 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->workstations));
2737 244 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2738 : }
2739 488 : if (ndr_flags & NDR_BUFFERS) {
2740 244 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
2741 : }
2742 488 : return NDR_ERR_SUCCESS;
2743 : }
2744 :
2745 488 : static enum ndr_err_code ndr_pull_samr_UserInfo14(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo14 *r)
2746 : {
2747 488 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2748 488 : if (ndr_flags & NDR_SCALARS) {
2749 244 : NDR_CHECK(ndr_pull_align(ndr, 5));
2750 244 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->workstations));
2751 244 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2752 : }
2753 488 : if (ndr_flags & NDR_BUFFERS) {
2754 244 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
2755 : }
2756 488 : return NDR_ERR_SUCCESS;
2757 : }
2758 :
2759 0 : _PUBLIC_ void ndr_print_samr_UserInfo14(struct ndr_print *ndr, const char *name, const struct samr_UserInfo14 *r)
2760 : {
2761 0 : ndr_print_struct(ndr, name, "samr_UserInfo14");
2762 0 : if (r == NULL) { ndr_print_null(ndr); return; }
2763 0 : ndr->depth++;
2764 0 : ndr_print_lsa_String(ndr, "workstations", &r->workstations);
2765 0 : ndr->depth--;
2766 : }
2767 :
2768 2932 : static enum ndr_err_code ndr_push_samr_UserInfo16(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo16 *r)
2769 : {
2770 2932 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2771 2932 : if (ndr_flags & NDR_SCALARS) {
2772 2932 : NDR_CHECK(ndr_push_align(ndr, 4));
2773 2932 : NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
2774 2932 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2775 : }
2776 2824 : if (ndr_flags & NDR_BUFFERS) {
2777 : }
2778 2932 : return NDR_ERR_SUCCESS;
2779 : }
2780 :
2781 3112 : static enum ndr_err_code ndr_pull_samr_UserInfo16(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo16 *r)
2782 : {
2783 3112 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2784 3112 : if (ndr_flags & NDR_SCALARS) {
2785 3112 : NDR_CHECK(ndr_pull_align(ndr, 4));
2786 3112 : NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
2787 3112 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2788 : }
2789 3018 : if (ndr_flags & NDR_BUFFERS) {
2790 : }
2791 3112 : return NDR_ERR_SUCCESS;
2792 : }
2793 :
2794 272 : _PUBLIC_ void ndr_print_samr_UserInfo16(struct ndr_print *ndr, const char *name, const struct samr_UserInfo16 *r)
2795 : {
2796 272 : ndr_print_struct(ndr, name, "samr_UserInfo16");
2797 272 : if (r == NULL) { ndr_print_null(ndr); return; }
2798 272 : ndr->depth++;
2799 272 : ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
2800 272 : ndr->depth--;
2801 : }
2802 :
2803 202 : static enum ndr_err_code ndr_push_samr_UserInfo17(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo17 *r)
2804 : {
2805 202 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2806 202 : if (ndr_flags & NDR_SCALARS) {
2807 202 : NDR_CHECK(ndr_push_align(ndr, 4));
2808 202 : NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->acct_expiry));
2809 202 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2810 : }
2811 202 : if (ndr_flags & NDR_BUFFERS) {
2812 : }
2813 202 : return NDR_ERR_SUCCESS;
2814 : }
2815 :
2816 202 : static enum ndr_err_code ndr_pull_samr_UserInfo17(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo17 *r)
2817 : {
2818 202 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2819 202 : if (ndr_flags & NDR_SCALARS) {
2820 202 : NDR_CHECK(ndr_pull_align(ndr, 4));
2821 202 : NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->acct_expiry));
2822 202 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2823 : }
2824 202 : if (ndr_flags & NDR_BUFFERS) {
2825 : }
2826 202 : return NDR_ERR_SUCCESS;
2827 : }
2828 :
2829 0 : _PUBLIC_ void ndr_print_samr_UserInfo17(struct ndr_print *ndr, const char *name, const struct samr_UserInfo17 *r)
2830 : {
2831 0 : ndr_print_struct(ndr, name, "samr_UserInfo17");
2832 0 : if (r == NULL) { ndr_print_null(ndr); return; }
2833 0 : ndr->depth++;
2834 0 : ndr_print_NTTIME(ndr, "acct_expiry", r->acct_expiry);
2835 0 : ndr->depth--;
2836 : }
2837 :
2838 3435 : _PUBLIC_ enum ndr_err_code ndr_push_samr_Password(struct ndr_push *ndr, int ndr_flags, const struct samr_Password *r)
2839 : {
2840 : {
2841 3435 : uint32_t _flags_save_STRUCT = ndr->flags;
2842 3435 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2843 3435 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2844 3435 : if (ndr_flags & NDR_SCALARS) {
2845 3435 : NDR_CHECK(ndr_push_align(ndr, 1));
2846 3435 : NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->hash, 16));
2847 3435 : NDR_CHECK(ndr_push_trailer_align(ndr, 1));
2848 : }
2849 3386 : if (ndr_flags & NDR_BUFFERS) {
2850 : }
2851 3435 : ndr->flags = _flags_save_STRUCT;
2852 : }
2853 3435 : return NDR_ERR_SUCCESS;
2854 : }
2855 :
2856 9104 : _PUBLIC_ enum ndr_err_code ndr_pull_samr_Password(struct ndr_pull *ndr, int ndr_flags, struct samr_Password *r)
2857 : {
2858 9104 : uint32_t size_hash_0 = 0;
2859 : {
2860 9104 : uint32_t _flags_save_STRUCT = ndr->flags;
2861 9104 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2862 9104 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2863 9104 : if (ndr_flags & NDR_SCALARS) {
2864 9104 : NDR_CHECK(ndr_pull_align(ndr, 1));
2865 9104 : size_hash_0 = 16;
2866 9104 : NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->hash, size_hash_0));
2867 9104 : NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
2868 : }
2869 9041 : if (ndr_flags & NDR_BUFFERS) {
2870 : }
2871 9104 : ndr->flags = _flags_save_STRUCT;
2872 : }
2873 9104 : return NDR_ERR_SUCCESS;
2874 : }
2875 :
2876 0 : static void ndr_print_flags_samr_Password(struct ndr_print *ndr, const char *name, int unused, const struct samr_Password *r)
2877 : {
2878 0 : ndr_print_samr_Password(ndr, name, r);
2879 0 : }
2880 :
2881 208 : _PUBLIC_ void ndr_print_samr_Password(struct ndr_print *ndr, const char *name, const struct samr_Password *r)
2882 : {
2883 208 : ndr_print_struct(ndr, name, "samr_Password");
2884 208 : if (r == NULL) { ndr_print_null(ndr); return; }
2885 : {
2886 208 : uint32_t _flags_save_STRUCT = ndr->flags;
2887 208 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2888 208 : ndr->depth++;
2889 208 : ndr_print_array_uint8(ndr, "hash", r->hash, 16);
2890 208 : ndr->depth--;
2891 208 : ndr->flags = _flags_save_STRUCT;
2892 : }
2893 : }
2894 :
2895 126 : static enum ndr_err_code ndr_push_samr_UserInfo18(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo18 *r)
2896 : {
2897 126 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2898 126 : if (ndr_flags & NDR_SCALARS) {
2899 126 : NDR_CHECK(ndr_push_align(ndr, 1));
2900 126 : NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->nt_pwd));
2901 126 : NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->lm_pwd));
2902 126 : NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->nt_pwd_active));
2903 126 : NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->lm_pwd_active));
2904 126 : NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->password_expired));
2905 126 : NDR_CHECK(ndr_push_trailer_align(ndr, 1));
2906 : }
2907 126 : if (ndr_flags & NDR_BUFFERS) {
2908 : }
2909 126 : return NDR_ERR_SUCCESS;
2910 : }
2911 :
2912 126 : static enum ndr_err_code ndr_pull_samr_UserInfo18(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo18 *r)
2913 : {
2914 126 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2915 126 : if (ndr_flags & NDR_SCALARS) {
2916 126 : NDR_CHECK(ndr_pull_align(ndr, 1));
2917 126 : NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->nt_pwd));
2918 126 : NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->lm_pwd));
2919 126 : NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->nt_pwd_active));
2920 126 : NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->lm_pwd_active));
2921 126 : NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->password_expired));
2922 126 : NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
2923 : }
2924 126 : if (ndr_flags & NDR_BUFFERS) {
2925 : }
2926 126 : return NDR_ERR_SUCCESS;
2927 : }
2928 :
2929 0 : _PUBLIC_ void ndr_print_samr_UserInfo18(struct ndr_print *ndr, const char *name, const struct samr_UserInfo18 *r)
2930 : {
2931 0 : ndr_print_struct(ndr, name, "samr_UserInfo18");
2932 0 : if (r == NULL) { ndr_print_null(ndr); return; }
2933 0 : ndr->depth++;
2934 0 : ndr_print_samr_Password(ndr, "nt_pwd", &r->nt_pwd);
2935 0 : ndr_print_samr_Password(ndr, "lm_pwd", &r->lm_pwd);
2936 0 : ndr_print_uint8(ndr, "nt_pwd_active", r->nt_pwd_active);
2937 0 : ndr_print_uint8(ndr, "lm_pwd_active", r->lm_pwd_active);
2938 0 : ndr_print_uint8(ndr, "password_expired", r->password_expired);
2939 0 : ndr->depth--;
2940 : }
2941 :
2942 392 : static enum ndr_err_code ndr_push_samr_UserInfo20(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo20 *r)
2943 : {
2944 392 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2945 392 : if (ndr_flags & NDR_SCALARS) {
2946 196 : NDR_CHECK(ndr_push_align(ndr, 5));
2947 196 : NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_SCALARS, &r->parameters));
2948 196 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2949 : }
2950 392 : if (ndr_flags & NDR_BUFFERS) {
2951 196 : NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_BUFFERS, &r->parameters));
2952 : }
2953 392 : return NDR_ERR_SUCCESS;
2954 : }
2955 :
2956 392 : static enum ndr_err_code ndr_pull_samr_UserInfo20(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo20 *r)
2957 : {
2958 392 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2959 392 : if (ndr_flags & NDR_SCALARS) {
2960 196 : NDR_CHECK(ndr_pull_align(ndr, 5));
2961 196 : NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_SCALARS, &r->parameters));
2962 196 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2963 : }
2964 392 : if (ndr_flags & NDR_BUFFERS) {
2965 196 : NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_BUFFERS, &r->parameters));
2966 : }
2967 392 : return NDR_ERR_SUCCESS;
2968 : }
2969 :
2970 0 : _PUBLIC_ void ndr_print_samr_UserInfo20(struct ndr_print *ndr, const char *name, const struct samr_UserInfo20 *r)
2971 : {
2972 0 : ndr_print_struct(ndr, name, "samr_UserInfo20");
2973 0 : if (r == NULL) { ndr_print_null(ndr); return; }
2974 0 : ndr->depth++;
2975 0 : ndr_print_lsa_BinaryString(ndr, "parameters", &r->parameters);
2976 0 : ndr->depth--;
2977 : }
2978 :
2979 6543 : static enum ndr_err_code ndr_push_samr_FieldsPresent(struct ndr_push *ndr, int ndr_flags, uint32_t r)
2980 : {
2981 6723 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
2982 6543 : return NDR_ERR_SUCCESS;
2983 : }
2984 :
2985 6825 : static enum ndr_err_code ndr_pull_samr_FieldsPresent(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
2986 : {
2987 : uint32_t v;
2988 7005 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
2989 7005 : *r = v;
2990 6825 : return NDR_ERR_SUCCESS;
2991 : }
2992 :
2993 86 : _PUBLIC_ void ndr_print_samr_FieldsPresent(struct ndr_print *ndr, const char *name, uint32_t r)
2994 : {
2995 86 : ndr_print_uint32(ndr, name, r);
2996 86 : ndr->depth++;
2997 86 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_ACCOUNT_NAME", SAMR_FIELD_ACCOUNT_NAME, r);
2998 86 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_FULL_NAME", SAMR_FIELD_FULL_NAME, r);
2999 86 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_RID", SAMR_FIELD_RID, r);
3000 86 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_PRIMARY_GID", SAMR_FIELD_PRIMARY_GID, r);
3001 86 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_DESCRIPTION", SAMR_FIELD_DESCRIPTION, r);
3002 86 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_COMMENT", SAMR_FIELD_COMMENT, r);
3003 86 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_HOME_DIRECTORY", SAMR_FIELD_HOME_DIRECTORY, r);
3004 86 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_HOME_DRIVE", SAMR_FIELD_HOME_DRIVE, r);
3005 86 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_LOGON_SCRIPT", SAMR_FIELD_LOGON_SCRIPT, r);
3006 86 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_PROFILE_PATH", SAMR_FIELD_PROFILE_PATH, r);
3007 86 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_WORKSTATIONS", SAMR_FIELD_WORKSTATIONS, r);
3008 86 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_LAST_LOGON", SAMR_FIELD_LAST_LOGON, r);
3009 86 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_LAST_LOGOFF", SAMR_FIELD_LAST_LOGOFF, r);
3010 86 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_LOGON_HOURS", SAMR_FIELD_LOGON_HOURS, r);
3011 86 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_BAD_PWD_COUNT", SAMR_FIELD_BAD_PWD_COUNT, r);
3012 86 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_NUM_LOGONS", SAMR_FIELD_NUM_LOGONS, r);
3013 86 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_ALLOW_PWD_CHANGE", SAMR_FIELD_ALLOW_PWD_CHANGE, r);
3014 86 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_FORCE_PWD_CHANGE", SAMR_FIELD_FORCE_PWD_CHANGE, r);
3015 86 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_LAST_PWD_CHANGE", SAMR_FIELD_LAST_PWD_CHANGE, r);
3016 86 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_ACCT_EXPIRY", SAMR_FIELD_ACCT_EXPIRY, r);
3017 86 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_ACCT_FLAGS", SAMR_FIELD_ACCT_FLAGS, r);
3018 86 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_PARAMETERS", SAMR_FIELD_PARAMETERS, r);
3019 86 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_COUNTRY_CODE", SAMR_FIELD_COUNTRY_CODE, r);
3020 86 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_CODE_PAGE", SAMR_FIELD_CODE_PAGE, r);
3021 86 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_NT_PASSWORD_PRESENT", SAMR_FIELD_NT_PASSWORD_PRESENT, r);
3022 86 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_LM_PASSWORD_PRESENT", SAMR_FIELD_LM_PASSWORD_PRESENT, r);
3023 86 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_PRIVATE_DATA", SAMR_FIELD_PRIVATE_DATA, r);
3024 86 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_EXPIRED_FLAG", SAMR_FIELD_EXPIRED_FLAG, r);
3025 86 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_SEC_DESC", SAMR_FIELD_SEC_DESC, r);
3026 86 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_OWF_PWD", SAMR_FIELD_OWF_PWD, r);
3027 86 : ndr->depth--;
3028 86 : }
3029 :
3030 13446 : static enum ndr_err_code ndr_push_samr_UserInfo21(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo21 *r)
3031 : {
3032 13446 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
3033 13446 : if (ndr_flags & NDR_SCALARS) {
3034 6723 : NDR_CHECK(ndr_push_align(ndr, 5));
3035 6723 : NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logon));
3036 6723 : NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logoff));
3037 6723 : NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_password_change));
3038 6723 : NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->acct_expiry));
3039 6723 : NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->allow_password_change));
3040 6723 : NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->force_password_change));
3041 6723 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
3042 6723 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
3043 6723 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
3044 6723 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
3045 6723 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
3046 6723 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
3047 6723 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
3048 6723 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->workstations));
3049 6723 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->comment));
3050 6723 : NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_SCALARS, &r->parameters));
3051 6723 : NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_SCALARS, &r->lm_owf_password));
3052 6723 : NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_SCALARS, &r->nt_owf_password));
3053 6723 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->private_data));
3054 6723 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->buf_count));
3055 6723 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->buffer));
3056 6723 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
3057 6723 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid));
3058 6723 : NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
3059 6903 : NDR_CHECK(ndr_push_samr_FieldsPresent(ndr, NDR_SCALARS, r->fields_present));
3060 6723 : NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
3061 6723 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->bad_password_count));
3062 6723 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count));
3063 6723 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->country_code));
3064 6723 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->code_page));
3065 6723 : NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->lm_password_set));
3066 6723 : NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->nt_password_set));
3067 6723 : NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->password_expired));
3068 6723 : NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->private_data_sensitive));
3069 6723 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3070 : }
3071 13446 : if (ndr_flags & NDR_BUFFERS) {
3072 6723 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
3073 6723 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
3074 6723 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
3075 6723 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
3076 6723 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
3077 6723 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
3078 6723 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
3079 6723 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
3080 6723 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->comment));
3081 6723 : NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_BUFFERS, &r->parameters));
3082 6723 : NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_BUFFERS, &r->lm_owf_password));
3083 6723 : NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_BUFFERS, &r->nt_owf_password));
3084 6723 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->private_data));
3085 6723 : if (r->buffer) {
3086 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->buf_count));
3087 0 : NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->buffer, r->buf_count));
3088 : }
3089 6723 : NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
3090 : }
3091 13086 : return NDR_ERR_SUCCESS;
3092 : }
3093 :
3094 14010 : static enum ndr_err_code ndr_pull_samr_UserInfo21(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo21 *r)
3095 : {
3096 : uint32_t _ptr_buffer;
3097 14010 : uint32_t size_buffer_1 = 0;
3098 14010 : TALLOC_CTX *_mem_save_buffer_0 = NULL;
3099 14010 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
3100 14010 : if (ndr_flags & NDR_SCALARS) {
3101 7005 : NDR_CHECK(ndr_pull_align(ndr, 5));
3102 7005 : NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logon));
3103 7005 : NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logoff));
3104 7005 : NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_password_change));
3105 7005 : NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->acct_expiry));
3106 7005 : NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->allow_password_change));
3107 7005 : NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->force_password_change));
3108 7005 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
3109 7005 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
3110 7005 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
3111 7005 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
3112 7005 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
3113 7005 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
3114 7005 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
3115 7005 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->workstations));
3116 7005 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->comment));
3117 7005 : NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_SCALARS, &r->parameters));
3118 7005 : NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_SCALARS, &r->lm_owf_password));
3119 7005 : NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_SCALARS, &r->nt_owf_password));
3120 7005 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->private_data));
3121 7005 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->buf_count));
3122 7005 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
3123 7005 : if (_ptr_buffer) {
3124 0 : NDR_PULL_ALLOC(ndr, r->buffer);
3125 : } else {
3126 7005 : r->buffer = NULL;
3127 : }
3128 7005 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
3129 7005 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid));
3130 7005 : NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
3131 7185 : NDR_CHECK(ndr_pull_samr_FieldsPresent(ndr, NDR_SCALARS, &r->fields_present));
3132 7005 : NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
3133 7005 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->bad_password_count));
3134 7005 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count));
3135 7005 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->country_code));
3136 7005 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->code_page));
3137 7005 : NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->lm_password_set));
3138 7005 : NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->nt_password_set));
3139 7005 : NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->password_expired));
3140 7005 : NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->private_data_sensitive));
3141 7005 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3142 : }
3143 14010 : if (ndr_flags & NDR_BUFFERS) {
3144 7005 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
3145 7005 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
3146 7005 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
3147 7005 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
3148 7005 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
3149 7005 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
3150 7005 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
3151 7005 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
3152 7005 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->comment));
3153 7005 : NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_BUFFERS, &r->parameters));
3154 7005 : NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_BUFFERS, &r->lm_owf_password));
3155 7005 : NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_BUFFERS, &r->nt_owf_password));
3156 7005 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->private_data));
3157 7005 : if (r->buffer) {
3158 0 : _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
3159 0 : NDR_PULL_SET_MEM_CTX(ndr, r->buffer, 0);
3160 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->buffer));
3161 0 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->buffer, &size_buffer_1));
3162 0 : NDR_PULL_ALLOC_N(ndr, r->buffer, size_buffer_1);
3163 0 : NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->buffer, size_buffer_1));
3164 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
3165 : }
3166 7005 : NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
3167 7005 : if (r->buffer) {
3168 0 : NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->buffer, r->buf_count));
3169 : }
3170 : }
3171 13650 : return NDR_ERR_SUCCESS;
3172 : }
3173 :
3174 86 : _PUBLIC_ void ndr_print_samr_UserInfo21(struct ndr_print *ndr, const char *name, const struct samr_UserInfo21 *r)
3175 : {
3176 86 : ndr_print_struct(ndr, name, "samr_UserInfo21");
3177 86 : if (r == NULL) { ndr_print_null(ndr); return; }
3178 86 : ndr->depth++;
3179 86 : ndr_print_NTTIME(ndr, "last_logon", r->last_logon);
3180 86 : ndr_print_NTTIME(ndr, "last_logoff", r->last_logoff);
3181 86 : ndr_print_NTTIME(ndr, "last_password_change", r->last_password_change);
3182 86 : ndr_print_NTTIME(ndr, "acct_expiry", r->acct_expiry);
3183 86 : ndr_print_NTTIME(ndr, "allow_password_change", r->allow_password_change);
3184 86 : ndr_print_NTTIME(ndr, "force_password_change", r->force_password_change);
3185 86 : ndr_print_lsa_String(ndr, "account_name", &r->account_name);
3186 86 : ndr_print_lsa_String(ndr, "full_name", &r->full_name);
3187 86 : ndr_print_lsa_String(ndr, "home_directory", &r->home_directory);
3188 86 : ndr_print_lsa_String(ndr, "home_drive", &r->home_drive);
3189 86 : ndr_print_lsa_String(ndr, "logon_script", &r->logon_script);
3190 86 : ndr_print_lsa_String(ndr, "profile_path", &r->profile_path);
3191 86 : ndr_print_lsa_String(ndr, "description", &r->description);
3192 86 : ndr_print_lsa_String(ndr, "workstations", &r->workstations);
3193 86 : ndr_print_lsa_String(ndr, "comment", &r->comment);
3194 86 : ndr_print_lsa_BinaryString(ndr, "parameters", &r->parameters);
3195 86 : ndr_print_lsa_BinaryString(ndr, "lm_owf_password", &r->lm_owf_password);
3196 86 : ndr_print_lsa_BinaryString(ndr, "nt_owf_password", &r->nt_owf_password);
3197 86 : ndr_print_lsa_String(ndr, "private_data", &r->private_data);
3198 86 : ndr_print_uint32(ndr, "buf_count", r->buf_count);
3199 86 : ndr_print_ptr(ndr, "buffer", r->buffer);
3200 86 : ndr->depth++;
3201 86 : if (r->buffer) {
3202 0 : ndr_print_array_uint8(ndr, "buffer", r->buffer, r->buf_count);
3203 : }
3204 86 : ndr->depth--;
3205 86 : ndr_print_uint32(ndr, "rid", r->rid);
3206 86 : ndr_print_uint32(ndr, "primary_gid", r->primary_gid);
3207 86 : ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
3208 86 : ndr_print_samr_FieldsPresent(ndr, "fields_present", r->fields_present);
3209 86 : ndr_print_samr_LogonHours(ndr, "logon_hours", &r->logon_hours);
3210 86 : ndr_print_uint16(ndr, "bad_password_count", r->bad_password_count);
3211 86 : ndr_print_uint16(ndr, "logon_count", r->logon_count);
3212 86 : ndr_print_uint16(ndr, "country_code", r->country_code);
3213 86 : ndr_print_uint16(ndr, "code_page", r->code_page);
3214 86 : ndr_print_uint8(ndr, "lm_password_set", r->lm_password_set);
3215 86 : ndr_print_uint8(ndr, "nt_password_set", r->nt_password_set);
3216 86 : ndr_print_uint8(ndr, "password_expired", r->password_expired);
3217 86 : ndr_print_uint8(ndr, "private_data_sensitive", r->private_data_sensitive);
3218 86 : ndr->depth--;
3219 : }
3220 :
3221 1896 : _PUBLIC_ enum ndr_err_code ndr_push_samr_CryptPassword(struct ndr_push *ndr, int ndr_flags, const struct samr_CryptPassword *r)
3222 : {
3223 : {
3224 1896 : uint32_t _flags_save_STRUCT = ndr->flags;
3225 1896 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3226 1896 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
3227 1896 : if (ndr_flags & NDR_SCALARS) {
3228 1896 : NDR_CHECK(ndr_push_align(ndr, 1));
3229 1896 : NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, 516));
3230 1896 : NDR_CHECK(ndr_push_trailer_align(ndr, 1));
3231 : }
3232 1896 : if (ndr_flags & NDR_BUFFERS) {
3233 : }
3234 1896 : ndr->flags = _flags_save_STRUCT;
3235 : }
3236 1896 : return NDR_ERR_SUCCESS;
3237 : }
3238 :
3239 1926 : _PUBLIC_ enum ndr_err_code ndr_pull_samr_CryptPassword(struct ndr_pull *ndr, int ndr_flags, struct samr_CryptPassword *r)
3240 : {
3241 1926 : uint32_t size_data_0 = 0;
3242 : {
3243 1926 : uint32_t _flags_save_STRUCT = ndr->flags;
3244 1926 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3245 1926 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
3246 1926 : if (ndr_flags & NDR_SCALARS) {
3247 1926 : NDR_CHECK(ndr_pull_align(ndr, 1));
3248 1926 : size_data_0 = 516;
3249 1926 : NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, size_data_0));
3250 1926 : NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
3251 : }
3252 1922 : if (ndr_flags & NDR_BUFFERS) {
3253 : }
3254 1926 : ndr->flags = _flags_save_STRUCT;
3255 : }
3256 1926 : return NDR_ERR_SUCCESS;
3257 : }
3258 :
3259 0 : static void ndr_print_flags_samr_CryptPassword(struct ndr_print *ndr, const char *name, int unused, const struct samr_CryptPassword *r)
3260 : {
3261 0 : ndr_print_samr_CryptPassword(ndr, name, r);
3262 0 : }
3263 :
3264 4 : _PUBLIC_ void ndr_print_samr_CryptPassword(struct ndr_print *ndr, const char *name, const struct samr_CryptPassword *r)
3265 : {
3266 4 : ndr_print_struct(ndr, name, "samr_CryptPassword");
3267 4 : if (r == NULL) { ndr_print_null(ndr); return; }
3268 : {
3269 4 : uint32_t _flags_save_STRUCT = ndr->flags;
3270 4 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3271 4 : ndr->depth++;
3272 4 : ndr_print_array_uint8(ndr, "data", r->data, 516);
3273 4 : ndr->depth--;
3274 4 : ndr->flags = _flags_save_STRUCT;
3275 : }
3276 : }
3277 :
3278 104 : static enum ndr_err_code ndr_push_samr_UserInfo23(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo23 *r)
3279 : {
3280 104 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
3281 104 : if (ndr_flags & NDR_SCALARS) {
3282 52 : NDR_CHECK(ndr_push_align(ndr, 5));
3283 52 : NDR_CHECK(ndr_push_samr_UserInfo21(ndr, NDR_SCALARS, &r->info));
3284 52 : NDR_CHECK(ndr_push_samr_CryptPassword(ndr, NDR_SCALARS, &r->password));
3285 52 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3286 : }
3287 104 : if (ndr_flags & NDR_BUFFERS) {
3288 52 : NDR_CHECK(ndr_push_samr_UserInfo21(ndr, NDR_BUFFERS, &r->info));
3289 : }
3290 104 : return NDR_ERR_SUCCESS;
3291 : }
3292 :
3293 104 : static enum ndr_err_code ndr_pull_samr_UserInfo23(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo23 *r)
3294 : {
3295 104 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
3296 104 : if (ndr_flags & NDR_SCALARS) {
3297 52 : NDR_CHECK(ndr_pull_align(ndr, 5));
3298 52 : NDR_CHECK(ndr_pull_samr_UserInfo21(ndr, NDR_SCALARS, &r->info));
3299 52 : NDR_CHECK(ndr_pull_samr_CryptPassword(ndr, NDR_SCALARS, &r->password));
3300 52 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3301 : }
3302 104 : if (ndr_flags & NDR_BUFFERS) {
3303 52 : NDR_CHECK(ndr_pull_samr_UserInfo21(ndr, NDR_BUFFERS, &r->info));
3304 : }
3305 104 : return NDR_ERR_SUCCESS;
3306 : }
3307 :
3308 0 : _PUBLIC_ void ndr_print_samr_UserInfo23(struct ndr_print *ndr, const char *name, const struct samr_UserInfo23 *r)
3309 : {
3310 0 : ndr_print_struct(ndr, name, "samr_UserInfo23");
3311 0 : if (r == NULL) { ndr_print_null(ndr); return; }
3312 0 : ndr->depth++;
3313 0 : ndr_print_samr_UserInfo21(ndr, "info", &r->info);
3314 0 : ndr_print_samr_CryptPassword(ndr, "password", &r->password);
3315 0 : ndr->depth--;
3316 : }
3317 :
3318 405 : static enum ndr_err_code ndr_push_samr_UserInfo24(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo24 *r)
3319 : {
3320 405 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
3321 405 : if (ndr_flags & NDR_SCALARS) {
3322 405 : NDR_CHECK(ndr_push_align(ndr, 1));
3323 405 : NDR_CHECK(ndr_push_samr_CryptPassword(ndr, NDR_SCALARS, &r->password));
3324 405 : NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->password_expired));
3325 405 : NDR_CHECK(ndr_push_trailer_align(ndr, 1));
3326 : }
3327 405 : if (ndr_flags & NDR_BUFFERS) {
3328 : }
3329 405 : return NDR_ERR_SUCCESS;
3330 : }
3331 :
3332 405 : static enum ndr_err_code ndr_pull_samr_UserInfo24(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo24 *r)
3333 : {
3334 405 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
3335 405 : if (ndr_flags & NDR_SCALARS) {
3336 405 : NDR_CHECK(ndr_pull_align(ndr, 1));
3337 405 : NDR_CHECK(ndr_pull_samr_CryptPassword(ndr, NDR_SCALARS, &r->password));
3338 405 : NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->password_expired));
3339 405 : NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
3340 : }
3341 405 : if (ndr_flags & NDR_BUFFERS) {
3342 : }
3343 405 : return NDR_ERR_SUCCESS;
3344 : }
3345 :
3346 0 : _PUBLIC_ void ndr_print_samr_UserInfo24(struct ndr_print *ndr, const char *name, const struct samr_UserInfo24 *r)
3347 : {
3348 0 : ndr_print_struct(ndr, name, "samr_UserInfo24");
3349 0 : if (r == NULL) { ndr_print_null(ndr); return; }
3350 0 : ndr->depth++;
3351 0 : ndr_print_samr_CryptPassword(ndr, "password", &r->password);
3352 0 : ndr_print_uint8(ndr, "password_expired", r->password_expired);
3353 0 : ndr->depth--;
3354 : }
3355 :
3356 854 : static enum ndr_err_code ndr_push_samr_CryptPasswordEx(struct ndr_push *ndr, int ndr_flags, const struct samr_CryptPasswordEx *r)
3357 : {
3358 : {
3359 854 : uint32_t _flags_save_STRUCT = ndr->flags;
3360 854 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3361 854 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
3362 854 : if (ndr_flags & NDR_SCALARS) {
3363 854 : NDR_CHECK(ndr_push_align(ndr, 1));
3364 854 : NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, 532));
3365 854 : NDR_CHECK(ndr_push_trailer_align(ndr, 1));
3366 : }
3367 764 : if (ndr_flags & NDR_BUFFERS) {
3368 : }
3369 854 : ndr->flags = _flags_save_STRUCT;
3370 : }
3371 854 : return NDR_ERR_SUCCESS;
3372 : }
3373 :
3374 848 : static enum ndr_err_code ndr_pull_samr_CryptPasswordEx(struct ndr_pull *ndr, int ndr_flags, struct samr_CryptPasswordEx *r)
3375 : {
3376 848 : uint32_t size_data_0 = 0;
3377 : {
3378 848 : uint32_t _flags_save_STRUCT = ndr->flags;
3379 848 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3380 848 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
3381 848 : if (ndr_flags & NDR_SCALARS) {
3382 848 : NDR_CHECK(ndr_pull_align(ndr, 1));
3383 848 : size_data_0 = 532;
3384 848 : NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, size_data_0));
3385 848 : NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
3386 : }
3387 756 : if (ndr_flags & NDR_BUFFERS) {
3388 : }
3389 848 : ndr->flags = _flags_save_STRUCT;
3390 : }
3391 848 : return NDR_ERR_SUCCESS;
3392 : }
3393 :
3394 2 : _PUBLIC_ void ndr_print_samr_CryptPasswordEx(struct ndr_print *ndr, const char *name, const struct samr_CryptPasswordEx *r)
3395 : {
3396 2 : ndr_print_struct(ndr, name, "samr_CryptPasswordEx");
3397 2 : if (r == NULL) { ndr_print_null(ndr); return; }
3398 : {
3399 2 : uint32_t _flags_save_STRUCT = ndr->flags;
3400 2 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3401 2 : ndr->depth++;
3402 2 : ndr_print_array_uint8(ndr, "data", r->data, 532);
3403 2 : ndr->depth--;
3404 2 : ndr->flags = _flags_save_STRUCT;
3405 : }
3406 : }
3407 :
3408 1512 : static enum ndr_err_code ndr_push_samr_UserInfo25(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo25 *r)
3409 : {
3410 1512 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
3411 1512 : if (ndr_flags & NDR_SCALARS) {
3412 756 : NDR_CHECK(ndr_push_align(ndr, 5));
3413 756 : NDR_CHECK(ndr_push_samr_UserInfo21(ndr, NDR_SCALARS, &r->info));
3414 756 : NDR_CHECK(ndr_push_samr_CryptPasswordEx(ndr, NDR_SCALARS, &r->password));
3415 756 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3416 : }
3417 1512 : if (ndr_flags & NDR_BUFFERS) {
3418 756 : NDR_CHECK(ndr_push_samr_UserInfo21(ndr, NDR_BUFFERS, &r->info));
3419 : }
3420 1332 : return NDR_ERR_SUCCESS;
3421 : }
3422 :
3423 1510 : static enum ndr_err_code ndr_pull_samr_UserInfo25(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo25 *r)
3424 : {
3425 1510 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
3426 1510 : if (ndr_flags & NDR_SCALARS) {
3427 755 : NDR_CHECK(ndr_pull_align(ndr, 5));
3428 755 : NDR_CHECK(ndr_pull_samr_UserInfo21(ndr, NDR_SCALARS, &r->info));
3429 755 : NDR_CHECK(ndr_pull_samr_CryptPasswordEx(ndr, NDR_SCALARS, &r->password));
3430 755 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3431 : }
3432 1510 : if (ndr_flags & NDR_BUFFERS) {
3433 755 : NDR_CHECK(ndr_pull_samr_UserInfo21(ndr, NDR_BUFFERS, &r->info));
3434 : }
3435 1330 : return NDR_ERR_SUCCESS;
3436 : }
3437 :
3438 0 : _PUBLIC_ void ndr_print_samr_UserInfo25(struct ndr_print *ndr, const char *name, const struct samr_UserInfo25 *r)
3439 : {
3440 0 : ndr_print_struct(ndr, name, "samr_UserInfo25");
3441 0 : if (r == NULL) { ndr_print_null(ndr); return; }
3442 0 : ndr->depth++;
3443 0 : ndr_print_samr_UserInfo21(ndr, "info", &r->info);
3444 0 : ndr_print_samr_CryptPasswordEx(ndr, "password", &r->password);
3445 0 : ndr->depth--;
3446 : }
3447 :
3448 98 : static enum ndr_err_code ndr_push_samr_UserInfo26(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo26 *r)
3449 : {
3450 98 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
3451 98 : if (ndr_flags & NDR_SCALARS) {
3452 98 : NDR_CHECK(ndr_push_align(ndr, 1));
3453 98 : NDR_CHECK(ndr_push_samr_CryptPasswordEx(ndr, NDR_SCALARS, &r->password));
3454 98 : NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->password_expired));
3455 98 : NDR_CHECK(ndr_push_trailer_align(ndr, 1));
3456 : }
3457 98 : if (ndr_flags & NDR_BUFFERS) {
3458 : }
3459 98 : return NDR_ERR_SUCCESS;
3460 : }
3461 :
3462 93 : static enum ndr_err_code ndr_pull_samr_UserInfo26(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo26 *r)
3463 : {
3464 93 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
3465 93 : if (ndr_flags & NDR_SCALARS) {
3466 93 : NDR_CHECK(ndr_pull_align(ndr, 1));
3467 93 : NDR_CHECK(ndr_pull_samr_CryptPasswordEx(ndr, NDR_SCALARS, &r->password));
3468 93 : NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->password_expired));
3469 93 : NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
3470 : }
3471 91 : if (ndr_flags & NDR_BUFFERS) {
3472 : }
3473 93 : return NDR_ERR_SUCCESS;
3474 : }
3475 :
3476 2 : _PUBLIC_ void ndr_print_samr_UserInfo26(struct ndr_print *ndr, const char *name, const struct samr_UserInfo26 *r)
3477 : {
3478 2 : ndr_print_struct(ndr, name, "samr_UserInfo26");
3479 2 : if (r == NULL) { ndr_print_null(ndr); return; }
3480 2 : ndr->depth++;
3481 2 : ndr_print_samr_CryptPasswordEx(ndr, "password", &r->password);
3482 2 : ndr_print_uint8(ndr, "password_expired", r->password_expired);
3483 2 : ndr->depth--;
3484 : }
3485 :
3486 18017 : static enum ndr_err_code ndr_push_samr_UserInfo(struct ndr_push *ndr, int ndr_flags, const union samr_UserInfo *r)
3487 : {
3488 : uint32_t level;
3489 18017 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
3490 18017 : if (ndr_flags & NDR_SCALARS) {
3491 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
3492 18017 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
3493 18017 : NDR_CHECK(ndr_push_union_align(ndr, 5));
3494 18017 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level));
3495 18017 : NDR_CHECK(ndr_push_union_align(ndr, 5));
3496 18017 : switch (level) {
3497 278 : case 1: {
3498 278 : NDR_CHECK(ndr_push_samr_UserInfo1(ndr, NDR_SCALARS, &r->info1));
3499 278 : break; }
3500 :
3501 359 : case 2: {
3502 359 : NDR_CHECK(ndr_push_samr_UserInfo2(ndr, NDR_SCALARS, &r->info2));
3503 359 : break; }
3504 :
3505 1648 : case 3: {
3506 1648 : NDR_CHECK(ndr_push_samr_UserInfo3(ndr, NDR_SCALARS, &r->info3));
3507 1648 : break; }
3508 :
3509 228 : case 4: {
3510 228 : NDR_CHECK(ndr_push_samr_UserInfo4(ndr, NDR_SCALARS, &r->info4));
3511 228 : break; }
3512 :
3513 1824 : case 5: {
3514 1824 : NDR_CHECK(ndr_push_samr_UserInfo5(ndr, NDR_SCALARS, &r->info5));
3515 1824 : break; }
3516 :
3517 850 : case 6: {
3518 850 : NDR_CHECK(ndr_push_samr_UserInfo6(ndr, NDR_SCALARS, &r->info6));
3519 850 : break; }
3520 :
3521 418 : case 7: {
3522 418 : NDR_CHECK(ndr_push_samr_UserInfo7(ndr, NDR_SCALARS, &r->info7));
3523 418 : break; }
3524 :
3525 208 : case 8: {
3526 208 : NDR_CHECK(ndr_push_samr_UserInfo8(ndr, NDR_SCALARS, &r->info8));
3527 208 : break; }
3528 :
3529 36 : case 9: {
3530 36 : NDR_CHECK(ndr_push_samr_UserInfo9(ndr, NDR_SCALARS, &r->info9));
3531 36 : break; }
3532 :
3533 508 : case 10: {
3534 508 : NDR_CHECK(ndr_push_samr_UserInfo10(ndr, NDR_SCALARS, &r->info10));
3535 508 : break; }
3536 :
3537 232 : case 11: {
3538 232 : NDR_CHECK(ndr_push_samr_UserInfo11(ndr, NDR_SCALARS, &r->info11));
3539 232 : break; }
3540 :
3541 264 : case 12: {
3542 264 : NDR_CHECK(ndr_push_samr_UserInfo12(ndr, NDR_SCALARS, &r->info12));
3543 264 : break; }
3544 :
3545 238 : case 13: {
3546 238 : NDR_CHECK(ndr_push_samr_UserInfo13(ndr, NDR_SCALARS, &r->info13));
3547 238 : break; }
3548 :
3549 244 : case 14: {
3550 244 : NDR_CHECK(ndr_push_samr_UserInfo14(ndr, NDR_SCALARS, &r->info14));
3551 244 : break; }
3552 :
3553 2932 : case 16: {
3554 2932 : NDR_CHECK(ndr_push_samr_UserInfo16(ndr, NDR_SCALARS, &r->info16));
3555 2824 : break; }
3556 :
3557 202 : case 17: {
3558 202 : NDR_CHECK(ndr_push_samr_UserInfo17(ndr, NDR_SCALARS, &r->info17));
3559 202 : break; }
3560 :
3561 126 : case 18: {
3562 126 : NDR_CHECK(ndr_push_samr_UserInfo18(ndr, NDR_SCALARS, &r->info18));
3563 126 : break; }
3564 :
3565 196 : case 20: {
3566 196 : NDR_CHECK(ndr_push_samr_UserInfo20(ndr, NDR_SCALARS, &r->info20));
3567 196 : break; }
3568 :
3569 5915 : case 21: {
3570 5915 : NDR_CHECK(ndr_push_samr_UserInfo21(ndr, NDR_SCALARS, &r->info21));
3571 5825 : break; }
3572 :
3573 52 : case 23: {
3574 52 : NDR_CHECK(ndr_push_samr_UserInfo23(ndr, NDR_SCALARS, &r->info23));
3575 52 : break; }
3576 :
3577 405 : case 24: {
3578 405 : NDR_CHECK(ndr_push_samr_UserInfo24(ndr, NDR_SCALARS, &r->info24));
3579 405 : break; }
3580 :
3581 756 : case 25: {
3582 756 : NDR_CHECK(ndr_push_samr_UserInfo25(ndr, NDR_SCALARS, &r->info25));
3583 666 : break; }
3584 :
3585 98 : case 26: {
3586 98 : NDR_CHECK(ndr_push_samr_UserInfo26(ndr, NDR_SCALARS, &r->info26));
3587 98 : break; }
3588 :
3589 0 : default:
3590 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
3591 : }
3592 0 : }
3593 18017 : if (ndr_flags & NDR_BUFFERS) {
3594 18017 : if (!(ndr_flags & NDR_SCALARS)) {
3595 : /* We didn't get it above, and the token is not needed after this. */
3596 0 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
3597 : }
3598 18017 : switch (level) {
3599 278 : case 1:
3600 278 : NDR_CHECK(ndr_push_samr_UserInfo1(ndr, NDR_BUFFERS, &r->info1));
3601 278 : break;
3602 :
3603 359 : case 2:
3604 359 : NDR_CHECK(ndr_push_samr_UserInfo2(ndr, NDR_BUFFERS, &r->info2));
3605 359 : break;
3606 :
3607 1648 : case 3:
3608 1648 : NDR_CHECK(ndr_push_samr_UserInfo3(ndr, NDR_BUFFERS, &r->info3));
3609 1648 : break;
3610 :
3611 228 : case 4:
3612 228 : NDR_CHECK(ndr_push_samr_UserInfo4(ndr, NDR_BUFFERS, &r->info4));
3613 228 : break;
3614 :
3615 1824 : case 5:
3616 1824 : NDR_CHECK(ndr_push_samr_UserInfo5(ndr, NDR_BUFFERS, &r->info5));
3617 1824 : break;
3618 :
3619 850 : case 6:
3620 850 : NDR_CHECK(ndr_push_samr_UserInfo6(ndr, NDR_BUFFERS, &r->info6));
3621 850 : break;
3622 :
3623 418 : case 7:
3624 418 : NDR_CHECK(ndr_push_samr_UserInfo7(ndr, NDR_BUFFERS, &r->info7));
3625 418 : break;
3626 :
3627 208 : case 8:
3628 208 : NDR_CHECK(ndr_push_samr_UserInfo8(ndr, NDR_BUFFERS, &r->info8));
3629 208 : break;
3630 :
3631 36 : case 9:
3632 36 : break;
3633 :
3634 508 : case 10:
3635 508 : NDR_CHECK(ndr_push_samr_UserInfo10(ndr, NDR_BUFFERS, &r->info10));
3636 508 : break;
3637 :
3638 232 : case 11:
3639 232 : NDR_CHECK(ndr_push_samr_UserInfo11(ndr, NDR_BUFFERS, &r->info11));
3640 232 : break;
3641 :
3642 264 : case 12:
3643 264 : NDR_CHECK(ndr_push_samr_UserInfo12(ndr, NDR_BUFFERS, &r->info12));
3644 264 : break;
3645 :
3646 238 : case 13:
3647 238 : NDR_CHECK(ndr_push_samr_UserInfo13(ndr, NDR_BUFFERS, &r->info13));
3648 238 : break;
3649 :
3650 244 : case 14:
3651 244 : NDR_CHECK(ndr_push_samr_UserInfo14(ndr, NDR_BUFFERS, &r->info14));
3652 244 : break;
3653 :
3654 2824 : case 16:
3655 2824 : break;
3656 :
3657 202 : case 17:
3658 202 : break;
3659 :
3660 126 : case 18:
3661 126 : break;
3662 :
3663 196 : case 20:
3664 196 : NDR_CHECK(ndr_push_samr_UserInfo20(ndr, NDR_BUFFERS, &r->info20));
3665 196 : break;
3666 :
3667 5915 : case 21:
3668 5915 : NDR_CHECK(ndr_push_samr_UserInfo21(ndr, NDR_BUFFERS, &r->info21));
3669 5825 : break;
3670 :
3671 52 : case 23:
3672 52 : NDR_CHECK(ndr_push_samr_UserInfo23(ndr, NDR_BUFFERS, &r->info23));
3673 52 : break;
3674 :
3675 405 : case 24:
3676 405 : break;
3677 :
3678 756 : case 25:
3679 756 : NDR_CHECK(ndr_push_samr_UserInfo25(ndr, NDR_BUFFERS, &r->info25));
3680 666 : break;
3681 :
3682 98 : case 26:
3683 98 : break;
3684 :
3685 0 : default:
3686 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
3687 : }
3688 0 : }
3689 17729 : return NDR_ERR_SUCCESS;
3690 : }
3691 :
3692 18458 : static enum ndr_err_code ndr_pull_samr_UserInfo(struct ndr_pull *ndr, int ndr_flags, union samr_UserInfo *r)
3693 : {
3694 : uint32_t level;
3695 : uint16_t _level;
3696 18458 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
3697 18458 : if (ndr_flags & NDR_SCALARS) {
3698 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
3699 18458 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
3700 18458 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
3701 18458 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
3702 18458 : if (_level != level) {
3703 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
3704 : }
3705 18458 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
3706 18458 : switch (level) {
3707 279 : case 1: {
3708 279 : NDR_CHECK(ndr_pull_samr_UserInfo1(ndr, NDR_SCALARS, &r->info1));
3709 279 : break; }
3710 :
3711 356 : case 2: {
3712 356 : NDR_CHECK(ndr_pull_samr_UserInfo2(ndr, NDR_SCALARS, &r->info2));
3713 356 : break; }
3714 :
3715 1648 : case 3: {
3716 1648 : NDR_CHECK(ndr_pull_samr_UserInfo3(ndr, NDR_SCALARS, &r->info3));
3717 1648 : break; }
3718 :
3719 228 : case 4: {
3720 228 : NDR_CHECK(ndr_pull_samr_UserInfo4(ndr, NDR_SCALARS, &r->info4));
3721 228 : break; }
3722 :
3723 1822 : case 5: {
3724 1822 : NDR_CHECK(ndr_pull_samr_UserInfo5(ndr, NDR_SCALARS, &r->info5));
3725 1822 : break; }
3726 :
3727 850 : case 6: {
3728 850 : NDR_CHECK(ndr_pull_samr_UserInfo6(ndr, NDR_SCALARS, &r->info6));
3729 850 : break; }
3730 :
3731 418 : case 7: {
3732 418 : NDR_CHECK(ndr_pull_samr_UserInfo7(ndr, NDR_SCALARS, &r->info7));
3733 418 : break; }
3734 :
3735 208 : case 8: {
3736 208 : NDR_CHECK(ndr_pull_samr_UserInfo8(ndr, NDR_SCALARS, &r->info8));
3737 208 : break; }
3738 :
3739 36 : case 9: {
3740 36 : NDR_CHECK(ndr_pull_samr_UserInfo9(ndr, NDR_SCALARS, &r->info9));
3741 36 : break; }
3742 :
3743 496 : case 10: {
3744 496 : NDR_CHECK(ndr_pull_samr_UserInfo10(ndr, NDR_SCALARS, &r->info10));
3745 496 : break; }
3746 :
3747 232 : case 11: {
3748 232 : NDR_CHECK(ndr_pull_samr_UserInfo11(ndr, NDR_SCALARS, &r->info11));
3749 232 : break; }
3750 :
3751 264 : case 12: {
3752 264 : NDR_CHECK(ndr_pull_samr_UserInfo12(ndr, NDR_SCALARS, &r->info12));
3753 264 : break; }
3754 :
3755 238 : case 13: {
3756 238 : NDR_CHECK(ndr_pull_samr_UserInfo13(ndr, NDR_SCALARS, &r->info13));
3757 238 : break; }
3758 :
3759 244 : case 14: {
3760 244 : NDR_CHECK(ndr_pull_samr_UserInfo14(ndr, NDR_SCALARS, &r->info14));
3761 244 : break; }
3762 :
3763 3112 : case 16: {
3764 3112 : NDR_CHECK(ndr_pull_samr_UserInfo16(ndr, NDR_SCALARS, &r->info16));
3765 3018 : break; }
3766 :
3767 202 : case 17: {
3768 202 : NDR_CHECK(ndr_pull_samr_UserInfo17(ndr, NDR_SCALARS, &r->info17));
3769 202 : break; }
3770 :
3771 126 : case 18: {
3772 126 : NDR_CHECK(ndr_pull_samr_UserInfo18(ndr, NDR_SCALARS, &r->info18));
3773 126 : break; }
3774 :
3775 196 : case 20: {
3776 196 : NDR_CHECK(ndr_pull_samr_UserInfo20(ndr, NDR_SCALARS, &r->info20));
3777 196 : break; }
3778 :
3779 6198 : case 21: {
3780 6198 : NDR_CHECK(ndr_pull_samr_UserInfo21(ndr, NDR_SCALARS, &r->info21));
3781 6108 : break; }
3782 :
3783 52 : case 23: {
3784 52 : NDR_CHECK(ndr_pull_samr_UserInfo23(ndr, NDR_SCALARS, &r->info23));
3785 52 : break; }
3786 :
3787 405 : case 24: {
3788 405 : NDR_CHECK(ndr_pull_samr_UserInfo24(ndr, NDR_SCALARS, &r->info24));
3789 405 : break; }
3790 :
3791 755 : case 25: {
3792 755 : NDR_CHECK(ndr_pull_samr_UserInfo25(ndr, NDR_SCALARS, &r->info25));
3793 665 : break; }
3794 :
3795 93 : case 26: {
3796 93 : NDR_CHECK(ndr_pull_samr_UserInfo26(ndr, NDR_SCALARS, &r->info26));
3797 91 : break; }
3798 :
3799 0 : default:
3800 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3801 : }
3802 0 : }
3803 18458 : if (ndr_flags & NDR_BUFFERS) {
3804 18458 : if (!(ndr_flags & NDR_SCALARS)) {
3805 : /* We didn't get it above, and the token is not needed after this. */
3806 0 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
3807 : }
3808 18458 : switch (level) {
3809 279 : case 1:
3810 279 : NDR_CHECK(ndr_pull_samr_UserInfo1(ndr, NDR_BUFFERS, &r->info1));
3811 279 : break;
3812 :
3813 356 : case 2:
3814 356 : NDR_CHECK(ndr_pull_samr_UserInfo2(ndr, NDR_BUFFERS, &r->info2));
3815 356 : break;
3816 :
3817 1648 : case 3:
3818 1648 : NDR_CHECK(ndr_pull_samr_UserInfo3(ndr, NDR_BUFFERS, &r->info3));
3819 1648 : break;
3820 :
3821 228 : case 4:
3822 228 : NDR_CHECK(ndr_pull_samr_UserInfo4(ndr, NDR_BUFFERS, &r->info4));
3823 228 : break;
3824 :
3825 1822 : case 5:
3826 1822 : NDR_CHECK(ndr_pull_samr_UserInfo5(ndr, NDR_BUFFERS, &r->info5));
3827 1822 : break;
3828 :
3829 850 : case 6:
3830 850 : NDR_CHECK(ndr_pull_samr_UserInfo6(ndr, NDR_BUFFERS, &r->info6));
3831 850 : break;
3832 :
3833 418 : case 7:
3834 418 : NDR_CHECK(ndr_pull_samr_UserInfo7(ndr, NDR_BUFFERS, &r->info7));
3835 418 : break;
3836 :
3837 208 : case 8:
3838 208 : NDR_CHECK(ndr_pull_samr_UserInfo8(ndr, NDR_BUFFERS, &r->info8));
3839 208 : break;
3840 :
3841 36 : case 9:
3842 36 : break;
3843 :
3844 496 : case 10:
3845 496 : NDR_CHECK(ndr_pull_samr_UserInfo10(ndr, NDR_BUFFERS, &r->info10));
3846 496 : break;
3847 :
3848 232 : case 11:
3849 232 : NDR_CHECK(ndr_pull_samr_UserInfo11(ndr, NDR_BUFFERS, &r->info11));
3850 232 : break;
3851 :
3852 264 : case 12:
3853 264 : NDR_CHECK(ndr_pull_samr_UserInfo12(ndr, NDR_BUFFERS, &r->info12));
3854 264 : break;
3855 :
3856 238 : case 13:
3857 238 : NDR_CHECK(ndr_pull_samr_UserInfo13(ndr, NDR_BUFFERS, &r->info13));
3858 238 : break;
3859 :
3860 244 : case 14:
3861 244 : NDR_CHECK(ndr_pull_samr_UserInfo14(ndr, NDR_BUFFERS, &r->info14));
3862 244 : break;
3863 :
3864 3018 : case 16:
3865 3018 : break;
3866 :
3867 202 : case 17:
3868 202 : break;
3869 :
3870 126 : case 18:
3871 126 : break;
3872 :
3873 196 : case 20:
3874 196 : NDR_CHECK(ndr_pull_samr_UserInfo20(ndr, NDR_BUFFERS, &r->info20));
3875 196 : break;
3876 :
3877 6198 : case 21:
3878 6198 : NDR_CHECK(ndr_pull_samr_UserInfo21(ndr, NDR_BUFFERS, &r->info21));
3879 6108 : break;
3880 :
3881 52 : case 23:
3882 52 : NDR_CHECK(ndr_pull_samr_UserInfo23(ndr, NDR_BUFFERS, &r->info23));
3883 52 : break;
3884 :
3885 405 : case 24:
3886 405 : break;
3887 :
3888 755 : case 25:
3889 755 : NDR_CHECK(ndr_pull_samr_UserInfo25(ndr, NDR_BUFFERS, &r->info25));
3890 665 : break;
3891 :
3892 91 : case 26:
3893 91 : break;
3894 :
3895 0 : default:
3896 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3897 : }
3898 0 : }
3899 18182 : return NDR_ERR_SUCCESS;
3900 : }
3901 :
3902 434 : _PUBLIC_ void ndr_print_samr_UserInfo(struct ndr_print *ndr, const char *name, const union samr_UserInfo *r)
3903 : {
3904 : uint32_t level;
3905 434 : level = ndr_print_steal_switch_value(ndr, r);
3906 434 : ndr_print_union(ndr, name, level, "samr_UserInfo");
3907 434 : switch (level) {
3908 40 : case 1:
3909 40 : ndr_print_samr_UserInfo1(ndr, "info1", &r->info1);
3910 40 : break;
3911 :
3912 6 : case 2:
3913 6 : ndr_print_samr_UserInfo2(ndr, "info2", &r->info2);
3914 6 : break;
3915 :
3916 0 : case 3:
3917 0 : ndr_print_samr_UserInfo3(ndr, "info3", &r->info3);
3918 0 : break;
3919 :
3920 0 : case 4:
3921 0 : ndr_print_samr_UserInfo4(ndr, "info4", &r->info4);
3922 0 : break;
3923 :
3924 4 : case 5:
3925 4 : ndr_print_samr_UserInfo5(ndr, "info5", &r->info5);
3926 4 : break;
3927 :
3928 0 : case 6:
3929 0 : ndr_print_samr_UserInfo6(ndr, "info6", &r->info6);
3930 0 : break;
3931 :
3932 0 : case 7:
3933 0 : ndr_print_samr_UserInfo7(ndr, "info7", &r->info7);
3934 0 : break;
3935 :
3936 0 : case 8:
3937 0 : ndr_print_samr_UserInfo8(ndr, "info8", &r->info8);
3938 0 : break;
3939 :
3940 0 : case 9:
3941 0 : ndr_print_samr_UserInfo9(ndr, "info9", &r->info9);
3942 0 : break;
3943 :
3944 24 : case 10:
3945 24 : ndr_print_samr_UserInfo10(ndr, "info10", &r->info10);
3946 24 : break;
3947 :
3948 0 : case 11:
3949 0 : ndr_print_samr_UserInfo11(ndr, "info11", &r->info11);
3950 0 : break;
3951 :
3952 0 : case 12:
3953 0 : ndr_print_samr_UserInfo12(ndr, "info12", &r->info12);
3954 0 : break;
3955 :
3956 0 : case 13:
3957 0 : ndr_print_samr_UserInfo13(ndr, "info13", &r->info13);
3958 0 : break;
3959 :
3960 0 : case 14:
3961 0 : ndr_print_samr_UserInfo14(ndr, "info14", &r->info14);
3962 0 : break;
3963 :
3964 272 : case 16:
3965 272 : ndr_print_samr_UserInfo16(ndr, "info16", &r->info16);
3966 272 : break;
3967 :
3968 0 : case 17:
3969 0 : ndr_print_samr_UserInfo17(ndr, "info17", &r->info17);
3970 0 : break;
3971 :
3972 0 : case 18:
3973 0 : ndr_print_samr_UserInfo18(ndr, "info18", &r->info18);
3974 0 : break;
3975 :
3976 0 : case 20:
3977 0 : ndr_print_samr_UserInfo20(ndr, "info20", &r->info20);
3978 0 : break;
3979 :
3980 86 : case 21:
3981 86 : ndr_print_samr_UserInfo21(ndr, "info21", &r->info21);
3982 86 : break;
3983 :
3984 0 : case 23:
3985 0 : ndr_print_samr_UserInfo23(ndr, "info23", &r->info23);
3986 0 : break;
3987 :
3988 0 : case 24:
3989 0 : ndr_print_samr_UserInfo24(ndr, "info24", &r->info24);
3990 0 : break;
3991 :
3992 0 : case 25:
3993 0 : ndr_print_samr_UserInfo25(ndr, "info25", &r->info25);
3994 0 : break;
3995 :
3996 2 : case 26:
3997 2 : ndr_print_samr_UserInfo26(ndr, "info26", &r->info26);
3998 2 : break;
3999 :
4000 0 : default:
4001 0 : ndr_print_bad_level(ndr, name, level);
4002 : }
4003 434 : }
4004 :
4005 398910 : _PUBLIC_ enum ndr_err_code ndr_push_samr_RidWithAttribute(struct ndr_push *ndr, int ndr_flags, const struct samr_RidWithAttribute *r)
4006 : {
4007 398910 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
4008 398910 : if (ndr_flags & NDR_SCALARS) {
4009 398910 : NDR_CHECK(ndr_push_align(ndr, 4));
4010 398910 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4011 398910 : NDR_CHECK(ndr_push_security_GroupAttrs(ndr, NDR_SCALARS, r->attributes));
4012 398910 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
4013 : }
4014 380660 : if (ndr_flags & NDR_BUFFERS) {
4015 : }
4016 398910 : return NDR_ERR_SUCCESS;
4017 : }
4018 :
4019 432955 : _PUBLIC_ enum ndr_err_code ndr_pull_samr_RidWithAttribute(struct ndr_pull *ndr, int ndr_flags, struct samr_RidWithAttribute *r)
4020 : {
4021 432955 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
4022 432955 : if (ndr_flags & NDR_SCALARS) {
4023 432955 : NDR_CHECK(ndr_pull_align(ndr, 4));
4024 432955 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4025 432955 : NDR_CHECK(ndr_pull_security_GroupAttrs(ndr, NDR_SCALARS, &r->attributes));
4026 432955 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
4027 : }
4028 416048 : if (ndr_flags & NDR_BUFFERS) {
4029 : }
4030 432955 : return NDR_ERR_SUCCESS;
4031 : }
4032 :
4033 0 : static void ndr_print_flags_samr_RidWithAttribute(struct ndr_print *ndr, const char *name, int unused, const struct samr_RidWithAttribute *r)
4034 : {
4035 0 : ndr_print_samr_RidWithAttribute(ndr, name, r);
4036 0 : }
4037 :
4038 21116 : _PUBLIC_ void ndr_print_samr_RidWithAttribute(struct ndr_print *ndr, const char *name, const struct samr_RidWithAttribute *r)
4039 : {
4040 21116 : ndr_print_struct(ndr, name, "samr_RidWithAttribute");
4041 21116 : if (r == NULL) { ndr_print_null(ndr); return; }
4042 21116 : ndr->depth++;
4043 21116 : ndr_print_uint32(ndr, "rid", r->rid);
4044 21116 : ndr_print_security_GroupAttrs(ndr, "attributes", r->attributes);
4045 21116 : ndr->depth--;
4046 : }
4047 :
4048 298688 : _PUBLIC_ enum ndr_err_code ndr_push_samr_RidWithAttributeArray(struct ndr_push *ndr, int ndr_flags, const struct samr_RidWithAttributeArray *r)
4049 : {
4050 : uint32_t cntr_rids_1;
4051 298688 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
4052 298688 : if (ndr_flags & NDR_SCALARS) {
4053 149757 : NDR_CHECK(ndr_push_align(ndr, 5));
4054 149757 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
4055 149757 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->rids));
4056 149757 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4057 : }
4058 298688 : if (ndr_flags & NDR_BUFFERS) {
4059 149757 : if (r->rids) {
4060 82622 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
4061 478089 : for (cntr_rids_1 = 0; cntr_rids_1 < (r->count); cntr_rids_1++) {
4062 398910 : NDR_CHECK(ndr_push_samr_RidWithAttribute(ndr, NDR_SCALARS, &r->rids[cntr_rids_1]));
4063 : }
4064 : }
4065 : }
4066 288360 : return NDR_ERR_SUCCESS;
4067 : }
4068 :
4069 380315 : _PUBLIC_ enum ndr_err_code ndr_pull_samr_RidWithAttributeArray(struct ndr_pull *ndr, int ndr_flags, struct samr_RidWithAttributeArray *r)
4070 : {
4071 : uint32_t _ptr_rids;
4072 380315 : uint32_t size_rids_1 = 0;
4073 : uint32_t cntr_rids_1;
4074 380315 : TALLOC_CTX *_mem_save_rids_0 = NULL;
4075 380315 : TALLOC_CTX *_mem_save_rids_1 = NULL;
4076 380315 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
4077 380315 : if (ndr_flags & NDR_SCALARS) {
4078 190547 : NDR_CHECK(ndr_pull_align(ndr, 5));
4079 190547 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
4080 190547 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rids));
4081 190547 : if (_ptr_rids) {
4082 119072 : NDR_PULL_ALLOC(ndr, r->rids);
4083 : } else {
4084 71475 : r->rids = NULL;
4085 : }
4086 190547 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4087 : }
4088 380315 : if (ndr_flags & NDR_BUFFERS) {
4089 190547 : if (r->rids) {
4090 119072 : _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
4091 119072 : NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0);
4092 119072 : NDR_CHECK(ndr_pull_array_size(ndr, &r->rids));
4093 119072 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->rids, &size_rids_1));
4094 119072 : NDR_PULL_ALLOC_N(ndr, r->rids, size_rids_1);
4095 119072 : _mem_save_rids_1 = NDR_PULL_GET_MEM_CTX(ndr);
4096 119072 : NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0);
4097 552027 : for (cntr_rids_1 = 0; cntr_rids_1 < (size_rids_1); cntr_rids_1++) {
4098 432955 : NDR_CHECK(ndr_pull_samr_RidWithAttribute(ndr, NDR_SCALARS, &r->rids[cntr_rids_1]));
4099 : }
4100 119072 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_1, 0);
4101 119072 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, 0);
4102 : }
4103 190547 : if (r->rids) {
4104 119072 : NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->rids, r->count));
4105 : }
4106 : }
4107 370039 : return NDR_ERR_SUCCESS;
4108 : }
4109 :
4110 0 : static void ndr_print_flags_samr_RidWithAttributeArray(struct ndr_print *ndr, const char *name, int unused, const struct samr_RidWithAttributeArray *r)
4111 : {
4112 0 : ndr_print_samr_RidWithAttributeArray(ndr, name, r);
4113 0 : }
4114 :
4115 3554 : _PUBLIC_ void ndr_print_samr_RidWithAttributeArray(struct ndr_print *ndr, const char *name, const struct samr_RidWithAttributeArray *r)
4116 : {
4117 : uint32_t cntr_rids_1;
4118 3554 : ndr_print_struct(ndr, name, "samr_RidWithAttributeArray");
4119 3554 : if (r == NULL) { ndr_print_null(ndr); return; }
4120 3554 : ndr->depth++;
4121 3554 : ndr_print_uint32(ndr, "count", r->count);
4122 3554 : ndr_print_ptr(ndr, "rids", r->rids);
4123 3554 : ndr->depth++;
4124 3554 : if (r->rids) {
4125 3545 : ndr->print(ndr, "%s: ARRAY(%d)", "rids", (int)r->count);
4126 3545 : ndr->depth++;
4127 24661 : for (cntr_rids_1 = 0; cntr_rids_1 < (r->count); cntr_rids_1++) {
4128 21116 : ndr_print_samr_RidWithAttribute(ndr, "rids", &r->rids[cntr_rids_1]);
4129 : }
4130 3545 : ndr->depth--;
4131 : }
4132 3554 : ndr->depth--;
4133 3554 : ndr->depth--;
4134 : }
4135 :
4136 4994 : static enum ndr_err_code ndr_push_samr_DispEntryGeneral(struct ndr_push *ndr, int ndr_flags, const struct samr_DispEntryGeneral *r)
4137 : {
4138 4994 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
4139 4994 : if (ndr_flags & NDR_SCALARS) {
4140 2497 : NDR_CHECK(ndr_push_align(ndr, 5));
4141 2497 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->idx));
4142 2497 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4143 2497 : NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
4144 2497 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
4145 2497 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
4146 2497 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
4147 2497 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4148 : }
4149 4994 : if (ndr_flags & NDR_BUFFERS) {
4150 2497 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
4151 2497 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
4152 2497 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
4153 : }
4154 4994 : return NDR_ERR_SUCCESS;
4155 : }
4156 :
4157 5602 : static enum ndr_err_code ndr_pull_samr_DispEntryGeneral(struct ndr_pull *ndr, int ndr_flags, struct samr_DispEntryGeneral *r)
4158 : {
4159 5602 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
4160 5602 : if (ndr_flags & NDR_SCALARS) {
4161 2801 : NDR_CHECK(ndr_pull_align(ndr, 5));
4162 2801 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->idx));
4163 2801 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4164 2801 : NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
4165 2801 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
4166 2801 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
4167 2801 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
4168 2801 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4169 : }
4170 5602 : if (ndr_flags & NDR_BUFFERS) {
4171 2801 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
4172 2801 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
4173 2801 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
4174 : }
4175 5602 : return NDR_ERR_SUCCESS;
4176 : }
4177 :
4178 24 : _PUBLIC_ void ndr_print_samr_DispEntryGeneral(struct ndr_print *ndr, const char *name, const struct samr_DispEntryGeneral *r)
4179 : {
4180 24 : ndr_print_struct(ndr, name, "samr_DispEntryGeneral");
4181 24 : if (r == NULL) { ndr_print_null(ndr); return; }
4182 24 : ndr->depth++;
4183 24 : ndr_print_uint32(ndr, "idx", r->idx);
4184 24 : ndr_print_uint32(ndr, "rid", r->rid);
4185 24 : ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
4186 24 : ndr_print_lsa_String(ndr, "account_name", &r->account_name);
4187 24 : ndr_print_lsa_String(ndr, "description", &r->description);
4188 24 : ndr_print_lsa_String(ndr, "full_name", &r->full_name);
4189 24 : ndr->depth--;
4190 : }
4191 :
4192 542 : static enum ndr_err_code ndr_push_samr_DispInfoGeneral(struct ndr_push *ndr, int ndr_flags, const struct samr_DispInfoGeneral *r)
4193 : {
4194 : uint32_t cntr_entries_1;
4195 542 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
4196 542 : if (ndr_flags & NDR_SCALARS) {
4197 271 : NDR_CHECK(ndr_push_align(ndr, 5));
4198 271 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
4199 271 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->entries));
4200 271 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4201 : }
4202 542 : if (ndr_flags & NDR_BUFFERS) {
4203 271 : if (r->entries) {
4204 254 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
4205 2751 : for (cntr_entries_1 = 0; cntr_entries_1 < (r->count); cntr_entries_1++) {
4206 2497 : NDR_CHECK(ndr_push_samr_DispEntryGeneral(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
4207 : }
4208 2751 : for (cntr_entries_1 = 0; cntr_entries_1 < (r->count); cntr_entries_1++) {
4209 2497 : NDR_CHECK(ndr_push_samr_DispEntryGeneral(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
4210 : }
4211 : }
4212 : }
4213 542 : return NDR_ERR_SUCCESS;
4214 : }
4215 :
4216 556 : static enum ndr_err_code ndr_pull_samr_DispInfoGeneral(struct ndr_pull *ndr, int ndr_flags, struct samr_DispInfoGeneral *r)
4217 : {
4218 : uint32_t _ptr_entries;
4219 556 : uint32_t size_entries_1 = 0;
4220 : uint32_t cntr_entries_1;
4221 556 : TALLOC_CTX *_mem_save_entries_0 = NULL;
4222 556 : TALLOC_CTX *_mem_save_entries_1 = NULL;
4223 556 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
4224 556 : if (ndr_flags & NDR_SCALARS) {
4225 278 : NDR_CHECK(ndr_pull_align(ndr, 5));
4226 278 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
4227 278 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_entries));
4228 278 : if (_ptr_entries) {
4229 255 : NDR_PULL_ALLOC(ndr, r->entries);
4230 : } else {
4231 23 : r->entries = NULL;
4232 : }
4233 278 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4234 : }
4235 556 : if (ndr_flags & NDR_BUFFERS) {
4236 278 : if (r->entries) {
4237 255 : _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
4238 255 : NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
4239 255 : NDR_CHECK(ndr_pull_array_size(ndr, &r->entries));
4240 255 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->entries, &size_entries_1));
4241 255 : NDR_PULL_ALLOC_N(ndr, r->entries, size_entries_1);
4242 255 : _mem_save_entries_1 = NDR_PULL_GET_MEM_CTX(ndr);
4243 255 : NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
4244 3056 : for (cntr_entries_1 = 0; cntr_entries_1 < (size_entries_1); cntr_entries_1++) {
4245 2801 : NDR_CHECK(ndr_pull_samr_DispEntryGeneral(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
4246 : }
4247 3056 : for (cntr_entries_1 = 0; cntr_entries_1 < (size_entries_1); cntr_entries_1++) {
4248 2801 : NDR_CHECK(ndr_pull_samr_DispEntryGeneral(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
4249 : }
4250 255 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_1, 0);
4251 255 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0);
4252 : }
4253 278 : if (r->entries) {
4254 255 : NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->entries, r->count));
4255 : }
4256 945 : for (cntr_entries_1 = 0; cntr_entries_1 < (size_entries_1); cntr_entries_1++) {
4257 : }
4258 : }
4259 556 : return NDR_ERR_SUCCESS;
4260 : }
4261 :
4262 2 : _PUBLIC_ void ndr_print_samr_DispInfoGeneral(struct ndr_print *ndr, const char *name, const struct samr_DispInfoGeneral *r)
4263 : {
4264 : uint32_t cntr_entries_1;
4265 2 : ndr_print_struct(ndr, name, "samr_DispInfoGeneral");
4266 2 : if (r == NULL) { ndr_print_null(ndr); return; }
4267 2 : ndr->depth++;
4268 2 : ndr_print_uint32(ndr, "count", r->count);
4269 2 : ndr_print_ptr(ndr, "entries", r->entries);
4270 2 : ndr->depth++;
4271 2 : if (r->entries) {
4272 2 : ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)r->count);
4273 2 : ndr->depth++;
4274 26 : for (cntr_entries_1 = 0; cntr_entries_1 < (r->count); cntr_entries_1++) {
4275 24 : ndr_print_samr_DispEntryGeneral(ndr, "entries", &r->entries[cntr_entries_1]);
4276 : }
4277 2 : ndr->depth--;
4278 : }
4279 2 : ndr->depth--;
4280 2 : ndr->depth--;
4281 : }
4282 :
4283 140 : static enum ndr_err_code ndr_push_samr_DispEntryFull(struct ndr_push *ndr, int ndr_flags, const struct samr_DispEntryFull *r)
4284 : {
4285 140 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
4286 140 : if (ndr_flags & NDR_SCALARS) {
4287 70 : NDR_CHECK(ndr_push_align(ndr, 5));
4288 70 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->idx));
4289 70 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4290 70 : NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
4291 70 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
4292 70 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
4293 70 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4294 : }
4295 140 : if (ndr_flags & NDR_BUFFERS) {
4296 70 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
4297 70 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
4298 : }
4299 140 : return NDR_ERR_SUCCESS;
4300 : }
4301 :
4302 140 : static enum ndr_err_code ndr_pull_samr_DispEntryFull(struct ndr_pull *ndr, int ndr_flags, struct samr_DispEntryFull *r)
4303 : {
4304 140 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
4305 140 : if (ndr_flags & NDR_SCALARS) {
4306 70 : NDR_CHECK(ndr_pull_align(ndr, 5));
4307 70 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->idx));
4308 70 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4309 70 : NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
4310 70 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
4311 70 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
4312 70 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4313 : }
4314 140 : if (ndr_flags & NDR_BUFFERS) {
4315 70 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
4316 70 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
4317 : }
4318 140 : return NDR_ERR_SUCCESS;
4319 : }
4320 :
4321 0 : _PUBLIC_ void ndr_print_samr_DispEntryFull(struct ndr_print *ndr, const char *name, const struct samr_DispEntryFull *r)
4322 : {
4323 0 : ndr_print_struct(ndr, name, "samr_DispEntryFull");
4324 0 : if (r == NULL) { ndr_print_null(ndr); return; }
4325 0 : ndr->depth++;
4326 0 : ndr_print_uint32(ndr, "idx", r->idx);
4327 0 : ndr_print_uint32(ndr, "rid", r->rid);
4328 0 : ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
4329 0 : ndr_print_lsa_String(ndr, "account_name", &r->account_name);
4330 0 : ndr_print_lsa_String(ndr, "description", &r->description);
4331 0 : ndr->depth--;
4332 : }
4333 :
4334 94 : static enum ndr_err_code ndr_push_samr_DispInfoFull(struct ndr_push *ndr, int ndr_flags, const struct samr_DispInfoFull *r)
4335 : {
4336 : uint32_t cntr_entries_1;
4337 94 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
4338 94 : if (ndr_flags & NDR_SCALARS) {
4339 47 : NDR_CHECK(ndr_push_align(ndr, 5));
4340 47 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
4341 47 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->entries));
4342 47 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4343 : }
4344 94 : if (ndr_flags & NDR_BUFFERS) {
4345 47 : if (r->entries) {
4346 44 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
4347 114 : for (cntr_entries_1 = 0; cntr_entries_1 < (r->count); cntr_entries_1++) {
4348 70 : NDR_CHECK(ndr_push_samr_DispEntryFull(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
4349 : }
4350 114 : for (cntr_entries_1 = 0; cntr_entries_1 < (r->count); cntr_entries_1++) {
4351 70 : NDR_CHECK(ndr_push_samr_DispEntryFull(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
4352 : }
4353 : }
4354 : }
4355 94 : return NDR_ERR_SUCCESS;
4356 : }
4357 :
4358 102 : static enum ndr_err_code ndr_pull_samr_DispInfoFull(struct ndr_pull *ndr, int ndr_flags, struct samr_DispInfoFull *r)
4359 : {
4360 : uint32_t _ptr_entries;
4361 102 : uint32_t size_entries_1 = 0;
4362 : uint32_t cntr_entries_1;
4363 102 : TALLOC_CTX *_mem_save_entries_0 = NULL;
4364 102 : TALLOC_CTX *_mem_save_entries_1 = NULL;
4365 102 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
4366 102 : if (ndr_flags & NDR_SCALARS) {
4367 51 : NDR_CHECK(ndr_pull_align(ndr, 5));
4368 51 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
4369 51 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_entries));
4370 51 : if (_ptr_entries) {
4371 44 : NDR_PULL_ALLOC(ndr, r->entries);
4372 : } else {
4373 7 : r->entries = NULL;
4374 : }
4375 51 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4376 : }
4377 102 : if (ndr_flags & NDR_BUFFERS) {
4378 51 : if (r->entries) {
4379 44 : _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
4380 44 : NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
4381 44 : NDR_CHECK(ndr_pull_array_size(ndr, &r->entries));
4382 44 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->entries, &size_entries_1));
4383 44 : NDR_PULL_ALLOC_N(ndr, r->entries, size_entries_1);
4384 44 : _mem_save_entries_1 = NDR_PULL_GET_MEM_CTX(ndr);
4385 44 : NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
4386 114 : for (cntr_entries_1 = 0; cntr_entries_1 < (size_entries_1); cntr_entries_1++) {
4387 70 : NDR_CHECK(ndr_pull_samr_DispEntryFull(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
4388 : }
4389 114 : for (cntr_entries_1 = 0; cntr_entries_1 < (size_entries_1); cntr_entries_1++) {
4390 70 : NDR_CHECK(ndr_pull_samr_DispEntryFull(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
4391 : }
4392 44 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_1, 0);
4393 44 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0);
4394 : }
4395 51 : if (r->entries) {
4396 44 : NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->entries, r->count));
4397 : }
4398 63 : for (cntr_entries_1 = 0; cntr_entries_1 < (size_entries_1); cntr_entries_1++) {
4399 : }
4400 : }
4401 102 : return NDR_ERR_SUCCESS;
4402 : }
4403 :
4404 0 : _PUBLIC_ void ndr_print_samr_DispInfoFull(struct ndr_print *ndr, const char *name, const struct samr_DispInfoFull *r)
4405 : {
4406 : uint32_t cntr_entries_1;
4407 0 : ndr_print_struct(ndr, name, "samr_DispInfoFull");
4408 0 : if (r == NULL) { ndr_print_null(ndr); return; }
4409 0 : ndr->depth++;
4410 0 : ndr_print_uint32(ndr, "count", r->count);
4411 0 : ndr_print_ptr(ndr, "entries", r->entries);
4412 0 : ndr->depth++;
4413 0 : if (r->entries) {
4414 0 : ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)r->count);
4415 0 : ndr->depth++;
4416 0 : for (cntr_entries_1 = 0; cntr_entries_1 < (r->count); cntr_entries_1++) {
4417 0 : ndr_print_samr_DispEntryFull(ndr, "entries", &r->entries[cntr_entries_1]);
4418 : }
4419 0 : ndr->depth--;
4420 : }
4421 0 : ndr->depth--;
4422 0 : ndr->depth--;
4423 : }
4424 :
4425 3672 : static enum ndr_err_code ndr_push_samr_DispEntryFullGroup(struct ndr_push *ndr, int ndr_flags, const struct samr_DispEntryFullGroup *r)
4426 : {
4427 3672 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
4428 3672 : if (ndr_flags & NDR_SCALARS) {
4429 1836 : NDR_CHECK(ndr_push_align(ndr, 5));
4430 1836 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->idx));
4431 1836 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4432 1836 : NDR_CHECK(ndr_push_security_GroupAttrs(ndr, NDR_SCALARS, r->acct_flags));
4433 1836 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
4434 1836 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
4435 1836 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4436 : }
4437 3672 : if (ndr_flags & NDR_BUFFERS) {
4438 1836 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
4439 1836 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
4440 : }
4441 3672 : return NDR_ERR_SUCCESS;
4442 : }
4443 :
4444 3976 : static enum ndr_err_code ndr_pull_samr_DispEntryFullGroup(struct ndr_pull *ndr, int ndr_flags, struct samr_DispEntryFullGroup *r)
4445 : {
4446 3976 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
4447 3976 : if (ndr_flags & NDR_SCALARS) {
4448 1988 : NDR_CHECK(ndr_pull_align(ndr, 5));
4449 1988 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->idx));
4450 1988 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4451 1988 : NDR_CHECK(ndr_pull_security_GroupAttrs(ndr, NDR_SCALARS, &r->acct_flags));
4452 1988 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
4453 1988 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
4454 1988 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4455 : }
4456 3976 : if (ndr_flags & NDR_BUFFERS) {
4457 1988 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
4458 1988 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
4459 : }
4460 3976 : return NDR_ERR_SUCCESS;
4461 : }
4462 :
4463 0 : _PUBLIC_ void ndr_print_samr_DispEntryFullGroup(struct ndr_print *ndr, const char *name, const struct samr_DispEntryFullGroup *r)
4464 : {
4465 0 : ndr_print_struct(ndr, name, "samr_DispEntryFullGroup");
4466 0 : if (r == NULL) { ndr_print_null(ndr); return; }
4467 0 : ndr->depth++;
4468 0 : ndr_print_uint32(ndr, "idx", r->idx);
4469 0 : ndr_print_uint32(ndr, "rid", r->rid);
4470 0 : ndr_print_security_GroupAttrs(ndr, "acct_flags", r->acct_flags);
4471 0 : ndr_print_lsa_String(ndr, "account_name", &r->account_name);
4472 0 : ndr_print_lsa_String(ndr, "description", &r->description);
4473 0 : ndr->depth--;
4474 : }
4475 :
4476 230 : static enum ndr_err_code ndr_push_samr_DispInfoFullGroups(struct ndr_push *ndr, int ndr_flags, const struct samr_DispInfoFullGroups *r)
4477 : {
4478 : uint32_t cntr_entries_1;
4479 230 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
4480 230 : if (ndr_flags & NDR_SCALARS) {
4481 115 : NDR_CHECK(ndr_push_align(ndr, 5));
4482 115 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
4483 115 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->entries));
4484 115 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4485 : }
4486 230 : if (ndr_flags & NDR_BUFFERS) {
4487 115 : if (r->entries) {
4488 109 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
4489 1945 : for (cntr_entries_1 = 0; cntr_entries_1 < (r->count); cntr_entries_1++) {
4490 1836 : NDR_CHECK(ndr_push_samr_DispEntryFullGroup(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
4491 : }
4492 1945 : for (cntr_entries_1 = 0; cntr_entries_1 < (r->count); cntr_entries_1++) {
4493 1836 : NDR_CHECK(ndr_push_samr_DispEntryFullGroup(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
4494 : }
4495 : }
4496 : }
4497 230 : return NDR_ERR_SUCCESS;
4498 : }
4499 :
4500 242 : static enum ndr_err_code ndr_pull_samr_DispInfoFullGroups(struct ndr_pull *ndr, int ndr_flags, struct samr_DispInfoFullGroups *r)
4501 : {
4502 : uint32_t _ptr_entries;
4503 242 : uint32_t size_entries_1 = 0;
4504 : uint32_t cntr_entries_1;
4505 242 : TALLOC_CTX *_mem_save_entries_0 = NULL;
4506 242 : TALLOC_CTX *_mem_save_entries_1 = NULL;
4507 242 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
4508 242 : if (ndr_flags & NDR_SCALARS) {
4509 121 : NDR_CHECK(ndr_pull_align(ndr, 5));
4510 121 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
4511 121 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_entries));
4512 121 : if (_ptr_entries) {
4513 110 : NDR_PULL_ALLOC(ndr, r->entries);
4514 : } else {
4515 11 : r->entries = NULL;
4516 : }
4517 121 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4518 : }
4519 242 : if (ndr_flags & NDR_BUFFERS) {
4520 121 : if (r->entries) {
4521 110 : _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
4522 110 : NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
4523 110 : NDR_CHECK(ndr_pull_array_size(ndr, &r->entries));
4524 110 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->entries, &size_entries_1));
4525 110 : NDR_PULL_ALLOC_N(ndr, r->entries, size_entries_1);
4526 110 : _mem_save_entries_1 = NDR_PULL_GET_MEM_CTX(ndr);
4527 110 : NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
4528 2098 : for (cntr_entries_1 = 0; cntr_entries_1 < (size_entries_1); cntr_entries_1++) {
4529 1988 : NDR_CHECK(ndr_pull_samr_DispEntryFullGroup(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
4530 : }
4531 2098 : for (cntr_entries_1 = 0; cntr_entries_1 < (size_entries_1); cntr_entries_1++) {
4532 1988 : NDR_CHECK(ndr_pull_samr_DispEntryFullGroup(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
4533 : }
4534 110 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_1, 0);
4535 110 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0);
4536 : }
4537 121 : if (r->entries) {
4538 110 : NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->entries, r->count));
4539 : }
4540 587 : for (cntr_entries_1 = 0; cntr_entries_1 < (size_entries_1); cntr_entries_1++) {
4541 : }
4542 : }
4543 242 : return NDR_ERR_SUCCESS;
4544 : }
4545 :
4546 0 : _PUBLIC_ void ndr_print_samr_DispInfoFullGroups(struct ndr_print *ndr, const char *name, const struct samr_DispInfoFullGroups *r)
4547 : {
4548 : uint32_t cntr_entries_1;
4549 0 : ndr_print_struct(ndr, name, "samr_DispInfoFullGroups");
4550 0 : if (r == NULL) { ndr_print_null(ndr); return; }
4551 0 : ndr->depth++;
4552 0 : ndr_print_uint32(ndr, "count", r->count);
4553 0 : ndr_print_ptr(ndr, "entries", r->entries);
4554 0 : ndr->depth++;
4555 0 : if (r->entries) {
4556 0 : ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)r->count);
4557 0 : ndr->depth++;
4558 0 : for (cntr_entries_1 = 0; cntr_entries_1 < (r->count); cntr_entries_1++) {
4559 0 : ndr_print_samr_DispEntryFullGroup(ndr, "entries", &r->entries[cntr_entries_1]);
4560 : }
4561 0 : ndr->depth--;
4562 : }
4563 0 : ndr->depth--;
4564 0 : ndr->depth--;
4565 : }
4566 :
4567 2154 : static enum ndr_err_code ndr_push_samr_DispEntryAscii(struct ndr_push *ndr, int ndr_flags, const struct samr_DispEntryAscii *r)
4568 : {
4569 2154 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
4570 2154 : if (ndr_flags & NDR_SCALARS) {
4571 1077 : NDR_CHECK(ndr_push_align(ndr, 5));
4572 1077 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->idx));
4573 1077 : NDR_CHECK(ndr_push_lsa_AsciiStringLarge(ndr, NDR_SCALARS, &r->account_name));
4574 1077 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4575 : }
4576 2154 : if (ndr_flags & NDR_BUFFERS) {
4577 1077 : NDR_CHECK(ndr_push_lsa_AsciiStringLarge(ndr, NDR_BUFFERS, &r->account_name));
4578 : }
4579 2154 : return NDR_ERR_SUCCESS;
4580 : }
4581 :
4582 2154 : static enum ndr_err_code ndr_pull_samr_DispEntryAscii(struct ndr_pull *ndr, int ndr_flags, struct samr_DispEntryAscii *r)
4583 : {
4584 2154 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
4585 2154 : if (ndr_flags & NDR_SCALARS) {
4586 1077 : NDR_CHECK(ndr_pull_align(ndr, 5));
4587 1077 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->idx));
4588 1077 : NDR_CHECK(ndr_pull_lsa_AsciiStringLarge(ndr, NDR_SCALARS, &r->account_name));
4589 1077 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4590 : }
4591 2154 : if (ndr_flags & NDR_BUFFERS) {
4592 1077 : NDR_CHECK(ndr_pull_lsa_AsciiStringLarge(ndr, NDR_BUFFERS, &r->account_name));
4593 : }
4594 2154 : return NDR_ERR_SUCCESS;
4595 : }
4596 :
4597 0 : _PUBLIC_ void ndr_print_samr_DispEntryAscii(struct ndr_print *ndr, const char *name, const struct samr_DispEntryAscii *r)
4598 : {
4599 0 : ndr_print_struct(ndr, name, "samr_DispEntryAscii");
4600 0 : if (r == NULL) { ndr_print_null(ndr); return; }
4601 0 : ndr->depth++;
4602 0 : ndr_print_uint32(ndr, "idx", r->idx);
4603 0 : ndr_print_lsa_AsciiStringLarge(ndr, "account_name", &r->account_name);
4604 0 : ndr->depth--;
4605 : }
4606 :
4607 472 : static enum ndr_err_code ndr_push_samr_DispInfoAscii(struct ndr_push *ndr, int ndr_flags, const struct samr_DispInfoAscii *r)
4608 : {
4609 : uint32_t cntr_entries_1;
4610 472 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
4611 472 : if (ndr_flags & NDR_SCALARS) {
4612 236 : NDR_CHECK(ndr_push_align(ndr, 5));
4613 236 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
4614 236 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->entries));
4615 236 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4616 : }
4617 472 : if (ndr_flags & NDR_BUFFERS) {
4618 236 : if (r->entries) {
4619 228 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
4620 1305 : for (cntr_entries_1 = 0; cntr_entries_1 < (r->count); cntr_entries_1++) {
4621 1077 : NDR_CHECK(ndr_push_samr_DispEntryAscii(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
4622 : }
4623 1305 : for (cntr_entries_1 = 0; cntr_entries_1 < (r->count); cntr_entries_1++) {
4624 1077 : NDR_CHECK(ndr_push_samr_DispEntryAscii(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
4625 : }
4626 : }
4627 : }
4628 472 : return NDR_ERR_SUCCESS;
4629 : }
4630 :
4631 492 : static enum ndr_err_code ndr_pull_samr_DispInfoAscii(struct ndr_pull *ndr, int ndr_flags, struct samr_DispInfoAscii *r)
4632 : {
4633 : uint32_t _ptr_entries;
4634 492 : uint32_t size_entries_1 = 0;
4635 : uint32_t cntr_entries_1;
4636 492 : TALLOC_CTX *_mem_save_entries_0 = NULL;
4637 492 : TALLOC_CTX *_mem_save_entries_1 = NULL;
4638 492 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
4639 492 : if (ndr_flags & NDR_SCALARS) {
4640 246 : NDR_CHECK(ndr_pull_align(ndr, 5));
4641 246 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
4642 246 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_entries));
4643 246 : if (_ptr_entries) {
4644 228 : NDR_PULL_ALLOC(ndr, r->entries);
4645 : } else {
4646 18 : r->entries = NULL;
4647 : }
4648 246 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4649 : }
4650 492 : if (ndr_flags & NDR_BUFFERS) {
4651 246 : if (r->entries) {
4652 228 : _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
4653 228 : NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
4654 228 : NDR_CHECK(ndr_pull_array_size(ndr, &r->entries));
4655 228 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->entries, &size_entries_1));
4656 228 : NDR_PULL_ALLOC_N(ndr, r->entries, size_entries_1);
4657 228 : _mem_save_entries_1 = NDR_PULL_GET_MEM_CTX(ndr);
4658 228 : NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
4659 1305 : for (cntr_entries_1 = 0; cntr_entries_1 < (size_entries_1); cntr_entries_1++) {
4660 1077 : NDR_CHECK(ndr_pull_samr_DispEntryAscii(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
4661 : }
4662 1305 : for (cntr_entries_1 = 0; cntr_entries_1 < (size_entries_1); cntr_entries_1++) {
4663 1077 : NDR_CHECK(ndr_pull_samr_DispEntryAscii(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
4664 : }
4665 228 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_1, 0);
4666 228 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0);
4667 : }
4668 246 : if (r->entries) {
4669 228 : NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->entries, r->count));
4670 : }
4671 574 : for (cntr_entries_1 = 0; cntr_entries_1 < (size_entries_1); cntr_entries_1++) {
4672 : }
4673 : }
4674 492 : return NDR_ERR_SUCCESS;
4675 : }
4676 :
4677 0 : _PUBLIC_ void ndr_print_samr_DispInfoAscii(struct ndr_print *ndr, const char *name, const struct samr_DispInfoAscii *r)
4678 : {
4679 : uint32_t cntr_entries_1;
4680 0 : ndr_print_struct(ndr, name, "samr_DispInfoAscii");
4681 0 : if (r == NULL) { ndr_print_null(ndr); return; }
4682 0 : ndr->depth++;
4683 0 : ndr_print_uint32(ndr, "count", r->count);
4684 0 : ndr_print_ptr(ndr, "entries", r->entries);
4685 0 : ndr->depth++;
4686 0 : if (r->entries) {
4687 0 : ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)r->count);
4688 0 : ndr->depth++;
4689 0 : for (cntr_entries_1 = 0; cntr_entries_1 < (r->count); cntr_entries_1++) {
4690 0 : ndr_print_samr_DispEntryAscii(ndr, "entries", &r->entries[cntr_entries_1]);
4691 : }
4692 0 : ndr->depth--;
4693 : }
4694 0 : ndr->depth--;
4695 0 : ndr->depth--;
4696 : }
4697 :
4698 669 : static enum ndr_err_code ndr_push_samr_DispInfo(struct ndr_push *ndr, int ndr_flags, const union samr_DispInfo *r)
4699 : {
4700 : uint32_t level;
4701 669 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
4702 669 : if (ndr_flags & NDR_SCALARS) {
4703 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
4704 669 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
4705 669 : NDR_CHECK(ndr_push_union_align(ndr, 5));
4706 669 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level));
4707 669 : NDR_CHECK(ndr_push_union_align(ndr, 5));
4708 669 : switch (level) {
4709 271 : case 1: {
4710 271 : NDR_CHECK(ndr_push_samr_DispInfoGeneral(ndr, NDR_SCALARS, &r->info1));
4711 271 : break; }
4712 :
4713 47 : case 2: {
4714 47 : NDR_CHECK(ndr_push_samr_DispInfoFull(ndr, NDR_SCALARS, &r->info2));
4715 47 : break; }
4716 :
4717 115 : case 3: {
4718 115 : NDR_CHECK(ndr_push_samr_DispInfoFullGroups(ndr, NDR_SCALARS, &r->info3));
4719 115 : break; }
4720 :
4721 105 : case 4: {
4722 105 : NDR_CHECK(ndr_push_samr_DispInfoAscii(ndr, NDR_SCALARS, &r->info4));
4723 105 : break; }
4724 :
4725 131 : case 5: {
4726 131 : NDR_CHECK(ndr_push_samr_DispInfoAscii(ndr, NDR_SCALARS, &r->info5));
4727 131 : break; }
4728 :
4729 0 : default:
4730 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4731 : }
4732 0 : }
4733 669 : if (ndr_flags & NDR_BUFFERS) {
4734 669 : if (!(ndr_flags & NDR_SCALARS)) {
4735 : /* We didn't get it above, and the token is not needed after this. */
4736 0 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
4737 : }
4738 669 : switch (level) {
4739 271 : case 1:
4740 271 : NDR_CHECK(ndr_push_samr_DispInfoGeneral(ndr, NDR_BUFFERS, &r->info1));
4741 271 : break;
4742 :
4743 47 : case 2:
4744 47 : NDR_CHECK(ndr_push_samr_DispInfoFull(ndr, NDR_BUFFERS, &r->info2));
4745 47 : break;
4746 :
4747 115 : case 3:
4748 115 : NDR_CHECK(ndr_push_samr_DispInfoFullGroups(ndr, NDR_BUFFERS, &r->info3));
4749 115 : break;
4750 :
4751 105 : case 4:
4752 105 : NDR_CHECK(ndr_push_samr_DispInfoAscii(ndr, NDR_BUFFERS, &r->info4));
4753 105 : break;
4754 :
4755 131 : case 5:
4756 131 : NDR_CHECK(ndr_push_samr_DispInfoAscii(ndr, NDR_BUFFERS, &r->info5));
4757 131 : break;
4758 :
4759 0 : default:
4760 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4761 : }
4762 0 : }
4763 669 : return NDR_ERR_SUCCESS;
4764 : }
4765 :
4766 696 : static enum ndr_err_code ndr_pull_samr_DispInfo(struct ndr_pull *ndr, int ndr_flags, union samr_DispInfo *r)
4767 : {
4768 : uint32_t level;
4769 : uint16_t _level;
4770 696 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
4771 696 : if (ndr_flags & NDR_SCALARS) {
4772 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
4773 696 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
4774 696 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
4775 696 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
4776 696 : if (_level != level) {
4777 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
4778 : }
4779 696 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
4780 696 : switch (level) {
4781 278 : case 1: {
4782 278 : NDR_CHECK(ndr_pull_samr_DispInfoGeneral(ndr, NDR_SCALARS, &r->info1));
4783 278 : break; }
4784 :
4785 51 : case 2: {
4786 51 : NDR_CHECK(ndr_pull_samr_DispInfoFull(ndr, NDR_SCALARS, &r->info2));
4787 51 : break; }
4788 :
4789 121 : case 3: {
4790 121 : NDR_CHECK(ndr_pull_samr_DispInfoFullGroups(ndr, NDR_SCALARS, &r->info3));
4791 121 : break; }
4792 :
4793 109 : case 4: {
4794 109 : NDR_CHECK(ndr_pull_samr_DispInfoAscii(ndr, NDR_SCALARS, &r->info4));
4795 109 : break; }
4796 :
4797 137 : case 5: {
4798 137 : NDR_CHECK(ndr_pull_samr_DispInfoAscii(ndr, NDR_SCALARS, &r->info5));
4799 137 : break; }
4800 :
4801 0 : default:
4802 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4803 : }
4804 0 : }
4805 696 : if (ndr_flags & NDR_BUFFERS) {
4806 696 : if (!(ndr_flags & NDR_SCALARS)) {
4807 : /* We didn't get it above, and the token is not needed after this. */
4808 0 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
4809 : }
4810 696 : switch (level) {
4811 278 : case 1:
4812 278 : NDR_CHECK(ndr_pull_samr_DispInfoGeneral(ndr, NDR_BUFFERS, &r->info1));
4813 278 : break;
4814 :
4815 51 : case 2:
4816 51 : NDR_CHECK(ndr_pull_samr_DispInfoFull(ndr, NDR_BUFFERS, &r->info2));
4817 51 : break;
4818 :
4819 121 : case 3:
4820 121 : NDR_CHECK(ndr_pull_samr_DispInfoFullGroups(ndr, NDR_BUFFERS, &r->info3));
4821 121 : break;
4822 :
4823 109 : case 4:
4824 109 : NDR_CHECK(ndr_pull_samr_DispInfoAscii(ndr, NDR_BUFFERS, &r->info4));
4825 109 : break;
4826 :
4827 137 : case 5:
4828 137 : NDR_CHECK(ndr_pull_samr_DispInfoAscii(ndr, NDR_BUFFERS, &r->info5));
4829 137 : break;
4830 :
4831 0 : default:
4832 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4833 : }
4834 0 : }
4835 696 : return NDR_ERR_SUCCESS;
4836 : }
4837 :
4838 2 : _PUBLIC_ void ndr_print_samr_DispInfo(struct ndr_print *ndr, const char *name, const union samr_DispInfo *r)
4839 : {
4840 : uint32_t level;
4841 2 : level = ndr_print_steal_switch_value(ndr, r);
4842 2 : ndr_print_union(ndr, name, level, "samr_DispInfo");
4843 2 : switch (level) {
4844 2 : case 1:
4845 2 : ndr_print_samr_DispInfoGeneral(ndr, "info1", &r->info1);
4846 2 : break;
4847 :
4848 0 : case 2:
4849 0 : ndr_print_samr_DispInfoFull(ndr, "info2", &r->info2);
4850 0 : break;
4851 :
4852 0 : case 3:
4853 0 : ndr_print_samr_DispInfoFullGroups(ndr, "info3", &r->info3);
4854 0 : break;
4855 :
4856 0 : case 4:
4857 0 : ndr_print_samr_DispInfoAscii(ndr, "info4", &r->info4);
4858 0 : break;
4859 :
4860 0 : case 5:
4861 0 : ndr_print_samr_DispInfoAscii(ndr, "info5", &r->info5);
4862 0 : break;
4863 :
4864 0 : default:
4865 0 : ndr_print_bad_level(ndr, name, level);
4866 : }
4867 2 : }
4868 :
4869 6582 : static enum ndr_err_code ndr_push_samr_PwInfo(struct ndr_push *ndr, int ndr_flags, const struct samr_PwInfo *r)
4870 : {
4871 6582 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
4872 6582 : if (ndr_flags & NDR_SCALARS) {
4873 6582 : NDR_CHECK(ndr_push_align(ndr, 4));
4874 6582 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->min_password_length));
4875 6582 : NDR_CHECK(ndr_push_samr_PasswordProperties(ndr, NDR_SCALARS, r->password_properties));
4876 6582 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
4877 : }
4878 5754 : if (ndr_flags & NDR_BUFFERS) {
4879 : }
4880 6582 : return NDR_ERR_SUCCESS;
4881 : }
4882 :
4883 5897 : static enum ndr_err_code ndr_pull_samr_PwInfo(struct ndr_pull *ndr, int ndr_flags, struct samr_PwInfo *r)
4884 : {
4885 5897 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
4886 5897 : if (ndr_flags & NDR_SCALARS) {
4887 5897 : NDR_CHECK(ndr_pull_align(ndr, 4));
4888 5897 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->min_password_length));
4889 5897 : NDR_CHECK(ndr_pull_samr_PasswordProperties(ndr, NDR_SCALARS, &r->password_properties));
4890 5897 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
4891 : }
4892 5205 : if (ndr_flags & NDR_BUFFERS) {
4893 : }
4894 5897 : return NDR_ERR_SUCCESS;
4895 : }
4896 :
4897 1690 : _PUBLIC_ void ndr_print_samr_PwInfo(struct ndr_print *ndr, const char *name, const struct samr_PwInfo *r)
4898 : {
4899 1690 : ndr_print_struct(ndr, name, "samr_PwInfo");
4900 1690 : if (r == NULL) { ndr_print_null(ndr); return; }
4901 1690 : ndr->depth++;
4902 1690 : ndr_print_uint16(ndr, "min_password_length", r->min_password_length);
4903 1690 : ndr_print_samr_PasswordProperties(ndr, "password_properties", r->password_properties);
4904 1690 : ndr->depth--;
4905 : }
4906 :
4907 718 : static enum ndr_err_code ndr_push_samr_ConnectVersion(struct ndr_push *ndr, int ndr_flags, enum samr_ConnectVersion r)
4908 : {
4909 718 : NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
4910 718 : return NDR_ERR_SUCCESS;
4911 : }
4912 :
4913 698 : static enum ndr_err_code ndr_pull_samr_ConnectVersion(struct ndr_pull *ndr, int ndr_flags, enum samr_ConnectVersion *r)
4914 : {
4915 : uint32_t v;
4916 702 : NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
4917 702 : *r = v;
4918 698 : return NDR_ERR_SUCCESS;
4919 : }
4920 :
4921 10 : _PUBLIC_ void ndr_print_samr_ConnectVersion(struct ndr_print *ndr, const char *name, enum samr_ConnectVersion r)
4922 : {
4923 10 : const char *val = NULL;
4924 :
4925 10 : switch (r) {
4926 0 : case SAMR_CONNECT_PRE_W2K: val = "SAMR_CONNECT_PRE_W2K"; break;
4927 0 : case SAMR_CONNECT_W2K: val = "SAMR_CONNECT_W2K"; break;
4928 10 : case SAMR_CONNECT_AFTER_W2K: val = "SAMR_CONNECT_AFTER_W2K"; break;
4929 : }
4930 10 : ndr_print_enum(ndr, name, "ENUM", val, r);
4931 10 : }
4932 :
4933 368 : _PUBLIC_ enum ndr_err_code ndr_push_samPwdChangeReason(struct ndr_push *ndr, int ndr_flags, enum samPwdChangeReason r)
4934 : {
4935 368 : NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
4936 368 : return NDR_ERR_SUCCESS;
4937 : }
4938 :
4939 370 : _PUBLIC_ enum ndr_err_code ndr_pull_samPwdChangeReason(struct ndr_pull *ndr, int ndr_flags, enum samPwdChangeReason *r)
4940 : {
4941 : uint32_t v;
4942 370 : NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
4943 370 : *r = v;
4944 370 : return NDR_ERR_SUCCESS;
4945 : }
4946 :
4947 2 : _PUBLIC_ void ndr_print_samPwdChangeReason(struct ndr_print *ndr, const char *name, enum samPwdChangeReason r)
4948 : {
4949 2 : const char *val = NULL;
4950 :
4951 2 : switch (r) {
4952 0 : case SAM_PWD_CHANGE_NO_ERROR: val = "SAM_PWD_CHANGE_NO_ERROR"; break;
4953 0 : case SAM_PWD_CHANGE_PASSWORD_TOO_SHORT: val = "SAM_PWD_CHANGE_PASSWORD_TOO_SHORT"; break;
4954 0 : case SAM_PWD_CHANGE_PWD_IN_HISTORY: val = "SAM_PWD_CHANGE_PWD_IN_HISTORY"; break;
4955 0 : case SAM_PWD_CHANGE_USERNAME_IN_PASSWORD: val = "SAM_PWD_CHANGE_USERNAME_IN_PASSWORD"; break;
4956 0 : case SAM_PWD_CHANGE_FULLNAME_IN_PASSWORD: val = "SAM_PWD_CHANGE_FULLNAME_IN_PASSWORD"; break;
4957 2 : case SAM_PWD_CHANGE_NOT_COMPLEX: val = "SAM_PWD_CHANGE_NOT_COMPLEX"; break;
4958 0 : case SAM_PWD_CHANGE_MACHINE_NOT_DEFAULT: val = "SAM_PWD_CHANGE_MACHINE_NOT_DEFAULT"; break;
4959 0 : case SAM_PWD_CHANGE_FAILED_BY_FILTER: val = "SAM_PWD_CHANGE_FAILED_BY_FILTER"; break;
4960 0 : case SAM_PWD_CHANGE_PASSWORD_TOO_LONG: val = "SAM_PWD_CHANGE_PASSWORD_TOO_LONG"; break;
4961 : }
4962 2 : ndr_print_enum(ndr, name, "ENUM", val, r);
4963 2 : }
4964 :
4965 368 : static enum ndr_err_code ndr_push_userPwdChangeFailureInformation(struct ndr_push *ndr, int ndr_flags, const struct userPwdChangeFailureInformation *r)
4966 : {
4967 368 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
4968 368 : if (ndr_flags & NDR_SCALARS) {
4969 368 : NDR_CHECK(ndr_push_align(ndr, 5));
4970 368 : NDR_CHECK(ndr_push_samPwdChangeReason(ndr, NDR_SCALARS, r->extendedFailureReason));
4971 368 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->filterModuleName));
4972 368 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4973 : }
4974 368 : if (ndr_flags & NDR_BUFFERS) {
4975 368 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->filterModuleName));
4976 : }
4977 368 : return NDR_ERR_SUCCESS;
4978 : }
4979 :
4980 370 : static enum ndr_err_code ndr_pull_userPwdChangeFailureInformation(struct ndr_pull *ndr, int ndr_flags, struct userPwdChangeFailureInformation *r)
4981 : {
4982 370 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
4983 370 : if (ndr_flags & NDR_SCALARS) {
4984 370 : NDR_CHECK(ndr_pull_align(ndr, 5));
4985 370 : NDR_CHECK(ndr_pull_samPwdChangeReason(ndr, NDR_SCALARS, &r->extendedFailureReason));
4986 370 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->filterModuleName));
4987 370 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4988 : }
4989 370 : if (ndr_flags & NDR_BUFFERS) {
4990 370 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->filterModuleName));
4991 : }
4992 368 : return NDR_ERR_SUCCESS;
4993 : }
4994 :
4995 2 : _PUBLIC_ void ndr_print_userPwdChangeFailureInformation(struct ndr_print *ndr, const char *name, const struct userPwdChangeFailureInformation *r)
4996 : {
4997 2 : ndr_print_struct(ndr, name, "userPwdChangeFailureInformation");
4998 2 : if (r == NULL) { ndr_print_null(ndr); return; }
4999 2 : ndr->depth++;
5000 2 : ndr_print_samPwdChangeReason(ndr, "extendedFailureReason", r->extendedFailureReason);
5001 2 : ndr_print_lsa_String(ndr, "filterModuleName", &r->filterModuleName);
5002 2 : ndr->depth--;
5003 : }
5004 :
5005 544 : static enum ndr_err_code ndr_push_samr_ConnectInfo1(struct ndr_push *ndr, int ndr_flags, const struct samr_ConnectInfo1 *r)
5006 : {
5007 544 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
5008 544 : if (ndr_flags & NDR_SCALARS) {
5009 544 : NDR_CHECK(ndr_push_align(ndr, 4));
5010 544 : NDR_CHECK(ndr_push_samr_ConnectVersion(ndr, NDR_SCALARS, r->client_version));
5011 544 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
5012 544 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
5013 : }
5014 544 : if (ndr_flags & NDR_BUFFERS) {
5015 : }
5016 544 : return NDR_ERR_SUCCESS;
5017 : }
5018 :
5019 545 : static enum ndr_err_code ndr_pull_samr_ConnectInfo1(struct ndr_pull *ndr, int ndr_flags, struct samr_ConnectInfo1 *r)
5020 : {
5021 545 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
5022 545 : if (ndr_flags & NDR_SCALARS) {
5023 545 : NDR_CHECK(ndr_pull_align(ndr, 4));
5024 549 : NDR_CHECK(ndr_pull_samr_ConnectVersion(ndr, NDR_SCALARS, &r->client_version));
5025 545 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
5026 545 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
5027 : }
5028 541 : if (ndr_flags & NDR_BUFFERS) {
5029 : }
5030 545 : return NDR_ERR_SUCCESS;
5031 : }
5032 :
5033 10 : _PUBLIC_ void ndr_print_samr_ConnectInfo1(struct ndr_print *ndr, const char *name, const struct samr_ConnectInfo1 *r)
5034 : {
5035 10 : ndr_print_struct(ndr, name, "samr_ConnectInfo1");
5036 10 : if (r == NULL) { ndr_print_null(ndr); return; }
5037 10 : ndr->depth++;
5038 10 : ndr_print_samr_ConnectVersion(ndr, "client_version", r->client_version);
5039 10 : ndr_print_uint32(ndr, "unknown2", r->unknown2);
5040 10 : ndr->depth--;
5041 : }
5042 :
5043 544 : static enum ndr_err_code ndr_push_samr_ConnectInfo(struct ndr_push *ndr, int ndr_flags, const union samr_ConnectInfo *r)
5044 : {
5045 : uint32_t level;
5046 544 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
5047 544 : if (ndr_flags & NDR_SCALARS) {
5048 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
5049 544 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
5050 544 : NDR_CHECK(ndr_push_union_align(ndr, 4));
5051 544 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
5052 544 : NDR_CHECK(ndr_push_union_align(ndr, 4));
5053 544 : switch (level) {
5054 544 : case 1: {
5055 544 : NDR_CHECK(ndr_push_samr_ConnectInfo1(ndr, NDR_SCALARS, &r->info1));
5056 544 : break; }
5057 :
5058 0 : default:
5059 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5060 : }
5061 0 : }
5062 544 : if (ndr_flags & NDR_BUFFERS) {
5063 0 : if (!(ndr_flags & NDR_SCALARS)) {
5064 : /* We didn't get it above, and the token is not needed after this. */
5065 0 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
5066 : }
5067 0 : switch (level) {
5068 0 : case 1:
5069 0 : break;
5070 :
5071 0 : default:
5072 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5073 : }
5074 394 : }
5075 544 : return NDR_ERR_SUCCESS;
5076 : }
5077 :
5078 545 : static enum ndr_err_code ndr_pull_samr_ConnectInfo(struct ndr_pull *ndr, int ndr_flags, union samr_ConnectInfo *r)
5079 : {
5080 : uint32_t level;
5081 : uint32_t _level;
5082 545 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
5083 545 : if (ndr_flags & NDR_SCALARS) {
5084 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
5085 545 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
5086 545 : NDR_CHECK(ndr_pull_union_align(ndr, 4));
5087 545 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
5088 545 : if (_level != level) {
5089 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5090 : }
5091 545 : NDR_CHECK(ndr_pull_union_align(ndr, 4));
5092 545 : switch (level) {
5093 545 : case 1: {
5094 545 : NDR_CHECK(ndr_pull_samr_ConnectInfo1(ndr, NDR_SCALARS, &r->info1));
5095 541 : break; }
5096 :
5097 0 : default:
5098 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5099 : }
5100 0 : }
5101 545 : if (ndr_flags & NDR_BUFFERS) {
5102 0 : if (!(ndr_flags & NDR_SCALARS)) {
5103 : /* We didn't get it above, and the token is not needed after this. */
5104 0 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
5105 : }
5106 0 : switch (level) {
5107 0 : case 1:
5108 0 : break;
5109 :
5110 0 : default:
5111 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5112 : }
5113 395 : }
5114 541 : return NDR_ERR_SUCCESS;
5115 : }
5116 :
5117 10 : _PUBLIC_ void ndr_print_samr_ConnectInfo(struct ndr_print *ndr, const char *name, const union samr_ConnectInfo *r)
5118 : {
5119 : uint32_t level;
5120 10 : level = ndr_print_steal_switch_value(ndr, r);
5121 10 : ndr_print_union(ndr, name, level, "samr_ConnectInfo");
5122 10 : switch (level) {
5123 10 : case 1:
5124 10 : ndr_print_samr_ConnectInfo1(ndr, "info1", &r->info1);
5125 10 : break;
5126 :
5127 0 : default:
5128 0 : ndr_print_bad_level(ndr, name, level);
5129 : }
5130 10 : }
5131 :
5132 27 : static enum ndr_err_code ndr_push_samr_ValidateFieldsPresent(struct ndr_push *ndr, int ndr_flags, uint32_t r)
5133 : {
5134 27 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
5135 27 : return NDR_ERR_SUCCESS;
5136 : }
5137 :
5138 27 : static enum ndr_err_code ndr_pull_samr_ValidateFieldsPresent(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
5139 : {
5140 : uint32_t v;
5141 27 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
5142 27 : *r = v;
5143 27 : return NDR_ERR_SUCCESS;
5144 : }
5145 :
5146 0 : _PUBLIC_ void ndr_print_samr_ValidateFieldsPresent(struct ndr_print *ndr, const char *name, uint32_t r)
5147 : {
5148 0 : ndr_print_uint32(ndr, name, r);
5149 0 : ndr->depth++;
5150 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_PASSWORD_LAST_SET", SAMR_VALIDATE_FIELD_PASSWORD_LAST_SET, r);
5151 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_BAD_PASSWORD_TIME", SAMR_VALIDATE_FIELD_BAD_PASSWORD_TIME, r);
5152 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_LOCKOUT_TIME", SAMR_VALIDATE_FIELD_LOCKOUT_TIME, r);
5153 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_BAD_PASSWORD_COUNT", SAMR_VALIDATE_FIELD_BAD_PASSWORD_COUNT, r);
5154 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_PASSWORD_HISTORY_LENGTH", SAMR_VALIDATE_FIELD_PASSWORD_HISTORY_LENGTH, r);
5155 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_PASSWORD_HISTORY", SAMR_VALIDATE_FIELD_PASSWORD_HISTORY, r);
5156 0 : ndr->depth--;
5157 0 : }
5158 :
5159 18 : static enum ndr_err_code ndr_push_samr_ValidatePasswordLevel(struct ndr_push *ndr, int ndr_flags, enum samr_ValidatePasswordLevel r)
5160 : {
5161 18 : NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
5162 18 : return NDR_ERR_SUCCESS;
5163 : }
5164 :
5165 12 : static enum ndr_err_code ndr_pull_samr_ValidatePasswordLevel(struct ndr_pull *ndr, int ndr_flags, enum samr_ValidatePasswordLevel *r)
5166 : {
5167 : uint16_t v;
5168 12 : NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
5169 12 : *r = v;
5170 12 : return NDR_ERR_SUCCESS;
5171 : }
5172 :
5173 0 : _PUBLIC_ void ndr_print_samr_ValidatePasswordLevel(struct ndr_print *ndr, const char *name, enum samr_ValidatePasswordLevel r)
5174 : {
5175 0 : const char *val = NULL;
5176 :
5177 0 : switch (r) {
5178 0 : case NetValidateAuthentication: val = "NetValidateAuthentication"; break;
5179 0 : case NetValidatePasswordChange: val = "NetValidatePasswordChange"; break;
5180 0 : case NetValidatePasswordReset: val = "NetValidatePasswordReset"; break;
5181 : }
5182 0 : ndr_print_enum(ndr, name, "ENUM", val, r);
5183 0 : }
5184 :
5185 9 : static enum ndr_err_code ndr_push_samr_ValidationStatus(struct ndr_push *ndr, int ndr_flags, enum samr_ValidationStatus r)
5186 : {
5187 9 : NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
5188 9 : return NDR_ERR_SUCCESS;
5189 : }
5190 :
5191 15 : static enum ndr_err_code ndr_pull_samr_ValidationStatus(struct ndr_pull *ndr, int ndr_flags, enum samr_ValidationStatus *r)
5192 : {
5193 : uint16_t v;
5194 15 : NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
5195 15 : *r = v;
5196 15 : return NDR_ERR_SUCCESS;
5197 : }
5198 :
5199 0 : _PUBLIC_ void ndr_print_samr_ValidationStatus(struct ndr_print *ndr, const char *name, enum samr_ValidationStatus r)
5200 : {
5201 0 : const char *val = NULL;
5202 :
5203 0 : switch (r) {
5204 0 : case SAMR_VALIDATION_STATUS_SUCCESS: val = "SAMR_VALIDATION_STATUS_SUCCESS"; break;
5205 0 : case SAMR_VALIDATION_STATUS_PASSWORD_MUST_CHANGE: val = "SAMR_VALIDATION_STATUS_PASSWORD_MUST_CHANGE"; break;
5206 0 : case SAMR_VALIDATION_STATUS_ACCOUNT_LOCKED_OUT: val = "SAMR_VALIDATION_STATUS_ACCOUNT_LOCKED_OUT"; break;
5207 0 : case SAMR_VALIDATION_STATUS_PASSWORD_EXPIRED: val = "SAMR_VALIDATION_STATUS_PASSWORD_EXPIRED"; break;
5208 0 : case SAMR_VALIDATION_STATUS_BAD_PASSWORD: val = "SAMR_VALIDATION_STATUS_BAD_PASSWORD"; break;
5209 0 : case SAMR_VALIDATION_STATUS_PWD_HISTORY_CONFLICT: val = "SAMR_VALIDATION_STATUS_PWD_HISTORY_CONFLICT"; break;
5210 0 : case SAMR_VALIDATION_STATUS_PWD_TOO_SHORT: val = "SAMR_VALIDATION_STATUS_PWD_TOO_SHORT"; break;
5211 0 : case SAMR_VALIDATION_STATUS_PWD_TOO_LONG: val = "SAMR_VALIDATION_STATUS_PWD_TOO_LONG"; break;
5212 0 : case SAMR_VALIDATION_STATUS_NOT_COMPLEX_ENOUGH: val = "SAMR_VALIDATION_STATUS_NOT_COMPLEX_ENOUGH"; break;
5213 0 : case SAMR_VALIDATION_STATUS_PASSWORD_TOO_RECENT: val = "SAMR_VALIDATION_STATUS_PASSWORD_TOO_RECENT"; break;
5214 0 : case SAMR_VALIDATION_STATUS_PASSWORD_FILTER_ERROR: val = "SAMR_VALIDATION_STATUS_PASSWORD_FILTER_ERROR"; break;
5215 : }
5216 0 : ndr_print_enum(ndr, name, "ENUM", val, r);
5217 0 : }
5218 :
5219 36 : static enum ndr_err_code ndr_push_samr_ValidationBlob(struct ndr_push *ndr, int ndr_flags, const struct samr_ValidationBlob *r)
5220 : {
5221 36 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
5222 36 : if (ndr_flags & NDR_SCALARS) {
5223 18 : NDR_CHECK(ndr_push_align(ndr, 5));
5224 18 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
5225 18 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
5226 18 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5227 : }
5228 36 : if (ndr_flags & NDR_BUFFERS) {
5229 18 : if (r->data) {
5230 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length));
5231 0 : NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
5232 : }
5233 : }
5234 36 : return NDR_ERR_SUCCESS;
5235 : }
5236 :
5237 24 : static enum ndr_err_code ndr_pull_samr_ValidationBlob(struct ndr_pull *ndr, int ndr_flags, struct samr_ValidationBlob *r)
5238 : {
5239 : uint32_t _ptr_data;
5240 24 : uint32_t size_data_1 = 0;
5241 24 : TALLOC_CTX *_mem_save_data_0 = NULL;
5242 24 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
5243 24 : if (ndr_flags & NDR_SCALARS) {
5244 12 : NDR_CHECK(ndr_pull_align(ndr, 5));
5245 12 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
5246 12 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
5247 12 : if (_ptr_data) {
5248 0 : NDR_PULL_ALLOC(ndr, r->data);
5249 : } else {
5250 12 : r->data = NULL;
5251 : }
5252 12 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5253 : }
5254 24 : if (ndr_flags & NDR_BUFFERS) {
5255 12 : if (r->data) {
5256 0 : _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
5257 0 : NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
5258 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
5259 0 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->data, &size_data_1));
5260 0 : NDR_PULL_ALLOC_N(ndr, r->data, size_data_1);
5261 0 : NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, size_data_1));
5262 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
5263 : }
5264 12 : if (r->data) {
5265 0 : NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->data, r->length));
5266 : }
5267 : }
5268 24 : return NDR_ERR_SUCCESS;
5269 : }
5270 :
5271 0 : _PUBLIC_ void ndr_print_samr_ValidationBlob(struct ndr_print *ndr, const char *name, const struct samr_ValidationBlob *r)
5272 : {
5273 0 : ndr_print_struct(ndr, name, "samr_ValidationBlob");
5274 0 : if (r == NULL) { ndr_print_null(ndr); return; }
5275 0 : ndr->depth++;
5276 0 : ndr_print_uint32(ndr, "length", r->length);
5277 0 : ndr_print_ptr(ndr, "data", r->data);
5278 0 : ndr->depth++;
5279 0 : if (r->data) {
5280 0 : ndr_print_array_uint8(ndr, "data", r->data, r->length);
5281 : }
5282 0 : ndr->depth--;
5283 0 : ndr->depth--;
5284 : }
5285 :
5286 54 : static enum ndr_err_code ndr_push_samr_ValidatePasswordInfo(struct ndr_push *ndr, int ndr_flags, const struct samr_ValidatePasswordInfo *r)
5287 : {
5288 : uint32_t cntr_pwd_history_1;
5289 54 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
5290 54 : if (ndr_flags & NDR_SCALARS) {
5291 27 : NDR_CHECK(ndr_push_align(ndr, 8));
5292 27 : NDR_CHECK(ndr_push_samr_ValidateFieldsPresent(ndr, NDR_SCALARS, r->fields_present));
5293 27 : NDR_CHECK(ndr_push_NTTIME_hyper(ndr, NDR_SCALARS, r->last_password_change));
5294 27 : NDR_CHECK(ndr_push_NTTIME_hyper(ndr, NDR_SCALARS, r->bad_password_time));
5295 27 : NDR_CHECK(ndr_push_NTTIME_hyper(ndr, NDR_SCALARS, r->lockout_time));
5296 27 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->bad_pwd_count));
5297 27 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pwd_history_len));
5298 27 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->pwd_history));
5299 27 : NDR_CHECK(ndr_push_trailer_align(ndr, 8));
5300 : }
5301 54 : if (ndr_flags & NDR_BUFFERS) {
5302 27 : if (r->pwd_history) {
5303 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->pwd_history_len));
5304 0 : for (cntr_pwd_history_1 = 0; cntr_pwd_history_1 < (r->pwd_history_len); cntr_pwd_history_1++) {
5305 0 : NDR_CHECK(ndr_push_samr_ValidationBlob(ndr, NDR_SCALARS, &r->pwd_history[cntr_pwd_history_1]));
5306 : }
5307 0 : for (cntr_pwd_history_1 = 0; cntr_pwd_history_1 < (r->pwd_history_len); cntr_pwd_history_1++) {
5308 0 : NDR_CHECK(ndr_push_samr_ValidationBlob(ndr, NDR_BUFFERS, &r->pwd_history[cntr_pwd_history_1]));
5309 : }
5310 : }
5311 : }
5312 54 : return NDR_ERR_SUCCESS;
5313 : }
5314 :
5315 54 : static enum ndr_err_code ndr_pull_samr_ValidatePasswordInfo(struct ndr_pull *ndr, int ndr_flags, struct samr_ValidatePasswordInfo *r)
5316 : {
5317 : uint32_t _ptr_pwd_history;
5318 54 : uint32_t size_pwd_history_1 = 0;
5319 : uint32_t cntr_pwd_history_1;
5320 54 : TALLOC_CTX *_mem_save_pwd_history_0 = NULL;
5321 54 : TALLOC_CTX *_mem_save_pwd_history_1 = NULL;
5322 54 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
5323 54 : if (ndr_flags & NDR_SCALARS) {
5324 27 : NDR_CHECK(ndr_pull_align(ndr, 8));
5325 27 : NDR_CHECK(ndr_pull_samr_ValidateFieldsPresent(ndr, NDR_SCALARS, &r->fields_present));
5326 27 : NDR_CHECK(ndr_pull_NTTIME_hyper(ndr, NDR_SCALARS, &r->last_password_change));
5327 27 : NDR_CHECK(ndr_pull_NTTIME_hyper(ndr, NDR_SCALARS, &r->bad_password_time));
5328 27 : NDR_CHECK(ndr_pull_NTTIME_hyper(ndr, NDR_SCALARS, &r->lockout_time));
5329 27 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->bad_pwd_count));
5330 27 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pwd_history_len));
5331 27 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pwd_history));
5332 27 : if (_ptr_pwd_history) {
5333 0 : NDR_PULL_ALLOC(ndr, r->pwd_history);
5334 : } else {
5335 27 : r->pwd_history = NULL;
5336 : }
5337 27 : NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
5338 : }
5339 54 : if (ndr_flags & NDR_BUFFERS) {
5340 27 : if (r->pwd_history) {
5341 0 : _mem_save_pwd_history_0 = NDR_PULL_GET_MEM_CTX(ndr);
5342 0 : NDR_PULL_SET_MEM_CTX(ndr, r->pwd_history, 0);
5343 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->pwd_history));
5344 0 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->pwd_history, &size_pwd_history_1));
5345 0 : NDR_PULL_ALLOC_N(ndr, r->pwd_history, size_pwd_history_1);
5346 0 : _mem_save_pwd_history_1 = NDR_PULL_GET_MEM_CTX(ndr);
5347 0 : NDR_PULL_SET_MEM_CTX(ndr, r->pwd_history, 0);
5348 0 : for (cntr_pwd_history_1 = 0; cntr_pwd_history_1 < (size_pwd_history_1); cntr_pwd_history_1++) {
5349 0 : NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr, NDR_SCALARS, &r->pwd_history[cntr_pwd_history_1]));
5350 : }
5351 0 : for (cntr_pwd_history_1 = 0; cntr_pwd_history_1 < (size_pwd_history_1); cntr_pwd_history_1++) {
5352 0 : NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr, NDR_BUFFERS, &r->pwd_history[cntr_pwd_history_1]));
5353 : }
5354 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pwd_history_1, 0);
5355 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pwd_history_0, 0);
5356 : }
5357 27 : if (r->pwd_history) {
5358 0 : NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->pwd_history, r->pwd_history_len));
5359 : }
5360 27 : for (cntr_pwd_history_1 = 0; cntr_pwd_history_1 < (size_pwd_history_1); cntr_pwd_history_1++) {
5361 : }
5362 : }
5363 54 : return NDR_ERR_SUCCESS;
5364 : }
5365 :
5366 0 : _PUBLIC_ void ndr_print_samr_ValidatePasswordInfo(struct ndr_print *ndr, const char *name, const struct samr_ValidatePasswordInfo *r)
5367 : {
5368 : uint32_t cntr_pwd_history_1;
5369 0 : ndr_print_struct(ndr, name, "samr_ValidatePasswordInfo");
5370 0 : if (r == NULL) { ndr_print_null(ndr); return; }
5371 0 : ndr->depth++;
5372 0 : ndr_print_samr_ValidateFieldsPresent(ndr, "fields_present", r->fields_present);
5373 0 : ndr_print_NTTIME_hyper(ndr, "last_password_change", r->last_password_change);
5374 0 : ndr_print_NTTIME_hyper(ndr, "bad_password_time", r->bad_password_time);
5375 0 : ndr_print_NTTIME_hyper(ndr, "lockout_time", r->lockout_time);
5376 0 : ndr_print_uint32(ndr, "bad_pwd_count", r->bad_pwd_count);
5377 0 : ndr_print_uint32(ndr, "pwd_history_len", r->pwd_history_len);
5378 0 : ndr_print_ptr(ndr, "pwd_history", r->pwd_history);
5379 0 : ndr->depth++;
5380 0 : if (r->pwd_history) {
5381 0 : ndr->print(ndr, "%s: ARRAY(%d)", "pwd_history", (int)r->pwd_history_len);
5382 0 : ndr->depth++;
5383 0 : for (cntr_pwd_history_1 = 0; cntr_pwd_history_1 < (r->pwd_history_len); cntr_pwd_history_1++) {
5384 0 : ndr_print_samr_ValidationBlob(ndr, "pwd_history", &r->pwd_history[cntr_pwd_history_1]);
5385 : }
5386 0 : ndr->depth--;
5387 : }
5388 0 : ndr->depth--;
5389 0 : ndr->depth--;
5390 : }
5391 :
5392 18 : static enum ndr_err_code ndr_push_samr_ValidatePasswordRepCtr(struct ndr_push *ndr, int ndr_flags, const struct samr_ValidatePasswordRepCtr *r)
5393 : {
5394 18 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
5395 18 : if (ndr_flags & NDR_SCALARS) {
5396 9 : NDR_CHECK(ndr_push_align(ndr, 8));
5397 9 : NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr, NDR_SCALARS, &r->info));
5398 9 : NDR_CHECK(ndr_push_samr_ValidationStatus(ndr, NDR_SCALARS, r->status));
5399 9 : NDR_CHECK(ndr_push_trailer_align(ndr, 8));
5400 : }
5401 18 : if (ndr_flags & NDR_BUFFERS) {
5402 9 : NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr, NDR_BUFFERS, &r->info));
5403 : }
5404 18 : return NDR_ERR_SUCCESS;
5405 : }
5406 :
5407 30 : static enum ndr_err_code ndr_pull_samr_ValidatePasswordRepCtr(struct ndr_pull *ndr, int ndr_flags, struct samr_ValidatePasswordRepCtr *r)
5408 : {
5409 30 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
5410 30 : if (ndr_flags & NDR_SCALARS) {
5411 15 : NDR_CHECK(ndr_pull_align(ndr, 8));
5412 15 : NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr, NDR_SCALARS, &r->info));
5413 15 : NDR_CHECK(ndr_pull_samr_ValidationStatus(ndr, NDR_SCALARS, &r->status));
5414 15 : NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
5415 : }
5416 30 : if (ndr_flags & NDR_BUFFERS) {
5417 15 : NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr, NDR_BUFFERS, &r->info));
5418 : }
5419 30 : return NDR_ERR_SUCCESS;
5420 : }
5421 :
5422 0 : _PUBLIC_ void ndr_print_samr_ValidatePasswordRepCtr(struct ndr_print *ndr, const char *name, const struct samr_ValidatePasswordRepCtr *r)
5423 : {
5424 0 : ndr_print_struct(ndr, name, "samr_ValidatePasswordRepCtr");
5425 0 : if (r == NULL) { ndr_print_null(ndr); return; }
5426 0 : ndr->depth++;
5427 0 : ndr_print_samr_ValidatePasswordInfo(ndr, "info", &r->info);
5428 0 : ndr_print_samr_ValidationStatus(ndr, "status", r->status);
5429 0 : ndr->depth--;
5430 : }
5431 :
5432 9 : static enum ndr_err_code ndr_push_samr_ValidatePasswordRep(struct ndr_push *ndr, int ndr_flags, const union samr_ValidatePasswordRep *r)
5433 : {
5434 : uint32_t level;
5435 9 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
5436 9 : if (ndr_flags & NDR_SCALARS) {
5437 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
5438 9 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
5439 9 : NDR_CHECK(ndr_push_union_align(ndr, 8));
5440 9 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level));
5441 9 : NDR_CHECK(ndr_push_union_align(ndr, 8));
5442 9 : switch (level) {
5443 0 : case 1: {
5444 0 : NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr, NDR_SCALARS, &r->ctr1));
5445 0 : break; }
5446 :
5447 0 : case 2: {
5448 0 : NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr, NDR_SCALARS, &r->ctr2));
5449 0 : break; }
5450 :
5451 9 : case 3: {
5452 9 : NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr, NDR_SCALARS, &r->ctr3));
5453 9 : break; }
5454 :
5455 0 : default:
5456 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5457 : }
5458 0 : }
5459 9 : if (ndr_flags & NDR_BUFFERS) {
5460 9 : if (!(ndr_flags & NDR_SCALARS)) {
5461 : /* We didn't get it above, and the token is not needed after this. */
5462 0 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
5463 : }
5464 9 : switch (level) {
5465 0 : case 1:
5466 0 : NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr, NDR_BUFFERS, &r->ctr1));
5467 0 : break;
5468 :
5469 0 : case 2:
5470 0 : NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr, NDR_BUFFERS, &r->ctr2));
5471 0 : break;
5472 :
5473 9 : case 3:
5474 9 : NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr, NDR_BUFFERS, &r->ctr3));
5475 9 : break;
5476 :
5477 0 : default:
5478 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5479 : }
5480 0 : }
5481 9 : return NDR_ERR_SUCCESS;
5482 : }
5483 :
5484 15 : static enum ndr_err_code ndr_pull_samr_ValidatePasswordRep(struct ndr_pull *ndr, int ndr_flags, union samr_ValidatePasswordRep *r)
5485 : {
5486 : uint32_t level;
5487 : uint16_t _level;
5488 15 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
5489 15 : if (ndr_flags & NDR_SCALARS) {
5490 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
5491 15 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
5492 15 : NDR_CHECK(ndr_pull_union_align(ndr, 8));
5493 15 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
5494 15 : if (_level != level) {
5495 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5496 : }
5497 15 : NDR_CHECK(ndr_pull_union_align(ndr, 8));
5498 15 : switch (level) {
5499 0 : case 1: {
5500 0 : NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr, NDR_SCALARS, &r->ctr1));
5501 0 : break; }
5502 :
5503 0 : case 2: {
5504 0 : NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr, NDR_SCALARS, &r->ctr2));
5505 0 : break; }
5506 :
5507 15 : case 3: {
5508 15 : NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr, NDR_SCALARS, &r->ctr3));
5509 15 : break; }
5510 :
5511 0 : default:
5512 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5513 : }
5514 0 : }
5515 15 : if (ndr_flags & NDR_BUFFERS) {
5516 15 : if (!(ndr_flags & NDR_SCALARS)) {
5517 : /* We didn't get it above, and the token is not needed after this. */
5518 0 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
5519 : }
5520 15 : switch (level) {
5521 0 : case 1:
5522 0 : NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr, NDR_BUFFERS, &r->ctr1));
5523 0 : break;
5524 :
5525 0 : case 2:
5526 0 : NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr, NDR_BUFFERS, &r->ctr2));
5527 0 : break;
5528 :
5529 15 : case 3:
5530 15 : NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr, NDR_BUFFERS, &r->ctr3));
5531 15 : break;
5532 :
5533 0 : default:
5534 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5535 : }
5536 0 : }
5537 15 : return NDR_ERR_SUCCESS;
5538 : }
5539 :
5540 0 : _PUBLIC_ void ndr_print_samr_ValidatePasswordRep(struct ndr_print *ndr, const char *name, const union samr_ValidatePasswordRep *r)
5541 : {
5542 : uint32_t level;
5543 0 : level = ndr_print_steal_switch_value(ndr, r);
5544 0 : ndr_print_union(ndr, name, level, "samr_ValidatePasswordRep");
5545 0 : switch (level) {
5546 0 : case 1:
5547 0 : ndr_print_samr_ValidatePasswordRepCtr(ndr, "ctr1", &r->ctr1);
5548 0 : break;
5549 :
5550 0 : case 2:
5551 0 : ndr_print_samr_ValidatePasswordRepCtr(ndr, "ctr2", &r->ctr2);
5552 0 : break;
5553 :
5554 0 : case 3:
5555 0 : ndr_print_samr_ValidatePasswordRepCtr(ndr, "ctr3", &r->ctr3);
5556 0 : break;
5557 :
5558 0 : default:
5559 0 : ndr_print_bad_level(ndr, name, level);
5560 : }
5561 0 : }
5562 :
5563 36 : static enum ndr_err_code ndr_push_samr_ValidatePasswordReq3(struct ndr_push *ndr, int ndr_flags, const struct samr_ValidatePasswordReq3 *r)
5564 : {
5565 36 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
5566 36 : if (ndr_flags & NDR_SCALARS) {
5567 18 : NDR_CHECK(ndr_push_align(ndr, 8));
5568 18 : NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr, NDR_SCALARS, &r->info));
5569 18 : NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->password));
5570 18 : NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->account));
5571 18 : NDR_CHECK(ndr_push_samr_ValidationBlob(ndr, NDR_SCALARS, &r->hash));
5572 18 : NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->pwd_must_change_at_next_logon));
5573 18 : NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->clear_lockout));
5574 18 : NDR_CHECK(ndr_push_trailer_align(ndr, 8));
5575 : }
5576 36 : if (ndr_flags & NDR_BUFFERS) {
5577 18 : NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr, NDR_BUFFERS, &r->info));
5578 18 : NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->password));
5579 18 : NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->account));
5580 18 : NDR_CHECK(ndr_push_samr_ValidationBlob(ndr, NDR_BUFFERS, &r->hash));
5581 : }
5582 36 : return NDR_ERR_SUCCESS;
5583 : }
5584 :
5585 24 : static enum ndr_err_code ndr_pull_samr_ValidatePasswordReq3(struct ndr_pull *ndr, int ndr_flags, struct samr_ValidatePasswordReq3 *r)
5586 : {
5587 24 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
5588 24 : if (ndr_flags & NDR_SCALARS) {
5589 12 : NDR_CHECK(ndr_pull_align(ndr, 8));
5590 12 : NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr, NDR_SCALARS, &r->info));
5591 12 : NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->password));
5592 12 : NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->account));
5593 12 : NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr, NDR_SCALARS, &r->hash));
5594 12 : NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->pwd_must_change_at_next_logon));
5595 12 : NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->clear_lockout));
5596 12 : NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
5597 : }
5598 24 : if (ndr_flags & NDR_BUFFERS) {
5599 12 : NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr, NDR_BUFFERS, &r->info));
5600 12 : NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->password));
5601 12 : NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->account));
5602 12 : NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr, NDR_BUFFERS, &r->hash));
5603 : }
5604 24 : return NDR_ERR_SUCCESS;
5605 : }
5606 :
5607 0 : _PUBLIC_ void ndr_print_samr_ValidatePasswordReq3(struct ndr_print *ndr, const char *name, const struct samr_ValidatePasswordReq3 *r)
5608 : {
5609 0 : ndr_print_struct(ndr, name, "samr_ValidatePasswordReq3");
5610 0 : if (r == NULL) { ndr_print_null(ndr); return; }
5611 0 : ndr->depth++;
5612 0 : ndr_print_samr_ValidatePasswordInfo(ndr, "info", &r->info);
5613 0 : ndr_print_lsa_StringLarge(ndr, "password", &r->password);
5614 0 : ndr_print_lsa_StringLarge(ndr, "account", &r->account);
5615 0 : ndr_print_samr_ValidationBlob(ndr, "hash", &r->hash);
5616 0 : ndr_print_uint8(ndr, "pwd_must_change_at_next_logon", r->pwd_must_change_at_next_logon);
5617 0 : ndr_print_uint8(ndr, "clear_lockout", r->clear_lockout);
5618 0 : ndr->depth--;
5619 : }
5620 :
5621 0 : static enum ndr_err_code ndr_push_samr_ValidatePasswordReq2(struct ndr_push *ndr, int ndr_flags, const struct samr_ValidatePasswordReq2 *r)
5622 : {
5623 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
5624 0 : if (ndr_flags & NDR_SCALARS) {
5625 0 : NDR_CHECK(ndr_push_align(ndr, 8));
5626 0 : NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr, NDR_SCALARS, &r->info));
5627 0 : NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->password));
5628 0 : NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->account));
5629 0 : NDR_CHECK(ndr_push_samr_ValidationBlob(ndr, NDR_SCALARS, &r->hash));
5630 0 : NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->password_matched));
5631 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 8));
5632 : }
5633 0 : if (ndr_flags & NDR_BUFFERS) {
5634 0 : NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr, NDR_BUFFERS, &r->info));
5635 0 : NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->password));
5636 0 : NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->account));
5637 0 : NDR_CHECK(ndr_push_samr_ValidationBlob(ndr, NDR_BUFFERS, &r->hash));
5638 : }
5639 0 : return NDR_ERR_SUCCESS;
5640 : }
5641 :
5642 0 : static enum ndr_err_code ndr_pull_samr_ValidatePasswordReq2(struct ndr_pull *ndr, int ndr_flags, struct samr_ValidatePasswordReq2 *r)
5643 : {
5644 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
5645 0 : if (ndr_flags & NDR_SCALARS) {
5646 0 : NDR_CHECK(ndr_pull_align(ndr, 8));
5647 0 : NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr, NDR_SCALARS, &r->info));
5648 0 : NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->password));
5649 0 : NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->account));
5650 0 : NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr, NDR_SCALARS, &r->hash));
5651 0 : NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->password_matched));
5652 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
5653 : }
5654 0 : if (ndr_flags & NDR_BUFFERS) {
5655 0 : NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr, NDR_BUFFERS, &r->info));
5656 0 : NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->password));
5657 0 : NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->account));
5658 0 : NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr, NDR_BUFFERS, &r->hash));
5659 : }
5660 0 : return NDR_ERR_SUCCESS;
5661 : }
5662 :
5663 0 : _PUBLIC_ void ndr_print_samr_ValidatePasswordReq2(struct ndr_print *ndr, const char *name, const struct samr_ValidatePasswordReq2 *r)
5664 : {
5665 0 : ndr_print_struct(ndr, name, "samr_ValidatePasswordReq2");
5666 0 : if (r == NULL) { ndr_print_null(ndr); return; }
5667 0 : ndr->depth++;
5668 0 : ndr_print_samr_ValidatePasswordInfo(ndr, "info", &r->info);
5669 0 : ndr_print_lsa_StringLarge(ndr, "password", &r->password);
5670 0 : ndr_print_lsa_StringLarge(ndr, "account", &r->account);
5671 0 : ndr_print_samr_ValidationBlob(ndr, "hash", &r->hash);
5672 0 : ndr_print_uint8(ndr, "password_matched", r->password_matched);
5673 0 : ndr->depth--;
5674 : }
5675 :
5676 0 : static enum ndr_err_code ndr_push_samr_ValidatePasswordReq1(struct ndr_push *ndr, int ndr_flags, const struct samr_ValidatePasswordReq1 *r)
5677 : {
5678 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
5679 0 : if (ndr_flags & NDR_SCALARS) {
5680 0 : NDR_CHECK(ndr_push_align(ndr, 8));
5681 0 : NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr, NDR_SCALARS, &r->info));
5682 0 : NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->password_matched));
5683 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 8));
5684 : }
5685 0 : if (ndr_flags & NDR_BUFFERS) {
5686 0 : NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr, NDR_BUFFERS, &r->info));
5687 : }
5688 0 : return NDR_ERR_SUCCESS;
5689 : }
5690 :
5691 0 : static enum ndr_err_code ndr_pull_samr_ValidatePasswordReq1(struct ndr_pull *ndr, int ndr_flags, struct samr_ValidatePasswordReq1 *r)
5692 : {
5693 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
5694 0 : if (ndr_flags & NDR_SCALARS) {
5695 0 : NDR_CHECK(ndr_pull_align(ndr, 8));
5696 0 : NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr, NDR_SCALARS, &r->info));
5697 0 : NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->password_matched));
5698 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
5699 : }
5700 0 : if (ndr_flags & NDR_BUFFERS) {
5701 0 : NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr, NDR_BUFFERS, &r->info));
5702 : }
5703 0 : return NDR_ERR_SUCCESS;
5704 : }
5705 :
5706 0 : _PUBLIC_ void ndr_print_samr_ValidatePasswordReq1(struct ndr_print *ndr, const char *name, const struct samr_ValidatePasswordReq1 *r)
5707 : {
5708 0 : ndr_print_struct(ndr, name, "samr_ValidatePasswordReq1");
5709 0 : if (r == NULL) { ndr_print_null(ndr); return; }
5710 0 : ndr->depth++;
5711 0 : ndr_print_samr_ValidatePasswordInfo(ndr, "info", &r->info);
5712 0 : ndr_print_uint8(ndr, "password_matched", r->password_matched);
5713 0 : ndr->depth--;
5714 : }
5715 :
5716 18 : static enum ndr_err_code ndr_push_samr_ValidatePasswordReq(struct ndr_push *ndr, int ndr_flags, const union samr_ValidatePasswordReq *r)
5717 : {
5718 : uint32_t level;
5719 18 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
5720 18 : if (ndr_flags & NDR_SCALARS) {
5721 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
5722 18 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
5723 18 : NDR_CHECK(ndr_push_union_align(ndr, 8));
5724 18 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level));
5725 18 : NDR_CHECK(ndr_push_union_align(ndr, 8));
5726 18 : switch (level) {
5727 0 : case 1: {
5728 0 : NDR_CHECK(ndr_push_samr_ValidatePasswordReq1(ndr, NDR_SCALARS, &r->req1));
5729 0 : break; }
5730 :
5731 0 : case 2: {
5732 0 : NDR_CHECK(ndr_push_samr_ValidatePasswordReq2(ndr, NDR_SCALARS, &r->req2));
5733 0 : break; }
5734 :
5735 18 : case 3: {
5736 18 : NDR_CHECK(ndr_push_samr_ValidatePasswordReq3(ndr, NDR_SCALARS, &r->req3));
5737 18 : break; }
5738 :
5739 0 : default:
5740 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5741 : }
5742 0 : }
5743 18 : if (ndr_flags & NDR_BUFFERS) {
5744 18 : if (!(ndr_flags & NDR_SCALARS)) {
5745 : /* We didn't get it above, and the token is not needed after this. */
5746 0 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
5747 : }
5748 18 : switch (level) {
5749 0 : case 1:
5750 0 : NDR_CHECK(ndr_push_samr_ValidatePasswordReq1(ndr, NDR_BUFFERS, &r->req1));
5751 0 : break;
5752 :
5753 0 : case 2:
5754 0 : NDR_CHECK(ndr_push_samr_ValidatePasswordReq2(ndr, NDR_BUFFERS, &r->req2));
5755 0 : break;
5756 :
5757 18 : case 3:
5758 18 : NDR_CHECK(ndr_push_samr_ValidatePasswordReq3(ndr, NDR_BUFFERS, &r->req3));
5759 18 : break;
5760 :
5761 0 : default:
5762 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5763 : }
5764 0 : }
5765 18 : return NDR_ERR_SUCCESS;
5766 : }
5767 :
5768 12 : static enum ndr_err_code ndr_pull_samr_ValidatePasswordReq(struct ndr_pull *ndr, int ndr_flags, union samr_ValidatePasswordReq *r)
5769 : {
5770 : uint32_t level;
5771 : uint16_t _level;
5772 12 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
5773 12 : if (ndr_flags & NDR_SCALARS) {
5774 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
5775 12 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
5776 12 : NDR_CHECK(ndr_pull_union_align(ndr, 8));
5777 12 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
5778 12 : if (_level != level) {
5779 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5780 : }
5781 12 : NDR_CHECK(ndr_pull_union_align(ndr, 8));
5782 12 : switch (level) {
5783 0 : case 1: {
5784 0 : NDR_CHECK(ndr_pull_samr_ValidatePasswordReq1(ndr, NDR_SCALARS, &r->req1));
5785 0 : break; }
5786 :
5787 0 : case 2: {
5788 0 : NDR_CHECK(ndr_pull_samr_ValidatePasswordReq2(ndr, NDR_SCALARS, &r->req2));
5789 0 : break; }
5790 :
5791 12 : case 3: {
5792 12 : NDR_CHECK(ndr_pull_samr_ValidatePasswordReq3(ndr, NDR_SCALARS, &r->req3));
5793 12 : break; }
5794 :
5795 0 : default:
5796 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5797 : }
5798 0 : }
5799 12 : if (ndr_flags & NDR_BUFFERS) {
5800 12 : if (!(ndr_flags & NDR_SCALARS)) {
5801 : /* We didn't get it above, and the token is not needed after this. */
5802 0 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
5803 : }
5804 12 : switch (level) {
5805 0 : case 1:
5806 0 : NDR_CHECK(ndr_pull_samr_ValidatePasswordReq1(ndr, NDR_BUFFERS, &r->req1));
5807 0 : break;
5808 :
5809 0 : case 2:
5810 0 : NDR_CHECK(ndr_pull_samr_ValidatePasswordReq2(ndr, NDR_BUFFERS, &r->req2));
5811 0 : break;
5812 :
5813 12 : case 3:
5814 12 : NDR_CHECK(ndr_pull_samr_ValidatePasswordReq3(ndr, NDR_BUFFERS, &r->req3));
5815 12 : break;
5816 :
5817 0 : default:
5818 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5819 : }
5820 0 : }
5821 12 : return NDR_ERR_SUCCESS;
5822 : }
5823 :
5824 0 : _PUBLIC_ void ndr_print_samr_ValidatePasswordReq(struct ndr_print *ndr, const char *name, const union samr_ValidatePasswordReq *r)
5825 : {
5826 : uint32_t level;
5827 0 : level = ndr_print_steal_switch_value(ndr, r);
5828 0 : ndr_print_union(ndr, name, level, "samr_ValidatePasswordReq");
5829 0 : switch (level) {
5830 0 : case 1:
5831 0 : ndr_print_samr_ValidatePasswordReq1(ndr, "req1", &r->req1);
5832 0 : break;
5833 :
5834 0 : case 2:
5835 0 : ndr_print_samr_ValidatePasswordReq2(ndr, "req2", &r->req2);
5836 0 : break;
5837 :
5838 0 : case 3:
5839 0 : ndr_print_samr_ValidatePasswordReq3(ndr, "req3", &r->req3);
5840 0 : break;
5841 :
5842 0 : default:
5843 0 : ndr_print_bad_level(ndr, name, level);
5844 : }
5845 0 : }
5846 :
5847 4278 : static enum ndr_err_code ndr_push_samr_Connect(struct ndr_push *ndr, int flags, const struct samr_Connect *r)
5848 : {
5849 4278 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
5850 4278 : if (flags & NDR_IN) {
5851 2008 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name));
5852 2008 : if (r->in.system_name) {
5853 0 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, *r->in.system_name));
5854 : }
5855 2226 : NDR_CHECK(ndr_push_samr_ConnectAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
5856 : }
5857 4278 : if (flags & NDR_OUT) {
5858 2270 : if (r->out.connect_handle == NULL) {
5859 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5860 : }
5861 2270 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
5862 2270 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
5863 : }
5864 3798 : return NDR_ERR_SUCCESS;
5865 : }
5866 :
5867 3942 : static enum ndr_err_code ndr_pull_samr_Connect(struct ndr_pull *ndr, int flags, struct samr_Connect *r)
5868 : {
5869 : uint32_t _ptr_system_name;
5870 3942 : TALLOC_CTX *_mem_save_system_name_0 = NULL;
5871 3942 : TALLOC_CTX *_mem_save_connect_handle_0 = NULL;
5872 3942 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
5873 3942 : if (flags & NDR_IN) {
5874 1934 : NDR_ZERO_STRUCT(r->out);
5875 :
5876 1934 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name));
5877 1934 : if (_ptr_system_name) {
5878 0 : NDR_PULL_ALLOC(ndr, r->in.system_name);
5879 : } else {
5880 1934 : r->in.system_name = NULL;
5881 : }
5882 1934 : if (r->in.system_name) {
5883 0 : _mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5884 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0);
5885 0 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, r->in.system_name));
5886 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0);
5887 : }
5888 2152 : NDR_CHECK(ndr_pull_samr_ConnectAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
5889 1934 : NDR_PULL_ALLOC(ndr, r->out.connect_handle);
5890 1934 : NDR_ZERO_STRUCTP(r->out.connect_handle);
5891 : }
5892 3942 : if (flags & NDR_OUT) {
5893 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
5894 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
5895 2008 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5896 336 : NDR_PULL_ALLOC(ndr, r->out.connect_handle);
5897 : }
5898 2008 : _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
5899 2008 : NDR_PULL_SET_MEM_CTX(ndr, r->out.connect_handle, LIBNDR_FLAG_REF_ALLOC);
5900 2008 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
5901 2008 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
5902 2008 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
5903 : }
5904 3506 : return NDR_ERR_SUCCESS;
5905 : }
5906 :
5907 672 : _PUBLIC_ void ndr_print_samr_Connect(struct ndr_print *ndr, const char *name, int flags, const struct samr_Connect *r)
5908 : {
5909 672 : ndr_print_struct(ndr, name, "samr_Connect");
5910 672 : if (r == NULL) { ndr_print_null(ndr); return; }
5911 672 : ndr->depth++;
5912 672 : if (flags & NDR_SET_VALUES) {
5913 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
5914 : }
5915 672 : if (flags & NDR_IN) {
5916 0 : ndr_print_struct(ndr, "in", "samr_Connect");
5917 0 : ndr->depth++;
5918 0 : ndr_print_ptr(ndr, "system_name", r->in.system_name);
5919 0 : ndr->depth++;
5920 0 : if (r->in.system_name) {
5921 0 : ndr_print_uint16(ndr, "system_name", *r->in.system_name);
5922 : }
5923 0 : ndr->depth--;
5924 0 : ndr_print_samr_ConnectAccessMask(ndr, "access_mask", r->in.access_mask);
5925 0 : ndr->depth--;
5926 : }
5927 672 : if (flags & NDR_OUT) {
5928 672 : ndr_print_struct(ndr, "out", "samr_Connect");
5929 672 : ndr->depth++;
5930 672 : ndr_print_ptr(ndr, "connect_handle", r->out.connect_handle);
5931 672 : ndr->depth++;
5932 672 : ndr_print_policy_handle(ndr, "connect_handle", r->out.connect_handle);
5933 672 : ndr->depth--;
5934 672 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
5935 672 : ndr->depth--;
5936 : }
5937 672 : ndr->depth--;
5938 : }
5939 :
5940 15510 : _PUBLIC_ enum ndr_err_code ndr_push_samr_Close(struct ndr_push *ndr, int flags, const struct samr_Close *r)
5941 : {
5942 15510 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
5943 15510 : if (flags & NDR_IN) {
5944 8551 : if (r->in.handle == NULL) {
5945 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5946 : }
5947 8551 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
5948 : }
5949 15510 : if (flags & NDR_OUT) {
5950 6959 : if (r->out.handle == NULL) {
5951 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5952 : }
5953 6959 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle));
5954 6959 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
5955 : }
5956 15484 : return NDR_ERR_SUCCESS;
5957 : }
5958 :
5959 15310 : _PUBLIC_ enum ndr_err_code ndr_pull_samr_Close(struct ndr_pull *ndr, int flags, struct samr_Close *r)
5960 : {
5961 15310 : TALLOC_CTX *_mem_save_handle_0 = NULL;
5962 15310 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
5963 15310 : if (flags & NDR_IN) {
5964 6789 : NDR_ZERO_STRUCT(r->out);
5965 :
5966 6789 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5967 6789 : NDR_PULL_ALLOC(ndr, r->in.handle);
5968 : }
5969 6789 : _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
5970 6789 : NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
5971 6789 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
5972 6789 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
5973 6789 : NDR_PULL_ALLOC(ndr, r->out.handle);
5974 6789 : *r->out.handle = *r->in.handle;
5975 : }
5976 15310 : if (flags & NDR_OUT) {
5977 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
5978 : if (r->in.handle == NULL) {
5979 : NDR_PULL_ALLOC(ndr, r->in.handle);
5980 : NDR_ZERO_STRUCTP(r->in.handle);
5981 : }
5982 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
5983 8521 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5984 2913 : NDR_PULL_ALLOC(ndr, r->out.handle);
5985 : }
5986 8521 : _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
5987 8521 : NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC);
5988 8521 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle));
5989 8521 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
5990 8521 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
5991 : }
5992 15282 : return NDR_ERR_SUCCESS;
5993 : }
5994 :
5995 412 : _PUBLIC_ void ndr_print_samr_Close(struct ndr_print *ndr, const char *name, int flags, const struct samr_Close *r)
5996 : {
5997 412 : ndr_print_struct(ndr, name, "samr_Close");
5998 412 : if (r == NULL) { ndr_print_null(ndr); return; }
5999 412 : ndr->depth++;
6000 412 : if (flags & NDR_SET_VALUES) {
6001 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
6002 : }
6003 412 : if (flags & NDR_IN) {
6004 2 : ndr_print_struct(ndr, "in", "samr_Close");
6005 2 : ndr->depth++;
6006 2 : ndr_print_ptr(ndr, "handle", r->in.handle);
6007 2 : ndr->depth++;
6008 2 : ndr_print_policy_handle(ndr, "handle", r->in.handle);
6009 2 : ndr->depth--;
6010 2 : ndr->depth--;
6011 : }
6012 412 : if (flags & NDR_OUT) {
6013 410 : ndr_print_struct(ndr, "out", "samr_Close");
6014 410 : ndr->depth++;
6015 410 : ndr_print_ptr(ndr, "handle", r->out.handle);
6016 410 : ndr->depth++;
6017 410 : ndr_print_policy_handle(ndr, "handle", r->out.handle);
6018 410 : ndr->depth--;
6019 410 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
6020 410 : ndr->depth--;
6021 : }
6022 412 : ndr->depth--;
6023 : }
6024 :
6025 10 : static enum ndr_err_code ndr_push_samr_SetSecurity(struct ndr_push *ndr, int flags, const struct samr_SetSecurity *r)
6026 : {
6027 10 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
6028 10 : if (flags & NDR_IN) {
6029 6 : if (r->in.handle == NULL) {
6030 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6031 : }
6032 6 : if (r->in.sdbuf == NULL) {
6033 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6034 : }
6035 6 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
6036 6 : NDR_CHECK(ndr_push_security_secinfo(ndr, NDR_SCALARS, r->in.sec_info));
6037 6 : NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sdbuf));
6038 : }
6039 10 : if (flags & NDR_OUT) {
6040 4 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
6041 : }
6042 10 : return NDR_ERR_SUCCESS;
6043 : }
6044 :
6045 10 : static enum ndr_err_code ndr_pull_samr_SetSecurity(struct ndr_pull *ndr, int flags, struct samr_SetSecurity *r)
6046 : {
6047 10 : TALLOC_CTX *_mem_save_handle_0 = NULL;
6048 10 : TALLOC_CTX *_mem_save_sdbuf_0 = NULL;
6049 10 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
6050 10 : if (flags & NDR_IN) {
6051 6 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6052 6 : NDR_PULL_ALLOC(ndr, r->in.handle);
6053 : }
6054 6 : _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6055 6 : NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
6056 6 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
6057 6 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
6058 6 : NDR_CHECK(ndr_pull_security_secinfo(ndr, NDR_SCALARS, &r->in.sec_info));
6059 6 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6060 6 : NDR_PULL_ALLOC(ndr, r->in.sdbuf);
6061 : }
6062 6 : _mem_save_sdbuf_0 = NDR_PULL_GET_MEM_CTX(ndr);
6063 6 : NDR_PULL_SET_MEM_CTX(ndr, r->in.sdbuf, LIBNDR_FLAG_REF_ALLOC);
6064 6 : NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sdbuf));
6065 6 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sdbuf_0, LIBNDR_FLAG_REF_ALLOC);
6066 : }
6067 10 : if (flags & NDR_OUT) {
6068 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
6069 : if (r->in.handle == NULL) {
6070 : NDR_PULL_ALLOC(ndr, r->in.handle);
6071 : NDR_ZERO_STRUCTP(r->in.handle);
6072 : }
6073 : if (r->in.sdbuf == NULL) {
6074 : NDR_PULL_ALLOC(ndr, r->in.sdbuf);
6075 : NDR_ZERO_STRUCTP(r->in.sdbuf);
6076 : }
6077 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
6078 4 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
6079 : }
6080 10 : return NDR_ERR_SUCCESS;
6081 : }
6082 :
6083 0 : _PUBLIC_ void ndr_print_samr_SetSecurity(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetSecurity *r)
6084 : {
6085 0 : ndr_print_struct(ndr, name, "samr_SetSecurity");
6086 0 : if (r == NULL) { ndr_print_null(ndr); return; }
6087 0 : ndr->depth++;
6088 0 : if (flags & NDR_SET_VALUES) {
6089 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
6090 : }
6091 0 : if (flags & NDR_IN) {
6092 0 : ndr_print_struct(ndr, "in", "samr_SetSecurity");
6093 0 : ndr->depth++;
6094 0 : ndr_print_ptr(ndr, "handle", r->in.handle);
6095 0 : ndr->depth++;
6096 0 : ndr_print_policy_handle(ndr, "handle", r->in.handle);
6097 0 : ndr->depth--;
6098 0 : ndr_print_security_secinfo(ndr, "sec_info", r->in.sec_info);
6099 0 : ndr_print_ptr(ndr, "sdbuf", r->in.sdbuf);
6100 0 : ndr->depth++;
6101 0 : ndr_print_sec_desc_buf(ndr, "sdbuf", r->in.sdbuf);
6102 0 : ndr->depth--;
6103 0 : ndr->depth--;
6104 : }
6105 0 : if (flags & NDR_OUT) {
6106 0 : ndr_print_struct(ndr, "out", "samr_SetSecurity");
6107 0 : ndr->depth++;
6108 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
6109 0 : ndr->depth--;
6110 : }
6111 0 : ndr->depth--;
6112 : }
6113 :
6114 580 : static enum ndr_err_code ndr_push_samr_QuerySecurity(struct ndr_push *ndr, int flags, const struct samr_QuerySecurity *r)
6115 : {
6116 580 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
6117 580 : if (flags & NDR_IN) {
6118 290 : if (r->in.handle == NULL) {
6119 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6120 : }
6121 290 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
6122 290 : NDR_CHECK(ndr_push_security_secinfo(ndr, NDR_SCALARS, r->in.sec_info));
6123 : }
6124 580 : if (flags & NDR_OUT) {
6125 290 : if (r->out.sdbuf == NULL) {
6126 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6127 : }
6128 290 : NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.sdbuf));
6129 290 : if (*r->out.sdbuf) {
6130 290 : NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sdbuf));
6131 : }
6132 290 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
6133 : }
6134 580 : return NDR_ERR_SUCCESS;
6135 : }
6136 :
6137 580 : static enum ndr_err_code ndr_pull_samr_QuerySecurity(struct ndr_pull *ndr, int flags, struct samr_QuerySecurity *r)
6138 : {
6139 : uint32_t _ptr_sdbuf;
6140 580 : TALLOC_CTX *_mem_save_handle_0 = NULL;
6141 580 : TALLOC_CTX *_mem_save_sdbuf_0 = NULL;
6142 580 : TALLOC_CTX *_mem_save_sdbuf_1 = NULL;
6143 580 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
6144 580 : if (flags & NDR_IN) {
6145 290 : NDR_ZERO_STRUCT(r->out);
6146 :
6147 290 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6148 290 : NDR_PULL_ALLOC(ndr, r->in.handle);
6149 : }
6150 290 : _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6151 290 : NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
6152 290 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
6153 290 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
6154 290 : NDR_CHECK(ndr_pull_security_secinfo(ndr, NDR_SCALARS, &r->in.sec_info));
6155 290 : NDR_PULL_ALLOC(ndr, r->out.sdbuf);
6156 290 : NDR_ZERO_STRUCTP(r->out.sdbuf);
6157 : }
6158 580 : if (flags & NDR_OUT) {
6159 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
6160 : if (r->in.handle == NULL) {
6161 : NDR_PULL_ALLOC(ndr, r->in.handle);
6162 : NDR_ZERO_STRUCTP(r->in.handle);
6163 : }
6164 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
6165 290 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6166 137 : NDR_PULL_ALLOC(ndr, r->out.sdbuf);
6167 : }
6168 290 : _mem_save_sdbuf_0 = NDR_PULL_GET_MEM_CTX(ndr);
6169 290 : NDR_PULL_SET_MEM_CTX(ndr, r->out.sdbuf, LIBNDR_FLAG_REF_ALLOC);
6170 290 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sdbuf));
6171 290 : if (_ptr_sdbuf) {
6172 290 : NDR_PULL_ALLOC(ndr, *r->out.sdbuf);
6173 : } else {
6174 0 : *r->out.sdbuf = NULL;
6175 : }
6176 290 : if (*r->out.sdbuf) {
6177 290 : _mem_save_sdbuf_1 = NDR_PULL_GET_MEM_CTX(ndr);
6178 290 : NDR_PULL_SET_MEM_CTX(ndr, *r->out.sdbuf, 0);
6179 290 : NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sdbuf));
6180 290 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sdbuf_1, 0);
6181 : }
6182 290 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sdbuf_0, LIBNDR_FLAG_REF_ALLOC);
6183 290 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
6184 : }
6185 580 : return NDR_ERR_SUCCESS;
6186 : }
6187 :
6188 0 : _PUBLIC_ void ndr_print_samr_QuerySecurity(struct ndr_print *ndr, const char *name, int flags, const struct samr_QuerySecurity *r)
6189 : {
6190 0 : ndr_print_struct(ndr, name, "samr_QuerySecurity");
6191 0 : if (r == NULL) { ndr_print_null(ndr); return; }
6192 0 : ndr->depth++;
6193 0 : if (flags & NDR_SET_VALUES) {
6194 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
6195 : }
6196 0 : if (flags & NDR_IN) {
6197 0 : ndr_print_struct(ndr, "in", "samr_QuerySecurity");
6198 0 : ndr->depth++;
6199 0 : ndr_print_ptr(ndr, "handle", r->in.handle);
6200 0 : ndr->depth++;
6201 0 : ndr_print_policy_handle(ndr, "handle", r->in.handle);
6202 0 : ndr->depth--;
6203 0 : ndr_print_security_secinfo(ndr, "sec_info", r->in.sec_info);
6204 0 : ndr->depth--;
6205 : }
6206 0 : if (flags & NDR_OUT) {
6207 0 : ndr_print_struct(ndr, "out", "samr_QuerySecurity");
6208 0 : ndr->depth++;
6209 0 : ndr_print_ptr(ndr, "sdbuf", r->out.sdbuf);
6210 0 : ndr->depth++;
6211 0 : ndr_print_ptr(ndr, "sdbuf", *r->out.sdbuf);
6212 0 : ndr->depth++;
6213 0 : if (*r->out.sdbuf) {
6214 0 : ndr_print_sec_desc_buf(ndr, "sdbuf", *r->out.sdbuf);
6215 : }
6216 0 : ndr->depth--;
6217 0 : ndr->depth--;
6218 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
6219 0 : ndr->depth--;
6220 : }
6221 0 : ndr->depth--;
6222 : }
6223 :
6224 0 : static enum ndr_err_code ndr_push_samr_Shutdown(struct ndr_push *ndr, int flags, const struct samr_Shutdown *r)
6225 : {
6226 0 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
6227 0 : if (flags & NDR_IN) {
6228 0 : if (r->in.connect_handle == NULL) {
6229 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6230 : }
6231 0 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle));
6232 : }
6233 0 : if (flags & NDR_OUT) {
6234 0 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
6235 : }
6236 0 : return NDR_ERR_SUCCESS;
6237 : }
6238 :
6239 0 : static enum ndr_err_code ndr_pull_samr_Shutdown(struct ndr_pull *ndr, int flags, struct samr_Shutdown *r)
6240 : {
6241 0 : TALLOC_CTX *_mem_save_connect_handle_0 = NULL;
6242 0 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
6243 0 : if (flags & NDR_IN) {
6244 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6245 0 : NDR_PULL_ALLOC(ndr, r->in.connect_handle);
6246 : }
6247 0 : _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6248 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.connect_handle, LIBNDR_FLAG_REF_ALLOC);
6249 0 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle));
6250 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
6251 : }
6252 0 : if (flags & NDR_OUT) {
6253 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
6254 : if (r->in.connect_handle == NULL) {
6255 : NDR_PULL_ALLOC(ndr, r->in.connect_handle);
6256 : NDR_ZERO_STRUCTP(r->in.connect_handle);
6257 : }
6258 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
6259 0 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
6260 : }
6261 0 : return NDR_ERR_SUCCESS;
6262 : }
6263 :
6264 0 : _PUBLIC_ void ndr_print_samr_Shutdown(struct ndr_print *ndr, const char *name, int flags, const struct samr_Shutdown *r)
6265 : {
6266 0 : ndr_print_struct(ndr, name, "samr_Shutdown");
6267 0 : if (r == NULL) { ndr_print_null(ndr); return; }
6268 0 : ndr->depth++;
6269 0 : if (flags & NDR_SET_VALUES) {
6270 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
6271 : }
6272 0 : if (flags & NDR_IN) {
6273 0 : ndr_print_struct(ndr, "in", "samr_Shutdown");
6274 0 : ndr->depth++;
6275 0 : ndr_print_ptr(ndr, "connect_handle", r->in.connect_handle);
6276 0 : ndr->depth++;
6277 0 : ndr_print_policy_handle(ndr, "connect_handle", r->in.connect_handle);
6278 0 : ndr->depth--;
6279 0 : ndr->depth--;
6280 : }
6281 0 : if (flags & NDR_OUT) {
6282 0 : ndr_print_struct(ndr, "out", "samr_Shutdown");
6283 0 : ndr->depth++;
6284 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
6285 0 : ndr->depth--;
6286 : }
6287 0 : ndr->depth--;
6288 : }
6289 :
6290 1980 : static enum ndr_err_code ndr_push_samr_LookupDomain(struct ndr_push *ndr, int flags, const struct samr_LookupDomain *r)
6291 : {
6292 1980 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
6293 1980 : if (flags & NDR_IN) {
6294 996 : if (r->in.connect_handle == NULL) {
6295 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6296 : }
6297 996 : if (r->in.domain_name == NULL) {
6298 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6299 : }
6300 996 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle));
6301 996 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domain_name));
6302 : }
6303 1980 : if (flags & NDR_OUT) {
6304 984 : if (r->out.sid == NULL) {
6305 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6306 : }
6307 984 : NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.sid));
6308 984 : if (*r->out.sid) {
6309 801 : NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sid));
6310 : }
6311 984 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
6312 : }
6313 1980 : return NDR_ERR_SUCCESS;
6314 : }
6315 :
6316 1916 : static enum ndr_err_code ndr_pull_samr_LookupDomain(struct ndr_pull *ndr, int flags, struct samr_LookupDomain *r)
6317 : {
6318 : uint32_t _ptr_sid;
6319 1916 : TALLOC_CTX *_mem_save_connect_handle_0 = NULL;
6320 1916 : TALLOC_CTX *_mem_save_domain_name_0 = NULL;
6321 1916 : TALLOC_CTX *_mem_save_sid_0 = NULL;
6322 1916 : TALLOC_CTX *_mem_save_sid_1 = NULL;
6323 1916 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
6324 1916 : if (flags & NDR_IN) {
6325 920 : NDR_ZERO_STRUCT(r->out);
6326 :
6327 920 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6328 920 : NDR_PULL_ALLOC(ndr, r->in.connect_handle);
6329 : }
6330 920 : _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6331 920 : NDR_PULL_SET_MEM_CTX(ndr, r->in.connect_handle, LIBNDR_FLAG_REF_ALLOC);
6332 920 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle));
6333 920 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
6334 920 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6335 920 : NDR_PULL_ALLOC(ndr, r->in.domain_name);
6336 : }
6337 920 : _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6338 920 : NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, LIBNDR_FLAG_REF_ALLOC);
6339 920 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domain_name));
6340 920 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, LIBNDR_FLAG_REF_ALLOC);
6341 920 : NDR_PULL_ALLOC(ndr, r->out.sid);
6342 920 : NDR_ZERO_STRUCTP(r->out.sid);
6343 : }
6344 1916 : if (flags & NDR_OUT) {
6345 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
6346 : if (r->in.connect_handle == NULL) {
6347 : NDR_PULL_ALLOC(ndr, r->in.connect_handle);
6348 : NDR_ZERO_STRUCTP(r->in.connect_handle);
6349 : }
6350 : if (r->in.domain_name == NULL) {
6351 : NDR_PULL_ALLOC(ndr, r->in.domain_name);
6352 : NDR_ZERO_STRUCTP(r->in.domain_name);
6353 : }
6354 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
6355 996 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6356 254 : NDR_PULL_ALLOC(ndr, r->out.sid);
6357 : }
6358 996 : _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
6359 996 : NDR_PULL_SET_MEM_CTX(ndr, r->out.sid, LIBNDR_FLAG_REF_ALLOC);
6360 996 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
6361 996 : if (_ptr_sid) {
6362 804 : NDR_PULL_ALLOC(ndr, *r->out.sid);
6363 : } else {
6364 192 : *r->out.sid = NULL;
6365 : }
6366 996 : if (*r->out.sid) {
6367 804 : _mem_save_sid_1 = NDR_PULL_GET_MEM_CTX(ndr);
6368 804 : NDR_PULL_SET_MEM_CTX(ndr, *r->out.sid, 0);
6369 804 : NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sid));
6370 804 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_1, 0);
6371 : }
6372 996 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC);
6373 996 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
6374 : }
6375 1916 : return NDR_ERR_SUCCESS;
6376 : }
6377 :
6378 128 : _PUBLIC_ void ndr_print_samr_LookupDomain(struct ndr_print *ndr, const char *name, int flags, const struct samr_LookupDomain *r)
6379 : {
6380 128 : ndr_print_struct(ndr, name, "samr_LookupDomain");
6381 128 : if (r == NULL) { ndr_print_null(ndr); return; }
6382 128 : ndr->depth++;
6383 128 : if (flags & NDR_SET_VALUES) {
6384 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
6385 : }
6386 128 : if (flags & NDR_IN) {
6387 0 : ndr_print_struct(ndr, "in", "samr_LookupDomain");
6388 0 : ndr->depth++;
6389 0 : ndr_print_ptr(ndr, "connect_handle", r->in.connect_handle);
6390 0 : ndr->depth++;
6391 0 : ndr_print_policy_handle(ndr, "connect_handle", r->in.connect_handle);
6392 0 : ndr->depth--;
6393 0 : ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
6394 0 : ndr->depth++;
6395 0 : ndr_print_lsa_String(ndr, "domain_name", r->in.domain_name);
6396 0 : ndr->depth--;
6397 0 : ndr->depth--;
6398 : }
6399 128 : if (flags & NDR_OUT) {
6400 128 : ndr_print_struct(ndr, "out", "samr_LookupDomain");
6401 128 : ndr->depth++;
6402 128 : ndr_print_ptr(ndr, "sid", r->out.sid);
6403 128 : ndr->depth++;
6404 128 : ndr_print_ptr(ndr, "sid", *r->out.sid);
6405 128 : ndr->depth++;
6406 128 : if (*r->out.sid) {
6407 128 : ndr_print_dom_sid2(ndr, "sid", *r->out.sid);
6408 : }
6409 128 : ndr->depth--;
6410 128 : ndr->depth--;
6411 128 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
6412 128 : ndr->depth--;
6413 : }
6414 128 : ndr->depth--;
6415 : }
6416 :
6417 505 : static enum ndr_err_code ndr_push_samr_EnumDomains(struct ndr_push *ndr, int flags, const struct samr_EnumDomains *r)
6418 : {
6419 505 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
6420 505 : if (flags & NDR_IN) {
6421 258 : if (r->in.connect_handle == NULL) {
6422 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6423 : }
6424 258 : if (r->in.resume_handle == NULL) {
6425 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6426 : }
6427 258 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle));
6428 258 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.resume_handle));
6429 258 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buf_size));
6430 : }
6431 505 : if (flags & NDR_OUT) {
6432 247 : if (r->out.resume_handle == NULL) {
6433 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6434 : }
6435 247 : if (r->out.sam == NULL) {
6436 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6437 : }
6438 247 : if (r->out.num_entries == NULL) {
6439 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6440 : }
6441 247 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.resume_handle));
6442 247 : NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.sam));
6443 247 : if (*r->out.sam) {
6444 209 : NDR_CHECK(ndr_push_samr_SamArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sam));
6445 : }
6446 247 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.num_entries));
6447 247 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
6448 : }
6449 505 : return NDR_ERR_SUCCESS;
6450 : }
6451 :
6452 505 : static enum ndr_err_code ndr_pull_samr_EnumDomains(struct ndr_pull *ndr, int flags, struct samr_EnumDomains *r)
6453 : {
6454 : uint32_t _ptr_sam;
6455 505 : TALLOC_CTX *_mem_save_connect_handle_0 = NULL;
6456 505 : TALLOC_CTX *_mem_save_resume_handle_0 = NULL;
6457 505 : TALLOC_CTX *_mem_save_sam_0 = NULL;
6458 505 : TALLOC_CTX *_mem_save_sam_1 = NULL;
6459 505 : TALLOC_CTX *_mem_save_num_entries_0 = NULL;
6460 505 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
6461 505 : if (flags & NDR_IN) {
6462 247 : NDR_ZERO_STRUCT(r->out);
6463 :
6464 247 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6465 247 : NDR_PULL_ALLOC(ndr, r->in.connect_handle);
6466 : }
6467 247 : _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6468 247 : NDR_PULL_SET_MEM_CTX(ndr, r->in.connect_handle, LIBNDR_FLAG_REF_ALLOC);
6469 247 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle));
6470 247 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
6471 247 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6472 247 : NDR_PULL_ALLOC(ndr, r->in.resume_handle);
6473 : }
6474 247 : _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6475 247 : NDR_PULL_SET_MEM_CTX(ndr, r->in.resume_handle, LIBNDR_FLAG_REF_ALLOC);
6476 247 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.resume_handle));
6477 247 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC);
6478 247 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buf_size));
6479 247 : NDR_PULL_ALLOC(ndr, r->out.resume_handle);
6480 247 : *r->out.resume_handle = *r->in.resume_handle;
6481 247 : NDR_PULL_ALLOC(ndr, r->out.sam);
6482 247 : NDR_ZERO_STRUCTP(r->out.sam);
6483 247 : NDR_PULL_ALLOC(ndr, r->out.num_entries);
6484 247 : NDR_ZERO_STRUCTP(r->out.num_entries);
6485 : }
6486 505 : if (flags & NDR_OUT) {
6487 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
6488 : if (r->in.connect_handle == NULL) {
6489 : NDR_PULL_ALLOC(ndr, r->in.connect_handle);
6490 : NDR_ZERO_STRUCTP(r->in.connect_handle);
6491 : }
6492 : if (r->in.resume_handle == NULL) {
6493 : NDR_PULL_ALLOC(ndr, r->in.resume_handle);
6494 : NDR_ZERO_STRUCTP(r->in.resume_handle);
6495 : }
6496 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
6497 258 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6498 92 : NDR_PULL_ALLOC(ndr, r->out.resume_handle);
6499 : }
6500 258 : _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6501 258 : NDR_PULL_SET_MEM_CTX(ndr, r->out.resume_handle, LIBNDR_FLAG_REF_ALLOC);
6502 258 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.resume_handle));
6503 258 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC);
6504 258 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6505 92 : NDR_PULL_ALLOC(ndr, r->out.sam);
6506 : }
6507 258 : _mem_save_sam_0 = NDR_PULL_GET_MEM_CTX(ndr);
6508 258 : NDR_PULL_SET_MEM_CTX(ndr, r->out.sam, LIBNDR_FLAG_REF_ALLOC);
6509 258 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam));
6510 258 : if (_ptr_sam) {
6511 220 : NDR_PULL_ALLOC(ndr, *r->out.sam);
6512 : } else {
6513 38 : *r->out.sam = NULL;
6514 : }
6515 258 : if (*r->out.sam) {
6516 220 : _mem_save_sam_1 = NDR_PULL_GET_MEM_CTX(ndr);
6517 220 : NDR_PULL_SET_MEM_CTX(ndr, *r->out.sam, 0);
6518 220 : NDR_CHECK(ndr_pull_samr_SamArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sam));
6519 220 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_1, 0);
6520 : }
6521 258 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_0, LIBNDR_FLAG_REF_ALLOC);
6522 258 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6523 92 : NDR_PULL_ALLOC(ndr, r->out.num_entries);
6524 : }
6525 258 : _mem_save_num_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
6526 258 : NDR_PULL_SET_MEM_CTX(ndr, r->out.num_entries, LIBNDR_FLAG_REF_ALLOC);
6527 258 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.num_entries));
6528 258 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_num_entries_0, LIBNDR_FLAG_REF_ALLOC);
6529 258 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
6530 : }
6531 505 : return NDR_ERR_SUCCESS;
6532 : }
6533 :
6534 0 : _PUBLIC_ void ndr_print_samr_EnumDomains(struct ndr_print *ndr, const char *name, int flags, const struct samr_EnumDomains *r)
6535 : {
6536 0 : ndr_print_struct(ndr, name, "samr_EnumDomains");
6537 0 : if (r == NULL) { ndr_print_null(ndr); return; }
6538 0 : ndr->depth++;
6539 0 : if (flags & NDR_SET_VALUES) {
6540 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
6541 : }
6542 0 : if (flags & NDR_IN) {
6543 0 : ndr_print_struct(ndr, "in", "samr_EnumDomains");
6544 0 : ndr->depth++;
6545 0 : ndr_print_ptr(ndr, "connect_handle", r->in.connect_handle);
6546 0 : ndr->depth++;
6547 0 : ndr_print_policy_handle(ndr, "connect_handle", r->in.connect_handle);
6548 0 : ndr->depth--;
6549 0 : ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle);
6550 0 : ndr->depth++;
6551 0 : ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle);
6552 0 : ndr->depth--;
6553 0 : ndr_print_uint32(ndr, "buf_size", r->in.buf_size);
6554 0 : ndr->depth--;
6555 : }
6556 0 : if (flags & NDR_OUT) {
6557 0 : ndr_print_struct(ndr, "out", "samr_EnumDomains");
6558 0 : ndr->depth++;
6559 0 : ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle);
6560 0 : ndr->depth++;
6561 0 : ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle);
6562 0 : ndr->depth--;
6563 0 : ndr_print_ptr(ndr, "sam", r->out.sam);
6564 0 : ndr->depth++;
6565 0 : ndr_print_ptr(ndr, "sam", *r->out.sam);
6566 0 : ndr->depth++;
6567 0 : if (*r->out.sam) {
6568 0 : ndr_print_samr_SamArray(ndr, "sam", *r->out.sam);
6569 : }
6570 0 : ndr->depth--;
6571 0 : ndr->depth--;
6572 0 : ndr_print_ptr(ndr, "num_entries", r->out.num_entries);
6573 0 : ndr->depth++;
6574 0 : ndr_print_uint32(ndr, "num_entries", *r->out.num_entries);
6575 0 : ndr->depth--;
6576 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
6577 0 : ndr->depth--;
6578 : }
6579 0 : ndr->depth--;
6580 : }
6581 :
6582 5302 : _PUBLIC_ enum ndr_err_code ndr_push_samr_OpenDomain(struct ndr_push *ndr, int flags, const struct samr_OpenDomain *r)
6583 : {
6584 5302 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
6585 5302 : if (flags & NDR_IN) {
6586 2512 : if (r->in.connect_handle == NULL) {
6587 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6588 : }
6589 2512 : if (r->in.sid == NULL) {
6590 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6591 : }
6592 2512 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle));
6593 2722 : NDR_CHECK(ndr_push_samr_DomainAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
6594 2512 : NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
6595 : }
6596 5302 : if (flags & NDR_OUT) {
6597 2790 : if (r->out.domain_handle == NULL) {
6598 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6599 : }
6600 2790 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.domain_handle));
6601 2790 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
6602 : }
6603 4838 : return NDR_ERR_SUCCESS;
6604 : }
6605 :
6606 4976 : _PUBLIC_ enum ndr_err_code ndr_pull_samr_OpenDomain(struct ndr_pull *ndr, int flags, struct samr_OpenDomain *r)
6607 : {
6608 4976 : TALLOC_CTX *_mem_save_connect_handle_0 = NULL;
6609 4976 : TALLOC_CTX *_mem_save_sid_0 = NULL;
6610 4976 : TALLOC_CTX *_mem_save_domain_handle_0 = NULL;
6611 4976 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
6612 4976 : if (flags & NDR_IN) {
6613 2478 : NDR_ZERO_STRUCT(r->out);
6614 :
6615 2478 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6616 2478 : NDR_PULL_ALLOC(ndr, r->in.connect_handle);
6617 : }
6618 2478 : _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6619 2478 : NDR_PULL_SET_MEM_CTX(ndr, r->in.connect_handle, LIBNDR_FLAG_REF_ALLOC);
6620 2478 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle));
6621 2478 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
6622 2692 : NDR_CHECK(ndr_pull_samr_DomainAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
6623 2478 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6624 2478 : NDR_PULL_ALLOC(ndr, r->in.sid);
6625 : }
6626 2478 : _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
6627 2478 : NDR_PULL_SET_MEM_CTX(ndr, r->in.sid, LIBNDR_FLAG_REF_ALLOC);
6628 2478 : NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
6629 2478 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC);
6630 2478 : NDR_PULL_ALLOC(ndr, r->out.domain_handle);
6631 2478 : NDR_ZERO_STRUCTP(r->out.domain_handle);
6632 : }
6633 4976 : if (flags & NDR_OUT) {
6634 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
6635 : if (r->in.connect_handle == NULL) {
6636 : NDR_PULL_ALLOC(ndr, r->in.connect_handle);
6637 : NDR_ZERO_STRUCTP(r->in.connect_handle);
6638 : }
6639 : if (r->in.sid == NULL) {
6640 : NDR_PULL_ALLOC(ndr, r->in.sid);
6641 : NDR_ZERO_STRUCTP(r->in.sid);
6642 : }
6643 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
6644 2498 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6645 860 : NDR_PULL_ALLOC(ndr, r->out.domain_handle);
6646 : }
6647 2498 : _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6648 2498 : NDR_PULL_SET_MEM_CTX(ndr, r->out.domain_handle, LIBNDR_FLAG_REF_ALLOC);
6649 2498 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.domain_handle));
6650 2498 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
6651 2498 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
6652 : }
6653 4550 : return NDR_ERR_SUCCESS;
6654 : }
6655 :
6656 664 : _PUBLIC_ void ndr_print_samr_OpenDomain(struct ndr_print *ndr, const char *name, int flags, const struct samr_OpenDomain *r)
6657 : {
6658 664 : ndr_print_struct(ndr, name, "samr_OpenDomain");
6659 664 : if (r == NULL) { ndr_print_null(ndr); return; }
6660 664 : ndr->depth++;
6661 664 : if (flags & NDR_SET_VALUES) {
6662 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
6663 : }
6664 664 : if (flags & NDR_IN) {
6665 2 : ndr_print_struct(ndr, "in", "samr_OpenDomain");
6666 2 : ndr->depth++;
6667 2 : ndr_print_ptr(ndr, "connect_handle", r->in.connect_handle);
6668 2 : ndr->depth++;
6669 2 : ndr_print_policy_handle(ndr, "connect_handle", r->in.connect_handle);
6670 2 : ndr->depth--;
6671 2 : ndr_print_samr_DomainAccessMask(ndr, "access_mask", r->in.access_mask);
6672 2 : ndr_print_ptr(ndr, "sid", r->in.sid);
6673 2 : ndr->depth++;
6674 2 : ndr_print_dom_sid2(ndr, "sid", r->in.sid);
6675 2 : ndr->depth--;
6676 2 : ndr->depth--;
6677 : }
6678 664 : if (flags & NDR_OUT) {
6679 662 : ndr_print_struct(ndr, "out", "samr_OpenDomain");
6680 662 : ndr->depth++;
6681 662 : ndr_print_ptr(ndr, "domain_handle", r->out.domain_handle);
6682 662 : ndr->depth++;
6683 662 : ndr_print_policy_handle(ndr, "domain_handle", r->out.domain_handle);
6684 662 : ndr->depth--;
6685 662 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
6686 662 : ndr->depth--;
6687 : }
6688 664 : ndr->depth--;
6689 : }
6690 :
6691 886 : static enum ndr_err_code ndr_push_samr_QueryDomainInfo(struct ndr_push *ndr, int flags, const struct samr_QueryDomainInfo *r)
6692 : {
6693 886 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
6694 886 : if (flags & NDR_IN) {
6695 467 : if (r->in.domain_handle == NULL) {
6696 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6697 : }
6698 467 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
6699 467 : NDR_CHECK(ndr_push_samr_DomainInfoClass(ndr, NDR_SCALARS, r->in.level));
6700 : }
6701 886 : if (flags & NDR_OUT) {
6702 419 : if (r->out.info == NULL) {
6703 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6704 : }
6705 419 : NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
6706 419 : if (*r->out.info) {
6707 419 : NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.info, r->in.level));
6708 419 : NDR_CHECK(ndr_push_samr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
6709 : }
6710 419 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
6711 : }
6712 886 : return NDR_ERR_SUCCESS;
6713 : }
6714 :
6715 882 : static enum ndr_err_code ndr_pull_samr_QueryDomainInfo(struct ndr_pull *ndr, int flags, struct samr_QueryDomainInfo *r)
6716 : {
6717 : uint32_t _ptr_info;
6718 882 : TALLOC_CTX *_mem_save_domain_handle_0 = NULL;
6719 882 : TALLOC_CTX *_mem_save_info_0 = NULL;
6720 882 : TALLOC_CTX *_mem_save_info_1 = NULL;
6721 882 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
6722 882 : if (flags & NDR_IN) {
6723 415 : NDR_ZERO_STRUCT(r->out);
6724 :
6725 415 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6726 415 : NDR_PULL_ALLOC(ndr, r->in.domain_handle);
6727 : }
6728 415 : _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6729 415 : NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
6730 415 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
6731 415 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
6732 415 : NDR_CHECK(ndr_pull_samr_DomainInfoClass(ndr, NDR_SCALARS, &r->in.level));
6733 415 : NDR_PULL_ALLOC(ndr, r->out.info);
6734 415 : NDR_ZERO_STRUCTP(r->out.info);
6735 : }
6736 882 : if (flags & NDR_OUT) {
6737 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
6738 : if (r->in.domain_handle == NULL) {
6739 : NDR_PULL_ALLOC(ndr, r->in.domain_handle);
6740 : NDR_ZERO_STRUCTP(r->in.domain_handle);
6741 : }
6742 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
6743 467 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6744 23 : NDR_PULL_ALLOC(ndr, r->out.info);
6745 : }
6746 467 : _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
6747 467 : NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
6748 467 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
6749 467 : if (_ptr_info) {
6750 467 : NDR_PULL_ALLOC(ndr, *r->out.info);
6751 : } else {
6752 0 : *r->out.info = NULL;
6753 : }
6754 467 : if (*r->out.info) {
6755 467 : _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
6756 467 : NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
6757 467 : NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.info, r->in.level));
6758 467 : NDR_CHECK(ndr_pull_samr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
6759 467 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
6760 : }
6761 467 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
6762 467 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
6763 : }
6764 882 : return NDR_ERR_SUCCESS;
6765 : }
6766 :
6767 8 : _PUBLIC_ void ndr_print_samr_QueryDomainInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryDomainInfo *r)
6768 : {
6769 8 : ndr_print_struct(ndr, name, "samr_QueryDomainInfo");
6770 8 : if (r == NULL) { ndr_print_null(ndr); return; }
6771 8 : ndr->depth++;
6772 8 : if (flags & NDR_SET_VALUES) {
6773 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
6774 : }
6775 8 : if (flags & NDR_IN) {
6776 0 : ndr_print_struct(ndr, "in", "samr_QueryDomainInfo");
6777 0 : ndr->depth++;
6778 0 : ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
6779 0 : ndr->depth++;
6780 0 : ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
6781 0 : ndr->depth--;
6782 0 : ndr_print_samr_DomainInfoClass(ndr, "level", r->in.level);
6783 0 : ndr->depth--;
6784 : }
6785 8 : if (flags & NDR_OUT) {
6786 8 : ndr_print_struct(ndr, "out", "samr_QueryDomainInfo");
6787 8 : ndr->depth++;
6788 8 : ndr_print_ptr(ndr, "info", r->out.info);
6789 8 : ndr->depth++;
6790 8 : ndr_print_ptr(ndr, "info", *r->out.info);
6791 8 : ndr->depth++;
6792 8 : if (*r->out.info) {
6793 8 : ndr_print_set_switch_value(ndr, *r->out.info, r->in.level);
6794 8 : ndr_print_samr_DomainInfo(ndr, "info", *r->out.info);
6795 : }
6796 8 : ndr->depth--;
6797 8 : ndr->depth--;
6798 8 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
6799 8 : ndr->depth--;
6800 : }
6801 8 : ndr->depth--;
6802 : }
6803 :
6804 666 : static enum ndr_err_code ndr_push_samr_SetDomainInfo(struct ndr_push *ndr, int flags, const struct samr_SetDomainInfo *r)
6805 : {
6806 666 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
6807 666 : if (flags & NDR_IN) {
6808 346 : if (r->in.domain_handle == NULL) {
6809 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6810 : }
6811 346 : if (r->in.info == NULL) {
6812 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6813 : }
6814 346 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
6815 346 : NDR_CHECK(ndr_push_samr_DomainInfoClass(ndr, NDR_SCALARS, r->in.level));
6816 346 : NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info, r->in.level));
6817 346 : NDR_CHECK(ndr_push_samr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
6818 : }
6819 666 : if (flags & NDR_OUT) {
6820 320 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
6821 : }
6822 666 : return NDR_ERR_SUCCESS;
6823 : }
6824 :
6825 666 : static enum ndr_err_code ndr_pull_samr_SetDomainInfo(struct ndr_pull *ndr, int flags, struct samr_SetDomainInfo *r)
6826 : {
6827 666 : TALLOC_CTX *_mem_save_domain_handle_0 = NULL;
6828 666 : TALLOC_CTX *_mem_save_info_0 = NULL;
6829 666 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
6830 666 : if (flags & NDR_IN) {
6831 320 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6832 320 : NDR_PULL_ALLOC(ndr, r->in.domain_handle);
6833 : }
6834 320 : _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6835 320 : NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
6836 320 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
6837 320 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
6838 320 : NDR_CHECK(ndr_pull_samr_DomainInfoClass(ndr, NDR_SCALARS, &r->in.level));
6839 320 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6840 320 : NDR_PULL_ALLOC(ndr, r->in.info);
6841 : }
6842 320 : _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
6843 320 : NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC);
6844 320 : NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info, r->in.level));
6845 320 : NDR_CHECK(ndr_pull_samr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
6846 320 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
6847 : }
6848 666 : if (flags & NDR_OUT) {
6849 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
6850 : if (r->in.domain_handle == NULL) {
6851 : NDR_PULL_ALLOC(ndr, r->in.domain_handle);
6852 : NDR_ZERO_STRUCTP(r->in.domain_handle);
6853 : }
6854 : if (r->in.info == NULL) {
6855 : NDR_PULL_ALLOC(ndr, r->in.info);
6856 : NDR_ZERO_STRUCTP(r->in.info);
6857 : }
6858 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
6859 346 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
6860 : }
6861 666 : return NDR_ERR_SUCCESS;
6862 : }
6863 :
6864 0 : _PUBLIC_ void ndr_print_samr_SetDomainInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetDomainInfo *r)
6865 : {
6866 0 : ndr_print_struct(ndr, name, "samr_SetDomainInfo");
6867 0 : if (r == NULL) { ndr_print_null(ndr); return; }
6868 0 : ndr->depth++;
6869 0 : if (flags & NDR_SET_VALUES) {
6870 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
6871 : }
6872 0 : if (flags & NDR_IN) {
6873 0 : ndr_print_struct(ndr, "in", "samr_SetDomainInfo");
6874 0 : ndr->depth++;
6875 0 : ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
6876 0 : ndr->depth++;
6877 0 : ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
6878 0 : ndr->depth--;
6879 0 : ndr_print_samr_DomainInfoClass(ndr, "level", r->in.level);
6880 0 : ndr_print_ptr(ndr, "info", r->in.info);
6881 0 : ndr->depth++;
6882 0 : ndr_print_set_switch_value(ndr, r->in.info, r->in.level);
6883 0 : ndr_print_samr_DomainInfo(ndr, "info", r->in.info);
6884 0 : ndr->depth--;
6885 0 : ndr->depth--;
6886 : }
6887 0 : if (flags & NDR_OUT) {
6888 0 : ndr_print_struct(ndr, "out", "samr_SetDomainInfo");
6889 0 : ndr->depth++;
6890 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
6891 0 : ndr->depth--;
6892 : }
6893 0 : ndr->depth--;
6894 : }
6895 :
6896 4236 : static enum ndr_err_code ndr_push_samr_CreateDomainGroup(struct ndr_push *ndr, int flags, const struct samr_CreateDomainGroup *r)
6897 : {
6898 4236 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
6899 4236 : if (flags & NDR_IN) {
6900 2193 : if (r->in.domain_handle == NULL) {
6901 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6902 : }
6903 2193 : if (r->in.name == NULL) {
6904 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6905 : }
6906 2193 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
6907 2193 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
6908 2193 : NDR_CHECK(ndr_push_samr_GroupAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
6909 : }
6910 4236 : if (flags & NDR_OUT) {
6911 2043 : if (r->out.group_handle == NULL) {
6912 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6913 : }
6914 2043 : if (r->out.rid == NULL) {
6915 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6916 : }
6917 2043 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.group_handle));
6918 2043 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.rid));
6919 2043 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
6920 : }
6921 4236 : return NDR_ERR_SUCCESS;
6922 : }
6923 :
6924 4234 : static enum ndr_err_code ndr_pull_samr_CreateDomainGroup(struct ndr_pull *ndr, int flags, struct samr_CreateDomainGroup *r)
6925 : {
6926 4234 : TALLOC_CTX *_mem_save_domain_handle_0 = NULL;
6927 4234 : TALLOC_CTX *_mem_save_name_0 = NULL;
6928 4234 : TALLOC_CTX *_mem_save_group_handle_0 = NULL;
6929 4234 : TALLOC_CTX *_mem_save_rid_0 = NULL;
6930 4234 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
6931 4234 : if (flags & NDR_IN) {
6932 2041 : NDR_ZERO_STRUCT(r->out);
6933 :
6934 2041 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6935 2041 : NDR_PULL_ALLOC(ndr, r->in.domain_handle);
6936 : }
6937 2041 : _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6938 2041 : NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
6939 2041 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
6940 2041 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
6941 2041 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6942 2041 : NDR_PULL_ALLOC(ndr, r->in.name);
6943 : }
6944 2041 : _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6945 2041 : NDR_PULL_SET_MEM_CTX(ndr, r->in.name, LIBNDR_FLAG_REF_ALLOC);
6946 2041 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
6947 2041 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, LIBNDR_FLAG_REF_ALLOC);
6948 2041 : NDR_CHECK(ndr_pull_samr_GroupAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
6949 2041 : NDR_PULL_ALLOC(ndr, r->out.group_handle);
6950 2041 : NDR_ZERO_STRUCTP(r->out.group_handle);
6951 2041 : NDR_PULL_ALLOC(ndr, r->out.rid);
6952 2041 : NDR_ZERO_STRUCTP(r->out.rid);
6953 : }
6954 4234 : if (flags & NDR_OUT) {
6955 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
6956 : if (r->in.domain_handle == NULL) {
6957 : NDR_PULL_ALLOC(ndr, r->in.domain_handle);
6958 : NDR_ZERO_STRUCTP(r->in.domain_handle);
6959 : }
6960 : if (r->in.name == NULL) {
6961 : NDR_PULL_ALLOC(ndr, r->in.name);
6962 : NDR_ZERO_STRUCTP(r->in.name);
6963 : }
6964 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
6965 2193 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6966 75 : NDR_PULL_ALLOC(ndr, r->out.group_handle);
6967 : }
6968 2193 : _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6969 2193 : NDR_PULL_SET_MEM_CTX(ndr, r->out.group_handle, LIBNDR_FLAG_REF_ALLOC);
6970 2193 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.group_handle));
6971 2193 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
6972 2193 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6973 75 : NDR_PULL_ALLOC(ndr, r->out.rid);
6974 : }
6975 2193 : _mem_save_rid_0 = NDR_PULL_GET_MEM_CTX(ndr);
6976 2193 : NDR_PULL_SET_MEM_CTX(ndr, r->out.rid, LIBNDR_FLAG_REF_ALLOC);
6977 2193 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.rid));
6978 2193 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rid_0, LIBNDR_FLAG_REF_ALLOC);
6979 2193 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
6980 : }
6981 4234 : return NDR_ERR_SUCCESS;
6982 : }
6983 :
6984 6 : _PUBLIC_ void ndr_print_samr_CreateDomainGroup(struct ndr_print *ndr, const char *name, int flags, const struct samr_CreateDomainGroup *r)
6985 : {
6986 6 : ndr_print_struct(ndr, name, "samr_CreateDomainGroup");
6987 6 : if (r == NULL) { ndr_print_null(ndr); return; }
6988 6 : ndr->depth++;
6989 6 : if (flags & NDR_SET_VALUES) {
6990 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
6991 : }
6992 6 : if (flags & NDR_IN) {
6993 0 : ndr_print_struct(ndr, "in", "samr_CreateDomainGroup");
6994 0 : ndr->depth++;
6995 0 : ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
6996 0 : ndr->depth++;
6997 0 : ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
6998 0 : ndr->depth--;
6999 0 : ndr_print_ptr(ndr, "name", r->in.name);
7000 0 : ndr->depth++;
7001 0 : ndr_print_lsa_String(ndr, "name", r->in.name);
7002 0 : ndr->depth--;
7003 0 : ndr_print_samr_GroupAccessMask(ndr, "access_mask", r->in.access_mask);
7004 0 : ndr->depth--;
7005 : }
7006 6 : if (flags & NDR_OUT) {
7007 6 : ndr_print_struct(ndr, "out", "samr_CreateDomainGroup");
7008 6 : ndr->depth++;
7009 6 : ndr_print_ptr(ndr, "group_handle", r->out.group_handle);
7010 6 : ndr->depth++;
7011 6 : ndr_print_policy_handle(ndr, "group_handle", r->out.group_handle);
7012 6 : ndr->depth--;
7013 6 : ndr_print_ptr(ndr, "rid", r->out.rid);
7014 6 : ndr->depth++;
7015 6 : ndr_print_uint32(ndr, "rid", *r->out.rid);
7016 6 : ndr->depth--;
7017 6 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
7018 6 : ndr->depth--;
7019 : }
7020 6 : ndr->depth--;
7021 : }
7022 :
7023 368 : static enum ndr_err_code ndr_push_samr_EnumDomainGroups(struct ndr_push *ndr, int flags, const struct samr_EnumDomainGroups *r)
7024 : {
7025 368 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
7026 368 : if (flags & NDR_IN) {
7027 177 : if (r->in.domain_handle == NULL) {
7028 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7029 : }
7030 177 : if (r->in.resume_handle == NULL) {
7031 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7032 : }
7033 177 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
7034 177 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.resume_handle));
7035 177 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_size));
7036 : }
7037 368 : if (flags & NDR_OUT) {
7038 191 : if (r->out.resume_handle == NULL) {
7039 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7040 : }
7041 191 : if (r->out.sam == NULL) {
7042 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7043 : }
7044 191 : if (r->out.num_entries == NULL) {
7045 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7046 : }
7047 191 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.resume_handle));
7048 191 : NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.sam));
7049 191 : if (*r->out.sam) {
7050 191 : NDR_CHECK(ndr_push_samr_SamArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sam));
7051 : }
7052 191 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.num_entries));
7053 191 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
7054 : }
7055 368 : return NDR_ERR_SUCCESS;
7056 : }
7057 :
7058 367 : static enum ndr_err_code ndr_pull_samr_EnumDomainGroups(struct ndr_pull *ndr, int flags, struct samr_EnumDomainGroups *r)
7059 : {
7060 : uint32_t _ptr_sam;
7061 367 : TALLOC_CTX *_mem_save_domain_handle_0 = NULL;
7062 367 : TALLOC_CTX *_mem_save_resume_handle_0 = NULL;
7063 367 : TALLOC_CTX *_mem_save_sam_0 = NULL;
7064 367 : TALLOC_CTX *_mem_save_sam_1 = NULL;
7065 367 : TALLOC_CTX *_mem_save_num_entries_0 = NULL;
7066 367 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
7067 367 : if (flags & NDR_IN) {
7068 190 : NDR_ZERO_STRUCT(r->out);
7069 :
7070 190 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7071 190 : NDR_PULL_ALLOC(ndr, r->in.domain_handle);
7072 : }
7073 190 : _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7074 190 : NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
7075 190 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
7076 190 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
7077 190 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7078 190 : NDR_PULL_ALLOC(ndr, r->in.resume_handle);
7079 : }
7080 190 : _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7081 190 : NDR_PULL_SET_MEM_CTX(ndr, r->in.resume_handle, LIBNDR_FLAG_REF_ALLOC);
7082 190 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.resume_handle));
7083 190 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC);
7084 190 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_size));
7085 190 : NDR_PULL_ALLOC(ndr, r->out.resume_handle);
7086 190 : *r->out.resume_handle = *r->in.resume_handle;
7087 190 : NDR_PULL_ALLOC(ndr, r->out.sam);
7088 190 : NDR_ZERO_STRUCTP(r->out.sam);
7089 190 : NDR_PULL_ALLOC(ndr, r->out.num_entries);
7090 190 : NDR_ZERO_STRUCTP(r->out.num_entries);
7091 : }
7092 367 : if (flags & NDR_OUT) {
7093 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
7094 : if (r->in.domain_handle == NULL) {
7095 : NDR_PULL_ALLOC(ndr, r->in.domain_handle);
7096 : NDR_ZERO_STRUCTP(r->in.domain_handle);
7097 : }
7098 : if (r->in.resume_handle == NULL) {
7099 : NDR_PULL_ALLOC(ndr, r->in.resume_handle);
7100 : NDR_ZERO_STRUCTP(r->in.resume_handle);
7101 : }
7102 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
7103 177 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7104 66 : NDR_PULL_ALLOC(ndr, r->out.resume_handle);
7105 : }
7106 177 : _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7107 177 : NDR_PULL_SET_MEM_CTX(ndr, r->out.resume_handle, LIBNDR_FLAG_REF_ALLOC);
7108 177 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.resume_handle));
7109 177 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC);
7110 177 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7111 66 : NDR_PULL_ALLOC(ndr, r->out.sam);
7112 : }
7113 177 : _mem_save_sam_0 = NDR_PULL_GET_MEM_CTX(ndr);
7114 177 : NDR_PULL_SET_MEM_CTX(ndr, r->out.sam, LIBNDR_FLAG_REF_ALLOC);
7115 177 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam));
7116 177 : if (_ptr_sam) {
7117 177 : NDR_PULL_ALLOC(ndr, *r->out.sam);
7118 : } else {
7119 0 : *r->out.sam = NULL;
7120 : }
7121 177 : if (*r->out.sam) {
7122 177 : _mem_save_sam_1 = NDR_PULL_GET_MEM_CTX(ndr);
7123 177 : NDR_PULL_SET_MEM_CTX(ndr, *r->out.sam, 0);
7124 177 : NDR_CHECK(ndr_pull_samr_SamArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sam));
7125 177 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_1, 0);
7126 : }
7127 177 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_0, LIBNDR_FLAG_REF_ALLOC);
7128 177 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7129 66 : NDR_PULL_ALLOC(ndr, r->out.num_entries);
7130 : }
7131 177 : _mem_save_num_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
7132 177 : NDR_PULL_SET_MEM_CTX(ndr, r->out.num_entries, LIBNDR_FLAG_REF_ALLOC);
7133 177 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.num_entries));
7134 177 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_num_entries_0, LIBNDR_FLAG_REF_ALLOC);
7135 177 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
7136 : }
7137 367 : return NDR_ERR_SUCCESS;
7138 : }
7139 :
7140 2 : _PUBLIC_ void ndr_print_samr_EnumDomainGroups(struct ndr_print *ndr, const char *name, int flags, const struct samr_EnumDomainGroups *r)
7141 : {
7142 2 : ndr_print_struct(ndr, name, "samr_EnumDomainGroups");
7143 2 : if (r == NULL) { ndr_print_null(ndr); return; }
7144 2 : ndr->depth++;
7145 2 : if (flags & NDR_SET_VALUES) {
7146 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7147 : }
7148 2 : if (flags & NDR_IN) {
7149 0 : ndr_print_struct(ndr, "in", "samr_EnumDomainGroups");
7150 0 : ndr->depth++;
7151 0 : ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
7152 0 : ndr->depth++;
7153 0 : ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
7154 0 : ndr->depth--;
7155 0 : ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle);
7156 0 : ndr->depth++;
7157 0 : ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle);
7158 0 : ndr->depth--;
7159 0 : ndr_print_uint32(ndr, "max_size", r->in.max_size);
7160 0 : ndr->depth--;
7161 : }
7162 2 : if (flags & NDR_OUT) {
7163 2 : ndr_print_struct(ndr, "out", "samr_EnumDomainGroups");
7164 2 : ndr->depth++;
7165 2 : ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle);
7166 2 : ndr->depth++;
7167 2 : ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle);
7168 2 : ndr->depth--;
7169 2 : ndr_print_ptr(ndr, "sam", r->out.sam);
7170 2 : ndr->depth++;
7171 2 : ndr_print_ptr(ndr, "sam", *r->out.sam);
7172 2 : ndr->depth++;
7173 2 : if (*r->out.sam) {
7174 2 : ndr_print_samr_SamArray(ndr, "sam", *r->out.sam);
7175 : }
7176 2 : ndr->depth--;
7177 2 : ndr->depth--;
7178 2 : ndr_print_ptr(ndr, "num_entries", r->out.num_entries);
7179 2 : ndr->depth++;
7180 2 : ndr_print_uint32(ndr, "num_entries", *r->out.num_entries);
7181 2 : ndr->depth--;
7182 2 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
7183 2 : ndr->depth--;
7184 : }
7185 2 : ndr->depth--;
7186 : }
7187 :
7188 4409 : static enum ndr_err_code ndr_push_samr_CreateUser(struct ndr_push *ndr, int flags, const struct samr_CreateUser *r)
7189 : {
7190 4409 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
7191 4409 : if (flags & NDR_IN) {
7192 2203 : if (r->in.domain_handle == NULL) {
7193 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7194 : }
7195 2203 : if (r->in.account_name == NULL) {
7196 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7197 : }
7198 2203 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
7199 2203 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account_name));
7200 2204 : NDR_CHECK(ndr_push_samr_UserAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
7201 : }
7202 4409 : if (flags & NDR_OUT) {
7203 2206 : if (r->out.user_handle == NULL) {
7204 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7205 : }
7206 2206 : if (r->out.rid == NULL) {
7207 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7208 : }
7209 2206 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.user_handle));
7210 2206 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.rid));
7211 2206 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
7212 : }
7213 4408 : return NDR_ERR_SUCCESS;
7214 : }
7215 :
7216 4403 : static enum ndr_err_code ndr_pull_samr_CreateUser(struct ndr_pull *ndr, int flags, struct samr_CreateUser *r)
7217 : {
7218 4403 : TALLOC_CTX *_mem_save_domain_handle_0 = NULL;
7219 4403 : TALLOC_CTX *_mem_save_account_name_0 = NULL;
7220 4403 : TALLOC_CTX *_mem_save_user_handle_0 = NULL;
7221 4403 : TALLOC_CTX *_mem_save_rid_0 = NULL;
7222 4403 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
7223 4403 : if (flags & NDR_IN) {
7224 2199 : NDR_ZERO_STRUCT(r->out);
7225 :
7226 2199 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7227 2199 : NDR_PULL_ALLOC(ndr, r->in.domain_handle);
7228 : }
7229 2199 : _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7230 2199 : NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
7231 2199 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
7232 2199 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
7233 2199 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7234 2199 : NDR_PULL_ALLOC(ndr, r->in.account_name);
7235 : }
7236 2199 : _mem_save_account_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7237 2199 : NDR_PULL_SET_MEM_CTX(ndr, r->in.account_name, LIBNDR_FLAG_REF_ALLOC);
7238 2199 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account_name));
7239 2199 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_name_0, LIBNDR_FLAG_REF_ALLOC);
7240 2203 : NDR_CHECK(ndr_pull_samr_UserAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
7241 2199 : NDR_PULL_ALLOC(ndr, r->out.user_handle);
7242 2199 : NDR_ZERO_STRUCTP(r->out.user_handle);
7243 2199 : NDR_PULL_ALLOC(ndr, r->out.rid);
7244 2199 : NDR_ZERO_STRUCTP(r->out.rid);
7245 : }
7246 4403 : if (flags & NDR_OUT) {
7247 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
7248 : if (r->in.domain_handle == NULL) {
7249 : NDR_PULL_ALLOC(ndr, r->in.domain_handle);
7250 : NDR_ZERO_STRUCTP(r->in.domain_handle);
7251 : }
7252 : if (r->in.account_name == NULL) {
7253 : NDR_PULL_ALLOC(ndr, r->in.account_name);
7254 : NDR_ZERO_STRUCTP(r->in.account_name);
7255 : }
7256 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
7257 2204 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7258 13 : NDR_PULL_ALLOC(ndr, r->out.user_handle);
7259 : }
7260 2204 : _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7261 2204 : NDR_PULL_SET_MEM_CTX(ndr, r->out.user_handle, LIBNDR_FLAG_REF_ALLOC);
7262 2204 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.user_handle));
7263 2204 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
7264 2204 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7265 13 : NDR_PULL_ALLOC(ndr, r->out.rid);
7266 : }
7267 2204 : _mem_save_rid_0 = NDR_PULL_GET_MEM_CTX(ndr);
7268 2204 : NDR_PULL_SET_MEM_CTX(ndr, r->out.rid, LIBNDR_FLAG_REF_ALLOC);
7269 2204 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.rid));
7270 2204 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rid_0, LIBNDR_FLAG_REF_ALLOC);
7271 2204 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
7272 : }
7273 4397 : return NDR_ERR_SUCCESS;
7274 : }
7275 :
7276 27 : _PUBLIC_ void ndr_print_samr_CreateUser(struct ndr_print *ndr, const char *name, int flags, const struct samr_CreateUser *r)
7277 : {
7278 27 : ndr_print_struct(ndr, name, "samr_CreateUser");
7279 27 : if (r == NULL) { ndr_print_null(ndr); return; }
7280 27 : ndr->depth++;
7281 27 : if (flags & NDR_SET_VALUES) {
7282 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7283 : }
7284 27 : if (flags & NDR_IN) {
7285 3 : ndr_print_struct(ndr, "in", "samr_CreateUser");
7286 3 : ndr->depth++;
7287 3 : ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
7288 3 : ndr->depth++;
7289 3 : ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
7290 3 : ndr->depth--;
7291 3 : ndr_print_ptr(ndr, "account_name", r->in.account_name);
7292 3 : ndr->depth++;
7293 3 : ndr_print_lsa_String(ndr, "account_name", r->in.account_name);
7294 3 : ndr->depth--;
7295 3 : ndr_print_samr_UserAccessMask(ndr, "access_mask", r->in.access_mask);
7296 3 : ndr->depth--;
7297 : }
7298 27 : if (flags & NDR_OUT) {
7299 24 : ndr_print_struct(ndr, "out", "samr_CreateUser");
7300 24 : ndr->depth++;
7301 24 : ndr_print_ptr(ndr, "user_handle", r->out.user_handle);
7302 24 : ndr->depth++;
7303 24 : ndr_print_policy_handle(ndr, "user_handle", r->out.user_handle);
7304 24 : ndr->depth--;
7305 24 : ndr_print_ptr(ndr, "rid", r->out.rid);
7306 24 : ndr->depth++;
7307 24 : ndr_print_uint32(ndr, "rid", *r->out.rid);
7308 24 : ndr->depth--;
7309 24 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
7310 24 : ndr->depth--;
7311 : }
7312 27 : ndr->depth--;
7313 : }
7314 :
7315 268 : static enum ndr_err_code ndr_push_samr_EnumDomainUsers(struct ndr_push *ndr, int flags, const struct samr_EnumDomainUsers *r)
7316 : {
7317 268 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
7318 268 : if (flags & NDR_IN) {
7319 125 : if (r->in.domain_handle == NULL) {
7320 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7321 : }
7322 125 : if (r->in.resume_handle == NULL) {
7323 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7324 : }
7325 125 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
7326 125 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.resume_handle));
7327 125 : NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->in.acct_flags));
7328 125 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_size));
7329 : }
7330 268 : if (flags & NDR_OUT) {
7331 143 : if (r->out.resume_handle == NULL) {
7332 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7333 : }
7334 143 : if (r->out.sam == NULL) {
7335 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7336 : }
7337 143 : if (r->out.num_entries == NULL) {
7338 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7339 : }
7340 143 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.resume_handle));
7341 143 : NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.sam));
7342 143 : if (*r->out.sam) {
7343 128 : NDR_CHECK(ndr_push_samr_SamArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sam));
7344 : }
7345 143 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.num_entries));
7346 143 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
7347 : }
7348 268 : return NDR_ERR_SUCCESS;
7349 : }
7350 :
7351 268 : static enum ndr_err_code ndr_pull_samr_EnumDomainUsers(struct ndr_pull *ndr, int flags, struct samr_EnumDomainUsers *r)
7352 : {
7353 : uint32_t _ptr_sam;
7354 268 : TALLOC_CTX *_mem_save_domain_handle_0 = NULL;
7355 268 : TALLOC_CTX *_mem_save_resume_handle_0 = NULL;
7356 268 : TALLOC_CTX *_mem_save_sam_0 = NULL;
7357 268 : TALLOC_CTX *_mem_save_sam_1 = NULL;
7358 268 : TALLOC_CTX *_mem_save_num_entries_0 = NULL;
7359 268 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
7360 268 : if (flags & NDR_IN) {
7361 143 : NDR_ZERO_STRUCT(r->out);
7362 :
7363 143 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7364 143 : NDR_PULL_ALLOC(ndr, r->in.domain_handle);
7365 : }
7366 143 : _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7367 143 : NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
7368 143 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
7369 143 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
7370 143 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7371 143 : NDR_PULL_ALLOC(ndr, r->in.resume_handle);
7372 : }
7373 143 : _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7374 143 : NDR_PULL_SET_MEM_CTX(ndr, r->in.resume_handle, LIBNDR_FLAG_REF_ALLOC);
7375 143 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.resume_handle));
7376 143 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC);
7377 143 : NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->in.acct_flags));
7378 143 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_size));
7379 143 : NDR_PULL_ALLOC(ndr, r->out.resume_handle);
7380 143 : *r->out.resume_handle = *r->in.resume_handle;
7381 143 : NDR_PULL_ALLOC(ndr, r->out.sam);
7382 143 : NDR_ZERO_STRUCTP(r->out.sam);
7383 143 : NDR_PULL_ALLOC(ndr, r->out.num_entries);
7384 143 : NDR_ZERO_STRUCTP(r->out.num_entries);
7385 : }
7386 268 : if (flags & NDR_OUT) {
7387 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
7388 : if (r->in.domain_handle == NULL) {
7389 : NDR_PULL_ALLOC(ndr, r->in.domain_handle);
7390 : NDR_ZERO_STRUCTP(r->in.domain_handle);
7391 : }
7392 : if (r->in.resume_handle == NULL) {
7393 : NDR_PULL_ALLOC(ndr, r->in.resume_handle);
7394 : NDR_ZERO_STRUCTP(r->in.resume_handle);
7395 : }
7396 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
7397 125 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7398 60 : NDR_PULL_ALLOC(ndr, r->out.resume_handle);
7399 : }
7400 125 : _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7401 125 : NDR_PULL_SET_MEM_CTX(ndr, r->out.resume_handle, LIBNDR_FLAG_REF_ALLOC);
7402 125 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.resume_handle));
7403 125 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC);
7404 125 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7405 60 : NDR_PULL_ALLOC(ndr, r->out.sam);
7406 : }
7407 125 : _mem_save_sam_0 = NDR_PULL_GET_MEM_CTX(ndr);
7408 125 : NDR_PULL_SET_MEM_CTX(ndr, r->out.sam, LIBNDR_FLAG_REF_ALLOC);
7409 125 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam));
7410 125 : if (_ptr_sam) {
7411 110 : NDR_PULL_ALLOC(ndr, *r->out.sam);
7412 : } else {
7413 15 : *r->out.sam = NULL;
7414 : }
7415 125 : if (*r->out.sam) {
7416 110 : _mem_save_sam_1 = NDR_PULL_GET_MEM_CTX(ndr);
7417 110 : NDR_PULL_SET_MEM_CTX(ndr, *r->out.sam, 0);
7418 110 : NDR_CHECK(ndr_pull_samr_SamArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sam));
7419 110 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_1, 0);
7420 : }
7421 125 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_0, LIBNDR_FLAG_REF_ALLOC);
7422 125 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7423 60 : NDR_PULL_ALLOC(ndr, r->out.num_entries);
7424 : }
7425 125 : _mem_save_num_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
7426 125 : NDR_PULL_SET_MEM_CTX(ndr, r->out.num_entries, LIBNDR_FLAG_REF_ALLOC);
7427 125 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.num_entries));
7428 125 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_num_entries_0, LIBNDR_FLAG_REF_ALLOC);
7429 125 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
7430 : }
7431 268 : return NDR_ERR_SUCCESS;
7432 : }
7433 :
7434 0 : _PUBLIC_ void ndr_print_samr_EnumDomainUsers(struct ndr_print *ndr, const char *name, int flags, const struct samr_EnumDomainUsers *r)
7435 : {
7436 0 : ndr_print_struct(ndr, name, "samr_EnumDomainUsers");
7437 0 : if (r == NULL) { ndr_print_null(ndr); return; }
7438 0 : ndr->depth++;
7439 0 : if (flags & NDR_SET_VALUES) {
7440 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7441 : }
7442 0 : if (flags & NDR_IN) {
7443 0 : ndr_print_struct(ndr, "in", "samr_EnumDomainUsers");
7444 0 : ndr->depth++;
7445 0 : ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
7446 0 : ndr->depth++;
7447 0 : ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
7448 0 : ndr->depth--;
7449 0 : ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle);
7450 0 : ndr->depth++;
7451 0 : ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle);
7452 0 : ndr->depth--;
7453 0 : ndr_print_samr_AcctFlags(ndr, "acct_flags", r->in.acct_flags);
7454 0 : ndr_print_uint32(ndr, "max_size", r->in.max_size);
7455 0 : ndr->depth--;
7456 : }
7457 0 : if (flags & NDR_OUT) {
7458 0 : ndr_print_struct(ndr, "out", "samr_EnumDomainUsers");
7459 0 : ndr->depth++;
7460 0 : ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle);
7461 0 : ndr->depth++;
7462 0 : ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle);
7463 0 : ndr->depth--;
7464 0 : ndr_print_ptr(ndr, "sam", r->out.sam);
7465 0 : ndr->depth++;
7466 0 : ndr_print_ptr(ndr, "sam", *r->out.sam);
7467 0 : ndr->depth++;
7468 0 : if (*r->out.sam) {
7469 0 : ndr_print_samr_SamArray(ndr, "sam", *r->out.sam);
7470 : }
7471 0 : ndr->depth--;
7472 0 : ndr->depth--;
7473 0 : ndr_print_ptr(ndr, "num_entries", r->out.num_entries);
7474 0 : ndr->depth++;
7475 0 : ndr_print_uint32(ndr, "num_entries", *r->out.num_entries);
7476 0 : ndr->depth--;
7477 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
7478 0 : ndr->depth--;
7479 : }
7480 0 : ndr->depth--;
7481 : }
7482 :
7483 3926 : static enum ndr_err_code ndr_push_samr_CreateDomAlias(struct ndr_push *ndr, int flags, const struct samr_CreateDomAlias *r)
7484 : {
7485 3926 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
7486 3926 : if (flags & NDR_IN) {
7487 2114 : if (r->in.domain_handle == NULL) {
7488 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7489 : }
7490 2114 : if (r->in.alias_name == NULL) {
7491 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7492 : }
7493 2114 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
7494 2114 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.alias_name));
7495 2114 : NDR_CHECK(ndr_push_samr_AliasAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
7496 : }
7497 3926 : if (flags & NDR_OUT) {
7498 1812 : if (r->out.alias_handle == NULL) {
7499 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7500 : }
7501 1812 : if (r->out.rid == NULL) {
7502 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7503 : }
7504 1812 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.alias_handle));
7505 1812 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.rid));
7506 1812 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
7507 : }
7508 3926 : return NDR_ERR_SUCCESS;
7509 : }
7510 :
7511 3926 : static enum ndr_err_code ndr_pull_samr_CreateDomAlias(struct ndr_pull *ndr, int flags, struct samr_CreateDomAlias *r)
7512 : {
7513 3926 : TALLOC_CTX *_mem_save_domain_handle_0 = NULL;
7514 3926 : TALLOC_CTX *_mem_save_alias_name_0 = NULL;
7515 3926 : TALLOC_CTX *_mem_save_alias_handle_0 = NULL;
7516 3926 : TALLOC_CTX *_mem_save_rid_0 = NULL;
7517 3926 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
7518 3926 : if (flags & NDR_IN) {
7519 1812 : NDR_ZERO_STRUCT(r->out);
7520 :
7521 1812 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7522 1812 : NDR_PULL_ALLOC(ndr, r->in.domain_handle);
7523 : }
7524 1812 : _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7525 1812 : NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
7526 1812 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
7527 1812 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
7528 1812 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7529 1812 : NDR_PULL_ALLOC(ndr, r->in.alias_name);
7530 : }
7531 1812 : _mem_save_alias_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7532 1812 : NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_name, LIBNDR_FLAG_REF_ALLOC);
7533 1812 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.alias_name));
7534 1812 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_name_0, LIBNDR_FLAG_REF_ALLOC);
7535 1812 : NDR_CHECK(ndr_pull_samr_AliasAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
7536 1812 : NDR_PULL_ALLOC(ndr, r->out.alias_handle);
7537 1812 : NDR_ZERO_STRUCTP(r->out.alias_handle);
7538 1812 : NDR_PULL_ALLOC(ndr, r->out.rid);
7539 1812 : NDR_ZERO_STRUCTP(r->out.rid);
7540 : }
7541 3926 : if (flags & NDR_OUT) {
7542 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
7543 : if (r->in.domain_handle == NULL) {
7544 : NDR_PULL_ALLOC(ndr, r->in.domain_handle);
7545 : NDR_ZERO_STRUCTP(r->in.domain_handle);
7546 : }
7547 : if (r->in.alias_name == NULL) {
7548 : NDR_PULL_ALLOC(ndr, r->in.alias_name);
7549 : NDR_ZERO_STRUCTP(r->in.alias_name);
7550 : }
7551 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
7552 2114 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7553 0 : NDR_PULL_ALLOC(ndr, r->out.alias_handle);
7554 : }
7555 2114 : _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7556 2114 : NDR_PULL_SET_MEM_CTX(ndr, r->out.alias_handle, LIBNDR_FLAG_REF_ALLOC);
7557 2114 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.alias_handle));
7558 2114 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
7559 2114 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7560 0 : NDR_PULL_ALLOC(ndr, r->out.rid);
7561 : }
7562 2114 : _mem_save_rid_0 = NDR_PULL_GET_MEM_CTX(ndr);
7563 2114 : NDR_PULL_SET_MEM_CTX(ndr, r->out.rid, LIBNDR_FLAG_REF_ALLOC);
7564 2114 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.rid));
7565 2114 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rid_0, LIBNDR_FLAG_REF_ALLOC);
7566 2114 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
7567 : }
7568 3926 : return NDR_ERR_SUCCESS;
7569 : }
7570 :
7571 0 : _PUBLIC_ void ndr_print_samr_CreateDomAlias(struct ndr_print *ndr, const char *name, int flags, const struct samr_CreateDomAlias *r)
7572 : {
7573 0 : ndr_print_struct(ndr, name, "samr_CreateDomAlias");
7574 0 : if (r == NULL) { ndr_print_null(ndr); return; }
7575 0 : ndr->depth++;
7576 0 : if (flags & NDR_SET_VALUES) {
7577 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7578 : }
7579 0 : if (flags & NDR_IN) {
7580 0 : ndr_print_struct(ndr, "in", "samr_CreateDomAlias");
7581 0 : ndr->depth++;
7582 0 : ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
7583 0 : ndr->depth++;
7584 0 : ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
7585 0 : ndr->depth--;
7586 0 : ndr_print_ptr(ndr, "alias_name", r->in.alias_name);
7587 0 : ndr->depth++;
7588 0 : ndr_print_lsa_String(ndr, "alias_name", r->in.alias_name);
7589 0 : ndr->depth--;
7590 0 : ndr_print_samr_AliasAccessMask(ndr, "access_mask", r->in.access_mask);
7591 0 : ndr->depth--;
7592 : }
7593 0 : if (flags & NDR_OUT) {
7594 0 : ndr_print_struct(ndr, "out", "samr_CreateDomAlias");
7595 0 : ndr->depth++;
7596 0 : ndr_print_ptr(ndr, "alias_handle", r->out.alias_handle);
7597 0 : ndr->depth++;
7598 0 : ndr_print_policy_handle(ndr, "alias_handle", r->out.alias_handle);
7599 0 : ndr->depth--;
7600 0 : ndr_print_ptr(ndr, "rid", r->out.rid);
7601 0 : ndr->depth++;
7602 0 : ndr_print_uint32(ndr, "rid", *r->out.rid);
7603 0 : ndr->depth--;
7604 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
7605 0 : ndr->depth--;
7606 : }
7607 0 : ndr->depth--;
7608 : }
7609 :
7610 122 : static enum ndr_err_code ndr_push_samr_EnumDomainAliases(struct ndr_push *ndr, int flags, const struct samr_EnumDomainAliases *r)
7611 : {
7612 122 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
7613 122 : if (flags & NDR_IN) {
7614 58 : if (r->in.domain_handle == NULL) {
7615 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7616 : }
7617 58 : if (r->in.resume_handle == NULL) {
7618 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7619 : }
7620 58 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
7621 58 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.resume_handle));
7622 58 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_size));
7623 : }
7624 122 : if (flags & NDR_OUT) {
7625 64 : if (r->out.resume_handle == NULL) {
7626 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7627 : }
7628 64 : if (r->out.sam == NULL) {
7629 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7630 : }
7631 64 : if (r->out.num_entries == NULL) {
7632 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7633 : }
7634 64 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.resume_handle));
7635 64 : NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.sam));
7636 64 : if (*r->out.sam) {
7637 64 : NDR_CHECK(ndr_push_samr_SamArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sam));
7638 : }
7639 64 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.num_entries));
7640 64 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
7641 : }
7642 122 : return NDR_ERR_SUCCESS;
7643 : }
7644 :
7645 121 : static enum ndr_err_code ndr_pull_samr_EnumDomainAliases(struct ndr_pull *ndr, int flags, struct samr_EnumDomainAliases *r)
7646 : {
7647 : uint32_t _ptr_sam;
7648 121 : TALLOC_CTX *_mem_save_domain_handle_0 = NULL;
7649 121 : TALLOC_CTX *_mem_save_resume_handle_0 = NULL;
7650 121 : TALLOC_CTX *_mem_save_sam_0 = NULL;
7651 121 : TALLOC_CTX *_mem_save_sam_1 = NULL;
7652 121 : TALLOC_CTX *_mem_save_num_entries_0 = NULL;
7653 121 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
7654 121 : if (flags & NDR_IN) {
7655 63 : NDR_ZERO_STRUCT(r->out);
7656 :
7657 63 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7658 63 : NDR_PULL_ALLOC(ndr, r->in.domain_handle);
7659 : }
7660 63 : _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7661 63 : NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
7662 63 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
7663 63 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
7664 63 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7665 63 : NDR_PULL_ALLOC(ndr, r->in.resume_handle);
7666 : }
7667 63 : _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7668 63 : NDR_PULL_SET_MEM_CTX(ndr, r->in.resume_handle, LIBNDR_FLAG_REF_ALLOC);
7669 63 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.resume_handle));
7670 63 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC);
7671 63 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_size));
7672 63 : NDR_PULL_ALLOC(ndr, r->out.resume_handle);
7673 63 : *r->out.resume_handle = *r->in.resume_handle;
7674 63 : NDR_PULL_ALLOC(ndr, r->out.sam);
7675 63 : NDR_ZERO_STRUCTP(r->out.sam);
7676 63 : NDR_PULL_ALLOC(ndr, r->out.num_entries);
7677 63 : NDR_ZERO_STRUCTP(r->out.num_entries);
7678 : }
7679 121 : if (flags & NDR_OUT) {
7680 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
7681 : if (r->in.domain_handle == NULL) {
7682 : NDR_PULL_ALLOC(ndr, r->in.domain_handle);
7683 : NDR_ZERO_STRUCTP(r->in.domain_handle);
7684 : }
7685 : if (r->in.resume_handle == NULL) {
7686 : NDR_PULL_ALLOC(ndr, r->in.resume_handle);
7687 : NDR_ZERO_STRUCTP(r->in.resume_handle);
7688 : }
7689 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
7690 58 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7691 23 : NDR_PULL_ALLOC(ndr, r->out.resume_handle);
7692 : }
7693 58 : _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7694 58 : NDR_PULL_SET_MEM_CTX(ndr, r->out.resume_handle, LIBNDR_FLAG_REF_ALLOC);
7695 58 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.resume_handle));
7696 58 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC);
7697 58 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7698 23 : NDR_PULL_ALLOC(ndr, r->out.sam);
7699 : }
7700 58 : _mem_save_sam_0 = NDR_PULL_GET_MEM_CTX(ndr);
7701 58 : NDR_PULL_SET_MEM_CTX(ndr, r->out.sam, LIBNDR_FLAG_REF_ALLOC);
7702 58 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam));
7703 58 : if (_ptr_sam) {
7704 58 : NDR_PULL_ALLOC(ndr, *r->out.sam);
7705 : } else {
7706 0 : *r->out.sam = NULL;
7707 : }
7708 58 : if (*r->out.sam) {
7709 58 : _mem_save_sam_1 = NDR_PULL_GET_MEM_CTX(ndr);
7710 58 : NDR_PULL_SET_MEM_CTX(ndr, *r->out.sam, 0);
7711 58 : NDR_CHECK(ndr_pull_samr_SamArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sam));
7712 58 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_1, 0);
7713 : }
7714 58 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_0, LIBNDR_FLAG_REF_ALLOC);
7715 58 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7716 23 : NDR_PULL_ALLOC(ndr, r->out.num_entries);
7717 : }
7718 58 : _mem_save_num_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
7719 58 : NDR_PULL_SET_MEM_CTX(ndr, r->out.num_entries, LIBNDR_FLAG_REF_ALLOC);
7720 58 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.num_entries));
7721 58 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_num_entries_0, LIBNDR_FLAG_REF_ALLOC);
7722 58 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
7723 : }
7724 121 : return NDR_ERR_SUCCESS;
7725 : }
7726 :
7727 2 : _PUBLIC_ void ndr_print_samr_EnumDomainAliases(struct ndr_print *ndr, const char *name, int flags, const struct samr_EnumDomainAliases *r)
7728 : {
7729 2 : ndr_print_struct(ndr, name, "samr_EnumDomainAliases");
7730 2 : if (r == NULL) { ndr_print_null(ndr); return; }
7731 2 : ndr->depth++;
7732 2 : if (flags & NDR_SET_VALUES) {
7733 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7734 : }
7735 2 : if (flags & NDR_IN) {
7736 0 : ndr_print_struct(ndr, "in", "samr_EnumDomainAliases");
7737 0 : ndr->depth++;
7738 0 : ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
7739 0 : ndr->depth++;
7740 0 : ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
7741 0 : ndr->depth--;
7742 0 : ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle);
7743 0 : ndr->depth++;
7744 0 : ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle);
7745 0 : ndr->depth--;
7746 0 : ndr_print_uint32(ndr, "max_size", r->in.max_size);
7747 0 : ndr->depth--;
7748 : }
7749 2 : if (flags & NDR_OUT) {
7750 2 : ndr_print_struct(ndr, "out", "samr_EnumDomainAliases");
7751 2 : ndr->depth++;
7752 2 : ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle);
7753 2 : ndr->depth++;
7754 2 : ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle);
7755 2 : ndr->depth--;
7756 2 : ndr_print_ptr(ndr, "sam", r->out.sam);
7757 2 : ndr->depth++;
7758 2 : ndr_print_ptr(ndr, "sam", *r->out.sam);
7759 2 : ndr->depth++;
7760 2 : if (*r->out.sam) {
7761 2 : ndr_print_samr_SamArray(ndr, "sam", *r->out.sam);
7762 : }
7763 2 : ndr->depth--;
7764 2 : ndr->depth--;
7765 2 : ndr_print_ptr(ndr, "num_entries", r->out.num_entries);
7766 2 : ndr->depth++;
7767 2 : ndr_print_uint32(ndr, "num_entries", *r->out.num_entries);
7768 2 : ndr->depth--;
7769 2 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
7770 2 : ndr->depth--;
7771 : }
7772 2 : ndr->depth--;
7773 : }
7774 :
7775 1933 : static enum ndr_err_code ndr_push_samr_GetAliasMembership(struct ndr_push *ndr, int flags, const struct samr_GetAliasMembership *r)
7776 : {
7777 1933 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
7778 1933 : if (flags & NDR_IN) {
7779 748 : if (r->in.domain_handle == NULL) {
7780 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7781 : }
7782 748 : if (r->in.sids == NULL) {
7783 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7784 : }
7785 748 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
7786 748 : NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids));
7787 : }
7788 1933 : if (flags & NDR_OUT) {
7789 1185 : if (r->out.rids == NULL) {
7790 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7791 : }
7792 1185 : NDR_CHECK(ndr_push_samr_Ids(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.rids));
7793 1185 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
7794 : }
7795 1933 : return NDR_ERR_SUCCESS;
7796 : }
7797 :
7798 1928 : static enum ndr_err_code ndr_pull_samr_GetAliasMembership(struct ndr_pull *ndr, int flags, struct samr_GetAliasMembership *r)
7799 : {
7800 1928 : TALLOC_CTX *_mem_save_domain_handle_0 = NULL;
7801 1928 : TALLOC_CTX *_mem_save_sids_0 = NULL;
7802 1928 : TALLOC_CTX *_mem_save_rids_0 = NULL;
7803 1928 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
7804 1928 : if (flags & NDR_IN) {
7805 1180 : NDR_ZERO_STRUCT(r->out);
7806 :
7807 1180 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7808 1180 : NDR_PULL_ALLOC(ndr, r->in.domain_handle);
7809 : }
7810 1180 : _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7811 1180 : NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
7812 1180 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
7813 1180 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
7814 1180 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7815 1180 : NDR_PULL_ALLOC(ndr, r->in.sids);
7816 : }
7817 1180 : _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
7818 1180 : NDR_PULL_SET_MEM_CTX(ndr, r->in.sids, LIBNDR_FLAG_REF_ALLOC);
7819 1180 : NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids));
7820 1180 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC);
7821 1180 : NDR_PULL_ALLOC(ndr, r->out.rids);
7822 1180 : NDR_ZERO_STRUCTP(r->out.rids);
7823 : }
7824 1928 : if (flags & NDR_OUT) {
7825 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
7826 : if (r->in.domain_handle == NULL) {
7827 : NDR_PULL_ALLOC(ndr, r->in.domain_handle);
7828 : NDR_ZERO_STRUCTP(r->in.domain_handle);
7829 : }
7830 : if (r->in.sids == NULL) {
7831 : NDR_PULL_ALLOC(ndr, r->in.sids);
7832 : NDR_ZERO_STRUCTP(r->in.sids);
7833 : }
7834 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
7835 748 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7836 91 : NDR_PULL_ALLOC(ndr, r->out.rids);
7837 : }
7838 748 : _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
7839 748 : NDR_PULL_SET_MEM_CTX(ndr, r->out.rids, LIBNDR_FLAG_REF_ALLOC);
7840 748 : NDR_CHECK(ndr_pull_samr_Ids(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.rids));
7841 748 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, LIBNDR_FLAG_REF_ALLOC);
7842 748 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
7843 : }
7844 1928 : return NDR_ERR_SUCCESS;
7845 : }
7846 :
7847 10 : _PUBLIC_ void ndr_print_samr_GetAliasMembership(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetAliasMembership *r)
7848 : {
7849 10 : ndr_print_struct(ndr, name, "samr_GetAliasMembership");
7850 10 : if (r == NULL) { ndr_print_null(ndr); return; }
7851 10 : ndr->depth++;
7852 10 : if (flags & NDR_SET_VALUES) {
7853 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7854 : }
7855 10 : if (flags & NDR_IN) {
7856 0 : ndr_print_struct(ndr, "in", "samr_GetAliasMembership");
7857 0 : ndr->depth++;
7858 0 : ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
7859 0 : ndr->depth++;
7860 0 : ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
7861 0 : ndr->depth--;
7862 0 : ndr_print_ptr(ndr, "sids", r->in.sids);
7863 0 : ndr->depth++;
7864 0 : ndr_print_lsa_SidArray(ndr, "sids", r->in.sids);
7865 0 : ndr->depth--;
7866 0 : ndr->depth--;
7867 : }
7868 10 : if (flags & NDR_OUT) {
7869 10 : ndr_print_struct(ndr, "out", "samr_GetAliasMembership");
7870 10 : ndr->depth++;
7871 10 : ndr_print_ptr(ndr, "rids", r->out.rids);
7872 10 : ndr->depth++;
7873 10 : ndr_print_samr_Ids(ndr, "rids", r->out.rids);
7874 10 : ndr->depth--;
7875 10 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
7876 10 : ndr->depth--;
7877 : }
7878 10 : ndr->depth--;
7879 : }
7880 :
7881 8806 : _PUBLIC_ enum ndr_err_code ndr_push_samr_LookupNames(struct ndr_push *ndr, int flags, const struct samr_LookupNames *r)
7882 : {
7883 : uint32_t cntr_names_0;
7884 8806 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
7885 8806 : if (flags & NDR_IN) {
7886 2494 : if (r->in.domain_handle == NULL) {
7887 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7888 : }
7889 2494 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
7890 2494 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.num_names));
7891 2494 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 1000));
7892 2494 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7893 2494 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.num_names));
7894 5328 : for (cntr_names_0 = 0; cntr_names_0 < (r->in.num_names); cntr_names_0++) {
7895 2834 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->in.names[cntr_names_0]));
7896 : }
7897 5328 : for (cntr_names_0 = 0; cntr_names_0 < (r->in.num_names); cntr_names_0++) {
7898 2834 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->in.names[cntr_names_0]));
7899 : }
7900 : }
7901 8806 : if (flags & NDR_OUT) {
7902 6312 : if (r->out.rids == NULL) {
7903 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7904 : }
7905 6312 : if (r->out.types == NULL) {
7906 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7907 : }
7908 6312 : NDR_CHECK(ndr_push_samr_Ids(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.rids));
7909 6312 : NDR_CHECK(ndr_push_samr_Ids(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.types));
7910 6312 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
7911 : }
7912 8789 : return NDR_ERR_SUCCESS;
7913 : }
7914 :
7915 8712 : _PUBLIC_ enum ndr_err_code ndr_pull_samr_LookupNames(struct ndr_pull *ndr, int flags, struct samr_LookupNames *r)
7916 : {
7917 8712 : uint32_t size_names_0 = 0;
7918 8712 : uint32_t length_names_0 = 0;
7919 : uint32_t cntr_names_0;
7920 8712 : TALLOC_CTX *_mem_save_domain_handle_0 = NULL;
7921 8712 : TALLOC_CTX *_mem_save_names_0 = NULL;
7922 8712 : TALLOC_CTX *_mem_save_rids_0 = NULL;
7923 8712 : TALLOC_CTX *_mem_save_types_0 = NULL;
7924 8712 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
7925 8712 : if (flags & NDR_IN) {
7926 6216 : NDR_ZERO_STRUCT(r->out);
7927 :
7928 6216 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7929 6216 : NDR_PULL_ALLOC(ndr, r->in.domain_handle);
7930 : }
7931 6216 : _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7932 6216 : NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
7933 6216 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
7934 6216 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
7935 6216 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.num_names));
7936 6216 : if (r->in.num_names > 1000) {
7937 0 : return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
7938 : }
7939 6216 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.names));
7940 6216 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.names));
7941 6216 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->in.names, &size_names_0));
7942 6216 : NDR_CHECK(ndr_get_array_length(ndr, (void*)&r->in.names, &length_names_0));
7943 6216 : if (length_names_0 > size_names_0) {
7944 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_names_0, length_names_0);
7945 : }
7946 6216 : NDR_PULL_ALLOC_N(ndr, r->in.names, size_names_0);
7947 6216 : _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
7948 6216 : NDR_PULL_SET_MEM_CTX(ndr, r->in.names, 0);
7949 12774 : for (cntr_names_0 = 0; cntr_names_0 < (length_names_0); cntr_names_0++) {
7950 6558 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->in.names[cntr_names_0]));
7951 : }
7952 12755 : for (cntr_names_0 = 0; cntr_names_0 < (length_names_0); cntr_names_0++) {
7953 6558 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->in.names[cntr_names_0]));
7954 : }
7955 6216 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, 0);
7956 6216 : NDR_PULL_ALLOC(ndr, r->out.rids);
7957 6216 : NDR_ZERO_STRUCTP(r->out.rids);
7958 6216 : NDR_PULL_ALLOC(ndr, r->out.types);
7959 6216 : NDR_ZERO_STRUCTP(r->out.types);
7960 6216 : if (r->in.names) {
7961 6216 : NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.names, 1000));
7962 : }
7963 6216 : if (r->in.names) {
7964 6216 : NDR_CHECK(ndr_check_steal_array_length(ndr, (void*)&r->in.names, r->in.num_names));
7965 : }
7966 7786 : for (cntr_names_0 = 0; cntr_names_0 < (length_names_0); cntr_names_0++) {
7967 : }
7968 : }
7969 8712 : if (flags & NDR_OUT) {
7970 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
7971 : if (r->in.domain_handle == NULL) {
7972 : NDR_PULL_ALLOC(ndr, r->in.domain_handle);
7973 : NDR_ZERO_STRUCTP(r->in.domain_handle);
7974 : }
7975 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
7976 2496 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7977 391 : NDR_PULL_ALLOC(ndr, r->out.rids);
7978 : }
7979 2496 : _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
7980 2496 : NDR_PULL_SET_MEM_CTX(ndr, r->out.rids, LIBNDR_FLAG_REF_ALLOC);
7981 2496 : NDR_CHECK(ndr_pull_samr_Ids(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.rids));
7982 2496 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, LIBNDR_FLAG_REF_ALLOC);
7983 2496 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7984 391 : NDR_PULL_ALLOC(ndr, r->out.types);
7985 : }
7986 2496 : _mem_save_types_0 = NDR_PULL_GET_MEM_CTX(ndr);
7987 2496 : NDR_PULL_SET_MEM_CTX(ndr, r->out.types, LIBNDR_FLAG_REF_ALLOC);
7988 2496 : NDR_CHECK(ndr_pull_samr_Ids(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.types));
7989 2496 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_types_0, LIBNDR_FLAG_REF_ALLOC);
7990 2496 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
7991 : }
7992 8691 : return NDR_ERR_SUCCESS;
7993 : }
7994 :
7995 200 : _PUBLIC_ void ndr_print_samr_LookupNames(struct ndr_print *ndr, const char *name, int flags, const struct samr_LookupNames *r)
7996 : {
7997 : uint32_t cntr_names_0;
7998 200 : ndr_print_struct(ndr, name, "samr_LookupNames");
7999 200 : if (r == NULL) { ndr_print_null(ndr); return; }
8000 200 : ndr->depth++;
8001 200 : if (flags & NDR_SET_VALUES) {
8002 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8003 : }
8004 200 : if (flags & NDR_IN) {
8005 2 : ndr_print_struct(ndr, "in", "samr_LookupNames");
8006 2 : ndr->depth++;
8007 2 : ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
8008 2 : ndr->depth++;
8009 2 : ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
8010 2 : ndr->depth--;
8011 2 : ndr_print_uint32(ndr, "num_names", r->in.num_names);
8012 2 : ndr->print(ndr, "%s: ARRAY(%d)", "names", (int)r->in.num_names);
8013 2 : ndr->depth++;
8014 4 : for (cntr_names_0 = 0; cntr_names_0 < (r->in.num_names); cntr_names_0++) {
8015 2 : ndr_print_lsa_String(ndr, "names", &r->in.names[cntr_names_0]);
8016 : }
8017 2 : ndr->depth--;
8018 2 : ndr->depth--;
8019 : }
8020 200 : if (flags & NDR_OUT) {
8021 198 : ndr_print_struct(ndr, "out", "samr_LookupNames");
8022 198 : ndr->depth++;
8023 198 : ndr_print_ptr(ndr, "rids", r->out.rids);
8024 198 : ndr->depth++;
8025 198 : ndr_print_samr_Ids(ndr, "rids", r->out.rids);
8026 198 : ndr->depth--;
8027 198 : ndr_print_ptr(ndr, "types", r->out.types);
8028 198 : ndr->depth++;
8029 198 : ndr_print_samr_Ids(ndr, "types", r->out.types);
8030 198 : ndr->depth--;
8031 198 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
8032 198 : ndr->depth--;
8033 : }
8034 200 : ndr->depth--;
8035 : }
8036 :
8037 3454 : static enum ndr_err_code ndr_push_samr_LookupRids(struct ndr_push *ndr, int flags, const struct samr_LookupRids *r)
8038 : {
8039 : uint32_t cntr_rids_0;
8040 3454 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
8041 3454 : if (flags & NDR_IN) {
8042 2005 : if (r->in.domain_handle == NULL) {
8043 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8044 : }
8045 2005 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
8046 2005 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.num_rids));
8047 2005 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 1000));
8048 2005 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8049 2005 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.num_rids));
8050 4005 : for (cntr_rids_0 = 0; cntr_rids_0 < (r->in.num_rids); cntr_rids_0++) {
8051 2000 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.rids[cntr_rids_0]));
8052 : }
8053 : }
8054 3454 : if (flags & NDR_OUT) {
8055 1449 : if (r->out.names == NULL) {
8056 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8057 : }
8058 1449 : if (r->out.types == NULL) {
8059 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8060 : }
8061 1449 : NDR_CHECK(ndr_push_lsa_Strings(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.names));
8062 1449 : NDR_CHECK(ndr_push_samr_Ids(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.types));
8063 1449 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8064 : }
8065 3454 : return NDR_ERR_SUCCESS;
8066 : }
8067 :
8068 3425 : static enum ndr_err_code ndr_pull_samr_LookupRids(struct ndr_pull *ndr, int flags, struct samr_LookupRids *r)
8069 : {
8070 3425 : uint32_t size_rids_0 = 0;
8071 3425 : uint32_t length_rids_0 = 0;
8072 : uint32_t cntr_rids_0;
8073 3425 : TALLOC_CTX *_mem_save_domain_handle_0 = NULL;
8074 3425 : TALLOC_CTX *_mem_save_rids_0 = NULL;
8075 3425 : TALLOC_CTX *_mem_save_names_0 = NULL;
8076 3425 : TALLOC_CTX *_mem_save_types_0 = NULL;
8077 3425 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
8078 3425 : if (flags & NDR_IN) {
8079 1420 : NDR_ZERO_STRUCT(r->out);
8080 :
8081 1420 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8082 1420 : NDR_PULL_ALLOC(ndr, r->in.domain_handle);
8083 : }
8084 1420 : _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8085 1420 : NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
8086 1420 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
8087 1420 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
8088 1420 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.num_rids));
8089 1420 : if (r->in.num_rids > 1000) {
8090 0 : return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
8091 : }
8092 1420 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.rids));
8093 1420 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.rids));
8094 1420 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->in.rids, &size_rids_0));
8095 1420 : NDR_CHECK(ndr_get_array_length(ndr, (void*)&r->in.rids, &length_rids_0));
8096 1420 : if (length_rids_0 > size_rids_0) {
8097 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_rids_0, length_rids_0);
8098 : }
8099 1420 : NDR_PULL_ALLOC_N(ndr, r->in.rids, size_rids_0);
8100 1420 : _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
8101 1420 : NDR_PULL_SET_MEM_CTX(ndr, r->in.rids, 0);
8102 3595 : for (cntr_rids_0 = 0; cntr_rids_0 < (length_rids_0); cntr_rids_0++) {
8103 2175 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.rids[cntr_rids_0]));
8104 : }
8105 1420 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, 0);
8106 1420 : NDR_PULL_ALLOC(ndr, r->out.names);
8107 1420 : NDR_ZERO_STRUCTP(r->out.names);
8108 1420 : NDR_PULL_ALLOC(ndr, r->out.types);
8109 1420 : NDR_ZERO_STRUCTP(r->out.types);
8110 1420 : if (r->in.rids) {
8111 1420 : NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->in.rids, 1000));
8112 : }
8113 1420 : if (r->in.rids) {
8114 1420 : NDR_CHECK(ndr_check_steal_array_length(ndr, (void*)&r->in.rids, r->in.num_rids));
8115 : }
8116 : }
8117 3425 : if (flags & NDR_OUT) {
8118 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
8119 : if (r->in.domain_handle == NULL) {
8120 : NDR_PULL_ALLOC(ndr, r->in.domain_handle);
8121 : NDR_ZERO_STRUCTP(r->in.domain_handle);
8122 : }
8123 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
8124 2005 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8125 39 : NDR_PULL_ALLOC(ndr, r->out.names);
8126 : }
8127 2005 : _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
8128 2005 : NDR_PULL_SET_MEM_CTX(ndr, r->out.names, LIBNDR_FLAG_REF_ALLOC);
8129 2005 : NDR_CHECK(ndr_pull_lsa_Strings(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.names));
8130 2005 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, LIBNDR_FLAG_REF_ALLOC);
8131 2005 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8132 39 : NDR_PULL_ALLOC(ndr, r->out.types);
8133 : }
8134 2005 : _mem_save_types_0 = NDR_PULL_GET_MEM_CTX(ndr);
8135 2005 : NDR_PULL_SET_MEM_CTX(ndr, r->out.types, LIBNDR_FLAG_REF_ALLOC);
8136 2005 : NDR_CHECK(ndr_pull_samr_Ids(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.types));
8137 2005 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_types_0, LIBNDR_FLAG_REF_ALLOC);
8138 2005 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8139 : }
8140 3425 : return NDR_ERR_SUCCESS;
8141 : }
8142 :
8143 58 : _PUBLIC_ void ndr_print_samr_LookupRids(struct ndr_print *ndr, const char *name, int flags, const struct samr_LookupRids *r)
8144 : {
8145 : uint32_t cntr_rids_0;
8146 58 : ndr_print_struct(ndr, name, "samr_LookupRids");
8147 58 : if (r == NULL) { ndr_print_null(ndr); return; }
8148 58 : ndr->depth++;
8149 58 : if (flags & NDR_SET_VALUES) {
8150 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8151 : }
8152 58 : if (flags & NDR_IN) {
8153 0 : ndr_print_struct(ndr, "in", "samr_LookupRids");
8154 0 : ndr->depth++;
8155 0 : ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
8156 0 : ndr->depth++;
8157 0 : ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
8158 0 : ndr->depth--;
8159 0 : ndr_print_uint32(ndr, "num_rids", r->in.num_rids);
8160 0 : ndr->print(ndr, "%s: ARRAY(%d)", "rids", (int)r->in.num_rids);
8161 0 : ndr->depth++;
8162 0 : for (cntr_rids_0 = 0; cntr_rids_0 < (r->in.num_rids); cntr_rids_0++) {
8163 0 : ndr_print_uint32(ndr, "rids", r->in.rids[cntr_rids_0]);
8164 : }
8165 0 : ndr->depth--;
8166 0 : ndr->depth--;
8167 : }
8168 58 : if (flags & NDR_OUT) {
8169 58 : ndr_print_struct(ndr, "out", "samr_LookupRids");
8170 58 : ndr->depth++;
8171 58 : ndr_print_ptr(ndr, "names", r->out.names);
8172 58 : ndr->depth++;
8173 58 : ndr_print_lsa_Strings(ndr, "names", r->out.names);
8174 58 : ndr->depth--;
8175 58 : ndr_print_ptr(ndr, "types", r->out.types);
8176 58 : ndr->depth++;
8177 58 : ndr_print_samr_Ids(ndr, "types", r->out.types);
8178 58 : ndr->depth--;
8179 58 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
8180 58 : ndr->depth--;
8181 : }
8182 58 : ndr->depth--;
8183 : }
8184 :
8185 1577 : static enum ndr_err_code ndr_push_samr_OpenGroup(struct ndr_push *ndr, int flags, const struct samr_OpenGroup *r)
8186 : {
8187 1577 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
8188 1577 : if (flags & NDR_IN) {
8189 935 : if (r->in.domain_handle == NULL) {
8190 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8191 : }
8192 935 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
8193 935 : NDR_CHECK(ndr_push_samr_GroupAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
8194 935 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.rid));
8195 : }
8196 1577 : if (flags & NDR_OUT) {
8197 642 : if (r->out.group_handle == NULL) {
8198 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8199 : }
8200 642 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.group_handle));
8201 642 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8202 : }
8203 1577 : return NDR_ERR_SUCCESS;
8204 : }
8205 :
8206 1558 : static enum ndr_err_code ndr_pull_samr_OpenGroup(struct ndr_pull *ndr, int flags, struct samr_OpenGroup *r)
8207 : {
8208 1558 : TALLOC_CTX *_mem_save_domain_handle_0 = NULL;
8209 1558 : TALLOC_CTX *_mem_save_group_handle_0 = NULL;
8210 1558 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
8211 1558 : if (flags & NDR_IN) {
8212 631 : NDR_ZERO_STRUCT(r->out);
8213 :
8214 631 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8215 631 : NDR_PULL_ALLOC(ndr, r->in.domain_handle);
8216 : }
8217 631 : _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8218 631 : NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
8219 631 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
8220 631 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
8221 631 : NDR_CHECK(ndr_pull_samr_GroupAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
8222 631 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.rid));
8223 631 : NDR_PULL_ALLOC(ndr, r->out.group_handle);
8224 631 : NDR_ZERO_STRUCTP(r->out.group_handle);
8225 : }
8226 1558 : if (flags & NDR_OUT) {
8227 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
8228 : if (r->in.domain_handle == NULL) {
8229 : NDR_PULL_ALLOC(ndr, r->in.domain_handle);
8230 : NDR_ZERO_STRUCTP(r->in.domain_handle);
8231 : }
8232 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
8233 927 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8234 180 : NDR_PULL_ALLOC(ndr, r->out.group_handle);
8235 : }
8236 927 : _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8237 927 : NDR_PULL_SET_MEM_CTX(ndr, r->out.group_handle, LIBNDR_FLAG_REF_ALLOC);
8238 927 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.group_handle));
8239 927 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
8240 927 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8241 : }
8242 1558 : return NDR_ERR_SUCCESS;
8243 : }
8244 :
8245 38 : _PUBLIC_ void ndr_print_samr_OpenGroup(struct ndr_print *ndr, const char *name, int flags, const struct samr_OpenGroup *r)
8246 : {
8247 38 : ndr_print_struct(ndr, name, "samr_OpenGroup");
8248 38 : if (r == NULL) { ndr_print_null(ndr); return; }
8249 38 : ndr->depth++;
8250 38 : if (flags & NDR_SET_VALUES) {
8251 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8252 : }
8253 38 : if (flags & NDR_IN) {
8254 0 : ndr_print_struct(ndr, "in", "samr_OpenGroup");
8255 0 : ndr->depth++;
8256 0 : ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
8257 0 : ndr->depth++;
8258 0 : ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
8259 0 : ndr->depth--;
8260 0 : ndr_print_samr_GroupAccessMask(ndr, "access_mask", r->in.access_mask);
8261 0 : ndr_print_uint32(ndr, "rid", r->in.rid);
8262 0 : ndr->depth--;
8263 : }
8264 38 : if (flags & NDR_OUT) {
8265 38 : ndr_print_struct(ndr, "out", "samr_OpenGroup");
8266 38 : ndr->depth++;
8267 38 : ndr_print_ptr(ndr, "group_handle", r->out.group_handle);
8268 38 : ndr->depth++;
8269 38 : ndr_print_policy_handle(ndr, "group_handle", r->out.group_handle);
8270 38 : ndr->depth--;
8271 38 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
8272 38 : ndr->depth--;
8273 : }
8274 38 : ndr->depth--;
8275 : }
8276 :
8277 781 : static enum ndr_err_code ndr_push_samr_QueryGroupInfo(struct ndr_push *ndr, int flags, const struct samr_QueryGroupInfo *r)
8278 : {
8279 781 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
8280 781 : if (flags & NDR_IN) {
8281 389 : if (r->in.group_handle == NULL) {
8282 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8283 : }
8284 389 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
8285 389 : NDR_CHECK(ndr_push_samr_GroupInfoEnum(ndr, NDR_SCALARS, r->in.level));
8286 : }
8287 781 : if (flags & NDR_OUT) {
8288 392 : if (r->out.info == NULL) {
8289 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8290 : }
8291 392 : NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
8292 392 : if (*r->out.info) {
8293 392 : NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.info, r->in.level));
8294 392 : NDR_CHECK(ndr_push_samr_GroupInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
8295 : }
8296 392 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8297 : }
8298 781 : return NDR_ERR_SUCCESS;
8299 : }
8300 :
8301 778 : static enum ndr_err_code ndr_pull_samr_QueryGroupInfo(struct ndr_pull *ndr, int flags, struct samr_QueryGroupInfo *r)
8302 : {
8303 : uint32_t _ptr_info;
8304 778 : TALLOC_CTX *_mem_save_group_handle_0 = NULL;
8305 778 : TALLOC_CTX *_mem_save_info_0 = NULL;
8306 778 : TALLOC_CTX *_mem_save_info_1 = NULL;
8307 778 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
8308 778 : if (flags & NDR_IN) {
8309 389 : NDR_ZERO_STRUCT(r->out);
8310 :
8311 389 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8312 389 : NDR_PULL_ALLOC(ndr, r->in.group_handle);
8313 : }
8314 389 : _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8315 389 : NDR_PULL_SET_MEM_CTX(ndr, r->in.group_handle, LIBNDR_FLAG_REF_ALLOC);
8316 389 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
8317 389 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
8318 389 : NDR_CHECK(ndr_pull_samr_GroupInfoEnum(ndr, NDR_SCALARS, &r->in.level));
8319 389 : NDR_PULL_ALLOC(ndr, r->out.info);
8320 389 : NDR_ZERO_STRUCTP(r->out.info);
8321 : }
8322 778 : if (flags & NDR_OUT) {
8323 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
8324 : if (r->in.group_handle == NULL) {
8325 : NDR_PULL_ALLOC(ndr, r->in.group_handle);
8326 : NDR_ZERO_STRUCTP(r->in.group_handle);
8327 : }
8328 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
8329 389 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8330 13 : NDR_PULL_ALLOC(ndr, r->out.info);
8331 : }
8332 389 : _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
8333 389 : NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
8334 389 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
8335 389 : if (_ptr_info) {
8336 389 : NDR_PULL_ALLOC(ndr, *r->out.info);
8337 : } else {
8338 0 : *r->out.info = NULL;
8339 : }
8340 389 : if (*r->out.info) {
8341 389 : _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
8342 389 : NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
8343 389 : NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.info, r->in.level));
8344 389 : NDR_CHECK(ndr_pull_samr_GroupInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
8345 389 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
8346 : }
8347 389 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
8348 389 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8349 : }
8350 778 : return NDR_ERR_SUCCESS;
8351 : }
8352 :
8353 6 : _PUBLIC_ void ndr_print_samr_QueryGroupInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryGroupInfo *r)
8354 : {
8355 6 : ndr_print_struct(ndr, name, "samr_QueryGroupInfo");
8356 6 : if (r == NULL) { ndr_print_null(ndr); return; }
8357 6 : ndr->depth++;
8358 6 : if (flags & NDR_SET_VALUES) {
8359 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8360 : }
8361 6 : if (flags & NDR_IN) {
8362 0 : ndr_print_struct(ndr, "in", "samr_QueryGroupInfo");
8363 0 : ndr->depth++;
8364 0 : ndr_print_ptr(ndr, "group_handle", r->in.group_handle);
8365 0 : ndr->depth++;
8366 0 : ndr_print_policy_handle(ndr, "group_handle", r->in.group_handle);
8367 0 : ndr->depth--;
8368 0 : ndr_print_samr_GroupInfoEnum(ndr, "level", r->in.level);
8369 0 : ndr->depth--;
8370 : }
8371 6 : if (flags & NDR_OUT) {
8372 6 : ndr_print_struct(ndr, "out", "samr_QueryGroupInfo");
8373 6 : ndr->depth++;
8374 6 : ndr_print_ptr(ndr, "info", r->out.info);
8375 6 : ndr->depth++;
8376 6 : ndr_print_ptr(ndr, "info", *r->out.info);
8377 6 : ndr->depth++;
8378 6 : if (*r->out.info) {
8379 6 : ndr_print_set_switch_value(ndr, *r->out.info, r->in.level);
8380 6 : ndr_print_samr_GroupInfo(ndr, "info", *r->out.info);
8381 : }
8382 6 : ndr->depth--;
8383 6 : ndr->depth--;
8384 6 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
8385 6 : ndr->depth--;
8386 : }
8387 6 : ndr->depth--;
8388 : }
8389 :
8390 58 : static enum ndr_err_code ndr_push_samr_SetGroupInfo(struct ndr_push *ndr, int flags, const struct samr_SetGroupInfo *r)
8391 : {
8392 58 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
8393 58 : if (flags & NDR_IN) {
8394 29 : if (r->in.group_handle == NULL) {
8395 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8396 : }
8397 29 : if (r->in.info == NULL) {
8398 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8399 : }
8400 29 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
8401 29 : NDR_CHECK(ndr_push_samr_GroupInfoEnum(ndr, NDR_SCALARS, r->in.level));
8402 29 : NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info, r->in.level));
8403 29 : NDR_CHECK(ndr_push_samr_GroupInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
8404 : }
8405 58 : if (flags & NDR_OUT) {
8406 29 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8407 : }
8408 58 : return NDR_ERR_SUCCESS;
8409 : }
8410 :
8411 58 : static enum ndr_err_code ndr_pull_samr_SetGroupInfo(struct ndr_pull *ndr, int flags, struct samr_SetGroupInfo *r)
8412 : {
8413 58 : TALLOC_CTX *_mem_save_group_handle_0 = NULL;
8414 58 : TALLOC_CTX *_mem_save_info_0 = NULL;
8415 58 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
8416 58 : if (flags & NDR_IN) {
8417 29 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8418 29 : NDR_PULL_ALLOC(ndr, r->in.group_handle);
8419 : }
8420 29 : _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8421 29 : NDR_PULL_SET_MEM_CTX(ndr, r->in.group_handle, LIBNDR_FLAG_REF_ALLOC);
8422 29 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
8423 29 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
8424 29 : NDR_CHECK(ndr_pull_samr_GroupInfoEnum(ndr, NDR_SCALARS, &r->in.level));
8425 29 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8426 29 : NDR_PULL_ALLOC(ndr, r->in.info);
8427 : }
8428 29 : _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
8429 29 : NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC);
8430 29 : NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info, r->in.level));
8431 29 : NDR_CHECK(ndr_pull_samr_GroupInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
8432 29 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
8433 : }
8434 58 : if (flags & NDR_OUT) {
8435 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
8436 : if (r->in.group_handle == NULL) {
8437 : NDR_PULL_ALLOC(ndr, r->in.group_handle);
8438 : NDR_ZERO_STRUCTP(r->in.group_handle);
8439 : }
8440 : if (r->in.info == NULL) {
8441 : NDR_PULL_ALLOC(ndr, r->in.info);
8442 : NDR_ZERO_STRUCTP(r->in.info);
8443 : }
8444 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
8445 29 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8446 : }
8447 58 : return NDR_ERR_SUCCESS;
8448 : }
8449 :
8450 0 : _PUBLIC_ void ndr_print_samr_SetGroupInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetGroupInfo *r)
8451 : {
8452 0 : ndr_print_struct(ndr, name, "samr_SetGroupInfo");
8453 0 : if (r == NULL) { ndr_print_null(ndr); return; }
8454 0 : ndr->depth++;
8455 0 : if (flags & NDR_SET_VALUES) {
8456 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8457 : }
8458 0 : if (flags & NDR_IN) {
8459 0 : ndr_print_struct(ndr, "in", "samr_SetGroupInfo");
8460 0 : ndr->depth++;
8461 0 : ndr_print_ptr(ndr, "group_handle", r->in.group_handle);
8462 0 : ndr->depth++;
8463 0 : ndr_print_policy_handle(ndr, "group_handle", r->in.group_handle);
8464 0 : ndr->depth--;
8465 0 : ndr_print_samr_GroupInfoEnum(ndr, "level", r->in.level);
8466 0 : ndr_print_ptr(ndr, "info", r->in.info);
8467 0 : ndr->depth++;
8468 0 : ndr_print_set_switch_value(ndr, r->in.info, r->in.level);
8469 0 : ndr_print_samr_GroupInfo(ndr, "info", r->in.info);
8470 0 : ndr->depth--;
8471 0 : ndr->depth--;
8472 : }
8473 0 : if (flags & NDR_OUT) {
8474 0 : ndr_print_struct(ndr, "out", "samr_SetGroupInfo");
8475 0 : ndr->depth++;
8476 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
8477 0 : ndr->depth--;
8478 : }
8479 0 : ndr->depth--;
8480 : }
8481 :
8482 156 : static enum ndr_err_code ndr_push_samr_AddGroupMember(struct ndr_push *ndr, int flags, const struct samr_AddGroupMember *r)
8483 : {
8484 156 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
8485 156 : if (flags & NDR_IN) {
8486 78 : if (r->in.group_handle == NULL) {
8487 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8488 : }
8489 78 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
8490 78 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.rid));
8491 78 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags));
8492 : }
8493 156 : if (flags & NDR_OUT) {
8494 78 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8495 : }
8496 156 : return NDR_ERR_SUCCESS;
8497 : }
8498 :
8499 156 : static enum ndr_err_code ndr_pull_samr_AddGroupMember(struct ndr_pull *ndr, int flags, struct samr_AddGroupMember *r)
8500 : {
8501 156 : TALLOC_CTX *_mem_save_group_handle_0 = NULL;
8502 156 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
8503 156 : if (flags & NDR_IN) {
8504 78 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8505 78 : NDR_PULL_ALLOC(ndr, r->in.group_handle);
8506 : }
8507 78 : _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8508 78 : NDR_PULL_SET_MEM_CTX(ndr, r->in.group_handle, LIBNDR_FLAG_REF_ALLOC);
8509 78 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
8510 78 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
8511 78 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.rid));
8512 78 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
8513 : }
8514 156 : if (flags & NDR_OUT) {
8515 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
8516 : if (r->in.group_handle == NULL) {
8517 : NDR_PULL_ALLOC(ndr, r->in.group_handle);
8518 : NDR_ZERO_STRUCTP(r->in.group_handle);
8519 : }
8520 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
8521 78 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8522 : }
8523 156 : return NDR_ERR_SUCCESS;
8524 : }
8525 :
8526 0 : _PUBLIC_ void ndr_print_samr_AddGroupMember(struct ndr_print *ndr, const char *name, int flags, const struct samr_AddGroupMember *r)
8527 : {
8528 0 : ndr_print_struct(ndr, name, "samr_AddGroupMember");
8529 0 : if (r == NULL) { ndr_print_null(ndr); return; }
8530 0 : ndr->depth++;
8531 0 : if (flags & NDR_SET_VALUES) {
8532 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8533 : }
8534 0 : if (flags & NDR_IN) {
8535 0 : ndr_print_struct(ndr, "in", "samr_AddGroupMember");
8536 0 : ndr->depth++;
8537 0 : ndr_print_ptr(ndr, "group_handle", r->in.group_handle);
8538 0 : ndr->depth++;
8539 0 : ndr_print_policy_handle(ndr, "group_handle", r->in.group_handle);
8540 0 : ndr->depth--;
8541 0 : ndr_print_uint32(ndr, "rid", r->in.rid);
8542 0 : ndr_print_uint32(ndr, "flags", r->in.flags);
8543 0 : ndr->depth--;
8544 : }
8545 0 : if (flags & NDR_OUT) {
8546 0 : ndr_print_struct(ndr, "out", "samr_AddGroupMember");
8547 0 : ndr->depth++;
8548 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
8549 0 : ndr->depth--;
8550 : }
8551 0 : ndr->depth--;
8552 : }
8553 :
8554 1071 : static enum ndr_err_code ndr_push_samr_DeleteDomainGroup(struct ndr_push *ndr, int flags, const struct samr_DeleteDomainGroup *r)
8555 : {
8556 1071 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
8557 1071 : if (flags & NDR_IN) {
8558 535 : if (r->in.group_handle == NULL) {
8559 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8560 : }
8561 535 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
8562 : }
8563 1071 : if (flags & NDR_OUT) {
8564 536 : if (r->out.group_handle == NULL) {
8565 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8566 : }
8567 536 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.group_handle));
8568 536 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8569 : }
8570 1071 : return NDR_ERR_SUCCESS;
8571 : }
8572 :
8573 1070 : static enum ndr_err_code ndr_pull_samr_DeleteDomainGroup(struct ndr_pull *ndr, int flags, struct samr_DeleteDomainGroup *r)
8574 : {
8575 1070 : TALLOC_CTX *_mem_save_group_handle_0 = NULL;
8576 1070 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
8577 1070 : if (flags & NDR_IN) {
8578 535 : NDR_ZERO_STRUCT(r->out);
8579 :
8580 535 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8581 535 : NDR_PULL_ALLOC(ndr, r->in.group_handle);
8582 : }
8583 535 : _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8584 535 : NDR_PULL_SET_MEM_CTX(ndr, r->in.group_handle, LIBNDR_FLAG_REF_ALLOC);
8585 535 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
8586 535 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
8587 535 : NDR_PULL_ALLOC(ndr, r->out.group_handle);
8588 535 : *r->out.group_handle = *r->in.group_handle;
8589 : }
8590 1070 : if (flags & NDR_OUT) {
8591 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
8592 : if (r->in.group_handle == NULL) {
8593 : NDR_PULL_ALLOC(ndr, r->in.group_handle);
8594 : NDR_ZERO_STRUCTP(r->in.group_handle);
8595 : }
8596 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
8597 535 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8598 74 : NDR_PULL_ALLOC(ndr, r->out.group_handle);
8599 : }
8600 535 : _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8601 535 : NDR_PULL_SET_MEM_CTX(ndr, r->out.group_handle, LIBNDR_FLAG_REF_ALLOC);
8602 535 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.group_handle));
8603 535 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
8604 535 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8605 : }
8606 1070 : return NDR_ERR_SUCCESS;
8607 : }
8608 :
8609 6 : _PUBLIC_ void ndr_print_samr_DeleteDomainGroup(struct ndr_print *ndr, const char *name, int flags, const struct samr_DeleteDomainGroup *r)
8610 : {
8611 6 : ndr_print_struct(ndr, name, "samr_DeleteDomainGroup");
8612 6 : if (r == NULL) { ndr_print_null(ndr); return; }
8613 6 : ndr->depth++;
8614 6 : if (flags & NDR_SET_VALUES) {
8615 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8616 : }
8617 6 : if (flags & NDR_IN) {
8618 0 : ndr_print_struct(ndr, "in", "samr_DeleteDomainGroup");
8619 0 : ndr->depth++;
8620 0 : ndr_print_ptr(ndr, "group_handle", r->in.group_handle);
8621 0 : ndr->depth++;
8622 0 : ndr_print_policy_handle(ndr, "group_handle", r->in.group_handle);
8623 0 : ndr->depth--;
8624 0 : ndr->depth--;
8625 : }
8626 6 : if (flags & NDR_OUT) {
8627 6 : ndr_print_struct(ndr, "out", "samr_DeleteDomainGroup");
8628 6 : ndr->depth++;
8629 6 : ndr_print_ptr(ndr, "group_handle", r->out.group_handle);
8630 6 : ndr->depth++;
8631 6 : ndr_print_policy_handle(ndr, "group_handle", r->out.group_handle);
8632 6 : ndr->depth--;
8633 6 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
8634 6 : ndr->depth--;
8635 : }
8636 6 : ndr->depth--;
8637 : }
8638 :
8639 160 : static enum ndr_err_code ndr_push_samr_DeleteGroupMember(struct ndr_push *ndr, int flags, const struct samr_DeleteGroupMember *r)
8640 : {
8641 160 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
8642 160 : if (flags & NDR_IN) {
8643 80 : if (r->in.group_handle == NULL) {
8644 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8645 : }
8646 80 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
8647 80 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.rid));
8648 : }
8649 160 : if (flags & NDR_OUT) {
8650 80 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8651 : }
8652 160 : return NDR_ERR_SUCCESS;
8653 : }
8654 :
8655 160 : static enum ndr_err_code ndr_pull_samr_DeleteGroupMember(struct ndr_pull *ndr, int flags, struct samr_DeleteGroupMember *r)
8656 : {
8657 160 : TALLOC_CTX *_mem_save_group_handle_0 = NULL;
8658 160 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
8659 160 : if (flags & NDR_IN) {
8660 80 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8661 80 : NDR_PULL_ALLOC(ndr, r->in.group_handle);
8662 : }
8663 80 : _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8664 80 : NDR_PULL_SET_MEM_CTX(ndr, r->in.group_handle, LIBNDR_FLAG_REF_ALLOC);
8665 80 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
8666 80 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
8667 80 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.rid));
8668 : }
8669 160 : if (flags & NDR_OUT) {
8670 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
8671 : if (r->in.group_handle == NULL) {
8672 : NDR_PULL_ALLOC(ndr, r->in.group_handle);
8673 : NDR_ZERO_STRUCTP(r->in.group_handle);
8674 : }
8675 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
8676 80 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8677 : }
8678 160 : return NDR_ERR_SUCCESS;
8679 : }
8680 :
8681 0 : _PUBLIC_ void ndr_print_samr_DeleteGroupMember(struct ndr_print *ndr, const char *name, int flags, const struct samr_DeleteGroupMember *r)
8682 : {
8683 0 : ndr_print_struct(ndr, name, "samr_DeleteGroupMember");
8684 0 : if (r == NULL) { ndr_print_null(ndr); return; }
8685 0 : ndr->depth++;
8686 0 : if (flags & NDR_SET_VALUES) {
8687 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8688 : }
8689 0 : if (flags & NDR_IN) {
8690 0 : ndr_print_struct(ndr, "in", "samr_DeleteGroupMember");
8691 0 : ndr->depth++;
8692 0 : ndr_print_ptr(ndr, "group_handle", r->in.group_handle);
8693 0 : ndr->depth++;
8694 0 : ndr_print_policy_handle(ndr, "group_handle", r->in.group_handle);
8695 0 : ndr->depth--;
8696 0 : ndr_print_uint32(ndr, "rid", r->in.rid);
8697 0 : ndr->depth--;
8698 : }
8699 0 : if (flags & NDR_OUT) {
8700 0 : ndr_print_struct(ndr, "out", "samr_DeleteGroupMember");
8701 0 : ndr->depth++;
8702 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
8703 0 : ndr->depth--;
8704 : }
8705 0 : ndr->depth--;
8706 : }
8707 :
8708 1364 : static enum ndr_err_code ndr_push_samr_QueryGroupMember(struct ndr_push *ndr, int flags, const struct samr_QueryGroupMember *r)
8709 : {
8710 1364 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
8711 1364 : if (flags & NDR_IN) {
8712 828 : if (r->in.group_handle == NULL) {
8713 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8714 : }
8715 828 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
8716 : }
8717 1364 : if (flags & NDR_OUT) {
8718 536 : if (r->out.rids == NULL) {
8719 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8720 : }
8721 536 : NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.rids));
8722 536 : if (*r->out.rids) {
8723 536 : NDR_CHECK(ndr_push_samr_RidAttrArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.rids));
8724 : }
8725 536 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8726 : }
8727 1364 : return NDR_ERR_SUCCESS;
8728 : }
8729 :
8730 1352 : static enum ndr_err_code ndr_pull_samr_QueryGroupMember(struct ndr_pull *ndr, int flags, struct samr_QueryGroupMember *r)
8731 : {
8732 : uint32_t _ptr_rids;
8733 1352 : TALLOC_CTX *_mem_save_group_handle_0 = NULL;
8734 1352 : TALLOC_CTX *_mem_save_rids_0 = NULL;
8735 1352 : TALLOC_CTX *_mem_save_rids_1 = NULL;
8736 1352 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
8737 1352 : if (flags & NDR_IN) {
8738 524 : NDR_ZERO_STRUCT(r->out);
8739 :
8740 524 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8741 524 : NDR_PULL_ALLOC(ndr, r->in.group_handle);
8742 : }
8743 524 : _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8744 524 : NDR_PULL_SET_MEM_CTX(ndr, r->in.group_handle, LIBNDR_FLAG_REF_ALLOC);
8745 524 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
8746 524 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
8747 524 : NDR_PULL_ALLOC(ndr, r->out.rids);
8748 524 : NDR_ZERO_STRUCTP(r->out.rids);
8749 : }
8750 1352 : if (flags & NDR_OUT) {
8751 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
8752 : if (r->in.group_handle == NULL) {
8753 : NDR_PULL_ALLOC(ndr, r->in.group_handle);
8754 : NDR_ZERO_STRUCTP(r->in.group_handle);
8755 : }
8756 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
8757 828 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8758 91 : NDR_PULL_ALLOC(ndr, r->out.rids);
8759 : }
8760 828 : _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
8761 828 : NDR_PULL_SET_MEM_CTX(ndr, r->out.rids, LIBNDR_FLAG_REF_ALLOC);
8762 828 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rids));
8763 828 : if (_ptr_rids) {
8764 828 : NDR_PULL_ALLOC(ndr, *r->out.rids);
8765 : } else {
8766 0 : *r->out.rids = NULL;
8767 : }
8768 828 : if (*r->out.rids) {
8769 828 : _mem_save_rids_1 = NDR_PULL_GET_MEM_CTX(ndr);
8770 828 : NDR_PULL_SET_MEM_CTX(ndr, *r->out.rids, 0);
8771 828 : NDR_CHECK(ndr_pull_samr_RidAttrArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.rids));
8772 828 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_1, 0);
8773 : }
8774 828 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, LIBNDR_FLAG_REF_ALLOC);
8775 828 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8776 : }
8777 1352 : return NDR_ERR_SUCCESS;
8778 : }
8779 :
8780 24 : _PUBLIC_ void ndr_print_samr_QueryGroupMember(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryGroupMember *r)
8781 : {
8782 24 : ndr_print_struct(ndr, name, "samr_QueryGroupMember");
8783 24 : if (r == NULL) { ndr_print_null(ndr); return; }
8784 24 : ndr->depth++;
8785 24 : if (flags & NDR_SET_VALUES) {
8786 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8787 : }
8788 24 : if (flags & NDR_IN) {
8789 0 : ndr_print_struct(ndr, "in", "samr_QueryGroupMember");
8790 0 : ndr->depth++;
8791 0 : ndr_print_ptr(ndr, "group_handle", r->in.group_handle);
8792 0 : ndr->depth++;
8793 0 : ndr_print_policy_handle(ndr, "group_handle", r->in.group_handle);
8794 0 : ndr->depth--;
8795 0 : ndr->depth--;
8796 : }
8797 24 : if (flags & NDR_OUT) {
8798 24 : ndr_print_struct(ndr, "out", "samr_QueryGroupMember");
8799 24 : ndr->depth++;
8800 24 : ndr_print_ptr(ndr, "rids", r->out.rids);
8801 24 : ndr->depth++;
8802 24 : ndr_print_ptr(ndr, "rids", *r->out.rids);
8803 24 : ndr->depth++;
8804 24 : if (*r->out.rids) {
8805 24 : ndr_print_samr_RidAttrArray(ndr, "rids", *r->out.rids);
8806 : }
8807 24 : ndr->depth--;
8808 24 : ndr->depth--;
8809 24 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
8810 24 : ndr->depth--;
8811 : }
8812 24 : ndr->depth--;
8813 : }
8814 :
8815 0 : static enum ndr_err_code ndr_push_samr_SetMemberAttributesOfGroup(struct ndr_push *ndr, int flags, const struct samr_SetMemberAttributesOfGroup *r)
8816 : {
8817 0 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
8818 0 : if (flags & NDR_IN) {
8819 0 : if (r->in.group_handle == NULL) {
8820 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8821 : }
8822 0 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
8823 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown1));
8824 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown2));
8825 : }
8826 0 : if (flags & NDR_OUT) {
8827 0 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8828 : }
8829 0 : return NDR_ERR_SUCCESS;
8830 : }
8831 :
8832 0 : static enum ndr_err_code ndr_pull_samr_SetMemberAttributesOfGroup(struct ndr_pull *ndr, int flags, struct samr_SetMemberAttributesOfGroup *r)
8833 : {
8834 0 : TALLOC_CTX *_mem_save_group_handle_0 = NULL;
8835 0 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
8836 0 : if (flags & NDR_IN) {
8837 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8838 0 : NDR_PULL_ALLOC(ndr, r->in.group_handle);
8839 : }
8840 0 : _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8841 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.group_handle, LIBNDR_FLAG_REF_ALLOC);
8842 0 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
8843 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
8844 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown1));
8845 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown2));
8846 : }
8847 0 : if (flags & NDR_OUT) {
8848 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
8849 : if (r->in.group_handle == NULL) {
8850 : NDR_PULL_ALLOC(ndr, r->in.group_handle);
8851 : NDR_ZERO_STRUCTP(r->in.group_handle);
8852 : }
8853 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
8854 0 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8855 : }
8856 0 : return NDR_ERR_SUCCESS;
8857 : }
8858 :
8859 0 : _PUBLIC_ void ndr_print_samr_SetMemberAttributesOfGroup(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetMemberAttributesOfGroup *r)
8860 : {
8861 0 : ndr_print_struct(ndr, name, "samr_SetMemberAttributesOfGroup");
8862 0 : if (r == NULL) { ndr_print_null(ndr); return; }
8863 0 : ndr->depth++;
8864 0 : if (flags & NDR_SET_VALUES) {
8865 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8866 : }
8867 0 : if (flags & NDR_IN) {
8868 0 : ndr_print_struct(ndr, "in", "samr_SetMemberAttributesOfGroup");
8869 0 : ndr->depth++;
8870 0 : ndr_print_ptr(ndr, "group_handle", r->in.group_handle);
8871 0 : ndr->depth++;
8872 0 : ndr_print_policy_handle(ndr, "group_handle", r->in.group_handle);
8873 0 : ndr->depth--;
8874 0 : ndr_print_uint32(ndr, "unknown1", r->in.unknown1);
8875 0 : ndr_print_uint32(ndr, "unknown2", r->in.unknown2);
8876 0 : ndr->depth--;
8877 : }
8878 0 : if (flags & NDR_OUT) {
8879 0 : ndr_print_struct(ndr, "out", "samr_SetMemberAttributesOfGroup");
8880 0 : ndr->depth++;
8881 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
8882 0 : ndr->depth--;
8883 : }
8884 0 : ndr->depth--;
8885 : }
8886 :
8887 1806 : static enum ndr_err_code ndr_push_samr_OpenAlias(struct ndr_push *ndr, int flags, const struct samr_OpenAlias *r)
8888 : {
8889 1806 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
8890 1806 : if (flags & NDR_IN) {
8891 1365 : if (r->in.domain_handle == NULL) {
8892 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8893 : }
8894 1365 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
8895 1365 : NDR_CHECK(ndr_push_samr_AliasAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
8896 1365 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.rid));
8897 : }
8898 1806 : if (flags & NDR_OUT) {
8899 441 : if (r->out.alias_handle == NULL) {
8900 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8901 : }
8902 441 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.alias_handle));
8903 441 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8904 : }
8905 1806 : return NDR_ERR_SUCCESS;
8906 : }
8907 :
8908 1806 : static enum ndr_err_code ndr_pull_samr_OpenAlias(struct ndr_pull *ndr, int flags, struct samr_OpenAlias *r)
8909 : {
8910 1806 : TALLOC_CTX *_mem_save_domain_handle_0 = NULL;
8911 1806 : TALLOC_CTX *_mem_save_alias_handle_0 = NULL;
8912 1806 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
8913 1806 : if (flags & NDR_IN) {
8914 441 : NDR_ZERO_STRUCT(r->out);
8915 :
8916 441 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8917 441 : NDR_PULL_ALLOC(ndr, r->in.domain_handle);
8918 : }
8919 441 : _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8920 441 : NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
8921 441 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
8922 441 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
8923 441 : NDR_CHECK(ndr_pull_samr_AliasAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
8924 441 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.rid));
8925 441 : NDR_PULL_ALLOC(ndr, r->out.alias_handle);
8926 441 : NDR_ZERO_STRUCTP(r->out.alias_handle);
8927 : }
8928 1806 : if (flags & NDR_OUT) {
8929 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
8930 : if (r->in.domain_handle == NULL) {
8931 : NDR_PULL_ALLOC(ndr, r->in.domain_handle);
8932 : NDR_ZERO_STRUCTP(r->in.domain_handle);
8933 : }
8934 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
8935 1365 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8936 1224 : NDR_PULL_ALLOC(ndr, r->out.alias_handle);
8937 : }
8938 1365 : _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8939 1365 : NDR_PULL_SET_MEM_CTX(ndr, r->out.alias_handle, LIBNDR_FLAG_REF_ALLOC);
8940 1365 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.alias_handle));
8941 1365 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
8942 1365 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8943 : }
8944 1806 : return NDR_ERR_SUCCESS;
8945 : }
8946 :
8947 0 : _PUBLIC_ void ndr_print_samr_OpenAlias(struct ndr_print *ndr, const char *name, int flags, const struct samr_OpenAlias *r)
8948 : {
8949 0 : ndr_print_struct(ndr, name, "samr_OpenAlias");
8950 0 : if (r == NULL) { ndr_print_null(ndr); return; }
8951 0 : ndr->depth++;
8952 0 : if (flags & NDR_SET_VALUES) {
8953 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8954 : }
8955 0 : if (flags & NDR_IN) {
8956 0 : ndr_print_struct(ndr, "in", "samr_OpenAlias");
8957 0 : ndr->depth++;
8958 0 : ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
8959 0 : ndr->depth++;
8960 0 : ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
8961 0 : ndr->depth--;
8962 0 : ndr_print_samr_AliasAccessMask(ndr, "access_mask", r->in.access_mask);
8963 0 : ndr_print_uint32(ndr, "rid", r->in.rid);
8964 0 : ndr->depth--;
8965 : }
8966 0 : if (flags & NDR_OUT) {
8967 0 : ndr_print_struct(ndr, "out", "samr_OpenAlias");
8968 0 : ndr->depth++;
8969 0 : ndr_print_ptr(ndr, "alias_handle", r->out.alias_handle);
8970 0 : ndr->depth++;
8971 0 : ndr_print_policy_handle(ndr, "alias_handle", r->out.alias_handle);
8972 0 : ndr->depth--;
8973 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
8974 0 : ndr->depth--;
8975 : }
8976 0 : ndr->depth--;
8977 : }
8978 :
8979 898 : static enum ndr_err_code ndr_push_samr_QueryAliasInfo(struct ndr_push *ndr, int flags, const struct samr_QueryAliasInfo *r)
8980 : {
8981 898 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
8982 898 : if (flags & NDR_IN) {
8983 458 : if (r->in.alias_handle == NULL) {
8984 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8985 : }
8986 458 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
8987 458 : NDR_CHECK(ndr_push_samr_AliasInfoEnum(ndr, NDR_SCALARS, r->in.level));
8988 : }
8989 898 : if (flags & NDR_OUT) {
8990 440 : if (r->out.info == NULL) {
8991 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8992 : }
8993 440 : NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
8994 440 : if (*r->out.info) {
8995 440 : NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.info, r->in.level));
8996 440 : NDR_CHECK(ndr_push_samr_AliasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
8997 : }
8998 440 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8999 : }
9000 898 : return NDR_ERR_SUCCESS;
9001 : }
9002 :
9003 898 : static enum ndr_err_code ndr_pull_samr_QueryAliasInfo(struct ndr_pull *ndr, int flags, struct samr_QueryAliasInfo *r)
9004 : {
9005 : uint32_t _ptr_info;
9006 898 : TALLOC_CTX *_mem_save_alias_handle_0 = NULL;
9007 898 : TALLOC_CTX *_mem_save_info_0 = NULL;
9008 898 : TALLOC_CTX *_mem_save_info_1 = NULL;
9009 898 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
9010 898 : if (flags & NDR_IN) {
9011 440 : NDR_ZERO_STRUCT(r->out);
9012 :
9013 440 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9014 440 : NDR_PULL_ALLOC(ndr, r->in.alias_handle);
9015 : }
9016 440 : _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9017 440 : NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_handle, LIBNDR_FLAG_REF_ALLOC);
9018 440 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
9019 440 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
9020 440 : NDR_CHECK(ndr_pull_samr_AliasInfoEnum(ndr, NDR_SCALARS, &r->in.level));
9021 440 : NDR_PULL_ALLOC(ndr, r->out.info);
9022 440 : NDR_ZERO_STRUCTP(r->out.info);
9023 : }
9024 898 : if (flags & NDR_OUT) {
9025 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
9026 : if (r->in.alias_handle == NULL) {
9027 : NDR_PULL_ALLOC(ndr, r->in.alias_handle);
9028 : NDR_ZERO_STRUCTP(r->in.alias_handle);
9029 : }
9030 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
9031 458 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9032 0 : NDR_PULL_ALLOC(ndr, r->out.info);
9033 : }
9034 458 : _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
9035 458 : NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
9036 458 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
9037 458 : if (_ptr_info) {
9038 458 : NDR_PULL_ALLOC(ndr, *r->out.info);
9039 : } else {
9040 0 : *r->out.info = NULL;
9041 : }
9042 458 : if (*r->out.info) {
9043 458 : _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
9044 458 : NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
9045 458 : NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.info, r->in.level));
9046 458 : NDR_CHECK(ndr_pull_samr_AliasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
9047 458 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
9048 : }
9049 458 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
9050 458 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9051 : }
9052 898 : return NDR_ERR_SUCCESS;
9053 : }
9054 :
9055 0 : _PUBLIC_ void ndr_print_samr_QueryAliasInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryAliasInfo *r)
9056 : {
9057 0 : ndr_print_struct(ndr, name, "samr_QueryAliasInfo");
9058 0 : if (r == NULL) { ndr_print_null(ndr); return; }
9059 0 : ndr->depth++;
9060 0 : if (flags & NDR_SET_VALUES) {
9061 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9062 : }
9063 0 : if (flags & NDR_IN) {
9064 0 : ndr_print_struct(ndr, "in", "samr_QueryAliasInfo");
9065 0 : ndr->depth++;
9066 0 : ndr_print_ptr(ndr, "alias_handle", r->in.alias_handle);
9067 0 : ndr->depth++;
9068 0 : ndr_print_policy_handle(ndr, "alias_handle", r->in.alias_handle);
9069 0 : ndr->depth--;
9070 0 : ndr_print_samr_AliasInfoEnum(ndr, "level", r->in.level);
9071 0 : ndr->depth--;
9072 : }
9073 0 : if (flags & NDR_OUT) {
9074 0 : ndr_print_struct(ndr, "out", "samr_QueryAliasInfo");
9075 0 : ndr->depth++;
9076 0 : ndr_print_ptr(ndr, "info", r->out.info);
9077 0 : ndr->depth++;
9078 0 : ndr_print_ptr(ndr, "info", *r->out.info);
9079 0 : ndr->depth++;
9080 0 : if (*r->out.info) {
9081 0 : ndr_print_set_switch_value(ndr, *r->out.info, r->in.level);
9082 0 : ndr_print_samr_AliasInfo(ndr, "info", *r->out.info);
9083 : }
9084 0 : ndr->depth--;
9085 0 : ndr->depth--;
9086 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
9087 0 : ndr->depth--;
9088 : }
9089 0 : ndr->depth--;
9090 : }
9091 :
9092 28 : static enum ndr_err_code ndr_push_samr_SetAliasInfo(struct ndr_push *ndr, int flags, const struct samr_SetAliasInfo *r)
9093 : {
9094 28 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
9095 28 : if (flags & NDR_IN) {
9096 14 : if (r->in.alias_handle == NULL) {
9097 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9098 : }
9099 14 : if (r->in.info == NULL) {
9100 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9101 : }
9102 14 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
9103 14 : NDR_CHECK(ndr_push_samr_AliasInfoEnum(ndr, NDR_SCALARS, r->in.level));
9104 14 : NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info, r->in.level));
9105 14 : NDR_CHECK(ndr_push_samr_AliasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
9106 : }
9107 28 : if (flags & NDR_OUT) {
9108 14 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9109 : }
9110 28 : return NDR_ERR_SUCCESS;
9111 : }
9112 :
9113 28 : static enum ndr_err_code ndr_pull_samr_SetAliasInfo(struct ndr_pull *ndr, int flags, struct samr_SetAliasInfo *r)
9114 : {
9115 28 : TALLOC_CTX *_mem_save_alias_handle_0 = NULL;
9116 28 : TALLOC_CTX *_mem_save_info_0 = NULL;
9117 28 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
9118 28 : if (flags & NDR_IN) {
9119 14 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9120 14 : NDR_PULL_ALLOC(ndr, r->in.alias_handle);
9121 : }
9122 14 : _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9123 14 : NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_handle, LIBNDR_FLAG_REF_ALLOC);
9124 14 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
9125 14 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
9126 14 : NDR_CHECK(ndr_pull_samr_AliasInfoEnum(ndr, NDR_SCALARS, &r->in.level));
9127 14 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9128 14 : NDR_PULL_ALLOC(ndr, r->in.info);
9129 : }
9130 14 : _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
9131 14 : NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC);
9132 14 : NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info, r->in.level));
9133 14 : NDR_CHECK(ndr_pull_samr_AliasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
9134 14 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
9135 : }
9136 28 : if (flags & NDR_OUT) {
9137 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
9138 : if (r->in.alias_handle == NULL) {
9139 : NDR_PULL_ALLOC(ndr, r->in.alias_handle);
9140 : NDR_ZERO_STRUCTP(r->in.alias_handle);
9141 : }
9142 : if (r->in.info == NULL) {
9143 : NDR_PULL_ALLOC(ndr, r->in.info);
9144 : NDR_ZERO_STRUCTP(r->in.info);
9145 : }
9146 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
9147 14 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9148 : }
9149 28 : return NDR_ERR_SUCCESS;
9150 : }
9151 :
9152 0 : _PUBLIC_ void ndr_print_samr_SetAliasInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetAliasInfo *r)
9153 : {
9154 0 : ndr_print_struct(ndr, name, "samr_SetAliasInfo");
9155 0 : if (r == NULL) { ndr_print_null(ndr); return; }
9156 0 : ndr->depth++;
9157 0 : if (flags & NDR_SET_VALUES) {
9158 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9159 : }
9160 0 : if (flags & NDR_IN) {
9161 0 : ndr_print_struct(ndr, "in", "samr_SetAliasInfo");
9162 0 : ndr->depth++;
9163 0 : ndr_print_ptr(ndr, "alias_handle", r->in.alias_handle);
9164 0 : ndr->depth++;
9165 0 : ndr_print_policy_handle(ndr, "alias_handle", r->in.alias_handle);
9166 0 : ndr->depth--;
9167 0 : ndr_print_samr_AliasInfoEnum(ndr, "level", r->in.level);
9168 0 : ndr_print_ptr(ndr, "info", r->in.info);
9169 0 : ndr->depth++;
9170 0 : ndr_print_set_switch_value(ndr, r->in.info, r->in.level);
9171 0 : ndr_print_samr_AliasInfo(ndr, "info", r->in.info);
9172 0 : ndr->depth--;
9173 0 : ndr->depth--;
9174 : }
9175 0 : if (flags & NDR_OUT) {
9176 0 : ndr_print_struct(ndr, "out", "samr_SetAliasInfo");
9177 0 : ndr->depth++;
9178 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
9179 0 : ndr->depth--;
9180 : }
9181 0 : ndr->depth--;
9182 : }
9183 :
9184 914 : static enum ndr_err_code ndr_push_samr_DeleteDomAlias(struct ndr_push *ndr, int flags, const struct samr_DeleteDomAlias *r)
9185 : {
9186 914 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
9187 914 : if (flags & NDR_IN) {
9188 457 : if (r->in.alias_handle == NULL) {
9189 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9190 : }
9191 457 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
9192 : }
9193 914 : if (flags & NDR_OUT) {
9194 457 : if (r->out.alias_handle == NULL) {
9195 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9196 : }
9197 457 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.alias_handle));
9198 457 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9199 : }
9200 914 : return NDR_ERR_SUCCESS;
9201 : }
9202 :
9203 914 : static enum ndr_err_code ndr_pull_samr_DeleteDomAlias(struct ndr_pull *ndr, int flags, struct samr_DeleteDomAlias *r)
9204 : {
9205 914 : TALLOC_CTX *_mem_save_alias_handle_0 = NULL;
9206 914 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
9207 914 : if (flags & NDR_IN) {
9208 457 : NDR_ZERO_STRUCT(r->out);
9209 :
9210 457 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9211 457 : NDR_PULL_ALLOC(ndr, r->in.alias_handle);
9212 : }
9213 457 : _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9214 457 : NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_handle, LIBNDR_FLAG_REF_ALLOC);
9215 457 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
9216 457 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
9217 457 : NDR_PULL_ALLOC(ndr, r->out.alias_handle);
9218 457 : *r->out.alias_handle = *r->in.alias_handle;
9219 : }
9220 914 : if (flags & NDR_OUT) {
9221 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
9222 : if (r->in.alias_handle == NULL) {
9223 : NDR_PULL_ALLOC(ndr, r->in.alias_handle);
9224 : NDR_ZERO_STRUCTP(r->in.alias_handle);
9225 : }
9226 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
9227 457 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9228 0 : NDR_PULL_ALLOC(ndr, r->out.alias_handle);
9229 : }
9230 457 : _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9231 457 : NDR_PULL_SET_MEM_CTX(ndr, r->out.alias_handle, LIBNDR_FLAG_REF_ALLOC);
9232 457 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.alias_handle));
9233 457 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
9234 457 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9235 : }
9236 914 : return NDR_ERR_SUCCESS;
9237 : }
9238 :
9239 0 : _PUBLIC_ void ndr_print_samr_DeleteDomAlias(struct ndr_print *ndr, const char *name, int flags, const struct samr_DeleteDomAlias *r)
9240 : {
9241 0 : ndr_print_struct(ndr, name, "samr_DeleteDomAlias");
9242 0 : if (r == NULL) { ndr_print_null(ndr); return; }
9243 0 : ndr->depth++;
9244 0 : if (flags & NDR_SET_VALUES) {
9245 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9246 : }
9247 0 : if (flags & NDR_IN) {
9248 0 : ndr_print_struct(ndr, "in", "samr_DeleteDomAlias");
9249 0 : ndr->depth++;
9250 0 : ndr_print_ptr(ndr, "alias_handle", r->in.alias_handle);
9251 0 : ndr->depth++;
9252 0 : ndr_print_policy_handle(ndr, "alias_handle", r->in.alias_handle);
9253 0 : ndr->depth--;
9254 0 : ndr->depth--;
9255 : }
9256 0 : if (flags & NDR_OUT) {
9257 0 : ndr_print_struct(ndr, "out", "samr_DeleteDomAlias");
9258 0 : ndr->depth++;
9259 0 : ndr_print_ptr(ndr, "alias_handle", r->out.alias_handle);
9260 0 : ndr->depth++;
9261 0 : ndr_print_policy_handle(ndr, "alias_handle", r->out.alias_handle);
9262 0 : ndr->depth--;
9263 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
9264 0 : ndr->depth--;
9265 : }
9266 0 : ndr->depth--;
9267 : }
9268 :
9269 14 : static enum ndr_err_code ndr_push_samr_AddAliasMember(struct ndr_push *ndr, int flags, const struct samr_AddAliasMember *r)
9270 : {
9271 14 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
9272 14 : if (flags & NDR_IN) {
9273 7 : if (r->in.alias_handle == NULL) {
9274 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9275 : }
9276 7 : if (r->in.sid == NULL) {
9277 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9278 : }
9279 7 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
9280 7 : NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
9281 : }
9282 14 : if (flags & NDR_OUT) {
9283 7 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9284 : }
9285 14 : return NDR_ERR_SUCCESS;
9286 : }
9287 :
9288 14 : static enum ndr_err_code ndr_pull_samr_AddAliasMember(struct ndr_pull *ndr, int flags, struct samr_AddAliasMember *r)
9289 : {
9290 14 : TALLOC_CTX *_mem_save_alias_handle_0 = NULL;
9291 14 : TALLOC_CTX *_mem_save_sid_0 = NULL;
9292 14 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
9293 14 : if (flags & NDR_IN) {
9294 7 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9295 7 : NDR_PULL_ALLOC(ndr, r->in.alias_handle);
9296 : }
9297 7 : _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9298 7 : NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_handle, LIBNDR_FLAG_REF_ALLOC);
9299 7 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
9300 7 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
9301 7 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9302 7 : NDR_PULL_ALLOC(ndr, r->in.sid);
9303 : }
9304 7 : _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
9305 7 : NDR_PULL_SET_MEM_CTX(ndr, r->in.sid, LIBNDR_FLAG_REF_ALLOC);
9306 7 : NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
9307 7 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC);
9308 : }
9309 14 : if (flags & NDR_OUT) {
9310 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
9311 : if (r->in.alias_handle == NULL) {
9312 : NDR_PULL_ALLOC(ndr, r->in.alias_handle);
9313 : NDR_ZERO_STRUCTP(r->in.alias_handle);
9314 : }
9315 : if (r->in.sid == NULL) {
9316 : NDR_PULL_ALLOC(ndr, r->in.sid);
9317 : NDR_ZERO_STRUCTP(r->in.sid);
9318 : }
9319 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
9320 7 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9321 : }
9322 14 : return NDR_ERR_SUCCESS;
9323 : }
9324 :
9325 0 : _PUBLIC_ void ndr_print_samr_AddAliasMember(struct ndr_print *ndr, const char *name, int flags, const struct samr_AddAliasMember *r)
9326 : {
9327 0 : ndr_print_struct(ndr, name, "samr_AddAliasMember");
9328 0 : if (r == NULL) { ndr_print_null(ndr); return; }
9329 0 : ndr->depth++;
9330 0 : if (flags & NDR_SET_VALUES) {
9331 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9332 : }
9333 0 : if (flags & NDR_IN) {
9334 0 : ndr_print_struct(ndr, "in", "samr_AddAliasMember");
9335 0 : ndr->depth++;
9336 0 : ndr_print_ptr(ndr, "alias_handle", r->in.alias_handle);
9337 0 : ndr->depth++;
9338 0 : ndr_print_policy_handle(ndr, "alias_handle", r->in.alias_handle);
9339 0 : ndr->depth--;
9340 0 : ndr_print_ptr(ndr, "sid", r->in.sid);
9341 0 : ndr->depth++;
9342 0 : ndr_print_dom_sid2(ndr, "sid", r->in.sid);
9343 0 : ndr->depth--;
9344 0 : ndr->depth--;
9345 : }
9346 0 : if (flags & NDR_OUT) {
9347 0 : ndr_print_struct(ndr, "out", "samr_AddAliasMember");
9348 0 : ndr->depth++;
9349 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
9350 0 : ndr->depth--;
9351 : }
9352 0 : ndr->depth--;
9353 : }
9354 :
9355 14 : static enum ndr_err_code ndr_push_samr_DeleteAliasMember(struct ndr_push *ndr, int flags, const struct samr_DeleteAliasMember *r)
9356 : {
9357 14 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
9358 14 : if (flags & NDR_IN) {
9359 7 : if (r->in.alias_handle == NULL) {
9360 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9361 : }
9362 7 : if (r->in.sid == NULL) {
9363 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9364 : }
9365 7 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
9366 7 : NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
9367 : }
9368 14 : if (flags & NDR_OUT) {
9369 7 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9370 : }
9371 14 : return NDR_ERR_SUCCESS;
9372 : }
9373 :
9374 14 : static enum ndr_err_code ndr_pull_samr_DeleteAliasMember(struct ndr_pull *ndr, int flags, struct samr_DeleteAliasMember *r)
9375 : {
9376 14 : TALLOC_CTX *_mem_save_alias_handle_0 = NULL;
9377 14 : TALLOC_CTX *_mem_save_sid_0 = NULL;
9378 14 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
9379 14 : if (flags & NDR_IN) {
9380 7 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9381 7 : NDR_PULL_ALLOC(ndr, r->in.alias_handle);
9382 : }
9383 7 : _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9384 7 : NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_handle, LIBNDR_FLAG_REF_ALLOC);
9385 7 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
9386 7 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
9387 7 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9388 7 : NDR_PULL_ALLOC(ndr, r->in.sid);
9389 : }
9390 7 : _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
9391 7 : NDR_PULL_SET_MEM_CTX(ndr, r->in.sid, LIBNDR_FLAG_REF_ALLOC);
9392 7 : NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
9393 7 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC);
9394 : }
9395 14 : if (flags & NDR_OUT) {
9396 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
9397 : if (r->in.alias_handle == NULL) {
9398 : NDR_PULL_ALLOC(ndr, r->in.alias_handle);
9399 : NDR_ZERO_STRUCTP(r->in.alias_handle);
9400 : }
9401 : if (r->in.sid == NULL) {
9402 : NDR_PULL_ALLOC(ndr, r->in.sid);
9403 : NDR_ZERO_STRUCTP(r->in.sid);
9404 : }
9405 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
9406 7 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9407 : }
9408 14 : return NDR_ERR_SUCCESS;
9409 : }
9410 :
9411 0 : _PUBLIC_ void ndr_print_samr_DeleteAliasMember(struct ndr_print *ndr, const char *name, int flags, const struct samr_DeleteAliasMember *r)
9412 : {
9413 0 : ndr_print_struct(ndr, name, "samr_DeleteAliasMember");
9414 0 : if (r == NULL) { ndr_print_null(ndr); return; }
9415 0 : ndr->depth++;
9416 0 : if (flags & NDR_SET_VALUES) {
9417 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9418 : }
9419 0 : if (flags & NDR_IN) {
9420 0 : ndr_print_struct(ndr, "in", "samr_DeleteAliasMember");
9421 0 : ndr->depth++;
9422 0 : ndr_print_ptr(ndr, "alias_handle", r->in.alias_handle);
9423 0 : ndr->depth++;
9424 0 : ndr_print_policy_handle(ndr, "alias_handle", r->in.alias_handle);
9425 0 : ndr->depth--;
9426 0 : ndr_print_ptr(ndr, "sid", r->in.sid);
9427 0 : ndr->depth++;
9428 0 : ndr_print_dom_sid2(ndr, "sid", r->in.sid);
9429 0 : ndr->depth--;
9430 0 : ndr->depth--;
9431 : }
9432 0 : if (flags & NDR_OUT) {
9433 0 : ndr_print_struct(ndr, "out", "samr_DeleteAliasMember");
9434 0 : ndr->depth++;
9435 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
9436 0 : ndr->depth--;
9437 : }
9438 0 : ndr->depth--;
9439 : }
9440 :
9441 1806 : static enum ndr_err_code ndr_push_samr_GetMembersInAlias(struct ndr_push *ndr, int flags, const struct samr_GetMembersInAlias *r)
9442 : {
9443 1806 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
9444 1806 : if (flags & NDR_IN) {
9445 1365 : if (r->in.alias_handle == NULL) {
9446 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9447 : }
9448 1365 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
9449 : }
9450 1806 : if (flags & NDR_OUT) {
9451 441 : if (r->out.sids == NULL) {
9452 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9453 : }
9454 441 : NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.sids));
9455 441 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9456 : }
9457 1806 : return NDR_ERR_SUCCESS;
9458 : }
9459 :
9460 1806 : static enum ndr_err_code ndr_pull_samr_GetMembersInAlias(struct ndr_pull *ndr, int flags, struct samr_GetMembersInAlias *r)
9461 : {
9462 1806 : TALLOC_CTX *_mem_save_alias_handle_0 = NULL;
9463 1806 : TALLOC_CTX *_mem_save_sids_0 = NULL;
9464 1806 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
9465 1806 : if (flags & NDR_IN) {
9466 441 : NDR_ZERO_STRUCT(r->out);
9467 :
9468 441 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9469 441 : NDR_PULL_ALLOC(ndr, r->in.alias_handle);
9470 : }
9471 441 : _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9472 441 : NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_handle, LIBNDR_FLAG_REF_ALLOC);
9473 441 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
9474 441 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
9475 441 : NDR_PULL_ALLOC(ndr, r->out.sids);
9476 441 : NDR_ZERO_STRUCTP(r->out.sids);
9477 : }
9478 1806 : if (flags & NDR_OUT) {
9479 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
9480 : if (r->in.alias_handle == NULL) {
9481 : NDR_PULL_ALLOC(ndr, r->in.alias_handle);
9482 : NDR_ZERO_STRUCTP(r->in.alias_handle);
9483 : }
9484 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
9485 1365 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9486 1224 : NDR_PULL_ALLOC(ndr, r->out.sids);
9487 : }
9488 1365 : _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
9489 1365 : NDR_PULL_SET_MEM_CTX(ndr, r->out.sids, LIBNDR_FLAG_REF_ALLOC);
9490 1365 : NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.sids));
9491 1365 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC);
9492 1365 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9493 : }
9494 1806 : return NDR_ERR_SUCCESS;
9495 : }
9496 :
9497 0 : _PUBLIC_ void ndr_print_samr_GetMembersInAlias(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetMembersInAlias *r)
9498 : {
9499 0 : ndr_print_struct(ndr, name, "samr_GetMembersInAlias");
9500 0 : if (r == NULL) { ndr_print_null(ndr); return; }
9501 0 : ndr->depth++;
9502 0 : if (flags & NDR_SET_VALUES) {
9503 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9504 : }
9505 0 : if (flags & NDR_IN) {
9506 0 : ndr_print_struct(ndr, "in", "samr_GetMembersInAlias");
9507 0 : ndr->depth++;
9508 0 : ndr_print_ptr(ndr, "alias_handle", r->in.alias_handle);
9509 0 : ndr->depth++;
9510 0 : ndr_print_policy_handle(ndr, "alias_handle", r->in.alias_handle);
9511 0 : ndr->depth--;
9512 0 : ndr->depth--;
9513 : }
9514 0 : if (flags & NDR_OUT) {
9515 0 : ndr_print_struct(ndr, "out", "samr_GetMembersInAlias");
9516 0 : ndr->depth++;
9517 0 : ndr_print_ptr(ndr, "sids", r->out.sids);
9518 0 : ndr->depth++;
9519 0 : ndr_print_lsa_SidArray(ndr, "sids", r->out.sids);
9520 0 : ndr->depth--;
9521 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
9522 0 : ndr->depth--;
9523 : }
9524 0 : ndr->depth--;
9525 : }
9526 :
9527 5006 : _PUBLIC_ enum ndr_err_code ndr_push_samr_OpenUser(struct ndr_push *ndr, int flags, const struct samr_OpenUser *r)
9528 : {
9529 5006 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
9530 5006 : if (flags & NDR_IN) {
9531 2459 : if (r->in.domain_handle == NULL) {
9532 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9533 : }
9534 2459 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
9535 2459 : NDR_CHECK(ndr_push_samr_UserAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
9536 2459 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.rid));
9537 : }
9538 5006 : if (flags & NDR_OUT) {
9539 2547 : if (r->out.user_handle == NULL) {
9540 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9541 : }
9542 2547 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.user_handle));
9543 2547 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9544 : }
9545 5006 : return NDR_ERR_SUCCESS;
9546 : }
9547 :
9548 4910 : _PUBLIC_ enum ndr_err_code ndr_pull_samr_OpenUser(struct ndr_pull *ndr, int flags, struct samr_OpenUser *r)
9549 : {
9550 4910 : TALLOC_CTX *_mem_save_domain_handle_0 = NULL;
9551 4910 : TALLOC_CTX *_mem_save_user_handle_0 = NULL;
9552 4910 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
9553 4910 : if (flags & NDR_IN) {
9554 2457 : NDR_ZERO_STRUCT(r->out);
9555 :
9556 2457 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9557 2457 : NDR_PULL_ALLOC(ndr, r->in.domain_handle);
9558 : }
9559 2457 : _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9560 2457 : NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
9561 2457 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
9562 2457 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
9563 2459 : NDR_CHECK(ndr_pull_samr_UserAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
9564 2457 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.rid));
9565 2457 : NDR_PULL_ALLOC(ndr, r->out.user_handle);
9566 2457 : NDR_ZERO_STRUCTP(r->out.user_handle);
9567 : }
9568 4910 : if (flags & NDR_OUT) {
9569 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
9570 : if (r->in.domain_handle == NULL) {
9571 : NDR_PULL_ALLOC(ndr, r->in.domain_handle);
9572 : NDR_ZERO_STRUCTP(r->in.domain_handle);
9573 : }
9574 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
9575 2453 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9576 1054 : NDR_PULL_ALLOC(ndr, r->out.user_handle);
9577 : }
9578 2453 : _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9579 2453 : NDR_PULL_SET_MEM_CTX(ndr, r->out.user_handle, LIBNDR_FLAG_REF_ALLOC);
9580 2453 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.user_handle));
9581 2453 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
9582 2453 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9583 : }
9584 4906 : return NDR_ERR_SUCCESS;
9585 : }
9586 :
9587 204 : _PUBLIC_ void ndr_print_samr_OpenUser(struct ndr_print *ndr, const char *name, int flags, const struct samr_OpenUser *r)
9588 : {
9589 204 : ndr_print_struct(ndr, name, "samr_OpenUser");
9590 204 : if (r == NULL) { ndr_print_null(ndr); return; }
9591 204 : ndr->depth++;
9592 204 : if (flags & NDR_SET_VALUES) {
9593 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9594 : }
9595 204 : if (flags & NDR_IN) {
9596 2 : ndr_print_struct(ndr, "in", "samr_OpenUser");
9597 2 : ndr->depth++;
9598 2 : ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
9599 2 : ndr->depth++;
9600 2 : ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
9601 2 : ndr->depth--;
9602 2 : ndr_print_samr_UserAccessMask(ndr, "access_mask", r->in.access_mask);
9603 2 : ndr_print_uint32(ndr, "rid", r->in.rid);
9604 2 : ndr->depth--;
9605 : }
9606 204 : if (flags & NDR_OUT) {
9607 202 : ndr_print_struct(ndr, "out", "samr_OpenUser");
9608 202 : ndr->depth++;
9609 202 : ndr_print_ptr(ndr, "user_handle", r->out.user_handle);
9610 202 : ndr->depth++;
9611 202 : ndr_print_policy_handle(ndr, "user_handle", r->out.user_handle);
9612 202 : ndr->depth--;
9613 202 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
9614 202 : ndr->depth--;
9615 : }
9616 204 : ndr->depth--;
9617 : }
9618 :
9619 2625 : static enum ndr_err_code ndr_push_samr_DeleteUser(struct ndr_push *ndr, int flags, const struct samr_DeleteUser *r)
9620 : {
9621 2625 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
9622 2625 : if (flags & NDR_IN) {
9623 1266 : if (r->in.user_handle == NULL) {
9624 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9625 : }
9626 1266 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
9627 : }
9628 2625 : if (flags & NDR_OUT) {
9629 1359 : if (r->out.user_handle == NULL) {
9630 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9631 : }
9632 1359 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.user_handle));
9633 1359 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9634 : }
9635 2427 : return NDR_ERR_SUCCESS;
9636 : }
9637 :
9638 2531 : static enum ndr_err_code ndr_pull_samr_DeleteUser(struct ndr_pull *ndr, int flags, struct samr_DeleteUser *r)
9639 : {
9640 2531 : TALLOC_CTX *_mem_save_user_handle_0 = NULL;
9641 2531 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
9642 2531 : if (flags & NDR_IN) {
9643 1265 : NDR_ZERO_STRUCT(r->out);
9644 :
9645 1265 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9646 1265 : NDR_PULL_ALLOC(ndr, r->in.user_handle);
9647 : }
9648 1265 : _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9649 1265 : NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC);
9650 1265 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
9651 1265 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
9652 1265 : NDR_PULL_ALLOC(ndr, r->out.user_handle);
9653 1265 : *r->out.user_handle = *r->in.user_handle;
9654 : }
9655 2531 : if (flags & NDR_OUT) {
9656 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
9657 : if (r->in.user_handle == NULL) {
9658 : NDR_PULL_ALLOC(ndr, r->in.user_handle);
9659 : NDR_ZERO_STRUCTP(r->in.user_handle);
9660 : }
9661 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
9662 1266 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9663 140 : NDR_PULL_ALLOC(ndr, r->out.user_handle);
9664 : }
9665 1266 : _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9666 1266 : NDR_PULL_SET_MEM_CTX(ndr, r->out.user_handle, LIBNDR_FLAG_REF_ALLOC);
9667 1266 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.user_handle));
9668 1266 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
9669 1266 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9670 : }
9671 2351 : return NDR_ERR_SUCCESS;
9672 : }
9673 :
9674 268 : _PUBLIC_ void ndr_print_samr_DeleteUser(struct ndr_print *ndr, const char *name, int flags, const struct samr_DeleteUser *r)
9675 : {
9676 268 : ndr_print_struct(ndr, name, "samr_DeleteUser");
9677 268 : if (r == NULL) { ndr_print_null(ndr); return; }
9678 268 : ndr->depth++;
9679 268 : if (flags & NDR_SET_VALUES) {
9680 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9681 : }
9682 268 : if (flags & NDR_IN) {
9683 0 : ndr_print_struct(ndr, "in", "samr_DeleteUser");
9684 0 : ndr->depth++;
9685 0 : ndr_print_ptr(ndr, "user_handle", r->in.user_handle);
9686 0 : ndr->depth++;
9687 0 : ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle);
9688 0 : ndr->depth--;
9689 0 : ndr->depth--;
9690 : }
9691 268 : if (flags & NDR_OUT) {
9692 268 : ndr_print_struct(ndr, "out", "samr_DeleteUser");
9693 268 : ndr->depth++;
9694 268 : ndr_print_ptr(ndr, "user_handle", r->out.user_handle);
9695 268 : ndr->depth++;
9696 268 : ndr_print_policy_handle(ndr, "user_handle", r->out.user_handle);
9697 268 : ndr->depth--;
9698 268 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
9699 268 : ndr->depth--;
9700 : }
9701 268 : ndr->depth--;
9702 : }
9703 :
9704 24520 : _PUBLIC_ enum ndr_err_code ndr_push_samr_QueryUserInfo(struct ndr_push *ndr, int flags, const struct samr_QueryUserInfo *r)
9705 : {
9706 24520 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
9707 24520 : if (flags & NDR_IN) {
9708 12480 : if (r->in.user_handle == NULL) {
9709 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9710 : }
9711 12480 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
9712 12570 : NDR_CHECK(ndr_push_samr_UserInfoLevel(ndr, NDR_SCALARS, r->in.level));
9713 : }
9714 24520 : if (flags & NDR_OUT) {
9715 12040 : if (r->out.info == NULL) {
9716 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9717 : }
9718 12040 : NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
9719 12040 : if (*r->out.info) {
9720 12040 : NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.info, r->in.level));
9721 12040 : NDR_CHECK(ndr_push_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
9722 : }
9723 12040 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9724 : }
9725 24322 : return NDR_ERR_SUCCESS;
9726 : }
9727 :
9728 24312 : _PUBLIC_ enum ndr_err_code ndr_pull_samr_QueryUserInfo(struct ndr_pull *ndr, int flags, struct samr_QueryUserInfo *r)
9729 : {
9730 : uint32_t _ptr_info;
9731 24312 : TALLOC_CTX *_mem_save_user_handle_0 = NULL;
9732 24312 : TALLOC_CTX *_mem_save_info_0 = NULL;
9733 24312 : TALLOC_CTX *_mem_save_info_1 = NULL;
9734 24312 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
9735 24312 : if (flags & NDR_IN) {
9736 11830 : NDR_ZERO_STRUCT(r->out);
9737 :
9738 11830 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9739 11830 : NDR_PULL_ALLOC(ndr, r->in.user_handle);
9740 : }
9741 11830 : _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9742 11830 : NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC);
9743 11830 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
9744 11830 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
9745 11924 : NDR_CHECK(ndr_pull_samr_UserInfoLevel(ndr, NDR_SCALARS, &r->in.level));
9746 11830 : NDR_PULL_ALLOC(ndr, r->out.info);
9747 11830 : NDR_ZERO_STRUCTP(r->out.info);
9748 : }
9749 24312 : if (flags & NDR_OUT) {
9750 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
9751 : if (r->in.user_handle == NULL) {
9752 : NDR_PULL_ALLOC(ndr, r->in.user_handle);
9753 : NDR_ZERO_STRUCTP(r->in.user_handle);
9754 : }
9755 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
9756 12482 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9757 2940 : NDR_PULL_ALLOC(ndr, r->out.info);
9758 : }
9759 12482 : _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
9760 12482 : NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
9761 12482 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
9762 12482 : if (_ptr_info) {
9763 12482 : NDR_PULL_ALLOC(ndr, *r->out.info);
9764 : } else {
9765 0 : *r->out.info = NULL;
9766 : }
9767 12482 : if (*r->out.info) {
9768 12482 : _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
9769 12482 : NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
9770 12482 : NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.info, r->in.level));
9771 12482 : NDR_CHECK(ndr_pull_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
9772 12482 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
9773 : }
9774 12482 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
9775 12482 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9776 : }
9777 24126 : return NDR_ERR_SUCCESS;
9778 : }
9779 :
9780 434 : _PUBLIC_ void ndr_print_samr_QueryUserInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryUserInfo *r)
9781 : {
9782 434 : ndr_print_struct(ndr, name, "samr_QueryUserInfo");
9783 434 : if (r == NULL) { ndr_print_null(ndr); return; }
9784 434 : ndr->depth++;
9785 434 : if (flags & NDR_SET_VALUES) {
9786 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9787 : }
9788 434 : if (flags & NDR_IN) {
9789 4 : ndr_print_struct(ndr, "in", "samr_QueryUserInfo");
9790 4 : ndr->depth++;
9791 4 : ndr_print_ptr(ndr, "user_handle", r->in.user_handle);
9792 4 : ndr->depth++;
9793 4 : ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle);
9794 4 : ndr->depth--;
9795 4 : ndr_print_samr_UserInfoLevel(ndr, "level", r->in.level);
9796 4 : ndr->depth--;
9797 : }
9798 434 : if (flags & NDR_OUT) {
9799 430 : ndr_print_struct(ndr, "out", "samr_QueryUserInfo");
9800 430 : ndr->depth++;
9801 430 : ndr_print_ptr(ndr, "info", r->out.info);
9802 430 : ndr->depth++;
9803 430 : ndr_print_ptr(ndr, "info", *r->out.info);
9804 430 : ndr->depth++;
9805 430 : if (*r->out.info) {
9806 430 : ndr_print_set_switch_value(ndr, *r->out.info, r->in.level);
9807 430 : ndr_print_samr_UserInfo(ndr, "info", *r->out.info);
9808 : }
9809 430 : ndr->depth--;
9810 430 : ndr->depth--;
9811 430 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
9812 430 : ndr->depth--;
9813 : }
9814 434 : ndr->depth--;
9815 : }
9816 :
9817 7124 : _PUBLIC_ enum ndr_err_code ndr_push_samr_SetUserInfo(struct ndr_push *ndr, int flags, const struct samr_SetUserInfo *r)
9818 : {
9819 7124 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
9820 7124 : if (flags & NDR_IN) {
9821 3470 : if (r->in.user_handle == NULL) {
9822 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9823 : }
9824 3470 : if (r->in.info == NULL) {
9825 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9826 : }
9827 3470 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
9828 3560 : NDR_CHECK(ndr_push_samr_UserInfoLevel(ndr, NDR_SCALARS, r->in.level));
9829 3470 : NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info, r->in.level));
9830 3470 : NDR_CHECK(ndr_push_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
9831 : }
9832 7124 : if (flags & NDR_OUT) {
9833 3654 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9834 : }
9835 6926 : return NDR_ERR_SUCCESS;
9836 : }
9837 :
9838 6944 : _PUBLIC_ enum ndr_err_code ndr_pull_samr_SetUserInfo(struct ndr_pull *ndr, int flags, struct samr_SetUserInfo *r)
9839 : {
9840 6944 : TALLOC_CTX *_mem_save_user_handle_0 = NULL;
9841 6944 : TALLOC_CTX *_mem_save_info_0 = NULL;
9842 6944 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
9843 6944 : if (flags & NDR_IN) {
9844 3472 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9845 3472 : NDR_PULL_ALLOC(ndr, r->in.user_handle);
9846 : }
9847 3472 : _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9848 3472 : NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC);
9849 3472 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
9850 3472 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
9851 3564 : NDR_CHECK(ndr_pull_samr_UserInfoLevel(ndr, NDR_SCALARS, &r->in.level));
9852 3472 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9853 3472 : NDR_PULL_ALLOC(ndr, r->in.info);
9854 : }
9855 3472 : _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
9856 3472 : NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC);
9857 3472 : NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info, r->in.level));
9858 3472 : NDR_CHECK(ndr_pull_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
9859 3472 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
9860 : }
9861 6944 : if (flags & NDR_OUT) {
9862 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
9863 : if (r->in.user_handle == NULL) {
9864 : NDR_PULL_ALLOC(ndr, r->in.user_handle);
9865 : NDR_ZERO_STRUCTP(r->in.user_handle);
9866 : }
9867 : if (r->in.info == NULL) {
9868 : NDR_PULL_ALLOC(ndr, r->in.info);
9869 : NDR_ZERO_STRUCTP(r->in.info);
9870 : }
9871 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
9872 3472 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9873 : }
9874 6760 : return NDR_ERR_SUCCESS;
9875 : }
9876 :
9877 372 : _PUBLIC_ void ndr_print_samr_SetUserInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetUserInfo *r)
9878 : {
9879 372 : ndr_print_struct(ndr, name, "samr_SetUserInfo");
9880 372 : if (r == NULL) { ndr_print_null(ndr); return; }
9881 372 : ndr->depth++;
9882 372 : if (flags & NDR_SET_VALUES) {
9883 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9884 : }
9885 372 : if (flags & NDR_IN) {
9886 2 : ndr_print_struct(ndr, "in", "samr_SetUserInfo");
9887 2 : ndr->depth++;
9888 2 : ndr_print_ptr(ndr, "user_handle", r->in.user_handle);
9889 2 : ndr->depth++;
9890 2 : ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle);
9891 2 : ndr->depth--;
9892 2 : ndr_print_samr_UserInfoLevel(ndr, "level", r->in.level);
9893 2 : ndr_print_ptr(ndr, "info", r->in.info);
9894 2 : ndr->depth++;
9895 2 : ndr_print_set_switch_value(ndr, r->in.info, r->in.level);
9896 2 : ndr_print_samr_UserInfo(ndr, "info", r->in.info);
9897 2 : ndr->depth--;
9898 2 : ndr->depth--;
9899 : }
9900 372 : if (flags & NDR_OUT) {
9901 370 : ndr_print_struct(ndr, "out", "samr_SetUserInfo");
9902 370 : ndr->depth++;
9903 370 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
9904 370 : ndr->depth--;
9905 : }
9906 372 : ndr->depth--;
9907 : }
9908 :
9909 16 : static enum ndr_err_code ndr_push_samr_ChangePasswordUser(struct ndr_push *ndr, int flags, const struct samr_ChangePasswordUser *r)
9910 : {
9911 16 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
9912 16 : if (flags & NDR_IN) {
9913 8 : if (r->in.user_handle == NULL) {
9914 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9915 : }
9916 8 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
9917 8 : NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.lm_present));
9918 8 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.old_lm_crypted));
9919 8 : if (r->in.old_lm_crypted) {
9920 8 : NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.old_lm_crypted));
9921 : }
9922 8 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.new_lm_crypted));
9923 8 : if (r->in.new_lm_crypted) {
9924 8 : NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.new_lm_crypted));
9925 : }
9926 8 : NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.nt_present));
9927 8 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.old_nt_crypted));
9928 8 : if (r->in.old_nt_crypted) {
9929 8 : NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.old_nt_crypted));
9930 : }
9931 8 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.new_nt_crypted));
9932 8 : if (r->in.new_nt_crypted) {
9933 8 : NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.new_nt_crypted));
9934 : }
9935 8 : NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.cross1_present));
9936 8 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.nt_cross));
9937 8 : if (r->in.nt_cross) {
9938 8 : NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.nt_cross));
9939 : }
9940 8 : NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.cross2_present));
9941 8 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.lm_cross));
9942 8 : if (r->in.lm_cross) {
9943 8 : NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.lm_cross));
9944 : }
9945 : }
9946 16 : if (flags & NDR_OUT) {
9947 8 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9948 : }
9949 16 : return NDR_ERR_SUCCESS;
9950 : }
9951 :
9952 16 : static enum ndr_err_code ndr_pull_samr_ChangePasswordUser(struct ndr_pull *ndr, int flags, struct samr_ChangePasswordUser *r)
9953 : {
9954 : uint32_t _ptr_old_lm_crypted;
9955 : uint32_t _ptr_new_lm_crypted;
9956 : uint32_t _ptr_old_nt_crypted;
9957 : uint32_t _ptr_new_nt_crypted;
9958 : uint32_t _ptr_nt_cross;
9959 : uint32_t _ptr_lm_cross;
9960 16 : TALLOC_CTX *_mem_save_user_handle_0 = NULL;
9961 16 : TALLOC_CTX *_mem_save_old_lm_crypted_0 = NULL;
9962 16 : TALLOC_CTX *_mem_save_new_lm_crypted_0 = NULL;
9963 16 : TALLOC_CTX *_mem_save_old_nt_crypted_0 = NULL;
9964 16 : TALLOC_CTX *_mem_save_new_nt_crypted_0 = NULL;
9965 16 : TALLOC_CTX *_mem_save_nt_cross_0 = NULL;
9966 16 : TALLOC_CTX *_mem_save_lm_cross_0 = NULL;
9967 16 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
9968 16 : if (flags & NDR_IN) {
9969 8 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9970 8 : NDR_PULL_ALLOC(ndr, r->in.user_handle);
9971 : }
9972 8 : _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9973 8 : NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC);
9974 8 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
9975 8 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
9976 8 : NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.lm_present));
9977 8 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_old_lm_crypted));
9978 8 : if (_ptr_old_lm_crypted) {
9979 8 : NDR_PULL_ALLOC(ndr, r->in.old_lm_crypted);
9980 : } else {
9981 0 : r->in.old_lm_crypted = NULL;
9982 : }
9983 8 : if (r->in.old_lm_crypted) {
9984 8 : _mem_save_old_lm_crypted_0 = NDR_PULL_GET_MEM_CTX(ndr);
9985 8 : NDR_PULL_SET_MEM_CTX(ndr, r->in.old_lm_crypted, 0);
9986 8 : NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.old_lm_crypted));
9987 8 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_lm_crypted_0, 0);
9988 : }
9989 8 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_new_lm_crypted));
9990 8 : if (_ptr_new_lm_crypted) {
9991 8 : NDR_PULL_ALLOC(ndr, r->in.new_lm_crypted);
9992 : } else {
9993 0 : r->in.new_lm_crypted = NULL;
9994 : }
9995 8 : if (r->in.new_lm_crypted) {
9996 8 : _mem_save_new_lm_crypted_0 = NDR_PULL_GET_MEM_CTX(ndr);
9997 8 : NDR_PULL_SET_MEM_CTX(ndr, r->in.new_lm_crypted, 0);
9998 8 : NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.new_lm_crypted));
9999 8 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_lm_crypted_0, 0);
10000 : }
10001 8 : NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.nt_present));
10002 8 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_old_nt_crypted));
10003 8 : if (_ptr_old_nt_crypted) {
10004 8 : NDR_PULL_ALLOC(ndr, r->in.old_nt_crypted);
10005 : } else {
10006 0 : r->in.old_nt_crypted = NULL;
10007 : }
10008 8 : if (r->in.old_nt_crypted) {
10009 8 : _mem_save_old_nt_crypted_0 = NDR_PULL_GET_MEM_CTX(ndr);
10010 8 : NDR_PULL_SET_MEM_CTX(ndr, r->in.old_nt_crypted, 0);
10011 8 : NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.old_nt_crypted));
10012 8 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_nt_crypted_0, 0);
10013 : }
10014 8 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_new_nt_crypted));
10015 8 : if (_ptr_new_nt_crypted) {
10016 8 : NDR_PULL_ALLOC(ndr, r->in.new_nt_crypted);
10017 : } else {
10018 0 : r->in.new_nt_crypted = NULL;
10019 : }
10020 8 : if (r->in.new_nt_crypted) {
10021 8 : _mem_save_new_nt_crypted_0 = NDR_PULL_GET_MEM_CTX(ndr);
10022 8 : NDR_PULL_SET_MEM_CTX(ndr, r->in.new_nt_crypted, 0);
10023 8 : NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.new_nt_crypted));
10024 8 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_nt_crypted_0, 0);
10025 : }
10026 8 : NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.cross1_present));
10027 8 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_nt_cross));
10028 8 : if (_ptr_nt_cross) {
10029 8 : NDR_PULL_ALLOC(ndr, r->in.nt_cross);
10030 : } else {
10031 0 : r->in.nt_cross = NULL;
10032 : }
10033 8 : if (r->in.nt_cross) {
10034 8 : _mem_save_nt_cross_0 = NDR_PULL_GET_MEM_CTX(ndr);
10035 8 : NDR_PULL_SET_MEM_CTX(ndr, r->in.nt_cross, 0);
10036 8 : NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.nt_cross));
10037 8 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_nt_cross_0, 0);
10038 : }
10039 8 : NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.cross2_present));
10040 8 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_lm_cross));
10041 8 : if (_ptr_lm_cross) {
10042 8 : NDR_PULL_ALLOC(ndr, r->in.lm_cross);
10043 : } else {
10044 0 : r->in.lm_cross = NULL;
10045 : }
10046 8 : if (r->in.lm_cross) {
10047 8 : _mem_save_lm_cross_0 = NDR_PULL_GET_MEM_CTX(ndr);
10048 8 : NDR_PULL_SET_MEM_CTX(ndr, r->in.lm_cross, 0);
10049 8 : NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.lm_cross));
10050 8 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lm_cross_0, 0);
10051 : }
10052 : }
10053 16 : if (flags & NDR_OUT) {
10054 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
10055 : if (r->in.user_handle == NULL) {
10056 : NDR_PULL_ALLOC(ndr, r->in.user_handle);
10057 : NDR_ZERO_STRUCTP(r->in.user_handle);
10058 : }
10059 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
10060 8 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10061 : }
10062 16 : return NDR_ERR_SUCCESS;
10063 : }
10064 :
10065 0 : _PUBLIC_ void ndr_print_samr_ChangePasswordUser(struct ndr_print *ndr, const char *name, int flags, const struct samr_ChangePasswordUser *r)
10066 : {
10067 0 : ndr_print_struct(ndr, name, "samr_ChangePasswordUser");
10068 0 : if (r == NULL) { ndr_print_null(ndr); return; }
10069 0 : ndr->depth++;
10070 0 : if (flags & NDR_SET_VALUES) {
10071 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10072 : }
10073 0 : if (flags & NDR_IN) {
10074 0 : ndr_print_struct(ndr, "in", "samr_ChangePasswordUser");
10075 0 : ndr->depth++;
10076 0 : ndr_print_ptr(ndr, "user_handle", r->in.user_handle);
10077 0 : ndr->depth++;
10078 0 : ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle);
10079 0 : ndr->depth--;
10080 0 : ndr_print_uint8(ndr, "lm_present", r->in.lm_present);
10081 0 : ndr_print_ptr(ndr, "old_lm_crypted", r->in.old_lm_crypted);
10082 0 : ndr->depth++;
10083 0 : if (r->in.old_lm_crypted) {
10084 0 : ndr_print_samr_Password(ndr, "old_lm_crypted", r->in.old_lm_crypted);
10085 : }
10086 0 : ndr->depth--;
10087 0 : ndr_print_ptr(ndr, "new_lm_crypted", r->in.new_lm_crypted);
10088 0 : ndr->depth++;
10089 0 : if (r->in.new_lm_crypted) {
10090 0 : ndr_print_samr_Password(ndr, "new_lm_crypted", r->in.new_lm_crypted);
10091 : }
10092 0 : ndr->depth--;
10093 0 : ndr_print_uint8(ndr, "nt_present", r->in.nt_present);
10094 0 : ndr_print_ptr(ndr, "old_nt_crypted", r->in.old_nt_crypted);
10095 0 : ndr->depth++;
10096 0 : if (r->in.old_nt_crypted) {
10097 0 : ndr_print_samr_Password(ndr, "old_nt_crypted", r->in.old_nt_crypted);
10098 : }
10099 0 : ndr->depth--;
10100 0 : ndr_print_ptr(ndr, "new_nt_crypted", r->in.new_nt_crypted);
10101 0 : ndr->depth++;
10102 0 : if (r->in.new_nt_crypted) {
10103 0 : ndr_print_samr_Password(ndr, "new_nt_crypted", r->in.new_nt_crypted);
10104 : }
10105 0 : ndr->depth--;
10106 0 : ndr_print_uint8(ndr, "cross1_present", r->in.cross1_present);
10107 0 : ndr_print_ptr(ndr, "nt_cross", r->in.nt_cross);
10108 0 : ndr->depth++;
10109 0 : if (r->in.nt_cross) {
10110 0 : ndr_print_samr_Password(ndr, "nt_cross", r->in.nt_cross);
10111 : }
10112 0 : ndr->depth--;
10113 0 : ndr_print_uint8(ndr, "cross2_present", r->in.cross2_present);
10114 0 : ndr_print_ptr(ndr, "lm_cross", r->in.lm_cross);
10115 0 : ndr->depth++;
10116 0 : if (r->in.lm_cross) {
10117 0 : ndr_print_samr_Password(ndr, "lm_cross", r->in.lm_cross);
10118 : }
10119 0 : ndr->depth--;
10120 0 : ndr->depth--;
10121 : }
10122 0 : if (flags & NDR_OUT) {
10123 0 : ndr_print_struct(ndr, "out", "samr_ChangePasswordUser");
10124 0 : ndr->depth++;
10125 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
10126 0 : ndr->depth--;
10127 : }
10128 0 : ndr->depth--;
10129 : }
10130 :
10131 1605 : static enum ndr_err_code ndr_push_samr_GetGroupsForUser(struct ndr_push *ndr, int flags, const struct samr_GetGroupsForUser *r)
10132 : {
10133 1605 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
10134 1605 : if (flags & NDR_IN) {
10135 779 : if (r->in.user_handle == NULL) {
10136 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10137 : }
10138 779 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
10139 : }
10140 1605 : if (flags & NDR_OUT) {
10141 826 : if (r->out.rids == NULL) {
10142 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10143 : }
10144 826 : NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.rids));
10145 826 : if (*r->out.rids) {
10146 826 : NDR_CHECK(ndr_push_samr_RidWithAttributeArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.rids));
10147 : }
10148 826 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10149 : }
10150 1605 : return NDR_ERR_SUCCESS;
10151 : }
10152 :
10153 1593 : static enum ndr_err_code ndr_pull_samr_GetGroupsForUser(struct ndr_pull *ndr, int flags, struct samr_GetGroupsForUser *r)
10154 : {
10155 : uint32_t _ptr_rids;
10156 1593 : TALLOC_CTX *_mem_save_user_handle_0 = NULL;
10157 1593 : TALLOC_CTX *_mem_save_rids_0 = NULL;
10158 1593 : TALLOC_CTX *_mem_save_rids_1 = NULL;
10159 1593 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
10160 1593 : if (flags & NDR_IN) {
10161 814 : NDR_ZERO_STRUCT(r->out);
10162 :
10163 814 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10164 814 : NDR_PULL_ALLOC(ndr, r->in.user_handle);
10165 : }
10166 814 : _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
10167 814 : NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC);
10168 814 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
10169 814 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
10170 814 : NDR_PULL_ALLOC(ndr, r->out.rids);
10171 814 : NDR_ZERO_STRUCTP(r->out.rids);
10172 : }
10173 1593 : if (flags & NDR_OUT) {
10174 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
10175 : if (r->in.user_handle == NULL) {
10176 : NDR_PULL_ALLOC(ndr, r->in.user_handle);
10177 : NDR_ZERO_STRUCTP(r->in.user_handle);
10178 : }
10179 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
10180 779 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10181 104 : NDR_PULL_ALLOC(ndr, r->out.rids);
10182 : }
10183 779 : _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
10184 779 : NDR_PULL_SET_MEM_CTX(ndr, r->out.rids, LIBNDR_FLAG_REF_ALLOC);
10185 779 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rids));
10186 779 : if (_ptr_rids) {
10187 779 : NDR_PULL_ALLOC(ndr, *r->out.rids);
10188 : } else {
10189 0 : *r->out.rids = NULL;
10190 : }
10191 779 : if (*r->out.rids) {
10192 779 : _mem_save_rids_1 = NDR_PULL_GET_MEM_CTX(ndr);
10193 779 : NDR_PULL_SET_MEM_CTX(ndr, *r->out.rids, 0);
10194 779 : NDR_CHECK(ndr_pull_samr_RidWithAttributeArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.rids));
10195 779 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_1, 0);
10196 : }
10197 779 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, LIBNDR_FLAG_REF_ALLOC);
10198 779 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10199 : }
10200 1593 : return NDR_ERR_SUCCESS;
10201 : }
10202 :
10203 24 : _PUBLIC_ void ndr_print_samr_GetGroupsForUser(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetGroupsForUser *r)
10204 : {
10205 24 : ndr_print_struct(ndr, name, "samr_GetGroupsForUser");
10206 24 : if (r == NULL) { ndr_print_null(ndr); return; }
10207 24 : ndr->depth++;
10208 24 : if (flags & NDR_SET_VALUES) {
10209 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10210 : }
10211 24 : if (flags & NDR_IN) {
10212 0 : ndr_print_struct(ndr, "in", "samr_GetGroupsForUser");
10213 0 : ndr->depth++;
10214 0 : ndr_print_ptr(ndr, "user_handle", r->in.user_handle);
10215 0 : ndr->depth++;
10216 0 : ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle);
10217 0 : ndr->depth--;
10218 0 : ndr->depth--;
10219 : }
10220 24 : if (flags & NDR_OUT) {
10221 24 : ndr_print_struct(ndr, "out", "samr_GetGroupsForUser");
10222 24 : ndr->depth++;
10223 24 : ndr_print_ptr(ndr, "rids", r->out.rids);
10224 24 : ndr->depth++;
10225 24 : ndr_print_ptr(ndr, "rids", *r->out.rids);
10226 24 : ndr->depth++;
10227 24 : if (*r->out.rids) {
10228 24 : ndr_print_samr_RidWithAttributeArray(ndr, "rids", *r->out.rids);
10229 : }
10230 24 : ndr->depth--;
10231 24 : ndr->depth--;
10232 24 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
10233 24 : ndr->depth--;
10234 : }
10235 24 : ndr->depth--;
10236 : }
10237 :
10238 1097 : static enum ndr_err_code ndr_push_samr_QueryDisplayInfo(struct ndr_push *ndr, int flags, const struct samr_QueryDisplayInfo *r)
10239 : {
10240 1097 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
10241 1097 : if (flags & NDR_IN) {
10242 552 : if (r->in.domain_handle == NULL) {
10243 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10244 : }
10245 552 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
10246 552 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
10247 552 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.start_idx));
10248 552 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_entries));
10249 552 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buf_size));
10250 : }
10251 1097 : if (flags & NDR_OUT) {
10252 545 : if (r->out.total_size == NULL) {
10253 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10254 : }
10255 545 : if (r->out.returned_size == NULL) {
10256 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10257 : }
10258 545 : if (r->out.info == NULL) {
10259 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10260 : }
10261 545 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.total_size));
10262 545 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.returned_size));
10263 545 : NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level));
10264 545 : NDR_CHECK(ndr_push_samr_DispInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
10265 545 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10266 : }
10267 1097 : return NDR_ERR_SUCCESS;
10268 : }
10269 :
10270 1096 : static enum ndr_err_code ndr_pull_samr_QueryDisplayInfo(struct ndr_pull *ndr, int flags, struct samr_QueryDisplayInfo *r)
10271 : {
10272 1096 : TALLOC_CTX *_mem_save_domain_handle_0 = NULL;
10273 1096 : TALLOC_CTX *_mem_save_total_size_0 = NULL;
10274 1096 : TALLOC_CTX *_mem_save_returned_size_0 = NULL;
10275 1096 : TALLOC_CTX *_mem_save_info_0 = NULL;
10276 1096 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
10277 1096 : if (flags & NDR_IN) {
10278 544 : NDR_ZERO_STRUCT(r->out);
10279 :
10280 544 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10281 544 : NDR_PULL_ALLOC(ndr, r->in.domain_handle);
10282 : }
10283 544 : _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
10284 544 : NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
10285 544 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
10286 544 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
10287 544 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
10288 544 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.start_idx));
10289 544 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_entries));
10290 544 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buf_size));
10291 544 : NDR_PULL_ALLOC(ndr, r->out.total_size);
10292 544 : NDR_ZERO_STRUCTP(r->out.total_size);
10293 544 : NDR_PULL_ALLOC(ndr, r->out.returned_size);
10294 544 : NDR_ZERO_STRUCTP(r->out.returned_size);
10295 544 : NDR_PULL_ALLOC(ndr, r->out.info);
10296 544 : NDR_ZERO_STRUCTP(r->out.info);
10297 : }
10298 1096 : if (flags & NDR_OUT) {
10299 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
10300 : if (r->in.domain_handle == NULL) {
10301 : NDR_PULL_ALLOC(ndr, r->in.domain_handle);
10302 : NDR_ZERO_STRUCTP(r->in.domain_handle);
10303 : }
10304 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
10305 552 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10306 46 : NDR_PULL_ALLOC(ndr, r->out.total_size);
10307 : }
10308 552 : _mem_save_total_size_0 = NDR_PULL_GET_MEM_CTX(ndr);
10309 552 : NDR_PULL_SET_MEM_CTX(ndr, r->out.total_size, LIBNDR_FLAG_REF_ALLOC);
10310 552 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.total_size));
10311 552 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_total_size_0, LIBNDR_FLAG_REF_ALLOC);
10312 552 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10313 46 : NDR_PULL_ALLOC(ndr, r->out.returned_size);
10314 : }
10315 552 : _mem_save_returned_size_0 = NDR_PULL_GET_MEM_CTX(ndr);
10316 552 : NDR_PULL_SET_MEM_CTX(ndr, r->out.returned_size, LIBNDR_FLAG_REF_ALLOC);
10317 552 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.returned_size));
10318 552 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_returned_size_0, LIBNDR_FLAG_REF_ALLOC);
10319 552 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10320 46 : NDR_PULL_ALLOC(ndr, r->out.info);
10321 : }
10322 552 : _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
10323 552 : NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
10324 552 : NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level));
10325 552 : NDR_CHECK(ndr_pull_samr_DispInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
10326 552 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
10327 552 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10328 : }
10329 1096 : return NDR_ERR_SUCCESS;
10330 : }
10331 :
10332 2 : _PUBLIC_ void ndr_print_samr_QueryDisplayInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryDisplayInfo *r)
10333 : {
10334 2 : ndr_print_struct(ndr, name, "samr_QueryDisplayInfo");
10335 2 : if (r == NULL) { ndr_print_null(ndr); return; }
10336 2 : ndr->depth++;
10337 2 : if (flags & NDR_SET_VALUES) {
10338 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10339 : }
10340 2 : if (flags & NDR_IN) {
10341 0 : ndr_print_struct(ndr, "in", "samr_QueryDisplayInfo");
10342 0 : ndr->depth++;
10343 0 : ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
10344 0 : ndr->depth++;
10345 0 : ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
10346 0 : ndr->depth--;
10347 0 : ndr_print_uint16(ndr, "level", r->in.level);
10348 0 : ndr_print_uint32(ndr, "start_idx", r->in.start_idx);
10349 0 : ndr_print_uint32(ndr, "max_entries", r->in.max_entries);
10350 0 : ndr_print_uint32(ndr, "buf_size", r->in.buf_size);
10351 0 : ndr->depth--;
10352 : }
10353 2 : if (flags & NDR_OUT) {
10354 2 : ndr_print_struct(ndr, "out", "samr_QueryDisplayInfo");
10355 2 : ndr->depth++;
10356 2 : ndr_print_ptr(ndr, "total_size", r->out.total_size);
10357 2 : ndr->depth++;
10358 2 : ndr_print_uint32(ndr, "total_size", *r->out.total_size);
10359 2 : ndr->depth--;
10360 2 : ndr_print_ptr(ndr, "returned_size", r->out.returned_size);
10361 2 : ndr->depth++;
10362 2 : ndr_print_uint32(ndr, "returned_size", *r->out.returned_size);
10363 2 : ndr->depth--;
10364 2 : ndr_print_ptr(ndr, "info", r->out.info);
10365 2 : ndr->depth++;
10366 2 : ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
10367 2 : ndr_print_samr_DispInfo(ndr, "info", r->out.info);
10368 2 : ndr->depth--;
10369 2 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
10370 2 : ndr->depth--;
10371 : }
10372 2 : ndr->depth--;
10373 : }
10374 :
10375 64 : static enum ndr_err_code ndr_push_samr_GetDisplayEnumerationIndex(struct ndr_push *ndr, int flags, const struct samr_GetDisplayEnumerationIndex *r)
10376 : {
10377 64 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
10378 64 : if (flags & NDR_IN) {
10379 44 : if (r->in.domain_handle == NULL) {
10380 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10381 : }
10382 44 : if (r->in.name == NULL) {
10383 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10384 : }
10385 44 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
10386 44 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
10387 44 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
10388 : }
10389 64 : if (flags & NDR_OUT) {
10390 20 : if (r->out.idx == NULL) {
10391 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10392 : }
10393 20 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.idx));
10394 20 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10395 : }
10396 64 : return NDR_ERR_SUCCESS;
10397 : }
10398 :
10399 64 : static enum ndr_err_code ndr_pull_samr_GetDisplayEnumerationIndex(struct ndr_pull *ndr, int flags, struct samr_GetDisplayEnumerationIndex *r)
10400 : {
10401 64 : TALLOC_CTX *_mem_save_domain_handle_0 = NULL;
10402 64 : TALLOC_CTX *_mem_save_name_0 = NULL;
10403 64 : TALLOC_CTX *_mem_save_idx_0 = NULL;
10404 64 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
10405 64 : if (flags & NDR_IN) {
10406 24 : NDR_ZERO_STRUCT(r->out);
10407 :
10408 24 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10409 24 : NDR_PULL_ALLOC(ndr, r->in.domain_handle);
10410 : }
10411 24 : _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
10412 24 : NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
10413 24 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
10414 24 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
10415 24 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
10416 24 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10417 24 : NDR_PULL_ALLOC(ndr, r->in.name);
10418 : }
10419 24 : _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10420 24 : NDR_PULL_SET_MEM_CTX(ndr, r->in.name, LIBNDR_FLAG_REF_ALLOC);
10421 24 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
10422 24 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, LIBNDR_FLAG_REF_ALLOC);
10423 24 : NDR_PULL_ALLOC(ndr, r->out.idx);
10424 24 : NDR_ZERO_STRUCTP(r->out.idx);
10425 : }
10426 64 : if (flags & NDR_OUT) {
10427 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
10428 : if (r->in.domain_handle == NULL) {
10429 : NDR_PULL_ALLOC(ndr, r->in.domain_handle);
10430 : NDR_ZERO_STRUCTP(r->in.domain_handle);
10431 : }
10432 : if (r->in.name == NULL) {
10433 : NDR_PULL_ALLOC(ndr, r->in.name);
10434 : NDR_ZERO_STRUCTP(r->in.name);
10435 : }
10436 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
10437 40 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10438 0 : NDR_PULL_ALLOC(ndr, r->out.idx);
10439 : }
10440 40 : _mem_save_idx_0 = NDR_PULL_GET_MEM_CTX(ndr);
10441 40 : NDR_PULL_SET_MEM_CTX(ndr, r->out.idx, LIBNDR_FLAG_REF_ALLOC);
10442 40 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.idx));
10443 40 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_idx_0, LIBNDR_FLAG_REF_ALLOC);
10444 40 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10445 : }
10446 64 : return NDR_ERR_SUCCESS;
10447 : }
10448 :
10449 0 : _PUBLIC_ void ndr_print_samr_GetDisplayEnumerationIndex(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetDisplayEnumerationIndex *r)
10450 : {
10451 0 : ndr_print_struct(ndr, name, "samr_GetDisplayEnumerationIndex");
10452 0 : if (r == NULL) { ndr_print_null(ndr); return; }
10453 0 : ndr->depth++;
10454 0 : if (flags & NDR_SET_VALUES) {
10455 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10456 : }
10457 0 : if (flags & NDR_IN) {
10458 0 : ndr_print_struct(ndr, "in", "samr_GetDisplayEnumerationIndex");
10459 0 : ndr->depth++;
10460 0 : ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
10461 0 : ndr->depth++;
10462 0 : ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
10463 0 : ndr->depth--;
10464 0 : ndr_print_uint16(ndr, "level", r->in.level);
10465 0 : ndr_print_ptr(ndr, "name", r->in.name);
10466 0 : ndr->depth++;
10467 0 : ndr_print_lsa_String(ndr, "name", r->in.name);
10468 0 : ndr->depth--;
10469 0 : ndr->depth--;
10470 : }
10471 0 : if (flags & NDR_OUT) {
10472 0 : ndr_print_struct(ndr, "out", "samr_GetDisplayEnumerationIndex");
10473 0 : ndr->depth++;
10474 0 : ndr_print_ptr(ndr, "idx", r->out.idx);
10475 0 : ndr->depth++;
10476 0 : ndr_print_uint32(ndr, "idx", *r->out.idx);
10477 0 : ndr->depth--;
10478 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
10479 0 : ndr->depth--;
10480 : }
10481 0 : ndr->depth--;
10482 : }
10483 :
10484 24 : static enum ndr_err_code ndr_push_samr_TestPrivateFunctionsDomain(struct ndr_push *ndr, int flags, const struct samr_TestPrivateFunctionsDomain *r)
10485 : {
10486 24 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
10487 24 : if (flags & NDR_IN) {
10488 14 : if (r->in.domain_handle == NULL) {
10489 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10490 : }
10491 14 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
10492 : }
10493 24 : if (flags & NDR_OUT) {
10494 10 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10495 : }
10496 24 : return NDR_ERR_SUCCESS;
10497 : }
10498 :
10499 22 : static enum ndr_err_code ndr_pull_samr_TestPrivateFunctionsDomain(struct ndr_pull *ndr, int flags, struct samr_TestPrivateFunctionsDomain *r)
10500 : {
10501 22 : TALLOC_CTX *_mem_save_domain_handle_0 = NULL;
10502 22 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
10503 22 : if (flags & NDR_IN) {
10504 12 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10505 12 : NDR_PULL_ALLOC(ndr, r->in.domain_handle);
10506 : }
10507 12 : _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
10508 12 : NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
10509 12 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
10510 12 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
10511 : }
10512 22 : if (flags & NDR_OUT) {
10513 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
10514 : if (r->in.domain_handle == NULL) {
10515 : NDR_PULL_ALLOC(ndr, r->in.domain_handle);
10516 : NDR_ZERO_STRUCTP(r->in.domain_handle);
10517 : }
10518 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
10519 10 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10520 : }
10521 22 : return NDR_ERR_SUCCESS;
10522 : }
10523 :
10524 0 : _PUBLIC_ void ndr_print_samr_TestPrivateFunctionsDomain(struct ndr_print *ndr, const char *name, int flags, const struct samr_TestPrivateFunctionsDomain *r)
10525 : {
10526 0 : ndr_print_struct(ndr, name, "samr_TestPrivateFunctionsDomain");
10527 0 : if (r == NULL) { ndr_print_null(ndr); return; }
10528 0 : ndr->depth++;
10529 0 : if (flags & NDR_SET_VALUES) {
10530 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10531 : }
10532 0 : if (flags & NDR_IN) {
10533 0 : ndr_print_struct(ndr, "in", "samr_TestPrivateFunctionsDomain");
10534 0 : ndr->depth++;
10535 0 : ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
10536 0 : ndr->depth++;
10537 0 : ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
10538 0 : ndr->depth--;
10539 0 : ndr->depth--;
10540 : }
10541 0 : if (flags & NDR_OUT) {
10542 0 : ndr_print_struct(ndr, "out", "samr_TestPrivateFunctionsDomain");
10543 0 : ndr->depth++;
10544 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
10545 0 : ndr->depth--;
10546 : }
10547 0 : ndr->depth--;
10548 : }
10549 :
10550 30 : static enum ndr_err_code ndr_push_samr_TestPrivateFunctionsUser(struct ndr_push *ndr, int flags, const struct samr_TestPrivateFunctionsUser *r)
10551 : {
10552 30 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
10553 30 : if (flags & NDR_IN) {
10554 16 : if (r->in.user_handle == NULL) {
10555 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10556 : }
10557 16 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
10558 : }
10559 30 : if (flags & NDR_OUT) {
10560 14 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10561 : }
10562 30 : return NDR_ERR_SUCCESS;
10563 : }
10564 :
10565 30 : static enum ndr_err_code ndr_pull_samr_TestPrivateFunctionsUser(struct ndr_pull *ndr, int flags, struct samr_TestPrivateFunctionsUser *r)
10566 : {
10567 30 : TALLOC_CTX *_mem_save_user_handle_0 = NULL;
10568 30 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
10569 30 : if (flags & NDR_IN) {
10570 16 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10571 16 : NDR_PULL_ALLOC(ndr, r->in.user_handle);
10572 : }
10573 16 : _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
10574 16 : NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC);
10575 16 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
10576 16 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
10577 : }
10578 30 : if (flags & NDR_OUT) {
10579 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
10580 : if (r->in.user_handle == NULL) {
10581 : NDR_PULL_ALLOC(ndr, r->in.user_handle);
10582 : NDR_ZERO_STRUCTP(r->in.user_handle);
10583 : }
10584 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
10585 14 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10586 : }
10587 30 : return NDR_ERR_SUCCESS;
10588 : }
10589 :
10590 0 : _PUBLIC_ void ndr_print_samr_TestPrivateFunctionsUser(struct ndr_print *ndr, const char *name, int flags, const struct samr_TestPrivateFunctionsUser *r)
10591 : {
10592 0 : ndr_print_struct(ndr, name, "samr_TestPrivateFunctionsUser");
10593 0 : if (r == NULL) { ndr_print_null(ndr); return; }
10594 0 : ndr->depth++;
10595 0 : if (flags & NDR_SET_VALUES) {
10596 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10597 : }
10598 0 : if (flags & NDR_IN) {
10599 0 : ndr_print_struct(ndr, "in", "samr_TestPrivateFunctionsUser");
10600 0 : ndr->depth++;
10601 0 : ndr_print_ptr(ndr, "user_handle", r->in.user_handle);
10602 0 : ndr->depth++;
10603 0 : ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle);
10604 0 : ndr->depth--;
10605 0 : ndr->depth--;
10606 : }
10607 0 : if (flags & NDR_OUT) {
10608 0 : ndr_print_struct(ndr, "out", "samr_TestPrivateFunctionsUser");
10609 0 : ndr->depth++;
10610 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
10611 0 : ndr->depth--;
10612 : }
10613 0 : ndr->depth--;
10614 : }
10615 :
10616 3745 : _PUBLIC_ enum ndr_err_code ndr_push_samr_GetUserPwInfo(struct ndr_push *ndr, int flags, const struct samr_GetUserPwInfo *r)
10617 : {
10618 3745 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
10619 3745 : if (flags & NDR_IN) {
10620 1811 : if (r->in.user_handle == NULL) {
10621 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10622 : }
10623 1811 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
10624 : }
10625 3745 : if (flags & NDR_OUT) {
10626 1934 : if (r->out.info == NULL) {
10627 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10628 : }
10629 1934 : NDR_CHECK(ndr_push_samr_PwInfo(ndr, NDR_SCALARS, r->out.info));
10630 1934 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10631 : }
10632 3547 : return NDR_ERR_SUCCESS;
10633 : }
10634 :
10635 3625 : _PUBLIC_ enum ndr_err_code ndr_pull_samr_GetUserPwInfo(struct ndr_pull *ndr, int flags, struct samr_GetUserPwInfo *r)
10636 : {
10637 3625 : TALLOC_CTX *_mem_save_user_handle_0 = NULL;
10638 3625 : TALLOC_CTX *_mem_save_info_0 = NULL;
10639 3625 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
10640 3625 : if (flags & NDR_IN) {
10641 1812 : NDR_ZERO_STRUCT(r->out);
10642 :
10643 1812 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10644 1812 : NDR_PULL_ALLOC(ndr, r->in.user_handle);
10645 : }
10646 1812 : _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
10647 1812 : NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC);
10648 1812 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
10649 1812 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
10650 1812 : NDR_PULL_ALLOC(ndr, r->out.info);
10651 1812 : NDR_ZERO_STRUCTP(r->out.info);
10652 : }
10653 3625 : if (flags & NDR_OUT) {
10654 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
10655 : if (r->in.user_handle == NULL) {
10656 : NDR_PULL_ALLOC(ndr, r->in.user_handle);
10657 : NDR_ZERO_STRUCTP(r->in.user_handle);
10658 : }
10659 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
10660 1813 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10661 132 : NDR_PULL_ALLOC(ndr, r->out.info);
10662 : }
10663 1813 : _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
10664 1813 : NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
10665 1813 : NDR_CHECK(ndr_pull_samr_PwInfo(ndr, NDR_SCALARS, r->out.info));
10666 1813 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
10667 1813 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10668 : }
10669 3441 : return NDR_ERR_SUCCESS;
10670 : }
10671 :
10672 252 : _PUBLIC_ void ndr_print_samr_GetUserPwInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetUserPwInfo *r)
10673 : {
10674 252 : ndr_print_struct(ndr, name, "samr_GetUserPwInfo");
10675 252 : if (r == NULL) { ndr_print_null(ndr); return; }
10676 252 : ndr->depth++;
10677 252 : if (flags & NDR_SET_VALUES) {
10678 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10679 : }
10680 252 : if (flags & NDR_IN) {
10681 2 : ndr_print_struct(ndr, "in", "samr_GetUserPwInfo");
10682 2 : ndr->depth++;
10683 2 : ndr_print_ptr(ndr, "user_handle", r->in.user_handle);
10684 2 : ndr->depth++;
10685 2 : ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle);
10686 2 : ndr->depth--;
10687 2 : ndr->depth--;
10688 : }
10689 252 : if (flags & NDR_OUT) {
10690 250 : ndr_print_struct(ndr, "out", "samr_GetUserPwInfo");
10691 250 : ndr->depth++;
10692 250 : ndr_print_ptr(ndr, "info", r->out.info);
10693 250 : ndr->depth++;
10694 250 : ndr_print_samr_PwInfo(ndr, "info", r->out.info);
10695 250 : ndr->depth--;
10696 250 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
10697 250 : ndr->depth--;
10698 : }
10699 252 : ndr->depth--;
10700 : }
10701 :
10702 37 : static enum ndr_err_code ndr_push_samr_RemoveMemberFromForeignDomain(struct ndr_push *ndr, int flags, const struct samr_RemoveMemberFromForeignDomain *r)
10703 : {
10704 37 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
10705 37 : if (flags & NDR_IN) {
10706 20 : if (r->in.domain_handle == NULL) {
10707 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10708 : }
10709 20 : if (r->in.sid == NULL) {
10710 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10711 : }
10712 20 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
10713 20 : NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
10714 : }
10715 37 : if (flags & NDR_OUT) {
10716 17 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10717 : }
10718 37 : return NDR_ERR_SUCCESS;
10719 : }
10720 :
10721 37 : static enum ndr_err_code ndr_pull_samr_RemoveMemberFromForeignDomain(struct ndr_pull *ndr, int flags, struct samr_RemoveMemberFromForeignDomain *r)
10722 : {
10723 37 : TALLOC_CTX *_mem_save_domain_handle_0 = NULL;
10724 37 : TALLOC_CTX *_mem_save_sid_0 = NULL;
10725 37 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
10726 37 : if (flags & NDR_IN) {
10727 17 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10728 17 : NDR_PULL_ALLOC(ndr, r->in.domain_handle);
10729 : }
10730 17 : _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
10731 17 : NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
10732 17 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
10733 17 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
10734 17 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10735 17 : NDR_PULL_ALLOC(ndr, r->in.sid);
10736 : }
10737 17 : _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
10738 17 : NDR_PULL_SET_MEM_CTX(ndr, r->in.sid, LIBNDR_FLAG_REF_ALLOC);
10739 17 : NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
10740 17 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC);
10741 : }
10742 37 : if (flags & NDR_OUT) {
10743 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
10744 : if (r->in.domain_handle == NULL) {
10745 : NDR_PULL_ALLOC(ndr, r->in.domain_handle);
10746 : NDR_ZERO_STRUCTP(r->in.domain_handle);
10747 : }
10748 : if (r->in.sid == NULL) {
10749 : NDR_PULL_ALLOC(ndr, r->in.sid);
10750 : NDR_ZERO_STRUCTP(r->in.sid);
10751 : }
10752 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
10753 20 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10754 : }
10755 37 : return NDR_ERR_SUCCESS;
10756 : }
10757 :
10758 0 : _PUBLIC_ void ndr_print_samr_RemoveMemberFromForeignDomain(struct ndr_print *ndr, const char *name, int flags, const struct samr_RemoveMemberFromForeignDomain *r)
10759 : {
10760 0 : ndr_print_struct(ndr, name, "samr_RemoveMemberFromForeignDomain");
10761 0 : if (r == NULL) { ndr_print_null(ndr); return; }
10762 0 : ndr->depth++;
10763 0 : if (flags & NDR_SET_VALUES) {
10764 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10765 : }
10766 0 : if (flags & NDR_IN) {
10767 0 : ndr_print_struct(ndr, "in", "samr_RemoveMemberFromForeignDomain");
10768 0 : ndr->depth++;
10769 0 : ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
10770 0 : ndr->depth++;
10771 0 : ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
10772 0 : ndr->depth--;
10773 0 : ndr_print_ptr(ndr, "sid", r->in.sid);
10774 0 : ndr->depth++;
10775 0 : ndr_print_dom_sid2(ndr, "sid", r->in.sid);
10776 0 : ndr->depth--;
10777 0 : ndr->depth--;
10778 : }
10779 0 : if (flags & NDR_OUT) {
10780 0 : ndr_print_struct(ndr, "out", "samr_RemoveMemberFromForeignDomain");
10781 0 : ndr->depth++;
10782 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
10783 0 : ndr->depth--;
10784 : }
10785 0 : ndr->depth--;
10786 : }
10787 :
10788 451 : static enum ndr_err_code ndr_push_samr_QueryDomainInfo2(struct ndr_push *ndr, int flags, const struct samr_QueryDomainInfo2 *r)
10789 : {
10790 451 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
10791 451 : if (flags & NDR_IN) {
10792 239 : if (r->in.domain_handle == NULL) {
10793 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10794 : }
10795 239 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
10796 239 : NDR_CHECK(ndr_push_samr_DomainInfoClass(ndr, NDR_SCALARS, r->in.level));
10797 : }
10798 451 : if (flags & NDR_OUT) {
10799 212 : if (r->out.info == NULL) {
10800 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10801 : }
10802 212 : NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
10803 212 : if (*r->out.info) {
10804 212 : NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.info, r->in.level));
10805 212 : NDR_CHECK(ndr_push_samr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
10806 : }
10807 212 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10808 : }
10809 451 : return NDR_ERR_SUCCESS;
10810 : }
10811 :
10812 451 : static enum ndr_err_code ndr_pull_samr_QueryDomainInfo2(struct ndr_pull *ndr, int flags, struct samr_QueryDomainInfo2 *r)
10813 : {
10814 : uint32_t _ptr_info;
10815 451 : TALLOC_CTX *_mem_save_domain_handle_0 = NULL;
10816 451 : TALLOC_CTX *_mem_save_info_0 = NULL;
10817 451 : TALLOC_CTX *_mem_save_info_1 = NULL;
10818 451 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
10819 451 : if (flags & NDR_IN) {
10820 212 : NDR_ZERO_STRUCT(r->out);
10821 :
10822 212 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10823 212 : NDR_PULL_ALLOC(ndr, r->in.domain_handle);
10824 : }
10825 212 : _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
10826 212 : NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
10827 212 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
10828 212 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
10829 212 : NDR_CHECK(ndr_pull_samr_DomainInfoClass(ndr, NDR_SCALARS, &r->in.level));
10830 212 : NDR_PULL_ALLOC(ndr, r->out.info);
10831 212 : NDR_ZERO_STRUCTP(r->out.info);
10832 : }
10833 451 : if (flags & NDR_OUT) {
10834 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
10835 : if (r->in.domain_handle == NULL) {
10836 : NDR_PULL_ALLOC(ndr, r->in.domain_handle);
10837 : NDR_ZERO_STRUCTP(r->in.domain_handle);
10838 : }
10839 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
10840 239 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10841 1 : NDR_PULL_ALLOC(ndr, r->out.info);
10842 : }
10843 239 : _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
10844 239 : NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
10845 239 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
10846 239 : if (_ptr_info) {
10847 239 : NDR_PULL_ALLOC(ndr, *r->out.info);
10848 : } else {
10849 0 : *r->out.info = NULL;
10850 : }
10851 239 : if (*r->out.info) {
10852 239 : _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
10853 239 : NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
10854 239 : NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.info, r->in.level));
10855 239 : NDR_CHECK(ndr_pull_samr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
10856 239 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
10857 : }
10858 239 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
10859 239 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10860 : }
10861 451 : return NDR_ERR_SUCCESS;
10862 : }
10863 :
10864 0 : _PUBLIC_ void ndr_print_samr_QueryDomainInfo2(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryDomainInfo2 *r)
10865 : {
10866 0 : ndr_print_struct(ndr, name, "samr_QueryDomainInfo2");
10867 0 : if (r == NULL) { ndr_print_null(ndr); return; }
10868 0 : ndr->depth++;
10869 0 : if (flags & NDR_SET_VALUES) {
10870 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10871 : }
10872 0 : if (flags & NDR_IN) {
10873 0 : ndr_print_struct(ndr, "in", "samr_QueryDomainInfo2");
10874 0 : ndr->depth++;
10875 0 : ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
10876 0 : ndr->depth++;
10877 0 : ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
10878 0 : ndr->depth--;
10879 0 : ndr_print_samr_DomainInfoClass(ndr, "level", r->in.level);
10880 0 : ndr->depth--;
10881 : }
10882 0 : if (flags & NDR_OUT) {
10883 0 : ndr_print_struct(ndr, "out", "samr_QueryDomainInfo2");
10884 0 : ndr->depth++;
10885 0 : ndr_print_ptr(ndr, "info", r->out.info);
10886 0 : ndr->depth++;
10887 0 : ndr_print_ptr(ndr, "info", *r->out.info);
10888 0 : ndr->depth++;
10889 0 : if (*r->out.info) {
10890 0 : ndr_print_set_switch_value(ndr, *r->out.info, r->in.level);
10891 0 : ndr_print_samr_DomainInfo(ndr, "info", *r->out.info);
10892 : }
10893 0 : ndr->depth--;
10894 0 : ndr->depth--;
10895 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
10896 0 : ndr->depth--;
10897 : }
10898 0 : ndr->depth--;
10899 : }
10900 :
10901 878 : static enum ndr_err_code ndr_push_samr_QueryUserInfo2(struct ndr_push *ndr, int flags, const struct samr_QueryUserInfo2 *r)
10902 : {
10903 878 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
10904 878 : if (flags & NDR_IN) {
10905 444 : if (r->in.user_handle == NULL) {
10906 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10907 : }
10908 444 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
10909 444 : NDR_CHECK(ndr_push_samr_UserInfoLevel(ndr, NDR_SCALARS, r->in.level));
10910 : }
10911 878 : if (flags & NDR_OUT) {
10912 434 : if (r->out.info == NULL) {
10913 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10914 : }
10915 434 : NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
10916 434 : if (*r->out.info) {
10917 434 : NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.info, r->in.level));
10918 434 : NDR_CHECK(ndr_push_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
10919 : }
10920 434 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10921 : }
10922 878 : return NDR_ERR_SUCCESS;
10923 : }
10924 :
10925 878 : static enum ndr_err_code ndr_pull_samr_QueryUserInfo2(struct ndr_pull *ndr, int flags, struct samr_QueryUserInfo2 *r)
10926 : {
10927 : uint32_t _ptr_info;
10928 878 : TALLOC_CTX *_mem_save_user_handle_0 = NULL;
10929 878 : TALLOC_CTX *_mem_save_info_0 = NULL;
10930 878 : TALLOC_CTX *_mem_save_info_1 = NULL;
10931 878 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
10932 878 : if (flags & NDR_IN) {
10933 434 : NDR_ZERO_STRUCT(r->out);
10934 :
10935 434 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10936 434 : NDR_PULL_ALLOC(ndr, r->in.user_handle);
10937 : }
10938 434 : _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
10939 434 : NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC);
10940 434 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
10941 434 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
10942 434 : NDR_CHECK(ndr_pull_samr_UserInfoLevel(ndr, NDR_SCALARS, &r->in.level));
10943 434 : NDR_PULL_ALLOC(ndr, r->out.info);
10944 434 : NDR_ZERO_STRUCTP(r->out.info);
10945 : }
10946 878 : if (flags & NDR_OUT) {
10947 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
10948 : if (r->in.user_handle == NULL) {
10949 : NDR_PULL_ALLOC(ndr, r->in.user_handle);
10950 : NDR_ZERO_STRUCTP(r->in.user_handle);
10951 : }
10952 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
10953 444 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10954 120 : NDR_PULL_ALLOC(ndr, r->out.info);
10955 : }
10956 444 : _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
10957 444 : NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
10958 444 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
10959 444 : if (_ptr_info) {
10960 444 : NDR_PULL_ALLOC(ndr, *r->out.info);
10961 : } else {
10962 0 : *r->out.info = NULL;
10963 : }
10964 444 : if (*r->out.info) {
10965 444 : _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
10966 444 : NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
10967 444 : NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.info, r->in.level));
10968 444 : NDR_CHECK(ndr_pull_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
10969 444 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
10970 : }
10971 444 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
10972 444 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10973 : }
10974 878 : return NDR_ERR_SUCCESS;
10975 : }
10976 :
10977 0 : _PUBLIC_ void ndr_print_samr_QueryUserInfo2(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryUserInfo2 *r)
10978 : {
10979 0 : ndr_print_struct(ndr, name, "samr_QueryUserInfo2");
10980 0 : if (r == NULL) { ndr_print_null(ndr); return; }
10981 0 : ndr->depth++;
10982 0 : if (flags & NDR_SET_VALUES) {
10983 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10984 : }
10985 0 : if (flags & NDR_IN) {
10986 0 : ndr_print_struct(ndr, "in", "samr_QueryUserInfo2");
10987 0 : ndr->depth++;
10988 0 : ndr_print_ptr(ndr, "user_handle", r->in.user_handle);
10989 0 : ndr->depth++;
10990 0 : ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle);
10991 0 : ndr->depth--;
10992 0 : ndr_print_samr_UserInfoLevel(ndr, "level", r->in.level);
10993 0 : ndr->depth--;
10994 : }
10995 0 : if (flags & NDR_OUT) {
10996 0 : ndr_print_struct(ndr, "out", "samr_QueryUserInfo2");
10997 0 : ndr->depth++;
10998 0 : ndr_print_ptr(ndr, "info", r->out.info);
10999 0 : ndr->depth++;
11000 0 : ndr_print_ptr(ndr, "info", *r->out.info);
11001 0 : ndr->depth++;
11002 0 : if (*r->out.info) {
11003 0 : ndr_print_set_switch_value(ndr, *r->out.info, r->in.level);
11004 0 : ndr_print_samr_UserInfo(ndr, "info", *r->out.info);
11005 : }
11006 0 : ndr->depth--;
11007 0 : ndr->depth--;
11008 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
11009 0 : ndr->depth--;
11010 : }
11011 0 : ndr->depth--;
11012 : }
11013 :
11014 138 : static enum ndr_err_code ndr_push_samr_QueryDisplayInfo2(struct ndr_push *ndr, int flags, const struct samr_QueryDisplayInfo2 *r)
11015 : {
11016 138 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
11017 138 : if (flags & NDR_IN) {
11018 74 : if (r->in.domain_handle == NULL) {
11019 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11020 : }
11021 74 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
11022 74 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
11023 74 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.start_idx));
11024 74 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_entries));
11025 74 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buf_size));
11026 : }
11027 138 : if (flags & NDR_OUT) {
11028 64 : if (r->out.total_size == NULL) {
11029 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11030 : }
11031 64 : if (r->out.returned_size == NULL) {
11032 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11033 : }
11034 64 : if (r->out.info == NULL) {
11035 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11036 : }
11037 64 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.total_size));
11038 64 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.returned_size));
11039 64 : NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level));
11040 64 : NDR_CHECK(ndr_push_samr_DispInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
11041 64 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11042 : }
11043 138 : return NDR_ERR_SUCCESS;
11044 : }
11045 :
11046 138 : static enum ndr_err_code ndr_pull_samr_QueryDisplayInfo2(struct ndr_pull *ndr, int flags, struct samr_QueryDisplayInfo2 *r)
11047 : {
11048 138 : TALLOC_CTX *_mem_save_domain_handle_0 = NULL;
11049 138 : TALLOC_CTX *_mem_save_total_size_0 = NULL;
11050 138 : TALLOC_CTX *_mem_save_returned_size_0 = NULL;
11051 138 : TALLOC_CTX *_mem_save_info_0 = NULL;
11052 138 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
11053 138 : if (flags & NDR_IN) {
11054 64 : NDR_ZERO_STRUCT(r->out);
11055 :
11056 64 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11057 64 : NDR_PULL_ALLOC(ndr, r->in.domain_handle);
11058 : }
11059 64 : _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
11060 64 : NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
11061 64 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
11062 64 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
11063 64 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
11064 64 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.start_idx));
11065 64 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_entries));
11066 64 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buf_size));
11067 64 : NDR_PULL_ALLOC(ndr, r->out.total_size);
11068 64 : NDR_ZERO_STRUCTP(r->out.total_size);
11069 64 : NDR_PULL_ALLOC(ndr, r->out.returned_size);
11070 64 : NDR_ZERO_STRUCTP(r->out.returned_size);
11071 64 : NDR_PULL_ALLOC(ndr, r->out.info);
11072 64 : NDR_ZERO_STRUCTP(r->out.info);
11073 : }
11074 138 : if (flags & NDR_OUT) {
11075 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
11076 : if (r->in.domain_handle == NULL) {
11077 : NDR_PULL_ALLOC(ndr, r->in.domain_handle);
11078 : NDR_ZERO_STRUCTP(r->in.domain_handle);
11079 : }
11080 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
11081 74 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11082 4 : NDR_PULL_ALLOC(ndr, r->out.total_size);
11083 : }
11084 74 : _mem_save_total_size_0 = NDR_PULL_GET_MEM_CTX(ndr);
11085 74 : NDR_PULL_SET_MEM_CTX(ndr, r->out.total_size, LIBNDR_FLAG_REF_ALLOC);
11086 74 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.total_size));
11087 74 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_total_size_0, LIBNDR_FLAG_REF_ALLOC);
11088 74 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11089 4 : NDR_PULL_ALLOC(ndr, r->out.returned_size);
11090 : }
11091 74 : _mem_save_returned_size_0 = NDR_PULL_GET_MEM_CTX(ndr);
11092 74 : NDR_PULL_SET_MEM_CTX(ndr, r->out.returned_size, LIBNDR_FLAG_REF_ALLOC);
11093 74 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.returned_size));
11094 74 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_returned_size_0, LIBNDR_FLAG_REF_ALLOC);
11095 74 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11096 4 : NDR_PULL_ALLOC(ndr, r->out.info);
11097 : }
11098 74 : _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
11099 74 : NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
11100 74 : NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level));
11101 74 : NDR_CHECK(ndr_pull_samr_DispInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
11102 74 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
11103 74 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11104 : }
11105 138 : return NDR_ERR_SUCCESS;
11106 : }
11107 :
11108 0 : _PUBLIC_ void ndr_print_samr_QueryDisplayInfo2(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryDisplayInfo2 *r)
11109 : {
11110 0 : ndr_print_struct(ndr, name, "samr_QueryDisplayInfo2");
11111 0 : if (r == NULL) { ndr_print_null(ndr); return; }
11112 0 : ndr->depth++;
11113 0 : if (flags & NDR_SET_VALUES) {
11114 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11115 : }
11116 0 : if (flags & NDR_IN) {
11117 0 : ndr_print_struct(ndr, "in", "samr_QueryDisplayInfo2");
11118 0 : ndr->depth++;
11119 0 : ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
11120 0 : ndr->depth++;
11121 0 : ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
11122 0 : ndr->depth--;
11123 0 : ndr_print_uint16(ndr, "level", r->in.level);
11124 0 : ndr_print_uint32(ndr, "start_idx", r->in.start_idx);
11125 0 : ndr_print_uint32(ndr, "max_entries", r->in.max_entries);
11126 0 : ndr_print_uint32(ndr, "buf_size", r->in.buf_size);
11127 0 : ndr->depth--;
11128 : }
11129 0 : if (flags & NDR_OUT) {
11130 0 : ndr_print_struct(ndr, "out", "samr_QueryDisplayInfo2");
11131 0 : ndr->depth++;
11132 0 : ndr_print_ptr(ndr, "total_size", r->out.total_size);
11133 0 : ndr->depth++;
11134 0 : ndr_print_uint32(ndr, "total_size", *r->out.total_size);
11135 0 : ndr->depth--;
11136 0 : ndr_print_ptr(ndr, "returned_size", r->out.returned_size);
11137 0 : ndr->depth++;
11138 0 : ndr_print_uint32(ndr, "returned_size", *r->out.returned_size);
11139 0 : ndr->depth--;
11140 0 : ndr_print_ptr(ndr, "info", r->out.info);
11141 0 : ndr->depth++;
11142 0 : ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
11143 0 : ndr_print_samr_DispInfo(ndr, "info", r->out.info);
11144 0 : ndr->depth--;
11145 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
11146 0 : ndr->depth--;
11147 : }
11148 0 : ndr->depth--;
11149 : }
11150 :
11151 64 : static enum ndr_err_code ndr_push_samr_GetDisplayEnumerationIndex2(struct ndr_push *ndr, int flags, const struct samr_GetDisplayEnumerationIndex2 *r)
11152 : {
11153 64 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
11154 64 : if (flags & NDR_IN) {
11155 44 : if (r->in.domain_handle == NULL) {
11156 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11157 : }
11158 44 : if (r->in.name == NULL) {
11159 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11160 : }
11161 44 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
11162 44 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
11163 44 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
11164 : }
11165 64 : if (flags & NDR_OUT) {
11166 20 : if (r->out.idx == NULL) {
11167 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11168 : }
11169 20 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.idx));
11170 20 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11171 : }
11172 64 : return NDR_ERR_SUCCESS;
11173 : }
11174 :
11175 64 : static enum ndr_err_code ndr_pull_samr_GetDisplayEnumerationIndex2(struct ndr_pull *ndr, int flags, struct samr_GetDisplayEnumerationIndex2 *r)
11176 : {
11177 64 : TALLOC_CTX *_mem_save_domain_handle_0 = NULL;
11178 64 : TALLOC_CTX *_mem_save_name_0 = NULL;
11179 64 : TALLOC_CTX *_mem_save_idx_0 = NULL;
11180 64 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
11181 64 : if (flags & NDR_IN) {
11182 24 : NDR_ZERO_STRUCT(r->out);
11183 :
11184 24 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11185 24 : NDR_PULL_ALLOC(ndr, r->in.domain_handle);
11186 : }
11187 24 : _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
11188 24 : NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
11189 24 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
11190 24 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
11191 24 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
11192 24 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11193 24 : NDR_PULL_ALLOC(ndr, r->in.name);
11194 : }
11195 24 : _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11196 24 : NDR_PULL_SET_MEM_CTX(ndr, r->in.name, LIBNDR_FLAG_REF_ALLOC);
11197 24 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
11198 24 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, LIBNDR_FLAG_REF_ALLOC);
11199 24 : NDR_PULL_ALLOC(ndr, r->out.idx);
11200 24 : NDR_ZERO_STRUCTP(r->out.idx);
11201 : }
11202 64 : if (flags & NDR_OUT) {
11203 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
11204 : if (r->in.domain_handle == NULL) {
11205 : NDR_PULL_ALLOC(ndr, r->in.domain_handle);
11206 : NDR_ZERO_STRUCTP(r->in.domain_handle);
11207 : }
11208 : if (r->in.name == NULL) {
11209 : NDR_PULL_ALLOC(ndr, r->in.name);
11210 : NDR_ZERO_STRUCTP(r->in.name);
11211 : }
11212 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
11213 40 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11214 0 : NDR_PULL_ALLOC(ndr, r->out.idx);
11215 : }
11216 40 : _mem_save_idx_0 = NDR_PULL_GET_MEM_CTX(ndr);
11217 40 : NDR_PULL_SET_MEM_CTX(ndr, r->out.idx, LIBNDR_FLAG_REF_ALLOC);
11218 40 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.idx));
11219 40 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_idx_0, LIBNDR_FLAG_REF_ALLOC);
11220 40 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11221 : }
11222 64 : return NDR_ERR_SUCCESS;
11223 : }
11224 :
11225 0 : _PUBLIC_ void ndr_print_samr_GetDisplayEnumerationIndex2(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetDisplayEnumerationIndex2 *r)
11226 : {
11227 0 : ndr_print_struct(ndr, name, "samr_GetDisplayEnumerationIndex2");
11228 0 : if (r == NULL) { ndr_print_null(ndr); return; }
11229 0 : ndr->depth++;
11230 0 : if (flags & NDR_SET_VALUES) {
11231 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11232 : }
11233 0 : if (flags & NDR_IN) {
11234 0 : ndr_print_struct(ndr, "in", "samr_GetDisplayEnumerationIndex2");
11235 0 : ndr->depth++;
11236 0 : ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
11237 0 : ndr->depth++;
11238 0 : ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
11239 0 : ndr->depth--;
11240 0 : ndr_print_uint16(ndr, "level", r->in.level);
11241 0 : ndr_print_ptr(ndr, "name", r->in.name);
11242 0 : ndr->depth++;
11243 0 : ndr_print_lsa_String(ndr, "name", r->in.name);
11244 0 : ndr->depth--;
11245 0 : ndr->depth--;
11246 : }
11247 0 : if (flags & NDR_OUT) {
11248 0 : ndr_print_struct(ndr, "out", "samr_GetDisplayEnumerationIndex2");
11249 0 : ndr->depth++;
11250 0 : ndr_print_ptr(ndr, "idx", r->out.idx);
11251 0 : ndr->depth++;
11252 0 : ndr_print_uint32(ndr, "idx", *r->out.idx);
11253 0 : ndr->depth--;
11254 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
11255 0 : ndr->depth--;
11256 : }
11257 0 : ndr->depth--;
11258 : }
11259 :
11260 2119 : static enum ndr_err_code ndr_push_samr_CreateUser2(struct ndr_push *ndr, int flags, const struct samr_CreateUser2 *r)
11261 : {
11262 2119 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
11263 2119 : if (flags & NDR_IN) {
11264 1001 : if (r->in.domain_handle == NULL) {
11265 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11266 : }
11267 1001 : if (r->in.account_name == NULL) {
11268 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11269 : }
11270 1001 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
11271 1001 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account_name));
11272 1001 : NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->in.acct_flags));
11273 1091 : NDR_CHECK(ndr_push_samr_UserAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
11274 : }
11275 2119 : if (flags & NDR_OUT) {
11276 1118 : if (r->out.user_handle == NULL) {
11277 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11278 : }
11279 1118 : if (r->out.access_granted == NULL) {
11280 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11281 : }
11282 1118 : if (r->out.rid == NULL) {
11283 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11284 : }
11285 1118 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.user_handle));
11286 1118 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.access_granted));
11287 1118 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.rid));
11288 1118 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11289 : }
11290 1921 : return NDR_ERR_SUCCESS;
11291 : }
11292 :
11293 1999 : static enum ndr_err_code ndr_pull_samr_CreateUser2(struct ndr_pull *ndr, int flags, struct samr_CreateUser2 *r)
11294 : {
11295 1999 : TALLOC_CTX *_mem_save_domain_handle_0 = NULL;
11296 1999 : TALLOC_CTX *_mem_save_account_name_0 = NULL;
11297 1999 : TALLOC_CTX *_mem_save_user_handle_0 = NULL;
11298 1999 : TALLOC_CTX *_mem_save_access_granted_0 = NULL;
11299 1999 : TALLOC_CTX *_mem_save_rid_0 = NULL;
11300 1999 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
11301 1999 : if (flags & NDR_IN) {
11302 998 : NDR_ZERO_STRUCT(r->out);
11303 :
11304 998 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11305 998 : NDR_PULL_ALLOC(ndr, r->in.domain_handle);
11306 : }
11307 998 : _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
11308 998 : NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
11309 998 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
11310 998 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
11311 998 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11312 998 : NDR_PULL_ALLOC(ndr, r->in.account_name);
11313 : }
11314 998 : _mem_save_account_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11315 998 : NDR_PULL_SET_MEM_CTX(ndr, r->in.account_name, LIBNDR_FLAG_REF_ALLOC);
11316 998 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account_name));
11317 998 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_name_0, LIBNDR_FLAG_REF_ALLOC);
11318 998 : NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->in.acct_flags));
11319 1088 : NDR_CHECK(ndr_pull_samr_UserAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
11320 998 : NDR_PULL_ALLOC(ndr, r->out.user_handle);
11321 998 : NDR_ZERO_STRUCTP(r->out.user_handle);
11322 998 : NDR_PULL_ALLOC(ndr, r->out.access_granted);
11323 998 : NDR_ZERO_STRUCTP(r->out.access_granted);
11324 998 : NDR_PULL_ALLOC(ndr, r->out.rid);
11325 998 : NDR_ZERO_STRUCTP(r->out.rid);
11326 : }
11327 1999 : if (flags & NDR_OUT) {
11328 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
11329 : if (r->in.domain_handle == NULL) {
11330 : NDR_PULL_ALLOC(ndr, r->in.domain_handle);
11331 : NDR_ZERO_STRUCTP(r->in.domain_handle);
11332 : }
11333 : if (r->in.account_name == NULL) {
11334 : NDR_PULL_ALLOC(ndr, r->in.account_name);
11335 : NDR_ZERO_STRUCTP(r->in.account_name);
11336 : }
11337 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
11338 1001 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11339 138 : NDR_PULL_ALLOC(ndr, r->out.user_handle);
11340 : }
11341 1001 : _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
11342 1001 : NDR_PULL_SET_MEM_CTX(ndr, r->out.user_handle, LIBNDR_FLAG_REF_ALLOC);
11343 1001 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.user_handle));
11344 1001 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
11345 1001 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11346 138 : NDR_PULL_ALLOC(ndr, r->out.access_granted);
11347 : }
11348 1001 : _mem_save_access_granted_0 = NDR_PULL_GET_MEM_CTX(ndr);
11349 1001 : NDR_PULL_SET_MEM_CTX(ndr, r->out.access_granted, LIBNDR_FLAG_REF_ALLOC);
11350 1001 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.access_granted));
11351 1001 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_access_granted_0, LIBNDR_FLAG_REF_ALLOC);
11352 1001 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11353 138 : NDR_PULL_ALLOC(ndr, r->out.rid);
11354 : }
11355 1001 : _mem_save_rid_0 = NDR_PULL_GET_MEM_CTX(ndr);
11356 1001 : NDR_PULL_SET_MEM_CTX(ndr, r->out.rid, LIBNDR_FLAG_REF_ALLOC);
11357 1001 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.rid));
11358 1001 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rid_0, LIBNDR_FLAG_REF_ALLOC);
11359 1001 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11360 : }
11361 1819 : return NDR_ERR_SUCCESS;
11362 : }
11363 :
11364 250 : _PUBLIC_ void ndr_print_samr_CreateUser2(struct ndr_print *ndr, const char *name, int flags, const struct samr_CreateUser2 *r)
11365 : {
11366 250 : ndr_print_struct(ndr, name, "samr_CreateUser2");
11367 250 : if (r == NULL) { ndr_print_null(ndr); return; }
11368 250 : ndr->depth++;
11369 250 : if (flags & NDR_SET_VALUES) {
11370 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11371 : }
11372 250 : if (flags & NDR_IN) {
11373 0 : ndr_print_struct(ndr, "in", "samr_CreateUser2");
11374 0 : ndr->depth++;
11375 0 : ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
11376 0 : ndr->depth++;
11377 0 : ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
11378 0 : ndr->depth--;
11379 0 : ndr_print_ptr(ndr, "account_name", r->in.account_name);
11380 0 : ndr->depth++;
11381 0 : ndr_print_lsa_String(ndr, "account_name", r->in.account_name);
11382 0 : ndr->depth--;
11383 0 : ndr_print_samr_AcctFlags(ndr, "acct_flags", r->in.acct_flags);
11384 0 : ndr_print_samr_UserAccessMask(ndr, "access_mask", r->in.access_mask);
11385 0 : ndr->depth--;
11386 : }
11387 250 : if (flags & NDR_OUT) {
11388 250 : ndr_print_struct(ndr, "out", "samr_CreateUser2");
11389 250 : ndr->depth++;
11390 250 : ndr_print_ptr(ndr, "user_handle", r->out.user_handle);
11391 250 : ndr->depth++;
11392 250 : ndr_print_policy_handle(ndr, "user_handle", r->out.user_handle);
11393 250 : ndr->depth--;
11394 250 : ndr_print_ptr(ndr, "access_granted", r->out.access_granted);
11395 250 : ndr->depth++;
11396 250 : ndr_print_uint32(ndr, "access_granted", *r->out.access_granted);
11397 250 : ndr->depth--;
11398 250 : ndr_print_ptr(ndr, "rid", r->out.rid);
11399 250 : ndr->depth++;
11400 250 : ndr_print_uint32(ndr, "rid", *r->out.rid);
11401 250 : ndr->depth--;
11402 250 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
11403 250 : ndr->depth--;
11404 : }
11405 250 : ndr->depth--;
11406 : }
11407 :
11408 130 : static enum ndr_err_code ndr_push_samr_QueryDisplayInfo3(struct ndr_push *ndr, int flags, const struct samr_QueryDisplayInfo3 *r)
11409 : {
11410 130 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
11411 130 : if (flags & NDR_IN) {
11412 70 : if (r->in.domain_handle == NULL) {
11413 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11414 : }
11415 70 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
11416 70 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
11417 70 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.start_idx));
11418 70 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_entries));
11419 70 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buf_size));
11420 : }
11421 130 : if (flags & NDR_OUT) {
11422 60 : if (r->out.total_size == NULL) {
11423 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11424 : }
11425 60 : if (r->out.returned_size == NULL) {
11426 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11427 : }
11428 60 : if (r->out.info == NULL) {
11429 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11430 : }
11431 60 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.total_size));
11432 60 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.returned_size));
11433 60 : NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level));
11434 60 : NDR_CHECK(ndr_push_samr_DispInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
11435 60 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11436 : }
11437 130 : return NDR_ERR_SUCCESS;
11438 : }
11439 :
11440 130 : static enum ndr_err_code ndr_pull_samr_QueryDisplayInfo3(struct ndr_pull *ndr, int flags, struct samr_QueryDisplayInfo3 *r)
11441 : {
11442 130 : TALLOC_CTX *_mem_save_domain_handle_0 = NULL;
11443 130 : TALLOC_CTX *_mem_save_total_size_0 = NULL;
11444 130 : TALLOC_CTX *_mem_save_returned_size_0 = NULL;
11445 130 : TALLOC_CTX *_mem_save_info_0 = NULL;
11446 130 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
11447 130 : if (flags & NDR_IN) {
11448 60 : NDR_ZERO_STRUCT(r->out);
11449 :
11450 60 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11451 60 : NDR_PULL_ALLOC(ndr, r->in.domain_handle);
11452 : }
11453 60 : _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
11454 60 : NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
11455 60 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
11456 60 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
11457 60 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
11458 60 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.start_idx));
11459 60 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_entries));
11460 60 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buf_size));
11461 60 : NDR_PULL_ALLOC(ndr, r->out.total_size);
11462 60 : NDR_ZERO_STRUCTP(r->out.total_size);
11463 60 : NDR_PULL_ALLOC(ndr, r->out.returned_size);
11464 60 : NDR_ZERO_STRUCTP(r->out.returned_size);
11465 60 : NDR_PULL_ALLOC(ndr, r->out.info);
11466 60 : NDR_ZERO_STRUCTP(r->out.info);
11467 : }
11468 130 : if (flags & NDR_OUT) {
11469 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
11470 : if (r->in.domain_handle == NULL) {
11471 : NDR_PULL_ALLOC(ndr, r->in.domain_handle);
11472 : NDR_ZERO_STRUCTP(r->in.domain_handle);
11473 : }
11474 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
11475 70 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11476 0 : NDR_PULL_ALLOC(ndr, r->out.total_size);
11477 : }
11478 70 : _mem_save_total_size_0 = NDR_PULL_GET_MEM_CTX(ndr);
11479 70 : NDR_PULL_SET_MEM_CTX(ndr, r->out.total_size, LIBNDR_FLAG_REF_ALLOC);
11480 70 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.total_size));
11481 70 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_total_size_0, LIBNDR_FLAG_REF_ALLOC);
11482 70 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11483 0 : NDR_PULL_ALLOC(ndr, r->out.returned_size);
11484 : }
11485 70 : _mem_save_returned_size_0 = NDR_PULL_GET_MEM_CTX(ndr);
11486 70 : NDR_PULL_SET_MEM_CTX(ndr, r->out.returned_size, LIBNDR_FLAG_REF_ALLOC);
11487 70 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.returned_size));
11488 70 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_returned_size_0, LIBNDR_FLAG_REF_ALLOC);
11489 70 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11490 0 : NDR_PULL_ALLOC(ndr, r->out.info);
11491 : }
11492 70 : _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
11493 70 : NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
11494 70 : NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level));
11495 70 : NDR_CHECK(ndr_pull_samr_DispInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
11496 70 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
11497 70 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11498 : }
11499 130 : return NDR_ERR_SUCCESS;
11500 : }
11501 :
11502 0 : _PUBLIC_ void ndr_print_samr_QueryDisplayInfo3(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryDisplayInfo3 *r)
11503 : {
11504 0 : ndr_print_struct(ndr, name, "samr_QueryDisplayInfo3");
11505 0 : if (r == NULL) { ndr_print_null(ndr); return; }
11506 0 : ndr->depth++;
11507 0 : if (flags & NDR_SET_VALUES) {
11508 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11509 : }
11510 0 : if (flags & NDR_IN) {
11511 0 : ndr_print_struct(ndr, "in", "samr_QueryDisplayInfo3");
11512 0 : ndr->depth++;
11513 0 : ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
11514 0 : ndr->depth++;
11515 0 : ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
11516 0 : ndr->depth--;
11517 0 : ndr_print_uint16(ndr, "level", r->in.level);
11518 0 : ndr_print_uint32(ndr, "start_idx", r->in.start_idx);
11519 0 : ndr_print_uint32(ndr, "max_entries", r->in.max_entries);
11520 0 : ndr_print_uint32(ndr, "buf_size", r->in.buf_size);
11521 0 : ndr->depth--;
11522 : }
11523 0 : if (flags & NDR_OUT) {
11524 0 : ndr_print_struct(ndr, "out", "samr_QueryDisplayInfo3");
11525 0 : ndr->depth++;
11526 0 : ndr_print_ptr(ndr, "total_size", r->out.total_size);
11527 0 : ndr->depth++;
11528 0 : ndr_print_uint32(ndr, "total_size", *r->out.total_size);
11529 0 : ndr->depth--;
11530 0 : ndr_print_ptr(ndr, "returned_size", r->out.returned_size);
11531 0 : ndr->depth++;
11532 0 : ndr_print_uint32(ndr, "returned_size", *r->out.returned_size);
11533 0 : ndr->depth--;
11534 0 : ndr_print_ptr(ndr, "info", r->out.info);
11535 0 : ndr->depth++;
11536 0 : ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
11537 0 : ndr_print_samr_DispInfo(ndr, "info", r->out.info);
11538 0 : ndr->depth--;
11539 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
11540 0 : ndr->depth--;
11541 : }
11542 0 : ndr->depth--;
11543 : }
11544 :
11545 0 : static enum ndr_err_code ndr_push_samr_AddMultipleMembersToAlias(struct ndr_push *ndr, int flags, const struct samr_AddMultipleMembersToAlias *r)
11546 : {
11547 0 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
11548 0 : if (flags & NDR_IN) {
11549 0 : if (r->in.alias_handle == NULL) {
11550 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11551 : }
11552 0 : if (r->in.sids == NULL) {
11553 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11554 : }
11555 0 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
11556 0 : NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids));
11557 : }
11558 0 : if (flags & NDR_OUT) {
11559 0 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11560 : }
11561 0 : return NDR_ERR_SUCCESS;
11562 : }
11563 :
11564 0 : static enum ndr_err_code ndr_pull_samr_AddMultipleMembersToAlias(struct ndr_pull *ndr, int flags, struct samr_AddMultipleMembersToAlias *r)
11565 : {
11566 0 : TALLOC_CTX *_mem_save_alias_handle_0 = NULL;
11567 0 : TALLOC_CTX *_mem_save_sids_0 = NULL;
11568 0 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
11569 0 : if (flags & NDR_IN) {
11570 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11571 0 : NDR_PULL_ALLOC(ndr, r->in.alias_handle);
11572 : }
11573 0 : _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
11574 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_handle, LIBNDR_FLAG_REF_ALLOC);
11575 0 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
11576 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
11577 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11578 0 : NDR_PULL_ALLOC(ndr, r->in.sids);
11579 : }
11580 0 : _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
11581 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.sids, LIBNDR_FLAG_REF_ALLOC);
11582 0 : NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids));
11583 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC);
11584 : }
11585 0 : if (flags & NDR_OUT) {
11586 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
11587 : if (r->in.alias_handle == NULL) {
11588 : NDR_PULL_ALLOC(ndr, r->in.alias_handle);
11589 : NDR_ZERO_STRUCTP(r->in.alias_handle);
11590 : }
11591 : if (r->in.sids == NULL) {
11592 : NDR_PULL_ALLOC(ndr, r->in.sids);
11593 : NDR_ZERO_STRUCTP(r->in.sids);
11594 : }
11595 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
11596 0 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11597 : }
11598 0 : return NDR_ERR_SUCCESS;
11599 : }
11600 :
11601 0 : _PUBLIC_ void ndr_print_samr_AddMultipleMembersToAlias(struct ndr_print *ndr, const char *name, int flags, const struct samr_AddMultipleMembersToAlias *r)
11602 : {
11603 0 : ndr_print_struct(ndr, name, "samr_AddMultipleMembersToAlias");
11604 0 : if (r == NULL) { ndr_print_null(ndr); return; }
11605 0 : ndr->depth++;
11606 0 : if (flags & NDR_SET_VALUES) {
11607 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11608 : }
11609 0 : if (flags & NDR_IN) {
11610 0 : ndr_print_struct(ndr, "in", "samr_AddMultipleMembersToAlias");
11611 0 : ndr->depth++;
11612 0 : ndr_print_ptr(ndr, "alias_handle", r->in.alias_handle);
11613 0 : ndr->depth++;
11614 0 : ndr_print_policy_handle(ndr, "alias_handle", r->in.alias_handle);
11615 0 : ndr->depth--;
11616 0 : ndr_print_ptr(ndr, "sids", r->in.sids);
11617 0 : ndr->depth++;
11618 0 : ndr_print_lsa_SidArray(ndr, "sids", r->in.sids);
11619 0 : ndr->depth--;
11620 0 : ndr->depth--;
11621 : }
11622 0 : if (flags & NDR_OUT) {
11623 0 : ndr_print_struct(ndr, "out", "samr_AddMultipleMembersToAlias");
11624 0 : ndr->depth++;
11625 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
11626 0 : ndr->depth--;
11627 : }
11628 0 : ndr->depth--;
11629 : }
11630 :
11631 0 : static enum ndr_err_code ndr_push_samr_RemoveMultipleMembersFromAlias(struct ndr_push *ndr, int flags, const struct samr_RemoveMultipleMembersFromAlias *r)
11632 : {
11633 0 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
11634 0 : if (flags & NDR_IN) {
11635 0 : if (r->in.alias_handle == NULL) {
11636 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11637 : }
11638 0 : if (r->in.sids == NULL) {
11639 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11640 : }
11641 0 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
11642 0 : NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids));
11643 : }
11644 0 : if (flags & NDR_OUT) {
11645 0 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11646 : }
11647 0 : return NDR_ERR_SUCCESS;
11648 : }
11649 :
11650 0 : static enum ndr_err_code ndr_pull_samr_RemoveMultipleMembersFromAlias(struct ndr_pull *ndr, int flags, struct samr_RemoveMultipleMembersFromAlias *r)
11651 : {
11652 0 : TALLOC_CTX *_mem_save_alias_handle_0 = NULL;
11653 0 : TALLOC_CTX *_mem_save_sids_0 = NULL;
11654 0 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
11655 0 : if (flags & NDR_IN) {
11656 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11657 0 : NDR_PULL_ALLOC(ndr, r->in.alias_handle);
11658 : }
11659 0 : _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
11660 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_handle, LIBNDR_FLAG_REF_ALLOC);
11661 0 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
11662 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
11663 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11664 0 : NDR_PULL_ALLOC(ndr, r->in.sids);
11665 : }
11666 0 : _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
11667 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.sids, LIBNDR_FLAG_REF_ALLOC);
11668 0 : NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids));
11669 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC);
11670 : }
11671 0 : if (flags & NDR_OUT) {
11672 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
11673 : if (r->in.alias_handle == NULL) {
11674 : NDR_PULL_ALLOC(ndr, r->in.alias_handle);
11675 : NDR_ZERO_STRUCTP(r->in.alias_handle);
11676 : }
11677 : if (r->in.sids == NULL) {
11678 : NDR_PULL_ALLOC(ndr, r->in.sids);
11679 : NDR_ZERO_STRUCTP(r->in.sids);
11680 : }
11681 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
11682 0 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11683 : }
11684 0 : return NDR_ERR_SUCCESS;
11685 : }
11686 :
11687 0 : _PUBLIC_ void ndr_print_samr_RemoveMultipleMembersFromAlias(struct ndr_print *ndr, const char *name, int flags, const struct samr_RemoveMultipleMembersFromAlias *r)
11688 : {
11689 0 : ndr_print_struct(ndr, name, "samr_RemoveMultipleMembersFromAlias");
11690 0 : if (r == NULL) { ndr_print_null(ndr); return; }
11691 0 : ndr->depth++;
11692 0 : if (flags & NDR_SET_VALUES) {
11693 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11694 : }
11695 0 : if (flags & NDR_IN) {
11696 0 : ndr_print_struct(ndr, "in", "samr_RemoveMultipleMembersFromAlias");
11697 0 : ndr->depth++;
11698 0 : ndr_print_ptr(ndr, "alias_handle", r->in.alias_handle);
11699 0 : ndr->depth++;
11700 0 : ndr_print_policy_handle(ndr, "alias_handle", r->in.alias_handle);
11701 0 : ndr->depth--;
11702 0 : ndr_print_ptr(ndr, "sids", r->in.sids);
11703 0 : ndr->depth++;
11704 0 : ndr_print_lsa_SidArray(ndr, "sids", r->in.sids);
11705 0 : ndr->depth--;
11706 0 : ndr->depth--;
11707 : }
11708 0 : if (flags & NDR_OUT) {
11709 0 : ndr_print_struct(ndr, "out", "samr_RemoveMultipleMembersFromAlias");
11710 0 : ndr->depth++;
11711 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
11712 0 : ndr->depth--;
11713 : }
11714 0 : ndr->depth--;
11715 : }
11716 :
11717 120 : static enum ndr_err_code ndr_push_samr_OemChangePasswordUser2(struct ndr_push *ndr, int flags, const struct samr_OemChangePasswordUser2 *r)
11718 : {
11719 120 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
11720 120 : if (flags & NDR_IN) {
11721 61 : if (r->in.account == NULL) {
11722 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11723 : }
11724 61 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server));
11725 61 : if (r->in.server) {
11726 61 : NDR_CHECK(ndr_push_lsa_AsciiString(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.server));
11727 : }
11728 61 : NDR_CHECK(ndr_push_lsa_AsciiString(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account));
11729 61 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.password));
11730 61 : if (r->in.password) {
11731 53 : NDR_CHECK(ndr_push_samr_CryptPassword(ndr, NDR_SCALARS, r->in.password));
11732 : }
11733 61 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.hash));
11734 61 : if (r->in.hash) {
11735 45 : NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.hash));
11736 : }
11737 : }
11738 120 : if (flags & NDR_OUT) {
11739 59 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11740 : }
11741 120 : return NDR_ERR_SUCCESS;
11742 : }
11743 :
11744 120 : static enum ndr_err_code ndr_pull_samr_OemChangePasswordUser2(struct ndr_pull *ndr, int flags, struct samr_OemChangePasswordUser2 *r)
11745 : {
11746 : uint32_t _ptr_server;
11747 : uint32_t _ptr_password;
11748 : uint32_t _ptr_hash;
11749 120 : TALLOC_CTX *_mem_save_server_0 = NULL;
11750 120 : TALLOC_CTX *_mem_save_account_0 = NULL;
11751 120 : TALLOC_CTX *_mem_save_password_0 = NULL;
11752 120 : TALLOC_CTX *_mem_save_hash_0 = NULL;
11753 120 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
11754 120 : if (flags & NDR_IN) {
11755 59 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server));
11756 59 : if (_ptr_server) {
11757 59 : NDR_PULL_ALLOC(ndr, r->in.server);
11758 : } else {
11759 0 : r->in.server = NULL;
11760 : }
11761 59 : if (r->in.server) {
11762 59 : _mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
11763 59 : NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0);
11764 59 : NDR_CHECK(ndr_pull_lsa_AsciiString(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.server));
11765 59 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0);
11766 : }
11767 59 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11768 59 : NDR_PULL_ALLOC(ndr, r->in.account);
11769 : }
11770 59 : _mem_save_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
11771 59 : NDR_PULL_SET_MEM_CTX(ndr, r->in.account, LIBNDR_FLAG_REF_ALLOC);
11772 59 : NDR_CHECK(ndr_pull_lsa_AsciiString(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account));
11773 59 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_0, LIBNDR_FLAG_REF_ALLOC);
11774 59 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
11775 59 : if (_ptr_password) {
11776 51 : NDR_PULL_ALLOC(ndr, r->in.password);
11777 : } else {
11778 8 : r->in.password = NULL;
11779 : }
11780 59 : if (r->in.password) {
11781 51 : _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
11782 51 : NDR_PULL_SET_MEM_CTX(ndr, r->in.password, 0);
11783 51 : NDR_CHECK(ndr_pull_samr_CryptPassword(ndr, NDR_SCALARS, r->in.password));
11784 51 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
11785 : }
11786 59 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_hash));
11787 59 : if (_ptr_hash) {
11788 43 : NDR_PULL_ALLOC(ndr, r->in.hash);
11789 : } else {
11790 16 : r->in.hash = NULL;
11791 : }
11792 59 : if (r->in.hash) {
11793 43 : _mem_save_hash_0 = NDR_PULL_GET_MEM_CTX(ndr);
11794 43 : NDR_PULL_SET_MEM_CTX(ndr, r->in.hash, 0);
11795 43 : NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.hash));
11796 43 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_hash_0, 0);
11797 : }
11798 : }
11799 120 : if (flags & NDR_OUT) {
11800 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
11801 : if (r->in.account == NULL) {
11802 : NDR_PULL_ALLOC(ndr, r->in.account);
11803 : NDR_ZERO_STRUCTP(r->in.account);
11804 : }
11805 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
11806 61 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11807 : }
11808 120 : return NDR_ERR_SUCCESS;
11809 : }
11810 :
11811 0 : _PUBLIC_ void ndr_print_samr_OemChangePasswordUser2(struct ndr_print *ndr, const char *name, int flags, const struct samr_OemChangePasswordUser2 *r)
11812 : {
11813 0 : ndr_print_struct(ndr, name, "samr_OemChangePasswordUser2");
11814 0 : if (r == NULL) { ndr_print_null(ndr); return; }
11815 0 : ndr->depth++;
11816 0 : if (flags & NDR_SET_VALUES) {
11817 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11818 : }
11819 0 : if (flags & NDR_IN) {
11820 0 : ndr_print_struct(ndr, "in", "samr_OemChangePasswordUser2");
11821 0 : ndr->depth++;
11822 0 : ndr_print_ptr(ndr, "server", r->in.server);
11823 0 : ndr->depth++;
11824 0 : if (r->in.server) {
11825 0 : ndr_print_lsa_AsciiString(ndr, "server", r->in.server);
11826 : }
11827 0 : ndr->depth--;
11828 0 : ndr_print_ptr(ndr, "account", r->in.account);
11829 0 : ndr->depth++;
11830 0 : ndr_print_lsa_AsciiString(ndr, "account", r->in.account);
11831 0 : ndr->depth--;
11832 0 : ndr_print_ptr(ndr, "password", r->in.password);
11833 0 : ndr->depth++;
11834 0 : if (r->in.password) {
11835 0 : ndr_print_samr_CryptPassword(ndr, "password", r->in.password);
11836 : }
11837 0 : ndr->depth--;
11838 0 : ndr_print_ptr(ndr, "hash", r->in.hash);
11839 0 : ndr->depth++;
11840 0 : if (r->in.hash) {
11841 0 : ndr_print_samr_Password(ndr, "hash", r->in.hash);
11842 : }
11843 0 : ndr->depth--;
11844 0 : ndr->depth--;
11845 : }
11846 0 : if (flags & NDR_OUT) {
11847 0 : ndr_print_struct(ndr, "out", "samr_OemChangePasswordUser2");
11848 0 : ndr->depth++;
11849 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
11850 0 : ndr->depth--;
11851 : }
11852 0 : ndr->depth--;
11853 : }
11854 :
11855 294 : static enum ndr_err_code ndr_push_samr_ChangePasswordUser2(struct ndr_push *ndr, int flags, const struct samr_ChangePasswordUser2 *r)
11856 : {
11857 294 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
11858 294 : if (flags & NDR_IN) {
11859 148 : if (r->in.account == NULL) {
11860 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11861 : }
11862 148 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server));
11863 148 : if (r->in.server) {
11864 148 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.server));
11865 : }
11866 148 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account));
11867 148 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.nt_password));
11868 148 : if (r->in.nt_password) {
11869 141 : NDR_CHECK(ndr_push_samr_CryptPassword(ndr, NDR_SCALARS, r->in.nt_password));
11870 : }
11871 148 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.nt_verifier));
11872 148 : if (r->in.nt_verifier) {
11873 141 : NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.nt_verifier));
11874 : }
11875 148 : NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.lm_change));
11876 148 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.lm_password));
11877 148 : if (r->in.lm_password) {
11878 141 : NDR_CHECK(ndr_push_samr_CryptPassword(ndr, NDR_SCALARS, r->in.lm_password));
11879 : }
11880 148 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.lm_verifier));
11881 148 : if (r->in.lm_verifier) {
11882 141 : NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.lm_verifier));
11883 : }
11884 : }
11885 294 : if (flags & NDR_OUT) {
11886 146 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11887 : }
11888 294 : return NDR_ERR_SUCCESS;
11889 : }
11890 :
11891 294 : static enum ndr_err_code ndr_pull_samr_ChangePasswordUser2(struct ndr_pull *ndr, int flags, struct samr_ChangePasswordUser2 *r)
11892 : {
11893 : uint32_t _ptr_server;
11894 : uint32_t _ptr_nt_password;
11895 : uint32_t _ptr_nt_verifier;
11896 : uint32_t _ptr_lm_password;
11897 : uint32_t _ptr_lm_verifier;
11898 294 : TALLOC_CTX *_mem_save_server_0 = NULL;
11899 294 : TALLOC_CTX *_mem_save_account_0 = NULL;
11900 294 : TALLOC_CTX *_mem_save_nt_password_0 = NULL;
11901 294 : TALLOC_CTX *_mem_save_nt_verifier_0 = NULL;
11902 294 : TALLOC_CTX *_mem_save_lm_password_0 = NULL;
11903 294 : TALLOC_CTX *_mem_save_lm_verifier_0 = NULL;
11904 294 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
11905 294 : if (flags & NDR_IN) {
11906 146 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server));
11907 146 : if (_ptr_server) {
11908 146 : NDR_PULL_ALLOC(ndr, r->in.server);
11909 : } else {
11910 0 : r->in.server = NULL;
11911 : }
11912 146 : if (r->in.server) {
11913 146 : _mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
11914 146 : NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0);
11915 146 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.server));
11916 146 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0);
11917 : }
11918 146 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11919 146 : NDR_PULL_ALLOC(ndr, r->in.account);
11920 : }
11921 146 : _mem_save_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
11922 146 : NDR_PULL_SET_MEM_CTX(ndr, r->in.account, LIBNDR_FLAG_REF_ALLOC);
11923 146 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account));
11924 146 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_0, LIBNDR_FLAG_REF_ALLOC);
11925 146 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_nt_password));
11926 146 : if (_ptr_nt_password) {
11927 141 : NDR_PULL_ALLOC(ndr, r->in.nt_password);
11928 : } else {
11929 5 : r->in.nt_password = NULL;
11930 : }
11931 146 : if (r->in.nt_password) {
11932 141 : _mem_save_nt_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
11933 141 : NDR_PULL_SET_MEM_CTX(ndr, r->in.nt_password, 0);
11934 141 : NDR_CHECK(ndr_pull_samr_CryptPassword(ndr, NDR_SCALARS, r->in.nt_password));
11935 141 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_nt_password_0, 0);
11936 : }
11937 146 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_nt_verifier));
11938 146 : if (_ptr_nt_verifier) {
11939 141 : NDR_PULL_ALLOC(ndr, r->in.nt_verifier);
11940 : } else {
11941 5 : r->in.nt_verifier = NULL;
11942 : }
11943 146 : if (r->in.nt_verifier) {
11944 141 : _mem_save_nt_verifier_0 = NDR_PULL_GET_MEM_CTX(ndr);
11945 141 : NDR_PULL_SET_MEM_CTX(ndr, r->in.nt_verifier, 0);
11946 141 : NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.nt_verifier));
11947 141 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_nt_verifier_0, 0);
11948 : }
11949 146 : NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.lm_change));
11950 146 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_lm_password));
11951 146 : if (_ptr_lm_password) {
11952 141 : NDR_PULL_ALLOC(ndr, r->in.lm_password);
11953 : } else {
11954 5 : r->in.lm_password = NULL;
11955 : }
11956 146 : if (r->in.lm_password) {
11957 141 : _mem_save_lm_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
11958 141 : NDR_PULL_SET_MEM_CTX(ndr, r->in.lm_password, 0);
11959 141 : NDR_CHECK(ndr_pull_samr_CryptPassword(ndr, NDR_SCALARS, r->in.lm_password));
11960 141 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lm_password_0, 0);
11961 : }
11962 146 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_lm_verifier));
11963 146 : if (_ptr_lm_verifier) {
11964 141 : NDR_PULL_ALLOC(ndr, r->in.lm_verifier);
11965 : } else {
11966 5 : r->in.lm_verifier = NULL;
11967 : }
11968 146 : if (r->in.lm_verifier) {
11969 141 : _mem_save_lm_verifier_0 = NDR_PULL_GET_MEM_CTX(ndr);
11970 141 : NDR_PULL_SET_MEM_CTX(ndr, r->in.lm_verifier, 0);
11971 141 : NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.lm_verifier));
11972 141 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lm_verifier_0, 0);
11973 : }
11974 : }
11975 294 : if (flags & NDR_OUT) {
11976 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
11977 : if (r->in.account == NULL) {
11978 : NDR_PULL_ALLOC(ndr, r->in.account);
11979 : NDR_ZERO_STRUCTP(r->in.account);
11980 : }
11981 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
11982 148 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11983 : }
11984 294 : return NDR_ERR_SUCCESS;
11985 : }
11986 :
11987 0 : _PUBLIC_ void ndr_print_samr_ChangePasswordUser2(struct ndr_print *ndr, const char *name, int flags, const struct samr_ChangePasswordUser2 *r)
11988 : {
11989 0 : ndr_print_struct(ndr, name, "samr_ChangePasswordUser2");
11990 0 : if (r == NULL) { ndr_print_null(ndr); return; }
11991 0 : ndr->depth++;
11992 0 : if (flags & NDR_SET_VALUES) {
11993 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11994 : }
11995 0 : if (flags & NDR_IN) {
11996 0 : ndr_print_struct(ndr, "in", "samr_ChangePasswordUser2");
11997 0 : ndr->depth++;
11998 0 : ndr_print_ptr(ndr, "server", r->in.server);
11999 0 : ndr->depth++;
12000 0 : if (r->in.server) {
12001 0 : ndr_print_lsa_String(ndr, "server", r->in.server);
12002 : }
12003 0 : ndr->depth--;
12004 0 : ndr_print_ptr(ndr, "account", r->in.account);
12005 0 : ndr->depth++;
12006 0 : ndr_print_lsa_String(ndr, "account", r->in.account);
12007 0 : ndr->depth--;
12008 0 : ndr_print_ptr(ndr, "nt_password", r->in.nt_password);
12009 0 : ndr->depth++;
12010 0 : if (r->in.nt_password) {
12011 0 : ndr_print_samr_CryptPassword(ndr, "nt_password", r->in.nt_password);
12012 : }
12013 0 : ndr->depth--;
12014 0 : ndr_print_ptr(ndr, "nt_verifier", r->in.nt_verifier);
12015 0 : ndr->depth++;
12016 0 : if (r->in.nt_verifier) {
12017 0 : ndr_print_samr_Password(ndr, "nt_verifier", r->in.nt_verifier);
12018 : }
12019 0 : ndr->depth--;
12020 0 : ndr_print_uint8(ndr, "lm_change", r->in.lm_change);
12021 0 : ndr_print_ptr(ndr, "lm_password", r->in.lm_password);
12022 0 : ndr->depth++;
12023 0 : if (r->in.lm_password) {
12024 0 : ndr_print_samr_CryptPassword(ndr, "lm_password", r->in.lm_password);
12025 : }
12026 0 : ndr->depth--;
12027 0 : ndr_print_ptr(ndr, "lm_verifier", r->in.lm_verifier);
12028 0 : ndr->depth++;
12029 0 : if (r->in.lm_verifier) {
12030 0 : ndr_print_samr_Password(ndr, "lm_verifier", r->in.lm_verifier);
12031 : }
12032 0 : ndr->depth--;
12033 0 : ndr->depth--;
12034 : }
12035 0 : if (flags & NDR_OUT) {
12036 0 : ndr_print_struct(ndr, "out", "samr_ChangePasswordUser2");
12037 0 : ndr->depth++;
12038 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
12039 0 : ndr->depth--;
12040 : }
12041 0 : ndr->depth--;
12042 : }
12043 :
12044 8732 : static enum ndr_err_code ndr_push_samr_GetDomPwInfo(struct ndr_push *ndr, int flags, const struct samr_GetDomPwInfo *r)
12045 : {
12046 8732 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
12047 8732 : if (flags & NDR_IN) {
12048 4084 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
12049 4084 : if (r->in.domain_name) {
12050 4084 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domain_name));
12051 : }
12052 : }
12053 8732 : if (flags & NDR_OUT) {
12054 4648 : if (r->out.info == NULL) {
12055 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12056 : }
12057 4648 : NDR_CHECK(ndr_push_samr_PwInfo(ndr, NDR_SCALARS, r->out.info));
12058 4648 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12059 : }
12060 7412 : return NDR_ERR_SUCCESS;
12061 : }
12062 :
12063 8012 : static enum ndr_err_code ndr_pull_samr_GetDomPwInfo(struct ndr_pull *ndr, int flags, struct samr_GetDomPwInfo *r)
12064 : {
12065 : uint32_t _ptr_domain_name;
12066 8012 : TALLOC_CTX *_mem_save_domain_name_0 = NULL;
12067 8012 : TALLOC_CTX *_mem_save_info_0 = NULL;
12068 8012 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
12069 8012 : if (flags & NDR_IN) {
12070 3928 : NDR_ZERO_STRUCT(r->out);
12071 :
12072 3928 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
12073 3928 : if (_ptr_domain_name) {
12074 3928 : NDR_PULL_ALLOC(ndr, r->in.domain_name);
12075 : } else {
12076 0 : r->in.domain_name = NULL;
12077 : }
12078 3928 : if (r->in.domain_name) {
12079 3928 : _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12080 3928 : NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
12081 3928 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domain_name));
12082 3928 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
12083 : }
12084 3928 : NDR_PULL_ALLOC(ndr, r->out.info);
12085 3928 : NDR_ZERO_STRUCTP(r->out.info);
12086 : }
12087 8012 : if (flags & NDR_OUT) {
12088 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
12089 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
12090 4084 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12091 720 : NDR_PULL_ALLOC(ndr, r->out.info);
12092 : }
12093 4084 : _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
12094 4084 : NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
12095 4084 : NDR_CHECK(ndr_pull_samr_PwInfo(ndr, NDR_SCALARS, r->out.info));
12096 4084 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
12097 4084 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12098 : }
12099 6812 : return NDR_ERR_SUCCESS;
12100 : }
12101 :
12102 1440 : _PUBLIC_ void ndr_print_samr_GetDomPwInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetDomPwInfo *r)
12103 : {
12104 1440 : ndr_print_struct(ndr, name, "samr_GetDomPwInfo");
12105 1440 : if (r == NULL) { ndr_print_null(ndr); return; }
12106 1440 : ndr->depth++;
12107 1440 : if (flags & NDR_SET_VALUES) {
12108 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12109 : }
12110 1440 : if (flags & NDR_IN) {
12111 0 : ndr_print_struct(ndr, "in", "samr_GetDomPwInfo");
12112 0 : ndr->depth++;
12113 0 : ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
12114 0 : ndr->depth++;
12115 0 : if (r->in.domain_name) {
12116 0 : ndr_print_lsa_String(ndr, "domain_name", r->in.domain_name);
12117 : }
12118 0 : ndr->depth--;
12119 0 : ndr->depth--;
12120 : }
12121 1440 : if (flags & NDR_OUT) {
12122 1440 : ndr_print_struct(ndr, "out", "samr_GetDomPwInfo");
12123 1440 : ndr->depth++;
12124 1440 : ndr_print_ptr(ndr, "info", r->out.info);
12125 1440 : ndr->depth++;
12126 1440 : ndr_print_samr_PwInfo(ndr, "info", r->out.info);
12127 1440 : ndr->depth--;
12128 1440 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
12129 1440 : ndr->depth--;
12130 : }
12131 1440 : ndr->depth--;
12132 : }
12133 :
12134 1292 : static enum ndr_err_code ndr_push_samr_Connect2(struct ndr_push *ndr, int flags, const struct samr_Connect2 *r)
12135 : {
12136 1292 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
12137 1292 : if (flags & NDR_IN) {
12138 633 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name));
12139 633 : if (r->in.system_name) {
12140 267 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16)));
12141 267 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
12142 267 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16)));
12143 267 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.system_name, ndr_charset_length(r->in.system_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
12144 : }
12145 633 : NDR_CHECK(ndr_push_samr_ConnectAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
12146 : }
12147 1292 : if (flags & NDR_OUT) {
12148 659 : if (r->out.connect_handle == NULL) {
12149 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12150 : }
12151 659 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
12152 659 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12153 : }
12154 1290 : return NDR_ERR_SUCCESS;
12155 : }
12156 :
12157 1292 : static enum ndr_err_code ndr_pull_samr_Connect2(struct ndr_pull *ndr, int flags, struct samr_Connect2 *r)
12158 : {
12159 : uint32_t _ptr_system_name;
12160 1292 : uint32_t size_system_name_1 = 0;
12161 1292 : uint32_t length_system_name_1 = 0;
12162 1292 : TALLOC_CTX *_mem_save_system_name_0 = NULL;
12163 1292 : TALLOC_CTX *_mem_save_connect_handle_0 = NULL;
12164 1292 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
12165 1292 : if (flags & NDR_IN) {
12166 659 : NDR_ZERO_STRUCT(r->out);
12167 :
12168 659 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name));
12169 659 : if (_ptr_system_name) {
12170 312 : NDR_PULL_ALLOC(ndr, r->in.system_name);
12171 : } else {
12172 347 : r->in.system_name = NULL;
12173 : }
12174 659 : if (r->in.system_name) {
12175 312 : _mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12176 312 : NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0);
12177 312 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.system_name));
12178 312 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.system_name));
12179 312 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.system_name, &size_system_name_1));
12180 312 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.system_name, &length_system_name_1));
12181 312 : if (length_system_name_1 > size_system_name_1) {
12182 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_system_name_1, length_system_name_1);
12183 : }
12184 312 : NDR_CHECK(ndr_check_string_terminator(ndr, length_system_name_1, sizeof(uint16_t)));
12185 312 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.system_name, length_system_name_1, sizeof(uint16_t), CH_UTF16));
12186 312 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0);
12187 : }
12188 661 : NDR_CHECK(ndr_pull_samr_ConnectAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
12189 659 : NDR_PULL_ALLOC(ndr, r->out.connect_handle);
12190 659 : NDR_ZERO_STRUCTP(r->out.connect_handle);
12191 : }
12192 1292 : if (flags & NDR_OUT) {
12193 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
12194 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
12195 633 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12196 423 : NDR_PULL_ALLOC(ndr, r->out.connect_handle);
12197 : }
12198 633 : _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
12199 633 : NDR_PULL_SET_MEM_CTX(ndr, r->out.connect_handle, LIBNDR_FLAG_REF_ALLOC);
12200 633 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
12201 633 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
12202 633 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12203 : }
12204 1290 : return NDR_ERR_SUCCESS;
12205 : }
12206 :
12207 0 : _PUBLIC_ void ndr_print_samr_Connect2(struct ndr_print *ndr, const char *name, int flags, const struct samr_Connect2 *r)
12208 : {
12209 0 : ndr_print_struct(ndr, name, "samr_Connect2");
12210 0 : if (r == NULL) { ndr_print_null(ndr); return; }
12211 0 : ndr->depth++;
12212 0 : if (flags & NDR_SET_VALUES) {
12213 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12214 : }
12215 0 : if (flags & NDR_IN) {
12216 0 : ndr_print_struct(ndr, "in", "samr_Connect2");
12217 0 : ndr->depth++;
12218 0 : ndr_print_ptr(ndr, "system_name", r->in.system_name);
12219 0 : ndr->depth++;
12220 0 : if (r->in.system_name) {
12221 0 : ndr_print_string(ndr, "system_name", r->in.system_name);
12222 : }
12223 0 : ndr->depth--;
12224 0 : ndr_print_samr_ConnectAccessMask(ndr, "access_mask", r->in.access_mask);
12225 0 : ndr->depth--;
12226 : }
12227 0 : if (flags & NDR_OUT) {
12228 0 : ndr_print_struct(ndr, "out", "samr_Connect2");
12229 0 : ndr->depth++;
12230 0 : ndr_print_ptr(ndr, "connect_handle", r->out.connect_handle);
12231 0 : ndr->depth++;
12232 0 : ndr_print_policy_handle(ndr, "connect_handle", r->out.connect_handle);
12233 0 : ndr->depth--;
12234 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
12235 0 : ndr->depth--;
12236 : }
12237 0 : ndr->depth--;
12238 : }
12239 :
12240 4253 : _PUBLIC_ enum ndr_err_code ndr_push_samr_SetUserInfo2(struct ndr_push *ndr, int flags, const struct samr_SetUserInfo2 *r)
12241 : {
12242 4253 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
12243 4253 : if (flags & NDR_IN) {
12244 2073 : if (r->in.user_handle == NULL) {
12245 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12246 : }
12247 2073 : if (r->in.info == NULL) {
12248 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12249 : }
12250 2073 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
12251 2163 : NDR_CHECK(ndr_push_samr_UserInfoLevel(ndr, NDR_SCALARS, r->in.level));
12252 2073 : NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info, r->in.level));
12253 2073 : NDR_CHECK(ndr_push_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
12254 : }
12255 4253 : if (flags & NDR_OUT) {
12256 2180 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12257 : }
12258 4055 : return NDR_ERR_SUCCESS;
12259 : }
12260 :
12261 4135 : _PUBLIC_ enum ndr_err_code ndr_pull_samr_SetUserInfo2(struct ndr_pull *ndr, int flags, struct samr_SetUserInfo2 *r)
12262 : {
12263 4135 : TALLOC_CTX *_mem_save_user_handle_0 = NULL;
12264 4135 : TALLOC_CTX *_mem_save_info_0 = NULL;
12265 4135 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
12266 4135 : if (flags & NDR_IN) {
12267 2060 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12268 2060 : NDR_PULL_ALLOC(ndr, r->in.user_handle);
12269 : }
12270 2060 : _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
12271 2060 : NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC);
12272 2060 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
12273 2060 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
12274 2152 : NDR_CHECK(ndr_pull_samr_UserInfoLevel(ndr, NDR_SCALARS, &r->in.level));
12275 2060 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12276 2060 : NDR_PULL_ALLOC(ndr, r->in.info);
12277 : }
12278 2060 : _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
12279 2060 : NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC);
12280 2060 : NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info, r->in.level));
12281 2060 : NDR_CHECK(ndr_pull_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
12282 2060 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
12283 : }
12284 4135 : if (flags & NDR_OUT) {
12285 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
12286 : if (r->in.user_handle == NULL) {
12287 : NDR_PULL_ALLOC(ndr, r->in.user_handle);
12288 : NDR_ZERO_STRUCTP(r->in.user_handle);
12289 : }
12290 : if (r->in.info == NULL) {
12291 : NDR_PULL_ALLOC(ndr, r->in.info);
12292 : NDR_ZERO_STRUCTP(r->in.info);
12293 : }
12294 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
12295 2075 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12296 : }
12297 3951 : return NDR_ERR_SUCCESS;
12298 : }
12299 :
12300 248 : _PUBLIC_ void ndr_print_samr_SetUserInfo2(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetUserInfo2 *r)
12301 : {
12302 248 : ndr_print_struct(ndr, name, "samr_SetUserInfo2");
12303 248 : if (r == NULL) { ndr_print_null(ndr); return; }
12304 248 : ndr->depth++;
12305 248 : if (flags & NDR_SET_VALUES) {
12306 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12307 : }
12308 248 : if (flags & NDR_IN) {
12309 2 : ndr_print_struct(ndr, "in", "samr_SetUserInfo2");
12310 2 : ndr->depth++;
12311 2 : ndr_print_ptr(ndr, "user_handle", r->in.user_handle);
12312 2 : ndr->depth++;
12313 2 : ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle);
12314 2 : ndr->depth--;
12315 2 : ndr_print_samr_UserInfoLevel(ndr, "level", r->in.level);
12316 2 : ndr_print_ptr(ndr, "info", r->in.info);
12317 2 : ndr->depth++;
12318 2 : ndr_print_set_switch_value(ndr, r->in.info, r->in.level);
12319 2 : ndr_print_samr_UserInfo(ndr, "info", r->in.info);
12320 2 : ndr->depth--;
12321 2 : ndr->depth--;
12322 : }
12323 248 : if (flags & NDR_OUT) {
12324 246 : ndr_print_struct(ndr, "out", "samr_SetUserInfo2");
12325 246 : ndr->depth++;
12326 246 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
12327 246 : ndr->depth--;
12328 : }
12329 248 : ndr->depth--;
12330 : }
12331 :
12332 0 : static enum ndr_err_code ndr_push_samr_SetBootKeyInformation(struct ndr_push *ndr, int flags, const struct samr_SetBootKeyInformation *r)
12333 : {
12334 0 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
12335 0 : if (flags & NDR_IN) {
12336 0 : if (r->in.connect_handle == NULL) {
12337 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12338 : }
12339 0 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle));
12340 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown1));
12341 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown2));
12342 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown3));
12343 : }
12344 0 : if (flags & NDR_OUT) {
12345 0 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12346 : }
12347 0 : return NDR_ERR_SUCCESS;
12348 : }
12349 :
12350 0 : static enum ndr_err_code ndr_pull_samr_SetBootKeyInformation(struct ndr_pull *ndr, int flags, struct samr_SetBootKeyInformation *r)
12351 : {
12352 0 : TALLOC_CTX *_mem_save_connect_handle_0 = NULL;
12353 0 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
12354 0 : if (flags & NDR_IN) {
12355 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12356 0 : NDR_PULL_ALLOC(ndr, r->in.connect_handle);
12357 : }
12358 0 : _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
12359 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.connect_handle, LIBNDR_FLAG_REF_ALLOC);
12360 0 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle));
12361 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
12362 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown1));
12363 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown2));
12364 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown3));
12365 : }
12366 0 : if (flags & NDR_OUT) {
12367 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
12368 : if (r->in.connect_handle == NULL) {
12369 : NDR_PULL_ALLOC(ndr, r->in.connect_handle);
12370 : NDR_ZERO_STRUCTP(r->in.connect_handle);
12371 : }
12372 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
12373 0 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12374 : }
12375 0 : return NDR_ERR_SUCCESS;
12376 : }
12377 :
12378 0 : _PUBLIC_ void ndr_print_samr_SetBootKeyInformation(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetBootKeyInformation *r)
12379 : {
12380 0 : ndr_print_struct(ndr, name, "samr_SetBootKeyInformation");
12381 0 : if (r == NULL) { ndr_print_null(ndr); return; }
12382 0 : ndr->depth++;
12383 0 : if (flags & NDR_SET_VALUES) {
12384 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12385 : }
12386 0 : if (flags & NDR_IN) {
12387 0 : ndr_print_struct(ndr, "in", "samr_SetBootKeyInformation");
12388 0 : ndr->depth++;
12389 0 : ndr_print_ptr(ndr, "connect_handle", r->in.connect_handle);
12390 0 : ndr->depth++;
12391 0 : ndr_print_policy_handle(ndr, "connect_handle", r->in.connect_handle);
12392 0 : ndr->depth--;
12393 0 : ndr_print_uint32(ndr, "unknown1", r->in.unknown1);
12394 0 : ndr_print_uint32(ndr, "unknown2", r->in.unknown2);
12395 0 : ndr_print_uint32(ndr, "unknown3", r->in.unknown3);
12396 0 : ndr->depth--;
12397 : }
12398 0 : if (flags & NDR_OUT) {
12399 0 : ndr_print_struct(ndr, "out", "samr_SetBootKeyInformation");
12400 0 : ndr->depth++;
12401 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
12402 0 : ndr->depth--;
12403 : }
12404 0 : ndr->depth--;
12405 : }
12406 :
12407 24 : static enum ndr_err_code ndr_push_samr_GetBootKeyInformation(struct ndr_push *ndr, int flags, const struct samr_GetBootKeyInformation *r)
12408 : {
12409 24 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
12410 24 : if (flags & NDR_IN) {
12411 14 : if (r->in.domain_handle == NULL) {
12412 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12413 : }
12414 14 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
12415 : }
12416 24 : if (flags & NDR_OUT) {
12417 10 : if (r->out.unknown == NULL) {
12418 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12419 : }
12420 10 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.unknown));
12421 10 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12422 : }
12423 24 : return NDR_ERR_SUCCESS;
12424 : }
12425 :
12426 22 : static enum ndr_err_code ndr_pull_samr_GetBootKeyInformation(struct ndr_pull *ndr, int flags, struct samr_GetBootKeyInformation *r)
12427 : {
12428 22 : TALLOC_CTX *_mem_save_domain_handle_0 = NULL;
12429 22 : TALLOC_CTX *_mem_save_unknown_0 = NULL;
12430 22 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
12431 22 : if (flags & NDR_IN) {
12432 12 : NDR_ZERO_STRUCT(r->out);
12433 :
12434 12 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12435 12 : NDR_PULL_ALLOC(ndr, r->in.domain_handle);
12436 : }
12437 12 : _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
12438 12 : NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
12439 12 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
12440 12 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
12441 12 : NDR_PULL_ALLOC(ndr, r->out.unknown);
12442 12 : NDR_ZERO_STRUCTP(r->out.unknown);
12443 : }
12444 22 : if (flags & NDR_OUT) {
12445 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
12446 : if (r->in.domain_handle == NULL) {
12447 : NDR_PULL_ALLOC(ndr, r->in.domain_handle);
12448 : NDR_ZERO_STRUCTP(r->in.domain_handle);
12449 : }
12450 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
12451 10 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12452 0 : NDR_PULL_ALLOC(ndr, r->out.unknown);
12453 : }
12454 10 : _mem_save_unknown_0 = NDR_PULL_GET_MEM_CTX(ndr);
12455 10 : NDR_PULL_SET_MEM_CTX(ndr, r->out.unknown, LIBNDR_FLAG_REF_ALLOC);
12456 10 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.unknown));
12457 10 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown_0, LIBNDR_FLAG_REF_ALLOC);
12458 10 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12459 : }
12460 22 : return NDR_ERR_SUCCESS;
12461 : }
12462 :
12463 0 : _PUBLIC_ void ndr_print_samr_GetBootKeyInformation(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetBootKeyInformation *r)
12464 : {
12465 0 : ndr_print_struct(ndr, name, "samr_GetBootKeyInformation");
12466 0 : if (r == NULL) { ndr_print_null(ndr); return; }
12467 0 : ndr->depth++;
12468 0 : if (flags & NDR_SET_VALUES) {
12469 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12470 : }
12471 0 : if (flags & NDR_IN) {
12472 0 : ndr_print_struct(ndr, "in", "samr_GetBootKeyInformation");
12473 0 : ndr->depth++;
12474 0 : ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
12475 0 : ndr->depth++;
12476 0 : ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
12477 0 : ndr->depth--;
12478 0 : ndr->depth--;
12479 : }
12480 0 : if (flags & NDR_OUT) {
12481 0 : ndr_print_struct(ndr, "out", "samr_GetBootKeyInformation");
12482 0 : ndr->depth++;
12483 0 : ndr_print_ptr(ndr, "unknown", r->out.unknown);
12484 0 : ndr->depth++;
12485 0 : ndr_print_uint32(ndr, "unknown", *r->out.unknown);
12486 0 : ndr->depth--;
12487 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
12488 0 : ndr->depth--;
12489 : }
12490 0 : ndr->depth--;
12491 : }
12492 :
12493 331 : static enum ndr_err_code ndr_push_samr_Connect3(struct ndr_push *ndr, int flags, const struct samr_Connect3 *r)
12494 : {
12495 331 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
12496 331 : if (flags & NDR_IN) {
12497 174 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name));
12498 174 : if (r->in.system_name) {
12499 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16)));
12500 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
12501 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16)));
12502 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.system_name, ndr_charset_length(r->in.system_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
12503 : }
12504 174 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown));
12505 174 : NDR_CHECK(ndr_push_samr_ConnectAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
12506 : }
12507 331 : if (flags & NDR_OUT) {
12508 157 : if (r->out.connect_handle == NULL) {
12509 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12510 : }
12511 157 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
12512 157 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12513 : }
12514 331 : return NDR_ERR_SUCCESS;
12515 : }
12516 :
12517 331 : static enum ndr_err_code ndr_pull_samr_Connect3(struct ndr_pull *ndr, int flags, struct samr_Connect3 *r)
12518 : {
12519 : uint32_t _ptr_system_name;
12520 331 : uint32_t size_system_name_1 = 0;
12521 331 : uint32_t length_system_name_1 = 0;
12522 331 : TALLOC_CTX *_mem_save_system_name_0 = NULL;
12523 331 : TALLOC_CTX *_mem_save_connect_handle_0 = NULL;
12524 331 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
12525 331 : if (flags & NDR_IN) {
12526 157 : NDR_ZERO_STRUCT(r->out);
12527 :
12528 157 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name));
12529 157 : if (_ptr_system_name) {
12530 0 : NDR_PULL_ALLOC(ndr, r->in.system_name);
12531 : } else {
12532 157 : r->in.system_name = NULL;
12533 : }
12534 157 : if (r->in.system_name) {
12535 0 : _mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12536 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0);
12537 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.system_name));
12538 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.system_name));
12539 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.system_name, &size_system_name_1));
12540 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.system_name, &length_system_name_1));
12541 0 : if (length_system_name_1 > size_system_name_1) {
12542 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_system_name_1, length_system_name_1);
12543 : }
12544 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_system_name_1, sizeof(uint16_t)));
12545 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.system_name, length_system_name_1, sizeof(uint16_t), CH_UTF16));
12546 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0);
12547 : }
12548 157 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown));
12549 157 : NDR_CHECK(ndr_pull_samr_ConnectAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
12550 157 : NDR_PULL_ALLOC(ndr, r->out.connect_handle);
12551 157 : NDR_ZERO_STRUCTP(r->out.connect_handle);
12552 : }
12553 331 : if (flags & NDR_OUT) {
12554 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
12555 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
12556 174 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12557 0 : NDR_PULL_ALLOC(ndr, r->out.connect_handle);
12558 : }
12559 174 : _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
12560 174 : NDR_PULL_SET_MEM_CTX(ndr, r->out.connect_handle, LIBNDR_FLAG_REF_ALLOC);
12561 174 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
12562 174 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
12563 174 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12564 : }
12565 331 : return NDR_ERR_SUCCESS;
12566 : }
12567 :
12568 0 : _PUBLIC_ void ndr_print_samr_Connect3(struct ndr_print *ndr, const char *name, int flags, const struct samr_Connect3 *r)
12569 : {
12570 0 : ndr_print_struct(ndr, name, "samr_Connect3");
12571 0 : if (r == NULL) { ndr_print_null(ndr); return; }
12572 0 : ndr->depth++;
12573 0 : if (flags & NDR_SET_VALUES) {
12574 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12575 : }
12576 0 : if (flags & NDR_IN) {
12577 0 : ndr_print_struct(ndr, "in", "samr_Connect3");
12578 0 : ndr->depth++;
12579 0 : ndr_print_ptr(ndr, "system_name", r->in.system_name);
12580 0 : ndr->depth++;
12581 0 : if (r->in.system_name) {
12582 0 : ndr_print_string(ndr, "system_name", r->in.system_name);
12583 : }
12584 0 : ndr->depth--;
12585 0 : ndr_print_uint32(ndr, "unknown", r->in.unknown);
12586 0 : ndr_print_samr_ConnectAccessMask(ndr, "access_mask", r->in.access_mask);
12587 0 : ndr->depth--;
12588 : }
12589 0 : if (flags & NDR_OUT) {
12590 0 : ndr_print_struct(ndr, "out", "samr_Connect3");
12591 0 : ndr->depth++;
12592 0 : ndr_print_ptr(ndr, "connect_handle", r->out.connect_handle);
12593 0 : ndr->depth++;
12594 0 : ndr_print_policy_handle(ndr, "connect_handle", r->out.connect_handle);
12595 0 : ndr->depth--;
12596 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
12597 0 : ndr->depth--;
12598 : }
12599 0 : ndr->depth--;
12600 : }
12601 :
12602 331 : static enum ndr_err_code ndr_push_samr_Connect4(struct ndr_push *ndr, int flags, const struct samr_Connect4 *r)
12603 : {
12604 331 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
12605 331 : if (flags & NDR_IN) {
12606 174 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name));
12607 174 : if (r->in.system_name) {
12608 174 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16)));
12609 174 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
12610 174 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16)));
12611 174 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.system_name, ndr_charset_length(r->in.system_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
12612 : }
12613 174 : NDR_CHECK(ndr_push_samr_ConnectVersion(ndr, NDR_SCALARS, r->in.client_version));
12614 174 : NDR_CHECK(ndr_push_samr_ConnectAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
12615 : }
12616 331 : if (flags & NDR_OUT) {
12617 157 : if (r->out.connect_handle == NULL) {
12618 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12619 : }
12620 157 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
12621 157 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12622 : }
12623 331 : return NDR_ERR_SUCCESS;
12624 : }
12625 :
12626 331 : static enum ndr_err_code ndr_pull_samr_Connect4(struct ndr_pull *ndr, int flags, struct samr_Connect4 *r)
12627 : {
12628 : uint32_t _ptr_system_name;
12629 331 : uint32_t size_system_name_1 = 0;
12630 331 : uint32_t length_system_name_1 = 0;
12631 331 : TALLOC_CTX *_mem_save_system_name_0 = NULL;
12632 331 : TALLOC_CTX *_mem_save_connect_handle_0 = NULL;
12633 331 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
12634 331 : if (flags & NDR_IN) {
12635 157 : NDR_ZERO_STRUCT(r->out);
12636 :
12637 157 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name));
12638 157 : if (_ptr_system_name) {
12639 157 : NDR_PULL_ALLOC(ndr, r->in.system_name);
12640 : } else {
12641 0 : r->in.system_name = NULL;
12642 : }
12643 157 : if (r->in.system_name) {
12644 157 : _mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12645 157 : NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0);
12646 157 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.system_name));
12647 157 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.system_name));
12648 157 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.system_name, &size_system_name_1));
12649 157 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.system_name, &length_system_name_1));
12650 157 : if (length_system_name_1 > size_system_name_1) {
12651 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_system_name_1, length_system_name_1);
12652 : }
12653 157 : NDR_CHECK(ndr_check_string_terminator(ndr, length_system_name_1, sizeof(uint16_t)));
12654 157 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.system_name, length_system_name_1, sizeof(uint16_t), CH_UTF16));
12655 157 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0);
12656 : }
12657 157 : NDR_CHECK(ndr_pull_samr_ConnectVersion(ndr, NDR_SCALARS, &r->in.client_version));
12658 157 : NDR_CHECK(ndr_pull_samr_ConnectAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
12659 157 : NDR_PULL_ALLOC(ndr, r->out.connect_handle);
12660 157 : NDR_ZERO_STRUCTP(r->out.connect_handle);
12661 : }
12662 331 : if (flags & NDR_OUT) {
12663 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
12664 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
12665 174 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12666 0 : NDR_PULL_ALLOC(ndr, r->out.connect_handle);
12667 : }
12668 174 : _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
12669 174 : NDR_PULL_SET_MEM_CTX(ndr, r->out.connect_handle, LIBNDR_FLAG_REF_ALLOC);
12670 174 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
12671 174 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
12672 174 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12673 : }
12674 331 : return NDR_ERR_SUCCESS;
12675 : }
12676 :
12677 0 : _PUBLIC_ void ndr_print_samr_Connect4(struct ndr_print *ndr, const char *name, int flags, const struct samr_Connect4 *r)
12678 : {
12679 0 : ndr_print_struct(ndr, name, "samr_Connect4");
12680 0 : if (r == NULL) { ndr_print_null(ndr); return; }
12681 0 : ndr->depth++;
12682 0 : if (flags & NDR_SET_VALUES) {
12683 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12684 : }
12685 0 : if (flags & NDR_IN) {
12686 0 : ndr_print_struct(ndr, "in", "samr_Connect4");
12687 0 : ndr->depth++;
12688 0 : ndr_print_ptr(ndr, "system_name", r->in.system_name);
12689 0 : ndr->depth++;
12690 0 : if (r->in.system_name) {
12691 0 : ndr_print_string(ndr, "system_name", r->in.system_name);
12692 : }
12693 0 : ndr->depth--;
12694 0 : ndr_print_samr_ConnectVersion(ndr, "client_version", r->in.client_version);
12695 0 : ndr_print_samr_ConnectAccessMask(ndr, "access_mask", r->in.access_mask);
12696 0 : ndr->depth--;
12697 : }
12698 0 : if (flags & NDR_OUT) {
12699 0 : ndr_print_struct(ndr, "out", "samr_Connect4");
12700 0 : ndr->depth++;
12701 0 : ndr_print_ptr(ndr, "connect_handle", r->out.connect_handle);
12702 0 : ndr->depth++;
12703 0 : ndr_print_policy_handle(ndr, "connect_handle", r->out.connect_handle);
12704 0 : ndr->depth--;
12705 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
12706 0 : ndr->depth--;
12707 : }
12708 0 : ndr->depth--;
12709 : }
12710 :
12711 1122 : _PUBLIC_ enum ndr_err_code ndr_push_samr_ChangePasswordUser3(struct ndr_push *ndr, int flags, const struct samr_ChangePasswordUser3 *r)
12712 : {
12713 1122 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
12714 1122 : if (flags & NDR_IN) {
12715 554 : if (r->in.account == NULL) {
12716 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12717 : }
12718 554 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server));
12719 554 : if (r->in.server) {
12720 554 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.server));
12721 : }
12722 554 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account));
12723 554 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.nt_password));
12724 554 : if (r->in.nt_password) {
12725 554 : NDR_CHECK(ndr_push_samr_CryptPassword(ndr, NDR_SCALARS, r->in.nt_password));
12726 : }
12727 554 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.nt_verifier));
12728 554 : if (r->in.nt_verifier) {
12729 554 : NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.nt_verifier));
12730 : }
12731 554 : NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.lm_change));
12732 554 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.lm_password));
12733 554 : if (r->in.lm_password) {
12734 550 : NDR_CHECK(ndr_push_samr_CryptPassword(ndr, NDR_SCALARS, r->in.lm_password));
12735 : }
12736 554 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.lm_verifier));
12737 554 : if (r->in.lm_verifier) {
12738 550 : NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.lm_verifier));
12739 : }
12740 554 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.password3));
12741 554 : if (r->in.password3) {
12742 0 : NDR_CHECK(ndr_push_samr_CryptPassword(ndr, NDR_SCALARS, r->in.password3));
12743 : }
12744 : }
12745 1122 : if (flags & NDR_OUT) {
12746 568 : if (r->out.dominfo == NULL) {
12747 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12748 : }
12749 568 : if (r->out.reject == NULL) {
12750 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12751 : }
12752 568 : NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.dominfo));
12753 568 : if (*r->out.dominfo) {
12754 69 : NDR_CHECK(ndr_push_samr_DomInfo1(ndr, NDR_SCALARS, *r->out.dominfo));
12755 : }
12756 568 : NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.reject));
12757 568 : if (*r->out.reject) {
12758 368 : NDR_CHECK(ndr_push_userPwdChangeFailureInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.reject));
12759 : }
12760 568 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12761 : }
12762 1122 : return NDR_ERR_SUCCESS;
12763 : }
12764 :
12765 1126 : _PUBLIC_ enum ndr_err_code ndr_pull_samr_ChangePasswordUser3(struct ndr_pull *ndr, int flags, struct samr_ChangePasswordUser3 *r)
12766 : {
12767 : uint32_t _ptr_server;
12768 : uint32_t _ptr_nt_password;
12769 : uint32_t _ptr_nt_verifier;
12770 : uint32_t _ptr_lm_password;
12771 : uint32_t _ptr_lm_verifier;
12772 : uint32_t _ptr_password3;
12773 : uint32_t _ptr_dominfo;
12774 : uint32_t _ptr_reject;
12775 1126 : TALLOC_CTX *_mem_save_server_0 = NULL;
12776 1126 : TALLOC_CTX *_mem_save_account_0 = NULL;
12777 1126 : TALLOC_CTX *_mem_save_nt_password_0 = NULL;
12778 1126 : TALLOC_CTX *_mem_save_nt_verifier_0 = NULL;
12779 1126 : TALLOC_CTX *_mem_save_lm_password_0 = NULL;
12780 1126 : TALLOC_CTX *_mem_save_lm_verifier_0 = NULL;
12781 1126 : TALLOC_CTX *_mem_save_password3_0 = NULL;
12782 1126 : TALLOC_CTX *_mem_save_dominfo_0 = NULL;
12783 1126 : TALLOC_CTX *_mem_save_dominfo_1 = NULL;
12784 1126 : TALLOC_CTX *_mem_save_reject_0 = NULL;
12785 1126 : TALLOC_CTX *_mem_save_reject_1 = NULL;
12786 1126 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
12787 1126 : if (flags & NDR_IN) {
12788 570 : NDR_ZERO_STRUCT(r->out);
12789 :
12790 570 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server));
12791 570 : if (_ptr_server) {
12792 570 : NDR_PULL_ALLOC(ndr, r->in.server);
12793 : } else {
12794 0 : r->in.server = NULL;
12795 : }
12796 570 : if (r->in.server) {
12797 570 : _mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
12798 570 : NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0);
12799 570 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.server));
12800 570 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0);
12801 : }
12802 570 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12803 570 : NDR_PULL_ALLOC(ndr, r->in.account);
12804 : }
12805 570 : _mem_save_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
12806 570 : NDR_PULL_SET_MEM_CTX(ndr, r->in.account, LIBNDR_FLAG_REF_ALLOC);
12807 570 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account));
12808 570 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_0, LIBNDR_FLAG_REF_ALLOC);
12809 570 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_nt_password));
12810 570 : if (_ptr_nt_password) {
12811 570 : NDR_PULL_ALLOC(ndr, r->in.nt_password);
12812 : } else {
12813 0 : r->in.nt_password = NULL;
12814 : }
12815 570 : if (r->in.nt_password) {
12816 570 : _mem_save_nt_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
12817 570 : NDR_PULL_SET_MEM_CTX(ndr, r->in.nt_password, 0);
12818 570 : NDR_CHECK(ndr_pull_samr_CryptPassword(ndr, NDR_SCALARS, r->in.nt_password));
12819 570 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_nt_password_0, 0);
12820 : }
12821 570 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_nt_verifier));
12822 570 : if (_ptr_nt_verifier) {
12823 570 : NDR_PULL_ALLOC(ndr, r->in.nt_verifier);
12824 : } else {
12825 0 : r->in.nt_verifier = NULL;
12826 : }
12827 570 : if (r->in.nt_verifier) {
12828 570 : _mem_save_nt_verifier_0 = NDR_PULL_GET_MEM_CTX(ndr);
12829 570 : NDR_PULL_SET_MEM_CTX(ndr, r->in.nt_verifier, 0);
12830 570 : NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.nt_verifier));
12831 570 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_nt_verifier_0, 0);
12832 : }
12833 570 : NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.lm_change));
12834 570 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_lm_password));
12835 570 : if (_ptr_lm_password) {
12836 566 : NDR_PULL_ALLOC(ndr, r->in.lm_password);
12837 : } else {
12838 4 : r->in.lm_password = NULL;
12839 : }
12840 570 : if (r->in.lm_password) {
12841 566 : _mem_save_lm_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
12842 566 : NDR_PULL_SET_MEM_CTX(ndr, r->in.lm_password, 0);
12843 566 : NDR_CHECK(ndr_pull_samr_CryptPassword(ndr, NDR_SCALARS, r->in.lm_password));
12844 566 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lm_password_0, 0);
12845 : }
12846 570 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_lm_verifier));
12847 570 : if (_ptr_lm_verifier) {
12848 566 : NDR_PULL_ALLOC(ndr, r->in.lm_verifier);
12849 : } else {
12850 4 : r->in.lm_verifier = NULL;
12851 : }
12852 570 : if (r->in.lm_verifier) {
12853 566 : _mem_save_lm_verifier_0 = NDR_PULL_GET_MEM_CTX(ndr);
12854 566 : NDR_PULL_SET_MEM_CTX(ndr, r->in.lm_verifier, 0);
12855 566 : NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.lm_verifier));
12856 566 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lm_verifier_0, 0);
12857 : }
12858 570 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password3));
12859 570 : if (_ptr_password3) {
12860 0 : NDR_PULL_ALLOC(ndr, r->in.password3);
12861 : } else {
12862 570 : r->in.password3 = NULL;
12863 : }
12864 570 : if (r->in.password3) {
12865 0 : _mem_save_password3_0 = NDR_PULL_GET_MEM_CTX(ndr);
12866 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.password3, 0);
12867 0 : NDR_CHECK(ndr_pull_samr_CryptPassword(ndr, NDR_SCALARS, r->in.password3));
12868 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password3_0, 0);
12869 : }
12870 570 : NDR_PULL_ALLOC(ndr, r->out.dominfo);
12871 570 : NDR_ZERO_STRUCTP(r->out.dominfo);
12872 570 : NDR_PULL_ALLOC(ndr, r->out.reject);
12873 570 : NDR_ZERO_STRUCTP(r->out.reject);
12874 : }
12875 1126 : if (flags & NDR_OUT) {
12876 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
12877 : if (r->in.account == NULL) {
12878 : NDR_PULL_ALLOC(ndr, r->in.account);
12879 : NDR_ZERO_STRUCTP(r->in.account);
12880 : }
12881 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
12882 556 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12883 2 : NDR_PULL_ALLOC(ndr, r->out.dominfo);
12884 : }
12885 556 : _mem_save_dominfo_0 = NDR_PULL_GET_MEM_CTX(ndr);
12886 556 : NDR_PULL_SET_MEM_CTX(ndr, r->out.dominfo, LIBNDR_FLAG_REF_ALLOC);
12887 556 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dominfo));
12888 556 : if (_ptr_dominfo) {
12889 71 : NDR_PULL_ALLOC(ndr, *r->out.dominfo);
12890 : } else {
12891 485 : *r->out.dominfo = NULL;
12892 : }
12893 556 : if (*r->out.dominfo) {
12894 71 : _mem_save_dominfo_1 = NDR_PULL_GET_MEM_CTX(ndr);
12895 71 : NDR_PULL_SET_MEM_CTX(ndr, *r->out.dominfo, 0);
12896 71 : NDR_CHECK(ndr_pull_samr_DomInfo1(ndr, NDR_SCALARS, *r->out.dominfo));
12897 71 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dominfo_1, 0);
12898 : }
12899 556 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dominfo_0, LIBNDR_FLAG_REF_ALLOC);
12900 556 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12901 2 : NDR_PULL_ALLOC(ndr, r->out.reject);
12902 : }
12903 556 : _mem_save_reject_0 = NDR_PULL_GET_MEM_CTX(ndr);
12904 556 : NDR_PULL_SET_MEM_CTX(ndr, r->out.reject, LIBNDR_FLAG_REF_ALLOC);
12905 556 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_reject));
12906 556 : if (_ptr_reject) {
12907 370 : NDR_PULL_ALLOC(ndr, *r->out.reject);
12908 : } else {
12909 186 : *r->out.reject = NULL;
12910 : }
12911 556 : if (*r->out.reject) {
12912 370 : _mem_save_reject_1 = NDR_PULL_GET_MEM_CTX(ndr);
12913 370 : NDR_PULL_SET_MEM_CTX(ndr, *r->out.reject, 0);
12914 370 : NDR_CHECK(ndr_pull_userPwdChangeFailureInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.reject));
12915 370 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_reject_1, 0);
12916 : }
12917 556 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_reject_0, LIBNDR_FLAG_REF_ALLOC);
12918 556 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12919 : }
12920 1122 : return NDR_ERR_SUCCESS;
12921 : }
12922 :
12923 4 : _PUBLIC_ void ndr_print_samr_ChangePasswordUser3(struct ndr_print *ndr, const char *name, int flags, const struct samr_ChangePasswordUser3 *r)
12924 : {
12925 4 : ndr_print_struct(ndr, name, "samr_ChangePasswordUser3");
12926 4 : if (r == NULL) { ndr_print_null(ndr); return; }
12927 4 : ndr->depth++;
12928 4 : if (flags & NDR_SET_VALUES) {
12929 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12930 : }
12931 4 : if (flags & NDR_IN) {
12932 2 : ndr_print_struct(ndr, "in", "samr_ChangePasswordUser3");
12933 2 : ndr->depth++;
12934 2 : ndr_print_ptr(ndr, "server", r->in.server);
12935 2 : ndr->depth++;
12936 2 : if (r->in.server) {
12937 2 : ndr_print_lsa_String(ndr, "server", r->in.server);
12938 : }
12939 2 : ndr->depth--;
12940 2 : ndr_print_ptr(ndr, "account", r->in.account);
12941 2 : ndr->depth++;
12942 2 : ndr_print_lsa_String(ndr, "account", r->in.account);
12943 2 : ndr->depth--;
12944 2 : ndr_print_ptr(ndr, "nt_password", r->in.nt_password);
12945 2 : ndr->depth++;
12946 2 : if (r->in.nt_password) {
12947 2 : ndr_print_samr_CryptPassword(ndr, "nt_password", r->in.nt_password);
12948 : }
12949 2 : ndr->depth--;
12950 2 : ndr_print_ptr(ndr, "nt_verifier", r->in.nt_verifier);
12951 2 : ndr->depth++;
12952 2 : if (r->in.nt_verifier) {
12953 2 : ndr_print_samr_Password(ndr, "nt_verifier", r->in.nt_verifier);
12954 : }
12955 2 : ndr->depth--;
12956 2 : ndr_print_uint8(ndr, "lm_change", r->in.lm_change);
12957 2 : ndr_print_ptr(ndr, "lm_password", r->in.lm_password);
12958 2 : ndr->depth++;
12959 2 : if (r->in.lm_password) {
12960 2 : ndr_print_samr_CryptPassword(ndr, "lm_password", r->in.lm_password);
12961 : }
12962 2 : ndr->depth--;
12963 2 : ndr_print_ptr(ndr, "lm_verifier", r->in.lm_verifier);
12964 2 : ndr->depth++;
12965 2 : if (r->in.lm_verifier) {
12966 2 : ndr_print_samr_Password(ndr, "lm_verifier", r->in.lm_verifier);
12967 : }
12968 2 : ndr->depth--;
12969 2 : ndr_print_ptr(ndr, "password3", r->in.password3);
12970 2 : ndr->depth++;
12971 2 : if (r->in.password3) {
12972 0 : ndr_print_samr_CryptPassword(ndr, "password3", r->in.password3);
12973 : }
12974 2 : ndr->depth--;
12975 2 : ndr->depth--;
12976 : }
12977 4 : if (flags & NDR_OUT) {
12978 2 : ndr_print_struct(ndr, "out", "samr_ChangePasswordUser3");
12979 2 : ndr->depth++;
12980 2 : ndr_print_ptr(ndr, "dominfo", r->out.dominfo);
12981 2 : ndr->depth++;
12982 2 : ndr_print_ptr(ndr, "dominfo", *r->out.dominfo);
12983 2 : ndr->depth++;
12984 2 : if (*r->out.dominfo) {
12985 2 : ndr_print_samr_DomInfo1(ndr, "dominfo", *r->out.dominfo);
12986 : }
12987 2 : ndr->depth--;
12988 2 : ndr->depth--;
12989 2 : ndr_print_ptr(ndr, "reject", r->out.reject);
12990 2 : ndr->depth++;
12991 2 : ndr_print_ptr(ndr, "reject", *r->out.reject);
12992 2 : ndr->depth++;
12993 2 : if (*r->out.reject) {
12994 2 : ndr_print_userPwdChangeFailureInformation(ndr, "reject", *r->out.reject);
12995 : }
12996 2 : ndr->depth--;
12997 2 : ndr->depth--;
12998 2 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
12999 2 : ndr->depth--;
13000 : }
13001 4 : ndr->depth--;
13002 : }
13003 :
13004 544 : _PUBLIC_ enum ndr_err_code ndr_push_samr_Connect5(struct ndr_push *ndr, int flags, const struct samr_Connect5 *r)
13005 : {
13006 544 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
13007 544 : if (flags & NDR_IN) {
13008 281 : if (r->in.info_in == NULL) {
13009 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13010 : }
13011 281 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name));
13012 281 : if (r->in.system_name) {
13013 280 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16)));
13014 280 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
13015 280 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16)));
13016 280 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.system_name, ndr_charset_length(r->in.system_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
13017 : }
13018 281 : NDR_CHECK(ndr_push_samr_ConnectAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
13019 281 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level_in));
13020 281 : NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info_in, r->in.level_in));
13021 281 : NDR_CHECK(ndr_push_samr_ConnectInfo(ndr, NDR_SCALARS, r->in.info_in));
13022 : }
13023 544 : if (flags & NDR_OUT) {
13024 263 : if (r->out.level_out == NULL) {
13025 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13026 : }
13027 263 : if (r->out.info_out == NULL) {
13028 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13029 : }
13030 263 : if (r->out.connect_handle == NULL) {
13031 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13032 : }
13033 263 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
13034 263 : NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info_out, *r->out.level_out));
13035 263 : NDR_CHECK(ndr_push_samr_ConnectInfo(ndr, NDR_SCALARS, r->out.info_out));
13036 263 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
13037 263 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
13038 : }
13039 544 : return NDR_ERR_SUCCESS;
13040 : }
13041 :
13042 545 : _PUBLIC_ enum ndr_err_code ndr_pull_samr_Connect5(struct ndr_pull *ndr, int flags, struct samr_Connect5 *r)
13043 : {
13044 : uint32_t _ptr_system_name;
13045 545 : uint32_t size_system_name_1 = 0;
13046 545 : uint32_t length_system_name_1 = 0;
13047 545 : TALLOC_CTX *_mem_save_system_name_0 = NULL;
13048 545 : TALLOC_CTX *_mem_save_info_in_0 = NULL;
13049 545 : TALLOC_CTX *_mem_save_level_out_0 = NULL;
13050 545 : TALLOC_CTX *_mem_save_info_out_0 = NULL;
13051 545 : TALLOC_CTX *_mem_save_connect_handle_0 = NULL;
13052 545 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
13053 545 : if (flags & NDR_IN) {
13054 262 : NDR_ZERO_STRUCT(r->out);
13055 :
13056 262 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name));
13057 262 : if (_ptr_system_name) {
13058 261 : NDR_PULL_ALLOC(ndr, r->in.system_name);
13059 : } else {
13060 1 : r->in.system_name = NULL;
13061 : }
13062 262 : if (r->in.system_name) {
13063 261 : _mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13064 261 : NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0);
13065 261 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.system_name));
13066 261 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.system_name));
13067 261 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.system_name, &size_system_name_1));
13068 261 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.system_name, &length_system_name_1));
13069 261 : if (length_system_name_1 > size_system_name_1) {
13070 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_system_name_1, length_system_name_1);
13071 : }
13072 261 : NDR_CHECK(ndr_check_string_terminator(ndr, length_system_name_1, sizeof(uint16_t)));
13073 261 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.system_name, length_system_name_1, sizeof(uint16_t), CH_UTF16));
13074 261 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0);
13075 : }
13076 264 : NDR_CHECK(ndr_pull_samr_ConnectAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
13077 262 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level_in));
13078 262 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13079 262 : NDR_PULL_ALLOC(ndr, r->in.info_in);
13080 : }
13081 262 : _mem_save_info_in_0 = NDR_PULL_GET_MEM_CTX(ndr);
13082 262 : NDR_PULL_SET_MEM_CTX(ndr, r->in.info_in, LIBNDR_FLAG_REF_ALLOC);
13083 262 : NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info_in, r->in.level_in));
13084 262 : NDR_CHECK(ndr_pull_samr_ConnectInfo(ndr, NDR_SCALARS, r->in.info_in));
13085 262 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_in_0, LIBNDR_FLAG_REF_ALLOC);
13086 262 : NDR_PULL_ALLOC(ndr, r->out.level_out);
13087 262 : NDR_ZERO_STRUCTP(r->out.level_out);
13088 262 : NDR_PULL_ALLOC(ndr, r->out.info_out);
13089 262 : NDR_ZERO_STRUCTP(r->out.info_out);
13090 262 : NDR_PULL_ALLOC(ndr, r->out.connect_handle);
13091 262 : NDR_ZERO_STRUCTP(r->out.connect_handle);
13092 : }
13093 545 : if (flags & NDR_OUT) {
13094 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
13095 : if (r->in.info_in == NULL) {
13096 : NDR_PULL_ALLOC(ndr, r->in.info_in);
13097 : NDR_ZERO_STRUCTP(r->in.info_in);
13098 : }
13099 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
13100 283 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13101 88 : NDR_PULL_ALLOC(ndr, r->out.level_out);
13102 : }
13103 283 : _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
13104 283 : NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
13105 283 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
13106 283 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
13107 283 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13108 88 : NDR_PULL_ALLOC(ndr, r->out.info_out);
13109 : }
13110 283 : _mem_save_info_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
13111 283 : NDR_PULL_SET_MEM_CTX(ndr, r->out.info_out, LIBNDR_FLAG_REF_ALLOC);
13112 283 : NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info_out, *r->out.level_out));
13113 283 : NDR_CHECK(ndr_pull_samr_ConnectInfo(ndr, NDR_SCALARS, r->out.info_out));
13114 283 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_out_0, LIBNDR_FLAG_REF_ALLOC);
13115 283 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13116 88 : NDR_PULL_ALLOC(ndr, r->out.connect_handle);
13117 : }
13118 283 : _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13119 283 : NDR_PULL_SET_MEM_CTX(ndr, r->out.connect_handle, LIBNDR_FLAG_REF_ALLOC);
13120 283 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
13121 283 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
13122 283 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
13123 : }
13124 541 : return NDR_ERR_SUCCESS;
13125 : }
13126 :
13127 10 : _PUBLIC_ void ndr_print_samr_Connect5(struct ndr_print *ndr, const char *name, int flags, const struct samr_Connect5 *r)
13128 : {
13129 10 : ndr_print_struct(ndr, name, "samr_Connect5");
13130 10 : if (r == NULL) { ndr_print_null(ndr); return; }
13131 10 : ndr->depth++;
13132 10 : if (flags & NDR_SET_VALUES) {
13133 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13134 : }
13135 10 : if (flags & NDR_IN) {
13136 2 : ndr_print_struct(ndr, "in", "samr_Connect5");
13137 2 : ndr->depth++;
13138 2 : ndr_print_ptr(ndr, "system_name", r->in.system_name);
13139 2 : ndr->depth++;
13140 2 : if (r->in.system_name) {
13141 2 : ndr_print_string(ndr, "system_name", r->in.system_name);
13142 : }
13143 2 : ndr->depth--;
13144 2 : ndr_print_samr_ConnectAccessMask(ndr, "access_mask", r->in.access_mask);
13145 2 : ndr_print_uint32(ndr, "level_in", r->in.level_in);
13146 2 : ndr_print_ptr(ndr, "info_in", r->in.info_in);
13147 2 : ndr->depth++;
13148 2 : ndr_print_set_switch_value(ndr, r->in.info_in, r->in.level_in);
13149 2 : ndr_print_samr_ConnectInfo(ndr, "info_in", r->in.info_in);
13150 2 : ndr->depth--;
13151 2 : ndr->depth--;
13152 : }
13153 10 : if (flags & NDR_OUT) {
13154 8 : ndr_print_struct(ndr, "out", "samr_Connect5");
13155 8 : ndr->depth++;
13156 8 : ndr_print_ptr(ndr, "level_out", r->out.level_out);
13157 8 : ndr->depth++;
13158 8 : ndr_print_uint32(ndr, "level_out", *r->out.level_out);
13159 8 : ndr->depth--;
13160 8 : ndr_print_ptr(ndr, "info_out", r->out.info_out);
13161 8 : ndr->depth++;
13162 8 : ndr_print_set_switch_value(ndr, r->out.info_out, *r->out.level_out);
13163 8 : ndr_print_samr_ConnectInfo(ndr, "info_out", r->out.info_out);
13164 8 : ndr->depth--;
13165 8 : ndr_print_ptr(ndr, "connect_handle", r->out.connect_handle);
13166 8 : ndr->depth++;
13167 8 : ndr_print_policy_handle(ndr, "connect_handle", r->out.connect_handle);
13168 8 : ndr->depth--;
13169 8 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
13170 8 : ndr->depth--;
13171 : }
13172 10 : ndr->depth--;
13173 : }
13174 :
13175 104 : static enum ndr_err_code ndr_push_samr_RidToSid(struct ndr_push *ndr, int flags, const struct samr_RidToSid *r)
13176 : {
13177 104 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
13178 104 : if (flags & NDR_IN) {
13179 56 : if (r->in.domain_handle == NULL) {
13180 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13181 : }
13182 56 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
13183 56 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.rid));
13184 : }
13185 104 : if (flags & NDR_OUT) {
13186 48 : if (r->out.sid == NULL) {
13187 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13188 : }
13189 48 : NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.sid));
13190 48 : if (*r->out.sid) {
13191 48 : NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sid));
13192 : }
13193 48 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
13194 : }
13195 104 : return NDR_ERR_SUCCESS;
13196 : }
13197 :
13198 104 : static enum ndr_err_code ndr_pull_samr_RidToSid(struct ndr_pull *ndr, int flags, struct samr_RidToSid *r)
13199 : {
13200 : uint32_t _ptr_sid;
13201 104 : TALLOC_CTX *_mem_save_domain_handle_0 = NULL;
13202 104 : TALLOC_CTX *_mem_save_sid_0 = NULL;
13203 104 : TALLOC_CTX *_mem_save_sid_1 = NULL;
13204 104 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
13205 104 : if (flags & NDR_IN) {
13206 48 : NDR_ZERO_STRUCT(r->out);
13207 :
13208 48 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13209 48 : NDR_PULL_ALLOC(ndr, r->in.domain_handle);
13210 : }
13211 48 : _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13212 48 : NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
13213 48 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
13214 48 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
13215 48 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.rid));
13216 48 : NDR_PULL_ALLOC(ndr, r->out.sid);
13217 48 : NDR_ZERO_STRUCTP(r->out.sid);
13218 : }
13219 104 : if (flags & NDR_OUT) {
13220 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
13221 : if (r->in.domain_handle == NULL) {
13222 : NDR_PULL_ALLOC(ndr, r->in.domain_handle);
13223 : NDR_ZERO_STRUCTP(r->in.domain_handle);
13224 : }
13225 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
13226 56 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13227 0 : NDR_PULL_ALLOC(ndr, r->out.sid);
13228 : }
13229 56 : _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
13230 56 : NDR_PULL_SET_MEM_CTX(ndr, r->out.sid, LIBNDR_FLAG_REF_ALLOC);
13231 56 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
13232 56 : if (_ptr_sid) {
13233 56 : NDR_PULL_ALLOC(ndr, *r->out.sid);
13234 : } else {
13235 0 : *r->out.sid = NULL;
13236 : }
13237 56 : if (*r->out.sid) {
13238 56 : _mem_save_sid_1 = NDR_PULL_GET_MEM_CTX(ndr);
13239 56 : NDR_PULL_SET_MEM_CTX(ndr, *r->out.sid, 0);
13240 56 : NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sid));
13241 56 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_1, 0);
13242 : }
13243 56 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC);
13244 56 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
13245 : }
13246 104 : return NDR_ERR_SUCCESS;
13247 : }
13248 :
13249 0 : _PUBLIC_ void ndr_print_samr_RidToSid(struct ndr_print *ndr, const char *name, int flags, const struct samr_RidToSid *r)
13250 : {
13251 0 : ndr_print_struct(ndr, name, "samr_RidToSid");
13252 0 : if (r == NULL) { ndr_print_null(ndr); return; }
13253 0 : ndr->depth++;
13254 0 : if (flags & NDR_SET_VALUES) {
13255 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13256 : }
13257 0 : if (flags & NDR_IN) {
13258 0 : ndr_print_struct(ndr, "in", "samr_RidToSid");
13259 0 : ndr->depth++;
13260 0 : ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
13261 0 : ndr->depth++;
13262 0 : ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
13263 0 : ndr->depth--;
13264 0 : ndr_print_uint32(ndr, "rid", r->in.rid);
13265 0 : ndr->depth--;
13266 : }
13267 0 : if (flags & NDR_OUT) {
13268 0 : ndr_print_struct(ndr, "out", "samr_RidToSid");
13269 0 : ndr->depth++;
13270 0 : ndr_print_ptr(ndr, "sid", r->out.sid);
13271 0 : ndr->depth++;
13272 0 : ndr_print_ptr(ndr, "sid", *r->out.sid);
13273 0 : ndr->depth++;
13274 0 : if (*r->out.sid) {
13275 0 : ndr_print_dom_sid2(ndr, "sid", *r->out.sid);
13276 : }
13277 0 : ndr->depth--;
13278 0 : ndr->depth--;
13279 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
13280 0 : ndr->depth--;
13281 : }
13282 0 : ndr->depth--;
13283 : }
13284 :
13285 0 : static enum ndr_err_code ndr_push_samr_SetDsrmPassword(struct ndr_push *ndr, int flags, const struct samr_SetDsrmPassword *r)
13286 : {
13287 0 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
13288 0 : if (flags & NDR_IN) {
13289 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.name));
13290 0 : if (r->in.name) {
13291 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
13292 : }
13293 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown));
13294 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.hash));
13295 0 : if (r->in.hash) {
13296 0 : NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.hash));
13297 : }
13298 : }
13299 0 : if (flags & NDR_OUT) {
13300 0 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
13301 : }
13302 0 : return NDR_ERR_SUCCESS;
13303 : }
13304 :
13305 0 : static enum ndr_err_code ndr_pull_samr_SetDsrmPassword(struct ndr_pull *ndr, int flags, struct samr_SetDsrmPassword *r)
13306 : {
13307 : uint32_t _ptr_name;
13308 : uint32_t _ptr_hash;
13309 0 : TALLOC_CTX *_mem_save_name_0 = NULL;
13310 0 : TALLOC_CTX *_mem_save_hash_0 = NULL;
13311 0 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
13312 0 : if (flags & NDR_IN) {
13313 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
13314 0 : if (_ptr_name) {
13315 0 : NDR_PULL_ALLOC(ndr, r->in.name);
13316 : } else {
13317 0 : r->in.name = NULL;
13318 : }
13319 0 : if (r->in.name) {
13320 0 : _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13321 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.name, 0);
13322 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
13323 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
13324 : }
13325 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown));
13326 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_hash));
13327 0 : if (_ptr_hash) {
13328 0 : NDR_PULL_ALLOC(ndr, r->in.hash);
13329 : } else {
13330 0 : r->in.hash = NULL;
13331 : }
13332 0 : if (r->in.hash) {
13333 0 : _mem_save_hash_0 = NDR_PULL_GET_MEM_CTX(ndr);
13334 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.hash, 0);
13335 0 : NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.hash));
13336 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_hash_0, 0);
13337 : }
13338 : }
13339 0 : if (flags & NDR_OUT) {
13340 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
13341 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
13342 0 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
13343 : }
13344 0 : return NDR_ERR_SUCCESS;
13345 : }
13346 :
13347 0 : _PUBLIC_ void ndr_print_samr_SetDsrmPassword(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetDsrmPassword *r)
13348 : {
13349 0 : ndr_print_struct(ndr, name, "samr_SetDsrmPassword");
13350 0 : if (r == NULL) { ndr_print_null(ndr); return; }
13351 0 : ndr->depth++;
13352 0 : if (flags & NDR_SET_VALUES) {
13353 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13354 : }
13355 0 : if (flags & NDR_IN) {
13356 0 : ndr_print_struct(ndr, "in", "samr_SetDsrmPassword");
13357 0 : ndr->depth++;
13358 0 : ndr_print_ptr(ndr, "name", r->in.name);
13359 0 : ndr->depth++;
13360 0 : if (r->in.name) {
13361 0 : ndr_print_lsa_String(ndr, "name", r->in.name);
13362 : }
13363 0 : ndr->depth--;
13364 0 : ndr_print_uint32(ndr, "unknown", r->in.unknown);
13365 0 : ndr_print_ptr(ndr, "hash", r->in.hash);
13366 0 : ndr->depth++;
13367 0 : if (r->in.hash) {
13368 0 : ndr_print_samr_Password(ndr, "hash", r->in.hash);
13369 : }
13370 0 : ndr->depth--;
13371 0 : ndr->depth--;
13372 : }
13373 0 : if (flags & NDR_OUT) {
13374 0 : ndr_print_struct(ndr, "out", "samr_SetDsrmPassword");
13375 0 : ndr->depth++;
13376 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
13377 0 : ndr->depth--;
13378 : }
13379 0 : ndr->depth--;
13380 : }
13381 :
13382 27 : static enum ndr_err_code ndr_push_samr_ValidatePassword(struct ndr_push *ndr, int flags, const struct samr_ValidatePassword *r)
13383 : {
13384 27 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
13385 27 : if (flags & NDR_IN) {
13386 18 : if (r->in.req == NULL) {
13387 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13388 : }
13389 18 : NDR_CHECK(ndr_push_samr_ValidatePasswordLevel(ndr, NDR_SCALARS, r->in.level));
13390 18 : NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
13391 18 : NDR_CHECK(ndr_push_samr_ValidatePasswordReq(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13392 : }
13393 27 : if (flags & NDR_OUT) {
13394 9 : if (r->out.rep == NULL) {
13395 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13396 : }
13397 9 : NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.rep));
13398 9 : if (*r->out.rep) {
13399 9 : NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.rep, r->in.level));
13400 9 : NDR_CHECK(ndr_push_samr_ValidatePasswordRep(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.rep));
13401 : }
13402 9 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
13403 : }
13404 27 : return NDR_ERR_SUCCESS;
13405 : }
13406 :
13407 27 : static enum ndr_err_code ndr_pull_samr_ValidatePassword(struct ndr_pull *ndr, int flags, struct samr_ValidatePassword *r)
13408 : {
13409 : uint32_t _ptr_rep;
13410 27 : TALLOC_CTX *_mem_save_req_0 = NULL;
13411 27 : TALLOC_CTX *_mem_save_rep_0 = NULL;
13412 27 : TALLOC_CTX *_mem_save_rep_1 = NULL;
13413 27 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
13414 27 : if (flags & NDR_IN) {
13415 12 : NDR_ZERO_STRUCT(r->out);
13416 :
13417 12 : NDR_CHECK(ndr_pull_samr_ValidatePasswordLevel(ndr, NDR_SCALARS, &r->in.level));
13418 12 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13419 12 : NDR_PULL_ALLOC(ndr, r->in.req);
13420 : }
13421 12 : _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
13422 12 : NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
13423 12 : NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
13424 12 : NDR_CHECK(ndr_pull_samr_ValidatePasswordReq(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13425 12 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
13426 12 : NDR_PULL_ALLOC(ndr, r->out.rep);
13427 12 : NDR_ZERO_STRUCTP(r->out.rep);
13428 : }
13429 27 : if (flags & NDR_OUT) {
13430 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
13431 : if (r->in.req == NULL) {
13432 : NDR_PULL_ALLOC(ndr, r->in.req);
13433 : NDR_ZERO_STRUCTP(r->in.req);
13434 : }
13435 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
13436 15 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13437 0 : NDR_PULL_ALLOC(ndr, r->out.rep);
13438 : }
13439 15 : _mem_save_rep_0 = NDR_PULL_GET_MEM_CTX(ndr);
13440 15 : NDR_PULL_SET_MEM_CTX(ndr, r->out.rep, LIBNDR_FLAG_REF_ALLOC);
13441 15 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rep));
13442 15 : if (_ptr_rep) {
13443 15 : NDR_PULL_ALLOC(ndr, *r->out.rep);
13444 : } else {
13445 0 : *r->out.rep = NULL;
13446 : }
13447 15 : if (*r->out.rep) {
13448 15 : _mem_save_rep_1 = NDR_PULL_GET_MEM_CTX(ndr);
13449 15 : NDR_PULL_SET_MEM_CTX(ndr, *r->out.rep, 0);
13450 15 : NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.rep, r->in.level));
13451 15 : NDR_CHECK(ndr_pull_samr_ValidatePasswordRep(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.rep));
13452 15 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rep_1, 0);
13453 : }
13454 15 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rep_0, LIBNDR_FLAG_REF_ALLOC);
13455 15 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
13456 : }
13457 27 : return NDR_ERR_SUCCESS;
13458 : }
13459 :
13460 0 : _PUBLIC_ void ndr_print_samr_ValidatePassword(struct ndr_print *ndr, const char *name, int flags, const struct samr_ValidatePassword *r)
13461 : {
13462 0 : ndr_print_struct(ndr, name, "samr_ValidatePassword");
13463 0 : if (r == NULL) { ndr_print_null(ndr); return; }
13464 0 : ndr->depth++;
13465 0 : if (flags & NDR_SET_VALUES) {
13466 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13467 : }
13468 0 : if (flags & NDR_IN) {
13469 0 : ndr_print_struct(ndr, "in", "samr_ValidatePassword");
13470 0 : ndr->depth++;
13471 0 : ndr_print_samr_ValidatePasswordLevel(ndr, "level", r->in.level);
13472 0 : ndr_print_ptr(ndr, "req", r->in.req);
13473 0 : ndr->depth++;
13474 0 : ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
13475 0 : ndr_print_samr_ValidatePasswordReq(ndr, "req", r->in.req);
13476 0 : ndr->depth--;
13477 0 : ndr->depth--;
13478 : }
13479 0 : if (flags & NDR_OUT) {
13480 0 : ndr_print_struct(ndr, "out", "samr_ValidatePassword");
13481 0 : ndr->depth++;
13482 0 : ndr_print_ptr(ndr, "rep", r->out.rep);
13483 0 : ndr->depth++;
13484 0 : ndr_print_ptr(ndr, "rep", *r->out.rep);
13485 0 : ndr->depth++;
13486 0 : if (*r->out.rep) {
13487 0 : ndr_print_set_switch_value(ndr, *r->out.rep, r->in.level);
13488 0 : ndr_print_samr_ValidatePasswordRep(ndr, "rep", *r->out.rep);
13489 : }
13490 0 : ndr->depth--;
13491 0 : ndr->depth--;
13492 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
13493 0 : ndr->depth--;
13494 : }
13495 0 : ndr->depth--;
13496 : }
13497 :
13498 : #ifndef SKIP_NDR_TABLE_samr
13499 : static const struct ndr_interface_public_struct samr_public_structs[] = {
13500 : {
13501 : .name = "samr_LogonHours",
13502 : .struct_size = sizeof(struct samr_LogonHours ),
13503 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_samr_LogonHours,
13504 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_samr_LogonHours,
13505 : .ndr_print = (ndr_print_function_t) ndr_print_flags_samr_LogonHours,
13506 : },
13507 : {
13508 : .name = "samr_Password",
13509 : .struct_size = sizeof(struct samr_Password ),
13510 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_samr_Password,
13511 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_samr_Password,
13512 : .ndr_print = (ndr_print_function_t) ndr_print_flags_samr_Password,
13513 : },
13514 : {
13515 : .name = "samr_CryptPassword",
13516 : .struct_size = sizeof(struct samr_CryptPassword ),
13517 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_samr_CryptPassword,
13518 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_samr_CryptPassword,
13519 : .ndr_print = (ndr_print_function_t) ndr_print_flags_samr_CryptPassword,
13520 : },
13521 : {
13522 : .name = "samr_RidWithAttribute",
13523 : .struct_size = sizeof(struct samr_RidWithAttribute ),
13524 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_samr_RidWithAttribute,
13525 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_samr_RidWithAttribute,
13526 : .ndr_print = (ndr_print_function_t) ndr_print_flags_samr_RidWithAttribute,
13527 : },
13528 : {
13529 : .name = "samr_RidWithAttributeArray",
13530 : .struct_size = sizeof(struct samr_RidWithAttributeArray ),
13531 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_samr_RidWithAttributeArray,
13532 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_samr_RidWithAttributeArray,
13533 : .ndr_print = (ndr_print_function_t) ndr_print_flags_samr_RidWithAttributeArray,
13534 : },
13535 : { .name = NULL }
13536 : };
13537 :
13538 : static const struct ndr_interface_call samr_calls[] = {
13539 : {
13540 : "samr_Connect",
13541 : sizeof(struct samr_Connect),
13542 : (ndr_push_flags_fn_t) ndr_push_samr_Connect,
13543 : (ndr_pull_flags_fn_t) ndr_pull_samr_Connect,
13544 : (ndr_print_function_t) ndr_print_samr_Connect,
13545 : { 0, NULL },
13546 : { 0, NULL },
13547 : },
13548 : {
13549 : "samr_Close",
13550 : sizeof(struct samr_Close),
13551 : (ndr_push_flags_fn_t) ndr_push_samr_Close,
13552 : (ndr_pull_flags_fn_t) ndr_pull_samr_Close,
13553 : (ndr_print_function_t) ndr_print_samr_Close,
13554 : { 0, NULL },
13555 : { 0, NULL },
13556 : },
13557 : {
13558 : "samr_SetSecurity",
13559 : sizeof(struct samr_SetSecurity),
13560 : (ndr_push_flags_fn_t) ndr_push_samr_SetSecurity,
13561 : (ndr_pull_flags_fn_t) ndr_pull_samr_SetSecurity,
13562 : (ndr_print_function_t) ndr_print_samr_SetSecurity,
13563 : { 0, NULL },
13564 : { 0, NULL },
13565 : },
13566 : {
13567 : "samr_QuerySecurity",
13568 : sizeof(struct samr_QuerySecurity),
13569 : (ndr_push_flags_fn_t) ndr_push_samr_QuerySecurity,
13570 : (ndr_pull_flags_fn_t) ndr_pull_samr_QuerySecurity,
13571 : (ndr_print_function_t) ndr_print_samr_QuerySecurity,
13572 : { 0, NULL },
13573 : { 0, NULL },
13574 : },
13575 : {
13576 : "samr_Shutdown",
13577 : sizeof(struct samr_Shutdown),
13578 : (ndr_push_flags_fn_t) ndr_push_samr_Shutdown,
13579 : (ndr_pull_flags_fn_t) ndr_pull_samr_Shutdown,
13580 : (ndr_print_function_t) ndr_print_samr_Shutdown,
13581 : { 0, NULL },
13582 : { 0, NULL },
13583 : },
13584 : {
13585 : "samr_LookupDomain",
13586 : sizeof(struct samr_LookupDomain),
13587 : (ndr_push_flags_fn_t) ndr_push_samr_LookupDomain,
13588 : (ndr_pull_flags_fn_t) ndr_pull_samr_LookupDomain,
13589 : (ndr_print_function_t) ndr_print_samr_LookupDomain,
13590 : { 0, NULL },
13591 : { 0, NULL },
13592 : },
13593 : {
13594 : "samr_EnumDomains",
13595 : sizeof(struct samr_EnumDomains),
13596 : (ndr_push_flags_fn_t) ndr_push_samr_EnumDomains,
13597 : (ndr_pull_flags_fn_t) ndr_pull_samr_EnumDomains,
13598 : (ndr_print_function_t) ndr_print_samr_EnumDomains,
13599 : { 0, NULL },
13600 : { 0, NULL },
13601 : },
13602 : {
13603 : "samr_OpenDomain",
13604 : sizeof(struct samr_OpenDomain),
13605 : (ndr_push_flags_fn_t) ndr_push_samr_OpenDomain,
13606 : (ndr_pull_flags_fn_t) ndr_pull_samr_OpenDomain,
13607 : (ndr_print_function_t) ndr_print_samr_OpenDomain,
13608 : { 0, NULL },
13609 : { 0, NULL },
13610 : },
13611 : {
13612 : "samr_QueryDomainInfo",
13613 : sizeof(struct samr_QueryDomainInfo),
13614 : (ndr_push_flags_fn_t) ndr_push_samr_QueryDomainInfo,
13615 : (ndr_pull_flags_fn_t) ndr_pull_samr_QueryDomainInfo,
13616 : (ndr_print_function_t) ndr_print_samr_QueryDomainInfo,
13617 : { 0, NULL },
13618 : { 0, NULL },
13619 : },
13620 : {
13621 : "samr_SetDomainInfo",
13622 : sizeof(struct samr_SetDomainInfo),
13623 : (ndr_push_flags_fn_t) ndr_push_samr_SetDomainInfo,
13624 : (ndr_pull_flags_fn_t) ndr_pull_samr_SetDomainInfo,
13625 : (ndr_print_function_t) ndr_print_samr_SetDomainInfo,
13626 : { 0, NULL },
13627 : { 0, NULL },
13628 : },
13629 : {
13630 : "samr_CreateDomainGroup",
13631 : sizeof(struct samr_CreateDomainGroup),
13632 : (ndr_push_flags_fn_t) ndr_push_samr_CreateDomainGroup,
13633 : (ndr_pull_flags_fn_t) ndr_pull_samr_CreateDomainGroup,
13634 : (ndr_print_function_t) ndr_print_samr_CreateDomainGroup,
13635 : { 0, NULL },
13636 : { 0, NULL },
13637 : },
13638 : {
13639 : "samr_EnumDomainGroups",
13640 : sizeof(struct samr_EnumDomainGroups),
13641 : (ndr_push_flags_fn_t) ndr_push_samr_EnumDomainGroups,
13642 : (ndr_pull_flags_fn_t) ndr_pull_samr_EnumDomainGroups,
13643 : (ndr_print_function_t) ndr_print_samr_EnumDomainGroups,
13644 : { 0, NULL },
13645 : { 0, NULL },
13646 : },
13647 : {
13648 : "samr_CreateUser",
13649 : sizeof(struct samr_CreateUser),
13650 : (ndr_push_flags_fn_t) ndr_push_samr_CreateUser,
13651 : (ndr_pull_flags_fn_t) ndr_pull_samr_CreateUser,
13652 : (ndr_print_function_t) ndr_print_samr_CreateUser,
13653 : { 0, NULL },
13654 : { 0, NULL },
13655 : },
13656 : {
13657 : "samr_EnumDomainUsers",
13658 : sizeof(struct samr_EnumDomainUsers),
13659 : (ndr_push_flags_fn_t) ndr_push_samr_EnumDomainUsers,
13660 : (ndr_pull_flags_fn_t) ndr_pull_samr_EnumDomainUsers,
13661 : (ndr_print_function_t) ndr_print_samr_EnumDomainUsers,
13662 : { 0, NULL },
13663 : { 0, NULL },
13664 : },
13665 : {
13666 : "samr_CreateDomAlias",
13667 : sizeof(struct samr_CreateDomAlias),
13668 : (ndr_push_flags_fn_t) ndr_push_samr_CreateDomAlias,
13669 : (ndr_pull_flags_fn_t) ndr_pull_samr_CreateDomAlias,
13670 : (ndr_print_function_t) ndr_print_samr_CreateDomAlias,
13671 : { 0, NULL },
13672 : { 0, NULL },
13673 : },
13674 : {
13675 : "samr_EnumDomainAliases",
13676 : sizeof(struct samr_EnumDomainAliases),
13677 : (ndr_push_flags_fn_t) ndr_push_samr_EnumDomainAliases,
13678 : (ndr_pull_flags_fn_t) ndr_pull_samr_EnumDomainAliases,
13679 : (ndr_print_function_t) ndr_print_samr_EnumDomainAliases,
13680 : { 0, NULL },
13681 : { 0, NULL },
13682 : },
13683 : {
13684 : "samr_GetAliasMembership",
13685 : sizeof(struct samr_GetAliasMembership),
13686 : (ndr_push_flags_fn_t) ndr_push_samr_GetAliasMembership,
13687 : (ndr_pull_flags_fn_t) ndr_pull_samr_GetAliasMembership,
13688 : (ndr_print_function_t) ndr_print_samr_GetAliasMembership,
13689 : { 0, NULL },
13690 : { 0, NULL },
13691 : },
13692 : {
13693 : "samr_LookupNames",
13694 : sizeof(struct samr_LookupNames),
13695 : (ndr_push_flags_fn_t) ndr_push_samr_LookupNames,
13696 : (ndr_pull_flags_fn_t) ndr_pull_samr_LookupNames,
13697 : (ndr_print_function_t) ndr_print_samr_LookupNames,
13698 : { 0, NULL },
13699 : { 0, NULL },
13700 : },
13701 : {
13702 : "samr_LookupRids",
13703 : sizeof(struct samr_LookupRids),
13704 : (ndr_push_flags_fn_t) ndr_push_samr_LookupRids,
13705 : (ndr_pull_flags_fn_t) ndr_pull_samr_LookupRids,
13706 : (ndr_print_function_t) ndr_print_samr_LookupRids,
13707 : { 0, NULL },
13708 : { 0, NULL },
13709 : },
13710 : {
13711 : "samr_OpenGroup",
13712 : sizeof(struct samr_OpenGroup),
13713 : (ndr_push_flags_fn_t) ndr_push_samr_OpenGroup,
13714 : (ndr_pull_flags_fn_t) ndr_pull_samr_OpenGroup,
13715 : (ndr_print_function_t) ndr_print_samr_OpenGroup,
13716 : { 0, NULL },
13717 : { 0, NULL },
13718 : },
13719 : {
13720 : "samr_QueryGroupInfo",
13721 : sizeof(struct samr_QueryGroupInfo),
13722 : (ndr_push_flags_fn_t) ndr_push_samr_QueryGroupInfo,
13723 : (ndr_pull_flags_fn_t) ndr_pull_samr_QueryGroupInfo,
13724 : (ndr_print_function_t) ndr_print_samr_QueryGroupInfo,
13725 : { 0, NULL },
13726 : { 0, NULL },
13727 : },
13728 : {
13729 : "samr_SetGroupInfo",
13730 : sizeof(struct samr_SetGroupInfo),
13731 : (ndr_push_flags_fn_t) ndr_push_samr_SetGroupInfo,
13732 : (ndr_pull_flags_fn_t) ndr_pull_samr_SetGroupInfo,
13733 : (ndr_print_function_t) ndr_print_samr_SetGroupInfo,
13734 : { 0, NULL },
13735 : { 0, NULL },
13736 : },
13737 : {
13738 : "samr_AddGroupMember",
13739 : sizeof(struct samr_AddGroupMember),
13740 : (ndr_push_flags_fn_t) ndr_push_samr_AddGroupMember,
13741 : (ndr_pull_flags_fn_t) ndr_pull_samr_AddGroupMember,
13742 : (ndr_print_function_t) ndr_print_samr_AddGroupMember,
13743 : { 0, NULL },
13744 : { 0, NULL },
13745 : },
13746 : {
13747 : "samr_DeleteDomainGroup",
13748 : sizeof(struct samr_DeleteDomainGroup),
13749 : (ndr_push_flags_fn_t) ndr_push_samr_DeleteDomainGroup,
13750 : (ndr_pull_flags_fn_t) ndr_pull_samr_DeleteDomainGroup,
13751 : (ndr_print_function_t) ndr_print_samr_DeleteDomainGroup,
13752 : { 0, NULL },
13753 : { 0, NULL },
13754 : },
13755 : {
13756 : "samr_DeleteGroupMember",
13757 : sizeof(struct samr_DeleteGroupMember),
13758 : (ndr_push_flags_fn_t) ndr_push_samr_DeleteGroupMember,
13759 : (ndr_pull_flags_fn_t) ndr_pull_samr_DeleteGroupMember,
13760 : (ndr_print_function_t) ndr_print_samr_DeleteGroupMember,
13761 : { 0, NULL },
13762 : { 0, NULL },
13763 : },
13764 : {
13765 : "samr_QueryGroupMember",
13766 : sizeof(struct samr_QueryGroupMember),
13767 : (ndr_push_flags_fn_t) ndr_push_samr_QueryGroupMember,
13768 : (ndr_pull_flags_fn_t) ndr_pull_samr_QueryGroupMember,
13769 : (ndr_print_function_t) ndr_print_samr_QueryGroupMember,
13770 : { 0, NULL },
13771 : { 0, NULL },
13772 : },
13773 : {
13774 : "samr_SetMemberAttributesOfGroup",
13775 : sizeof(struct samr_SetMemberAttributesOfGroup),
13776 : (ndr_push_flags_fn_t) ndr_push_samr_SetMemberAttributesOfGroup,
13777 : (ndr_pull_flags_fn_t) ndr_pull_samr_SetMemberAttributesOfGroup,
13778 : (ndr_print_function_t) ndr_print_samr_SetMemberAttributesOfGroup,
13779 : { 0, NULL },
13780 : { 0, NULL },
13781 : },
13782 : {
13783 : "samr_OpenAlias",
13784 : sizeof(struct samr_OpenAlias),
13785 : (ndr_push_flags_fn_t) ndr_push_samr_OpenAlias,
13786 : (ndr_pull_flags_fn_t) ndr_pull_samr_OpenAlias,
13787 : (ndr_print_function_t) ndr_print_samr_OpenAlias,
13788 : { 0, NULL },
13789 : { 0, NULL },
13790 : },
13791 : {
13792 : "samr_QueryAliasInfo",
13793 : sizeof(struct samr_QueryAliasInfo),
13794 : (ndr_push_flags_fn_t) ndr_push_samr_QueryAliasInfo,
13795 : (ndr_pull_flags_fn_t) ndr_pull_samr_QueryAliasInfo,
13796 : (ndr_print_function_t) ndr_print_samr_QueryAliasInfo,
13797 : { 0, NULL },
13798 : { 0, NULL },
13799 : },
13800 : {
13801 : "samr_SetAliasInfo",
13802 : sizeof(struct samr_SetAliasInfo),
13803 : (ndr_push_flags_fn_t) ndr_push_samr_SetAliasInfo,
13804 : (ndr_pull_flags_fn_t) ndr_pull_samr_SetAliasInfo,
13805 : (ndr_print_function_t) ndr_print_samr_SetAliasInfo,
13806 : { 0, NULL },
13807 : { 0, NULL },
13808 : },
13809 : {
13810 : "samr_DeleteDomAlias",
13811 : sizeof(struct samr_DeleteDomAlias),
13812 : (ndr_push_flags_fn_t) ndr_push_samr_DeleteDomAlias,
13813 : (ndr_pull_flags_fn_t) ndr_pull_samr_DeleteDomAlias,
13814 : (ndr_print_function_t) ndr_print_samr_DeleteDomAlias,
13815 : { 0, NULL },
13816 : { 0, NULL },
13817 : },
13818 : {
13819 : "samr_AddAliasMember",
13820 : sizeof(struct samr_AddAliasMember),
13821 : (ndr_push_flags_fn_t) ndr_push_samr_AddAliasMember,
13822 : (ndr_pull_flags_fn_t) ndr_pull_samr_AddAliasMember,
13823 : (ndr_print_function_t) ndr_print_samr_AddAliasMember,
13824 : { 0, NULL },
13825 : { 0, NULL },
13826 : },
13827 : {
13828 : "samr_DeleteAliasMember",
13829 : sizeof(struct samr_DeleteAliasMember),
13830 : (ndr_push_flags_fn_t) ndr_push_samr_DeleteAliasMember,
13831 : (ndr_pull_flags_fn_t) ndr_pull_samr_DeleteAliasMember,
13832 : (ndr_print_function_t) ndr_print_samr_DeleteAliasMember,
13833 : { 0, NULL },
13834 : { 0, NULL },
13835 : },
13836 : {
13837 : "samr_GetMembersInAlias",
13838 : sizeof(struct samr_GetMembersInAlias),
13839 : (ndr_push_flags_fn_t) ndr_push_samr_GetMembersInAlias,
13840 : (ndr_pull_flags_fn_t) ndr_pull_samr_GetMembersInAlias,
13841 : (ndr_print_function_t) ndr_print_samr_GetMembersInAlias,
13842 : { 0, NULL },
13843 : { 0, NULL },
13844 : },
13845 : {
13846 : "samr_OpenUser",
13847 : sizeof(struct samr_OpenUser),
13848 : (ndr_push_flags_fn_t) ndr_push_samr_OpenUser,
13849 : (ndr_pull_flags_fn_t) ndr_pull_samr_OpenUser,
13850 : (ndr_print_function_t) ndr_print_samr_OpenUser,
13851 : { 0, NULL },
13852 : { 0, NULL },
13853 : },
13854 : {
13855 : "samr_DeleteUser",
13856 : sizeof(struct samr_DeleteUser),
13857 : (ndr_push_flags_fn_t) ndr_push_samr_DeleteUser,
13858 : (ndr_pull_flags_fn_t) ndr_pull_samr_DeleteUser,
13859 : (ndr_print_function_t) ndr_print_samr_DeleteUser,
13860 : { 0, NULL },
13861 : { 0, NULL },
13862 : },
13863 : {
13864 : "samr_QueryUserInfo",
13865 : sizeof(struct samr_QueryUserInfo),
13866 : (ndr_push_flags_fn_t) ndr_push_samr_QueryUserInfo,
13867 : (ndr_pull_flags_fn_t) ndr_pull_samr_QueryUserInfo,
13868 : (ndr_print_function_t) ndr_print_samr_QueryUserInfo,
13869 : { 0, NULL },
13870 : { 0, NULL },
13871 : },
13872 : {
13873 : "samr_SetUserInfo",
13874 : sizeof(struct samr_SetUserInfo),
13875 : (ndr_push_flags_fn_t) ndr_push_samr_SetUserInfo,
13876 : (ndr_pull_flags_fn_t) ndr_pull_samr_SetUserInfo,
13877 : (ndr_print_function_t) ndr_print_samr_SetUserInfo,
13878 : { 0, NULL },
13879 : { 0, NULL },
13880 : },
13881 : {
13882 : "samr_ChangePasswordUser",
13883 : sizeof(struct samr_ChangePasswordUser),
13884 : (ndr_push_flags_fn_t) ndr_push_samr_ChangePasswordUser,
13885 : (ndr_pull_flags_fn_t) ndr_pull_samr_ChangePasswordUser,
13886 : (ndr_print_function_t) ndr_print_samr_ChangePasswordUser,
13887 : { 0, NULL },
13888 : { 0, NULL },
13889 : },
13890 : {
13891 : "samr_GetGroupsForUser",
13892 : sizeof(struct samr_GetGroupsForUser),
13893 : (ndr_push_flags_fn_t) ndr_push_samr_GetGroupsForUser,
13894 : (ndr_pull_flags_fn_t) ndr_pull_samr_GetGroupsForUser,
13895 : (ndr_print_function_t) ndr_print_samr_GetGroupsForUser,
13896 : { 0, NULL },
13897 : { 0, NULL },
13898 : },
13899 : {
13900 : "samr_QueryDisplayInfo",
13901 : sizeof(struct samr_QueryDisplayInfo),
13902 : (ndr_push_flags_fn_t) ndr_push_samr_QueryDisplayInfo,
13903 : (ndr_pull_flags_fn_t) ndr_pull_samr_QueryDisplayInfo,
13904 : (ndr_print_function_t) ndr_print_samr_QueryDisplayInfo,
13905 : { 0, NULL },
13906 : { 0, NULL },
13907 : },
13908 : {
13909 : "samr_GetDisplayEnumerationIndex",
13910 : sizeof(struct samr_GetDisplayEnumerationIndex),
13911 : (ndr_push_flags_fn_t) ndr_push_samr_GetDisplayEnumerationIndex,
13912 : (ndr_pull_flags_fn_t) ndr_pull_samr_GetDisplayEnumerationIndex,
13913 : (ndr_print_function_t) ndr_print_samr_GetDisplayEnumerationIndex,
13914 : { 0, NULL },
13915 : { 0, NULL },
13916 : },
13917 : {
13918 : "samr_TestPrivateFunctionsDomain",
13919 : sizeof(struct samr_TestPrivateFunctionsDomain),
13920 : (ndr_push_flags_fn_t) ndr_push_samr_TestPrivateFunctionsDomain,
13921 : (ndr_pull_flags_fn_t) ndr_pull_samr_TestPrivateFunctionsDomain,
13922 : (ndr_print_function_t) ndr_print_samr_TestPrivateFunctionsDomain,
13923 : { 0, NULL },
13924 : { 0, NULL },
13925 : },
13926 : {
13927 : "samr_TestPrivateFunctionsUser",
13928 : sizeof(struct samr_TestPrivateFunctionsUser),
13929 : (ndr_push_flags_fn_t) ndr_push_samr_TestPrivateFunctionsUser,
13930 : (ndr_pull_flags_fn_t) ndr_pull_samr_TestPrivateFunctionsUser,
13931 : (ndr_print_function_t) ndr_print_samr_TestPrivateFunctionsUser,
13932 : { 0, NULL },
13933 : { 0, NULL },
13934 : },
13935 : {
13936 : "samr_GetUserPwInfo",
13937 : sizeof(struct samr_GetUserPwInfo),
13938 : (ndr_push_flags_fn_t) ndr_push_samr_GetUserPwInfo,
13939 : (ndr_pull_flags_fn_t) ndr_pull_samr_GetUserPwInfo,
13940 : (ndr_print_function_t) ndr_print_samr_GetUserPwInfo,
13941 : { 0, NULL },
13942 : { 0, NULL },
13943 : },
13944 : {
13945 : "samr_RemoveMemberFromForeignDomain",
13946 : sizeof(struct samr_RemoveMemberFromForeignDomain),
13947 : (ndr_push_flags_fn_t) ndr_push_samr_RemoveMemberFromForeignDomain,
13948 : (ndr_pull_flags_fn_t) ndr_pull_samr_RemoveMemberFromForeignDomain,
13949 : (ndr_print_function_t) ndr_print_samr_RemoveMemberFromForeignDomain,
13950 : { 0, NULL },
13951 : { 0, NULL },
13952 : },
13953 : {
13954 : "samr_QueryDomainInfo2",
13955 : sizeof(struct samr_QueryDomainInfo2),
13956 : (ndr_push_flags_fn_t) ndr_push_samr_QueryDomainInfo2,
13957 : (ndr_pull_flags_fn_t) ndr_pull_samr_QueryDomainInfo2,
13958 : (ndr_print_function_t) ndr_print_samr_QueryDomainInfo2,
13959 : { 0, NULL },
13960 : { 0, NULL },
13961 : },
13962 : {
13963 : "samr_QueryUserInfo2",
13964 : sizeof(struct samr_QueryUserInfo2),
13965 : (ndr_push_flags_fn_t) ndr_push_samr_QueryUserInfo2,
13966 : (ndr_pull_flags_fn_t) ndr_pull_samr_QueryUserInfo2,
13967 : (ndr_print_function_t) ndr_print_samr_QueryUserInfo2,
13968 : { 0, NULL },
13969 : { 0, NULL },
13970 : },
13971 : {
13972 : "samr_QueryDisplayInfo2",
13973 : sizeof(struct samr_QueryDisplayInfo2),
13974 : (ndr_push_flags_fn_t) ndr_push_samr_QueryDisplayInfo2,
13975 : (ndr_pull_flags_fn_t) ndr_pull_samr_QueryDisplayInfo2,
13976 : (ndr_print_function_t) ndr_print_samr_QueryDisplayInfo2,
13977 : { 0, NULL },
13978 : { 0, NULL },
13979 : },
13980 : {
13981 : "samr_GetDisplayEnumerationIndex2",
13982 : sizeof(struct samr_GetDisplayEnumerationIndex2),
13983 : (ndr_push_flags_fn_t) ndr_push_samr_GetDisplayEnumerationIndex2,
13984 : (ndr_pull_flags_fn_t) ndr_pull_samr_GetDisplayEnumerationIndex2,
13985 : (ndr_print_function_t) ndr_print_samr_GetDisplayEnumerationIndex2,
13986 : { 0, NULL },
13987 : { 0, NULL },
13988 : },
13989 : {
13990 : "samr_CreateUser2",
13991 : sizeof(struct samr_CreateUser2),
13992 : (ndr_push_flags_fn_t) ndr_push_samr_CreateUser2,
13993 : (ndr_pull_flags_fn_t) ndr_pull_samr_CreateUser2,
13994 : (ndr_print_function_t) ndr_print_samr_CreateUser2,
13995 : { 0, NULL },
13996 : { 0, NULL },
13997 : },
13998 : {
13999 : "samr_QueryDisplayInfo3",
14000 : sizeof(struct samr_QueryDisplayInfo3),
14001 : (ndr_push_flags_fn_t) ndr_push_samr_QueryDisplayInfo3,
14002 : (ndr_pull_flags_fn_t) ndr_pull_samr_QueryDisplayInfo3,
14003 : (ndr_print_function_t) ndr_print_samr_QueryDisplayInfo3,
14004 : { 0, NULL },
14005 : { 0, NULL },
14006 : },
14007 : {
14008 : "samr_AddMultipleMembersToAlias",
14009 : sizeof(struct samr_AddMultipleMembersToAlias),
14010 : (ndr_push_flags_fn_t) ndr_push_samr_AddMultipleMembersToAlias,
14011 : (ndr_pull_flags_fn_t) ndr_pull_samr_AddMultipleMembersToAlias,
14012 : (ndr_print_function_t) ndr_print_samr_AddMultipleMembersToAlias,
14013 : { 0, NULL },
14014 : { 0, NULL },
14015 : },
14016 : {
14017 : "samr_RemoveMultipleMembersFromAlias",
14018 : sizeof(struct samr_RemoveMultipleMembersFromAlias),
14019 : (ndr_push_flags_fn_t) ndr_push_samr_RemoveMultipleMembersFromAlias,
14020 : (ndr_pull_flags_fn_t) ndr_pull_samr_RemoveMultipleMembersFromAlias,
14021 : (ndr_print_function_t) ndr_print_samr_RemoveMultipleMembersFromAlias,
14022 : { 0, NULL },
14023 : { 0, NULL },
14024 : },
14025 : {
14026 : "samr_OemChangePasswordUser2",
14027 : sizeof(struct samr_OemChangePasswordUser2),
14028 : (ndr_push_flags_fn_t) ndr_push_samr_OemChangePasswordUser2,
14029 : (ndr_pull_flags_fn_t) ndr_pull_samr_OemChangePasswordUser2,
14030 : (ndr_print_function_t) ndr_print_samr_OemChangePasswordUser2,
14031 : { 0, NULL },
14032 : { 0, NULL },
14033 : },
14034 : {
14035 : "samr_ChangePasswordUser2",
14036 : sizeof(struct samr_ChangePasswordUser2),
14037 : (ndr_push_flags_fn_t) ndr_push_samr_ChangePasswordUser2,
14038 : (ndr_pull_flags_fn_t) ndr_pull_samr_ChangePasswordUser2,
14039 : (ndr_print_function_t) ndr_print_samr_ChangePasswordUser2,
14040 : { 0, NULL },
14041 : { 0, NULL },
14042 : },
14043 : {
14044 : "samr_GetDomPwInfo",
14045 : sizeof(struct samr_GetDomPwInfo),
14046 : (ndr_push_flags_fn_t) ndr_push_samr_GetDomPwInfo,
14047 : (ndr_pull_flags_fn_t) ndr_pull_samr_GetDomPwInfo,
14048 : (ndr_print_function_t) ndr_print_samr_GetDomPwInfo,
14049 : { 0, NULL },
14050 : { 0, NULL },
14051 : },
14052 : {
14053 : "samr_Connect2",
14054 : sizeof(struct samr_Connect2),
14055 : (ndr_push_flags_fn_t) ndr_push_samr_Connect2,
14056 : (ndr_pull_flags_fn_t) ndr_pull_samr_Connect2,
14057 : (ndr_print_function_t) ndr_print_samr_Connect2,
14058 : { 0, NULL },
14059 : { 0, NULL },
14060 : },
14061 : {
14062 : "samr_SetUserInfo2",
14063 : sizeof(struct samr_SetUserInfo2),
14064 : (ndr_push_flags_fn_t) ndr_push_samr_SetUserInfo2,
14065 : (ndr_pull_flags_fn_t) ndr_pull_samr_SetUserInfo2,
14066 : (ndr_print_function_t) ndr_print_samr_SetUserInfo2,
14067 : { 0, NULL },
14068 : { 0, NULL },
14069 : },
14070 : {
14071 : "samr_SetBootKeyInformation",
14072 : sizeof(struct samr_SetBootKeyInformation),
14073 : (ndr_push_flags_fn_t) ndr_push_samr_SetBootKeyInformation,
14074 : (ndr_pull_flags_fn_t) ndr_pull_samr_SetBootKeyInformation,
14075 : (ndr_print_function_t) ndr_print_samr_SetBootKeyInformation,
14076 : { 0, NULL },
14077 : { 0, NULL },
14078 : },
14079 : {
14080 : "samr_GetBootKeyInformation",
14081 : sizeof(struct samr_GetBootKeyInformation),
14082 : (ndr_push_flags_fn_t) ndr_push_samr_GetBootKeyInformation,
14083 : (ndr_pull_flags_fn_t) ndr_pull_samr_GetBootKeyInformation,
14084 : (ndr_print_function_t) ndr_print_samr_GetBootKeyInformation,
14085 : { 0, NULL },
14086 : { 0, NULL },
14087 : },
14088 : {
14089 : "samr_Connect3",
14090 : sizeof(struct samr_Connect3),
14091 : (ndr_push_flags_fn_t) ndr_push_samr_Connect3,
14092 : (ndr_pull_flags_fn_t) ndr_pull_samr_Connect3,
14093 : (ndr_print_function_t) ndr_print_samr_Connect3,
14094 : { 0, NULL },
14095 : { 0, NULL },
14096 : },
14097 : {
14098 : "samr_Connect4",
14099 : sizeof(struct samr_Connect4),
14100 : (ndr_push_flags_fn_t) ndr_push_samr_Connect4,
14101 : (ndr_pull_flags_fn_t) ndr_pull_samr_Connect4,
14102 : (ndr_print_function_t) ndr_print_samr_Connect4,
14103 : { 0, NULL },
14104 : { 0, NULL },
14105 : },
14106 : {
14107 : "samr_ChangePasswordUser3",
14108 : sizeof(struct samr_ChangePasswordUser3),
14109 : (ndr_push_flags_fn_t) ndr_push_samr_ChangePasswordUser3,
14110 : (ndr_pull_flags_fn_t) ndr_pull_samr_ChangePasswordUser3,
14111 : (ndr_print_function_t) ndr_print_samr_ChangePasswordUser3,
14112 : { 0, NULL },
14113 : { 0, NULL },
14114 : },
14115 : {
14116 : "samr_Connect5",
14117 : sizeof(struct samr_Connect5),
14118 : (ndr_push_flags_fn_t) ndr_push_samr_Connect5,
14119 : (ndr_pull_flags_fn_t) ndr_pull_samr_Connect5,
14120 : (ndr_print_function_t) ndr_print_samr_Connect5,
14121 : { 0, NULL },
14122 : { 0, NULL },
14123 : },
14124 : {
14125 : "samr_RidToSid",
14126 : sizeof(struct samr_RidToSid),
14127 : (ndr_push_flags_fn_t) ndr_push_samr_RidToSid,
14128 : (ndr_pull_flags_fn_t) ndr_pull_samr_RidToSid,
14129 : (ndr_print_function_t) ndr_print_samr_RidToSid,
14130 : { 0, NULL },
14131 : { 0, NULL },
14132 : },
14133 : {
14134 : "samr_SetDsrmPassword",
14135 : sizeof(struct samr_SetDsrmPassword),
14136 : (ndr_push_flags_fn_t) ndr_push_samr_SetDsrmPassword,
14137 : (ndr_pull_flags_fn_t) ndr_pull_samr_SetDsrmPassword,
14138 : (ndr_print_function_t) ndr_print_samr_SetDsrmPassword,
14139 : { 0, NULL },
14140 : { 0, NULL },
14141 : },
14142 : {
14143 : "samr_ValidatePassword",
14144 : sizeof(struct samr_ValidatePassword),
14145 : (ndr_push_flags_fn_t) ndr_push_samr_ValidatePassword,
14146 : (ndr_pull_flags_fn_t) ndr_pull_samr_ValidatePassword,
14147 : (ndr_print_function_t) ndr_print_samr_ValidatePassword,
14148 : { 0, NULL },
14149 : { 0, NULL },
14150 : },
14151 : { .name = NULL }
14152 : };
14153 :
14154 : static const char * const samr_endpoint_strings[] = {
14155 : "ncacn_np:[\\pipe\\samr]",
14156 : "ncacn_ip_tcp:",
14157 : "ncalrpc:",
14158 : };
14159 :
14160 : static const struct ndr_interface_string_array samr_endpoints = {
14161 : .count = 3,
14162 : .names = samr_endpoint_strings
14163 : };
14164 :
14165 : static const char * const samr_authservice_strings[] = {
14166 : "host",
14167 : };
14168 :
14169 : static const struct ndr_interface_string_array samr_authservices = {
14170 : .count = 1,
14171 : .names = samr_authservice_strings
14172 : };
14173 :
14174 :
14175 : const struct ndr_interface_table ndr_table_samr = {
14176 : .name = "samr",
14177 : .syntax_id = {
14178 : {0x12345778,0x1234,0xabcd,{0xef,0x00},{0x01,0x23,0x45,0x67,0x89,0xac}},
14179 : NDR_SAMR_VERSION
14180 : },
14181 : .helpstring = NDR_SAMR_HELPSTRING,
14182 : .num_calls = 68,
14183 : .calls = samr_calls,
14184 : .num_public_structs = 5,
14185 : .public_structs = samr_public_structs,
14186 : .endpoints = &samr_endpoints,
14187 : .authservices = &samr_authservices
14188 : };
14189 :
14190 : #endif /* SKIP_NDR_TABLE_samr */
|