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_netr_SamDatabaseID(struct ndr_push
*ndr
, int ndr_flags
, enum netr_SamDatabaseID r
)
11 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
12 return NDR_ERR_SUCCESS
;
15 _PUBLIC_
enum ndr_err_code
ndr_pull_netr_SamDatabaseID(struct ndr_pull
*ndr
, int ndr_flags
, enum netr_SamDatabaseID
*r
)
18 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
20 return NDR_ERR_SUCCESS
;
23 _PUBLIC_
void ndr_print_netr_SamDatabaseID(struct ndr_print
*ndr
, const char *name
, enum netr_SamDatabaseID r
)
25 const char *val
= NULL
;
28 case SAM_DATABASE_DOMAIN
: val
= "SAM_DATABASE_DOMAIN"; break;
29 case SAM_DATABASE_BUILTIN
: val
= "SAM_DATABASE_BUILTIN"; break;
30 case SAM_DATABASE_PRIVS
: val
= "SAM_DATABASE_PRIVS"; break;
32 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
35 _PUBLIC_
enum ndr_err_code
ndr_push_samr_RejectReason(struct ndr_push
*ndr
, int ndr_flags
, enum samr_RejectReason r
)
37 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
38 return NDR_ERR_SUCCESS
;
41 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_RejectReason(struct ndr_pull
*ndr
, int ndr_flags
, enum samr_RejectReason
*r
)
44 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
46 return NDR_ERR_SUCCESS
;
49 _PUBLIC_
void ndr_print_samr_RejectReason(struct ndr_print
*ndr
, const char *name
, enum samr_RejectReason r
)
51 const char *val
= NULL
;
54 case SAMR_REJECT_OTHER
: val
= "SAMR_REJECT_OTHER"; break;
55 case SAMR_REJECT_TOO_SHORT
: val
= "SAMR_REJECT_TOO_SHORT"; break;
56 case SAMR_REJECT_IN_HISTORY
: val
= "SAMR_REJECT_IN_HISTORY"; break;
57 case SAMR_REJECT_COMPLEXITY
: val
= "SAMR_REJECT_COMPLEXITY"; break;
59 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
62 _PUBLIC_
enum ndr_err_code
ndr_push_samr_AcctFlags(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
64 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
65 return NDR_ERR_SUCCESS
;
68 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_AcctFlags(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
71 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
73 return NDR_ERR_SUCCESS
;
76 _PUBLIC_
void ndr_print_samr_AcctFlags(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
78 ndr_print_uint32(ndr
, name
, r
);
80 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "ACB_DISABLED", ACB_DISABLED
, r
);
81 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "ACB_HOMDIRREQ", ACB_HOMDIRREQ
, r
);
82 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "ACB_PWNOTREQ", ACB_PWNOTREQ
, r
);
83 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "ACB_TEMPDUP", ACB_TEMPDUP
, r
);
84 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "ACB_NORMAL", ACB_NORMAL
, r
);
85 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "ACB_MNS", ACB_MNS
, r
);
86 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "ACB_DOMTRUST", ACB_DOMTRUST
, r
);
87 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "ACB_WSTRUST", ACB_WSTRUST
, r
);
88 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "ACB_SVRTRUST", ACB_SVRTRUST
, r
);
89 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "ACB_PWNOEXP", ACB_PWNOEXP
, r
);
90 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "ACB_AUTOLOCK", ACB_AUTOLOCK
, r
);
91 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "ACB_ENC_TXT_PWD_ALLOWED", ACB_ENC_TXT_PWD_ALLOWED
, r
);
92 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "ACB_SMARTCARD_REQUIRED", ACB_SMARTCARD_REQUIRED
, r
);
93 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "ACB_TRUSTED_FOR_DELEGATION", ACB_TRUSTED_FOR_DELEGATION
, r
);
94 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "ACB_NOT_DELEGATED", ACB_NOT_DELEGATED
, r
);
95 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "ACB_USE_DES_KEY_ONLY", ACB_USE_DES_KEY_ONLY
, r
);
96 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "ACB_DONT_REQUIRE_PREAUTH", ACB_DONT_REQUIRE_PREAUTH
, r
);
97 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "ACB_PW_EXPIRED", ACB_PW_EXPIRED
, r
);
98 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "ACB_NO_AUTH_DATA_REQD", ACB_NO_AUTH_DATA_REQD
, r
);
102 static enum ndr_err_code
ndr_push_samr_ConnectAccessMask(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
104 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
105 return NDR_ERR_SUCCESS
;
108 static enum ndr_err_code
ndr_pull_samr_ConnectAccessMask(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
111 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
113 return NDR_ERR_SUCCESS
;
116 _PUBLIC_
void ndr_print_samr_ConnectAccessMask(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
118 ndr_print_uint32(ndr
, name
, r
);
120 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_ACCESS_CONNECT_TO_SERVER", SAMR_ACCESS_CONNECT_TO_SERVER
, r
);
121 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_ACCESS_SHUTDOWN_SERVER", SAMR_ACCESS_SHUTDOWN_SERVER
, r
);
122 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_ACCESS_INITIALIZE_SERVER", SAMR_ACCESS_INITIALIZE_SERVER
, r
);
123 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_ACCESS_CREATE_DOMAIN", SAMR_ACCESS_CREATE_DOMAIN
, r
);
124 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_ACCESS_ENUM_DOMAINS", SAMR_ACCESS_ENUM_DOMAINS
, r
);
125 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_ACCESS_LOOKUP_DOMAIN", SAMR_ACCESS_LOOKUP_DOMAIN
, r
);
129 static enum ndr_err_code
ndr_push_samr_UserAccessMask(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
131 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
132 return NDR_ERR_SUCCESS
;
135 static enum ndr_err_code
ndr_pull_samr_UserAccessMask(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
138 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
140 return NDR_ERR_SUCCESS
;
143 _PUBLIC_
void ndr_print_samr_UserAccessMask(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
145 ndr_print_uint32(ndr
, name
, r
);
147 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_USER_ACCESS_GET_NAME_ETC", SAMR_USER_ACCESS_GET_NAME_ETC
, r
);
148 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_USER_ACCESS_GET_LOCALE", SAMR_USER_ACCESS_GET_LOCALE
, r
);
149 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_USER_ACCESS_SET_LOC_COM", SAMR_USER_ACCESS_SET_LOC_COM
, r
);
150 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_USER_ACCESS_GET_LOGONINFO", SAMR_USER_ACCESS_GET_LOGONINFO
, r
);
151 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_USER_ACCESS_GET_ATTRIBUTES", SAMR_USER_ACCESS_GET_ATTRIBUTES
, r
);
152 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_USER_ACCESS_SET_ATTRIBUTES", SAMR_USER_ACCESS_SET_ATTRIBUTES
, r
);
153 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_USER_ACCESS_CHANGE_PASSWORD", SAMR_USER_ACCESS_CHANGE_PASSWORD
, r
);
154 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_USER_ACCESS_SET_PASSWORD", SAMR_USER_ACCESS_SET_PASSWORD
, r
);
155 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_USER_ACCESS_GET_GROUPS", SAMR_USER_ACCESS_GET_GROUPS
, r
);
156 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_USER_ACCESS_GET_GROUP_MEMBERSHIP", SAMR_USER_ACCESS_GET_GROUP_MEMBERSHIP
, r
);
157 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_USER_ACCESS_CHANGE_GROUP_MEMBERSHIP", SAMR_USER_ACCESS_CHANGE_GROUP_MEMBERSHIP
, r
);
161 static enum ndr_err_code
ndr_push_samr_DomainAccessMask(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
163 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
164 return NDR_ERR_SUCCESS
;
167 static enum ndr_err_code
ndr_pull_samr_DomainAccessMask(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
170 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
172 return NDR_ERR_SUCCESS
;
175 _PUBLIC_
void ndr_print_samr_DomainAccessMask(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
177 ndr_print_uint32(ndr
, name
, r
);
179 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_LOOKUP_INFO_1", SAMR_DOMAIN_ACCESS_LOOKUP_INFO_1
, r
);
180 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_SET_INFO_1", SAMR_DOMAIN_ACCESS_SET_INFO_1
, r
);
181 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_LOOKUP_INFO_2", SAMR_DOMAIN_ACCESS_LOOKUP_INFO_2
, r
);
182 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_SET_INFO_2", SAMR_DOMAIN_ACCESS_SET_INFO_2
, r
);
183 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_CREATE_USER", SAMR_DOMAIN_ACCESS_CREATE_USER
, r
);
184 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_CREATE_GROUP", SAMR_DOMAIN_ACCESS_CREATE_GROUP
, r
);
185 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_CREATE_ALIAS", SAMR_DOMAIN_ACCESS_CREATE_ALIAS
, r
);
186 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_LOOKUP_ALIAS", SAMR_DOMAIN_ACCESS_LOOKUP_ALIAS
, r
);
187 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_ENUM_ACCOUNTS", SAMR_DOMAIN_ACCESS_ENUM_ACCOUNTS
, r
);
188 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_OPEN_ACCOUNT", SAMR_DOMAIN_ACCESS_OPEN_ACCOUNT
, r
);
189 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_SET_INFO_3", SAMR_DOMAIN_ACCESS_SET_INFO_3
, r
);
193 static enum ndr_err_code
ndr_push_samr_GroupAccessMask(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
195 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
196 return NDR_ERR_SUCCESS
;
199 static enum ndr_err_code
ndr_pull_samr_GroupAccessMask(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
202 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
204 return NDR_ERR_SUCCESS
;
207 _PUBLIC_
void ndr_print_samr_GroupAccessMask(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
209 ndr_print_uint32(ndr
, name
, r
);
211 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_GROUP_ACCESS_LOOKUP_INFO", SAMR_GROUP_ACCESS_LOOKUP_INFO
, r
);
212 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_GROUP_ACCESS_SET_INFO", SAMR_GROUP_ACCESS_SET_INFO
, r
);
213 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_GROUP_ACCESS_ADD_MEMBER", SAMR_GROUP_ACCESS_ADD_MEMBER
, r
);
214 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_GROUP_ACCESS_REMOVE_MEMBER", SAMR_GROUP_ACCESS_REMOVE_MEMBER
, r
);
215 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_GROUP_ACCESS_GET_MEMBERS", SAMR_GROUP_ACCESS_GET_MEMBERS
, r
);
219 static enum ndr_err_code
ndr_push_samr_AliasAccessMask(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
221 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
222 return NDR_ERR_SUCCESS
;
225 static enum ndr_err_code
ndr_pull_samr_AliasAccessMask(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
228 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
230 return NDR_ERR_SUCCESS
;
233 _PUBLIC_
void ndr_print_samr_AliasAccessMask(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
235 ndr_print_uint32(ndr
, name
, r
);
237 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_ALIAS_ACCESS_ADD_MEMBER", SAMR_ALIAS_ACCESS_ADD_MEMBER
, r
);
238 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_ALIAS_ACCESS_REMOVE_MEMBER", SAMR_ALIAS_ACCESS_REMOVE_MEMBER
, r
);
239 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_ALIAS_ACCESS_GET_MEMBERS", SAMR_ALIAS_ACCESS_GET_MEMBERS
, r
);
240 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_ALIAS_ACCESS_LOOKUP_INFO", SAMR_ALIAS_ACCESS_LOOKUP_INFO
, r
);
241 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_ALIAS_ACCESS_SET_INFO", SAMR_ALIAS_ACCESS_SET_INFO
, r
);
245 static enum ndr_err_code
ndr_push_samr_SamEntry(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_SamEntry
*r
)
247 if (ndr_flags
& NDR_SCALARS
) {
248 NDR_CHECK(ndr_push_align(ndr
, 5));
249 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->idx
));
250 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->name
));
251 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
253 if (ndr_flags
& NDR_BUFFERS
) {
254 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->name
));
256 return NDR_ERR_SUCCESS
;
259 static enum ndr_err_code
ndr_pull_samr_SamEntry(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_SamEntry
*r
)
261 if (ndr_flags
& NDR_SCALARS
) {
262 NDR_CHECK(ndr_pull_align(ndr
, 5));
263 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->idx
));
264 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->name
));
265 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
267 if (ndr_flags
& NDR_BUFFERS
) {
268 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->name
));
270 return NDR_ERR_SUCCESS
;
273 _PUBLIC_
void ndr_print_samr_SamEntry(struct ndr_print
*ndr
, const char *name
, const struct samr_SamEntry
*r
)
275 ndr_print_struct(ndr
, name
, "samr_SamEntry");
277 ndr_print_uint32(ndr
, "idx", r
->idx
);
278 ndr_print_lsa_String(ndr
, "name", &r
->name
);
282 static enum ndr_err_code
ndr_push_samr_SamArray(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_SamArray
*r
)
284 uint32_t cntr_entries_1
;
285 if (ndr_flags
& NDR_SCALARS
) {
286 NDR_CHECK(ndr_push_align(ndr
, 5));
287 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
288 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->entries
));
289 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
291 if (ndr_flags
& NDR_BUFFERS
) {
293 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
294 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
295 NDR_CHECK(ndr_push_samr_SamEntry(ndr
, NDR_SCALARS
, &r
->entries
[cntr_entries_1
]));
297 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
298 NDR_CHECK(ndr_push_samr_SamEntry(ndr
, NDR_BUFFERS
, &r
->entries
[cntr_entries_1
]));
302 return NDR_ERR_SUCCESS
;
305 static enum ndr_err_code
ndr_pull_samr_SamArray(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_SamArray
*r
)
307 uint32_t _ptr_entries
;
308 uint32_t size_entries_1
= 0;
309 uint32_t cntr_entries_1
;
310 TALLOC_CTX
*_mem_save_entries_0
;
311 TALLOC_CTX
*_mem_save_entries_1
;
312 if (ndr_flags
& NDR_SCALARS
) {
313 NDR_CHECK(ndr_pull_align(ndr
, 5));
314 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
315 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_entries
));
317 NDR_PULL_ALLOC(ndr
, r
->entries
);
321 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
323 if (ndr_flags
& NDR_BUFFERS
) {
325 _mem_save_entries_0
= NDR_PULL_GET_MEM_CTX(ndr
);
326 NDR_PULL_SET_MEM_CTX(ndr
, r
->entries
, 0);
327 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->entries
));
328 size_entries_1
= ndr_get_array_size(ndr
, &r
->entries
);
329 NDR_PULL_ALLOC_N(ndr
, r
->entries
, size_entries_1
);
330 _mem_save_entries_1
= NDR_PULL_GET_MEM_CTX(ndr
);
331 NDR_PULL_SET_MEM_CTX(ndr
, r
->entries
, 0);
332 for (cntr_entries_1
= 0; cntr_entries_1
< size_entries_1
; cntr_entries_1
++) {
333 NDR_CHECK(ndr_pull_samr_SamEntry(ndr
, NDR_SCALARS
, &r
->entries
[cntr_entries_1
]));
335 for (cntr_entries_1
= 0; cntr_entries_1
< size_entries_1
; cntr_entries_1
++) {
336 NDR_CHECK(ndr_pull_samr_SamEntry(ndr
, NDR_BUFFERS
, &r
->entries
[cntr_entries_1
]));
338 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_entries_1
, 0);
339 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_entries_0
, 0);
342 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->entries
, r
->count
));
345 return NDR_ERR_SUCCESS
;
348 _PUBLIC_
void ndr_print_samr_SamArray(struct ndr_print
*ndr
, const char *name
, const struct samr_SamArray
*r
)
350 uint32_t cntr_entries_1
;
351 ndr_print_struct(ndr
, name
, "samr_SamArray");
353 ndr_print_uint32(ndr
, "count", r
->count
);
354 ndr_print_ptr(ndr
, "entries", r
->entries
);
357 ndr
->print(ndr
, "%s: ARRAY(%d)", "entries", (int)r
->count
);
359 for (cntr_entries_1
=0;cntr_entries_1
<r
->count
;cntr_entries_1
++) {
361 if (asprintf(&idx_1
, "[%d]", cntr_entries_1
) != -1) {
362 ndr_print_samr_SamEntry(ndr
, "entries", &r
->entries
[cntr_entries_1
]);
372 static enum ndr_err_code
ndr_push_samr_DomainInfoClass(struct ndr_push
*ndr
, int ndr_flags
, enum samr_DomainInfoClass r
)
374 NDR_CHECK(ndr_push_enum_uint1632(ndr
, NDR_SCALARS
, r
));
375 return NDR_ERR_SUCCESS
;
378 static enum ndr_err_code
ndr_pull_samr_DomainInfoClass(struct ndr_pull
*ndr
, int ndr_flags
, enum samr_DomainInfoClass
*r
)
381 NDR_CHECK(ndr_pull_enum_uint1632(ndr
, NDR_SCALARS
, &v
));
383 return NDR_ERR_SUCCESS
;
386 _PUBLIC_
void ndr_print_samr_DomainInfoClass(struct ndr_print
*ndr
, const char *name
, enum samr_DomainInfoClass r
)
388 const char *val
= NULL
;
391 case DomainPasswordInformation
: val
= "DomainPasswordInformation"; break;
392 case DomainGeneralInformation
: val
= "DomainGeneralInformation"; break;
393 case DomainLogoffInformation
: val
= "DomainLogoffInformation"; break;
394 case DomainOemInformation
: val
= "DomainOemInformation"; break;
395 case DomainNameInformation
: val
= "DomainNameInformation"; break;
396 case DomainReplicationInformation
: val
= "DomainReplicationInformation"; break;
397 case DomainServerRoleInformation
: val
= "DomainServerRoleInformation"; break;
398 case DomainModifiedInformation
: val
= "DomainModifiedInformation"; break;
399 case DomainStateInformation
: val
= "DomainStateInformation"; break;
400 case DomainUasInformation
: val
= "DomainUasInformation"; break;
401 case DomainGeneralInformation2
: val
= "DomainGeneralInformation2"; break;
402 case DomainLockoutInformation
: val
= "DomainLockoutInformation"; break;
403 case DomainModifiedInformation2
: val
= "DomainModifiedInformation2"; break;
405 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
408 static enum ndr_err_code
ndr_push_samr_Role(struct ndr_push
*ndr
, int ndr_flags
, enum samr_Role r
)
410 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
411 return NDR_ERR_SUCCESS
;
414 static enum ndr_err_code
ndr_pull_samr_Role(struct ndr_pull
*ndr
, int ndr_flags
, enum samr_Role
*r
)
417 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
419 return NDR_ERR_SUCCESS
;
422 _PUBLIC_
void ndr_print_samr_Role(struct ndr_print
*ndr
, const char *name
, enum samr_Role r
)
424 const char *val
= NULL
;
427 case SAMR_ROLE_STANDALONE
: val
= "SAMR_ROLE_STANDALONE"; break;
428 case SAMR_ROLE_DOMAIN_MEMBER
: val
= "SAMR_ROLE_DOMAIN_MEMBER"; break;
429 case SAMR_ROLE_DOMAIN_BDC
: val
= "SAMR_ROLE_DOMAIN_BDC"; break;
430 case SAMR_ROLE_DOMAIN_PDC
: val
= "SAMR_ROLE_DOMAIN_PDC"; break;
432 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
435 _PUBLIC_
enum ndr_err_code
ndr_push_samr_PasswordProperties(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
437 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
438 return NDR_ERR_SUCCESS
;
441 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_PasswordProperties(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
444 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
446 return NDR_ERR_SUCCESS
;
449 _PUBLIC_
void ndr_print_samr_PasswordProperties(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
451 ndr_print_uint32(ndr
, name
, r
);
453 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DOMAIN_PASSWORD_COMPLEX", DOMAIN_PASSWORD_COMPLEX
, r
);
454 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DOMAIN_PASSWORD_NO_ANON_CHANGE", DOMAIN_PASSWORD_NO_ANON_CHANGE
, r
);
455 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DOMAIN_PASSWORD_NO_CLEAR_CHANGE", DOMAIN_PASSWORD_NO_CLEAR_CHANGE
, r
);
456 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DOMAIN_PASSWORD_LOCKOUT_ADMINS", DOMAIN_PASSWORD_LOCKOUT_ADMINS
, r
);
457 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DOMAIN_PASSWORD_STORE_CLEARTEXT", DOMAIN_PASSWORD_STORE_CLEARTEXT
, r
);
458 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DOMAIN_REFUSE_PASSWORD_CHANGE", DOMAIN_REFUSE_PASSWORD_CHANGE
, r
);
462 static enum ndr_err_code
ndr_push_samr_DomainServerState(struct ndr_push
*ndr
, int ndr_flags
, enum samr_DomainServerState r
)
464 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
465 return NDR_ERR_SUCCESS
;
468 static enum ndr_err_code
ndr_pull_samr_DomainServerState(struct ndr_pull
*ndr
, int ndr_flags
, enum samr_DomainServerState
*r
)
471 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
473 return NDR_ERR_SUCCESS
;
476 _PUBLIC_
void ndr_print_samr_DomainServerState(struct ndr_print
*ndr
, const char *name
, enum samr_DomainServerState r
)
478 const char *val
= NULL
;
481 case DOMAIN_SERVER_ENABLED
: val
= "DOMAIN_SERVER_ENABLED"; break;
482 case DOMAIN_SERVER_DISABLED
: val
= "DOMAIN_SERVER_DISABLED"; break;
484 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
487 static enum ndr_err_code
ndr_push_samr_DomInfo1(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DomInfo1
*r
)
489 if (ndr_flags
& NDR_SCALARS
) {
490 NDR_CHECK(ndr_push_align(ndr
, 4));
491 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->min_password_length
));
492 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->password_history_length
));
493 NDR_CHECK(ndr_push_samr_PasswordProperties(ndr
, NDR_SCALARS
, r
->password_properties
));
494 NDR_CHECK(ndr_push_dlong(ndr
, NDR_SCALARS
, r
->max_password_age
));
495 NDR_CHECK(ndr_push_dlong(ndr
, NDR_SCALARS
, r
->min_password_age
));
496 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
498 if (ndr_flags
& NDR_BUFFERS
) {
500 return NDR_ERR_SUCCESS
;
503 static enum ndr_err_code
ndr_pull_samr_DomInfo1(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DomInfo1
*r
)
505 if (ndr_flags
& NDR_SCALARS
) {
506 NDR_CHECK(ndr_pull_align(ndr
, 4));
507 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->min_password_length
));
508 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->password_history_length
));
509 NDR_CHECK(ndr_pull_samr_PasswordProperties(ndr
, NDR_SCALARS
, &r
->password_properties
));
510 NDR_CHECK(ndr_pull_dlong(ndr
, NDR_SCALARS
, &r
->max_password_age
));
511 NDR_CHECK(ndr_pull_dlong(ndr
, NDR_SCALARS
, &r
->min_password_age
));
512 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
514 if (ndr_flags
& NDR_BUFFERS
) {
516 return NDR_ERR_SUCCESS
;
519 _PUBLIC_
void ndr_print_samr_DomInfo1(struct ndr_print
*ndr
, const char *name
, const struct samr_DomInfo1
*r
)
521 ndr_print_struct(ndr
, name
, "samr_DomInfo1");
523 ndr_print_uint16(ndr
, "min_password_length", r
->min_password_length
);
524 ndr_print_uint16(ndr
, "password_history_length", r
->password_history_length
);
525 ndr_print_samr_PasswordProperties(ndr
, "password_properties", r
->password_properties
);
526 ndr_print_dlong(ndr
, "max_password_age", r
->max_password_age
);
527 ndr_print_dlong(ndr
, "min_password_age", r
->min_password_age
);
531 static enum ndr_err_code
ndr_push_samr_DomGeneralInformation(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DomGeneralInformation
*r
)
533 if (ndr_flags
& NDR_SCALARS
) {
534 NDR_CHECK(ndr_push_align(ndr
, 5));
535 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->force_logoff_time
));
536 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->oem_information
));
537 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->domain_name
));
538 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->primary
));
539 NDR_CHECK(ndr_push_udlong(ndr
, NDR_SCALARS
, r
->sequence_num
));
540 NDR_CHECK(ndr_push_samr_DomainServerState(ndr
, NDR_SCALARS
, r
->domain_server_state
));
541 NDR_CHECK(ndr_push_samr_Role(ndr
, NDR_SCALARS
, r
->role
));
542 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown3
));
543 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_users
));
544 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_groups
));
545 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_aliases
));
546 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
548 if (ndr_flags
& NDR_BUFFERS
) {
549 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->oem_information
));
550 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->domain_name
));
551 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->primary
));
553 return NDR_ERR_SUCCESS
;
556 static enum ndr_err_code
ndr_pull_samr_DomGeneralInformation(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DomGeneralInformation
*r
)
558 if (ndr_flags
& NDR_SCALARS
) {
559 NDR_CHECK(ndr_pull_align(ndr
, 5));
560 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->force_logoff_time
));
561 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->oem_information
));
562 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->domain_name
));
563 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->primary
));
564 NDR_CHECK(ndr_pull_udlong(ndr
, NDR_SCALARS
, &r
->sequence_num
));
565 NDR_CHECK(ndr_pull_samr_DomainServerState(ndr
, NDR_SCALARS
, &r
->domain_server_state
));
566 NDR_CHECK(ndr_pull_samr_Role(ndr
, NDR_SCALARS
, &r
->role
));
567 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown3
));
568 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_users
));
569 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_groups
));
570 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_aliases
));
571 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
573 if (ndr_flags
& NDR_BUFFERS
) {
574 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->oem_information
));
575 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->domain_name
));
576 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->primary
));
578 return NDR_ERR_SUCCESS
;
581 _PUBLIC_
void ndr_print_samr_DomGeneralInformation(struct ndr_print
*ndr
, const char *name
, const struct samr_DomGeneralInformation
*r
)
583 ndr_print_struct(ndr
, name
, "samr_DomGeneralInformation");
585 ndr_print_NTTIME(ndr
, "force_logoff_time", r
->force_logoff_time
);
586 ndr_print_lsa_String(ndr
, "oem_information", &r
->oem_information
);
587 ndr_print_lsa_String(ndr
, "domain_name", &r
->domain_name
);
588 ndr_print_lsa_String(ndr
, "primary", &r
->primary
);
589 ndr_print_udlong(ndr
, "sequence_num", r
->sequence_num
);
590 ndr_print_samr_DomainServerState(ndr
, "domain_server_state", r
->domain_server_state
);
591 ndr_print_samr_Role(ndr
, "role", r
->role
);
592 ndr_print_uint32(ndr
, "unknown3", r
->unknown3
);
593 ndr_print_uint32(ndr
, "num_users", r
->num_users
);
594 ndr_print_uint32(ndr
, "num_groups", r
->num_groups
);
595 ndr_print_uint32(ndr
, "num_aliases", r
->num_aliases
);
599 static enum ndr_err_code
ndr_push_samr_DomInfo3(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DomInfo3
*r
)
601 if (ndr_flags
& NDR_SCALARS
) {
602 NDR_CHECK(ndr_push_align(ndr
, 4));
603 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->force_logoff_time
));
604 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
606 if (ndr_flags
& NDR_BUFFERS
) {
608 return NDR_ERR_SUCCESS
;
611 static enum ndr_err_code
ndr_pull_samr_DomInfo3(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DomInfo3
*r
)
613 if (ndr_flags
& NDR_SCALARS
) {
614 NDR_CHECK(ndr_pull_align(ndr
, 4));
615 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->force_logoff_time
));
616 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
618 if (ndr_flags
& NDR_BUFFERS
) {
620 return NDR_ERR_SUCCESS
;
623 _PUBLIC_
void ndr_print_samr_DomInfo3(struct ndr_print
*ndr
, const char *name
, const struct samr_DomInfo3
*r
)
625 ndr_print_struct(ndr
, name
, "samr_DomInfo3");
627 ndr_print_NTTIME(ndr
, "force_logoff_time", r
->force_logoff_time
);
631 static enum ndr_err_code
ndr_push_samr_DomOEMInformation(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DomOEMInformation
*r
)
633 if (ndr_flags
& NDR_SCALARS
) {
634 NDR_CHECK(ndr_push_align(ndr
, 5));
635 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->oem_information
));
636 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
638 if (ndr_flags
& NDR_BUFFERS
) {
639 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->oem_information
));
641 return NDR_ERR_SUCCESS
;
644 static enum ndr_err_code
ndr_pull_samr_DomOEMInformation(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DomOEMInformation
*r
)
646 if (ndr_flags
& NDR_SCALARS
) {
647 NDR_CHECK(ndr_pull_align(ndr
, 5));
648 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->oem_information
));
649 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
651 if (ndr_flags
& NDR_BUFFERS
) {
652 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->oem_information
));
654 return NDR_ERR_SUCCESS
;
657 _PUBLIC_
void ndr_print_samr_DomOEMInformation(struct ndr_print
*ndr
, const char *name
, const struct samr_DomOEMInformation
*r
)
659 ndr_print_struct(ndr
, name
, "samr_DomOEMInformation");
661 ndr_print_lsa_String(ndr
, "oem_information", &r
->oem_information
);
665 static enum ndr_err_code
ndr_push_samr_DomInfo5(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DomInfo5
*r
)
667 if (ndr_flags
& NDR_SCALARS
) {
668 NDR_CHECK(ndr_push_align(ndr
, 5));
669 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->domain_name
));
670 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
672 if (ndr_flags
& NDR_BUFFERS
) {
673 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->domain_name
));
675 return NDR_ERR_SUCCESS
;
678 static enum ndr_err_code
ndr_pull_samr_DomInfo5(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DomInfo5
*r
)
680 if (ndr_flags
& NDR_SCALARS
) {
681 NDR_CHECK(ndr_pull_align(ndr
, 5));
682 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->domain_name
));
683 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
685 if (ndr_flags
& NDR_BUFFERS
) {
686 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->domain_name
));
688 return NDR_ERR_SUCCESS
;
691 _PUBLIC_
void ndr_print_samr_DomInfo5(struct ndr_print
*ndr
, const char *name
, const struct samr_DomInfo5
*r
)
693 ndr_print_struct(ndr
, name
, "samr_DomInfo5");
695 ndr_print_lsa_String(ndr
, "domain_name", &r
->domain_name
);
699 static enum ndr_err_code
ndr_push_samr_DomInfo6(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DomInfo6
*r
)
701 if (ndr_flags
& NDR_SCALARS
) {
702 NDR_CHECK(ndr_push_align(ndr
, 5));
703 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->primary
));
704 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
706 if (ndr_flags
& NDR_BUFFERS
) {
707 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->primary
));
709 return NDR_ERR_SUCCESS
;
712 static enum ndr_err_code
ndr_pull_samr_DomInfo6(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DomInfo6
*r
)
714 if (ndr_flags
& NDR_SCALARS
) {
715 NDR_CHECK(ndr_pull_align(ndr
, 5));
716 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->primary
));
717 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
719 if (ndr_flags
& NDR_BUFFERS
) {
720 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->primary
));
722 return NDR_ERR_SUCCESS
;
725 _PUBLIC_
void ndr_print_samr_DomInfo6(struct ndr_print
*ndr
, const char *name
, const struct samr_DomInfo6
*r
)
727 ndr_print_struct(ndr
, name
, "samr_DomInfo6");
729 ndr_print_lsa_String(ndr
, "primary", &r
->primary
);
733 static enum ndr_err_code
ndr_push_samr_DomInfo7(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DomInfo7
*r
)
735 if (ndr_flags
& NDR_SCALARS
) {
736 NDR_CHECK(ndr_push_align(ndr
, 4));
737 NDR_CHECK(ndr_push_samr_Role(ndr
, NDR_SCALARS
, r
->role
));
738 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
740 if (ndr_flags
& NDR_BUFFERS
) {
742 return NDR_ERR_SUCCESS
;
745 static enum ndr_err_code
ndr_pull_samr_DomInfo7(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DomInfo7
*r
)
747 if (ndr_flags
& NDR_SCALARS
) {
748 NDR_CHECK(ndr_pull_align(ndr
, 4));
749 NDR_CHECK(ndr_pull_samr_Role(ndr
, NDR_SCALARS
, &r
->role
));
750 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
752 if (ndr_flags
& NDR_BUFFERS
) {
754 return NDR_ERR_SUCCESS
;
757 _PUBLIC_
void ndr_print_samr_DomInfo7(struct ndr_print
*ndr
, const char *name
, const struct samr_DomInfo7
*r
)
759 ndr_print_struct(ndr
, name
, "samr_DomInfo7");
761 ndr_print_samr_Role(ndr
, "role", r
->role
);
765 static enum ndr_err_code
ndr_push_samr_DomInfo8(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DomInfo8
*r
)
767 if (ndr_flags
& NDR_SCALARS
) {
768 NDR_CHECK(ndr_push_align(ndr
, 8));
769 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->sequence_num
));
770 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->domain_create_time
));
771 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
773 if (ndr_flags
& NDR_BUFFERS
) {
775 return NDR_ERR_SUCCESS
;
778 static enum ndr_err_code
ndr_pull_samr_DomInfo8(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DomInfo8
*r
)
780 if (ndr_flags
& NDR_SCALARS
) {
781 NDR_CHECK(ndr_pull_align(ndr
, 8));
782 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->sequence_num
));
783 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->domain_create_time
));
784 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
786 if (ndr_flags
& NDR_BUFFERS
) {
788 return NDR_ERR_SUCCESS
;
791 _PUBLIC_
void ndr_print_samr_DomInfo8(struct ndr_print
*ndr
, const char *name
, const struct samr_DomInfo8
*r
)
793 ndr_print_struct(ndr
, name
, "samr_DomInfo8");
795 ndr_print_hyper(ndr
, "sequence_num", r
->sequence_num
);
796 ndr_print_NTTIME(ndr
, "domain_create_time", r
->domain_create_time
);
800 static enum ndr_err_code
ndr_push_samr_DomInfo9(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DomInfo9
*r
)
802 if (ndr_flags
& NDR_SCALARS
) {
803 NDR_CHECK(ndr_push_align(ndr
, 4));
804 NDR_CHECK(ndr_push_samr_DomainServerState(ndr
, NDR_SCALARS
, r
->domain_server_state
));
805 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
807 if (ndr_flags
& NDR_BUFFERS
) {
809 return NDR_ERR_SUCCESS
;
812 static enum ndr_err_code
ndr_pull_samr_DomInfo9(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DomInfo9
*r
)
814 if (ndr_flags
& NDR_SCALARS
) {
815 NDR_CHECK(ndr_pull_align(ndr
, 4));
816 NDR_CHECK(ndr_pull_samr_DomainServerState(ndr
, NDR_SCALARS
, &r
->domain_server_state
));
817 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
819 if (ndr_flags
& NDR_BUFFERS
) {
821 return NDR_ERR_SUCCESS
;
824 _PUBLIC_
void ndr_print_samr_DomInfo9(struct ndr_print
*ndr
, const char *name
, const struct samr_DomInfo9
*r
)
826 ndr_print_struct(ndr
, name
, "samr_DomInfo9");
828 ndr_print_samr_DomainServerState(ndr
, "domain_server_state", r
->domain_server_state
);
832 static enum ndr_err_code
ndr_push_samr_DomGeneralInformation2(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DomGeneralInformation2
*r
)
834 if (ndr_flags
& NDR_SCALARS
) {
835 NDR_CHECK(ndr_push_align(ndr
, 8));
836 NDR_CHECK(ndr_push_samr_DomGeneralInformation(ndr
, NDR_SCALARS
, &r
->general
));
837 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->lockout_duration
));
838 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->lockout_window
));
839 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->lockout_threshold
));
840 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
842 if (ndr_flags
& NDR_BUFFERS
) {
843 NDR_CHECK(ndr_push_samr_DomGeneralInformation(ndr
, NDR_BUFFERS
, &r
->general
));
845 return NDR_ERR_SUCCESS
;
848 static enum ndr_err_code
ndr_pull_samr_DomGeneralInformation2(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DomGeneralInformation2
*r
)
850 if (ndr_flags
& NDR_SCALARS
) {
851 NDR_CHECK(ndr_pull_align(ndr
, 8));
852 NDR_CHECK(ndr_pull_samr_DomGeneralInformation(ndr
, NDR_SCALARS
, &r
->general
));
853 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->lockout_duration
));
854 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->lockout_window
));
855 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->lockout_threshold
));
856 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
858 if (ndr_flags
& NDR_BUFFERS
) {
859 NDR_CHECK(ndr_pull_samr_DomGeneralInformation(ndr
, NDR_BUFFERS
, &r
->general
));
861 return NDR_ERR_SUCCESS
;
864 _PUBLIC_
void ndr_print_samr_DomGeneralInformation2(struct ndr_print
*ndr
, const char *name
, const struct samr_DomGeneralInformation2
*r
)
866 ndr_print_struct(ndr
, name
, "samr_DomGeneralInformation2");
868 ndr_print_samr_DomGeneralInformation(ndr
, "general", &r
->general
);
869 ndr_print_hyper(ndr
, "lockout_duration", r
->lockout_duration
);
870 ndr_print_hyper(ndr
, "lockout_window", r
->lockout_window
);
871 ndr_print_uint16(ndr
, "lockout_threshold", r
->lockout_threshold
);
875 static enum ndr_err_code
ndr_push_samr_DomInfo12(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DomInfo12
*r
)
877 if (ndr_flags
& NDR_SCALARS
) {
878 NDR_CHECK(ndr_push_align(ndr
, 8));
879 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->lockout_duration
));
880 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->lockout_window
));
881 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->lockout_threshold
));
882 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
884 if (ndr_flags
& NDR_BUFFERS
) {
886 return NDR_ERR_SUCCESS
;
889 static enum ndr_err_code
ndr_pull_samr_DomInfo12(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DomInfo12
*r
)
891 if (ndr_flags
& NDR_SCALARS
) {
892 NDR_CHECK(ndr_pull_align(ndr
, 8));
893 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->lockout_duration
));
894 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->lockout_window
));
895 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->lockout_threshold
));
896 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
898 if (ndr_flags
& NDR_BUFFERS
) {
900 return NDR_ERR_SUCCESS
;
903 _PUBLIC_
void ndr_print_samr_DomInfo12(struct ndr_print
*ndr
, const char *name
, const struct samr_DomInfo12
*r
)
905 ndr_print_struct(ndr
, name
, "samr_DomInfo12");
907 ndr_print_hyper(ndr
, "lockout_duration", r
->lockout_duration
);
908 ndr_print_hyper(ndr
, "lockout_window", r
->lockout_window
);
909 ndr_print_uint16(ndr
, "lockout_threshold", r
->lockout_threshold
);
913 static enum ndr_err_code
ndr_push_samr_DomInfo13(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DomInfo13
*r
)
915 if (ndr_flags
& NDR_SCALARS
) {
916 NDR_CHECK(ndr_push_align(ndr
, 8));
917 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->sequence_num
));
918 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->domain_create_time
));
919 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->modified_count_at_last_promotion
));
920 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
922 if (ndr_flags
& NDR_BUFFERS
) {
924 return NDR_ERR_SUCCESS
;
927 static enum ndr_err_code
ndr_pull_samr_DomInfo13(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DomInfo13
*r
)
929 if (ndr_flags
& NDR_SCALARS
) {
930 NDR_CHECK(ndr_pull_align(ndr
, 8));
931 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->sequence_num
));
932 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->domain_create_time
));
933 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->modified_count_at_last_promotion
));
934 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
936 if (ndr_flags
& NDR_BUFFERS
) {
938 return NDR_ERR_SUCCESS
;
941 _PUBLIC_
void ndr_print_samr_DomInfo13(struct ndr_print
*ndr
, const char *name
, const struct samr_DomInfo13
*r
)
943 ndr_print_struct(ndr
, name
, "samr_DomInfo13");
945 ndr_print_hyper(ndr
, "sequence_num", r
->sequence_num
);
946 ndr_print_NTTIME(ndr
, "domain_create_time", r
->domain_create_time
);
947 ndr_print_hyper(ndr
, "modified_count_at_last_promotion", r
->modified_count_at_last_promotion
);
951 static enum ndr_err_code
ndr_push_samr_DomainInfo(struct ndr_push
*ndr
, int ndr_flags
, const union samr_DomainInfo
*r
)
953 if (ndr_flags
& NDR_SCALARS
) {
954 int level
= ndr_push_get_switch_value(ndr
, r
);
955 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, level
));
956 NDR_CHECK(ndr_push_union_align(ndr
, 8));
959 NDR_CHECK(ndr_push_samr_DomInfo1(ndr
, NDR_SCALARS
, &r
->info1
));
963 NDR_CHECK(ndr_push_samr_DomGeneralInformation(ndr
, NDR_SCALARS
, &r
->general
));
967 NDR_CHECK(ndr_push_samr_DomInfo3(ndr
, NDR_SCALARS
, &r
->info3
));
971 NDR_CHECK(ndr_push_samr_DomOEMInformation(ndr
, NDR_SCALARS
, &r
->oem
));
975 NDR_CHECK(ndr_push_samr_DomInfo5(ndr
, NDR_SCALARS
, &r
->info5
));
979 NDR_CHECK(ndr_push_samr_DomInfo6(ndr
, NDR_SCALARS
, &r
->info6
));
983 NDR_CHECK(ndr_push_samr_DomInfo7(ndr
, NDR_SCALARS
, &r
->info7
));
987 NDR_CHECK(ndr_push_samr_DomInfo8(ndr
, NDR_SCALARS
, &r
->info8
));
991 NDR_CHECK(ndr_push_samr_DomInfo9(ndr
, NDR_SCALARS
, &r
->info9
));
995 NDR_CHECK(ndr_push_samr_DomGeneralInformation2(ndr
, NDR_SCALARS
, &r
->general2
));
999 NDR_CHECK(ndr_push_samr_DomInfo12(ndr
, NDR_SCALARS
, &r
->info12
));
1003 NDR_CHECK(ndr_push_samr_DomInfo13(ndr
, NDR_SCALARS
, &r
->info13
));
1007 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1010 if (ndr_flags
& NDR_BUFFERS
) {
1011 int level
= ndr_push_get_switch_value(ndr
, r
);
1017 NDR_CHECK(ndr_push_samr_DomGeneralInformation(ndr
, NDR_BUFFERS
, &r
->general
));
1024 NDR_CHECK(ndr_push_samr_DomOEMInformation(ndr
, NDR_BUFFERS
, &r
->oem
));
1028 NDR_CHECK(ndr_push_samr_DomInfo5(ndr
, NDR_BUFFERS
, &r
->info5
));
1032 NDR_CHECK(ndr_push_samr_DomInfo6(ndr
, NDR_BUFFERS
, &r
->info6
));
1045 NDR_CHECK(ndr_push_samr_DomGeneralInformation2(ndr
, NDR_BUFFERS
, &r
->general2
));
1055 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1058 return NDR_ERR_SUCCESS
;
1061 static enum ndr_err_code
ndr_pull_samr_DomainInfo(struct ndr_pull
*ndr
, int ndr_flags
, union samr_DomainInfo
*r
)
1065 level
= ndr_pull_get_switch_value(ndr
, r
);
1066 if (ndr_flags
& NDR_SCALARS
) {
1067 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &_level
));
1068 if (_level
!= level
) {
1069 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
1071 NDR_CHECK(ndr_pull_union_align(ndr
, 8));
1074 NDR_CHECK(ndr_pull_samr_DomInfo1(ndr
, NDR_SCALARS
, &r
->info1
));
1078 NDR_CHECK(ndr_pull_samr_DomGeneralInformation(ndr
, NDR_SCALARS
, &r
->general
));
1082 NDR_CHECK(ndr_pull_samr_DomInfo3(ndr
, NDR_SCALARS
, &r
->info3
));
1086 NDR_CHECK(ndr_pull_samr_DomOEMInformation(ndr
, NDR_SCALARS
, &r
->oem
));
1090 NDR_CHECK(ndr_pull_samr_DomInfo5(ndr
, NDR_SCALARS
, &r
->info5
));
1094 NDR_CHECK(ndr_pull_samr_DomInfo6(ndr
, NDR_SCALARS
, &r
->info6
));
1098 NDR_CHECK(ndr_pull_samr_DomInfo7(ndr
, NDR_SCALARS
, &r
->info7
));
1102 NDR_CHECK(ndr_pull_samr_DomInfo8(ndr
, NDR_SCALARS
, &r
->info8
));
1106 NDR_CHECK(ndr_pull_samr_DomInfo9(ndr
, NDR_SCALARS
, &r
->info9
));
1110 NDR_CHECK(ndr_pull_samr_DomGeneralInformation2(ndr
, NDR_SCALARS
, &r
->general2
));
1114 NDR_CHECK(ndr_pull_samr_DomInfo12(ndr
, NDR_SCALARS
, &r
->info12
));
1118 NDR_CHECK(ndr_pull_samr_DomInfo13(ndr
, NDR_SCALARS
, &r
->info13
));
1122 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1125 if (ndr_flags
& NDR_BUFFERS
) {
1131 NDR_CHECK(ndr_pull_samr_DomGeneralInformation(ndr
, NDR_BUFFERS
, &r
->general
));
1138 NDR_CHECK(ndr_pull_samr_DomOEMInformation(ndr
, NDR_BUFFERS
, &r
->oem
));
1142 NDR_CHECK(ndr_pull_samr_DomInfo5(ndr
, NDR_BUFFERS
, &r
->info5
));
1146 NDR_CHECK(ndr_pull_samr_DomInfo6(ndr
, NDR_BUFFERS
, &r
->info6
));
1159 NDR_CHECK(ndr_pull_samr_DomGeneralInformation2(ndr
, NDR_BUFFERS
, &r
->general2
));
1169 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1172 return NDR_ERR_SUCCESS
;
1175 _PUBLIC_
void ndr_print_samr_DomainInfo(struct ndr_print
*ndr
, const char *name
, const union samr_DomainInfo
*r
)
1178 level
= ndr_print_get_switch_value(ndr
, r
);
1179 ndr_print_union(ndr
, name
, level
, "samr_DomainInfo");
1182 ndr_print_samr_DomInfo1(ndr
, "info1", &r
->info1
);
1186 ndr_print_samr_DomGeneralInformation(ndr
, "general", &r
->general
);
1190 ndr_print_samr_DomInfo3(ndr
, "info3", &r
->info3
);
1194 ndr_print_samr_DomOEMInformation(ndr
, "oem", &r
->oem
);
1198 ndr_print_samr_DomInfo5(ndr
, "info5", &r
->info5
);
1202 ndr_print_samr_DomInfo6(ndr
, "info6", &r
->info6
);
1206 ndr_print_samr_DomInfo7(ndr
, "info7", &r
->info7
);
1210 ndr_print_samr_DomInfo8(ndr
, "info8", &r
->info8
);
1214 ndr_print_samr_DomInfo9(ndr
, "info9", &r
->info9
);
1218 ndr_print_samr_DomGeneralInformation2(ndr
, "general2", &r
->general2
);
1222 ndr_print_samr_DomInfo12(ndr
, "info12", &r
->info12
);
1226 ndr_print_samr_DomInfo13(ndr
, "info13", &r
->info13
);
1230 ndr_print_bad_level(ndr
, name
, level
);
1234 static enum ndr_err_code
ndr_push_samr_Ids(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_Ids
*r
)
1236 uint32_t cntr_ids_1
;
1237 if (ndr_flags
& NDR_SCALARS
) {
1238 NDR_CHECK(ndr_push_align(ndr
, 5));
1239 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
1240 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->ids
));
1241 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
1243 if (ndr_flags
& NDR_BUFFERS
) {
1245 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
1246 for (cntr_ids_1
= 0; cntr_ids_1
< r
->count
; cntr_ids_1
++) {
1247 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->ids
[cntr_ids_1
]));
1251 return NDR_ERR_SUCCESS
;
1254 static enum ndr_err_code
ndr_pull_samr_Ids(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_Ids
*r
)
1257 uint32_t size_ids_1
= 0;
1258 uint32_t cntr_ids_1
;
1259 TALLOC_CTX
*_mem_save_ids_0
;
1260 TALLOC_CTX
*_mem_save_ids_1
;
1261 if (ndr_flags
& NDR_SCALARS
) {
1262 NDR_CHECK(ndr_pull_align(ndr
, 5));
1263 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
1264 if (r
->count
> 1024) {
1265 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
1267 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_ids
));
1269 NDR_PULL_ALLOC(ndr
, r
->ids
);
1273 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
1275 if (ndr_flags
& NDR_BUFFERS
) {
1277 _mem_save_ids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1278 NDR_PULL_SET_MEM_CTX(ndr
, r
->ids
, 0);
1279 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->ids
));
1280 size_ids_1
= ndr_get_array_size(ndr
, &r
->ids
);
1281 NDR_PULL_ALLOC_N(ndr
, r
->ids
, size_ids_1
);
1282 _mem_save_ids_1
= NDR_PULL_GET_MEM_CTX(ndr
);
1283 NDR_PULL_SET_MEM_CTX(ndr
, r
->ids
, 0);
1284 for (cntr_ids_1
= 0; cntr_ids_1
< size_ids_1
; cntr_ids_1
++) {
1285 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->ids
[cntr_ids_1
]));
1287 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ids_1
, 0);
1288 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ids_0
, 0);
1291 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->ids
, r
->count
));
1294 return NDR_ERR_SUCCESS
;
1297 _PUBLIC_
void ndr_print_samr_Ids(struct ndr_print
*ndr
, const char *name
, const struct samr_Ids
*r
)
1299 uint32_t cntr_ids_1
;
1300 ndr_print_struct(ndr
, name
, "samr_Ids");
1302 ndr_print_uint32(ndr
, "count", r
->count
);
1303 ndr_print_ptr(ndr
, "ids", r
->ids
);
1306 ndr
->print(ndr
, "%s: ARRAY(%d)", "ids", (int)r
->count
);
1308 for (cntr_ids_1
=0;cntr_ids_1
<r
->count
;cntr_ids_1
++) {
1310 if (asprintf(&idx_1
, "[%d]", cntr_ids_1
) != -1) {
1311 ndr_print_uint32(ndr
, "ids", r
->ids
[cntr_ids_1
]);
1321 _PUBLIC_
enum ndr_err_code
ndr_push_samr_GroupAttrs(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
1323 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
1324 return NDR_ERR_SUCCESS
;
1327 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_GroupAttrs(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
1330 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
1332 return NDR_ERR_SUCCESS
;
1335 _PUBLIC_
void ndr_print_samr_GroupAttrs(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
1337 ndr_print_uint32(ndr
, name
, r
);
1339 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SE_GROUP_MANDATORY", SE_GROUP_MANDATORY
, r
);
1340 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SE_GROUP_ENABLED_BY_DEFAULT", SE_GROUP_ENABLED_BY_DEFAULT
, r
);
1341 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SE_GROUP_ENABLED", SE_GROUP_ENABLED
, r
);
1342 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SE_GROUP_OWNER", SE_GROUP_OWNER
, r
);
1343 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SE_GROUP_USE_FOR_DENY_ONLY", SE_GROUP_USE_FOR_DENY_ONLY
, r
);
1344 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SE_GROUP_RESOURCE", SE_GROUP_RESOURCE
, r
);
1345 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SE_GROUP_LOGON_ID", SE_GROUP_LOGON_ID
, r
);
1349 static enum ndr_err_code
ndr_push_samr_GroupInfoAll(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_GroupInfoAll
*r
)
1351 if (ndr_flags
& NDR_SCALARS
) {
1352 NDR_CHECK(ndr_push_align(ndr
, 5));
1353 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->name
));
1354 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr
, NDR_SCALARS
, r
->attributes
));
1355 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_members
));
1356 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
1357 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
1359 if (ndr_flags
& NDR_BUFFERS
) {
1360 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->name
));
1361 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
1363 return NDR_ERR_SUCCESS
;
1366 static enum ndr_err_code
ndr_pull_samr_GroupInfoAll(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_GroupInfoAll
*r
)
1368 if (ndr_flags
& NDR_SCALARS
) {
1369 NDR_CHECK(ndr_pull_align(ndr
, 5));
1370 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->name
));
1371 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr
, NDR_SCALARS
, &r
->attributes
));
1372 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_members
));
1373 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
1374 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
1376 if (ndr_flags
& NDR_BUFFERS
) {
1377 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->name
));
1378 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
1380 return NDR_ERR_SUCCESS
;
1383 _PUBLIC_
void ndr_print_samr_GroupInfoAll(struct ndr_print
*ndr
, const char *name
, const struct samr_GroupInfoAll
*r
)
1385 ndr_print_struct(ndr
, name
, "samr_GroupInfoAll");
1387 ndr_print_lsa_String(ndr
, "name", &r
->name
);
1388 ndr_print_samr_GroupAttrs(ndr
, "attributes", r
->attributes
);
1389 ndr_print_uint32(ndr
, "num_members", r
->num_members
);
1390 ndr_print_lsa_String(ndr
, "description", &r
->description
);
1394 static enum ndr_err_code
ndr_push_samr_GroupInfoAttributes(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_GroupInfoAttributes
*r
)
1396 if (ndr_flags
& NDR_SCALARS
) {
1397 NDR_CHECK(ndr_push_align(ndr
, 4));
1398 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr
, NDR_SCALARS
, r
->attributes
));
1399 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
1401 if (ndr_flags
& NDR_BUFFERS
) {
1403 return NDR_ERR_SUCCESS
;
1406 static enum ndr_err_code
ndr_pull_samr_GroupInfoAttributes(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_GroupInfoAttributes
*r
)
1408 if (ndr_flags
& NDR_SCALARS
) {
1409 NDR_CHECK(ndr_pull_align(ndr
, 4));
1410 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr
, NDR_SCALARS
, &r
->attributes
));
1411 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
1413 if (ndr_flags
& NDR_BUFFERS
) {
1415 return NDR_ERR_SUCCESS
;
1418 _PUBLIC_
void ndr_print_samr_GroupInfoAttributes(struct ndr_print
*ndr
, const char *name
, const struct samr_GroupInfoAttributes
*r
)
1420 ndr_print_struct(ndr
, name
, "samr_GroupInfoAttributes");
1422 ndr_print_samr_GroupAttrs(ndr
, "attributes", r
->attributes
);
1426 static enum ndr_err_code
ndr_push_samr_GroupInfoEnum(struct ndr_push
*ndr
, int ndr_flags
, enum samr_GroupInfoEnum r
)
1428 NDR_CHECK(ndr_push_enum_uint1632(ndr
, NDR_SCALARS
, r
));
1429 return NDR_ERR_SUCCESS
;
1432 static enum ndr_err_code
ndr_pull_samr_GroupInfoEnum(struct ndr_pull
*ndr
, int ndr_flags
, enum samr_GroupInfoEnum
*r
)
1435 NDR_CHECK(ndr_pull_enum_uint1632(ndr
, NDR_SCALARS
, &v
));
1437 return NDR_ERR_SUCCESS
;
1440 _PUBLIC_
void ndr_print_samr_GroupInfoEnum(struct ndr_print
*ndr
, const char *name
, enum samr_GroupInfoEnum r
)
1442 const char *val
= NULL
;
1445 case GROUPINFOALL
: val
= "GROUPINFOALL"; break;
1446 case GROUPINFONAME
: val
= "GROUPINFONAME"; break;
1447 case GROUPINFOATTRIBUTES
: val
= "GROUPINFOATTRIBUTES"; break;
1448 case GROUPINFODESCRIPTION
: val
= "GROUPINFODESCRIPTION"; break;
1449 case GROUPINFOALL2
: val
= "GROUPINFOALL2"; break;
1451 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
1454 static enum ndr_err_code
ndr_push_samr_GroupInfo(struct ndr_push
*ndr
, int ndr_flags
, const union samr_GroupInfo
*r
)
1456 if (ndr_flags
& NDR_SCALARS
) {
1457 int level
= ndr_push_get_switch_value(ndr
, r
);
1458 NDR_CHECK(ndr_push_samr_GroupInfoEnum(ndr
, NDR_SCALARS
, level
));
1459 NDR_CHECK(ndr_push_union_align(ndr
, 5));
1461 case GROUPINFOALL
: {
1462 NDR_CHECK(ndr_push_samr_GroupInfoAll(ndr
, NDR_SCALARS
, &r
->all
));
1465 case GROUPINFONAME
: {
1466 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->name
));
1469 case GROUPINFOATTRIBUTES
: {
1470 NDR_CHECK(ndr_push_samr_GroupInfoAttributes(ndr
, NDR_SCALARS
, &r
->attributes
));
1473 case GROUPINFODESCRIPTION
: {
1474 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
1477 case GROUPINFOALL2
: {
1478 NDR_CHECK(ndr_push_samr_GroupInfoAll(ndr
, NDR_SCALARS
, &r
->all2
));
1482 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1485 if (ndr_flags
& NDR_BUFFERS
) {
1486 int level
= ndr_push_get_switch_value(ndr
, r
);
1489 NDR_CHECK(ndr_push_samr_GroupInfoAll(ndr
, NDR_BUFFERS
, &r
->all
));
1493 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->name
));
1496 case GROUPINFOATTRIBUTES
:
1499 case GROUPINFODESCRIPTION
:
1500 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
1504 NDR_CHECK(ndr_push_samr_GroupInfoAll(ndr
, NDR_BUFFERS
, &r
->all2
));
1508 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1511 return NDR_ERR_SUCCESS
;
1514 static enum ndr_err_code
ndr_pull_samr_GroupInfo(struct ndr_pull
*ndr
, int ndr_flags
, union samr_GroupInfo
*r
)
1518 level
= ndr_pull_get_switch_value(ndr
, r
);
1519 if (ndr_flags
& NDR_SCALARS
) {
1520 NDR_CHECK(ndr_pull_uint1632(ndr
, NDR_SCALARS
, &_level
));
1521 if (_level
!= level
) {
1522 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
1524 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
1526 case GROUPINFOALL
: {
1527 NDR_CHECK(ndr_pull_samr_GroupInfoAll(ndr
, NDR_SCALARS
, &r
->all
));
1530 case GROUPINFONAME
: {
1531 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->name
));
1534 case GROUPINFOATTRIBUTES
: {
1535 NDR_CHECK(ndr_pull_samr_GroupInfoAttributes(ndr
, NDR_SCALARS
, &r
->attributes
));
1538 case GROUPINFODESCRIPTION
: {
1539 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
1542 case GROUPINFOALL2
: {
1543 NDR_CHECK(ndr_pull_samr_GroupInfoAll(ndr
, NDR_SCALARS
, &r
->all2
));
1547 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1550 if (ndr_flags
& NDR_BUFFERS
) {
1553 NDR_CHECK(ndr_pull_samr_GroupInfoAll(ndr
, NDR_BUFFERS
, &r
->all
));
1557 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->name
));
1560 case GROUPINFOATTRIBUTES
:
1563 case GROUPINFODESCRIPTION
:
1564 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
1568 NDR_CHECK(ndr_pull_samr_GroupInfoAll(ndr
, NDR_BUFFERS
, &r
->all2
));
1572 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1575 return NDR_ERR_SUCCESS
;
1578 _PUBLIC_
void ndr_print_samr_GroupInfo(struct ndr_print
*ndr
, const char *name
, const union samr_GroupInfo
*r
)
1581 level
= ndr_print_get_switch_value(ndr
, r
);
1582 ndr_print_union(ndr
, name
, level
, "samr_GroupInfo");
1585 ndr_print_samr_GroupInfoAll(ndr
, "all", &r
->all
);
1589 ndr_print_lsa_String(ndr
, "name", &r
->name
);
1592 case GROUPINFOATTRIBUTES
:
1593 ndr_print_samr_GroupInfoAttributes(ndr
, "attributes", &r
->attributes
);
1596 case GROUPINFODESCRIPTION
:
1597 ndr_print_lsa_String(ndr
, "description", &r
->description
);
1601 ndr_print_samr_GroupInfoAll(ndr
, "all2", &r
->all2
);
1605 ndr_print_bad_level(ndr
, name
, level
);
1609 static enum ndr_err_code
ndr_push_samr_RidTypeArray(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_RidTypeArray
*r
)
1611 uint32_t cntr_rids_1
;
1612 uint32_t cntr_types_1
;
1613 if (ndr_flags
& NDR_SCALARS
) {
1614 NDR_CHECK(ndr_push_align(ndr
, 5));
1615 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
1616 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->rids
));
1617 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->types
));
1618 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
1620 if (ndr_flags
& NDR_BUFFERS
) {
1622 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
1623 for (cntr_rids_1
= 0; cntr_rids_1
< r
->count
; cntr_rids_1
++) {
1624 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->rids
[cntr_rids_1
]));
1628 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
1629 for (cntr_types_1
= 0; cntr_types_1
< r
->count
; cntr_types_1
++) {
1630 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->types
[cntr_types_1
]));
1634 return NDR_ERR_SUCCESS
;
1637 static enum ndr_err_code
ndr_pull_samr_RidTypeArray(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_RidTypeArray
*r
)
1640 uint32_t size_rids_1
= 0;
1641 uint32_t cntr_rids_1
;
1642 TALLOC_CTX
*_mem_save_rids_0
;
1643 TALLOC_CTX
*_mem_save_rids_1
;
1644 uint32_t _ptr_types
;
1645 uint32_t size_types_1
= 0;
1646 uint32_t cntr_types_1
;
1647 TALLOC_CTX
*_mem_save_types_0
;
1648 TALLOC_CTX
*_mem_save_types_1
;
1649 if (ndr_flags
& NDR_SCALARS
) {
1650 NDR_CHECK(ndr_pull_align(ndr
, 5));
1651 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
1652 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_rids
));
1654 NDR_PULL_ALLOC(ndr
, r
->rids
);
1658 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_types
));
1660 NDR_PULL_ALLOC(ndr
, r
->types
);
1664 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
1666 if (ndr_flags
& NDR_BUFFERS
) {
1668 _mem_save_rids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1669 NDR_PULL_SET_MEM_CTX(ndr
, r
->rids
, 0);
1670 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->rids
));
1671 size_rids_1
= ndr_get_array_size(ndr
, &r
->rids
);
1672 NDR_PULL_ALLOC_N(ndr
, r
->rids
, size_rids_1
);
1673 _mem_save_rids_1
= NDR_PULL_GET_MEM_CTX(ndr
);
1674 NDR_PULL_SET_MEM_CTX(ndr
, r
->rids
, 0);
1675 for (cntr_rids_1
= 0; cntr_rids_1
< size_rids_1
; cntr_rids_1
++) {
1676 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->rids
[cntr_rids_1
]));
1678 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rids_1
, 0);
1679 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rids_0
, 0);
1682 _mem_save_types_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1683 NDR_PULL_SET_MEM_CTX(ndr
, r
->types
, 0);
1684 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->types
));
1685 size_types_1
= ndr_get_array_size(ndr
, &r
->types
);
1686 NDR_PULL_ALLOC_N(ndr
, r
->types
, size_types_1
);
1687 _mem_save_types_1
= NDR_PULL_GET_MEM_CTX(ndr
);
1688 NDR_PULL_SET_MEM_CTX(ndr
, r
->types
, 0);
1689 for (cntr_types_1
= 0; cntr_types_1
< size_types_1
; cntr_types_1
++) {
1690 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->types
[cntr_types_1
]));
1692 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_types_1
, 0);
1693 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_types_0
, 0);
1696 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->rids
, r
->count
));
1699 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->types
, r
->count
));
1702 return NDR_ERR_SUCCESS
;
1705 _PUBLIC_
void ndr_print_samr_RidTypeArray(struct ndr_print
*ndr
, const char *name
, const struct samr_RidTypeArray
*r
)
1707 uint32_t cntr_rids_1
;
1708 uint32_t cntr_types_1
;
1709 ndr_print_struct(ndr
, name
, "samr_RidTypeArray");
1711 ndr_print_uint32(ndr
, "count", r
->count
);
1712 ndr_print_ptr(ndr
, "rids", r
->rids
);
1715 ndr
->print(ndr
, "%s: ARRAY(%d)", "rids", (int)r
->count
);
1717 for (cntr_rids_1
=0;cntr_rids_1
<r
->count
;cntr_rids_1
++) {
1719 if (asprintf(&idx_1
, "[%d]", cntr_rids_1
) != -1) {
1720 ndr_print_uint32(ndr
, "rids", r
->rids
[cntr_rids_1
]);
1727 ndr_print_ptr(ndr
, "types", r
->types
);
1730 ndr
->print(ndr
, "%s: ARRAY(%d)", "types", (int)r
->count
);
1732 for (cntr_types_1
=0;cntr_types_1
<r
->count
;cntr_types_1
++) {
1734 if (asprintf(&idx_1
, "[%d]", cntr_types_1
) != -1) {
1735 ndr_print_uint32(ndr
, "types", r
->types
[cntr_types_1
]);
1745 static enum ndr_err_code
ndr_push_samr_AliasInfoAll(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_AliasInfoAll
*r
)
1747 if (ndr_flags
& NDR_SCALARS
) {
1748 NDR_CHECK(ndr_push_align(ndr
, 5));
1749 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->name
));
1750 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_members
));
1751 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
1752 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
1754 if (ndr_flags
& NDR_BUFFERS
) {
1755 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->name
));
1756 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
1758 return NDR_ERR_SUCCESS
;
1761 static enum ndr_err_code
ndr_pull_samr_AliasInfoAll(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_AliasInfoAll
*r
)
1763 if (ndr_flags
& NDR_SCALARS
) {
1764 NDR_CHECK(ndr_pull_align(ndr
, 5));
1765 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->name
));
1766 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_members
));
1767 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
1768 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
1770 if (ndr_flags
& NDR_BUFFERS
) {
1771 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->name
));
1772 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
1774 return NDR_ERR_SUCCESS
;
1777 _PUBLIC_
void ndr_print_samr_AliasInfoAll(struct ndr_print
*ndr
, const char *name
, const struct samr_AliasInfoAll
*r
)
1779 ndr_print_struct(ndr
, name
, "samr_AliasInfoAll");
1781 ndr_print_lsa_String(ndr
, "name", &r
->name
);
1782 ndr_print_uint32(ndr
, "num_members", r
->num_members
);
1783 ndr_print_lsa_String(ndr
, "description", &r
->description
);
1787 static enum ndr_err_code
ndr_push_samr_AliasInfoEnum(struct ndr_push
*ndr
, int ndr_flags
, enum samr_AliasInfoEnum r
)
1789 NDR_CHECK(ndr_push_enum_uint1632(ndr
, NDR_SCALARS
, r
));
1790 return NDR_ERR_SUCCESS
;
1793 static enum ndr_err_code
ndr_pull_samr_AliasInfoEnum(struct ndr_pull
*ndr
, int ndr_flags
, enum samr_AliasInfoEnum
*r
)
1796 NDR_CHECK(ndr_pull_enum_uint1632(ndr
, NDR_SCALARS
, &v
));
1798 return NDR_ERR_SUCCESS
;
1801 _PUBLIC_
void ndr_print_samr_AliasInfoEnum(struct ndr_print
*ndr
, const char *name
, enum samr_AliasInfoEnum r
)
1803 const char *val
= NULL
;
1806 case ALIASINFOALL
: val
= "ALIASINFOALL"; break;
1807 case ALIASINFONAME
: val
= "ALIASINFONAME"; break;
1808 case ALIASINFODESCRIPTION
: val
= "ALIASINFODESCRIPTION"; break;
1810 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
1813 static enum ndr_err_code
ndr_push_samr_AliasInfo(struct ndr_push
*ndr
, int ndr_flags
, const union samr_AliasInfo
*r
)
1815 if (ndr_flags
& NDR_SCALARS
) {
1816 int level
= ndr_push_get_switch_value(ndr
, r
);
1817 NDR_CHECK(ndr_push_samr_AliasInfoEnum(ndr
, NDR_SCALARS
, level
));
1818 NDR_CHECK(ndr_push_union_align(ndr
, 5));
1820 case ALIASINFOALL
: {
1821 NDR_CHECK(ndr_push_samr_AliasInfoAll(ndr
, NDR_SCALARS
, &r
->all
));
1824 case ALIASINFONAME
: {
1825 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->name
));
1828 case ALIASINFODESCRIPTION
: {
1829 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
1833 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1836 if (ndr_flags
& NDR_BUFFERS
) {
1837 int level
= ndr_push_get_switch_value(ndr
, r
);
1840 NDR_CHECK(ndr_push_samr_AliasInfoAll(ndr
, NDR_BUFFERS
, &r
->all
));
1844 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->name
));
1847 case ALIASINFODESCRIPTION
:
1848 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
1852 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1855 return NDR_ERR_SUCCESS
;
1858 static enum ndr_err_code
ndr_pull_samr_AliasInfo(struct ndr_pull
*ndr
, int ndr_flags
, union samr_AliasInfo
*r
)
1862 level
= ndr_pull_get_switch_value(ndr
, r
);
1863 if (ndr_flags
& NDR_SCALARS
) {
1864 NDR_CHECK(ndr_pull_uint1632(ndr
, NDR_SCALARS
, &_level
));
1865 if (_level
!= level
) {
1866 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
1868 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
1870 case ALIASINFOALL
: {
1871 NDR_CHECK(ndr_pull_samr_AliasInfoAll(ndr
, NDR_SCALARS
, &r
->all
));
1874 case ALIASINFONAME
: {
1875 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->name
));
1878 case ALIASINFODESCRIPTION
: {
1879 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
1883 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1886 if (ndr_flags
& NDR_BUFFERS
) {
1889 NDR_CHECK(ndr_pull_samr_AliasInfoAll(ndr
, NDR_BUFFERS
, &r
->all
));
1893 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->name
));
1896 case ALIASINFODESCRIPTION
:
1897 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
1901 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1904 return NDR_ERR_SUCCESS
;
1907 _PUBLIC_
void ndr_print_samr_AliasInfo(struct ndr_print
*ndr
, const char *name
, const union samr_AliasInfo
*r
)
1910 level
= ndr_print_get_switch_value(ndr
, r
);
1911 ndr_print_union(ndr
, name
, level
, "samr_AliasInfo");
1914 ndr_print_samr_AliasInfoAll(ndr
, "all", &r
->all
);
1918 ndr_print_lsa_String(ndr
, "name", &r
->name
);
1921 case ALIASINFODESCRIPTION
:
1922 ndr_print_lsa_String(ndr
, "description", &r
->description
);
1926 ndr_print_bad_level(ndr
, name
, level
);
1930 static enum ndr_err_code
ndr_push_samr_UserInfoLevel(struct ndr_push
*ndr
, int ndr_flags
, enum samr_UserInfoLevel r
)
1932 NDR_CHECK(ndr_push_enum_uint1632(ndr
, NDR_SCALARS
, r
));
1933 return NDR_ERR_SUCCESS
;
1936 static enum ndr_err_code
ndr_pull_samr_UserInfoLevel(struct ndr_pull
*ndr
, int ndr_flags
, enum samr_UserInfoLevel
*r
)
1939 NDR_CHECK(ndr_pull_enum_uint1632(ndr
, NDR_SCALARS
, &v
));
1941 return NDR_ERR_SUCCESS
;
1944 _PUBLIC_
void ndr_print_samr_UserInfoLevel(struct ndr_print
*ndr
, const char *name
, enum samr_UserInfoLevel r
)
1946 const char *val
= NULL
;
1949 case UserGeneralInformation
: val
= "UserGeneralInformation"; break;
1950 case UserPreferencesInformation
: val
= "UserPreferencesInformation"; break;
1951 case UserLogonInformation
: val
= "UserLogonInformation"; break;
1952 case UserLogonHoursInformation
: val
= "UserLogonHoursInformation"; break;
1953 case UserAccountInformation
: val
= "UserAccountInformation"; break;
1954 case UserNameInformation
: val
= "UserNameInformation"; break;
1955 case UserAccountNameInformation
: val
= "UserAccountNameInformation"; break;
1956 case UserFullNameInformation
: val
= "UserFullNameInformation"; break;
1957 case UserPrimaryGroupInformation
: val
= "UserPrimaryGroupInformation"; break;
1958 case UserHomeInformation
: val
= "UserHomeInformation"; break;
1959 case UserScriptInformation
: val
= "UserScriptInformation"; break;
1960 case UserProfileInformation
: val
= "UserProfileInformation"; break;
1961 case UserAdminCommentInformation
: val
= "UserAdminCommentInformation"; break;
1962 case UserWorkStationsInformation
: val
= "UserWorkStationsInformation"; break;
1963 case UserControlInformation
: val
= "UserControlInformation"; break;
1964 case UserExpiresInformation
: val
= "UserExpiresInformation"; break;
1965 case UserInternal1Information
: val
= "UserInternal1Information"; break;
1966 case UserParametersInformation
: val
= "UserParametersInformation"; break;
1967 case UserAllInformation
: val
= "UserAllInformation"; break;
1968 case UserInternal4Information
: val
= "UserInternal4Information"; break;
1969 case UserInternal5Information
: val
= "UserInternal5Information"; break;
1970 case UserInternal4InformationNew
: val
= "UserInternal4InformationNew"; break;
1971 case UserInternal5InformationNew
: val
= "UserInternal5InformationNew"; break;
1973 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
1976 static enum ndr_err_code
ndr_push_samr_UserInfo1(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo1
*r
)
1978 if (ndr_flags
& NDR_SCALARS
) {
1979 NDR_CHECK(ndr_push_align(ndr
, 5));
1980 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
1981 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
1982 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->primary_gid
));
1983 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
1984 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->comment
));
1985 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
1987 if (ndr_flags
& NDR_BUFFERS
) {
1988 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
1989 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
1990 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
1991 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->comment
));
1993 return NDR_ERR_SUCCESS
;
1996 static enum ndr_err_code
ndr_pull_samr_UserInfo1(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo1
*r
)
1998 if (ndr_flags
& NDR_SCALARS
) {
1999 NDR_CHECK(ndr_pull_align(ndr
, 5));
2000 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
2001 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
2002 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->primary_gid
));
2003 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
2004 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->comment
));
2005 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2007 if (ndr_flags
& NDR_BUFFERS
) {
2008 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
2009 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
2010 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
2011 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->comment
));
2013 return NDR_ERR_SUCCESS
;
2016 _PUBLIC_
void ndr_print_samr_UserInfo1(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo1
*r
)
2018 ndr_print_struct(ndr
, name
, "samr_UserInfo1");
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
, "primary_gid", r
->primary_gid
);
2023 ndr_print_lsa_String(ndr
, "description", &r
->description
);
2024 ndr_print_lsa_String(ndr
, "comment", &r
->comment
);
2028 static enum ndr_err_code
ndr_push_samr_UserInfo2(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo2
*r
)
2030 if (ndr_flags
& NDR_SCALARS
) {
2031 NDR_CHECK(ndr_push_align(ndr
, 5));
2032 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->comment
));
2033 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->unknown
));
2034 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->country_code
));
2035 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->code_page
));
2036 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2038 if (ndr_flags
& NDR_BUFFERS
) {
2039 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->comment
));
2040 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->unknown
));
2042 return NDR_ERR_SUCCESS
;
2045 static enum ndr_err_code
ndr_pull_samr_UserInfo2(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo2
*r
)
2047 if (ndr_flags
& NDR_SCALARS
) {
2048 NDR_CHECK(ndr_pull_align(ndr
, 5));
2049 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->comment
));
2050 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->unknown
));
2051 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->country_code
));
2052 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->code_page
));
2053 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2055 if (ndr_flags
& NDR_BUFFERS
) {
2056 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->comment
));
2057 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->unknown
));
2059 return NDR_ERR_SUCCESS
;
2062 _PUBLIC_
void ndr_print_samr_UserInfo2(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo2
*r
)
2064 ndr_print_struct(ndr
, name
, "samr_UserInfo2");
2066 ndr_print_lsa_String(ndr
, "comment", &r
->comment
);
2067 ndr_print_lsa_String(ndr
, "unknown", &r
->unknown
);
2068 ndr_print_uint16(ndr
, "country_code", r
->country_code
);
2069 ndr_print_uint16(ndr
, "code_page", r
->code_page
);
2073 _PUBLIC_
enum ndr_err_code
ndr_push_samr_LogonHours(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_LogonHours
*r
)
2076 uint32_t _flags_save_STRUCT
= ndr
->flags
;
2077 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
2078 if (ndr_flags
& NDR_SCALARS
) {
2079 NDR_CHECK(ndr_push_align(ndr
, 5));
2080 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->units_per_week
));
2081 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->bits
));
2082 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2084 if (ndr_flags
& NDR_BUFFERS
) {
2086 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 1260));
2087 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
2088 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->units_per_week
/ 8));
2089 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->bits
, r
->units_per_week
/ 8));
2092 ndr
->flags
= _flags_save_STRUCT
;
2094 return NDR_ERR_SUCCESS
;
2097 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_LogonHours(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_LogonHours
*r
)
2100 uint32_t size_bits_1
= 0;
2101 uint32_t length_bits_1
= 0;
2102 TALLOC_CTX
*_mem_save_bits_0
;
2104 uint32_t _flags_save_STRUCT
= ndr
->flags
;
2105 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
2106 if (ndr_flags
& NDR_SCALARS
) {
2107 NDR_CHECK(ndr_pull_align(ndr
, 5));
2108 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->units_per_week
));
2109 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_bits
));
2111 NDR_PULL_ALLOC(ndr
, r
->bits
);
2115 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2117 if (ndr_flags
& NDR_BUFFERS
) {
2119 _mem_save_bits_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2120 NDR_PULL_SET_MEM_CTX(ndr
, r
->bits
, 0);
2121 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->bits
));
2122 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->bits
));
2123 size_bits_1
= ndr_get_array_size(ndr
, &r
->bits
);
2124 length_bits_1
= ndr_get_array_length(ndr
, &r
->bits
);
2125 if (length_bits_1
> size_bits_1
) {
2126 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", size_bits_1
, length_bits_1
);
2128 NDR_PULL_ALLOC_N(ndr
, r
->bits
, size_bits_1
);
2129 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->bits
, length_bits_1
));
2130 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bits_0
, 0);
2133 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->bits
, 1260));
2136 NDR_CHECK(ndr_check_array_length(ndr
, (void*)&r
->bits
, r
->units_per_week
/ 8));
2139 ndr
->flags
= _flags_save_STRUCT
;
2141 return NDR_ERR_SUCCESS
;
2144 _PUBLIC_
void ndr_print_samr_LogonHours(struct ndr_print
*ndr
, const char *name
, const struct samr_LogonHours
*r
)
2146 ndr_print_struct(ndr
, name
, "samr_LogonHours");
2148 uint32_t _flags_save_STRUCT
= ndr
->flags
;
2149 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
2151 ndr_print_uint16(ndr
, "units_per_week", r
->units_per_week
);
2152 ndr_print_ptr(ndr
, "bits", r
->bits
);
2155 ndr_print_array_uint8(ndr
, "bits", r
->bits
, r
->units_per_week
/ 8);
2159 ndr
->flags
= _flags_save_STRUCT
;
2163 static enum ndr_err_code
ndr_push_samr_UserInfo3(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo3
*r
)
2165 if (ndr_flags
& NDR_SCALARS
) {
2166 NDR_CHECK(ndr_push_align(ndr
, 5));
2167 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
2168 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
2169 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->rid
));
2170 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->primary_gid
));
2171 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->home_directory
));
2172 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->home_drive
));
2173 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->logon_script
));
2174 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->profile_path
));
2175 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->workstations
));
2176 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_logon
));
2177 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_logoff
));
2178 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_password_change
));
2179 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->allow_password_change
));
2180 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->force_password_change
));
2181 NDR_CHECK(ndr_push_samr_LogonHours(ndr
, NDR_SCALARS
, &r
->logon_hours
));
2182 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->bad_password_count
));
2183 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->logon_count
));
2184 NDR_CHECK(ndr_push_samr_AcctFlags(ndr
, NDR_SCALARS
, r
->acct_flags
));
2185 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2187 if (ndr_flags
& NDR_BUFFERS
) {
2188 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
2189 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
2190 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_directory
));
2191 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_drive
));
2192 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->logon_script
));
2193 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->profile_path
));
2194 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->workstations
));
2195 NDR_CHECK(ndr_push_samr_LogonHours(ndr
, NDR_BUFFERS
, &r
->logon_hours
));
2197 return NDR_ERR_SUCCESS
;
2200 static enum ndr_err_code
ndr_pull_samr_UserInfo3(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo3
*r
)
2202 if (ndr_flags
& NDR_SCALARS
) {
2203 NDR_CHECK(ndr_pull_align(ndr
, 5));
2204 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
2205 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
2206 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->rid
));
2207 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->primary_gid
));
2208 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->home_directory
));
2209 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->home_drive
));
2210 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->logon_script
));
2211 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->profile_path
));
2212 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->workstations
));
2213 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_logon
));
2214 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_logoff
));
2215 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_password_change
));
2216 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->allow_password_change
));
2217 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->force_password_change
));
2218 NDR_CHECK(ndr_pull_samr_LogonHours(ndr
, NDR_SCALARS
, &r
->logon_hours
));
2219 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->bad_password_count
));
2220 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->logon_count
));
2221 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr
, NDR_SCALARS
, &r
->acct_flags
));
2222 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2224 if (ndr_flags
& NDR_BUFFERS
) {
2225 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
2226 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
2227 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_directory
));
2228 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_drive
));
2229 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->logon_script
));
2230 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->profile_path
));
2231 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->workstations
));
2232 NDR_CHECK(ndr_pull_samr_LogonHours(ndr
, NDR_BUFFERS
, &r
->logon_hours
));
2234 return NDR_ERR_SUCCESS
;
2237 _PUBLIC_
void ndr_print_samr_UserInfo3(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo3
*r
)
2239 ndr_print_struct(ndr
, name
, "samr_UserInfo3");
2241 ndr_print_lsa_String(ndr
, "account_name", &r
->account_name
);
2242 ndr_print_lsa_String(ndr
, "full_name", &r
->full_name
);
2243 ndr_print_uint32(ndr
, "rid", r
->rid
);
2244 ndr_print_uint32(ndr
, "primary_gid", r
->primary_gid
);
2245 ndr_print_lsa_String(ndr
, "home_directory", &r
->home_directory
);
2246 ndr_print_lsa_String(ndr
, "home_drive", &r
->home_drive
);
2247 ndr_print_lsa_String(ndr
, "logon_script", &r
->logon_script
);
2248 ndr_print_lsa_String(ndr
, "profile_path", &r
->profile_path
);
2249 ndr_print_lsa_String(ndr
, "workstations", &r
->workstations
);
2250 ndr_print_NTTIME(ndr
, "last_logon", r
->last_logon
);
2251 ndr_print_NTTIME(ndr
, "last_logoff", r
->last_logoff
);
2252 ndr_print_NTTIME(ndr
, "last_password_change", r
->last_password_change
);
2253 ndr_print_NTTIME(ndr
, "allow_password_change", r
->allow_password_change
);
2254 ndr_print_NTTIME(ndr
, "force_password_change", r
->force_password_change
);
2255 ndr_print_samr_LogonHours(ndr
, "logon_hours", &r
->logon_hours
);
2256 ndr_print_uint16(ndr
, "bad_password_count", r
->bad_password_count
);
2257 ndr_print_uint16(ndr
, "logon_count", r
->logon_count
);
2258 ndr_print_samr_AcctFlags(ndr
, "acct_flags", r
->acct_flags
);
2262 static enum ndr_err_code
ndr_push_samr_UserInfo4(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo4
*r
)
2264 if (ndr_flags
& NDR_SCALARS
) {
2265 NDR_CHECK(ndr_push_align(ndr
, 5));
2266 NDR_CHECK(ndr_push_samr_LogonHours(ndr
, NDR_SCALARS
, &r
->logon_hours
));
2267 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2269 if (ndr_flags
& NDR_BUFFERS
) {
2270 NDR_CHECK(ndr_push_samr_LogonHours(ndr
, NDR_BUFFERS
, &r
->logon_hours
));
2272 return NDR_ERR_SUCCESS
;
2275 static enum ndr_err_code
ndr_pull_samr_UserInfo4(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo4
*r
)
2277 if (ndr_flags
& NDR_SCALARS
) {
2278 NDR_CHECK(ndr_pull_align(ndr
, 5));
2279 NDR_CHECK(ndr_pull_samr_LogonHours(ndr
, NDR_SCALARS
, &r
->logon_hours
));
2280 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2282 if (ndr_flags
& NDR_BUFFERS
) {
2283 NDR_CHECK(ndr_pull_samr_LogonHours(ndr
, NDR_BUFFERS
, &r
->logon_hours
));
2285 return NDR_ERR_SUCCESS
;
2288 _PUBLIC_
void ndr_print_samr_UserInfo4(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo4
*r
)
2290 ndr_print_struct(ndr
, name
, "samr_UserInfo4");
2292 ndr_print_samr_LogonHours(ndr
, "logon_hours", &r
->logon_hours
);
2296 static enum ndr_err_code
ndr_push_samr_UserInfo5(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo5
*r
)
2298 if (ndr_flags
& NDR_SCALARS
) {
2299 NDR_CHECK(ndr_push_align(ndr
, 5));
2300 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
2301 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
2302 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->rid
));
2303 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->primary_gid
));
2304 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->home_directory
));
2305 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->home_drive
));
2306 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->logon_script
));
2307 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->profile_path
));
2308 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
2309 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->workstations
));
2310 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_logon
));
2311 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_logoff
));
2312 NDR_CHECK(ndr_push_samr_LogonHours(ndr
, NDR_SCALARS
, &r
->logon_hours
));
2313 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->bad_password_count
));
2314 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->logon_count
));
2315 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_password_change
));
2316 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->acct_expiry
));
2317 NDR_CHECK(ndr_push_samr_AcctFlags(ndr
, NDR_SCALARS
, r
->acct_flags
));
2318 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2320 if (ndr_flags
& NDR_BUFFERS
) {
2321 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
2322 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
2323 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_directory
));
2324 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_drive
));
2325 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->logon_script
));
2326 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->profile_path
));
2327 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
2328 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->workstations
));
2329 NDR_CHECK(ndr_push_samr_LogonHours(ndr
, NDR_BUFFERS
, &r
->logon_hours
));
2331 return NDR_ERR_SUCCESS
;
2334 static enum ndr_err_code
ndr_pull_samr_UserInfo5(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo5
*r
)
2336 if (ndr_flags
& NDR_SCALARS
) {
2337 NDR_CHECK(ndr_pull_align(ndr
, 5));
2338 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
2339 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
2340 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->rid
));
2341 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->primary_gid
));
2342 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->home_directory
));
2343 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->home_drive
));
2344 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->logon_script
));
2345 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->profile_path
));
2346 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
2347 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->workstations
));
2348 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_logon
));
2349 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_logoff
));
2350 NDR_CHECK(ndr_pull_samr_LogonHours(ndr
, NDR_SCALARS
, &r
->logon_hours
));
2351 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->bad_password_count
));
2352 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->logon_count
));
2353 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_password_change
));
2354 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->acct_expiry
));
2355 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr
, NDR_SCALARS
, &r
->acct_flags
));
2356 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2358 if (ndr_flags
& NDR_BUFFERS
) {
2359 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
2360 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
2361 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_directory
));
2362 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_drive
));
2363 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->logon_script
));
2364 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->profile_path
));
2365 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
2366 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->workstations
));
2367 NDR_CHECK(ndr_pull_samr_LogonHours(ndr
, NDR_BUFFERS
, &r
->logon_hours
));
2369 return NDR_ERR_SUCCESS
;
2372 _PUBLIC_
void ndr_print_samr_UserInfo5(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo5
*r
)
2374 ndr_print_struct(ndr
, name
, "samr_UserInfo5");
2376 ndr_print_lsa_String(ndr
, "account_name", &r
->account_name
);
2377 ndr_print_lsa_String(ndr
, "full_name", &r
->full_name
);
2378 ndr_print_uint32(ndr
, "rid", r
->rid
);
2379 ndr_print_uint32(ndr
, "primary_gid", r
->primary_gid
);
2380 ndr_print_lsa_String(ndr
, "home_directory", &r
->home_directory
);
2381 ndr_print_lsa_String(ndr
, "home_drive", &r
->home_drive
);
2382 ndr_print_lsa_String(ndr
, "logon_script", &r
->logon_script
);
2383 ndr_print_lsa_String(ndr
, "profile_path", &r
->profile_path
);
2384 ndr_print_lsa_String(ndr
, "description", &r
->description
);
2385 ndr_print_lsa_String(ndr
, "workstations", &r
->workstations
);
2386 ndr_print_NTTIME(ndr
, "last_logon", r
->last_logon
);
2387 ndr_print_NTTIME(ndr
, "last_logoff", r
->last_logoff
);
2388 ndr_print_samr_LogonHours(ndr
, "logon_hours", &r
->logon_hours
);
2389 ndr_print_uint16(ndr
, "bad_password_count", r
->bad_password_count
);
2390 ndr_print_uint16(ndr
, "logon_count", r
->logon_count
);
2391 ndr_print_NTTIME(ndr
, "last_password_change", r
->last_password_change
);
2392 ndr_print_NTTIME(ndr
, "acct_expiry", r
->acct_expiry
);
2393 ndr_print_samr_AcctFlags(ndr
, "acct_flags", r
->acct_flags
);
2397 static enum ndr_err_code
ndr_push_samr_UserInfo6(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo6
*r
)
2399 if (ndr_flags
& NDR_SCALARS
) {
2400 NDR_CHECK(ndr_push_align(ndr
, 5));
2401 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
2402 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
2403 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2405 if (ndr_flags
& NDR_BUFFERS
) {
2406 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
2407 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
2409 return NDR_ERR_SUCCESS
;
2412 static enum ndr_err_code
ndr_pull_samr_UserInfo6(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo6
*r
)
2414 if (ndr_flags
& NDR_SCALARS
) {
2415 NDR_CHECK(ndr_pull_align(ndr
, 5));
2416 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
2417 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
2418 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2420 if (ndr_flags
& NDR_BUFFERS
) {
2421 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
2422 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
2424 return NDR_ERR_SUCCESS
;
2427 _PUBLIC_
void ndr_print_samr_UserInfo6(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo6
*r
)
2429 ndr_print_struct(ndr
, name
, "samr_UserInfo6");
2431 ndr_print_lsa_String(ndr
, "account_name", &r
->account_name
);
2432 ndr_print_lsa_String(ndr
, "full_name", &r
->full_name
);
2436 static enum ndr_err_code
ndr_push_samr_UserInfo7(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo7
*r
)
2438 if (ndr_flags
& NDR_SCALARS
) {
2439 NDR_CHECK(ndr_push_align(ndr
, 5));
2440 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
2441 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2443 if (ndr_flags
& NDR_BUFFERS
) {
2444 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
2446 return NDR_ERR_SUCCESS
;
2449 static enum ndr_err_code
ndr_pull_samr_UserInfo7(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo7
*r
)
2451 if (ndr_flags
& NDR_SCALARS
) {
2452 NDR_CHECK(ndr_pull_align(ndr
, 5));
2453 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
2454 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2456 if (ndr_flags
& NDR_BUFFERS
) {
2457 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
2459 return NDR_ERR_SUCCESS
;
2462 _PUBLIC_
void ndr_print_samr_UserInfo7(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo7
*r
)
2464 ndr_print_struct(ndr
, name
, "samr_UserInfo7");
2466 ndr_print_lsa_String(ndr
, "account_name", &r
->account_name
);
2470 static enum ndr_err_code
ndr_push_samr_UserInfo8(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo8
*r
)
2472 if (ndr_flags
& NDR_SCALARS
) {
2473 NDR_CHECK(ndr_push_align(ndr
, 5));
2474 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
2475 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2477 if (ndr_flags
& NDR_BUFFERS
) {
2478 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
2480 return NDR_ERR_SUCCESS
;
2483 static enum ndr_err_code
ndr_pull_samr_UserInfo8(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo8
*r
)
2485 if (ndr_flags
& NDR_SCALARS
) {
2486 NDR_CHECK(ndr_pull_align(ndr
, 5));
2487 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
2488 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2490 if (ndr_flags
& NDR_BUFFERS
) {
2491 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
2493 return NDR_ERR_SUCCESS
;
2496 _PUBLIC_
void ndr_print_samr_UserInfo8(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo8
*r
)
2498 ndr_print_struct(ndr
, name
, "samr_UserInfo8");
2500 ndr_print_lsa_String(ndr
, "full_name", &r
->full_name
);
2504 static enum ndr_err_code
ndr_push_samr_UserInfo9(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo9
*r
)
2506 if (ndr_flags
& NDR_SCALARS
) {
2507 NDR_CHECK(ndr_push_align(ndr
, 4));
2508 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->primary_gid
));
2509 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
2511 if (ndr_flags
& NDR_BUFFERS
) {
2513 return NDR_ERR_SUCCESS
;
2516 static enum ndr_err_code
ndr_pull_samr_UserInfo9(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo9
*r
)
2518 if (ndr_flags
& NDR_SCALARS
) {
2519 NDR_CHECK(ndr_pull_align(ndr
, 4));
2520 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->primary_gid
));
2521 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
2523 if (ndr_flags
& NDR_BUFFERS
) {
2525 return NDR_ERR_SUCCESS
;
2528 _PUBLIC_
void ndr_print_samr_UserInfo9(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo9
*r
)
2530 ndr_print_struct(ndr
, name
, "samr_UserInfo9");
2532 ndr_print_uint32(ndr
, "primary_gid", r
->primary_gid
);
2536 static enum ndr_err_code
ndr_push_samr_UserInfo10(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo10
*r
)
2538 if (ndr_flags
& NDR_SCALARS
) {
2539 NDR_CHECK(ndr_push_align(ndr
, 5));
2540 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->home_directory
));
2541 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->home_drive
));
2542 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2544 if (ndr_flags
& NDR_BUFFERS
) {
2545 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_directory
));
2546 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_drive
));
2548 return NDR_ERR_SUCCESS
;
2551 static enum ndr_err_code
ndr_pull_samr_UserInfo10(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo10
*r
)
2553 if (ndr_flags
& NDR_SCALARS
) {
2554 NDR_CHECK(ndr_pull_align(ndr
, 5));
2555 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->home_directory
));
2556 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->home_drive
));
2557 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2559 if (ndr_flags
& NDR_BUFFERS
) {
2560 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_directory
));
2561 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_drive
));
2563 return NDR_ERR_SUCCESS
;
2566 _PUBLIC_
void ndr_print_samr_UserInfo10(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo10
*r
)
2568 ndr_print_struct(ndr
, name
, "samr_UserInfo10");
2570 ndr_print_lsa_String(ndr
, "home_directory", &r
->home_directory
);
2571 ndr_print_lsa_String(ndr
, "home_drive", &r
->home_drive
);
2575 static enum ndr_err_code
ndr_push_samr_UserInfo11(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo11
*r
)
2577 if (ndr_flags
& NDR_SCALARS
) {
2578 NDR_CHECK(ndr_push_align(ndr
, 5));
2579 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->logon_script
));
2580 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2582 if (ndr_flags
& NDR_BUFFERS
) {
2583 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->logon_script
));
2585 return NDR_ERR_SUCCESS
;
2588 static enum ndr_err_code
ndr_pull_samr_UserInfo11(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo11
*r
)
2590 if (ndr_flags
& NDR_SCALARS
) {
2591 NDR_CHECK(ndr_pull_align(ndr
, 5));
2592 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->logon_script
));
2593 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2595 if (ndr_flags
& NDR_BUFFERS
) {
2596 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->logon_script
));
2598 return NDR_ERR_SUCCESS
;
2601 _PUBLIC_
void ndr_print_samr_UserInfo11(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo11
*r
)
2603 ndr_print_struct(ndr
, name
, "samr_UserInfo11");
2605 ndr_print_lsa_String(ndr
, "logon_script", &r
->logon_script
);
2609 static enum ndr_err_code
ndr_push_samr_UserInfo12(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo12
*r
)
2611 if (ndr_flags
& NDR_SCALARS
) {
2612 NDR_CHECK(ndr_push_align(ndr
, 5));
2613 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->profile_path
));
2614 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2616 if (ndr_flags
& NDR_BUFFERS
) {
2617 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->profile_path
));
2619 return NDR_ERR_SUCCESS
;
2622 static enum ndr_err_code
ndr_pull_samr_UserInfo12(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo12
*r
)
2624 if (ndr_flags
& NDR_SCALARS
) {
2625 NDR_CHECK(ndr_pull_align(ndr
, 5));
2626 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->profile_path
));
2627 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2629 if (ndr_flags
& NDR_BUFFERS
) {
2630 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->profile_path
));
2632 return NDR_ERR_SUCCESS
;
2635 _PUBLIC_
void ndr_print_samr_UserInfo12(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo12
*r
)
2637 ndr_print_struct(ndr
, name
, "samr_UserInfo12");
2639 ndr_print_lsa_String(ndr
, "profile_path", &r
->profile_path
);
2643 static enum ndr_err_code
ndr_push_samr_UserInfo13(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo13
*r
)
2645 if (ndr_flags
& NDR_SCALARS
) {
2646 NDR_CHECK(ndr_push_align(ndr
, 5));
2647 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
2648 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2650 if (ndr_flags
& NDR_BUFFERS
) {
2651 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
2653 return NDR_ERR_SUCCESS
;
2656 static enum ndr_err_code
ndr_pull_samr_UserInfo13(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo13
*r
)
2658 if (ndr_flags
& NDR_SCALARS
) {
2659 NDR_CHECK(ndr_pull_align(ndr
, 5));
2660 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
2661 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2663 if (ndr_flags
& NDR_BUFFERS
) {
2664 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
2666 return NDR_ERR_SUCCESS
;
2669 _PUBLIC_
void ndr_print_samr_UserInfo13(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo13
*r
)
2671 ndr_print_struct(ndr
, name
, "samr_UserInfo13");
2673 ndr_print_lsa_String(ndr
, "description", &r
->description
);
2677 static enum ndr_err_code
ndr_push_samr_UserInfo14(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo14
*r
)
2679 if (ndr_flags
& NDR_SCALARS
) {
2680 NDR_CHECK(ndr_push_align(ndr
, 5));
2681 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->workstations
));
2682 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2684 if (ndr_flags
& NDR_BUFFERS
) {
2685 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->workstations
));
2687 return NDR_ERR_SUCCESS
;
2690 static enum ndr_err_code
ndr_pull_samr_UserInfo14(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo14
*r
)
2692 if (ndr_flags
& NDR_SCALARS
) {
2693 NDR_CHECK(ndr_pull_align(ndr
, 5));
2694 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->workstations
));
2695 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2697 if (ndr_flags
& NDR_BUFFERS
) {
2698 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->workstations
));
2700 return NDR_ERR_SUCCESS
;
2703 _PUBLIC_
void ndr_print_samr_UserInfo14(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo14
*r
)
2705 ndr_print_struct(ndr
, name
, "samr_UserInfo14");
2707 ndr_print_lsa_String(ndr
, "workstations", &r
->workstations
);
2711 static enum ndr_err_code
ndr_push_samr_UserInfo16(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo16
*r
)
2713 if (ndr_flags
& NDR_SCALARS
) {
2714 NDR_CHECK(ndr_push_align(ndr
, 4));
2715 NDR_CHECK(ndr_push_samr_AcctFlags(ndr
, NDR_SCALARS
, r
->acct_flags
));
2716 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
2718 if (ndr_flags
& NDR_BUFFERS
) {
2720 return NDR_ERR_SUCCESS
;
2723 static enum ndr_err_code
ndr_pull_samr_UserInfo16(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo16
*r
)
2725 if (ndr_flags
& NDR_SCALARS
) {
2726 NDR_CHECK(ndr_pull_align(ndr
, 4));
2727 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr
, NDR_SCALARS
, &r
->acct_flags
));
2728 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
2730 if (ndr_flags
& NDR_BUFFERS
) {
2732 return NDR_ERR_SUCCESS
;
2735 _PUBLIC_
void ndr_print_samr_UserInfo16(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo16
*r
)
2737 ndr_print_struct(ndr
, name
, "samr_UserInfo16");
2739 ndr_print_samr_AcctFlags(ndr
, "acct_flags", r
->acct_flags
);
2743 static enum ndr_err_code
ndr_push_samr_UserInfo17(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo17
*r
)
2745 if (ndr_flags
& NDR_SCALARS
) {
2746 NDR_CHECK(ndr_push_align(ndr
, 4));
2747 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->acct_expiry
));
2748 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
2750 if (ndr_flags
& NDR_BUFFERS
) {
2752 return NDR_ERR_SUCCESS
;
2755 static enum ndr_err_code
ndr_pull_samr_UserInfo17(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo17
*r
)
2757 if (ndr_flags
& NDR_SCALARS
) {
2758 NDR_CHECK(ndr_pull_align(ndr
, 4));
2759 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->acct_expiry
));
2760 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
2762 if (ndr_flags
& NDR_BUFFERS
) {
2764 return NDR_ERR_SUCCESS
;
2767 _PUBLIC_
void ndr_print_samr_UserInfo17(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo17
*r
)
2769 ndr_print_struct(ndr
, name
, "samr_UserInfo17");
2771 ndr_print_NTTIME(ndr
, "acct_expiry", r
->acct_expiry
);
2775 _PUBLIC_
enum ndr_err_code
ndr_push_samr_Password(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_Password
*r
)
2778 uint32_t _flags_save_STRUCT
= ndr
->flags
;
2779 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
2780 if (ndr_flags
& NDR_SCALARS
) {
2781 NDR_CHECK(ndr_push_align(ndr
, 1));
2782 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->hash
, 16));
2783 NDR_CHECK(ndr_push_trailer_align(ndr
, 1));
2785 if (ndr_flags
& NDR_BUFFERS
) {
2787 ndr
->flags
= _flags_save_STRUCT
;
2789 return NDR_ERR_SUCCESS
;
2792 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_Password(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_Password
*r
)
2794 uint32_t size_hash_0
= 0;
2796 uint32_t _flags_save_STRUCT
= ndr
->flags
;
2797 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
2798 if (ndr_flags
& NDR_SCALARS
) {
2799 NDR_CHECK(ndr_pull_align(ndr
, 1));
2801 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->hash
, size_hash_0
));
2802 NDR_CHECK(ndr_pull_trailer_align(ndr
, 1));
2804 if (ndr_flags
& NDR_BUFFERS
) {
2806 ndr
->flags
= _flags_save_STRUCT
;
2808 return NDR_ERR_SUCCESS
;
2811 _PUBLIC_
void ndr_print_samr_Password(struct ndr_print
*ndr
, const char *name
, const struct samr_Password
*r
)
2813 ndr_print_struct(ndr
, name
, "samr_Password");
2815 uint32_t _flags_save_STRUCT
= ndr
->flags
;
2816 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
2818 ndr_print_array_uint8(ndr
, "hash", r
->hash
, 16);
2820 ndr
->flags
= _flags_save_STRUCT
;
2824 static enum ndr_err_code
ndr_push_samr_UserInfo18(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo18
*r
)
2826 if (ndr_flags
& NDR_SCALARS
) {
2827 NDR_CHECK(ndr_push_align(ndr
, 1));
2828 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, &r
->nt_pwd
));
2829 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, &r
->lm_pwd
));
2830 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->nt_pwd_active
));
2831 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->lm_pwd_active
));
2832 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->password_expired
));
2833 NDR_CHECK(ndr_push_trailer_align(ndr
, 1));
2835 if (ndr_flags
& NDR_BUFFERS
) {
2837 return NDR_ERR_SUCCESS
;
2840 static enum ndr_err_code
ndr_pull_samr_UserInfo18(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo18
*r
)
2842 if (ndr_flags
& NDR_SCALARS
) {
2843 NDR_CHECK(ndr_pull_align(ndr
, 1));
2844 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, &r
->nt_pwd
));
2845 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, &r
->lm_pwd
));
2846 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->nt_pwd_active
));
2847 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->lm_pwd_active
));
2848 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->password_expired
));
2849 NDR_CHECK(ndr_pull_trailer_align(ndr
, 1));
2851 if (ndr_flags
& NDR_BUFFERS
) {
2853 return NDR_ERR_SUCCESS
;
2856 _PUBLIC_
void ndr_print_samr_UserInfo18(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo18
*r
)
2858 ndr_print_struct(ndr
, name
, "samr_UserInfo18");
2860 ndr_print_samr_Password(ndr
, "nt_pwd", &r
->nt_pwd
);
2861 ndr_print_samr_Password(ndr
, "lm_pwd", &r
->lm_pwd
);
2862 ndr_print_uint8(ndr
, "nt_pwd_active", r
->nt_pwd_active
);
2863 ndr_print_uint8(ndr
, "lm_pwd_active", r
->lm_pwd_active
);
2864 ndr_print_uint8(ndr
, "password_expired", r
->password_expired
);
2868 static enum ndr_err_code
ndr_push_samr_UserInfo20(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo20
*r
)
2870 if (ndr_flags
& NDR_SCALARS
) {
2871 NDR_CHECK(ndr_push_align(ndr
, 5));
2872 NDR_CHECK(ndr_push_lsa_BinaryString(ndr
, NDR_SCALARS
, &r
->parameters
));
2873 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2875 if (ndr_flags
& NDR_BUFFERS
) {
2876 NDR_CHECK(ndr_push_lsa_BinaryString(ndr
, NDR_BUFFERS
, &r
->parameters
));
2878 return NDR_ERR_SUCCESS
;
2881 static enum ndr_err_code
ndr_pull_samr_UserInfo20(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo20
*r
)
2883 if (ndr_flags
& NDR_SCALARS
) {
2884 NDR_CHECK(ndr_pull_align(ndr
, 5));
2885 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr
, NDR_SCALARS
, &r
->parameters
));
2886 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2888 if (ndr_flags
& NDR_BUFFERS
) {
2889 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr
, NDR_BUFFERS
, &r
->parameters
));
2891 return NDR_ERR_SUCCESS
;
2894 _PUBLIC_
void ndr_print_samr_UserInfo20(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo20
*r
)
2896 ndr_print_struct(ndr
, name
, "samr_UserInfo20");
2898 ndr_print_lsa_BinaryString(ndr
, "parameters", &r
->parameters
);
2902 static enum ndr_err_code
ndr_push_samr_FieldsPresent(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
2904 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
2905 return NDR_ERR_SUCCESS
;
2908 static enum ndr_err_code
ndr_pull_samr_FieldsPresent(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
2911 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
2913 return NDR_ERR_SUCCESS
;
2916 _PUBLIC_
void ndr_print_samr_FieldsPresent(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
2918 ndr_print_uint32(ndr
, name
, r
);
2920 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_ACCOUNT_NAME", SAMR_FIELD_ACCOUNT_NAME
, r
);
2921 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_FULL_NAME", SAMR_FIELD_FULL_NAME
, r
);
2922 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_RID", SAMR_FIELD_RID
, r
);
2923 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_PRIMARY_GID", SAMR_FIELD_PRIMARY_GID
, r
);
2924 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_DESCRIPTION", SAMR_FIELD_DESCRIPTION
, r
);
2925 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_COMMENT", SAMR_FIELD_COMMENT
, r
);
2926 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_HOME_DIRECTORY", SAMR_FIELD_HOME_DIRECTORY
, r
);
2927 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_HOME_DRIVE", SAMR_FIELD_HOME_DRIVE
, r
);
2928 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_LOGON_SCRIPT", SAMR_FIELD_LOGON_SCRIPT
, r
);
2929 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_PROFILE_PATH", SAMR_FIELD_PROFILE_PATH
, r
);
2930 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_WORKSTATIONS", SAMR_FIELD_WORKSTATIONS
, r
);
2931 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_LAST_LOGON", SAMR_FIELD_LAST_LOGON
, r
);
2932 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_LAST_LOGOFF", SAMR_FIELD_LAST_LOGOFF
, r
);
2933 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_LOGON_HOURS", SAMR_FIELD_LOGON_HOURS
, r
);
2934 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_BAD_PWD_COUNT", SAMR_FIELD_BAD_PWD_COUNT
, r
);
2935 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_NUM_LOGONS", SAMR_FIELD_NUM_LOGONS
, r
);
2936 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_ALLOW_PWD_CHANGE", SAMR_FIELD_ALLOW_PWD_CHANGE
, r
);
2937 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_FORCE_PWD_CHANGE", SAMR_FIELD_FORCE_PWD_CHANGE
, r
);
2938 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_LAST_PWD_CHANGE", SAMR_FIELD_LAST_PWD_CHANGE
, r
);
2939 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_ACCT_EXPIRY", SAMR_FIELD_ACCT_EXPIRY
, r
);
2940 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_ACCT_FLAGS", SAMR_FIELD_ACCT_FLAGS
, r
);
2941 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_PARAMETERS", SAMR_FIELD_PARAMETERS
, r
);
2942 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_COUNTRY_CODE", SAMR_FIELD_COUNTRY_CODE
, r
);
2943 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_CODE_PAGE", SAMR_FIELD_CODE_PAGE
, r
);
2944 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_NT_PASSWORD_PRESENT", SAMR_FIELD_NT_PASSWORD_PRESENT
, r
);
2945 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_LM_PASSWORD_PRESENT", SAMR_FIELD_LM_PASSWORD_PRESENT
, r
);
2946 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_PRIVATE_DATA", SAMR_FIELD_PRIVATE_DATA
, r
);
2947 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_EXPIRED_FLAG", SAMR_FIELD_EXPIRED_FLAG
, r
);
2948 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_SEC_DESC", SAMR_FIELD_SEC_DESC
, r
);
2949 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_OWF_PWD", SAMR_FIELD_OWF_PWD
, r
);
2953 static enum ndr_err_code
ndr_push_samr_UserInfo21(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo21
*r
)
2955 if (ndr_flags
& NDR_SCALARS
) {
2956 NDR_CHECK(ndr_push_align(ndr
, 5));
2957 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_logon
));
2958 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_logoff
));
2959 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_password_change
));
2960 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->acct_expiry
));
2961 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->allow_password_change
));
2962 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->force_password_change
));
2963 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
2964 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
2965 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->home_directory
));
2966 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->home_drive
));
2967 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->logon_script
));
2968 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->profile_path
));
2969 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
2970 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->workstations
));
2971 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->comment
));
2972 NDR_CHECK(ndr_push_lsa_BinaryString(ndr
, NDR_SCALARS
, &r
->parameters
));
2973 NDR_CHECK(ndr_push_lsa_BinaryString(ndr
, NDR_SCALARS
, &r
->lm_owf_password
));
2974 NDR_CHECK(ndr_push_lsa_BinaryString(ndr
, NDR_SCALARS
, &r
->nt_owf_password
));
2975 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->unknown3
));
2976 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->buf_count
));
2977 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->buffer
));
2978 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->rid
));
2979 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->primary_gid
));
2980 NDR_CHECK(ndr_push_samr_AcctFlags(ndr
, NDR_SCALARS
, r
->acct_flags
));
2981 NDR_CHECK(ndr_push_samr_FieldsPresent(ndr
, NDR_SCALARS
, r
->fields_present
));
2982 NDR_CHECK(ndr_push_samr_LogonHours(ndr
, NDR_SCALARS
, &r
->logon_hours
));
2983 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->bad_password_count
));
2984 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->logon_count
));
2985 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->country_code
));
2986 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->code_page
));
2987 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->lm_password_set
));
2988 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->nt_password_set
));
2989 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->password_expired
));
2990 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->unknown4
));
2991 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2993 if (ndr_flags
& NDR_BUFFERS
) {
2994 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
2995 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
2996 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_directory
));
2997 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_drive
));
2998 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->logon_script
));
2999 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->profile_path
));
3000 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
3001 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->workstations
));
3002 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->comment
));
3003 NDR_CHECK(ndr_push_lsa_BinaryString(ndr
, NDR_BUFFERS
, &r
->parameters
));
3004 NDR_CHECK(ndr_push_lsa_BinaryString(ndr
, NDR_BUFFERS
, &r
->lm_owf_password
));
3005 NDR_CHECK(ndr_push_lsa_BinaryString(ndr
, NDR_BUFFERS
, &r
->nt_owf_password
));
3006 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->unknown3
));
3008 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->buf_count
));
3009 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->buffer
, r
->buf_count
));
3011 NDR_CHECK(ndr_push_samr_LogonHours(ndr
, NDR_BUFFERS
, &r
->logon_hours
));
3013 return NDR_ERR_SUCCESS
;
3016 static enum ndr_err_code
ndr_pull_samr_UserInfo21(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo21
*r
)
3018 uint32_t _ptr_buffer
;
3019 uint32_t size_buffer_1
= 0;
3020 TALLOC_CTX
*_mem_save_buffer_0
;
3021 if (ndr_flags
& NDR_SCALARS
) {
3022 NDR_CHECK(ndr_pull_align(ndr
, 5));
3023 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_logon
));
3024 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_logoff
));
3025 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_password_change
));
3026 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->acct_expiry
));
3027 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->allow_password_change
));
3028 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->force_password_change
));
3029 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
3030 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
3031 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->home_directory
));
3032 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->home_drive
));
3033 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->logon_script
));
3034 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->profile_path
));
3035 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
3036 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->workstations
));
3037 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->comment
));
3038 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr
, NDR_SCALARS
, &r
->parameters
));
3039 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr
, NDR_SCALARS
, &r
->lm_owf_password
));
3040 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr
, NDR_SCALARS
, &r
->nt_owf_password
));
3041 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->unknown3
));
3042 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->buf_count
));
3043 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_buffer
));
3045 NDR_PULL_ALLOC(ndr
, r
->buffer
);
3049 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->rid
));
3050 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->primary_gid
));
3051 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr
, NDR_SCALARS
, &r
->acct_flags
));
3052 NDR_CHECK(ndr_pull_samr_FieldsPresent(ndr
, NDR_SCALARS
, &r
->fields_present
));
3053 NDR_CHECK(ndr_pull_samr_LogonHours(ndr
, NDR_SCALARS
, &r
->logon_hours
));
3054 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->bad_password_count
));
3055 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->logon_count
));
3056 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->country_code
));
3057 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->code_page
));
3058 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->lm_password_set
));
3059 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->nt_password_set
));
3060 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->password_expired
));
3061 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->unknown4
));
3062 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3064 if (ndr_flags
& NDR_BUFFERS
) {
3065 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
3066 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
3067 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_directory
));
3068 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_drive
));
3069 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->logon_script
));
3070 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->profile_path
));
3071 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
3072 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->workstations
));
3073 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->comment
));
3074 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr
, NDR_BUFFERS
, &r
->parameters
));
3075 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr
, NDR_BUFFERS
, &r
->lm_owf_password
));
3076 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr
, NDR_BUFFERS
, &r
->nt_owf_password
));
3077 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->unknown3
));
3079 _mem_save_buffer_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3080 NDR_PULL_SET_MEM_CTX(ndr
, r
->buffer
, 0);
3081 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->buffer
));
3082 size_buffer_1
= ndr_get_array_size(ndr
, &r
->buffer
);
3083 NDR_PULL_ALLOC_N(ndr
, r
->buffer
, size_buffer_1
);
3084 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->buffer
, size_buffer_1
));
3085 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_buffer_0
, 0);
3087 NDR_CHECK(ndr_pull_samr_LogonHours(ndr
, NDR_BUFFERS
, &r
->logon_hours
));
3089 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->buffer
, r
->buf_count
));
3092 return NDR_ERR_SUCCESS
;
3095 _PUBLIC_
void ndr_print_samr_UserInfo21(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo21
*r
)
3097 ndr_print_struct(ndr
, name
, "samr_UserInfo21");
3099 ndr_print_NTTIME(ndr
, "last_logon", r
->last_logon
);
3100 ndr_print_NTTIME(ndr
, "last_logoff", r
->last_logoff
);
3101 ndr_print_NTTIME(ndr
, "last_password_change", r
->last_password_change
);
3102 ndr_print_NTTIME(ndr
, "acct_expiry", r
->acct_expiry
);
3103 ndr_print_NTTIME(ndr
, "allow_password_change", r
->allow_password_change
);
3104 ndr_print_NTTIME(ndr
, "force_password_change", r
->force_password_change
);
3105 ndr_print_lsa_String(ndr
, "account_name", &r
->account_name
);
3106 ndr_print_lsa_String(ndr
, "full_name", &r
->full_name
);
3107 ndr_print_lsa_String(ndr
, "home_directory", &r
->home_directory
);
3108 ndr_print_lsa_String(ndr
, "home_drive", &r
->home_drive
);
3109 ndr_print_lsa_String(ndr
, "logon_script", &r
->logon_script
);
3110 ndr_print_lsa_String(ndr
, "profile_path", &r
->profile_path
);
3111 ndr_print_lsa_String(ndr
, "description", &r
->description
);
3112 ndr_print_lsa_String(ndr
, "workstations", &r
->workstations
);
3113 ndr_print_lsa_String(ndr
, "comment", &r
->comment
);
3114 ndr_print_lsa_BinaryString(ndr
, "parameters", &r
->parameters
);
3115 ndr_print_lsa_BinaryString(ndr
, "lm_owf_password", &r
->lm_owf_password
);
3116 ndr_print_lsa_BinaryString(ndr
, "nt_owf_password", &r
->nt_owf_password
);
3117 ndr_print_lsa_String(ndr
, "unknown3", &r
->unknown3
);
3118 ndr_print_uint32(ndr
, "buf_count", r
->buf_count
);
3119 ndr_print_ptr(ndr
, "buffer", r
->buffer
);
3122 ndr_print_array_uint8(ndr
, "buffer", r
->buffer
, r
->buf_count
);
3125 ndr_print_uint32(ndr
, "rid", r
->rid
);
3126 ndr_print_uint32(ndr
, "primary_gid", r
->primary_gid
);
3127 ndr_print_samr_AcctFlags(ndr
, "acct_flags", r
->acct_flags
);
3128 ndr_print_samr_FieldsPresent(ndr
, "fields_present", r
->fields_present
);
3129 ndr_print_samr_LogonHours(ndr
, "logon_hours", &r
->logon_hours
);
3130 ndr_print_uint16(ndr
, "bad_password_count", r
->bad_password_count
);
3131 ndr_print_uint16(ndr
, "logon_count", r
->logon_count
);
3132 ndr_print_uint16(ndr
, "country_code", r
->country_code
);
3133 ndr_print_uint16(ndr
, "code_page", r
->code_page
);
3134 ndr_print_uint8(ndr
, "lm_password_set", r
->lm_password_set
);
3135 ndr_print_uint8(ndr
, "nt_password_set", r
->nt_password_set
);
3136 ndr_print_uint8(ndr
, "password_expired", r
->password_expired
);
3137 ndr_print_uint8(ndr
, "unknown4", r
->unknown4
);
3141 _PUBLIC_
enum ndr_err_code
ndr_push_samr_CryptPassword(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_CryptPassword
*r
)
3144 uint32_t _flags_save_STRUCT
= ndr
->flags
;
3145 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
3146 if (ndr_flags
& NDR_SCALARS
) {
3147 NDR_CHECK(ndr_push_align(ndr
, 1));
3148 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->data
, 516));
3149 NDR_CHECK(ndr_push_trailer_align(ndr
, 1));
3151 if (ndr_flags
& NDR_BUFFERS
) {
3153 ndr
->flags
= _flags_save_STRUCT
;
3155 return NDR_ERR_SUCCESS
;
3158 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_CryptPassword(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_CryptPassword
*r
)
3160 uint32_t size_data_0
= 0;
3162 uint32_t _flags_save_STRUCT
= ndr
->flags
;
3163 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
3164 if (ndr_flags
& NDR_SCALARS
) {
3165 NDR_CHECK(ndr_pull_align(ndr
, 1));
3167 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->data
, size_data_0
));
3168 NDR_CHECK(ndr_pull_trailer_align(ndr
, 1));
3170 if (ndr_flags
& NDR_BUFFERS
) {
3172 ndr
->flags
= _flags_save_STRUCT
;
3174 return NDR_ERR_SUCCESS
;
3177 _PUBLIC_
void ndr_print_samr_CryptPassword(struct ndr_print
*ndr
, const char *name
, const struct samr_CryptPassword
*r
)
3179 ndr_print_struct(ndr
, name
, "samr_CryptPassword");
3181 uint32_t _flags_save_STRUCT
= ndr
->flags
;
3182 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
3184 ndr_print_array_uint8(ndr
, "data", r
->data
, 516);
3186 ndr
->flags
= _flags_save_STRUCT
;
3190 static enum ndr_err_code
ndr_push_samr_UserInfo23(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo23
*r
)
3192 if (ndr_flags
& NDR_SCALARS
) {
3193 NDR_CHECK(ndr_push_align(ndr
, 5));
3194 NDR_CHECK(ndr_push_samr_UserInfo21(ndr
, NDR_SCALARS
, &r
->info
));
3195 NDR_CHECK(ndr_push_samr_CryptPassword(ndr
, NDR_SCALARS
, &r
->password
));
3196 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
3198 if (ndr_flags
& NDR_BUFFERS
) {
3199 NDR_CHECK(ndr_push_samr_UserInfo21(ndr
, NDR_BUFFERS
, &r
->info
));
3201 return NDR_ERR_SUCCESS
;
3204 static enum ndr_err_code
ndr_pull_samr_UserInfo23(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo23
*r
)
3206 if (ndr_flags
& NDR_SCALARS
) {
3207 NDR_CHECK(ndr_pull_align(ndr
, 5));
3208 NDR_CHECK(ndr_pull_samr_UserInfo21(ndr
, NDR_SCALARS
, &r
->info
));
3209 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr
, NDR_SCALARS
, &r
->password
));
3210 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3212 if (ndr_flags
& NDR_BUFFERS
) {
3213 NDR_CHECK(ndr_pull_samr_UserInfo21(ndr
, NDR_BUFFERS
, &r
->info
));
3215 return NDR_ERR_SUCCESS
;
3218 _PUBLIC_
void ndr_print_samr_UserInfo23(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo23
*r
)
3220 ndr_print_struct(ndr
, name
, "samr_UserInfo23");
3222 ndr_print_samr_UserInfo21(ndr
, "info", &r
->info
);
3223 ndr_print_samr_CryptPassword(ndr
, "password", &r
->password
);
3227 static enum ndr_err_code
ndr_push_samr_UserInfo24(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo24
*r
)
3229 if (ndr_flags
& NDR_SCALARS
) {
3230 NDR_CHECK(ndr_push_align(ndr
, 1));
3231 NDR_CHECK(ndr_push_samr_CryptPassword(ndr
, NDR_SCALARS
, &r
->password
));
3232 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->password_expired
));
3233 NDR_CHECK(ndr_push_trailer_align(ndr
, 1));
3235 if (ndr_flags
& NDR_BUFFERS
) {
3237 return NDR_ERR_SUCCESS
;
3240 static enum ndr_err_code
ndr_pull_samr_UserInfo24(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo24
*r
)
3242 if (ndr_flags
& NDR_SCALARS
) {
3243 NDR_CHECK(ndr_pull_align(ndr
, 1));
3244 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr
, NDR_SCALARS
, &r
->password
));
3245 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->password_expired
));
3246 NDR_CHECK(ndr_pull_trailer_align(ndr
, 1));
3248 if (ndr_flags
& NDR_BUFFERS
) {
3250 return NDR_ERR_SUCCESS
;
3253 _PUBLIC_
void ndr_print_samr_UserInfo24(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo24
*r
)
3255 ndr_print_struct(ndr
, name
, "samr_UserInfo24");
3257 ndr_print_samr_CryptPassword(ndr
, "password", &r
->password
);
3258 ndr_print_uint8(ndr
, "password_expired", r
->password_expired
);
3262 static enum ndr_err_code
ndr_push_samr_CryptPasswordEx(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_CryptPasswordEx
*r
)
3265 uint32_t _flags_save_STRUCT
= ndr
->flags
;
3266 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
3267 if (ndr_flags
& NDR_SCALARS
) {
3268 NDR_CHECK(ndr_push_align(ndr
, 1));
3269 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->data
, 532));
3270 NDR_CHECK(ndr_push_trailer_align(ndr
, 1));
3272 if (ndr_flags
& NDR_BUFFERS
) {
3274 ndr
->flags
= _flags_save_STRUCT
;
3276 return NDR_ERR_SUCCESS
;
3279 static enum ndr_err_code
ndr_pull_samr_CryptPasswordEx(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_CryptPasswordEx
*r
)
3281 uint32_t size_data_0
= 0;
3283 uint32_t _flags_save_STRUCT
= ndr
->flags
;
3284 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
3285 if (ndr_flags
& NDR_SCALARS
) {
3286 NDR_CHECK(ndr_pull_align(ndr
, 1));
3288 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->data
, size_data_0
));
3289 NDR_CHECK(ndr_pull_trailer_align(ndr
, 1));
3291 if (ndr_flags
& NDR_BUFFERS
) {
3293 ndr
->flags
= _flags_save_STRUCT
;
3295 return NDR_ERR_SUCCESS
;
3298 _PUBLIC_
void ndr_print_samr_CryptPasswordEx(struct ndr_print
*ndr
, const char *name
, const struct samr_CryptPasswordEx
*r
)
3300 ndr_print_struct(ndr
, name
, "samr_CryptPasswordEx");
3302 uint32_t _flags_save_STRUCT
= ndr
->flags
;
3303 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
3305 ndr_print_array_uint8(ndr
, "data", r
->data
, 532);
3307 ndr
->flags
= _flags_save_STRUCT
;
3311 static enum ndr_err_code
ndr_push_samr_UserInfo25(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo25
*r
)
3313 if (ndr_flags
& NDR_SCALARS
) {
3314 NDR_CHECK(ndr_push_align(ndr
, 5));
3315 NDR_CHECK(ndr_push_samr_UserInfo21(ndr
, NDR_SCALARS
, &r
->info
));
3316 NDR_CHECK(ndr_push_samr_CryptPasswordEx(ndr
, NDR_SCALARS
, &r
->password
));
3317 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
3319 if (ndr_flags
& NDR_BUFFERS
) {
3320 NDR_CHECK(ndr_push_samr_UserInfo21(ndr
, NDR_BUFFERS
, &r
->info
));
3322 return NDR_ERR_SUCCESS
;
3325 static enum ndr_err_code
ndr_pull_samr_UserInfo25(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo25
*r
)
3327 if (ndr_flags
& NDR_SCALARS
) {
3328 NDR_CHECK(ndr_pull_align(ndr
, 5));
3329 NDR_CHECK(ndr_pull_samr_UserInfo21(ndr
, NDR_SCALARS
, &r
->info
));
3330 NDR_CHECK(ndr_pull_samr_CryptPasswordEx(ndr
, NDR_SCALARS
, &r
->password
));
3331 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3333 if (ndr_flags
& NDR_BUFFERS
) {
3334 NDR_CHECK(ndr_pull_samr_UserInfo21(ndr
, NDR_BUFFERS
, &r
->info
));
3336 return NDR_ERR_SUCCESS
;
3339 _PUBLIC_
void ndr_print_samr_UserInfo25(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo25
*r
)
3341 ndr_print_struct(ndr
, name
, "samr_UserInfo25");
3343 ndr_print_samr_UserInfo21(ndr
, "info", &r
->info
);
3344 ndr_print_samr_CryptPasswordEx(ndr
, "password", &r
->password
);
3348 static enum ndr_err_code
ndr_push_samr_UserInfo26(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo26
*r
)
3350 if (ndr_flags
& NDR_SCALARS
) {
3351 NDR_CHECK(ndr_push_align(ndr
, 1));
3352 NDR_CHECK(ndr_push_samr_CryptPasswordEx(ndr
, NDR_SCALARS
, &r
->password
));
3353 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->password_expired
));
3354 NDR_CHECK(ndr_push_trailer_align(ndr
, 1));
3356 if (ndr_flags
& NDR_BUFFERS
) {
3358 return NDR_ERR_SUCCESS
;
3361 static enum ndr_err_code
ndr_pull_samr_UserInfo26(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo26
*r
)
3363 if (ndr_flags
& NDR_SCALARS
) {
3364 NDR_CHECK(ndr_pull_align(ndr
, 1));
3365 NDR_CHECK(ndr_pull_samr_CryptPasswordEx(ndr
, NDR_SCALARS
, &r
->password
));
3366 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->password_expired
));
3367 NDR_CHECK(ndr_pull_trailer_align(ndr
, 1));
3369 if (ndr_flags
& NDR_BUFFERS
) {
3371 return NDR_ERR_SUCCESS
;
3374 _PUBLIC_
void ndr_print_samr_UserInfo26(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo26
*r
)
3376 ndr_print_struct(ndr
, name
, "samr_UserInfo26");
3378 ndr_print_samr_CryptPasswordEx(ndr
, "password", &r
->password
);
3379 ndr_print_uint8(ndr
, "password_expired", r
->password_expired
);
3383 static enum ndr_err_code
ndr_push_samr_UserInfo(struct ndr_push
*ndr
, int ndr_flags
, const union samr_UserInfo
*r
)
3385 if (ndr_flags
& NDR_SCALARS
) {
3386 int level
= ndr_push_get_switch_value(ndr
, r
);
3387 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, level
));
3388 NDR_CHECK(ndr_push_union_align(ndr
, 5));
3391 NDR_CHECK(ndr_push_samr_UserInfo1(ndr
, NDR_SCALARS
, &r
->info1
));
3395 NDR_CHECK(ndr_push_samr_UserInfo2(ndr
, NDR_SCALARS
, &r
->info2
));
3399 NDR_CHECK(ndr_push_samr_UserInfo3(ndr
, NDR_SCALARS
, &r
->info3
));
3403 NDR_CHECK(ndr_push_samr_UserInfo4(ndr
, NDR_SCALARS
, &r
->info4
));
3407 NDR_CHECK(ndr_push_samr_UserInfo5(ndr
, NDR_SCALARS
, &r
->info5
));
3411 NDR_CHECK(ndr_push_samr_UserInfo6(ndr
, NDR_SCALARS
, &r
->info6
));
3415 NDR_CHECK(ndr_push_samr_UserInfo7(ndr
, NDR_SCALARS
, &r
->info7
));
3419 NDR_CHECK(ndr_push_samr_UserInfo8(ndr
, NDR_SCALARS
, &r
->info8
));
3423 NDR_CHECK(ndr_push_samr_UserInfo9(ndr
, NDR_SCALARS
, &r
->info9
));
3427 NDR_CHECK(ndr_push_samr_UserInfo10(ndr
, NDR_SCALARS
, &r
->info10
));
3431 NDR_CHECK(ndr_push_samr_UserInfo11(ndr
, NDR_SCALARS
, &r
->info11
));
3435 NDR_CHECK(ndr_push_samr_UserInfo12(ndr
, NDR_SCALARS
, &r
->info12
));
3439 NDR_CHECK(ndr_push_samr_UserInfo13(ndr
, NDR_SCALARS
, &r
->info13
));
3443 NDR_CHECK(ndr_push_samr_UserInfo14(ndr
, NDR_SCALARS
, &r
->info14
));
3447 NDR_CHECK(ndr_push_samr_UserInfo16(ndr
, NDR_SCALARS
, &r
->info16
));
3451 NDR_CHECK(ndr_push_samr_UserInfo17(ndr
, NDR_SCALARS
, &r
->info17
));
3455 NDR_CHECK(ndr_push_samr_UserInfo18(ndr
, NDR_SCALARS
, &r
->info18
));
3459 NDR_CHECK(ndr_push_samr_UserInfo20(ndr
, NDR_SCALARS
, &r
->info20
));
3463 NDR_CHECK(ndr_push_samr_UserInfo21(ndr
, NDR_SCALARS
, &r
->info21
));
3467 NDR_CHECK(ndr_push_samr_UserInfo23(ndr
, NDR_SCALARS
, &r
->info23
));
3471 NDR_CHECK(ndr_push_samr_UserInfo24(ndr
, NDR_SCALARS
, &r
->info24
));
3475 NDR_CHECK(ndr_push_samr_UserInfo25(ndr
, NDR_SCALARS
, &r
->info25
));
3479 NDR_CHECK(ndr_push_samr_UserInfo26(ndr
, NDR_SCALARS
, &r
->info26
));
3483 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3486 if (ndr_flags
& NDR_BUFFERS
) {
3487 int level
= ndr_push_get_switch_value(ndr
, r
);
3490 NDR_CHECK(ndr_push_samr_UserInfo1(ndr
, NDR_BUFFERS
, &r
->info1
));
3494 NDR_CHECK(ndr_push_samr_UserInfo2(ndr
, NDR_BUFFERS
, &r
->info2
));
3498 NDR_CHECK(ndr_push_samr_UserInfo3(ndr
, NDR_BUFFERS
, &r
->info3
));
3502 NDR_CHECK(ndr_push_samr_UserInfo4(ndr
, NDR_BUFFERS
, &r
->info4
));
3506 NDR_CHECK(ndr_push_samr_UserInfo5(ndr
, NDR_BUFFERS
, &r
->info5
));
3510 NDR_CHECK(ndr_push_samr_UserInfo6(ndr
, NDR_BUFFERS
, &r
->info6
));
3514 NDR_CHECK(ndr_push_samr_UserInfo7(ndr
, NDR_BUFFERS
, &r
->info7
));
3518 NDR_CHECK(ndr_push_samr_UserInfo8(ndr
, NDR_BUFFERS
, &r
->info8
));
3525 NDR_CHECK(ndr_push_samr_UserInfo10(ndr
, NDR_BUFFERS
, &r
->info10
));
3529 NDR_CHECK(ndr_push_samr_UserInfo11(ndr
, NDR_BUFFERS
, &r
->info11
));
3533 NDR_CHECK(ndr_push_samr_UserInfo12(ndr
, NDR_BUFFERS
, &r
->info12
));
3537 NDR_CHECK(ndr_push_samr_UserInfo13(ndr
, NDR_BUFFERS
, &r
->info13
));
3541 NDR_CHECK(ndr_push_samr_UserInfo14(ndr
, NDR_BUFFERS
, &r
->info14
));
3554 NDR_CHECK(ndr_push_samr_UserInfo20(ndr
, NDR_BUFFERS
, &r
->info20
));
3558 NDR_CHECK(ndr_push_samr_UserInfo21(ndr
, NDR_BUFFERS
, &r
->info21
));
3562 NDR_CHECK(ndr_push_samr_UserInfo23(ndr
, NDR_BUFFERS
, &r
->info23
));
3569 NDR_CHECK(ndr_push_samr_UserInfo25(ndr
, NDR_BUFFERS
, &r
->info25
));
3576 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3579 return NDR_ERR_SUCCESS
;
3582 static enum ndr_err_code
ndr_pull_samr_UserInfo(struct ndr_pull
*ndr
, int ndr_flags
, union samr_UserInfo
*r
)
3586 level
= ndr_pull_get_switch_value(ndr
, r
);
3587 if (ndr_flags
& NDR_SCALARS
) {
3588 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &_level
));
3589 if (_level
!= level
) {
3590 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
3592 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
3595 NDR_CHECK(ndr_pull_samr_UserInfo1(ndr
, NDR_SCALARS
, &r
->info1
));
3599 NDR_CHECK(ndr_pull_samr_UserInfo2(ndr
, NDR_SCALARS
, &r
->info2
));
3603 NDR_CHECK(ndr_pull_samr_UserInfo3(ndr
, NDR_SCALARS
, &r
->info3
));
3607 NDR_CHECK(ndr_pull_samr_UserInfo4(ndr
, NDR_SCALARS
, &r
->info4
));
3611 NDR_CHECK(ndr_pull_samr_UserInfo5(ndr
, NDR_SCALARS
, &r
->info5
));
3615 NDR_CHECK(ndr_pull_samr_UserInfo6(ndr
, NDR_SCALARS
, &r
->info6
));
3619 NDR_CHECK(ndr_pull_samr_UserInfo7(ndr
, NDR_SCALARS
, &r
->info7
));
3623 NDR_CHECK(ndr_pull_samr_UserInfo8(ndr
, NDR_SCALARS
, &r
->info8
));
3627 NDR_CHECK(ndr_pull_samr_UserInfo9(ndr
, NDR_SCALARS
, &r
->info9
));
3631 NDR_CHECK(ndr_pull_samr_UserInfo10(ndr
, NDR_SCALARS
, &r
->info10
));
3635 NDR_CHECK(ndr_pull_samr_UserInfo11(ndr
, NDR_SCALARS
, &r
->info11
));
3639 NDR_CHECK(ndr_pull_samr_UserInfo12(ndr
, NDR_SCALARS
, &r
->info12
));
3643 NDR_CHECK(ndr_pull_samr_UserInfo13(ndr
, NDR_SCALARS
, &r
->info13
));
3647 NDR_CHECK(ndr_pull_samr_UserInfo14(ndr
, NDR_SCALARS
, &r
->info14
));
3651 NDR_CHECK(ndr_pull_samr_UserInfo16(ndr
, NDR_SCALARS
, &r
->info16
));
3655 NDR_CHECK(ndr_pull_samr_UserInfo17(ndr
, NDR_SCALARS
, &r
->info17
));
3659 NDR_CHECK(ndr_pull_samr_UserInfo18(ndr
, NDR_SCALARS
, &r
->info18
));
3663 NDR_CHECK(ndr_pull_samr_UserInfo20(ndr
, NDR_SCALARS
, &r
->info20
));
3667 NDR_CHECK(ndr_pull_samr_UserInfo21(ndr
, NDR_SCALARS
, &r
->info21
));
3671 NDR_CHECK(ndr_pull_samr_UserInfo23(ndr
, NDR_SCALARS
, &r
->info23
));
3675 NDR_CHECK(ndr_pull_samr_UserInfo24(ndr
, NDR_SCALARS
, &r
->info24
));
3679 NDR_CHECK(ndr_pull_samr_UserInfo25(ndr
, NDR_SCALARS
, &r
->info25
));
3683 NDR_CHECK(ndr_pull_samr_UserInfo26(ndr
, NDR_SCALARS
, &r
->info26
));
3687 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3690 if (ndr_flags
& NDR_BUFFERS
) {
3693 NDR_CHECK(ndr_pull_samr_UserInfo1(ndr
, NDR_BUFFERS
, &r
->info1
));
3697 NDR_CHECK(ndr_pull_samr_UserInfo2(ndr
, NDR_BUFFERS
, &r
->info2
));
3701 NDR_CHECK(ndr_pull_samr_UserInfo3(ndr
, NDR_BUFFERS
, &r
->info3
));
3705 NDR_CHECK(ndr_pull_samr_UserInfo4(ndr
, NDR_BUFFERS
, &r
->info4
));
3709 NDR_CHECK(ndr_pull_samr_UserInfo5(ndr
, NDR_BUFFERS
, &r
->info5
));
3713 NDR_CHECK(ndr_pull_samr_UserInfo6(ndr
, NDR_BUFFERS
, &r
->info6
));
3717 NDR_CHECK(ndr_pull_samr_UserInfo7(ndr
, NDR_BUFFERS
, &r
->info7
));
3721 NDR_CHECK(ndr_pull_samr_UserInfo8(ndr
, NDR_BUFFERS
, &r
->info8
));
3728 NDR_CHECK(ndr_pull_samr_UserInfo10(ndr
, NDR_BUFFERS
, &r
->info10
));
3732 NDR_CHECK(ndr_pull_samr_UserInfo11(ndr
, NDR_BUFFERS
, &r
->info11
));
3736 NDR_CHECK(ndr_pull_samr_UserInfo12(ndr
, NDR_BUFFERS
, &r
->info12
));
3740 NDR_CHECK(ndr_pull_samr_UserInfo13(ndr
, NDR_BUFFERS
, &r
->info13
));
3744 NDR_CHECK(ndr_pull_samr_UserInfo14(ndr
, NDR_BUFFERS
, &r
->info14
));
3757 NDR_CHECK(ndr_pull_samr_UserInfo20(ndr
, NDR_BUFFERS
, &r
->info20
));
3761 NDR_CHECK(ndr_pull_samr_UserInfo21(ndr
, NDR_BUFFERS
, &r
->info21
));
3765 NDR_CHECK(ndr_pull_samr_UserInfo23(ndr
, NDR_BUFFERS
, &r
->info23
));
3772 NDR_CHECK(ndr_pull_samr_UserInfo25(ndr
, NDR_BUFFERS
, &r
->info25
));
3779 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3782 return NDR_ERR_SUCCESS
;
3785 _PUBLIC_
void ndr_print_samr_UserInfo(struct ndr_print
*ndr
, const char *name
, const union samr_UserInfo
*r
)
3788 level
= ndr_print_get_switch_value(ndr
, r
);
3789 ndr_print_union(ndr
, name
, level
, "samr_UserInfo");
3792 ndr_print_samr_UserInfo1(ndr
, "info1", &r
->info1
);
3796 ndr_print_samr_UserInfo2(ndr
, "info2", &r
->info2
);
3800 ndr_print_samr_UserInfo3(ndr
, "info3", &r
->info3
);
3804 ndr_print_samr_UserInfo4(ndr
, "info4", &r
->info4
);
3808 ndr_print_samr_UserInfo5(ndr
, "info5", &r
->info5
);
3812 ndr_print_samr_UserInfo6(ndr
, "info6", &r
->info6
);
3816 ndr_print_samr_UserInfo7(ndr
, "info7", &r
->info7
);
3820 ndr_print_samr_UserInfo8(ndr
, "info8", &r
->info8
);
3824 ndr_print_samr_UserInfo9(ndr
, "info9", &r
->info9
);
3828 ndr_print_samr_UserInfo10(ndr
, "info10", &r
->info10
);
3832 ndr_print_samr_UserInfo11(ndr
, "info11", &r
->info11
);
3836 ndr_print_samr_UserInfo12(ndr
, "info12", &r
->info12
);
3840 ndr_print_samr_UserInfo13(ndr
, "info13", &r
->info13
);
3844 ndr_print_samr_UserInfo14(ndr
, "info14", &r
->info14
);
3848 ndr_print_samr_UserInfo16(ndr
, "info16", &r
->info16
);
3852 ndr_print_samr_UserInfo17(ndr
, "info17", &r
->info17
);
3856 ndr_print_samr_UserInfo18(ndr
, "info18", &r
->info18
);
3860 ndr_print_samr_UserInfo20(ndr
, "info20", &r
->info20
);
3864 ndr_print_samr_UserInfo21(ndr
, "info21", &r
->info21
);
3868 ndr_print_samr_UserInfo23(ndr
, "info23", &r
->info23
);
3872 ndr_print_samr_UserInfo24(ndr
, "info24", &r
->info24
);
3876 ndr_print_samr_UserInfo25(ndr
, "info25", &r
->info25
);
3880 ndr_print_samr_UserInfo26(ndr
, "info26", &r
->info26
);
3884 ndr_print_bad_level(ndr
, name
, level
);
3888 _PUBLIC_
enum ndr_err_code
ndr_push_samr_RidWithAttribute(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_RidWithAttribute
*r
)
3890 if (ndr_flags
& NDR_SCALARS
) {
3891 NDR_CHECK(ndr_push_align(ndr
, 4));
3892 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->rid
));
3893 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr
, NDR_SCALARS
, r
->attributes
));
3894 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
3896 if (ndr_flags
& NDR_BUFFERS
) {
3898 return NDR_ERR_SUCCESS
;
3901 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_RidWithAttribute(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_RidWithAttribute
*r
)
3903 if (ndr_flags
& NDR_SCALARS
) {
3904 NDR_CHECK(ndr_pull_align(ndr
, 4));
3905 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->rid
));
3906 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr
, NDR_SCALARS
, &r
->attributes
));
3907 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
3909 if (ndr_flags
& NDR_BUFFERS
) {
3911 return NDR_ERR_SUCCESS
;
3914 _PUBLIC_
void ndr_print_samr_RidWithAttribute(struct ndr_print
*ndr
, const char *name
, const struct samr_RidWithAttribute
*r
)
3916 ndr_print_struct(ndr
, name
, "samr_RidWithAttribute");
3918 ndr_print_uint32(ndr
, "rid", r
->rid
);
3919 ndr_print_samr_GroupAttrs(ndr
, "attributes", r
->attributes
);
3923 _PUBLIC_
enum ndr_err_code
ndr_push_samr_RidWithAttributeArray(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_RidWithAttributeArray
*r
)
3925 uint32_t cntr_rids_1
;
3926 if (ndr_flags
& NDR_SCALARS
) {
3927 NDR_CHECK(ndr_push_align(ndr
, 5));
3928 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
3929 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->rids
));
3930 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
3932 if (ndr_flags
& NDR_BUFFERS
) {
3934 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
3935 for (cntr_rids_1
= 0; cntr_rids_1
< r
->count
; cntr_rids_1
++) {
3936 NDR_CHECK(ndr_push_samr_RidWithAttribute(ndr
, NDR_SCALARS
, &r
->rids
[cntr_rids_1
]));
3940 return NDR_ERR_SUCCESS
;
3943 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_RidWithAttributeArray(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_RidWithAttributeArray
*r
)
3946 uint32_t size_rids_1
= 0;
3947 uint32_t cntr_rids_1
;
3948 TALLOC_CTX
*_mem_save_rids_0
;
3949 TALLOC_CTX
*_mem_save_rids_1
;
3950 if (ndr_flags
& NDR_SCALARS
) {
3951 NDR_CHECK(ndr_pull_align(ndr
, 5));
3952 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
3953 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_rids
));
3955 NDR_PULL_ALLOC(ndr
, r
->rids
);
3959 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3961 if (ndr_flags
& NDR_BUFFERS
) {
3963 _mem_save_rids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3964 NDR_PULL_SET_MEM_CTX(ndr
, r
->rids
, 0);
3965 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->rids
));
3966 size_rids_1
= ndr_get_array_size(ndr
, &r
->rids
);
3967 NDR_PULL_ALLOC_N(ndr
, r
->rids
, size_rids_1
);
3968 _mem_save_rids_1
= NDR_PULL_GET_MEM_CTX(ndr
);
3969 NDR_PULL_SET_MEM_CTX(ndr
, r
->rids
, 0);
3970 for (cntr_rids_1
= 0; cntr_rids_1
< size_rids_1
; cntr_rids_1
++) {
3971 NDR_CHECK(ndr_pull_samr_RidWithAttribute(ndr
, NDR_SCALARS
, &r
->rids
[cntr_rids_1
]));
3973 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rids_1
, 0);
3974 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rids_0
, 0);
3977 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->rids
, r
->count
));
3980 return NDR_ERR_SUCCESS
;
3983 _PUBLIC_
void ndr_print_samr_RidWithAttributeArray(struct ndr_print
*ndr
, const char *name
, const struct samr_RidWithAttributeArray
*r
)
3985 uint32_t cntr_rids_1
;
3986 ndr_print_struct(ndr
, name
, "samr_RidWithAttributeArray");
3988 ndr_print_uint32(ndr
, "count", r
->count
);
3989 ndr_print_ptr(ndr
, "rids", r
->rids
);
3992 ndr
->print(ndr
, "%s: ARRAY(%d)", "rids", (int)r
->count
);
3994 for (cntr_rids_1
=0;cntr_rids_1
<r
->count
;cntr_rids_1
++) {
3996 if (asprintf(&idx_1
, "[%d]", cntr_rids_1
) != -1) {
3997 ndr_print_samr_RidWithAttribute(ndr
, "rids", &r
->rids
[cntr_rids_1
]);
4007 static enum ndr_err_code
ndr_push_samr_DispEntryGeneral(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DispEntryGeneral
*r
)
4009 if (ndr_flags
& NDR_SCALARS
) {
4010 NDR_CHECK(ndr_push_align(ndr
, 5));
4011 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->idx
));
4012 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->rid
));
4013 NDR_CHECK(ndr_push_samr_AcctFlags(ndr
, NDR_SCALARS
, r
->acct_flags
));
4014 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
4015 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
4016 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
4017 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
4019 if (ndr_flags
& NDR_BUFFERS
) {
4020 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
4021 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
4022 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
4024 return NDR_ERR_SUCCESS
;
4027 static enum ndr_err_code
ndr_pull_samr_DispEntryGeneral(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DispEntryGeneral
*r
)
4029 if (ndr_flags
& NDR_SCALARS
) {
4030 NDR_CHECK(ndr_pull_align(ndr
, 5));
4031 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->idx
));
4032 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->rid
));
4033 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr
, NDR_SCALARS
, &r
->acct_flags
));
4034 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
4035 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
4036 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
4037 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
4039 if (ndr_flags
& NDR_BUFFERS
) {
4040 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
4041 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
4042 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
4044 return NDR_ERR_SUCCESS
;
4047 _PUBLIC_
void ndr_print_samr_DispEntryGeneral(struct ndr_print
*ndr
, const char *name
, const struct samr_DispEntryGeneral
*r
)
4049 ndr_print_struct(ndr
, name
, "samr_DispEntryGeneral");
4051 ndr_print_uint32(ndr
, "idx", r
->idx
);
4052 ndr_print_uint32(ndr
, "rid", r
->rid
);
4053 ndr_print_samr_AcctFlags(ndr
, "acct_flags", r
->acct_flags
);
4054 ndr_print_lsa_String(ndr
, "account_name", &r
->account_name
);
4055 ndr_print_lsa_String(ndr
, "description", &r
->description
);
4056 ndr_print_lsa_String(ndr
, "full_name", &r
->full_name
);
4060 static enum ndr_err_code
ndr_push_samr_DispInfoGeneral(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DispInfoGeneral
*r
)
4062 uint32_t cntr_entries_1
;
4063 if (ndr_flags
& NDR_SCALARS
) {
4064 NDR_CHECK(ndr_push_align(ndr
, 5));
4065 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
4066 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->entries
));
4067 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
4069 if (ndr_flags
& NDR_BUFFERS
) {
4071 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
4072 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
4073 NDR_CHECK(ndr_push_samr_DispEntryGeneral(ndr
, NDR_SCALARS
, &r
->entries
[cntr_entries_1
]));
4075 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
4076 NDR_CHECK(ndr_push_samr_DispEntryGeneral(ndr
, NDR_BUFFERS
, &r
->entries
[cntr_entries_1
]));
4080 return NDR_ERR_SUCCESS
;
4083 static enum ndr_err_code
ndr_pull_samr_DispInfoGeneral(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DispInfoGeneral
*r
)
4085 uint32_t _ptr_entries
;
4086 uint32_t size_entries_1
= 0;
4087 uint32_t cntr_entries_1
;
4088 TALLOC_CTX
*_mem_save_entries_0
;
4089 TALLOC_CTX
*_mem_save_entries_1
;
4090 if (ndr_flags
& NDR_SCALARS
) {
4091 NDR_CHECK(ndr_pull_align(ndr
, 5));
4092 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
4093 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_entries
));
4095 NDR_PULL_ALLOC(ndr
, r
->entries
);
4099 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
4101 if (ndr_flags
& NDR_BUFFERS
) {
4103 _mem_save_entries_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4104 NDR_PULL_SET_MEM_CTX(ndr
, r
->entries
, 0);
4105 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->entries
));
4106 size_entries_1
= ndr_get_array_size(ndr
, &r
->entries
);
4107 NDR_PULL_ALLOC_N(ndr
, r
->entries
, size_entries_1
);
4108 _mem_save_entries_1
= NDR_PULL_GET_MEM_CTX(ndr
);
4109 NDR_PULL_SET_MEM_CTX(ndr
, r
->entries
, 0);
4110 for (cntr_entries_1
= 0; cntr_entries_1
< size_entries_1
; cntr_entries_1
++) {
4111 NDR_CHECK(ndr_pull_samr_DispEntryGeneral(ndr
, NDR_SCALARS
, &r
->entries
[cntr_entries_1
]));
4113 for (cntr_entries_1
= 0; cntr_entries_1
< size_entries_1
; cntr_entries_1
++) {
4114 NDR_CHECK(ndr_pull_samr_DispEntryGeneral(ndr
, NDR_BUFFERS
, &r
->entries
[cntr_entries_1
]));
4116 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_entries_1
, 0);
4117 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_entries_0
, 0);
4120 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->entries
, r
->count
));
4123 return NDR_ERR_SUCCESS
;
4126 _PUBLIC_
void ndr_print_samr_DispInfoGeneral(struct ndr_print
*ndr
, const char *name
, const struct samr_DispInfoGeneral
*r
)
4128 uint32_t cntr_entries_1
;
4129 ndr_print_struct(ndr
, name
, "samr_DispInfoGeneral");
4131 ndr_print_uint32(ndr
, "count", r
->count
);
4132 ndr_print_ptr(ndr
, "entries", r
->entries
);
4135 ndr
->print(ndr
, "%s: ARRAY(%d)", "entries", (int)r
->count
);
4137 for (cntr_entries_1
=0;cntr_entries_1
<r
->count
;cntr_entries_1
++) {
4139 if (asprintf(&idx_1
, "[%d]", cntr_entries_1
) != -1) {
4140 ndr_print_samr_DispEntryGeneral(ndr
, "entries", &r
->entries
[cntr_entries_1
]);
4150 static enum ndr_err_code
ndr_push_samr_DispEntryFull(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DispEntryFull
*r
)
4152 if (ndr_flags
& NDR_SCALARS
) {
4153 NDR_CHECK(ndr_push_align(ndr
, 5));
4154 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->idx
));
4155 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->rid
));
4156 NDR_CHECK(ndr_push_samr_AcctFlags(ndr
, NDR_SCALARS
, r
->acct_flags
));
4157 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
4158 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
4159 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
4161 if (ndr_flags
& NDR_BUFFERS
) {
4162 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
4163 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
4165 return NDR_ERR_SUCCESS
;
4168 static enum ndr_err_code
ndr_pull_samr_DispEntryFull(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DispEntryFull
*r
)
4170 if (ndr_flags
& NDR_SCALARS
) {
4171 NDR_CHECK(ndr_pull_align(ndr
, 5));
4172 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->idx
));
4173 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->rid
));
4174 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr
, NDR_SCALARS
, &r
->acct_flags
));
4175 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
4176 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
4177 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
4179 if (ndr_flags
& NDR_BUFFERS
) {
4180 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
4181 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
4183 return NDR_ERR_SUCCESS
;
4186 _PUBLIC_
void ndr_print_samr_DispEntryFull(struct ndr_print
*ndr
, const char *name
, const struct samr_DispEntryFull
*r
)
4188 ndr_print_struct(ndr
, name
, "samr_DispEntryFull");
4190 ndr_print_uint32(ndr
, "idx", r
->idx
);
4191 ndr_print_uint32(ndr
, "rid", r
->rid
);
4192 ndr_print_samr_AcctFlags(ndr
, "acct_flags", r
->acct_flags
);
4193 ndr_print_lsa_String(ndr
, "account_name", &r
->account_name
);
4194 ndr_print_lsa_String(ndr
, "description", &r
->description
);
4198 static enum ndr_err_code
ndr_push_samr_DispInfoFull(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DispInfoFull
*r
)
4200 uint32_t cntr_entries_1
;
4201 if (ndr_flags
& NDR_SCALARS
) {
4202 NDR_CHECK(ndr_push_align(ndr
, 5));
4203 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
4204 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->entries
));
4205 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
4207 if (ndr_flags
& NDR_BUFFERS
) {
4209 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
4210 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
4211 NDR_CHECK(ndr_push_samr_DispEntryFull(ndr
, NDR_SCALARS
, &r
->entries
[cntr_entries_1
]));
4213 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
4214 NDR_CHECK(ndr_push_samr_DispEntryFull(ndr
, NDR_BUFFERS
, &r
->entries
[cntr_entries_1
]));
4218 return NDR_ERR_SUCCESS
;
4221 static enum ndr_err_code
ndr_pull_samr_DispInfoFull(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DispInfoFull
*r
)
4223 uint32_t _ptr_entries
;
4224 uint32_t size_entries_1
= 0;
4225 uint32_t cntr_entries_1
;
4226 TALLOC_CTX
*_mem_save_entries_0
;
4227 TALLOC_CTX
*_mem_save_entries_1
;
4228 if (ndr_flags
& NDR_SCALARS
) {
4229 NDR_CHECK(ndr_pull_align(ndr
, 5));
4230 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
4231 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_entries
));
4233 NDR_PULL_ALLOC(ndr
, r
->entries
);
4237 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
4239 if (ndr_flags
& NDR_BUFFERS
) {
4241 _mem_save_entries_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4242 NDR_PULL_SET_MEM_CTX(ndr
, r
->entries
, 0);
4243 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->entries
));
4244 size_entries_1
= ndr_get_array_size(ndr
, &r
->entries
);
4245 NDR_PULL_ALLOC_N(ndr
, r
->entries
, size_entries_1
);
4246 _mem_save_entries_1
= NDR_PULL_GET_MEM_CTX(ndr
);
4247 NDR_PULL_SET_MEM_CTX(ndr
, r
->entries
, 0);
4248 for (cntr_entries_1
= 0; cntr_entries_1
< size_entries_1
; cntr_entries_1
++) {
4249 NDR_CHECK(ndr_pull_samr_DispEntryFull(ndr
, NDR_SCALARS
, &r
->entries
[cntr_entries_1
]));
4251 for (cntr_entries_1
= 0; cntr_entries_1
< size_entries_1
; cntr_entries_1
++) {
4252 NDR_CHECK(ndr_pull_samr_DispEntryFull(ndr
, NDR_BUFFERS
, &r
->entries
[cntr_entries_1
]));
4254 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_entries_1
, 0);
4255 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_entries_0
, 0);
4258 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->entries
, r
->count
));
4261 return NDR_ERR_SUCCESS
;
4264 _PUBLIC_
void ndr_print_samr_DispInfoFull(struct ndr_print
*ndr
, const char *name
, const struct samr_DispInfoFull
*r
)
4266 uint32_t cntr_entries_1
;
4267 ndr_print_struct(ndr
, name
, "samr_DispInfoFull");
4269 ndr_print_uint32(ndr
, "count", r
->count
);
4270 ndr_print_ptr(ndr
, "entries", r
->entries
);
4273 ndr
->print(ndr
, "%s: ARRAY(%d)", "entries", (int)r
->count
);
4275 for (cntr_entries_1
=0;cntr_entries_1
<r
->count
;cntr_entries_1
++) {
4277 if (asprintf(&idx_1
, "[%d]", cntr_entries_1
) != -1) {
4278 ndr_print_samr_DispEntryFull(ndr
, "entries", &r
->entries
[cntr_entries_1
]);
4288 static enum ndr_err_code
ndr_push_samr_DispEntryFullGroup(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DispEntryFullGroup
*r
)
4290 if (ndr_flags
& NDR_SCALARS
) {
4291 NDR_CHECK(ndr_push_align(ndr
, 5));
4292 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->idx
));
4293 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->rid
));
4294 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr
, NDR_SCALARS
, r
->acct_flags
));
4295 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
4296 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
4297 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
4299 if (ndr_flags
& NDR_BUFFERS
) {
4300 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
4301 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
4303 return NDR_ERR_SUCCESS
;
4306 static enum ndr_err_code
ndr_pull_samr_DispEntryFullGroup(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DispEntryFullGroup
*r
)
4308 if (ndr_flags
& NDR_SCALARS
) {
4309 NDR_CHECK(ndr_pull_align(ndr
, 5));
4310 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->idx
));
4311 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->rid
));
4312 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr
, NDR_SCALARS
, &r
->acct_flags
));
4313 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
4314 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
4315 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
4317 if (ndr_flags
& NDR_BUFFERS
) {
4318 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
4319 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
4321 return NDR_ERR_SUCCESS
;
4324 _PUBLIC_
void ndr_print_samr_DispEntryFullGroup(struct ndr_print
*ndr
, const char *name
, const struct samr_DispEntryFullGroup
*r
)
4326 ndr_print_struct(ndr
, name
, "samr_DispEntryFullGroup");
4328 ndr_print_uint32(ndr
, "idx", r
->idx
);
4329 ndr_print_uint32(ndr
, "rid", r
->rid
);
4330 ndr_print_samr_GroupAttrs(ndr
, "acct_flags", r
->acct_flags
);
4331 ndr_print_lsa_String(ndr
, "account_name", &r
->account_name
);
4332 ndr_print_lsa_String(ndr
, "description", &r
->description
);
4336 static enum ndr_err_code
ndr_push_samr_DispInfoFullGroups(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DispInfoFullGroups
*r
)
4338 uint32_t cntr_entries_1
;
4339 if (ndr_flags
& NDR_SCALARS
) {
4340 NDR_CHECK(ndr_push_align(ndr
, 5));
4341 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
4342 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->entries
));
4343 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
4345 if (ndr_flags
& NDR_BUFFERS
) {
4347 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
4348 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
4349 NDR_CHECK(ndr_push_samr_DispEntryFullGroup(ndr
, NDR_SCALARS
, &r
->entries
[cntr_entries_1
]));
4351 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
4352 NDR_CHECK(ndr_push_samr_DispEntryFullGroup(ndr
, NDR_BUFFERS
, &r
->entries
[cntr_entries_1
]));
4356 return NDR_ERR_SUCCESS
;
4359 static enum ndr_err_code
ndr_pull_samr_DispInfoFullGroups(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DispInfoFullGroups
*r
)
4361 uint32_t _ptr_entries
;
4362 uint32_t size_entries_1
= 0;
4363 uint32_t cntr_entries_1
;
4364 TALLOC_CTX
*_mem_save_entries_0
;
4365 TALLOC_CTX
*_mem_save_entries_1
;
4366 if (ndr_flags
& NDR_SCALARS
) {
4367 NDR_CHECK(ndr_pull_align(ndr
, 5));
4368 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
4369 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_entries
));
4371 NDR_PULL_ALLOC(ndr
, r
->entries
);
4375 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
4377 if (ndr_flags
& NDR_BUFFERS
) {
4379 _mem_save_entries_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4380 NDR_PULL_SET_MEM_CTX(ndr
, r
->entries
, 0);
4381 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->entries
));
4382 size_entries_1
= ndr_get_array_size(ndr
, &r
->entries
);
4383 NDR_PULL_ALLOC_N(ndr
, r
->entries
, size_entries_1
);
4384 _mem_save_entries_1
= NDR_PULL_GET_MEM_CTX(ndr
);
4385 NDR_PULL_SET_MEM_CTX(ndr
, r
->entries
, 0);
4386 for (cntr_entries_1
= 0; cntr_entries_1
< size_entries_1
; cntr_entries_1
++) {
4387 NDR_CHECK(ndr_pull_samr_DispEntryFullGroup(ndr
, NDR_SCALARS
, &r
->entries
[cntr_entries_1
]));
4389 for (cntr_entries_1
= 0; cntr_entries_1
< size_entries_1
; cntr_entries_1
++) {
4390 NDR_CHECK(ndr_pull_samr_DispEntryFullGroup(ndr
, NDR_BUFFERS
, &r
->entries
[cntr_entries_1
]));
4392 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_entries_1
, 0);
4393 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_entries_0
, 0);
4396 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->entries
, r
->count
));
4399 return NDR_ERR_SUCCESS
;
4402 _PUBLIC_
void ndr_print_samr_DispInfoFullGroups(struct ndr_print
*ndr
, const char *name
, const struct samr_DispInfoFullGroups
*r
)
4404 uint32_t cntr_entries_1
;
4405 ndr_print_struct(ndr
, name
, "samr_DispInfoFullGroups");
4407 ndr_print_uint32(ndr
, "count", r
->count
);
4408 ndr_print_ptr(ndr
, "entries", r
->entries
);
4411 ndr
->print(ndr
, "%s: ARRAY(%d)", "entries", (int)r
->count
);
4413 for (cntr_entries_1
=0;cntr_entries_1
<r
->count
;cntr_entries_1
++) {
4415 if (asprintf(&idx_1
, "[%d]", cntr_entries_1
) != -1) {
4416 ndr_print_samr_DispEntryFullGroup(ndr
, "entries", &r
->entries
[cntr_entries_1
]);
4426 static enum ndr_err_code
ndr_push_samr_DispEntryAscii(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DispEntryAscii
*r
)
4428 if (ndr_flags
& NDR_SCALARS
) {
4429 NDR_CHECK(ndr_push_align(ndr
, 5));
4430 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->idx
));
4431 NDR_CHECK(ndr_push_lsa_AsciiStringLarge(ndr
, NDR_SCALARS
, &r
->account_name
));
4432 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
4434 if (ndr_flags
& NDR_BUFFERS
) {
4435 NDR_CHECK(ndr_push_lsa_AsciiStringLarge(ndr
, NDR_BUFFERS
, &r
->account_name
));
4437 return NDR_ERR_SUCCESS
;
4440 static enum ndr_err_code
ndr_pull_samr_DispEntryAscii(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DispEntryAscii
*r
)
4442 if (ndr_flags
& NDR_SCALARS
) {
4443 NDR_CHECK(ndr_pull_align(ndr
, 5));
4444 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->idx
));
4445 NDR_CHECK(ndr_pull_lsa_AsciiStringLarge(ndr
, NDR_SCALARS
, &r
->account_name
));
4446 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
4448 if (ndr_flags
& NDR_BUFFERS
) {
4449 NDR_CHECK(ndr_pull_lsa_AsciiStringLarge(ndr
, NDR_BUFFERS
, &r
->account_name
));
4451 return NDR_ERR_SUCCESS
;
4454 _PUBLIC_
void ndr_print_samr_DispEntryAscii(struct ndr_print
*ndr
, const char *name
, const struct samr_DispEntryAscii
*r
)
4456 ndr_print_struct(ndr
, name
, "samr_DispEntryAscii");
4458 ndr_print_uint32(ndr
, "idx", r
->idx
);
4459 ndr_print_lsa_AsciiStringLarge(ndr
, "account_name", &r
->account_name
);
4463 static enum ndr_err_code
ndr_push_samr_DispInfoAscii(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DispInfoAscii
*r
)
4465 uint32_t cntr_entries_1
;
4466 if (ndr_flags
& NDR_SCALARS
) {
4467 NDR_CHECK(ndr_push_align(ndr
, 5));
4468 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
4469 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->entries
));
4470 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
4472 if (ndr_flags
& NDR_BUFFERS
) {
4474 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
4475 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
4476 NDR_CHECK(ndr_push_samr_DispEntryAscii(ndr
, NDR_SCALARS
, &r
->entries
[cntr_entries_1
]));
4478 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
4479 NDR_CHECK(ndr_push_samr_DispEntryAscii(ndr
, NDR_BUFFERS
, &r
->entries
[cntr_entries_1
]));
4483 return NDR_ERR_SUCCESS
;
4486 static enum ndr_err_code
ndr_pull_samr_DispInfoAscii(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DispInfoAscii
*r
)
4488 uint32_t _ptr_entries
;
4489 uint32_t size_entries_1
= 0;
4490 uint32_t cntr_entries_1
;
4491 TALLOC_CTX
*_mem_save_entries_0
;
4492 TALLOC_CTX
*_mem_save_entries_1
;
4493 if (ndr_flags
& NDR_SCALARS
) {
4494 NDR_CHECK(ndr_pull_align(ndr
, 5));
4495 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
4496 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_entries
));
4498 NDR_PULL_ALLOC(ndr
, r
->entries
);
4502 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
4504 if (ndr_flags
& NDR_BUFFERS
) {
4506 _mem_save_entries_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4507 NDR_PULL_SET_MEM_CTX(ndr
, r
->entries
, 0);
4508 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->entries
));
4509 size_entries_1
= ndr_get_array_size(ndr
, &r
->entries
);
4510 NDR_PULL_ALLOC_N(ndr
, r
->entries
, size_entries_1
);
4511 _mem_save_entries_1
= NDR_PULL_GET_MEM_CTX(ndr
);
4512 NDR_PULL_SET_MEM_CTX(ndr
, r
->entries
, 0);
4513 for (cntr_entries_1
= 0; cntr_entries_1
< size_entries_1
; cntr_entries_1
++) {
4514 NDR_CHECK(ndr_pull_samr_DispEntryAscii(ndr
, NDR_SCALARS
, &r
->entries
[cntr_entries_1
]));
4516 for (cntr_entries_1
= 0; cntr_entries_1
< size_entries_1
; cntr_entries_1
++) {
4517 NDR_CHECK(ndr_pull_samr_DispEntryAscii(ndr
, NDR_BUFFERS
, &r
->entries
[cntr_entries_1
]));
4519 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_entries_1
, 0);
4520 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_entries_0
, 0);
4523 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->entries
, r
->count
));
4526 return NDR_ERR_SUCCESS
;
4529 _PUBLIC_
void ndr_print_samr_DispInfoAscii(struct ndr_print
*ndr
, const char *name
, const struct samr_DispInfoAscii
*r
)
4531 uint32_t cntr_entries_1
;
4532 ndr_print_struct(ndr
, name
, "samr_DispInfoAscii");
4534 ndr_print_uint32(ndr
, "count", r
->count
);
4535 ndr_print_ptr(ndr
, "entries", r
->entries
);
4538 ndr
->print(ndr
, "%s: ARRAY(%d)", "entries", (int)r
->count
);
4540 for (cntr_entries_1
=0;cntr_entries_1
<r
->count
;cntr_entries_1
++) {
4542 if (asprintf(&idx_1
, "[%d]", cntr_entries_1
) != -1) {
4543 ndr_print_samr_DispEntryAscii(ndr
, "entries", &r
->entries
[cntr_entries_1
]);
4553 static enum ndr_err_code
ndr_push_samr_DispInfo(struct ndr_push
*ndr
, int ndr_flags
, const union samr_DispInfo
*r
)
4555 if (ndr_flags
& NDR_SCALARS
) {
4556 int level
= ndr_push_get_switch_value(ndr
, r
);
4557 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, level
));
4558 NDR_CHECK(ndr_push_union_align(ndr
, 5));
4561 NDR_CHECK(ndr_push_samr_DispInfoGeneral(ndr
, NDR_SCALARS
, &r
->info1
));
4565 NDR_CHECK(ndr_push_samr_DispInfoFull(ndr
, NDR_SCALARS
, &r
->info2
));
4569 NDR_CHECK(ndr_push_samr_DispInfoFullGroups(ndr
, NDR_SCALARS
, &r
->info3
));
4573 NDR_CHECK(ndr_push_samr_DispInfoAscii(ndr
, NDR_SCALARS
, &r
->info4
));
4577 NDR_CHECK(ndr_push_samr_DispInfoAscii(ndr
, NDR_SCALARS
, &r
->info5
));
4581 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4584 if (ndr_flags
& NDR_BUFFERS
) {
4585 int level
= ndr_push_get_switch_value(ndr
, r
);
4588 NDR_CHECK(ndr_push_samr_DispInfoGeneral(ndr
, NDR_BUFFERS
, &r
->info1
));
4592 NDR_CHECK(ndr_push_samr_DispInfoFull(ndr
, NDR_BUFFERS
, &r
->info2
));
4596 NDR_CHECK(ndr_push_samr_DispInfoFullGroups(ndr
, NDR_BUFFERS
, &r
->info3
));
4600 NDR_CHECK(ndr_push_samr_DispInfoAscii(ndr
, NDR_BUFFERS
, &r
->info4
));
4604 NDR_CHECK(ndr_push_samr_DispInfoAscii(ndr
, NDR_BUFFERS
, &r
->info5
));
4608 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4611 return NDR_ERR_SUCCESS
;
4614 static enum ndr_err_code
ndr_pull_samr_DispInfo(struct ndr_pull
*ndr
, int ndr_flags
, union samr_DispInfo
*r
)
4618 level
= ndr_pull_get_switch_value(ndr
, r
);
4619 if (ndr_flags
& NDR_SCALARS
) {
4620 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &_level
));
4621 if (_level
!= level
) {
4622 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
4624 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
4627 NDR_CHECK(ndr_pull_samr_DispInfoGeneral(ndr
, NDR_SCALARS
, &r
->info1
));
4631 NDR_CHECK(ndr_pull_samr_DispInfoFull(ndr
, NDR_SCALARS
, &r
->info2
));
4635 NDR_CHECK(ndr_pull_samr_DispInfoFullGroups(ndr
, NDR_SCALARS
, &r
->info3
));
4639 NDR_CHECK(ndr_pull_samr_DispInfoAscii(ndr
, NDR_SCALARS
, &r
->info4
));
4643 NDR_CHECK(ndr_pull_samr_DispInfoAscii(ndr
, NDR_SCALARS
, &r
->info5
));
4647 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4650 if (ndr_flags
& NDR_BUFFERS
) {
4653 NDR_CHECK(ndr_pull_samr_DispInfoGeneral(ndr
, NDR_BUFFERS
, &r
->info1
));
4657 NDR_CHECK(ndr_pull_samr_DispInfoFull(ndr
, NDR_BUFFERS
, &r
->info2
));
4661 NDR_CHECK(ndr_pull_samr_DispInfoFullGroups(ndr
, NDR_BUFFERS
, &r
->info3
));
4665 NDR_CHECK(ndr_pull_samr_DispInfoAscii(ndr
, NDR_BUFFERS
, &r
->info4
));
4669 NDR_CHECK(ndr_pull_samr_DispInfoAscii(ndr
, NDR_BUFFERS
, &r
->info5
));
4673 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4676 return NDR_ERR_SUCCESS
;
4679 _PUBLIC_
void ndr_print_samr_DispInfo(struct ndr_print
*ndr
, const char *name
, const union samr_DispInfo
*r
)
4682 level
= ndr_print_get_switch_value(ndr
, r
);
4683 ndr_print_union(ndr
, name
, level
, "samr_DispInfo");
4686 ndr_print_samr_DispInfoGeneral(ndr
, "info1", &r
->info1
);
4690 ndr_print_samr_DispInfoFull(ndr
, "info2", &r
->info2
);
4694 ndr_print_samr_DispInfoFullGroups(ndr
, "info3", &r
->info3
);
4698 ndr_print_samr_DispInfoAscii(ndr
, "info4", &r
->info4
);
4702 ndr_print_samr_DispInfoAscii(ndr
, "info5", &r
->info5
);
4706 ndr_print_bad_level(ndr
, name
, level
);
4710 static enum ndr_err_code
ndr_push_samr_PwInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_PwInfo
*r
)
4712 if (ndr_flags
& NDR_SCALARS
) {
4713 NDR_CHECK(ndr_push_align(ndr
, 4));
4714 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->min_password_length
));
4715 NDR_CHECK(ndr_push_samr_PasswordProperties(ndr
, NDR_SCALARS
, r
->password_properties
));
4716 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
4718 if (ndr_flags
& NDR_BUFFERS
) {
4720 return NDR_ERR_SUCCESS
;
4723 static enum ndr_err_code
ndr_pull_samr_PwInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_PwInfo
*r
)
4725 if (ndr_flags
& NDR_SCALARS
) {
4726 NDR_CHECK(ndr_pull_align(ndr
, 4));
4727 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->min_password_length
));
4728 NDR_CHECK(ndr_pull_samr_PasswordProperties(ndr
, NDR_SCALARS
, &r
->password_properties
));
4729 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
4731 if (ndr_flags
& NDR_BUFFERS
) {
4733 return NDR_ERR_SUCCESS
;
4736 _PUBLIC_
void ndr_print_samr_PwInfo(struct ndr_print
*ndr
, const char *name
, const struct samr_PwInfo
*r
)
4738 ndr_print_struct(ndr
, name
, "samr_PwInfo");
4740 ndr_print_uint16(ndr
, "min_password_length", r
->min_password_length
);
4741 ndr_print_samr_PasswordProperties(ndr
, "password_properties", r
->password_properties
);
4745 static enum ndr_err_code
ndr_push_samr_ConnectVersion(struct ndr_push
*ndr
, int ndr_flags
, enum samr_ConnectVersion r
)
4747 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
4748 return NDR_ERR_SUCCESS
;
4751 static enum ndr_err_code
ndr_pull_samr_ConnectVersion(struct ndr_pull
*ndr
, int ndr_flags
, enum samr_ConnectVersion
*r
)
4754 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
4756 return NDR_ERR_SUCCESS
;
4759 _PUBLIC_
void ndr_print_samr_ConnectVersion(struct ndr_print
*ndr
, const char *name
, enum samr_ConnectVersion r
)
4761 const char *val
= NULL
;
4764 case SAMR_CONNECT_PRE_W2K
: val
= "SAMR_CONNECT_PRE_W2K"; break;
4765 case SAMR_CONNECT_W2K
: val
= "SAMR_CONNECT_W2K"; break;
4766 case SAMR_CONNECT_AFTER_W2K
: val
= "SAMR_CONNECT_AFTER_W2K"; break;
4768 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
4771 static enum ndr_err_code
ndr_push_samr_ChangeReject(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_ChangeReject
*r
)
4773 if (ndr_flags
& NDR_SCALARS
) {
4774 NDR_CHECK(ndr_push_align(ndr
, 4));
4775 NDR_CHECK(ndr_push_samr_RejectReason(ndr
, NDR_SCALARS
, r
->reason
));
4776 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown1
));
4777 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown2
));
4778 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
4780 if (ndr_flags
& NDR_BUFFERS
) {
4782 return NDR_ERR_SUCCESS
;
4785 static enum ndr_err_code
ndr_pull_samr_ChangeReject(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_ChangeReject
*r
)
4787 if (ndr_flags
& NDR_SCALARS
) {
4788 NDR_CHECK(ndr_pull_align(ndr
, 4));
4789 NDR_CHECK(ndr_pull_samr_RejectReason(ndr
, NDR_SCALARS
, &r
->reason
));
4790 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown1
));
4791 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown2
));
4792 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
4794 if (ndr_flags
& NDR_BUFFERS
) {
4796 return NDR_ERR_SUCCESS
;
4799 _PUBLIC_
void ndr_print_samr_ChangeReject(struct ndr_print
*ndr
, const char *name
, const struct samr_ChangeReject
*r
)
4801 ndr_print_struct(ndr
, name
, "samr_ChangeReject");
4803 ndr_print_samr_RejectReason(ndr
, "reason", r
->reason
);
4804 ndr_print_uint32(ndr
, "unknown1", r
->unknown1
);
4805 ndr_print_uint32(ndr
, "unknown2", r
->unknown2
);
4809 static enum ndr_err_code
ndr_push_samr_ConnectInfo1(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_ConnectInfo1
*r
)
4811 if (ndr_flags
& NDR_SCALARS
) {
4812 NDR_CHECK(ndr_push_align(ndr
, 4));
4813 NDR_CHECK(ndr_push_samr_ConnectVersion(ndr
, NDR_SCALARS
, r
->client_version
));
4814 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown2
));
4815 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
4817 if (ndr_flags
& NDR_BUFFERS
) {
4819 return NDR_ERR_SUCCESS
;
4822 static enum ndr_err_code
ndr_pull_samr_ConnectInfo1(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_ConnectInfo1
*r
)
4824 if (ndr_flags
& NDR_SCALARS
) {
4825 NDR_CHECK(ndr_pull_align(ndr
, 4));
4826 NDR_CHECK(ndr_pull_samr_ConnectVersion(ndr
, NDR_SCALARS
, &r
->client_version
));
4827 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown2
));
4828 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
4830 if (ndr_flags
& NDR_BUFFERS
) {
4832 return NDR_ERR_SUCCESS
;
4835 _PUBLIC_
void ndr_print_samr_ConnectInfo1(struct ndr_print
*ndr
, const char *name
, const struct samr_ConnectInfo1
*r
)
4837 ndr_print_struct(ndr
, name
, "samr_ConnectInfo1");
4839 ndr_print_samr_ConnectVersion(ndr
, "client_version", r
->client_version
);
4840 ndr_print_uint32(ndr
, "unknown2", r
->unknown2
);
4844 static enum ndr_err_code
ndr_push_samr_ConnectInfo(struct ndr_push
*ndr
, int ndr_flags
, const union samr_ConnectInfo
*r
)
4846 if (ndr_flags
& NDR_SCALARS
) {
4847 int level
= ndr_push_get_switch_value(ndr
, r
);
4848 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
4849 NDR_CHECK(ndr_push_union_align(ndr
, 4));
4852 NDR_CHECK(ndr_push_samr_ConnectInfo1(ndr
, NDR_SCALARS
, &r
->info1
));
4856 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4859 if (ndr_flags
& NDR_BUFFERS
) {
4860 int level
= ndr_push_get_switch_value(ndr
, r
);
4866 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4869 return NDR_ERR_SUCCESS
;
4872 static enum ndr_err_code
ndr_pull_samr_ConnectInfo(struct ndr_pull
*ndr
, int ndr_flags
, union samr_ConnectInfo
*r
)
4876 level
= ndr_pull_get_switch_value(ndr
, r
);
4877 if (ndr_flags
& NDR_SCALARS
) {
4878 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
4879 if (_level
!= level
) {
4880 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
4882 NDR_CHECK(ndr_pull_union_align(ndr
, 4));
4885 NDR_CHECK(ndr_pull_samr_ConnectInfo1(ndr
, NDR_SCALARS
, &r
->info1
));
4889 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4892 if (ndr_flags
& NDR_BUFFERS
) {
4898 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4901 return NDR_ERR_SUCCESS
;
4904 _PUBLIC_
void ndr_print_samr_ConnectInfo(struct ndr_print
*ndr
, const char *name
, const union samr_ConnectInfo
*r
)
4907 level
= ndr_print_get_switch_value(ndr
, r
);
4908 ndr_print_union(ndr
, name
, level
, "samr_ConnectInfo");
4911 ndr_print_samr_ConnectInfo1(ndr
, "info1", &r
->info1
);
4915 ndr_print_bad_level(ndr
, name
, level
);
4919 static enum ndr_err_code
ndr_push_samr_ValidateFieldsPresent(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
4921 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
4922 return NDR_ERR_SUCCESS
;
4925 static enum ndr_err_code
ndr_pull_samr_ValidateFieldsPresent(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
4928 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
4930 return NDR_ERR_SUCCESS
;
4933 _PUBLIC_
void ndr_print_samr_ValidateFieldsPresent(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
4935 ndr_print_uint32(ndr
, name
, r
);
4937 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_PASSWORD_LAST_SET", SAMR_VALIDATE_FIELD_PASSWORD_LAST_SET
, r
);
4938 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_BAD_PASSWORD_TIME", SAMR_VALIDATE_FIELD_BAD_PASSWORD_TIME
, r
);
4939 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_LOCKOUT_TIME", SAMR_VALIDATE_FIELD_LOCKOUT_TIME
, r
);
4940 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_BAD_PASSWORD_COUNT", SAMR_VALIDATE_FIELD_BAD_PASSWORD_COUNT
, r
);
4941 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_PASSWORD_HISTORY_LENGTH", SAMR_VALIDATE_FIELD_PASSWORD_HISTORY_LENGTH
, r
);
4942 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_PASSWORD_HISTORY", SAMR_VALIDATE_FIELD_PASSWORD_HISTORY
, r
);
4946 static enum ndr_err_code
ndr_push_samr_ValidatePasswordLevel(struct ndr_push
*ndr
, int ndr_flags
, enum samr_ValidatePasswordLevel r
)
4948 NDR_CHECK(ndr_push_enum_uint1632(ndr
, NDR_SCALARS
, r
));
4949 return NDR_ERR_SUCCESS
;
4952 static enum ndr_err_code
ndr_pull_samr_ValidatePasswordLevel(struct ndr_pull
*ndr
, int ndr_flags
, enum samr_ValidatePasswordLevel
*r
)
4955 NDR_CHECK(ndr_pull_enum_uint1632(ndr
, NDR_SCALARS
, &v
));
4957 return NDR_ERR_SUCCESS
;
4960 _PUBLIC_
void ndr_print_samr_ValidatePasswordLevel(struct ndr_print
*ndr
, const char *name
, enum samr_ValidatePasswordLevel r
)
4962 const char *val
= NULL
;
4965 case NetValidateAuthentication
: val
= "NetValidateAuthentication"; break;
4966 case NetValidatePasswordChange
: val
= "NetValidatePasswordChange"; break;
4967 case NetValidatePasswordReset
: val
= "NetValidatePasswordReset"; break;
4969 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
4972 static enum ndr_err_code
ndr_push_samr_ValidationStatus(struct ndr_push
*ndr
, int ndr_flags
, enum samr_ValidationStatus r
)
4974 NDR_CHECK(ndr_push_enum_uint1632(ndr
, NDR_SCALARS
, r
));
4975 return NDR_ERR_SUCCESS
;
4978 static enum ndr_err_code
ndr_pull_samr_ValidationStatus(struct ndr_pull
*ndr
, int ndr_flags
, enum samr_ValidationStatus
*r
)
4981 NDR_CHECK(ndr_pull_enum_uint1632(ndr
, NDR_SCALARS
, &v
));
4983 return NDR_ERR_SUCCESS
;
4986 _PUBLIC_
void ndr_print_samr_ValidationStatus(struct ndr_print
*ndr
, const char *name
, enum samr_ValidationStatus r
)
4988 const char *val
= NULL
;
4991 case SAMR_VALIDATION_STATUS_SUCCESS
: val
= "SAMR_VALIDATION_STATUS_SUCCESS"; break;
4992 case SAMR_VALIDATION_STATUS_PASSWORD_MUST_CHANGE
: val
= "SAMR_VALIDATION_STATUS_PASSWORD_MUST_CHANGE"; break;
4993 case SAMR_VALIDATION_STATUS_ACCOUNT_LOCKED_OUT
: val
= "SAMR_VALIDATION_STATUS_ACCOUNT_LOCKED_OUT"; break;
4994 case SAMR_VALIDATION_STATUS_PASSWORD_EXPIRED
: val
= "SAMR_VALIDATION_STATUS_PASSWORD_EXPIRED"; break;
4995 case SAMR_VALIDATION_STATUS_BAD_PASSWORD
: val
= "SAMR_VALIDATION_STATUS_BAD_PASSWORD"; break;
4996 case SAMR_VALIDATION_STATUS_PWD_HISTORY_CONFLICT
: val
= "SAMR_VALIDATION_STATUS_PWD_HISTORY_CONFLICT"; break;
4997 case SAMR_VALIDATION_STATUS_PWD_TOO_SHORT
: val
= "SAMR_VALIDATION_STATUS_PWD_TOO_SHORT"; break;
4998 case SAMR_VALIDATION_STATUS_PWD_TOO_LONG
: val
= "SAMR_VALIDATION_STATUS_PWD_TOO_LONG"; break;
4999 case SAMR_VALIDATION_STATUS_NOT_COMPLEX_ENOUGH
: val
= "SAMR_VALIDATION_STATUS_NOT_COMPLEX_ENOUGH"; break;
5000 case SAMR_VALIDATION_STATUS_PASSWORD_TOO_RECENT
: val
= "SAMR_VALIDATION_STATUS_PASSWORD_TOO_RECENT"; break;
5001 case SAMR_VALIDATION_STATUS_PASSWORD_FILTER_ERROR
: val
= "SAMR_VALIDATION_STATUS_PASSWORD_FILTER_ERROR"; break;
5003 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
5006 static enum ndr_err_code
ndr_push_samr_ValidationBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_ValidationBlob
*r
)
5008 if (ndr_flags
& NDR_SCALARS
) {
5009 NDR_CHECK(ndr_push_align(ndr
, 5));
5010 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->length
));
5011 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->data
));
5012 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
5014 if (ndr_flags
& NDR_BUFFERS
) {
5016 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->length
));
5017 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->data
, r
->length
));
5020 return NDR_ERR_SUCCESS
;
5023 static enum ndr_err_code
ndr_pull_samr_ValidationBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_ValidationBlob
*r
)
5026 uint32_t size_data_1
= 0;
5027 TALLOC_CTX
*_mem_save_data_0
;
5028 if (ndr_flags
& NDR_SCALARS
) {
5029 NDR_CHECK(ndr_pull_align(ndr
, 5));
5030 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->length
));
5031 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_data
));
5033 NDR_PULL_ALLOC(ndr
, r
->data
);
5037 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
5039 if (ndr_flags
& NDR_BUFFERS
) {
5041 _mem_save_data_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5042 NDR_PULL_SET_MEM_CTX(ndr
, r
->data
, 0);
5043 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->data
));
5044 size_data_1
= ndr_get_array_size(ndr
, &r
->data
);
5045 NDR_PULL_ALLOC_N(ndr
, r
->data
, size_data_1
);
5046 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->data
, size_data_1
));
5047 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_data_0
, 0);
5050 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->data
, r
->length
));
5053 return NDR_ERR_SUCCESS
;
5056 _PUBLIC_
void ndr_print_samr_ValidationBlob(struct ndr_print
*ndr
, const char *name
, const struct samr_ValidationBlob
*r
)
5058 ndr_print_struct(ndr
, name
, "samr_ValidationBlob");
5060 ndr_print_uint32(ndr
, "length", r
->length
);
5061 ndr_print_ptr(ndr
, "data", r
->data
);
5064 ndr_print_array_uint8(ndr
, "data", r
->data
, r
->length
);
5070 static enum ndr_err_code
ndr_push_samr_ValidatePasswordInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_ValidatePasswordInfo
*r
)
5072 uint32_t cntr_pwd_history_1
;
5073 if (ndr_flags
& NDR_SCALARS
) {
5074 NDR_CHECK(ndr_push_align(ndr
, 8));
5075 NDR_CHECK(ndr_push_samr_ValidateFieldsPresent(ndr
, NDR_SCALARS
, r
->fields_present
));
5076 NDR_CHECK(ndr_push_NTTIME_hyper(ndr
, NDR_SCALARS
, r
->last_password_change
));
5077 NDR_CHECK(ndr_push_NTTIME_hyper(ndr
, NDR_SCALARS
, r
->bad_password_time
));
5078 NDR_CHECK(ndr_push_NTTIME_hyper(ndr
, NDR_SCALARS
, r
->lockout_time
));
5079 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->bad_pwd_count
));
5080 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->pwd_history_len
));
5081 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->pwd_history
));
5082 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
5084 if (ndr_flags
& NDR_BUFFERS
) {
5085 if (r
->pwd_history
) {
5086 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->pwd_history_len
));
5087 for (cntr_pwd_history_1
= 0; cntr_pwd_history_1
< r
->pwd_history_len
; cntr_pwd_history_1
++) {
5088 NDR_CHECK(ndr_push_samr_ValidationBlob(ndr
, NDR_SCALARS
, &r
->pwd_history
[cntr_pwd_history_1
]));
5090 for (cntr_pwd_history_1
= 0; cntr_pwd_history_1
< r
->pwd_history_len
; cntr_pwd_history_1
++) {
5091 NDR_CHECK(ndr_push_samr_ValidationBlob(ndr
, NDR_BUFFERS
, &r
->pwd_history
[cntr_pwd_history_1
]));
5095 return NDR_ERR_SUCCESS
;
5098 static enum ndr_err_code
ndr_pull_samr_ValidatePasswordInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_ValidatePasswordInfo
*r
)
5100 uint32_t _ptr_pwd_history
;
5101 uint32_t size_pwd_history_1
= 0;
5102 uint32_t cntr_pwd_history_1
;
5103 TALLOC_CTX
*_mem_save_pwd_history_0
;
5104 TALLOC_CTX
*_mem_save_pwd_history_1
;
5105 if (ndr_flags
& NDR_SCALARS
) {
5106 NDR_CHECK(ndr_pull_align(ndr
, 8));
5107 NDR_CHECK(ndr_pull_samr_ValidateFieldsPresent(ndr
, NDR_SCALARS
, &r
->fields_present
));
5108 NDR_CHECK(ndr_pull_NTTIME_hyper(ndr
, NDR_SCALARS
, &r
->last_password_change
));
5109 NDR_CHECK(ndr_pull_NTTIME_hyper(ndr
, NDR_SCALARS
, &r
->bad_password_time
));
5110 NDR_CHECK(ndr_pull_NTTIME_hyper(ndr
, NDR_SCALARS
, &r
->lockout_time
));
5111 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->bad_pwd_count
));
5112 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->pwd_history_len
));
5113 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_pwd_history
));
5114 if (_ptr_pwd_history
) {
5115 NDR_PULL_ALLOC(ndr
, r
->pwd_history
);
5117 r
->pwd_history
= NULL
;
5119 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
5121 if (ndr_flags
& NDR_BUFFERS
) {
5122 if (r
->pwd_history
) {
5123 _mem_save_pwd_history_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5124 NDR_PULL_SET_MEM_CTX(ndr
, r
->pwd_history
, 0);
5125 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->pwd_history
));
5126 size_pwd_history_1
= ndr_get_array_size(ndr
, &r
->pwd_history
);
5127 NDR_PULL_ALLOC_N(ndr
, r
->pwd_history
, size_pwd_history_1
);
5128 _mem_save_pwd_history_1
= NDR_PULL_GET_MEM_CTX(ndr
);
5129 NDR_PULL_SET_MEM_CTX(ndr
, r
->pwd_history
, 0);
5130 for (cntr_pwd_history_1
= 0; cntr_pwd_history_1
< size_pwd_history_1
; cntr_pwd_history_1
++) {
5131 NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr
, NDR_SCALARS
, &r
->pwd_history
[cntr_pwd_history_1
]));
5133 for (cntr_pwd_history_1
= 0; cntr_pwd_history_1
< size_pwd_history_1
; cntr_pwd_history_1
++) {
5134 NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr
, NDR_BUFFERS
, &r
->pwd_history
[cntr_pwd_history_1
]));
5136 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_pwd_history_1
, 0);
5137 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_pwd_history_0
, 0);
5139 if (r
->pwd_history
) {
5140 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->pwd_history
, r
->pwd_history_len
));
5143 return NDR_ERR_SUCCESS
;
5146 _PUBLIC_
void ndr_print_samr_ValidatePasswordInfo(struct ndr_print
*ndr
, const char *name
, const struct samr_ValidatePasswordInfo
*r
)
5148 uint32_t cntr_pwd_history_1
;
5149 ndr_print_struct(ndr
, name
, "samr_ValidatePasswordInfo");
5151 ndr_print_samr_ValidateFieldsPresent(ndr
, "fields_present", r
->fields_present
);
5152 ndr_print_NTTIME_hyper(ndr
, "last_password_change", r
->last_password_change
);
5153 ndr_print_NTTIME_hyper(ndr
, "bad_password_time", r
->bad_password_time
);
5154 ndr_print_NTTIME_hyper(ndr
, "lockout_time", r
->lockout_time
);
5155 ndr_print_uint32(ndr
, "bad_pwd_count", r
->bad_pwd_count
);
5156 ndr_print_uint32(ndr
, "pwd_history_len", r
->pwd_history_len
);
5157 ndr_print_ptr(ndr
, "pwd_history", r
->pwd_history
);
5159 if (r
->pwd_history
) {
5160 ndr
->print(ndr
, "%s: ARRAY(%d)", "pwd_history", (int)r
->pwd_history_len
);
5162 for (cntr_pwd_history_1
=0;cntr_pwd_history_1
<r
->pwd_history_len
;cntr_pwd_history_1
++) {
5164 if (asprintf(&idx_1
, "[%d]", cntr_pwd_history_1
) != -1) {
5165 ndr_print_samr_ValidationBlob(ndr
, "pwd_history", &r
->pwd_history
[cntr_pwd_history_1
]);
5175 static enum ndr_err_code
ndr_push_samr_ValidatePasswordRepCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_ValidatePasswordRepCtr
*r
)
5177 if (ndr_flags
& NDR_SCALARS
) {
5178 NDR_CHECK(ndr_push_align(ndr
, 8));
5179 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr
, NDR_SCALARS
, &r
->info
));
5180 NDR_CHECK(ndr_push_samr_ValidationStatus(ndr
, NDR_SCALARS
, r
->status
));
5181 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
5183 if (ndr_flags
& NDR_BUFFERS
) {
5184 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr
, NDR_BUFFERS
, &r
->info
));
5186 return NDR_ERR_SUCCESS
;
5189 static enum ndr_err_code
ndr_pull_samr_ValidatePasswordRepCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_ValidatePasswordRepCtr
*r
)
5191 if (ndr_flags
& NDR_SCALARS
) {
5192 NDR_CHECK(ndr_pull_align(ndr
, 8));
5193 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr
, NDR_SCALARS
, &r
->info
));
5194 NDR_CHECK(ndr_pull_samr_ValidationStatus(ndr
, NDR_SCALARS
, &r
->status
));
5195 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
5197 if (ndr_flags
& NDR_BUFFERS
) {
5198 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr
, NDR_BUFFERS
, &r
->info
));
5200 return NDR_ERR_SUCCESS
;
5203 _PUBLIC_
void ndr_print_samr_ValidatePasswordRepCtr(struct ndr_print
*ndr
, const char *name
, const struct samr_ValidatePasswordRepCtr
*r
)
5205 ndr_print_struct(ndr
, name
, "samr_ValidatePasswordRepCtr");
5207 ndr_print_samr_ValidatePasswordInfo(ndr
, "info", &r
->info
);
5208 ndr_print_samr_ValidationStatus(ndr
, "status", r
->status
);
5212 static enum ndr_err_code
ndr_push_samr_ValidatePasswordRep(struct ndr_push
*ndr
, int ndr_flags
, const union samr_ValidatePasswordRep
*r
)
5214 if (ndr_flags
& NDR_SCALARS
) {
5215 int level
= ndr_push_get_switch_value(ndr
, r
);
5216 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, level
));
5217 NDR_CHECK(ndr_push_union_align(ndr
, 8));
5220 NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr
, NDR_SCALARS
, &r
->ctr1
));
5224 NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr
, NDR_SCALARS
, &r
->ctr2
));
5228 NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr
, NDR_SCALARS
, &r
->ctr3
));
5232 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5235 if (ndr_flags
& NDR_BUFFERS
) {
5236 int level
= ndr_push_get_switch_value(ndr
, r
);
5239 NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr
, NDR_BUFFERS
, &r
->ctr1
));
5243 NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr
, NDR_BUFFERS
, &r
->ctr2
));
5247 NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr
, NDR_BUFFERS
, &r
->ctr3
));
5251 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5254 return NDR_ERR_SUCCESS
;
5257 static enum ndr_err_code
ndr_pull_samr_ValidatePasswordRep(struct ndr_pull
*ndr
, int ndr_flags
, union samr_ValidatePasswordRep
*r
)
5261 level
= ndr_pull_get_switch_value(ndr
, r
);
5262 if (ndr_flags
& NDR_SCALARS
) {
5263 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &_level
));
5264 if (_level
!= level
) {
5265 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
5267 NDR_CHECK(ndr_pull_union_align(ndr
, 8));
5270 NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr
, NDR_SCALARS
, &r
->ctr1
));
5274 NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr
, NDR_SCALARS
, &r
->ctr2
));
5278 NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr
, NDR_SCALARS
, &r
->ctr3
));
5282 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5285 if (ndr_flags
& NDR_BUFFERS
) {
5288 NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr
, NDR_BUFFERS
, &r
->ctr1
));
5292 NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr
, NDR_BUFFERS
, &r
->ctr2
));
5296 NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr
, NDR_BUFFERS
, &r
->ctr3
));
5300 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5303 return NDR_ERR_SUCCESS
;
5306 _PUBLIC_
void ndr_print_samr_ValidatePasswordRep(struct ndr_print
*ndr
, const char *name
, const union samr_ValidatePasswordRep
*r
)
5309 level
= ndr_print_get_switch_value(ndr
, r
);
5310 ndr_print_union(ndr
, name
, level
, "samr_ValidatePasswordRep");
5313 ndr_print_samr_ValidatePasswordRepCtr(ndr
, "ctr1", &r
->ctr1
);
5317 ndr_print_samr_ValidatePasswordRepCtr(ndr
, "ctr2", &r
->ctr2
);
5321 ndr_print_samr_ValidatePasswordRepCtr(ndr
, "ctr3", &r
->ctr3
);
5325 ndr_print_bad_level(ndr
, name
, level
);
5329 static enum ndr_err_code
ndr_push_samr_ValidatePasswordReq3(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_ValidatePasswordReq3
*r
)
5331 if (ndr_flags
& NDR_SCALARS
) {
5332 NDR_CHECK(ndr_push_align(ndr
, 8));
5333 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr
, NDR_SCALARS
, &r
->info
));
5334 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->password
));
5335 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->account
));
5336 NDR_CHECK(ndr_push_samr_ValidationBlob(ndr
, NDR_SCALARS
, &r
->hash
));
5337 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->pwd_must_change_at_next_logon
));
5338 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->clear_lockout
));
5339 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
5341 if (ndr_flags
& NDR_BUFFERS
) {
5342 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr
, NDR_BUFFERS
, &r
->info
));
5343 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->password
));
5344 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->account
));
5345 NDR_CHECK(ndr_push_samr_ValidationBlob(ndr
, NDR_BUFFERS
, &r
->hash
));
5347 return NDR_ERR_SUCCESS
;
5350 static enum ndr_err_code
ndr_pull_samr_ValidatePasswordReq3(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_ValidatePasswordReq3
*r
)
5352 if (ndr_flags
& NDR_SCALARS
) {
5353 NDR_CHECK(ndr_pull_align(ndr
, 8));
5354 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr
, NDR_SCALARS
, &r
->info
));
5355 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->password
));
5356 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->account
));
5357 NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr
, NDR_SCALARS
, &r
->hash
));
5358 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->pwd_must_change_at_next_logon
));
5359 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->clear_lockout
));
5360 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
5362 if (ndr_flags
& NDR_BUFFERS
) {
5363 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr
, NDR_BUFFERS
, &r
->info
));
5364 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->password
));
5365 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->account
));
5366 NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr
, NDR_BUFFERS
, &r
->hash
));
5368 return NDR_ERR_SUCCESS
;
5371 _PUBLIC_
void ndr_print_samr_ValidatePasswordReq3(struct ndr_print
*ndr
, const char *name
, const struct samr_ValidatePasswordReq3
*r
)
5373 ndr_print_struct(ndr
, name
, "samr_ValidatePasswordReq3");
5375 ndr_print_samr_ValidatePasswordInfo(ndr
, "info", &r
->info
);
5376 ndr_print_lsa_StringLarge(ndr
, "password", &r
->password
);
5377 ndr_print_lsa_StringLarge(ndr
, "account", &r
->account
);
5378 ndr_print_samr_ValidationBlob(ndr
, "hash", &r
->hash
);
5379 ndr_print_uint8(ndr
, "pwd_must_change_at_next_logon", r
->pwd_must_change_at_next_logon
);
5380 ndr_print_uint8(ndr
, "clear_lockout", r
->clear_lockout
);
5384 static enum ndr_err_code
ndr_push_samr_ValidatePasswordReq2(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_ValidatePasswordReq2
*r
)
5386 if (ndr_flags
& NDR_SCALARS
) {
5387 NDR_CHECK(ndr_push_align(ndr
, 8));
5388 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr
, NDR_SCALARS
, &r
->info
));
5389 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->password
));
5390 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->account
));
5391 NDR_CHECK(ndr_push_samr_ValidationBlob(ndr
, NDR_SCALARS
, &r
->hash
));
5392 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->password_matched
));
5393 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
5395 if (ndr_flags
& NDR_BUFFERS
) {
5396 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr
, NDR_BUFFERS
, &r
->info
));
5397 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->password
));
5398 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->account
));
5399 NDR_CHECK(ndr_push_samr_ValidationBlob(ndr
, NDR_BUFFERS
, &r
->hash
));
5401 return NDR_ERR_SUCCESS
;
5404 static enum ndr_err_code
ndr_pull_samr_ValidatePasswordReq2(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_ValidatePasswordReq2
*r
)
5406 if (ndr_flags
& NDR_SCALARS
) {
5407 NDR_CHECK(ndr_pull_align(ndr
, 8));
5408 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr
, NDR_SCALARS
, &r
->info
));
5409 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->password
));
5410 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->account
));
5411 NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr
, NDR_SCALARS
, &r
->hash
));
5412 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->password_matched
));
5413 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
5415 if (ndr_flags
& NDR_BUFFERS
) {
5416 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr
, NDR_BUFFERS
, &r
->info
));
5417 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->password
));
5418 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->account
));
5419 NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr
, NDR_BUFFERS
, &r
->hash
));
5421 return NDR_ERR_SUCCESS
;
5424 _PUBLIC_
void ndr_print_samr_ValidatePasswordReq2(struct ndr_print
*ndr
, const char *name
, const struct samr_ValidatePasswordReq2
*r
)
5426 ndr_print_struct(ndr
, name
, "samr_ValidatePasswordReq2");
5428 ndr_print_samr_ValidatePasswordInfo(ndr
, "info", &r
->info
);
5429 ndr_print_lsa_StringLarge(ndr
, "password", &r
->password
);
5430 ndr_print_lsa_StringLarge(ndr
, "account", &r
->account
);
5431 ndr_print_samr_ValidationBlob(ndr
, "hash", &r
->hash
);
5432 ndr_print_uint8(ndr
, "password_matched", r
->password_matched
);
5436 static enum ndr_err_code
ndr_push_samr_ValidatePasswordReq1(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_ValidatePasswordReq1
*r
)
5438 if (ndr_flags
& NDR_SCALARS
) {
5439 NDR_CHECK(ndr_push_align(ndr
, 8));
5440 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr
, NDR_SCALARS
, &r
->info
));
5441 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->password_matched
));
5442 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
5444 if (ndr_flags
& NDR_BUFFERS
) {
5445 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr
, NDR_BUFFERS
, &r
->info
));
5447 return NDR_ERR_SUCCESS
;
5450 static enum ndr_err_code
ndr_pull_samr_ValidatePasswordReq1(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_ValidatePasswordReq1
*r
)
5452 if (ndr_flags
& NDR_SCALARS
) {
5453 NDR_CHECK(ndr_pull_align(ndr
, 8));
5454 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr
, NDR_SCALARS
, &r
->info
));
5455 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->password_matched
));
5456 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
5458 if (ndr_flags
& NDR_BUFFERS
) {
5459 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr
, NDR_BUFFERS
, &r
->info
));
5461 return NDR_ERR_SUCCESS
;
5464 _PUBLIC_
void ndr_print_samr_ValidatePasswordReq1(struct ndr_print
*ndr
, const char *name
, const struct samr_ValidatePasswordReq1
*r
)
5466 ndr_print_struct(ndr
, name
, "samr_ValidatePasswordReq1");
5468 ndr_print_samr_ValidatePasswordInfo(ndr
, "info", &r
->info
);
5469 ndr_print_uint8(ndr
, "password_matched", r
->password_matched
);
5473 static enum ndr_err_code
ndr_push_samr_ValidatePasswordReq(struct ndr_push
*ndr
, int ndr_flags
, const union samr_ValidatePasswordReq
*r
)
5475 if (ndr_flags
& NDR_SCALARS
) {
5476 int level
= ndr_push_get_switch_value(ndr
, r
);
5477 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, level
));
5478 NDR_CHECK(ndr_push_union_align(ndr
, 8));
5481 NDR_CHECK(ndr_push_samr_ValidatePasswordReq1(ndr
, NDR_SCALARS
, &r
->req1
));
5485 NDR_CHECK(ndr_push_samr_ValidatePasswordReq2(ndr
, NDR_SCALARS
, &r
->req2
));
5489 NDR_CHECK(ndr_push_samr_ValidatePasswordReq3(ndr
, NDR_SCALARS
, &r
->req3
));
5493 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5496 if (ndr_flags
& NDR_BUFFERS
) {
5497 int level
= ndr_push_get_switch_value(ndr
, r
);
5500 NDR_CHECK(ndr_push_samr_ValidatePasswordReq1(ndr
, NDR_BUFFERS
, &r
->req1
));
5504 NDR_CHECK(ndr_push_samr_ValidatePasswordReq2(ndr
, NDR_BUFFERS
, &r
->req2
));
5508 NDR_CHECK(ndr_push_samr_ValidatePasswordReq3(ndr
, NDR_BUFFERS
, &r
->req3
));
5512 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5515 return NDR_ERR_SUCCESS
;
5518 static enum ndr_err_code
ndr_pull_samr_ValidatePasswordReq(struct ndr_pull
*ndr
, int ndr_flags
, union samr_ValidatePasswordReq
*r
)
5522 level
= ndr_pull_get_switch_value(ndr
, r
);
5523 if (ndr_flags
& NDR_SCALARS
) {
5524 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &_level
));
5525 if (_level
!= level
) {
5526 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
5528 NDR_CHECK(ndr_pull_union_align(ndr
, 8));
5531 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq1(ndr
, NDR_SCALARS
, &r
->req1
));
5535 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq2(ndr
, NDR_SCALARS
, &r
->req2
));
5539 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq3(ndr
, NDR_SCALARS
, &r
->req3
));
5543 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5546 if (ndr_flags
& NDR_BUFFERS
) {
5549 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq1(ndr
, NDR_BUFFERS
, &r
->req1
));
5553 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq2(ndr
, NDR_BUFFERS
, &r
->req2
));
5557 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq3(ndr
, NDR_BUFFERS
, &r
->req3
));
5561 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5564 return NDR_ERR_SUCCESS
;
5567 _PUBLIC_
void ndr_print_samr_ValidatePasswordReq(struct ndr_print
*ndr
, const char *name
, const union samr_ValidatePasswordReq
*r
)
5570 level
= ndr_print_get_switch_value(ndr
, r
);
5571 ndr_print_union(ndr
, name
, level
, "samr_ValidatePasswordReq");
5574 ndr_print_samr_ValidatePasswordReq1(ndr
, "req1", &r
->req1
);
5578 ndr_print_samr_ValidatePasswordReq2(ndr
, "req2", &r
->req2
);
5582 ndr_print_samr_ValidatePasswordReq3(ndr
, "req3", &r
->req3
);
5586 ndr_print_bad_level(ndr
, name
, level
);
5590 static enum ndr_err_code
ndr_push_samr_Connect(struct ndr_push
*ndr
, int flags
, const struct samr_Connect
*r
)
5592 if (flags
& NDR_IN
) {
5593 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.system_name
));
5594 if (r
->in
.system_name
) {
5595 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, *r
->in
.system_name
));
5597 NDR_CHECK(ndr_push_samr_ConnectAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
5599 if (flags
& NDR_OUT
) {
5600 if (r
->out
.connect_handle
== NULL
) {
5601 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5603 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.connect_handle
));
5604 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
5606 return NDR_ERR_SUCCESS
;
5609 static enum ndr_err_code
ndr_pull_samr_Connect(struct ndr_pull
*ndr
, int flags
, struct samr_Connect
*r
)
5611 uint32_t _ptr_system_name
;
5612 TALLOC_CTX
*_mem_save_system_name_0
;
5613 TALLOC_CTX
*_mem_save_connect_handle_0
;
5614 if (flags
& NDR_IN
) {
5615 ZERO_STRUCT(r
->out
);
5617 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_system_name
));
5618 if (_ptr_system_name
) {
5619 NDR_PULL_ALLOC(ndr
, r
->in
.system_name
);
5621 r
->in
.system_name
= NULL
;
5623 if (r
->in
.system_name
) {
5624 _mem_save_system_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5625 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.system_name
, 0);
5626 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, r
->in
.system_name
));
5627 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_system_name_0
, 0);
5629 NDR_CHECK(ndr_pull_samr_ConnectAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
5630 NDR_PULL_ALLOC(ndr
, r
->out
.connect_handle
);
5631 ZERO_STRUCTP(r
->out
.connect_handle
);
5633 if (flags
& NDR_OUT
) {
5634 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5635 NDR_PULL_ALLOC(ndr
, r
->out
.connect_handle
);
5637 _mem_save_connect_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5638 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.connect_handle
, LIBNDR_FLAG_REF_ALLOC
);
5639 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.connect_handle
));
5640 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_connect_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5641 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
5643 return NDR_ERR_SUCCESS
;
5646 _PUBLIC_
void ndr_print_samr_Connect(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_Connect
*r
)
5648 ndr_print_struct(ndr
, name
, "samr_Connect");
5650 if (flags
& NDR_SET_VALUES
) {
5651 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
5653 if (flags
& NDR_IN
) {
5654 ndr_print_struct(ndr
, "in", "samr_Connect");
5656 ndr_print_ptr(ndr
, "system_name", r
->in
.system_name
);
5658 if (r
->in
.system_name
) {
5659 ndr_print_uint16(ndr
, "system_name", *r
->in
.system_name
);
5662 ndr_print_samr_ConnectAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
5665 if (flags
& NDR_OUT
) {
5666 ndr_print_struct(ndr
, "out", "samr_Connect");
5668 ndr_print_ptr(ndr
, "connect_handle", r
->out
.connect_handle
);
5670 ndr_print_policy_handle(ndr
, "connect_handle", r
->out
.connect_handle
);
5672 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
5678 _PUBLIC_
enum ndr_err_code
ndr_push_samr_Close(struct ndr_push
*ndr
, int flags
, const struct samr_Close
*r
)
5680 if (flags
& NDR_IN
) {
5681 if (r
->in
.handle
== NULL
) {
5682 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5684 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
5686 if (flags
& NDR_OUT
) {
5687 if (r
->out
.handle
== NULL
) {
5688 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5690 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.handle
));
5691 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
5693 return NDR_ERR_SUCCESS
;
5696 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_Close(struct ndr_pull
*ndr
, int flags
, struct samr_Close
*r
)
5698 TALLOC_CTX
*_mem_save_handle_0
;
5699 if (flags
& NDR_IN
) {
5700 ZERO_STRUCT(r
->out
);
5702 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5703 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
5705 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5706 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
5707 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
5708 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5709 NDR_PULL_ALLOC(ndr
, r
->out
.handle
);
5710 *r
->out
.handle
= *r
->in
.handle
;
5712 if (flags
& NDR_OUT
) {
5713 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5714 NDR_PULL_ALLOC(ndr
, r
->out
.handle
);
5716 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5717 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.handle
, LIBNDR_FLAG_REF_ALLOC
);
5718 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.handle
));
5719 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5720 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
5722 return NDR_ERR_SUCCESS
;
5725 _PUBLIC_
void ndr_print_samr_Close(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_Close
*r
)
5727 ndr_print_struct(ndr
, name
, "samr_Close");
5729 if (flags
& NDR_SET_VALUES
) {
5730 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
5732 if (flags
& NDR_IN
) {
5733 ndr_print_struct(ndr
, "in", "samr_Close");
5735 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
5737 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
5741 if (flags
& NDR_OUT
) {
5742 ndr_print_struct(ndr
, "out", "samr_Close");
5744 ndr_print_ptr(ndr
, "handle", r
->out
.handle
);
5746 ndr_print_policy_handle(ndr
, "handle", r
->out
.handle
);
5748 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
5754 static enum ndr_err_code
ndr_push_samr_SetSecurity(struct ndr_push
*ndr
, int flags
, const struct samr_SetSecurity
*r
)
5756 if (flags
& NDR_IN
) {
5757 if (r
->in
.handle
== NULL
) {
5758 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5760 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
5761 NDR_CHECK(ndr_push_security_secinfo(ndr
, NDR_SCALARS
, r
->in
.sec_info
));
5762 if (r
->in
.sdbuf
== NULL
) {
5763 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5765 NDR_CHECK(ndr_push_sec_desc_buf(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sdbuf
));
5767 if (flags
& NDR_OUT
) {
5768 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
5770 return NDR_ERR_SUCCESS
;
5773 static enum ndr_err_code
ndr_pull_samr_SetSecurity(struct ndr_pull
*ndr
, int flags
, struct samr_SetSecurity
*r
)
5775 TALLOC_CTX
*_mem_save_handle_0
;
5776 TALLOC_CTX
*_mem_save_sdbuf_0
;
5777 if (flags
& NDR_IN
) {
5778 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5779 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
5781 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5782 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
5783 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
5784 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5785 NDR_CHECK(ndr_pull_security_secinfo(ndr
, NDR_SCALARS
, &r
->in
.sec_info
));
5786 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5787 NDR_PULL_ALLOC(ndr
, r
->in
.sdbuf
);
5789 _mem_save_sdbuf_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5790 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sdbuf
, LIBNDR_FLAG_REF_ALLOC
);
5791 NDR_CHECK(ndr_pull_sec_desc_buf(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sdbuf
));
5792 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sdbuf_0
, LIBNDR_FLAG_REF_ALLOC
);
5794 if (flags
& NDR_OUT
) {
5795 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
5797 return NDR_ERR_SUCCESS
;
5800 _PUBLIC_
void ndr_print_samr_SetSecurity(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_SetSecurity
*r
)
5802 ndr_print_struct(ndr
, name
, "samr_SetSecurity");
5804 if (flags
& NDR_SET_VALUES
) {
5805 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
5807 if (flags
& NDR_IN
) {
5808 ndr_print_struct(ndr
, "in", "samr_SetSecurity");
5810 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
5812 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
5814 ndr_print_security_secinfo(ndr
, "sec_info", r
->in
.sec_info
);
5815 ndr_print_ptr(ndr
, "sdbuf", r
->in
.sdbuf
);
5817 ndr_print_sec_desc_buf(ndr
, "sdbuf", r
->in
.sdbuf
);
5821 if (flags
& NDR_OUT
) {
5822 ndr_print_struct(ndr
, "out", "samr_SetSecurity");
5824 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
5830 static enum ndr_err_code
ndr_push_samr_QuerySecurity(struct ndr_push
*ndr
, int flags
, const struct samr_QuerySecurity
*r
)
5832 if (flags
& NDR_IN
) {
5833 if (r
->in
.handle
== NULL
) {
5834 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5836 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
5837 NDR_CHECK(ndr_push_security_secinfo(ndr
, NDR_SCALARS
, r
->in
.sec_info
));
5839 if (flags
& NDR_OUT
) {
5840 if (r
->out
.sdbuf
== NULL
) {
5841 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5843 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.sdbuf
));
5844 if (*r
->out
.sdbuf
) {
5845 NDR_CHECK(ndr_push_sec_desc_buf(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sdbuf
));
5847 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
5849 return NDR_ERR_SUCCESS
;
5852 static enum ndr_err_code
ndr_pull_samr_QuerySecurity(struct ndr_pull
*ndr
, int flags
, struct samr_QuerySecurity
*r
)
5854 uint32_t _ptr_sdbuf
;
5855 TALLOC_CTX
*_mem_save_handle_0
;
5856 TALLOC_CTX
*_mem_save_sdbuf_0
;
5857 TALLOC_CTX
*_mem_save_sdbuf_1
;
5858 if (flags
& NDR_IN
) {
5859 ZERO_STRUCT(r
->out
);
5861 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5862 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
5864 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5865 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
5866 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
5867 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5868 NDR_CHECK(ndr_pull_security_secinfo(ndr
, NDR_SCALARS
, &r
->in
.sec_info
));
5869 NDR_PULL_ALLOC(ndr
, r
->out
.sdbuf
);
5870 ZERO_STRUCTP(r
->out
.sdbuf
);
5872 if (flags
& NDR_OUT
) {
5873 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5874 NDR_PULL_ALLOC(ndr
, r
->out
.sdbuf
);
5876 _mem_save_sdbuf_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5877 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sdbuf
, LIBNDR_FLAG_REF_ALLOC
);
5878 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sdbuf
));
5880 NDR_PULL_ALLOC(ndr
, *r
->out
.sdbuf
);
5882 *r
->out
.sdbuf
= NULL
;
5884 if (*r
->out
.sdbuf
) {
5885 _mem_save_sdbuf_1
= NDR_PULL_GET_MEM_CTX(ndr
);
5886 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.sdbuf
, 0);
5887 NDR_CHECK(ndr_pull_sec_desc_buf(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sdbuf
));
5888 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sdbuf_1
, 0);
5890 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sdbuf_0
, LIBNDR_FLAG_REF_ALLOC
);
5891 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
5893 return NDR_ERR_SUCCESS
;
5896 _PUBLIC_
void ndr_print_samr_QuerySecurity(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_QuerySecurity
*r
)
5898 ndr_print_struct(ndr
, name
, "samr_QuerySecurity");
5900 if (flags
& NDR_SET_VALUES
) {
5901 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
5903 if (flags
& NDR_IN
) {
5904 ndr_print_struct(ndr
, "in", "samr_QuerySecurity");
5906 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
5908 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
5910 ndr_print_security_secinfo(ndr
, "sec_info", r
->in
.sec_info
);
5913 if (flags
& NDR_OUT
) {
5914 ndr_print_struct(ndr
, "out", "samr_QuerySecurity");
5916 ndr_print_ptr(ndr
, "sdbuf", r
->out
.sdbuf
);
5918 ndr_print_ptr(ndr
, "sdbuf", *r
->out
.sdbuf
);
5920 if (*r
->out
.sdbuf
) {
5921 ndr_print_sec_desc_buf(ndr
, "sdbuf", *r
->out
.sdbuf
);
5925 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
5931 static enum ndr_err_code
ndr_push_samr_Shutdown(struct ndr_push
*ndr
, int flags
, const struct samr_Shutdown
*r
)
5933 if (flags
& NDR_IN
) {
5934 if (r
->in
.connect_handle
== NULL
) {
5935 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5937 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.connect_handle
));
5939 if (flags
& NDR_OUT
) {
5940 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
5942 return NDR_ERR_SUCCESS
;
5945 static enum ndr_err_code
ndr_pull_samr_Shutdown(struct ndr_pull
*ndr
, int flags
, struct samr_Shutdown
*r
)
5947 TALLOC_CTX
*_mem_save_connect_handle_0
;
5948 if (flags
& NDR_IN
) {
5949 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5950 NDR_PULL_ALLOC(ndr
, r
->in
.connect_handle
);
5952 _mem_save_connect_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5953 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.connect_handle
, LIBNDR_FLAG_REF_ALLOC
);
5954 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.connect_handle
));
5955 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_connect_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5957 if (flags
& NDR_OUT
) {
5958 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
5960 return NDR_ERR_SUCCESS
;
5963 _PUBLIC_
void ndr_print_samr_Shutdown(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_Shutdown
*r
)
5965 ndr_print_struct(ndr
, name
, "samr_Shutdown");
5967 if (flags
& NDR_SET_VALUES
) {
5968 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
5970 if (flags
& NDR_IN
) {
5971 ndr_print_struct(ndr
, "in", "samr_Shutdown");
5973 ndr_print_ptr(ndr
, "connect_handle", r
->in
.connect_handle
);
5975 ndr_print_policy_handle(ndr
, "connect_handle", r
->in
.connect_handle
);
5979 if (flags
& NDR_OUT
) {
5980 ndr_print_struct(ndr
, "out", "samr_Shutdown");
5982 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
5988 static enum ndr_err_code
ndr_push_samr_LookupDomain(struct ndr_push
*ndr
, int flags
, const struct samr_LookupDomain
*r
)
5990 if (flags
& NDR_IN
) {
5991 if (r
->in
.connect_handle
== NULL
) {
5992 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5994 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.connect_handle
));
5995 if (r
->in
.domain_name
== NULL
) {
5996 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5998 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.domain_name
));
6000 if (flags
& NDR_OUT
) {
6001 if (r
->out
.sid
== NULL
) {
6002 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6004 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.sid
));
6006 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sid
));
6008 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6010 return NDR_ERR_SUCCESS
;
6013 static enum ndr_err_code
ndr_pull_samr_LookupDomain(struct ndr_pull
*ndr
, int flags
, struct samr_LookupDomain
*r
)
6016 TALLOC_CTX
*_mem_save_connect_handle_0
;
6017 TALLOC_CTX
*_mem_save_domain_name_0
;
6018 TALLOC_CTX
*_mem_save_sid_0
;
6019 TALLOC_CTX
*_mem_save_sid_1
;
6020 if (flags
& NDR_IN
) {
6021 ZERO_STRUCT(r
->out
);
6023 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6024 NDR_PULL_ALLOC(ndr
, r
->in
.connect_handle
);
6026 _mem_save_connect_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6027 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.connect_handle
, LIBNDR_FLAG_REF_ALLOC
);
6028 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.connect_handle
));
6029 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_connect_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6030 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6031 NDR_PULL_ALLOC(ndr
, r
->in
.domain_name
);
6033 _mem_save_domain_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6034 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_name
, LIBNDR_FLAG_REF_ALLOC
);
6035 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.domain_name
));
6036 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_name_0
, LIBNDR_FLAG_REF_ALLOC
);
6037 NDR_PULL_ALLOC(ndr
, r
->out
.sid
);
6038 ZERO_STRUCTP(r
->out
.sid
);
6040 if (flags
& NDR_OUT
) {
6041 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6042 NDR_PULL_ALLOC(ndr
, r
->out
.sid
);
6044 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6045 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sid
, LIBNDR_FLAG_REF_ALLOC
);
6046 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sid
));
6048 NDR_PULL_ALLOC(ndr
, *r
->out
.sid
);
6053 _mem_save_sid_1
= NDR_PULL_GET_MEM_CTX(ndr
);
6054 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.sid
, 0);
6055 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sid
));
6056 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_1
, 0);
6058 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, LIBNDR_FLAG_REF_ALLOC
);
6059 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6061 return NDR_ERR_SUCCESS
;
6064 _PUBLIC_
void ndr_print_samr_LookupDomain(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_LookupDomain
*r
)
6066 ndr_print_struct(ndr
, name
, "samr_LookupDomain");
6068 if (flags
& NDR_SET_VALUES
) {
6069 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6071 if (flags
& NDR_IN
) {
6072 ndr_print_struct(ndr
, "in", "samr_LookupDomain");
6074 ndr_print_ptr(ndr
, "connect_handle", r
->in
.connect_handle
);
6076 ndr_print_policy_handle(ndr
, "connect_handle", r
->in
.connect_handle
);
6078 ndr_print_ptr(ndr
, "domain_name", r
->in
.domain_name
);
6080 ndr_print_lsa_String(ndr
, "domain_name", r
->in
.domain_name
);
6084 if (flags
& NDR_OUT
) {
6085 ndr_print_struct(ndr
, "out", "samr_LookupDomain");
6087 ndr_print_ptr(ndr
, "sid", r
->out
.sid
);
6089 ndr_print_ptr(ndr
, "sid", *r
->out
.sid
);
6092 ndr_print_dom_sid2(ndr
, "sid", *r
->out
.sid
);
6096 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6102 static enum ndr_err_code
ndr_push_samr_EnumDomains(struct ndr_push
*ndr
, int flags
, const struct samr_EnumDomains
*r
)
6104 if (flags
& NDR_IN
) {
6105 if (r
->in
.connect_handle
== NULL
) {
6106 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6108 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.connect_handle
));
6109 if (r
->in
.resume_handle
== NULL
) {
6110 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6112 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->in
.resume_handle
));
6113 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.buf_size
));
6115 if (flags
& NDR_OUT
) {
6116 if (r
->out
.resume_handle
== NULL
) {
6117 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6119 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.resume_handle
));
6120 if (r
->out
.sam
== NULL
) {
6121 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6123 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.sam
));
6125 NDR_CHECK(ndr_push_samr_SamArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sam
));
6127 if (r
->out
.num_entries
== NULL
) {
6128 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6130 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.num_entries
));
6131 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6133 return NDR_ERR_SUCCESS
;
6136 static enum ndr_err_code
ndr_pull_samr_EnumDomains(struct ndr_pull
*ndr
, int flags
, struct samr_EnumDomains
*r
)
6139 TALLOC_CTX
*_mem_save_connect_handle_0
;
6140 TALLOC_CTX
*_mem_save_resume_handle_0
;
6141 TALLOC_CTX
*_mem_save_sam_0
;
6142 TALLOC_CTX
*_mem_save_sam_1
;
6143 TALLOC_CTX
*_mem_save_num_entries_0
;
6144 if (flags
& NDR_IN
) {
6145 ZERO_STRUCT(r
->out
);
6147 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6148 NDR_PULL_ALLOC(ndr
, r
->in
.connect_handle
);
6150 _mem_save_connect_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6151 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.connect_handle
, LIBNDR_FLAG_REF_ALLOC
);
6152 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.connect_handle
));
6153 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_connect_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6154 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6155 NDR_PULL_ALLOC(ndr
, r
->in
.resume_handle
);
6157 _mem_save_resume_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6158 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.resume_handle
, LIBNDR_FLAG_REF_ALLOC
);
6159 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->in
.resume_handle
));
6160 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_resume_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6161 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.buf_size
));
6162 NDR_PULL_ALLOC(ndr
, r
->out
.resume_handle
);
6163 *r
->out
.resume_handle
= *r
->in
.resume_handle
;
6164 NDR_PULL_ALLOC(ndr
, r
->out
.sam
);
6165 ZERO_STRUCTP(r
->out
.sam
);
6166 NDR_PULL_ALLOC(ndr
, r
->out
.num_entries
);
6167 ZERO_STRUCTP(r
->out
.num_entries
);
6169 if (flags
& NDR_OUT
) {
6170 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6171 NDR_PULL_ALLOC(ndr
, r
->out
.resume_handle
);
6173 _mem_save_resume_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6174 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.resume_handle
, LIBNDR_FLAG_REF_ALLOC
);
6175 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.resume_handle
));
6176 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_resume_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6177 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6178 NDR_PULL_ALLOC(ndr
, r
->out
.sam
);
6180 _mem_save_sam_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6181 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sam
, LIBNDR_FLAG_REF_ALLOC
);
6182 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sam
));
6184 NDR_PULL_ALLOC(ndr
, *r
->out
.sam
);
6189 _mem_save_sam_1
= NDR_PULL_GET_MEM_CTX(ndr
);
6190 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.sam
, 0);
6191 NDR_CHECK(ndr_pull_samr_SamArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sam
));
6192 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sam_1
, 0);
6194 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sam_0
, LIBNDR_FLAG_REF_ALLOC
);
6195 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6196 NDR_PULL_ALLOC(ndr
, r
->out
.num_entries
);
6198 _mem_save_num_entries_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6199 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.num_entries
, LIBNDR_FLAG_REF_ALLOC
);
6200 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.num_entries
));
6201 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_num_entries_0
, LIBNDR_FLAG_REF_ALLOC
);
6202 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6204 return NDR_ERR_SUCCESS
;
6207 _PUBLIC_
void ndr_print_samr_EnumDomains(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_EnumDomains
*r
)
6209 ndr_print_struct(ndr
, name
, "samr_EnumDomains");
6211 if (flags
& NDR_SET_VALUES
) {
6212 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6214 if (flags
& NDR_IN
) {
6215 ndr_print_struct(ndr
, "in", "samr_EnumDomains");
6217 ndr_print_ptr(ndr
, "connect_handle", r
->in
.connect_handle
);
6219 ndr_print_policy_handle(ndr
, "connect_handle", r
->in
.connect_handle
);
6221 ndr_print_ptr(ndr
, "resume_handle", r
->in
.resume_handle
);
6223 ndr_print_uint32(ndr
, "resume_handle", *r
->in
.resume_handle
);
6225 ndr_print_uint32(ndr
, "buf_size", r
->in
.buf_size
);
6228 if (flags
& NDR_OUT
) {
6229 ndr_print_struct(ndr
, "out", "samr_EnumDomains");
6231 ndr_print_ptr(ndr
, "resume_handle", r
->out
.resume_handle
);
6233 ndr_print_uint32(ndr
, "resume_handle", *r
->out
.resume_handle
);
6235 ndr_print_ptr(ndr
, "sam", r
->out
.sam
);
6237 ndr_print_ptr(ndr
, "sam", *r
->out
.sam
);
6240 ndr_print_samr_SamArray(ndr
, "sam", *r
->out
.sam
);
6244 ndr_print_ptr(ndr
, "num_entries", r
->out
.num_entries
);
6246 ndr_print_uint32(ndr
, "num_entries", *r
->out
.num_entries
);
6248 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6254 _PUBLIC_
enum ndr_err_code
ndr_push_samr_OpenDomain(struct ndr_push
*ndr
, int flags
, const struct samr_OpenDomain
*r
)
6256 if (flags
& NDR_IN
) {
6257 if (r
->in
.connect_handle
== NULL
) {
6258 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6260 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.connect_handle
));
6261 NDR_CHECK(ndr_push_samr_DomainAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
6262 if (r
->in
.sid
== NULL
) {
6263 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6265 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
6267 if (flags
& NDR_OUT
) {
6268 if (r
->out
.domain_handle
== NULL
) {
6269 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6271 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.domain_handle
));
6272 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6274 return NDR_ERR_SUCCESS
;
6277 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_OpenDomain(struct ndr_pull
*ndr
, int flags
, struct samr_OpenDomain
*r
)
6279 TALLOC_CTX
*_mem_save_connect_handle_0
;
6280 TALLOC_CTX
*_mem_save_sid_0
;
6281 TALLOC_CTX
*_mem_save_domain_handle_0
;
6282 if (flags
& NDR_IN
) {
6283 ZERO_STRUCT(r
->out
);
6285 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6286 NDR_PULL_ALLOC(ndr
, r
->in
.connect_handle
);
6288 _mem_save_connect_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6289 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.connect_handle
, LIBNDR_FLAG_REF_ALLOC
);
6290 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.connect_handle
));
6291 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_connect_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6292 NDR_CHECK(ndr_pull_samr_DomainAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
6293 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6294 NDR_PULL_ALLOC(ndr
, r
->in
.sid
);
6296 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6297 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sid
, LIBNDR_FLAG_REF_ALLOC
);
6298 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
6299 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, LIBNDR_FLAG_REF_ALLOC
);
6300 NDR_PULL_ALLOC(ndr
, r
->out
.domain_handle
);
6301 ZERO_STRUCTP(r
->out
.domain_handle
);
6303 if (flags
& NDR_OUT
) {
6304 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6305 NDR_PULL_ALLOC(ndr
, r
->out
.domain_handle
);
6307 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6308 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
6309 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.domain_handle
));
6310 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6311 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6313 return NDR_ERR_SUCCESS
;
6316 _PUBLIC_
void ndr_print_samr_OpenDomain(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_OpenDomain
*r
)
6318 ndr_print_struct(ndr
, name
, "samr_OpenDomain");
6320 if (flags
& NDR_SET_VALUES
) {
6321 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6323 if (flags
& NDR_IN
) {
6324 ndr_print_struct(ndr
, "in", "samr_OpenDomain");
6326 ndr_print_ptr(ndr
, "connect_handle", r
->in
.connect_handle
);
6328 ndr_print_policy_handle(ndr
, "connect_handle", r
->in
.connect_handle
);
6330 ndr_print_samr_DomainAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
6331 ndr_print_ptr(ndr
, "sid", r
->in
.sid
);
6333 ndr_print_dom_sid2(ndr
, "sid", r
->in
.sid
);
6337 if (flags
& NDR_OUT
) {
6338 ndr_print_struct(ndr
, "out", "samr_OpenDomain");
6340 ndr_print_ptr(ndr
, "domain_handle", r
->out
.domain_handle
);
6342 ndr_print_policy_handle(ndr
, "domain_handle", r
->out
.domain_handle
);
6344 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6350 static enum ndr_err_code
ndr_push_samr_QueryDomainInfo(struct ndr_push
*ndr
, int flags
, const struct samr_QueryDomainInfo
*r
)
6352 if (flags
& NDR_IN
) {
6353 if (r
->in
.domain_handle
== NULL
) {
6354 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6356 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6357 NDR_CHECK(ndr_push_samr_DomainInfoClass(ndr
, NDR_SCALARS
, r
->in
.level
));
6359 if (flags
& NDR_OUT
) {
6360 if (r
->out
.info
== NULL
) {
6361 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6363 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.info
));
6365 NDR_CHECK(ndr_push_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
6366 NDR_CHECK(ndr_push_samr_DomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
6368 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6370 return NDR_ERR_SUCCESS
;
6373 static enum ndr_err_code
ndr_pull_samr_QueryDomainInfo(struct ndr_pull
*ndr
, int flags
, struct samr_QueryDomainInfo
*r
)
6376 TALLOC_CTX
*_mem_save_domain_handle_0
;
6377 TALLOC_CTX
*_mem_save_info_0
;
6378 TALLOC_CTX
*_mem_save_info_1
;
6379 if (flags
& NDR_IN
) {
6380 ZERO_STRUCT(r
->out
);
6382 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6383 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
6385 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6386 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
6387 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6388 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6389 NDR_CHECK(ndr_pull_samr_DomainInfoClass(ndr
, NDR_SCALARS
, &r
->in
.level
));
6390 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
6391 ZERO_STRUCTP(r
->out
.info
);
6393 if (flags
& NDR_OUT
) {
6394 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6395 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
6397 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6398 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
6399 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
6401 NDR_PULL_ALLOC(ndr
, *r
->out
.info
);
6403 *r
->out
.info
= NULL
;
6406 _mem_save_info_1
= NDR_PULL_GET_MEM_CTX(ndr
);
6407 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.info
, 0);
6408 NDR_CHECK(ndr_pull_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
6409 NDR_CHECK(ndr_pull_samr_DomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
6410 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_1
, 0);
6412 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
6413 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6415 return NDR_ERR_SUCCESS
;
6418 _PUBLIC_
void ndr_print_samr_QueryDomainInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_QueryDomainInfo
*r
)
6420 ndr_print_struct(ndr
, name
, "samr_QueryDomainInfo");
6422 if (flags
& NDR_SET_VALUES
) {
6423 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6425 if (flags
& NDR_IN
) {
6426 ndr_print_struct(ndr
, "in", "samr_QueryDomainInfo");
6428 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
6430 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
6432 ndr_print_samr_DomainInfoClass(ndr
, "level", r
->in
.level
);
6435 if (flags
& NDR_OUT
) {
6436 ndr_print_struct(ndr
, "out", "samr_QueryDomainInfo");
6438 ndr_print_ptr(ndr
, "info", r
->out
.info
);
6440 ndr_print_ptr(ndr
, "info", *r
->out
.info
);
6443 ndr_print_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
);
6444 ndr_print_samr_DomainInfo(ndr
, "info", *r
->out
.info
);
6448 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6454 static enum ndr_err_code
ndr_push_samr_SetDomainInfo(struct ndr_push
*ndr
, int flags
, const struct samr_SetDomainInfo
*r
)
6456 if (flags
& NDR_IN
) {
6457 if (r
->in
.domain_handle
== NULL
) {
6458 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6460 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6461 NDR_CHECK(ndr_push_samr_DomainInfoClass(ndr
, NDR_SCALARS
, r
->in
.level
));
6462 if (r
->in
.info
== NULL
) {
6463 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6465 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
6466 NDR_CHECK(ndr_push_samr_DomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
6468 if (flags
& NDR_OUT
) {
6469 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6471 return NDR_ERR_SUCCESS
;
6474 static enum ndr_err_code
ndr_pull_samr_SetDomainInfo(struct ndr_pull
*ndr
, int flags
, struct samr_SetDomainInfo
*r
)
6476 TALLOC_CTX
*_mem_save_domain_handle_0
;
6477 TALLOC_CTX
*_mem_save_info_0
;
6478 if (flags
& NDR_IN
) {
6479 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6480 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
6482 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6483 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
6484 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6485 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6486 NDR_CHECK(ndr_pull_samr_DomainInfoClass(ndr
, NDR_SCALARS
, &r
->in
.level
));
6487 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6488 NDR_PULL_ALLOC(ndr
, r
->in
.info
);
6490 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6491 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.info
, LIBNDR_FLAG_REF_ALLOC
);
6492 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
6493 NDR_CHECK(ndr_pull_samr_DomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
6494 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
6496 if (flags
& NDR_OUT
) {
6497 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6499 return NDR_ERR_SUCCESS
;
6502 _PUBLIC_
void ndr_print_samr_SetDomainInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_SetDomainInfo
*r
)
6504 ndr_print_struct(ndr
, name
, "samr_SetDomainInfo");
6506 if (flags
& NDR_SET_VALUES
) {
6507 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6509 if (flags
& NDR_IN
) {
6510 ndr_print_struct(ndr
, "in", "samr_SetDomainInfo");
6512 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
6514 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
6516 ndr_print_samr_DomainInfoClass(ndr
, "level", r
->in
.level
);
6517 ndr_print_ptr(ndr
, "info", r
->in
.info
);
6519 ndr_print_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
);
6520 ndr_print_samr_DomainInfo(ndr
, "info", r
->in
.info
);
6524 if (flags
& NDR_OUT
) {
6525 ndr_print_struct(ndr
, "out", "samr_SetDomainInfo");
6527 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6533 static enum ndr_err_code
ndr_push_samr_CreateDomainGroup(struct ndr_push
*ndr
, int flags
, const struct samr_CreateDomainGroup
*r
)
6535 if (flags
& NDR_IN
) {
6536 if (r
->in
.domain_handle
== NULL
) {
6537 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6539 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6540 if (r
->in
.name
== NULL
) {
6541 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6543 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.name
));
6544 NDR_CHECK(ndr_push_samr_GroupAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
6546 if (flags
& NDR_OUT
) {
6547 if (r
->out
.group_handle
== NULL
) {
6548 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6550 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.group_handle
));
6551 if (r
->out
.rid
== NULL
) {
6552 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6554 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.rid
));
6555 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6557 return NDR_ERR_SUCCESS
;
6560 static enum ndr_err_code
ndr_pull_samr_CreateDomainGroup(struct ndr_pull
*ndr
, int flags
, struct samr_CreateDomainGroup
*r
)
6562 TALLOC_CTX
*_mem_save_domain_handle_0
;
6563 TALLOC_CTX
*_mem_save_name_0
;
6564 TALLOC_CTX
*_mem_save_group_handle_0
;
6565 TALLOC_CTX
*_mem_save_rid_0
;
6566 if (flags
& NDR_IN
) {
6567 ZERO_STRUCT(r
->out
);
6569 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6570 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
6572 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6573 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
6574 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6575 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6576 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6577 NDR_PULL_ALLOC(ndr
, r
->in
.name
);
6579 _mem_save_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6580 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.name
, LIBNDR_FLAG_REF_ALLOC
);
6581 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.name
));
6582 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_name_0
, LIBNDR_FLAG_REF_ALLOC
);
6583 NDR_CHECK(ndr_pull_samr_GroupAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
6584 NDR_PULL_ALLOC(ndr
, r
->out
.group_handle
);
6585 ZERO_STRUCTP(r
->out
.group_handle
);
6586 NDR_PULL_ALLOC(ndr
, r
->out
.rid
);
6587 ZERO_STRUCTP(r
->out
.rid
);
6589 if (flags
& NDR_OUT
) {
6590 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6591 NDR_PULL_ALLOC(ndr
, r
->out
.group_handle
);
6593 _mem_save_group_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6594 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.group_handle
, LIBNDR_FLAG_REF_ALLOC
);
6595 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.group_handle
));
6596 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_group_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6597 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6598 NDR_PULL_ALLOC(ndr
, r
->out
.rid
);
6600 _mem_save_rid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6601 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.rid
, LIBNDR_FLAG_REF_ALLOC
);
6602 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.rid
));
6603 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rid_0
, LIBNDR_FLAG_REF_ALLOC
);
6604 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6606 return NDR_ERR_SUCCESS
;
6609 _PUBLIC_
void ndr_print_samr_CreateDomainGroup(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_CreateDomainGroup
*r
)
6611 ndr_print_struct(ndr
, name
, "samr_CreateDomainGroup");
6613 if (flags
& NDR_SET_VALUES
) {
6614 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6616 if (flags
& NDR_IN
) {
6617 ndr_print_struct(ndr
, "in", "samr_CreateDomainGroup");
6619 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
6621 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
6623 ndr_print_ptr(ndr
, "name", r
->in
.name
);
6625 ndr_print_lsa_String(ndr
, "name", r
->in
.name
);
6627 ndr_print_samr_GroupAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
6630 if (flags
& NDR_OUT
) {
6631 ndr_print_struct(ndr
, "out", "samr_CreateDomainGroup");
6633 ndr_print_ptr(ndr
, "group_handle", r
->out
.group_handle
);
6635 ndr_print_policy_handle(ndr
, "group_handle", r
->out
.group_handle
);
6637 ndr_print_ptr(ndr
, "rid", r
->out
.rid
);
6639 ndr_print_uint32(ndr
, "rid", *r
->out
.rid
);
6641 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6647 static enum ndr_err_code
ndr_push_samr_EnumDomainGroups(struct ndr_push
*ndr
, int flags
, const struct samr_EnumDomainGroups
*r
)
6649 if (flags
& NDR_IN
) {
6650 if (r
->in
.domain_handle
== NULL
) {
6651 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6653 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6654 if (r
->in
.resume_handle
== NULL
) {
6655 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6657 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->in
.resume_handle
));
6658 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.max_size
));
6660 if (flags
& NDR_OUT
) {
6661 if (r
->out
.resume_handle
== NULL
) {
6662 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6664 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.resume_handle
));
6665 if (r
->out
.sam
== NULL
) {
6666 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6668 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.sam
));
6670 NDR_CHECK(ndr_push_samr_SamArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sam
));
6672 if (r
->out
.num_entries
== NULL
) {
6673 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6675 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.num_entries
));
6676 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6678 return NDR_ERR_SUCCESS
;
6681 static enum ndr_err_code
ndr_pull_samr_EnumDomainGroups(struct ndr_pull
*ndr
, int flags
, struct samr_EnumDomainGroups
*r
)
6684 TALLOC_CTX
*_mem_save_domain_handle_0
;
6685 TALLOC_CTX
*_mem_save_resume_handle_0
;
6686 TALLOC_CTX
*_mem_save_sam_0
;
6687 TALLOC_CTX
*_mem_save_sam_1
;
6688 TALLOC_CTX
*_mem_save_num_entries_0
;
6689 if (flags
& NDR_IN
) {
6690 ZERO_STRUCT(r
->out
);
6692 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6693 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
6695 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6696 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
6697 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6698 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6699 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6700 NDR_PULL_ALLOC(ndr
, r
->in
.resume_handle
);
6702 _mem_save_resume_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6703 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.resume_handle
, LIBNDR_FLAG_REF_ALLOC
);
6704 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->in
.resume_handle
));
6705 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_resume_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6706 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.max_size
));
6707 NDR_PULL_ALLOC(ndr
, r
->out
.resume_handle
);
6708 *r
->out
.resume_handle
= *r
->in
.resume_handle
;
6709 NDR_PULL_ALLOC(ndr
, r
->out
.sam
);
6710 ZERO_STRUCTP(r
->out
.sam
);
6711 NDR_PULL_ALLOC(ndr
, r
->out
.num_entries
);
6712 ZERO_STRUCTP(r
->out
.num_entries
);
6714 if (flags
& NDR_OUT
) {
6715 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6716 NDR_PULL_ALLOC(ndr
, r
->out
.resume_handle
);
6718 _mem_save_resume_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6719 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.resume_handle
, LIBNDR_FLAG_REF_ALLOC
);
6720 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.resume_handle
));
6721 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_resume_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6722 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6723 NDR_PULL_ALLOC(ndr
, r
->out
.sam
);
6725 _mem_save_sam_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6726 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sam
, LIBNDR_FLAG_REF_ALLOC
);
6727 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sam
));
6729 NDR_PULL_ALLOC(ndr
, *r
->out
.sam
);
6734 _mem_save_sam_1
= NDR_PULL_GET_MEM_CTX(ndr
);
6735 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.sam
, 0);
6736 NDR_CHECK(ndr_pull_samr_SamArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sam
));
6737 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sam_1
, 0);
6739 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sam_0
, LIBNDR_FLAG_REF_ALLOC
);
6740 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6741 NDR_PULL_ALLOC(ndr
, r
->out
.num_entries
);
6743 _mem_save_num_entries_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6744 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.num_entries
, LIBNDR_FLAG_REF_ALLOC
);
6745 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.num_entries
));
6746 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_num_entries_0
, LIBNDR_FLAG_REF_ALLOC
);
6747 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6749 return NDR_ERR_SUCCESS
;
6752 _PUBLIC_
void ndr_print_samr_EnumDomainGroups(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_EnumDomainGroups
*r
)
6754 ndr_print_struct(ndr
, name
, "samr_EnumDomainGroups");
6756 if (flags
& NDR_SET_VALUES
) {
6757 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6759 if (flags
& NDR_IN
) {
6760 ndr_print_struct(ndr
, "in", "samr_EnumDomainGroups");
6762 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
6764 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
6766 ndr_print_ptr(ndr
, "resume_handle", r
->in
.resume_handle
);
6768 ndr_print_uint32(ndr
, "resume_handle", *r
->in
.resume_handle
);
6770 ndr_print_uint32(ndr
, "max_size", r
->in
.max_size
);
6773 if (flags
& NDR_OUT
) {
6774 ndr_print_struct(ndr
, "out", "samr_EnumDomainGroups");
6776 ndr_print_ptr(ndr
, "resume_handle", r
->out
.resume_handle
);
6778 ndr_print_uint32(ndr
, "resume_handle", *r
->out
.resume_handle
);
6780 ndr_print_ptr(ndr
, "sam", r
->out
.sam
);
6782 ndr_print_ptr(ndr
, "sam", *r
->out
.sam
);
6785 ndr_print_samr_SamArray(ndr
, "sam", *r
->out
.sam
);
6789 ndr_print_ptr(ndr
, "num_entries", r
->out
.num_entries
);
6791 ndr_print_uint32(ndr
, "num_entries", *r
->out
.num_entries
);
6793 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6799 static enum ndr_err_code
ndr_push_samr_CreateUser(struct ndr_push
*ndr
, int flags
, const struct samr_CreateUser
*r
)
6801 if (flags
& NDR_IN
) {
6802 if (r
->in
.domain_handle
== NULL
) {
6803 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6805 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6806 if (r
->in
.account_name
== NULL
) {
6807 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6809 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.account_name
));
6810 NDR_CHECK(ndr_push_samr_UserAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
6812 if (flags
& NDR_OUT
) {
6813 if (r
->out
.user_handle
== NULL
) {
6814 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6816 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.user_handle
));
6817 if (r
->out
.rid
== NULL
) {
6818 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6820 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.rid
));
6821 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6823 return NDR_ERR_SUCCESS
;
6826 static enum ndr_err_code
ndr_pull_samr_CreateUser(struct ndr_pull
*ndr
, int flags
, struct samr_CreateUser
*r
)
6828 TALLOC_CTX
*_mem_save_domain_handle_0
;
6829 TALLOC_CTX
*_mem_save_account_name_0
;
6830 TALLOC_CTX
*_mem_save_user_handle_0
;
6831 TALLOC_CTX
*_mem_save_rid_0
;
6832 if (flags
& NDR_IN
) {
6833 ZERO_STRUCT(r
->out
);
6835 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6836 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
6838 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6839 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
6840 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6841 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6842 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6843 NDR_PULL_ALLOC(ndr
, r
->in
.account_name
);
6845 _mem_save_account_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6846 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.account_name
, LIBNDR_FLAG_REF_ALLOC
);
6847 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.account_name
));
6848 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_account_name_0
, LIBNDR_FLAG_REF_ALLOC
);
6849 NDR_CHECK(ndr_pull_samr_UserAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
6850 NDR_PULL_ALLOC(ndr
, r
->out
.user_handle
);
6851 ZERO_STRUCTP(r
->out
.user_handle
);
6852 NDR_PULL_ALLOC(ndr
, r
->out
.rid
);
6853 ZERO_STRUCTP(r
->out
.rid
);
6855 if (flags
& NDR_OUT
) {
6856 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6857 NDR_PULL_ALLOC(ndr
, r
->out
.user_handle
);
6859 _mem_save_user_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6860 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.user_handle
, LIBNDR_FLAG_REF_ALLOC
);
6861 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.user_handle
));
6862 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_user_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6863 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6864 NDR_PULL_ALLOC(ndr
, r
->out
.rid
);
6866 _mem_save_rid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6867 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.rid
, LIBNDR_FLAG_REF_ALLOC
);
6868 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.rid
));
6869 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rid_0
, LIBNDR_FLAG_REF_ALLOC
);
6870 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6872 return NDR_ERR_SUCCESS
;
6875 _PUBLIC_
void ndr_print_samr_CreateUser(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_CreateUser
*r
)
6877 ndr_print_struct(ndr
, name
, "samr_CreateUser");
6879 if (flags
& NDR_SET_VALUES
) {
6880 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6882 if (flags
& NDR_IN
) {
6883 ndr_print_struct(ndr
, "in", "samr_CreateUser");
6885 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
6887 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
6889 ndr_print_ptr(ndr
, "account_name", r
->in
.account_name
);
6891 ndr_print_lsa_String(ndr
, "account_name", r
->in
.account_name
);
6893 ndr_print_samr_UserAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
6896 if (flags
& NDR_OUT
) {
6897 ndr_print_struct(ndr
, "out", "samr_CreateUser");
6899 ndr_print_ptr(ndr
, "user_handle", r
->out
.user_handle
);
6901 ndr_print_policy_handle(ndr
, "user_handle", r
->out
.user_handle
);
6903 ndr_print_ptr(ndr
, "rid", r
->out
.rid
);
6905 ndr_print_uint32(ndr
, "rid", *r
->out
.rid
);
6907 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6913 static enum ndr_err_code
ndr_push_samr_EnumDomainUsers(struct ndr_push
*ndr
, int flags
, const struct samr_EnumDomainUsers
*r
)
6915 if (flags
& NDR_IN
) {
6916 if (r
->in
.domain_handle
== NULL
) {
6917 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6919 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6920 if (r
->in
.resume_handle
== NULL
) {
6921 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6923 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->in
.resume_handle
));
6924 NDR_CHECK(ndr_push_samr_AcctFlags(ndr
, NDR_SCALARS
, r
->in
.acct_flags
));
6925 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.max_size
));
6927 if (flags
& NDR_OUT
) {
6928 if (r
->out
.resume_handle
== NULL
) {
6929 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6931 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.resume_handle
));
6932 if (r
->out
.sam
== NULL
) {
6933 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6935 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.sam
));
6937 NDR_CHECK(ndr_push_samr_SamArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sam
));
6939 if (r
->out
.num_entries
== NULL
) {
6940 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6942 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.num_entries
));
6943 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6945 return NDR_ERR_SUCCESS
;
6948 static enum ndr_err_code
ndr_pull_samr_EnumDomainUsers(struct ndr_pull
*ndr
, int flags
, struct samr_EnumDomainUsers
*r
)
6951 TALLOC_CTX
*_mem_save_domain_handle_0
;
6952 TALLOC_CTX
*_mem_save_resume_handle_0
;
6953 TALLOC_CTX
*_mem_save_sam_0
;
6954 TALLOC_CTX
*_mem_save_sam_1
;
6955 TALLOC_CTX
*_mem_save_num_entries_0
;
6956 if (flags
& NDR_IN
) {
6957 ZERO_STRUCT(r
->out
);
6959 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6960 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
6962 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6963 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
6964 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6965 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6966 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6967 NDR_PULL_ALLOC(ndr
, r
->in
.resume_handle
);
6969 _mem_save_resume_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6970 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.resume_handle
, LIBNDR_FLAG_REF_ALLOC
);
6971 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->in
.resume_handle
));
6972 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_resume_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6973 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr
, NDR_SCALARS
, &r
->in
.acct_flags
));
6974 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.max_size
));
6975 NDR_PULL_ALLOC(ndr
, r
->out
.resume_handle
);
6976 *r
->out
.resume_handle
= *r
->in
.resume_handle
;
6977 NDR_PULL_ALLOC(ndr
, r
->out
.sam
);
6978 ZERO_STRUCTP(r
->out
.sam
);
6979 NDR_PULL_ALLOC(ndr
, r
->out
.num_entries
);
6980 ZERO_STRUCTP(r
->out
.num_entries
);
6982 if (flags
& NDR_OUT
) {
6983 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6984 NDR_PULL_ALLOC(ndr
, r
->out
.resume_handle
);
6986 _mem_save_resume_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6987 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.resume_handle
, LIBNDR_FLAG_REF_ALLOC
);
6988 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.resume_handle
));
6989 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_resume_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6990 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6991 NDR_PULL_ALLOC(ndr
, r
->out
.sam
);
6993 _mem_save_sam_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6994 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sam
, LIBNDR_FLAG_REF_ALLOC
);
6995 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sam
));
6997 NDR_PULL_ALLOC(ndr
, *r
->out
.sam
);
7002 _mem_save_sam_1
= NDR_PULL_GET_MEM_CTX(ndr
);
7003 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.sam
, 0);
7004 NDR_CHECK(ndr_pull_samr_SamArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sam
));
7005 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sam_1
, 0);
7007 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sam_0
, LIBNDR_FLAG_REF_ALLOC
);
7008 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7009 NDR_PULL_ALLOC(ndr
, r
->out
.num_entries
);
7011 _mem_save_num_entries_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7012 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.num_entries
, LIBNDR_FLAG_REF_ALLOC
);
7013 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.num_entries
));
7014 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_num_entries_0
, LIBNDR_FLAG_REF_ALLOC
);
7015 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7017 return NDR_ERR_SUCCESS
;
7020 _PUBLIC_
void ndr_print_samr_EnumDomainUsers(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_EnumDomainUsers
*r
)
7022 ndr_print_struct(ndr
, name
, "samr_EnumDomainUsers");
7024 if (flags
& NDR_SET_VALUES
) {
7025 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7027 if (flags
& NDR_IN
) {
7028 ndr_print_struct(ndr
, "in", "samr_EnumDomainUsers");
7030 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
7032 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
7034 ndr_print_ptr(ndr
, "resume_handle", r
->in
.resume_handle
);
7036 ndr_print_uint32(ndr
, "resume_handle", *r
->in
.resume_handle
);
7038 ndr_print_samr_AcctFlags(ndr
, "acct_flags", r
->in
.acct_flags
);
7039 ndr_print_uint32(ndr
, "max_size", r
->in
.max_size
);
7042 if (flags
& NDR_OUT
) {
7043 ndr_print_struct(ndr
, "out", "samr_EnumDomainUsers");
7045 ndr_print_ptr(ndr
, "resume_handle", r
->out
.resume_handle
);
7047 ndr_print_uint32(ndr
, "resume_handle", *r
->out
.resume_handle
);
7049 ndr_print_ptr(ndr
, "sam", r
->out
.sam
);
7051 ndr_print_ptr(ndr
, "sam", *r
->out
.sam
);
7054 ndr_print_samr_SamArray(ndr
, "sam", *r
->out
.sam
);
7058 ndr_print_ptr(ndr
, "num_entries", r
->out
.num_entries
);
7060 ndr_print_uint32(ndr
, "num_entries", *r
->out
.num_entries
);
7062 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7068 static enum ndr_err_code
ndr_push_samr_CreateDomAlias(struct ndr_push
*ndr
, int flags
, const struct samr_CreateDomAlias
*r
)
7070 if (flags
& NDR_IN
) {
7071 if (r
->in
.domain_handle
== NULL
) {
7072 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7074 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
7075 if (r
->in
.alias_name
== NULL
) {
7076 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7078 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.alias_name
));
7079 NDR_CHECK(ndr_push_samr_AliasAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
7081 if (flags
& NDR_OUT
) {
7082 if (r
->out
.alias_handle
== NULL
) {
7083 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7085 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.alias_handle
));
7086 if (r
->out
.rid
== NULL
) {
7087 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7089 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.rid
));
7090 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7092 return NDR_ERR_SUCCESS
;
7095 static enum ndr_err_code
ndr_pull_samr_CreateDomAlias(struct ndr_pull
*ndr
, int flags
, struct samr_CreateDomAlias
*r
)
7097 TALLOC_CTX
*_mem_save_domain_handle_0
;
7098 TALLOC_CTX
*_mem_save_alias_name_0
;
7099 TALLOC_CTX
*_mem_save_alias_handle_0
;
7100 TALLOC_CTX
*_mem_save_rid_0
;
7101 if (flags
& NDR_IN
) {
7102 ZERO_STRUCT(r
->out
);
7104 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7105 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
7107 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7108 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
7109 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
7110 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7111 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7112 NDR_PULL_ALLOC(ndr
, r
->in
.alias_name
);
7114 _mem_save_alias_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7115 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.alias_name
, LIBNDR_FLAG_REF_ALLOC
);
7116 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.alias_name
));
7117 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_alias_name_0
, LIBNDR_FLAG_REF_ALLOC
);
7118 NDR_CHECK(ndr_pull_samr_AliasAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
7119 NDR_PULL_ALLOC(ndr
, r
->out
.alias_handle
);
7120 ZERO_STRUCTP(r
->out
.alias_handle
);
7121 NDR_PULL_ALLOC(ndr
, r
->out
.rid
);
7122 ZERO_STRUCTP(r
->out
.rid
);
7124 if (flags
& NDR_OUT
) {
7125 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7126 NDR_PULL_ALLOC(ndr
, r
->out
.alias_handle
);
7128 _mem_save_alias_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7129 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.alias_handle
, LIBNDR_FLAG_REF_ALLOC
);
7130 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.alias_handle
));
7131 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_alias_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7132 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7133 NDR_PULL_ALLOC(ndr
, r
->out
.rid
);
7135 _mem_save_rid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7136 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.rid
, LIBNDR_FLAG_REF_ALLOC
);
7137 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.rid
));
7138 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rid_0
, LIBNDR_FLAG_REF_ALLOC
);
7139 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7141 return NDR_ERR_SUCCESS
;
7144 _PUBLIC_
void ndr_print_samr_CreateDomAlias(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_CreateDomAlias
*r
)
7146 ndr_print_struct(ndr
, name
, "samr_CreateDomAlias");
7148 if (flags
& NDR_SET_VALUES
) {
7149 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7151 if (flags
& NDR_IN
) {
7152 ndr_print_struct(ndr
, "in", "samr_CreateDomAlias");
7154 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
7156 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
7158 ndr_print_ptr(ndr
, "alias_name", r
->in
.alias_name
);
7160 ndr_print_lsa_String(ndr
, "alias_name", r
->in
.alias_name
);
7162 ndr_print_samr_AliasAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
7165 if (flags
& NDR_OUT
) {
7166 ndr_print_struct(ndr
, "out", "samr_CreateDomAlias");
7168 ndr_print_ptr(ndr
, "alias_handle", r
->out
.alias_handle
);
7170 ndr_print_policy_handle(ndr
, "alias_handle", r
->out
.alias_handle
);
7172 ndr_print_ptr(ndr
, "rid", r
->out
.rid
);
7174 ndr_print_uint32(ndr
, "rid", *r
->out
.rid
);
7176 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7182 static enum ndr_err_code
ndr_push_samr_EnumDomainAliases(struct ndr_push
*ndr
, int flags
, const struct samr_EnumDomainAliases
*r
)
7184 if (flags
& NDR_IN
) {
7185 if (r
->in
.domain_handle
== NULL
) {
7186 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7188 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
7189 if (r
->in
.resume_handle
== NULL
) {
7190 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7192 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->in
.resume_handle
));
7193 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.max_size
));
7195 if (flags
& NDR_OUT
) {
7196 if (r
->out
.resume_handle
== NULL
) {
7197 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7199 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.resume_handle
));
7200 if (r
->out
.sam
== NULL
) {
7201 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7203 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.sam
));
7205 NDR_CHECK(ndr_push_samr_SamArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sam
));
7207 if (r
->out
.num_entries
== NULL
) {
7208 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7210 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.num_entries
));
7211 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7213 return NDR_ERR_SUCCESS
;
7216 static enum ndr_err_code
ndr_pull_samr_EnumDomainAliases(struct ndr_pull
*ndr
, int flags
, struct samr_EnumDomainAliases
*r
)
7219 TALLOC_CTX
*_mem_save_domain_handle_0
;
7220 TALLOC_CTX
*_mem_save_resume_handle_0
;
7221 TALLOC_CTX
*_mem_save_sam_0
;
7222 TALLOC_CTX
*_mem_save_sam_1
;
7223 TALLOC_CTX
*_mem_save_num_entries_0
;
7224 if (flags
& NDR_IN
) {
7225 ZERO_STRUCT(r
->out
);
7227 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7228 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
7230 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7231 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
7232 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
7233 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7234 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7235 NDR_PULL_ALLOC(ndr
, r
->in
.resume_handle
);
7237 _mem_save_resume_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7238 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.resume_handle
, LIBNDR_FLAG_REF_ALLOC
);
7239 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->in
.resume_handle
));
7240 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_resume_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7241 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.max_size
));
7242 NDR_PULL_ALLOC(ndr
, r
->out
.resume_handle
);
7243 *r
->out
.resume_handle
= *r
->in
.resume_handle
;
7244 NDR_PULL_ALLOC(ndr
, r
->out
.sam
);
7245 ZERO_STRUCTP(r
->out
.sam
);
7246 NDR_PULL_ALLOC(ndr
, r
->out
.num_entries
);
7247 ZERO_STRUCTP(r
->out
.num_entries
);
7249 if (flags
& NDR_OUT
) {
7250 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7251 NDR_PULL_ALLOC(ndr
, r
->out
.resume_handle
);
7253 _mem_save_resume_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7254 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.resume_handle
, LIBNDR_FLAG_REF_ALLOC
);
7255 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.resume_handle
));
7256 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_resume_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7257 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7258 NDR_PULL_ALLOC(ndr
, r
->out
.sam
);
7260 _mem_save_sam_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7261 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sam
, LIBNDR_FLAG_REF_ALLOC
);
7262 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sam
));
7264 NDR_PULL_ALLOC(ndr
, *r
->out
.sam
);
7269 _mem_save_sam_1
= NDR_PULL_GET_MEM_CTX(ndr
);
7270 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.sam
, 0);
7271 NDR_CHECK(ndr_pull_samr_SamArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sam
));
7272 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sam_1
, 0);
7274 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sam_0
, LIBNDR_FLAG_REF_ALLOC
);
7275 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7276 NDR_PULL_ALLOC(ndr
, r
->out
.num_entries
);
7278 _mem_save_num_entries_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7279 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.num_entries
, LIBNDR_FLAG_REF_ALLOC
);
7280 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.num_entries
));
7281 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_num_entries_0
, LIBNDR_FLAG_REF_ALLOC
);
7282 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7284 return NDR_ERR_SUCCESS
;
7287 _PUBLIC_
void ndr_print_samr_EnumDomainAliases(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_EnumDomainAliases
*r
)
7289 ndr_print_struct(ndr
, name
, "samr_EnumDomainAliases");
7291 if (flags
& NDR_SET_VALUES
) {
7292 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7294 if (flags
& NDR_IN
) {
7295 ndr_print_struct(ndr
, "in", "samr_EnumDomainAliases");
7297 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
7299 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
7301 ndr_print_ptr(ndr
, "resume_handle", r
->in
.resume_handle
);
7303 ndr_print_uint32(ndr
, "resume_handle", *r
->in
.resume_handle
);
7305 ndr_print_uint32(ndr
, "max_size", r
->in
.max_size
);
7308 if (flags
& NDR_OUT
) {
7309 ndr_print_struct(ndr
, "out", "samr_EnumDomainAliases");
7311 ndr_print_ptr(ndr
, "resume_handle", r
->out
.resume_handle
);
7313 ndr_print_uint32(ndr
, "resume_handle", *r
->out
.resume_handle
);
7315 ndr_print_ptr(ndr
, "sam", r
->out
.sam
);
7317 ndr_print_ptr(ndr
, "sam", *r
->out
.sam
);
7320 ndr_print_samr_SamArray(ndr
, "sam", *r
->out
.sam
);
7324 ndr_print_ptr(ndr
, "num_entries", r
->out
.num_entries
);
7326 ndr_print_uint32(ndr
, "num_entries", *r
->out
.num_entries
);
7328 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7334 static enum ndr_err_code
ndr_push_samr_GetAliasMembership(struct ndr_push
*ndr
, int flags
, const struct samr_GetAliasMembership
*r
)
7336 if (flags
& NDR_IN
) {
7337 if (r
->in
.domain_handle
== NULL
) {
7338 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7340 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
7341 if (r
->in
.sids
== NULL
) {
7342 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7344 NDR_CHECK(ndr_push_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
7346 if (flags
& NDR_OUT
) {
7347 if (r
->out
.rids
== NULL
) {
7348 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7350 NDR_CHECK(ndr_push_samr_Ids(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.rids
));
7351 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7353 return NDR_ERR_SUCCESS
;
7356 static enum ndr_err_code
ndr_pull_samr_GetAliasMembership(struct ndr_pull
*ndr
, int flags
, struct samr_GetAliasMembership
*r
)
7358 TALLOC_CTX
*_mem_save_domain_handle_0
;
7359 TALLOC_CTX
*_mem_save_sids_0
;
7360 TALLOC_CTX
*_mem_save_rids_0
;
7361 if (flags
& NDR_IN
) {
7362 ZERO_STRUCT(r
->out
);
7364 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7365 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
7367 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7368 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
7369 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
7370 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7371 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7372 NDR_PULL_ALLOC(ndr
, r
->in
.sids
);
7374 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7375 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sids
, LIBNDR_FLAG_REF_ALLOC
);
7376 NDR_CHECK(ndr_pull_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
7377 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, LIBNDR_FLAG_REF_ALLOC
);
7378 NDR_PULL_ALLOC(ndr
, r
->out
.rids
);
7379 ZERO_STRUCTP(r
->out
.rids
);
7381 if (flags
& NDR_OUT
) {
7382 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7383 NDR_PULL_ALLOC(ndr
, r
->out
.rids
);
7385 _mem_save_rids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7386 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.rids
, LIBNDR_FLAG_REF_ALLOC
);
7387 NDR_CHECK(ndr_pull_samr_Ids(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.rids
));
7388 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rids_0
, LIBNDR_FLAG_REF_ALLOC
);
7389 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7391 return NDR_ERR_SUCCESS
;
7394 _PUBLIC_
void ndr_print_samr_GetAliasMembership(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_GetAliasMembership
*r
)
7396 ndr_print_struct(ndr
, name
, "samr_GetAliasMembership");
7398 if (flags
& NDR_SET_VALUES
) {
7399 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7401 if (flags
& NDR_IN
) {
7402 ndr_print_struct(ndr
, "in", "samr_GetAliasMembership");
7404 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
7406 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
7408 ndr_print_ptr(ndr
, "sids", r
->in
.sids
);
7410 ndr_print_lsa_SidArray(ndr
, "sids", r
->in
.sids
);
7414 if (flags
& NDR_OUT
) {
7415 ndr_print_struct(ndr
, "out", "samr_GetAliasMembership");
7417 ndr_print_ptr(ndr
, "rids", r
->out
.rids
);
7419 ndr_print_samr_Ids(ndr
, "rids", r
->out
.rids
);
7421 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7427 _PUBLIC_
enum ndr_err_code
ndr_push_samr_LookupNames(struct ndr_push
*ndr
, int flags
, const struct samr_LookupNames
*r
)
7429 uint32_t cntr_names_0
;
7430 if (flags
& NDR_IN
) {
7431 if (r
->in
.domain_handle
== NULL
) {
7432 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7434 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
7435 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.num_names
));
7436 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 1000));
7437 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7438 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->in
.num_names
));
7439 for (cntr_names_0
= 0; cntr_names_0
< r
->in
.num_names
; cntr_names_0
++) {
7440 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->in
.names
[cntr_names_0
]));
7442 for (cntr_names_0
= 0; cntr_names_0
< r
->in
.num_names
; cntr_names_0
++) {
7443 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->in
.names
[cntr_names_0
]));
7446 if (flags
& NDR_OUT
) {
7447 if (r
->out
.rids
== NULL
) {
7448 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7450 NDR_CHECK(ndr_push_samr_Ids(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.rids
));
7451 if (r
->out
.types
== NULL
) {
7452 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7454 NDR_CHECK(ndr_push_samr_Ids(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.types
));
7455 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7457 return NDR_ERR_SUCCESS
;
7460 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_LookupNames(struct ndr_pull
*ndr
, int flags
, struct samr_LookupNames
*r
)
7462 uint32_t size_names_0
= 0;
7463 uint32_t length_names_0
= 0;
7464 uint32_t cntr_names_0
;
7465 TALLOC_CTX
*_mem_save_domain_handle_0
;
7466 TALLOC_CTX
*_mem_save_names_0
;
7467 TALLOC_CTX
*_mem_save_rids_0
;
7468 TALLOC_CTX
*_mem_save_types_0
;
7469 if (flags
& NDR_IN
) {
7470 ZERO_STRUCT(r
->out
);
7472 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7473 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
7475 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7476 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
7477 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
7478 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7479 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.num_names
));
7480 if (r
->in
.num_names
> 1000) {
7481 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
7483 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->in
.names
));
7484 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->in
.names
));
7485 size_names_0
= ndr_get_array_size(ndr
, &r
->in
.names
);
7486 length_names_0
= ndr_get_array_length(ndr
, &r
->in
.names
);
7487 if (length_names_0
> size_names_0
) {
7488 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", size_names_0
, length_names_0
);
7490 NDR_PULL_ALLOC_N(ndr
, r
->in
.names
, size_names_0
);
7491 _mem_save_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7492 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.names
, 0);
7493 for (cntr_names_0
= 0; cntr_names_0
< length_names_0
; cntr_names_0
++) {
7494 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->in
.names
[cntr_names_0
]));
7496 for (cntr_names_0
= 0; cntr_names_0
< length_names_0
; cntr_names_0
++) {
7497 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->in
.names
[cntr_names_0
]));
7499 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_0
, 0);
7500 NDR_PULL_ALLOC(ndr
, r
->out
.rids
);
7501 ZERO_STRUCTP(r
->out
.rids
);
7502 NDR_PULL_ALLOC(ndr
, r
->out
.types
);
7503 ZERO_STRUCTP(r
->out
.types
);
7505 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->in
.names
, 1000));
7508 NDR_CHECK(ndr_check_array_length(ndr
, (void*)&r
->in
.names
, r
->in
.num_names
));
7511 if (flags
& NDR_OUT
) {
7512 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7513 NDR_PULL_ALLOC(ndr
, r
->out
.rids
);
7515 _mem_save_rids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7516 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.rids
, LIBNDR_FLAG_REF_ALLOC
);
7517 NDR_CHECK(ndr_pull_samr_Ids(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.rids
));
7518 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rids_0
, LIBNDR_FLAG_REF_ALLOC
);
7519 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7520 NDR_PULL_ALLOC(ndr
, r
->out
.types
);
7522 _mem_save_types_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7523 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.types
, LIBNDR_FLAG_REF_ALLOC
);
7524 NDR_CHECK(ndr_pull_samr_Ids(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.types
));
7525 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_types_0
, LIBNDR_FLAG_REF_ALLOC
);
7526 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7528 return NDR_ERR_SUCCESS
;
7531 _PUBLIC_
void ndr_print_samr_LookupNames(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_LookupNames
*r
)
7533 uint32_t cntr_names_0
;
7534 ndr_print_struct(ndr
, name
, "samr_LookupNames");
7536 if (flags
& NDR_SET_VALUES
) {
7537 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7539 if (flags
& NDR_IN
) {
7540 ndr_print_struct(ndr
, "in", "samr_LookupNames");
7542 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
7544 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
7546 ndr_print_uint32(ndr
, "num_names", r
->in
.num_names
);
7547 ndr
->print(ndr
, "%s: ARRAY(%d)", "names", (int)r
->in
.num_names
);
7549 for (cntr_names_0
=0;cntr_names_0
<r
->in
.num_names
;cntr_names_0
++) {
7551 if (asprintf(&idx_0
, "[%d]", cntr_names_0
) != -1) {
7552 ndr_print_lsa_String(ndr
, "names", &r
->in
.names
[cntr_names_0
]);
7559 if (flags
& NDR_OUT
) {
7560 ndr_print_struct(ndr
, "out", "samr_LookupNames");
7562 ndr_print_ptr(ndr
, "rids", r
->out
.rids
);
7564 ndr_print_samr_Ids(ndr
, "rids", r
->out
.rids
);
7566 ndr_print_ptr(ndr
, "types", r
->out
.types
);
7568 ndr_print_samr_Ids(ndr
, "types", r
->out
.types
);
7570 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7576 static enum ndr_err_code
ndr_push_samr_LookupRids(struct ndr_push
*ndr
, int flags
, const struct samr_LookupRids
*r
)
7578 uint32_t cntr_rids_0
;
7579 if (flags
& NDR_IN
) {
7580 if (r
->in
.domain_handle
== NULL
) {
7581 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7583 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
7584 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.num_rids
));
7585 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 1000));
7586 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7587 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->in
.num_rids
));
7588 for (cntr_rids_0
= 0; cntr_rids_0
< r
->in
.num_rids
; cntr_rids_0
++) {
7589 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.rids
[cntr_rids_0
]));
7592 if (flags
& NDR_OUT
) {
7593 if (r
->out
.names
== NULL
) {
7594 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7596 NDR_CHECK(ndr_push_lsa_Strings(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.names
));
7597 if (r
->out
.types
== NULL
) {
7598 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7600 NDR_CHECK(ndr_push_samr_Ids(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.types
));
7601 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7603 return NDR_ERR_SUCCESS
;
7606 static enum ndr_err_code
ndr_pull_samr_LookupRids(struct ndr_pull
*ndr
, int flags
, struct samr_LookupRids
*r
)
7608 uint32_t size_rids_0
= 0;
7609 uint32_t length_rids_0
= 0;
7610 uint32_t cntr_rids_0
;
7611 TALLOC_CTX
*_mem_save_domain_handle_0
;
7612 TALLOC_CTX
*_mem_save_rids_0
;
7613 TALLOC_CTX
*_mem_save_names_0
;
7614 TALLOC_CTX
*_mem_save_types_0
;
7615 if (flags
& NDR_IN
) {
7616 ZERO_STRUCT(r
->out
);
7618 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7619 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
7621 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7622 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
7623 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
7624 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7625 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.num_rids
));
7626 if (r
->in
.num_rids
> 1000) {
7627 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
7629 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->in
.rids
));
7630 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->in
.rids
));
7631 size_rids_0
= ndr_get_array_size(ndr
, &r
->in
.rids
);
7632 length_rids_0
= ndr_get_array_length(ndr
, &r
->in
.rids
);
7633 if (length_rids_0
> size_rids_0
) {
7634 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", size_rids_0
, length_rids_0
);
7636 NDR_PULL_ALLOC_N(ndr
, r
->in
.rids
, size_rids_0
);
7637 _mem_save_rids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7638 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.rids
, 0);
7639 for (cntr_rids_0
= 0; cntr_rids_0
< length_rids_0
; cntr_rids_0
++) {
7640 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.rids
[cntr_rids_0
]));
7642 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rids_0
, 0);
7643 NDR_PULL_ALLOC(ndr
, r
->out
.names
);
7644 ZERO_STRUCTP(r
->out
.names
);
7645 NDR_PULL_ALLOC(ndr
, r
->out
.types
);
7646 ZERO_STRUCTP(r
->out
.types
);
7648 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->in
.rids
, 1000));
7651 NDR_CHECK(ndr_check_array_length(ndr
, (void*)&r
->in
.rids
, r
->in
.num_rids
));
7654 if (flags
& NDR_OUT
) {
7655 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7656 NDR_PULL_ALLOC(ndr
, r
->out
.names
);
7658 _mem_save_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7659 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.names
, LIBNDR_FLAG_REF_ALLOC
);
7660 NDR_CHECK(ndr_pull_lsa_Strings(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.names
));
7661 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_0
, LIBNDR_FLAG_REF_ALLOC
);
7662 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7663 NDR_PULL_ALLOC(ndr
, r
->out
.types
);
7665 _mem_save_types_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7666 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.types
, LIBNDR_FLAG_REF_ALLOC
);
7667 NDR_CHECK(ndr_pull_samr_Ids(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.types
));
7668 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_types_0
, LIBNDR_FLAG_REF_ALLOC
);
7669 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7671 return NDR_ERR_SUCCESS
;
7674 _PUBLIC_
void ndr_print_samr_LookupRids(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_LookupRids
*r
)
7676 uint32_t cntr_rids_0
;
7677 ndr_print_struct(ndr
, name
, "samr_LookupRids");
7679 if (flags
& NDR_SET_VALUES
) {
7680 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7682 if (flags
& NDR_IN
) {
7683 ndr_print_struct(ndr
, "in", "samr_LookupRids");
7685 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
7687 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
7689 ndr_print_uint32(ndr
, "num_rids", r
->in
.num_rids
);
7690 ndr
->print(ndr
, "%s: ARRAY(%d)", "rids", (int)r
->in
.num_rids
);
7692 for (cntr_rids_0
=0;cntr_rids_0
<r
->in
.num_rids
;cntr_rids_0
++) {
7694 if (asprintf(&idx_0
, "[%d]", cntr_rids_0
) != -1) {
7695 ndr_print_uint32(ndr
, "rids", r
->in
.rids
[cntr_rids_0
]);
7702 if (flags
& NDR_OUT
) {
7703 ndr_print_struct(ndr
, "out", "samr_LookupRids");
7705 ndr_print_ptr(ndr
, "names", r
->out
.names
);
7707 ndr_print_lsa_Strings(ndr
, "names", r
->out
.names
);
7709 ndr_print_ptr(ndr
, "types", r
->out
.types
);
7711 ndr_print_samr_Ids(ndr
, "types", r
->out
.types
);
7713 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7719 static enum ndr_err_code
ndr_push_samr_OpenGroup(struct ndr_push
*ndr
, int flags
, const struct samr_OpenGroup
*r
)
7721 if (flags
& NDR_IN
) {
7722 if (r
->in
.domain_handle
== NULL
) {
7723 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7725 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
7726 NDR_CHECK(ndr_push_samr_GroupAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
7727 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.rid
));
7729 if (flags
& NDR_OUT
) {
7730 if (r
->out
.group_handle
== NULL
) {
7731 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7733 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.group_handle
));
7734 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7736 return NDR_ERR_SUCCESS
;
7739 static enum ndr_err_code
ndr_pull_samr_OpenGroup(struct ndr_pull
*ndr
, int flags
, struct samr_OpenGroup
*r
)
7741 TALLOC_CTX
*_mem_save_domain_handle_0
;
7742 TALLOC_CTX
*_mem_save_group_handle_0
;
7743 if (flags
& NDR_IN
) {
7744 ZERO_STRUCT(r
->out
);
7746 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7747 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
7749 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7750 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
7751 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
7752 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7753 NDR_CHECK(ndr_pull_samr_GroupAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
7754 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.rid
));
7755 NDR_PULL_ALLOC(ndr
, r
->out
.group_handle
);
7756 ZERO_STRUCTP(r
->out
.group_handle
);
7758 if (flags
& NDR_OUT
) {
7759 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7760 NDR_PULL_ALLOC(ndr
, r
->out
.group_handle
);
7762 _mem_save_group_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7763 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.group_handle
, LIBNDR_FLAG_REF_ALLOC
);
7764 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.group_handle
));
7765 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_group_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7766 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7768 return NDR_ERR_SUCCESS
;
7771 _PUBLIC_
void ndr_print_samr_OpenGroup(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_OpenGroup
*r
)
7773 ndr_print_struct(ndr
, name
, "samr_OpenGroup");
7775 if (flags
& NDR_SET_VALUES
) {
7776 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7778 if (flags
& NDR_IN
) {
7779 ndr_print_struct(ndr
, "in", "samr_OpenGroup");
7781 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
7783 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
7785 ndr_print_samr_GroupAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
7786 ndr_print_uint32(ndr
, "rid", r
->in
.rid
);
7789 if (flags
& NDR_OUT
) {
7790 ndr_print_struct(ndr
, "out", "samr_OpenGroup");
7792 ndr_print_ptr(ndr
, "group_handle", r
->out
.group_handle
);
7794 ndr_print_policy_handle(ndr
, "group_handle", r
->out
.group_handle
);
7796 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7802 static enum ndr_err_code
ndr_push_samr_QueryGroupInfo(struct ndr_push
*ndr
, int flags
, const struct samr_QueryGroupInfo
*r
)
7804 if (flags
& NDR_IN
) {
7805 if (r
->in
.group_handle
== NULL
) {
7806 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7808 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
7809 NDR_CHECK(ndr_push_samr_GroupInfoEnum(ndr
, NDR_SCALARS
, r
->in
.level
));
7811 if (flags
& NDR_OUT
) {
7812 if (r
->out
.info
== NULL
) {
7813 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7815 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.info
));
7817 NDR_CHECK(ndr_push_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
7818 NDR_CHECK(ndr_push_samr_GroupInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
7820 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7822 return NDR_ERR_SUCCESS
;
7825 static enum ndr_err_code
ndr_pull_samr_QueryGroupInfo(struct ndr_pull
*ndr
, int flags
, struct samr_QueryGroupInfo
*r
)
7828 TALLOC_CTX
*_mem_save_group_handle_0
;
7829 TALLOC_CTX
*_mem_save_info_0
;
7830 TALLOC_CTX
*_mem_save_info_1
;
7831 if (flags
& NDR_IN
) {
7832 ZERO_STRUCT(r
->out
);
7834 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7835 NDR_PULL_ALLOC(ndr
, r
->in
.group_handle
);
7837 _mem_save_group_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7838 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.group_handle
, LIBNDR_FLAG_REF_ALLOC
);
7839 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
7840 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_group_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7841 NDR_CHECK(ndr_pull_samr_GroupInfoEnum(ndr
, NDR_SCALARS
, &r
->in
.level
));
7842 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
7843 ZERO_STRUCTP(r
->out
.info
);
7845 if (flags
& NDR_OUT
) {
7846 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7847 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
7849 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7850 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
7851 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
7853 NDR_PULL_ALLOC(ndr
, *r
->out
.info
);
7855 *r
->out
.info
= NULL
;
7858 _mem_save_info_1
= NDR_PULL_GET_MEM_CTX(ndr
);
7859 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.info
, 0);
7860 NDR_CHECK(ndr_pull_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
7861 NDR_CHECK(ndr_pull_samr_GroupInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
7862 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_1
, 0);
7864 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
7865 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7867 return NDR_ERR_SUCCESS
;
7870 _PUBLIC_
void ndr_print_samr_QueryGroupInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_QueryGroupInfo
*r
)
7872 ndr_print_struct(ndr
, name
, "samr_QueryGroupInfo");
7874 if (flags
& NDR_SET_VALUES
) {
7875 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7877 if (flags
& NDR_IN
) {
7878 ndr_print_struct(ndr
, "in", "samr_QueryGroupInfo");
7880 ndr_print_ptr(ndr
, "group_handle", r
->in
.group_handle
);
7882 ndr_print_policy_handle(ndr
, "group_handle", r
->in
.group_handle
);
7884 ndr_print_samr_GroupInfoEnum(ndr
, "level", r
->in
.level
);
7887 if (flags
& NDR_OUT
) {
7888 ndr_print_struct(ndr
, "out", "samr_QueryGroupInfo");
7890 ndr_print_ptr(ndr
, "info", r
->out
.info
);
7892 ndr_print_ptr(ndr
, "info", *r
->out
.info
);
7895 ndr_print_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
);
7896 ndr_print_samr_GroupInfo(ndr
, "info", *r
->out
.info
);
7900 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7906 static enum ndr_err_code
ndr_push_samr_SetGroupInfo(struct ndr_push
*ndr
, int flags
, const struct samr_SetGroupInfo
*r
)
7908 if (flags
& NDR_IN
) {
7909 if (r
->in
.group_handle
== NULL
) {
7910 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7912 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
7913 NDR_CHECK(ndr_push_samr_GroupInfoEnum(ndr
, NDR_SCALARS
, r
->in
.level
));
7914 if (r
->in
.info
== NULL
) {
7915 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7917 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
7918 NDR_CHECK(ndr_push_samr_GroupInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
7920 if (flags
& NDR_OUT
) {
7921 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7923 return NDR_ERR_SUCCESS
;
7926 static enum ndr_err_code
ndr_pull_samr_SetGroupInfo(struct ndr_pull
*ndr
, int flags
, struct samr_SetGroupInfo
*r
)
7928 TALLOC_CTX
*_mem_save_group_handle_0
;
7929 TALLOC_CTX
*_mem_save_info_0
;
7930 if (flags
& NDR_IN
) {
7931 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7932 NDR_PULL_ALLOC(ndr
, r
->in
.group_handle
);
7934 _mem_save_group_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7935 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.group_handle
, LIBNDR_FLAG_REF_ALLOC
);
7936 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
7937 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_group_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7938 NDR_CHECK(ndr_pull_samr_GroupInfoEnum(ndr
, NDR_SCALARS
, &r
->in
.level
));
7939 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7940 NDR_PULL_ALLOC(ndr
, r
->in
.info
);
7942 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7943 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.info
, LIBNDR_FLAG_REF_ALLOC
);
7944 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
7945 NDR_CHECK(ndr_pull_samr_GroupInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
7946 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
7948 if (flags
& NDR_OUT
) {
7949 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7951 return NDR_ERR_SUCCESS
;
7954 _PUBLIC_
void ndr_print_samr_SetGroupInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_SetGroupInfo
*r
)
7956 ndr_print_struct(ndr
, name
, "samr_SetGroupInfo");
7958 if (flags
& NDR_SET_VALUES
) {
7959 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7961 if (flags
& NDR_IN
) {
7962 ndr_print_struct(ndr
, "in", "samr_SetGroupInfo");
7964 ndr_print_ptr(ndr
, "group_handle", r
->in
.group_handle
);
7966 ndr_print_policy_handle(ndr
, "group_handle", r
->in
.group_handle
);
7968 ndr_print_samr_GroupInfoEnum(ndr
, "level", r
->in
.level
);
7969 ndr_print_ptr(ndr
, "info", r
->in
.info
);
7971 ndr_print_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
);
7972 ndr_print_samr_GroupInfo(ndr
, "info", r
->in
.info
);
7976 if (flags
& NDR_OUT
) {
7977 ndr_print_struct(ndr
, "out", "samr_SetGroupInfo");
7979 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7985 static enum ndr_err_code
ndr_push_samr_AddGroupMember(struct ndr_push
*ndr
, int flags
, const struct samr_AddGroupMember
*r
)
7987 if (flags
& NDR_IN
) {
7988 if (r
->in
.group_handle
== NULL
) {
7989 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7991 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
7992 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.rid
));
7993 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.flags
));
7995 if (flags
& NDR_OUT
) {
7996 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7998 return NDR_ERR_SUCCESS
;
8001 static enum ndr_err_code
ndr_pull_samr_AddGroupMember(struct ndr_pull
*ndr
, int flags
, struct samr_AddGroupMember
*r
)
8003 TALLOC_CTX
*_mem_save_group_handle_0
;
8004 if (flags
& NDR_IN
) {
8005 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8006 NDR_PULL_ALLOC(ndr
, r
->in
.group_handle
);
8008 _mem_save_group_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8009 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.group_handle
, LIBNDR_FLAG_REF_ALLOC
);
8010 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
8011 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_group_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8012 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.rid
));
8013 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.flags
));
8015 if (flags
& NDR_OUT
) {
8016 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8018 return NDR_ERR_SUCCESS
;
8021 _PUBLIC_
void ndr_print_samr_AddGroupMember(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_AddGroupMember
*r
)
8023 ndr_print_struct(ndr
, name
, "samr_AddGroupMember");
8025 if (flags
& NDR_SET_VALUES
) {
8026 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8028 if (flags
& NDR_IN
) {
8029 ndr_print_struct(ndr
, "in", "samr_AddGroupMember");
8031 ndr_print_ptr(ndr
, "group_handle", r
->in
.group_handle
);
8033 ndr_print_policy_handle(ndr
, "group_handle", r
->in
.group_handle
);
8035 ndr_print_uint32(ndr
, "rid", r
->in
.rid
);
8036 ndr_print_uint32(ndr
, "flags", r
->in
.flags
);
8039 if (flags
& NDR_OUT
) {
8040 ndr_print_struct(ndr
, "out", "samr_AddGroupMember");
8042 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8048 static enum ndr_err_code
ndr_push_samr_DeleteDomainGroup(struct ndr_push
*ndr
, int flags
, const struct samr_DeleteDomainGroup
*r
)
8050 if (flags
& NDR_IN
) {
8051 if (r
->in
.group_handle
== NULL
) {
8052 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8054 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
8056 if (flags
& NDR_OUT
) {
8057 if (r
->out
.group_handle
== NULL
) {
8058 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8060 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.group_handle
));
8061 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8063 return NDR_ERR_SUCCESS
;
8066 static enum ndr_err_code
ndr_pull_samr_DeleteDomainGroup(struct ndr_pull
*ndr
, int flags
, struct samr_DeleteDomainGroup
*r
)
8068 TALLOC_CTX
*_mem_save_group_handle_0
;
8069 if (flags
& NDR_IN
) {
8070 ZERO_STRUCT(r
->out
);
8072 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8073 NDR_PULL_ALLOC(ndr
, r
->in
.group_handle
);
8075 _mem_save_group_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8076 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.group_handle
, LIBNDR_FLAG_REF_ALLOC
);
8077 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
8078 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_group_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8079 NDR_PULL_ALLOC(ndr
, r
->out
.group_handle
);
8080 *r
->out
.group_handle
= *r
->in
.group_handle
;
8082 if (flags
& NDR_OUT
) {
8083 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8084 NDR_PULL_ALLOC(ndr
, r
->out
.group_handle
);
8086 _mem_save_group_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8087 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.group_handle
, LIBNDR_FLAG_REF_ALLOC
);
8088 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.group_handle
));
8089 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_group_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8090 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8092 return NDR_ERR_SUCCESS
;
8095 _PUBLIC_
void ndr_print_samr_DeleteDomainGroup(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_DeleteDomainGroup
*r
)
8097 ndr_print_struct(ndr
, name
, "samr_DeleteDomainGroup");
8099 if (flags
& NDR_SET_VALUES
) {
8100 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8102 if (flags
& NDR_IN
) {
8103 ndr_print_struct(ndr
, "in", "samr_DeleteDomainGroup");
8105 ndr_print_ptr(ndr
, "group_handle", r
->in
.group_handle
);
8107 ndr_print_policy_handle(ndr
, "group_handle", r
->in
.group_handle
);
8111 if (flags
& NDR_OUT
) {
8112 ndr_print_struct(ndr
, "out", "samr_DeleteDomainGroup");
8114 ndr_print_ptr(ndr
, "group_handle", r
->out
.group_handle
);
8116 ndr_print_policy_handle(ndr
, "group_handle", r
->out
.group_handle
);
8118 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8124 static enum ndr_err_code
ndr_push_samr_DeleteGroupMember(struct ndr_push
*ndr
, int flags
, const struct samr_DeleteGroupMember
*r
)
8126 if (flags
& NDR_IN
) {
8127 if (r
->in
.group_handle
== NULL
) {
8128 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8130 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
8131 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.rid
));
8133 if (flags
& NDR_OUT
) {
8134 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8136 return NDR_ERR_SUCCESS
;
8139 static enum ndr_err_code
ndr_pull_samr_DeleteGroupMember(struct ndr_pull
*ndr
, int flags
, struct samr_DeleteGroupMember
*r
)
8141 TALLOC_CTX
*_mem_save_group_handle_0
;
8142 if (flags
& NDR_IN
) {
8143 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8144 NDR_PULL_ALLOC(ndr
, r
->in
.group_handle
);
8146 _mem_save_group_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8147 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.group_handle
, LIBNDR_FLAG_REF_ALLOC
);
8148 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
8149 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_group_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8150 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.rid
));
8152 if (flags
& NDR_OUT
) {
8153 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8155 return NDR_ERR_SUCCESS
;
8158 _PUBLIC_
void ndr_print_samr_DeleteGroupMember(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_DeleteGroupMember
*r
)
8160 ndr_print_struct(ndr
, name
, "samr_DeleteGroupMember");
8162 if (flags
& NDR_SET_VALUES
) {
8163 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8165 if (flags
& NDR_IN
) {
8166 ndr_print_struct(ndr
, "in", "samr_DeleteGroupMember");
8168 ndr_print_ptr(ndr
, "group_handle", r
->in
.group_handle
);
8170 ndr_print_policy_handle(ndr
, "group_handle", r
->in
.group_handle
);
8172 ndr_print_uint32(ndr
, "rid", r
->in
.rid
);
8175 if (flags
& NDR_OUT
) {
8176 ndr_print_struct(ndr
, "out", "samr_DeleteGroupMember");
8178 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8184 static enum ndr_err_code
ndr_push_samr_QueryGroupMember(struct ndr_push
*ndr
, int flags
, const struct samr_QueryGroupMember
*r
)
8186 if (flags
& NDR_IN
) {
8187 if (r
->in
.group_handle
== NULL
) {
8188 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8190 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
8192 if (flags
& NDR_OUT
) {
8193 if (r
->out
.rids
== NULL
) {
8194 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8196 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.rids
));
8198 NDR_CHECK(ndr_push_samr_RidTypeArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.rids
));
8200 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8202 return NDR_ERR_SUCCESS
;
8205 static enum ndr_err_code
ndr_pull_samr_QueryGroupMember(struct ndr_pull
*ndr
, int flags
, struct samr_QueryGroupMember
*r
)
8208 TALLOC_CTX
*_mem_save_group_handle_0
;
8209 TALLOC_CTX
*_mem_save_rids_0
;
8210 TALLOC_CTX
*_mem_save_rids_1
;
8211 if (flags
& NDR_IN
) {
8212 ZERO_STRUCT(r
->out
);
8214 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8215 NDR_PULL_ALLOC(ndr
, r
->in
.group_handle
);
8217 _mem_save_group_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8218 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.group_handle
, LIBNDR_FLAG_REF_ALLOC
);
8219 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
8220 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_group_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8221 NDR_PULL_ALLOC(ndr
, r
->out
.rids
);
8222 ZERO_STRUCTP(r
->out
.rids
);
8224 if (flags
& NDR_OUT
) {
8225 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8226 NDR_PULL_ALLOC(ndr
, r
->out
.rids
);
8228 _mem_save_rids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8229 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.rids
, LIBNDR_FLAG_REF_ALLOC
);
8230 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_rids
));
8232 NDR_PULL_ALLOC(ndr
, *r
->out
.rids
);
8234 *r
->out
.rids
= NULL
;
8237 _mem_save_rids_1
= NDR_PULL_GET_MEM_CTX(ndr
);
8238 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.rids
, 0);
8239 NDR_CHECK(ndr_pull_samr_RidTypeArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.rids
));
8240 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rids_1
, 0);
8242 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rids_0
, LIBNDR_FLAG_REF_ALLOC
);
8243 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8245 return NDR_ERR_SUCCESS
;
8248 _PUBLIC_
void ndr_print_samr_QueryGroupMember(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_QueryGroupMember
*r
)
8250 ndr_print_struct(ndr
, name
, "samr_QueryGroupMember");
8252 if (flags
& NDR_SET_VALUES
) {
8253 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8255 if (flags
& NDR_IN
) {
8256 ndr_print_struct(ndr
, "in", "samr_QueryGroupMember");
8258 ndr_print_ptr(ndr
, "group_handle", r
->in
.group_handle
);
8260 ndr_print_policy_handle(ndr
, "group_handle", r
->in
.group_handle
);
8264 if (flags
& NDR_OUT
) {
8265 ndr_print_struct(ndr
, "out", "samr_QueryGroupMember");
8267 ndr_print_ptr(ndr
, "rids", r
->out
.rids
);
8269 ndr_print_ptr(ndr
, "rids", *r
->out
.rids
);
8272 ndr_print_samr_RidTypeArray(ndr
, "rids", *r
->out
.rids
);
8276 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8282 static enum ndr_err_code
ndr_push_samr_SetMemberAttributesOfGroup(struct ndr_push
*ndr
, int flags
, const struct samr_SetMemberAttributesOfGroup
*r
)
8284 if (flags
& NDR_IN
) {
8285 if (r
->in
.group_handle
== NULL
) {
8286 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8288 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
8289 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.unknown1
));
8290 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.unknown2
));
8292 if (flags
& NDR_OUT
) {
8293 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8295 return NDR_ERR_SUCCESS
;
8298 static enum ndr_err_code
ndr_pull_samr_SetMemberAttributesOfGroup(struct ndr_pull
*ndr
, int flags
, struct samr_SetMemberAttributesOfGroup
*r
)
8300 TALLOC_CTX
*_mem_save_group_handle_0
;
8301 if (flags
& NDR_IN
) {
8302 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8303 NDR_PULL_ALLOC(ndr
, r
->in
.group_handle
);
8305 _mem_save_group_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8306 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.group_handle
, LIBNDR_FLAG_REF_ALLOC
);
8307 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
8308 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_group_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8309 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.unknown1
));
8310 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.unknown2
));
8312 if (flags
& NDR_OUT
) {
8313 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8315 return NDR_ERR_SUCCESS
;
8318 _PUBLIC_
void ndr_print_samr_SetMemberAttributesOfGroup(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_SetMemberAttributesOfGroup
*r
)
8320 ndr_print_struct(ndr
, name
, "samr_SetMemberAttributesOfGroup");
8322 if (flags
& NDR_SET_VALUES
) {
8323 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8325 if (flags
& NDR_IN
) {
8326 ndr_print_struct(ndr
, "in", "samr_SetMemberAttributesOfGroup");
8328 ndr_print_ptr(ndr
, "group_handle", r
->in
.group_handle
);
8330 ndr_print_policy_handle(ndr
, "group_handle", r
->in
.group_handle
);
8332 ndr_print_uint32(ndr
, "unknown1", r
->in
.unknown1
);
8333 ndr_print_uint32(ndr
, "unknown2", r
->in
.unknown2
);
8336 if (flags
& NDR_OUT
) {
8337 ndr_print_struct(ndr
, "out", "samr_SetMemberAttributesOfGroup");
8339 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8345 static enum ndr_err_code
ndr_push_samr_OpenAlias(struct ndr_push
*ndr
, int flags
, const struct samr_OpenAlias
*r
)
8347 if (flags
& NDR_IN
) {
8348 if (r
->in
.domain_handle
== NULL
) {
8349 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8351 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
8352 NDR_CHECK(ndr_push_samr_AliasAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
8353 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.rid
));
8355 if (flags
& NDR_OUT
) {
8356 if (r
->out
.alias_handle
== NULL
) {
8357 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8359 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.alias_handle
));
8360 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8362 return NDR_ERR_SUCCESS
;
8365 static enum ndr_err_code
ndr_pull_samr_OpenAlias(struct ndr_pull
*ndr
, int flags
, struct samr_OpenAlias
*r
)
8367 TALLOC_CTX
*_mem_save_domain_handle_0
;
8368 TALLOC_CTX
*_mem_save_alias_handle_0
;
8369 if (flags
& NDR_IN
) {
8370 ZERO_STRUCT(r
->out
);
8372 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8373 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
8375 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8376 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
8377 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
8378 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8379 NDR_CHECK(ndr_pull_samr_AliasAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
8380 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.rid
));
8381 NDR_PULL_ALLOC(ndr
, r
->out
.alias_handle
);
8382 ZERO_STRUCTP(r
->out
.alias_handle
);
8384 if (flags
& NDR_OUT
) {
8385 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8386 NDR_PULL_ALLOC(ndr
, r
->out
.alias_handle
);
8388 _mem_save_alias_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8389 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.alias_handle
, LIBNDR_FLAG_REF_ALLOC
);
8390 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.alias_handle
));
8391 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_alias_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8392 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8394 return NDR_ERR_SUCCESS
;
8397 _PUBLIC_
void ndr_print_samr_OpenAlias(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_OpenAlias
*r
)
8399 ndr_print_struct(ndr
, name
, "samr_OpenAlias");
8401 if (flags
& NDR_SET_VALUES
) {
8402 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8404 if (flags
& NDR_IN
) {
8405 ndr_print_struct(ndr
, "in", "samr_OpenAlias");
8407 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
8409 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
8411 ndr_print_samr_AliasAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
8412 ndr_print_uint32(ndr
, "rid", r
->in
.rid
);
8415 if (flags
& NDR_OUT
) {
8416 ndr_print_struct(ndr
, "out", "samr_OpenAlias");
8418 ndr_print_ptr(ndr
, "alias_handle", r
->out
.alias_handle
);
8420 ndr_print_policy_handle(ndr
, "alias_handle", r
->out
.alias_handle
);
8422 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8428 static enum ndr_err_code
ndr_push_samr_QueryAliasInfo(struct ndr_push
*ndr
, int flags
, const struct samr_QueryAliasInfo
*r
)
8430 if (flags
& NDR_IN
) {
8431 if (r
->in
.alias_handle
== NULL
) {
8432 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8434 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
8435 NDR_CHECK(ndr_push_samr_AliasInfoEnum(ndr
, NDR_SCALARS
, r
->in
.level
));
8437 if (flags
& NDR_OUT
) {
8438 if (r
->out
.info
== NULL
) {
8439 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8441 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.info
));
8443 NDR_CHECK(ndr_push_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
8444 NDR_CHECK(ndr_push_samr_AliasInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
8446 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8448 return NDR_ERR_SUCCESS
;
8451 static enum ndr_err_code
ndr_pull_samr_QueryAliasInfo(struct ndr_pull
*ndr
, int flags
, struct samr_QueryAliasInfo
*r
)
8454 TALLOC_CTX
*_mem_save_alias_handle_0
;
8455 TALLOC_CTX
*_mem_save_info_0
;
8456 TALLOC_CTX
*_mem_save_info_1
;
8457 if (flags
& NDR_IN
) {
8458 ZERO_STRUCT(r
->out
);
8460 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8461 NDR_PULL_ALLOC(ndr
, r
->in
.alias_handle
);
8463 _mem_save_alias_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8464 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.alias_handle
, LIBNDR_FLAG_REF_ALLOC
);
8465 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
8466 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_alias_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8467 NDR_CHECK(ndr_pull_samr_AliasInfoEnum(ndr
, NDR_SCALARS
, &r
->in
.level
));
8468 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
8469 ZERO_STRUCTP(r
->out
.info
);
8471 if (flags
& NDR_OUT
) {
8472 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8473 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
8475 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8476 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
8477 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
8479 NDR_PULL_ALLOC(ndr
, *r
->out
.info
);
8481 *r
->out
.info
= NULL
;
8484 _mem_save_info_1
= NDR_PULL_GET_MEM_CTX(ndr
);
8485 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.info
, 0);
8486 NDR_CHECK(ndr_pull_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
8487 NDR_CHECK(ndr_pull_samr_AliasInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
8488 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_1
, 0);
8490 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
8491 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8493 return NDR_ERR_SUCCESS
;
8496 _PUBLIC_
void ndr_print_samr_QueryAliasInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_QueryAliasInfo
*r
)
8498 ndr_print_struct(ndr
, name
, "samr_QueryAliasInfo");
8500 if (flags
& NDR_SET_VALUES
) {
8501 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8503 if (flags
& NDR_IN
) {
8504 ndr_print_struct(ndr
, "in", "samr_QueryAliasInfo");
8506 ndr_print_ptr(ndr
, "alias_handle", r
->in
.alias_handle
);
8508 ndr_print_policy_handle(ndr
, "alias_handle", r
->in
.alias_handle
);
8510 ndr_print_samr_AliasInfoEnum(ndr
, "level", r
->in
.level
);
8513 if (flags
& NDR_OUT
) {
8514 ndr_print_struct(ndr
, "out", "samr_QueryAliasInfo");
8516 ndr_print_ptr(ndr
, "info", r
->out
.info
);
8518 ndr_print_ptr(ndr
, "info", *r
->out
.info
);
8521 ndr_print_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
);
8522 ndr_print_samr_AliasInfo(ndr
, "info", *r
->out
.info
);
8526 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8532 static enum ndr_err_code
ndr_push_samr_SetAliasInfo(struct ndr_push
*ndr
, int flags
, const struct samr_SetAliasInfo
*r
)
8534 if (flags
& NDR_IN
) {
8535 if (r
->in
.alias_handle
== NULL
) {
8536 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8538 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
8539 NDR_CHECK(ndr_push_samr_AliasInfoEnum(ndr
, NDR_SCALARS
, r
->in
.level
));
8540 if (r
->in
.info
== NULL
) {
8541 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8543 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
8544 NDR_CHECK(ndr_push_samr_AliasInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
8546 if (flags
& NDR_OUT
) {
8547 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8549 return NDR_ERR_SUCCESS
;
8552 static enum ndr_err_code
ndr_pull_samr_SetAliasInfo(struct ndr_pull
*ndr
, int flags
, struct samr_SetAliasInfo
*r
)
8554 TALLOC_CTX
*_mem_save_alias_handle_0
;
8555 TALLOC_CTX
*_mem_save_info_0
;
8556 if (flags
& NDR_IN
) {
8557 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8558 NDR_PULL_ALLOC(ndr
, r
->in
.alias_handle
);
8560 _mem_save_alias_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8561 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.alias_handle
, LIBNDR_FLAG_REF_ALLOC
);
8562 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
8563 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_alias_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8564 NDR_CHECK(ndr_pull_samr_AliasInfoEnum(ndr
, NDR_SCALARS
, &r
->in
.level
));
8565 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8566 NDR_PULL_ALLOC(ndr
, r
->in
.info
);
8568 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8569 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.info
, LIBNDR_FLAG_REF_ALLOC
);
8570 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
8571 NDR_CHECK(ndr_pull_samr_AliasInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
8572 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
8574 if (flags
& NDR_OUT
) {
8575 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8577 return NDR_ERR_SUCCESS
;
8580 _PUBLIC_
void ndr_print_samr_SetAliasInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_SetAliasInfo
*r
)
8582 ndr_print_struct(ndr
, name
, "samr_SetAliasInfo");
8584 if (flags
& NDR_SET_VALUES
) {
8585 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8587 if (flags
& NDR_IN
) {
8588 ndr_print_struct(ndr
, "in", "samr_SetAliasInfo");
8590 ndr_print_ptr(ndr
, "alias_handle", r
->in
.alias_handle
);
8592 ndr_print_policy_handle(ndr
, "alias_handle", r
->in
.alias_handle
);
8594 ndr_print_samr_AliasInfoEnum(ndr
, "level", r
->in
.level
);
8595 ndr_print_ptr(ndr
, "info", r
->in
.info
);
8597 ndr_print_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
);
8598 ndr_print_samr_AliasInfo(ndr
, "info", r
->in
.info
);
8602 if (flags
& NDR_OUT
) {
8603 ndr_print_struct(ndr
, "out", "samr_SetAliasInfo");
8605 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8611 static enum ndr_err_code
ndr_push_samr_DeleteDomAlias(struct ndr_push
*ndr
, int flags
, const struct samr_DeleteDomAlias
*r
)
8613 if (flags
& NDR_IN
) {
8614 if (r
->in
.alias_handle
== NULL
) {
8615 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8617 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
8619 if (flags
& NDR_OUT
) {
8620 if (r
->out
.alias_handle
== NULL
) {
8621 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8623 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.alias_handle
));
8624 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8626 return NDR_ERR_SUCCESS
;
8629 static enum ndr_err_code
ndr_pull_samr_DeleteDomAlias(struct ndr_pull
*ndr
, int flags
, struct samr_DeleteDomAlias
*r
)
8631 TALLOC_CTX
*_mem_save_alias_handle_0
;
8632 if (flags
& NDR_IN
) {
8633 ZERO_STRUCT(r
->out
);
8635 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8636 NDR_PULL_ALLOC(ndr
, r
->in
.alias_handle
);
8638 _mem_save_alias_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8639 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.alias_handle
, LIBNDR_FLAG_REF_ALLOC
);
8640 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
8641 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_alias_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8642 NDR_PULL_ALLOC(ndr
, r
->out
.alias_handle
);
8643 *r
->out
.alias_handle
= *r
->in
.alias_handle
;
8645 if (flags
& NDR_OUT
) {
8646 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8647 NDR_PULL_ALLOC(ndr
, r
->out
.alias_handle
);
8649 _mem_save_alias_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8650 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.alias_handle
, LIBNDR_FLAG_REF_ALLOC
);
8651 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.alias_handle
));
8652 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_alias_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8653 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8655 return NDR_ERR_SUCCESS
;
8658 _PUBLIC_
void ndr_print_samr_DeleteDomAlias(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_DeleteDomAlias
*r
)
8660 ndr_print_struct(ndr
, name
, "samr_DeleteDomAlias");
8662 if (flags
& NDR_SET_VALUES
) {
8663 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8665 if (flags
& NDR_IN
) {
8666 ndr_print_struct(ndr
, "in", "samr_DeleteDomAlias");
8668 ndr_print_ptr(ndr
, "alias_handle", r
->in
.alias_handle
);
8670 ndr_print_policy_handle(ndr
, "alias_handle", r
->in
.alias_handle
);
8674 if (flags
& NDR_OUT
) {
8675 ndr_print_struct(ndr
, "out", "samr_DeleteDomAlias");
8677 ndr_print_ptr(ndr
, "alias_handle", r
->out
.alias_handle
);
8679 ndr_print_policy_handle(ndr
, "alias_handle", r
->out
.alias_handle
);
8681 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8687 static enum ndr_err_code
ndr_push_samr_AddAliasMember(struct ndr_push
*ndr
, int flags
, const struct samr_AddAliasMember
*r
)
8689 if (flags
& NDR_IN
) {
8690 if (r
->in
.alias_handle
== NULL
) {
8691 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8693 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
8694 if (r
->in
.sid
== NULL
) {
8695 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8697 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
8699 if (flags
& NDR_OUT
) {
8700 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8702 return NDR_ERR_SUCCESS
;
8705 static enum ndr_err_code
ndr_pull_samr_AddAliasMember(struct ndr_pull
*ndr
, int flags
, struct samr_AddAliasMember
*r
)
8707 TALLOC_CTX
*_mem_save_alias_handle_0
;
8708 TALLOC_CTX
*_mem_save_sid_0
;
8709 if (flags
& NDR_IN
) {
8710 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8711 NDR_PULL_ALLOC(ndr
, r
->in
.alias_handle
);
8713 _mem_save_alias_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8714 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.alias_handle
, LIBNDR_FLAG_REF_ALLOC
);
8715 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
8716 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_alias_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8717 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8718 NDR_PULL_ALLOC(ndr
, r
->in
.sid
);
8720 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8721 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sid
, LIBNDR_FLAG_REF_ALLOC
);
8722 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
8723 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, LIBNDR_FLAG_REF_ALLOC
);
8725 if (flags
& NDR_OUT
) {
8726 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8728 return NDR_ERR_SUCCESS
;
8731 _PUBLIC_
void ndr_print_samr_AddAliasMember(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_AddAliasMember
*r
)
8733 ndr_print_struct(ndr
, name
, "samr_AddAliasMember");
8735 if (flags
& NDR_SET_VALUES
) {
8736 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8738 if (flags
& NDR_IN
) {
8739 ndr_print_struct(ndr
, "in", "samr_AddAliasMember");
8741 ndr_print_ptr(ndr
, "alias_handle", r
->in
.alias_handle
);
8743 ndr_print_policy_handle(ndr
, "alias_handle", r
->in
.alias_handle
);
8745 ndr_print_ptr(ndr
, "sid", r
->in
.sid
);
8747 ndr_print_dom_sid2(ndr
, "sid", r
->in
.sid
);
8751 if (flags
& NDR_OUT
) {
8752 ndr_print_struct(ndr
, "out", "samr_AddAliasMember");
8754 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8760 static enum ndr_err_code
ndr_push_samr_DeleteAliasMember(struct ndr_push
*ndr
, int flags
, const struct samr_DeleteAliasMember
*r
)
8762 if (flags
& NDR_IN
) {
8763 if (r
->in
.alias_handle
== NULL
) {
8764 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8766 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
8767 if (r
->in
.sid
== NULL
) {
8768 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8770 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
8772 if (flags
& NDR_OUT
) {
8773 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8775 return NDR_ERR_SUCCESS
;
8778 static enum ndr_err_code
ndr_pull_samr_DeleteAliasMember(struct ndr_pull
*ndr
, int flags
, struct samr_DeleteAliasMember
*r
)
8780 TALLOC_CTX
*_mem_save_alias_handle_0
;
8781 TALLOC_CTX
*_mem_save_sid_0
;
8782 if (flags
& NDR_IN
) {
8783 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8784 NDR_PULL_ALLOC(ndr
, r
->in
.alias_handle
);
8786 _mem_save_alias_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8787 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.alias_handle
, LIBNDR_FLAG_REF_ALLOC
);
8788 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
8789 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_alias_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8790 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8791 NDR_PULL_ALLOC(ndr
, r
->in
.sid
);
8793 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8794 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sid
, LIBNDR_FLAG_REF_ALLOC
);
8795 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
8796 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, LIBNDR_FLAG_REF_ALLOC
);
8798 if (flags
& NDR_OUT
) {
8799 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8801 return NDR_ERR_SUCCESS
;
8804 _PUBLIC_
void ndr_print_samr_DeleteAliasMember(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_DeleteAliasMember
*r
)
8806 ndr_print_struct(ndr
, name
, "samr_DeleteAliasMember");
8808 if (flags
& NDR_SET_VALUES
) {
8809 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8811 if (flags
& NDR_IN
) {
8812 ndr_print_struct(ndr
, "in", "samr_DeleteAliasMember");
8814 ndr_print_ptr(ndr
, "alias_handle", r
->in
.alias_handle
);
8816 ndr_print_policy_handle(ndr
, "alias_handle", r
->in
.alias_handle
);
8818 ndr_print_ptr(ndr
, "sid", r
->in
.sid
);
8820 ndr_print_dom_sid2(ndr
, "sid", r
->in
.sid
);
8824 if (flags
& NDR_OUT
) {
8825 ndr_print_struct(ndr
, "out", "samr_DeleteAliasMember");
8827 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8833 static enum ndr_err_code
ndr_push_samr_GetMembersInAlias(struct ndr_push
*ndr
, int flags
, const struct samr_GetMembersInAlias
*r
)
8835 if (flags
& NDR_IN
) {
8836 if (r
->in
.alias_handle
== NULL
) {
8837 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8839 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
8841 if (flags
& NDR_OUT
) {
8842 if (r
->out
.sids
== NULL
) {
8843 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8845 NDR_CHECK(ndr_push_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.sids
));
8846 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8848 return NDR_ERR_SUCCESS
;
8851 static enum ndr_err_code
ndr_pull_samr_GetMembersInAlias(struct ndr_pull
*ndr
, int flags
, struct samr_GetMembersInAlias
*r
)
8853 TALLOC_CTX
*_mem_save_alias_handle_0
;
8854 TALLOC_CTX
*_mem_save_sids_0
;
8855 if (flags
& NDR_IN
) {
8856 ZERO_STRUCT(r
->out
);
8858 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8859 NDR_PULL_ALLOC(ndr
, r
->in
.alias_handle
);
8861 _mem_save_alias_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8862 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.alias_handle
, LIBNDR_FLAG_REF_ALLOC
);
8863 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
8864 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_alias_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8865 NDR_PULL_ALLOC(ndr
, r
->out
.sids
);
8866 ZERO_STRUCTP(r
->out
.sids
);
8868 if (flags
& NDR_OUT
) {
8869 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8870 NDR_PULL_ALLOC(ndr
, r
->out
.sids
);
8872 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8873 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sids
, LIBNDR_FLAG_REF_ALLOC
);
8874 NDR_CHECK(ndr_pull_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.sids
));
8875 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, LIBNDR_FLAG_REF_ALLOC
);
8876 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8878 return NDR_ERR_SUCCESS
;
8881 _PUBLIC_
void ndr_print_samr_GetMembersInAlias(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_GetMembersInAlias
*r
)
8883 ndr_print_struct(ndr
, name
, "samr_GetMembersInAlias");
8885 if (flags
& NDR_SET_VALUES
) {
8886 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8888 if (flags
& NDR_IN
) {
8889 ndr_print_struct(ndr
, "in", "samr_GetMembersInAlias");
8891 ndr_print_ptr(ndr
, "alias_handle", r
->in
.alias_handle
);
8893 ndr_print_policy_handle(ndr
, "alias_handle", r
->in
.alias_handle
);
8897 if (flags
& NDR_OUT
) {
8898 ndr_print_struct(ndr
, "out", "samr_GetMembersInAlias");
8900 ndr_print_ptr(ndr
, "sids", r
->out
.sids
);
8902 ndr_print_lsa_SidArray(ndr
, "sids", r
->out
.sids
);
8904 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8910 _PUBLIC_
enum ndr_err_code
ndr_push_samr_OpenUser(struct ndr_push
*ndr
, int flags
, const struct samr_OpenUser
*r
)
8912 if (flags
& NDR_IN
) {
8913 if (r
->in
.domain_handle
== NULL
) {
8914 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8916 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
8917 NDR_CHECK(ndr_push_samr_UserAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
8918 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.rid
));
8920 if (flags
& NDR_OUT
) {
8921 if (r
->out
.user_handle
== NULL
) {
8922 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8924 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.user_handle
));
8925 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8927 return NDR_ERR_SUCCESS
;
8930 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_OpenUser(struct ndr_pull
*ndr
, int flags
, struct samr_OpenUser
*r
)
8932 TALLOC_CTX
*_mem_save_domain_handle_0
;
8933 TALLOC_CTX
*_mem_save_user_handle_0
;
8934 if (flags
& NDR_IN
) {
8935 ZERO_STRUCT(r
->out
);
8937 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8938 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
8940 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8941 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
8942 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
8943 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8944 NDR_CHECK(ndr_pull_samr_UserAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
8945 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.rid
));
8946 NDR_PULL_ALLOC(ndr
, r
->out
.user_handle
);
8947 ZERO_STRUCTP(r
->out
.user_handle
);
8949 if (flags
& NDR_OUT
) {
8950 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8951 NDR_PULL_ALLOC(ndr
, r
->out
.user_handle
);
8953 _mem_save_user_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8954 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.user_handle
, LIBNDR_FLAG_REF_ALLOC
);
8955 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.user_handle
));
8956 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_user_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8957 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8959 return NDR_ERR_SUCCESS
;
8962 _PUBLIC_
void ndr_print_samr_OpenUser(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_OpenUser
*r
)
8964 ndr_print_struct(ndr
, name
, "samr_OpenUser");
8966 if (flags
& NDR_SET_VALUES
) {
8967 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8969 if (flags
& NDR_IN
) {
8970 ndr_print_struct(ndr
, "in", "samr_OpenUser");
8972 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
8974 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
8976 ndr_print_samr_UserAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
8977 ndr_print_uint32(ndr
, "rid", r
->in
.rid
);
8980 if (flags
& NDR_OUT
) {
8981 ndr_print_struct(ndr
, "out", "samr_OpenUser");
8983 ndr_print_ptr(ndr
, "user_handle", r
->out
.user_handle
);
8985 ndr_print_policy_handle(ndr
, "user_handle", r
->out
.user_handle
);
8987 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8993 static enum ndr_err_code
ndr_push_samr_DeleteUser(struct ndr_push
*ndr
, int flags
, const struct samr_DeleteUser
*r
)
8995 if (flags
& NDR_IN
) {
8996 if (r
->in
.user_handle
== NULL
) {
8997 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8999 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
9001 if (flags
& NDR_OUT
) {
9002 if (r
->out
.user_handle
== NULL
) {
9003 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9005 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.user_handle
));
9006 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9008 return NDR_ERR_SUCCESS
;
9011 static enum ndr_err_code
ndr_pull_samr_DeleteUser(struct ndr_pull
*ndr
, int flags
, struct samr_DeleteUser
*r
)
9013 TALLOC_CTX
*_mem_save_user_handle_0
;
9014 if (flags
& NDR_IN
) {
9015 ZERO_STRUCT(r
->out
);
9017 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9018 NDR_PULL_ALLOC(ndr
, r
->in
.user_handle
);
9020 _mem_save_user_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9021 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.user_handle
, LIBNDR_FLAG_REF_ALLOC
);
9022 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
9023 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_user_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9024 NDR_PULL_ALLOC(ndr
, r
->out
.user_handle
);
9025 *r
->out
.user_handle
= *r
->in
.user_handle
;
9027 if (flags
& NDR_OUT
) {
9028 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9029 NDR_PULL_ALLOC(ndr
, r
->out
.user_handle
);
9031 _mem_save_user_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9032 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.user_handle
, LIBNDR_FLAG_REF_ALLOC
);
9033 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.user_handle
));
9034 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_user_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9035 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9037 return NDR_ERR_SUCCESS
;
9040 _PUBLIC_
void ndr_print_samr_DeleteUser(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_DeleteUser
*r
)
9042 ndr_print_struct(ndr
, name
, "samr_DeleteUser");
9044 if (flags
& NDR_SET_VALUES
) {
9045 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9047 if (flags
& NDR_IN
) {
9048 ndr_print_struct(ndr
, "in", "samr_DeleteUser");
9050 ndr_print_ptr(ndr
, "user_handle", r
->in
.user_handle
);
9052 ndr_print_policy_handle(ndr
, "user_handle", r
->in
.user_handle
);
9056 if (flags
& NDR_OUT
) {
9057 ndr_print_struct(ndr
, "out", "samr_DeleteUser");
9059 ndr_print_ptr(ndr
, "user_handle", r
->out
.user_handle
);
9061 ndr_print_policy_handle(ndr
, "user_handle", r
->out
.user_handle
);
9063 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9069 _PUBLIC_
enum ndr_err_code
ndr_push_samr_QueryUserInfo(struct ndr_push
*ndr
, int flags
, const struct samr_QueryUserInfo
*r
)
9071 if (flags
& NDR_IN
) {
9072 if (r
->in
.user_handle
== NULL
) {
9073 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9075 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
9076 NDR_CHECK(ndr_push_samr_UserInfoLevel(ndr
, NDR_SCALARS
, r
->in
.level
));
9078 if (flags
& NDR_OUT
) {
9079 if (r
->out
.info
== NULL
) {
9080 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9082 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.info
));
9084 NDR_CHECK(ndr_push_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
9085 NDR_CHECK(ndr_push_samr_UserInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
9087 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9089 return NDR_ERR_SUCCESS
;
9092 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_QueryUserInfo(struct ndr_pull
*ndr
, int flags
, struct samr_QueryUserInfo
*r
)
9095 TALLOC_CTX
*_mem_save_user_handle_0
;
9096 TALLOC_CTX
*_mem_save_info_0
;
9097 TALLOC_CTX
*_mem_save_info_1
;
9098 if (flags
& NDR_IN
) {
9099 ZERO_STRUCT(r
->out
);
9101 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9102 NDR_PULL_ALLOC(ndr
, r
->in
.user_handle
);
9104 _mem_save_user_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9105 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.user_handle
, LIBNDR_FLAG_REF_ALLOC
);
9106 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
9107 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_user_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9108 NDR_CHECK(ndr_pull_samr_UserInfoLevel(ndr
, NDR_SCALARS
, &r
->in
.level
));
9109 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
9110 ZERO_STRUCTP(r
->out
.info
);
9112 if (flags
& NDR_OUT
) {
9113 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9114 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
9116 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9117 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
9118 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
9120 NDR_PULL_ALLOC(ndr
, *r
->out
.info
);
9122 *r
->out
.info
= NULL
;
9125 _mem_save_info_1
= NDR_PULL_GET_MEM_CTX(ndr
);
9126 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.info
, 0);
9127 NDR_CHECK(ndr_pull_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
9128 NDR_CHECK(ndr_pull_samr_UserInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
9129 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_1
, 0);
9131 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
9132 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9134 return NDR_ERR_SUCCESS
;
9137 _PUBLIC_
void ndr_print_samr_QueryUserInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_QueryUserInfo
*r
)
9139 ndr_print_struct(ndr
, name
, "samr_QueryUserInfo");
9141 if (flags
& NDR_SET_VALUES
) {
9142 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9144 if (flags
& NDR_IN
) {
9145 ndr_print_struct(ndr
, "in", "samr_QueryUserInfo");
9147 ndr_print_ptr(ndr
, "user_handle", r
->in
.user_handle
);
9149 ndr_print_policy_handle(ndr
, "user_handle", r
->in
.user_handle
);
9151 ndr_print_samr_UserInfoLevel(ndr
, "level", r
->in
.level
);
9154 if (flags
& NDR_OUT
) {
9155 ndr_print_struct(ndr
, "out", "samr_QueryUserInfo");
9157 ndr_print_ptr(ndr
, "info", r
->out
.info
);
9159 ndr_print_ptr(ndr
, "info", *r
->out
.info
);
9162 ndr_print_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
);
9163 ndr_print_samr_UserInfo(ndr
, "info", *r
->out
.info
);
9167 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9173 _PUBLIC_
enum ndr_err_code
ndr_push_samr_SetUserInfo(struct ndr_push
*ndr
, int flags
, const struct samr_SetUserInfo
*r
)
9175 if (flags
& NDR_IN
) {
9176 if (r
->in
.user_handle
== NULL
) {
9177 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9179 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
9180 NDR_CHECK(ndr_push_samr_UserInfoLevel(ndr
, NDR_SCALARS
, r
->in
.level
));
9181 if (r
->in
.info
== NULL
) {
9182 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9184 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
9185 NDR_CHECK(ndr_push_samr_UserInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
9187 if (flags
& NDR_OUT
) {
9188 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9190 return NDR_ERR_SUCCESS
;
9193 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_SetUserInfo(struct ndr_pull
*ndr
, int flags
, struct samr_SetUserInfo
*r
)
9195 TALLOC_CTX
*_mem_save_user_handle_0
;
9196 TALLOC_CTX
*_mem_save_info_0
;
9197 if (flags
& NDR_IN
) {
9198 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9199 NDR_PULL_ALLOC(ndr
, r
->in
.user_handle
);
9201 _mem_save_user_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9202 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.user_handle
, LIBNDR_FLAG_REF_ALLOC
);
9203 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
9204 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_user_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9205 NDR_CHECK(ndr_pull_samr_UserInfoLevel(ndr
, NDR_SCALARS
, &r
->in
.level
));
9206 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9207 NDR_PULL_ALLOC(ndr
, r
->in
.info
);
9209 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9210 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.info
, LIBNDR_FLAG_REF_ALLOC
);
9211 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
9212 NDR_CHECK(ndr_pull_samr_UserInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
9213 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
9215 if (flags
& NDR_OUT
) {
9216 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9218 return NDR_ERR_SUCCESS
;
9221 _PUBLIC_
void ndr_print_samr_SetUserInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_SetUserInfo
*r
)
9223 ndr_print_struct(ndr
, name
, "samr_SetUserInfo");
9225 if (flags
& NDR_SET_VALUES
) {
9226 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9228 if (flags
& NDR_IN
) {
9229 ndr_print_struct(ndr
, "in", "samr_SetUserInfo");
9231 ndr_print_ptr(ndr
, "user_handle", r
->in
.user_handle
);
9233 ndr_print_policy_handle(ndr
, "user_handle", r
->in
.user_handle
);
9235 ndr_print_samr_UserInfoLevel(ndr
, "level", r
->in
.level
);
9236 ndr_print_ptr(ndr
, "info", r
->in
.info
);
9238 ndr_print_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
);
9239 ndr_print_samr_UserInfo(ndr
, "info", r
->in
.info
);
9243 if (flags
& NDR_OUT
) {
9244 ndr_print_struct(ndr
, "out", "samr_SetUserInfo");
9246 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9252 static enum ndr_err_code
ndr_push_samr_ChangePasswordUser(struct ndr_push
*ndr
, int flags
, const struct samr_ChangePasswordUser
*r
)
9254 if (flags
& NDR_IN
) {
9255 if (r
->in
.user_handle
== NULL
) {
9256 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9258 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
9259 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->in
.lm_present
));
9260 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.old_lm_crypted
));
9261 if (r
->in
.old_lm_crypted
) {
9262 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, r
->in
.old_lm_crypted
));
9264 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.new_lm_crypted
));
9265 if (r
->in
.new_lm_crypted
) {
9266 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, r
->in
.new_lm_crypted
));
9268 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->in
.nt_present
));
9269 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.old_nt_crypted
));
9270 if (r
->in
.old_nt_crypted
) {
9271 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, r
->in
.old_nt_crypted
));
9273 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.new_nt_crypted
));
9274 if (r
->in
.new_nt_crypted
) {
9275 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, r
->in
.new_nt_crypted
));
9277 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->in
.cross1_present
));
9278 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.nt_cross
));
9279 if (r
->in
.nt_cross
) {
9280 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, r
->in
.nt_cross
));
9282 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->in
.cross2_present
));
9283 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.lm_cross
));
9284 if (r
->in
.lm_cross
) {
9285 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, r
->in
.lm_cross
));
9288 if (flags
& NDR_OUT
) {
9289 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9291 return NDR_ERR_SUCCESS
;
9294 static enum ndr_err_code
ndr_pull_samr_ChangePasswordUser(struct ndr_pull
*ndr
, int flags
, struct samr_ChangePasswordUser
*r
)
9296 uint32_t _ptr_old_lm_crypted
;
9297 uint32_t _ptr_new_lm_crypted
;
9298 uint32_t _ptr_old_nt_crypted
;
9299 uint32_t _ptr_new_nt_crypted
;
9300 uint32_t _ptr_nt_cross
;
9301 uint32_t _ptr_lm_cross
;
9302 TALLOC_CTX
*_mem_save_user_handle_0
;
9303 TALLOC_CTX
*_mem_save_old_lm_crypted_0
;
9304 TALLOC_CTX
*_mem_save_new_lm_crypted_0
;
9305 TALLOC_CTX
*_mem_save_old_nt_crypted_0
;
9306 TALLOC_CTX
*_mem_save_new_nt_crypted_0
;
9307 TALLOC_CTX
*_mem_save_nt_cross_0
;
9308 TALLOC_CTX
*_mem_save_lm_cross_0
;
9309 if (flags
& NDR_IN
) {
9310 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9311 NDR_PULL_ALLOC(ndr
, r
->in
.user_handle
);
9313 _mem_save_user_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9314 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.user_handle
, LIBNDR_FLAG_REF_ALLOC
);
9315 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
9316 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_user_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9317 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->in
.lm_present
));
9318 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_old_lm_crypted
));
9319 if (_ptr_old_lm_crypted
) {
9320 NDR_PULL_ALLOC(ndr
, r
->in
.old_lm_crypted
);
9322 r
->in
.old_lm_crypted
= NULL
;
9324 if (r
->in
.old_lm_crypted
) {
9325 _mem_save_old_lm_crypted_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9326 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.old_lm_crypted
, 0);
9327 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, r
->in
.old_lm_crypted
));
9328 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_old_lm_crypted_0
, 0);
9330 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_new_lm_crypted
));
9331 if (_ptr_new_lm_crypted
) {
9332 NDR_PULL_ALLOC(ndr
, r
->in
.new_lm_crypted
);
9334 r
->in
.new_lm_crypted
= NULL
;
9336 if (r
->in
.new_lm_crypted
) {
9337 _mem_save_new_lm_crypted_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9338 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.new_lm_crypted
, 0);
9339 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, r
->in
.new_lm_crypted
));
9340 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_new_lm_crypted_0
, 0);
9342 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->in
.nt_present
));
9343 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_old_nt_crypted
));
9344 if (_ptr_old_nt_crypted
) {
9345 NDR_PULL_ALLOC(ndr
, r
->in
.old_nt_crypted
);
9347 r
->in
.old_nt_crypted
= NULL
;
9349 if (r
->in
.old_nt_crypted
) {
9350 _mem_save_old_nt_crypted_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9351 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.old_nt_crypted
, 0);
9352 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, r
->in
.old_nt_crypted
));
9353 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_old_nt_crypted_0
, 0);
9355 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_new_nt_crypted
));
9356 if (_ptr_new_nt_crypted
) {
9357 NDR_PULL_ALLOC(ndr
, r
->in
.new_nt_crypted
);
9359 r
->in
.new_nt_crypted
= NULL
;
9361 if (r
->in
.new_nt_crypted
) {
9362 _mem_save_new_nt_crypted_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9363 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.new_nt_crypted
, 0);
9364 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, r
->in
.new_nt_crypted
));
9365 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_new_nt_crypted_0
, 0);
9367 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->in
.cross1_present
));
9368 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_nt_cross
));
9369 if (_ptr_nt_cross
) {
9370 NDR_PULL_ALLOC(ndr
, r
->in
.nt_cross
);
9372 r
->in
.nt_cross
= NULL
;
9374 if (r
->in
.nt_cross
) {
9375 _mem_save_nt_cross_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9376 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.nt_cross
, 0);
9377 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, r
->in
.nt_cross
));
9378 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_nt_cross_0
, 0);
9380 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->in
.cross2_present
));
9381 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_lm_cross
));
9382 if (_ptr_lm_cross
) {
9383 NDR_PULL_ALLOC(ndr
, r
->in
.lm_cross
);
9385 r
->in
.lm_cross
= NULL
;
9387 if (r
->in
.lm_cross
) {
9388 _mem_save_lm_cross_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9389 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.lm_cross
, 0);
9390 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, r
->in
.lm_cross
));
9391 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_lm_cross_0
, 0);
9394 if (flags
& NDR_OUT
) {
9395 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9397 return NDR_ERR_SUCCESS
;
9400 _PUBLIC_
void ndr_print_samr_ChangePasswordUser(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_ChangePasswordUser
*r
)
9402 ndr_print_struct(ndr
, name
, "samr_ChangePasswordUser");
9404 if (flags
& NDR_SET_VALUES
) {
9405 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9407 if (flags
& NDR_IN
) {
9408 ndr_print_struct(ndr
, "in", "samr_ChangePasswordUser");
9410 ndr_print_ptr(ndr
, "user_handle", r
->in
.user_handle
);
9412 ndr_print_policy_handle(ndr
, "user_handle", r
->in
.user_handle
);
9414 ndr_print_uint8(ndr
, "lm_present", r
->in
.lm_present
);
9415 ndr_print_ptr(ndr
, "old_lm_crypted", r
->in
.old_lm_crypted
);
9417 if (r
->in
.old_lm_crypted
) {
9418 ndr_print_samr_Password(ndr
, "old_lm_crypted", r
->in
.old_lm_crypted
);
9421 ndr_print_ptr(ndr
, "new_lm_crypted", r
->in
.new_lm_crypted
);
9423 if (r
->in
.new_lm_crypted
) {
9424 ndr_print_samr_Password(ndr
, "new_lm_crypted", r
->in
.new_lm_crypted
);
9427 ndr_print_uint8(ndr
, "nt_present", r
->in
.nt_present
);
9428 ndr_print_ptr(ndr
, "old_nt_crypted", r
->in
.old_nt_crypted
);
9430 if (r
->in
.old_nt_crypted
) {
9431 ndr_print_samr_Password(ndr
, "old_nt_crypted", r
->in
.old_nt_crypted
);
9434 ndr_print_ptr(ndr
, "new_nt_crypted", r
->in
.new_nt_crypted
);
9436 if (r
->in
.new_nt_crypted
) {
9437 ndr_print_samr_Password(ndr
, "new_nt_crypted", r
->in
.new_nt_crypted
);
9440 ndr_print_uint8(ndr
, "cross1_present", r
->in
.cross1_present
);
9441 ndr_print_ptr(ndr
, "nt_cross", r
->in
.nt_cross
);
9443 if (r
->in
.nt_cross
) {
9444 ndr_print_samr_Password(ndr
, "nt_cross", r
->in
.nt_cross
);
9447 ndr_print_uint8(ndr
, "cross2_present", r
->in
.cross2_present
);
9448 ndr_print_ptr(ndr
, "lm_cross", r
->in
.lm_cross
);
9450 if (r
->in
.lm_cross
) {
9451 ndr_print_samr_Password(ndr
, "lm_cross", r
->in
.lm_cross
);
9456 if (flags
& NDR_OUT
) {
9457 ndr_print_struct(ndr
, "out", "samr_ChangePasswordUser");
9459 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9465 static enum ndr_err_code
ndr_push_samr_GetGroupsForUser(struct ndr_push
*ndr
, int flags
, const struct samr_GetGroupsForUser
*r
)
9467 if (flags
& NDR_IN
) {
9468 if (r
->in
.user_handle
== NULL
) {
9469 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9471 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
9473 if (flags
& NDR_OUT
) {
9474 if (r
->out
.rids
== NULL
) {
9475 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9477 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.rids
));
9479 NDR_CHECK(ndr_push_samr_RidWithAttributeArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.rids
));
9481 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9483 return NDR_ERR_SUCCESS
;
9486 static enum ndr_err_code
ndr_pull_samr_GetGroupsForUser(struct ndr_pull
*ndr
, int flags
, struct samr_GetGroupsForUser
*r
)
9489 TALLOC_CTX
*_mem_save_user_handle_0
;
9490 TALLOC_CTX
*_mem_save_rids_0
;
9491 TALLOC_CTX
*_mem_save_rids_1
;
9492 if (flags
& NDR_IN
) {
9493 ZERO_STRUCT(r
->out
);
9495 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9496 NDR_PULL_ALLOC(ndr
, r
->in
.user_handle
);
9498 _mem_save_user_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9499 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.user_handle
, LIBNDR_FLAG_REF_ALLOC
);
9500 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
9501 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_user_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9502 NDR_PULL_ALLOC(ndr
, r
->out
.rids
);
9503 ZERO_STRUCTP(r
->out
.rids
);
9505 if (flags
& NDR_OUT
) {
9506 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9507 NDR_PULL_ALLOC(ndr
, r
->out
.rids
);
9509 _mem_save_rids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9510 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.rids
, LIBNDR_FLAG_REF_ALLOC
);
9511 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_rids
));
9513 NDR_PULL_ALLOC(ndr
, *r
->out
.rids
);
9515 *r
->out
.rids
= NULL
;
9518 _mem_save_rids_1
= NDR_PULL_GET_MEM_CTX(ndr
);
9519 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.rids
, 0);
9520 NDR_CHECK(ndr_pull_samr_RidWithAttributeArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.rids
));
9521 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rids_1
, 0);
9523 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rids_0
, LIBNDR_FLAG_REF_ALLOC
);
9524 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9526 return NDR_ERR_SUCCESS
;
9529 _PUBLIC_
void ndr_print_samr_GetGroupsForUser(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_GetGroupsForUser
*r
)
9531 ndr_print_struct(ndr
, name
, "samr_GetGroupsForUser");
9533 if (flags
& NDR_SET_VALUES
) {
9534 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9536 if (flags
& NDR_IN
) {
9537 ndr_print_struct(ndr
, "in", "samr_GetGroupsForUser");
9539 ndr_print_ptr(ndr
, "user_handle", r
->in
.user_handle
);
9541 ndr_print_policy_handle(ndr
, "user_handle", r
->in
.user_handle
);
9545 if (flags
& NDR_OUT
) {
9546 ndr_print_struct(ndr
, "out", "samr_GetGroupsForUser");
9548 ndr_print_ptr(ndr
, "rids", r
->out
.rids
);
9550 ndr_print_ptr(ndr
, "rids", *r
->out
.rids
);
9553 ndr_print_samr_RidWithAttributeArray(ndr
, "rids", *r
->out
.rids
);
9557 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9563 static enum ndr_err_code
ndr_push_samr_QueryDisplayInfo(struct ndr_push
*ndr
, int flags
, const struct samr_QueryDisplayInfo
*r
)
9565 if (flags
& NDR_IN
) {
9566 if (r
->in
.domain_handle
== NULL
) {
9567 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9569 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
9570 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->in
.level
));
9571 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.start_idx
));
9572 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.max_entries
));
9573 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.buf_size
));
9575 if (flags
& NDR_OUT
) {
9576 if (r
->out
.total_size
== NULL
) {
9577 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9579 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.total_size
));
9580 if (r
->out
.returned_size
== NULL
) {
9581 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9583 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.returned_size
));
9584 if (r
->out
.info
== NULL
) {
9585 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9587 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.info
, r
->in
.level
));
9588 NDR_CHECK(ndr_push_samr_DispInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.info
));
9589 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9591 return NDR_ERR_SUCCESS
;
9594 static enum ndr_err_code
ndr_pull_samr_QueryDisplayInfo(struct ndr_pull
*ndr
, int flags
, struct samr_QueryDisplayInfo
*r
)
9596 TALLOC_CTX
*_mem_save_domain_handle_0
;
9597 TALLOC_CTX
*_mem_save_total_size_0
;
9598 TALLOC_CTX
*_mem_save_returned_size_0
;
9599 TALLOC_CTX
*_mem_save_info_0
;
9600 if (flags
& NDR_IN
) {
9601 ZERO_STRUCT(r
->out
);
9603 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9604 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
9606 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9607 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
9608 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
9609 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9610 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->in
.level
));
9611 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.start_idx
));
9612 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.max_entries
));
9613 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.buf_size
));
9614 NDR_PULL_ALLOC(ndr
, r
->out
.total_size
);
9615 ZERO_STRUCTP(r
->out
.total_size
);
9616 NDR_PULL_ALLOC(ndr
, r
->out
.returned_size
);
9617 ZERO_STRUCTP(r
->out
.returned_size
);
9618 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
9619 ZERO_STRUCTP(r
->out
.info
);
9621 if (flags
& NDR_OUT
) {
9622 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9623 NDR_PULL_ALLOC(ndr
, r
->out
.total_size
);
9625 _mem_save_total_size_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9626 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.total_size
, LIBNDR_FLAG_REF_ALLOC
);
9627 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.total_size
));
9628 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_total_size_0
, LIBNDR_FLAG_REF_ALLOC
);
9629 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9630 NDR_PULL_ALLOC(ndr
, r
->out
.returned_size
);
9632 _mem_save_returned_size_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9633 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.returned_size
, LIBNDR_FLAG_REF_ALLOC
);
9634 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.returned_size
));
9635 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_returned_size_0
, LIBNDR_FLAG_REF_ALLOC
);
9636 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9637 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
9639 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9640 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
9641 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.info
, r
->in
.level
));
9642 NDR_CHECK(ndr_pull_samr_DispInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.info
));
9643 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
9644 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9646 return NDR_ERR_SUCCESS
;
9649 _PUBLIC_
void ndr_print_samr_QueryDisplayInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_QueryDisplayInfo
*r
)
9651 ndr_print_struct(ndr
, name
, "samr_QueryDisplayInfo");
9653 if (flags
& NDR_SET_VALUES
) {
9654 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9656 if (flags
& NDR_IN
) {
9657 ndr_print_struct(ndr
, "in", "samr_QueryDisplayInfo");
9659 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
9661 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
9663 ndr_print_uint16(ndr
, "level", r
->in
.level
);
9664 ndr_print_uint32(ndr
, "start_idx", r
->in
.start_idx
);
9665 ndr_print_uint32(ndr
, "max_entries", r
->in
.max_entries
);
9666 ndr_print_uint32(ndr
, "buf_size", r
->in
.buf_size
);
9669 if (flags
& NDR_OUT
) {
9670 ndr_print_struct(ndr
, "out", "samr_QueryDisplayInfo");
9672 ndr_print_ptr(ndr
, "total_size", r
->out
.total_size
);
9674 ndr_print_uint32(ndr
, "total_size", *r
->out
.total_size
);
9676 ndr_print_ptr(ndr
, "returned_size", r
->out
.returned_size
);
9678 ndr_print_uint32(ndr
, "returned_size", *r
->out
.returned_size
);
9680 ndr_print_ptr(ndr
, "info", r
->out
.info
);
9682 ndr_print_set_switch_value(ndr
, r
->out
.info
, r
->in
.level
);
9683 ndr_print_samr_DispInfo(ndr
, "info", r
->out
.info
);
9685 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9691 static enum ndr_err_code
ndr_push_samr_GetDisplayEnumerationIndex(struct ndr_push
*ndr
, int flags
, const struct samr_GetDisplayEnumerationIndex
*r
)
9693 if (flags
& NDR_IN
) {
9694 if (r
->in
.domain_handle
== NULL
) {
9695 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9697 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
9698 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->in
.level
));
9699 if (r
->in
.name
== NULL
) {
9700 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9702 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.name
));
9704 if (flags
& NDR_OUT
) {
9705 if (r
->out
.idx
== NULL
) {
9706 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9708 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.idx
));
9709 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9711 return NDR_ERR_SUCCESS
;
9714 static enum ndr_err_code
ndr_pull_samr_GetDisplayEnumerationIndex(struct ndr_pull
*ndr
, int flags
, struct samr_GetDisplayEnumerationIndex
*r
)
9716 TALLOC_CTX
*_mem_save_domain_handle_0
;
9717 TALLOC_CTX
*_mem_save_name_0
;
9718 TALLOC_CTX
*_mem_save_idx_0
;
9719 if (flags
& NDR_IN
) {
9720 ZERO_STRUCT(r
->out
);
9722 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9723 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
9725 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9726 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
9727 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
9728 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9729 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->in
.level
));
9730 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9731 NDR_PULL_ALLOC(ndr
, r
->in
.name
);
9733 _mem_save_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9734 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.name
, LIBNDR_FLAG_REF_ALLOC
);
9735 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.name
));
9736 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_name_0
, LIBNDR_FLAG_REF_ALLOC
);
9737 NDR_PULL_ALLOC(ndr
, r
->out
.idx
);
9738 ZERO_STRUCTP(r
->out
.idx
);
9740 if (flags
& NDR_OUT
) {
9741 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9742 NDR_PULL_ALLOC(ndr
, r
->out
.idx
);
9744 _mem_save_idx_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9745 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.idx
, LIBNDR_FLAG_REF_ALLOC
);
9746 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.idx
));
9747 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_idx_0
, LIBNDR_FLAG_REF_ALLOC
);
9748 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9750 return NDR_ERR_SUCCESS
;
9753 _PUBLIC_
void ndr_print_samr_GetDisplayEnumerationIndex(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_GetDisplayEnumerationIndex
*r
)
9755 ndr_print_struct(ndr
, name
, "samr_GetDisplayEnumerationIndex");
9757 if (flags
& NDR_SET_VALUES
) {
9758 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9760 if (flags
& NDR_IN
) {
9761 ndr_print_struct(ndr
, "in", "samr_GetDisplayEnumerationIndex");
9763 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
9765 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
9767 ndr_print_uint16(ndr
, "level", r
->in
.level
);
9768 ndr_print_ptr(ndr
, "name", r
->in
.name
);
9770 ndr_print_lsa_String(ndr
, "name", r
->in
.name
);
9774 if (flags
& NDR_OUT
) {
9775 ndr_print_struct(ndr
, "out", "samr_GetDisplayEnumerationIndex");
9777 ndr_print_ptr(ndr
, "idx", r
->out
.idx
);
9779 ndr_print_uint32(ndr
, "idx", *r
->out
.idx
);
9781 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9787 static enum ndr_err_code
ndr_push_samr_TestPrivateFunctionsDomain(struct ndr_push
*ndr
, int flags
, const struct samr_TestPrivateFunctionsDomain
*r
)
9789 if (flags
& NDR_IN
) {
9790 if (r
->in
.domain_handle
== NULL
) {
9791 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9793 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
9795 if (flags
& NDR_OUT
) {
9796 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9798 return NDR_ERR_SUCCESS
;
9801 static enum ndr_err_code
ndr_pull_samr_TestPrivateFunctionsDomain(struct ndr_pull
*ndr
, int flags
, struct samr_TestPrivateFunctionsDomain
*r
)
9803 TALLOC_CTX
*_mem_save_domain_handle_0
;
9804 if (flags
& NDR_IN
) {
9805 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9806 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
9808 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9809 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
9810 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
9811 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9813 if (flags
& NDR_OUT
) {
9814 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9816 return NDR_ERR_SUCCESS
;
9819 _PUBLIC_
void ndr_print_samr_TestPrivateFunctionsDomain(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_TestPrivateFunctionsDomain
*r
)
9821 ndr_print_struct(ndr
, name
, "samr_TestPrivateFunctionsDomain");
9823 if (flags
& NDR_SET_VALUES
) {
9824 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9826 if (flags
& NDR_IN
) {
9827 ndr_print_struct(ndr
, "in", "samr_TestPrivateFunctionsDomain");
9829 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
9831 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
9835 if (flags
& NDR_OUT
) {
9836 ndr_print_struct(ndr
, "out", "samr_TestPrivateFunctionsDomain");
9838 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9844 static enum ndr_err_code
ndr_push_samr_TestPrivateFunctionsUser(struct ndr_push
*ndr
, int flags
, const struct samr_TestPrivateFunctionsUser
*r
)
9846 if (flags
& NDR_IN
) {
9847 if (r
->in
.user_handle
== NULL
) {
9848 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9850 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
9852 if (flags
& NDR_OUT
) {
9853 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9855 return NDR_ERR_SUCCESS
;
9858 static enum ndr_err_code
ndr_pull_samr_TestPrivateFunctionsUser(struct ndr_pull
*ndr
, int flags
, struct samr_TestPrivateFunctionsUser
*r
)
9860 TALLOC_CTX
*_mem_save_user_handle_0
;
9861 if (flags
& NDR_IN
) {
9862 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9863 NDR_PULL_ALLOC(ndr
, r
->in
.user_handle
);
9865 _mem_save_user_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9866 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.user_handle
, LIBNDR_FLAG_REF_ALLOC
);
9867 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
9868 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_user_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9870 if (flags
& NDR_OUT
) {
9871 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9873 return NDR_ERR_SUCCESS
;
9876 _PUBLIC_
void ndr_print_samr_TestPrivateFunctionsUser(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_TestPrivateFunctionsUser
*r
)
9878 ndr_print_struct(ndr
, name
, "samr_TestPrivateFunctionsUser");
9880 if (flags
& NDR_SET_VALUES
) {
9881 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9883 if (flags
& NDR_IN
) {
9884 ndr_print_struct(ndr
, "in", "samr_TestPrivateFunctionsUser");
9886 ndr_print_ptr(ndr
, "user_handle", r
->in
.user_handle
);
9888 ndr_print_policy_handle(ndr
, "user_handle", r
->in
.user_handle
);
9892 if (flags
& NDR_OUT
) {
9893 ndr_print_struct(ndr
, "out", "samr_TestPrivateFunctionsUser");
9895 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9901 _PUBLIC_
enum ndr_err_code
ndr_push_samr_GetUserPwInfo(struct ndr_push
*ndr
, int flags
, const struct samr_GetUserPwInfo
*r
)
9903 if (flags
& NDR_IN
) {
9904 if (r
->in
.user_handle
== NULL
) {
9905 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9907 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
9909 if (flags
& NDR_OUT
) {
9910 if (r
->out
.info
== NULL
) {
9911 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9913 NDR_CHECK(ndr_push_samr_PwInfo(ndr
, NDR_SCALARS
, r
->out
.info
));
9914 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9916 return NDR_ERR_SUCCESS
;
9919 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_GetUserPwInfo(struct ndr_pull
*ndr
, int flags
, struct samr_GetUserPwInfo
*r
)
9921 TALLOC_CTX
*_mem_save_user_handle_0
;
9922 TALLOC_CTX
*_mem_save_info_0
;
9923 if (flags
& NDR_IN
) {
9924 ZERO_STRUCT(r
->out
);
9926 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9927 NDR_PULL_ALLOC(ndr
, r
->in
.user_handle
);
9929 _mem_save_user_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9930 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.user_handle
, LIBNDR_FLAG_REF_ALLOC
);
9931 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
9932 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_user_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9933 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
9934 ZERO_STRUCTP(r
->out
.info
);
9936 if (flags
& NDR_OUT
) {
9937 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9938 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
9940 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9941 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
9942 NDR_CHECK(ndr_pull_samr_PwInfo(ndr
, NDR_SCALARS
, r
->out
.info
));
9943 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
9944 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9946 return NDR_ERR_SUCCESS
;
9949 _PUBLIC_
void ndr_print_samr_GetUserPwInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_GetUserPwInfo
*r
)
9951 ndr_print_struct(ndr
, name
, "samr_GetUserPwInfo");
9953 if (flags
& NDR_SET_VALUES
) {
9954 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9956 if (flags
& NDR_IN
) {
9957 ndr_print_struct(ndr
, "in", "samr_GetUserPwInfo");
9959 ndr_print_ptr(ndr
, "user_handle", r
->in
.user_handle
);
9961 ndr_print_policy_handle(ndr
, "user_handle", r
->in
.user_handle
);
9965 if (flags
& NDR_OUT
) {
9966 ndr_print_struct(ndr
, "out", "samr_GetUserPwInfo");
9968 ndr_print_ptr(ndr
, "info", r
->out
.info
);
9970 ndr_print_samr_PwInfo(ndr
, "info", r
->out
.info
);
9972 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9978 static enum ndr_err_code
ndr_push_samr_RemoveMemberFromForeignDomain(struct ndr_push
*ndr
, int flags
, const struct samr_RemoveMemberFromForeignDomain
*r
)
9980 if (flags
& NDR_IN
) {
9981 if (r
->in
.domain_handle
== NULL
) {
9982 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9984 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
9985 if (r
->in
.sid
== NULL
) {
9986 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9988 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
9990 if (flags
& NDR_OUT
) {
9991 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9993 return NDR_ERR_SUCCESS
;
9996 static enum ndr_err_code
ndr_pull_samr_RemoveMemberFromForeignDomain(struct ndr_pull
*ndr
, int flags
, struct samr_RemoveMemberFromForeignDomain
*r
)
9998 TALLOC_CTX
*_mem_save_domain_handle_0
;
9999 TALLOC_CTX
*_mem_save_sid_0
;
10000 if (flags
& NDR_IN
) {
10001 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10002 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
10004 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10005 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
10006 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
10007 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10008 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10009 NDR_PULL_ALLOC(ndr
, r
->in
.sid
);
10011 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10012 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sid
, LIBNDR_FLAG_REF_ALLOC
);
10013 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
10014 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, LIBNDR_FLAG_REF_ALLOC
);
10016 if (flags
& NDR_OUT
) {
10017 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10019 return NDR_ERR_SUCCESS
;
10022 _PUBLIC_
void ndr_print_samr_RemoveMemberFromForeignDomain(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_RemoveMemberFromForeignDomain
*r
)
10024 ndr_print_struct(ndr
, name
, "samr_RemoveMemberFromForeignDomain");
10026 if (flags
& NDR_SET_VALUES
) {
10027 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10029 if (flags
& NDR_IN
) {
10030 ndr_print_struct(ndr
, "in", "samr_RemoveMemberFromForeignDomain");
10032 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
10034 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
10036 ndr_print_ptr(ndr
, "sid", r
->in
.sid
);
10038 ndr_print_dom_sid2(ndr
, "sid", r
->in
.sid
);
10042 if (flags
& NDR_OUT
) {
10043 ndr_print_struct(ndr
, "out", "samr_RemoveMemberFromForeignDomain");
10045 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10051 static enum ndr_err_code
ndr_push_samr_QueryDomainInfo2(struct ndr_push
*ndr
, int flags
, const struct samr_QueryDomainInfo2
*r
)
10053 if (flags
& NDR_IN
) {
10054 if (r
->in
.domain_handle
== NULL
) {
10055 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10057 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
10058 NDR_CHECK(ndr_push_samr_DomainInfoClass(ndr
, NDR_SCALARS
, r
->in
.level
));
10060 if (flags
& NDR_OUT
) {
10061 if (r
->out
.info
== NULL
) {
10062 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10064 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.info
));
10065 if (*r
->out
.info
) {
10066 NDR_CHECK(ndr_push_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
10067 NDR_CHECK(ndr_push_samr_DomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
10069 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10071 return NDR_ERR_SUCCESS
;
10074 static enum ndr_err_code
ndr_pull_samr_QueryDomainInfo2(struct ndr_pull
*ndr
, int flags
, struct samr_QueryDomainInfo2
*r
)
10076 uint32_t _ptr_info
;
10077 TALLOC_CTX
*_mem_save_domain_handle_0
;
10078 TALLOC_CTX
*_mem_save_info_0
;
10079 TALLOC_CTX
*_mem_save_info_1
;
10080 if (flags
& NDR_IN
) {
10081 ZERO_STRUCT(r
->out
);
10083 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10084 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
10086 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10087 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
10088 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
10089 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10090 NDR_CHECK(ndr_pull_samr_DomainInfoClass(ndr
, NDR_SCALARS
, &r
->in
.level
));
10091 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
10092 ZERO_STRUCTP(r
->out
.info
);
10094 if (flags
& NDR_OUT
) {
10095 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10096 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
10098 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10099 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
10100 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
10102 NDR_PULL_ALLOC(ndr
, *r
->out
.info
);
10104 *r
->out
.info
= NULL
;
10106 if (*r
->out
.info
) {
10107 _mem_save_info_1
= NDR_PULL_GET_MEM_CTX(ndr
);
10108 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.info
, 0);
10109 NDR_CHECK(ndr_pull_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
10110 NDR_CHECK(ndr_pull_samr_DomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
10111 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_1
, 0);
10113 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
10114 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10116 return NDR_ERR_SUCCESS
;
10119 _PUBLIC_
void ndr_print_samr_QueryDomainInfo2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_QueryDomainInfo2
*r
)
10121 ndr_print_struct(ndr
, name
, "samr_QueryDomainInfo2");
10123 if (flags
& NDR_SET_VALUES
) {
10124 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10126 if (flags
& NDR_IN
) {
10127 ndr_print_struct(ndr
, "in", "samr_QueryDomainInfo2");
10129 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
10131 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
10133 ndr_print_samr_DomainInfoClass(ndr
, "level", r
->in
.level
);
10136 if (flags
& NDR_OUT
) {
10137 ndr_print_struct(ndr
, "out", "samr_QueryDomainInfo2");
10139 ndr_print_ptr(ndr
, "info", r
->out
.info
);
10141 ndr_print_ptr(ndr
, "info", *r
->out
.info
);
10143 if (*r
->out
.info
) {
10144 ndr_print_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
);
10145 ndr_print_samr_DomainInfo(ndr
, "info", *r
->out
.info
);
10149 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10155 static enum ndr_err_code
ndr_push_samr_QueryUserInfo2(struct ndr_push
*ndr
, int flags
, const struct samr_QueryUserInfo2
*r
)
10157 if (flags
& NDR_IN
) {
10158 if (r
->in
.user_handle
== NULL
) {
10159 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10161 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
10162 NDR_CHECK(ndr_push_samr_UserInfoLevel(ndr
, NDR_SCALARS
, r
->in
.level
));
10164 if (flags
& NDR_OUT
) {
10165 if (r
->out
.info
== NULL
) {
10166 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10168 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.info
));
10169 if (*r
->out
.info
) {
10170 NDR_CHECK(ndr_push_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
10171 NDR_CHECK(ndr_push_samr_UserInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
10173 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10175 return NDR_ERR_SUCCESS
;
10178 static enum ndr_err_code
ndr_pull_samr_QueryUserInfo2(struct ndr_pull
*ndr
, int flags
, struct samr_QueryUserInfo2
*r
)
10180 uint32_t _ptr_info
;
10181 TALLOC_CTX
*_mem_save_user_handle_0
;
10182 TALLOC_CTX
*_mem_save_info_0
;
10183 TALLOC_CTX
*_mem_save_info_1
;
10184 if (flags
& NDR_IN
) {
10185 ZERO_STRUCT(r
->out
);
10187 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10188 NDR_PULL_ALLOC(ndr
, r
->in
.user_handle
);
10190 _mem_save_user_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10191 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.user_handle
, LIBNDR_FLAG_REF_ALLOC
);
10192 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
10193 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_user_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10194 NDR_CHECK(ndr_pull_samr_UserInfoLevel(ndr
, NDR_SCALARS
, &r
->in
.level
));
10195 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
10196 ZERO_STRUCTP(r
->out
.info
);
10198 if (flags
& NDR_OUT
) {
10199 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10200 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
10202 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10203 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
10204 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
10206 NDR_PULL_ALLOC(ndr
, *r
->out
.info
);
10208 *r
->out
.info
= NULL
;
10210 if (*r
->out
.info
) {
10211 _mem_save_info_1
= NDR_PULL_GET_MEM_CTX(ndr
);
10212 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.info
, 0);
10213 NDR_CHECK(ndr_pull_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
10214 NDR_CHECK(ndr_pull_samr_UserInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
10215 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_1
, 0);
10217 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
10218 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10220 return NDR_ERR_SUCCESS
;
10223 _PUBLIC_
void ndr_print_samr_QueryUserInfo2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_QueryUserInfo2
*r
)
10225 ndr_print_struct(ndr
, name
, "samr_QueryUserInfo2");
10227 if (flags
& NDR_SET_VALUES
) {
10228 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10230 if (flags
& NDR_IN
) {
10231 ndr_print_struct(ndr
, "in", "samr_QueryUserInfo2");
10233 ndr_print_ptr(ndr
, "user_handle", r
->in
.user_handle
);
10235 ndr_print_policy_handle(ndr
, "user_handle", r
->in
.user_handle
);
10237 ndr_print_samr_UserInfoLevel(ndr
, "level", r
->in
.level
);
10240 if (flags
& NDR_OUT
) {
10241 ndr_print_struct(ndr
, "out", "samr_QueryUserInfo2");
10243 ndr_print_ptr(ndr
, "info", r
->out
.info
);
10245 ndr_print_ptr(ndr
, "info", *r
->out
.info
);
10247 if (*r
->out
.info
) {
10248 ndr_print_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
);
10249 ndr_print_samr_UserInfo(ndr
, "info", *r
->out
.info
);
10253 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10259 static enum ndr_err_code
ndr_push_samr_QueryDisplayInfo2(struct ndr_push
*ndr
, int flags
, const struct samr_QueryDisplayInfo2
*r
)
10261 if (flags
& NDR_IN
) {
10262 if (r
->in
.domain_handle
== NULL
) {
10263 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10265 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
10266 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->in
.level
));
10267 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.start_idx
));
10268 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.max_entries
));
10269 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.buf_size
));
10271 if (flags
& NDR_OUT
) {
10272 if (r
->out
.total_size
== NULL
) {
10273 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10275 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.total_size
));
10276 if (r
->out
.returned_size
== NULL
) {
10277 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10279 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.returned_size
));
10280 if (r
->out
.info
== NULL
) {
10281 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10283 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.info
, r
->in
.level
));
10284 NDR_CHECK(ndr_push_samr_DispInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.info
));
10285 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10287 return NDR_ERR_SUCCESS
;
10290 static enum ndr_err_code
ndr_pull_samr_QueryDisplayInfo2(struct ndr_pull
*ndr
, int flags
, struct samr_QueryDisplayInfo2
*r
)
10292 TALLOC_CTX
*_mem_save_domain_handle_0
;
10293 TALLOC_CTX
*_mem_save_total_size_0
;
10294 TALLOC_CTX
*_mem_save_returned_size_0
;
10295 TALLOC_CTX
*_mem_save_info_0
;
10296 if (flags
& NDR_IN
) {
10297 ZERO_STRUCT(r
->out
);
10299 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10300 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
10302 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10303 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
10304 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
10305 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10306 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->in
.level
));
10307 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.start_idx
));
10308 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.max_entries
));
10309 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.buf_size
));
10310 NDR_PULL_ALLOC(ndr
, r
->out
.total_size
);
10311 ZERO_STRUCTP(r
->out
.total_size
);
10312 NDR_PULL_ALLOC(ndr
, r
->out
.returned_size
);
10313 ZERO_STRUCTP(r
->out
.returned_size
);
10314 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
10315 ZERO_STRUCTP(r
->out
.info
);
10317 if (flags
& NDR_OUT
) {
10318 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10319 NDR_PULL_ALLOC(ndr
, r
->out
.total_size
);
10321 _mem_save_total_size_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10322 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.total_size
, LIBNDR_FLAG_REF_ALLOC
);
10323 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.total_size
));
10324 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_total_size_0
, LIBNDR_FLAG_REF_ALLOC
);
10325 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10326 NDR_PULL_ALLOC(ndr
, r
->out
.returned_size
);
10328 _mem_save_returned_size_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10329 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.returned_size
, LIBNDR_FLAG_REF_ALLOC
);
10330 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.returned_size
));
10331 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_returned_size_0
, LIBNDR_FLAG_REF_ALLOC
);
10332 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10333 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
10335 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10336 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
10337 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.info
, r
->in
.level
));
10338 NDR_CHECK(ndr_pull_samr_DispInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.info
));
10339 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
10340 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10342 return NDR_ERR_SUCCESS
;
10345 _PUBLIC_
void ndr_print_samr_QueryDisplayInfo2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_QueryDisplayInfo2
*r
)
10347 ndr_print_struct(ndr
, name
, "samr_QueryDisplayInfo2");
10349 if (flags
& NDR_SET_VALUES
) {
10350 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10352 if (flags
& NDR_IN
) {
10353 ndr_print_struct(ndr
, "in", "samr_QueryDisplayInfo2");
10355 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
10357 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
10359 ndr_print_uint16(ndr
, "level", r
->in
.level
);
10360 ndr_print_uint32(ndr
, "start_idx", r
->in
.start_idx
);
10361 ndr_print_uint32(ndr
, "max_entries", r
->in
.max_entries
);
10362 ndr_print_uint32(ndr
, "buf_size", r
->in
.buf_size
);
10365 if (flags
& NDR_OUT
) {
10366 ndr_print_struct(ndr
, "out", "samr_QueryDisplayInfo2");
10368 ndr_print_ptr(ndr
, "total_size", r
->out
.total_size
);
10370 ndr_print_uint32(ndr
, "total_size", *r
->out
.total_size
);
10372 ndr_print_ptr(ndr
, "returned_size", r
->out
.returned_size
);
10374 ndr_print_uint32(ndr
, "returned_size", *r
->out
.returned_size
);
10376 ndr_print_ptr(ndr
, "info", r
->out
.info
);
10378 ndr_print_set_switch_value(ndr
, r
->out
.info
, r
->in
.level
);
10379 ndr_print_samr_DispInfo(ndr
, "info", r
->out
.info
);
10381 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10387 static enum ndr_err_code
ndr_push_samr_GetDisplayEnumerationIndex2(struct ndr_push
*ndr
, int flags
, const struct samr_GetDisplayEnumerationIndex2
*r
)
10389 if (flags
& NDR_IN
) {
10390 if (r
->in
.domain_handle
== NULL
) {
10391 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10393 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
10394 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->in
.level
));
10395 if (r
->in
.name
== NULL
) {
10396 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10398 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.name
));
10400 if (flags
& NDR_OUT
) {
10401 if (r
->out
.idx
== NULL
) {
10402 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10404 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.idx
));
10405 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10407 return NDR_ERR_SUCCESS
;
10410 static enum ndr_err_code
ndr_pull_samr_GetDisplayEnumerationIndex2(struct ndr_pull
*ndr
, int flags
, struct samr_GetDisplayEnumerationIndex2
*r
)
10412 TALLOC_CTX
*_mem_save_domain_handle_0
;
10413 TALLOC_CTX
*_mem_save_name_0
;
10414 TALLOC_CTX
*_mem_save_idx_0
;
10415 if (flags
& NDR_IN
) {
10416 ZERO_STRUCT(r
->out
);
10418 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10419 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
10421 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10422 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
10423 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
10424 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10425 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->in
.level
));
10426 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10427 NDR_PULL_ALLOC(ndr
, r
->in
.name
);
10429 _mem_save_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10430 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.name
, LIBNDR_FLAG_REF_ALLOC
);
10431 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.name
));
10432 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_name_0
, LIBNDR_FLAG_REF_ALLOC
);
10433 NDR_PULL_ALLOC(ndr
, r
->out
.idx
);
10434 ZERO_STRUCTP(r
->out
.idx
);
10436 if (flags
& NDR_OUT
) {
10437 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10438 NDR_PULL_ALLOC(ndr
, r
->out
.idx
);
10440 _mem_save_idx_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10441 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.idx
, LIBNDR_FLAG_REF_ALLOC
);
10442 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.idx
));
10443 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_idx_0
, LIBNDR_FLAG_REF_ALLOC
);
10444 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10446 return NDR_ERR_SUCCESS
;
10449 _PUBLIC_
void ndr_print_samr_GetDisplayEnumerationIndex2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_GetDisplayEnumerationIndex2
*r
)
10451 ndr_print_struct(ndr
, name
, "samr_GetDisplayEnumerationIndex2");
10453 if (flags
& NDR_SET_VALUES
) {
10454 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10456 if (flags
& NDR_IN
) {
10457 ndr_print_struct(ndr
, "in", "samr_GetDisplayEnumerationIndex2");
10459 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
10461 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
10463 ndr_print_uint16(ndr
, "level", r
->in
.level
);
10464 ndr_print_ptr(ndr
, "name", r
->in
.name
);
10466 ndr_print_lsa_String(ndr
, "name", r
->in
.name
);
10470 if (flags
& NDR_OUT
) {
10471 ndr_print_struct(ndr
, "out", "samr_GetDisplayEnumerationIndex2");
10473 ndr_print_ptr(ndr
, "idx", r
->out
.idx
);
10475 ndr_print_uint32(ndr
, "idx", *r
->out
.idx
);
10477 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10483 static enum ndr_err_code
ndr_push_samr_CreateUser2(struct ndr_push
*ndr
, int flags
, const struct samr_CreateUser2
*r
)
10485 if (flags
& NDR_IN
) {
10486 if (r
->in
.domain_handle
== NULL
) {
10487 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10489 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
10490 if (r
->in
.account_name
== NULL
) {
10491 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10493 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.account_name
));
10494 NDR_CHECK(ndr_push_samr_AcctFlags(ndr
, NDR_SCALARS
, r
->in
.acct_flags
));
10495 NDR_CHECK(ndr_push_samr_UserAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
10497 if (flags
& NDR_OUT
) {
10498 if (r
->out
.user_handle
== NULL
) {
10499 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10501 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.user_handle
));
10502 if (r
->out
.access_granted
== NULL
) {
10503 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10505 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.access_granted
));
10506 if (r
->out
.rid
== NULL
) {
10507 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10509 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.rid
));
10510 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10512 return NDR_ERR_SUCCESS
;
10515 static enum ndr_err_code
ndr_pull_samr_CreateUser2(struct ndr_pull
*ndr
, int flags
, struct samr_CreateUser2
*r
)
10517 TALLOC_CTX
*_mem_save_domain_handle_0
;
10518 TALLOC_CTX
*_mem_save_account_name_0
;
10519 TALLOC_CTX
*_mem_save_user_handle_0
;
10520 TALLOC_CTX
*_mem_save_access_granted_0
;
10521 TALLOC_CTX
*_mem_save_rid_0
;
10522 if (flags
& NDR_IN
) {
10523 ZERO_STRUCT(r
->out
);
10525 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10526 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
10528 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10529 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
10530 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
10531 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10532 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10533 NDR_PULL_ALLOC(ndr
, r
->in
.account_name
);
10535 _mem_save_account_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10536 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.account_name
, LIBNDR_FLAG_REF_ALLOC
);
10537 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.account_name
));
10538 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_account_name_0
, LIBNDR_FLAG_REF_ALLOC
);
10539 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr
, NDR_SCALARS
, &r
->in
.acct_flags
));
10540 NDR_CHECK(ndr_pull_samr_UserAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
10541 NDR_PULL_ALLOC(ndr
, r
->out
.user_handle
);
10542 ZERO_STRUCTP(r
->out
.user_handle
);
10543 NDR_PULL_ALLOC(ndr
, r
->out
.access_granted
);
10544 ZERO_STRUCTP(r
->out
.access_granted
);
10545 NDR_PULL_ALLOC(ndr
, r
->out
.rid
);
10546 ZERO_STRUCTP(r
->out
.rid
);
10548 if (flags
& NDR_OUT
) {
10549 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10550 NDR_PULL_ALLOC(ndr
, r
->out
.user_handle
);
10552 _mem_save_user_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10553 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.user_handle
, LIBNDR_FLAG_REF_ALLOC
);
10554 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.user_handle
));
10555 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_user_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10556 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10557 NDR_PULL_ALLOC(ndr
, r
->out
.access_granted
);
10559 _mem_save_access_granted_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10560 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.access_granted
, LIBNDR_FLAG_REF_ALLOC
);
10561 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.access_granted
));
10562 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_access_granted_0
, LIBNDR_FLAG_REF_ALLOC
);
10563 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10564 NDR_PULL_ALLOC(ndr
, r
->out
.rid
);
10566 _mem_save_rid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10567 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.rid
, LIBNDR_FLAG_REF_ALLOC
);
10568 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.rid
));
10569 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rid_0
, LIBNDR_FLAG_REF_ALLOC
);
10570 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10572 return NDR_ERR_SUCCESS
;
10575 _PUBLIC_
void ndr_print_samr_CreateUser2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_CreateUser2
*r
)
10577 ndr_print_struct(ndr
, name
, "samr_CreateUser2");
10579 if (flags
& NDR_SET_VALUES
) {
10580 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10582 if (flags
& NDR_IN
) {
10583 ndr_print_struct(ndr
, "in", "samr_CreateUser2");
10585 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
10587 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
10589 ndr_print_ptr(ndr
, "account_name", r
->in
.account_name
);
10591 ndr_print_lsa_String(ndr
, "account_name", r
->in
.account_name
);
10593 ndr_print_samr_AcctFlags(ndr
, "acct_flags", r
->in
.acct_flags
);
10594 ndr_print_samr_UserAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
10597 if (flags
& NDR_OUT
) {
10598 ndr_print_struct(ndr
, "out", "samr_CreateUser2");
10600 ndr_print_ptr(ndr
, "user_handle", r
->out
.user_handle
);
10602 ndr_print_policy_handle(ndr
, "user_handle", r
->out
.user_handle
);
10604 ndr_print_ptr(ndr
, "access_granted", r
->out
.access_granted
);
10606 ndr_print_uint32(ndr
, "access_granted", *r
->out
.access_granted
);
10608 ndr_print_ptr(ndr
, "rid", r
->out
.rid
);
10610 ndr_print_uint32(ndr
, "rid", *r
->out
.rid
);
10612 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10618 static enum ndr_err_code
ndr_push_samr_QueryDisplayInfo3(struct ndr_push
*ndr
, int flags
, const struct samr_QueryDisplayInfo3
*r
)
10620 if (flags
& NDR_IN
) {
10621 if (r
->in
.domain_handle
== NULL
) {
10622 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10624 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
10625 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->in
.level
));
10626 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.start_idx
));
10627 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.max_entries
));
10628 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.buf_size
));
10630 if (flags
& NDR_OUT
) {
10631 if (r
->out
.total_size
== NULL
) {
10632 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10634 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.total_size
));
10635 if (r
->out
.returned_size
== NULL
) {
10636 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10638 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.returned_size
));
10639 if (r
->out
.info
== NULL
) {
10640 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10642 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.info
, r
->in
.level
));
10643 NDR_CHECK(ndr_push_samr_DispInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.info
));
10644 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10646 return NDR_ERR_SUCCESS
;
10649 static enum ndr_err_code
ndr_pull_samr_QueryDisplayInfo3(struct ndr_pull
*ndr
, int flags
, struct samr_QueryDisplayInfo3
*r
)
10651 TALLOC_CTX
*_mem_save_domain_handle_0
;
10652 TALLOC_CTX
*_mem_save_total_size_0
;
10653 TALLOC_CTX
*_mem_save_returned_size_0
;
10654 TALLOC_CTX
*_mem_save_info_0
;
10655 if (flags
& NDR_IN
) {
10656 ZERO_STRUCT(r
->out
);
10658 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10659 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
10661 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10662 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
10663 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
10664 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10665 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->in
.level
));
10666 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.start_idx
));
10667 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.max_entries
));
10668 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.buf_size
));
10669 NDR_PULL_ALLOC(ndr
, r
->out
.total_size
);
10670 ZERO_STRUCTP(r
->out
.total_size
);
10671 NDR_PULL_ALLOC(ndr
, r
->out
.returned_size
);
10672 ZERO_STRUCTP(r
->out
.returned_size
);
10673 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
10674 ZERO_STRUCTP(r
->out
.info
);
10676 if (flags
& NDR_OUT
) {
10677 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10678 NDR_PULL_ALLOC(ndr
, r
->out
.total_size
);
10680 _mem_save_total_size_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10681 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.total_size
, LIBNDR_FLAG_REF_ALLOC
);
10682 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.total_size
));
10683 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_total_size_0
, LIBNDR_FLAG_REF_ALLOC
);
10684 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10685 NDR_PULL_ALLOC(ndr
, r
->out
.returned_size
);
10687 _mem_save_returned_size_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10688 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.returned_size
, LIBNDR_FLAG_REF_ALLOC
);
10689 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.returned_size
));
10690 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_returned_size_0
, LIBNDR_FLAG_REF_ALLOC
);
10691 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10692 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
10694 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10695 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
10696 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.info
, r
->in
.level
));
10697 NDR_CHECK(ndr_pull_samr_DispInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.info
));
10698 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
10699 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10701 return NDR_ERR_SUCCESS
;
10704 _PUBLIC_
void ndr_print_samr_QueryDisplayInfo3(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_QueryDisplayInfo3
*r
)
10706 ndr_print_struct(ndr
, name
, "samr_QueryDisplayInfo3");
10708 if (flags
& NDR_SET_VALUES
) {
10709 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10711 if (flags
& NDR_IN
) {
10712 ndr_print_struct(ndr
, "in", "samr_QueryDisplayInfo3");
10714 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
10716 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
10718 ndr_print_uint16(ndr
, "level", r
->in
.level
);
10719 ndr_print_uint32(ndr
, "start_idx", r
->in
.start_idx
);
10720 ndr_print_uint32(ndr
, "max_entries", r
->in
.max_entries
);
10721 ndr_print_uint32(ndr
, "buf_size", r
->in
.buf_size
);
10724 if (flags
& NDR_OUT
) {
10725 ndr_print_struct(ndr
, "out", "samr_QueryDisplayInfo3");
10727 ndr_print_ptr(ndr
, "total_size", r
->out
.total_size
);
10729 ndr_print_uint32(ndr
, "total_size", *r
->out
.total_size
);
10731 ndr_print_ptr(ndr
, "returned_size", r
->out
.returned_size
);
10733 ndr_print_uint32(ndr
, "returned_size", *r
->out
.returned_size
);
10735 ndr_print_ptr(ndr
, "info", r
->out
.info
);
10737 ndr_print_set_switch_value(ndr
, r
->out
.info
, r
->in
.level
);
10738 ndr_print_samr_DispInfo(ndr
, "info", r
->out
.info
);
10740 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10746 static enum ndr_err_code
ndr_push_samr_AddMultipleMembersToAlias(struct ndr_push
*ndr
, int flags
, const struct samr_AddMultipleMembersToAlias
*r
)
10748 if (flags
& NDR_IN
) {
10749 if (r
->in
.alias_handle
== NULL
) {
10750 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10752 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
10753 if (r
->in
.sids
== NULL
) {
10754 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10756 NDR_CHECK(ndr_push_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
10758 if (flags
& NDR_OUT
) {
10759 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10761 return NDR_ERR_SUCCESS
;
10764 static enum ndr_err_code
ndr_pull_samr_AddMultipleMembersToAlias(struct ndr_pull
*ndr
, int flags
, struct samr_AddMultipleMembersToAlias
*r
)
10766 TALLOC_CTX
*_mem_save_alias_handle_0
;
10767 TALLOC_CTX
*_mem_save_sids_0
;
10768 if (flags
& NDR_IN
) {
10769 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10770 NDR_PULL_ALLOC(ndr
, r
->in
.alias_handle
);
10772 _mem_save_alias_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10773 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.alias_handle
, LIBNDR_FLAG_REF_ALLOC
);
10774 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
10775 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_alias_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10776 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10777 NDR_PULL_ALLOC(ndr
, r
->in
.sids
);
10779 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10780 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sids
, LIBNDR_FLAG_REF_ALLOC
);
10781 NDR_CHECK(ndr_pull_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
10782 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, LIBNDR_FLAG_REF_ALLOC
);
10784 if (flags
& NDR_OUT
) {
10785 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10787 return NDR_ERR_SUCCESS
;
10790 _PUBLIC_
void ndr_print_samr_AddMultipleMembersToAlias(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_AddMultipleMembersToAlias
*r
)
10792 ndr_print_struct(ndr
, name
, "samr_AddMultipleMembersToAlias");
10794 if (flags
& NDR_SET_VALUES
) {
10795 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10797 if (flags
& NDR_IN
) {
10798 ndr_print_struct(ndr
, "in", "samr_AddMultipleMembersToAlias");
10800 ndr_print_ptr(ndr
, "alias_handle", r
->in
.alias_handle
);
10802 ndr_print_policy_handle(ndr
, "alias_handle", r
->in
.alias_handle
);
10804 ndr_print_ptr(ndr
, "sids", r
->in
.sids
);
10806 ndr_print_lsa_SidArray(ndr
, "sids", r
->in
.sids
);
10810 if (flags
& NDR_OUT
) {
10811 ndr_print_struct(ndr
, "out", "samr_AddMultipleMembersToAlias");
10813 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10819 static enum ndr_err_code
ndr_push_samr_RemoveMultipleMembersFromAlias(struct ndr_push
*ndr
, int flags
, const struct samr_RemoveMultipleMembersFromAlias
*r
)
10821 if (flags
& NDR_IN
) {
10822 if (r
->in
.alias_handle
== NULL
) {
10823 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10825 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
10826 if (r
->in
.sids
== NULL
) {
10827 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10829 NDR_CHECK(ndr_push_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
10831 if (flags
& NDR_OUT
) {
10832 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10834 return NDR_ERR_SUCCESS
;
10837 static enum ndr_err_code
ndr_pull_samr_RemoveMultipleMembersFromAlias(struct ndr_pull
*ndr
, int flags
, struct samr_RemoveMultipleMembersFromAlias
*r
)
10839 TALLOC_CTX
*_mem_save_alias_handle_0
;
10840 TALLOC_CTX
*_mem_save_sids_0
;
10841 if (flags
& NDR_IN
) {
10842 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10843 NDR_PULL_ALLOC(ndr
, r
->in
.alias_handle
);
10845 _mem_save_alias_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10846 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.alias_handle
, LIBNDR_FLAG_REF_ALLOC
);
10847 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
10848 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_alias_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10849 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10850 NDR_PULL_ALLOC(ndr
, r
->in
.sids
);
10852 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10853 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sids
, LIBNDR_FLAG_REF_ALLOC
);
10854 NDR_CHECK(ndr_pull_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
10855 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, LIBNDR_FLAG_REF_ALLOC
);
10857 if (flags
& NDR_OUT
) {
10858 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10860 return NDR_ERR_SUCCESS
;
10863 _PUBLIC_
void ndr_print_samr_RemoveMultipleMembersFromAlias(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_RemoveMultipleMembersFromAlias
*r
)
10865 ndr_print_struct(ndr
, name
, "samr_RemoveMultipleMembersFromAlias");
10867 if (flags
& NDR_SET_VALUES
) {
10868 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10870 if (flags
& NDR_IN
) {
10871 ndr_print_struct(ndr
, "in", "samr_RemoveMultipleMembersFromAlias");
10873 ndr_print_ptr(ndr
, "alias_handle", r
->in
.alias_handle
);
10875 ndr_print_policy_handle(ndr
, "alias_handle", r
->in
.alias_handle
);
10877 ndr_print_ptr(ndr
, "sids", r
->in
.sids
);
10879 ndr_print_lsa_SidArray(ndr
, "sids", r
->in
.sids
);
10883 if (flags
& NDR_OUT
) {
10884 ndr_print_struct(ndr
, "out", "samr_RemoveMultipleMembersFromAlias");
10886 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10892 static enum ndr_err_code
ndr_push_samr_OemChangePasswordUser2(struct ndr_push
*ndr
, int flags
, const struct samr_OemChangePasswordUser2
*r
)
10894 if (flags
& NDR_IN
) {
10895 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.server
));
10896 if (r
->in
.server
) {
10897 NDR_CHECK(ndr_push_lsa_AsciiString(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.server
));
10899 if (r
->in
.account
== NULL
) {
10900 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10902 NDR_CHECK(ndr_push_lsa_AsciiString(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.account
));
10903 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.password
));
10904 if (r
->in
.password
) {
10905 NDR_CHECK(ndr_push_samr_CryptPassword(ndr
, NDR_SCALARS
, r
->in
.password
));
10907 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.hash
));
10909 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, r
->in
.hash
));
10912 if (flags
& NDR_OUT
) {
10913 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10915 return NDR_ERR_SUCCESS
;
10918 static enum ndr_err_code
ndr_pull_samr_OemChangePasswordUser2(struct ndr_pull
*ndr
, int flags
, struct samr_OemChangePasswordUser2
*r
)
10920 uint32_t _ptr_server
;
10921 uint32_t _ptr_password
;
10922 uint32_t _ptr_hash
;
10923 TALLOC_CTX
*_mem_save_server_0
;
10924 TALLOC_CTX
*_mem_save_account_0
;
10925 TALLOC_CTX
*_mem_save_password_0
;
10926 TALLOC_CTX
*_mem_save_hash_0
;
10927 if (flags
& NDR_IN
) {
10928 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_server
));
10930 NDR_PULL_ALLOC(ndr
, r
->in
.server
);
10932 r
->in
.server
= NULL
;
10934 if (r
->in
.server
) {
10935 _mem_save_server_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10936 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.server
, 0);
10937 NDR_CHECK(ndr_pull_lsa_AsciiString(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.server
));
10938 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_server_0
, 0);
10940 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10941 NDR_PULL_ALLOC(ndr
, r
->in
.account
);
10943 _mem_save_account_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10944 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.account
, LIBNDR_FLAG_REF_ALLOC
);
10945 NDR_CHECK(ndr_pull_lsa_AsciiString(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.account
));
10946 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_account_0
, LIBNDR_FLAG_REF_ALLOC
);
10947 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_password
));
10948 if (_ptr_password
) {
10949 NDR_PULL_ALLOC(ndr
, r
->in
.password
);
10951 r
->in
.password
= NULL
;
10953 if (r
->in
.password
) {
10954 _mem_save_password_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10955 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.password
, 0);
10956 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr
, NDR_SCALARS
, r
->in
.password
));
10957 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_password_0
, 0);
10959 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_hash
));
10961 NDR_PULL_ALLOC(ndr
, r
->in
.hash
);
10966 _mem_save_hash_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10967 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.hash
, 0);
10968 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, r
->in
.hash
));
10969 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_hash_0
, 0);
10972 if (flags
& NDR_OUT
) {
10973 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10975 return NDR_ERR_SUCCESS
;
10978 _PUBLIC_
void ndr_print_samr_OemChangePasswordUser2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_OemChangePasswordUser2
*r
)
10980 ndr_print_struct(ndr
, name
, "samr_OemChangePasswordUser2");
10982 if (flags
& NDR_SET_VALUES
) {
10983 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10985 if (flags
& NDR_IN
) {
10986 ndr_print_struct(ndr
, "in", "samr_OemChangePasswordUser2");
10988 ndr_print_ptr(ndr
, "server", r
->in
.server
);
10990 if (r
->in
.server
) {
10991 ndr_print_lsa_AsciiString(ndr
, "server", r
->in
.server
);
10994 ndr_print_ptr(ndr
, "account", r
->in
.account
);
10996 ndr_print_lsa_AsciiString(ndr
, "account", r
->in
.account
);
10998 ndr_print_ptr(ndr
, "password", r
->in
.password
);
11000 if (r
->in
.password
) {
11001 ndr_print_samr_CryptPassword(ndr
, "password", r
->in
.password
);
11004 ndr_print_ptr(ndr
, "hash", r
->in
.hash
);
11007 ndr_print_samr_Password(ndr
, "hash", r
->in
.hash
);
11012 if (flags
& NDR_OUT
) {
11013 ndr_print_struct(ndr
, "out", "samr_OemChangePasswordUser2");
11015 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11021 static enum ndr_err_code
ndr_push_samr_ChangePasswordUser2(struct ndr_push
*ndr
, int flags
, const struct samr_ChangePasswordUser2
*r
)
11023 if (flags
& NDR_IN
) {
11024 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.server
));
11025 if (r
->in
.server
) {
11026 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.server
));
11028 if (r
->in
.account
== NULL
) {
11029 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11031 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.account
));
11032 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.nt_password
));
11033 if (r
->in
.nt_password
) {
11034 NDR_CHECK(ndr_push_samr_CryptPassword(ndr
, NDR_SCALARS
, r
->in
.nt_password
));
11036 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.nt_verifier
));
11037 if (r
->in
.nt_verifier
) {
11038 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, r
->in
.nt_verifier
));
11040 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->in
.lm_change
));
11041 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.lm_password
));
11042 if (r
->in
.lm_password
) {
11043 NDR_CHECK(ndr_push_samr_CryptPassword(ndr
, NDR_SCALARS
, r
->in
.lm_password
));
11045 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.lm_verifier
));
11046 if (r
->in
.lm_verifier
) {
11047 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, r
->in
.lm_verifier
));
11050 if (flags
& NDR_OUT
) {
11051 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11053 return NDR_ERR_SUCCESS
;
11056 static enum ndr_err_code
ndr_pull_samr_ChangePasswordUser2(struct ndr_pull
*ndr
, int flags
, struct samr_ChangePasswordUser2
*r
)
11058 uint32_t _ptr_server
;
11059 uint32_t _ptr_nt_password
;
11060 uint32_t _ptr_nt_verifier
;
11061 uint32_t _ptr_lm_password
;
11062 uint32_t _ptr_lm_verifier
;
11063 TALLOC_CTX
*_mem_save_server_0
;
11064 TALLOC_CTX
*_mem_save_account_0
;
11065 TALLOC_CTX
*_mem_save_nt_password_0
;
11066 TALLOC_CTX
*_mem_save_nt_verifier_0
;
11067 TALLOC_CTX
*_mem_save_lm_password_0
;
11068 TALLOC_CTX
*_mem_save_lm_verifier_0
;
11069 if (flags
& NDR_IN
) {
11070 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_server
));
11072 NDR_PULL_ALLOC(ndr
, r
->in
.server
);
11074 r
->in
.server
= NULL
;
11076 if (r
->in
.server
) {
11077 _mem_save_server_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11078 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.server
, 0);
11079 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.server
));
11080 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_server_0
, 0);
11082 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11083 NDR_PULL_ALLOC(ndr
, r
->in
.account
);
11085 _mem_save_account_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11086 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.account
, LIBNDR_FLAG_REF_ALLOC
);
11087 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.account
));
11088 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_account_0
, LIBNDR_FLAG_REF_ALLOC
);
11089 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_nt_password
));
11090 if (_ptr_nt_password
) {
11091 NDR_PULL_ALLOC(ndr
, r
->in
.nt_password
);
11093 r
->in
.nt_password
= NULL
;
11095 if (r
->in
.nt_password
) {
11096 _mem_save_nt_password_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11097 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.nt_password
, 0);
11098 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr
, NDR_SCALARS
, r
->in
.nt_password
));
11099 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_nt_password_0
, 0);
11101 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_nt_verifier
));
11102 if (_ptr_nt_verifier
) {
11103 NDR_PULL_ALLOC(ndr
, r
->in
.nt_verifier
);
11105 r
->in
.nt_verifier
= NULL
;
11107 if (r
->in
.nt_verifier
) {
11108 _mem_save_nt_verifier_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11109 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.nt_verifier
, 0);
11110 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, r
->in
.nt_verifier
));
11111 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_nt_verifier_0
, 0);
11113 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->in
.lm_change
));
11114 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_lm_password
));
11115 if (_ptr_lm_password
) {
11116 NDR_PULL_ALLOC(ndr
, r
->in
.lm_password
);
11118 r
->in
.lm_password
= NULL
;
11120 if (r
->in
.lm_password
) {
11121 _mem_save_lm_password_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11122 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.lm_password
, 0);
11123 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr
, NDR_SCALARS
, r
->in
.lm_password
));
11124 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_lm_password_0
, 0);
11126 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_lm_verifier
));
11127 if (_ptr_lm_verifier
) {
11128 NDR_PULL_ALLOC(ndr
, r
->in
.lm_verifier
);
11130 r
->in
.lm_verifier
= NULL
;
11132 if (r
->in
.lm_verifier
) {
11133 _mem_save_lm_verifier_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11134 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.lm_verifier
, 0);
11135 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, r
->in
.lm_verifier
));
11136 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_lm_verifier_0
, 0);
11139 if (flags
& NDR_OUT
) {
11140 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11142 return NDR_ERR_SUCCESS
;
11145 _PUBLIC_
void ndr_print_samr_ChangePasswordUser2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_ChangePasswordUser2
*r
)
11147 ndr_print_struct(ndr
, name
, "samr_ChangePasswordUser2");
11149 if (flags
& NDR_SET_VALUES
) {
11150 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11152 if (flags
& NDR_IN
) {
11153 ndr_print_struct(ndr
, "in", "samr_ChangePasswordUser2");
11155 ndr_print_ptr(ndr
, "server", r
->in
.server
);
11157 if (r
->in
.server
) {
11158 ndr_print_lsa_String(ndr
, "server", r
->in
.server
);
11161 ndr_print_ptr(ndr
, "account", r
->in
.account
);
11163 ndr_print_lsa_String(ndr
, "account", r
->in
.account
);
11165 ndr_print_ptr(ndr
, "nt_password", r
->in
.nt_password
);
11167 if (r
->in
.nt_password
) {
11168 ndr_print_samr_CryptPassword(ndr
, "nt_password", r
->in
.nt_password
);
11171 ndr_print_ptr(ndr
, "nt_verifier", r
->in
.nt_verifier
);
11173 if (r
->in
.nt_verifier
) {
11174 ndr_print_samr_Password(ndr
, "nt_verifier", r
->in
.nt_verifier
);
11177 ndr_print_uint8(ndr
, "lm_change", r
->in
.lm_change
);
11178 ndr_print_ptr(ndr
, "lm_password", r
->in
.lm_password
);
11180 if (r
->in
.lm_password
) {
11181 ndr_print_samr_CryptPassword(ndr
, "lm_password", r
->in
.lm_password
);
11184 ndr_print_ptr(ndr
, "lm_verifier", r
->in
.lm_verifier
);
11186 if (r
->in
.lm_verifier
) {
11187 ndr_print_samr_Password(ndr
, "lm_verifier", r
->in
.lm_verifier
);
11192 if (flags
& NDR_OUT
) {
11193 ndr_print_struct(ndr
, "out", "samr_ChangePasswordUser2");
11195 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11201 static enum ndr_err_code
ndr_push_samr_GetDomPwInfo(struct ndr_push
*ndr
, int flags
, const struct samr_GetDomPwInfo
*r
)
11203 if (flags
& NDR_IN
) {
11204 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.domain_name
));
11205 if (r
->in
.domain_name
) {
11206 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.domain_name
));
11209 if (flags
& NDR_OUT
) {
11210 if (r
->out
.info
== NULL
) {
11211 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11213 NDR_CHECK(ndr_push_samr_PwInfo(ndr
, NDR_SCALARS
, r
->out
.info
));
11214 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11216 return NDR_ERR_SUCCESS
;
11219 static enum ndr_err_code
ndr_pull_samr_GetDomPwInfo(struct ndr_pull
*ndr
, int flags
, struct samr_GetDomPwInfo
*r
)
11221 uint32_t _ptr_domain_name
;
11222 TALLOC_CTX
*_mem_save_domain_name_0
;
11223 TALLOC_CTX
*_mem_save_info_0
;
11224 if (flags
& NDR_IN
) {
11225 ZERO_STRUCT(r
->out
);
11227 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_domain_name
));
11228 if (_ptr_domain_name
) {
11229 NDR_PULL_ALLOC(ndr
, r
->in
.domain_name
);
11231 r
->in
.domain_name
= NULL
;
11233 if (r
->in
.domain_name
) {
11234 _mem_save_domain_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11235 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_name
, 0);
11236 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.domain_name
));
11237 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_name_0
, 0);
11239 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
11240 ZERO_STRUCTP(r
->out
.info
);
11242 if (flags
& NDR_OUT
) {
11243 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11244 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
11246 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11247 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
11248 NDR_CHECK(ndr_pull_samr_PwInfo(ndr
, NDR_SCALARS
, r
->out
.info
));
11249 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
11250 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11252 return NDR_ERR_SUCCESS
;
11255 _PUBLIC_
void ndr_print_samr_GetDomPwInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_GetDomPwInfo
*r
)
11257 ndr_print_struct(ndr
, name
, "samr_GetDomPwInfo");
11259 if (flags
& NDR_SET_VALUES
) {
11260 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11262 if (flags
& NDR_IN
) {
11263 ndr_print_struct(ndr
, "in", "samr_GetDomPwInfo");
11265 ndr_print_ptr(ndr
, "domain_name", r
->in
.domain_name
);
11267 if (r
->in
.domain_name
) {
11268 ndr_print_lsa_String(ndr
, "domain_name", r
->in
.domain_name
);
11273 if (flags
& NDR_OUT
) {
11274 ndr_print_struct(ndr
, "out", "samr_GetDomPwInfo");
11276 ndr_print_ptr(ndr
, "info", r
->out
.info
);
11278 ndr_print_samr_PwInfo(ndr
, "info", r
->out
.info
);
11280 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11286 static enum ndr_err_code
ndr_push_samr_Connect2(struct ndr_push
*ndr
, int flags
, const struct samr_Connect2
*r
)
11288 if (flags
& NDR_IN
) {
11289 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.system_name
));
11290 if (r
->in
.system_name
) {
11291 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->in
.system_name
, CH_UTF16
)));
11292 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
11293 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->in
.system_name
, CH_UTF16
)));
11294 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
));
11296 NDR_CHECK(ndr_push_samr_ConnectAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
11298 if (flags
& NDR_OUT
) {
11299 if (r
->out
.connect_handle
== NULL
) {
11300 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11302 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.connect_handle
));
11303 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11305 return NDR_ERR_SUCCESS
;
11308 static enum ndr_err_code
ndr_pull_samr_Connect2(struct ndr_pull
*ndr
, int flags
, struct samr_Connect2
*r
)
11310 uint32_t _ptr_system_name
;
11311 uint32_t size_system_name_1
= 0;
11312 uint32_t length_system_name_1
= 0;
11313 TALLOC_CTX
*_mem_save_system_name_0
;
11314 TALLOC_CTX
*_mem_save_connect_handle_0
;
11315 if (flags
& NDR_IN
) {
11316 ZERO_STRUCT(r
->out
);
11318 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_system_name
));
11319 if (_ptr_system_name
) {
11320 NDR_PULL_ALLOC(ndr
, r
->in
.system_name
);
11322 r
->in
.system_name
= NULL
;
11324 if (r
->in
.system_name
) {
11325 _mem_save_system_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11326 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.system_name
, 0);
11327 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->in
.system_name
));
11328 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->in
.system_name
));
11329 size_system_name_1
= ndr_get_array_size(ndr
, &r
->in
.system_name
);
11330 length_system_name_1
= ndr_get_array_length(ndr
, &r
->in
.system_name
);
11331 if (length_system_name_1
> size_system_name_1
) {
11332 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", size_system_name_1
, length_system_name_1
);
11334 NDR_CHECK(ndr_check_string_terminator(ndr
, length_system_name_1
, sizeof(uint16_t)));
11335 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->in
.system_name
, length_system_name_1
, sizeof(uint16_t), CH_UTF16
));
11336 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_system_name_0
, 0);
11338 NDR_CHECK(ndr_pull_samr_ConnectAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
11339 NDR_PULL_ALLOC(ndr
, r
->out
.connect_handle
);
11340 ZERO_STRUCTP(r
->out
.connect_handle
);
11342 if (flags
& NDR_OUT
) {
11343 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11344 NDR_PULL_ALLOC(ndr
, r
->out
.connect_handle
);
11346 _mem_save_connect_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11347 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.connect_handle
, LIBNDR_FLAG_REF_ALLOC
);
11348 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.connect_handle
));
11349 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_connect_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
11350 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11352 return NDR_ERR_SUCCESS
;
11355 _PUBLIC_
void ndr_print_samr_Connect2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_Connect2
*r
)
11357 ndr_print_struct(ndr
, name
, "samr_Connect2");
11359 if (flags
& NDR_SET_VALUES
) {
11360 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11362 if (flags
& NDR_IN
) {
11363 ndr_print_struct(ndr
, "in", "samr_Connect2");
11365 ndr_print_ptr(ndr
, "system_name", r
->in
.system_name
);
11367 if (r
->in
.system_name
) {
11368 ndr_print_string(ndr
, "system_name", r
->in
.system_name
);
11371 ndr_print_samr_ConnectAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
11374 if (flags
& NDR_OUT
) {
11375 ndr_print_struct(ndr
, "out", "samr_Connect2");
11377 ndr_print_ptr(ndr
, "connect_handle", r
->out
.connect_handle
);
11379 ndr_print_policy_handle(ndr
, "connect_handle", r
->out
.connect_handle
);
11381 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11387 _PUBLIC_
enum ndr_err_code
ndr_push_samr_SetUserInfo2(struct ndr_push
*ndr
, int flags
, const struct samr_SetUserInfo2
*r
)
11389 if (flags
& NDR_IN
) {
11390 if (r
->in
.user_handle
== NULL
) {
11391 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11393 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
11394 NDR_CHECK(ndr_push_samr_UserInfoLevel(ndr
, NDR_SCALARS
, r
->in
.level
));
11395 if (r
->in
.info
== NULL
) {
11396 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11398 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
11399 NDR_CHECK(ndr_push_samr_UserInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
11401 if (flags
& NDR_OUT
) {
11402 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11404 return NDR_ERR_SUCCESS
;
11407 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_SetUserInfo2(struct ndr_pull
*ndr
, int flags
, struct samr_SetUserInfo2
*r
)
11409 TALLOC_CTX
*_mem_save_user_handle_0
;
11410 TALLOC_CTX
*_mem_save_info_0
;
11411 if (flags
& NDR_IN
) {
11412 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11413 NDR_PULL_ALLOC(ndr
, r
->in
.user_handle
);
11415 _mem_save_user_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11416 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.user_handle
, LIBNDR_FLAG_REF_ALLOC
);
11417 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
11418 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_user_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
11419 NDR_CHECK(ndr_pull_samr_UserInfoLevel(ndr
, NDR_SCALARS
, &r
->in
.level
));
11420 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11421 NDR_PULL_ALLOC(ndr
, r
->in
.info
);
11423 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11424 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.info
, LIBNDR_FLAG_REF_ALLOC
);
11425 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
11426 NDR_CHECK(ndr_pull_samr_UserInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
11427 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
11429 if (flags
& NDR_OUT
) {
11430 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11432 return NDR_ERR_SUCCESS
;
11435 _PUBLIC_
void ndr_print_samr_SetUserInfo2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_SetUserInfo2
*r
)
11437 ndr_print_struct(ndr
, name
, "samr_SetUserInfo2");
11439 if (flags
& NDR_SET_VALUES
) {
11440 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11442 if (flags
& NDR_IN
) {
11443 ndr_print_struct(ndr
, "in", "samr_SetUserInfo2");
11445 ndr_print_ptr(ndr
, "user_handle", r
->in
.user_handle
);
11447 ndr_print_policy_handle(ndr
, "user_handle", r
->in
.user_handle
);
11449 ndr_print_samr_UserInfoLevel(ndr
, "level", r
->in
.level
);
11450 ndr_print_ptr(ndr
, "info", r
->in
.info
);
11452 ndr_print_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
);
11453 ndr_print_samr_UserInfo(ndr
, "info", r
->in
.info
);
11457 if (flags
& NDR_OUT
) {
11458 ndr_print_struct(ndr
, "out", "samr_SetUserInfo2");
11460 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11466 static enum ndr_err_code
ndr_push_samr_SetBootKeyInformation(struct ndr_push
*ndr
, int flags
, const struct samr_SetBootKeyInformation
*r
)
11468 if (flags
& NDR_IN
) {
11469 if (r
->in
.connect_handle
== NULL
) {
11470 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11472 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.connect_handle
));
11473 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.unknown1
));
11474 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.unknown2
));
11475 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.unknown3
));
11477 if (flags
& NDR_OUT
) {
11478 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11480 return NDR_ERR_SUCCESS
;
11483 static enum ndr_err_code
ndr_pull_samr_SetBootKeyInformation(struct ndr_pull
*ndr
, int flags
, struct samr_SetBootKeyInformation
*r
)
11485 TALLOC_CTX
*_mem_save_connect_handle_0
;
11486 if (flags
& NDR_IN
) {
11487 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11488 NDR_PULL_ALLOC(ndr
, r
->in
.connect_handle
);
11490 _mem_save_connect_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11491 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.connect_handle
, LIBNDR_FLAG_REF_ALLOC
);
11492 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.connect_handle
));
11493 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_connect_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
11494 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.unknown1
));
11495 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.unknown2
));
11496 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.unknown3
));
11498 if (flags
& NDR_OUT
) {
11499 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11501 return NDR_ERR_SUCCESS
;
11504 _PUBLIC_
void ndr_print_samr_SetBootKeyInformation(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_SetBootKeyInformation
*r
)
11506 ndr_print_struct(ndr
, name
, "samr_SetBootKeyInformation");
11508 if (flags
& NDR_SET_VALUES
) {
11509 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11511 if (flags
& NDR_IN
) {
11512 ndr_print_struct(ndr
, "in", "samr_SetBootKeyInformation");
11514 ndr_print_ptr(ndr
, "connect_handle", r
->in
.connect_handle
);
11516 ndr_print_policy_handle(ndr
, "connect_handle", r
->in
.connect_handle
);
11518 ndr_print_uint32(ndr
, "unknown1", r
->in
.unknown1
);
11519 ndr_print_uint32(ndr
, "unknown2", r
->in
.unknown2
);
11520 ndr_print_uint32(ndr
, "unknown3", r
->in
.unknown3
);
11523 if (flags
& NDR_OUT
) {
11524 ndr_print_struct(ndr
, "out", "samr_SetBootKeyInformation");
11526 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11532 static enum ndr_err_code
ndr_push_samr_GetBootKeyInformation(struct ndr_push
*ndr
, int flags
, const struct samr_GetBootKeyInformation
*r
)
11534 if (flags
& NDR_IN
) {
11535 if (r
->in
.domain_handle
== NULL
) {
11536 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11538 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
11540 if (flags
& NDR_OUT
) {
11541 if (r
->out
.unknown
== NULL
) {
11542 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11544 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.unknown
));
11545 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11547 return NDR_ERR_SUCCESS
;
11550 static enum ndr_err_code
ndr_pull_samr_GetBootKeyInformation(struct ndr_pull
*ndr
, int flags
, struct samr_GetBootKeyInformation
*r
)
11552 TALLOC_CTX
*_mem_save_domain_handle_0
;
11553 TALLOC_CTX
*_mem_save_unknown_0
;
11554 if (flags
& NDR_IN
) {
11555 ZERO_STRUCT(r
->out
);
11557 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11558 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
11560 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11561 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
11562 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
11563 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
11564 NDR_PULL_ALLOC(ndr
, r
->out
.unknown
);
11565 ZERO_STRUCTP(r
->out
.unknown
);
11567 if (flags
& NDR_OUT
) {
11568 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11569 NDR_PULL_ALLOC(ndr
, r
->out
.unknown
);
11571 _mem_save_unknown_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11572 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.unknown
, LIBNDR_FLAG_REF_ALLOC
);
11573 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.unknown
));
11574 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_unknown_0
, LIBNDR_FLAG_REF_ALLOC
);
11575 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11577 return NDR_ERR_SUCCESS
;
11580 _PUBLIC_
void ndr_print_samr_GetBootKeyInformation(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_GetBootKeyInformation
*r
)
11582 ndr_print_struct(ndr
, name
, "samr_GetBootKeyInformation");
11584 if (flags
& NDR_SET_VALUES
) {
11585 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11587 if (flags
& NDR_IN
) {
11588 ndr_print_struct(ndr
, "in", "samr_GetBootKeyInformation");
11590 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
11592 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
11596 if (flags
& NDR_OUT
) {
11597 ndr_print_struct(ndr
, "out", "samr_GetBootKeyInformation");
11599 ndr_print_ptr(ndr
, "unknown", r
->out
.unknown
);
11601 ndr_print_uint32(ndr
, "unknown", *r
->out
.unknown
);
11603 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11609 static enum ndr_err_code
ndr_push_samr_Connect3(struct ndr_push
*ndr
, int flags
, const struct samr_Connect3
*r
)
11611 if (flags
& NDR_IN
) {
11612 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.system_name
));
11613 if (r
->in
.system_name
) {
11614 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->in
.system_name
, CH_UTF16
)));
11615 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
11616 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->in
.system_name
, CH_UTF16
)));
11617 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
));
11619 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.unknown
));
11620 NDR_CHECK(ndr_push_samr_ConnectAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
11622 if (flags
& NDR_OUT
) {
11623 if (r
->out
.connect_handle
== NULL
) {
11624 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11626 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.connect_handle
));
11627 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11629 return NDR_ERR_SUCCESS
;
11632 static enum ndr_err_code
ndr_pull_samr_Connect3(struct ndr_pull
*ndr
, int flags
, struct samr_Connect3
*r
)
11634 uint32_t _ptr_system_name
;
11635 uint32_t size_system_name_1
= 0;
11636 uint32_t length_system_name_1
= 0;
11637 TALLOC_CTX
*_mem_save_system_name_0
;
11638 TALLOC_CTX
*_mem_save_connect_handle_0
;
11639 if (flags
& NDR_IN
) {
11640 ZERO_STRUCT(r
->out
);
11642 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_system_name
));
11643 if (_ptr_system_name
) {
11644 NDR_PULL_ALLOC(ndr
, r
->in
.system_name
);
11646 r
->in
.system_name
= NULL
;
11648 if (r
->in
.system_name
) {
11649 _mem_save_system_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11650 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.system_name
, 0);
11651 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->in
.system_name
));
11652 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->in
.system_name
));
11653 size_system_name_1
= ndr_get_array_size(ndr
, &r
->in
.system_name
);
11654 length_system_name_1
= ndr_get_array_length(ndr
, &r
->in
.system_name
);
11655 if (length_system_name_1
> size_system_name_1
) {
11656 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", size_system_name_1
, length_system_name_1
);
11658 NDR_CHECK(ndr_check_string_terminator(ndr
, length_system_name_1
, sizeof(uint16_t)));
11659 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->in
.system_name
, length_system_name_1
, sizeof(uint16_t), CH_UTF16
));
11660 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_system_name_0
, 0);
11662 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.unknown
));
11663 NDR_CHECK(ndr_pull_samr_ConnectAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
11664 NDR_PULL_ALLOC(ndr
, r
->out
.connect_handle
);
11665 ZERO_STRUCTP(r
->out
.connect_handle
);
11667 if (flags
& NDR_OUT
) {
11668 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11669 NDR_PULL_ALLOC(ndr
, r
->out
.connect_handle
);
11671 _mem_save_connect_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11672 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.connect_handle
, LIBNDR_FLAG_REF_ALLOC
);
11673 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.connect_handle
));
11674 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_connect_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
11675 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11677 return NDR_ERR_SUCCESS
;
11680 _PUBLIC_
void ndr_print_samr_Connect3(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_Connect3
*r
)
11682 ndr_print_struct(ndr
, name
, "samr_Connect3");
11684 if (flags
& NDR_SET_VALUES
) {
11685 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11687 if (flags
& NDR_IN
) {
11688 ndr_print_struct(ndr
, "in", "samr_Connect3");
11690 ndr_print_ptr(ndr
, "system_name", r
->in
.system_name
);
11692 if (r
->in
.system_name
) {
11693 ndr_print_string(ndr
, "system_name", r
->in
.system_name
);
11696 ndr_print_uint32(ndr
, "unknown", r
->in
.unknown
);
11697 ndr_print_samr_ConnectAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
11700 if (flags
& NDR_OUT
) {
11701 ndr_print_struct(ndr
, "out", "samr_Connect3");
11703 ndr_print_ptr(ndr
, "connect_handle", r
->out
.connect_handle
);
11705 ndr_print_policy_handle(ndr
, "connect_handle", r
->out
.connect_handle
);
11707 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11713 static enum ndr_err_code
ndr_push_samr_Connect4(struct ndr_push
*ndr
, int flags
, const struct samr_Connect4
*r
)
11715 if (flags
& NDR_IN
) {
11716 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.system_name
));
11717 if (r
->in
.system_name
) {
11718 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->in
.system_name
, CH_UTF16
)));
11719 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
11720 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->in
.system_name
, CH_UTF16
)));
11721 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
));
11723 NDR_CHECK(ndr_push_samr_ConnectVersion(ndr
, NDR_SCALARS
, r
->in
.client_version
));
11724 NDR_CHECK(ndr_push_samr_ConnectAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
11726 if (flags
& NDR_OUT
) {
11727 if (r
->out
.connect_handle
== NULL
) {
11728 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11730 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.connect_handle
));
11731 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11733 return NDR_ERR_SUCCESS
;
11736 static enum ndr_err_code
ndr_pull_samr_Connect4(struct ndr_pull
*ndr
, int flags
, struct samr_Connect4
*r
)
11738 uint32_t _ptr_system_name
;
11739 uint32_t size_system_name_1
= 0;
11740 uint32_t length_system_name_1
= 0;
11741 TALLOC_CTX
*_mem_save_system_name_0
;
11742 TALLOC_CTX
*_mem_save_connect_handle_0
;
11743 if (flags
& NDR_IN
) {
11744 ZERO_STRUCT(r
->out
);
11746 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_system_name
));
11747 if (_ptr_system_name
) {
11748 NDR_PULL_ALLOC(ndr
, r
->in
.system_name
);
11750 r
->in
.system_name
= NULL
;
11752 if (r
->in
.system_name
) {
11753 _mem_save_system_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11754 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.system_name
, 0);
11755 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->in
.system_name
));
11756 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->in
.system_name
));
11757 size_system_name_1
= ndr_get_array_size(ndr
, &r
->in
.system_name
);
11758 length_system_name_1
= ndr_get_array_length(ndr
, &r
->in
.system_name
);
11759 if (length_system_name_1
> size_system_name_1
) {
11760 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", size_system_name_1
, length_system_name_1
);
11762 NDR_CHECK(ndr_check_string_terminator(ndr
, length_system_name_1
, sizeof(uint16_t)));
11763 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->in
.system_name
, length_system_name_1
, sizeof(uint16_t), CH_UTF16
));
11764 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_system_name_0
, 0);
11766 NDR_CHECK(ndr_pull_samr_ConnectVersion(ndr
, NDR_SCALARS
, &r
->in
.client_version
));
11767 NDR_CHECK(ndr_pull_samr_ConnectAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
11768 NDR_PULL_ALLOC(ndr
, r
->out
.connect_handle
);
11769 ZERO_STRUCTP(r
->out
.connect_handle
);
11771 if (flags
& NDR_OUT
) {
11772 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11773 NDR_PULL_ALLOC(ndr
, r
->out
.connect_handle
);
11775 _mem_save_connect_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11776 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.connect_handle
, LIBNDR_FLAG_REF_ALLOC
);
11777 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.connect_handle
));
11778 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_connect_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
11779 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11781 return NDR_ERR_SUCCESS
;
11784 _PUBLIC_
void ndr_print_samr_Connect4(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_Connect4
*r
)
11786 ndr_print_struct(ndr
, name
, "samr_Connect4");
11788 if (flags
& NDR_SET_VALUES
) {
11789 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11791 if (flags
& NDR_IN
) {
11792 ndr_print_struct(ndr
, "in", "samr_Connect4");
11794 ndr_print_ptr(ndr
, "system_name", r
->in
.system_name
);
11796 if (r
->in
.system_name
) {
11797 ndr_print_string(ndr
, "system_name", r
->in
.system_name
);
11800 ndr_print_samr_ConnectVersion(ndr
, "client_version", r
->in
.client_version
);
11801 ndr_print_samr_ConnectAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
11804 if (flags
& NDR_OUT
) {
11805 ndr_print_struct(ndr
, "out", "samr_Connect4");
11807 ndr_print_ptr(ndr
, "connect_handle", r
->out
.connect_handle
);
11809 ndr_print_policy_handle(ndr
, "connect_handle", r
->out
.connect_handle
);
11811 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11817 static enum ndr_err_code
ndr_push_samr_ChangePasswordUser3(struct ndr_push
*ndr
, int flags
, const struct samr_ChangePasswordUser3
*r
)
11819 if (flags
& NDR_IN
) {
11820 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.server
));
11821 if (r
->in
.server
) {
11822 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.server
));
11824 if (r
->in
.account
== NULL
) {
11825 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11827 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.account
));
11828 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.nt_password
));
11829 if (r
->in
.nt_password
) {
11830 NDR_CHECK(ndr_push_samr_CryptPassword(ndr
, NDR_SCALARS
, r
->in
.nt_password
));
11832 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.nt_verifier
));
11833 if (r
->in
.nt_verifier
) {
11834 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, r
->in
.nt_verifier
));
11836 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->in
.lm_change
));
11837 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.lm_password
));
11838 if (r
->in
.lm_password
) {
11839 NDR_CHECK(ndr_push_samr_CryptPassword(ndr
, NDR_SCALARS
, r
->in
.lm_password
));
11841 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.lm_verifier
));
11842 if (r
->in
.lm_verifier
) {
11843 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, r
->in
.lm_verifier
));
11845 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.password3
));
11846 if (r
->in
.password3
) {
11847 NDR_CHECK(ndr_push_samr_CryptPassword(ndr
, NDR_SCALARS
, r
->in
.password3
));
11850 if (flags
& NDR_OUT
) {
11851 if (r
->out
.dominfo
== NULL
) {
11852 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11854 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.dominfo
));
11855 if (*r
->out
.dominfo
) {
11856 NDR_CHECK(ndr_push_samr_DomInfo1(ndr
, NDR_SCALARS
, *r
->out
.dominfo
));
11858 if (r
->out
.reject
== NULL
) {
11859 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11861 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.reject
));
11862 if (*r
->out
.reject
) {
11863 NDR_CHECK(ndr_push_samr_ChangeReject(ndr
, NDR_SCALARS
, *r
->out
.reject
));
11865 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11867 return NDR_ERR_SUCCESS
;
11870 static enum ndr_err_code
ndr_pull_samr_ChangePasswordUser3(struct ndr_pull
*ndr
, int flags
, struct samr_ChangePasswordUser3
*r
)
11872 uint32_t _ptr_server
;
11873 uint32_t _ptr_nt_password
;
11874 uint32_t _ptr_nt_verifier
;
11875 uint32_t _ptr_lm_password
;
11876 uint32_t _ptr_lm_verifier
;
11877 uint32_t _ptr_password3
;
11878 uint32_t _ptr_dominfo
;
11879 uint32_t _ptr_reject
;
11880 TALLOC_CTX
*_mem_save_server_0
;
11881 TALLOC_CTX
*_mem_save_account_0
;
11882 TALLOC_CTX
*_mem_save_nt_password_0
;
11883 TALLOC_CTX
*_mem_save_nt_verifier_0
;
11884 TALLOC_CTX
*_mem_save_lm_password_0
;
11885 TALLOC_CTX
*_mem_save_lm_verifier_0
;
11886 TALLOC_CTX
*_mem_save_password3_0
;
11887 TALLOC_CTX
*_mem_save_dominfo_0
;
11888 TALLOC_CTX
*_mem_save_dominfo_1
;
11889 TALLOC_CTX
*_mem_save_reject_0
;
11890 TALLOC_CTX
*_mem_save_reject_1
;
11891 if (flags
& NDR_IN
) {
11892 ZERO_STRUCT(r
->out
);
11894 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_server
));
11896 NDR_PULL_ALLOC(ndr
, r
->in
.server
);
11898 r
->in
.server
= NULL
;
11900 if (r
->in
.server
) {
11901 _mem_save_server_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11902 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.server
, 0);
11903 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.server
));
11904 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_server_0
, 0);
11906 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11907 NDR_PULL_ALLOC(ndr
, r
->in
.account
);
11909 _mem_save_account_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11910 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.account
, LIBNDR_FLAG_REF_ALLOC
);
11911 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.account
));
11912 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_account_0
, LIBNDR_FLAG_REF_ALLOC
);
11913 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_nt_password
));
11914 if (_ptr_nt_password
) {
11915 NDR_PULL_ALLOC(ndr
, r
->in
.nt_password
);
11917 r
->in
.nt_password
= NULL
;
11919 if (r
->in
.nt_password
) {
11920 _mem_save_nt_password_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11921 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.nt_password
, 0);
11922 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr
, NDR_SCALARS
, r
->in
.nt_password
));
11923 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_nt_password_0
, 0);
11925 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_nt_verifier
));
11926 if (_ptr_nt_verifier
) {
11927 NDR_PULL_ALLOC(ndr
, r
->in
.nt_verifier
);
11929 r
->in
.nt_verifier
= NULL
;
11931 if (r
->in
.nt_verifier
) {
11932 _mem_save_nt_verifier_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11933 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.nt_verifier
, 0);
11934 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, r
->in
.nt_verifier
));
11935 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_nt_verifier_0
, 0);
11937 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->in
.lm_change
));
11938 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_lm_password
));
11939 if (_ptr_lm_password
) {
11940 NDR_PULL_ALLOC(ndr
, r
->in
.lm_password
);
11942 r
->in
.lm_password
= NULL
;
11944 if (r
->in
.lm_password
) {
11945 _mem_save_lm_password_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11946 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.lm_password
, 0);
11947 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr
, NDR_SCALARS
, r
->in
.lm_password
));
11948 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_lm_password_0
, 0);
11950 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_lm_verifier
));
11951 if (_ptr_lm_verifier
) {
11952 NDR_PULL_ALLOC(ndr
, r
->in
.lm_verifier
);
11954 r
->in
.lm_verifier
= NULL
;
11956 if (r
->in
.lm_verifier
) {
11957 _mem_save_lm_verifier_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11958 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.lm_verifier
, 0);
11959 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, r
->in
.lm_verifier
));
11960 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_lm_verifier_0
, 0);
11962 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_password3
));
11963 if (_ptr_password3
) {
11964 NDR_PULL_ALLOC(ndr
, r
->in
.password3
);
11966 r
->in
.password3
= NULL
;
11968 if (r
->in
.password3
) {
11969 _mem_save_password3_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11970 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.password3
, 0);
11971 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr
, NDR_SCALARS
, r
->in
.password3
));
11972 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_password3_0
, 0);
11974 NDR_PULL_ALLOC(ndr
, r
->out
.dominfo
);
11975 ZERO_STRUCTP(r
->out
.dominfo
);
11976 NDR_PULL_ALLOC(ndr
, r
->out
.reject
);
11977 ZERO_STRUCTP(r
->out
.reject
);
11979 if (flags
& NDR_OUT
) {
11980 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11981 NDR_PULL_ALLOC(ndr
, r
->out
.dominfo
);
11983 _mem_save_dominfo_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11984 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.dominfo
, LIBNDR_FLAG_REF_ALLOC
);
11985 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_dominfo
));
11986 if (_ptr_dominfo
) {
11987 NDR_PULL_ALLOC(ndr
, *r
->out
.dominfo
);
11989 *r
->out
.dominfo
= NULL
;
11991 if (*r
->out
.dominfo
) {
11992 _mem_save_dominfo_1
= NDR_PULL_GET_MEM_CTX(ndr
);
11993 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.dominfo
, 0);
11994 NDR_CHECK(ndr_pull_samr_DomInfo1(ndr
, NDR_SCALARS
, *r
->out
.dominfo
));
11995 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dominfo_1
, 0);
11997 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dominfo_0
, LIBNDR_FLAG_REF_ALLOC
);
11998 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11999 NDR_PULL_ALLOC(ndr
, r
->out
.reject
);
12001 _mem_save_reject_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12002 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.reject
, LIBNDR_FLAG_REF_ALLOC
);
12003 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_reject
));
12005 NDR_PULL_ALLOC(ndr
, *r
->out
.reject
);
12007 *r
->out
.reject
= NULL
;
12009 if (*r
->out
.reject
) {
12010 _mem_save_reject_1
= NDR_PULL_GET_MEM_CTX(ndr
);
12011 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.reject
, 0);
12012 NDR_CHECK(ndr_pull_samr_ChangeReject(ndr
, NDR_SCALARS
, *r
->out
.reject
));
12013 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_reject_1
, 0);
12015 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_reject_0
, LIBNDR_FLAG_REF_ALLOC
);
12016 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
12018 return NDR_ERR_SUCCESS
;
12021 _PUBLIC_
void ndr_print_samr_ChangePasswordUser3(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_ChangePasswordUser3
*r
)
12023 ndr_print_struct(ndr
, name
, "samr_ChangePasswordUser3");
12025 if (flags
& NDR_SET_VALUES
) {
12026 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
12028 if (flags
& NDR_IN
) {
12029 ndr_print_struct(ndr
, "in", "samr_ChangePasswordUser3");
12031 ndr_print_ptr(ndr
, "server", r
->in
.server
);
12033 if (r
->in
.server
) {
12034 ndr_print_lsa_String(ndr
, "server", r
->in
.server
);
12037 ndr_print_ptr(ndr
, "account", r
->in
.account
);
12039 ndr_print_lsa_String(ndr
, "account", r
->in
.account
);
12041 ndr_print_ptr(ndr
, "nt_password", r
->in
.nt_password
);
12043 if (r
->in
.nt_password
) {
12044 ndr_print_samr_CryptPassword(ndr
, "nt_password", r
->in
.nt_password
);
12047 ndr_print_ptr(ndr
, "nt_verifier", r
->in
.nt_verifier
);
12049 if (r
->in
.nt_verifier
) {
12050 ndr_print_samr_Password(ndr
, "nt_verifier", r
->in
.nt_verifier
);
12053 ndr_print_uint8(ndr
, "lm_change", r
->in
.lm_change
);
12054 ndr_print_ptr(ndr
, "lm_password", r
->in
.lm_password
);
12056 if (r
->in
.lm_password
) {
12057 ndr_print_samr_CryptPassword(ndr
, "lm_password", r
->in
.lm_password
);
12060 ndr_print_ptr(ndr
, "lm_verifier", r
->in
.lm_verifier
);
12062 if (r
->in
.lm_verifier
) {
12063 ndr_print_samr_Password(ndr
, "lm_verifier", r
->in
.lm_verifier
);
12066 ndr_print_ptr(ndr
, "password3", r
->in
.password3
);
12068 if (r
->in
.password3
) {
12069 ndr_print_samr_CryptPassword(ndr
, "password3", r
->in
.password3
);
12074 if (flags
& NDR_OUT
) {
12075 ndr_print_struct(ndr
, "out", "samr_ChangePasswordUser3");
12077 ndr_print_ptr(ndr
, "dominfo", r
->out
.dominfo
);
12079 ndr_print_ptr(ndr
, "dominfo", *r
->out
.dominfo
);
12081 if (*r
->out
.dominfo
) {
12082 ndr_print_samr_DomInfo1(ndr
, "dominfo", *r
->out
.dominfo
);
12086 ndr_print_ptr(ndr
, "reject", r
->out
.reject
);
12088 ndr_print_ptr(ndr
, "reject", *r
->out
.reject
);
12090 if (*r
->out
.reject
) {
12091 ndr_print_samr_ChangeReject(ndr
, "reject", *r
->out
.reject
);
12095 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
12101 _PUBLIC_
enum ndr_err_code
ndr_push_samr_Connect5(struct ndr_push
*ndr
, int flags
, const struct samr_Connect5
*r
)
12103 if (flags
& NDR_IN
) {
12104 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.system_name
));
12105 if (r
->in
.system_name
) {
12106 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->in
.system_name
, CH_UTF16
)));
12107 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
12108 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->in
.system_name
, CH_UTF16
)));
12109 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
));
12111 NDR_CHECK(ndr_push_samr_ConnectAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
12112 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.level_in
));
12113 if (r
->in
.info_in
== NULL
) {
12114 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
12116 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.info_in
, r
->in
.level_in
));
12117 NDR_CHECK(ndr_push_samr_ConnectInfo(ndr
, NDR_SCALARS
, r
->in
.info_in
));
12119 if (flags
& NDR_OUT
) {
12120 if (r
->out
.level_out
== NULL
) {
12121 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
12123 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
12124 if (r
->out
.info_out
== NULL
) {
12125 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
12127 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.info_out
, *r
->out
.level_out
));
12128 NDR_CHECK(ndr_push_samr_ConnectInfo(ndr
, NDR_SCALARS
, r
->out
.info_out
));
12129 if (r
->out
.connect_handle
== NULL
) {
12130 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
12132 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.connect_handle
));
12133 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
12135 return NDR_ERR_SUCCESS
;
12138 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_Connect5(struct ndr_pull
*ndr
, int flags
, struct samr_Connect5
*r
)
12140 uint32_t _ptr_system_name
;
12141 uint32_t size_system_name_1
= 0;
12142 uint32_t length_system_name_1
= 0;
12143 TALLOC_CTX
*_mem_save_system_name_0
;
12144 TALLOC_CTX
*_mem_save_info_in_0
;
12145 TALLOC_CTX
*_mem_save_level_out_0
;
12146 TALLOC_CTX
*_mem_save_info_out_0
;
12147 TALLOC_CTX
*_mem_save_connect_handle_0
;
12148 if (flags
& NDR_IN
) {
12149 ZERO_STRUCT(r
->out
);
12151 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_system_name
));
12152 if (_ptr_system_name
) {
12153 NDR_PULL_ALLOC(ndr
, r
->in
.system_name
);
12155 r
->in
.system_name
= NULL
;
12157 if (r
->in
.system_name
) {
12158 _mem_save_system_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12159 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.system_name
, 0);
12160 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->in
.system_name
));
12161 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->in
.system_name
));
12162 size_system_name_1
= ndr_get_array_size(ndr
, &r
->in
.system_name
);
12163 length_system_name_1
= ndr_get_array_length(ndr
, &r
->in
.system_name
);
12164 if (length_system_name_1
> size_system_name_1
) {
12165 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", size_system_name_1
, length_system_name_1
);
12167 NDR_CHECK(ndr_check_string_terminator(ndr
, length_system_name_1
, sizeof(uint16_t)));
12168 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->in
.system_name
, length_system_name_1
, sizeof(uint16_t), CH_UTF16
));
12169 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_system_name_0
, 0);
12171 NDR_CHECK(ndr_pull_samr_ConnectAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
12172 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.level_in
));
12173 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
12174 NDR_PULL_ALLOC(ndr
, r
->in
.info_in
);
12176 _mem_save_info_in_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12177 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.info_in
, LIBNDR_FLAG_REF_ALLOC
);
12178 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.info_in
, r
->in
.level_in
));
12179 NDR_CHECK(ndr_pull_samr_ConnectInfo(ndr
, NDR_SCALARS
, r
->in
.info_in
));
12180 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_in_0
, LIBNDR_FLAG_REF_ALLOC
);
12181 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
12182 ZERO_STRUCTP(r
->out
.level_out
);
12183 NDR_PULL_ALLOC(ndr
, r
->out
.info_out
);
12184 ZERO_STRUCTP(r
->out
.info_out
);
12185 NDR_PULL_ALLOC(ndr
, r
->out
.connect_handle
);
12186 ZERO_STRUCTP(r
->out
.connect_handle
);
12188 if (flags
& NDR_OUT
) {
12189 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
12190 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
12192 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12193 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
12194 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
12195 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
12196 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
12197 NDR_PULL_ALLOC(ndr
, r
->out
.info_out
);
12199 _mem_save_info_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12200 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info_out
, LIBNDR_FLAG_REF_ALLOC
);
12201 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.info_out
, *r
->out
.level_out
));
12202 NDR_CHECK(ndr_pull_samr_ConnectInfo(ndr
, NDR_SCALARS
, r
->out
.info_out
));
12203 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_out_0
, LIBNDR_FLAG_REF_ALLOC
);
12204 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
12205 NDR_PULL_ALLOC(ndr
, r
->out
.connect_handle
);
12207 _mem_save_connect_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12208 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.connect_handle
, LIBNDR_FLAG_REF_ALLOC
);
12209 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.connect_handle
));
12210 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_connect_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
12211 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
12213 return NDR_ERR_SUCCESS
;
12216 _PUBLIC_
void ndr_print_samr_Connect5(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_Connect5
*r
)
12218 ndr_print_struct(ndr
, name
, "samr_Connect5");
12220 if (flags
& NDR_SET_VALUES
) {
12221 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
12223 if (flags
& NDR_IN
) {
12224 ndr_print_struct(ndr
, "in", "samr_Connect5");
12226 ndr_print_ptr(ndr
, "system_name", r
->in
.system_name
);
12228 if (r
->in
.system_name
) {
12229 ndr_print_string(ndr
, "system_name", r
->in
.system_name
);
12232 ndr_print_samr_ConnectAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
12233 ndr_print_uint32(ndr
, "level_in", r
->in
.level_in
);
12234 ndr_print_ptr(ndr
, "info_in", r
->in
.info_in
);
12236 ndr_print_set_switch_value(ndr
, r
->in
.info_in
, r
->in
.level_in
);
12237 ndr_print_samr_ConnectInfo(ndr
, "info_in", r
->in
.info_in
);
12241 if (flags
& NDR_OUT
) {
12242 ndr_print_struct(ndr
, "out", "samr_Connect5");
12244 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
12246 ndr_print_uint32(ndr
, "level_out", *r
->out
.level_out
);
12248 ndr_print_ptr(ndr
, "info_out", r
->out
.info_out
);
12250 ndr_print_set_switch_value(ndr
, r
->out
.info_out
, *r
->out
.level_out
);
12251 ndr_print_samr_ConnectInfo(ndr
, "info_out", r
->out
.info_out
);
12253 ndr_print_ptr(ndr
, "connect_handle", r
->out
.connect_handle
);
12255 ndr_print_policy_handle(ndr
, "connect_handle", r
->out
.connect_handle
);
12257 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
12263 static enum ndr_err_code
ndr_push_samr_RidToSid(struct ndr_push
*ndr
, int flags
, const struct samr_RidToSid
*r
)
12265 if (flags
& NDR_IN
) {
12266 if (r
->in
.domain_handle
== NULL
) {
12267 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
12269 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
12270 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.rid
));
12272 if (flags
& NDR_OUT
) {
12273 if (r
->out
.sid
== NULL
) {
12274 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
12276 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.sid
));
12278 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sid
));
12280 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
12282 return NDR_ERR_SUCCESS
;
12285 static enum ndr_err_code
ndr_pull_samr_RidToSid(struct ndr_pull
*ndr
, int flags
, struct samr_RidToSid
*r
)
12288 TALLOC_CTX
*_mem_save_domain_handle_0
;
12289 TALLOC_CTX
*_mem_save_sid_0
;
12290 TALLOC_CTX
*_mem_save_sid_1
;
12291 if (flags
& NDR_IN
) {
12292 ZERO_STRUCT(r
->out
);
12294 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
12295 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
12297 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12298 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
12299 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
12300 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
12301 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.rid
));
12302 NDR_PULL_ALLOC(ndr
, r
->out
.sid
);
12303 ZERO_STRUCTP(r
->out
.sid
);
12305 if (flags
& NDR_OUT
) {
12306 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
12307 NDR_PULL_ALLOC(ndr
, r
->out
.sid
);
12309 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12310 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sid
, LIBNDR_FLAG_REF_ALLOC
);
12311 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sid
));
12313 NDR_PULL_ALLOC(ndr
, *r
->out
.sid
);
12315 *r
->out
.sid
= NULL
;
12318 _mem_save_sid_1
= NDR_PULL_GET_MEM_CTX(ndr
);
12319 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.sid
, 0);
12320 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sid
));
12321 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_1
, 0);
12323 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, LIBNDR_FLAG_REF_ALLOC
);
12324 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
12326 return NDR_ERR_SUCCESS
;
12329 _PUBLIC_
void ndr_print_samr_RidToSid(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_RidToSid
*r
)
12331 ndr_print_struct(ndr
, name
, "samr_RidToSid");
12333 if (flags
& NDR_SET_VALUES
) {
12334 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
12336 if (flags
& NDR_IN
) {
12337 ndr_print_struct(ndr
, "in", "samr_RidToSid");
12339 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
12341 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
12343 ndr_print_uint32(ndr
, "rid", r
->in
.rid
);
12346 if (flags
& NDR_OUT
) {
12347 ndr_print_struct(ndr
, "out", "samr_RidToSid");
12349 ndr_print_ptr(ndr
, "sid", r
->out
.sid
);
12351 ndr_print_ptr(ndr
, "sid", *r
->out
.sid
);
12354 ndr_print_dom_sid2(ndr
, "sid", *r
->out
.sid
);
12358 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
12364 static enum ndr_err_code
ndr_push_samr_SetDsrmPassword(struct ndr_push
*ndr
, int flags
, const struct samr_SetDsrmPassword
*r
)
12366 if (flags
& NDR_IN
) {
12367 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.name
));
12369 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.name
));
12371 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.unknown
));
12372 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.hash
));
12374 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, r
->in
.hash
));
12377 if (flags
& NDR_OUT
) {
12378 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
12380 return NDR_ERR_SUCCESS
;
12383 static enum ndr_err_code
ndr_pull_samr_SetDsrmPassword(struct ndr_pull
*ndr
, int flags
, struct samr_SetDsrmPassword
*r
)
12385 uint32_t _ptr_name
;
12386 uint32_t _ptr_hash
;
12387 TALLOC_CTX
*_mem_save_name_0
;
12388 TALLOC_CTX
*_mem_save_hash_0
;
12389 if (flags
& NDR_IN
) {
12390 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_name
));
12392 NDR_PULL_ALLOC(ndr
, r
->in
.name
);
12397 _mem_save_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12398 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.name
, 0);
12399 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.name
));
12400 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_name_0
, 0);
12402 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.unknown
));
12403 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_hash
));
12405 NDR_PULL_ALLOC(ndr
, r
->in
.hash
);
12410 _mem_save_hash_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12411 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.hash
, 0);
12412 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, r
->in
.hash
));
12413 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_hash_0
, 0);
12416 if (flags
& NDR_OUT
) {
12417 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
12419 return NDR_ERR_SUCCESS
;
12422 _PUBLIC_
void ndr_print_samr_SetDsrmPassword(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_SetDsrmPassword
*r
)
12424 ndr_print_struct(ndr
, name
, "samr_SetDsrmPassword");
12426 if (flags
& NDR_SET_VALUES
) {
12427 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
12429 if (flags
& NDR_IN
) {
12430 ndr_print_struct(ndr
, "in", "samr_SetDsrmPassword");
12432 ndr_print_ptr(ndr
, "name", r
->in
.name
);
12435 ndr_print_lsa_String(ndr
, "name", r
->in
.name
);
12438 ndr_print_uint32(ndr
, "unknown", r
->in
.unknown
);
12439 ndr_print_ptr(ndr
, "hash", r
->in
.hash
);
12442 ndr_print_samr_Password(ndr
, "hash", r
->in
.hash
);
12447 if (flags
& NDR_OUT
) {
12448 ndr_print_struct(ndr
, "out", "samr_SetDsrmPassword");
12450 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
12456 static enum ndr_err_code
ndr_push_samr_ValidatePassword(struct ndr_push
*ndr
, int flags
, const struct samr_ValidatePassword
*r
)
12458 if (flags
& NDR_IN
) {
12459 NDR_CHECK(ndr_push_samr_ValidatePasswordLevel(ndr
, NDR_SCALARS
, r
->in
.level
));
12460 if (r
->in
.req
== NULL
) {
12461 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
12463 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
12464 NDR_CHECK(ndr_push_samr_ValidatePasswordReq(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
12466 if (flags
& NDR_OUT
) {
12467 if (r
->out
.rep
== NULL
) {
12468 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
12470 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.rep
));
12472 NDR_CHECK(ndr_push_set_switch_value(ndr
, *r
->out
.rep
, r
->in
.level
));
12473 NDR_CHECK(ndr_push_samr_ValidatePasswordRep(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.rep
));
12475 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
12477 return NDR_ERR_SUCCESS
;
12480 static enum ndr_err_code
ndr_pull_samr_ValidatePassword(struct ndr_pull
*ndr
, int flags
, struct samr_ValidatePassword
*r
)
12483 TALLOC_CTX
*_mem_save_req_0
;
12484 TALLOC_CTX
*_mem_save_rep_0
;
12485 TALLOC_CTX
*_mem_save_rep_1
;
12486 if (flags
& NDR_IN
) {
12487 ZERO_STRUCT(r
->out
);
12489 NDR_CHECK(ndr_pull_samr_ValidatePasswordLevel(ndr
, NDR_SCALARS
, &r
->in
.level
));
12490 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
12491 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
12493 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12494 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
12495 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
12496 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
12497 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
12498 NDR_PULL_ALLOC(ndr
, r
->out
.rep
);
12499 ZERO_STRUCTP(r
->out
.rep
);
12501 if (flags
& NDR_OUT
) {
12502 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
12503 NDR_PULL_ALLOC(ndr
, r
->out
.rep
);
12505 _mem_save_rep_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12506 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.rep
, LIBNDR_FLAG_REF_ALLOC
);
12507 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_rep
));
12509 NDR_PULL_ALLOC(ndr
, *r
->out
.rep
);
12511 *r
->out
.rep
= NULL
;
12514 _mem_save_rep_1
= NDR_PULL_GET_MEM_CTX(ndr
);
12515 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.rep
, 0);
12516 NDR_CHECK(ndr_pull_set_switch_value(ndr
, *r
->out
.rep
, r
->in
.level
));
12517 NDR_CHECK(ndr_pull_samr_ValidatePasswordRep(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.rep
));
12518 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rep_1
, 0);
12520 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rep_0
, LIBNDR_FLAG_REF_ALLOC
);
12521 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
12523 return NDR_ERR_SUCCESS
;
12526 _PUBLIC_
void ndr_print_samr_ValidatePassword(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_ValidatePassword
*r
)
12528 ndr_print_struct(ndr
, name
, "samr_ValidatePassword");
12530 if (flags
& NDR_SET_VALUES
) {
12531 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
12533 if (flags
& NDR_IN
) {
12534 ndr_print_struct(ndr
, "in", "samr_ValidatePassword");
12536 ndr_print_samr_ValidatePasswordLevel(ndr
, "level", r
->in
.level
);
12537 ndr_print_ptr(ndr
, "req", r
->in
.req
);
12539 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
12540 ndr_print_samr_ValidatePasswordReq(ndr
, "req", r
->in
.req
);
12544 if (flags
& NDR_OUT
) {
12545 ndr_print_struct(ndr
, "out", "samr_ValidatePassword");
12547 ndr_print_ptr(ndr
, "rep", r
->out
.rep
);
12549 ndr_print_ptr(ndr
, "rep", *r
->out
.rep
);
12552 ndr_print_set_switch_value(ndr
, *r
->out
.rep
, r
->in
.level
);
12553 ndr_print_samr_ValidatePasswordRep(ndr
, "rep", *r
->out
.rep
);
12557 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
12563 static const struct ndr_interface_call samr_calls
[] = {
12566 sizeof(struct samr_Connect
),
12567 (ndr_push_flags_fn_t
) ndr_push_samr_Connect
,
12568 (ndr_pull_flags_fn_t
) ndr_pull_samr_Connect
,
12569 (ndr_print_function_t
) ndr_print_samr_Connect
,
12574 sizeof(struct samr_Close
),
12575 (ndr_push_flags_fn_t
) ndr_push_samr_Close
,
12576 (ndr_pull_flags_fn_t
) ndr_pull_samr_Close
,
12577 (ndr_print_function_t
) ndr_print_samr_Close
,
12581 "samr_SetSecurity",
12582 sizeof(struct samr_SetSecurity
),
12583 (ndr_push_flags_fn_t
) ndr_push_samr_SetSecurity
,
12584 (ndr_pull_flags_fn_t
) ndr_pull_samr_SetSecurity
,
12585 (ndr_print_function_t
) ndr_print_samr_SetSecurity
,
12589 "samr_QuerySecurity",
12590 sizeof(struct samr_QuerySecurity
),
12591 (ndr_push_flags_fn_t
) ndr_push_samr_QuerySecurity
,
12592 (ndr_pull_flags_fn_t
) ndr_pull_samr_QuerySecurity
,
12593 (ndr_print_function_t
) ndr_print_samr_QuerySecurity
,
12598 sizeof(struct samr_Shutdown
),
12599 (ndr_push_flags_fn_t
) ndr_push_samr_Shutdown
,
12600 (ndr_pull_flags_fn_t
) ndr_pull_samr_Shutdown
,
12601 (ndr_print_function_t
) ndr_print_samr_Shutdown
,
12605 "samr_LookupDomain",
12606 sizeof(struct samr_LookupDomain
),
12607 (ndr_push_flags_fn_t
) ndr_push_samr_LookupDomain
,
12608 (ndr_pull_flags_fn_t
) ndr_pull_samr_LookupDomain
,
12609 (ndr_print_function_t
) ndr_print_samr_LookupDomain
,
12613 "samr_EnumDomains",
12614 sizeof(struct samr_EnumDomains
),
12615 (ndr_push_flags_fn_t
) ndr_push_samr_EnumDomains
,
12616 (ndr_pull_flags_fn_t
) ndr_pull_samr_EnumDomains
,
12617 (ndr_print_function_t
) ndr_print_samr_EnumDomains
,
12622 sizeof(struct samr_OpenDomain
),
12623 (ndr_push_flags_fn_t
) ndr_push_samr_OpenDomain
,
12624 (ndr_pull_flags_fn_t
) ndr_pull_samr_OpenDomain
,
12625 (ndr_print_function_t
) ndr_print_samr_OpenDomain
,
12629 "samr_QueryDomainInfo",
12630 sizeof(struct samr_QueryDomainInfo
),
12631 (ndr_push_flags_fn_t
) ndr_push_samr_QueryDomainInfo
,
12632 (ndr_pull_flags_fn_t
) ndr_pull_samr_QueryDomainInfo
,
12633 (ndr_print_function_t
) ndr_print_samr_QueryDomainInfo
,
12637 "samr_SetDomainInfo",
12638 sizeof(struct samr_SetDomainInfo
),
12639 (ndr_push_flags_fn_t
) ndr_push_samr_SetDomainInfo
,
12640 (ndr_pull_flags_fn_t
) ndr_pull_samr_SetDomainInfo
,
12641 (ndr_print_function_t
) ndr_print_samr_SetDomainInfo
,
12645 "samr_CreateDomainGroup",
12646 sizeof(struct samr_CreateDomainGroup
),
12647 (ndr_push_flags_fn_t
) ndr_push_samr_CreateDomainGroup
,
12648 (ndr_pull_flags_fn_t
) ndr_pull_samr_CreateDomainGroup
,
12649 (ndr_print_function_t
) ndr_print_samr_CreateDomainGroup
,
12653 "samr_EnumDomainGroups",
12654 sizeof(struct samr_EnumDomainGroups
),
12655 (ndr_push_flags_fn_t
) ndr_push_samr_EnumDomainGroups
,
12656 (ndr_pull_flags_fn_t
) ndr_pull_samr_EnumDomainGroups
,
12657 (ndr_print_function_t
) ndr_print_samr_EnumDomainGroups
,
12662 sizeof(struct samr_CreateUser
),
12663 (ndr_push_flags_fn_t
) ndr_push_samr_CreateUser
,
12664 (ndr_pull_flags_fn_t
) ndr_pull_samr_CreateUser
,
12665 (ndr_print_function_t
) ndr_print_samr_CreateUser
,
12669 "samr_EnumDomainUsers",
12670 sizeof(struct samr_EnumDomainUsers
),
12671 (ndr_push_flags_fn_t
) ndr_push_samr_EnumDomainUsers
,
12672 (ndr_pull_flags_fn_t
) ndr_pull_samr_EnumDomainUsers
,
12673 (ndr_print_function_t
) ndr_print_samr_EnumDomainUsers
,
12677 "samr_CreateDomAlias",
12678 sizeof(struct samr_CreateDomAlias
),
12679 (ndr_push_flags_fn_t
) ndr_push_samr_CreateDomAlias
,
12680 (ndr_pull_flags_fn_t
) ndr_pull_samr_CreateDomAlias
,
12681 (ndr_print_function_t
) ndr_print_samr_CreateDomAlias
,
12685 "samr_EnumDomainAliases",
12686 sizeof(struct samr_EnumDomainAliases
),
12687 (ndr_push_flags_fn_t
) ndr_push_samr_EnumDomainAliases
,
12688 (ndr_pull_flags_fn_t
) ndr_pull_samr_EnumDomainAliases
,
12689 (ndr_print_function_t
) ndr_print_samr_EnumDomainAliases
,
12693 "samr_GetAliasMembership",
12694 sizeof(struct samr_GetAliasMembership
),
12695 (ndr_push_flags_fn_t
) ndr_push_samr_GetAliasMembership
,
12696 (ndr_pull_flags_fn_t
) ndr_pull_samr_GetAliasMembership
,
12697 (ndr_print_function_t
) ndr_print_samr_GetAliasMembership
,
12701 "samr_LookupNames",
12702 sizeof(struct samr_LookupNames
),
12703 (ndr_push_flags_fn_t
) ndr_push_samr_LookupNames
,
12704 (ndr_pull_flags_fn_t
) ndr_pull_samr_LookupNames
,
12705 (ndr_print_function_t
) ndr_print_samr_LookupNames
,
12710 sizeof(struct samr_LookupRids
),
12711 (ndr_push_flags_fn_t
) ndr_push_samr_LookupRids
,
12712 (ndr_pull_flags_fn_t
) ndr_pull_samr_LookupRids
,
12713 (ndr_print_function_t
) ndr_print_samr_LookupRids
,
12718 sizeof(struct samr_OpenGroup
),
12719 (ndr_push_flags_fn_t
) ndr_push_samr_OpenGroup
,
12720 (ndr_pull_flags_fn_t
) ndr_pull_samr_OpenGroup
,
12721 (ndr_print_function_t
) ndr_print_samr_OpenGroup
,
12725 "samr_QueryGroupInfo",
12726 sizeof(struct samr_QueryGroupInfo
),
12727 (ndr_push_flags_fn_t
) ndr_push_samr_QueryGroupInfo
,
12728 (ndr_pull_flags_fn_t
) ndr_pull_samr_QueryGroupInfo
,
12729 (ndr_print_function_t
) ndr_print_samr_QueryGroupInfo
,
12733 "samr_SetGroupInfo",
12734 sizeof(struct samr_SetGroupInfo
),
12735 (ndr_push_flags_fn_t
) ndr_push_samr_SetGroupInfo
,
12736 (ndr_pull_flags_fn_t
) ndr_pull_samr_SetGroupInfo
,
12737 (ndr_print_function_t
) ndr_print_samr_SetGroupInfo
,
12741 "samr_AddGroupMember",
12742 sizeof(struct samr_AddGroupMember
),
12743 (ndr_push_flags_fn_t
) ndr_push_samr_AddGroupMember
,
12744 (ndr_pull_flags_fn_t
) ndr_pull_samr_AddGroupMember
,
12745 (ndr_print_function_t
) ndr_print_samr_AddGroupMember
,
12749 "samr_DeleteDomainGroup",
12750 sizeof(struct samr_DeleteDomainGroup
),
12751 (ndr_push_flags_fn_t
) ndr_push_samr_DeleteDomainGroup
,
12752 (ndr_pull_flags_fn_t
) ndr_pull_samr_DeleteDomainGroup
,
12753 (ndr_print_function_t
) ndr_print_samr_DeleteDomainGroup
,
12757 "samr_DeleteGroupMember",
12758 sizeof(struct samr_DeleteGroupMember
),
12759 (ndr_push_flags_fn_t
) ndr_push_samr_DeleteGroupMember
,
12760 (ndr_pull_flags_fn_t
) ndr_pull_samr_DeleteGroupMember
,
12761 (ndr_print_function_t
) ndr_print_samr_DeleteGroupMember
,
12765 "samr_QueryGroupMember",
12766 sizeof(struct samr_QueryGroupMember
),
12767 (ndr_push_flags_fn_t
) ndr_push_samr_QueryGroupMember
,
12768 (ndr_pull_flags_fn_t
) ndr_pull_samr_QueryGroupMember
,
12769 (ndr_print_function_t
) ndr_print_samr_QueryGroupMember
,
12773 "samr_SetMemberAttributesOfGroup",
12774 sizeof(struct samr_SetMemberAttributesOfGroup
),
12775 (ndr_push_flags_fn_t
) ndr_push_samr_SetMemberAttributesOfGroup
,
12776 (ndr_pull_flags_fn_t
) ndr_pull_samr_SetMemberAttributesOfGroup
,
12777 (ndr_print_function_t
) ndr_print_samr_SetMemberAttributesOfGroup
,
12782 sizeof(struct samr_OpenAlias
),
12783 (ndr_push_flags_fn_t
) ndr_push_samr_OpenAlias
,
12784 (ndr_pull_flags_fn_t
) ndr_pull_samr_OpenAlias
,
12785 (ndr_print_function_t
) ndr_print_samr_OpenAlias
,
12789 "samr_QueryAliasInfo",
12790 sizeof(struct samr_QueryAliasInfo
),
12791 (ndr_push_flags_fn_t
) ndr_push_samr_QueryAliasInfo
,
12792 (ndr_pull_flags_fn_t
) ndr_pull_samr_QueryAliasInfo
,
12793 (ndr_print_function_t
) ndr_print_samr_QueryAliasInfo
,
12797 "samr_SetAliasInfo",
12798 sizeof(struct samr_SetAliasInfo
),
12799 (ndr_push_flags_fn_t
) ndr_push_samr_SetAliasInfo
,
12800 (ndr_pull_flags_fn_t
) ndr_pull_samr_SetAliasInfo
,
12801 (ndr_print_function_t
) ndr_print_samr_SetAliasInfo
,
12805 "samr_DeleteDomAlias",
12806 sizeof(struct samr_DeleteDomAlias
),
12807 (ndr_push_flags_fn_t
) ndr_push_samr_DeleteDomAlias
,
12808 (ndr_pull_flags_fn_t
) ndr_pull_samr_DeleteDomAlias
,
12809 (ndr_print_function_t
) ndr_print_samr_DeleteDomAlias
,
12813 "samr_AddAliasMember",
12814 sizeof(struct samr_AddAliasMember
),
12815 (ndr_push_flags_fn_t
) ndr_push_samr_AddAliasMember
,
12816 (ndr_pull_flags_fn_t
) ndr_pull_samr_AddAliasMember
,
12817 (ndr_print_function_t
) ndr_print_samr_AddAliasMember
,
12821 "samr_DeleteAliasMember",
12822 sizeof(struct samr_DeleteAliasMember
),
12823 (ndr_push_flags_fn_t
) ndr_push_samr_DeleteAliasMember
,
12824 (ndr_pull_flags_fn_t
) ndr_pull_samr_DeleteAliasMember
,
12825 (ndr_print_function_t
) ndr_print_samr_DeleteAliasMember
,
12829 "samr_GetMembersInAlias",
12830 sizeof(struct samr_GetMembersInAlias
),
12831 (ndr_push_flags_fn_t
) ndr_push_samr_GetMembersInAlias
,
12832 (ndr_pull_flags_fn_t
) ndr_pull_samr_GetMembersInAlias
,
12833 (ndr_print_function_t
) ndr_print_samr_GetMembersInAlias
,
12838 sizeof(struct samr_OpenUser
),
12839 (ndr_push_flags_fn_t
) ndr_push_samr_OpenUser
,
12840 (ndr_pull_flags_fn_t
) ndr_pull_samr_OpenUser
,
12841 (ndr_print_function_t
) ndr_print_samr_OpenUser
,
12846 sizeof(struct samr_DeleteUser
),
12847 (ndr_push_flags_fn_t
) ndr_push_samr_DeleteUser
,
12848 (ndr_pull_flags_fn_t
) ndr_pull_samr_DeleteUser
,
12849 (ndr_print_function_t
) ndr_print_samr_DeleteUser
,
12853 "samr_QueryUserInfo",
12854 sizeof(struct samr_QueryUserInfo
),
12855 (ndr_push_flags_fn_t
) ndr_push_samr_QueryUserInfo
,
12856 (ndr_pull_flags_fn_t
) ndr_pull_samr_QueryUserInfo
,
12857 (ndr_print_function_t
) ndr_print_samr_QueryUserInfo
,
12861 "samr_SetUserInfo",
12862 sizeof(struct samr_SetUserInfo
),
12863 (ndr_push_flags_fn_t
) ndr_push_samr_SetUserInfo
,
12864 (ndr_pull_flags_fn_t
) ndr_pull_samr_SetUserInfo
,
12865 (ndr_print_function_t
) ndr_print_samr_SetUserInfo
,
12869 "samr_ChangePasswordUser",
12870 sizeof(struct samr_ChangePasswordUser
),
12871 (ndr_push_flags_fn_t
) ndr_push_samr_ChangePasswordUser
,
12872 (ndr_pull_flags_fn_t
) ndr_pull_samr_ChangePasswordUser
,
12873 (ndr_print_function_t
) ndr_print_samr_ChangePasswordUser
,
12877 "samr_GetGroupsForUser",
12878 sizeof(struct samr_GetGroupsForUser
),
12879 (ndr_push_flags_fn_t
) ndr_push_samr_GetGroupsForUser
,
12880 (ndr_pull_flags_fn_t
) ndr_pull_samr_GetGroupsForUser
,
12881 (ndr_print_function_t
) ndr_print_samr_GetGroupsForUser
,
12885 "samr_QueryDisplayInfo",
12886 sizeof(struct samr_QueryDisplayInfo
),
12887 (ndr_push_flags_fn_t
) ndr_push_samr_QueryDisplayInfo
,
12888 (ndr_pull_flags_fn_t
) ndr_pull_samr_QueryDisplayInfo
,
12889 (ndr_print_function_t
) ndr_print_samr_QueryDisplayInfo
,
12893 "samr_GetDisplayEnumerationIndex",
12894 sizeof(struct samr_GetDisplayEnumerationIndex
),
12895 (ndr_push_flags_fn_t
) ndr_push_samr_GetDisplayEnumerationIndex
,
12896 (ndr_pull_flags_fn_t
) ndr_pull_samr_GetDisplayEnumerationIndex
,
12897 (ndr_print_function_t
) ndr_print_samr_GetDisplayEnumerationIndex
,
12901 "samr_TestPrivateFunctionsDomain",
12902 sizeof(struct samr_TestPrivateFunctionsDomain
),
12903 (ndr_push_flags_fn_t
) ndr_push_samr_TestPrivateFunctionsDomain
,
12904 (ndr_pull_flags_fn_t
) ndr_pull_samr_TestPrivateFunctionsDomain
,
12905 (ndr_print_function_t
) ndr_print_samr_TestPrivateFunctionsDomain
,
12909 "samr_TestPrivateFunctionsUser",
12910 sizeof(struct samr_TestPrivateFunctionsUser
),
12911 (ndr_push_flags_fn_t
) ndr_push_samr_TestPrivateFunctionsUser
,
12912 (ndr_pull_flags_fn_t
) ndr_pull_samr_TestPrivateFunctionsUser
,
12913 (ndr_print_function_t
) ndr_print_samr_TestPrivateFunctionsUser
,
12917 "samr_GetUserPwInfo",
12918 sizeof(struct samr_GetUserPwInfo
),
12919 (ndr_push_flags_fn_t
) ndr_push_samr_GetUserPwInfo
,
12920 (ndr_pull_flags_fn_t
) ndr_pull_samr_GetUserPwInfo
,
12921 (ndr_print_function_t
) ndr_print_samr_GetUserPwInfo
,
12925 "samr_RemoveMemberFromForeignDomain",
12926 sizeof(struct samr_RemoveMemberFromForeignDomain
),
12927 (ndr_push_flags_fn_t
) ndr_push_samr_RemoveMemberFromForeignDomain
,
12928 (ndr_pull_flags_fn_t
) ndr_pull_samr_RemoveMemberFromForeignDomain
,
12929 (ndr_print_function_t
) ndr_print_samr_RemoveMemberFromForeignDomain
,
12933 "samr_QueryDomainInfo2",
12934 sizeof(struct samr_QueryDomainInfo2
),
12935 (ndr_push_flags_fn_t
) ndr_push_samr_QueryDomainInfo2
,
12936 (ndr_pull_flags_fn_t
) ndr_pull_samr_QueryDomainInfo2
,
12937 (ndr_print_function_t
) ndr_print_samr_QueryDomainInfo2
,
12941 "samr_QueryUserInfo2",
12942 sizeof(struct samr_QueryUserInfo2
),
12943 (ndr_push_flags_fn_t
) ndr_push_samr_QueryUserInfo2
,
12944 (ndr_pull_flags_fn_t
) ndr_pull_samr_QueryUserInfo2
,
12945 (ndr_print_function_t
) ndr_print_samr_QueryUserInfo2
,
12949 "samr_QueryDisplayInfo2",
12950 sizeof(struct samr_QueryDisplayInfo2
),
12951 (ndr_push_flags_fn_t
) ndr_push_samr_QueryDisplayInfo2
,
12952 (ndr_pull_flags_fn_t
) ndr_pull_samr_QueryDisplayInfo2
,
12953 (ndr_print_function_t
) ndr_print_samr_QueryDisplayInfo2
,
12957 "samr_GetDisplayEnumerationIndex2",
12958 sizeof(struct samr_GetDisplayEnumerationIndex2
),
12959 (ndr_push_flags_fn_t
) ndr_push_samr_GetDisplayEnumerationIndex2
,
12960 (ndr_pull_flags_fn_t
) ndr_pull_samr_GetDisplayEnumerationIndex2
,
12961 (ndr_print_function_t
) ndr_print_samr_GetDisplayEnumerationIndex2
,
12965 "samr_CreateUser2",
12966 sizeof(struct samr_CreateUser2
),
12967 (ndr_push_flags_fn_t
) ndr_push_samr_CreateUser2
,
12968 (ndr_pull_flags_fn_t
) ndr_pull_samr_CreateUser2
,
12969 (ndr_print_function_t
) ndr_print_samr_CreateUser2
,
12973 "samr_QueryDisplayInfo3",
12974 sizeof(struct samr_QueryDisplayInfo3
),
12975 (ndr_push_flags_fn_t
) ndr_push_samr_QueryDisplayInfo3
,
12976 (ndr_pull_flags_fn_t
) ndr_pull_samr_QueryDisplayInfo3
,
12977 (ndr_print_function_t
) ndr_print_samr_QueryDisplayInfo3
,
12981 "samr_AddMultipleMembersToAlias",
12982 sizeof(struct samr_AddMultipleMembersToAlias
),
12983 (ndr_push_flags_fn_t
) ndr_push_samr_AddMultipleMembersToAlias
,
12984 (ndr_pull_flags_fn_t
) ndr_pull_samr_AddMultipleMembersToAlias
,
12985 (ndr_print_function_t
) ndr_print_samr_AddMultipleMembersToAlias
,
12989 "samr_RemoveMultipleMembersFromAlias",
12990 sizeof(struct samr_RemoveMultipleMembersFromAlias
),
12991 (ndr_push_flags_fn_t
) ndr_push_samr_RemoveMultipleMembersFromAlias
,
12992 (ndr_pull_flags_fn_t
) ndr_pull_samr_RemoveMultipleMembersFromAlias
,
12993 (ndr_print_function_t
) ndr_print_samr_RemoveMultipleMembersFromAlias
,
12997 "samr_OemChangePasswordUser2",
12998 sizeof(struct samr_OemChangePasswordUser2
),
12999 (ndr_push_flags_fn_t
) ndr_push_samr_OemChangePasswordUser2
,
13000 (ndr_pull_flags_fn_t
) ndr_pull_samr_OemChangePasswordUser2
,
13001 (ndr_print_function_t
) ndr_print_samr_OemChangePasswordUser2
,
13005 "samr_ChangePasswordUser2",
13006 sizeof(struct samr_ChangePasswordUser2
),
13007 (ndr_push_flags_fn_t
) ndr_push_samr_ChangePasswordUser2
,
13008 (ndr_pull_flags_fn_t
) ndr_pull_samr_ChangePasswordUser2
,
13009 (ndr_print_function_t
) ndr_print_samr_ChangePasswordUser2
,
13013 "samr_GetDomPwInfo",
13014 sizeof(struct samr_GetDomPwInfo
),
13015 (ndr_push_flags_fn_t
) ndr_push_samr_GetDomPwInfo
,
13016 (ndr_pull_flags_fn_t
) ndr_pull_samr_GetDomPwInfo
,
13017 (ndr_print_function_t
) ndr_print_samr_GetDomPwInfo
,
13022 sizeof(struct samr_Connect2
),
13023 (ndr_push_flags_fn_t
) ndr_push_samr_Connect2
,
13024 (ndr_pull_flags_fn_t
) ndr_pull_samr_Connect2
,
13025 (ndr_print_function_t
) ndr_print_samr_Connect2
,
13029 "samr_SetUserInfo2",
13030 sizeof(struct samr_SetUserInfo2
),
13031 (ndr_push_flags_fn_t
) ndr_push_samr_SetUserInfo2
,
13032 (ndr_pull_flags_fn_t
) ndr_pull_samr_SetUserInfo2
,
13033 (ndr_print_function_t
) ndr_print_samr_SetUserInfo2
,
13037 "samr_SetBootKeyInformation",
13038 sizeof(struct samr_SetBootKeyInformation
),
13039 (ndr_push_flags_fn_t
) ndr_push_samr_SetBootKeyInformation
,
13040 (ndr_pull_flags_fn_t
) ndr_pull_samr_SetBootKeyInformation
,
13041 (ndr_print_function_t
) ndr_print_samr_SetBootKeyInformation
,
13045 "samr_GetBootKeyInformation",
13046 sizeof(struct samr_GetBootKeyInformation
),
13047 (ndr_push_flags_fn_t
) ndr_push_samr_GetBootKeyInformation
,
13048 (ndr_pull_flags_fn_t
) ndr_pull_samr_GetBootKeyInformation
,
13049 (ndr_print_function_t
) ndr_print_samr_GetBootKeyInformation
,
13054 sizeof(struct samr_Connect3
),
13055 (ndr_push_flags_fn_t
) ndr_push_samr_Connect3
,
13056 (ndr_pull_flags_fn_t
) ndr_pull_samr_Connect3
,
13057 (ndr_print_function_t
) ndr_print_samr_Connect3
,
13062 sizeof(struct samr_Connect4
),
13063 (ndr_push_flags_fn_t
) ndr_push_samr_Connect4
,
13064 (ndr_pull_flags_fn_t
) ndr_pull_samr_Connect4
,
13065 (ndr_print_function_t
) ndr_print_samr_Connect4
,
13069 "samr_ChangePasswordUser3",
13070 sizeof(struct samr_ChangePasswordUser3
),
13071 (ndr_push_flags_fn_t
) ndr_push_samr_ChangePasswordUser3
,
13072 (ndr_pull_flags_fn_t
) ndr_pull_samr_ChangePasswordUser3
,
13073 (ndr_print_function_t
) ndr_print_samr_ChangePasswordUser3
,
13078 sizeof(struct samr_Connect5
),
13079 (ndr_push_flags_fn_t
) ndr_push_samr_Connect5
,
13080 (ndr_pull_flags_fn_t
) ndr_pull_samr_Connect5
,
13081 (ndr_print_function_t
) ndr_print_samr_Connect5
,
13086 sizeof(struct samr_RidToSid
),
13087 (ndr_push_flags_fn_t
) ndr_push_samr_RidToSid
,
13088 (ndr_pull_flags_fn_t
) ndr_pull_samr_RidToSid
,
13089 (ndr_print_function_t
) ndr_print_samr_RidToSid
,
13093 "samr_SetDsrmPassword",
13094 sizeof(struct samr_SetDsrmPassword
),
13095 (ndr_push_flags_fn_t
) ndr_push_samr_SetDsrmPassword
,
13096 (ndr_pull_flags_fn_t
) ndr_pull_samr_SetDsrmPassword
,
13097 (ndr_print_function_t
) ndr_print_samr_SetDsrmPassword
,
13101 "samr_ValidatePassword",
13102 sizeof(struct samr_ValidatePassword
),
13103 (ndr_push_flags_fn_t
) ndr_push_samr_ValidatePassword
,
13104 (ndr_pull_flags_fn_t
) ndr_pull_samr_ValidatePassword
,
13105 (ndr_print_function_t
) ndr_print_samr_ValidatePassword
,
13108 { NULL
, 0, NULL
, NULL
, NULL
, false }
13111 static const char * const samr_endpoint_strings
[] = {
13112 "ncacn_np:[\\pipe\\samr]",
13117 static const struct ndr_interface_string_array samr_endpoints
= {
13119 .names
= samr_endpoint_strings
13122 static const char * const samr_authservice_strings
[] = {
13126 static const struct ndr_interface_string_array samr_authservices
= {
13128 .names
= samr_authservice_strings
13132 const struct ndr_interface_table ndr_table_samr
= {
13135 {0x12345778,0x1234,0xabcd,{0xef,0x00},{0x01,0x23,0x45,0x67,0x89,0xac}},
13138 .helpstring
= NDR_SAMR_HELPSTRING
,
13140 .calls
= samr_calls
,
13141 .endpoints
= &samr_endpoints
,
13142 .authservices
= &samr_authservices