1 /* parser auto-generated by pidl */
4 #include "librpc/gen_ndr/ndr_samr.h"
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 _PUBLIC_
enum ndr_err_code
ndr_push_samr_AcctFlags(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
11 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
12 return NDR_ERR_SUCCESS
;
15 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_AcctFlags(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
18 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
20 return NDR_ERR_SUCCESS
;
23 _PUBLIC_
void ndr_print_samr_AcctFlags(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
25 ndr_print_uint32(ndr
, name
, r
);
27 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "ACB_DISABLED", ACB_DISABLED
, r
);
28 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "ACB_HOMDIRREQ", ACB_HOMDIRREQ
, r
);
29 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "ACB_PWNOTREQ", ACB_PWNOTREQ
, r
);
30 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "ACB_TEMPDUP", ACB_TEMPDUP
, r
);
31 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "ACB_NORMAL", ACB_NORMAL
, r
);
32 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "ACB_MNS", ACB_MNS
, r
);
33 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "ACB_DOMTRUST", ACB_DOMTRUST
, r
);
34 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "ACB_WSTRUST", ACB_WSTRUST
, r
);
35 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "ACB_SVRTRUST", ACB_SVRTRUST
, r
);
36 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "ACB_PWNOEXP", ACB_PWNOEXP
, r
);
37 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "ACB_AUTOLOCK", ACB_AUTOLOCK
, r
);
38 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "ACB_ENC_TXT_PWD_ALLOWED", ACB_ENC_TXT_PWD_ALLOWED
, r
);
39 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "ACB_SMARTCARD_REQUIRED", ACB_SMARTCARD_REQUIRED
, r
);
40 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "ACB_TRUSTED_FOR_DELEGATION", ACB_TRUSTED_FOR_DELEGATION
, r
);
41 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "ACB_NOT_DELEGATED", ACB_NOT_DELEGATED
, r
);
42 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "ACB_USE_DES_KEY_ONLY", ACB_USE_DES_KEY_ONLY
, r
);
43 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "ACB_DONT_REQUIRE_PREAUTH", ACB_DONT_REQUIRE_PREAUTH
, r
);
44 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "ACB_PW_EXPIRED", ACB_PW_EXPIRED
, r
);
45 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "ACB_NO_AUTH_DATA_REQD", ACB_NO_AUTH_DATA_REQD
, r
);
49 static enum ndr_err_code
ndr_push_samr_ConnectAccessMask(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
51 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
52 return NDR_ERR_SUCCESS
;
55 static enum ndr_err_code
ndr_pull_samr_ConnectAccessMask(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
58 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
60 return NDR_ERR_SUCCESS
;
63 _PUBLIC_
void ndr_print_samr_ConnectAccessMask(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
65 ndr_print_uint32(ndr
, name
, r
);
67 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_ACCESS_CONNECT_TO_SERVER", SAMR_ACCESS_CONNECT_TO_SERVER
, r
);
68 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_ACCESS_SHUTDOWN_SERVER", SAMR_ACCESS_SHUTDOWN_SERVER
, r
);
69 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_ACCESS_INITIALIZE_SERVER", SAMR_ACCESS_INITIALIZE_SERVER
, r
);
70 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_ACCESS_CREATE_DOMAIN", SAMR_ACCESS_CREATE_DOMAIN
, r
);
71 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_ACCESS_ENUM_DOMAINS", SAMR_ACCESS_ENUM_DOMAINS
, r
);
72 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_ACCESS_OPEN_DOMAIN", SAMR_ACCESS_OPEN_DOMAIN
, r
);
76 static enum ndr_err_code
ndr_push_samr_UserAccessMask(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
78 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
79 return NDR_ERR_SUCCESS
;
82 static enum ndr_err_code
ndr_pull_samr_UserAccessMask(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
85 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
87 return NDR_ERR_SUCCESS
;
90 _PUBLIC_
void ndr_print_samr_UserAccessMask(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
92 ndr_print_uint32(ndr
, name
, r
);
94 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_USER_ACCESS_GET_NAME_ETC", SAMR_USER_ACCESS_GET_NAME_ETC
, r
);
95 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_USER_ACCESS_GET_LOCALE", SAMR_USER_ACCESS_GET_LOCALE
, r
);
96 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_USER_ACCESS_SET_LOC_COM", SAMR_USER_ACCESS_SET_LOC_COM
, r
);
97 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_USER_ACCESS_GET_LOGONINFO", SAMR_USER_ACCESS_GET_LOGONINFO
, r
);
98 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_USER_ACCESS_GET_ATTRIBUTES", SAMR_USER_ACCESS_GET_ATTRIBUTES
, r
);
99 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_USER_ACCESS_SET_ATTRIBUTES", SAMR_USER_ACCESS_SET_ATTRIBUTES
, r
);
100 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_USER_ACCESS_CHANGE_PASSWORD", SAMR_USER_ACCESS_CHANGE_PASSWORD
, r
);
101 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_USER_ACCESS_SET_PASSWORD", SAMR_USER_ACCESS_SET_PASSWORD
, r
);
102 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_USER_ACCESS_GET_GROUPS", SAMR_USER_ACCESS_GET_GROUPS
, r
);
103 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_USER_ACCESS_GET_GROUP_MEMBERSHIP", SAMR_USER_ACCESS_GET_GROUP_MEMBERSHIP
, r
);
104 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_USER_ACCESS_CHANGE_GROUP_MEMBERSHIP", SAMR_USER_ACCESS_CHANGE_GROUP_MEMBERSHIP
, r
);
108 static enum ndr_err_code
ndr_push_samr_DomainAccessMask(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
110 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
111 return NDR_ERR_SUCCESS
;
114 static enum ndr_err_code
ndr_pull_samr_DomainAccessMask(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
117 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
119 return NDR_ERR_SUCCESS
;
122 _PUBLIC_
void ndr_print_samr_DomainAccessMask(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
124 ndr_print_uint32(ndr
, name
, r
);
126 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_LOOKUP_INFO_1", SAMR_DOMAIN_ACCESS_LOOKUP_INFO_1
, r
);
127 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_SET_INFO_1", SAMR_DOMAIN_ACCESS_SET_INFO_1
, r
);
128 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_LOOKUP_INFO_2", SAMR_DOMAIN_ACCESS_LOOKUP_INFO_2
, r
);
129 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_SET_INFO_2", SAMR_DOMAIN_ACCESS_SET_INFO_2
, r
);
130 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_CREATE_USER", SAMR_DOMAIN_ACCESS_CREATE_USER
, r
);
131 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_CREATE_GROUP", SAMR_DOMAIN_ACCESS_CREATE_GROUP
, r
);
132 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_CREATE_ALIAS", SAMR_DOMAIN_ACCESS_CREATE_ALIAS
, r
);
133 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_LOOKUP_ALIAS", SAMR_DOMAIN_ACCESS_LOOKUP_ALIAS
, r
);
134 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_ENUM_ACCOUNTS", SAMR_DOMAIN_ACCESS_ENUM_ACCOUNTS
, r
);
135 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_OPEN_ACCOUNT", SAMR_DOMAIN_ACCESS_OPEN_ACCOUNT
, r
);
136 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_SET_INFO_3", SAMR_DOMAIN_ACCESS_SET_INFO_3
, r
);
140 static enum ndr_err_code
ndr_push_samr_GroupAccessMask(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
142 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
143 return NDR_ERR_SUCCESS
;
146 static enum ndr_err_code
ndr_pull_samr_GroupAccessMask(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
149 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
151 return NDR_ERR_SUCCESS
;
154 _PUBLIC_
void ndr_print_samr_GroupAccessMask(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
156 ndr_print_uint32(ndr
, name
, r
);
158 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_GROUP_ACCESS_LOOKUP_INFO", SAMR_GROUP_ACCESS_LOOKUP_INFO
, r
);
159 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_GROUP_ACCESS_SET_INFO", SAMR_GROUP_ACCESS_SET_INFO
, r
);
160 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_GROUP_ACCESS_ADD_MEMBER", SAMR_GROUP_ACCESS_ADD_MEMBER
, r
);
161 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_GROUP_ACCESS_REMOVE_MEMBER", SAMR_GROUP_ACCESS_REMOVE_MEMBER
, r
);
162 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_GROUP_ACCESS_GET_MEMBERS", SAMR_GROUP_ACCESS_GET_MEMBERS
, r
);
166 static enum ndr_err_code
ndr_push_samr_AliasAccessMask(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
168 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
169 return NDR_ERR_SUCCESS
;
172 static enum ndr_err_code
ndr_pull_samr_AliasAccessMask(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
175 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
177 return NDR_ERR_SUCCESS
;
180 _PUBLIC_
void ndr_print_samr_AliasAccessMask(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
182 ndr_print_uint32(ndr
, name
, r
);
184 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_ALIAS_ACCESS_ADD_MEMBER", SAMR_ALIAS_ACCESS_ADD_MEMBER
, r
);
185 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_ALIAS_ACCESS_REMOVE_MEMBER", SAMR_ALIAS_ACCESS_REMOVE_MEMBER
, r
);
186 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_ALIAS_ACCESS_GET_MEMBERS", SAMR_ALIAS_ACCESS_GET_MEMBERS
, r
);
187 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_ALIAS_ACCESS_LOOKUP_INFO", SAMR_ALIAS_ACCESS_LOOKUP_INFO
, r
);
188 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_ALIAS_ACCESS_SET_INFO", SAMR_ALIAS_ACCESS_SET_INFO
, r
);
192 static enum ndr_err_code
ndr_push_samr_SamEntry(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_SamEntry
*r
)
194 if (ndr_flags
& NDR_SCALARS
) {
195 NDR_CHECK(ndr_push_align(ndr
, 4));
196 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->idx
));
197 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->name
));
199 if (ndr_flags
& NDR_BUFFERS
) {
200 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->name
));
202 return NDR_ERR_SUCCESS
;
205 static enum ndr_err_code
ndr_pull_samr_SamEntry(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_SamEntry
*r
)
207 if (ndr_flags
& NDR_SCALARS
) {
208 NDR_CHECK(ndr_pull_align(ndr
, 4));
209 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->idx
));
210 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->name
));
212 if (ndr_flags
& NDR_BUFFERS
) {
213 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->name
));
215 return NDR_ERR_SUCCESS
;
218 _PUBLIC_
void ndr_print_samr_SamEntry(struct ndr_print
*ndr
, const char *name
, const struct samr_SamEntry
*r
)
220 ndr_print_struct(ndr
, name
, "samr_SamEntry");
222 ndr_print_uint32(ndr
, "idx", r
->idx
);
223 ndr_print_lsa_String(ndr
, "name", &r
->name
);
227 static enum ndr_err_code
ndr_push_samr_SamArray(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_SamArray
*r
)
229 uint32_t cntr_entries_1
;
230 if (ndr_flags
& NDR_SCALARS
) {
231 NDR_CHECK(ndr_push_align(ndr
, 4));
232 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
233 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->entries
));
235 if (ndr_flags
& NDR_BUFFERS
) {
237 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
238 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
239 NDR_CHECK(ndr_push_samr_SamEntry(ndr
, NDR_SCALARS
, &r
->entries
[cntr_entries_1
]));
241 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
242 NDR_CHECK(ndr_push_samr_SamEntry(ndr
, NDR_BUFFERS
, &r
->entries
[cntr_entries_1
]));
246 return NDR_ERR_SUCCESS
;
249 static enum ndr_err_code
ndr_pull_samr_SamArray(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_SamArray
*r
)
251 uint32_t _ptr_entries
;
252 uint32_t cntr_entries_1
;
253 TALLOC_CTX
*_mem_save_entries_0
;
254 TALLOC_CTX
*_mem_save_entries_1
;
255 if (ndr_flags
& NDR_SCALARS
) {
256 NDR_CHECK(ndr_pull_align(ndr
, 4));
257 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
258 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_entries
));
260 NDR_PULL_ALLOC(ndr
, r
->entries
);
265 if (ndr_flags
& NDR_BUFFERS
) {
267 _mem_save_entries_0
= NDR_PULL_GET_MEM_CTX(ndr
);
268 NDR_PULL_SET_MEM_CTX(ndr
, r
->entries
, 0);
269 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->entries
));
270 NDR_PULL_ALLOC_N(ndr
, r
->entries
, ndr_get_array_size(ndr
, &r
->entries
));
271 _mem_save_entries_1
= NDR_PULL_GET_MEM_CTX(ndr
);
272 NDR_PULL_SET_MEM_CTX(ndr
, r
->entries
, 0);
273 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
274 NDR_CHECK(ndr_pull_samr_SamEntry(ndr
, NDR_SCALARS
, &r
->entries
[cntr_entries_1
]));
276 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
277 NDR_CHECK(ndr_pull_samr_SamEntry(ndr
, NDR_BUFFERS
, &r
->entries
[cntr_entries_1
]));
279 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_entries_1
, 0);
280 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_entries_0
, 0);
283 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->entries
, r
->count
));
286 return NDR_ERR_SUCCESS
;
289 _PUBLIC_
void ndr_print_samr_SamArray(struct ndr_print
*ndr
, const char *name
, const struct samr_SamArray
*r
)
291 uint32_t cntr_entries_1
;
292 ndr_print_struct(ndr
, name
, "samr_SamArray");
294 ndr_print_uint32(ndr
, "count", r
->count
);
295 ndr_print_ptr(ndr
, "entries", r
->entries
);
298 ndr
->print(ndr
, "%s: ARRAY(%d)", "entries", (int)r
->count
);
300 for (cntr_entries_1
=0;cntr_entries_1
<r
->count
;cntr_entries_1
++) {
302 if (asprintf(&idx_1
, "[%d]", cntr_entries_1
) != -1) {
303 ndr_print_samr_SamEntry(ndr
, "entries", &r
->entries
[cntr_entries_1
]);
313 static enum ndr_err_code
ndr_push_samr_Role(struct ndr_push
*ndr
, int ndr_flags
, enum samr_Role r
)
315 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
316 return NDR_ERR_SUCCESS
;
319 static enum ndr_err_code
ndr_pull_samr_Role(struct ndr_pull
*ndr
, int ndr_flags
, enum samr_Role
*r
)
322 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
324 return NDR_ERR_SUCCESS
;
327 _PUBLIC_
void ndr_print_samr_Role(struct ndr_print
*ndr
, const char *name
, enum samr_Role r
)
329 const char *val
= NULL
;
332 case SAMR_ROLE_STANDALONE
: val
= "SAMR_ROLE_STANDALONE"; break;
333 case SAMR_ROLE_DOMAIN_MEMBER
: val
= "SAMR_ROLE_DOMAIN_MEMBER"; break;
334 case SAMR_ROLE_DOMAIN_BDC
: val
= "SAMR_ROLE_DOMAIN_BDC"; break;
335 case SAMR_ROLE_DOMAIN_PDC
: val
= "SAMR_ROLE_DOMAIN_PDC"; break;
337 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
340 _PUBLIC_
enum ndr_err_code
ndr_push_samr_PasswordProperties(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
342 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
343 return NDR_ERR_SUCCESS
;
346 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_PasswordProperties(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
349 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
351 return NDR_ERR_SUCCESS
;
354 _PUBLIC_
void ndr_print_samr_PasswordProperties(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
356 ndr_print_uint32(ndr
, name
, r
);
358 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DOMAIN_PASSWORD_COMPLEX", DOMAIN_PASSWORD_COMPLEX
, r
);
359 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DOMAIN_PASSWORD_NO_ANON_CHANGE", DOMAIN_PASSWORD_NO_ANON_CHANGE
, r
);
360 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DOMAIN_PASSWORD_NO_CLEAR_CHANGE", DOMAIN_PASSWORD_NO_CLEAR_CHANGE
, r
);
361 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DOMAIN_PASSWORD_LOCKOUT_ADMINS", DOMAIN_PASSWORD_LOCKOUT_ADMINS
, r
);
362 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DOMAIN_PASSWORD_STORE_CLEARTEXT", DOMAIN_PASSWORD_STORE_CLEARTEXT
, r
);
363 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DOMAIN_REFUSE_PASSWORD_CHANGE", DOMAIN_REFUSE_PASSWORD_CHANGE
, r
);
367 static enum ndr_err_code
ndr_push_samr_DomInfo1(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DomInfo1
*r
)
369 if (ndr_flags
& NDR_SCALARS
) {
370 NDR_CHECK(ndr_push_align(ndr
, 4));
371 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->min_password_length
));
372 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->password_history_length
));
373 NDR_CHECK(ndr_push_samr_PasswordProperties(ndr
, NDR_SCALARS
, r
->password_properties
));
374 NDR_CHECK(ndr_push_dlong(ndr
, NDR_SCALARS
, r
->max_password_age
));
375 NDR_CHECK(ndr_push_dlong(ndr
, NDR_SCALARS
, r
->min_password_age
));
377 if (ndr_flags
& NDR_BUFFERS
) {
379 return NDR_ERR_SUCCESS
;
382 static enum ndr_err_code
ndr_pull_samr_DomInfo1(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DomInfo1
*r
)
384 if (ndr_flags
& NDR_SCALARS
) {
385 NDR_CHECK(ndr_pull_align(ndr
, 4));
386 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->min_password_length
));
387 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->password_history_length
));
388 NDR_CHECK(ndr_pull_samr_PasswordProperties(ndr
, NDR_SCALARS
, &r
->password_properties
));
389 NDR_CHECK(ndr_pull_dlong(ndr
, NDR_SCALARS
, &r
->max_password_age
));
390 NDR_CHECK(ndr_pull_dlong(ndr
, NDR_SCALARS
, &r
->min_password_age
));
392 if (ndr_flags
& NDR_BUFFERS
) {
394 return NDR_ERR_SUCCESS
;
397 _PUBLIC_
void ndr_print_samr_DomInfo1(struct ndr_print
*ndr
, const char *name
, const struct samr_DomInfo1
*r
)
399 ndr_print_struct(ndr
, name
, "samr_DomInfo1");
401 ndr_print_uint16(ndr
, "min_password_length", r
->min_password_length
);
402 ndr_print_uint16(ndr
, "password_history_length", r
->password_history_length
);
403 ndr_print_samr_PasswordProperties(ndr
, "password_properties", r
->password_properties
);
404 ndr_print_dlong(ndr
, "max_password_age", r
->max_password_age
);
405 ndr_print_dlong(ndr
, "min_password_age", r
->min_password_age
);
409 static enum ndr_err_code
ndr_push_samr_DomInfo2(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DomInfo2
*r
)
411 if (ndr_flags
& NDR_SCALARS
) {
412 NDR_CHECK(ndr_push_align(ndr
, 4));
413 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->force_logoff_time
));
414 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->comment
));
415 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->domain_name
));
416 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->primary
));
417 NDR_CHECK(ndr_push_udlong(ndr
, NDR_SCALARS
, r
->sequence_num
));
418 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown2
));
419 NDR_CHECK(ndr_push_samr_Role(ndr
, NDR_SCALARS
, r
->role
));
420 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown3
));
421 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_users
));
422 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_groups
));
423 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_aliases
));
425 if (ndr_flags
& NDR_BUFFERS
) {
426 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->comment
));
427 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->domain_name
));
428 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->primary
));
430 return NDR_ERR_SUCCESS
;
433 static enum ndr_err_code
ndr_pull_samr_DomInfo2(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DomInfo2
*r
)
435 if (ndr_flags
& NDR_SCALARS
) {
436 NDR_CHECK(ndr_pull_align(ndr
, 4));
437 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->force_logoff_time
));
438 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->comment
));
439 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->domain_name
));
440 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->primary
));
441 NDR_CHECK(ndr_pull_udlong(ndr
, NDR_SCALARS
, &r
->sequence_num
));
442 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown2
));
443 NDR_CHECK(ndr_pull_samr_Role(ndr
, NDR_SCALARS
, &r
->role
));
444 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown3
));
445 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_users
));
446 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_groups
));
447 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_aliases
));
449 if (ndr_flags
& NDR_BUFFERS
) {
450 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->comment
));
451 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->domain_name
));
452 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->primary
));
454 return NDR_ERR_SUCCESS
;
457 _PUBLIC_
void ndr_print_samr_DomInfo2(struct ndr_print
*ndr
, const char *name
, const struct samr_DomInfo2
*r
)
459 ndr_print_struct(ndr
, name
, "samr_DomInfo2");
461 ndr_print_NTTIME(ndr
, "force_logoff_time", r
->force_logoff_time
);
462 ndr_print_lsa_String(ndr
, "comment", &r
->comment
);
463 ndr_print_lsa_String(ndr
, "domain_name", &r
->domain_name
);
464 ndr_print_lsa_String(ndr
, "primary", &r
->primary
);
465 ndr_print_udlong(ndr
, "sequence_num", r
->sequence_num
);
466 ndr_print_uint32(ndr
, "unknown2", r
->unknown2
);
467 ndr_print_samr_Role(ndr
, "role", r
->role
);
468 ndr_print_uint32(ndr
, "unknown3", r
->unknown3
);
469 ndr_print_uint32(ndr
, "num_users", r
->num_users
);
470 ndr_print_uint32(ndr
, "num_groups", r
->num_groups
);
471 ndr_print_uint32(ndr
, "num_aliases", r
->num_aliases
);
475 static enum ndr_err_code
ndr_push_samr_DomInfo3(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DomInfo3
*r
)
477 if (ndr_flags
& NDR_SCALARS
) {
478 NDR_CHECK(ndr_push_align(ndr
, 4));
479 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->force_logoff_time
));
481 if (ndr_flags
& NDR_BUFFERS
) {
483 return NDR_ERR_SUCCESS
;
486 static enum ndr_err_code
ndr_pull_samr_DomInfo3(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DomInfo3
*r
)
488 if (ndr_flags
& NDR_SCALARS
) {
489 NDR_CHECK(ndr_pull_align(ndr
, 4));
490 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->force_logoff_time
));
492 if (ndr_flags
& NDR_BUFFERS
) {
494 return NDR_ERR_SUCCESS
;
497 _PUBLIC_
void ndr_print_samr_DomInfo3(struct ndr_print
*ndr
, const char *name
, const struct samr_DomInfo3
*r
)
499 ndr_print_struct(ndr
, name
, "samr_DomInfo3");
501 ndr_print_NTTIME(ndr
, "force_logoff_time", r
->force_logoff_time
);
505 static enum ndr_err_code
ndr_push_samr_DomInfo4(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DomInfo4
*r
)
507 if (ndr_flags
& NDR_SCALARS
) {
508 NDR_CHECK(ndr_push_align(ndr
, 4));
509 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->comment
));
511 if (ndr_flags
& NDR_BUFFERS
) {
512 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->comment
));
514 return NDR_ERR_SUCCESS
;
517 static enum ndr_err_code
ndr_pull_samr_DomInfo4(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DomInfo4
*r
)
519 if (ndr_flags
& NDR_SCALARS
) {
520 NDR_CHECK(ndr_pull_align(ndr
, 4));
521 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->comment
));
523 if (ndr_flags
& NDR_BUFFERS
) {
524 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->comment
));
526 return NDR_ERR_SUCCESS
;
529 _PUBLIC_
void ndr_print_samr_DomInfo4(struct ndr_print
*ndr
, const char *name
, const struct samr_DomInfo4
*r
)
531 ndr_print_struct(ndr
, name
, "samr_DomInfo4");
533 ndr_print_lsa_String(ndr
, "comment", &r
->comment
);
537 static enum ndr_err_code
ndr_push_samr_DomInfo5(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DomInfo5
*r
)
539 if (ndr_flags
& NDR_SCALARS
) {
540 NDR_CHECK(ndr_push_align(ndr
, 4));
541 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->domain_name
));
543 if (ndr_flags
& NDR_BUFFERS
) {
544 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->domain_name
));
546 return NDR_ERR_SUCCESS
;
549 static enum ndr_err_code
ndr_pull_samr_DomInfo5(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DomInfo5
*r
)
551 if (ndr_flags
& NDR_SCALARS
) {
552 NDR_CHECK(ndr_pull_align(ndr
, 4));
553 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->domain_name
));
555 if (ndr_flags
& NDR_BUFFERS
) {
556 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->domain_name
));
558 return NDR_ERR_SUCCESS
;
561 _PUBLIC_
void ndr_print_samr_DomInfo5(struct ndr_print
*ndr
, const char *name
, const struct samr_DomInfo5
*r
)
563 ndr_print_struct(ndr
, name
, "samr_DomInfo5");
565 ndr_print_lsa_String(ndr
, "domain_name", &r
->domain_name
);
569 static enum ndr_err_code
ndr_push_samr_DomInfo6(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DomInfo6
*r
)
571 if (ndr_flags
& NDR_SCALARS
) {
572 NDR_CHECK(ndr_push_align(ndr
, 4));
573 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->primary
));
575 if (ndr_flags
& NDR_BUFFERS
) {
576 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->primary
));
578 return NDR_ERR_SUCCESS
;
581 static enum ndr_err_code
ndr_pull_samr_DomInfo6(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DomInfo6
*r
)
583 if (ndr_flags
& NDR_SCALARS
) {
584 NDR_CHECK(ndr_pull_align(ndr
, 4));
585 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->primary
));
587 if (ndr_flags
& NDR_BUFFERS
) {
588 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->primary
));
590 return NDR_ERR_SUCCESS
;
593 _PUBLIC_
void ndr_print_samr_DomInfo6(struct ndr_print
*ndr
, const char *name
, const struct samr_DomInfo6
*r
)
595 ndr_print_struct(ndr
, name
, "samr_DomInfo6");
597 ndr_print_lsa_String(ndr
, "primary", &r
->primary
);
601 static enum ndr_err_code
ndr_push_samr_DomInfo7(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DomInfo7
*r
)
603 if (ndr_flags
& NDR_SCALARS
) {
604 NDR_CHECK(ndr_push_align(ndr
, 4));
605 NDR_CHECK(ndr_push_samr_Role(ndr
, NDR_SCALARS
, r
->role
));
607 if (ndr_flags
& NDR_BUFFERS
) {
609 return NDR_ERR_SUCCESS
;
612 static enum ndr_err_code
ndr_pull_samr_DomInfo7(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DomInfo7
*r
)
614 if (ndr_flags
& NDR_SCALARS
) {
615 NDR_CHECK(ndr_pull_align(ndr
, 4));
616 NDR_CHECK(ndr_pull_samr_Role(ndr
, NDR_SCALARS
, &r
->role
));
618 if (ndr_flags
& NDR_BUFFERS
) {
620 return NDR_ERR_SUCCESS
;
623 _PUBLIC_
void ndr_print_samr_DomInfo7(struct ndr_print
*ndr
, const char *name
, const struct samr_DomInfo7
*r
)
625 ndr_print_struct(ndr
, name
, "samr_DomInfo7");
627 ndr_print_samr_Role(ndr
, "role", r
->role
);
631 static enum ndr_err_code
ndr_push_samr_DomInfo8(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DomInfo8
*r
)
633 if (ndr_flags
& NDR_SCALARS
) {
634 NDR_CHECK(ndr_push_align(ndr
, 8));
635 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->sequence_num
));
636 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->domain_create_time
));
638 if (ndr_flags
& NDR_BUFFERS
) {
640 return NDR_ERR_SUCCESS
;
643 static enum ndr_err_code
ndr_pull_samr_DomInfo8(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DomInfo8
*r
)
645 if (ndr_flags
& NDR_SCALARS
) {
646 NDR_CHECK(ndr_pull_align(ndr
, 8));
647 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->sequence_num
));
648 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->domain_create_time
));
650 if (ndr_flags
& NDR_BUFFERS
) {
652 return NDR_ERR_SUCCESS
;
655 _PUBLIC_
void ndr_print_samr_DomInfo8(struct ndr_print
*ndr
, const char *name
, const struct samr_DomInfo8
*r
)
657 ndr_print_struct(ndr
, name
, "samr_DomInfo8");
659 ndr_print_hyper(ndr
, "sequence_num", r
->sequence_num
);
660 ndr_print_NTTIME(ndr
, "domain_create_time", r
->domain_create_time
);
664 static enum ndr_err_code
ndr_push_samr_DomInfo9(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DomInfo9
*r
)
666 if (ndr_flags
& NDR_SCALARS
) {
667 NDR_CHECK(ndr_push_align(ndr
, 4));
668 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown
));
670 if (ndr_flags
& NDR_BUFFERS
) {
672 return NDR_ERR_SUCCESS
;
675 static enum ndr_err_code
ndr_pull_samr_DomInfo9(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DomInfo9
*r
)
677 if (ndr_flags
& NDR_SCALARS
) {
678 NDR_CHECK(ndr_pull_align(ndr
, 4));
679 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown
));
681 if (ndr_flags
& NDR_BUFFERS
) {
683 return NDR_ERR_SUCCESS
;
686 _PUBLIC_
void ndr_print_samr_DomInfo9(struct ndr_print
*ndr
, const char *name
, const struct samr_DomInfo9
*r
)
688 ndr_print_struct(ndr
, name
, "samr_DomInfo9");
690 ndr_print_uint32(ndr
, "unknown", r
->unknown
);
694 static enum ndr_err_code
ndr_push_samr_DomInfo11(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DomInfo11
*r
)
696 if (ndr_flags
& NDR_SCALARS
) {
697 NDR_CHECK(ndr_push_align(ndr
, 8));
698 NDR_CHECK(ndr_push_samr_DomInfo2(ndr
, NDR_SCALARS
, &r
->info2
));
699 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->lockout_duration
));
700 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->lockout_window
));
701 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->lockout_threshold
));
703 if (ndr_flags
& NDR_BUFFERS
) {
704 NDR_CHECK(ndr_push_samr_DomInfo2(ndr
, NDR_BUFFERS
, &r
->info2
));
706 return NDR_ERR_SUCCESS
;
709 static enum ndr_err_code
ndr_pull_samr_DomInfo11(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DomInfo11
*r
)
711 if (ndr_flags
& NDR_SCALARS
) {
712 NDR_CHECK(ndr_pull_align(ndr
, 8));
713 NDR_CHECK(ndr_pull_samr_DomInfo2(ndr
, NDR_SCALARS
, &r
->info2
));
714 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->lockout_duration
));
715 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->lockout_window
));
716 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->lockout_threshold
));
718 if (ndr_flags
& NDR_BUFFERS
) {
719 NDR_CHECK(ndr_pull_samr_DomInfo2(ndr
, NDR_BUFFERS
, &r
->info2
));
721 return NDR_ERR_SUCCESS
;
724 _PUBLIC_
void ndr_print_samr_DomInfo11(struct ndr_print
*ndr
, const char *name
, const struct samr_DomInfo11
*r
)
726 ndr_print_struct(ndr
, name
, "samr_DomInfo11");
728 ndr_print_samr_DomInfo2(ndr
, "info2", &r
->info2
);
729 ndr_print_hyper(ndr
, "lockout_duration", r
->lockout_duration
);
730 ndr_print_hyper(ndr
, "lockout_window", r
->lockout_window
);
731 ndr_print_uint16(ndr
, "lockout_threshold", r
->lockout_threshold
);
735 static enum ndr_err_code
ndr_push_samr_DomInfo12(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DomInfo12
*r
)
737 if (ndr_flags
& NDR_SCALARS
) {
738 NDR_CHECK(ndr_push_align(ndr
, 8));
739 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->lockout_duration
));
740 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->lockout_window
));
741 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->lockout_threshold
));
743 if (ndr_flags
& NDR_BUFFERS
) {
745 return NDR_ERR_SUCCESS
;
748 static enum ndr_err_code
ndr_pull_samr_DomInfo12(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DomInfo12
*r
)
750 if (ndr_flags
& NDR_SCALARS
) {
751 NDR_CHECK(ndr_pull_align(ndr
, 8));
752 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->lockout_duration
));
753 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->lockout_window
));
754 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->lockout_threshold
));
756 if (ndr_flags
& NDR_BUFFERS
) {
758 return NDR_ERR_SUCCESS
;
761 _PUBLIC_
void ndr_print_samr_DomInfo12(struct ndr_print
*ndr
, const char *name
, const struct samr_DomInfo12
*r
)
763 ndr_print_struct(ndr
, name
, "samr_DomInfo12");
765 ndr_print_hyper(ndr
, "lockout_duration", r
->lockout_duration
);
766 ndr_print_hyper(ndr
, "lockout_window", r
->lockout_window
);
767 ndr_print_uint16(ndr
, "lockout_threshold", r
->lockout_threshold
);
771 static enum ndr_err_code
ndr_push_samr_DomInfo13(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DomInfo13
*r
)
773 if (ndr_flags
& NDR_SCALARS
) {
774 NDR_CHECK(ndr_push_align(ndr
, 8));
775 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->sequence_num
));
776 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->domain_create_time
));
777 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown1
));
778 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown2
));
780 if (ndr_flags
& NDR_BUFFERS
) {
782 return NDR_ERR_SUCCESS
;
785 static enum ndr_err_code
ndr_pull_samr_DomInfo13(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DomInfo13
*r
)
787 if (ndr_flags
& NDR_SCALARS
) {
788 NDR_CHECK(ndr_pull_align(ndr
, 8));
789 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->sequence_num
));
790 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->domain_create_time
));
791 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown1
));
792 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown2
));
794 if (ndr_flags
& NDR_BUFFERS
) {
796 return NDR_ERR_SUCCESS
;
799 _PUBLIC_
void ndr_print_samr_DomInfo13(struct ndr_print
*ndr
, const char *name
, const struct samr_DomInfo13
*r
)
801 ndr_print_struct(ndr
, name
, "samr_DomInfo13");
803 ndr_print_hyper(ndr
, "sequence_num", r
->sequence_num
);
804 ndr_print_NTTIME(ndr
, "domain_create_time", r
->domain_create_time
);
805 ndr_print_uint32(ndr
, "unknown1", r
->unknown1
);
806 ndr_print_uint32(ndr
, "unknown2", r
->unknown2
);
810 static enum ndr_err_code
ndr_push_samr_DomainInfo(struct ndr_push
*ndr
, int ndr_flags
, const union samr_DomainInfo
*r
)
812 if (ndr_flags
& NDR_SCALARS
) {
813 int level
= ndr_push_get_switch_value(ndr
, r
);
814 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, level
));
817 NDR_CHECK(ndr_push_samr_DomInfo1(ndr
, NDR_SCALARS
, &r
->info1
));
821 NDR_CHECK(ndr_push_samr_DomInfo2(ndr
, NDR_SCALARS
, &r
->info2
));
825 NDR_CHECK(ndr_push_samr_DomInfo3(ndr
, NDR_SCALARS
, &r
->info3
));
829 NDR_CHECK(ndr_push_samr_DomInfo4(ndr
, NDR_SCALARS
, &r
->info4
));
833 NDR_CHECK(ndr_push_samr_DomInfo5(ndr
, NDR_SCALARS
, &r
->info5
));
837 NDR_CHECK(ndr_push_samr_DomInfo6(ndr
, NDR_SCALARS
, &r
->info6
));
841 NDR_CHECK(ndr_push_samr_DomInfo7(ndr
, NDR_SCALARS
, &r
->info7
));
845 NDR_CHECK(ndr_push_samr_DomInfo8(ndr
, NDR_SCALARS
, &r
->info8
));
849 NDR_CHECK(ndr_push_samr_DomInfo9(ndr
, NDR_SCALARS
, &r
->info9
));
853 NDR_CHECK(ndr_push_samr_DomInfo11(ndr
, NDR_SCALARS
, &r
->info11
));
857 NDR_CHECK(ndr_push_samr_DomInfo12(ndr
, NDR_SCALARS
, &r
->info12
));
861 NDR_CHECK(ndr_push_samr_DomInfo13(ndr
, NDR_SCALARS
, &r
->info13
));
865 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
868 if (ndr_flags
& NDR_BUFFERS
) {
869 int level
= ndr_push_get_switch_value(ndr
, r
);
875 NDR_CHECK(ndr_push_samr_DomInfo2(ndr
, NDR_BUFFERS
, &r
->info2
));
882 NDR_CHECK(ndr_push_samr_DomInfo4(ndr
, NDR_BUFFERS
, &r
->info4
));
886 NDR_CHECK(ndr_push_samr_DomInfo5(ndr
, NDR_BUFFERS
, &r
->info5
));
890 NDR_CHECK(ndr_push_samr_DomInfo6(ndr
, NDR_BUFFERS
, &r
->info6
));
903 NDR_CHECK(ndr_push_samr_DomInfo11(ndr
, NDR_BUFFERS
, &r
->info11
));
913 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
916 return NDR_ERR_SUCCESS
;
919 static enum ndr_err_code
ndr_pull_samr_DomainInfo(struct ndr_pull
*ndr
, int ndr_flags
, union samr_DomainInfo
*r
)
923 level
= ndr_pull_get_switch_value(ndr
, r
);
924 if (ndr_flags
& NDR_SCALARS
) {
925 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &_level
));
926 if (_level
!= level
) {
927 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r", _level
);
931 NDR_CHECK(ndr_pull_samr_DomInfo1(ndr
, NDR_SCALARS
, &r
->info1
));
935 NDR_CHECK(ndr_pull_samr_DomInfo2(ndr
, NDR_SCALARS
, &r
->info2
));
939 NDR_CHECK(ndr_pull_samr_DomInfo3(ndr
, NDR_SCALARS
, &r
->info3
));
943 NDR_CHECK(ndr_pull_samr_DomInfo4(ndr
, NDR_SCALARS
, &r
->info4
));
947 NDR_CHECK(ndr_pull_samr_DomInfo5(ndr
, NDR_SCALARS
, &r
->info5
));
951 NDR_CHECK(ndr_pull_samr_DomInfo6(ndr
, NDR_SCALARS
, &r
->info6
));
955 NDR_CHECK(ndr_pull_samr_DomInfo7(ndr
, NDR_SCALARS
, &r
->info7
));
959 NDR_CHECK(ndr_pull_samr_DomInfo8(ndr
, NDR_SCALARS
, &r
->info8
));
963 NDR_CHECK(ndr_pull_samr_DomInfo9(ndr
, NDR_SCALARS
, &r
->info9
));
967 NDR_CHECK(ndr_pull_samr_DomInfo11(ndr
, NDR_SCALARS
, &r
->info11
));
971 NDR_CHECK(ndr_pull_samr_DomInfo12(ndr
, NDR_SCALARS
, &r
->info12
));
975 NDR_CHECK(ndr_pull_samr_DomInfo13(ndr
, NDR_SCALARS
, &r
->info13
));
979 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
982 if (ndr_flags
& NDR_BUFFERS
) {
988 NDR_CHECK(ndr_pull_samr_DomInfo2(ndr
, NDR_BUFFERS
, &r
->info2
));
995 NDR_CHECK(ndr_pull_samr_DomInfo4(ndr
, NDR_BUFFERS
, &r
->info4
));
999 NDR_CHECK(ndr_pull_samr_DomInfo5(ndr
, NDR_BUFFERS
, &r
->info5
));
1003 NDR_CHECK(ndr_pull_samr_DomInfo6(ndr
, NDR_BUFFERS
, &r
->info6
));
1016 NDR_CHECK(ndr_pull_samr_DomInfo11(ndr
, NDR_BUFFERS
, &r
->info11
));
1026 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
1029 return NDR_ERR_SUCCESS
;
1032 _PUBLIC_
void ndr_print_samr_DomainInfo(struct ndr_print
*ndr
, const char *name
, const union samr_DomainInfo
*r
)
1035 level
= ndr_print_get_switch_value(ndr
, r
);
1036 ndr_print_union(ndr
, name
, level
, "samr_DomainInfo");
1039 ndr_print_samr_DomInfo1(ndr
, "info1", &r
->info1
);
1043 ndr_print_samr_DomInfo2(ndr
, "info2", &r
->info2
);
1047 ndr_print_samr_DomInfo3(ndr
, "info3", &r
->info3
);
1051 ndr_print_samr_DomInfo4(ndr
, "info4", &r
->info4
);
1055 ndr_print_samr_DomInfo5(ndr
, "info5", &r
->info5
);
1059 ndr_print_samr_DomInfo6(ndr
, "info6", &r
->info6
);
1063 ndr_print_samr_DomInfo7(ndr
, "info7", &r
->info7
);
1067 ndr_print_samr_DomInfo8(ndr
, "info8", &r
->info8
);
1071 ndr_print_samr_DomInfo9(ndr
, "info9", &r
->info9
);
1075 ndr_print_samr_DomInfo11(ndr
, "info11", &r
->info11
);
1079 ndr_print_samr_DomInfo12(ndr
, "info12", &r
->info12
);
1083 ndr_print_samr_DomInfo13(ndr
, "info13", &r
->info13
);
1087 ndr_print_bad_level(ndr
, name
, level
);
1091 static enum ndr_err_code
ndr_push_samr_Ids(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_Ids
*r
)
1093 uint32_t cntr_ids_1
;
1094 if (ndr_flags
& NDR_SCALARS
) {
1095 NDR_CHECK(ndr_push_align(ndr
, 4));
1096 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
1097 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->ids
));
1099 if (ndr_flags
& NDR_BUFFERS
) {
1101 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
1102 for (cntr_ids_1
= 0; cntr_ids_1
< r
->count
; cntr_ids_1
++) {
1103 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->ids
[cntr_ids_1
]));
1107 return NDR_ERR_SUCCESS
;
1110 static enum ndr_err_code
ndr_pull_samr_Ids(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_Ids
*r
)
1113 uint32_t cntr_ids_1
;
1114 TALLOC_CTX
*_mem_save_ids_0
;
1115 TALLOC_CTX
*_mem_save_ids_1
;
1116 if (ndr_flags
& NDR_SCALARS
) {
1117 NDR_CHECK(ndr_pull_align(ndr
, 4));
1118 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
1119 if (r
->count
< 0 || r
->count
> 1024) {
1120 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
1122 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_ids
));
1124 NDR_PULL_ALLOC(ndr
, r
->ids
);
1129 if (ndr_flags
& NDR_BUFFERS
) {
1131 _mem_save_ids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1132 NDR_PULL_SET_MEM_CTX(ndr
, r
->ids
, 0);
1133 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->ids
));
1134 NDR_PULL_ALLOC_N(ndr
, r
->ids
, ndr_get_array_size(ndr
, &r
->ids
));
1135 _mem_save_ids_1
= NDR_PULL_GET_MEM_CTX(ndr
);
1136 NDR_PULL_SET_MEM_CTX(ndr
, r
->ids
, 0);
1137 for (cntr_ids_1
= 0; cntr_ids_1
< r
->count
; cntr_ids_1
++) {
1138 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->ids
[cntr_ids_1
]));
1140 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ids_1
, 0);
1141 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ids_0
, 0);
1144 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->ids
, r
->count
));
1147 return NDR_ERR_SUCCESS
;
1150 _PUBLIC_
void ndr_print_samr_Ids(struct ndr_print
*ndr
, const char *name
, const struct samr_Ids
*r
)
1152 uint32_t cntr_ids_1
;
1153 ndr_print_struct(ndr
, name
, "samr_Ids");
1155 ndr_print_uint32(ndr
, "count", r
->count
);
1156 ndr_print_ptr(ndr
, "ids", r
->ids
);
1159 ndr
->print(ndr
, "%s: ARRAY(%d)", "ids", (int)r
->count
);
1161 for (cntr_ids_1
=0;cntr_ids_1
<r
->count
;cntr_ids_1
++) {
1163 if (asprintf(&idx_1
, "[%d]", cntr_ids_1
) != -1) {
1164 ndr_print_uint32(ndr
, "ids", r
->ids
[cntr_ids_1
]);
1174 _PUBLIC_
enum ndr_err_code
ndr_push_samr_GroupAttrs(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
1176 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
1177 return NDR_ERR_SUCCESS
;
1180 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_GroupAttrs(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
1183 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
1185 return NDR_ERR_SUCCESS
;
1188 _PUBLIC_
void ndr_print_samr_GroupAttrs(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
1190 ndr_print_uint32(ndr
, name
, r
);
1192 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SE_GROUP_MANDATORY", SE_GROUP_MANDATORY
, r
);
1193 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SE_GROUP_ENABLED_BY_DEFAULT", SE_GROUP_ENABLED_BY_DEFAULT
, r
);
1194 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SE_GROUP_ENABLED", SE_GROUP_ENABLED
, r
);
1195 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SE_GROUP_OWNER", SE_GROUP_OWNER
, r
);
1196 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SE_GROUP_USE_FOR_DENY_ONLY", SE_GROUP_USE_FOR_DENY_ONLY
, r
);
1197 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SE_GROUP_RESOURCE", SE_GROUP_RESOURCE
, r
);
1198 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SE_GROUP_LOGON_ID", SE_GROUP_LOGON_ID
, r
);
1202 static enum ndr_err_code
ndr_push_samr_GroupInfoAll(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_GroupInfoAll
*r
)
1204 if (ndr_flags
& NDR_SCALARS
) {
1205 NDR_CHECK(ndr_push_align(ndr
, 4));
1206 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->name
));
1207 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr
, NDR_SCALARS
, r
->attributes
));
1208 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_members
));
1209 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
1211 if (ndr_flags
& NDR_BUFFERS
) {
1212 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->name
));
1213 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
1215 return NDR_ERR_SUCCESS
;
1218 static enum ndr_err_code
ndr_pull_samr_GroupInfoAll(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_GroupInfoAll
*r
)
1220 if (ndr_flags
& NDR_SCALARS
) {
1221 NDR_CHECK(ndr_pull_align(ndr
, 4));
1222 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->name
));
1223 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr
, NDR_SCALARS
, &r
->attributes
));
1224 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_members
));
1225 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
1227 if (ndr_flags
& NDR_BUFFERS
) {
1228 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->name
));
1229 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
1231 return NDR_ERR_SUCCESS
;
1234 _PUBLIC_
void ndr_print_samr_GroupInfoAll(struct ndr_print
*ndr
, const char *name
, const struct samr_GroupInfoAll
*r
)
1236 ndr_print_struct(ndr
, name
, "samr_GroupInfoAll");
1238 ndr_print_lsa_String(ndr
, "name", &r
->name
);
1239 ndr_print_samr_GroupAttrs(ndr
, "attributes", r
->attributes
);
1240 ndr_print_uint32(ndr
, "num_members", r
->num_members
);
1241 ndr_print_lsa_String(ndr
, "description", &r
->description
);
1245 static enum ndr_err_code
ndr_push_samr_GroupInfoAttributes(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_GroupInfoAttributes
*r
)
1247 if (ndr_flags
& NDR_SCALARS
) {
1248 NDR_CHECK(ndr_push_align(ndr
, 4));
1249 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr
, NDR_SCALARS
, r
->attributes
));
1251 if (ndr_flags
& NDR_BUFFERS
) {
1253 return NDR_ERR_SUCCESS
;
1256 static enum ndr_err_code
ndr_pull_samr_GroupInfoAttributes(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_GroupInfoAttributes
*r
)
1258 if (ndr_flags
& NDR_SCALARS
) {
1259 NDR_CHECK(ndr_pull_align(ndr
, 4));
1260 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr
, NDR_SCALARS
, &r
->attributes
));
1262 if (ndr_flags
& NDR_BUFFERS
) {
1264 return NDR_ERR_SUCCESS
;
1267 _PUBLIC_
void ndr_print_samr_GroupInfoAttributes(struct ndr_print
*ndr
, const char *name
, const struct samr_GroupInfoAttributes
*r
)
1269 ndr_print_struct(ndr
, name
, "samr_GroupInfoAttributes");
1271 ndr_print_samr_GroupAttrs(ndr
, "attributes", r
->attributes
);
1275 static enum ndr_err_code
ndr_push_samr_GroupInfoEnum(struct ndr_push
*ndr
, int ndr_flags
, enum samr_GroupInfoEnum r
)
1277 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
));
1278 return NDR_ERR_SUCCESS
;
1281 static enum ndr_err_code
ndr_pull_samr_GroupInfoEnum(struct ndr_pull
*ndr
, int ndr_flags
, enum samr_GroupInfoEnum
*r
)
1284 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &v
));
1286 return NDR_ERR_SUCCESS
;
1289 _PUBLIC_
void ndr_print_samr_GroupInfoEnum(struct ndr_print
*ndr
, const char *name
, enum samr_GroupInfoEnum r
)
1291 const char *val
= NULL
;
1294 case GROUPINFOALL
: val
= "GROUPINFOALL"; break;
1295 case GROUPINFONAME
: val
= "GROUPINFONAME"; break;
1296 case GROUPINFOATTRIBUTES
: val
= "GROUPINFOATTRIBUTES"; break;
1297 case GROUPINFODESCRIPTION
: val
= "GROUPINFODESCRIPTION"; break;
1298 case GROUPINFOALL2
: val
= "GROUPINFOALL2"; break;
1300 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
1303 static enum ndr_err_code
ndr_push_samr_GroupInfo(struct ndr_push
*ndr
, int ndr_flags
, const union samr_GroupInfo
*r
)
1305 if (ndr_flags
& NDR_SCALARS
) {
1306 int level
= ndr_push_get_switch_value(ndr
, r
);
1307 NDR_CHECK(ndr_push_samr_GroupInfoEnum(ndr
, NDR_SCALARS
, level
));
1309 case GROUPINFOALL
: {
1310 NDR_CHECK(ndr_push_samr_GroupInfoAll(ndr
, NDR_SCALARS
, &r
->all
));
1313 case GROUPINFONAME
: {
1314 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->name
));
1317 case GROUPINFOATTRIBUTES
: {
1318 NDR_CHECK(ndr_push_samr_GroupInfoAttributes(ndr
, NDR_SCALARS
, &r
->attributes
));
1321 case GROUPINFODESCRIPTION
: {
1322 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
1325 case GROUPINFOALL2
: {
1326 NDR_CHECK(ndr_push_samr_GroupInfoAll(ndr
, NDR_SCALARS
, &r
->all2
));
1330 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
1333 if (ndr_flags
& NDR_BUFFERS
) {
1334 int level
= ndr_push_get_switch_value(ndr
, r
);
1337 NDR_CHECK(ndr_push_samr_GroupInfoAll(ndr
, NDR_BUFFERS
, &r
->all
));
1341 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->name
));
1344 case GROUPINFOATTRIBUTES
:
1347 case GROUPINFODESCRIPTION
:
1348 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
1352 NDR_CHECK(ndr_push_samr_GroupInfoAll(ndr
, NDR_BUFFERS
, &r
->all2
));
1356 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
1359 return NDR_ERR_SUCCESS
;
1362 static enum ndr_err_code
ndr_pull_samr_GroupInfo(struct ndr_pull
*ndr
, int ndr_flags
, union samr_GroupInfo
*r
)
1366 level
= ndr_pull_get_switch_value(ndr
, r
);
1367 if (ndr_flags
& NDR_SCALARS
) {
1368 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &_level
));
1369 if (_level
!= level
) {
1370 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r", _level
);
1373 case GROUPINFOALL
: {
1374 NDR_CHECK(ndr_pull_samr_GroupInfoAll(ndr
, NDR_SCALARS
, &r
->all
));
1377 case GROUPINFONAME
: {
1378 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->name
));
1381 case GROUPINFOATTRIBUTES
: {
1382 NDR_CHECK(ndr_pull_samr_GroupInfoAttributes(ndr
, NDR_SCALARS
, &r
->attributes
));
1385 case GROUPINFODESCRIPTION
: {
1386 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
1389 case GROUPINFOALL2
: {
1390 NDR_CHECK(ndr_pull_samr_GroupInfoAll(ndr
, NDR_SCALARS
, &r
->all2
));
1394 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
1397 if (ndr_flags
& NDR_BUFFERS
) {
1400 NDR_CHECK(ndr_pull_samr_GroupInfoAll(ndr
, NDR_BUFFERS
, &r
->all
));
1404 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->name
));
1407 case GROUPINFOATTRIBUTES
:
1410 case GROUPINFODESCRIPTION
:
1411 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
1415 NDR_CHECK(ndr_pull_samr_GroupInfoAll(ndr
, NDR_BUFFERS
, &r
->all2
));
1419 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
1422 return NDR_ERR_SUCCESS
;
1425 _PUBLIC_
void ndr_print_samr_GroupInfo(struct ndr_print
*ndr
, const char *name
, const union samr_GroupInfo
*r
)
1428 level
= ndr_print_get_switch_value(ndr
, r
);
1429 ndr_print_union(ndr
, name
, level
, "samr_GroupInfo");
1432 ndr_print_samr_GroupInfoAll(ndr
, "all", &r
->all
);
1436 ndr_print_lsa_String(ndr
, "name", &r
->name
);
1439 case GROUPINFOATTRIBUTES
:
1440 ndr_print_samr_GroupInfoAttributes(ndr
, "attributes", &r
->attributes
);
1443 case GROUPINFODESCRIPTION
:
1444 ndr_print_lsa_String(ndr
, "description", &r
->description
);
1448 ndr_print_samr_GroupInfoAll(ndr
, "all2", &r
->all2
);
1452 ndr_print_bad_level(ndr
, name
, level
);
1456 static enum ndr_err_code
ndr_push_samr_RidTypeArray(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_RidTypeArray
*r
)
1458 uint32_t cntr_rids_1
;
1459 uint32_t cntr_types_1
;
1460 if (ndr_flags
& NDR_SCALARS
) {
1461 NDR_CHECK(ndr_push_align(ndr
, 4));
1462 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
1463 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->rids
));
1464 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->types
));
1466 if (ndr_flags
& NDR_BUFFERS
) {
1468 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
1469 for (cntr_rids_1
= 0; cntr_rids_1
< r
->count
; cntr_rids_1
++) {
1470 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->rids
[cntr_rids_1
]));
1474 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
1475 for (cntr_types_1
= 0; cntr_types_1
< r
->count
; cntr_types_1
++) {
1476 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->types
[cntr_types_1
]));
1480 return NDR_ERR_SUCCESS
;
1483 static enum ndr_err_code
ndr_pull_samr_RidTypeArray(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_RidTypeArray
*r
)
1486 uint32_t cntr_rids_1
;
1487 TALLOC_CTX
*_mem_save_rids_0
;
1488 TALLOC_CTX
*_mem_save_rids_1
;
1489 uint32_t _ptr_types
;
1490 uint32_t cntr_types_1
;
1491 TALLOC_CTX
*_mem_save_types_0
;
1492 TALLOC_CTX
*_mem_save_types_1
;
1493 if (ndr_flags
& NDR_SCALARS
) {
1494 NDR_CHECK(ndr_pull_align(ndr
, 4));
1495 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
1496 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_rids
));
1498 NDR_PULL_ALLOC(ndr
, r
->rids
);
1502 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_types
));
1504 NDR_PULL_ALLOC(ndr
, r
->types
);
1509 if (ndr_flags
& NDR_BUFFERS
) {
1511 _mem_save_rids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1512 NDR_PULL_SET_MEM_CTX(ndr
, r
->rids
, 0);
1513 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->rids
));
1514 NDR_PULL_ALLOC_N(ndr
, r
->rids
, ndr_get_array_size(ndr
, &r
->rids
));
1515 _mem_save_rids_1
= NDR_PULL_GET_MEM_CTX(ndr
);
1516 NDR_PULL_SET_MEM_CTX(ndr
, r
->rids
, 0);
1517 for (cntr_rids_1
= 0; cntr_rids_1
< r
->count
; cntr_rids_1
++) {
1518 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->rids
[cntr_rids_1
]));
1520 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rids_1
, 0);
1521 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rids_0
, 0);
1524 _mem_save_types_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1525 NDR_PULL_SET_MEM_CTX(ndr
, r
->types
, 0);
1526 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->types
));
1527 NDR_PULL_ALLOC_N(ndr
, r
->types
, ndr_get_array_size(ndr
, &r
->types
));
1528 _mem_save_types_1
= NDR_PULL_GET_MEM_CTX(ndr
);
1529 NDR_PULL_SET_MEM_CTX(ndr
, r
->types
, 0);
1530 for (cntr_types_1
= 0; cntr_types_1
< r
->count
; cntr_types_1
++) {
1531 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->types
[cntr_types_1
]));
1533 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_types_1
, 0);
1534 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_types_0
, 0);
1537 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->rids
, r
->count
));
1540 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->types
, r
->count
));
1543 return NDR_ERR_SUCCESS
;
1546 _PUBLIC_
void ndr_print_samr_RidTypeArray(struct ndr_print
*ndr
, const char *name
, const struct samr_RidTypeArray
*r
)
1548 uint32_t cntr_rids_1
;
1549 uint32_t cntr_types_1
;
1550 ndr_print_struct(ndr
, name
, "samr_RidTypeArray");
1552 ndr_print_uint32(ndr
, "count", r
->count
);
1553 ndr_print_ptr(ndr
, "rids", r
->rids
);
1556 ndr
->print(ndr
, "%s: ARRAY(%d)", "rids", (int)r
->count
);
1558 for (cntr_rids_1
=0;cntr_rids_1
<r
->count
;cntr_rids_1
++) {
1560 if (asprintf(&idx_1
, "[%d]", cntr_rids_1
) != -1) {
1561 ndr_print_uint32(ndr
, "rids", r
->rids
[cntr_rids_1
]);
1568 ndr_print_ptr(ndr
, "types", r
->types
);
1571 ndr
->print(ndr
, "%s: ARRAY(%d)", "types", (int)r
->count
);
1573 for (cntr_types_1
=0;cntr_types_1
<r
->count
;cntr_types_1
++) {
1575 if (asprintf(&idx_1
, "[%d]", cntr_types_1
) != -1) {
1576 ndr_print_uint32(ndr
, "types", r
->types
[cntr_types_1
]);
1586 static enum ndr_err_code
ndr_push_samr_AliasInfoAll(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_AliasInfoAll
*r
)
1588 if (ndr_flags
& NDR_SCALARS
) {
1589 NDR_CHECK(ndr_push_align(ndr
, 4));
1590 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->name
));
1591 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_members
));
1592 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
1594 if (ndr_flags
& NDR_BUFFERS
) {
1595 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->name
));
1596 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
1598 return NDR_ERR_SUCCESS
;
1601 static enum ndr_err_code
ndr_pull_samr_AliasInfoAll(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_AliasInfoAll
*r
)
1603 if (ndr_flags
& NDR_SCALARS
) {
1604 NDR_CHECK(ndr_pull_align(ndr
, 4));
1605 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->name
));
1606 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_members
));
1607 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
1609 if (ndr_flags
& NDR_BUFFERS
) {
1610 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->name
));
1611 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
1613 return NDR_ERR_SUCCESS
;
1616 _PUBLIC_
void ndr_print_samr_AliasInfoAll(struct ndr_print
*ndr
, const char *name
, const struct samr_AliasInfoAll
*r
)
1618 ndr_print_struct(ndr
, name
, "samr_AliasInfoAll");
1620 ndr_print_lsa_String(ndr
, "name", &r
->name
);
1621 ndr_print_uint32(ndr
, "num_members", r
->num_members
);
1622 ndr_print_lsa_String(ndr
, "description", &r
->description
);
1626 static enum ndr_err_code
ndr_push_samr_AliasInfoEnum(struct ndr_push
*ndr
, int ndr_flags
, enum samr_AliasInfoEnum r
)
1628 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
));
1629 return NDR_ERR_SUCCESS
;
1632 static enum ndr_err_code
ndr_pull_samr_AliasInfoEnum(struct ndr_pull
*ndr
, int ndr_flags
, enum samr_AliasInfoEnum
*r
)
1635 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &v
));
1637 return NDR_ERR_SUCCESS
;
1640 _PUBLIC_
void ndr_print_samr_AliasInfoEnum(struct ndr_print
*ndr
, const char *name
, enum samr_AliasInfoEnum r
)
1642 const char *val
= NULL
;
1645 case ALIASINFOALL
: val
= "ALIASINFOALL"; break;
1646 case ALIASINFONAME
: val
= "ALIASINFONAME"; break;
1647 case ALIASINFODESCRIPTION
: val
= "ALIASINFODESCRIPTION"; break;
1649 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
1652 static enum ndr_err_code
ndr_push_samr_AliasInfo(struct ndr_push
*ndr
, int ndr_flags
, const union samr_AliasInfo
*r
)
1654 if (ndr_flags
& NDR_SCALARS
) {
1655 int level
= ndr_push_get_switch_value(ndr
, r
);
1656 NDR_CHECK(ndr_push_samr_AliasInfoEnum(ndr
, NDR_SCALARS
, level
));
1658 case ALIASINFOALL
: {
1659 NDR_CHECK(ndr_push_samr_AliasInfoAll(ndr
, NDR_SCALARS
, &r
->all
));
1662 case ALIASINFONAME
: {
1663 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->name
));
1666 case ALIASINFODESCRIPTION
: {
1667 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
1671 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
1674 if (ndr_flags
& NDR_BUFFERS
) {
1675 int level
= ndr_push_get_switch_value(ndr
, r
);
1678 NDR_CHECK(ndr_push_samr_AliasInfoAll(ndr
, NDR_BUFFERS
, &r
->all
));
1682 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->name
));
1685 case ALIASINFODESCRIPTION
:
1686 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
1690 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
1693 return NDR_ERR_SUCCESS
;
1696 static enum ndr_err_code
ndr_pull_samr_AliasInfo(struct ndr_pull
*ndr
, int ndr_flags
, union samr_AliasInfo
*r
)
1700 level
= ndr_pull_get_switch_value(ndr
, r
);
1701 if (ndr_flags
& NDR_SCALARS
) {
1702 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &_level
));
1703 if (_level
!= level
) {
1704 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r", _level
);
1707 case ALIASINFOALL
: {
1708 NDR_CHECK(ndr_pull_samr_AliasInfoAll(ndr
, NDR_SCALARS
, &r
->all
));
1711 case ALIASINFONAME
: {
1712 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->name
));
1715 case ALIASINFODESCRIPTION
: {
1716 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
1720 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
1723 if (ndr_flags
& NDR_BUFFERS
) {
1726 NDR_CHECK(ndr_pull_samr_AliasInfoAll(ndr
, NDR_BUFFERS
, &r
->all
));
1730 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->name
));
1733 case ALIASINFODESCRIPTION
:
1734 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
1738 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
1741 return NDR_ERR_SUCCESS
;
1744 _PUBLIC_
void ndr_print_samr_AliasInfo(struct ndr_print
*ndr
, const char *name
, const union samr_AliasInfo
*r
)
1747 level
= ndr_print_get_switch_value(ndr
, r
);
1748 ndr_print_union(ndr
, name
, level
, "samr_AliasInfo");
1751 ndr_print_samr_AliasInfoAll(ndr
, "all", &r
->all
);
1755 ndr_print_lsa_String(ndr
, "name", &r
->name
);
1758 case ALIASINFODESCRIPTION
:
1759 ndr_print_lsa_String(ndr
, "description", &r
->description
);
1763 ndr_print_bad_level(ndr
, name
, level
);
1767 static enum ndr_err_code
ndr_push_samr_UserInfo1(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo1
*r
)
1769 if (ndr_flags
& NDR_SCALARS
) {
1770 NDR_CHECK(ndr_push_align(ndr
, 4));
1771 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
1772 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
1773 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->primary_gid
));
1774 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
1775 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->comment
));
1777 if (ndr_flags
& NDR_BUFFERS
) {
1778 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
1779 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
1780 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
1781 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->comment
));
1783 return NDR_ERR_SUCCESS
;
1786 static enum ndr_err_code
ndr_pull_samr_UserInfo1(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo1
*r
)
1788 if (ndr_flags
& NDR_SCALARS
) {
1789 NDR_CHECK(ndr_pull_align(ndr
, 4));
1790 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
1791 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
1792 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->primary_gid
));
1793 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
1794 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->comment
));
1796 if (ndr_flags
& NDR_BUFFERS
) {
1797 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
1798 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
1799 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
1800 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->comment
));
1802 return NDR_ERR_SUCCESS
;
1805 _PUBLIC_
void ndr_print_samr_UserInfo1(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo1
*r
)
1807 ndr_print_struct(ndr
, name
, "samr_UserInfo1");
1809 ndr_print_lsa_String(ndr
, "account_name", &r
->account_name
);
1810 ndr_print_lsa_String(ndr
, "full_name", &r
->full_name
);
1811 ndr_print_uint32(ndr
, "primary_gid", r
->primary_gid
);
1812 ndr_print_lsa_String(ndr
, "description", &r
->description
);
1813 ndr_print_lsa_String(ndr
, "comment", &r
->comment
);
1817 static enum ndr_err_code
ndr_push_samr_UserInfo2(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo2
*r
)
1819 if (ndr_flags
& NDR_SCALARS
) {
1820 NDR_CHECK(ndr_push_align(ndr
, 4));
1821 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->comment
));
1822 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->unknown
));
1823 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->country_code
));
1824 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->code_page
));
1826 if (ndr_flags
& NDR_BUFFERS
) {
1827 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->comment
));
1828 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->unknown
));
1830 return NDR_ERR_SUCCESS
;
1833 static enum ndr_err_code
ndr_pull_samr_UserInfo2(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo2
*r
)
1835 if (ndr_flags
& NDR_SCALARS
) {
1836 NDR_CHECK(ndr_pull_align(ndr
, 4));
1837 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->comment
));
1838 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->unknown
));
1839 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->country_code
));
1840 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->code_page
));
1842 if (ndr_flags
& NDR_BUFFERS
) {
1843 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->comment
));
1844 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->unknown
));
1846 return NDR_ERR_SUCCESS
;
1849 _PUBLIC_
void ndr_print_samr_UserInfo2(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo2
*r
)
1851 ndr_print_struct(ndr
, name
, "samr_UserInfo2");
1853 ndr_print_lsa_String(ndr
, "comment", &r
->comment
);
1854 ndr_print_lsa_String(ndr
, "unknown", &r
->unknown
);
1855 ndr_print_uint16(ndr
, "country_code", r
->country_code
);
1856 ndr_print_uint16(ndr
, "code_page", r
->code_page
);
1860 _PUBLIC_
enum ndr_err_code
ndr_push_samr_LogonHours(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_LogonHours
*r
)
1863 uint32_t _flags_save_STRUCT
= ndr
->flags
;
1864 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
1865 if (ndr_flags
& NDR_SCALARS
) {
1866 NDR_CHECK(ndr_push_align(ndr
, 4));
1867 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->units_per_week
));
1868 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->bits
));
1870 if (ndr_flags
& NDR_BUFFERS
) {
1872 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 1260));
1873 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
1874 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->units_per_week
/ 8));
1875 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->bits
, r
->units_per_week
/ 8));
1878 ndr
->flags
= _flags_save_STRUCT
;
1880 return NDR_ERR_SUCCESS
;
1883 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_LogonHours(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_LogonHours
*r
)
1886 TALLOC_CTX
*_mem_save_bits_0
;
1888 uint32_t _flags_save_STRUCT
= ndr
->flags
;
1889 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
1890 if (ndr_flags
& NDR_SCALARS
) {
1891 NDR_CHECK(ndr_pull_align(ndr
, 4));
1892 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->units_per_week
));
1893 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_bits
));
1895 NDR_PULL_ALLOC(ndr
, r
->bits
);
1900 if (ndr_flags
& NDR_BUFFERS
) {
1902 _mem_save_bits_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1903 NDR_PULL_SET_MEM_CTX(ndr
, r
->bits
, 0);
1904 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->bits
));
1905 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->bits
));
1906 if (ndr_get_array_length(ndr
, &r
->bits
) > ndr_get_array_size(ndr
, &r
->bits
)) {
1907 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->bits
), ndr_get_array_length(ndr
, &r
->bits
));
1909 NDR_PULL_ALLOC_N(ndr
, r
->bits
, ndr_get_array_size(ndr
, &r
->bits
));
1910 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->bits
, ndr_get_array_length(ndr
, &r
->bits
)));
1911 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bits_0
, 0);
1914 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->bits
, 1260));
1917 NDR_CHECK(ndr_check_array_length(ndr
, (void*)&r
->bits
, r
->units_per_week
/ 8));
1920 ndr
->flags
= _flags_save_STRUCT
;
1922 return NDR_ERR_SUCCESS
;
1925 _PUBLIC_
void ndr_print_samr_LogonHours(struct ndr_print
*ndr
, const char *name
, const struct samr_LogonHours
*r
)
1927 ndr_print_struct(ndr
, name
, "samr_LogonHours");
1929 uint32_t _flags_save_STRUCT
= ndr
->flags
;
1930 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
1932 ndr_print_uint16(ndr
, "units_per_week", r
->units_per_week
);
1933 ndr_print_ptr(ndr
, "bits", r
->bits
);
1936 ndr_print_array_uint8(ndr
, "bits", r
->bits
, r
->units_per_week
/ 8);
1940 ndr
->flags
= _flags_save_STRUCT
;
1944 static enum ndr_err_code
ndr_push_samr_UserInfo3(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo3
*r
)
1946 if (ndr_flags
& NDR_SCALARS
) {
1947 NDR_CHECK(ndr_push_align(ndr
, 4));
1948 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
1949 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
1950 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->rid
));
1951 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->primary_gid
));
1952 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->home_directory
));
1953 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->home_drive
));
1954 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->logon_script
));
1955 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->profile_path
));
1956 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->workstations
));
1957 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_logon
));
1958 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_logoff
));
1959 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_password_change
));
1960 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->allow_password_change
));
1961 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->force_password_change
));
1962 NDR_CHECK(ndr_push_samr_LogonHours(ndr
, NDR_SCALARS
, &r
->logon_hours
));
1963 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->bad_password_count
));
1964 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->logon_count
));
1965 NDR_CHECK(ndr_push_samr_AcctFlags(ndr
, NDR_SCALARS
, r
->acct_flags
));
1967 if (ndr_flags
& NDR_BUFFERS
) {
1968 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
1969 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
1970 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_directory
));
1971 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_drive
));
1972 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->logon_script
));
1973 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->profile_path
));
1974 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->workstations
));
1975 NDR_CHECK(ndr_push_samr_LogonHours(ndr
, NDR_BUFFERS
, &r
->logon_hours
));
1977 return NDR_ERR_SUCCESS
;
1980 static enum ndr_err_code
ndr_pull_samr_UserInfo3(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo3
*r
)
1982 if (ndr_flags
& NDR_SCALARS
) {
1983 NDR_CHECK(ndr_pull_align(ndr
, 4));
1984 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
1985 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
1986 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->rid
));
1987 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->primary_gid
));
1988 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->home_directory
));
1989 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->home_drive
));
1990 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->logon_script
));
1991 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->profile_path
));
1992 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->workstations
));
1993 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_logon
));
1994 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_logoff
));
1995 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_password_change
));
1996 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->allow_password_change
));
1997 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->force_password_change
));
1998 NDR_CHECK(ndr_pull_samr_LogonHours(ndr
, NDR_SCALARS
, &r
->logon_hours
));
1999 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->bad_password_count
));
2000 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->logon_count
));
2001 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr
, NDR_SCALARS
, &r
->acct_flags
));
2003 if (ndr_flags
& NDR_BUFFERS
) {
2004 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
2005 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
2006 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_directory
));
2007 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_drive
));
2008 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->logon_script
));
2009 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->profile_path
));
2010 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->workstations
));
2011 NDR_CHECK(ndr_pull_samr_LogonHours(ndr
, NDR_BUFFERS
, &r
->logon_hours
));
2013 return NDR_ERR_SUCCESS
;
2016 _PUBLIC_
void ndr_print_samr_UserInfo3(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo3
*r
)
2018 ndr_print_struct(ndr
, name
, "samr_UserInfo3");
2020 ndr_print_lsa_String(ndr
, "account_name", &r
->account_name
);
2021 ndr_print_lsa_String(ndr
, "full_name", &r
->full_name
);
2022 ndr_print_uint32(ndr
, "rid", r
->rid
);
2023 ndr_print_uint32(ndr
, "primary_gid", r
->primary_gid
);
2024 ndr_print_lsa_String(ndr
, "home_directory", &r
->home_directory
);
2025 ndr_print_lsa_String(ndr
, "home_drive", &r
->home_drive
);
2026 ndr_print_lsa_String(ndr
, "logon_script", &r
->logon_script
);
2027 ndr_print_lsa_String(ndr
, "profile_path", &r
->profile_path
);
2028 ndr_print_lsa_String(ndr
, "workstations", &r
->workstations
);
2029 ndr_print_NTTIME(ndr
, "last_logon", r
->last_logon
);
2030 ndr_print_NTTIME(ndr
, "last_logoff", r
->last_logoff
);
2031 ndr_print_NTTIME(ndr
, "last_password_change", r
->last_password_change
);
2032 ndr_print_NTTIME(ndr
, "allow_password_change", r
->allow_password_change
);
2033 ndr_print_NTTIME(ndr
, "force_password_change", r
->force_password_change
);
2034 ndr_print_samr_LogonHours(ndr
, "logon_hours", &r
->logon_hours
);
2035 ndr_print_uint16(ndr
, "bad_password_count", r
->bad_password_count
);
2036 ndr_print_uint16(ndr
, "logon_count", r
->logon_count
);
2037 ndr_print_samr_AcctFlags(ndr
, "acct_flags", r
->acct_flags
);
2041 static enum ndr_err_code
ndr_push_samr_UserInfo4(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo4
*r
)
2043 if (ndr_flags
& NDR_SCALARS
) {
2044 NDR_CHECK(ndr_push_align(ndr
, 4));
2045 NDR_CHECK(ndr_push_samr_LogonHours(ndr
, NDR_SCALARS
, &r
->logon_hours
));
2047 if (ndr_flags
& NDR_BUFFERS
) {
2048 NDR_CHECK(ndr_push_samr_LogonHours(ndr
, NDR_BUFFERS
, &r
->logon_hours
));
2050 return NDR_ERR_SUCCESS
;
2053 static enum ndr_err_code
ndr_pull_samr_UserInfo4(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo4
*r
)
2055 if (ndr_flags
& NDR_SCALARS
) {
2056 NDR_CHECK(ndr_pull_align(ndr
, 4));
2057 NDR_CHECK(ndr_pull_samr_LogonHours(ndr
, NDR_SCALARS
, &r
->logon_hours
));
2059 if (ndr_flags
& NDR_BUFFERS
) {
2060 NDR_CHECK(ndr_pull_samr_LogonHours(ndr
, NDR_BUFFERS
, &r
->logon_hours
));
2062 return NDR_ERR_SUCCESS
;
2065 _PUBLIC_
void ndr_print_samr_UserInfo4(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo4
*r
)
2067 ndr_print_struct(ndr
, name
, "samr_UserInfo4");
2069 ndr_print_samr_LogonHours(ndr
, "logon_hours", &r
->logon_hours
);
2073 static enum ndr_err_code
ndr_push_samr_UserInfo5(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo5
*r
)
2075 if (ndr_flags
& NDR_SCALARS
) {
2076 NDR_CHECK(ndr_push_align(ndr
, 4));
2077 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
2078 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
2079 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->rid
));
2080 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->primary_gid
));
2081 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->home_directory
));
2082 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->home_drive
));
2083 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->logon_script
));
2084 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->profile_path
));
2085 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
2086 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->workstations
));
2087 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_logon
));
2088 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_logoff
));
2089 NDR_CHECK(ndr_push_samr_LogonHours(ndr
, NDR_SCALARS
, &r
->logon_hours
));
2090 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->bad_password_count
));
2091 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->logon_count
));
2092 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_password_change
));
2093 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->acct_expiry
));
2094 NDR_CHECK(ndr_push_samr_AcctFlags(ndr
, NDR_SCALARS
, r
->acct_flags
));
2096 if (ndr_flags
& NDR_BUFFERS
) {
2097 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
2098 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
2099 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_directory
));
2100 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_drive
));
2101 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->logon_script
));
2102 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->profile_path
));
2103 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
2104 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->workstations
));
2105 NDR_CHECK(ndr_push_samr_LogonHours(ndr
, NDR_BUFFERS
, &r
->logon_hours
));
2107 return NDR_ERR_SUCCESS
;
2110 static enum ndr_err_code
ndr_pull_samr_UserInfo5(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo5
*r
)
2112 if (ndr_flags
& NDR_SCALARS
) {
2113 NDR_CHECK(ndr_pull_align(ndr
, 4));
2114 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
2115 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
2116 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->rid
));
2117 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->primary_gid
));
2118 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->home_directory
));
2119 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->home_drive
));
2120 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->logon_script
));
2121 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->profile_path
));
2122 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
2123 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->workstations
));
2124 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_logon
));
2125 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_logoff
));
2126 NDR_CHECK(ndr_pull_samr_LogonHours(ndr
, NDR_SCALARS
, &r
->logon_hours
));
2127 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->bad_password_count
));
2128 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->logon_count
));
2129 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_password_change
));
2130 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->acct_expiry
));
2131 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr
, NDR_SCALARS
, &r
->acct_flags
));
2133 if (ndr_flags
& NDR_BUFFERS
) {
2134 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
2135 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
2136 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_directory
));
2137 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_drive
));
2138 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->logon_script
));
2139 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->profile_path
));
2140 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
2141 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->workstations
));
2142 NDR_CHECK(ndr_pull_samr_LogonHours(ndr
, NDR_BUFFERS
, &r
->logon_hours
));
2144 return NDR_ERR_SUCCESS
;
2147 _PUBLIC_
void ndr_print_samr_UserInfo5(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo5
*r
)
2149 ndr_print_struct(ndr
, name
, "samr_UserInfo5");
2151 ndr_print_lsa_String(ndr
, "account_name", &r
->account_name
);
2152 ndr_print_lsa_String(ndr
, "full_name", &r
->full_name
);
2153 ndr_print_uint32(ndr
, "rid", r
->rid
);
2154 ndr_print_uint32(ndr
, "primary_gid", r
->primary_gid
);
2155 ndr_print_lsa_String(ndr
, "home_directory", &r
->home_directory
);
2156 ndr_print_lsa_String(ndr
, "home_drive", &r
->home_drive
);
2157 ndr_print_lsa_String(ndr
, "logon_script", &r
->logon_script
);
2158 ndr_print_lsa_String(ndr
, "profile_path", &r
->profile_path
);
2159 ndr_print_lsa_String(ndr
, "description", &r
->description
);
2160 ndr_print_lsa_String(ndr
, "workstations", &r
->workstations
);
2161 ndr_print_NTTIME(ndr
, "last_logon", r
->last_logon
);
2162 ndr_print_NTTIME(ndr
, "last_logoff", r
->last_logoff
);
2163 ndr_print_samr_LogonHours(ndr
, "logon_hours", &r
->logon_hours
);
2164 ndr_print_uint16(ndr
, "bad_password_count", r
->bad_password_count
);
2165 ndr_print_uint16(ndr
, "logon_count", r
->logon_count
);
2166 ndr_print_NTTIME(ndr
, "last_password_change", r
->last_password_change
);
2167 ndr_print_NTTIME(ndr
, "acct_expiry", r
->acct_expiry
);
2168 ndr_print_samr_AcctFlags(ndr
, "acct_flags", r
->acct_flags
);
2172 static enum ndr_err_code
ndr_push_samr_UserInfo6(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo6
*r
)
2174 if (ndr_flags
& NDR_SCALARS
) {
2175 NDR_CHECK(ndr_push_align(ndr
, 4));
2176 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
2177 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
2179 if (ndr_flags
& NDR_BUFFERS
) {
2180 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
2181 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
2183 return NDR_ERR_SUCCESS
;
2186 static enum ndr_err_code
ndr_pull_samr_UserInfo6(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo6
*r
)
2188 if (ndr_flags
& NDR_SCALARS
) {
2189 NDR_CHECK(ndr_pull_align(ndr
, 4));
2190 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
2191 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
2193 if (ndr_flags
& NDR_BUFFERS
) {
2194 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
2195 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
2197 return NDR_ERR_SUCCESS
;
2200 _PUBLIC_
void ndr_print_samr_UserInfo6(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo6
*r
)
2202 ndr_print_struct(ndr
, name
, "samr_UserInfo6");
2204 ndr_print_lsa_String(ndr
, "account_name", &r
->account_name
);
2205 ndr_print_lsa_String(ndr
, "full_name", &r
->full_name
);
2209 static enum ndr_err_code
ndr_push_samr_UserInfo7(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo7
*r
)
2211 if (ndr_flags
& NDR_SCALARS
) {
2212 NDR_CHECK(ndr_push_align(ndr
, 4));
2213 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
2215 if (ndr_flags
& NDR_BUFFERS
) {
2216 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
2218 return NDR_ERR_SUCCESS
;
2221 static enum ndr_err_code
ndr_pull_samr_UserInfo7(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo7
*r
)
2223 if (ndr_flags
& NDR_SCALARS
) {
2224 NDR_CHECK(ndr_pull_align(ndr
, 4));
2225 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
2227 if (ndr_flags
& NDR_BUFFERS
) {
2228 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
2230 return NDR_ERR_SUCCESS
;
2233 _PUBLIC_
void ndr_print_samr_UserInfo7(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo7
*r
)
2235 ndr_print_struct(ndr
, name
, "samr_UserInfo7");
2237 ndr_print_lsa_String(ndr
, "account_name", &r
->account_name
);
2241 static enum ndr_err_code
ndr_push_samr_UserInfo8(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo8
*r
)
2243 if (ndr_flags
& NDR_SCALARS
) {
2244 NDR_CHECK(ndr_push_align(ndr
, 4));
2245 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
2247 if (ndr_flags
& NDR_BUFFERS
) {
2248 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
2250 return NDR_ERR_SUCCESS
;
2253 static enum ndr_err_code
ndr_pull_samr_UserInfo8(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo8
*r
)
2255 if (ndr_flags
& NDR_SCALARS
) {
2256 NDR_CHECK(ndr_pull_align(ndr
, 4));
2257 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
2259 if (ndr_flags
& NDR_BUFFERS
) {
2260 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
2262 return NDR_ERR_SUCCESS
;
2265 _PUBLIC_
void ndr_print_samr_UserInfo8(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo8
*r
)
2267 ndr_print_struct(ndr
, name
, "samr_UserInfo8");
2269 ndr_print_lsa_String(ndr
, "full_name", &r
->full_name
);
2273 static enum ndr_err_code
ndr_push_samr_UserInfo9(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo9
*r
)
2275 if (ndr_flags
& NDR_SCALARS
) {
2276 NDR_CHECK(ndr_push_align(ndr
, 4));
2277 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->primary_gid
));
2279 if (ndr_flags
& NDR_BUFFERS
) {
2281 return NDR_ERR_SUCCESS
;
2284 static enum ndr_err_code
ndr_pull_samr_UserInfo9(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo9
*r
)
2286 if (ndr_flags
& NDR_SCALARS
) {
2287 NDR_CHECK(ndr_pull_align(ndr
, 4));
2288 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->primary_gid
));
2290 if (ndr_flags
& NDR_BUFFERS
) {
2292 return NDR_ERR_SUCCESS
;
2295 _PUBLIC_
void ndr_print_samr_UserInfo9(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo9
*r
)
2297 ndr_print_struct(ndr
, name
, "samr_UserInfo9");
2299 ndr_print_uint32(ndr
, "primary_gid", r
->primary_gid
);
2303 static enum ndr_err_code
ndr_push_samr_UserInfo10(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo10
*r
)
2305 if (ndr_flags
& NDR_SCALARS
) {
2306 NDR_CHECK(ndr_push_align(ndr
, 4));
2307 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->home_directory
));
2308 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->home_drive
));
2310 if (ndr_flags
& NDR_BUFFERS
) {
2311 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_directory
));
2312 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_drive
));
2314 return NDR_ERR_SUCCESS
;
2317 static enum ndr_err_code
ndr_pull_samr_UserInfo10(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo10
*r
)
2319 if (ndr_flags
& NDR_SCALARS
) {
2320 NDR_CHECK(ndr_pull_align(ndr
, 4));
2321 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->home_directory
));
2322 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->home_drive
));
2324 if (ndr_flags
& NDR_BUFFERS
) {
2325 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_directory
));
2326 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_drive
));
2328 return NDR_ERR_SUCCESS
;
2331 _PUBLIC_
void ndr_print_samr_UserInfo10(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo10
*r
)
2333 ndr_print_struct(ndr
, name
, "samr_UserInfo10");
2335 ndr_print_lsa_String(ndr
, "home_directory", &r
->home_directory
);
2336 ndr_print_lsa_String(ndr
, "home_drive", &r
->home_drive
);
2340 static enum ndr_err_code
ndr_push_samr_UserInfo11(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo11
*r
)
2342 if (ndr_flags
& NDR_SCALARS
) {
2343 NDR_CHECK(ndr_push_align(ndr
, 4));
2344 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->logon_script
));
2346 if (ndr_flags
& NDR_BUFFERS
) {
2347 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->logon_script
));
2349 return NDR_ERR_SUCCESS
;
2352 static enum ndr_err_code
ndr_pull_samr_UserInfo11(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo11
*r
)
2354 if (ndr_flags
& NDR_SCALARS
) {
2355 NDR_CHECK(ndr_pull_align(ndr
, 4));
2356 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->logon_script
));
2358 if (ndr_flags
& NDR_BUFFERS
) {
2359 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->logon_script
));
2361 return NDR_ERR_SUCCESS
;
2364 _PUBLIC_
void ndr_print_samr_UserInfo11(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo11
*r
)
2366 ndr_print_struct(ndr
, name
, "samr_UserInfo11");
2368 ndr_print_lsa_String(ndr
, "logon_script", &r
->logon_script
);
2372 static enum ndr_err_code
ndr_push_samr_UserInfo12(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo12
*r
)
2374 if (ndr_flags
& NDR_SCALARS
) {
2375 NDR_CHECK(ndr_push_align(ndr
, 4));
2376 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->profile_path
));
2378 if (ndr_flags
& NDR_BUFFERS
) {
2379 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->profile_path
));
2381 return NDR_ERR_SUCCESS
;
2384 static enum ndr_err_code
ndr_pull_samr_UserInfo12(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo12
*r
)
2386 if (ndr_flags
& NDR_SCALARS
) {
2387 NDR_CHECK(ndr_pull_align(ndr
, 4));
2388 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->profile_path
));
2390 if (ndr_flags
& NDR_BUFFERS
) {
2391 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->profile_path
));
2393 return NDR_ERR_SUCCESS
;
2396 _PUBLIC_
void ndr_print_samr_UserInfo12(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo12
*r
)
2398 ndr_print_struct(ndr
, name
, "samr_UserInfo12");
2400 ndr_print_lsa_String(ndr
, "profile_path", &r
->profile_path
);
2404 static enum ndr_err_code
ndr_push_samr_UserInfo13(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo13
*r
)
2406 if (ndr_flags
& NDR_SCALARS
) {
2407 NDR_CHECK(ndr_push_align(ndr
, 4));
2408 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
2410 if (ndr_flags
& NDR_BUFFERS
) {
2411 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
2413 return NDR_ERR_SUCCESS
;
2416 static enum ndr_err_code
ndr_pull_samr_UserInfo13(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo13
*r
)
2418 if (ndr_flags
& NDR_SCALARS
) {
2419 NDR_CHECK(ndr_pull_align(ndr
, 4));
2420 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
2422 if (ndr_flags
& NDR_BUFFERS
) {
2423 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
2425 return NDR_ERR_SUCCESS
;
2428 _PUBLIC_
void ndr_print_samr_UserInfo13(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo13
*r
)
2430 ndr_print_struct(ndr
, name
, "samr_UserInfo13");
2432 ndr_print_lsa_String(ndr
, "description", &r
->description
);
2436 static enum ndr_err_code
ndr_push_samr_UserInfo14(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo14
*r
)
2438 if (ndr_flags
& NDR_SCALARS
) {
2439 NDR_CHECK(ndr_push_align(ndr
, 4));
2440 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->workstations
));
2442 if (ndr_flags
& NDR_BUFFERS
) {
2443 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->workstations
));
2445 return NDR_ERR_SUCCESS
;
2448 static enum ndr_err_code
ndr_pull_samr_UserInfo14(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo14
*r
)
2450 if (ndr_flags
& NDR_SCALARS
) {
2451 NDR_CHECK(ndr_pull_align(ndr
, 4));
2452 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->workstations
));
2454 if (ndr_flags
& NDR_BUFFERS
) {
2455 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->workstations
));
2457 return NDR_ERR_SUCCESS
;
2460 _PUBLIC_
void ndr_print_samr_UserInfo14(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo14
*r
)
2462 ndr_print_struct(ndr
, name
, "samr_UserInfo14");
2464 ndr_print_lsa_String(ndr
, "workstations", &r
->workstations
);
2468 static enum ndr_err_code
ndr_push_samr_UserInfo16(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo16
*r
)
2470 if (ndr_flags
& NDR_SCALARS
) {
2471 NDR_CHECK(ndr_push_align(ndr
, 4));
2472 NDR_CHECK(ndr_push_samr_AcctFlags(ndr
, NDR_SCALARS
, r
->acct_flags
));
2474 if (ndr_flags
& NDR_BUFFERS
) {
2476 return NDR_ERR_SUCCESS
;
2479 static enum ndr_err_code
ndr_pull_samr_UserInfo16(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo16
*r
)
2481 if (ndr_flags
& NDR_SCALARS
) {
2482 NDR_CHECK(ndr_pull_align(ndr
, 4));
2483 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr
, NDR_SCALARS
, &r
->acct_flags
));
2485 if (ndr_flags
& NDR_BUFFERS
) {
2487 return NDR_ERR_SUCCESS
;
2490 _PUBLIC_
void ndr_print_samr_UserInfo16(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo16
*r
)
2492 ndr_print_struct(ndr
, name
, "samr_UserInfo16");
2494 ndr_print_samr_AcctFlags(ndr
, "acct_flags", r
->acct_flags
);
2498 static enum ndr_err_code
ndr_push_samr_UserInfo17(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo17
*r
)
2500 if (ndr_flags
& NDR_SCALARS
) {
2501 NDR_CHECK(ndr_push_align(ndr
, 4));
2502 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->acct_expiry
));
2504 if (ndr_flags
& NDR_BUFFERS
) {
2506 return NDR_ERR_SUCCESS
;
2509 static enum ndr_err_code
ndr_pull_samr_UserInfo17(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo17
*r
)
2511 if (ndr_flags
& NDR_SCALARS
) {
2512 NDR_CHECK(ndr_pull_align(ndr
, 4));
2513 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->acct_expiry
));
2515 if (ndr_flags
& NDR_BUFFERS
) {
2517 return NDR_ERR_SUCCESS
;
2520 _PUBLIC_
void ndr_print_samr_UserInfo17(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo17
*r
)
2522 ndr_print_struct(ndr
, name
, "samr_UserInfo17");
2524 ndr_print_NTTIME(ndr
, "acct_expiry", r
->acct_expiry
);
2528 _PUBLIC_
enum ndr_err_code
ndr_push_samr_Password(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_Password
*r
)
2531 uint32_t _flags_save_STRUCT
= ndr
->flags
;
2532 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
2533 if (ndr_flags
& NDR_SCALARS
) {
2534 NDR_CHECK(ndr_push_align(ndr
, 1));
2535 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->hash
, 16));
2537 if (ndr_flags
& NDR_BUFFERS
) {
2539 ndr
->flags
= _flags_save_STRUCT
;
2541 return NDR_ERR_SUCCESS
;
2544 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_Password(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_Password
*r
)
2547 uint32_t _flags_save_STRUCT
= ndr
->flags
;
2548 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
2549 if (ndr_flags
& NDR_SCALARS
) {
2550 NDR_CHECK(ndr_pull_align(ndr
, 1));
2551 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->hash
, 16));
2553 if (ndr_flags
& NDR_BUFFERS
) {
2555 ndr
->flags
= _flags_save_STRUCT
;
2557 return NDR_ERR_SUCCESS
;
2560 _PUBLIC_
void ndr_print_samr_Password(struct ndr_print
*ndr
, const char *name
, const struct samr_Password
*r
)
2562 ndr_print_struct(ndr
, name
, "samr_Password");
2564 uint32_t _flags_save_STRUCT
= ndr
->flags
;
2565 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
2567 ndr_print_array_uint8(ndr
, "hash", r
->hash
, 16);
2569 ndr
->flags
= _flags_save_STRUCT
;
2573 static enum ndr_err_code
ndr_push_samr_UserInfo18(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo18
*r
)
2575 if (ndr_flags
& NDR_SCALARS
) {
2576 NDR_CHECK(ndr_push_align(ndr
, 1));
2577 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, &r
->lm_pwd
));
2578 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, &r
->nt_pwd
));
2579 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->lm_pwd_active
));
2580 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->nt_pwd_active
));
2582 if (ndr_flags
& NDR_BUFFERS
) {
2584 return NDR_ERR_SUCCESS
;
2587 static enum ndr_err_code
ndr_pull_samr_UserInfo18(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo18
*r
)
2589 if (ndr_flags
& NDR_SCALARS
) {
2590 NDR_CHECK(ndr_pull_align(ndr
, 1));
2591 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, &r
->lm_pwd
));
2592 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, &r
->nt_pwd
));
2593 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->lm_pwd_active
));
2594 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->nt_pwd_active
));
2596 if (ndr_flags
& NDR_BUFFERS
) {
2598 return NDR_ERR_SUCCESS
;
2601 _PUBLIC_
void ndr_print_samr_UserInfo18(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo18
*r
)
2603 ndr_print_struct(ndr
, name
, "samr_UserInfo18");
2605 ndr_print_samr_Password(ndr
, "lm_pwd", &r
->lm_pwd
);
2606 ndr_print_samr_Password(ndr
, "nt_pwd", &r
->nt_pwd
);
2607 ndr_print_uint8(ndr
, "lm_pwd_active", r
->lm_pwd_active
);
2608 ndr_print_uint8(ndr
, "nt_pwd_active", r
->nt_pwd_active
);
2612 static enum ndr_err_code
ndr_push_samr_UserInfo20(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo20
*r
)
2614 if (ndr_flags
& NDR_SCALARS
) {
2615 NDR_CHECK(ndr_push_align(ndr
, 4));
2616 NDR_CHECK(ndr_push_lsa_BinaryString(ndr
, NDR_SCALARS
, &r
->parameters
));
2618 if (ndr_flags
& NDR_BUFFERS
) {
2619 NDR_CHECK(ndr_push_lsa_BinaryString(ndr
, NDR_BUFFERS
, &r
->parameters
));
2621 return NDR_ERR_SUCCESS
;
2624 static enum ndr_err_code
ndr_pull_samr_UserInfo20(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo20
*r
)
2626 if (ndr_flags
& NDR_SCALARS
) {
2627 NDR_CHECK(ndr_pull_align(ndr
, 4));
2628 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr
, NDR_SCALARS
, &r
->parameters
));
2630 if (ndr_flags
& NDR_BUFFERS
) {
2631 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr
, NDR_BUFFERS
, &r
->parameters
));
2633 return NDR_ERR_SUCCESS
;
2636 _PUBLIC_
void ndr_print_samr_UserInfo20(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo20
*r
)
2638 ndr_print_struct(ndr
, name
, "samr_UserInfo20");
2640 ndr_print_lsa_BinaryString(ndr
, "parameters", &r
->parameters
);
2644 static enum ndr_err_code
ndr_push_samr_FieldsPresent(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
2646 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
2647 return NDR_ERR_SUCCESS
;
2650 static enum ndr_err_code
ndr_pull_samr_FieldsPresent(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
2653 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
2655 return NDR_ERR_SUCCESS
;
2658 _PUBLIC_
void ndr_print_samr_FieldsPresent(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
2660 ndr_print_uint32(ndr
, name
, r
);
2662 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_ACCOUNT_NAME", SAMR_FIELD_ACCOUNT_NAME
, r
);
2663 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_FULL_NAME", SAMR_FIELD_FULL_NAME
, r
);
2664 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_RID", SAMR_FIELD_RID
, r
);
2665 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_PRIMARY_GID", SAMR_FIELD_PRIMARY_GID
, r
);
2666 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_DESCRIPTION", SAMR_FIELD_DESCRIPTION
, r
);
2667 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_COMMENT", SAMR_FIELD_COMMENT
, r
);
2668 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_HOME_DIRECTORY", SAMR_FIELD_HOME_DIRECTORY
, r
);
2669 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_HOME_DRIVE", SAMR_FIELD_HOME_DRIVE
, r
);
2670 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_LOGON_SCRIPT", SAMR_FIELD_LOGON_SCRIPT
, r
);
2671 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_PROFILE_PATH", SAMR_FIELD_PROFILE_PATH
, r
);
2672 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_WORKSTATIONS", SAMR_FIELD_WORKSTATIONS
, r
);
2673 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_LAST_LOGON", SAMR_FIELD_LAST_LOGON
, r
);
2674 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_LAST_LOGOFF", SAMR_FIELD_LAST_LOGOFF
, r
);
2675 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_LOGON_HOURS", SAMR_FIELD_LOGON_HOURS
, r
);
2676 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_BAD_PWD_COUNT", SAMR_FIELD_BAD_PWD_COUNT
, r
);
2677 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_NUM_LOGONS", SAMR_FIELD_NUM_LOGONS
, r
);
2678 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_ALLOW_PWD_CHANGE", SAMR_FIELD_ALLOW_PWD_CHANGE
, r
);
2679 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_FORCE_PWD_CHANGE", SAMR_FIELD_FORCE_PWD_CHANGE
, r
);
2680 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_LAST_PWD_CHANGE", SAMR_FIELD_LAST_PWD_CHANGE
, r
);
2681 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_ACCT_EXPIRY", SAMR_FIELD_ACCT_EXPIRY
, r
);
2682 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_ACCT_FLAGS", SAMR_FIELD_ACCT_FLAGS
, r
);
2683 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_PARAMETERS", SAMR_FIELD_PARAMETERS
, r
);
2684 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_COUNTRY_CODE", SAMR_FIELD_COUNTRY_CODE
, r
);
2685 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_CODE_PAGE", SAMR_FIELD_CODE_PAGE
, r
);
2686 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_PASSWORD", SAMR_FIELD_PASSWORD
, r
);
2687 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_PASSWORD2", SAMR_FIELD_PASSWORD2
, r
);
2688 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_PRIVATE_DATA", SAMR_FIELD_PRIVATE_DATA
, r
);
2689 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_EXPIRED_FLAG", SAMR_FIELD_EXPIRED_FLAG
, r
);
2690 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_SEC_DESC", SAMR_FIELD_SEC_DESC
, r
);
2691 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_OWF_PWD", SAMR_FIELD_OWF_PWD
, r
);
2695 static enum ndr_err_code
ndr_push_samr_UserInfo21(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo21
*r
)
2697 if (ndr_flags
& NDR_SCALARS
) {
2698 NDR_CHECK(ndr_push_align(ndr
, 4));
2699 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_logon
));
2700 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_logoff
));
2701 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_password_change
));
2702 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->acct_expiry
));
2703 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->allow_password_change
));
2704 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->force_password_change
));
2705 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
2706 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
2707 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->home_directory
));
2708 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->home_drive
));
2709 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->logon_script
));
2710 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->profile_path
));
2711 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
2712 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->workstations
));
2713 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->comment
));
2714 NDR_CHECK(ndr_push_lsa_BinaryString(ndr
, NDR_SCALARS
, &r
->parameters
));
2715 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->unknown1
));
2716 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->unknown2
));
2717 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->unknown3
));
2718 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->buf_count
));
2719 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->buffer
));
2720 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->rid
));
2721 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->primary_gid
));
2722 NDR_CHECK(ndr_push_samr_AcctFlags(ndr
, NDR_SCALARS
, r
->acct_flags
));
2723 NDR_CHECK(ndr_push_samr_FieldsPresent(ndr
, NDR_SCALARS
, r
->fields_present
));
2724 NDR_CHECK(ndr_push_samr_LogonHours(ndr
, NDR_SCALARS
, &r
->logon_hours
));
2725 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->bad_password_count
));
2726 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->logon_count
));
2727 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->country_code
));
2728 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->code_page
));
2729 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->nt_password_set
));
2730 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->lm_password_set
));
2731 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->password_expired
));
2732 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->unknown4
));
2734 if (ndr_flags
& NDR_BUFFERS
) {
2735 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
2736 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
2737 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_directory
));
2738 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_drive
));
2739 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->logon_script
));
2740 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->profile_path
));
2741 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
2742 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->workstations
));
2743 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->comment
));
2744 NDR_CHECK(ndr_push_lsa_BinaryString(ndr
, NDR_BUFFERS
, &r
->parameters
));
2745 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->unknown1
));
2746 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->unknown2
));
2747 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->unknown3
));
2749 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->buf_count
));
2750 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->buffer
, r
->buf_count
));
2752 NDR_CHECK(ndr_push_samr_LogonHours(ndr
, NDR_BUFFERS
, &r
->logon_hours
));
2754 return NDR_ERR_SUCCESS
;
2757 static enum ndr_err_code
ndr_pull_samr_UserInfo21(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo21
*r
)
2759 uint32_t _ptr_buffer
;
2760 TALLOC_CTX
*_mem_save_buffer_0
;
2761 if (ndr_flags
& NDR_SCALARS
) {
2762 NDR_CHECK(ndr_pull_align(ndr
, 4));
2763 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_logon
));
2764 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_logoff
));
2765 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_password_change
));
2766 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->acct_expiry
));
2767 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->allow_password_change
));
2768 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->force_password_change
));
2769 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
2770 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
2771 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->home_directory
));
2772 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->home_drive
));
2773 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->logon_script
));
2774 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->profile_path
));
2775 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
2776 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->workstations
));
2777 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->comment
));
2778 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr
, NDR_SCALARS
, &r
->parameters
));
2779 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->unknown1
));
2780 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->unknown2
));
2781 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->unknown3
));
2782 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->buf_count
));
2783 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_buffer
));
2785 NDR_PULL_ALLOC(ndr
, r
->buffer
);
2789 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->rid
));
2790 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->primary_gid
));
2791 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr
, NDR_SCALARS
, &r
->acct_flags
));
2792 NDR_CHECK(ndr_pull_samr_FieldsPresent(ndr
, NDR_SCALARS
, &r
->fields_present
));
2793 NDR_CHECK(ndr_pull_samr_LogonHours(ndr
, NDR_SCALARS
, &r
->logon_hours
));
2794 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->bad_password_count
));
2795 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->logon_count
));
2796 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->country_code
));
2797 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->code_page
));
2798 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->nt_password_set
));
2799 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->lm_password_set
));
2800 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->password_expired
));
2801 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->unknown4
));
2803 if (ndr_flags
& NDR_BUFFERS
) {
2804 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
2805 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
2806 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_directory
));
2807 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_drive
));
2808 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->logon_script
));
2809 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->profile_path
));
2810 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
2811 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->workstations
));
2812 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->comment
));
2813 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr
, NDR_BUFFERS
, &r
->parameters
));
2814 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->unknown1
));
2815 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->unknown2
));
2816 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->unknown3
));
2818 _mem_save_buffer_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2819 NDR_PULL_SET_MEM_CTX(ndr
, r
->buffer
, 0);
2820 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->buffer
));
2821 NDR_PULL_ALLOC_N(ndr
, r
->buffer
, ndr_get_array_size(ndr
, &r
->buffer
));
2822 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->buffer
, ndr_get_array_size(ndr
, &r
->buffer
)));
2823 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_buffer_0
, 0);
2825 NDR_CHECK(ndr_pull_samr_LogonHours(ndr
, NDR_BUFFERS
, &r
->logon_hours
));
2827 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->buffer
, r
->buf_count
));
2830 return NDR_ERR_SUCCESS
;
2833 _PUBLIC_
void ndr_print_samr_UserInfo21(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo21
*r
)
2835 ndr_print_struct(ndr
, name
, "samr_UserInfo21");
2837 ndr_print_NTTIME(ndr
, "last_logon", r
->last_logon
);
2838 ndr_print_NTTIME(ndr
, "last_logoff", r
->last_logoff
);
2839 ndr_print_NTTIME(ndr
, "last_password_change", r
->last_password_change
);
2840 ndr_print_NTTIME(ndr
, "acct_expiry", r
->acct_expiry
);
2841 ndr_print_NTTIME(ndr
, "allow_password_change", r
->allow_password_change
);
2842 ndr_print_NTTIME(ndr
, "force_password_change", r
->force_password_change
);
2843 ndr_print_lsa_String(ndr
, "account_name", &r
->account_name
);
2844 ndr_print_lsa_String(ndr
, "full_name", &r
->full_name
);
2845 ndr_print_lsa_String(ndr
, "home_directory", &r
->home_directory
);
2846 ndr_print_lsa_String(ndr
, "home_drive", &r
->home_drive
);
2847 ndr_print_lsa_String(ndr
, "logon_script", &r
->logon_script
);
2848 ndr_print_lsa_String(ndr
, "profile_path", &r
->profile_path
);
2849 ndr_print_lsa_String(ndr
, "description", &r
->description
);
2850 ndr_print_lsa_String(ndr
, "workstations", &r
->workstations
);
2851 ndr_print_lsa_String(ndr
, "comment", &r
->comment
);
2852 ndr_print_lsa_BinaryString(ndr
, "parameters", &r
->parameters
);
2853 ndr_print_lsa_String(ndr
, "unknown1", &r
->unknown1
);
2854 ndr_print_lsa_String(ndr
, "unknown2", &r
->unknown2
);
2855 ndr_print_lsa_String(ndr
, "unknown3", &r
->unknown3
);
2856 ndr_print_uint32(ndr
, "buf_count", r
->buf_count
);
2857 ndr_print_ptr(ndr
, "buffer", r
->buffer
);
2860 ndr_print_array_uint8(ndr
, "buffer", r
->buffer
, r
->buf_count
);
2863 ndr_print_uint32(ndr
, "rid", r
->rid
);
2864 ndr_print_uint32(ndr
, "primary_gid", r
->primary_gid
);
2865 ndr_print_samr_AcctFlags(ndr
, "acct_flags", r
->acct_flags
);
2866 ndr_print_samr_FieldsPresent(ndr
, "fields_present", r
->fields_present
);
2867 ndr_print_samr_LogonHours(ndr
, "logon_hours", &r
->logon_hours
);
2868 ndr_print_uint16(ndr
, "bad_password_count", r
->bad_password_count
);
2869 ndr_print_uint16(ndr
, "logon_count", r
->logon_count
);
2870 ndr_print_uint16(ndr
, "country_code", r
->country_code
);
2871 ndr_print_uint16(ndr
, "code_page", r
->code_page
);
2872 ndr_print_uint8(ndr
, "nt_password_set", r
->nt_password_set
);
2873 ndr_print_uint8(ndr
, "lm_password_set", r
->lm_password_set
);
2874 ndr_print_uint8(ndr
, "password_expired", r
->password_expired
);
2875 ndr_print_uint8(ndr
, "unknown4", r
->unknown4
);
2879 _PUBLIC_
enum ndr_err_code
ndr_push_samr_CryptPassword(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_CryptPassword
*r
)
2882 uint32_t _flags_save_STRUCT
= ndr
->flags
;
2883 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
2884 if (ndr_flags
& NDR_SCALARS
) {
2885 NDR_CHECK(ndr_push_align(ndr
, 1));
2886 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->data
, 516));
2888 if (ndr_flags
& NDR_BUFFERS
) {
2890 ndr
->flags
= _flags_save_STRUCT
;
2892 return NDR_ERR_SUCCESS
;
2895 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_CryptPassword(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_CryptPassword
*r
)
2898 uint32_t _flags_save_STRUCT
= ndr
->flags
;
2899 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
2900 if (ndr_flags
& NDR_SCALARS
) {
2901 NDR_CHECK(ndr_pull_align(ndr
, 1));
2902 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->data
, 516));
2904 if (ndr_flags
& NDR_BUFFERS
) {
2906 ndr
->flags
= _flags_save_STRUCT
;
2908 return NDR_ERR_SUCCESS
;
2911 _PUBLIC_
void ndr_print_samr_CryptPassword(struct ndr_print
*ndr
, const char *name
, const struct samr_CryptPassword
*r
)
2913 ndr_print_struct(ndr
, name
, "samr_CryptPassword");
2915 uint32_t _flags_save_STRUCT
= ndr
->flags
;
2916 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
2918 ndr_print_array_uint8(ndr
, "data", r
->data
, 516);
2920 ndr
->flags
= _flags_save_STRUCT
;
2924 static enum ndr_err_code
ndr_push_samr_UserInfo23(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo23
*r
)
2926 if (ndr_flags
& NDR_SCALARS
) {
2927 NDR_CHECK(ndr_push_align(ndr
, 4));
2928 NDR_CHECK(ndr_push_samr_UserInfo21(ndr
, NDR_SCALARS
, &r
->info
));
2929 NDR_CHECK(ndr_push_samr_CryptPassword(ndr
, NDR_SCALARS
, &r
->password
));
2931 if (ndr_flags
& NDR_BUFFERS
) {
2932 NDR_CHECK(ndr_push_samr_UserInfo21(ndr
, NDR_BUFFERS
, &r
->info
));
2934 return NDR_ERR_SUCCESS
;
2937 static enum ndr_err_code
ndr_pull_samr_UserInfo23(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo23
*r
)
2939 if (ndr_flags
& NDR_SCALARS
) {
2940 NDR_CHECK(ndr_pull_align(ndr
, 4));
2941 NDR_CHECK(ndr_pull_samr_UserInfo21(ndr
, NDR_SCALARS
, &r
->info
));
2942 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr
, NDR_SCALARS
, &r
->password
));
2944 if (ndr_flags
& NDR_BUFFERS
) {
2945 NDR_CHECK(ndr_pull_samr_UserInfo21(ndr
, NDR_BUFFERS
, &r
->info
));
2947 return NDR_ERR_SUCCESS
;
2950 _PUBLIC_
void ndr_print_samr_UserInfo23(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo23
*r
)
2952 ndr_print_struct(ndr
, name
, "samr_UserInfo23");
2954 ndr_print_samr_UserInfo21(ndr
, "info", &r
->info
);
2955 ndr_print_samr_CryptPassword(ndr
, "password", &r
->password
);
2959 static enum ndr_err_code
ndr_push_samr_UserInfo24(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo24
*r
)
2961 if (ndr_flags
& NDR_SCALARS
) {
2962 NDR_CHECK(ndr_push_align(ndr
, 1));
2963 NDR_CHECK(ndr_push_samr_CryptPassword(ndr
, NDR_SCALARS
, &r
->password
));
2964 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->password_expired
));
2966 if (ndr_flags
& NDR_BUFFERS
) {
2968 return NDR_ERR_SUCCESS
;
2971 static enum ndr_err_code
ndr_pull_samr_UserInfo24(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo24
*r
)
2973 if (ndr_flags
& NDR_SCALARS
) {
2974 NDR_CHECK(ndr_pull_align(ndr
, 1));
2975 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr
, NDR_SCALARS
, &r
->password
));
2976 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->password_expired
));
2978 if (ndr_flags
& NDR_BUFFERS
) {
2980 return NDR_ERR_SUCCESS
;
2983 _PUBLIC_
void ndr_print_samr_UserInfo24(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo24
*r
)
2985 ndr_print_struct(ndr
, name
, "samr_UserInfo24");
2987 ndr_print_samr_CryptPassword(ndr
, "password", &r
->password
);
2988 ndr_print_uint8(ndr
, "password_expired", r
->password_expired
);
2992 static enum ndr_err_code
ndr_push_samr_CryptPasswordEx(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_CryptPasswordEx
*r
)
2995 uint32_t _flags_save_STRUCT
= ndr
->flags
;
2996 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
2997 if (ndr_flags
& NDR_SCALARS
) {
2998 NDR_CHECK(ndr_push_align(ndr
, 1));
2999 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->data
, 532));
3001 if (ndr_flags
& NDR_BUFFERS
) {
3003 ndr
->flags
= _flags_save_STRUCT
;
3005 return NDR_ERR_SUCCESS
;
3008 static enum ndr_err_code
ndr_pull_samr_CryptPasswordEx(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_CryptPasswordEx
*r
)
3011 uint32_t _flags_save_STRUCT
= ndr
->flags
;
3012 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
3013 if (ndr_flags
& NDR_SCALARS
) {
3014 NDR_CHECK(ndr_pull_align(ndr
, 1));
3015 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->data
, 532));
3017 if (ndr_flags
& NDR_BUFFERS
) {
3019 ndr
->flags
= _flags_save_STRUCT
;
3021 return NDR_ERR_SUCCESS
;
3024 _PUBLIC_
void ndr_print_samr_CryptPasswordEx(struct ndr_print
*ndr
, const char *name
, const struct samr_CryptPasswordEx
*r
)
3026 ndr_print_struct(ndr
, name
, "samr_CryptPasswordEx");
3028 uint32_t _flags_save_STRUCT
= ndr
->flags
;
3029 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
3031 ndr_print_array_uint8(ndr
, "data", r
->data
, 532);
3033 ndr
->flags
= _flags_save_STRUCT
;
3037 static enum ndr_err_code
ndr_push_samr_UserInfo25(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo25
*r
)
3039 if (ndr_flags
& NDR_SCALARS
) {
3040 NDR_CHECK(ndr_push_align(ndr
, 4));
3041 NDR_CHECK(ndr_push_samr_UserInfo21(ndr
, NDR_SCALARS
, &r
->info
));
3042 NDR_CHECK(ndr_push_samr_CryptPasswordEx(ndr
, NDR_SCALARS
, &r
->password
));
3044 if (ndr_flags
& NDR_BUFFERS
) {
3045 NDR_CHECK(ndr_push_samr_UserInfo21(ndr
, NDR_BUFFERS
, &r
->info
));
3047 return NDR_ERR_SUCCESS
;
3050 static enum ndr_err_code
ndr_pull_samr_UserInfo25(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo25
*r
)
3052 if (ndr_flags
& NDR_SCALARS
) {
3053 NDR_CHECK(ndr_pull_align(ndr
, 4));
3054 NDR_CHECK(ndr_pull_samr_UserInfo21(ndr
, NDR_SCALARS
, &r
->info
));
3055 NDR_CHECK(ndr_pull_samr_CryptPasswordEx(ndr
, NDR_SCALARS
, &r
->password
));
3057 if (ndr_flags
& NDR_BUFFERS
) {
3058 NDR_CHECK(ndr_pull_samr_UserInfo21(ndr
, NDR_BUFFERS
, &r
->info
));
3060 return NDR_ERR_SUCCESS
;
3063 _PUBLIC_
void ndr_print_samr_UserInfo25(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo25
*r
)
3065 ndr_print_struct(ndr
, name
, "samr_UserInfo25");
3067 ndr_print_samr_UserInfo21(ndr
, "info", &r
->info
);
3068 ndr_print_samr_CryptPasswordEx(ndr
, "password", &r
->password
);
3072 static enum ndr_err_code
ndr_push_samr_UserInfo26(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo26
*r
)
3074 if (ndr_flags
& NDR_SCALARS
) {
3075 NDR_CHECK(ndr_push_align(ndr
, 1));
3076 NDR_CHECK(ndr_push_samr_CryptPasswordEx(ndr
, NDR_SCALARS
, &r
->password
));
3077 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->password_expired
));
3079 if (ndr_flags
& NDR_BUFFERS
) {
3081 return NDR_ERR_SUCCESS
;
3084 static enum ndr_err_code
ndr_pull_samr_UserInfo26(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo26
*r
)
3086 if (ndr_flags
& NDR_SCALARS
) {
3087 NDR_CHECK(ndr_pull_align(ndr
, 1));
3088 NDR_CHECK(ndr_pull_samr_CryptPasswordEx(ndr
, NDR_SCALARS
, &r
->password
));
3089 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->password_expired
));
3091 if (ndr_flags
& NDR_BUFFERS
) {
3093 return NDR_ERR_SUCCESS
;
3096 _PUBLIC_
void ndr_print_samr_UserInfo26(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo26
*r
)
3098 ndr_print_struct(ndr
, name
, "samr_UserInfo26");
3100 ndr_print_samr_CryptPasswordEx(ndr
, "password", &r
->password
);
3101 ndr_print_uint8(ndr
, "password_expired", r
->password_expired
);
3105 static enum ndr_err_code
ndr_push_samr_UserInfo(struct ndr_push
*ndr
, int ndr_flags
, const union samr_UserInfo
*r
)
3107 if (ndr_flags
& NDR_SCALARS
) {
3108 int level
= ndr_push_get_switch_value(ndr
, r
);
3109 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, level
));
3112 NDR_CHECK(ndr_push_samr_UserInfo1(ndr
, NDR_SCALARS
, &r
->info1
));
3116 NDR_CHECK(ndr_push_samr_UserInfo2(ndr
, NDR_SCALARS
, &r
->info2
));
3120 NDR_CHECK(ndr_push_samr_UserInfo3(ndr
, NDR_SCALARS
, &r
->info3
));
3124 NDR_CHECK(ndr_push_samr_UserInfo4(ndr
, NDR_SCALARS
, &r
->info4
));
3128 NDR_CHECK(ndr_push_samr_UserInfo5(ndr
, NDR_SCALARS
, &r
->info5
));
3132 NDR_CHECK(ndr_push_samr_UserInfo6(ndr
, NDR_SCALARS
, &r
->info6
));
3136 NDR_CHECK(ndr_push_samr_UserInfo7(ndr
, NDR_SCALARS
, &r
->info7
));
3140 NDR_CHECK(ndr_push_samr_UserInfo8(ndr
, NDR_SCALARS
, &r
->info8
));
3144 NDR_CHECK(ndr_push_samr_UserInfo9(ndr
, NDR_SCALARS
, &r
->info9
));
3148 NDR_CHECK(ndr_push_samr_UserInfo10(ndr
, NDR_SCALARS
, &r
->info10
));
3152 NDR_CHECK(ndr_push_samr_UserInfo11(ndr
, NDR_SCALARS
, &r
->info11
));
3156 NDR_CHECK(ndr_push_samr_UserInfo12(ndr
, NDR_SCALARS
, &r
->info12
));
3160 NDR_CHECK(ndr_push_samr_UserInfo13(ndr
, NDR_SCALARS
, &r
->info13
));
3164 NDR_CHECK(ndr_push_samr_UserInfo14(ndr
, NDR_SCALARS
, &r
->info14
));
3168 NDR_CHECK(ndr_push_samr_UserInfo16(ndr
, NDR_SCALARS
, &r
->info16
));
3172 NDR_CHECK(ndr_push_samr_UserInfo17(ndr
, NDR_SCALARS
, &r
->info17
));
3176 NDR_CHECK(ndr_push_samr_UserInfo18(ndr
, NDR_SCALARS
, &r
->info18
));
3180 NDR_CHECK(ndr_push_samr_UserInfo20(ndr
, NDR_SCALARS
, &r
->info20
));
3184 NDR_CHECK(ndr_push_samr_UserInfo21(ndr
, NDR_SCALARS
, &r
->info21
));
3188 NDR_CHECK(ndr_push_samr_UserInfo23(ndr
, NDR_SCALARS
, &r
->info23
));
3192 NDR_CHECK(ndr_push_samr_UserInfo24(ndr
, NDR_SCALARS
, &r
->info24
));
3196 NDR_CHECK(ndr_push_samr_UserInfo25(ndr
, NDR_SCALARS
, &r
->info25
));
3200 NDR_CHECK(ndr_push_samr_UserInfo26(ndr
, NDR_SCALARS
, &r
->info26
));
3204 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
3207 if (ndr_flags
& NDR_BUFFERS
) {
3208 int level
= ndr_push_get_switch_value(ndr
, r
);
3211 NDR_CHECK(ndr_push_samr_UserInfo1(ndr
, NDR_BUFFERS
, &r
->info1
));
3215 NDR_CHECK(ndr_push_samr_UserInfo2(ndr
, NDR_BUFFERS
, &r
->info2
));
3219 NDR_CHECK(ndr_push_samr_UserInfo3(ndr
, NDR_BUFFERS
, &r
->info3
));
3223 NDR_CHECK(ndr_push_samr_UserInfo4(ndr
, NDR_BUFFERS
, &r
->info4
));
3227 NDR_CHECK(ndr_push_samr_UserInfo5(ndr
, NDR_BUFFERS
, &r
->info5
));
3231 NDR_CHECK(ndr_push_samr_UserInfo6(ndr
, NDR_BUFFERS
, &r
->info6
));
3235 NDR_CHECK(ndr_push_samr_UserInfo7(ndr
, NDR_BUFFERS
, &r
->info7
));
3239 NDR_CHECK(ndr_push_samr_UserInfo8(ndr
, NDR_BUFFERS
, &r
->info8
));
3246 NDR_CHECK(ndr_push_samr_UserInfo10(ndr
, NDR_BUFFERS
, &r
->info10
));
3250 NDR_CHECK(ndr_push_samr_UserInfo11(ndr
, NDR_BUFFERS
, &r
->info11
));
3254 NDR_CHECK(ndr_push_samr_UserInfo12(ndr
, NDR_BUFFERS
, &r
->info12
));
3258 NDR_CHECK(ndr_push_samr_UserInfo13(ndr
, NDR_BUFFERS
, &r
->info13
));
3262 NDR_CHECK(ndr_push_samr_UserInfo14(ndr
, NDR_BUFFERS
, &r
->info14
));
3275 NDR_CHECK(ndr_push_samr_UserInfo20(ndr
, NDR_BUFFERS
, &r
->info20
));
3279 NDR_CHECK(ndr_push_samr_UserInfo21(ndr
, NDR_BUFFERS
, &r
->info21
));
3283 NDR_CHECK(ndr_push_samr_UserInfo23(ndr
, NDR_BUFFERS
, &r
->info23
));
3290 NDR_CHECK(ndr_push_samr_UserInfo25(ndr
, NDR_BUFFERS
, &r
->info25
));
3297 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
3300 return NDR_ERR_SUCCESS
;
3303 static enum ndr_err_code
ndr_pull_samr_UserInfo(struct ndr_pull
*ndr
, int ndr_flags
, union samr_UserInfo
*r
)
3307 level
= ndr_pull_get_switch_value(ndr
, r
);
3308 if (ndr_flags
& NDR_SCALARS
) {
3309 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &_level
));
3310 if (_level
!= level
) {
3311 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r", _level
);
3315 NDR_CHECK(ndr_pull_samr_UserInfo1(ndr
, NDR_SCALARS
, &r
->info1
));
3319 NDR_CHECK(ndr_pull_samr_UserInfo2(ndr
, NDR_SCALARS
, &r
->info2
));
3323 NDR_CHECK(ndr_pull_samr_UserInfo3(ndr
, NDR_SCALARS
, &r
->info3
));
3327 NDR_CHECK(ndr_pull_samr_UserInfo4(ndr
, NDR_SCALARS
, &r
->info4
));
3331 NDR_CHECK(ndr_pull_samr_UserInfo5(ndr
, NDR_SCALARS
, &r
->info5
));
3335 NDR_CHECK(ndr_pull_samr_UserInfo6(ndr
, NDR_SCALARS
, &r
->info6
));
3339 NDR_CHECK(ndr_pull_samr_UserInfo7(ndr
, NDR_SCALARS
, &r
->info7
));
3343 NDR_CHECK(ndr_pull_samr_UserInfo8(ndr
, NDR_SCALARS
, &r
->info8
));
3347 NDR_CHECK(ndr_pull_samr_UserInfo9(ndr
, NDR_SCALARS
, &r
->info9
));
3351 NDR_CHECK(ndr_pull_samr_UserInfo10(ndr
, NDR_SCALARS
, &r
->info10
));
3355 NDR_CHECK(ndr_pull_samr_UserInfo11(ndr
, NDR_SCALARS
, &r
->info11
));
3359 NDR_CHECK(ndr_pull_samr_UserInfo12(ndr
, NDR_SCALARS
, &r
->info12
));
3363 NDR_CHECK(ndr_pull_samr_UserInfo13(ndr
, NDR_SCALARS
, &r
->info13
));
3367 NDR_CHECK(ndr_pull_samr_UserInfo14(ndr
, NDR_SCALARS
, &r
->info14
));
3371 NDR_CHECK(ndr_pull_samr_UserInfo16(ndr
, NDR_SCALARS
, &r
->info16
));
3375 NDR_CHECK(ndr_pull_samr_UserInfo17(ndr
, NDR_SCALARS
, &r
->info17
));
3379 NDR_CHECK(ndr_pull_samr_UserInfo18(ndr
, NDR_SCALARS
, &r
->info18
));
3383 NDR_CHECK(ndr_pull_samr_UserInfo20(ndr
, NDR_SCALARS
, &r
->info20
));
3387 NDR_CHECK(ndr_pull_samr_UserInfo21(ndr
, NDR_SCALARS
, &r
->info21
));
3391 NDR_CHECK(ndr_pull_samr_UserInfo23(ndr
, NDR_SCALARS
, &r
->info23
));
3395 NDR_CHECK(ndr_pull_samr_UserInfo24(ndr
, NDR_SCALARS
, &r
->info24
));
3399 NDR_CHECK(ndr_pull_samr_UserInfo25(ndr
, NDR_SCALARS
, &r
->info25
));
3403 NDR_CHECK(ndr_pull_samr_UserInfo26(ndr
, NDR_SCALARS
, &r
->info26
));
3407 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
3410 if (ndr_flags
& NDR_BUFFERS
) {
3413 NDR_CHECK(ndr_pull_samr_UserInfo1(ndr
, NDR_BUFFERS
, &r
->info1
));
3417 NDR_CHECK(ndr_pull_samr_UserInfo2(ndr
, NDR_BUFFERS
, &r
->info2
));
3421 NDR_CHECK(ndr_pull_samr_UserInfo3(ndr
, NDR_BUFFERS
, &r
->info3
));
3425 NDR_CHECK(ndr_pull_samr_UserInfo4(ndr
, NDR_BUFFERS
, &r
->info4
));
3429 NDR_CHECK(ndr_pull_samr_UserInfo5(ndr
, NDR_BUFFERS
, &r
->info5
));
3433 NDR_CHECK(ndr_pull_samr_UserInfo6(ndr
, NDR_BUFFERS
, &r
->info6
));
3437 NDR_CHECK(ndr_pull_samr_UserInfo7(ndr
, NDR_BUFFERS
, &r
->info7
));
3441 NDR_CHECK(ndr_pull_samr_UserInfo8(ndr
, NDR_BUFFERS
, &r
->info8
));
3448 NDR_CHECK(ndr_pull_samr_UserInfo10(ndr
, NDR_BUFFERS
, &r
->info10
));
3452 NDR_CHECK(ndr_pull_samr_UserInfo11(ndr
, NDR_BUFFERS
, &r
->info11
));
3456 NDR_CHECK(ndr_pull_samr_UserInfo12(ndr
, NDR_BUFFERS
, &r
->info12
));
3460 NDR_CHECK(ndr_pull_samr_UserInfo13(ndr
, NDR_BUFFERS
, &r
->info13
));
3464 NDR_CHECK(ndr_pull_samr_UserInfo14(ndr
, NDR_BUFFERS
, &r
->info14
));
3477 NDR_CHECK(ndr_pull_samr_UserInfo20(ndr
, NDR_BUFFERS
, &r
->info20
));
3481 NDR_CHECK(ndr_pull_samr_UserInfo21(ndr
, NDR_BUFFERS
, &r
->info21
));
3485 NDR_CHECK(ndr_pull_samr_UserInfo23(ndr
, NDR_BUFFERS
, &r
->info23
));
3492 NDR_CHECK(ndr_pull_samr_UserInfo25(ndr
, NDR_BUFFERS
, &r
->info25
));
3499 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
3502 return NDR_ERR_SUCCESS
;
3505 _PUBLIC_
void ndr_print_samr_UserInfo(struct ndr_print
*ndr
, const char *name
, const union samr_UserInfo
*r
)
3508 level
= ndr_print_get_switch_value(ndr
, r
);
3509 ndr_print_union(ndr
, name
, level
, "samr_UserInfo");
3512 ndr_print_samr_UserInfo1(ndr
, "info1", &r
->info1
);
3516 ndr_print_samr_UserInfo2(ndr
, "info2", &r
->info2
);
3520 ndr_print_samr_UserInfo3(ndr
, "info3", &r
->info3
);
3524 ndr_print_samr_UserInfo4(ndr
, "info4", &r
->info4
);
3528 ndr_print_samr_UserInfo5(ndr
, "info5", &r
->info5
);
3532 ndr_print_samr_UserInfo6(ndr
, "info6", &r
->info6
);
3536 ndr_print_samr_UserInfo7(ndr
, "info7", &r
->info7
);
3540 ndr_print_samr_UserInfo8(ndr
, "info8", &r
->info8
);
3544 ndr_print_samr_UserInfo9(ndr
, "info9", &r
->info9
);
3548 ndr_print_samr_UserInfo10(ndr
, "info10", &r
->info10
);
3552 ndr_print_samr_UserInfo11(ndr
, "info11", &r
->info11
);
3556 ndr_print_samr_UserInfo12(ndr
, "info12", &r
->info12
);
3560 ndr_print_samr_UserInfo13(ndr
, "info13", &r
->info13
);
3564 ndr_print_samr_UserInfo14(ndr
, "info14", &r
->info14
);
3568 ndr_print_samr_UserInfo16(ndr
, "info16", &r
->info16
);
3572 ndr_print_samr_UserInfo17(ndr
, "info17", &r
->info17
);
3576 ndr_print_samr_UserInfo18(ndr
, "info18", &r
->info18
);
3580 ndr_print_samr_UserInfo20(ndr
, "info20", &r
->info20
);
3584 ndr_print_samr_UserInfo21(ndr
, "info21", &r
->info21
);
3588 ndr_print_samr_UserInfo23(ndr
, "info23", &r
->info23
);
3592 ndr_print_samr_UserInfo24(ndr
, "info24", &r
->info24
);
3596 ndr_print_samr_UserInfo25(ndr
, "info25", &r
->info25
);
3600 ndr_print_samr_UserInfo26(ndr
, "info26", &r
->info26
);
3604 ndr_print_bad_level(ndr
, name
, level
);
3608 _PUBLIC_
enum ndr_err_code
ndr_push_samr_RidWithAttribute(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_RidWithAttribute
*r
)
3610 if (ndr_flags
& NDR_SCALARS
) {
3611 NDR_CHECK(ndr_push_align(ndr
, 4));
3612 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->rid
));
3613 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr
, NDR_SCALARS
, r
->attributes
));
3615 if (ndr_flags
& NDR_BUFFERS
) {
3617 return NDR_ERR_SUCCESS
;
3620 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_RidWithAttribute(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_RidWithAttribute
*r
)
3622 if (ndr_flags
& NDR_SCALARS
) {
3623 NDR_CHECK(ndr_pull_align(ndr
, 4));
3624 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->rid
));
3625 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr
, NDR_SCALARS
, &r
->attributes
));
3627 if (ndr_flags
& NDR_BUFFERS
) {
3629 return NDR_ERR_SUCCESS
;
3632 _PUBLIC_
void ndr_print_samr_RidWithAttribute(struct ndr_print
*ndr
, const char *name
, const struct samr_RidWithAttribute
*r
)
3634 ndr_print_struct(ndr
, name
, "samr_RidWithAttribute");
3636 ndr_print_uint32(ndr
, "rid", r
->rid
);
3637 ndr_print_samr_GroupAttrs(ndr
, "attributes", r
->attributes
);
3641 _PUBLIC_
enum ndr_err_code
ndr_push_samr_RidWithAttributeArray(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_RidWithAttributeArray
*r
)
3643 uint32_t cntr_rids_1
;
3644 if (ndr_flags
& NDR_SCALARS
) {
3645 NDR_CHECK(ndr_push_align(ndr
, 4));
3646 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
3647 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->rids
));
3649 if (ndr_flags
& NDR_BUFFERS
) {
3651 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
3652 for (cntr_rids_1
= 0; cntr_rids_1
< r
->count
; cntr_rids_1
++) {
3653 NDR_CHECK(ndr_push_samr_RidWithAttribute(ndr
, NDR_SCALARS
, &r
->rids
[cntr_rids_1
]));
3657 return NDR_ERR_SUCCESS
;
3660 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_RidWithAttributeArray(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_RidWithAttributeArray
*r
)
3663 uint32_t cntr_rids_1
;
3664 TALLOC_CTX
*_mem_save_rids_0
;
3665 TALLOC_CTX
*_mem_save_rids_1
;
3666 if (ndr_flags
& NDR_SCALARS
) {
3667 NDR_CHECK(ndr_pull_align(ndr
, 4));
3668 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
3669 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_rids
));
3671 NDR_PULL_ALLOC(ndr
, r
->rids
);
3676 if (ndr_flags
& NDR_BUFFERS
) {
3678 _mem_save_rids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3679 NDR_PULL_SET_MEM_CTX(ndr
, r
->rids
, 0);
3680 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->rids
));
3681 NDR_PULL_ALLOC_N(ndr
, r
->rids
, ndr_get_array_size(ndr
, &r
->rids
));
3682 _mem_save_rids_1
= NDR_PULL_GET_MEM_CTX(ndr
);
3683 NDR_PULL_SET_MEM_CTX(ndr
, r
->rids
, 0);
3684 for (cntr_rids_1
= 0; cntr_rids_1
< r
->count
; cntr_rids_1
++) {
3685 NDR_CHECK(ndr_pull_samr_RidWithAttribute(ndr
, NDR_SCALARS
, &r
->rids
[cntr_rids_1
]));
3687 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rids_1
, 0);
3688 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rids_0
, 0);
3691 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->rids
, r
->count
));
3694 return NDR_ERR_SUCCESS
;
3697 _PUBLIC_
void ndr_print_samr_RidWithAttributeArray(struct ndr_print
*ndr
, const char *name
, const struct samr_RidWithAttributeArray
*r
)
3699 uint32_t cntr_rids_1
;
3700 ndr_print_struct(ndr
, name
, "samr_RidWithAttributeArray");
3702 ndr_print_uint32(ndr
, "count", r
->count
);
3703 ndr_print_ptr(ndr
, "rids", r
->rids
);
3706 ndr
->print(ndr
, "%s: ARRAY(%d)", "rids", (int)r
->count
);
3708 for (cntr_rids_1
=0;cntr_rids_1
<r
->count
;cntr_rids_1
++) {
3710 if (asprintf(&idx_1
, "[%d]", cntr_rids_1
) != -1) {
3711 ndr_print_samr_RidWithAttribute(ndr
, "rids", &r
->rids
[cntr_rids_1
]);
3721 static enum ndr_err_code
ndr_push_samr_DispEntryGeneral(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DispEntryGeneral
*r
)
3723 if (ndr_flags
& NDR_SCALARS
) {
3724 NDR_CHECK(ndr_push_align(ndr
, 4));
3725 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->idx
));
3726 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->rid
));
3727 NDR_CHECK(ndr_push_samr_AcctFlags(ndr
, NDR_SCALARS
, r
->acct_flags
));
3728 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
3729 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
3730 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
3732 if (ndr_flags
& NDR_BUFFERS
) {
3733 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
3734 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
3735 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
3737 return NDR_ERR_SUCCESS
;
3740 static enum ndr_err_code
ndr_pull_samr_DispEntryGeneral(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DispEntryGeneral
*r
)
3742 if (ndr_flags
& NDR_SCALARS
) {
3743 NDR_CHECK(ndr_pull_align(ndr
, 4));
3744 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->idx
));
3745 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->rid
));
3746 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr
, NDR_SCALARS
, &r
->acct_flags
));
3747 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
3748 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
3749 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
3751 if (ndr_flags
& NDR_BUFFERS
) {
3752 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
3753 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
3754 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
3756 return NDR_ERR_SUCCESS
;
3759 _PUBLIC_
void ndr_print_samr_DispEntryGeneral(struct ndr_print
*ndr
, const char *name
, const struct samr_DispEntryGeneral
*r
)
3761 ndr_print_struct(ndr
, name
, "samr_DispEntryGeneral");
3763 ndr_print_uint32(ndr
, "idx", r
->idx
);
3764 ndr_print_uint32(ndr
, "rid", r
->rid
);
3765 ndr_print_samr_AcctFlags(ndr
, "acct_flags", r
->acct_flags
);
3766 ndr_print_lsa_String(ndr
, "account_name", &r
->account_name
);
3767 ndr_print_lsa_String(ndr
, "description", &r
->description
);
3768 ndr_print_lsa_String(ndr
, "full_name", &r
->full_name
);
3772 static enum ndr_err_code
ndr_push_samr_DispInfoGeneral(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DispInfoGeneral
*r
)
3774 uint32_t cntr_entries_1
;
3775 if (ndr_flags
& NDR_SCALARS
) {
3776 NDR_CHECK(ndr_push_align(ndr
, 4));
3777 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
3778 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->entries
));
3780 if (ndr_flags
& NDR_BUFFERS
) {
3782 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
3783 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
3784 NDR_CHECK(ndr_push_samr_DispEntryGeneral(ndr
, NDR_SCALARS
, &r
->entries
[cntr_entries_1
]));
3786 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
3787 NDR_CHECK(ndr_push_samr_DispEntryGeneral(ndr
, NDR_BUFFERS
, &r
->entries
[cntr_entries_1
]));
3791 return NDR_ERR_SUCCESS
;
3794 static enum ndr_err_code
ndr_pull_samr_DispInfoGeneral(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DispInfoGeneral
*r
)
3796 uint32_t _ptr_entries
;
3797 uint32_t cntr_entries_1
;
3798 TALLOC_CTX
*_mem_save_entries_0
;
3799 TALLOC_CTX
*_mem_save_entries_1
;
3800 if (ndr_flags
& NDR_SCALARS
) {
3801 NDR_CHECK(ndr_pull_align(ndr
, 4));
3802 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
3803 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_entries
));
3805 NDR_PULL_ALLOC(ndr
, r
->entries
);
3810 if (ndr_flags
& NDR_BUFFERS
) {
3812 _mem_save_entries_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3813 NDR_PULL_SET_MEM_CTX(ndr
, r
->entries
, 0);
3814 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->entries
));
3815 NDR_PULL_ALLOC_N(ndr
, r
->entries
, ndr_get_array_size(ndr
, &r
->entries
));
3816 _mem_save_entries_1
= NDR_PULL_GET_MEM_CTX(ndr
);
3817 NDR_PULL_SET_MEM_CTX(ndr
, r
->entries
, 0);
3818 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
3819 NDR_CHECK(ndr_pull_samr_DispEntryGeneral(ndr
, NDR_SCALARS
, &r
->entries
[cntr_entries_1
]));
3821 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
3822 NDR_CHECK(ndr_pull_samr_DispEntryGeneral(ndr
, NDR_BUFFERS
, &r
->entries
[cntr_entries_1
]));
3824 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_entries_1
, 0);
3825 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_entries_0
, 0);
3828 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->entries
, r
->count
));
3831 return NDR_ERR_SUCCESS
;
3834 _PUBLIC_
void ndr_print_samr_DispInfoGeneral(struct ndr_print
*ndr
, const char *name
, const struct samr_DispInfoGeneral
*r
)
3836 uint32_t cntr_entries_1
;
3837 ndr_print_struct(ndr
, name
, "samr_DispInfoGeneral");
3839 ndr_print_uint32(ndr
, "count", r
->count
);
3840 ndr_print_ptr(ndr
, "entries", r
->entries
);
3843 ndr
->print(ndr
, "%s: ARRAY(%d)", "entries", (int)r
->count
);
3845 for (cntr_entries_1
=0;cntr_entries_1
<r
->count
;cntr_entries_1
++) {
3847 if (asprintf(&idx_1
, "[%d]", cntr_entries_1
) != -1) {
3848 ndr_print_samr_DispEntryGeneral(ndr
, "entries", &r
->entries
[cntr_entries_1
]);
3858 static enum ndr_err_code
ndr_push_samr_DispEntryFull(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DispEntryFull
*r
)
3860 if (ndr_flags
& NDR_SCALARS
) {
3861 NDR_CHECK(ndr_push_align(ndr
, 4));
3862 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->idx
));
3863 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->rid
));
3864 NDR_CHECK(ndr_push_samr_AcctFlags(ndr
, NDR_SCALARS
, r
->acct_flags
));
3865 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
3866 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
3868 if (ndr_flags
& NDR_BUFFERS
) {
3869 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
3870 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
3872 return NDR_ERR_SUCCESS
;
3875 static enum ndr_err_code
ndr_pull_samr_DispEntryFull(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DispEntryFull
*r
)
3877 if (ndr_flags
& NDR_SCALARS
) {
3878 NDR_CHECK(ndr_pull_align(ndr
, 4));
3879 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->idx
));
3880 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->rid
));
3881 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr
, NDR_SCALARS
, &r
->acct_flags
));
3882 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
3883 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
3885 if (ndr_flags
& NDR_BUFFERS
) {
3886 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
3887 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
3889 return NDR_ERR_SUCCESS
;
3892 _PUBLIC_
void ndr_print_samr_DispEntryFull(struct ndr_print
*ndr
, const char *name
, const struct samr_DispEntryFull
*r
)
3894 ndr_print_struct(ndr
, name
, "samr_DispEntryFull");
3896 ndr_print_uint32(ndr
, "idx", r
->idx
);
3897 ndr_print_uint32(ndr
, "rid", r
->rid
);
3898 ndr_print_samr_AcctFlags(ndr
, "acct_flags", r
->acct_flags
);
3899 ndr_print_lsa_String(ndr
, "account_name", &r
->account_name
);
3900 ndr_print_lsa_String(ndr
, "description", &r
->description
);
3904 static enum ndr_err_code
ndr_push_samr_DispInfoFull(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DispInfoFull
*r
)
3906 uint32_t cntr_entries_1
;
3907 if (ndr_flags
& NDR_SCALARS
) {
3908 NDR_CHECK(ndr_push_align(ndr
, 4));
3909 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
3910 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->entries
));
3912 if (ndr_flags
& NDR_BUFFERS
) {
3914 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
3915 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
3916 NDR_CHECK(ndr_push_samr_DispEntryFull(ndr
, NDR_SCALARS
, &r
->entries
[cntr_entries_1
]));
3918 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
3919 NDR_CHECK(ndr_push_samr_DispEntryFull(ndr
, NDR_BUFFERS
, &r
->entries
[cntr_entries_1
]));
3923 return NDR_ERR_SUCCESS
;
3926 static enum ndr_err_code
ndr_pull_samr_DispInfoFull(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DispInfoFull
*r
)
3928 uint32_t _ptr_entries
;
3929 uint32_t cntr_entries_1
;
3930 TALLOC_CTX
*_mem_save_entries_0
;
3931 TALLOC_CTX
*_mem_save_entries_1
;
3932 if (ndr_flags
& NDR_SCALARS
) {
3933 NDR_CHECK(ndr_pull_align(ndr
, 4));
3934 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
3935 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_entries
));
3937 NDR_PULL_ALLOC(ndr
, r
->entries
);
3942 if (ndr_flags
& NDR_BUFFERS
) {
3944 _mem_save_entries_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3945 NDR_PULL_SET_MEM_CTX(ndr
, r
->entries
, 0);
3946 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->entries
));
3947 NDR_PULL_ALLOC_N(ndr
, r
->entries
, ndr_get_array_size(ndr
, &r
->entries
));
3948 _mem_save_entries_1
= NDR_PULL_GET_MEM_CTX(ndr
);
3949 NDR_PULL_SET_MEM_CTX(ndr
, r
->entries
, 0);
3950 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
3951 NDR_CHECK(ndr_pull_samr_DispEntryFull(ndr
, NDR_SCALARS
, &r
->entries
[cntr_entries_1
]));
3953 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
3954 NDR_CHECK(ndr_pull_samr_DispEntryFull(ndr
, NDR_BUFFERS
, &r
->entries
[cntr_entries_1
]));
3956 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_entries_1
, 0);
3957 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_entries_0
, 0);
3960 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->entries
, r
->count
));
3963 return NDR_ERR_SUCCESS
;
3966 _PUBLIC_
void ndr_print_samr_DispInfoFull(struct ndr_print
*ndr
, const char *name
, const struct samr_DispInfoFull
*r
)
3968 uint32_t cntr_entries_1
;
3969 ndr_print_struct(ndr
, name
, "samr_DispInfoFull");
3971 ndr_print_uint32(ndr
, "count", r
->count
);
3972 ndr_print_ptr(ndr
, "entries", r
->entries
);
3975 ndr
->print(ndr
, "%s: ARRAY(%d)", "entries", (int)r
->count
);
3977 for (cntr_entries_1
=0;cntr_entries_1
<r
->count
;cntr_entries_1
++) {
3979 if (asprintf(&idx_1
, "[%d]", cntr_entries_1
) != -1) {
3980 ndr_print_samr_DispEntryFull(ndr
, "entries", &r
->entries
[cntr_entries_1
]);
3990 static enum ndr_err_code
ndr_push_samr_DispEntryFullGroup(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DispEntryFullGroup
*r
)
3992 if (ndr_flags
& NDR_SCALARS
) {
3993 NDR_CHECK(ndr_push_align(ndr
, 4));
3994 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->idx
));
3995 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->rid
));
3996 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr
, NDR_SCALARS
, r
->acct_flags
));
3997 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
3998 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
4000 if (ndr_flags
& NDR_BUFFERS
) {
4001 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
4002 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
4004 return NDR_ERR_SUCCESS
;
4007 static enum ndr_err_code
ndr_pull_samr_DispEntryFullGroup(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DispEntryFullGroup
*r
)
4009 if (ndr_flags
& NDR_SCALARS
) {
4010 NDR_CHECK(ndr_pull_align(ndr
, 4));
4011 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->idx
));
4012 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->rid
));
4013 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr
, NDR_SCALARS
, &r
->acct_flags
));
4014 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
4015 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
4017 if (ndr_flags
& NDR_BUFFERS
) {
4018 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
4019 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
4021 return NDR_ERR_SUCCESS
;
4024 _PUBLIC_
void ndr_print_samr_DispEntryFullGroup(struct ndr_print
*ndr
, const char *name
, const struct samr_DispEntryFullGroup
*r
)
4026 ndr_print_struct(ndr
, name
, "samr_DispEntryFullGroup");
4028 ndr_print_uint32(ndr
, "idx", r
->idx
);
4029 ndr_print_uint32(ndr
, "rid", r
->rid
);
4030 ndr_print_samr_GroupAttrs(ndr
, "acct_flags", r
->acct_flags
);
4031 ndr_print_lsa_String(ndr
, "account_name", &r
->account_name
);
4032 ndr_print_lsa_String(ndr
, "description", &r
->description
);
4036 static enum ndr_err_code
ndr_push_samr_DispInfoFullGroups(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DispInfoFullGroups
*r
)
4038 uint32_t cntr_entries_1
;
4039 if (ndr_flags
& NDR_SCALARS
) {
4040 NDR_CHECK(ndr_push_align(ndr
, 4));
4041 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
4042 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->entries
));
4044 if (ndr_flags
& NDR_BUFFERS
) {
4046 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
4047 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
4048 NDR_CHECK(ndr_push_samr_DispEntryFullGroup(ndr
, NDR_SCALARS
, &r
->entries
[cntr_entries_1
]));
4050 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
4051 NDR_CHECK(ndr_push_samr_DispEntryFullGroup(ndr
, NDR_BUFFERS
, &r
->entries
[cntr_entries_1
]));
4055 return NDR_ERR_SUCCESS
;
4058 static enum ndr_err_code
ndr_pull_samr_DispInfoFullGroups(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DispInfoFullGroups
*r
)
4060 uint32_t _ptr_entries
;
4061 uint32_t cntr_entries_1
;
4062 TALLOC_CTX
*_mem_save_entries_0
;
4063 TALLOC_CTX
*_mem_save_entries_1
;
4064 if (ndr_flags
& NDR_SCALARS
) {
4065 NDR_CHECK(ndr_pull_align(ndr
, 4));
4066 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
4067 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_entries
));
4069 NDR_PULL_ALLOC(ndr
, r
->entries
);
4074 if (ndr_flags
& NDR_BUFFERS
) {
4076 _mem_save_entries_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4077 NDR_PULL_SET_MEM_CTX(ndr
, r
->entries
, 0);
4078 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->entries
));
4079 NDR_PULL_ALLOC_N(ndr
, r
->entries
, ndr_get_array_size(ndr
, &r
->entries
));
4080 _mem_save_entries_1
= NDR_PULL_GET_MEM_CTX(ndr
);
4081 NDR_PULL_SET_MEM_CTX(ndr
, r
->entries
, 0);
4082 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
4083 NDR_CHECK(ndr_pull_samr_DispEntryFullGroup(ndr
, NDR_SCALARS
, &r
->entries
[cntr_entries_1
]));
4085 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
4086 NDR_CHECK(ndr_pull_samr_DispEntryFullGroup(ndr
, NDR_BUFFERS
, &r
->entries
[cntr_entries_1
]));
4088 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_entries_1
, 0);
4089 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_entries_0
, 0);
4092 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->entries
, r
->count
));
4095 return NDR_ERR_SUCCESS
;
4098 _PUBLIC_
void ndr_print_samr_DispInfoFullGroups(struct ndr_print
*ndr
, const char *name
, const struct samr_DispInfoFullGroups
*r
)
4100 uint32_t cntr_entries_1
;
4101 ndr_print_struct(ndr
, name
, "samr_DispInfoFullGroups");
4103 ndr_print_uint32(ndr
, "count", r
->count
);
4104 ndr_print_ptr(ndr
, "entries", r
->entries
);
4107 ndr
->print(ndr
, "%s: ARRAY(%d)", "entries", (int)r
->count
);
4109 for (cntr_entries_1
=0;cntr_entries_1
<r
->count
;cntr_entries_1
++) {
4111 if (asprintf(&idx_1
, "[%d]", cntr_entries_1
) != -1) {
4112 ndr_print_samr_DispEntryFullGroup(ndr
, "entries", &r
->entries
[cntr_entries_1
]);
4122 static enum ndr_err_code
ndr_push_samr_DispEntryAscii(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DispEntryAscii
*r
)
4124 if (ndr_flags
& NDR_SCALARS
) {
4125 NDR_CHECK(ndr_push_align(ndr
, 4));
4126 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->idx
));
4127 NDR_CHECK(ndr_push_lsa_AsciiStringLarge(ndr
, NDR_SCALARS
, &r
->account_name
));
4129 if (ndr_flags
& NDR_BUFFERS
) {
4130 NDR_CHECK(ndr_push_lsa_AsciiStringLarge(ndr
, NDR_BUFFERS
, &r
->account_name
));
4132 return NDR_ERR_SUCCESS
;
4135 static enum ndr_err_code
ndr_pull_samr_DispEntryAscii(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DispEntryAscii
*r
)
4137 if (ndr_flags
& NDR_SCALARS
) {
4138 NDR_CHECK(ndr_pull_align(ndr
, 4));
4139 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->idx
));
4140 NDR_CHECK(ndr_pull_lsa_AsciiStringLarge(ndr
, NDR_SCALARS
, &r
->account_name
));
4142 if (ndr_flags
& NDR_BUFFERS
) {
4143 NDR_CHECK(ndr_pull_lsa_AsciiStringLarge(ndr
, NDR_BUFFERS
, &r
->account_name
));
4145 return NDR_ERR_SUCCESS
;
4148 _PUBLIC_
void ndr_print_samr_DispEntryAscii(struct ndr_print
*ndr
, const char *name
, const struct samr_DispEntryAscii
*r
)
4150 ndr_print_struct(ndr
, name
, "samr_DispEntryAscii");
4152 ndr_print_uint32(ndr
, "idx", r
->idx
);
4153 ndr_print_lsa_AsciiStringLarge(ndr
, "account_name", &r
->account_name
);
4157 static enum ndr_err_code
ndr_push_samr_DispInfoAscii(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DispInfoAscii
*r
)
4159 uint32_t cntr_entries_1
;
4160 if (ndr_flags
& NDR_SCALARS
) {
4161 NDR_CHECK(ndr_push_align(ndr
, 4));
4162 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
4163 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->entries
));
4165 if (ndr_flags
& NDR_BUFFERS
) {
4167 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
4168 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
4169 NDR_CHECK(ndr_push_samr_DispEntryAscii(ndr
, NDR_SCALARS
, &r
->entries
[cntr_entries_1
]));
4171 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
4172 NDR_CHECK(ndr_push_samr_DispEntryAscii(ndr
, NDR_BUFFERS
, &r
->entries
[cntr_entries_1
]));
4176 return NDR_ERR_SUCCESS
;
4179 static enum ndr_err_code
ndr_pull_samr_DispInfoAscii(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DispInfoAscii
*r
)
4181 uint32_t _ptr_entries
;
4182 uint32_t cntr_entries_1
;
4183 TALLOC_CTX
*_mem_save_entries_0
;
4184 TALLOC_CTX
*_mem_save_entries_1
;
4185 if (ndr_flags
& NDR_SCALARS
) {
4186 NDR_CHECK(ndr_pull_align(ndr
, 4));
4187 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
4188 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_entries
));
4190 NDR_PULL_ALLOC(ndr
, r
->entries
);
4195 if (ndr_flags
& NDR_BUFFERS
) {
4197 _mem_save_entries_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4198 NDR_PULL_SET_MEM_CTX(ndr
, r
->entries
, 0);
4199 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->entries
));
4200 NDR_PULL_ALLOC_N(ndr
, r
->entries
, ndr_get_array_size(ndr
, &r
->entries
));
4201 _mem_save_entries_1
= NDR_PULL_GET_MEM_CTX(ndr
);
4202 NDR_PULL_SET_MEM_CTX(ndr
, r
->entries
, 0);
4203 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
4204 NDR_CHECK(ndr_pull_samr_DispEntryAscii(ndr
, NDR_SCALARS
, &r
->entries
[cntr_entries_1
]));
4206 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
4207 NDR_CHECK(ndr_pull_samr_DispEntryAscii(ndr
, NDR_BUFFERS
, &r
->entries
[cntr_entries_1
]));
4209 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_entries_1
, 0);
4210 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_entries_0
, 0);
4213 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->entries
, r
->count
));
4216 return NDR_ERR_SUCCESS
;
4219 _PUBLIC_
void ndr_print_samr_DispInfoAscii(struct ndr_print
*ndr
, const char *name
, const struct samr_DispInfoAscii
*r
)
4221 uint32_t cntr_entries_1
;
4222 ndr_print_struct(ndr
, name
, "samr_DispInfoAscii");
4224 ndr_print_uint32(ndr
, "count", r
->count
);
4225 ndr_print_ptr(ndr
, "entries", r
->entries
);
4228 ndr
->print(ndr
, "%s: ARRAY(%d)", "entries", (int)r
->count
);
4230 for (cntr_entries_1
=0;cntr_entries_1
<r
->count
;cntr_entries_1
++) {
4232 if (asprintf(&idx_1
, "[%d]", cntr_entries_1
) != -1) {
4233 ndr_print_samr_DispEntryAscii(ndr
, "entries", &r
->entries
[cntr_entries_1
]);
4243 static enum ndr_err_code
ndr_push_samr_DispInfo(struct ndr_push
*ndr
, int ndr_flags
, const union samr_DispInfo
*r
)
4245 if (ndr_flags
& NDR_SCALARS
) {
4246 int level
= ndr_push_get_switch_value(ndr
, r
);
4247 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, level
));
4250 NDR_CHECK(ndr_push_samr_DispInfoGeneral(ndr
, NDR_SCALARS
, &r
->info1
));
4254 NDR_CHECK(ndr_push_samr_DispInfoFull(ndr
, NDR_SCALARS
, &r
->info2
));
4258 NDR_CHECK(ndr_push_samr_DispInfoFullGroups(ndr
, NDR_SCALARS
, &r
->info3
));
4262 NDR_CHECK(ndr_push_samr_DispInfoAscii(ndr
, NDR_SCALARS
, &r
->info4
));
4266 NDR_CHECK(ndr_push_samr_DispInfoAscii(ndr
, NDR_SCALARS
, &r
->info5
));
4270 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
4273 if (ndr_flags
& NDR_BUFFERS
) {
4274 int level
= ndr_push_get_switch_value(ndr
, r
);
4277 NDR_CHECK(ndr_push_samr_DispInfoGeneral(ndr
, NDR_BUFFERS
, &r
->info1
));
4281 NDR_CHECK(ndr_push_samr_DispInfoFull(ndr
, NDR_BUFFERS
, &r
->info2
));
4285 NDR_CHECK(ndr_push_samr_DispInfoFullGroups(ndr
, NDR_BUFFERS
, &r
->info3
));
4289 NDR_CHECK(ndr_push_samr_DispInfoAscii(ndr
, NDR_BUFFERS
, &r
->info4
));
4293 NDR_CHECK(ndr_push_samr_DispInfoAscii(ndr
, NDR_BUFFERS
, &r
->info5
));
4297 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
4300 return NDR_ERR_SUCCESS
;
4303 static enum ndr_err_code
ndr_pull_samr_DispInfo(struct ndr_pull
*ndr
, int ndr_flags
, union samr_DispInfo
*r
)
4307 level
= ndr_pull_get_switch_value(ndr
, r
);
4308 if (ndr_flags
& NDR_SCALARS
) {
4309 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &_level
));
4310 if (_level
!= level
) {
4311 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r", _level
);
4315 NDR_CHECK(ndr_pull_samr_DispInfoGeneral(ndr
, NDR_SCALARS
, &r
->info1
));
4319 NDR_CHECK(ndr_pull_samr_DispInfoFull(ndr
, NDR_SCALARS
, &r
->info2
));
4323 NDR_CHECK(ndr_pull_samr_DispInfoFullGroups(ndr
, NDR_SCALARS
, &r
->info3
));
4327 NDR_CHECK(ndr_pull_samr_DispInfoAscii(ndr
, NDR_SCALARS
, &r
->info4
));
4331 NDR_CHECK(ndr_pull_samr_DispInfoAscii(ndr
, NDR_SCALARS
, &r
->info5
));
4335 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
4338 if (ndr_flags
& NDR_BUFFERS
) {
4341 NDR_CHECK(ndr_pull_samr_DispInfoGeneral(ndr
, NDR_BUFFERS
, &r
->info1
));
4345 NDR_CHECK(ndr_pull_samr_DispInfoFull(ndr
, NDR_BUFFERS
, &r
->info2
));
4349 NDR_CHECK(ndr_pull_samr_DispInfoFullGroups(ndr
, NDR_BUFFERS
, &r
->info3
));
4353 NDR_CHECK(ndr_pull_samr_DispInfoAscii(ndr
, NDR_BUFFERS
, &r
->info4
));
4357 NDR_CHECK(ndr_pull_samr_DispInfoAscii(ndr
, NDR_BUFFERS
, &r
->info5
));
4361 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
4364 return NDR_ERR_SUCCESS
;
4367 _PUBLIC_
void ndr_print_samr_DispInfo(struct ndr_print
*ndr
, const char *name
, const union samr_DispInfo
*r
)
4370 level
= ndr_print_get_switch_value(ndr
, r
);
4371 ndr_print_union(ndr
, name
, level
, "samr_DispInfo");
4374 ndr_print_samr_DispInfoGeneral(ndr
, "info1", &r
->info1
);
4378 ndr_print_samr_DispInfoFull(ndr
, "info2", &r
->info2
);
4382 ndr_print_samr_DispInfoFullGroups(ndr
, "info3", &r
->info3
);
4386 ndr_print_samr_DispInfoAscii(ndr
, "info4", &r
->info4
);
4390 ndr_print_samr_DispInfoAscii(ndr
, "info5", &r
->info5
);
4394 ndr_print_bad_level(ndr
, name
, level
);
4398 static enum ndr_err_code
ndr_push_samr_PwInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_PwInfo
*r
)
4400 if (ndr_flags
& NDR_SCALARS
) {
4401 NDR_CHECK(ndr_push_align(ndr
, 4));
4402 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->min_password_length
));
4403 NDR_CHECK(ndr_push_samr_PasswordProperties(ndr
, NDR_SCALARS
, r
->password_properties
));
4405 if (ndr_flags
& NDR_BUFFERS
) {
4407 return NDR_ERR_SUCCESS
;
4410 static enum ndr_err_code
ndr_pull_samr_PwInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_PwInfo
*r
)
4412 if (ndr_flags
& NDR_SCALARS
) {
4413 NDR_CHECK(ndr_pull_align(ndr
, 4));
4414 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->min_password_length
));
4415 NDR_CHECK(ndr_pull_samr_PasswordProperties(ndr
, NDR_SCALARS
, &r
->password_properties
));
4417 if (ndr_flags
& NDR_BUFFERS
) {
4419 return NDR_ERR_SUCCESS
;
4422 _PUBLIC_
void ndr_print_samr_PwInfo(struct ndr_print
*ndr
, const char *name
, const struct samr_PwInfo
*r
)
4424 ndr_print_struct(ndr
, name
, "samr_PwInfo");
4426 ndr_print_uint16(ndr
, "min_password_length", r
->min_password_length
);
4427 ndr_print_samr_PasswordProperties(ndr
, "password_properties", r
->password_properties
);
4431 static enum ndr_err_code
ndr_push_samr_ConnectVersion(struct ndr_push
*ndr
, int ndr_flags
, enum samr_ConnectVersion r
)
4433 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
));
4434 return NDR_ERR_SUCCESS
;
4437 static enum ndr_err_code
ndr_pull_samr_ConnectVersion(struct ndr_pull
*ndr
, int ndr_flags
, enum samr_ConnectVersion
*r
)
4440 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &v
));
4442 return NDR_ERR_SUCCESS
;
4445 _PUBLIC_
void ndr_print_samr_ConnectVersion(struct ndr_print
*ndr
, const char *name
, enum samr_ConnectVersion r
)
4447 const char *val
= NULL
;
4450 case SAMR_CONNECT_PRE_W2K
: val
= "SAMR_CONNECT_PRE_W2K"; break;
4451 case SAMR_CONNECT_W2K
: val
= "SAMR_CONNECT_W2K"; break;
4452 case SAMR_CONNECT_AFTER_W2K
: val
= "SAMR_CONNECT_AFTER_W2K"; break;
4454 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
4457 static enum ndr_err_code
ndr_push_samr_ChangeReject(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_ChangeReject
*r
)
4459 if (ndr_flags
& NDR_SCALARS
) {
4460 NDR_CHECK(ndr_push_align(ndr
, 4));
4461 NDR_CHECK(ndr_push_samr_RejectReason(ndr
, NDR_SCALARS
, r
->reason
));
4462 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown1
));
4463 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown2
));
4465 if (ndr_flags
& NDR_BUFFERS
) {
4467 return NDR_ERR_SUCCESS
;
4470 static enum ndr_err_code
ndr_pull_samr_ChangeReject(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_ChangeReject
*r
)
4472 if (ndr_flags
& NDR_SCALARS
) {
4473 NDR_CHECK(ndr_pull_align(ndr
, 4));
4474 NDR_CHECK(ndr_pull_samr_RejectReason(ndr
, NDR_SCALARS
, &r
->reason
));
4475 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown1
));
4476 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown2
));
4478 if (ndr_flags
& NDR_BUFFERS
) {
4480 return NDR_ERR_SUCCESS
;
4483 _PUBLIC_
void ndr_print_samr_ChangeReject(struct ndr_print
*ndr
, const char *name
, const struct samr_ChangeReject
*r
)
4485 ndr_print_struct(ndr
, name
, "samr_ChangeReject");
4487 ndr_print_samr_RejectReason(ndr
, "reason", r
->reason
);
4488 ndr_print_uint32(ndr
, "unknown1", r
->unknown1
);
4489 ndr_print_uint32(ndr
, "unknown2", r
->unknown2
);
4493 static enum ndr_err_code
ndr_push_samr_ConnectInfo1(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_ConnectInfo1
*r
)
4495 if (ndr_flags
& NDR_SCALARS
) {
4496 NDR_CHECK(ndr_push_align(ndr
, 4));
4497 NDR_CHECK(ndr_push_samr_ConnectVersion(ndr
, NDR_SCALARS
, r
->client_version
));
4498 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown2
));
4500 if (ndr_flags
& NDR_BUFFERS
) {
4502 return NDR_ERR_SUCCESS
;
4505 static enum ndr_err_code
ndr_pull_samr_ConnectInfo1(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_ConnectInfo1
*r
)
4507 if (ndr_flags
& NDR_SCALARS
) {
4508 NDR_CHECK(ndr_pull_align(ndr
, 4));
4509 NDR_CHECK(ndr_pull_samr_ConnectVersion(ndr
, NDR_SCALARS
, &r
->client_version
));
4510 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown2
));
4512 if (ndr_flags
& NDR_BUFFERS
) {
4514 return NDR_ERR_SUCCESS
;
4517 _PUBLIC_
void ndr_print_samr_ConnectInfo1(struct ndr_print
*ndr
, const char *name
, const struct samr_ConnectInfo1
*r
)
4519 ndr_print_struct(ndr
, name
, "samr_ConnectInfo1");
4521 ndr_print_samr_ConnectVersion(ndr
, "client_version", r
->client_version
);
4522 ndr_print_uint32(ndr
, "unknown2", r
->unknown2
);
4526 static enum ndr_err_code
ndr_push_samr_ConnectInfo(struct ndr_push
*ndr
, int ndr_flags
, const union samr_ConnectInfo
*r
)
4528 if (ndr_flags
& NDR_SCALARS
) {
4529 int level
= ndr_push_get_switch_value(ndr
, r
);
4530 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
4533 NDR_CHECK(ndr_push_samr_ConnectInfo1(ndr
, NDR_SCALARS
, &r
->info1
));
4537 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
4540 if (ndr_flags
& NDR_BUFFERS
) {
4541 int level
= ndr_push_get_switch_value(ndr
, r
);
4547 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
4550 return NDR_ERR_SUCCESS
;
4553 static enum ndr_err_code
ndr_pull_samr_ConnectInfo(struct ndr_pull
*ndr
, int ndr_flags
, union samr_ConnectInfo
*r
)
4557 level
= ndr_pull_get_switch_value(ndr
, r
);
4558 if (ndr_flags
& NDR_SCALARS
) {
4559 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
4560 if (_level
!= level
) {
4561 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r", _level
);
4565 NDR_CHECK(ndr_pull_samr_ConnectInfo1(ndr
, NDR_SCALARS
, &r
->info1
));
4569 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
4572 if (ndr_flags
& NDR_BUFFERS
) {
4578 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
4581 return NDR_ERR_SUCCESS
;
4584 _PUBLIC_
void ndr_print_samr_ConnectInfo(struct ndr_print
*ndr
, const char *name
, const union samr_ConnectInfo
*r
)
4587 level
= ndr_print_get_switch_value(ndr
, r
);
4588 ndr_print_union(ndr
, name
, level
, "samr_ConnectInfo");
4591 ndr_print_samr_ConnectInfo1(ndr
, "info1", &r
->info1
);
4595 ndr_print_bad_level(ndr
, name
, level
);
4599 static enum ndr_err_code
ndr_push_samr_ValidateFieldsPresent(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
4601 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
4602 return NDR_ERR_SUCCESS
;
4605 static enum ndr_err_code
ndr_pull_samr_ValidateFieldsPresent(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
4608 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
4610 return NDR_ERR_SUCCESS
;
4613 _PUBLIC_
void ndr_print_samr_ValidateFieldsPresent(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
4615 ndr_print_uint32(ndr
, name
, r
);
4617 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_PASSWORD_LAST_SET", SAMR_VALIDATE_FIELD_PASSWORD_LAST_SET
, r
);
4618 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_BAD_PASSWORD_TIME", SAMR_VALIDATE_FIELD_BAD_PASSWORD_TIME
, r
);
4619 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_LOCKOUT_TIME", SAMR_VALIDATE_FIELD_LOCKOUT_TIME
, r
);
4620 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_BAD_PASSWORD_COUNT", SAMR_VALIDATE_FIELD_BAD_PASSWORD_COUNT
, r
);
4621 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_PASSWORD_HISTORY_LENGTH", SAMR_VALIDATE_FIELD_PASSWORD_HISTORY_LENGTH
, r
);
4622 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_PASSWORD_HISTORY", SAMR_VALIDATE_FIELD_PASSWORD_HISTORY
, r
);
4626 static enum ndr_err_code
ndr_push_samr_ValidatePasswordLevel(struct ndr_push
*ndr
, int ndr_flags
, enum samr_ValidatePasswordLevel r
)
4628 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
));
4629 return NDR_ERR_SUCCESS
;
4632 static enum ndr_err_code
ndr_pull_samr_ValidatePasswordLevel(struct ndr_pull
*ndr
, int ndr_flags
, enum samr_ValidatePasswordLevel
*r
)
4635 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &v
));
4637 return NDR_ERR_SUCCESS
;
4640 _PUBLIC_
void ndr_print_samr_ValidatePasswordLevel(struct ndr_print
*ndr
, const char *name
, enum samr_ValidatePasswordLevel r
)
4642 const char *val
= NULL
;
4645 case NetValidateAuthentication
: val
= "NetValidateAuthentication"; break;
4646 case NetValidatePasswordChange
: val
= "NetValidatePasswordChange"; break;
4647 case NetValidatePasswordReset
: val
= "NetValidatePasswordReset"; break;
4649 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
4652 static enum ndr_err_code
ndr_push_samr_ValidationStatus(struct ndr_push
*ndr
, int ndr_flags
, enum samr_ValidationStatus r
)
4654 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
));
4655 return NDR_ERR_SUCCESS
;
4658 static enum ndr_err_code
ndr_pull_samr_ValidationStatus(struct ndr_pull
*ndr
, int ndr_flags
, enum samr_ValidationStatus
*r
)
4661 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &v
));
4663 return NDR_ERR_SUCCESS
;
4666 _PUBLIC_
void ndr_print_samr_ValidationStatus(struct ndr_print
*ndr
, const char *name
, enum samr_ValidationStatus r
)
4668 const char *val
= NULL
;
4671 case SAMR_VALIDATION_STATUS_SUCCESS
: val
= "SAMR_VALIDATION_STATUS_SUCCESS"; break;
4672 case SAMR_VALIDATION_STATUS_PASSWORD_MUST_CHANGE
: val
= "SAMR_VALIDATION_STATUS_PASSWORD_MUST_CHANGE"; break;
4673 case SAMR_VALIDATION_STATUS_ACCOUNT_LOCKED_OUT
: val
= "SAMR_VALIDATION_STATUS_ACCOUNT_LOCKED_OUT"; break;
4674 case SAMR_VALIDATION_STATUS_BAD_PASSWORD
: val
= "SAMR_VALIDATION_STATUS_BAD_PASSWORD"; break;
4675 case SAMR_VALIDATION_STATUS_PWD_HISTORY_CONFLICT
: val
= "SAMR_VALIDATION_STATUS_PWD_HISTORY_CONFLICT"; break;
4676 case SAMR_VALIDATION_STATUS_PWD_TOO_SHORT
: val
= "SAMR_VALIDATION_STATUS_PWD_TOO_SHORT"; break;
4677 case SAMR_VALIDATION_STATUS_PWD_TOO_LONG
: val
= "SAMR_VALIDATION_STATUS_PWD_TOO_LONG"; break;
4678 case SAMR_VALIDATION_STATUS_NOT_COMPLEX_ENOUGH
: val
= "SAMR_VALIDATION_STATUS_NOT_COMPLEX_ENOUGH"; break;
4679 case SAMR_VALIDATION_STATUS_PASSWORD_TOO_RECENT
: val
= "SAMR_VALIDATION_STATUS_PASSWORD_TOO_RECENT"; break;
4681 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
4684 static enum ndr_err_code
ndr_push_samr_ValidationBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_ValidationBlob
*r
)
4686 if (ndr_flags
& NDR_SCALARS
) {
4687 NDR_CHECK(ndr_push_align(ndr
, 4));
4688 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->length
));
4689 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->data
));
4691 if (ndr_flags
& NDR_BUFFERS
) {
4693 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->length
));
4694 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->data
, r
->length
));
4697 return NDR_ERR_SUCCESS
;
4700 static enum ndr_err_code
ndr_pull_samr_ValidationBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_ValidationBlob
*r
)
4703 TALLOC_CTX
*_mem_save_data_0
;
4704 if (ndr_flags
& NDR_SCALARS
) {
4705 NDR_CHECK(ndr_pull_align(ndr
, 4));
4706 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->length
));
4707 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_data
));
4709 NDR_PULL_ALLOC(ndr
, r
->data
);
4714 if (ndr_flags
& NDR_BUFFERS
) {
4716 _mem_save_data_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4717 NDR_PULL_SET_MEM_CTX(ndr
, r
->data
, 0);
4718 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->data
));
4719 NDR_PULL_ALLOC_N(ndr
, r
->data
, ndr_get_array_size(ndr
, &r
->data
));
4720 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->data
, ndr_get_array_size(ndr
, &r
->data
)));
4721 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_data_0
, 0);
4724 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->data
, r
->length
));
4727 return NDR_ERR_SUCCESS
;
4730 _PUBLIC_
void ndr_print_samr_ValidationBlob(struct ndr_print
*ndr
, const char *name
, const struct samr_ValidationBlob
*r
)
4732 ndr_print_struct(ndr
, name
, "samr_ValidationBlob");
4734 ndr_print_uint32(ndr
, "length", r
->length
);
4735 ndr_print_ptr(ndr
, "data", r
->data
);
4738 ndr_print_array_uint8(ndr
, "data", r
->data
, r
->length
);
4744 static enum ndr_err_code
ndr_push_samr_ValidatePasswordInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_ValidatePasswordInfo
*r
)
4746 uint32_t cntr_pwd_history_1
;
4747 if (ndr_flags
& NDR_SCALARS
) {
4748 NDR_CHECK(ndr_push_align(ndr
, 8));
4749 NDR_CHECK(ndr_push_samr_ValidateFieldsPresent(ndr
, NDR_SCALARS
, r
->fields_present
));
4750 NDR_CHECK(ndr_push_NTTIME_hyper(ndr
, NDR_SCALARS
, r
->last_password_change
));
4751 NDR_CHECK(ndr_push_NTTIME_hyper(ndr
, NDR_SCALARS
, r
->bad_password_time
));
4752 NDR_CHECK(ndr_push_NTTIME_hyper(ndr
, NDR_SCALARS
, r
->lockout_time
));
4753 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->bad_pwd_count
));
4754 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->pwd_history_len
));
4755 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->pwd_history
));
4757 if (ndr_flags
& NDR_BUFFERS
) {
4758 if (r
->pwd_history
) {
4759 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->pwd_history_len
));
4760 for (cntr_pwd_history_1
= 0; cntr_pwd_history_1
< r
->pwd_history_len
; cntr_pwd_history_1
++) {
4761 NDR_CHECK(ndr_push_samr_ValidationBlob(ndr
, NDR_SCALARS
, &r
->pwd_history
[cntr_pwd_history_1
]));
4763 for (cntr_pwd_history_1
= 0; cntr_pwd_history_1
< r
->pwd_history_len
; cntr_pwd_history_1
++) {
4764 NDR_CHECK(ndr_push_samr_ValidationBlob(ndr
, NDR_BUFFERS
, &r
->pwd_history
[cntr_pwd_history_1
]));
4768 return NDR_ERR_SUCCESS
;
4771 static enum ndr_err_code
ndr_pull_samr_ValidatePasswordInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_ValidatePasswordInfo
*r
)
4773 uint32_t _ptr_pwd_history
;
4774 uint32_t cntr_pwd_history_1
;
4775 TALLOC_CTX
*_mem_save_pwd_history_0
;
4776 TALLOC_CTX
*_mem_save_pwd_history_1
;
4777 if (ndr_flags
& NDR_SCALARS
) {
4778 NDR_CHECK(ndr_pull_align(ndr
, 8));
4779 NDR_CHECK(ndr_pull_samr_ValidateFieldsPresent(ndr
, NDR_SCALARS
, &r
->fields_present
));
4780 NDR_CHECK(ndr_pull_NTTIME_hyper(ndr
, NDR_SCALARS
, &r
->last_password_change
));
4781 NDR_CHECK(ndr_pull_NTTIME_hyper(ndr
, NDR_SCALARS
, &r
->bad_password_time
));
4782 NDR_CHECK(ndr_pull_NTTIME_hyper(ndr
, NDR_SCALARS
, &r
->lockout_time
));
4783 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->bad_pwd_count
));
4784 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->pwd_history_len
));
4785 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_pwd_history
));
4786 if (_ptr_pwd_history
) {
4787 NDR_PULL_ALLOC(ndr
, r
->pwd_history
);
4789 r
->pwd_history
= NULL
;
4792 if (ndr_flags
& NDR_BUFFERS
) {
4793 if (r
->pwd_history
) {
4794 _mem_save_pwd_history_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4795 NDR_PULL_SET_MEM_CTX(ndr
, r
->pwd_history
, 0);
4796 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->pwd_history
));
4797 NDR_PULL_ALLOC_N(ndr
, r
->pwd_history
, ndr_get_array_size(ndr
, &r
->pwd_history
));
4798 _mem_save_pwd_history_1
= NDR_PULL_GET_MEM_CTX(ndr
);
4799 NDR_PULL_SET_MEM_CTX(ndr
, r
->pwd_history
, 0);
4800 for (cntr_pwd_history_1
= 0; cntr_pwd_history_1
< r
->pwd_history_len
; cntr_pwd_history_1
++) {
4801 NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr
, NDR_SCALARS
, &r
->pwd_history
[cntr_pwd_history_1
]));
4803 for (cntr_pwd_history_1
= 0; cntr_pwd_history_1
< r
->pwd_history_len
; cntr_pwd_history_1
++) {
4804 NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr
, NDR_BUFFERS
, &r
->pwd_history
[cntr_pwd_history_1
]));
4806 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_pwd_history_1
, 0);
4807 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_pwd_history_0
, 0);
4809 if (r
->pwd_history
) {
4810 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->pwd_history
, r
->pwd_history_len
));
4813 return NDR_ERR_SUCCESS
;
4816 _PUBLIC_
void ndr_print_samr_ValidatePasswordInfo(struct ndr_print
*ndr
, const char *name
, const struct samr_ValidatePasswordInfo
*r
)
4818 uint32_t cntr_pwd_history_1
;
4819 ndr_print_struct(ndr
, name
, "samr_ValidatePasswordInfo");
4821 ndr_print_samr_ValidateFieldsPresent(ndr
, "fields_present", r
->fields_present
);
4822 ndr_print_NTTIME_hyper(ndr
, "last_password_change", r
->last_password_change
);
4823 ndr_print_NTTIME_hyper(ndr
, "bad_password_time", r
->bad_password_time
);
4824 ndr_print_NTTIME_hyper(ndr
, "lockout_time", r
->lockout_time
);
4825 ndr_print_uint32(ndr
, "bad_pwd_count", r
->bad_pwd_count
);
4826 ndr_print_uint32(ndr
, "pwd_history_len", r
->pwd_history_len
);
4827 ndr_print_ptr(ndr
, "pwd_history", r
->pwd_history
);
4829 if (r
->pwd_history
) {
4830 ndr
->print(ndr
, "%s: ARRAY(%d)", "pwd_history", (int)r
->pwd_history_len
);
4832 for (cntr_pwd_history_1
=0;cntr_pwd_history_1
<r
->pwd_history_len
;cntr_pwd_history_1
++) {
4834 if (asprintf(&idx_1
, "[%d]", cntr_pwd_history_1
) != -1) {
4835 ndr_print_samr_ValidationBlob(ndr
, "pwd_history", &r
->pwd_history
[cntr_pwd_history_1
]);
4845 static enum ndr_err_code
ndr_push_samr_ValidatePasswordRepCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_ValidatePasswordRepCtr
*r
)
4847 if (ndr_flags
& NDR_SCALARS
) {
4848 NDR_CHECK(ndr_push_align(ndr
, 8));
4849 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr
, NDR_SCALARS
, &r
->info
));
4850 NDR_CHECK(ndr_push_samr_ValidationStatus(ndr
, NDR_SCALARS
, r
->status
));
4852 if (ndr_flags
& NDR_BUFFERS
) {
4853 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr
, NDR_BUFFERS
, &r
->info
));
4855 return NDR_ERR_SUCCESS
;
4858 static enum ndr_err_code
ndr_pull_samr_ValidatePasswordRepCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_ValidatePasswordRepCtr
*r
)
4860 if (ndr_flags
& NDR_SCALARS
) {
4861 NDR_CHECK(ndr_pull_align(ndr
, 8));
4862 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr
, NDR_SCALARS
, &r
->info
));
4863 NDR_CHECK(ndr_pull_samr_ValidationStatus(ndr
, NDR_SCALARS
, &r
->status
));
4865 if (ndr_flags
& NDR_BUFFERS
) {
4866 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr
, NDR_BUFFERS
, &r
->info
));
4868 return NDR_ERR_SUCCESS
;
4871 _PUBLIC_
void ndr_print_samr_ValidatePasswordRepCtr(struct ndr_print
*ndr
, const char *name
, const struct samr_ValidatePasswordRepCtr
*r
)
4873 ndr_print_struct(ndr
, name
, "samr_ValidatePasswordRepCtr");
4875 ndr_print_samr_ValidatePasswordInfo(ndr
, "info", &r
->info
);
4876 ndr_print_samr_ValidationStatus(ndr
, "status", r
->status
);
4880 static enum ndr_err_code
ndr_push_samr_ValidatePasswordRep(struct ndr_push
*ndr
, int ndr_flags
, const union samr_ValidatePasswordRep
*r
)
4882 if (ndr_flags
& NDR_SCALARS
) {
4883 int level
= ndr_push_get_switch_value(ndr
, r
);
4884 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, level
));
4887 NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr
, NDR_SCALARS
, &r
->ctr1
));
4891 NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr
, NDR_SCALARS
, &r
->ctr2
));
4895 NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr
, NDR_SCALARS
, &r
->ctr3
));
4899 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
4902 if (ndr_flags
& NDR_BUFFERS
) {
4903 int level
= ndr_push_get_switch_value(ndr
, r
);
4906 NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr
, NDR_BUFFERS
, &r
->ctr1
));
4910 NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr
, NDR_BUFFERS
, &r
->ctr2
));
4914 NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr
, NDR_BUFFERS
, &r
->ctr3
));
4918 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
4921 return NDR_ERR_SUCCESS
;
4924 static enum ndr_err_code
ndr_pull_samr_ValidatePasswordRep(struct ndr_pull
*ndr
, int ndr_flags
, union samr_ValidatePasswordRep
*r
)
4928 level
= ndr_pull_get_switch_value(ndr
, r
);
4929 if (ndr_flags
& NDR_SCALARS
) {
4930 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &_level
));
4931 if (_level
!= level
) {
4932 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r", _level
);
4936 NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr
, NDR_SCALARS
, &r
->ctr1
));
4940 NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr
, NDR_SCALARS
, &r
->ctr2
));
4944 NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr
, NDR_SCALARS
, &r
->ctr3
));
4948 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
4951 if (ndr_flags
& NDR_BUFFERS
) {
4954 NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr
, NDR_BUFFERS
, &r
->ctr1
));
4958 NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr
, NDR_BUFFERS
, &r
->ctr2
));
4962 NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr
, NDR_BUFFERS
, &r
->ctr3
));
4966 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
4969 return NDR_ERR_SUCCESS
;
4972 _PUBLIC_
void ndr_print_samr_ValidatePasswordRep(struct ndr_print
*ndr
, const char *name
, const union samr_ValidatePasswordRep
*r
)
4975 level
= ndr_print_get_switch_value(ndr
, r
);
4976 ndr_print_union(ndr
, name
, level
, "samr_ValidatePasswordRep");
4979 ndr_print_samr_ValidatePasswordRepCtr(ndr
, "ctr1", &r
->ctr1
);
4983 ndr_print_samr_ValidatePasswordRepCtr(ndr
, "ctr2", &r
->ctr2
);
4987 ndr_print_samr_ValidatePasswordRepCtr(ndr
, "ctr3", &r
->ctr3
);
4991 ndr_print_bad_level(ndr
, name
, level
);
4995 static enum ndr_err_code
ndr_push_samr_ValidatePasswordReq3(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_ValidatePasswordReq3
*r
)
4997 if (ndr_flags
& NDR_SCALARS
) {
4998 NDR_CHECK(ndr_push_align(ndr
, 8));
4999 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr
, NDR_SCALARS
, &r
->info
));
5000 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->password
));
5001 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->account
));
5002 NDR_CHECK(ndr_push_samr_ValidationBlob(ndr
, NDR_SCALARS
, &r
->hash
));
5003 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->pwd_must_change_at_next_logon
));
5004 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->clear_lockout
));
5006 if (ndr_flags
& NDR_BUFFERS
) {
5007 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr
, NDR_BUFFERS
, &r
->info
));
5008 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->password
));
5009 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->account
));
5010 NDR_CHECK(ndr_push_samr_ValidationBlob(ndr
, NDR_BUFFERS
, &r
->hash
));
5012 return NDR_ERR_SUCCESS
;
5015 static enum ndr_err_code
ndr_pull_samr_ValidatePasswordReq3(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_ValidatePasswordReq3
*r
)
5017 if (ndr_flags
& NDR_SCALARS
) {
5018 NDR_CHECK(ndr_pull_align(ndr
, 8));
5019 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr
, NDR_SCALARS
, &r
->info
));
5020 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->password
));
5021 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->account
));
5022 NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr
, NDR_SCALARS
, &r
->hash
));
5023 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->pwd_must_change_at_next_logon
));
5024 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->clear_lockout
));
5026 if (ndr_flags
& NDR_BUFFERS
) {
5027 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr
, NDR_BUFFERS
, &r
->info
));
5028 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->password
));
5029 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->account
));
5030 NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr
, NDR_BUFFERS
, &r
->hash
));
5032 return NDR_ERR_SUCCESS
;
5035 _PUBLIC_
void ndr_print_samr_ValidatePasswordReq3(struct ndr_print
*ndr
, const char *name
, const struct samr_ValidatePasswordReq3
*r
)
5037 ndr_print_struct(ndr
, name
, "samr_ValidatePasswordReq3");
5039 ndr_print_samr_ValidatePasswordInfo(ndr
, "info", &r
->info
);
5040 ndr_print_lsa_StringLarge(ndr
, "password", &r
->password
);
5041 ndr_print_lsa_StringLarge(ndr
, "account", &r
->account
);
5042 ndr_print_samr_ValidationBlob(ndr
, "hash", &r
->hash
);
5043 ndr_print_uint8(ndr
, "pwd_must_change_at_next_logon", r
->pwd_must_change_at_next_logon
);
5044 ndr_print_uint8(ndr
, "clear_lockout", r
->clear_lockout
);
5048 static enum ndr_err_code
ndr_push_samr_ValidatePasswordReq2(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_ValidatePasswordReq2
*r
)
5050 if (ndr_flags
& NDR_SCALARS
) {
5051 NDR_CHECK(ndr_push_align(ndr
, 8));
5052 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr
, NDR_SCALARS
, &r
->info
));
5053 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->password
));
5054 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->account
));
5055 NDR_CHECK(ndr_push_samr_ValidationBlob(ndr
, NDR_SCALARS
, &r
->hash
));
5056 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->password_matched
));
5058 if (ndr_flags
& NDR_BUFFERS
) {
5059 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr
, NDR_BUFFERS
, &r
->info
));
5060 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->password
));
5061 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->account
));
5062 NDR_CHECK(ndr_push_samr_ValidationBlob(ndr
, NDR_BUFFERS
, &r
->hash
));
5064 return NDR_ERR_SUCCESS
;
5067 static enum ndr_err_code
ndr_pull_samr_ValidatePasswordReq2(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_ValidatePasswordReq2
*r
)
5069 if (ndr_flags
& NDR_SCALARS
) {
5070 NDR_CHECK(ndr_pull_align(ndr
, 8));
5071 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr
, NDR_SCALARS
, &r
->info
));
5072 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->password
));
5073 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->account
));
5074 NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr
, NDR_SCALARS
, &r
->hash
));
5075 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->password_matched
));
5077 if (ndr_flags
& NDR_BUFFERS
) {
5078 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr
, NDR_BUFFERS
, &r
->info
));
5079 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->password
));
5080 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->account
));
5081 NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr
, NDR_BUFFERS
, &r
->hash
));
5083 return NDR_ERR_SUCCESS
;
5086 _PUBLIC_
void ndr_print_samr_ValidatePasswordReq2(struct ndr_print
*ndr
, const char *name
, const struct samr_ValidatePasswordReq2
*r
)
5088 ndr_print_struct(ndr
, name
, "samr_ValidatePasswordReq2");
5090 ndr_print_samr_ValidatePasswordInfo(ndr
, "info", &r
->info
);
5091 ndr_print_lsa_StringLarge(ndr
, "password", &r
->password
);
5092 ndr_print_lsa_StringLarge(ndr
, "account", &r
->account
);
5093 ndr_print_samr_ValidationBlob(ndr
, "hash", &r
->hash
);
5094 ndr_print_uint8(ndr
, "password_matched", r
->password_matched
);
5098 static enum ndr_err_code
ndr_push_samr_ValidatePasswordReq1(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_ValidatePasswordReq1
*r
)
5100 if (ndr_flags
& NDR_SCALARS
) {
5101 NDR_CHECK(ndr_push_align(ndr
, 8));
5102 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr
, NDR_SCALARS
, &r
->info
));
5103 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->password_matched
));
5105 if (ndr_flags
& NDR_BUFFERS
) {
5106 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr
, NDR_BUFFERS
, &r
->info
));
5108 return NDR_ERR_SUCCESS
;
5111 static enum ndr_err_code
ndr_pull_samr_ValidatePasswordReq1(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_ValidatePasswordReq1
*r
)
5113 if (ndr_flags
& NDR_SCALARS
) {
5114 NDR_CHECK(ndr_pull_align(ndr
, 8));
5115 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr
, NDR_SCALARS
, &r
->info
));
5116 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->password_matched
));
5118 if (ndr_flags
& NDR_BUFFERS
) {
5119 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr
, NDR_BUFFERS
, &r
->info
));
5121 return NDR_ERR_SUCCESS
;
5124 _PUBLIC_
void ndr_print_samr_ValidatePasswordReq1(struct ndr_print
*ndr
, const char *name
, const struct samr_ValidatePasswordReq1
*r
)
5126 ndr_print_struct(ndr
, name
, "samr_ValidatePasswordReq1");
5128 ndr_print_samr_ValidatePasswordInfo(ndr
, "info", &r
->info
);
5129 ndr_print_uint8(ndr
, "password_matched", r
->password_matched
);
5133 static enum ndr_err_code
ndr_push_samr_ValidatePasswordReq(struct ndr_push
*ndr
, int ndr_flags
, const union samr_ValidatePasswordReq
*r
)
5135 if (ndr_flags
& NDR_SCALARS
) {
5136 int level
= ndr_push_get_switch_value(ndr
, r
);
5137 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, level
));
5140 NDR_CHECK(ndr_push_samr_ValidatePasswordReq1(ndr
, NDR_SCALARS
, &r
->req1
));
5144 NDR_CHECK(ndr_push_samr_ValidatePasswordReq2(ndr
, NDR_SCALARS
, &r
->req2
));
5148 NDR_CHECK(ndr_push_samr_ValidatePasswordReq3(ndr
, NDR_SCALARS
, &r
->req3
));
5152 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
5155 if (ndr_flags
& NDR_BUFFERS
) {
5156 int level
= ndr_push_get_switch_value(ndr
, r
);
5159 NDR_CHECK(ndr_push_samr_ValidatePasswordReq1(ndr
, NDR_BUFFERS
, &r
->req1
));
5163 NDR_CHECK(ndr_push_samr_ValidatePasswordReq2(ndr
, NDR_BUFFERS
, &r
->req2
));
5167 NDR_CHECK(ndr_push_samr_ValidatePasswordReq3(ndr
, NDR_BUFFERS
, &r
->req3
));
5171 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
5174 return NDR_ERR_SUCCESS
;
5177 static enum ndr_err_code
ndr_pull_samr_ValidatePasswordReq(struct ndr_pull
*ndr
, int ndr_flags
, union samr_ValidatePasswordReq
*r
)
5181 level
= ndr_pull_get_switch_value(ndr
, r
);
5182 if (ndr_flags
& NDR_SCALARS
) {
5183 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &_level
));
5184 if (_level
!= level
) {
5185 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r", _level
);
5189 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq1(ndr
, NDR_SCALARS
, &r
->req1
));
5193 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq2(ndr
, NDR_SCALARS
, &r
->req2
));
5197 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq3(ndr
, NDR_SCALARS
, &r
->req3
));
5201 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
5204 if (ndr_flags
& NDR_BUFFERS
) {
5207 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq1(ndr
, NDR_BUFFERS
, &r
->req1
));
5211 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq2(ndr
, NDR_BUFFERS
, &r
->req2
));
5215 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq3(ndr
, NDR_BUFFERS
, &r
->req3
));
5219 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
5222 return NDR_ERR_SUCCESS
;
5225 _PUBLIC_
void ndr_print_samr_ValidatePasswordReq(struct ndr_print
*ndr
, const char *name
, const union samr_ValidatePasswordReq
*r
)
5228 level
= ndr_print_get_switch_value(ndr
, r
);
5229 ndr_print_union(ndr
, name
, level
, "samr_ValidatePasswordReq");
5232 ndr_print_samr_ValidatePasswordReq1(ndr
, "req1", &r
->req1
);
5236 ndr_print_samr_ValidatePasswordReq2(ndr
, "req2", &r
->req2
);
5240 ndr_print_samr_ValidatePasswordReq3(ndr
, "req3", &r
->req3
);
5244 ndr_print_bad_level(ndr
, name
, level
);
5248 static enum ndr_err_code
ndr_push_samr_Connect(struct ndr_push
*ndr
, int flags
, const struct samr_Connect
*r
)
5250 if (flags
& NDR_IN
) {
5251 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.system_name
));
5252 if (r
->in
.system_name
) {
5253 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, *r
->in
.system_name
));
5255 NDR_CHECK(ndr_push_samr_ConnectAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
5257 if (flags
& NDR_OUT
) {
5258 if (r
->out
.connect_handle
== NULL
) {
5259 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5261 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.connect_handle
));
5262 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
5264 return NDR_ERR_SUCCESS
;
5267 static enum ndr_err_code
ndr_pull_samr_Connect(struct ndr_pull
*ndr
, int flags
, struct samr_Connect
*r
)
5269 uint32_t _ptr_system_name
;
5270 TALLOC_CTX
*_mem_save_system_name_0
;
5271 TALLOC_CTX
*_mem_save_connect_handle_0
;
5272 if (flags
& NDR_IN
) {
5273 ZERO_STRUCT(r
->out
);
5275 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_system_name
));
5276 if (_ptr_system_name
) {
5277 NDR_PULL_ALLOC(ndr
, r
->in
.system_name
);
5279 r
->in
.system_name
= NULL
;
5281 if (r
->in
.system_name
) {
5282 _mem_save_system_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5283 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.system_name
, 0);
5284 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, r
->in
.system_name
));
5285 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_system_name_0
, 0);
5287 NDR_CHECK(ndr_pull_samr_ConnectAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
5288 NDR_PULL_ALLOC(ndr
, r
->out
.connect_handle
);
5289 ZERO_STRUCTP(r
->out
.connect_handle
);
5291 if (flags
& NDR_OUT
) {
5292 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5293 NDR_PULL_ALLOC(ndr
, r
->out
.connect_handle
);
5295 _mem_save_connect_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5296 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.connect_handle
, LIBNDR_FLAG_REF_ALLOC
);
5297 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.connect_handle
));
5298 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_connect_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5299 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
5301 return NDR_ERR_SUCCESS
;
5304 _PUBLIC_
void ndr_print_samr_Connect(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_Connect
*r
)
5306 ndr_print_struct(ndr
, name
, "samr_Connect");
5308 if (flags
& NDR_SET_VALUES
) {
5309 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
5311 if (flags
& NDR_IN
) {
5312 ndr_print_struct(ndr
, "in", "samr_Connect");
5314 ndr_print_ptr(ndr
, "system_name", r
->in
.system_name
);
5316 if (r
->in
.system_name
) {
5317 ndr_print_uint16(ndr
, "system_name", *r
->in
.system_name
);
5320 ndr_print_samr_ConnectAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
5323 if (flags
& NDR_OUT
) {
5324 ndr_print_struct(ndr
, "out", "samr_Connect");
5326 ndr_print_ptr(ndr
, "connect_handle", r
->out
.connect_handle
);
5328 ndr_print_policy_handle(ndr
, "connect_handle", r
->out
.connect_handle
);
5330 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
5336 _PUBLIC_
enum ndr_err_code
ndr_push_samr_Close(struct ndr_push
*ndr
, int flags
, const struct samr_Close
*r
)
5338 if (flags
& NDR_IN
) {
5339 if (r
->in
.handle
== NULL
) {
5340 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5342 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
5344 if (flags
& NDR_OUT
) {
5345 if (r
->out
.handle
== NULL
) {
5346 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5348 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.handle
));
5349 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
5351 return NDR_ERR_SUCCESS
;
5354 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_Close(struct ndr_pull
*ndr
, int flags
, struct samr_Close
*r
)
5356 TALLOC_CTX
*_mem_save_handle_0
;
5357 if (flags
& NDR_IN
) {
5358 ZERO_STRUCT(r
->out
);
5360 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5361 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
5363 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5364 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
5365 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
5366 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5367 NDR_PULL_ALLOC(ndr
, r
->out
.handle
);
5368 *r
->out
.handle
= *r
->in
.handle
;
5370 if (flags
& NDR_OUT
) {
5371 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5372 NDR_PULL_ALLOC(ndr
, r
->out
.handle
);
5374 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5375 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.handle
, LIBNDR_FLAG_REF_ALLOC
);
5376 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.handle
));
5377 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5378 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
5380 return NDR_ERR_SUCCESS
;
5383 _PUBLIC_
void ndr_print_samr_Close(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_Close
*r
)
5385 ndr_print_struct(ndr
, name
, "samr_Close");
5387 if (flags
& NDR_SET_VALUES
) {
5388 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
5390 if (flags
& NDR_IN
) {
5391 ndr_print_struct(ndr
, "in", "samr_Close");
5393 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
5395 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
5399 if (flags
& NDR_OUT
) {
5400 ndr_print_struct(ndr
, "out", "samr_Close");
5402 ndr_print_ptr(ndr
, "handle", r
->out
.handle
);
5404 ndr_print_policy_handle(ndr
, "handle", r
->out
.handle
);
5406 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
5412 static enum ndr_err_code
ndr_push_samr_SetSecurity(struct ndr_push
*ndr
, int flags
, const struct samr_SetSecurity
*r
)
5414 if (flags
& NDR_IN
) {
5415 if (r
->in
.handle
== NULL
) {
5416 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5418 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
5419 NDR_CHECK(ndr_push_security_secinfo(ndr
, NDR_SCALARS
, r
->in
.sec_info
));
5420 if (r
->in
.sdbuf
== NULL
) {
5421 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5423 NDR_CHECK(ndr_push_sec_desc_buf(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sdbuf
));
5425 if (flags
& NDR_OUT
) {
5426 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
5428 return NDR_ERR_SUCCESS
;
5431 static enum ndr_err_code
ndr_pull_samr_SetSecurity(struct ndr_pull
*ndr
, int flags
, struct samr_SetSecurity
*r
)
5433 TALLOC_CTX
*_mem_save_handle_0
;
5434 TALLOC_CTX
*_mem_save_sdbuf_0
;
5435 if (flags
& NDR_IN
) {
5436 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5437 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
5439 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5440 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
5441 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
5442 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5443 NDR_CHECK(ndr_pull_security_secinfo(ndr
, NDR_SCALARS
, &r
->in
.sec_info
));
5444 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5445 NDR_PULL_ALLOC(ndr
, r
->in
.sdbuf
);
5447 _mem_save_sdbuf_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5448 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sdbuf
, LIBNDR_FLAG_REF_ALLOC
);
5449 NDR_CHECK(ndr_pull_sec_desc_buf(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sdbuf
));
5450 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sdbuf_0
, LIBNDR_FLAG_REF_ALLOC
);
5452 if (flags
& NDR_OUT
) {
5453 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
5455 return NDR_ERR_SUCCESS
;
5458 _PUBLIC_
void ndr_print_samr_SetSecurity(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_SetSecurity
*r
)
5460 ndr_print_struct(ndr
, name
, "samr_SetSecurity");
5462 if (flags
& NDR_SET_VALUES
) {
5463 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
5465 if (flags
& NDR_IN
) {
5466 ndr_print_struct(ndr
, "in", "samr_SetSecurity");
5468 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
5470 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
5472 ndr_print_security_secinfo(ndr
, "sec_info", r
->in
.sec_info
);
5473 ndr_print_ptr(ndr
, "sdbuf", r
->in
.sdbuf
);
5475 ndr_print_sec_desc_buf(ndr
, "sdbuf", r
->in
.sdbuf
);
5479 if (flags
& NDR_OUT
) {
5480 ndr_print_struct(ndr
, "out", "samr_SetSecurity");
5482 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
5488 static enum ndr_err_code
ndr_push_samr_QuerySecurity(struct ndr_push
*ndr
, int flags
, const struct samr_QuerySecurity
*r
)
5490 if (flags
& NDR_IN
) {
5491 if (r
->in
.handle
== NULL
) {
5492 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5494 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
5495 NDR_CHECK(ndr_push_security_secinfo(ndr
, NDR_SCALARS
, r
->in
.sec_info
));
5497 if (flags
& NDR_OUT
) {
5498 if (r
->out
.sdbuf
== NULL
) {
5499 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5501 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.sdbuf
));
5502 if (*r
->out
.sdbuf
) {
5503 NDR_CHECK(ndr_push_sec_desc_buf(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sdbuf
));
5505 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
5507 return NDR_ERR_SUCCESS
;
5510 static enum ndr_err_code
ndr_pull_samr_QuerySecurity(struct ndr_pull
*ndr
, int flags
, struct samr_QuerySecurity
*r
)
5512 uint32_t _ptr_sdbuf
;
5513 TALLOC_CTX
*_mem_save_handle_0
;
5514 TALLOC_CTX
*_mem_save_sdbuf_0
;
5515 TALLOC_CTX
*_mem_save_sdbuf_1
;
5516 if (flags
& NDR_IN
) {
5517 ZERO_STRUCT(r
->out
);
5519 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5520 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
5522 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5523 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
5524 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
5525 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5526 NDR_CHECK(ndr_pull_security_secinfo(ndr
, NDR_SCALARS
, &r
->in
.sec_info
));
5527 NDR_PULL_ALLOC(ndr
, r
->out
.sdbuf
);
5528 ZERO_STRUCTP(r
->out
.sdbuf
);
5530 if (flags
& NDR_OUT
) {
5531 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5532 NDR_PULL_ALLOC(ndr
, r
->out
.sdbuf
);
5534 _mem_save_sdbuf_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5535 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sdbuf
, LIBNDR_FLAG_REF_ALLOC
);
5536 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sdbuf
));
5538 NDR_PULL_ALLOC(ndr
, *r
->out
.sdbuf
);
5540 *r
->out
.sdbuf
= NULL
;
5542 if (*r
->out
.sdbuf
) {
5543 _mem_save_sdbuf_1
= NDR_PULL_GET_MEM_CTX(ndr
);
5544 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.sdbuf
, 0);
5545 NDR_CHECK(ndr_pull_sec_desc_buf(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sdbuf
));
5546 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sdbuf_1
, 0);
5548 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sdbuf_0
, LIBNDR_FLAG_REF_ALLOC
);
5549 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
5551 return NDR_ERR_SUCCESS
;
5554 _PUBLIC_
void ndr_print_samr_QuerySecurity(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_QuerySecurity
*r
)
5556 ndr_print_struct(ndr
, name
, "samr_QuerySecurity");
5558 if (flags
& NDR_SET_VALUES
) {
5559 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
5561 if (flags
& NDR_IN
) {
5562 ndr_print_struct(ndr
, "in", "samr_QuerySecurity");
5564 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
5566 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
5568 ndr_print_security_secinfo(ndr
, "sec_info", r
->in
.sec_info
);
5571 if (flags
& NDR_OUT
) {
5572 ndr_print_struct(ndr
, "out", "samr_QuerySecurity");
5574 ndr_print_ptr(ndr
, "sdbuf", r
->out
.sdbuf
);
5576 ndr_print_ptr(ndr
, "sdbuf", *r
->out
.sdbuf
);
5578 if (*r
->out
.sdbuf
) {
5579 ndr_print_sec_desc_buf(ndr
, "sdbuf", *r
->out
.sdbuf
);
5583 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
5589 static enum ndr_err_code
ndr_push_samr_Shutdown(struct ndr_push
*ndr
, int flags
, const struct samr_Shutdown
*r
)
5591 if (flags
& NDR_IN
) {
5592 if (r
->in
.connect_handle
== NULL
) {
5593 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5595 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.connect_handle
));
5597 if (flags
& NDR_OUT
) {
5598 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
5600 return NDR_ERR_SUCCESS
;
5603 static enum ndr_err_code
ndr_pull_samr_Shutdown(struct ndr_pull
*ndr
, int flags
, struct samr_Shutdown
*r
)
5605 TALLOC_CTX
*_mem_save_connect_handle_0
;
5606 if (flags
& NDR_IN
) {
5607 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5608 NDR_PULL_ALLOC(ndr
, r
->in
.connect_handle
);
5610 _mem_save_connect_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5611 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.connect_handle
, LIBNDR_FLAG_REF_ALLOC
);
5612 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.connect_handle
));
5613 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_connect_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5615 if (flags
& NDR_OUT
) {
5616 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
5618 return NDR_ERR_SUCCESS
;
5621 _PUBLIC_
void ndr_print_samr_Shutdown(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_Shutdown
*r
)
5623 ndr_print_struct(ndr
, name
, "samr_Shutdown");
5625 if (flags
& NDR_SET_VALUES
) {
5626 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
5628 if (flags
& NDR_IN
) {
5629 ndr_print_struct(ndr
, "in", "samr_Shutdown");
5631 ndr_print_ptr(ndr
, "connect_handle", r
->in
.connect_handle
);
5633 ndr_print_policy_handle(ndr
, "connect_handle", r
->in
.connect_handle
);
5637 if (flags
& NDR_OUT
) {
5638 ndr_print_struct(ndr
, "out", "samr_Shutdown");
5640 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
5646 static enum ndr_err_code
ndr_push_samr_LookupDomain(struct ndr_push
*ndr
, int flags
, const struct samr_LookupDomain
*r
)
5648 if (flags
& NDR_IN
) {
5649 if (r
->in
.connect_handle
== NULL
) {
5650 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5652 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.connect_handle
));
5653 if (r
->in
.domain_name
== NULL
) {
5654 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5656 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.domain_name
));
5658 if (flags
& NDR_OUT
) {
5659 if (r
->out
.sid
== NULL
) {
5660 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5662 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.sid
));
5664 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sid
));
5666 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
5668 return NDR_ERR_SUCCESS
;
5671 static enum ndr_err_code
ndr_pull_samr_LookupDomain(struct ndr_pull
*ndr
, int flags
, struct samr_LookupDomain
*r
)
5674 TALLOC_CTX
*_mem_save_connect_handle_0
;
5675 TALLOC_CTX
*_mem_save_domain_name_0
;
5676 TALLOC_CTX
*_mem_save_sid_0
;
5677 TALLOC_CTX
*_mem_save_sid_1
;
5678 if (flags
& NDR_IN
) {
5679 ZERO_STRUCT(r
->out
);
5681 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5682 NDR_PULL_ALLOC(ndr
, r
->in
.connect_handle
);
5684 _mem_save_connect_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5685 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.connect_handle
, LIBNDR_FLAG_REF_ALLOC
);
5686 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.connect_handle
));
5687 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_connect_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5688 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5689 NDR_PULL_ALLOC(ndr
, r
->in
.domain_name
);
5691 _mem_save_domain_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5692 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_name
, LIBNDR_FLAG_REF_ALLOC
);
5693 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.domain_name
));
5694 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_name_0
, LIBNDR_FLAG_REF_ALLOC
);
5695 NDR_PULL_ALLOC(ndr
, r
->out
.sid
);
5696 ZERO_STRUCTP(r
->out
.sid
);
5698 if (flags
& NDR_OUT
) {
5699 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5700 NDR_PULL_ALLOC(ndr
, r
->out
.sid
);
5702 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5703 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sid
, LIBNDR_FLAG_REF_ALLOC
);
5704 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sid
));
5706 NDR_PULL_ALLOC(ndr
, *r
->out
.sid
);
5711 _mem_save_sid_1
= NDR_PULL_GET_MEM_CTX(ndr
);
5712 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.sid
, 0);
5713 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sid
));
5714 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_1
, 0);
5716 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, LIBNDR_FLAG_REF_ALLOC
);
5717 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
5719 return NDR_ERR_SUCCESS
;
5722 _PUBLIC_
void ndr_print_samr_LookupDomain(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_LookupDomain
*r
)
5724 ndr_print_struct(ndr
, name
, "samr_LookupDomain");
5726 if (flags
& NDR_SET_VALUES
) {
5727 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
5729 if (flags
& NDR_IN
) {
5730 ndr_print_struct(ndr
, "in", "samr_LookupDomain");
5732 ndr_print_ptr(ndr
, "connect_handle", r
->in
.connect_handle
);
5734 ndr_print_policy_handle(ndr
, "connect_handle", r
->in
.connect_handle
);
5736 ndr_print_ptr(ndr
, "domain_name", r
->in
.domain_name
);
5738 ndr_print_lsa_String(ndr
, "domain_name", r
->in
.domain_name
);
5742 if (flags
& NDR_OUT
) {
5743 ndr_print_struct(ndr
, "out", "samr_LookupDomain");
5745 ndr_print_ptr(ndr
, "sid", r
->out
.sid
);
5747 ndr_print_ptr(ndr
, "sid", *r
->out
.sid
);
5750 ndr_print_dom_sid2(ndr
, "sid", *r
->out
.sid
);
5754 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
5760 static enum ndr_err_code
ndr_push_samr_EnumDomains(struct ndr_push
*ndr
, int flags
, const struct samr_EnumDomains
*r
)
5762 if (flags
& NDR_IN
) {
5763 if (r
->in
.connect_handle
== NULL
) {
5764 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5766 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.connect_handle
));
5767 if (r
->in
.resume_handle
== NULL
) {
5768 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5770 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->in
.resume_handle
));
5771 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.buf_size
));
5773 if (flags
& NDR_OUT
) {
5774 if (r
->out
.resume_handle
== NULL
) {
5775 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5777 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.resume_handle
));
5778 if (r
->out
.sam
== NULL
) {
5779 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5781 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.sam
));
5783 NDR_CHECK(ndr_push_samr_SamArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sam
));
5785 if (r
->out
.num_entries
== NULL
) {
5786 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5788 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.num_entries
));
5789 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
5791 return NDR_ERR_SUCCESS
;
5794 static enum ndr_err_code
ndr_pull_samr_EnumDomains(struct ndr_pull
*ndr
, int flags
, struct samr_EnumDomains
*r
)
5797 TALLOC_CTX
*_mem_save_connect_handle_0
;
5798 TALLOC_CTX
*_mem_save_resume_handle_0
;
5799 TALLOC_CTX
*_mem_save_sam_0
;
5800 TALLOC_CTX
*_mem_save_sam_1
;
5801 TALLOC_CTX
*_mem_save_num_entries_0
;
5802 if (flags
& NDR_IN
) {
5803 ZERO_STRUCT(r
->out
);
5805 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5806 NDR_PULL_ALLOC(ndr
, r
->in
.connect_handle
);
5808 _mem_save_connect_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5809 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.connect_handle
, LIBNDR_FLAG_REF_ALLOC
);
5810 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.connect_handle
));
5811 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_connect_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5812 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5813 NDR_PULL_ALLOC(ndr
, r
->in
.resume_handle
);
5815 _mem_save_resume_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5816 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.resume_handle
, LIBNDR_FLAG_REF_ALLOC
);
5817 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->in
.resume_handle
));
5818 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_resume_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5819 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.buf_size
));
5820 NDR_PULL_ALLOC(ndr
, r
->out
.resume_handle
);
5821 *r
->out
.resume_handle
= *r
->in
.resume_handle
;
5822 NDR_PULL_ALLOC(ndr
, r
->out
.sam
);
5823 ZERO_STRUCTP(r
->out
.sam
);
5824 NDR_PULL_ALLOC(ndr
, r
->out
.num_entries
);
5825 ZERO_STRUCTP(r
->out
.num_entries
);
5827 if (flags
& NDR_OUT
) {
5828 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5829 NDR_PULL_ALLOC(ndr
, r
->out
.resume_handle
);
5831 _mem_save_resume_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5832 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.resume_handle
, LIBNDR_FLAG_REF_ALLOC
);
5833 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.resume_handle
));
5834 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_resume_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5835 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5836 NDR_PULL_ALLOC(ndr
, r
->out
.sam
);
5838 _mem_save_sam_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5839 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sam
, LIBNDR_FLAG_REF_ALLOC
);
5840 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sam
));
5842 NDR_PULL_ALLOC(ndr
, *r
->out
.sam
);
5847 _mem_save_sam_1
= NDR_PULL_GET_MEM_CTX(ndr
);
5848 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.sam
, 0);
5849 NDR_CHECK(ndr_pull_samr_SamArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sam
));
5850 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sam_1
, 0);
5852 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sam_0
, LIBNDR_FLAG_REF_ALLOC
);
5853 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5854 NDR_PULL_ALLOC(ndr
, r
->out
.num_entries
);
5856 _mem_save_num_entries_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5857 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.num_entries
, LIBNDR_FLAG_REF_ALLOC
);
5858 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.num_entries
));
5859 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_num_entries_0
, LIBNDR_FLAG_REF_ALLOC
);
5860 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
5862 return NDR_ERR_SUCCESS
;
5865 _PUBLIC_
void ndr_print_samr_EnumDomains(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_EnumDomains
*r
)
5867 ndr_print_struct(ndr
, name
, "samr_EnumDomains");
5869 if (flags
& NDR_SET_VALUES
) {
5870 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
5872 if (flags
& NDR_IN
) {
5873 ndr_print_struct(ndr
, "in", "samr_EnumDomains");
5875 ndr_print_ptr(ndr
, "connect_handle", r
->in
.connect_handle
);
5877 ndr_print_policy_handle(ndr
, "connect_handle", r
->in
.connect_handle
);
5879 ndr_print_ptr(ndr
, "resume_handle", r
->in
.resume_handle
);
5881 ndr_print_uint32(ndr
, "resume_handle", *r
->in
.resume_handle
);
5883 ndr_print_uint32(ndr
, "buf_size", r
->in
.buf_size
);
5886 if (flags
& NDR_OUT
) {
5887 ndr_print_struct(ndr
, "out", "samr_EnumDomains");
5889 ndr_print_ptr(ndr
, "resume_handle", r
->out
.resume_handle
);
5891 ndr_print_uint32(ndr
, "resume_handle", *r
->out
.resume_handle
);
5893 ndr_print_ptr(ndr
, "sam", r
->out
.sam
);
5895 ndr_print_ptr(ndr
, "sam", *r
->out
.sam
);
5898 ndr_print_samr_SamArray(ndr
, "sam", *r
->out
.sam
);
5902 ndr_print_ptr(ndr
, "num_entries", r
->out
.num_entries
);
5904 ndr_print_uint32(ndr
, "num_entries", *r
->out
.num_entries
);
5906 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
5912 _PUBLIC_
enum ndr_err_code
ndr_push_samr_OpenDomain(struct ndr_push
*ndr
, int flags
, const struct samr_OpenDomain
*r
)
5914 if (flags
& NDR_IN
) {
5915 if (r
->in
.connect_handle
== NULL
) {
5916 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5918 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.connect_handle
));
5919 NDR_CHECK(ndr_push_samr_DomainAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
5920 if (r
->in
.sid
== NULL
) {
5921 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5923 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
5925 if (flags
& NDR_OUT
) {
5926 if (r
->out
.domain_handle
== NULL
) {
5927 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5929 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.domain_handle
));
5930 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
5932 return NDR_ERR_SUCCESS
;
5935 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_OpenDomain(struct ndr_pull
*ndr
, int flags
, struct samr_OpenDomain
*r
)
5937 TALLOC_CTX
*_mem_save_connect_handle_0
;
5938 TALLOC_CTX
*_mem_save_sid_0
;
5939 TALLOC_CTX
*_mem_save_domain_handle_0
;
5940 if (flags
& NDR_IN
) {
5941 ZERO_STRUCT(r
->out
);
5943 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5944 NDR_PULL_ALLOC(ndr
, r
->in
.connect_handle
);
5946 _mem_save_connect_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5947 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.connect_handle
, LIBNDR_FLAG_REF_ALLOC
);
5948 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.connect_handle
));
5949 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_connect_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5950 NDR_CHECK(ndr_pull_samr_DomainAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
5951 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5952 NDR_PULL_ALLOC(ndr
, r
->in
.sid
);
5954 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5955 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sid
, LIBNDR_FLAG_REF_ALLOC
);
5956 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
5957 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, LIBNDR_FLAG_REF_ALLOC
);
5958 NDR_PULL_ALLOC(ndr
, r
->out
.domain_handle
);
5959 ZERO_STRUCTP(r
->out
.domain_handle
);
5961 if (flags
& NDR_OUT
) {
5962 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5963 NDR_PULL_ALLOC(ndr
, r
->out
.domain_handle
);
5965 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5966 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
5967 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.domain_handle
));
5968 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5969 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
5971 return NDR_ERR_SUCCESS
;
5974 _PUBLIC_
void ndr_print_samr_OpenDomain(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_OpenDomain
*r
)
5976 ndr_print_struct(ndr
, name
, "samr_OpenDomain");
5978 if (flags
& NDR_SET_VALUES
) {
5979 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
5981 if (flags
& NDR_IN
) {
5982 ndr_print_struct(ndr
, "in", "samr_OpenDomain");
5984 ndr_print_ptr(ndr
, "connect_handle", r
->in
.connect_handle
);
5986 ndr_print_policy_handle(ndr
, "connect_handle", r
->in
.connect_handle
);
5988 ndr_print_samr_DomainAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
5989 ndr_print_ptr(ndr
, "sid", r
->in
.sid
);
5991 ndr_print_dom_sid2(ndr
, "sid", r
->in
.sid
);
5995 if (flags
& NDR_OUT
) {
5996 ndr_print_struct(ndr
, "out", "samr_OpenDomain");
5998 ndr_print_ptr(ndr
, "domain_handle", r
->out
.domain_handle
);
6000 ndr_print_policy_handle(ndr
, "domain_handle", r
->out
.domain_handle
);
6002 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6008 static enum ndr_err_code
ndr_push_samr_QueryDomainInfo(struct ndr_push
*ndr
, int flags
, const struct samr_QueryDomainInfo
*r
)
6010 if (flags
& NDR_IN
) {
6011 if (r
->in
.domain_handle
== NULL
) {
6012 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6014 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6015 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->in
.level
));
6017 if (flags
& NDR_OUT
) {
6018 if (r
->out
.info
== NULL
) {
6019 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6021 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.info
));
6023 NDR_CHECK(ndr_push_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
6024 NDR_CHECK(ndr_push_samr_DomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
6026 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6028 return NDR_ERR_SUCCESS
;
6031 static enum ndr_err_code
ndr_pull_samr_QueryDomainInfo(struct ndr_pull
*ndr
, int flags
, struct samr_QueryDomainInfo
*r
)
6034 TALLOC_CTX
*_mem_save_domain_handle_0
;
6035 TALLOC_CTX
*_mem_save_info_0
;
6036 TALLOC_CTX
*_mem_save_info_1
;
6037 if (flags
& NDR_IN
) {
6038 ZERO_STRUCT(r
->out
);
6040 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6041 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
6043 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6044 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
6045 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6046 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6047 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->in
.level
));
6048 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
6049 ZERO_STRUCTP(r
->out
.info
);
6051 if (flags
& NDR_OUT
) {
6052 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6053 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
6055 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6056 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
6057 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
6059 NDR_PULL_ALLOC(ndr
, *r
->out
.info
);
6061 *r
->out
.info
= NULL
;
6064 _mem_save_info_1
= NDR_PULL_GET_MEM_CTX(ndr
);
6065 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.info
, 0);
6066 NDR_CHECK(ndr_pull_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
6067 NDR_CHECK(ndr_pull_samr_DomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
6068 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_1
, 0);
6070 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
6071 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6073 return NDR_ERR_SUCCESS
;
6076 _PUBLIC_
void ndr_print_samr_QueryDomainInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_QueryDomainInfo
*r
)
6078 ndr_print_struct(ndr
, name
, "samr_QueryDomainInfo");
6080 if (flags
& NDR_SET_VALUES
) {
6081 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6083 if (flags
& NDR_IN
) {
6084 ndr_print_struct(ndr
, "in", "samr_QueryDomainInfo");
6086 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
6088 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
6090 ndr_print_uint16(ndr
, "level", r
->in
.level
);
6093 if (flags
& NDR_OUT
) {
6094 ndr_print_struct(ndr
, "out", "samr_QueryDomainInfo");
6096 ndr_print_ptr(ndr
, "info", r
->out
.info
);
6098 ndr_print_ptr(ndr
, "info", *r
->out
.info
);
6101 ndr_print_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
);
6102 ndr_print_samr_DomainInfo(ndr
, "info", *r
->out
.info
);
6106 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6112 static enum ndr_err_code
ndr_push_samr_SetDomainInfo(struct ndr_push
*ndr
, int flags
, const struct samr_SetDomainInfo
*r
)
6114 if (flags
& NDR_IN
) {
6115 if (r
->in
.domain_handle
== NULL
) {
6116 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6118 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6119 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->in
.level
));
6120 if (r
->in
.info
== NULL
) {
6121 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6123 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
6124 NDR_CHECK(ndr_push_samr_DomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
6126 if (flags
& NDR_OUT
) {
6127 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6129 return NDR_ERR_SUCCESS
;
6132 static enum ndr_err_code
ndr_pull_samr_SetDomainInfo(struct ndr_pull
*ndr
, int flags
, struct samr_SetDomainInfo
*r
)
6134 TALLOC_CTX
*_mem_save_domain_handle_0
;
6135 TALLOC_CTX
*_mem_save_info_0
;
6136 if (flags
& NDR_IN
) {
6137 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6138 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
6140 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6141 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
6142 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6143 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6144 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->in
.level
));
6145 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6146 NDR_PULL_ALLOC(ndr
, r
->in
.info
);
6148 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6149 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.info
, LIBNDR_FLAG_REF_ALLOC
);
6150 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
6151 NDR_CHECK(ndr_pull_samr_DomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
6152 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
6154 if (flags
& NDR_OUT
) {
6155 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6157 return NDR_ERR_SUCCESS
;
6160 _PUBLIC_
void ndr_print_samr_SetDomainInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_SetDomainInfo
*r
)
6162 ndr_print_struct(ndr
, name
, "samr_SetDomainInfo");
6164 if (flags
& NDR_SET_VALUES
) {
6165 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6167 if (flags
& NDR_IN
) {
6168 ndr_print_struct(ndr
, "in", "samr_SetDomainInfo");
6170 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
6172 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
6174 ndr_print_uint16(ndr
, "level", r
->in
.level
);
6175 ndr_print_ptr(ndr
, "info", r
->in
.info
);
6177 ndr_print_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
);
6178 ndr_print_samr_DomainInfo(ndr
, "info", r
->in
.info
);
6182 if (flags
& NDR_OUT
) {
6183 ndr_print_struct(ndr
, "out", "samr_SetDomainInfo");
6185 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6191 static enum ndr_err_code
ndr_push_samr_CreateDomainGroup(struct ndr_push
*ndr
, int flags
, const struct samr_CreateDomainGroup
*r
)
6193 if (flags
& NDR_IN
) {
6194 if (r
->in
.domain_handle
== NULL
) {
6195 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6197 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6198 if (r
->in
.name
== NULL
) {
6199 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6201 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.name
));
6202 NDR_CHECK(ndr_push_samr_GroupAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
6204 if (flags
& NDR_OUT
) {
6205 if (r
->out
.group_handle
== NULL
) {
6206 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6208 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.group_handle
));
6209 if (r
->out
.rid
== NULL
) {
6210 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6212 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.rid
));
6213 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6215 return NDR_ERR_SUCCESS
;
6218 static enum ndr_err_code
ndr_pull_samr_CreateDomainGroup(struct ndr_pull
*ndr
, int flags
, struct samr_CreateDomainGroup
*r
)
6220 TALLOC_CTX
*_mem_save_domain_handle_0
;
6221 TALLOC_CTX
*_mem_save_name_0
;
6222 TALLOC_CTX
*_mem_save_group_handle_0
;
6223 TALLOC_CTX
*_mem_save_rid_0
;
6224 if (flags
& NDR_IN
) {
6225 ZERO_STRUCT(r
->out
);
6227 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6228 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
6230 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6231 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
6232 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6233 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6234 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6235 NDR_PULL_ALLOC(ndr
, r
->in
.name
);
6237 _mem_save_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6238 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.name
, LIBNDR_FLAG_REF_ALLOC
);
6239 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.name
));
6240 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_name_0
, LIBNDR_FLAG_REF_ALLOC
);
6241 NDR_CHECK(ndr_pull_samr_GroupAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
6242 NDR_PULL_ALLOC(ndr
, r
->out
.group_handle
);
6243 ZERO_STRUCTP(r
->out
.group_handle
);
6244 NDR_PULL_ALLOC(ndr
, r
->out
.rid
);
6245 ZERO_STRUCTP(r
->out
.rid
);
6247 if (flags
& NDR_OUT
) {
6248 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6249 NDR_PULL_ALLOC(ndr
, r
->out
.group_handle
);
6251 _mem_save_group_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6252 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.group_handle
, LIBNDR_FLAG_REF_ALLOC
);
6253 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.group_handle
));
6254 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_group_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6255 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6256 NDR_PULL_ALLOC(ndr
, r
->out
.rid
);
6258 _mem_save_rid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6259 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.rid
, LIBNDR_FLAG_REF_ALLOC
);
6260 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.rid
));
6261 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rid_0
, LIBNDR_FLAG_REF_ALLOC
);
6262 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6264 return NDR_ERR_SUCCESS
;
6267 _PUBLIC_
void ndr_print_samr_CreateDomainGroup(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_CreateDomainGroup
*r
)
6269 ndr_print_struct(ndr
, name
, "samr_CreateDomainGroup");
6271 if (flags
& NDR_SET_VALUES
) {
6272 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6274 if (flags
& NDR_IN
) {
6275 ndr_print_struct(ndr
, "in", "samr_CreateDomainGroup");
6277 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
6279 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
6281 ndr_print_ptr(ndr
, "name", r
->in
.name
);
6283 ndr_print_lsa_String(ndr
, "name", r
->in
.name
);
6285 ndr_print_samr_GroupAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
6288 if (flags
& NDR_OUT
) {
6289 ndr_print_struct(ndr
, "out", "samr_CreateDomainGroup");
6291 ndr_print_ptr(ndr
, "group_handle", r
->out
.group_handle
);
6293 ndr_print_policy_handle(ndr
, "group_handle", r
->out
.group_handle
);
6295 ndr_print_ptr(ndr
, "rid", r
->out
.rid
);
6297 ndr_print_uint32(ndr
, "rid", *r
->out
.rid
);
6299 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6305 static enum ndr_err_code
ndr_push_samr_EnumDomainGroups(struct ndr_push
*ndr
, int flags
, const struct samr_EnumDomainGroups
*r
)
6307 if (flags
& NDR_IN
) {
6308 if (r
->in
.domain_handle
== NULL
) {
6309 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6311 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6312 if (r
->in
.resume_handle
== NULL
) {
6313 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6315 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->in
.resume_handle
));
6316 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.max_size
));
6318 if (flags
& NDR_OUT
) {
6319 if (r
->out
.resume_handle
== NULL
) {
6320 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6322 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.resume_handle
));
6323 if (r
->out
.sam
== NULL
) {
6324 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6326 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.sam
));
6328 NDR_CHECK(ndr_push_samr_SamArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sam
));
6330 if (r
->out
.num_entries
== NULL
) {
6331 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6333 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.num_entries
));
6334 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6336 return NDR_ERR_SUCCESS
;
6339 static enum ndr_err_code
ndr_pull_samr_EnumDomainGroups(struct ndr_pull
*ndr
, int flags
, struct samr_EnumDomainGroups
*r
)
6342 TALLOC_CTX
*_mem_save_domain_handle_0
;
6343 TALLOC_CTX
*_mem_save_resume_handle_0
;
6344 TALLOC_CTX
*_mem_save_sam_0
;
6345 TALLOC_CTX
*_mem_save_sam_1
;
6346 TALLOC_CTX
*_mem_save_num_entries_0
;
6347 if (flags
& NDR_IN
) {
6348 ZERO_STRUCT(r
->out
);
6350 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6351 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
6353 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6354 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
6355 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6356 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6357 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6358 NDR_PULL_ALLOC(ndr
, r
->in
.resume_handle
);
6360 _mem_save_resume_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6361 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.resume_handle
, LIBNDR_FLAG_REF_ALLOC
);
6362 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->in
.resume_handle
));
6363 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_resume_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6364 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.max_size
));
6365 NDR_PULL_ALLOC(ndr
, r
->out
.resume_handle
);
6366 *r
->out
.resume_handle
= *r
->in
.resume_handle
;
6367 NDR_PULL_ALLOC(ndr
, r
->out
.sam
);
6368 ZERO_STRUCTP(r
->out
.sam
);
6369 NDR_PULL_ALLOC(ndr
, r
->out
.num_entries
);
6370 ZERO_STRUCTP(r
->out
.num_entries
);
6372 if (flags
& NDR_OUT
) {
6373 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6374 NDR_PULL_ALLOC(ndr
, r
->out
.resume_handle
);
6376 _mem_save_resume_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6377 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.resume_handle
, LIBNDR_FLAG_REF_ALLOC
);
6378 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.resume_handle
));
6379 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_resume_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6380 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6381 NDR_PULL_ALLOC(ndr
, r
->out
.sam
);
6383 _mem_save_sam_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6384 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sam
, LIBNDR_FLAG_REF_ALLOC
);
6385 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sam
));
6387 NDR_PULL_ALLOC(ndr
, *r
->out
.sam
);
6392 _mem_save_sam_1
= NDR_PULL_GET_MEM_CTX(ndr
);
6393 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.sam
, 0);
6394 NDR_CHECK(ndr_pull_samr_SamArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sam
));
6395 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sam_1
, 0);
6397 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sam_0
, LIBNDR_FLAG_REF_ALLOC
);
6398 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6399 NDR_PULL_ALLOC(ndr
, r
->out
.num_entries
);
6401 _mem_save_num_entries_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6402 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.num_entries
, LIBNDR_FLAG_REF_ALLOC
);
6403 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.num_entries
));
6404 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_num_entries_0
, LIBNDR_FLAG_REF_ALLOC
);
6405 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6407 return NDR_ERR_SUCCESS
;
6410 _PUBLIC_
void ndr_print_samr_EnumDomainGroups(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_EnumDomainGroups
*r
)
6412 ndr_print_struct(ndr
, name
, "samr_EnumDomainGroups");
6414 if (flags
& NDR_SET_VALUES
) {
6415 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6417 if (flags
& NDR_IN
) {
6418 ndr_print_struct(ndr
, "in", "samr_EnumDomainGroups");
6420 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
6422 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
6424 ndr_print_ptr(ndr
, "resume_handle", r
->in
.resume_handle
);
6426 ndr_print_uint32(ndr
, "resume_handle", *r
->in
.resume_handle
);
6428 ndr_print_uint32(ndr
, "max_size", r
->in
.max_size
);
6431 if (flags
& NDR_OUT
) {
6432 ndr_print_struct(ndr
, "out", "samr_EnumDomainGroups");
6434 ndr_print_ptr(ndr
, "resume_handle", r
->out
.resume_handle
);
6436 ndr_print_uint32(ndr
, "resume_handle", *r
->out
.resume_handle
);
6438 ndr_print_ptr(ndr
, "sam", r
->out
.sam
);
6440 ndr_print_ptr(ndr
, "sam", *r
->out
.sam
);
6443 ndr_print_samr_SamArray(ndr
, "sam", *r
->out
.sam
);
6447 ndr_print_ptr(ndr
, "num_entries", r
->out
.num_entries
);
6449 ndr_print_uint32(ndr
, "num_entries", *r
->out
.num_entries
);
6451 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6457 static enum ndr_err_code
ndr_push_samr_CreateUser(struct ndr_push
*ndr
, int flags
, const struct samr_CreateUser
*r
)
6459 if (flags
& NDR_IN
) {
6460 if (r
->in
.domain_handle
== NULL
) {
6461 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6463 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6464 if (r
->in
.account_name
== NULL
) {
6465 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6467 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.account_name
));
6468 NDR_CHECK(ndr_push_samr_UserAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
6470 if (flags
& NDR_OUT
) {
6471 if (r
->out
.user_handle
== NULL
) {
6472 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6474 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.user_handle
));
6475 if (r
->out
.rid
== NULL
) {
6476 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6478 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.rid
));
6479 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6481 return NDR_ERR_SUCCESS
;
6484 static enum ndr_err_code
ndr_pull_samr_CreateUser(struct ndr_pull
*ndr
, int flags
, struct samr_CreateUser
*r
)
6486 TALLOC_CTX
*_mem_save_domain_handle_0
;
6487 TALLOC_CTX
*_mem_save_account_name_0
;
6488 TALLOC_CTX
*_mem_save_user_handle_0
;
6489 TALLOC_CTX
*_mem_save_rid_0
;
6490 if (flags
& NDR_IN
) {
6491 ZERO_STRUCT(r
->out
);
6493 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6494 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
6496 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6497 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
6498 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6499 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6500 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6501 NDR_PULL_ALLOC(ndr
, r
->in
.account_name
);
6503 _mem_save_account_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6504 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.account_name
, LIBNDR_FLAG_REF_ALLOC
);
6505 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.account_name
));
6506 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_account_name_0
, LIBNDR_FLAG_REF_ALLOC
);
6507 NDR_CHECK(ndr_pull_samr_UserAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
6508 NDR_PULL_ALLOC(ndr
, r
->out
.user_handle
);
6509 ZERO_STRUCTP(r
->out
.user_handle
);
6510 NDR_PULL_ALLOC(ndr
, r
->out
.rid
);
6511 ZERO_STRUCTP(r
->out
.rid
);
6513 if (flags
& NDR_OUT
) {
6514 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6515 NDR_PULL_ALLOC(ndr
, r
->out
.user_handle
);
6517 _mem_save_user_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6518 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.user_handle
, LIBNDR_FLAG_REF_ALLOC
);
6519 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.user_handle
));
6520 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_user_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6521 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6522 NDR_PULL_ALLOC(ndr
, r
->out
.rid
);
6524 _mem_save_rid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6525 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.rid
, LIBNDR_FLAG_REF_ALLOC
);
6526 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.rid
));
6527 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rid_0
, LIBNDR_FLAG_REF_ALLOC
);
6528 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6530 return NDR_ERR_SUCCESS
;
6533 _PUBLIC_
void ndr_print_samr_CreateUser(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_CreateUser
*r
)
6535 ndr_print_struct(ndr
, name
, "samr_CreateUser");
6537 if (flags
& NDR_SET_VALUES
) {
6538 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6540 if (flags
& NDR_IN
) {
6541 ndr_print_struct(ndr
, "in", "samr_CreateUser");
6543 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
6545 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
6547 ndr_print_ptr(ndr
, "account_name", r
->in
.account_name
);
6549 ndr_print_lsa_String(ndr
, "account_name", r
->in
.account_name
);
6551 ndr_print_samr_UserAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
6554 if (flags
& NDR_OUT
) {
6555 ndr_print_struct(ndr
, "out", "samr_CreateUser");
6557 ndr_print_ptr(ndr
, "user_handle", r
->out
.user_handle
);
6559 ndr_print_policy_handle(ndr
, "user_handle", r
->out
.user_handle
);
6561 ndr_print_ptr(ndr
, "rid", r
->out
.rid
);
6563 ndr_print_uint32(ndr
, "rid", *r
->out
.rid
);
6565 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6571 static enum ndr_err_code
ndr_push_samr_EnumDomainUsers(struct ndr_push
*ndr
, int flags
, const struct samr_EnumDomainUsers
*r
)
6573 if (flags
& NDR_IN
) {
6574 if (r
->in
.domain_handle
== NULL
) {
6575 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6577 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6578 if (r
->in
.resume_handle
== NULL
) {
6579 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6581 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->in
.resume_handle
));
6582 NDR_CHECK(ndr_push_samr_AcctFlags(ndr
, NDR_SCALARS
, r
->in
.acct_flags
));
6583 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.max_size
));
6585 if (flags
& NDR_OUT
) {
6586 if (r
->out
.resume_handle
== NULL
) {
6587 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6589 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.resume_handle
));
6590 if (r
->out
.sam
== NULL
) {
6591 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6593 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.sam
));
6595 NDR_CHECK(ndr_push_samr_SamArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sam
));
6597 if (r
->out
.num_entries
== NULL
) {
6598 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6600 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.num_entries
));
6601 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6603 return NDR_ERR_SUCCESS
;
6606 static enum ndr_err_code
ndr_pull_samr_EnumDomainUsers(struct ndr_pull
*ndr
, int flags
, struct samr_EnumDomainUsers
*r
)
6609 TALLOC_CTX
*_mem_save_domain_handle_0
;
6610 TALLOC_CTX
*_mem_save_resume_handle_0
;
6611 TALLOC_CTX
*_mem_save_sam_0
;
6612 TALLOC_CTX
*_mem_save_sam_1
;
6613 TALLOC_CTX
*_mem_save_num_entries_0
;
6614 if (flags
& NDR_IN
) {
6615 ZERO_STRUCT(r
->out
);
6617 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6618 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
6620 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6621 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
6622 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6623 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6624 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6625 NDR_PULL_ALLOC(ndr
, r
->in
.resume_handle
);
6627 _mem_save_resume_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6628 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.resume_handle
, LIBNDR_FLAG_REF_ALLOC
);
6629 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->in
.resume_handle
));
6630 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_resume_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6631 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr
, NDR_SCALARS
, &r
->in
.acct_flags
));
6632 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.max_size
));
6633 NDR_PULL_ALLOC(ndr
, r
->out
.resume_handle
);
6634 *r
->out
.resume_handle
= *r
->in
.resume_handle
;
6635 NDR_PULL_ALLOC(ndr
, r
->out
.sam
);
6636 ZERO_STRUCTP(r
->out
.sam
);
6637 NDR_PULL_ALLOC(ndr
, r
->out
.num_entries
);
6638 ZERO_STRUCTP(r
->out
.num_entries
);
6640 if (flags
& NDR_OUT
) {
6641 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6642 NDR_PULL_ALLOC(ndr
, r
->out
.resume_handle
);
6644 _mem_save_resume_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6645 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.resume_handle
, LIBNDR_FLAG_REF_ALLOC
);
6646 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.resume_handle
));
6647 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_resume_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6648 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6649 NDR_PULL_ALLOC(ndr
, r
->out
.sam
);
6651 _mem_save_sam_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6652 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sam
, LIBNDR_FLAG_REF_ALLOC
);
6653 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sam
));
6655 NDR_PULL_ALLOC(ndr
, *r
->out
.sam
);
6660 _mem_save_sam_1
= NDR_PULL_GET_MEM_CTX(ndr
);
6661 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.sam
, 0);
6662 NDR_CHECK(ndr_pull_samr_SamArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sam
));
6663 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sam_1
, 0);
6665 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sam_0
, LIBNDR_FLAG_REF_ALLOC
);
6666 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6667 NDR_PULL_ALLOC(ndr
, r
->out
.num_entries
);
6669 _mem_save_num_entries_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6670 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.num_entries
, LIBNDR_FLAG_REF_ALLOC
);
6671 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.num_entries
));
6672 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_num_entries_0
, LIBNDR_FLAG_REF_ALLOC
);
6673 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6675 return NDR_ERR_SUCCESS
;
6678 _PUBLIC_
void ndr_print_samr_EnumDomainUsers(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_EnumDomainUsers
*r
)
6680 ndr_print_struct(ndr
, name
, "samr_EnumDomainUsers");
6682 if (flags
& NDR_SET_VALUES
) {
6683 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6685 if (flags
& NDR_IN
) {
6686 ndr_print_struct(ndr
, "in", "samr_EnumDomainUsers");
6688 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
6690 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
6692 ndr_print_ptr(ndr
, "resume_handle", r
->in
.resume_handle
);
6694 ndr_print_uint32(ndr
, "resume_handle", *r
->in
.resume_handle
);
6696 ndr_print_samr_AcctFlags(ndr
, "acct_flags", r
->in
.acct_flags
);
6697 ndr_print_uint32(ndr
, "max_size", r
->in
.max_size
);
6700 if (flags
& NDR_OUT
) {
6701 ndr_print_struct(ndr
, "out", "samr_EnumDomainUsers");
6703 ndr_print_ptr(ndr
, "resume_handle", r
->out
.resume_handle
);
6705 ndr_print_uint32(ndr
, "resume_handle", *r
->out
.resume_handle
);
6707 ndr_print_ptr(ndr
, "sam", r
->out
.sam
);
6709 ndr_print_ptr(ndr
, "sam", *r
->out
.sam
);
6712 ndr_print_samr_SamArray(ndr
, "sam", *r
->out
.sam
);
6716 ndr_print_ptr(ndr
, "num_entries", r
->out
.num_entries
);
6718 ndr_print_uint32(ndr
, "num_entries", *r
->out
.num_entries
);
6720 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6726 static enum ndr_err_code
ndr_push_samr_CreateDomAlias(struct ndr_push
*ndr
, int flags
, const struct samr_CreateDomAlias
*r
)
6728 if (flags
& NDR_IN
) {
6729 if (r
->in
.domain_handle
== NULL
) {
6730 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6732 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6733 if (r
->in
.alias_name
== NULL
) {
6734 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6736 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.alias_name
));
6737 NDR_CHECK(ndr_push_samr_AliasAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
6739 if (flags
& NDR_OUT
) {
6740 if (r
->out
.alias_handle
== NULL
) {
6741 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6743 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.alias_handle
));
6744 if (r
->out
.rid
== NULL
) {
6745 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6747 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.rid
));
6748 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6750 return NDR_ERR_SUCCESS
;
6753 static enum ndr_err_code
ndr_pull_samr_CreateDomAlias(struct ndr_pull
*ndr
, int flags
, struct samr_CreateDomAlias
*r
)
6755 TALLOC_CTX
*_mem_save_domain_handle_0
;
6756 TALLOC_CTX
*_mem_save_alias_name_0
;
6757 TALLOC_CTX
*_mem_save_alias_handle_0
;
6758 TALLOC_CTX
*_mem_save_rid_0
;
6759 if (flags
& NDR_IN
) {
6760 ZERO_STRUCT(r
->out
);
6762 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6763 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
6765 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6766 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
6767 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6768 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6769 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6770 NDR_PULL_ALLOC(ndr
, r
->in
.alias_name
);
6772 _mem_save_alias_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6773 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.alias_name
, LIBNDR_FLAG_REF_ALLOC
);
6774 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.alias_name
));
6775 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_alias_name_0
, LIBNDR_FLAG_REF_ALLOC
);
6776 NDR_CHECK(ndr_pull_samr_AliasAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
6777 NDR_PULL_ALLOC(ndr
, r
->out
.alias_handle
);
6778 ZERO_STRUCTP(r
->out
.alias_handle
);
6779 NDR_PULL_ALLOC(ndr
, r
->out
.rid
);
6780 ZERO_STRUCTP(r
->out
.rid
);
6782 if (flags
& NDR_OUT
) {
6783 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6784 NDR_PULL_ALLOC(ndr
, r
->out
.alias_handle
);
6786 _mem_save_alias_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6787 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.alias_handle
, LIBNDR_FLAG_REF_ALLOC
);
6788 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.alias_handle
));
6789 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_alias_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6790 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6791 NDR_PULL_ALLOC(ndr
, r
->out
.rid
);
6793 _mem_save_rid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6794 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.rid
, LIBNDR_FLAG_REF_ALLOC
);
6795 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.rid
));
6796 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rid_0
, LIBNDR_FLAG_REF_ALLOC
);
6797 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6799 return NDR_ERR_SUCCESS
;
6802 _PUBLIC_
void ndr_print_samr_CreateDomAlias(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_CreateDomAlias
*r
)
6804 ndr_print_struct(ndr
, name
, "samr_CreateDomAlias");
6806 if (flags
& NDR_SET_VALUES
) {
6807 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6809 if (flags
& NDR_IN
) {
6810 ndr_print_struct(ndr
, "in", "samr_CreateDomAlias");
6812 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
6814 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
6816 ndr_print_ptr(ndr
, "alias_name", r
->in
.alias_name
);
6818 ndr_print_lsa_String(ndr
, "alias_name", r
->in
.alias_name
);
6820 ndr_print_samr_AliasAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
6823 if (flags
& NDR_OUT
) {
6824 ndr_print_struct(ndr
, "out", "samr_CreateDomAlias");
6826 ndr_print_ptr(ndr
, "alias_handle", r
->out
.alias_handle
);
6828 ndr_print_policy_handle(ndr
, "alias_handle", r
->out
.alias_handle
);
6830 ndr_print_ptr(ndr
, "rid", r
->out
.rid
);
6832 ndr_print_uint32(ndr
, "rid", *r
->out
.rid
);
6834 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6840 static enum ndr_err_code
ndr_push_samr_EnumDomainAliases(struct ndr_push
*ndr
, int flags
, const struct samr_EnumDomainAliases
*r
)
6842 if (flags
& NDR_IN
) {
6843 if (r
->in
.domain_handle
== NULL
) {
6844 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6846 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6847 if (r
->in
.resume_handle
== NULL
) {
6848 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6850 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->in
.resume_handle
));
6851 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.max_size
));
6853 if (flags
& NDR_OUT
) {
6854 if (r
->out
.resume_handle
== NULL
) {
6855 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6857 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.resume_handle
));
6858 if (r
->out
.sam
== NULL
) {
6859 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6861 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.sam
));
6863 NDR_CHECK(ndr_push_samr_SamArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sam
));
6865 if (r
->out
.num_entries
== NULL
) {
6866 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6868 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.num_entries
));
6869 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6871 return NDR_ERR_SUCCESS
;
6874 static enum ndr_err_code
ndr_pull_samr_EnumDomainAliases(struct ndr_pull
*ndr
, int flags
, struct samr_EnumDomainAliases
*r
)
6877 TALLOC_CTX
*_mem_save_domain_handle_0
;
6878 TALLOC_CTX
*_mem_save_resume_handle_0
;
6879 TALLOC_CTX
*_mem_save_sam_0
;
6880 TALLOC_CTX
*_mem_save_sam_1
;
6881 TALLOC_CTX
*_mem_save_num_entries_0
;
6882 if (flags
& NDR_IN
) {
6883 ZERO_STRUCT(r
->out
);
6885 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6886 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
6888 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6889 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
6890 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6891 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6892 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6893 NDR_PULL_ALLOC(ndr
, r
->in
.resume_handle
);
6895 _mem_save_resume_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6896 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.resume_handle
, LIBNDR_FLAG_REF_ALLOC
);
6897 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->in
.resume_handle
));
6898 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_resume_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6899 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.max_size
));
6900 NDR_PULL_ALLOC(ndr
, r
->out
.resume_handle
);
6901 *r
->out
.resume_handle
= *r
->in
.resume_handle
;
6902 NDR_PULL_ALLOC(ndr
, r
->out
.sam
);
6903 ZERO_STRUCTP(r
->out
.sam
);
6904 NDR_PULL_ALLOC(ndr
, r
->out
.num_entries
);
6905 ZERO_STRUCTP(r
->out
.num_entries
);
6907 if (flags
& NDR_OUT
) {
6908 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6909 NDR_PULL_ALLOC(ndr
, r
->out
.resume_handle
);
6911 _mem_save_resume_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6912 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.resume_handle
, LIBNDR_FLAG_REF_ALLOC
);
6913 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.resume_handle
));
6914 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_resume_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6915 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6916 NDR_PULL_ALLOC(ndr
, r
->out
.sam
);
6918 _mem_save_sam_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6919 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sam
, LIBNDR_FLAG_REF_ALLOC
);
6920 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sam
));
6922 NDR_PULL_ALLOC(ndr
, *r
->out
.sam
);
6927 _mem_save_sam_1
= NDR_PULL_GET_MEM_CTX(ndr
);
6928 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.sam
, 0);
6929 NDR_CHECK(ndr_pull_samr_SamArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sam
));
6930 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sam_1
, 0);
6932 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sam_0
, LIBNDR_FLAG_REF_ALLOC
);
6933 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6934 NDR_PULL_ALLOC(ndr
, r
->out
.num_entries
);
6936 _mem_save_num_entries_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6937 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.num_entries
, LIBNDR_FLAG_REF_ALLOC
);
6938 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.num_entries
));
6939 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_num_entries_0
, LIBNDR_FLAG_REF_ALLOC
);
6940 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6942 return NDR_ERR_SUCCESS
;
6945 _PUBLIC_
void ndr_print_samr_EnumDomainAliases(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_EnumDomainAliases
*r
)
6947 ndr_print_struct(ndr
, name
, "samr_EnumDomainAliases");
6949 if (flags
& NDR_SET_VALUES
) {
6950 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6952 if (flags
& NDR_IN
) {
6953 ndr_print_struct(ndr
, "in", "samr_EnumDomainAliases");
6955 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
6957 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
6959 ndr_print_ptr(ndr
, "resume_handle", r
->in
.resume_handle
);
6961 ndr_print_uint32(ndr
, "resume_handle", *r
->in
.resume_handle
);
6963 ndr_print_uint32(ndr
, "max_size", r
->in
.max_size
);
6966 if (flags
& NDR_OUT
) {
6967 ndr_print_struct(ndr
, "out", "samr_EnumDomainAliases");
6969 ndr_print_ptr(ndr
, "resume_handle", r
->out
.resume_handle
);
6971 ndr_print_uint32(ndr
, "resume_handle", *r
->out
.resume_handle
);
6973 ndr_print_ptr(ndr
, "sam", r
->out
.sam
);
6975 ndr_print_ptr(ndr
, "sam", *r
->out
.sam
);
6978 ndr_print_samr_SamArray(ndr
, "sam", *r
->out
.sam
);
6982 ndr_print_ptr(ndr
, "num_entries", r
->out
.num_entries
);
6984 ndr_print_uint32(ndr
, "num_entries", *r
->out
.num_entries
);
6986 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6992 static enum ndr_err_code
ndr_push_samr_GetAliasMembership(struct ndr_push
*ndr
, int flags
, const struct samr_GetAliasMembership
*r
)
6994 if (flags
& NDR_IN
) {
6995 if (r
->in
.domain_handle
== NULL
) {
6996 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6998 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6999 if (r
->in
.sids
== NULL
) {
7000 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7002 NDR_CHECK(ndr_push_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
7004 if (flags
& NDR_OUT
) {
7005 if (r
->out
.rids
== NULL
) {
7006 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7008 NDR_CHECK(ndr_push_samr_Ids(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.rids
));
7009 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7011 return NDR_ERR_SUCCESS
;
7014 static enum ndr_err_code
ndr_pull_samr_GetAliasMembership(struct ndr_pull
*ndr
, int flags
, struct samr_GetAliasMembership
*r
)
7016 TALLOC_CTX
*_mem_save_domain_handle_0
;
7017 TALLOC_CTX
*_mem_save_sids_0
;
7018 TALLOC_CTX
*_mem_save_rids_0
;
7019 if (flags
& NDR_IN
) {
7020 ZERO_STRUCT(r
->out
);
7022 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7023 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
7025 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7026 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
7027 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
7028 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7029 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7030 NDR_PULL_ALLOC(ndr
, r
->in
.sids
);
7032 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7033 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sids
, LIBNDR_FLAG_REF_ALLOC
);
7034 NDR_CHECK(ndr_pull_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
7035 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, LIBNDR_FLAG_REF_ALLOC
);
7036 NDR_PULL_ALLOC(ndr
, r
->out
.rids
);
7037 ZERO_STRUCTP(r
->out
.rids
);
7039 if (flags
& NDR_OUT
) {
7040 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7041 NDR_PULL_ALLOC(ndr
, r
->out
.rids
);
7043 _mem_save_rids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7044 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.rids
, LIBNDR_FLAG_REF_ALLOC
);
7045 NDR_CHECK(ndr_pull_samr_Ids(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.rids
));
7046 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rids_0
, LIBNDR_FLAG_REF_ALLOC
);
7047 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7049 return NDR_ERR_SUCCESS
;
7052 _PUBLIC_
void ndr_print_samr_GetAliasMembership(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_GetAliasMembership
*r
)
7054 ndr_print_struct(ndr
, name
, "samr_GetAliasMembership");
7056 if (flags
& NDR_SET_VALUES
) {
7057 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7059 if (flags
& NDR_IN
) {
7060 ndr_print_struct(ndr
, "in", "samr_GetAliasMembership");
7062 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
7064 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
7066 ndr_print_ptr(ndr
, "sids", r
->in
.sids
);
7068 ndr_print_lsa_SidArray(ndr
, "sids", r
->in
.sids
);
7072 if (flags
& NDR_OUT
) {
7073 ndr_print_struct(ndr
, "out", "samr_GetAliasMembership");
7075 ndr_print_ptr(ndr
, "rids", r
->out
.rids
);
7077 ndr_print_samr_Ids(ndr
, "rids", r
->out
.rids
);
7079 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7085 _PUBLIC_
enum ndr_err_code
ndr_push_samr_LookupNames(struct ndr_push
*ndr
, int flags
, const struct samr_LookupNames
*r
)
7087 uint32_t cntr_names_0
;
7088 if (flags
& NDR_IN
) {
7089 if (r
->in
.domain_handle
== NULL
) {
7090 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7092 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
7093 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.num_names
));
7094 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 1000));
7095 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
7096 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.num_names
));
7097 for (cntr_names_0
= 0; cntr_names_0
< r
->in
.num_names
; cntr_names_0
++) {
7098 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->in
.names
[cntr_names_0
]));
7100 for (cntr_names_0
= 0; cntr_names_0
< r
->in
.num_names
; cntr_names_0
++) {
7101 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->in
.names
[cntr_names_0
]));
7104 if (flags
& NDR_OUT
) {
7105 if (r
->out
.rids
== NULL
) {
7106 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7108 NDR_CHECK(ndr_push_samr_Ids(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.rids
));
7109 if (r
->out
.types
== NULL
) {
7110 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7112 NDR_CHECK(ndr_push_samr_Ids(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.types
));
7113 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7115 return NDR_ERR_SUCCESS
;
7118 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_LookupNames(struct ndr_pull
*ndr
, int flags
, struct samr_LookupNames
*r
)
7120 uint32_t cntr_names_0
;
7121 TALLOC_CTX
*_mem_save_domain_handle_0
;
7122 TALLOC_CTX
*_mem_save_names_0
;
7123 TALLOC_CTX
*_mem_save_rids_0
;
7124 TALLOC_CTX
*_mem_save_types_0
;
7125 if (flags
& NDR_IN
) {
7126 ZERO_STRUCT(r
->out
);
7128 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7129 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
7131 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7132 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
7133 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
7134 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7135 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.num_names
));
7136 if (r
->in
.num_names
< 0 || r
->in
.num_names
> 1000) {
7137 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
7139 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->in
.names
));
7140 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->in
.names
));
7141 if (ndr_get_array_length(ndr
, &r
->in
.names
) > ndr_get_array_size(ndr
, &r
->in
.names
)) {
7142 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->in
.names
), ndr_get_array_length(ndr
, &r
->in
.names
));
7144 NDR_PULL_ALLOC_N(ndr
, r
->in
.names
, ndr_get_array_size(ndr
, &r
->in
.names
));
7145 _mem_save_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7146 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.names
, 0);
7147 for (cntr_names_0
= 0; cntr_names_0
< r
->in
.num_names
; cntr_names_0
++) {
7148 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->in
.names
[cntr_names_0
]));
7150 for (cntr_names_0
= 0; cntr_names_0
< r
->in
.num_names
; cntr_names_0
++) {
7151 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->in
.names
[cntr_names_0
]));
7153 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_0
, 0);
7154 NDR_PULL_ALLOC(ndr
, r
->out
.rids
);
7155 ZERO_STRUCTP(r
->out
.rids
);
7156 NDR_PULL_ALLOC(ndr
, r
->out
.types
);
7157 ZERO_STRUCTP(r
->out
.types
);
7159 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->in
.names
, 1000));
7162 NDR_CHECK(ndr_check_array_length(ndr
, (void*)&r
->in
.names
, r
->in
.num_names
));
7165 if (flags
& NDR_OUT
) {
7166 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7167 NDR_PULL_ALLOC(ndr
, r
->out
.rids
);
7169 _mem_save_rids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7170 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.rids
, LIBNDR_FLAG_REF_ALLOC
);
7171 NDR_CHECK(ndr_pull_samr_Ids(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.rids
));
7172 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rids_0
, LIBNDR_FLAG_REF_ALLOC
);
7173 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7174 NDR_PULL_ALLOC(ndr
, r
->out
.types
);
7176 _mem_save_types_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7177 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.types
, LIBNDR_FLAG_REF_ALLOC
);
7178 NDR_CHECK(ndr_pull_samr_Ids(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.types
));
7179 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_types_0
, LIBNDR_FLAG_REF_ALLOC
);
7180 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7182 return NDR_ERR_SUCCESS
;
7185 _PUBLIC_
void ndr_print_samr_LookupNames(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_LookupNames
*r
)
7187 uint32_t cntr_names_0
;
7188 ndr_print_struct(ndr
, name
, "samr_LookupNames");
7190 if (flags
& NDR_SET_VALUES
) {
7191 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7193 if (flags
& NDR_IN
) {
7194 ndr_print_struct(ndr
, "in", "samr_LookupNames");
7196 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
7198 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
7200 ndr_print_uint32(ndr
, "num_names", r
->in
.num_names
);
7201 ndr
->print(ndr
, "%s: ARRAY(%d)", "names", (int)r
->in
.num_names
);
7203 for (cntr_names_0
=0;cntr_names_0
<r
->in
.num_names
;cntr_names_0
++) {
7205 if (asprintf(&idx_0
, "[%d]", cntr_names_0
) != -1) {
7206 ndr_print_lsa_String(ndr
, "names", &r
->in
.names
[cntr_names_0
]);
7213 if (flags
& NDR_OUT
) {
7214 ndr_print_struct(ndr
, "out", "samr_LookupNames");
7216 ndr_print_ptr(ndr
, "rids", r
->out
.rids
);
7218 ndr_print_samr_Ids(ndr
, "rids", r
->out
.rids
);
7220 ndr_print_ptr(ndr
, "types", r
->out
.types
);
7222 ndr_print_samr_Ids(ndr
, "types", r
->out
.types
);
7224 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7230 static enum ndr_err_code
ndr_push_samr_LookupRids(struct ndr_push
*ndr
, int flags
, const struct samr_LookupRids
*r
)
7232 uint32_t cntr_rids_0
;
7233 if (flags
& NDR_IN
) {
7234 if (r
->in
.domain_handle
== NULL
) {
7235 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7237 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
7238 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.num_rids
));
7239 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 1000));
7240 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
7241 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.num_rids
));
7242 for (cntr_rids_0
= 0; cntr_rids_0
< r
->in
.num_rids
; cntr_rids_0
++) {
7243 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.rids
[cntr_rids_0
]));
7246 if (flags
& NDR_OUT
) {
7247 if (r
->out
.names
== NULL
) {
7248 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7250 NDR_CHECK(ndr_push_lsa_Strings(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.names
));
7251 if (r
->out
.types
== NULL
) {
7252 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7254 NDR_CHECK(ndr_push_samr_Ids(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.types
));
7255 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7257 return NDR_ERR_SUCCESS
;
7260 static enum ndr_err_code
ndr_pull_samr_LookupRids(struct ndr_pull
*ndr
, int flags
, struct samr_LookupRids
*r
)
7262 uint32_t cntr_rids_0
;
7263 TALLOC_CTX
*_mem_save_domain_handle_0
;
7264 TALLOC_CTX
*_mem_save_rids_0
;
7265 TALLOC_CTX
*_mem_save_names_0
;
7266 TALLOC_CTX
*_mem_save_types_0
;
7267 if (flags
& NDR_IN
) {
7268 ZERO_STRUCT(r
->out
);
7270 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7271 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
7273 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7274 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
7275 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
7276 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7277 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.num_rids
));
7278 if (r
->in
.num_rids
< 0 || r
->in
.num_rids
> 1000) {
7279 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
7281 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->in
.rids
));
7282 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->in
.rids
));
7283 if (ndr_get_array_length(ndr
, &r
->in
.rids
) > ndr_get_array_size(ndr
, &r
->in
.rids
)) {
7284 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->in
.rids
), ndr_get_array_length(ndr
, &r
->in
.rids
));
7286 NDR_PULL_ALLOC_N(ndr
, r
->in
.rids
, ndr_get_array_size(ndr
, &r
->in
.rids
));
7287 _mem_save_rids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7288 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.rids
, 0);
7289 for (cntr_rids_0
= 0; cntr_rids_0
< r
->in
.num_rids
; cntr_rids_0
++) {
7290 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.rids
[cntr_rids_0
]));
7292 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rids_0
, 0);
7293 NDR_PULL_ALLOC(ndr
, r
->out
.names
);
7294 ZERO_STRUCTP(r
->out
.names
);
7295 NDR_PULL_ALLOC(ndr
, r
->out
.types
);
7296 ZERO_STRUCTP(r
->out
.types
);
7298 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->in
.rids
, 1000));
7301 NDR_CHECK(ndr_check_array_length(ndr
, (void*)&r
->in
.rids
, r
->in
.num_rids
));
7304 if (flags
& NDR_OUT
) {
7305 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7306 NDR_PULL_ALLOC(ndr
, r
->out
.names
);
7308 _mem_save_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7309 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.names
, LIBNDR_FLAG_REF_ALLOC
);
7310 NDR_CHECK(ndr_pull_lsa_Strings(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.names
));
7311 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_0
, LIBNDR_FLAG_REF_ALLOC
);
7312 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7313 NDR_PULL_ALLOC(ndr
, r
->out
.types
);
7315 _mem_save_types_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7316 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.types
, LIBNDR_FLAG_REF_ALLOC
);
7317 NDR_CHECK(ndr_pull_samr_Ids(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.types
));
7318 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_types_0
, LIBNDR_FLAG_REF_ALLOC
);
7319 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7321 return NDR_ERR_SUCCESS
;
7324 _PUBLIC_
void ndr_print_samr_LookupRids(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_LookupRids
*r
)
7326 uint32_t cntr_rids_0
;
7327 ndr_print_struct(ndr
, name
, "samr_LookupRids");
7329 if (flags
& NDR_SET_VALUES
) {
7330 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7332 if (flags
& NDR_IN
) {
7333 ndr_print_struct(ndr
, "in", "samr_LookupRids");
7335 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
7337 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
7339 ndr_print_uint32(ndr
, "num_rids", r
->in
.num_rids
);
7340 ndr
->print(ndr
, "%s: ARRAY(%d)", "rids", (int)r
->in
.num_rids
);
7342 for (cntr_rids_0
=0;cntr_rids_0
<r
->in
.num_rids
;cntr_rids_0
++) {
7344 if (asprintf(&idx_0
, "[%d]", cntr_rids_0
) != -1) {
7345 ndr_print_uint32(ndr
, "rids", r
->in
.rids
[cntr_rids_0
]);
7352 if (flags
& NDR_OUT
) {
7353 ndr_print_struct(ndr
, "out", "samr_LookupRids");
7355 ndr_print_ptr(ndr
, "names", r
->out
.names
);
7357 ndr_print_lsa_Strings(ndr
, "names", r
->out
.names
);
7359 ndr_print_ptr(ndr
, "types", r
->out
.types
);
7361 ndr_print_samr_Ids(ndr
, "types", r
->out
.types
);
7363 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7369 static enum ndr_err_code
ndr_push_samr_OpenGroup(struct ndr_push
*ndr
, int flags
, const struct samr_OpenGroup
*r
)
7371 if (flags
& NDR_IN
) {
7372 if (r
->in
.domain_handle
== NULL
) {
7373 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7375 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
7376 NDR_CHECK(ndr_push_samr_GroupAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
7377 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.rid
));
7379 if (flags
& NDR_OUT
) {
7380 if (r
->out
.group_handle
== NULL
) {
7381 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7383 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.group_handle
));
7384 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7386 return NDR_ERR_SUCCESS
;
7389 static enum ndr_err_code
ndr_pull_samr_OpenGroup(struct ndr_pull
*ndr
, int flags
, struct samr_OpenGroup
*r
)
7391 TALLOC_CTX
*_mem_save_domain_handle_0
;
7392 TALLOC_CTX
*_mem_save_group_handle_0
;
7393 if (flags
& NDR_IN
) {
7394 ZERO_STRUCT(r
->out
);
7396 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7397 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
7399 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7400 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
7401 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
7402 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7403 NDR_CHECK(ndr_pull_samr_GroupAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
7404 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.rid
));
7405 NDR_PULL_ALLOC(ndr
, r
->out
.group_handle
);
7406 ZERO_STRUCTP(r
->out
.group_handle
);
7408 if (flags
& NDR_OUT
) {
7409 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7410 NDR_PULL_ALLOC(ndr
, r
->out
.group_handle
);
7412 _mem_save_group_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7413 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.group_handle
, LIBNDR_FLAG_REF_ALLOC
);
7414 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.group_handle
));
7415 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_group_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7416 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7418 return NDR_ERR_SUCCESS
;
7421 _PUBLIC_
void ndr_print_samr_OpenGroup(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_OpenGroup
*r
)
7423 ndr_print_struct(ndr
, name
, "samr_OpenGroup");
7425 if (flags
& NDR_SET_VALUES
) {
7426 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7428 if (flags
& NDR_IN
) {
7429 ndr_print_struct(ndr
, "in", "samr_OpenGroup");
7431 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
7433 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
7435 ndr_print_samr_GroupAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
7436 ndr_print_uint32(ndr
, "rid", r
->in
.rid
);
7439 if (flags
& NDR_OUT
) {
7440 ndr_print_struct(ndr
, "out", "samr_OpenGroup");
7442 ndr_print_ptr(ndr
, "group_handle", r
->out
.group_handle
);
7444 ndr_print_policy_handle(ndr
, "group_handle", r
->out
.group_handle
);
7446 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7452 static enum ndr_err_code
ndr_push_samr_QueryGroupInfo(struct ndr_push
*ndr
, int flags
, const struct samr_QueryGroupInfo
*r
)
7454 if (flags
& NDR_IN
) {
7455 if (r
->in
.group_handle
== NULL
) {
7456 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7458 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
7459 NDR_CHECK(ndr_push_samr_GroupInfoEnum(ndr
, NDR_SCALARS
, r
->in
.level
));
7461 if (flags
& NDR_OUT
) {
7462 if (r
->out
.info
== NULL
) {
7463 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7465 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.info
));
7467 NDR_CHECK(ndr_push_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
7468 NDR_CHECK(ndr_push_samr_GroupInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
7470 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7472 return NDR_ERR_SUCCESS
;
7475 static enum ndr_err_code
ndr_pull_samr_QueryGroupInfo(struct ndr_pull
*ndr
, int flags
, struct samr_QueryGroupInfo
*r
)
7478 TALLOC_CTX
*_mem_save_group_handle_0
;
7479 TALLOC_CTX
*_mem_save_info_0
;
7480 TALLOC_CTX
*_mem_save_info_1
;
7481 if (flags
& NDR_IN
) {
7482 ZERO_STRUCT(r
->out
);
7484 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7485 NDR_PULL_ALLOC(ndr
, r
->in
.group_handle
);
7487 _mem_save_group_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7488 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.group_handle
, LIBNDR_FLAG_REF_ALLOC
);
7489 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
7490 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_group_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7491 NDR_CHECK(ndr_pull_samr_GroupInfoEnum(ndr
, NDR_SCALARS
, &r
->in
.level
));
7492 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
7493 ZERO_STRUCTP(r
->out
.info
);
7495 if (flags
& NDR_OUT
) {
7496 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7497 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
7499 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7500 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
7501 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
7503 NDR_PULL_ALLOC(ndr
, *r
->out
.info
);
7505 *r
->out
.info
= NULL
;
7508 _mem_save_info_1
= NDR_PULL_GET_MEM_CTX(ndr
);
7509 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.info
, 0);
7510 NDR_CHECK(ndr_pull_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
7511 NDR_CHECK(ndr_pull_samr_GroupInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
7512 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_1
, 0);
7514 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
7515 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7517 return NDR_ERR_SUCCESS
;
7520 _PUBLIC_
void ndr_print_samr_QueryGroupInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_QueryGroupInfo
*r
)
7522 ndr_print_struct(ndr
, name
, "samr_QueryGroupInfo");
7524 if (flags
& NDR_SET_VALUES
) {
7525 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7527 if (flags
& NDR_IN
) {
7528 ndr_print_struct(ndr
, "in", "samr_QueryGroupInfo");
7530 ndr_print_ptr(ndr
, "group_handle", r
->in
.group_handle
);
7532 ndr_print_policy_handle(ndr
, "group_handle", r
->in
.group_handle
);
7534 ndr_print_samr_GroupInfoEnum(ndr
, "level", r
->in
.level
);
7537 if (flags
& NDR_OUT
) {
7538 ndr_print_struct(ndr
, "out", "samr_QueryGroupInfo");
7540 ndr_print_ptr(ndr
, "info", r
->out
.info
);
7542 ndr_print_ptr(ndr
, "info", *r
->out
.info
);
7545 ndr_print_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
);
7546 ndr_print_samr_GroupInfo(ndr
, "info", *r
->out
.info
);
7550 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7556 static enum ndr_err_code
ndr_push_samr_SetGroupInfo(struct ndr_push
*ndr
, int flags
, const struct samr_SetGroupInfo
*r
)
7558 if (flags
& NDR_IN
) {
7559 if (r
->in
.group_handle
== NULL
) {
7560 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7562 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
7563 NDR_CHECK(ndr_push_samr_GroupInfoEnum(ndr
, NDR_SCALARS
, r
->in
.level
));
7564 if (r
->in
.info
== NULL
) {
7565 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7567 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
7568 NDR_CHECK(ndr_push_samr_GroupInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
7570 if (flags
& NDR_OUT
) {
7571 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7573 return NDR_ERR_SUCCESS
;
7576 static enum ndr_err_code
ndr_pull_samr_SetGroupInfo(struct ndr_pull
*ndr
, int flags
, struct samr_SetGroupInfo
*r
)
7578 TALLOC_CTX
*_mem_save_group_handle_0
;
7579 TALLOC_CTX
*_mem_save_info_0
;
7580 if (flags
& NDR_IN
) {
7581 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7582 NDR_PULL_ALLOC(ndr
, r
->in
.group_handle
);
7584 _mem_save_group_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7585 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.group_handle
, LIBNDR_FLAG_REF_ALLOC
);
7586 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
7587 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_group_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7588 NDR_CHECK(ndr_pull_samr_GroupInfoEnum(ndr
, NDR_SCALARS
, &r
->in
.level
));
7589 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7590 NDR_PULL_ALLOC(ndr
, r
->in
.info
);
7592 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7593 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.info
, LIBNDR_FLAG_REF_ALLOC
);
7594 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
7595 NDR_CHECK(ndr_pull_samr_GroupInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
7596 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
7598 if (flags
& NDR_OUT
) {
7599 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7601 return NDR_ERR_SUCCESS
;
7604 _PUBLIC_
void ndr_print_samr_SetGroupInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_SetGroupInfo
*r
)
7606 ndr_print_struct(ndr
, name
, "samr_SetGroupInfo");
7608 if (flags
& NDR_SET_VALUES
) {
7609 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7611 if (flags
& NDR_IN
) {
7612 ndr_print_struct(ndr
, "in", "samr_SetGroupInfo");
7614 ndr_print_ptr(ndr
, "group_handle", r
->in
.group_handle
);
7616 ndr_print_policy_handle(ndr
, "group_handle", r
->in
.group_handle
);
7618 ndr_print_samr_GroupInfoEnum(ndr
, "level", r
->in
.level
);
7619 ndr_print_ptr(ndr
, "info", r
->in
.info
);
7621 ndr_print_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
);
7622 ndr_print_samr_GroupInfo(ndr
, "info", r
->in
.info
);
7626 if (flags
& NDR_OUT
) {
7627 ndr_print_struct(ndr
, "out", "samr_SetGroupInfo");
7629 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7635 static enum ndr_err_code
ndr_push_samr_AddGroupMember(struct ndr_push
*ndr
, int flags
, const struct samr_AddGroupMember
*r
)
7637 if (flags
& NDR_IN
) {
7638 if (r
->in
.group_handle
== NULL
) {
7639 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7641 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
7642 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.rid
));
7643 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.flags
));
7645 if (flags
& NDR_OUT
) {
7646 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7648 return NDR_ERR_SUCCESS
;
7651 static enum ndr_err_code
ndr_pull_samr_AddGroupMember(struct ndr_pull
*ndr
, int flags
, struct samr_AddGroupMember
*r
)
7653 TALLOC_CTX
*_mem_save_group_handle_0
;
7654 if (flags
& NDR_IN
) {
7655 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7656 NDR_PULL_ALLOC(ndr
, r
->in
.group_handle
);
7658 _mem_save_group_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7659 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.group_handle
, LIBNDR_FLAG_REF_ALLOC
);
7660 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
7661 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_group_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7662 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.rid
));
7663 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.flags
));
7665 if (flags
& NDR_OUT
) {
7666 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7668 return NDR_ERR_SUCCESS
;
7671 _PUBLIC_
void ndr_print_samr_AddGroupMember(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_AddGroupMember
*r
)
7673 ndr_print_struct(ndr
, name
, "samr_AddGroupMember");
7675 if (flags
& NDR_SET_VALUES
) {
7676 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7678 if (flags
& NDR_IN
) {
7679 ndr_print_struct(ndr
, "in", "samr_AddGroupMember");
7681 ndr_print_ptr(ndr
, "group_handle", r
->in
.group_handle
);
7683 ndr_print_policy_handle(ndr
, "group_handle", r
->in
.group_handle
);
7685 ndr_print_uint32(ndr
, "rid", r
->in
.rid
);
7686 ndr_print_uint32(ndr
, "flags", r
->in
.flags
);
7689 if (flags
& NDR_OUT
) {
7690 ndr_print_struct(ndr
, "out", "samr_AddGroupMember");
7692 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7698 static enum ndr_err_code
ndr_push_samr_DeleteDomainGroup(struct ndr_push
*ndr
, int flags
, const struct samr_DeleteDomainGroup
*r
)
7700 if (flags
& NDR_IN
) {
7701 if (r
->in
.group_handle
== NULL
) {
7702 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7704 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
7706 if (flags
& NDR_OUT
) {
7707 if (r
->out
.group_handle
== NULL
) {
7708 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7710 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.group_handle
));
7711 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7713 return NDR_ERR_SUCCESS
;
7716 static enum ndr_err_code
ndr_pull_samr_DeleteDomainGroup(struct ndr_pull
*ndr
, int flags
, struct samr_DeleteDomainGroup
*r
)
7718 TALLOC_CTX
*_mem_save_group_handle_0
;
7719 if (flags
& NDR_IN
) {
7720 ZERO_STRUCT(r
->out
);
7722 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7723 NDR_PULL_ALLOC(ndr
, r
->in
.group_handle
);
7725 _mem_save_group_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7726 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.group_handle
, LIBNDR_FLAG_REF_ALLOC
);
7727 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
7728 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_group_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7729 NDR_PULL_ALLOC(ndr
, r
->out
.group_handle
);
7730 *r
->out
.group_handle
= *r
->in
.group_handle
;
7732 if (flags
& NDR_OUT
) {
7733 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7734 NDR_PULL_ALLOC(ndr
, r
->out
.group_handle
);
7736 _mem_save_group_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7737 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.group_handle
, LIBNDR_FLAG_REF_ALLOC
);
7738 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.group_handle
));
7739 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_group_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7740 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7742 return NDR_ERR_SUCCESS
;
7745 _PUBLIC_
void ndr_print_samr_DeleteDomainGroup(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_DeleteDomainGroup
*r
)
7747 ndr_print_struct(ndr
, name
, "samr_DeleteDomainGroup");
7749 if (flags
& NDR_SET_VALUES
) {
7750 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7752 if (flags
& NDR_IN
) {
7753 ndr_print_struct(ndr
, "in", "samr_DeleteDomainGroup");
7755 ndr_print_ptr(ndr
, "group_handle", r
->in
.group_handle
);
7757 ndr_print_policy_handle(ndr
, "group_handle", r
->in
.group_handle
);
7761 if (flags
& NDR_OUT
) {
7762 ndr_print_struct(ndr
, "out", "samr_DeleteDomainGroup");
7764 ndr_print_ptr(ndr
, "group_handle", r
->out
.group_handle
);
7766 ndr_print_policy_handle(ndr
, "group_handle", r
->out
.group_handle
);
7768 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7774 static enum ndr_err_code
ndr_push_samr_DeleteGroupMember(struct ndr_push
*ndr
, int flags
, const struct samr_DeleteGroupMember
*r
)
7776 if (flags
& NDR_IN
) {
7777 if (r
->in
.group_handle
== NULL
) {
7778 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7780 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
7781 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.rid
));
7783 if (flags
& NDR_OUT
) {
7784 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7786 return NDR_ERR_SUCCESS
;
7789 static enum ndr_err_code
ndr_pull_samr_DeleteGroupMember(struct ndr_pull
*ndr
, int flags
, struct samr_DeleteGroupMember
*r
)
7791 TALLOC_CTX
*_mem_save_group_handle_0
;
7792 if (flags
& NDR_IN
) {
7793 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7794 NDR_PULL_ALLOC(ndr
, r
->in
.group_handle
);
7796 _mem_save_group_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7797 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.group_handle
, LIBNDR_FLAG_REF_ALLOC
);
7798 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
7799 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_group_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7800 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.rid
));
7802 if (flags
& NDR_OUT
) {
7803 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7805 return NDR_ERR_SUCCESS
;
7808 _PUBLIC_
void ndr_print_samr_DeleteGroupMember(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_DeleteGroupMember
*r
)
7810 ndr_print_struct(ndr
, name
, "samr_DeleteGroupMember");
7812 if (flags
& NDR_SET_VALUES
) {
7813 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7815 if (flags
& NDR_IN
) {
7816 ndr_print_struct(ndr
, "in", "samr_DeleteGroupMember");
7818 ndr_print_ptr(ndr
, "group_handle", r
->in
.group_handle
);
7820 ndr_print_policy_handle(ndr
, "group_handle", r
->in
.group_handle
);
7822 ndr_print_uint32(ndr
, "rid", r
->in
.rid
);
7825 if (flags
& NDR_OUT
) {
7826 ndr_print_struct(ndr
, "out", "samr_DeleteGroupMember");
7828 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7834 static enum ndr_err_code
ndr_push_samr_QueryGroupMember(struct ndr_push
*ndr
, int flags
, const struct samr_QueryGroupMember
*r
)
7836 if (flags
& NDR_IN
) {
7837 if (r
->in
.group_handle
== NULL
) {
7838 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7840 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
7842 if (flags
& NDR_OUT
) {
7843 if (r
->out
.rids
== NULL
) {
7844 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7846 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.rids
));
7848 NDR_CHECK(ndr_push_samr_RidTypeArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.rids
));
7850 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7852 return NDR_ERR_SUCCESS
;
7855 static enum ndr_err_code
ndr_pull_samr_QueryGroupMember(struct ndr_pull
*ndr
, int flags
, struct samr_QueryGroupMember
*r
)
7858 TALLOC_CTX
*_mem_save_group_handle_0
;
7859 TALLOC_CTX
*_mem_save_rids_0
;
7860 TALLOC_CTX
*_mem_save_rids_1
;
7861 if (flags
& NDR_IN
) {
7862 ZERO_STRUCT(r
->out
);
7864 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7865 NDR_PULL_ALLOC(ndr
, r
->in
.group_handle
);
7867 _mem_save_group_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7868 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.group_handle
, LIBNDR_FLAG_REF_ALLOC
);
7869 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
7870 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_group_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7871 NDR_PULL_ALLOC(ndr
, r
->out
.rids
);
7872 ZERO_STRUCTP(r
->out
.rids
);
7874 if (flags
& NDR_OUT
) {
7875 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7876 NDR_PULL_ALLOC(ndr
, r
->out
.rids
);
7878 _mem_save_rids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7879 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.rids
, LIBNDR_FLAG_REF_ALLOC
);
7880 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_rids
));
7882 NDR_PULL_ALLOC(ndr
, *r
->out
.rids
);
7884 *r
->out
.rids
= NULL
;
7887 _mem_save_rids_1
= NDR_PULL_GET_MEM_CTX(ndr
);
7888 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.rids
, 0);
7889 NDR_CHECK(ndr_pull_samr_RidTypeArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.rids
));
7890 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rids_1
, 0);
7892 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rids_0
, LIBNDR_FLAG_REF_ALLOC
);
7893 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7895 return NDR_ERR_SUCCESS
;
7898 _PUBLIC_
void ndr_print_samr_QueryGroupMember(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_QueryGroupMember
*r
)
7900 ndr_print_struct(ndr
, name
, "samr_QueryGroupMember");
7902 if (flags
& NDR_SET_VALUES
) {
7903 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7905 if (flags
& NDR_IN
) {
7906 ndr_print_struct(ndr
, "in", "samr_QueryGroupMember");
7908 ndr_print_ptr(ndr
, "group_handle", r
->in
.group_handle
);
7910 ndr_print_policy_handle(ndr
, "group_handle", r
->in
.group_handle
);
7914 if (flags
& NDR_OUT
) {
7915 ndr_print_struct(ndr
, "out", "samr_QueryGroupMember");
7917 ndr_print_ptr(ndr
, "rids", r
->out
.rids
);
7919 ndr_print_ptr(ndr
, "rids", *r
->out
.rids
);
7922 ndr_print_samr_RidTypeArray(ndr
, "rids", *r
->out
.rids
);
7926 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7932 static enum ndr_err_code
ndr_push_samr_SetMemberAttributesOfGroup(struct ndr_push
*ndr
, int flags
, const struct samr_SetMemberAttributesOfGroup
*r
)
7934 if (flags
& NDR_IN
) {
7935 if (r
->in
.group_handle
== NULL
) {
7936 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7938 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
7939 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.unknown1
));
7940 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.unknown2
));
7942 if (flags
& NDR_OUT
) {
7943 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7945 return NDR_ERR_SUCCESS
;
7948 static enum ndr_err_code
ndr_pull_samr_SetMemberAttributesOfGroup(struct ndr_pull
*ndr
, int flags
, struct samr_SetMemberAttributesOfGroup
*r
)
7950 TALLOC_CTX
*_mem_save_group_handle_0
;
7951 if (flags
& NDR_IN
) {
7952 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7953 NDR_PULL_ALLOC(ndr
, r
->in
.group_handle
);
7955 _mem_save_group_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7956 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.group_handle
, LIBNDR_FLAG_REF_ALLOC
);
7957 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
7958 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_group_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7959 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.unknown1
));
7960 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.unknown2
));
7962 if (flags
& NDR_OUT
) {
7963 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7965 return NDR_ERR_SUCCESS
;
7968 _PUBLIC_
void ndr_print_samr_SetMemberAttributesOfGroup(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_SetMemberAttributesOfGroup
*r
)
7970 ndr_print_struct(ndr
, name
, "samr_SetMemberAttributesOfGroup");
7972 if (flags
& NDR_SET_VALUES
) {
7973 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7975 if (flags
& NDR_IN
) {
7976 ndr_print_struct(ndr
, "in", "samr_SetMemberAttributesOfGroup");
7978 ndr_print_ptr(ndr
, "group_handle", r
->in
.group_handle
);
7980 ndr_print_policy_handle(ndr
, "group_handle", r
->in
.group_handle
);
7982 ndr_print_uint32(ndr
, "unknown1", r
->in
.unknown1
);
7983 ndr_print_uint32(ndr
, "unknown2", r
->in
.unknown2
);
7986 if (flags
& NDR_OUT
) {
7987 ndr_print_struct(ndr
, "out", "samr_SetMemberAttributesOfGroup");
7989 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7995 static enum ndr_err_code
ndr_push_samr_OpenAlias(struct ndr_push
*ndr
, int flags
, const struct samr_OpenAlias
*r
)
7997 if (flags
& NDR_IN
) {
7998 if (r
->in
.domain_handle
== NULL
) {
7999 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8001 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
8002 NDR_CHECK(ndr_push_samr_AliasAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
8003 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.rid
));
8005 if (flags
& NDR_OUT
) {
8006 if (r
->out
.alias_handle
== NULL
) {
8007 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8009 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.alias_handle
));
8010 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8012 return NDR_ERR_SUCCESS
;
8015 static enum ndr_err_code
ndr_pull_samr_OpenAlias(struct ndr_pull
*ndr
, int flags
, struct samr_OpenAlias
*r
)
8017 TALLOC_CTX
*_mem_save_domain_handle_0
;
8018 TALLOC_CTX
*_mem_save_alias_handle_0
;
8019 if (flags
& NDR_IN
) {
8020 ZERO_STRUCT(r
->out
);
8022 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8023 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
8025 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8026 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
8027 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
8028 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8029 NDR_CHECK(ndr_pull_samr_AliasAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
8030 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.rid
));
8031 NDR_PULL_ALLOC(ndr
, r
->out
.alias_handle
);
8032 ZERO_STRUCTP(r
->out
.alias_handle
);
8034 if (flags
& NDR_OUT
) {
8035 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8036 NDR_PULL_ALLOC(ndr
, r
->out
.alias_handle
);
8038 _mem_save_alias_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8039 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.alias_handle
, LIBNDR_FLAG_REF_ALLOC
);
8040 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.alias_handle
));
8041 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_alias_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8042 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8044 return NDR_ERR_SUCCESS
;
8047 _PUBLIC_
void ndr_print_samr_OpenAlias(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_OpenAlias
*r
)
8049 ndr_print_struct(ndr
, name
, "samr_OpenAlias");
8051 if (flags
& NDR_SET_VALUES
) {
8052 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8054 if (flags
& NDR_IN
) {
8055 ndr_print_struct(ndr
, "in", "samr_OpenAlias");
8057 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
8059 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
8061 ndr_print_samr_AliasAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
8062 ndr_print_uint32(ndr
, "rid", r
->in
.rid
);
8065 if (flags
& NDR_OUT
) {
8066 ndr_print_struct(ndr
, "out", "samr_OpenAlias");
8068 ndr_print_ptr(ndr
, "alias_handle", r
->out
.alias_handle
);
8070 ndr_print_policy_handle(ndr
, "alias_handle", r
->out
.alias_handle
);
8072 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8078 static enum ndr_err_code
ndr_push_samr_QueryAliasInfo(struct ndr_push
*ndr
, int flags
, const struct samr_QueryAliasInfo
*r
)
8080 if (flags
& NDR_IN
) {
8081 if (r
->in
.alias_handle
== NULL
) {
8082 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8084 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
8085 NDR_CHECK(ndr_push_samr_AliasInfoEnum(ndr
, NDR_SCALARS
, r
->in
.level
));
8087 if (flags
& NDR_OUT
) {
8088 if (r
->out
.info
== NULL
) {
8089 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8091 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.info
));
8093 NDR_CHECK(ndr_push_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
8094 NDR_CHECK(ndr_push_samr_AliasInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
8096 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8098 return NDR_ERR_SUCCESS
;
8101 static enum ndr_err_code
ndr_pull_samr_QueryAliasInfo(struct ndr_pull
*ndr
, int flags
, struct samr_QueryAliasInfo
*r
)
8104 TALLOC_CTX
*_mem_save_alias_handle_0
;
8105 TALLOC_CTX
*_mem_save_info_0
;
8106 TALLOC_CTX
*_mem_save_info_1
;
8107 if (flags
& NDR_IN
) {
8108 ZERO_STRUCT(r
->out
);
8110 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8111 NDR_PULL_ALLOC(ndr
, r
->in
.alias_handle
);
8113 _mem_save_alias_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8114 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.alias_handle
, LIBNDR_FLAG_REF_ALLOC
);
8115 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
8116 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_alias_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8117 NDR_CHECK(ndr_pull_samr_AliasInfoEnum(ndr
, NDR_SCALARS
, &r
->in
.level
));
8118 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
8119 ZERO_STRUCTP(r
->out
.info
);
8121 if (flags
& NDR_OUT
) {
8122 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8123 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
8125 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8126 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
8127 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
8129 NDR_PULL_ALLOC(ndr
, *r
->out
.info
);
8131 *r
->out
.info
= NULL
;
8134 _mem_save_info_1
= NDR_PULL_GET_MEM_CTX(ndr
);
8135 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.info
, 0);
8136 NDR_CHECK(ndr_pull_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
8137 NDR_CHECK(ndr_pull_samr_AliasInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
8138 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_1
, 0);
8140 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
8141 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8143 return NDR_ERR_SUCCESS
;
8146 _PUBLIC_
void ndr_print_samr_QueryAliasInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_QueryAliasInfo
*r
)
8148 ndr_print_struct(ndr
, name
, "samr_QueryAliasInfo");
8150 if (flags
& NDR_SET_VALUES
) {
8151 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8153 if (flags
& NDR_IN
) {
8154 ndr_print_struct(ndr
, "in", "samr_QueryAliasInfo");
8156 ndr_print_ptr(ndr
, "alias_handle", r
->in
.alias_handle
);
8158 ndr_print_policy_handle(ndr
, "alias_handle", r
->in
.alias_handle
);
8160 ndr_print_samr_AliasInfoEnum(ndr
, "level", r
->in
.level
);
8163 if (flags
& NDR_OUT
) {
8164 ndr_print_struct(ndr
, "out", "samr_QueryAliasInfo");
8166 ndr_print_ptr(ndr
, "info", r
->out
.info
);
8168 ndr_print_ptr(ndr
, "info", *r
->out
.info
);
8171 ndr_print_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
);
8172 ndr_print_samr_AliasInfo(ndr
, "info", *r
->out
.info
);
8176 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8182 static enum ndr_err_code
ndr_push_samr_SetAliasInfo(struct ndr_push
*ndr
, int flags
, const struct samr_SetAliasInfo
*r
)
8184 if (flags
& NDR_IN
) {
8185 if (r
->in
.alias_handle
== NULL
) {
8186 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8188 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
8189 NDR_CHECK(ndr_push_samr_AliasInfoEnum(ndr
, NDR_SCALARS
, r
->in
.level
));
8190 if (r
->in
.info
== NULL
) {
8191 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8193 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
8194 NDR_CHECK(ndr_push_samr_AliasInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
8196 if (flags
& NDR_OUT
) {
8197 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8199 return NDR_ERR_SUCCESS
;
8202 static enum ndr_err_code
ndr_pull_samr_SetAliasInfo(struct ndr_pull
*ndr
, int flags
, struct samr_SetAliasInfo
*r
)
8204 TALLOC_CTX
*_mem_save_alias_handle_0
;
8205 TALLOC_CTX
*_mem_save_info_0
;
8206 if (flags
& NDR_IN
) {
8207 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8208 NDR_PULL_ALLOC(ndr
, r
->in
.alias_handle
);
8210 _mem_save_alias_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8211 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.alias_handle
, LIBNDR_FLAG_REF_ALLOC
);
8212 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
8213 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_alias_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8214 NDR_CHECK(ndr_pull_samr_AliasInfoEnum(ndr
, NDR_SCALARS
, &r
->in
.level
));
8215 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8216 NDR_PULL_ALLOC(ndr
, r
->in
.info
);
8218 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8219 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.info
, LIBNDR_FLAG_REF_ALLOC
);
8220 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
8221 NDR_CHECK(ndr_pull_samr_AliasInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
8222 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
8224 if (flags
& NDR_OUT
) {
8225 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8227 return NDR_ERR_SUCCESS
;
8230 _PUBLIC_
void ndr_print_samr_SetAliasInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_SetAliasInfo
*r
)
8232 ndr_print_struct(ndr
, name
, "samr_SetAliasInfo");
8234 if (flags
& NDR_SET_VALUES
) {
8235 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8237 if (flags
& NDR_IN
) {
8238 ndr_print_struct(ndr
, "in", "samr_SetAliasInfo");
8240 ndr_print_ptr(ndr
, "alias_handle", r
->in
.alias_handle
);
8242 ndr_print_policy_handle(ndr
, "alias_handle", r
->in
.alias_handle
);
8244 ndr_print_samr_AliasInfoEnum(ndr
, "level", r
->in
.level
);
8245 ndr_print_ptr(ndr
, "info", r
->in
.info
);
8247 ndr_print_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
);
8248 ndr_print_samr_AliasInfo(ndr
, "info", r
->in
.info
);
8252 if (flags
& NDR_OUT
) {
8253 ndr_print_struct(ndr
, "out", "samr_SetAliasInfo");
8255 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8261 static enum ndr_err_code
ndr_push_samr_DeleteDomAlias(struct ndr_push
*ndr
, int flags
, const struct samr_DeleteDomAlias
*r
)
8263 if (flags
& NDR_IN
) {
8264 if (r
->in
.alias_handle
== NULL
) {
8265 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8267 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
8269 if (flags
& NDR_OUT
) {
8270 if (r
->out
.alias_handle
== NULL
) {
8271 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8273 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.alias_handle
));
8274 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8276 return NDR_ERR_SUCCESS
;
8279 static enum ndr_err_code
ndr_pull_samr_DeleteDomAlias(struct ndr_pull
*ndr
, int flags
, struct samr_DeleteDomAlias
*r
)
8281 TALLOC_CTX
*_mem_save_alias_handle_0
;
8282 if (flags
& NDR_IN
) {
8283 ZERO_STRUCT(r
->out
);
8285 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8286 NDR_PULL_ALLOC(ndr
, r
->in
.alias_handle
);
8288 _mem_save_alias_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8289 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.alias_handle
, LIBNDR_FLAG_REF_ALLOC
);
8290 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
8291 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_alias_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8292 NDR_PULL_ALLOC(ndr
, r
->out
.alias_handle
);
8293 *r
->out
.alias_handle
= *r
->in
.alias_handle
;
8295 if (flags
& NDR_OUT
) {
8296 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8297 NDR_PULL_ALLOC(ndr
, r
->out
.alias_handle
);
8299 _mem_save_alias_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8300 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.alias_handle
, LIBNDR_FLAG_REF_ALLOC
);
8301 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.alias_handle
));
8302 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_alias_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8303 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8305 return NDR_ERR_SUCCESS
;
8308 _PUBLIC_
void ndr_print_samr_DeleteDomAlias(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_DeleteDomAlias
*r
)
8310 ndr_print_struct(ndr
, name
, "samr_DeleteDomAlias");
8312 if (flags
& NDR_SET_VALUES
) {
8313 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8315 if (flags
& NDR_IN
) {
8316 ndr_print_struct(ndr
, "in", "samr_DeleteDomAlias");
8318 ndr_print_ptr(ndr
, "alias_handle", r
->in
.alias_handle
);
8320 ndr_print_policy_handle(ndr
, "alias_handle", r
->in
.alias_handle
);
8324 if (flags
& NDR_OUT
) {
8325 ndr_print_struct(ndr
, "out", "samr_DeleteDomAlias");
8327 ndr_print_ptr(ndr
, "alias_handle", r
->out
.alias_handle
);
8329 ndr_print_policy_handle(ndr
, "alias_handle", r
->out
.alias_handle
);
8331 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8337 static enum ndr_err_code
ndr_push_samr_AddAliasMember(struct ndr_push
*ndr
, int flags
, const struct samr_AddAliasMember
*r
)
8339 if (flags
& NDR_IN
) {
8340 if (r
->in
.alias_handle
== NULL
) {
8341 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8343 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
8344 if (r
->in
.sid
== NULL
) {
8345 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8347 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
8349 if (flags
& NDR_OUT
) {
8350 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8352 return NDR_ERR_SUCCESS
;
8355 static enum ndr_err_code
ndr_pull_samr_AddAliasMember(struct ndr_pull
*ndr
, int flags
, struct samr_AddAliasMember
*r
)
8357 TALLOC_CTX
*_mem_save_alias_handle_0
;
8358 TALLOC_CTX
*_mem_save_sid_0
;
8359 if (flags
& NDR_IN
) {
8360 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8361 NDR_PULL_ALLOC(ndr
, r
->in
.alias_handle
);
8363 _mem_save_alias_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8364 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.alias_handle
, LIBNDR_FLAG_REF_ALLOC
);
8365 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
8366 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_alias_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8367 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8368 NDR_PULL_ALLOC(ndr
, r
->in
.sid
);
8370 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8371 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sid
, LIBNDR_FLAG_REF_ALLOC
);
8372 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
8373 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, LIBNDR_FLAG_REF_ALLOC
);
8375 if (flags
& NDR_OUT
) {
8376 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8378 return NDR_ERR_SUCCESS
;
8381 _PUBLIC_
void ndr_print_samr_AddAliasMember(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_AddAliasMember
*r
)
8383 ndr_print_struct(ndr
, name
, "samr_AddAliasMember");
8385 if (flags
& NDR_SET_VALUES
) {
8386 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8388 if (flags
& NDR_IN
) {
8389 ndr_print_struct(ndr
, "in", "samr_AddAliasMember");
8391 ndr_print_ptr(ndr
, "alias_handle", r
->in
.alias_handle
);
8393 ndr_print_policy_handle(ndr
, "alias_handle", r
->in
.alias_handle
);
8395 ndr_print_ptr(ndr
, "sid", r
->in
.sid
);
8397 ndr_print_dom_sid2(ndr
, "sid", r
->in
.sid
);
8401 if (flags
& NDR_OUT
) {
8402 ndr_print_struct(ndr
, "out", "samr_AddAliasMember");
8404 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8410 static enum ndr_err_code
ndr_push_samr_DeleteAliasMember(struct ndr_push
*ndr
, int flags
, const struct samr_DeleteAliasMember
*r
)
8412 if (flags
& NDR_IN
) {
8413 if (r
->in
.alias_handle
== NULL
) {
8414 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8416 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
8417 if (r
->in
.sid
== NULL
) {
8418 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8420 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
8422 if (flags
& NDR_OUT
) {
8423 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8425 return NDR_ERR_SUCCESS
;
8428 static enum ndr_err_code
ndr_pull_samr_DeleteAliasMember(struct ndr_pull
*ndr
, int flags
, struct samr_DeleteAliasMember
*r
)
8430 TALLOC_CTX
*_mem_save_alias_handle_0
;
8431 TALLOC_CTX
*_mem_save_sid_0
;
8432 if (flags
& NDR_IN
) {
8433 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8434 NDR_PULL_ALLOC(ndr
, r
->in
.alias_handle
);
8436 _mem_save_alias_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8437 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.alias_handle
, LIBNDR_FLAG_REF_ALLOC
);
8438 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
8439 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_alias_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8440 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8441 NDR_PULL_ALLOC(ndr
, r
->in
.sid
);
8443 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8444 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sid
, LIBNDR_FLAG_REF_ALLOC
);
8445 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
8446 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, LIBNDR_FLAG_REF_ALLOC
);
8448 if (flags
& NDR_OUT
) {
8449 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8451 return NDR_ERR_SUCCESS
;
8454 _PUBLIC_
void ndr_print_samr_DeleteAliasMember(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_DeleteAliasMember
*r
)
8456 ndr_print_struct(ndr
, name
, "samr_DeleteAliasMember");
8458 if (flags
& NDR_SET_VALUES
) {
8459 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8461 if (flags
& NDR_IN
) {
8462 ndr_print_struct(ndr
, "in", "samr_DeleteAliasMember");
8464 ndr_print_ptr(ndr
, "alias_handle", r
->in
.alias_handle
);
8466 ndr_print_policy_handle(ndr
, "alias_handle", r
->in
.alias_handle
);
8468 ndr_print_ptr(ndr
, "sid", r
->in
.sid
);
8470 ndr_print_dom_sid2(ndr
, "sid", r
->in
.sid
);
8474 if (flags
& NDR_OUT
) {
8475 ndr_print_struct(ndr
, "out", "samr_DeleteAliasMember");
8477 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8483 static enum ndr_err_code
ndr_push_samr_GetMembersInAlias(struct ndr_push
*ndr
, int flags
, const struct samr_GetMembersInAlias
*r
)
8485 if (flags
& NDR_IN
) {
8486 if (r
->in
.alias_handle
== NULL
) {
8487 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8489 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
8491 if (flags
& NDR_OUT
) {
8492 if (r
->out
.sids
== NULL
) {
8493 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8495 NDR_CHECK(ndr_push_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.sids
));
8496 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8498 return NDR_ERR_SUCCESS
;
8501 static enum ndr_err_code
ndr_pull_samr_GetMembersInAlias(struct ndr_pull
*ndr
, int flags
, struct samr_GetMembersInAlias
*r
)
8503 TALLOC_CTX
*_mem_save_alias_handle_0
;
8504 TALLOC_CTX
*_mem_save_sids_0
;
8505 if (flags
& NDR_IN
) {
8506 ZERO_STRUCT(r
->out
);
8508 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8509 NDR_PULL_ALLOC(ndr
, r
->in
.alias_handle
);
8511 _mem_save_alias_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8512 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.alias_handle
, LIBNDR_FLAG_REF_ALLOC
);
8513 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
8514 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_alias_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8515 NDR_PULL_ALLOC(ndr
, r
->out
.sids
);
8516 ZERO_STRUCTP(r
->out
.sids
);
8518 if (flags
& NDR_OUT
) {
8519 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8520 NDR_PULL_ALLOC(ndr
, r
->out
.sids
);
8522 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8523 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sids
, LIBNDR_FLAG_REF_ALLOC
);
8524 NDR_CHECK(ndr_pull_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.sids
));
8525 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, LIBNDR_FLAG_REF_ALLOC
);
8526 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8528 return NDR_ERR_SUCCESS
;
8531 _PUBLIC_
void ndr_print_samr_GetMembersInAlias(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_GetMembersInAlias
*r
)
8533 ndr_print_struct(ndr
, name
, "samr_GetMembersInAlias");
8535 if (flags
& NDR_SET_VALUES
) {
8536 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8538 if (flags
& NDR_IN
) {
8539 ndr_print_struct(ndr
, "in", "samr_GetMembersInAlias");
8541 ndr_print_ptr(ndr
, "alias_handle", r
->in
.alias_handle
);
8543 ndr_print_policy_handle(ndr
, "alias_handle", r
->in
.alias_handle
);
8547 if (flags
& NDR_OUT
) {
8548 ndr_print_struct(ndr
, "out", "samr_GetMembersInAlias");
8550 ndr_print_ptr(ndr
, "sids", r
->out
.sids
);
8552 ndr_print_lsa_SidArray(ndr
, "sids", r
->out
.sids
);
8554 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8560 _PUBLIC_
enum ndr_err_code
ndr_push_samr_OpenUser(struct ndr_push
*ndr
, int flags
, const struct samr_OpenUser
*r
)
8562 if (flags
& NDR_IN
) {
8563 if (r
->in
.domain_handle
== NULL
) {
8564 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8566 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
8567 NDR_CHECK(ndr_push_samr_UserAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
8568 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.rid
));
8570 if (flags
& NDR_OUT
) {
8571 if (r
->out
.user_handle
== NULL
) {
8572 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8574 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.user_handle
));
8575 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8577 return NDR_ERR_SUCCESS
;
8580 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_OpenUser(struct ndr_pull
*ndr
, int flags
, struct samr_OpenUser
*r
)
8582 TALLOC_CTX
*_mem_save_domain_handle_0
;
8583 TALLOC_CTX
*_mem_save_user_handle_0
;
8584 if (flags
& NDR_IN
) {
8585 ZERO_STRUCT(r
->out
);
8587 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8588 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
8590 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8591 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
8592 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
8593 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8594 NDR_CHECK(ndr_pull_samr_UserAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
8595 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.rid
));
8596 NDR_PULL_ALLOC(ndr
, r
->out
.user_handle
);
8597 ZERO_STRUCTP(r
->out
.user_handle
);
8599 if (flags
& NDR_OUT
) {
8600 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8601 NDR_PULL_ALLOC(ndr
, r
->out
.user_handle
);
8603 _mem_save_user_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8604 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.user_handle
, LIBNDR_FLAG_REF_ALLOC
);
8605 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.user_handle
));
8606 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_user_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8607 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8609 return NDR_ERR_SUCCESS
;
8612 _PUBLIC_
void ndr_print_samr_OpenUser(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_OpenUser
*r
)
8614 ndr_print_struct(ndr
, name
, "samr_OpenUser");
8616 if (flags
& NDR_SET_VALUES
) {
8617 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8619 if (flags
& NDR_IN
) {
8620 ndr_print_struct(ndr
, "in", "samr_OpenUser");
8622 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
8624 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
8626 ndr_print_samr_UserAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
8627 ndr_print_uint32(ndr
, "rid", r
->in
.rid
);
8630 if (flags
& NDR_OUT
) {
8631 ndr_print_struct(ndr
, "out", "samr_OpenUser");
8633 ndr_print_ptr(ndr
, "user_handle", r
->out
.user_handle
);
8635 ndr_print_policy_handle(ndr
, "user_handle", r
->out
.user_handle
);
8637 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8643 static enum ndr_err_code
ndr_push_samr_DeleteUser(struct ndr_push
*ndr
, int flags
, const struct samr_DeleteUser
*r
)
8645 if (flags
& NDR_IN
) {
8646 if (r
->in
.user_handle
== NULL
) {
8647 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8649 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
8651 if (flags
& NDR_OUT
) {
8652 if (r
->out
.user_handle
== NULL
) {
8653 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8655 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.user_handle
));
8656 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8658 return NDR_ERR_SUCCESS
;
8661 static enum ndr_err_code
ndr_pull_samr_DeleteUser(struct ndr_pull
*ndr
, int flags
, struct samr_DeleteUser
*r
)
8663 TALLOC_CTX
*_mem_save_user_handle_0
;
8664 if (flags
& NDR_IN
) {
8665 ZERO_STRUCT(r
->out
);
8667 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8668 NDR_PULL_ALLOC(ndr
, r
->in
.user_handle
);
8670 _mem_save_user_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8671 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.user_handle
, LIBNDR_FLAG_REF_ALLOC
);
8672 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
8673 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_user_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8674 NDR_PULL_ALLOC(ndr
, r
->out
.user_handle
);
8675 *r
->out
.user_handle
= *r
->in
.user_handle
;
8677 if (flags
& NDR_OUT
) {
8678 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8679 NDR_PULL_ALLOC(ndr
, r
->out
.user_handle
);
8681 _mem_save_user_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8682 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.user_handle
, LIBNDR_FLAG_REF_ALLOC
);
8683 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.user_handle
));
8684 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_user_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8685 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8687 return NDR_ERR_SUCCESS
;
8690 _PUBLIC_
void ndr_print_samr_DeleteUser(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_DeleteUser
*r
)
8692 ndr_print_struct(ndr
, name
, "samr_DeleteUser");
8694 if (flags
& NDR_SET_VALUES
) {
8695 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8697 if (flags
& NDR_IN
) {
8698 ndr_print_struct(ndr
, "in", "samr_DeleteUser");
8700 ndr_print_ptr(ndr
, "user_handle", r
->in
.user_handle
);
8702 ndr_print_policy_handle(ndr
, "user_handle", r
->in
.user_handle
);
8706 if (flags
& NDR_OUT
) {
8707 ndr_print_struct(ndr
, "out", "samr_DeleteUser");
8709 ndr_print_ptr(ndr
, "user_handle", r
->out
.user_handle
);
8711 ndr_print_policy_handle(ndr
, "user_handle", r
->out
.user_handle
);
8713 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8719 _PUBLIC_
enum ndr_err_code
ndr_push_samr_QueryUserInfo(struct ndr_push
*ndr
, int flags
, const struct samr_QueryUserInfo
*r
)
8721 if (flags
& NDR_IN
) {
8722 if (r
->in
.user_handle
== NULL
) {
8723 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8725 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
8726 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->in
.level
));
8728 if (flags
& NDR_OUT
) {
8729 if (r
->out
.info
== NULL
) {
8730 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8732 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.info
));
8734 NDR_CHECK(ndr_push_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
8735 NDR_CHECK(ndr_push_samr_UserInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
8737 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8739 return NDR_ERR_SUCCESS
;
8742 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_QueryUserInfo(struct ndr_pull
*ndr
, int flags
, struct samr_QueryUserInfo
*r
)
8745 TALLOC_CTX
*_mem_save_user_handle_0
;
8746 TALLOC_CTX
*_mem_save_info_0
;
8747 TALLOC_CTX
*_mem_save_info_1
;
8748 if (flags
& NDR_IN
) {
8749 ZERO_STRUCT(r
->out
);
8751 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8752 NDR_PULL_ALLOC(ndr
, r
->in
.user_handle
);
8754 _mem_save_user_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8755 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.user_handle
, LIBNDR_FLAG_REF_ALLOC
);
8756 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
8757 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_user_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8758 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->in
.level
));
8759 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
8760 ZERO_STRUCTP(r
->out
.info
);
8762 if (flags
& NDR_OUT
) {
8763 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8764 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
8766 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8767 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
8768 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
8770 NDR_PULL_ALLOC(ndr
, *r
->out
.info
);
8772 *r
->out
.info
= NULL
;
8775 _mem_save_info_1
= NDR_PULL_GET_MEM_CTX(ndr
);
8776 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.info
, 0);
8777 NDR_CHECK(ndr_pull_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
8778 NDR_CHECK(ndr_pull_samr_UserInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
8779 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_1
, 0);
8781 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
8782 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8784 return NDR_ERR_SUCCESS
;
8787 _PUBLIC_
void ndr_print_samr_QueryUserInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_QueryUserInfo
*r
)
8789 ndr_print_struct(ndr
, name
, "samr_QueryUserInfo");
8791 if (flags
& NDR_SET_VALUES
) {
8792 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8794 if (flags
& NDR_IN
) {
8795 ndr_print_struct(ndr
, "in", "samr_QueryUserInfo");
8797 ndr_print_ptr(ndr
, "user_handle", r
->in
.user_handle
);
8799 ndr_print_policy_handle(ndr
, "user_handle", r
->in
.user_handle
);
8801 ndr_print_uint16(ndr
, "level", r
->in
.level
);
8804 if (flags
& NDR_OUT
) {
8805 ndr_print_struct(ndr
, "out", "samr_QueryUserInfo");
8807 ndr_print_ptr(ndr
, "info", r
->out
.info
);
8809 ndr_print_ptr(ndr
, "info", *r
->out
.info
);
8812 ndr_print_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
);
8813 ndr_print_samr_UserInfo(ndr
, "info", *r
->out
.info
);
8817 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8823 _PUBLIC_
enum ndr_err_code
ndr_push_samr_SetUserInfo(struct ndr_push
*ndr
, int flags
, const struct samr_SetUserInfo
*r
)
8825 if (flags
& NDR_IN
) {
8826 if (r
->in
.user_handle
== NULL
) {
8827 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8829 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
8830 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->in
.level
));
8831 if (r
->in
.info
== NULL
) {
8832 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8834 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
8835 NDR_CHECK(ndr_push_samr_UserInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
8837 if (flags
& NDR_OUT
) {
8838 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8840 return NDR_ERR_SUCCESS
;
8843 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_SetUserInfo(struct ndr_pull
*ndr
, int flags
, struct samr_SetUserInfo
*r
)
8845 TALLOC_CTX
*_mem_save_user_handle_0
;
8846 TALLOC_CTX
*_mem_save_info_0
;
8847 if (flags
& NDR_IN
) {
8848 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8849 NDR_PULL_ALLOC(ndr
, r
->in
.user_handle
);
8851 _mem_save_user_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8852 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.user_handle
, LIBNDR_FLAG_REF_ALLOC
);
8853 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
8854 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_user_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8855 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->in
.level
));
8856 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8857 NDR_PULL_ALLOC(ndr
, r
->in
.info
);
8859 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8860 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.info
, LIBNDR_FLAG_REF_ALLOC
);
8861 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
8862 NDR_CHECK(ndr_pull_samr_UserInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
8863 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
8865 if (flags
& NDR_OUT
) {
8866 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8868 return NDR_ERR_SUCCESS
;
8871 _PUBLIC_
void ndr_print_samr_SetUserInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_SetUserInfo
*r
)
8873 ndr_print_struct(ndr
, name
, "samr_SetUserInfo");
8875 if (flags
& NDR_SET_VALUES
) {
8876 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8878 if (flags
& NDR_IN
) {
8879 ndr_print_struct(ndr
, "in", "samr_SetUserInfo");
8881 ndr_print_ptr(ndr
, "user_handle", r
->in
.user_handle
);
8883 ndr_print_policy_handle(ndr
, "user_handle", r
->in
.user_handle
);
8885 ndr_print_uint16(ndr
, "level", r
->in
.level
);
8886 ndr_print_ptr(ndr
, "info", r
->in
.info
);
8888 ndr_print_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
);
8889 ndr_print_samr_UserInfo(ndr
, "info", r
->in
.info
);
8893 if (flags
& NDR_OUT
) {
8894 ndr_print_struct(ndr
, "out", "samr_SetUserInfo");
8896 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8902 static enum ndr_err_code
ndr_push_samr_ChangePasswordUser(struct ndr_push
*ndr
, int flags
, const struct samr_ChangePasswordUser
*r
)
8904 if (flags
& NDR_IN
) {
8905 if (r
->in
.user_handle
== NULL
) {
8906 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8908 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
8909 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->in
.lm_present
));
8910 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.old_lm_crypted
));
8911 if (r
->in
.old_lm_crypted
) {
8912 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, r
->in
.old_lm_crypted
));
8914 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.new_lm_crypted
));
8915 if (r
->in
.new_lm_crypted
) {
8916 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, r
->in
.new_lm_crypted
));
8918 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->in
.nt_present
));
8919 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.old_nt_crypted
));
8920 if (r
->in
.old_nt_crypted
) {
8921 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, r
->in
.old_nt_crypted
));
8923 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.new_nt_crypted
));
8924 if (r
->in
.new_nt_crypted
) {
8925 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, r
->in
.new_nt_crypted
));
8927 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->in
.cross1_present
));
8928 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.nt_cross
));
8929 if (r
->in
.nt_cross
) {
8930 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, r
->in
.nt_cross
));
8932 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->in
.cross2_present
));
8933 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.lm_cross
));
8934 if (r
->in
.lm_cross
) {
8935 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, r
->in
.lm_cross
));
8938 if (flags
& NDR_OUT
) {
8939 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8941 return NDR_ERR_SUCCESS
;
8944 static enum ndr_err_code
ndr_pull_samr_ChangePasswordUser(struct ndr_pull
*ndr
, int flags
, struct samr_ChangePasswordUser
*r
)
8946 uint32_t _ptr_old_lm_crypted
;
8947 uint32_t _ptr_new_lm_crypted
;
8948 uint32_t _ptr_old_nt_crypted
;
8949 uint32_t _ptr_new_nt_crypted
;
8950 uint32_t _ptr_nt_cross
;
8951 uint32_t _ptr_lm_cross
;
8952 TALLOC_CTX
*_mem_save_user_handle_0
;
8953 TALLOC_CTX
*_mem_save_old_lm_crypted_0
;
8954 TALLOC_CTX
*_mem_save_new_lm_crypted_0
;
8955 TALLOC_CTX
*_mem_save_old_nt_crypted_0
;
8956 TALLOC_CTX
*_mem_save_new_nt_crypted_0
;
8957 TALLOC_CTX
*_mem_save_nt_cross_0
;
8958 TALLOC_CTX
*_mem_save_lm_cross_0
;
8959 if (flags
& NDR_IN
) {
8960 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8961 NDR_PULL_ALLOC(ndr
, r
->in
.user_handle
);
8963 _mem_save_user_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8964 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.user_handle
, LIBNDR_FLAG_REF_ALLOC
);
8965 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
8966 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_user_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8967 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->in
.lm_present
));
8968 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_old_lm_crypted
));
8969 if (_ptr_old_lm_crypted
) {
8970 NDR_PULL_ALLOC(ndr
, r
->in
.old_lm_crypted
);
8972 r
->in
.old_lm_crypted
= NULL
;
8974 if (r
->in
.old_lm_crypted
) {
8975 _mem_save_old_lm_crypted_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8976 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.old_lm_crypted
, 0);
8977 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, r
->in
.old_lm_crypted
));
8978 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_old_lm_crypted_0
, 0);
8980 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_new_lm_crypted
));
8981 if (_ptr_new_lm_crypted
) {
8982 NDR_PULL_ALLOC(ndr
, r
->in
.new_lm_crypted
);
8984 r
->in
.new_lm_crypted
= NULL
;
8986 if (r
->in
.new_lm_crypted
) {
8987 _mem_save_new_lm_crypted_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8988 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.new_lm_crypted
, 0);
8989 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, r
->in
.new_lm_crypted
));
8990 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_new_lm_crypted_0
, 0);
8992 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->in
.nt_present
));
8993 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_old_nt_crypted
));
8994 if (_ptr_old_nt_crypted
) {
8995 NDR_PULL_ALLOC(ndr
, r
->in
.old_nt_crypted
);
8997 r
->in
.old_nt_crypted
= NULL
;
8999 if (r
->in
.old_nt_crypted
) {
9000 _mem_save_old_nt_crypted_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9001 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.old_nt_crypted
, 0);
9002 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, r
->in
.old_nt_crypted
));
9003 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_old_nt_crypted_0
, 0);
9005 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_new_nt_crypted
));
9006 if (_ptr_new_nt_crypted
) {
9007 NDR_PULL_ALLOC(ndr
, r
->in
.new_nt_crypted
);
9009 r
->in
.new_nt_crypted
= NULL
;
9011 if (r
->in
.new_nt_crypted
) {
9012 _mem_save_new_nt_crypted_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9013 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.new_nt_crypted
, 0);
9014 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, r
->in
.new_nt_crypted
));
9015 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_new_nt_crypted_0
, 0);
9017 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->in
.cross1_present
));
9018 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_nt_cross
));
9019 if (_ptr_nt_cross
) {
9020 NDR_PULL_ALLOC(ndr
, r
->in
.nt_cross
);
9022 r
->in
.nt_cross
= NULL
;
9024 if (r
->in
.nt_cross
) {
9025 _mem_save_nt_cross_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9026 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.nt_cross
, 0);
9027 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, r
->in
.nt_cross
));
9028 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_nt_cross_0
, 0);
9030 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->in
.cross2_present
));
9031 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_lm_cross
));
9032 if (_ptr_lm_cross
) {
9033 NDR_PULL_ALLOC(ndr
, r
->in
.lm_cross
);
9035 r
->in
.lm_cross
= NULL
;
9037 if (r
->in
.lm_cross
) {
9038 _mem_save_lm_cross_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9039 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.lm_cross
, 0);
9040 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, r
->in
.lm_cross
));
9041 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_lm_cross_0
, 0);
9044 if (flags
& NDR_OUT
) {
9045 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9047 return NDR_ERR_SUCCESS
;
9050 _PUBLIC_
void ndr_print_samr_ChangePasswordUser(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_ChangePasswordUser
*r
)
9052 ndr_print_struct(ndr
, name
, "samr_ChangePasswordUser");
9054 if (flags
& NDR_SET_VALUES
) {
9055 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9057 if (flags
& NDR_IN
) {
9058 ndr_print_struct(ndr
, "in", "samr_ChangePasswordUser");
9060 ndr_print_ptr(ndr
, "user_handle", r
->in
.user_handle
);
9062 ndr_print_policy_handle(ndr
, "user_handle", r
->in
.user_handle
);
9064 ndr_print_uint8(ndr
, "lm_present", r
->in
.lm_present
);
9065 ndr_print_ptr(ndr
, "old_lm_crypted", r
->in
.old_lm_crypted
);
9067 if (r
->in
.old_lm_crypted
) {
9068 ndr_print_samr_Password(ndr
, "old_lm_crypted", r
->in
.old_lm_crypted
);
9071 ndr_print_ptr(ndr
, "new_lm_crypted", r
->in
.new_lm_crypted
);
9073 if (r
->in
.new_lm_crypted
) {
9074 ndr_print_samr_Password(ndr
, "new_lm_crypted", r
->in
.new_lm_crypted
);
9077 ndr_print_uint8(ndr
, "nt_present", r
->in
.nt_present
);
9078 ndr_print_ptr(ndr
, "old_nt_crypted", r
->in
.old_nt_crypted
);
9080 if (r
->in
.old_nt_crypted
) {
9081 ndr_print_samr_Password(ndr
, "old_nt_crypted", r
->in
.old_nt_crypted
);
9084 ndr_print_ptr(ndr
, "new_nt_crypted", r
->in
.new_nt_crypted
);
9086 if (r
->in
.new_nt_crypted
) {
9087 ndr_print_samr_Password(ndr
, "new_nt_crypted", r
->in
.new_nt_crypted
);
9090 ndr_print_uint8(ndr
, "cross1_present", r
->in
.cross1_present
);
9091 ndr_print_ptr(ndr
, "nt_cross", r
->in
.nt_cross
);
9093 if (r
->in
.nt_cross
) {
9094 ndr_print_samr_Password(ndr
, "nt_cross", r
->in
.nt_cross
);
9097 ndr_print_uint8(ndr
, "cross2_present", r
->in
.cross2_present
);
9098 ndr_print_ptr(ndr
, "lm_cross", r
->in
.lm_cross
);
9100 if (r
->in
.lm_cross
) {
9101 ndr_print_samr_Password(ndr
, "lm_cross", r
->in
.lm_cross
);
9106 if (flags
& NDR_OUT
) {
9107 ndr_print_struct(ndr
, "out", "samr_ChangePasswordUser");
9109 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9115 static enum ndr_err_code
ndr_push_samr_GetGroupsForUser(struct ndr_push
*ndr
, int flags
, const struct samr_GetGroupsForUser
*r
)
9117 if (flags
& NDR_IN
) {
9118 if (r
->in
.user_handle
== NULL
) {
9119 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9121 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
9123 if (flags
& NDR_OUT
) {
9124 if (r
->out
.rids
== NULL
) {
9125 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9127 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.rids
));
9129 NDR_CHECK(ndr_push_samr_RidWithAttributeArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.rids
));
9131 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9133 return NDR_ERR_SUCCESS
;
9136 static enum ndr_err_code
ndr_pull_samr_GetGroupsForUser(struct ndr_pull
*ndr
, int flags
, struct samr_GetGroupsForUser
*r
)
9139 TALLOC_CTX
*_mem_save_user_handle_0
;
9140 TALLOC_CTX
*_mem_save_rids_0
;
9141 TALLOC_CTX
*_mem_save_rids_1
;
9142 if (flags
& NDR_IN
) {
9143 ZERO_STRUCT(r
->out
);
9145 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9146 NDR_PULL_ALLOC(ndr
, r
->in
.user_handle
);
9148 _mem_save_user_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9149 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.user_handle
, LIBNDR_FLAG_REF_ALLOC
);
9150 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
9151 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_user_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9152 NDR_PULL_ALLOC(ndr
, r
->out
.rids
);
9153 ZERO_STRUCTP(r
->out
.rids
);
9155 if (flags
& NDR_OUT
) {
9156 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9157 NDR_PULL_ALLOC(ndr
, r
->out
.rids
);
9159 _mem_save_rids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9160 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.rids
, LIBNDR_FLAG_REF_ALLOC
);
9161 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_rids
));
9163 NDR_PULL_ALLOC(ndr
, *r
->out
.rids
);
9165 *r
->out
.rids
= NULL
;
9168 _mem_save_rids_1
= NDR_PULL_GET_MEM_CTX(ndr
);
9169 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.rids
, 0);
9170 NDR_CHECK(ndr_pull_samr_RidWithAttributeArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.rids
));
9171 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rids_1
, 0);
9173 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rids_0
, LIBNDR_FLAG_REF_ALLOC
);
9174 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9176 return NDR_ERR_SUCCESS
;
9179 _PUBLIC_
void ndr_print_samr_GetGroupsForUser(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_GetGroupsForUser
*r
)
9181 ndr_print_struct(ndr
, name
, "samr_GetGroupsForUser");
9183 if (flags
& NDR_SET_VALUES
) {
9184 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9186 if (flags
& NDR_IN
) {
9187 ndr_print_struct(ndr
, "in", "samr_GetGroupsForUser");
9189 ndr_print_ptr(ndr
, "user_handle", r
->in
.user_handle
);
9191 ndr_print_policy_handle(ndr
, "user_handle", r
->in
.user_handle
);
9195 if (flags
& NDR_OUT
) {
9196 ndr_print_struct(ndr
, "out", "samr_GetGroupsForUser");
9198 ndr_print_ptr(ndr
, "rids", r
->out
.rids
);
9200 ndr_print_ptr(ndr
, "rids", *r
->out
.rids
);
9203 ndr_print_samr_RidWithAttributeArray(ndr
, "rids", *r
->out
.rids
);
9207 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9213 static enum ndr_err_code
ndr_push_samr_QueryDisplayInfo(struct ndr_push
*ndr
, int flags
, const struct samr_QueryDisplayInfo
*r
)
9215 if (flags
& NDR_IN
) {
9216 if (r
->in
.domain_handle
== NULL
) {
9217 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9219 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
9220 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->in
.level
));
9221 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.start_idx
));
9222 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.max_entries
));
9223 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.buf_size
));
9225 if (flags
& NDR_OUT
) {
9226 if (r
->out
.total_size
== NULL
) {
9227 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9229 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.total_size
));
9230 if (r
->out
.returned_size
== NULL
) {
9231 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9233 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.returned_size
));
9234 if (r
->out
.info
== NULL
) {
9235 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9237 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.info
, r
->in
.level
));
9238 NDR_CHECK(ndr_push_samr_DispInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.info
));
9239 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9241 return NDR_ERR_SUCCESS
;
9244 static enum ndr_err_code
ndr_pull_samr_QueryDisplayInfo(struct ndr_pull
*ndr
, int flags
, struct samr_QueryDisplayInfo
*r
)
9246 TALLOC_CTX
*_mem_save_domain_handle_0
;
9247 TALLOC_CTX
*_mem_save_total_size_0
;
9248 TALLOC_CTX
*_mem_save_returned_size_0
;
9249 TALLOC_CTX
*_mem_save_info_0
;
9250 if (flags
& NDR_IN
) {
9251 ZERO_STRUCT(r
->out
);
9253 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9254 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
9256 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9257 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
9258 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
9259 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9260 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->in
.level
));
9261 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.start_idx
));
9262 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.max_entries
));
9263 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.buf_size
));
9264 NDR_PULL_ALLOC(ndr
, r
->out
.total_size
);
9265 ZERO_STRUCTP(r
->out
.total_size
);
9266 NDR_PULL_ALLOC(ndr
, r
->out
.returned_size
);
9267 ZERO_STRUCTP(r
->out
.returned_size
);
9268 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
9269 ZERO_STRUCTP(r
->out
.info
);
9271 if (flags
& NDR_OUT
) {
9272 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9273 NDR_PULL_ALLOC(ndr
, r
->out
.total_size
);
9275 _mem_save_total_size_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9276 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.total_size
, LIBNDR_FLAG_REF_ALLOC
);
9277 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.total_size
));
9278 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_total_size_0
, LIBNDR_FLAG_REF_ALLOC
);
9279 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9280 NDR_PULL_ALLOC(ndr
, r
->out
.returned_size
);
9282 _mem_save_returned_size_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9283 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.returned_size
, LIBNDR_FLAG_REF_ALLOC
);
9284 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.returned_size
));
9285 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_returned_size_0
, LIBNDR_FLAG_REF_ALLOC
);
9286 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9287 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
9289 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9290 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
9291 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.info
, r
->in
.level
));
9292 NDR_CHECK(ndr_pull_samr_DispInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.info
));
9293 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
9294 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9296 return NDR_ERR_SUCCESS
;
9299 _PUBLIC_
void ndr_print_samr_QueryDisplayInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_QueryDisplayInfo
*r
)
9301 ndr_print_struct(ndr
, name
, "samr_QueryDisplayInfo");
9303 if (flags
& NDR_SET_VALUES
) {
9304 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9306 if (flags
& NDR_IN
) {
9307 ndr_print_struct(ndr
, "in", "samr_QueryDisplayInfo");
9309 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
9311 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
9313 ndr_print_uint16(ndr
, "level", r
->in
.level
);
9314 ndr_print_uint32(ndr
, "start_idx", r
->in
.start_idx
);
9315 ndr_print_uint32(ndr
, "max_entries", r
->in
.max_entries
);
9316 ndr_print_uint32(ndr
, "buf_size", r
->in
.buf_size
);
9319 if (flags
& NDR_OUT
) {
9320 ndr_print_struct(ndr
, "out", "samr_QueryDisplayInfo");
9322 ndr_print_ptr(ndr
, "total_size", r
->out
.total_size
);
9324 ndr_print_uint32(ndr
, "total_size", *r
->out
.total_size
);
9326 ndr_print_ptr(ndr
, "returned_size", r
->out
.returned_size
);
9328 ndr_print_uint32(ndr
, "returned_size", *r
->out
.returned_size
);
9330 ndr_print_ptr(ndr
, "info", r
->out
.info
);
9332 ndr_print_set_switch_value(ndr
, r
->out
.info
, r
->in
.level
);
9333 ndr_print_samr_DispInfo(ndr
, "info", r
->out
.info
);
9335 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9341 static enum ndr_err_code
ndr_push_samr_GetDisplayEnumerationIndex(struct ndr_push
*ndr
, int flags
, const struct samr_GetDisplayEnumerationIndex
*r
)
9343 if (flags
& NDR_IN
) {
9344 if (r
->in
.domain_handle
== NULL
) {
9345 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9347 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
9348 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->in
.level
));
9349 if (r
->in
.name
== NULL
) {
9350 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9352 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.name
));
9354 if (flags
& NDR_OUT
) {
9355 if (r
->out
.idx
== NULL
) {
9356 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9358 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.idx
));
9359 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9361 return NDR_ERR_SUCCESS
;
9364 static enum ndr_err_code
ndr_pull_samr_GetDisplayEnumerationIndex(struct ndr_pull
*ndr
, int flags
, struct samr_GetDisplayEnumerationIndex
*r
)
9366 TALLOC_CTX
*_mem_save_domain_handle_0
;
9367 TALLOC_CTX
*_mem_save_name_0
;
9368 TALLOC_CTX
*_mem_save_idx_0
;
9369 if (flags
& NDR_IN
) {
9370 ZERO_STRUCT(r
->out
);
9372 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9373 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
9375 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9376 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
9377 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
9378 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9379 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->in
.level
));
9380 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9381 NDR_PULL_ALLOC(ndr
, r
->in
.name
);
9383 _mem_save_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9384 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.name
, LIBNDR_FLAG_REF_ALLOC
);
9385 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.name
));
9386 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_name_0
, LIBNDR_FLAG_REF_ALLOC
);
9387 NDR_PULL_ALLOC(ndr
, r
->out
.idx
);
9388 ZERO_STRUCTP(r
->out
.idx
);
9390 if (flags
& NDR_OUT
) {
9391 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9392 NDR_PULL_ALLOC(ndr
, r
->out
.idx
);
9394 _mem_save_idx_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9395 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.idx
, LIBNDR_FLAG_REF_ALLOC
);
9396 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.idx
));
9397 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_idx_0
, LIBNDR_FLAG_REF_ALLOC
);
9398 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9400 return NDR_ERR_SUCCESS
;
9403 _PUBLIC_
void ndr_print_samr_GetDisplayEnumerationIndex(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_GetDisplayEnumerationIndex
*r
)
9405 ndr_print_struct(ndr
, name
, "samr_GetDisplayEnumerationIndex");
9407 if (flags
& NDR_SET_VALUES
) {
9408 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9410 if (flags
& NDR_IN
) {
9411 ndr_print_struct(ndr
, "in", "samr_GetDisplayEnumerationIndex");
9413 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
9415 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
9417 ndr_print_uint16(ndr
, "level", r
->in
.level
);
9418 ndr_print_ptr(ndr
, "name", r
->in
.name
);
9420 ndr_print_lsa_String(ndr
, "name", r
->in
.name
);
9424 if (flags
& NDR_OUT
) {
9425 ndr_print_struct(ndr
, "out", "samr_GetDisplayEnumerationIndex");
9427 ndr_print_ptr(ndr
, "idx", r
->out
.idx
);
9429 ndr_print_uint32(ndr
, "idx", *r
->out
.idx
);
9431 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9437 static enum ndr_err_code
ndr_push_samr_TestPrivateFunctionsDomain(struct ndr_push
*ndr
, int flags
, const struct samr_TestPrivateFunctionsDomain
*r
)
9439 if (flags
& NDR_IN
) {
9440 if (r
->in
.domain_handle
== NULL
) {
9441 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9443 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
9445 if (flags
& NDR_OUT
) {
9446 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9448 return NDR_ERR_SUCCESS
;
9451 static enum ndr_err_code
ndr_pull_samr_TestPrivateFunctionsDomain(struct ndr_pull
*ndr
, int flags
, struct samr_TestPrivateFunctionsDomain
*r
)
9453 TALLOC_CTX
*_mem_save_domain_handle_0
;
9454 if (flags
& NDR_IN
) {
9455 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9456 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
9458 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9459 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
9460 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
9461 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9463 if (flags
& NDR_OUT
) {
9464 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9466 return NDR_ERR_SUCCESS
;
9469 _PUBLIC_
void ndr_print_samr_TestPrivateFunctionsDomain(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_TestPrivateFunctionsDomain
*r
)
9471 ndr_print_struct(ndr
, name
, "samr_TestPrivateFunctionsDomain");
9473 if (flags
& NDR_SET_VALUES
) {
9474 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9476 if (flags
& NDR_IN
) {
9477 ndr_print_struct(ndr
, "in", "samr_TestPrivateFunctionsDomain");
9479 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
9481 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
9485 if (flags
& NDR_OUT
) {
9486 ndr_print_struct(ndr
, "out", "samr_TestPrivateFunctionsDomain");
9488 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9494 static enum ndr_err_code
ndr_push_samr_TestPrivateFunctionsUser(struct ndr_push
*ndr
, int flags
, const struct samr_TestPrivateFunctionsUser
*r
)
9496 if (flags
& NDR_IN
) {
9497 if (r
->in
.user_handle
== NULL
) {
9498 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9500 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
9502 if (flags
& NDR_OUT
) {
9503 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9505 return NDR_ERR_SUCCESS
;
9508 static enum ndr_err_code
ndr_pull_samr_TestPrivateFunctionsUser(struct ndr_pull
*ndr
, int flags
, struct samr_TestPrivateFunctionsUser
*r
)
9510 TALLOC_CTX
*_mem_save_user_handle_0
;
9511 if (flags
& NDR_IN
) {
9512 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9513 NDR_PULL_ALLOC(ndr
, r
->in
.user_handle
);
9515 _mem_save_user_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9516 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.user_handle
, LIBNDR_FLAG_REF_ALLOC
);
9517 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
9518 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_user_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9520 if (flags
& NDR_OUT
) {
9521 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9523 return NDR_ERR_SUCCESS
;
9526 _PUBLIC_
void ndr_print_samr_TestPrivateFunctionsUser(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_TestPrivateFunctionsUser
*r
)
9528 ndr_print_struct(ndr
, name
, "samr_TestPrivateFunctionsUser");
9530 if (flags
& NDR_SET_VALUES
) {
9531 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9533 if (flags
& NDR_IN
) {
9534 ndr_print_struct(ndr
, "in", "samr_TestPrivateFunctionsUser");
9536 ndr_print_ptr(ndr
, "user_handle", r
->in
.user_handle
);
9538 ndr_print_policy_handle(ndr
, "user_handle", r
->in
.user_handle
);
9542 if (flags
& NDR_OUT
) {
9543 ndr_print_struct(ndr
, "out", "samr_TestPrivateFunctionsUser");
9545 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9551 _PUBLIC_
enum ndr_err_code
ndr_push_samr_GetUserPwInfo(struct ndr_push
*ndr
, int flags
, const struct samr_GetUserPwInfo
*r
)
9553 if (flags
& NDR_IN
) {
9554 if (r
->in
.user_handle
== NULL
) {
9555 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9557 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
9559 if (flags
& NDR_OUT
) {
9560 if (r
->out
.info
== NULL
) {
9561 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9563 NDR_CHECK(ndr_push_samr_PwInfo(ndr
, NDR_SCALARS
, r
->out
.info
));
9564 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9566 return NDR_ERR_SUCCESS
;
9569 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_GetUserPwInfo(struct ndr_pull
*ndr
, int flags
, struct samr_GetUserPwInfo
*r
)
9571 TALLOC_CTX
*_mem_save_user_handle_0
;
9572 TALLOC_CTX
*_mem_save_info_0
;
9573 if (flags
& NDR_IN
) {
9574 ZERO_STRUCT(r
->out
);
9576 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9577 NDR_PULL_ALLOC(ndr
, r
->in
.user_handle
);
9579 _mem_save_user_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9580 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.user_handle
, LIBNDR_FLAG_REF_ALLOC
);
9581 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
9582 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_user_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9583 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
9584 ZERO_STRUCTP(r
->out
.info
);
9586 if (flags
& NDR_OUT
) {
9587 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9588 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
9590 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9591 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
9592 NDR_CHECK(ndr_pull_samr_PwInfo(ndr
, NDR_SCALARS
, r
->out
.info
));
9593 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
9594 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9596 return NDR_ERR_SUCCESS
;
9599 _PUBLIC_
void ndr_print_samr_GetUserPwInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_GetUserPwInfo
*r
)
9601 ndr_print_struct(ndr
, name
, "samr_GetUserPwInfo");
9603 if (flags
& NDR_SET_VALUES
) {
9604 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9606 if (flags
& NDR_IN
) {
9607 ndr_print_struct(ndr
, "in", "samr_GetUserPwInfo");
9609 ndr_print_ptr(ndr
, "user_handle", r
->in
.user_handle
);
9611 ndr_print_policy_handle(ndr
, "user_handle", r
->in
.user_handle
);
9615 if (flags
& NDR_OUT
) {
9616 ndr_print_struct(ndr
, "out", "samr_GetUserPwInfo");
9618 ndr_print_ptr(ndr
, "info", r
->out
.info
);
9620 ndr_print_samr_PwInfo(ndr
, "info", r
->out
.info
);
9622 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9628 static enum ndr_err_code
ndr_push_samr_RemoveMemberFromForeignDomain(struct ndr_push
*ndr
, int flags
, const struct samr_RemoveMemberFromForeignDomain
*r
)
9630 if (flags
& NDR_IN
) {
9631 if (r
->in
.domain_handle
== NULL
) {
9632 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9634 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
9635 if (r
->in
.sid
== NULL
) {
9636 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9638 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
9640 if (flags
& NDR_OUT
) {
9641 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9643 return NDR_ERR_SUCCESS
;
9646 static enum ndr_err_code
ndr_pull_samr_RemoveMemberFromForeignDomain(struct ndr_pull
*ndr
, int flags
, struct samr_RemoveMemberFromForeignDomain
*r
)
9648 TALLOC_CTX
*_mem_save_domain_handle_0
;
9649 TALLOC_CTX
*_mem_save_sid_0
;
9650 if (flags
& NDR_IN
) {
9651 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9652 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
9654 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9655 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
9656 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
9657 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9658 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9659 NDR_PULL_ALLOC(ndr
, r
->in
.sid
);
9661 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9662 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sid
, LIBNDR_FLAG_REF_ALLOC
);
9663 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
9664 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, LIBNDR_FLAG_REF_ALLOC
);
9666 if (flags
& NDR_OUT
) {
9667 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9669 return NDR_ERR_SUCCESS
;
9672 _PUBLIC_
void ndr_print_samr_RemoveMemberFromForeignDomain(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_RemoveMemberFromForeignDomain
*r
)
9674 ndr_print_struct(ndr
, name
, "samr_RemoveMemberFromForeignDomain");
9676 if (flags
& NDR_SET_VALUES
) {
9677 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9679 if (flags
& NDR_IN
) {
9680 ndr_print_struct(ndr
, "in", "samr_RemoveMemberFromForeignDomain");
9682 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
9684 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
9686 ndr_print_ptr(ndr
, "sid", r
->in
.sid
);
9688 ndr_print_dom_sid2(ndr
, "sid", r
->in
.sid
);
9692 if (flags
& NDR_OUT
) {
9693 ndr_print_struct(ndr
, "out", "samr_RemoveMemberFromForeignDomain");
9695 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9701 static enum ndr_err_code
ndr_push_samr_QueryDomainInfo2(struct ndr_push
*ndr
, int flags
, const struct samr_QueryDomainInfo2
*r
)
9703 if (flags
& NDR_IN
) {
9704 if (r
->in
.domain_handle
== NULL
) {
9705 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9707 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
9708 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->in
.level
));
9710 if (flags
& NDR_OUT
) {
9711 if (r
->out
.info
== NULL
) {
9712 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9714 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.info
));
9716 NDR_CHECK(ndr_push_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
9717 NDR_CHECK(ndr_push_samr_DomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
9719 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9721 return NDR_ERR_SUCCESS
;
9724 static enum ndr_err_code
ndr_pull_samr_QueryDomainInfo2(struct ndr_pull
*ndr
, int flags
, struct samr_QueryDomainInfo2
*r
)
9727 TALLOC_CTX
*_mem_save_domain_handle_0
;
9728 TALLOC_CTX
*_mem_save_info_0
;
9729 TALLOC_CTX
*_mem_save_info_1
;
9730 if (flags
& NDR_IN
) {
9731 ZERO_STRUCT(r
->out
);
9733 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9734 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
9736 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9737 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
9738 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
9739 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9740 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->in
.level
));
9741 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
9742 ZERO_STRUCTP(r
->out
.info
);
9744 if (flags
& NDR_OUT
) {
9745 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9746 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
9748 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9749 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
9750 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
9752 NDR_PULL_ALLOC(ndr
, *r
->out
.info
);
9754 *r
->out
.info
= NULL
;
9757 _mem_save_info_1
= NDR_PULL_GET_MEM_CTX(ndr
);
9758 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.info
, 0);
9759 NDR_CHECK(ndr_pull_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
9760 NDR_CHECK(ndr_pull_samr_DomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
9761 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_1
, 0);
9763 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
9764 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9766 return NDR_ERR_SUCCESS
;
9769 _PUBLIC_
void ndr_print_samr_QueryDomainInfo2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_QueryDomainInfo2
*r
)
9771 ndr_print_struct(ndr
, name
, "samr_QueryDomainInfo2");
9773 if (flags
& NDR_SET_VALUES
) {
9774 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9776 if (flags
& NDR_IN
) {
9777 ndr_print_struct(ndr
, "in", "samr_QueryDomainInfo2");
9779 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
9781 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
9783 ndr_print_uint16(ndr
, "level", r
->in
.level
);
9786 if (flags
& NDR_OUT
) {
9787 ndr_print_struct(ndr
, "out", "samr_QueryDomainInfo2");
9789 ndr_print_ptr(ndr
, "info", r
->out
.info
);
9791 ndr_print_ptr(ndr
, "info", *r
->out
.info
);
9794 ndr_print_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
);
9795 ndr_print_samr_DomainInfo(ndr
, "info", *r
->out
.info
);
9799 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9805 static enum ndr_err_code
ndr_push_samr_QueryUserInfo2(struct ndr_push
*ndr
, int flags
, const struct samr_QueryUserInfo2
*r
)
9807 if (flags
& NDR_IN
) {
9808 if (r
->in
.user_handle
== NULL
) {
9809 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9811 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
9812 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->in
.level
));
9814 if (flags
& NDR_OUT
) {
9815 if (r
->out
.info
== NULL
) {
9816 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9818 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.info
, r
->in
.level
));
9819 NDR_CHECK(ndr_push_samr_UserInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.info
));
9820 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9822 return NDR_ERR_SUCCESS
;
9825 static enum ndr_err_code
ndr_pull_samr_QueryUserInfo2(struct ndr_pull
*ndr
, int flags
, struct samr_QueryUserInfo2
*r
)
9827 TALLOC_CTX
*_mem_save_user_handle_0
;
9828 TALLOC_CTX
*_mem_save_info_0
;
9829 if (flags
& NDR_IN
) {
9830 ZERO_STRUCT(r
->out
);
9832 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9833 NDR_PULL_ALLOC(ndr
, r
->in
.user_handle
);
9835 _mem_save_user_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9836 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.user_handle
, LIBNDR_FLAG_REF_ALLOC
);
9837 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
9838 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_user_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9839 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->in
.level
));
9840 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
9841 ZERO_STRUCTP(r
->out
.info
);
9843 if (flags
& NDR_OUT
) {
9844 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9845 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
9847 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9848 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
9849 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.info
, r
->in
.level
));
9850 NDR_CHECK(ndr_pull_samr_UserInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.info
));
9851 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
9852 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9854 return NDR_ERR_SUCCESS
;
9857 _PUBLIC_
void ndr_print_samr_QueryUserInfo2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_QueryUserInfo2
*r
)
9859 ndr_print_struct(ndr
, name
, "samr_QueryUserInfo2");
9861 if (flags
& NDR_SET_VALUES
) {
9862 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9864 if (flags
& NDR_IN
) {
9865 ndr_print_struct(ndr
, "in", "samr_QueryUserInfo2");
9867 ndr_print_ptr(ndr
, "user_handle", r
->in
.user_handle
);
9869 ndr_print_policy_handle(ndr
, "user_handle", r
->in
.user_handle
);
9871 ndr_print_uint16(ndr
, "level", r
->in
.level
);
9874 if (flags
& NDR_OUT
) {
9875 ndr_print_struct(ndr
, "out", "samr_QueryUserInfo2");
9877 ndr_print_ptr(ndr
, "info", r
->out
.info
);
9879 ndr_print_set_switch_value(ndr
, r
->out
.info
, r
->in
.level
);
9880 ndr_print_samr_UserInfo(ndr
, "info", r
->out
.info
);
9882 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9888 static enum ndr_err_code
ndr_push_samr_QueryDisplayInfo2(struct ndr_push
*ndr
, int flags
, const struct samr_QueryDisplayInfo2
*r
)
9890 if (flags
& NDR_IN
) {
9891 if (r
->in
.domain_handle
== NULL
) {
9892 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9894 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
9895 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->in
.level
));
9896 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.start_idx
));
9897 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.max_entries
));
9898 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.buf_size
));
9900 if (flags
& NDR_OUT
) {
9901 if (r
->out
.total_size
== NULL
) {
9902 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9904 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.total_size
));
9905 if (r
->out
.returned_size
== NULL
) {
9906 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9908 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.returned_size
));
9909 if (r
->out
.info
== NULL
) {
9910 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9912 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.info
, r
->in
.level
));
9913 NDR_CHECK(ndr_push_samr_DispInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.info
));
9914 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9916 return NDR_ERR_SUCCESS
;
9919 static enum ndr_err_code
ndr_pull_samr_QueryDisplayInfo2(struct ndr_pull
*ndr
, int flags
, struct samr_QueryDisplayInfo2
*r
)
9921 TALLOC_CTX
*_mem_save_domain_handle_0
;
9922 TALLOC_CTX
*_mem_save_total_size_0
;
9923 TALLOC_CTX
*_mem_save_returned_size_0
;
9924 TALLOC_CTX
*_mem_save_info_0
;
9925 if (flags
& NDR_IN
) {
9926 ZERO_STRUCT(r
->out
);
9928 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9929 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
9931 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9932 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
9933 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
9934 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9935 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->in
.level
));
9936 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.start_idx
));
9937 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.max_entries
));
9938 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.buf_size
));
9939 NDR_PULL_ALLOC(ndr
, r
->out
.total_size
);
9940 ZERO_STRUCTP(r
->out
.total_size
);
9941 NDR_PULL_ALLOC(ndr
, r
->out
.returned_size
);
9942 ZERO_STRUCTP(r
->out
.returned_size
);
9943 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
9944 ZERO_STRUCTP(r
->out
.info
);
9946 if (flags
& NDR_OUT
) {
9947 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9948 NDR_PULL_ALLOC(ndr
, r
->out
.total_size
);
9950 _mem_save_total_size_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9951 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.total_size
, LIBNDR_FLAG_REF_ALLOC
);
9952 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.total_size
));
9953 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_total_size_0
, LIBNDR_FLAG_REF_ALLOC
);
9954 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9955 NDR_PULL_ALLOC(ndr
, r
->out
.returned_size
);
9957 _mem_save_returned_size_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9958 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.returned_size
, LIBNDR_FLAG_REF_ALLOC
);
9959 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.returned_size
));
9960 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_returned_size_0
, LIBNDR_FLAG_REF_ALLOC
);
9961 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9962 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
9964 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9965 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
9966 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.info
, r
->in
.level
));
9967 NDR_CHECK(ndr_pull_samr_DispInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.info
));
9968 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
9969 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9971 return NDR_ERR_SUCCESS
;
9974 _PUBLIC_
void ndr_print_samr_QueryDisplayInfo2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_QueryDisplayInfo2
*r
)
9976 ndr_print_struct(ndr
, name
, "samr_QueryDisplayInfo2");
9978 if (flags
& NDR_SET_VALUES
) {
9979 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9981 if (flags
& NDR_IN
) {
9982 ndr_print_struct(ndr
, "in", "samr_QueryDisplayInfo2");
9984 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
9986 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
9988 ndr_print_uint16(ndr
, "level", r
->in
.level
);
9989 ndr_print_uint32(ndr
, "start_idx", r
->in
.start_idx
);
9990 ndr_print_uint32(ndr
, "max_entries", r
->in
.max_entries
);
9991 ndr_print_uint32(ndr
, "buf_size", r
->in
.buf_size
);
9994 if (flags
& NDR_OUT
) {
9995 ndr_print_struct(ndr
, "out", "samr_QueryDisplayInfo2");
9997 ndr_print_ptr(ndr
, "total_size", r
->out
.total_size
);
9999 ndr_print_uint32(ndr
, "total_size", *r
->out
.total_size
);
10001 ndr_print_ptr(ndr
, "returned_size", r
->out
.returned_size
);
10003 ndr_print_uint32(ndr
, "returned_size", *r
->out
.returned_size
);
10005 ndr_print_ptr(ndr
, "info", r
->out
.info
);
10007 ndr_print_set_switch_value(ndr
, r
->out
.info
, r
->in
.level
);
10008 ndr_print_samr_DispInfo(ndr
, "info", r
->out
.info
);
10010 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10016 static enum ndr_err_code
ndr_push_samr_GetDisplayEnumerationIndex2(struct ndr_push
*ndr
, int flags
, const struct samr_GetDisplayEnumerationIndex2
*r
)
10018 if (flags
& NDR_IN
) {
10019 if (r
->in
.domain_handle
== NULL
) {
10020 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10022 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
10023 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->in
.level
));
10024 if (r
->in
.name
== NULL
) {
10025 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10027 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.name
));
10029 if (flags
& NDR_OUT
) {
10030 if (r
->out
.idx
== NULL
) {
10031 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10033 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.idx
));
10034 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10036 return NDR_ERR_SUCCESS
;
10039 static enum ndr_err_code
ndr_pull_samr_GetDisplayEnumerationIndex2(struct ndr_pull
*ndr
, int flags
, struct samr_GetDisplayEnumerationIndex2
*r
)
10041 TALLOC_CTX
*_mem_save_domain_handle_0
;
10042 TALLOC_CTX
*_mem_save_name_0
;
10043 TALLOC_CTX
*_mem_save_idx_0
;
10044 if (flags
& NDR_IN
) {
10045 ZERO_STRUCT(r
->out
);
10047 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10048 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
10050 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10051 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
10052 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
10053 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10054 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->in
.level
));
10055 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10056 NDR_PULL_ALLOC(ndr
, r
->in
.name
);
10058 _mem_save_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10059 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.name
, LIBNDR_FLAG_REF_ALLOC
);
10060 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.name
));
10061 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_name_0
, LIBNDR_FLAG_REF_ALLOC
);
10062 NDR_PULL_ALLOC(ndr
, r
->out
.idx
);
10063 ZERO_STRUCTP(r
->out
.idx
);
10065 if (flags
& NDR_OUT
) {
10066 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10067 NDR_PULL_ALLOC(ndr
, r
->out
.idx
);
10069 _mem_save_idx_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10070 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.idx
, LIBNDR_FLAG_REF_ALLOC
);
10071 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.idx
));
10072 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_idx_0
, LIBNDR_FLAG_REF_ALLOC
);
10073 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10075 return NDR_ERR_SUCCESS
;
10078 _PUBLIC_
void ndr_print_samr_GetDisplayEnumerationIndex2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_GetDisplayEnumerationIndex2
*r
)
10080 ndr_print_struct(ndr
, name
, "samr_GetDisplayEnumerationIndex2");
10082 if (flags
& NDR_SET_VALUES
) {
10083 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10085 if (flags
& NDR_IN
) {
10086 ndr_print_struct(ndr
, "in", "samr_GetDisplayEnumerationIndex2");
10088 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
10090 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
10092 ndr_print_uint16(ndr
, "level", r
->in
.level
);
10093 ndr_print_ptr(ndr
, "name", r
->in
.name
);
10095 ndr_print_lsa_String(ndr
, "name", r
->in
.name
);
10099 if (flags
& NDR_OUT
) {
10100 ndr_print_struct(ndr
, "out", "samr_GetDisplayEnumerationIndex2");
10102 ndr_print_ptr(ndr
, "idx", r
->out
.idx
);
10104 ndr_print_uint32(ndr
, "idx", *r
->out
.idx
);
10106 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10112 static enum ndr_err_code
ndr_push_samr_CreateUser2(struct ndr_push
*ndr
, int flags
, const struct samr_CreateUser2
*r
)
10114 if (flags
& NDR_IN
) {
10115 if (r
->in
.domain_handle
== NULL
) {
10116 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10118 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
10119 if (r
->in
.account_name
== NULL
) {
10120 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10122 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.account_name
));
10123 NDR_CHECK(ndr_push_samr_AcctFlags(ndr
, NDR_SCALARS
, r
->in
.acct_flags
));
10124 NDR_CHECK(ndr_push_samr_UserAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
10126 if (flags
& NDR_OUT
) {
10127 if (r
->out
.user_handle
== NULL
) {
10128 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10130 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.user_handle
));
10131 if (r
->out
.access_granted
== NULL
) {
10132 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10134 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.access_granted
));
10135 if (r
->out
.rid
== NULL
) {
10136 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10138 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.rid
));
10139 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10141 return NDR_ERR_SUCCESS
;
10144 static enum ndr_err_code
ndr_pull_samr_CreateUser2(struct ndr_pull
*ndr
, int flags
, struct samr_CreateUser2
*r
)
10146 TALLOC_CTX
*_mem_save_domain_handle_0
;
10147 TALLOC_CTX
*_mem_save_account_name_0
;
10148 TALLOC_CTX
*_mem_save_user_handle_0
;
10149 TALLOC_CTX
*_mem_save_access_granted_0
;
10150 TALLOC_CTX
*_mem_save_rid_0
;
10151 if (flags
& NDR_IN
) {
10152 ZERO_STRUCT(r
->out
);
10154 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10155 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
10157 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10158 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
10159 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
10160 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10161 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10162 NDR_PULL_ALLOC(ndr
, r
->in
.account_name
);
10164 _mem_save_account_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10165 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.account_name
, LIBNDR_FLAG_REF_ALLOC
);
10166 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.account_name
));
10167 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_account_name_0
, LIBNDR_FLAG_REF_ALLOC
);
10168 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr
, NDR_SCALARS
, &r
->in
.acct_flags
));
10169 NDR_CHECK(ndr_pull_samr_UserAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
10170 NDR_PULL_ALLOC(ndr
, r
->out
.user_handle
);
10171 ZERO_STRUCTP(r
->out
.user_handle
);
10172 NDR_PULL_ALLOC(ndr
, r
->out
.access_granted
);
10173 ZERO_STRUCTP(r
->out
.access_granted
);
10174 NDR_PULL_ALLOC(ndr
, r
->out
.rid
);
10175 ZERO_STRUCTP(r
->out
.rid
);
10177 if (flags
& NDR_OUT
) {
10178 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10179 NDR_PULL_ALLOC(ndr
, r
->out
.user_handle
);
10181 _mem_save_user_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10182 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.user_handle
, LIBNDR_FLAG_REF_ALLOC
);
10183 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.user_handle
));
10184 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_user_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10185 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10186 NDR_PULL_ALLOC(ndr
, r
->out
.access_granted
);
10188 _mem_save_access_granted_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10189 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.access_granted
, LIBNDR_FLAG_REF_ALLOC
);
10190 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.access_granted
));
10191 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_access_granted_0
, LIBNDR_FLAG_REF_ALLOC
);
10192 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10193 NDR_PULL_ALLOC(ndr
, r
->out
.rid
);
10195 _mem_save_rid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10196 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.rid
, LIBNDR_FLAG_REF_ALLOC
);
10197 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.rid
));
10198 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rid_0
, LIBNDR_FLAG_REF_ALLOC
);
10199 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10201 return NDR_ERR_SUCCESS
;
10204 _PUBLIC_
void ndr_print_samr_CreateUser2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_CreateUser2
*r
)
10206 ndr_print_struct(ndr
, name
, "samr_CreateUser2");
10208 if (flags
& NDR_SET_VALUES
) {
10209 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10211 if (flags
& NDR_IN
) {
10212 ndr_print_struct(ndr
, "in", "samr_CreateUser2");
10214 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
10216 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
10218 ndr_print_ptr(ndr
, "account_name", r
->in
.account_name
);
10220 ndr_print_lsa_String(ndr
, "account_name", r
->in
.account_name
);
10222 ndr_print_samr_AcctFlags(ndr
, "acct_flags", r
->in
.acct_flags
);
10223 ndr_print_samr_UserAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
10226 if (flags
& NDR_OUT
) {
10227 ndr_print_struct(ndr
, "out", "samr_CreateUser2");
10229 ndr_print_ptr(ndr
, "user_handle", r
->out
.user_handle
);
10231 ndr_print_policy_handle(ndr
, "user_handle", r
->out
.user_handle
);
10233 ndr_print_ptr(ndr
, "access_granted", r
->out
.access_granted
);
10235 ndr_print_uint32(ndr
, "access_granted", *r
->out
.access_granted
);
10237 ndr_print_ptr(ndr
, "rid", r
->out
.rid
);
10239 ndr_print_uint32(ndr
, "rid", *r
->out
.rid
);
10241 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10247 static enum ndr_err_code
ndr_push_samr_QueryDisplayInfo3(struct ndr_push
*ndr
, int flags
, const struct samr_QueryDisplayInfo3
*r
)
10249 if (flags
& NDR_IN
) {
10250 if (r
->in
.domain_handle
== NULL
) {
10251 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10253 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
10254 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->in
.level
));
10255 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.start_idx
));
10256 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.max_entries
));
10257 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.buf_size
));
10259 if (flags
& NDR_OUT
) {
10260 if (r
->out
.total_size
== NULL
) {
10261 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10263 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.total_size
));
10264 if (r
->out
.returned_size
== NULL
) {
10265 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10267 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.returned_size
));
10268 if (r
->out
.info
== NULL
) {
10269 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10271 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.info
, r
->in
.level
));
10272 NDR_CHECK(ndr_push_samr_DispInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.info
));
10273 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10275 return NDR_ERR_SUCCESS
;
10278 static enum ndr_err_code
ndr_pull_samr_QueryDisplayInfo3(struct ndr_pull
*ndr
, int flags
, struct samr_QueryDisplayInfo3
*r
)
10280 TALLOC_CTX
*_mem_save_domain_handle_0
;
10281 TALLOC_CTX
*_mem_save_total_size_0
;
10282 TALLOC_CTX
*_mem_save_returned_size_0
;
10283 TALLOC_CTX
*_mem_save_info_0
;
10284 if (flags
& NDR_IN
) {
10285 ZERO_STRUCT(r
->out
);
10287 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10288 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
10290 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10291 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
10292 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
10293 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10294 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->in
.level
));
10295 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.start_idx
));
10296 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.max_entries
));
10297 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.buf_size
));
10298 NDR_PULL_ALLOC(ndr
, r
->out
.total_size
);
10299 ZERO_STRUCTP(r
->out
.total_size
);
10300 NDR_PULL_ALLOC(ndr
, r
->out
.returned_size
);
10301 ZERO_STRUCTP(r
->out
.returned_size
);
10302 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
10303 ZERO_STRUCTP(r
->out
.info
);
10305 if (flags
& NDR_OUT
) {
10306 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10307 NDR_PULL_ALLOC(ndr
, r
->out
.total_size
);
10309 _mem_save_total_size_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10310 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.total_size
, LIBNDR_FLAG_REF_ALLOC
);
10311 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.total_size
));
10312 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_total_size_0
, LIBNDR_FLAG_REF_ALLOC
);
10313 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10314 NDR_PULL_ALLOC(ndr
, r
->out
.returned_size
);
10316 _mem_save_returned_size_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10317 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.returned_size
, LIBNDR_FLAG_REF_ALLOC
);
10318 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.returned_size
));
10319 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_returned_size_0
, LIBNDR_FLAG_REF_ALLOC
);
10320 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10321 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
10323 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10324 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
10325 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.info
, r
->in
.level
));
10326 NDR_CHECK(ndr_pull_samr_DispInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.info
));
10327 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
10328 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10330 return NDR_ERR_SUCCESS
;
10333 _PUBLIC_
void ndr_print_samr_QueryDisplayInfo3(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_QueryDisplayInfo3
*r
)
10335 ndr_print_struct(ndr
, name
, "samr_QueryDisplayInfo3");
10337 if (flags
& NDR_SET_VALUES
) {
10338 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10340 if (flags
& NDR_IN
) {
10341 ndr_print_struct(ndr
, "in", "samr_QueryDisplayInfo3");
10343 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
10345 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
10347 ndr_print_uint16(ndr
, "level", r
->in
.level
);
10348 ndr_print_uint32(ndr
, "start_idx", r
->in
.start_idx
);
10349 ndr_print_uint32(ndr
, "max_entries", r
->in
.max_entries
);
10350 ndr_print_uint32(ndr
, "buf_size", r
->in
.buf_size
);
10353 if (flags
& NDR_OUT
) {
10354 ndr_print_struct(ndr
, "out", "samr_QueryDisplayInfo3");
10356 ndr_print_ptr(ndr
, "total_size", r
->out
.total_size
);
10358 ndr_print_uint32(ndr
, "total_size", *r
->out
.total_size
);
10360 ndr_print_ptr(ndr
, "returned_size", r
->out
.returned_size
);
10362 ndr_print_uint32(ndr
, "returned_size", *r
->out
.returned_size
);
10364 ndr_print_ptr(ndr
, "info", r
->out
.info
);
10366 ndr_print_set_switch_value(ndr
, r
->out
.info
, r
->in
.level
);
10367 ndr_print_samr_DispInfo(ndr
, "info", r
->out
.info
);
10369 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10375 static enum ndr_err_code
ndr_push_samr_AddMultipleMembersToAlias(struct ndr_push
*ndr
, int flags
, const struct samr_AddMultipleMembersToAlias
*r
)
10377 if (flags
& NDR_IN
) {
10378 if (r
->in
.alias_handle
== NULL
) {
10379 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10381 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
10382 if (r
->in
.sids
== NULL
) {
10383 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10385 NDR_CHECK(ndr_push_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
10387 if (flags
& NDR_OUT
) {
10388 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10390 return NDR_ERR_SUCCESS
;
10393 static enum ndr_err_code
ndr_pull_samr_AddMultipleMembersToAlias(struct ndr_pull
*ndr
, int flags
, struct samr_AddMultipleMembersToAlias
*r
)
10395 TALLOC_CTX
*_mem_save_alias_handle_0
;
10396 TALLOC_CTX
*_mem_save_sids_0
;
10397 if (flags
& NDR_IN
) {
10398 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10399 NDR_PULL_ALLOC(ndr
, r
->in
.alias_handle
);
10401 _mem_save_alias_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10402 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.alias_handle
, LIBNDR_FLAG_REF_ALLOC
);
10403 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
10404 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_alias_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10405 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10406 NDR_PULL_ALLOC(ndr
, r
->in
.sids
);
10408 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10409 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sids
, LIBNDR_FLAG_REF_ALLOC
);
10410 NDR_CHECK(ndr_pull_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
10411 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, LIBNDR_FLAG_REF_ALLOC
);
10413 if (flags
& NDR_OUT
) {
10414 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10416 return NDR_ERR_SUCCESS
;
10419 _PUBLIC_
void ndr_print_samr_AddMultipleMembersToAlias(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_AddMultipleMembersToAlias
*r
)
10421 ndr_print_struct(ndr
, name
, "samr_AddMultipleMembersToAlias");
10423 if (flags
& NDR_SET_VALUES
) {
10424 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10426 if (flags
& NDR_IN
) {
10427 ndr_print_struct(ndr
, "in", "samr_AddMultipleMembersToAlias");
10429 ndr_print_ptr(ndr
, "alias_handle", r
->in
.alias_handle
);
10431 ndr_print_policy_handle(ndr
, "alias_handle", r
->in
.alias_handle
);
10433 ndr_print_ptr(ndr
, "sids", r
->in
.sids
);
10435 ndr_print_lsa_SidArray(ndr
, "sids", r
->in
.sids
);
10439 if (flags
& NDR_OUT
) {
10440 ndr_print_struct(ndr
, "out", "samr_AddMultipleMembersToAlias");
10442 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10448 static enum ndr_err_code
ndr_push_samr_RemoveMultipleMembersFromAlias(struct ndr_push
*ndr
, int flags
, const struct samr_RemoveMultipleMembersFromAlias
*r
)
10450 if (flags
& NDR_IN
) {
10451 if (r
->in
.alias_handle
== NULL
) {
10452 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10454 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
10455 if (r
->in
.sids
== NULL
) {
10456 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10458 NDR_CHECK(ndr_push_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
10460 if (flags
& NDR_OUT
) {
10461 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10463 return NDR_ERR_SUCCESS
;
10466 static enum ndr_err_code
ndr_pull_samr_RemoveMultipleMembersFromAlias(struct ndr_pull
*ndr
, int flags
, struct samr_RemoveMultipleMembersFromAlias
*r
)
10468 TALLOC_CTX
*_mem_save_alias_handle_0
;
10469 TALLOC_CTX
*_mem_save_sids_0
;
10470 if (flags
& NDR_IN
) {
10471 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10472 NDR_PULL_ALLOC(ndr
, r
->in
.alias_handle
);
10474 _mem_save_alias_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10475 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.alias_handle
, LIBNDR_FLAG_REF_ALLOC
);
10476 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
10477 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_alias_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10478 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10479 NDR_PULL_ALLOC(ndr
, r
->in
.sids
);
10481 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10482 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sids
, LIBNDR_FLAG_REF_ALLOC
);
10483 NDR_CHECK(ndr_pull_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
10484 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, LIBNDR_FLAG_REF_ALLOC
);
10486 if (flags
& NDR_OUT
) {
10487 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10489 return NDR_ERR_SUCCESS
;
10492 _PUBLIC_
void ndr_print_samr_RemoveMultipleMembersFromAlias(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_RemoveMultipleMembersFromAlias
*r
)
10494 ndr_print_struct(ndr
, name
, "samr_RemoveMultipleMembersFromAlias");
10496 if (flags
& NDR_SET_VALUES
) {
10497 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10499 if (flags
& NDR_IN
) {
10500 ndr_print_struct(ndr
, "in", "samr_RemoveMultipleMembersFromAlias");
10502 ndr_print_ptr(ndr
, "alias_handle", r
->in
.alias_handle
);
10504 ndr_print_policy_handle(ndr
, "alias_handle", r
->in
.alias_handle
);
10506 ndr_print_ptr(ndr
, "sids", r
->in
.sids
);
10508 ndr_print_lsa_SidArray(ndr
, "sids", r
->in
.sids
);
10512 if (flags
& NDR_OUT
) {
10513 ndr_print_struct(ndr
, "out", "samr_RemoveMultipleMembersFromAlias");
10515 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10521 static enum ndr_err_code
ndr_push_samr_OemChangePasswordUser2(struct ndr_push
*ndr
, int flags
, const struct samr_OemChangePasswordUser2
*r
)
10523 if (flags
& NDR_IN
) {
10524 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.server
));
10525 if (r
->in
.server
) {
10526 NDR_CHECK(ndr_push_lsa_AsciiString(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.server
));
10528 if (r
->in
.account
== NULL
) {
10529 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10531 NDR_CHECK(ndr_push_lsa_AsciiString(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.account
));
10532 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.password
));
10533 if (r
->in
.password
) {
10534 NDR_CHECK(ndr_push_samr_CryptPassword(ndr
, NDR_SCALARS
, r
->in
.password
));
10536 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.hash
));
10538 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, r
->in
.hash
));
10541 if (flags
& NDR_OUT
) {
10542 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10544 return NDR_ERR_SUCCESS
;
10547 static enum ndr_err_code
ndr_pull_samr_OemChangePasswordUser2(struct ndr_pull
*ndr
, int flags
, struct samr_OemChangePasswordUser2
*r
)
10549 uint32_t _ptr_server
;
10550 uint32_t _ptr_password
;
10551 uint32_t _ptr_hash
;
10552 TALLOC_CTX
*_mem_save_server_0
;
10553 TALLOC_CTX
*_mem_save_account_0
;
10554 TALLOC_CTX
*_mem_save_password_0
;
10555 TALLOC_CTX
*_mem_save_hash_0
;
10556 if (flags
& NDR_IN
) {
10557 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_server
));
10559 NDR_PULL_ALLOC(ndr
, r
->in
.server
);
10561 r
->in
.server
= NULL
;
10563 if (r
->in
.server
) {
10564 _mem_save_server_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10565 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.server
, 0);
10566 NDR_CHECK(ndr_pull_lsa_AsciiString(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.server
));
10567 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_server_0
, 0);
10569 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10570 NDR_PULL_ALLOC(ndr
, r
->in
.account
);
10572 _mem_save_account_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10573 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.account
, LIBNDR_FLAG_REF_ALLOC
);
10574 NDR_CHECK(ndr_pull_lsa_AsciiString(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.account
));
10575 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_account_0
, LIBNDR_FLAG_REF_ALLOC
);
10576 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_password
));
10577 if (_ptr_password
) {
10578 NDR_PULL_ALLOC(ndr
, r
->in
.password
);
10580 r
->in
.password
= NULL
;
10582 if (r
->in
.password
) {
10583 _mem_save_password_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10584 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.password
, 0);
10585 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr
, NDR_SCALARS
, r
->in
.password
));
10586 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_password_0
, 0);
10588 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_hash
));
10590 NDR_PULL_ALLOC(ndr
, r
->in
.hash
);
10595 _mem_save_hash_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10596 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.hash
, 0);
10597 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, r
->in
.hash
));
10598 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_hash_0
, 0);
10601 if (flags
& NDR_OUT
) {
10602 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10604 return NDR_ERR_SUCCESS
;
10607 _PUBLIC_
void ndr_print_samr_OemChangePasswordUser2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_OemChangePasswordUser2
*r
)
10609 ndr_print_struct(ndr
, name
, "samr_OemChangePasswordUser2");
10611 if (flags
& NDR_SET_VALUES
) {
10612 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10614 if (flags
& NDR_IN
) {
10615 ndr_print_struct(ndr
, "in", "samr_OemChangePasswordUser2");
10617 ndr_print_ptr(ndr
, "server", r
->in
.server
);
10619 if (r
->in
.server
) {
10620 ndr_print_lsa_AsciiString(ndr
, "server", r
->in
.server
);
10623 ndr_print_ptr(ndr
, "account", r
->in
.account
);
10625 ndr_print_lsa_AsciiString(ndr
, "account", r
->in
.account
);
10627 ndr_print_ptr(ndr
, "password", r
->in
.password
);
10629 if (r
->in
.password
) {
10630 ndr_print_samr_CryptPassword(ndr
, "password", r
->in
.password
);
10633 ndr_print_ptr(ndr
, "hash", r
->in
.hash
);
10636 ndr_print_samr_Password(ndr
, "hash", r
->in
.hash
);
10641 if (flags
& NDR_OUT
) {
10642 ndr_print_struct(ndr
, "out", "samr_OemChangePasswordUser2");
10644 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10650 static enum ndr_err_code
ndr_push_samr_ChangePasswordUser2(struct ndr_push
*ndr
, int flags
, const struct samr_ChangePasswordUser2
*r
)
10652 if (flags
& NDR_IN
) {
10653 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.server
));
10654 if (r
->in
.server
) {
10655 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.server
));
10657 if (r
->in
.account
== NULL
) {
10658 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10660 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.account
));
10661 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.nt_password
));
10662 if (r
->in
.nt_password
) {
10663 NDR_CHECK(ndr_push_samr_CryptPassword(ndr
, NDR_SCALARS
, r
->in
.nt_password
));
10665 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.nt_verifier
));
10666 if (r
->in
.nt_verifier
) {
10667 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, r
->in
.nt_verifier
));
10669 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->in
.lm_change
));
10670 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.lm_password
));
10671 if (r
->in
.lm_password
) {
10672 NDR_CHECK(ndr_push_samr_CryptPassword(ndr
, NDR_SCALARS
, r
->in
.lm_password
));
10674 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.lm_verifier
));
10675 if (r
->in
.lm_verifier
) {
10676 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, r
->in
.lm_verifier
));
10679 if (flags
& NDR_OUT
) {
10680 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10682 return NDR_ERR_SUCCESS
;
10685 static enum ndr_err_code
ndr_pull_samr_ChangePasswordUser2(struct ndr_pull
*ndr
, int flags
, struct samr_ChangePasswordUser2
*r
)
10687 uint32_t _ptr_server
;
10688 uint32_t _ptr_nt_password
;
10689 uint32_t _ptr_nt_verifier
;
10690 uint32_t _ptr_lm_password
;
10691 uint32_t _ptr_lm_verifier
;
10692 TALLOC_CTX
*_mem_save_server_0
;
10693 TALLOC_CTX
*_mem_save_account_0
;
10694 TALLOC_CTX
*_mem_save_nt_password_0
;
10695 TALLOC_CTX
*_mem_save_nt_verifier_0
;
10696 TALLOC_CTX
*_mem_save_lm_password_0
;
10697 TALLOC_CTX
*_mem_save_lm_verifier_0
;
10698 if (flags
& NDR_IN
) {
10699 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_server
));
10701 NDR_PULL_ALLOC(ndr
, r
->in
.server
);
10703 r
->in
.server
= NULL
;
10705 if (r
->in
.server
) {
10706 _mem_save_server_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10707 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.server
, 0);
10708 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.server
));
10709 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_server_0
, 0);
10711 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10712 NDR_PULL_ALLOC(ndr
, r
->in
.account
);
10714 _mem_save_account_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10715 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.account
, LIBNDR_FLAG_REF_ALLOC
);
10716 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.account
));
10717 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_account_0
, LIBNDR_FLAG_REF_ALLOC
);
10718 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_nt_password
));
10719 if (_ptr_nt_password
) {
10720 NDR_PULL_ALLOC(ndr
, r
->in
.nt_password
);
10722 r
->in
.nt_password
= NULL
;
10724 if (r
->in
.nt_password
) {
10725 _mem_save_nt_password_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10726 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.nt_password
, 0);
10727 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr
, NDR_SCALARS
, r
->in
.nt_password
));
10728 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_nt_password_0
, 0);
10730 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_nt_verifier
));
10731 if (_ptr_nt_verifier
) {
10732 NDR_PULL_ALLOC(ndr
, r
->in
.nt_verifier
);
10734 r
->in
.nt_verifier
= NULL
;
10736 if (r
->in
.nt_verifier
) {
10737 _mem_save_nt_verifier_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10738 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.nt_verifier
, 0);
10739 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, r
->in
.nt_verifier
));
10740 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_nt_verifier_0
, 0);
10742 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->in
.lm_change
));
10743 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_lm_password
));
10744 if (_ptr_lm_password
) {
10745 NDR_PULL_ALLOC(ndr
, r
->in
.lm_password
);
10747 r
->in
.lm_password
= NULL
;
10749 if (r
->in
.lm_password
) {
10750 _mem_save_lm_password_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10751 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.lm_password
, 0);
10752 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr
, NDR_SCALARS
, r
->in
.lm_password
));
10753 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_lm_password_0
, 0);
10755 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_lm_verifier
));
10756 if (_ptr_lm_verifier
) {
10757 NDR_PULL_ALLOC(ndr
, r
->in
.lm_verifier
);
10759 r
->in
.lm_verifier
= NULL
;
10761 if (r
->in
.lm_verifier
) {
10762 _mem_save_lm_verifier_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10763 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.lm_verifier
, 0);
10764 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, r
->in
.lm_verifier
));
10765 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_lm_verifier_0
, 0);
10768 if (flags
& NDR_OUT
) {
10769 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10771 return NDR_ERR_SUCCESS
;
10774 _PUBLIC_
void ndr_print_samr_ChangePasswordUser2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_ChangePasswordUser2
*r
)
10776 ndr_print_struct(ndr
, name
, "samr_ChangePasswordUser2");
10778 if (flags
& NDR_SET_VALUES
) {
10779 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10781 if (flags
& NDR_IN
) {
10782 ndr_print_struct(ndr
, "in", "samr_ChangePasswordUser2");
10784 ndr_print_ptr(ndr
, "server", r
->in
.server
);
10786 if (r
->in
.server
) {
10787 ndr_print_lsa_String(ndr
, "server", r
->in
.server
);
10790 ndr_print_ptr(ndr
, "account", r
->in
.account
);
10792 ndr_print_lsa_String(ndr
, "account", r
->in
.account
);
10794 ndr_print_ptr(ndr
, "nt_password", r
->in
.nt_password
);
10796 if (r
->in
.nt_password
) {
10797 ndr_print_samr_CryptPassword(ndr
, "nt_password", r
->in
.nt_password
);
10800 ndr_print_ptr(ndr
, "nt_verifier", r
->in
.nt_verifier
);
10802 if (r
->in
.nt_verifier
) {
10803 ndr_print_samr_Password(ndr
, "nt_verifier", r
->in
.nt_verifier
);
10806 ndr_print_uint8(ndr
, "lm_change", r
->in
.lm_change
);
10807 ndr_print_ptr(ndr
, "lm_password", r
->in
.lm_password
);
10809 if (r
->in
.lm_password
) {
10810 ndr_print_samr_CryptPassword(ndr
, "lm_password", r
->in
.lm_password
);
10813 ndr_print_ptr(ndr
, "lm_verifier", r
->in
.lm_verifier
);
10815 if (r
->in
.lm_verifier
) {
10816 ndr_print_samr_Password(ndr
, "lm_verifier", r
->in
.lm_verifier
);
10821 if (flags
& NDR_OUT
) {
10822 ndr_print_struct(ndr
, "out", "samr_ChangePasswordUser2");
10824 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10830 static enum ndr_err_code
ndr_push_samr_GetDomPwInfo(struct ndr_push
*ndr
, int flags
, const struct samr_GetDomPwInfo
*r
)
10832 if (flags
& NDR_IN
) {
10833 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.domain_name
));
10834 if (r
->in
.domain_name
) {
10835 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.domain_name
));
10838 if (flags
& NDR_OUT
) {
10839 if (r
->out
.info
== NULL
) {
10840 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10842 NDR_CHECK(ndr_push_samr_PwInfo(ndr
, NDR_SCALARS
, r
->out
.info
));
10843 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10845 return NDR_ERR_SUCCESS
;
10848 static enum ndr_err_code
ndr_pull_samr_GetDomPwInfo(struct ndr_pull
*ndr
, int flags
, struct samr_GetDomPwInfo
*r
)
10850 uint32_t _ptr_domain_name
;
10851 TALLOC_CTX
*_mem_save_domain_name_0
;
10852 TALLOC_CTX
*_mem_save_info_0
;
10853 if (flags
& NDR_IN
) {
10854 ZERO_STRUCT(r
->out
);
10856 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_domain_name
));
10857 if (_ptr_domain_name
) {
10858 NDR_PULL_ALLOC(ndr
, r
->in
.domain_name
);
10860 r
->in
.domain_name
= NULL
;
10862 if (r
->in
.domain_name
) {
10863 _mem_save_domain_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10864 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_name
, 0);
10865 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.domain_name
));
10866 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_name_0
, 0);
10868 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
10869 ZERO_STRUCTP(r
->out
.info
);
10871 if (flags
& NDR_OUT
) {
10872 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10873 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
10875 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10876 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
10877 NDR_CHECK(ndr_pull_samr_PwInfo(ndr
, NDR_SCALARS
, r
->out
.info
));
10878 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
10879 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10881 return NDR_ERR_SUCCESS
;
10884 _PUBLIC_
void ndr_print_samr_GetDomPwInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_GetDomPwInfo
*r
)
10886 ndr_print_struct(ndr
, name
, "samr_GetDomPwInfo");
10888 if (flags
& NDR_SET_VALUES
) {
10889 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10891 if (flags
& NDR_IN
) {
10892 ndr_print_struct(ndr
, "in", "samr_GetDomPwInfo");
10894 ndr_print_ptr(ndr
, "domain_name", r
->in
.domain_name
);
10896 if (r
->in
.domain_name
) {
10897 ndr_print_lsa_String(ndr
, "domain_name", r
->in
.domain_name
);
10902 if (flags
& NDR_OUT
) {
10903 ndr_print_struct(ndr
, "out", "samr_GetDomPwInfo");
10905 ndr_print_ptr(ndr
, "info", r
->out
.info
);
10907 ndr_print_samr_PwInfo(ndr
, "info", r
->out
.info
);
10909 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10915 static enum ndr_err_code
ndr_push_samr_Connect2(struct ndr_push
*ndr
, int flags
, const struct samr_Connect2
*r
)
10917 if (flags
& NDR_IN
) {
10918 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.system_name
));
10919 if (r
->in
.system_name
) {
10920 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->in
.system_name
, CH_UTF16
)));
10921 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
10922 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->in
.system_name
, CH_UTF16
)));
10923 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
));
10925 NDR_CHECK(ndr_push_samr_ConnectAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
10927 if (flags
& NDR_OUT
) {
10928 if (r
->out
.connect_handle
== NULL
) {
10929 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10931 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.connect_handle
));
10932 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10934 return NDR_ERR_SUCCESS
;
10937 static enum ndr_err_code
ndr_pull_samr_Connect2(struct ndr_pull
*ndr
, int flags
, struct samr_Connect2
*r
)
10939 uint32_t _ptr_system_name
;
10940 TALLOC_CTX
*_mem_save_system_name_0
;
10941 TALLOC_CTX
*_mem_save_connect_handle_0
;
10942 if (flags
& NDR_IN
) {
10943 ZERO_STRUCT(r
->out
);
10945 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_system_name
));
10946 if (_ptr_system_name
) {
10947 NDR_PULL_ALLOC(ndr
, r
->in
.system_name
);
10949 r
->in
.system_name
= NULL
;
10951 if (r
->in
.system_name
) {
10952 _mem_save_system_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10953 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.system_name
, 0);
10954 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->in
.system_name
));
10955 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->in
.system_name
));
10956 if (ndr_get_array_length(ndr
, &r
->in
.system_name
) > ndr_get_array_size(ndr
, &r
->in
.system_name
)) {
10957 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->in
.system_name
), ndr_get_array_length(ndr
, &r
->in
.system_name
));
10959 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->in
.system_name
), sizeof(uint16_t)));
10960 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->in
.system_name
, ndr_get_array_length(ndr
, &r
->in
.system_name
), sizeof(uint16_t), CH_UTF16
));
10961 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_system_name_0
, 0);
10963 NDR_CHECK(ndr_pull_samr_ConnectAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
10964 NDR_PULL_ALLOC(ndr
, r
->out
.connect_handle
);
10965 ZERO_STRUCTP(r
->out
.connect_handle
);
10967 if (flags
& NDR_OUT
) {
10968 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10969 NDR_PULL_ALLOC(ndr
, r
->out
.connect_handle
);
10971 _mem_save_connect_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10972 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.connect_handle
, LIBNDR_FLAG_REF_ALLOC
);
10973 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.connect_handle
));
10974 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_connect_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10975 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10977 return NDR_ERR_SUCCESS
;
10980 _PUBLIC_
void ndr_print_samr_Connect2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_Connect2
*r
)
10982 ndr_print_struct(ndr
, name
, "samr_Connect2");
10984 if (flags
& NDR_SET_VALUES
) {
10985 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10987 if (flags
& NDR_IN
) {
10988 ndr_print_struct(ndr
, "in", "samr_Connect2");
10990 ndr_print_ptr(ndr
, "system_name", r
->in
.system_name
);
10992 if (r
->in
.system_name
) {
10993 ndr_print_string(ndr
, "system_name", r
->in
.system_name
);
10996 ndr_print_samr_ConnectAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
10999 if (flags
& NDR_OUT
) {
11000 ndr_print_struct(ndr
, "out", "samr_Connect2");
11002 ndr_print_ptr(ndr
, "connect_handle", r
->out
.connect_handle
);
11004 ndr_print_policy_handle(ndr
, "connect_handle", r
->out
.connect_handle
);
11006 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11012 _PUBLIC_
enum ndr_err_code
ndr_push_samr_SetUserInfo2(struct ndr_push
*ndr
, int flags
, const struct samr_SetUserInfo2
*r
)
11014 if (flags
& NDR_IN
) {
11015 if (r
->in
.user_handle
== NULL
) {
11016 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11018 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
11019 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->in
.level
));
11020 if (r
->in
.info
== NULL
) {
11021 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11023 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
11024 NDR_CHECK(ndr_push_samr_UserInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
11026 if (flags
& NDR_OUT
) {
11027 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11029 return NDR_ERR_SUCCESS
;
11032 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_SetUserInfo2(struct ndr_pull
*ndr
, int flags
, struct samr_SetUserInfo2
*r
)
11034 TALLOC_CTX
*_mem_save_user_handle_0
;
11035 TALLOC_CTX
*_mem_save_info_0
;
11036 if (flags
& NDR_IN
) {
11037 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11038 NDR_PULL_ALLOC(ndr
, r
->in
.user_handle
);
11040 _mem_save_user_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11041 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.user_handle
, LIBNDR_FLAG_REF_ALLOC
);
11042 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
11043 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_user_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
11044 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->in
.level
));
11045 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11046 NDR_PULL_ALLOC(ndr
, r
->in
.info
);
11048 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11049 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.info
, LIBNDR_FLAG_REF_ALLOC
);
11050 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
11051 NDR_CHECK(ndr_pull_samr_UserInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
11052 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
11054 if (flags
& NDR_OUT
) {
11055 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11057 return NDR_ERR_SUCCESS
;
11060 _PUBLIC_
void ndr_print_samr_SetUserInfo2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_SetUserInfo2
*r
)
11062 ndr_print_struct(ndr
, name
, "samr_SetUserInfo2");
11064 if (flags
& NDR_SET_VALUES
) {
11065 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11067 if (flags
& NDR_IN
) {
11068 ndr_print_struct(ndr
, "in", "samr_SetUserInfo2");
11070 ndr_print_ptr(ndr
, "user_handle", r
->in
.user_handle
);
11072 ndr_print_policy_handle(ndr
, "user_handle", r
->in
.user_handle
);
11074 ndr_print_uint16(ndr
, "level", r
->in
.level
);
11075 ndr_print_ptr(ndr
, "info", r
->in
.info
);
11077 ndr_print_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
);
11078 ndr_print_samr_UserInfo(ndr
, "info", r
->in
.info
);
11082 if (flags
& NDR_OUT
) {
11083 ndr_print_struct(ndr
, "out", "samr_SetUserInfo2");
11085 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11091 static enum ndr_err_code
ndr_push_samr_SetBootKeyInformation(struct ndr_push
*ndr
, int flags
, const struct samr_SetBootKeyInformation
*r
)
11093 if (flags
& NDR_IN
) {
11094 if (r
->in
.connect_handle
== NULL
) {
11095 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11097 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.connect_handle
));
11098 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.unknown1
));
11099 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.unknown2
));
11100 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.unknown3
));
11102 if (flags
& NDR_OUT
) {
11103 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11105 return NDR_ERR_SUCCESS
;
11108 static enum ndr_err_code
ndr_pull_samr_SetBootKeyInformation(struct ndr_pull
*ndr
, int flags
, struct samr_SetBootKeyInformation
*r
)
11110 TALLOC_CTX
*_mem_save_connect_handle_0
;
11111 if (flags
& NDR_IN
) {
11112 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11113 NDR_PULL_ALLOC(ndr
, r
->in
.connect_handle
);
11115 _mem_save_connect_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11116 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.connect_handle
, LIBNDR_FLAG_REF_ALLOC
);
11117 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.connect_handle
));
11118 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_connect_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
11119 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.unknown1
));
11120 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.unknown2
));
11121 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.unknown3
));
11123 if (flags
& NDR_OUT
) {
11124 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11126 return NDR_ERR_SUCCESS
;
11129 _PUBLIC_
void ndr_print_samr_SetBootKeyInformation(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_SetBootKeyInformation
*r
)
11131 ndr_print_struct(ndr
, name
, "samr_SetBootKeyInformation");
11133 if (flags
& NDR_SET_VALUES
) {
11134 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11136 if (flags
& NDR_IN
) {
11137 ndr_print_struct(ndr
, "in", "samr_SetBootKeyInformation");
11139 ndr_print_ptr(ndr
, "connect_handle", r
->in
.connect_handle
);
11141 ndr_print_policy_handle(ndr
, "connect_handle", r
->in
.connect_handle
);
11143 ndr_print_uint32(ndr
, "unknown1", r
->in
.unknown1
);
11144 ndr_print_uint32(ndr
, "unknown2", r
->in
.unknown2
);
11145 ndr_print_uint32(ndr
, "unknown3", r
->in
.unknown3
);
11148 if (flags
& NDR_OUT
) {
11149 ndr_print_struct(ndr
, "out", "samr_SetBootKeyInformation");
11151 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11157 static enum ndr_err_code
ndr_push_samr_GetBootKeyInformation(struct ndr_push
*ndr
, int flags
, const struct samr_GetBootKeyInformation
*r
)
11159 if (flags
& NDR_IN
) {
11160 if (r
->in
.domain_handle
== NULL
) {
11161 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11163 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
11165 if (flags
& NDR_OUT
) {
11166 if (r
->out
.unknown
== NULL
) {
11167 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11169 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.unknown
));
11170 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11172 return NDR_ERR_SUCCESS
;
11175 static enum ndr_err_code
ndr_pull_samr_GetBootKeyInformation(struct ndr_pull
*ndr
, int flags
, struct samr_GetBootKeyInformation
*r
)
11177 TALLOC_CTX
*_mem_save_domain_handle_0
;
11178 TALLOC_CTX
*_mem_save_unknown_0
;
11179 if (flags
& NDR_IN
) {
11180 ZERO_STRUCT(r
->out
);
11182 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11183 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
11185 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11186 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
11187 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
11188 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
11189 NDR_PULL_ALLOC(ndr
, r
->out
.unknown
);
11190 ZERO_STRUCTP(r
->out
.unknown
);
11192 if (flags
& NDR_OUT
) {
11193 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11194 NDR_PULL_ALLOC(ndr
, r
->out
.unknown
);
11196 _mem_save_unknown_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11197 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.unknown
, LIBNDR_FLAG_REF_ALLOC
);
11198 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.unknown
));
11199 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_unknown_0
, LIBNDR_FLAG_REF_ALLOC
);
11200 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11202 return NDR_ERR_SUCCESS
;
11205 _PUBLIC_
void ndr_print_samr_GetBootKeyInformation(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_GetBootKeyInformation
*r
)
11207 ndr_print_struct(ndr
, name
, "samr_GetBootKeyInformation");
11209 if (flags
& NDR_SET_VALUES
) {
11210 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11212 if (flags
& NDR_IN
) {
11213 ndr_print_struct(ndr
, "in", "samr_GetBootKeyInformation");
11215 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
11217 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
11221 if (flags
& NDR_OUT
) {
11222 ndr_print_struct(ndr
, "out", "samr_GetBootKeyInformation");
11224 ndr_print_ptr(ndr
, "unknown", r
->out
.unknown
);
11226 ndr_print_uint32(ndr
, "unknown", *r
->out
.unknown
);
11228 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11234 static enum ndr_err_code
ndr_push_samr_Connect3(struct ndr_push
*ndr
, int flags
, const struct samr_Connect3
*r
)
11236 if (flags
& NDR_IN
) {
11237 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.system_name
));
11238 if (r
->in
.system_name
) {
11239 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->in
.system_name
, CH_UTF16
)));
11240 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
11241 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->in
.system_name
, CH_UTF16
)));
11242 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
));
11244 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.unknown
));
11245 NDR_CHECK(ndr_push_samr_ConnectAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
11247 if (flags
& NDR_OUT
) {
11248 if (r
->out
.connect_handle
== NULL
) {
11249 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11251 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.connect_handle
));
11252 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11254 return NDR_ERR_SUCCESS
;
11257 static enum ndr_err_code
ndr_pull_samr_Connect3(struct ndr_pull
*ndr
, int flags
, struct samr_Connect3
*r
)
11259 uint32_t _ptr_system_name
;
11260 TALLOC_CTX
*_mem_save_system_name_0
;
11261 TALLOC_CTX
*_mem_save_connect_handle_0
;
11262 if (flags
& NDR_IN
) {
11263 ZERO_STRUCT(r
->out
);
11265 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_system_name
));
11266 if (_ptr_system_name
) {
11267 NDR_PULL_ALLOC(ndr
, r
->in
.system_name
);
11269 r
->in
.system_name
= NULL
;
11271 if (r
->in
.system_name
) {
11272 _mem_save_system_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11273 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.system_name
, 0);
11274 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->in
.system_name
));
11275 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->in
.system_name
));
11276 if (ndr_get_array_length(ndr
, &r
->in
.system_name
) > ndr_get_array_size(ndr
, &r
->in
.system_name
)) {
11277 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->in
.system_name
), ndr_get_array_length(ndr
, &r
->in
.system_name
));
11279 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->in
.system_name
), sizeof(uint16_t)));
11280 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->in
.system_name
, ndr_get_array_length(ndr
, &r
->in
.system_name
), sizeof(uint16_t), CH_UTF16
));
11281 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_system_name_0
, 0);
11283 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.unknown
));
11284 NDR_CHECK(ndr_pull_samr_ConnectAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
11285 NDR_PULL_ALLOC(ndr
, r
->out
.connect_handle
);
11286 ZERO_STRUCTP(r
->out
.connect_handle
);
11288 if (flags
& NDR_OUT
) {
11289 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11290 NDR_PULL_ALLOC(ndr
, r
->out
.connect_handle
);
11292 _mem_save_connect_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11293 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.connect_handle
, LIBNDR_FLAG_REF_ALLOC
);
11294 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.connect_handle
));
11295 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_connect_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
11296 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11298 return NDR_ERR_SUCCESS
;
11301 _PUBLIC_
void ndr_print_samr_Connect3(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_Connect3
*r
)
11303 ndr_print_struct(ndr
, name
, "samr_Connect3");
11305 if (flags
& NDR_SET_VALUES
) {
11306 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11308 if (flags
& NDR_IN
) {
11309 ndr_print_struct(ndr
, "in", "samr_Connect3");
11311 ndr_print_ptr(ndr
, "system_name", r
->in
.system_name
);
11313 if (r
->in
.system_name
) {
11314 ndr_print_string(ndr
, "system_name", r
->in
.system_name
);
11317 ndr_print_uint32(ndr
, "unknown", r
->in
.unknown
);
11318 ndr_print_samr_ConnectAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
11321 if (flags
& NDR_OUT
) {
11322 ndr_print_struct(ndr
, "out", "samr_Connect3");
11324 ndr_print_ptr(ndr
, "connect_handle", r
->out
.connect_handle
);
11326 ndr_print_policy_handle(ndr
, "connect_handle", r
->out
.connect_handle
);
11328 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11334 static enum ndr_err_code
ndr_push_samr_Connect4(struct ndr_push
*ndr
, int flags
, const struct samr_Connect4
*r
)
11336 if (flags
& NDR_IN
) {
11337 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.system_name
));
11338 if (r
->in
.system_name
) {
11339 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->in
.system_name
, CH_UTF16
)));
11340 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
11341 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->in
.system_name
, CH_UTF16
)));
11342 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
));
11344 NDR_CHECK(ndr_push_samr_ConnectVersion(ndr
, NDR_SCALARS
, r
->in
.client_version
));
11345 NDR_CHECK(ndr_push_samr_ConnectAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
11347 if (flags
& NDR_OUT
) {
11348 if (r
->out
.connect_handle
== NULL
) {
11349 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11351 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.connect_handle
));
11352 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11354 return NDR_ERR_SUCCESS
;
11357 static enum ndr_err_code
ndr_pull_samr_Connect4(struct ndr_pull
*ndr
, int flags
, struct samr_Connect4
*r
)
11359 uint32_t _ptr_system_name
;
11360 TALLOC_CTX
*_mem_save_system_name_0
;
11361 TALLOC_CTX
*_mem_save_connect_handle_0
;
11362 if (flags
& NDR_IN
) {
11363 ZERO_STRUCT(r
->out
);
11365 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_system_name
));
11366 if (_ptr_system_name
) {
11367 NDR_PULL_ALLOC(ndr
, r
->in
.system_name
);
11369 r
->in
.system_name
= NULL
;
11371 if (r
->in
.system_name
) {
11372 _mem_save_system_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11373 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.system_name
, 0);
11374 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->in
.system_name
));
11375 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->in
.system_name
));
11376 if (ndr_get_array_length(ndr
, &r
->in
.system_name
) > ndr_get_array_size(ndr
, &r
->in
.system_name
)) {
11377 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->in
.system_name
), ndr_get_array_length(ndr
, &r
->in
.system_name
));
11379 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->in
.system_name
), sizeof(uint16_t)));
11380 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->in
.system_name
, ndr_get_array_length(ndr
, &r
->in
.system_name
), sizeof(uint16_t), CH_UTF16
));
11381 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_system_name_0
, 0);
11383 NDR_CHECK(ndr_pull_samr_ConnectVersion(ndr
, NDR_SCALARS
, &r
->in
.client_version
));
11384 NDR_CHECK(ndr_pull_samr_ConnectAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
11385 NDR_PULL_ALLOC(ndr
, r
->out
.connect_handle
);
11386 ZERO_STRUCTP(r
->out
.connect_handle
);
11388 if (flags
& NDR_OUT
) {
11389 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11390 NDR_PULL_ALLOC(ndr
, r
->out
.connect_handle
);
11392 _mem_save_connect_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11393 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.connect_handle
, LIBNDR_FLAG_REF_ALLOC
);
11394 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.connect_handle
));
11395 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_connect_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
11396 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11398 return NDR_ERR_SUCCESS
;
11401 _PUBLIC_
void ndr_print_samr_Connect4(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_Connect4
*r
)
11403 ndr_print_struct(ndr
, name
, "samr_Connect4");
11405 if (flags
& NDR_SET_VALUES
) {
11406 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11408 if (flags
& NDR_IN
) {
11409 ndr_print_struct(ndr
, "in", "samr_Connect4");
11411 ndr_print_ptr(ndr
, "system_name", r
->in
.system_name
);
11413 if (r
->in
.system_name
) {
11414 ndr_print_string(ndr
, "system_name", r
->in
.system_name
);
11417 ndr_print_samr_ConnectVersion(ndr
, "client_version", r
->in
.client_version
);
11418 ndr_print_samr_ConnectAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
11421 if (flags
& NDR_OUT
) {
11422 ndr_print_struct(ndr
, "out", "samr_Connect4");
11424 ndr_print_ptr(ndr
, "connect_handle", r
->out
.connect_handle
);
11426 ndr_print_policy_handle(ndr
, "connect_handle", r
->out
.connect_handle
);
11428 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11434 static enum ndr_err_code
ndr_push_samr_ChangePasswordUser3(struct ndr_push
*ndr
, int flags
, const struct samr_ChangePasswordUser3
*r
)
11436 if (flags
& NDR_IN
) {
11437 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.server
));
11438 if (r
->in
.server
) {
11439 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.server
));
11441 if (r
->in
.account
== NULL
) {
11442 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11444 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.account
));
11445 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.nt_password
));
11446 if (r
->in
.nt_password
) {
11447 NDR_CHECK(ndr_push_samr_CryptPassword(ndr
, NDR_SCALARS
, r
->in
.nt_password
));
11449 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.nt_verifier
));
11450 if (r
->in
.nt_verifier
) {
11451 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, r
->in
.nt_verifier
));
11453 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->in
.lm_change
));
11454 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.lm_password
));
11455 if (r
->in
.lm_password
) {
11456 NDR_CHECK(ndr_push_samr_CryptPassword(ndr
, NDR_SCALARS
, r
->in
.lm_password
));
11458 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.lm_verifier
));
11459 if (r
->in
.lm_verifier
) {
11460 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, r
->in
.lm_verifier
));
11462 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.password3
));
11463 if (r
->in
.password3
) {
11464 NDR_CHECK(ndr_push_samr_CryptPassword(ndr
, NDR_SCALARS
, r
->in
.password3
));
11467 if (flags
& NDR_OUT
) {
11468 if (r
->out
.dominfo
== NULL
) {
11469 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11471 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.dominfo
));
11472 if (*r
->out
.dominfo
) {
11473 NDR_CHECK(ndr_push_samr_DomInfo1(ndr
, NDR_SCALARS
, *r
->out
.dominfo
));
11475 if (r
->out
.reject
== NULL
) {
11476 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11478 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.reject
));
11479 if (*r
->out
.reject
) {
11480 NDR_CHECK(ndr_push_samr_ChangeReject(ndr
, NDR_SCALARS
, *r
->out
.reject
));
11482 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11484 return NDR_ERR_SUCCESS
;
11487 static enum ndr_err_code
ndr_pull_samr_ChangePasswordUser3(struct ndr_pull
*ndr
, int flags
, struct samr_ChangePasswordUser3
*r
)
11489 uint32_t _ptr_server
;
11490 uint32_t _ptr_nt_password
;
11491 uint32_t _ptr_nt_verifier
;
11492 uint32_t _ptr_lm_password
;
11493 uint32_t _ptr_lm_verifier
;
11494 uint32_t _ptr_password3
;
11495 uint32_t _ptr_dominfo
;
11496 uint32_t _ptr_reject
;
11497 TALLOC_CTX
*_mem_save_server_0
;
11498 TALLOC_CTX
*_mem_save_account_0
;
11499 TALLOC_CTX
*_mem_save_nt_password_0
;
11500 TALLOC_CTX
*_mem_save_nt_verifier_0
;
11501 TALLOC_CTX
*_mem_save_lm_password_0
;
11502 TALLOC_CTX
*_mem_save_lm_verifier_0
;
11503 TALLOC_CTX
*_mem_save_password3_0
;
11504 TALLOC_CTX
*_mem_save_dominfo_0
;
11505 TALLOC_CTX
*_mem_save_dominfo_1
;
11506 TALLOC_CTX
*_mem_save_reject_0
;
11507 TALLOC_CTX
*_mem_save_reject_1
;
11508 if (flags
& NDR_IN
) {
11509 ZERO_STRUCT(r
->out
);
11511 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_server
));
11513 NDR_PULL_ALLOC(ndr
, r
->in
.server
);
11515 r
->in
.server
= NULL
;
11517 if (r
->in
.server
) {
11518 _mem_save_server_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11519 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.server
, 0);
11520 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.server
));
11521 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_server_0
, 0);
11523 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11524 NDR_PULL_ALLOC(ndr
, r
->in
.account
);
11526 _mem_save_account_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11527 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.account
, LIBNDR_FLAG_REF_ALLOC
);
11528 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.account
));
11529 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_account_0
, LIBNDR_FLAG_REF_ALLOC
);
11530 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_nt_password
));
11531 if (_ptr_nt_password
) {
11532 NDR_PULL_ALLOC(ndr
, r
->in
.nt_password
);
11534 r
->in
.nt_password
= NULL
;
11536 if (r
->in
.nt_password
) {
11537 _mem_save_nt_password_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11538 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.nt_password
, 0);
11539 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr
, NDR_SCALARS
, r
->in
.nt_password
));
11540 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_nt_password_0
, 0);
11542 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_nt_verifier
));
11543 if (_ptr_nt_verifier
) {
11544 NDR_PULL_ALLOC(ndr
, r
->in
.nt_verifier
);
11546 r
->in
.nt_verifier
= NULL
;
11548 if (r
->in
.nt_verifier
) {
11549 _mem_save_nt_verifier_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11550 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.nt_verifier
, 0);
11551 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, r
->in
.nt_verifier
));
11552 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_nt_verifier_0
, 0);
11554 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->in
.lm_change
));
11555 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_lm_password
));
11556 if (_ptr_lm_password
) {
11557 NDR_PULL_ALLOC(ndr
, r
->in
.lm_password
);
11559 r
->in
.lm_password
= NULL
;
11561 if (r
->in
.lm_password
) {
11562 _mem_save_lm_password_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11563 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.lm_password
, 0);
11564 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr
, NDR_SCALARS
, r
->in
.lm_password
));
11565 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_lm_password_0
, 0);
11567 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_lm_verifier
));
11568 if (_ptr_lm_verifier
) {
11569 NDR_PULL_ALLOC(ndr
, r
->in
.lm_verifier
);
11571 r
->in
.lm_verifier
= NULL
;
11573 if (r
->in
.lm_verifier
) {
11574 _mem_save_lm_verifier_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11575 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.lm_verifier
, 0);
11576 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, r
->in
.lm_verifier
));
11577 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_lm_verifier_0
, 0);
11579 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_password3
));
11580 if (_ptr_password3
) {
11581 NDR_PULL_ALLOC(ndr
, r
->in
.password3
);
11583 r
->in
.password3
= NULL
;
11585 if (r
->in
.password3
) {
11586 _mem_save_password3_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11587 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.password3
, 0);
11588 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr
, NDR_SCALARS
, r
->in
.password3
));
11589 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_password3_0
, 0);
11591 NDR_PULL_ALLOC(ndr
, r
->out
.dominfo
);
11592 ZERO_STRUCTP(r
->out
.dominfo
);
11593 NDR_PULL_ALLOC(ndr
, r
->out
.reject
);
11594 ZERO_STRUCTP(r
->out
.reject
);
11596 if (flags
& NDR_OUT
) {
11597 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11598 NDR_PULL_ALLOC(ndr
, r
->out
.dominfo
);
11600 _mem_save_dominfo_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11601 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.dominfo
, LIBNDR_FLAG_REF_ALLOC
);
11602 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_dominfo
));
11603 if (_ptr_dominfo
) {
11604 NDR_PULL_ALLOC(ndr
, *r
->out
.dominfo
);
11606 *r
->out
.dominfo
= NULL
;
11608 if (*r
->out
.dominfo
) {
11609 _mem_save_dominfo_1
= NDR_PULL_GET_MEM_CTX(ndr
);
11610 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.dominfo
, 0);
11611 NDR_CHECK(ndr_pull_samr_DomInfo1(ndr
, NDR_SCALARS
, *r
->out
.dominfo
));
11612 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dominfo_1
, 0);
11614 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dominfo_0
, LIBNDR_FLAG_REF_ALLOC
);
11615 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11616 NDR_PULL_ALLOC(ndr
, r
->out
.reject
);
11618 _mem_save_reject_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11619 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.reject
, LIBNDR_FLAG_REF_ALLOC
);
11620 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_reject
));
11622 NDR_PULL_ALLOC(ndr
, *r
->out
.reject
);
11624 *r
->out
.reject
= NULL
;
11626 if (*r
->out
.reject
) {
11627 _mem_save_reject_1
= NDR_PULL_GET_MEM_CTX(ndr
);
11628 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.reject
, 0);
11629 NDR_CHECK(ndr_pull_samr_ChangeReject(ndr
, NDR_SCALARS
, *r
->out
.reject
));
11630 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_reject_1
, 0);
11632 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_reject_0
, LIBNDR_FLAG_REF_ALLOC
);
11633 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11635 return NDR_ERR_SUCCESS
;
11638 _PUBLIC_
void ndr_print_samr_ChangePasswordUser3(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_ChangePasswordUser3
*r
)
11640 ndr_print_struct(ndr
, name
, "samr_ChangePasswordUser3");
11642 if (flags
& NDR_SET_VALUES
) {
11643 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11645 if (flags
& NDR_IN
) {
11646 ndr_print_struct(ndr
, "in", "samr_ChangePasswordUser3");
11648 ndr_print_ptr(ndr
, "server", r
->in
.server
);
11650 if (r
->in
.server
) {
11651 ndr_print_lsa_String(ndr
, "server", r
->in
.server
);
11654 ndr_print_ptr(ndr
, "account", r
->in
.account
);
11656 ndr_print_lsa_String(ndr
, "account", r
->in
.account
);
11658 ndr_print_ptr(ndr
, "nt_password", r
->in
.nt_password
);
11660 if (r
->in
.nt_password
) {
11661 ndr_print_samr_CryptPassword(ndr
, "nt_password", r
->in
.nt_password
);
11664 ndr_print_ptr(ndr
, "nt_verifier", r
->in
.nt_verifier
);
11666 if (r
->in
.nt_verifier
) {
11667 ndr_print_samr_Password(ndr
, "nt_verifier", r
->in
.nt_verifier
);
11670 ndr_print_uint8(ndr
, "lm_change", r
->in
.lm_change
);
11671 ndr_print_ptr(ndr
, "lm_password", r
->in
.lm_password
);
11673 if (r
->in
.lm_password
) {
11674 ndr_print_samr_CryptPassword(ndr
, "lm_password", r
->in
.lm_password
);
11677 ndr_print_ptr(ndr
, "lm_verifier", r
->in
.lm_verifier
);
11679 if (r
->in
.lm_verifier
) {
11680 ndr_print_samr_Password(ndr
, "lm_verifier", r
->in
.lm_verifier
);
11683 ndr_print_ptr(ndr
, "password3", r
->in
.password3
);
11685 if (r
->in
.password3
) {
11686 ndr_print_samr_CryptPassword(ndr
, "password3", r
->in
.password3
);
11691 if (flags
& NDR_OUT
) {
11692 ndr_print_struct(ndr
, "out", "samr_ChangePasswordUser3");
11694 ndr_print_ptr(ndr
, "dominfo", r
->out
.dominfo
);
11696 ndr_print_ptr(ndr
, "dominfo", *r
->out
.dominfo
);
11698 if (*r
->out
.dominfo
) {
11699 ndr_print_samr_DomInfo1(ndr
, "dominfo", *r
->out
.dominfo
);
11703 ndr_print_ptr(ndr
, "reject", r
->out
.reject
);
11705 ndr_print_ptr(ndr
, "reject", *r
->out
.reject
);
11707 if (*r
->out
.reject
) {
11708 ndr_print_samr_ChangeReject(ndr
, "reject", *r
->out
.reject
);
11712 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11718 _PUBLIC_
enum ndr_err_code
ndr_push_samr_Connect5(struct ndr_push
*ndr
, int flags
, const struct samr_Connect5
*r
)
11720 if (flags
& NDR_IN
) {
11721 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.system_name
));
11722 if (r
->in
.system_name
) {
11723 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->in
.system_name
, CH_UTF16
)));
11724 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
11725 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->in
.system_name
, CH_UTF16
)));
11726 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
));
11728 NDR_CHECK(ndr_push_samr_ConnectAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
11729 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.level_in
));
11730 if (r
->in
.info_in
== NULL
) {
11731 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11733 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.info_in
, r
->in
.level_in
));
11734 NDR_CHECK(ndr_push_samr_ConnectInfo(ndr
, NDR_SCALARS
, r
->in
.info_in
));
11736 if (flags
& NDR_OUT
) {
11737 if (r
->out
.level_out
== NULL
) {
11738 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11740 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
11741 if (r
->out
.info_out
== NULL
) {
11742 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11744 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.info_out
, *r
->out
.level_out
));
11745 NDR_CHECK(ndr_push_samr_ConnectInfo(ndr
, NDR_SCALARS
, r
->out
.info_out
));
11746 if (r
->out
.connect_handle
== NULL
) {
11747 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11749 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.connect_handle
));
11750 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11752 return NDR_ERR_SUCCESS
;
11755 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_Connect5(struct ndr_pull
*ndr
, int flags
, struct samr_Connect5
*r
)
11757 uint32_t _ptr_system_name
;
11758 TALLOC_CTX
*_mem_save_system_name_0
;
11759 TALLOC_CTX
*_mem_save_info_in_0
;
11760 TALLOC_CTX
*_mem_save_level_out_0
;
11761 TALLOC_CTX
*_mem_save_info_out_0
;
11762 TALLOC_CTX
*_mem_save_connect_handle_0
;
11763 if (flags
& NDR_IN
) {
11764 ZERO_STRUCT(r
->out
);
11766 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_system_name
));
11767 if (_ptr_system_name
) {
11768 NDR_PULL_ALLOC(ndr
, r
->in
.system_name
);
11770 r
->in
.system_name
= NULL
;
11772 if (r
->in
.system_name
) {
11773 _mem_save_system_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11774 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.system_name
, 0);
11775 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->in
.system_name
));
11776 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->in
.system_name
));
11777 if (ndr_get_array_length(ndr
, &r
->in
.system_name
) > ndr_get_array_size(ndr
, &r
->in
.system_name
)) {
11778 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->in
.system_name
), ndr_get_array_length(ndr
, &r
->in
.system_name
));
11780 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->in
.system_name
), sizeof(uint16_t)));
11781 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->in
.system_name
, ndr_get_array_length(ndr
, &r
->in
.system_name
), sizeof(uint16_t), CH_UTF16
));
11782 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_system_name_0
, 0);
11784 NDR_CHECK(ndr_pull_samr_ConnectAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
11785 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.level_in
));
11786 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11787 NDR_PULL_ALLOC(ndr
, r
->in
.info_in
);
11789 _mem_save_info_in_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11790 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.info_in
, LIBNDR_FLAG_REF_ALLOC
);
11791 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.info_in
, r
->in
.level_in
));
11792 NDR_CHECK(ndr_pull_samr_ConnectInfo(ndr
, NDR_SCALARS
, r
->in
.info_in
));
11793 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_in_0
, LIBNDR_FLAG_REF_ALLOC
);
11794 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
11795 ZERO_STRUCTP(r
->out
.level_out
);
11796 NDR_PULL_ALLOC(ndr
, r
->out
.info_out
);
11797 ZERO_STRUCTP(r
->out
.info_out
);
11798 NDR_PULL_ALLOC(ndr
, r
->out
.connect_handle
);
11799 ZERO_STRUCTP(r
->out
.connect_handle
);
11801 if (flags
& NDR_OUT
) {
11802 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11803 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
11805 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11806 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
11807 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
11808 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
11809 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11810 NDR_PULL_ALLOC(ndr
, r
->out
.info_out
);
11812 _mem_save_info_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11813 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info_out
, LIBNDR_FLAG_REF_ALLOC
);
11814 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.info_out
, *r
->out
.level_out
));
11815 NDR_CHECK(ndr_pull_samr_ConnectInfo(ndr
, NDR_SCALARS
, r
->out
.info_out
));
11816 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_out_0
, LIBNDR_FLAG_REF_ALLOC
);
11817 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11818 NDR_PULL_ALLOC(ndr
, r
->out
.connect_handle
);
11820 _mem_save_connect_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11821 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.connect_handle
, LIBNDR_FLAG_REF_ALLOC
);
11822 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.connect_handle
));
11823 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_connect_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
11824 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11826 return NDR_ERR_SUCCESS
;
11829 _PUBLIC_
void ndr_print_samr_Connect5(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_Connect5
*r
)
11831 ndr_print_struct(ndr
, name
, "samr_Connect5");
11833 if (flags
& NDR_SET_VALUES
) {
11834 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11836 if (flags
& NDR_IN
) {
11837 ndr_print_struct(ndr
, "in", "samr_Connect5");
11839 ndr_print_ptr(ndr
, "system_name", r
->in
.system_name
);
11841 if (r
->in
.system_name
) {
11842 ndr_print_string(ndr
, "system_name", r
->in
.system_name
);
11845 ndr_print_samr_ConnectAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
11846 ndr_print_uint32(ndr
, "level_in", r
->in
.level_in
);
11847 ndr_print_ptr(ndr
, "info_in", r
->in
.info_in
);
11849 ndr_print_set_switch_value(ndr
, r
->in
.info_in
, r
->in
.level_in
);
11850 ndr_print_samr_ConnectInfo(ndr
, "info_in", r
->in
.info_in
);
11854 if (flags
& NDR_OUT
) {
11855 ndr_print_struct(ndr
, "out", "samr_Connect5");
11857 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
11859 ndr_print_uint32(ndr
, "level_out", *r
->out
.level_out
);
11861 ndr_print_ptr(ndr
, "info_out", r
->out
.info_out
);
11863 ndr_print_set_switch_value(ndr
, r
->out
.info_out
, *r
->out
.level_out
);
11864 ndr_print_samr_ConnectInfo(ndr
, "info_out", r
->out
.info_out
);
11866 ndr_print_ptr(ndr
, "connect_handle", r
->out
.connect_handle
);
11868 ndr_print_policy_handle(ndr
, "connect_handle", r
->out
.connect_handle
);
11870 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11876 static enum ndr_err_code
ndr_push_samr_RidToSid(struct ndr_push
*ndr
, int flags
, const struct samr_RidToSid
*r
)
11878 if (flags
& NDR_IN
) {
11879 if (r
->in
.domain_handle
== NULL
) {
11880 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11882 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
11883 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.rid
));
11885 if (flags
& NDR_OUT
) {
11886 if (r
->out
.sid
== NULL
) {
11887 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11889 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.sid
));
11890 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11892 return NDR_ERR_SUCCESS
;
11895 static enum ndr_err_code
ndr_pull_samr_RidToSid(struct ndr_pull
*ndr
, int flags
, struct samr_RidToSid
*r
)
11897 TALLOC_CTX
*_mem_save_domain_handle_0
;
11898 TALLOC_CTX
*_mem_save_sid_0
;
11899 if (flags
& NDR_IN
) {
11900 ZERO_STRUCT(r
->out
);
11902 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11903 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
11905 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11906 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
11907 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
11908 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
11909 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.rid
));
11910 NDR_PULL_ALLOC(ndr
, r
->out
.sid
);
11911 ZERO_STRUCTP(r
->out
.sid
);
11913 if (flags
& NDR_OUT
) {
11914 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11915 NDR_PULL_ALLOC(ndr
, r
->out
.sid
);
11917 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11918 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sid
, LIBNDR_FLAG_REF_ALLOC
);
11919 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.sid
));
11920 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, LIBNDR_FLAG_REF_ALLOC
);
11921 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11923 return NDR_ERR_SUCCESS
;
11926 _PUBLIC_
void ndr_print_samr_RidToSid(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_RidToSid
*r
)
11928 ndr_print_struct(ndr
, name
, "samr_RidToSid");
11930 if (flags
& NDR_SET_VALUES
) {
11931 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11933 if (flags
& NDR_IN
) {
11934 ndr_print_struct(ndr
, "in", "samr_RidToSid");
11936 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
11938 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
11940 ndr_print_uint32(ndr
, "rid", r
->in
.rid
);
11943 if (flags
& NDR_OUT
) {
11944 ndr_print_struct(ndr
, "out", "samr_RidToSid");
11946 ndr_print_ptr(ndr
, "sid", r
->out
.sid
);
11948 ndr_print_dom_sid2(ndr
, "sid", r
->out
.sid
);
11950 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11956 static enum ndr_err_code
ndr_push_samr_SetDsrmPassword(struct ndr_push
*ndr
, int flags
, const struct samr_SetDsrmPassword
*r
)
11958 if (flags
& NDR_IN
) {
11959 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.name
));
11961 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.name
));
11963 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.unknown
));
11964 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.hash
));
11966 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, r
->in
.hash
));
11969 if (flags
& NDR_OUT
) {
11970 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11972 return NDR_ERR_SUCCESS
;
11975 static enum ndr_err_code
ndr_pull_samr_SetDsrmPassword(struct ndr_pull
*ndr
, int flags
, struct samr_SetDsrmPassword
*r
)
11977 uint32_t _ptr_name
;
11978 uint32_t _ptr_hash
;
11979 TALLOC_CTX
*_mem_save_name_0
;
11980 TALLOC_CTX
*_mem_save_hash_0
;
11981 if (flags
& NDR_IN
) {
11982 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_name
));
11984 NDR_PULL_ALLOC(ndr
, r
->in
.name
);
11989 _mem_save_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11990 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.name
, 0);
11991 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.name
));
11992 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_name_0
, 0);
11994 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.unknown
));
11995 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_hash
));
11997 NDR_PULL_ALLOC(ndr
, r
->in
.hash
);
12002 _mem_save_hash_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12003 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.hash
, 0);
12004 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, r
->in
.hash
));
12005 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_hash_0
, 0);
12008 if (flags
& NDR_OUT
) {
12009 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
12011 return NDR_ERR_SUCCESS
;
12014 _PUBLIC_
void ndr_print_samr_SetDsrmPassword(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_SetDsrmPassword
*r
)
12016 ndr_print_struct(ndr
, name
, "samr_SetDsrmPassword");
12018 if (flags
& NDR_SET_VALUES
) {
12019 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
12021 if (flags
& NDR_IN
) {
12022 ndr_print_struct(ndr
, "in", "samr_SetDsrmPassword");
12024 ndr_print_ptr(ndr
, "name", r
->in
.name
);
12027 ndr_print_lsa_String(ndr
, "name", r
->in
.name
);
12030 ndr_print_uint32(ndr
, "unknown", r
->in
.unknown
);
12031 ndr_print_ptr(ndr
, "hash", r
->in
.hash
);
12034 ndr_print_samr_Password(ndr
, "hash", r
->in
.hash
);
12039 if (flags
& NDR_OUT
) {
12040 ndr_print_struct(ndr
, "out", "samr_SetDsrmPassword");
12042 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
12048 static enum ndr_err_code
ndr_push_samr_ValidatePassword(struct ndr_push
*ndr
, int flags
, const struct samr_ValidatePassword
*r
)
12050 if (flags
& NDR_IN
) {
12051 NDR_CHECK(ndr_push_samr_ValidatePasswordLevel(ndr
, NDR_SCALARS
, r
->in
.level
));
12052 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
12053 NDR_CHECK(ndr_push_samr_ValidatePasswordReq(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
12055 if (flags
& NDR_OUT
) {
12056 if (r
->out
.rep
== NULL
) {
12057 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
12059 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.rep
, r
->in
.level
));
12060 NDR_CHECK(ndr_push_samr_ValidatePasswordRep(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.rep
));
12061 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
12063 return NDR_ERR_SUCCESS
;
12066 static enum ndr_err_code
ndr_pull_samr_ValidatePassword(struct ndr_pull
*ndr
, int flags
, struct samr_ValidatePassword
*r
)
12068 TALLOC_CTX
*_mem_save_rep_0
;
12069 if (flags
& NDR_IN
) {
12070 ZERO_STRUCT(r
->out
);
12072 NDR_CHECK(ndr_pull_samr_ValidatePasswordLevel(ndr
, NDR_SCALARS
, &r
->in
.level
));
12073 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
12074 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
12075 NDR_PULL_ALLOC(ndr
, r
->out
.rep
);
12076 ZERO_STRUCTP(r
->out
.rep
);
12078 if (flags
& NDR_OUT
) {
12079 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
12080 NDR_PULL_ALLOC(ndr
, r
->out
.rep
);
12082 _mem_save_rep_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12083 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.rep
, LIBNDR_FLAG_REF_ALLOC
);
12084 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.rep
, r
->in
.level
));
12085 NDR_CHECK(ndr_pull_samr_ValidatePasswordRep(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.rep
));
12086 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rep_0
, LIBNDR_FLAG_REF_ALLOC
);
12087 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
12089 return NDR_ERR_SUCCESS
;
12092 _PUBLIC_
void ndr_print_samr_ValidatePassword(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_ValidatePassword
*r
)
12094 ndr_print_struct(ndr
, name
, "samr_ValidatePassword");
12096 if (flags
& NDR_SET_VALUES
) {
12097 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
12099 if (flags
& NDR_IN
) {
12100 ndr_print_struct(ndr
, "in", "samr_ValidatePassword");
12102 ndr_print_samr_ValidatePasswordLevel(ndr
, "level", r
->in
.level
);
12103 ndr_print_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
);
12104 ndr_print_samr_ValidatePasswordReq(ndr
, "req", &r
->in
.req
);
12107 if (flags
& NDR_OUT
) {
12108 ndr_print_struct(ndr
, "out", "samr_ValidatePassword");
12110 ndr_print_ptr(ndr
, "rep", r
->out
.rep
);
12112 ndr_print_set_switch_value(ndr
, r
->out
.rep
, r
->in
.level
);
12113 ndr_print_samr_ValidatePasswordRep(ndr
, "rep", r
->out
.rep
);
12115 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
12121 static const struct ndr_interface_call samr_calls
[] = {
12124 sizeof(struct samr_Connect
),
12125 (ndr_push_flags_fn_t
) ndr_push_samr_Connect
,
12126 (ndr_pull_flags_fn_t
) ndr_pull_samr_Connect
,
12127 (ndr_print_function_t
) ndr_print_samr_Connect
,
12132 sizeof(struct samr_Close
),
12133 (ndr_push_flags_fn_t
) ndr_push_samr_Close
,
12134 (ndr_pull_flags_fn_t
) ndr_pull_samr_Close
,
12135 (ndr_print_function_t
) ndr_print_samr_Close
,
12139 "samr_SetSecurity",
12140 sizeof(struct samr_SetSecurity
),
12141 (ndr_push_flags_fn_t
) ndr_push_samr_SetSecurity
,
12142 (ndr_pull_flags_fn_t
) ndr_pull_samr_SetSecurity
,
12143 (ndr_print_function_t
) ndr_print_samr_SetSecurity
,
12147 "samr_QuerySecurity",
12148 sizeof(struct samr_QuerySecurity
),
12149 (ndr_push_flags_fn_t
) ndr_push_samr_QuerySecurity
,
12150 (ndr_pull_flags_fn_t
) ndr_pull_samr_QuerySecurity
,
12151 (ndr_print_function_t
) ndr_print_samr_QuerySecurity
,
12156 sizeof(struct samr_Shutdown
),
12157 (ndr_push_flags_fn_t
) ndr_push_samr_Shutdown
,
12158 (ndr_pull_flags_fn_t
) ndr_pull_samr_Shutdown
,
12159 (ndr_print_function_t
) ndr_print_samr_Shutdown
,
12163 "samr_LookupDomain",
12164 sizeof(struct samr_LookupDomain
),
12165 (ndr_push_flags_fn_t
) ndr_push_samr_LookupDomain
,
12166 (ndr_pull_flags_fn_t
) ndr_pull_samr_LookupDomain
,
12167 (ndr_print_function_t
) ndr_print_samr_LookupDomain
,
12171 "samr_EnumDomains",
12172 sizeof(struct samr_EnumDomains
),
12173 (ndr_push_flags_fn_t
) ndr_push_samr_EnumDomains
,
12174 (ndr_pull_flags_fn_t
) ndr_pull_samr_EnumDomains
,
12175 (ndr_print_function_t
) ndr_print_samr_EnumDomains
,
12180 sizeof(struct samr_OpenDomain
),
12181 (ndr_push_flags_fn_t
) ndr_push_samr_OpenDomain
,
12182 (ndr_pull_flags_fn_t
) ndr_pull_samr_OpenDomain
,
12183 (ndr_print_function_t
) ndr_print_samr_OpenDomain
,
12187 "samr_QueryDomainInfo",
12188 sizeof(struct samr_QueryDomainInfo
),
12189 (ndr_push_flags_fn_t
) ndr_push_samr_QueryDomainInfo
,
12190 (ndr_pull_flags_fn_t
) ndr_pull_samr_QueryDomainInfo
,
12191 (ndr_print_function_t
) ndr_print_samr_QueryDomainInfo
,
12195 "samr_SetDomainInfo",
12196 sizeof(struct samr_SetDomainInfo
),
12197 (ndr_push_flags_fn_t
) ndr_push_samr_SetDomainInfo
,
12198 (ndr_pull_flags_fn_t
) ndr_pull_samr_SetDomainInfo
,
12199 (ndr_print_function_t
) ndr_print_samr_SetDomainInfo
,
12203 "samr_CreateDomainGroup",
12204 sizeof(struct samr_CreateDomainGroup
),
12205 (ndr_push_flags_fn_t
) ndr_push_samr_CreateDomainGroup
,
12206 (ndr_pull_flags_fn_t
) ndr_pull_samr_CreateDomainGroup
,
12207 (ndr_print_function_t
) ndr_print_samr_CreateDomainGroup
,
12211 "samr_EnumDomainGroups",
12212 sizeof(struct samr_EnumDomainGroups
),
12213 (ndr_push_flags_fn_t
) ndr_push_samr_EnumDomainGroups
,
12214 (ndr_pull_flags_fn_t
) ndr_pull_samr_EnumDomainGroups
,
12215 (ndr_print_function_t
) ndr_print_samr_EnumDomainGroups
,
12220 sizeof(struct samr_CreateUser
),
12221 (ndr_push_flags_fn_t
) ndr_push_samr_CreateUser
,
12222 (ndr_pull_flags_fn_t
) ndr_pull_samr_CreateUser
,
12223 (ndr_print_function_t
) ndr_print_samr_CreateUser
,
12227 "samr_EnumDomainUsers",
12228 sizeof(struct samr_EnumDomainUsers
),
12229 (ndr_push_flags_fn_t
) ndr_push_samr_EnumDomainUsers
,
12230 (ndr_pull_flags_fn_t
) ndr_pull_samr_EnumDomainUsers
,
12231 (ndr_print_function_t
) ndr_print_samr_EnumDomainUsers
,
12235 "samr_CreateDomAlias",
12236 sizeof(struct samr_CreateDomAlias
),
12237 (ndr_push_flags_fn_t
) ndr_push_samr_CreateDomAlias
,
12238 (ndr_pull_flags_fn_t
) ndr_pull_samr_CreateDomAlias
,
12239 (ndr_print_function_t
) ndr_print_samr_CreateDomAlias
,
12243 "samr_EnumDomainAliases",
12244 sizeof(struct samr_EnumDomainAliases
),
12245 (ndr_push_flags_fn_t
) ndr_push_samr_EnumDomainAliases
,
12246 (ndr_pull_flags_fn_t
) ndr_pull_samr_EnumDomainAliases
,
12247 (ndr_print_function_t
) ndr_print_samr_EnumDomainAliases
,
12251 "samr_GetAliasMembership",
12252 sizeof(struct samr_GetAliasMembership
),
12253 (ndr_push_flags_fn_t
) ndr_push_samr_GetAliasMembership
,
12254 (ndr_pull_flags_fn_t
) ndr_pull_samr_GetAliasMembership
,
12255 (ndr_print_function_t
) ndr_print_samr_GetAliasMembership
,
12259 "samr_LookupNames",
12260 sizeof(struct samr_LookupNames
),
12261 (ndr_push_flags_fn_t
) ndr_push_samr_LookupNames
,
12262 (ndr_pull_flags_fn_t
) ndr_pull_samr_LookupNames
,
12263 (ndr_print_function_t
) ndr_print_samr_LookupNames
,
12268 sizeof(struct samr_LookupRids
),
12269 (ndr_push_flags_fn_t
) ndr_push_samr_LookupRids
,
12270 (ndr_pull_flags_fn_t
) ndr_pull_samr_LookupRids
,
12271 (ndr_print_function_t
) ndr_print_samr_LookupRids
,
12276 sizeof(struct samr_OpenGroup
),
12277 (ndr_push_flags_fn_t
) ndr_push_samr_OpenGroup
,
12278 (ndr_pull_flags_fn_t
) ndr_pull_samr_OpenGroup
,
12279 (ndr_print_function_t
) ndr_print_samr_OpenGroup
,
12283 "samr_QueryGroupInfo",
12284 sizeof(struct samr_QueryGroupInfo
),
12285 (ndr_push_flags_fn_t
) ndr_push_samr_QueryGroupInfo
,
12286 (ndr_pull_flags_fn_t
) ndr_pull_samr_QueryGroupInfo
,
12287 (ndr_print_function_t
) ndr_print_samr_QueryGroupInfo
,
12291 "samr_SetGroupInfo",
12292 sizeof(struct samr_SetGroupInfo
),
12293 (ndr_push_flags_fn_t
) ndr_push_samr_SetGroupInfo
,
12294 (ndr_pull_flags_fn_t
) ndr_pull_samr_SetGroupInfo
,
12295 (ndr_print_function_t
) ndr_print_samr_SetGroupInfo
,
12299 "samr_AddGroupMember",
12300 sizeof(struct samr_AddGroupMember
),
12301 (ndr_push_flags_fn_t
) ndr_push_samr_AddGroupMember
,
12302 (ndr_pull_flags_fn_t
) ndr_pull_samr_AddGroupMember
,
12303 (ndr_print_function_t
) ndr_print_samr_AddGroupMember
,
12307 "samr_DeleteDomainGroup",
12308 sizeof(struct samr_DeleteDomainGroup
),
12309 (ndr_push_flags_fn_t
) ndr_push_samr_DeleteDomainGroup
,
12310 (ndr_pull_flags_fn_t
) ndr_pull_samr_DeleteDomainGroup
,
12311 (ndr_print_function_t
) ndr_print_samr_DeleteDomainGroup
,
12315 "samr_DeleteGroupMember",
12316 sizeof(struct samr_DeleteGroupMember
),
12317 (ndr_push_flags_fn_t
) ndr_push_samr_DeleteGroupMember
,
12318 (ndr_pull_flags_fn_t
) ndr_pull_samr_DeleteGroupMember
,
12319 (ndr_print_function_t
) ndr_print_samr_DeleteGroupMember
,
12323 "samr_QueryGroupMember",
12324 sizeof(struct samr_QueryGroupMember
),
12325 (ndr_push_flags_fn_t
) ndr_push_samr_QueryGroupMember
,
12326 (ndr_pull_flags_fn_t
) ndr_pull_samr_QueryGroupMember
,
12327 (ndr_print_function_t
) ndr_print_samr_QueryGroupMember
,
12331 "samr_SetMemberAttributesOfGroup",
12332 sizeof(struct samr_SetMemberAttributesOfGroup
),
12333 (ndr_push_flags_fn_t
) ndr_push_samr_SetMemberAttributesOfGroup
,
12334 (ndr_pull_flags_fn_t
) ndr_pull_samr_SetMemberAttributesOfGroup
,
12335 (ndr_print_function_t
) ndr_print_samr_SetMemberAttributesOfGroup
,
12340 sizeof(struct samr_OpenAlias
),
12341 (ndr_push_flags_fn_t
) ndr_push_samr_OpenAlias
,
12342 (ndr_pull_flags_fn_t
) ndr_pull_samr_OpenAlias
,
12343 (ndr_print_function_t
) ndr_print_samr_OpenAlias
,
12347 "samr_QueryAliasInfo",
12348 sizeof(struct samr_QueryAliasInfo
),
12349 (ndr_push_flags_fn_t
) ndr_push_samr_QueryAliasInfo
,
12350 (ndr_pull_flags_fn_t
) ndr_pull_samr_QueryAliasInfo
,
12351 (ndr_print_function_t
) ndr_print_samr_QueryAliasInfo
,
12355 "samr_SetAliasInfo",
12356 sizeof(struct samr_SetAliasInfo
),
12357 (ndr_push_flags_fn_t
) ndr_push_samr_SetAliasInfo
,
12358 (ndr_pull_flags_fn_t
) ndr_pull_samr_SetAliasInfo
,
12359 (ndr_print_function_t
) ndr_print_samr_SetAliasInfo
,
12363 "samr_DeleteDomAlias",
12364 sizeof(struct samr_DeleteDomAlias
),
12365 (ndr_push_flags_fn_t
) ndr_push_samr_DeleteDomAlias
,
12366 (ndr_pull_flags_fn_t
) ndr_pull_samr_DeleteDomAlias
,
12367 (ndr_print_function_t
) ndr_print_samr_DeleteDomAlias
,
12371 "samr_AddAliasMember",
12372 sizeof(struct samr_AddAliasMember
),
12373 (ndr_push_flags_fn_t
) ndr_push_samr_AddAliasMember
,
12374 (ndr_pull_flags_fn_t
) ndr_pull_samr_AddAliasMember
,
12375 (ndr_print_function_t
) ndr_print_samr_AddAliasMember
,
12379 "samr_DeleteAliasMember",
12380 sizeof(struct samr_DeleteAliasMember
),
12381 (ndr_push_flags_fn_t
) ndr_push_samr_DeleteAliasMember
,
12382 (ndr_pull_flags_fn_t
) ndr_pull_samr_DeleteAliasMember
,
12383 (ndr_print_function_t
) ndr_print_samr_DeleteAliasMember
,
12387 "samr_GetMembersInAlias",
12388 sizeof(struct samr_GetMembersInAlias
),
12389 (ndr_push_flags_fn_t
) ndr_push_samr_GetMembersInAlias
,
12390 (ndr_pull_flags_fn_t
) ndr_pull_samr_GetMembersInAlias
,
12391 (ndr_print_function_t
) ndr_print_samr_GetMembersInAlias
,
12396 sizeof(struct samr_OpenUser
),
12397 (ndr_push_flags_fn_t
) ndr_push_samr_OpenUser
,
12398 (ndr_pull_flags_fn_t
) ndr_pull_samr_OpenUser
,
12399 (ndr_print_function_t
) ndr_print_samr_OpenUser
,
12404 sizeof(struct samr_DeleteUser
),
12405 (ndr_push_flags_fn_t
) ndr_push_samr_DeleteUser
,
12406 (ndr_pull_flags_fn_t
) ndr_pull_samr_DeleteUser
,
12407 (ndr_print_function_t
) ndr_print_samr_DeleteUser
,
12411 "samr_QueryUserInfo",
12412 sizeof(struct samr_QueryUserInfo
),
12413 (ndr_push_flags_fn_t
) ndr_push_samr_QueryUserInfo
,
12414 (ndr_pull_flags_fn_t
) ndr_pull_samr_QueryUserInfo
,
12415 (ndr_print_function_t
) ndr_print_samr_QueryUserInfo
,
12419 "samr_SetUserInfo",
12420 sizeof(struct samr_SetUserInfo
),
12421 (ndr_push_flags_fn_t
) ndr_push_samr_SetUserInfo
,
12422 (ndr_pull_flags_fn_t
) ndr_pull_samr_SetUserInfo
,
12423 (ndr_print_function_t
) ndr_print_samr_SetUserInfo
,
12427 "samr_ChangePasswordUser",
12428 sizeof(struct samr_ChangePasswordUser
),
12429 (ndr_push_flags_fn_t
) ndr_push_samr_ChangePasswordUser
,
12430 (ndr_pull_flags_fn_t
) ndr_pull_samr_ChangePasswordUser
,
12431 (ndr_print_function_t
) ndr_print_samr_ChangePasswordUser
,
12435 "samr_GetGroupsForUser",
12436 sizeof(struct samr_GetGroupsForUser
),
12437 (ndr_push_flags_fn_t
) ndr_push_samr_GetGroupsForUser
,
12438 (ndr_pull_flags_fn_t
) ndr_pull_samr_GetGroupsForUser
,
12439 (ndr_print_function_t
) ndr_print_samr_GetGroupsForUser
,
12443 "samr_QueryDisplayInfo",
12444 sizeof(struct samr_QueryDisplayInfo
),
12445 (ndr_push_flags_fn_t
) ndr_push_samr_QueryDisplayInfo
,
12446 (ndr_pull_flags_fn_t
) ndr_pull_samr_QueryDisplayInfo
,
12447 (ndr_print_function_t
) ndr_print_samr_QueryDisplayInfo
,
12451 "samr_GetDisplayEnumerationIndex",
12452 sizeof(struct samr_GetDisplayEnumerationIndex
),
12453 (ndr_push_flags_fn_t
) ndr_push_samr_GetDisplayEnumerationIndex
,
12454 (ndr_pull_flags_fn_t
) ndr_pull_samr_GetDisplayEnumerationIndex
,
12455 (ndr_print_function_t
) ndr_print_samr_GetDisplayEnumerationIndex
,
12459 "samr_TestPrivateFunctionsDomain",
12460 sizeof(struct samr_TestPrivateFunctionsDomain
),
12461 (ndr_push_flags_fn_t
) ndr_push_samr_TestPrivateFunctionsDomain
,
12462 (ndr_pull_flags_fn_t
) ndr_pull_samr_TestPrivateFunctionsDomain
,
12463 (ndr_print_function_t
) ndr_print_samr_TestPrivateFunctionsDomain
,
12467 "samr_TestPrivateFunctionsUser",
12468 sizeof(struct samr_TestPrivateFunctionsUser
),
12469 (ndr_push_flags_fn_t
) ndr_push_samr_TestPrivateFunctionsUser
,
12470 (ndr_pull_flags_fn_t
) ndr_pull_samr_TestPrivateFunctionsUser
,
12471 (ndr_print_function_t
) ndr_print_samr_TestPrivateFunctionsUser
,
12475 "samr_GetUserPwInfo",
12476 sizeof(struct samr_GetUserPwInfo
),
12477 (ndr_push_flags_fn_t
) ndr_push_samr_GetUserPwInfo
,
12478 (ndr_pull_flags_fn_t
) ndr_pull_samr_GetUserPwInfo
,
12479 (ndr_print_function_t
) ndr_print_samr_GetUserPwInfo
,
12483 "samr_RemoveMemberFromForeignDomain",
12484 sizeof(struct samr_RemoveMemberFromForeignDomain
),
12485 (ndr_push_flags_fn_t
) ndr_push_samr_RemoveMemberFromForeignDomain
,
12486 (ndr_pull_flags_fn_t
) ndr_pull_samr_RemoveMemberFromForeignDomain
,
12487 (ndr_print_function_t
) ndr_print_samr_RemoveMemberFromForeignDomain
,
12491 "samr_QueryDomainInfo2",
12492 sizeof(struct samr_QueryDomainInfo2
),
12493 (ndr_push_flags_fn_t
) ndr_push_samr_QueryDomainInfo2
,
12494 (ndr_pull_flags_fn_t
) ndr_pull_samr_QueryDomainInfo2
,
12495 (ndr_print_function_t
) ndr_print_samr_QueryDomainInfo2
,
12499 "samr_QueryUserInfo2",
12500 sizeof(struct samr_QueryUserInfo2
),
12501 (ndr_push_flags_fn_t
) ndr_push_samr_QueryUserInfo2
,
12502 (ndr_pull_flags_fn_t
) ndr_pull_samr_QueryUserInfo2
,
12503 (ndr_print_function_t
) ndr_print_samr_QueryUserInfo2
,
12507 "samr_QueryDisplayInfo2",
12508 sizeof(struct samr_QueryDisplayInfo2
),
12509 (ndr_push_flags_fn_t
) ndr_push_samr_QueryDisplayInfo2
,
12510 (ndr_pull_flags_fn_t
) ndr_pull_samr_QueryDisplayInfo2
,
12511 (ndr_print_function_t
) ndr_print_samr_QueryDisplayInfo2
,
12515 "samr_GetDisplayEnumerationIndex2",
12516 sizeof(struct samr_GetDisplayEnumerationIndex2
),
12517 (ndr_push_flags_fn_t
) ndr_push_samr_GetDisplayEnumerationIndex2
,
12518 (ndr_pull_flags_fn_t
) ndr_pull_samr_GetDisplayEnumerationIndex2
,
12519 (ndr_print_function_t
) ndr_print_samr_GetDisplayEnumerationIndex2
,
12523 "samr_CreateUser2",
12524 sizeof(struct samr_CreateUser2
),
12525 (ndr_push_flags_fn_t
) ndr_push_samr_CreateUser2
,
12526 (ndr_pull_flags_fn_t
) ndr_pull_samr_CreateUser2
,
12527 (ndr_print_function_t
) ndr_print_samr_CreateUser2
,
12531 "samr_QueryDisplayInfo3",
12532 sizeof(struct samr_QueryDisplayInfo3
),
12533 (ndr_push_flags_fn_t
) ndr_push_samr_QueryDisplayInfo3
,
12534 (ndr_pull_flags_fn_t
) ndr_pull_samr_QueryDisplayInfo3
,
12535 (ndr_print_function_t
) ndr_print_samr_QueryDisplayInfo3
,
12539 "samr_AddMultipleMembersToAlias",
12540 sizeof(struct samr_AddMultipleMembersToAlias
),
12541 (ndr_push_flags_fn_t
) ndr_push_samr_AddMultipleMembersToAlias
,
12542 (ndr_pull_flags_fn_t
) ndr_pull_samr_AddMultipleMembersToAlias
,
12543 (ndr_print_function_t
) ndr_print_samr_AddMultipleMembersToAlias
,
12547 "samr_RemoveMultipleMembersFromAlias",
12548 sizeof(struct samr_RemoveMultipleMembersFromAlias
),
12549 (ndr_push_flags_fn_t
) ndr_push_samr_RemoveMultipleMembersFromAlias
,
12550 (ndr_pull_flags_fn_t
) ndr_pull_samr_RemoveMultipleMembersFromAlias
,
12551 (ndr_print_function_t
) ndr_print_samr_RemoveMultipleMembersFromAlias
,
12555 "samr_OemChangePasswordUser2",
12556 sizeof(struct samr_OemChangePasswordUser2
),
12557 (ndr_push_flags_fn_t
) ndr_push_samr_OemChangePasswordUser2
,
12558 (ndr_pull_flags_fn_t
) ndr_pull_samr_OemChangePasswordUser2
,
12559 (ndr_print_function_t
) ndr_print_samr_OemChangePasswordUser2
,
12563 "samr_ChangePasswordUser2",
12564 sizeof(struct samr_ChangePasswordUser2
),
12565 (ndr_push_flags_fn_t
) ndr_push_samr_ChangePasswordUser2
,
12566 (ndr_pull_flags_fn_t
) ndr_pull_samr_ChangePasswordUser2
,
12567 (ndr_print_function_t
) ndr_print_samr_ChangePasswordUser2
,
12571 "samr_GetDomPwInfo",
12572 sizeof(struct samr_GetDomPwInfo
),
12573 (ndr_push_flags_fn_t
) ndr_push_samr_GetDomPwInfo
,
12574 (ndr_pull_flags_fn_t
) ndr_pull_samr_GetDomPwInfo
,
12575 (ndr_print_function_t
) ndr_print_samr_GetDomPwInfo
,
12580 sizeof(struct samr_Connect2
),
12581 (ndr_push_flags_fn_t
) ndr_push_samr_Connect2
,
12582 (ndr_pull_flags_fn_t
) ndr_pull_samr_Connect2
,
12583 (ndr_print_function_t
) ndr_print_samr_Connect2
,
12587 "samr_SetUserInfo2",
12588 sizeof(struct samr_SetUserInfo2
),
12589 (ndr_push_flags_fn_t
) ndr_push_samr_SetUserInfo2
,
12590 (ndr_pull_flags_fn_t
) ndr_pull_samr_SetUserInfo2
,
12591 (ndr_print_function_t
) ndr_print_samr_SetUserInfo2
,
12595 "samr_SetBootKeyInformation",
12596 sizeof(struct samr_SetBootKeyInformation
),
12597 (ndr_push_flags_fn_t
) ndr_push_samr_SetBootKeyInformation
,
12598 (ndr_pull_flags_fn_t
) ndr_pull_samr_SetBootKeyInformation
,
12599 (ndr_print_function_t
) ndr_print_samr_SetBootKeyInformation
,
12603 "samr_GetBootKeyInformation",
12604 sizeof(struct samr_GetBootKeyInformation
),
12605 (ndr_push_flags_fn_t
) ndr_push_samr_GetBootKeyInformation
,
12606 (ndr_pull_flags_fn_t
) ndr_pull_samr_GetBootKeyInformation
,
12607 (ndr_print_function_t
) ndr_print_samr_GetBootKeyInformation
,
12612 sizeof(struct samr_Connect3
),
12613 (ndr_push_flags_fn_t
) ndr_push_samr_Connect3
,
12614 (ndr_pull_flags_fn_t
) ndr_pull_samr_Connect3
,
12615 (ndr_print_function_t
) ndr_print_samr_Connect3
,
12620 sizeof(struct samr_Connect4
),
12621 (ndr_push_flags_fn_t
) ndr_push_samr_Connect4
,
12622 (ndr_pull_flags_fn_t
) ndr_pull_samr_Connect4
,
12623 (ndr_print_function_t
) ndr_print_samr_Connect4
,
12627 "samr_ChangePasswordUser3",
12628 sizeof(struct samr_ChangePasswordUser3
),
12629 (ndr_push_flags_fn_t
) ndr_push_samr_ChangePasswordUser3
,
12630 (ndr_pull_flags_fn_t
) ndr_pull_samr_ChangePasswordUser3
,
12631 (ndr_print_function_t
) ndr_print_samr_ChangePasswordUser3
,
12636 sizeof(struct samr_Connect5
),
12637 (ndr_push_flags_fn_t
) ndr_push_samr_Connect5
,
12638 (ndr_pull_flags_fn_t
) ndr_pull_samr_Connect5
,
12639 (ndr_print_function_t
) ndr_print_samr_Connect5
,
12644 sizeof(struct samr_RidToSid
),
12645 (ndr_push_flags_fn_t
) ndr_push_samr_RidToSid
,
12646 (ndr_pull_flags_fn_t
) ndr_pull_samr_RidToSid
,
12647 (ndr_print_function_t
) ndr_print_samr_RidToSid
,
12651 "samr_SetDsrmPassword",
12652 sizeof(struct samr_SetDsrmPassword
),
12653 (ndr_push_flags_fn_t
) ndr_push_samr_SetDsrmPassword
,
12654 (ndr_pull_flags_fn_t
) ndr_pull_samr_SetDsrmPassword
,
12655 (ndr_print_function_t
) ndr_print_samr_SetDsrmPassword
,
12659 "samr_ValidatePassword",
12660 sizeof(struct samr_ValidatePassword
),
12661 (ndr_push_flags_fn_t
) ndr_push_samr_ValidatePassword
,
12662 (ndr_pull_flags_fn_t
) ndr_pull_samr_ValidatePassword
,
12663 (ndr_print_function_t
) ndr_print_samr_ValidatePassword
,
12666 { NULL
, 0, NULL
, NULL
, NULL
, false }
12669 static const char * const samr_endpoint_strings
[] = {
12670 "ncacn_np:[\\pipe\\samr]",
12675 static const struct ndr_interface_string_array samr_endpoints
= {
12677 .names
= samr_endpoint_strings
12680 static const char * const samr_authservice_strings
[] = {
12684 static const struct ndr_interface_string_array samr_authservices
= {
12686 .names
= samr_authservice_strings
12690 const struct ndr_interface_table ndr_table_samr
= {
12693 {0x12345778,0x1234,0xabcd,{0xef,0x00},{0x01,0x23,0x45,0x67,0x89,0xac}},
12696 .helpstring
= NDR_SAMR_HELPSTRING
,
12698 .calls
= samr_calls
,
12699 .endpoints
= &samr_endpoints
,
12700 .authservices
= &samr_authservices