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 cntr_entries_1
;
309 TALLOC_CTX
*_mem_save_entries_0
;
310 TALLOC_CTX
*_mem_save_entries_1
;
311 if (ndr_flags
& NDR_SCALARS
) {
312 NDR_CHECK(ndr_pull_align(ndr
, 5));
313 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
314 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_entries
));
316 NDR_PULL_ALLOC(ndr
, r
->entries
);
320 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
322 if (ndr_flags
& NDR_BUFFERS
) {
324 _mem_save_entries_0
= NDR_PULL_GET_MEM_CTX(ndr
);
325 NDR_PULL_SET_MEM_CTX(ndr
, r
->entries
, 0);
326 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->entries
));
327 NDR_PULL_ALLOC_N(ndr
, r
->entries
, ndr_get_array_size(ndr
, &r
->entries
));
328 _mem_save_entries_1
= NDR_PULL_GET_MEM_CTX(ndr
);
329 NDR_PULL_SET_MEM_CTX(ndr
, r
->entries
, 0);
330 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
331 NDR_CHECK(ndr_pull_samr_SamEntry(ndr
, NDR_SCALARS
, &r
->entries
[cntr_entries_1
]));
333 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
334 NDR_CHECK(ndr_pull_samr_SamEntry(ndr
, NDR_BUFFERS
, &r
->entries
[cntr_entries_1
]));
336 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_entries_1
, 0);
337 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_entries_0
, 0);
340 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->entries
, r
->count
));
343 return NDR_ERR_SUCCESS
;
346 _PUBLIC_
void ndr_print_samr_SamArray(struct ndr_print
*ndr
, const char *name
, const struct samr_SamArray
*r
)
348 uint32_t cntr_entries_1
;
349 ndr_print_struct(ndr
, name
, "samr_SamArray");
351 ndr_print_uint32(ndr
, "count", r
->count
);
352 ndr_print_ptr(ndr
, "entries", r
->entries
);
355 ndr
->print(ndr
, "%s: ARRAY(%d)", "entries", (int)r
->count
);
357 for (cntr_entries_1
=0;cntr_entries_1
<r
->count
;cntr_entries_1
++) {
359 if (asprintf(&idx_1
, "[%d]", cntr_entries_1
) != -1) {
360 ndr_print_samr_SamEntry(ndr
, "entries", &r
->entries
[cntr_entries_1
]);
370 static enum ndr_err_code
ndr_push_samr_DomainInfoClass(struct ndr_push
*ndr
, int ndr_flags
, enum samr_DomainInfoClass r
)
372 NDR_CHECK(ndr_push_enum_uint1632(ndr
, NDR_SCALARS
, r
));
373 return NDR_ERR_SUCCESS
;
376 static enum ndr_err_code
ndr_pull_samr_DomainInfoClass(struct ndr_pull
*ndr
, int ndr_flags
, enum samr_DomainInfoClass
*r
)
379 NDR_CHECK(ndr_pull_enum_uint1632(ndr
, NDR_SCALARS
, &v
));
381 return NDR_ERR_SUCCESS
;
384 _PUBLIC_
void ndr_print_samr_DomainInfoClass(struct ndr_print
*ndr
, const char *name
, enum samr_DomainInfoClass r
)
386 const char *val
= NULL
;
389 case DomainPasswordInformation
: val
= "DomainPasswordInformation"; break;
390 case DomainGeneralInformation
: val
= "DomainGeneralInformation"; break;
391 case DomainLogoffInformation
: val
= "DomainLogoffInformation"; break;
392 case DomainOemInformation
: val
= "DomainOemInformation"; break;
393 case DomainNameInformation
: val
= "DomainNameInformation"; break;
394 case DomainReplicationInformation
: val
= "DomainReplicationInformation"; break;
395 case DomainServerRoleInformation
: val
= "DomainServerRoleInformation"; break;
396 case DomainModifiedInformation
: val
= "DomainModifiedInformation"; break;
397 case DomainStateInformation
: val
= "DomainStateInformation"; break;
398 case DomainUasInformation
: val
= "DomainUasInformation"; break;
399 case DomainGeneralInformation2
: val
= "DomainGeneralInformation2"; break;
400 case DomainLockoutInformation
: val
= "DomainLockoutInformation"; break;
401 case DomainModifiedInformation2
: val
= "DomainModifiedInformation2"; break;
403 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
406 static enum ndr_err_code
ndr_push_samr_Role(struct ndr_push
*ndr
, int ndr_flags
, enum samr_Role r
)
408 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
409 return NDR_ERR_SUCCESS
;
412 static enum ndr_err_code
ndr_pull_samr_Role(struct ndr_pull
*ndr
, int ndr_flags
, enum samr_Role
*r
)
415 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
417 return NDR_ERR_SUCCESS
;
420 _PUBLIC_
void ndr_print_samr_Role(struct ndr_print
*ndr
, const char *name
, enum samr_Role r
)
422 const char *val
= NULL
;
425 case SAMR_ROLE_STANDALONE
: val
= "SAMR_ROLE_STANDALONE"; break;
426 case SAMR_ROLE_DOMAIN_MEMBER
: val
= "SAMR_ROLE_DOMAIN_MEMBER"; break;
427 case SAMR_ROLE_DOMAIN_BDC
: val
= "SAMR_ROLE_DOMAIN_BDC"; break;
428 case SAMR_ROLE_DOMAIN_PDC
: val
= "SAMR_ROLE_DOMAIN_PDC"; break;
430 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
433 _PUBLIC_
enum ndr_err_code
ndr_push_samr_PasswordProperties(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
435 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
436 return NDR_ERR_SUCCESS
;
439 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_PasswordProperties(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
442 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
444 return NDR_ERR_SUCCESS
;
447 _PUBLIC_
void ndr_print_samr_PasswordProperties(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
449 ndr_print_uint32(ndr
, name
, r
);
451 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DOMAIN_PASSWORD_COMPLEX", DOMAIN_PASSWORD_COMPLEX
, r
);
452 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DOMAIN_PASSWORD_NO_ANON_CHANGE", DOMAIN_PASSWORD_NO_ANON_CHANGE
, r
);
453 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DOMAIN_PASSWORD_NO_CLEAR_CHANGE", DOMAIN_PASSWORD_NO_CLEAR_CHANGE
, r
);
454 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DOMAIN_PASSWORD_LOCKOUT_ADMINS", DOMAIN_PASSWORD_LOCKOUT_ADMINS
, r
);
455 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DOMAIN_PASSWORD_STORE_CLEARTEXT", DOMAIN_PASSWORD_STORE_CLEARTEXT
, r
);
456 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DOMAIN_REFUSE_PASSWORD_CHANGE", DOMAIN_REFUSE_PASSWORD_CHANGE
, r
);
460 static enum ndr_err_code
ndr_push_samr_DomainServerState(struct ndr_push
*ndr
, int ndr_flags
, enum samr_DomainServerState r
)
462 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
463 return NDR_ERR_SUCCESS
;
466 static enum ndr_err_code
ndr_pull_samr_DomainServerState(struct ndr_pull
*ndr
, int ndr_flags
, enum samr_DomainServerState
*r
)
469 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
471 return NDR_ERR_SUCCESS
;
474 _PUBLIC_
void ndr_print_samr_DomainServerState(struct ndr_print
*ndr
, const char *name
, enum samr_DomainServerState r
)
476 const char *val
= NULL
;
479 case DOMAIN_SERVER_ENABLED
: val
= "DOMAIN_SERVER_ENABLED"; break;
480 case DOMAIN_SERVER_DISABLED
: val
= "DOMAIN_SERVER_DISABLED"; break;
482 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
485 static enum ndr_err_code
ndr_push_samr_DomInfo1(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DomInfo1
*r
)
487 if (ndr_flags
& NDR_SCALARS
) {
488 NDR_CHECK(ndr_push_align(ndr
, 4));
489 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->min_password_length
));
490 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->password_history_length
));
491 NDR_CHECK(ndr_push_samr_PasswordProperties(ndr
, NDR_SCALARS
, r
->password_properties
));
492 NDR_CHECK(ndr_push_dlong(ndr
, NDR_SCALARS
, r
->max_password_age
));
493 NDR_CHECK(ndr_push_dlong(ndr
, NDR_SCALARS
, r
->min_password_age
));
494 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
496 if (ndr_flags
& NDR_BUFFERS
) {
498 return NDR_ERR_SUCCESS
;
501 static enum ndr_err_code
ndr_pull_samr_DomInfo1(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DomInfo1
*r
)
503 if (ndr_flags
& NDR_SCALARS
) {
504 NDR_CHECK(ndr_pull_align(ndr
, 4));
505 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->min_password_length
));
506 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->password_history_length
));
507 NDR_CHECK(ndr_pull_samr_PasswordProperties(ndr
, NDR_SCALARS
, &r
->password_properties
));
508 NDR_CHECK(ndr_pull_dlong(ndr
, NDR_SCALARS
, &r
->max_password_age
));
509 NDR_CHECK(ndr_pull_dlong(ndr
, NDR_SCALARS
, &r
->min_password_age
));
510 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
512 if (ndr_flags
& NDR_BUFFERS
) {
514 return NDR_ERR_SUCCESS
;
517 _PUBLIC_
void ndr_print_samr_DomInfo1(struct ndr_print
*ndr
, const char *name
, const struct samr_DomInfo1
*r
)
519 ndr_print_struct(ndr
, name
, "samr_DomInfo1");
521 ndr_print_uint16(ndr
, "min_password_length", r
->min_password_length
);
522 ndr_print_uint16(ndr
, "password_history_length", r
->password_history_length
);
523 ndr_print_samr_PasswordProperties(ndr
, "password_properties", r
->password_properties
);
524 ndr_print_dlong(ndr
, "max_password_age", r
->max_password_age
);
525 ndr_print_dlong(ndr
, "min_password_age", r
->min_password_age
);
529 static enum ndr_err_code
ndr_push_samr_DomGeneralInformation(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DomGeneralInformation
*r
)
531 if (ndr_flags
& NDR_SCALARS
) {
532 NDR_CHECK(ndr_push_align(ndr
, 5));
533 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->force_logoff_time
));
534 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->oem_information
));
535 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->domain_name
));
536 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->primary
));
537 NDR_CHECK(ndr_push_udlong(ndr
, NDR_SCALARS
, r
->sequence_num
));
538 NDR_CHECK(ndr_push_samr_DomainServerState(ndr
, NDR_SCALARS
, r
->domain_server_state
));
539 NDR_CHECK(ndr_push_samr_Role(ndr
, NDR_SCALARS
, r
->role
));
540 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown3
));
541 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_users
));
542 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_groups
));
543 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_aliases
));
544 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
546 if (ndr_flags
& NDR_BUFFERS
) {
547 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->oem_information
));
548 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->domain_name
));
549 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->primary
));
551 return NDR_ERR_SUCCESS
;
554 static enum ndr_err_code
ndr_pull_samr_DomGeneralInformation(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DomGeneralInformation
*r
)
556 if (ndr_flags
& NDR_SCALARS
) {
557 NDR_CHECK(ndr_pull_align(ndr
, 5));
558 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->force_logoff_time
));
559 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->oem_information
));
560 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->domain_name
));
561 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->primary
));
562 NDR_CHECK(ndr_pull_udlong(ndr
, NDR_SCALARS
, &r
->sequence_num
));
563 NDR_CHECK(ndr_pull_samr_DomainServerState(ndr
, NDR_SCALARS
, &r
->domain_server_state
));
564 NDR_CHECK(ndr_pull_samr_Role(ndr
, NDR_SCALARS
, &r
->role
));
565 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown3
));
566 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_users
));
567 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_groups
));
568 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_aliases
));
569 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
571 if (ndr_flags
& NDR_BUFFERS
) {
572 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->oem_information
));
573 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->domain_name
));
574 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->primary
));
576 return NDR_ERR_SUCCESS
;
579 _PUBLIC_
void ndr_print_samr_DomGeneralInformation(struct ndr_print
*ndr
, const char *name
, const struct samr_DomGeneralInformation
*r
)
581 ndr_print_struct(ndr
, name
, "samr_DomGeneralInformation");
583 ndr_print_NTTIME(ndr
, "force_logoff_time", r
->force_logoff_time
);
584 ndr_print_lsa_String(ndr
, "oem_information", &r
->oem_information
);
585 ndr_print_lsa_String(ndr
, "domain_name", &r
->domain_name
);
586 ndr_print_lsa_String(ndr
, "primary", &r
->primary
);
587 ndr_print_udlong(ndr
, "sequence_num", r
->sequence_num
);
588 ndr_print_samr_DomainServerState(ndr
, "domain_server_state", r
->domain_server_state
);
589 ndr_print_samr_Role(ndr
, "role", r
->role
);
590 ndr_print_uint32(ndr
, "unknown3", r
->unknown3
);
591 ndr_print_uint32(ndr
, "num_users", r
->num_users
);
592 ndr_print_uint32(ndr
, "num_groups", r
->num_groups
);
593 ndr_print_uint32(ndr
, "num_aliases", r
->num_aliases
);
597 static enum ndr_err_code
ndr_push_samr_DomInfo3(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DomInfo3
*r
)
599 if (ndr_flags
& NDR_SCALARS
) {
600 NDR_CHECK(ndr_push_align(ndr
, 4));
601 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->force_logoff_time
));
602 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
604 if (ndr_flags
& NDR_BUFFERS
) {
606 return NDR_ERR_SUCCESS
;
609 static enum ndr_err_code
ndr_pull_samr_DomInfo3(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DomInfo3
*r
)
611 if (ndr_flags
& NDR_SCALARS
) {
612 NDR_CHECK(ndr_pull_align(ndr
, 4));
613 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->force_logoff_time
));
614 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
616 if (ndr_flags
& NDR_BUFFERS
) {
618 return NDR_ERR_SUCCESS
;
621 _PUBLIC_
void ndr_print_samr_DomInfo3(struct ndr_print
*ndr
, const char *name
, const struct samr_DomInfo3
*r
)
623 ndr_print_struct(ndr
, name
, "samr_DomInfo3");
625 ndr_print_NTTIME(ndr
, "force_logoff_time", r
->force_logoff_time
);
629 static enum ndr_err_code
ndr_push_samr_DomOEMInformation(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DomOEMInformation
*r
)
631 if (ndr_flags
& NDR_SCALARS
) {
632 NDR_CHECK(ndr_push_align(ndr
, 5));
633 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->oem_information
));
634 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
636 if (ndr_flags
& NDR_BUFFERS
) {
637 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->oem_information
));
639 return NDR_ERR_SUCCESS
;
642 static enum ndr_err_code
ndr_pull_samr_DomOEMInformation(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DomOEMInformation
*r
)
644 if (ndr_flags
& NDR_SCALARS
) {
645 NDR_CHECK(ndr_pull_align(ndr
, 5));
646 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->oem_information
));
647 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
649 if (ndr_flags
& NDR_BUFFERS
) {
650 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->oem_information
));
652 return NDR_ERR_SUCCESS
;
655 _PUBLIC_
void ndr_print_samr_DomOEMInformation(struct ndr_print
*ndr
, const char *name
, const struct samr_DomOEMInformation
*r
)
657 ndr_print_struct(ndr
, name
, "samr_DomOEMInformation");
659 ndr_print_lsa_String(ndr
, "oem_information", &r
->oem_information
);
663 static enum ndr_err_code
ndr_push_samr_DomInfo5(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DomInfo5
*r
)
665 if (ndr_flags
& NDR_SCALARS
) {
666 NDR_CHECK(ndr_push_align(ndr
, 5));
667 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->domain_name
));
668 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
670 if (ndr_flags
& NDR_BUFFERS
) {
671 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->domain_name
));
673 return NDR_ERR_SUCCESS
;
676 static enum ndr_err_code
ndr_pull_samr_DomInfo5(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DomInfo5
*r
)
678 if (ndr_flags
& NDR_SCALARS
) {
679 NDR_CHECK(ndr_pull_align(ndr
, 5));
680 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->domain_name
));
681 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
683 if (ndr_flags
& NDR_BUFFERS
) {
684 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->domain_name
));
686 return NDR_ERR_SUCCESS
;
689 _PUBLIC_
void ndr_print_samr_DomInfo5(struct ndr_print
*ndr
, const char *name
, const struct samr_DomInfo5
*r
)
691 ndr_print_struct(ndr
, name
, "samr_DomInfo5");
693 ndr_print_lsa_String(ndr
, "domain_name", &r
->domain_name
);
697 static enum ndr_err_code
ndr_push_samr_DomInfo6(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DomInfo6
*r
)
699 if (ndr_flags
& NDR_SCALARS
) {
700 NDR_CHECK(ndr_push_align(ndr
, 5));
701 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->primary
));
702 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
704 if (ndr_flags
& NDR_BUFFERS
) {
705 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->primary
));
707 return NDR_ERR_SUCCESS
;
710 static enum ndr_err_code
ndr_pull_samr_DomInfo6(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DomInfo6
*r
)
712 if (ndr_flags
& NDR_SCALARS
) {
713 NDR_CHECK(ndr_pull_align(ndr
, 5));
714 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->primary
));
715 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
717 if (ndr_flags
& NDR_BUFFERS
) {
718 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->primary
));
720 return NDR_ERR_SUCCESS
;
723 _PUBLIC_
void ndr_print_samr_DomInfo6(struct ndr_print
*ndr
, const char *name
, const struct samr_DomInfo6
*r
)
725 ndr_print_struct(ndr
, name
, "samr_DomInfo6");
727 ndr_print_lsa_String(ndr
, "primary", &r
->primary
);
731 static enum ndr_err_code
ndr_push_samr_DomInfo7(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DomInfo7
*r
)
733 if (ndr_flags
& NDR_SCALARS
) {
734 NDR_CHECK(ndr_push_align(ndr
, 4));
735 NDR_CHECK(ndr_push_samr_Role(ndr
, NDR_SCALARS
, r
->role
));
736 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
738 if (ndr_flags
& NDR_BUFFERS
) {
740 return NDR_ERR_SUCCESS
;
743 static enum ndr_err_code
ndr_pull_samr_DomInfo7(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DomInfo7
*r
)
745 if (ndr_flags
& NDR_SCALARS
) {
746 NDR_CHECK(ndr_pull_align(ndr
, 4));
747 NDR_CHECK(ndr_pull_samr_Role(ndr
, NDR_SCALARS
, &r
->role
));
748 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
750 if (ndr_flags
& NDR_BUFFERS
) {
752 return NDR_ERR_SUCCESS
;
755 _PUBLIC_
void ndr_print_samr_DomInfo7(struct ndr_print
*ndr
, const char *name
, const struct samr_DomInfo7
*r
)
757 ndr_print_struct(ndr
, name
, "samr_DomInfo7");
759 ndr_print_samr_Role(ndr
, "role", r
->role
);
763 static enum ndr_err_code
ndr_push_samr_DomInfo8(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DomInfo8
*r
)
765 if (ndr_flags
& NDR_SCALARS
) {
766 NDR_CHECK(ndr_push_align(ndr
, 8));
767 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->sequence_num
));
768 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->domain_create_time
));
769 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
771 if (ndr_flags
& NDR_BUFFERS
) {
773 return NDR_ERR_SUCCESS
;
776 static enum ndr_err_code
ndr_pull_samr_DomInfo8(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DomInfo8
*r
)
778 if (ndr_flags
& NDR_SCALARS
) {
779 NDR_CHECK(ndr_pull_align(ndr
, 8));
780 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->sequence_num
));
781 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->domain_create_time
));
782 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
784 if (ndr_flags
& NDR_BUFFERS
) {
786 return NDR_ERR_SUCCESS
;
789 _PUBLIC_
void ndr_print_samr_DomInfo8(struct ndr_print
*ndr
, const char *name
, const struct samr_DomInfo8
*r
)
791 ndr_print_struct(ndr
, name
, "samr_DomInfo8");
793 ndr_print_hyper(ndr
, "sequence_num", r
->sequence_num
);
794 ndr_print_NTTIME(ndr
, "domain_create_time", r
->domain_create_time
);
798 static enum ndr_err_code
ndr_push_samr_DomInfo9(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DomInfo9
*r
)
800 if (ndr_flags
& NDR_SCALARS
) {
801 NDR_CHECK(ndr_push_align(ndr
, 4));
802 NDR_CHECK(ndr_push_samr_DomainServerState(ndr
, NDR_SCALARS
, r
->domain_server_state
));
803 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
805 if (ndr_flags
& NDR_BUFFERS
) {
807 return NDR_ERR_SUCCESS
;
810 static enum ndr_err_code
ndr_pull_samr_DomInfo9(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DomInfo9
*r
)
812 if (ndr_flags
& NDR_SCALARS
) {
813 NDR_CHECK(ndr_pull_align(ndr
, 4));
814 NDR_CHECK(ndr_pull_samr_DomainServerState(ndr
, NDR_SCALARS
, &r
->domain_server_state
));
815 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
817 if (ndr_flags
& NDR_BUFFERS
) {
819 return NDR_ERR_SUCCESS
;
822 _PUBLIC_
void ndr_print_samr_DomInfo9(struct ndr_print
*ndr
, const char *name
, const struct samr_DomInfo9
*r
)
824 ndr_print_struct(ndr
, name
, "samr_DomInfo9");
826 ndr_print_samr_DomainServerState(ndr
, "domain_server_state", r
->domain_server_state
);
830 static enum ndr_err_code
ndr_push_samr_DomGeneralInformation2(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DomGeneralInformation2
*r
)
832 if (ndr_flags
& NDR_SCALARS
) {
833 NDR_CHECK(ndr_push_align(ndr
, 8));
834 NDR_CHECK(ndr_push_samr_DomGeneralInformation(ndr
, NDR_SCALARS
, &r
->general
));
835 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->lockout_duration
));
836 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->lockout_window
));
837 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->lockout_threshold
));
838 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
840 if (ndr_flags
& NDR_BUFFERS
) {
841 NDR_CHECK(ndr_push_samr_DomGeneralInformation(ndr
, NDR_BUFFERS
, &r
->general
));
843 return NDR_ERR_SUCCESS
;
846 static enum ndr_err_code
ndr_pull_samr_DomGeneralInformation2(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DomGeneralInformation2
*r
)
848 if (ndr_flags
& NDR_SCALARS
) {
849 NDR_CHECK(ndr_pull_align(ndr
, 8));
850 NDR_CHECK(ndr_pull_samr_DomGeneralInformation(ndr
, NDR_SCALARS
, &r
->general
));
851 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->lockout_duration
));
852 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->lockout_window
));
853 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->lockout_threshold
));
854 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
856 if (ndr_flags
& NDR_BUFFERS
) {
857 NDR_CHECK(ndr_pull_samr_DomGeneralInformation(ndr
, NDR_BUFFERS
, &r
->general
));
859 return NDR_ERR_SUCCESS
;
862 _PUBLIC_
void ndr_print_samr_DomGeneralInformation2(struct ndr_print
*ndr
, const char *name
, const struct samr_DomGeneralInformation2
*r
)
864 ndr_print_struct(ndr
, name
, "samr_DomGeneralInformation2");
866 ndr_print_samr_DomGeneralInformation(ndr
, "general", &r
->general
);
867 ndr_print_hyper(ndr
, "lockout_duration", r
->lockout_duration
);
868 ndr_print_hyper(ndr
, "lockout_window", r
->lockout_window
);
869 ndr_print_uint16(ndr
, "lockout_threshold", r
->lockout_threshold
);
873 static enum ndr_err_code
ndr_push_samr_DomInfo12(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DomInfo12
*r
)
875 if (ndr_flags
& NDR_SCALARS
) {
876 NDR_CHECK(ndr_push_align(ndr
, 8));
877 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->lockout_duration
));
878 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->lockout_window
));
879 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->lockout_threshold
));
880 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
882 if (ndr_flags
& NDR_BUFFERS
) {
884 return NDR_ERR_SUCCESS
;
887 static enum ndr_err_code
ndr_pull_samr_DomInfo12(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DomInfo12
*r
)
889 if (ndr_flags
& NDR_SCALARS
) {
890 NDR_CHECK(ndr_pull_align(ndr
, 8));
891 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->lockout_duration
));
892 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->lockout_window
));
893 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->lockout_threshold
));
894 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
896 if (ndr_flags
& NDR_BUFFERS
) {
898 return NDR_ERR_SUCCESS
;
901 _PUBLIC_
void ndr_print_samr_DomInfo12(struct ndr_print
*ndr
, const char *name
, const struct samr_DomInfo12
*r
)
903 ndr_print_struct(ndr
, name
, "samr_DomInfo12");
905 ndr_print_hyper(ndr
, "lockout_duration", r
->lockout_duration
);
906 ndr_print_hyper(ndr
, "lockout_window", r
->lockout_window
);
907 ndr_print_uint16(ndr
, "lockout_threshold", r
->lockout_threshold
);
911 static enum ndr_err_code
ndr_push_samr_DomInfo13(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DomInfo13
*r
)
913 if (ndr_flags
& NDR_SCALARS
) {
914 NDR_CHECK(ndr_push_align(ndr
, 8));
915 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->sequence_num
));
916 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->domain_create_time
));
917 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->modified_count_at_last_promotion
));
918 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
920 if (ndr_flags
& NDR_BUFFERS
) {
922 return NDR_ERR_SUCCESS
;
925 static enum ndr_err_code
ndr_pull_samr_DomInfo13(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DomInfo13
*r
)
927 if (ndr_flags
& NDR_SCALARS
) {
928 NDR_CHECK(ndr_pull_align(ndr
, 8));
929 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->sequence_num
));
930 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->domain_create_time
));
931 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->modified_count_at_last_promotion
));
932 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
934 if (ndr_flags
& NDR_BUFFERS
) {
936 return NDR_ERR_SUCCESS
;
939 _PUBLIC_
void ndr_print_samr_DomInfo13(struct ndr_print
*ndr
, const char *name
, const struct samr_DomInfo13
*r
)
941 ndr_print_struct(ndr
, name
, "samr_DomInfo13");
943 ndr_print_hyper(ndr
, "sequence_num", r
->sequence_num
);
944 ndr_print_NTTIME(ndr
, "domain_create_time", r
->domain_create_time
);
945 ndr_print_hyper(ndr
, "modified_count_at_last_promotion", r
->modified_count_at_last_promotion
);
949 static enum ndr_err_code
ndr_push_samr_DomainInfo(struct ndr_push
*ndr
, int ndr_flags
, const union samr_DomainInfo
*r
)
951 if (ndr_flags
& NDR_SCALARS
) {
952 int level
= ndr_push_get_switch_value(ndr
, r
);
953 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, level
));
954 NDR_CHECK(ndr_push_union_align(ndr
, 8));
957 NDR_CHECK(ndr_push_samr_DomInfo1(ndr
, NDR_SCALARS
, &r
->info1
));
961 NDR_CHECK(ndr_push_samr_DomGeneralInformation(ndr
, NDR_SCALARS
, &r
->general
));
965 NDR_CHECK(ndr_push_samr_DomInfo3(ndr
, NDR_SCALARS
, &r
->info3
));
969 NDR_CHECK(ndr_push_samr_DomOEMInformation(ndr
, NDR_SCALARS
, &r
->oem
));
973 NDR_CHECK(ndr_push_samr_DomInfo5(ndr
, NDR_SCALARS
, &r
->info5
));
977 NDR_CHECK(ndr_push_samr_DomInfo6(ndr
, NDR_SCALARS
, &r
->info6
));
981 NDR_CHECK(ndr_push_samr_DomInfo7(ndr
, NDR_SCALARS
, &r
->info7
));
985 NDR_CHECK(ndr_push_samr_DomInfo8(ndr
, NDR_SCALARS
, &r
->info8
));
989 NDR_CHECK(ndr_push_samr_DomInfo9(ndr
, NDR_SCALARS
, &r
->info9
));
993 NDR_CHECK(ndr_push_samr_DomGeneralInformation2(ndr
, NDR_SCALARS
, &r
->general2
));
997 NDR_CHECK(ndr_push_samr_DomInfo12(ndr
, NDR_SCALARS
, &r
->info12
));
1001 NDR_CHECK(ndr_push_samr_DomInfo13(ndr
, NDR_SCALARS
, &r
->info13
));
1005 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1008 if (ndr_flags
& NDR_BUFFERS
) {
1009 int level
= ndr_push_get_switch_value(ndr
, r
);
1015 NDR_CHECK(ndr_push_samr_DomGeneralInformation(ndr
, NDR_BUFFERS
, &r
->general
));
1022 NDR_CHECK(ndr_push_samr_DomOEMInformation(ndr
, NDR_BUFFERS
, &r
->oem
));
1026 NDR_CHECK(ndr_push_samr_DomInfo5(ndr
, NDR_BUFFERS
, &r
->info5
));
1030 NDR_CHECK(ndr_push_samr_DomInfo6(ndr
, NDR_BUFFERS
, &r
->info6
));
1043 NDR_CHECK(ndr_push_samr_DomGeneralInformation2(ndr
, NDR_BUFFERS
, &r
->general2
));
1053 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1056 return NDR_ERR_SUCCESS
;
1059 static enum ndr_err_code
ndr_pull_samr_DomainInfo(struct ndr_pull
*ndr
, int ndr_flags
, union samr_DomainInfo
*r
)
1063 level
= ndr_pull_get_switch_value(ndr
, r
);
1064 if (ndr_flags
& NDR_SCALARS
) {
1065 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &_level
));
1066 if (_level
!= level
) {
1067 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
1069 NDR_CHECK(ndr_pull_union_align(ndr
, 8));
1072 NDR_CHECK(ndr_pull_samr_DomInfo1(ndr
, NDR_SCALARS
, &r
->info1
));
1076 NDR_CHECK(ndr_pull_samr_DomGeneralInformation(ndr
, NDR_SCALARS
, &r
->general
));
1080 NDR_CHECK(ndr_pull_samr_DomInfo3(ndr
, NDR_SCALARS
, &r
->info3
));
1084 NDR_CHECK(ndr_pull_samr_DomOEMInformation(ndr
, NDR_SCALARS
, &r
->oem
));
1088 NDR_CHECK(ndr_pull_samr_DomInfo5(ndr
, NDR_SCALARS
, &r
->info5
));
1092 NDR_CHECK(ndr_pull_samr_DomInfo6(ndr
, NDR_SCALARS
, &r
->info6
));
1096 NDR_CHECK(ndr_pull_samr_DomInfo7(ndr
, NDR_SCALARS
, &r
->info7
));
1100 NDR_CHECK(ndr_pull_samr_DomInfo8(ndr
, NDR_SCALARS
, &r
->info8
));
1104 NDR_CHECK(ndr_pull_samr_DomInfo9(ndr
, NDR_SCALARS
, &r
->info9
));
1108 NDR_CHECK(ndr_pull_samr_DomGeneralInformation2(ndr
, NDR_SCALARS
, &r
->general2
));
1112 NDR_CHECK(ndr_pull_samr_DomInfo12(ndr
, NDR_SCALARS
, &r
->info12
));
1116 NDR_CHECK(ndr_pull_samr_DomInfo13(ndr
, NDR_SCALARS
, &r
->info13
));
1120 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1123 if (ndr_flags
& NDR_BUFFERS
) {
1129 NDR_CHECK(ndr_pull_samr_DomGeneralInformation(ndr
, NDR_BUFFERS
, &r
->general
));
1136 NDR_CHECK(ndr_pull_samr_DomOEMInformation(ndr
, NDR_BUFFERS
, &r
->oem
));
1140 NDR_CHECK(ndr_pull_samr_DomInfo5(ndr
, NDR_BUFFERS
, &r
->info5
));
1144 NDR_CHECK(ndr_pull_samr_DomInfo6(ndr
, NDR_BUFFERS
, &r
->info6
));
1157 NDR_CHECK(ndr_pull_samr_DomGeneralInformation2(ndr
, NDR_BUFFERS
, &r
->general2
));
1167 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1170 return NDR_ERR_SUCCESS
;
1173 _PUBLIC_
void ndr_print_samr_DomainInfo(struct ndr_print
*ndr
, const char *name
, const union samr_DomainInfo
*r
)
1176 level
= ndr_print_get_switch_value(ndr
, r
);
1177 ndr_print_union(ndr
, name
, level
, "samr_DomainInfo");
1180 ndr_print_samr_DomInfo1(ndr
, "info1", &r
->info1
);
1184 ndr_print_samr_DomGeneralInformation(ndr
, "general", &r
->general
);
1188 ndr_print_samr_DomInfo3(ndr
, "info3", &r
->info3
);
1192 ndr_print_samr_DomOEMInformation(ndr
, "oem", &r
->oem
);
1196 ndr_print_samr_DomInfo5(ndr
, "info5", &r
->info5
);
1200 ndr_print_samr_DomInfo6(ndr
, "info6", &r
->info6
);
1204 ndr_print_samr_DomInfo7(ndr
, "info7", &r
->info7
);
1208 ndr_print_samr_DomInfo8(ndr
, "info8", &r
->info8
);
1212 ndr_print_samr_DomInfo9(ndr
, "info9", &r
->info9
);
1216 ndr_print_samr_DomGeneralInformation2(ndr
, "general2", &r
->general2
);
1220 ndr_print_samr_DomInfo12(ndr
, "info12", &r
->info12
);
1224 ndr_print_samr_DomInfo13(ndr
, "info13", &r
->info13
);
1228 ndr_print_bad_level(ndr
, name
, level
);
1232 static enum ndr_err_code
ndr_push_samr_Ids(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_Ids
*r
)
1234 uint32_t cntr_ids_1
;
1235 if (ndr_flags
& NDR_SCALARS
) {
1236 NDR_CHECK(ndr_push_align(ndr
, 5));
1237 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
1238 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->ids
));
1239 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
1241 if (ndr_flags
& NDR_BUFFERS
) {
1243 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
1244 for (cntr_ids_1
= 0; cntr_ids_1
< r
->count
; cntr_ids_1
++) {
1245 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->ids
[cntr_ids_1
]));
1249 return NDR_ERR_SUCCESS
;
1252 static enum ndr_err_code
ndr_pull_samr_Ids(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_Ids
*r
)
1255 uint32_t cntr_ids_1
;
1256 TALLOC_CTX
*_mem_save_ids_0
;
1257 TALLOC_CTX
*_mem_save_ids_1
;
1258 if (ndr_flags
& NDR_SCALARS
) {
1259 NDR_CHECK(ndr_pull_align(ndr
, 5));
1260 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
1261 if (r
->count
> 1024) {
1262 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
1264 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_ids
));
1266 NDR_PULL_ALLOC(ndr
, r
->ids
);
1270 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
1272 if (ndr_flags
& NDR_BUFFERS
) {
1274 _mem_save_ids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1275 NDR_PULL_SET_MEM_CTX(ndr
, r
->ids
, 0);
1276 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->ids
));
1277 NDR_PULL_ALLOC_N(ndr
, r
->ids
, ndr_get_array_size(ndr
, &r
->ids
));
1278 _mem_save_ids_1
= NDR_PULL_GET_MEM_CTX(ndr
);
1279 NDR_PULL_SET_MEM_CTX(ndr
, r
->ids
, 0);
1280 for (cntr_ids_1
= 0; cntr_ids_1
< r
->count
; cntr_ids_1
++) {
1281 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->ids
[cntr_ids_1
]));
1283 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ids_1
, 0);
1284 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ids_0
, 0);
1287 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->ids
, r
->count
));
1290 return NDR_ERR_SUCCESS
;
1293 _PUBLIC_
void ndr_print_samr_Ids(struct ndr_print
*ndr
, const char *name
, const struct samr_Ids
*r
)
1295 uint32_t cntr_ids_1
;
1296 ndr_print_struct(ndr
, name
, "samr_Ids");
1298 ndr_print_uint32(ndr
, "count", r
->count
);
1299 ndr_print_ptr(ndr
, "ids", r
->ids
);
1302 ndr
->print(ndr
, "%s: ARRAY(%d)", "ids", (int)r
->count
);
1304 for (cntr_ids_1
=0;cntr_ids_1
<r
->count
;cntr_ids_1
++) {
1306 if (asprintf(&idx_1
, "[%d]", cntr_ids_1
) != -1) {
1307 ndr_print_uint32(ndr
, "ids", r
->ids
[cntr_ids_1
]);
1317 _PUBLIC_
enum ndr_err_code
ndr_push_samr_GroupAttrs(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
1319 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
1320 return NDR_ERR_SUCCESS
;
1323 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_GroupAttrs(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
1326 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
1328 return NDR_ERR_SUCCESS
;
1331 _PUBLIC_
void ndr_print_samr_GroupAttrs(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
1333 ndr_print_uint32(ndr
, name
, r
);
1335 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SE_GROUP_MANDATORY", SE_GROUP_MANDATORY
, r
);
1336 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SE_GROUP_ENABLED_BY_DEFAULT", SE_GROUP_ENABLED_BY_DEFAULT
, r
);
1337 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SE_GROUP_ENABLED", SE_GROUP_ENABLED
, r
);
1338 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SE_GROUP_OWNER", SE_GROUP_OWNER
, r
);
1339 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SE_GROUP_USE_FOR_DENY_ONLY", SE_GROUP_USE_FOR_DENY_ONLY
, r
);
1340 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SE_GROUP_RESOURCE", SE_GROUP_RESOURCE
, r
);
1341 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SE_GROUP_LOGON_ID", SE_GROUP_LOGON_ID
, r
);
1345 static enum ndr_err_code
ndr_push_samr_GroupInfoAll(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_GroupInfoAll
*r
)
1347 if (ndr_flags
& NDR_SCALARS
) {
1348 NDR_CHECK(ndr_push_align(ndr
, 5));
1349 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->name
));
1350 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr
, NDR_SCALARS
, r
->attributes
));
1351 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_members
));
1352 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
1353 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
1355 if (ndr_flags
& NDR_BUFFERS
) {
1356 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->name
));
1357 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
1359 return NDR_ERR_SUCCESS
;
1362 static enum ndr_err_code
ndr_pull_samr_GroupInfoAll(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_GroupInfoAll
*r
)
1364 if (ndr_flags
& NDR_SCALARS
) {
1365 NDR_CHECK(ndr_pull_align(ndr
, 5));
1366 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->name
));
1367 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr
, NDR_SCALARS
, &r
->attributes
));
1368 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_members
));
1369 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
1370 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
1372 if (ndr_flags
& NDR_BUFFERS
) {
1373 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->name
));
1374 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
1376 return NDR_ERR_SUCCESS
;
1379 _PUBLIC_
void ndr_print_samr_GroupInfoAll(struct ndr_print
*ndr
, const char *name
, const struct samr_GroupInfoAll
*r
)
1381 ndr_print_struct(ndr
, name
, "samr_GroupInfoAll");
1383 ndr_print_lsa_String(ndr
, "name", &r
->name
);
1384 ndr_print_samr_GroupAttrs(ndr
, "attributes", r
->attributes
);
1385 ndr_print_uint32(ndr
, "num_members", r
->num_members
);
1386 ndr_print_lsa_String(ndr
, "description", &r
->description
);
1390 static enum ndr_err_code
ndr_push_samr_GroupInfoAttributes(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_GroupInfoAttributes
*r
)
1392 if (ndr_flags
& NDR_SCALARS
) {
1393 NDR_CHECK(ndr_push_align(ndr
, 4));
1394 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr
, NDR_SCALARS
, r
->attributes
));
1395 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
1397 if (ndr_flags
& NDR_BUFFERS
) {
1399 return NDR_ERR_SUCCESS
;
1402 static enum ndr_err_code
ndr_pull_samr_GroupInfoAttributes(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_GroupInfoAttributes
*r
)
1404 if (ndr_flags
& NDR_SCALARS
) {
1405 NDR_CHECK(ndr_pull_align(ndr
, 4));
1406 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr
, NDR_SCALARS
, &r
->attributes
));
1407 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
1409 if (ndr_flags
& NDR_BUFFERS
) {
1411 return NDR_ERR_SUCCESS
;
1414 _PUBLIC_
void ndr_print_samr_GroupInfoAttributes(struct ndr_print
*ndr
, const char *name
, const struct samr_GroupInfoAttributes
*r
)
1416 ndr_print_struct(ndr
, name
, "samr_GroupInfoAttributes");
1418 ndr_print_samr_GroupAttrs(ndr
, "attributes", r
->attributes
);
1422 static enum ndr_err_code
ndr_push_samr_GroupInfoEnum(struct ndr_push
*ndr
, int ndr_flags
, enum samr_GroupInfoEnum r
)
1424 NDR_CHECK(ndr_push_enum_uint1632(ndr
, NDR_SCALARS
, r
));
1425 return NDR_ERR_SUCCESS
;
1428 static enum ndr_err_code
ndr_pull_samr_GroupInfoEnum(struct ndr_pull
*ndr
, int ndr_flags
, enum samr_GroupInfoEnum
*r
)
1431 NDR_CHECK(ndr_pull_enum_uint1632(ndr
, NDR_SCALARS
, &v
));
1433 return NDR_ERR_SUCCESS
;
1436 _PUBLIC_
void ndr_print_samr_GroupInfoEnum(struct ndr_print
*ndr
, const char *name
, enum samr_GroupInfoEnum r
)
1438 const char *val
= NULL
;
1441 case GROUPINFOALL
: val
= "GROUPINFOALL"; break;
1442 case GROUPINFONAME
: val
= "GROUPINFONAME"; break;
1443 case GROUPINFOATTRIBUTES
: val
= "GROUPINFOATTRIBUTES"; break;
1444 case GROUPINFODESCRIPTION
: val
= "GROUPINFODESCRIPTION"; break;
1445 case GROUPINFOALL2
: val
= "GROUPINFOALL2"; break;
1447 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
1450 static enum ndr_err_code
ndr_push_samr_GroupInfo(struct ndr_push
*ndr
, int ndr_flags
, const union samr_GroupInfo
*r
)
1452 if (ndr_flags
& NDR_SCALARS
) {
1453 int level
= ndr_push_get_switch_value(ndr
, r
);
1454 NDR_CHECK(ndr_push_samr_GroupInfoEnum(ndr
, NDR_SCALARS
, level
));
1455 NDR_CHECK(ndr_push_union_align(ndr
, 5));
1457 case GROUPINFOALL
: {
1458 NDR_CHECK(ndr_push_samr_GroupInfoAll(ndr
, NDR_SCALARS
, &r
->all
));
1461 case GROUPINFONAME
: {
1462 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->name
));
1465 case GROUPINFOATTRIBUTES
: {
1466 NDR_CHECK(ndr_push_samr_GroupInfoAttributes(ndr
, NDR_SCALARS
, &r
->attributes
));
1469 case GROUPINFODESCRIPTION
: {
1470 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
1473 case GROUPINFOALL2
: {
1474 NDR_CHECK(ndr_push_samr_GroupInfoAll(ndr
, NDR_SCALARS
, &r
->all2
));
1478 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1481 if (ndr_flags
& NDR_BUFFERS
) {
1482 int level
= ndr_push_get_switch_value(ndr
, r
);
1485 NDR_CHECK(ndr_push_samr_GroupInfoAll(ndr
, NDR_BUFFERS
, &r
->all
));
1489 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->name
));
1492 case GROUPINFOATTRIBUTES
:
1495 case GROUPINFODESCRIPTION
:
1496 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
1500 NDR_CHECK(ndr_push_samr_GroupInfoAll(ndr
, NDR_BUFFERS
, &r
->all2
));
1504 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1507 return NDR_ERR_SUCCESS
;
1510 static enum ndr_err_code
ndr_pull_samr_GroupInfo(struct ndr_pull
*ndr
, int ndr_flags
, union samr_GroupInfo
*r
)
1514 level
= ndr_pull_get_switch_value(ndr
, r
);
1515 if (ndr_flags
& NDR_SCALARS
) {
1516 NDR_CHECK(ndr_pull_uint1632(ndr
, NDR_SCALARS
, &_level
));
1517 if (_level
!= level
) {
1518 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
1520 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
1522 case GROUPINFOALL
: {
1523 NDR_CHECK(ndr_pull_samr_GroupInfoAll(ndr
, NDR_SCALARS
, &r
->all
));
1526 case GROUPINFONAME
: {
1527 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->name
));
1530 case GROUPINFOATTRIBUTES
: {
1531 NDR_CHECK(ndr_pull_samr_GroupInfoAttributes(ndr
, NDR_SCALARS
, &r
->attributes
));
1534 case GROUPINFODESCRIPTION
: {
1535 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
1538 case GROUPINFOALL2
: {
1539 NDR_CHECK(ndr_pull_samr_GroupInfoAll(ndr
, NDR_SCALARS
, &r
->all2
));
1543 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1546 if (ndr_flags
& NDR_BUFFERS
) {
1549 NDR_CHECK(ndr_pull_samr_GroupInfoAll(ndr
, NDR_BUFFERS
, &r
->all
));
1553 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->name
));
1556 case GROUPINFOATTRIBUTES
:
1559 case GROUPINFODESCRIPTION
:
1560 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
1564 NDR_CHECK(ndr_pull_samr_GroupInfoAll(ndr
, NDR_BUFFERS
, &r
->all2
));
1568 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1571 return NDR_ERR_SUCCESS
;
1574 _PUBLIC_
void ndr_print_samr_GroupInfo(struct ndr_print
*ndr
, const char *name
, const union samr_GroupInfo
*r
)
1577 level
= ndr_print_get_switch_value(ndr
, r
);
1578 ndr_print_union(ndr
, name
, level
, "samr_GroupInfo");
1581 ndr_print_samr_GroupInfoAll(ndr
, "all", &r
->all
);
1585 ndr_print_lsa_String(ndr
, "name", &r
->name
);
1588 case GROUPINFOATTRIBUTES
:
1589 ndr_print_samr_GroupInfoAttributes(ndr
, "attributes", &r
->attributes
);
1592 case GROUPINFODESCRIPTION
:
1593 ndr_print_lsa_String(ndr
, "description", &r
->description
);
1597 ndr_print_samr_GroupInfoAll(ndr
, "all2", &r
->all2
);
1601 ndr_print_bad_level(ndr
, name
, level
);
1605 static enum ndr_err_code
ndr_push_samr_RidTypeArray(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_RidTypeArray
*r
)
1607 uint32_t cntr_rids_1
;
1608 uint32_t cntr_types_1
;
1609 if (ndr_flags
& NDR_SCALARS
) {
1610 NDR_CHECK(ndr_push_align(ndr
, 5));
1611 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
1612 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->rids
));
1613 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->types
));
1614 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
1616 if (ndr_flags
& NDR_BUFFERS
) {
1618 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
1619 for (cntr_rids_1
= 0; cntr_rids_1
< r
->count
; cntr_rids_1
++) {
1620 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->rids
[cntr_rids_1
]));
1624 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
1625 for (cntr_types_1
= 0; cntr_types_1
< r
->count
; cntr_types_1
++) {
1626 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->types
[cntr_types_1
]));
1630 return NDR_ERR_SUCCESS
;
1633 static enum ndr_err_code
ndr_pull_samr_RidTypeArray(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_RidTypeArray
*r
)
1636 uint32_t cntr_rids_1
;
1637 TALLOC_CTX
*_mem_save_rids_0
;
1638 TALLOC_CTX
*_mem_save_rids_1
;
1639 uint32_t _ptr_types
;
1640 uint32_t cntr_types_1
;
1641 TALLOC_CTX
*_mem_save_types_0
;
1642 TALLOC_CTX
*_mem_save_types_1
;
1643 if (ndr_flags
& NDR_SCALARS
) {
1644 NDR_CHECK(ndr_pull_align(ndr
, 5));
1645 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
1646 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_rids
));
1648 NDR_PULL_ALLOC(ndr
, r
->rids
);
1652 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_types
));
1654 NDR_PULL_ALLOC(ndr
, r
->types
);
1658 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
1660 if (ndr_flags
& NDR_BUFFERS
) {
1662 _mem_save_rids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1663 NDR_PULL_SET_MEM_CTX(ndr
, r
->rids
, 0);
1664 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->rids
));
1665 NDR_PULL_ALLOC_N(ndr
, r
->rids
, ndr_get_array_size(ndr
, &r
->rids
));
1666 _mem_save_rids_1
= NDR_PULL_GET_MEM_CTX(ndr
);
1667 NDR_PULL_SET_MEM_CTX(ndr
, r
->rids
, 0);
1668 for (cntr_rids_1
= 0; cntr_rids_1
< r
->count
; cntr_rids_1
++) {
1669 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->rids
[cntr_rids_1
]));
1671 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rids_1
, 0);
1672 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rids_0
, 0);
1675 _mem_save_types_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1676 NDR_PULL_SET_MEM_CTX(ndr
, r
->types
, 0);
1677 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->types
));
1678 NDR_PULL_ALLOC_N(ndr
, r
->types
, ndr_get_array_size(ndr
, &r
->types
));
1679 _mem_save_types_1
= NDR_PULL_GET_MEM_CTX(ndr
);
1680 NDR_PULL_SET_MEM_CTX(ndr
, r
->types
, 0);
1681 for (cntr_types_1
= 0; cntr_types_1
< r
->count
; cntr_types_1
++) {
1682 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->types
[cntr_types_1
]));
1684 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_types_1
, 0);
1685 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_types_0
, 0);
1688 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->rids
, r
->count
));
1691 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->types
, r
->count
));
1694 return NDR_ERR_SUCCESS
;
1697 _PUBLIC_
void ndr_print_samr_RidTypeArray(struct ndr_print
*ndr
, const char *name
, const struct samr_RidTypeArray
*r
)
1699 uint32_t cntr_rids_1
;
1700 uint32_t cntr_types_1
;
1701 ndr_print_struct(ndr
, name
, "samr_RidTypeArray");
1703 ndr_print_uint32(ndr
, "count", r
->count
);
1704 ndr_print_ptr(ndr
, "rids", r
->rids
);
1707 ndr
->print(ndr
, "%s: ARRAY(%d)", "rids", (int)r
->count
);
1709 for (cntr_rids_1
=0;cntr_rids_1
<r
->count
;cntr_rids_1
++) {
1711 if (asprintf(&idx_1
, "[%d]", cntr_rids_1
) != -1) {
1712 ndr_print_uint32(ndr
, "rids", r
->rids
[cntr_rids_1
]);
1719 ndr_print_ptr(ndr
, "types", r
->types
);
1722 ndr
->print(ndr
, "%s: ARRAY(%d)", "types", (int)r
->count
);
1724 for (cntr_types_1
=0;cntr_types_1
<r
->count
;cntr_types_1
++) {
1726 if (asprintf(&idx_1
, "[%d]", cntr_types_1
) != -1) {
1727 ndr_print_uint32(ndr
, "types", r
->types
[cntr_types_1
]);
1737 static enum ndr_err_code
ndr_push_samr_AliasInfoAll(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_AliasInfoAll
*r
)
1739 if (ndr_flags
& NDR_SCALARS
) {
1740 NDR_CHECK(ndr_push_align(ndr
, 5));
1741 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->name
));
1742 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_members
));
1743 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
1744 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
1746 if (ndr_flags
& NDR_BUFFERS
) {
1747 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->name
));
1748 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
1750 return NDR_ERR_SUCCESS
;
1753 static enum ndr_err_code
ndr_pull_samr_AliasInfoAll(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_AliasInfoAll
*r
)
1755 if (ndr_flags
& NDR_SCALARS
) {
1756 NDR_CHECK(ndr_pull_align(ndr
, 5));
1757 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->name
));
1758 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_members
));
1759 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
1760 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
1762 if (ndr_flags
& NDR_BUFFERS
) {
1763 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->name
));
1764 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
1766 return NDR_ERR_SUCCESS
;
1769 _PUBLIC_
void ndr_print_samr_AliasInfoAll(struct ndr_print
*ndr
, const char *name
, const struct samr_AliasInfoAll
*r
)
1771 ndr_print_struct(ndr
, name
, "samr_AliasInfoAll");
1773 ndr_print_lsa_String(ndr
, "name", &r
->name
);
1774 ndr_print_uint32(ndr
, "num_members", r
->num_members
);
1775 ndr_print_lsa_String(ndr
, "description", &r
->description
);
1779 static enum ndr_err_code
ndr_push_samr_AliasInfoEnum(struct ndr_push
*ndr
, int ndr_flags
, enum samr_AliasInfoEnum r
)
1781 NDR_CHECK(ndr_push_enum_uint1632(ndr
, NDR_SCALARS
, r
));
1782 return NDR_ERR_SUCCESS
;
1785 static enum ndr_err_code
ndr_pull_samr_AliasInfoEnum(struct ndr_pull
*ndr
, int ndr_flags
, enum samr_AliasInfoEnum
*r
)
1788 NDR_CHECK(ndr_pull_enum_uint1632(ndr
, NDR_SCALARS
, &v
));
1790 return NDR_ERR_SUCCESS
;
1793 _PUBLIC_
void ndr_print_samr_AliasInfoEnum(struct ndr_print
*ndr
, const char *name
, enum samr_AliasInfoEnum r
)
1795 const char *val
= NULL
;
1798 case ALIASINFOALL
: val
= "ALIASINFOALL"; break;
1799 case ALIASINFONAME
: val
= "ALIASINFONAME"; break;
1800 case ALIASINFODESCRIPTION
: val
= "ALIASINFODESCRIPTION"; break;
1802 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
1805 static enum ndr_err_code
ndr_push_samr_AliasInfo(struct ndr_push
*ndr
, int ndr_flags
, const union samr_AliasInfo
*r
)
1807 if (ndr_flags
& NDR_SCALARS
) {
1808 int level
= ndr_push_get_switch_value(ndr
, r
);
1809 NDR_CHECK(ndr_push_samr_AliasInfoEnum(ndr
, NDR_SCALARS
, level
));
1810 NDR_CHECK(ndr_push_union_align(ndr
, 5));
1812 case ALIASINFOALL
: {
1813 NDR_CHECK(ndr_push_samr_AliasInfoAll(ndr
, NDR_SCALARS
, &r
->all
));
1816 case ALIASINFONAME
: {
1817 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->name
));
1820 case ALIASINFODESCRIPTION
: {
1821 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
1825 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1828 if (ndr_flags
& NDR_BUFFERS
) {
1829 int level
= ndr_push_get_switch_value(ndr
, r
);
1832 NDR_CHECK(ndr_push_samr_AliasInfoAll(ndr
, NDR_BUFFERS
, &r
->all
));
1836 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->name
));
1839 case ALIASINFODESCRIPTION
:
1840 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
1844 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1847 return NDR_ERR_SUCCESS
;
1850 static enum ndr_err_code
ndr_pull_samr_AliasInfo(struct ndr_pull
*ndr
, int ndr_flags
, union samr_AliasInfo
*r
)
1854 level
= ndr_pull_get_switch_value(ndr
, r
);
1855 if (ndr_flags
& NDR_SCALARS
) {
1856 NDR_CHECK(ndr_pull_uint1632(ndr
, NDR_SCALARS
, &_level
));
1857 if (_level
!= level
) {
1858 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
1860 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
1862 case ALIASINFOALL
: {
1863 NDR_CHECK(ndr_pull_samr_AliasInfoAll(ndr
, NDR_SCALARS
, &r
->all
));
1866 case ALIASINFONAME
: {
1867 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->name
));
1870 case ALIASINFODESCRIPTION
: {
1871 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
1875 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1878 if (ndr_flags
& NDR_BUFFERS
) {
1881 NDR_CHECK(ndr_pull_samr_AliasInfoAll(ndr
, NDR_BUFFERS
, &r
->all
));
1885 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->name
));
1888 case ALIASINFODESCRIPTION
:
1889 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
1893 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1896 return NDR_ERR_SUCCESS
;
1899 _PUBLIC_
void ndr_print_samr_AliasInfo(struct ndr_print
*ndr
, const char *name
, const union samr_AliasInfo
*r
)
1902 level
= ndr_print_get_switch_value(ndr
, r
);
1903 ndr_print_union(ndr
, name
, level
, "samr_AliasInfo");
1906 ndr_print_samr_AliasInfoAll(ndr
, "all", &r
->all
);
1910 ndr_print_lsa_String(ndr
, "name", &r
->name
);
1913 case ALIASINFODESCRIPTION
:
1914 ndr_print_lsa_String(ndr
, "description", &r
->description
);
1918 ndr_print_bad_level(ndr
, name
, level
);
1922 static enum ndr_err_code
ndr_push_samr_UserInfoLevel(struct ndr_push
*ndr
, int ndr_flags
, enum samr_UserInfoLevel r
)
1924 NDR_CHECK(ndr_push_enum_uint1632(ndr
, NDR_SCALARS
, r
));
1925 return NDR_ERR_SUCCESS
;
1928 static enum ndr_err_code
ndr_pull_samr_UserInfoLevel(struct ndr_pull
*ndr
, int ndr_flags
, enum samr_UserInfoLevel
*r
)
1931 NDR_CHECK(ndr_pull_enum_uint1632(ndr
, NDR_SCALARS
, &v
));
1933 return NDR_ERR_SUCCESS
;
1936 _PUBLIC_
void ndr_print_samr_UserInfoLevel(struct ndr_print
*ndr
, const char *name
, enum samr_UserInfoLevel r
)
1938 const char *val
= NULL
;
1941 case UserGeneralInformation
: val
= "UserGeneralInformation"; break;
1942 case UserPreferencesInformation
: val
= "UserPreferencesInformation"; break;
1943 case UserLogonInformation
: val
= "UserLogonInformation"; break;
1944 case UserLogonHoursInformation
: val
= "UserLogonHoursInformation"; break;
1945 case UserAccountInformation
: val
= "UserAccountInformation"; break;
1946 case UserNameInformation
: val
= "UserNameInformation"; break;
1947 case UserAccountNameInformation
: val
= "UserAccountNameInformation"; break;
1948 case UserFullNameInformation
: val
= "UserFullNameInformation"; break;
1949 case UserPrimaryGroupInformation
: val
= "UserPrimaryGroupInformation"; break;
1950 case UserHomeInformation
: val
= "UserHomeInformation"; break;
1951 case UserScriptInformation
: val
= "UserScriptInformation"; break;
1952 case UserProfileInformation
: val
= "UserProfileInformation"; break;
1953 case UserAdminCommentInformation
: val
= "UserAdminCommentInformation"; break;
1954 case UserWorkStationsInformation
: val
= "UserWorkStationsInformation"; break;
1955 case UserControlInformation
: val
= "UserControlInformation"; break;
1956 case UserExpiresInformation
: val
= "UserExpiresInformation"; break;
1957 case UserInternal1Information
: val
= "UserInternal1Information"; break;
1958 case UserParametersInformation
: val
= "UserParametersInformation"; break;
1959 case UserAllInformation
: val
= "UserAllInformation"; break;
1960 case UserInternal4Information
: val
= "UserInternal4Information"; break;
1961 case UserInternal5Information
: val
= "UserInternal5Information"; break;
1962 case UserInternal4InformationNew
: val
= "UserInternal4InformationNew"; break;
1963 case UserInternal5InformationNew
: val
= "UserInternal5InformationNew"; break;
1965 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
1968 static enum ndr_err_code
ndr_push_samr_UserInfo1(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo1
*r
)
1970 if (ndr_flags
& NDR_SCALARS
) {
1971 NDR_CHECK(ndr_push_align(ndr
, 5));
1972 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
1973 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
1974 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->primary_gid
));
1975 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
1976 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->comment
));
1977 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
1979 if (ndr_flags
& NDR_BUFFERS
) {
1980 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
1981 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
1982 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
1983 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->comment
));
1985 return NDR_ERR_SUCCESS
;
1988 static enum ndr_err_code
ndr_pull_samr_UserInfo1(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo1
*r
)
1990 if (ndr_flags
& NDR_SCALARS
) {
1991 NDR_CHECK(ndr_pull_align(ndr
, 5));
1992 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
1993 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
1994 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->primary_gid
));
1995 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
1996 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->comment
));
1997 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
1999 if (ndr_flags
& NDR_BUFFERS
) {
2000 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
2001 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
2002 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
2003 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->comment
));
2005 return NDR_ERR_SUCCESS
;
2008 _PUBLIC_
void ndr_print_samr_UserInfo1(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo1
*r
)
2010 ndr_print_struct(ndr
, name
, "samr_UserInfo1");
2012 ndr_print_lsa_String(ndr
, "account_name", &r
->account_name
);
2013 ndr_print_lsa_String(ndr
, "full_name", &r
->full_name
);
2014 ndr_print_uint32(ndr
, "primary_gid", r
->primary_gid
);
2015 ndr_print_lsa_String(ndr
, "description", &r
->description
);
2016 ndr_print_lsa_String(ndr
, "comment", &r
->comment
);
2020 static enum ndr_err_code
ndr_push_samr_UserInfo2(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo2
*r
)
2022 if (ndr_flags
& NDR_SCALARS
) {
2023 NDR_CHECK(ndr_push_align(ndr
, 5));
2024 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->comment
));
2025 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->unknown
));
2026 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->country_code
));
2027 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->code_page
));
2028 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2030 if (ndr_flags
& NDR_BUFFERS
) {
2031 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->comment
));
2032 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->unknown
));
2034 return NDR_ERR_SUCCESS
;
2037 static enum ndr_err_code
ndr_pull_samr_UserInfo2(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo2
*r
)
2039 if (ndr_flags
& NDR_SCALARS
) {
2040 NDR_CHECK(ndr_pull_align(ndr
, 5));
2041 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->comment
));
2042 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->unknown
));
2043 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->country_code
));
2044 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->code_page
));
2045 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2047 if (ndr_flags
& NDR_BUFFERS
) {
2048 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->comment
));
2049 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->unknown
));
2051 return NDR_ERR_SUCCESS
;
2054 _PUBLIC_
void ndr_print_samr_UserInfo2(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo2
*r
)
2056 ndr_print_struct(ndr
, name
, "samr_UserInfo2");
2058 ndr_print_lsa_String(ndr
, "comment", &r
->comment
);
2059 ndr_print_lsa_String(ndr
, "unknown", &r
->unknown
);
2060 ndr_print_uint16(ndr
, "country_code", r
->country_code
);
2061 ndr_print_uint16(ndr
, "code_page", r
->code_page
);
2065 _PUBLIC_
enum ndr_err_code
ndr_push_samr_LogonHours(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_LogonHours
*r
)
2068 uint32_t _flags_save_STRUCT
= ndr
->flags
;
2069 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
2070 if (ndr_flags
& NDR_SCALARS
) {
2071 NDR_CHECK(ndr_push_align(ndr
, 5));
2072 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->units_per_week
));
2073 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->bits
));
2074 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2076 if (ndr_flags
& NDR_BUFFERS
) {
2078 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 1260));
2079 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
2080 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->units_per_week
/ 8));
2081 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->bits
, r
->units_per_week
/ 8));
2084 ndr
->flags
= _flags_save_STRUCT
;
2086 return NDR_ERR_SUCCESS
;
2089 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_LogonHours(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_LogonHours
*r
)
2092 TALLOC_CTX
*_mem_save_bits_0
;
2094 uint32_t _flags_save_STRUCT
= ndr
->flags
;
2095 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
2096 if (ndr_flags
& NDR_SCALARS
) {
2097 NDR_CHECK(ndr_pull_align(ndr
, 5));
2098 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->units_per_week
));
2099 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_bits
));
2101 NDR_PULL_ALLOC(ndr
, r
->bits
);
2105 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2107 if (ndr_flags
& NDR_BUFFERS
) {
2109 _mem_save_bits_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2110 NDR_PULL_SET_MEM_CTX(ndr
, r
->bits
, 0);
2111 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->bits
));
2112 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->bits
));
2113 if (ndr_get_array_length(ndr
, &r
->bits
) > ndr_get_array_size(ndr
, &r
->bits
)) {
2114 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->bits
), ndr_get_array_length(ndr
, &r
->bits
));
2116 NDR_PULL_ALLOC_N(ndr
, r
->bits
, ndr_get_array_size(ndr
, &r
->bits
));
2117 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->bits
, ndr_get_array_length(ndr
, &r
->bits
)));
2118 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bits_0
, 0);
2121 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->bits
, 1260));
2124 NDR_CHECK(ndr_check_array_length(ndr
, (void*)&r
->bits
, r
->units_per_week
/ 8));
2127 ndr
->flags
= _flags_save_STRUCT
;
2129 return NDR_ERR_SUCCESS
;
2132 _PUBLIC_
void ndr_print_samr_LogonHours(struct ndr_print
*ndr
, const char *name
, const struct samr_LogonHours
*r
)
2134 ndr_print_struct(ndr
, name
, "samr_LogonHours");
2136 uint32_t _flags_save_STRUCT
= ndr
->flags
;
2137 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
2139 ndr_print_uint16(ndr
, "units_per_week", r
->units_per_week
);
2140 ndr_print_ptr(ndr
, "bits", r
->bits
);
2143 ndr_print_array_uint8(ndr
, "bits", r
->bits
, r
->units_per_week
/ 8);
2147 ndr
->flags
= _flags_save_STRUCT
;
2151 static enum ndr_err_code
ndr_push_samr_UserInfo3(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo3
*r
)
2153 if (ndr_flags
& NDR_SCALARS
) {
2154 NDR_CHECK(ndr_push_align(ndr
, 5));
2155 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
2156 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
2157 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->rid
));
2158 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->primary_gid
));
2159 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->home_directory
));
2160 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->home_drive
));
2161 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->logon_script
));
2162 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->profile_path
));
2163 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->workstations
));
2164 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_logon
));
2165 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_logoff
));
2166 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_password_change
));
2167 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->allow_password_change
));
2168 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->force_password_change
));
2169 NDR_CHECK(ndr_push_samr_LogonHours(ndr
, NDR_SCALARS
, &r
->logon_hours
));
2170 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->bad_password_count
));
2171 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->logon_count
));
2172 NDR_CHECK(ndr_push_samr_AcctFlags(ndr
, NDR_SCALARS
, r
->acct_flags
));
2173 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2175 if (ndr_flags
& NDR_BUFFERS
) {
2176 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
2177 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
2178 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_directory
));
2179 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_drive
));
2180 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->logon_script
));
2181 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->profile_path
));
2182 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->workstations
));
2183 NDR_CHECK(ndr_push_samr_LogonHours(ndr
, NDR_BUFFERS
, &r
->logon_hours
));
2185 return NDR_ERR_SUCCESS
;
2188 static enum ndr_err_code
ndr_pull_samr_UserInfo3(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo3
*r
)
2190 if (ndr_flags
& NDR_SCALARS
) {
2191 NDR_CHECK(ndr_pull_align(ndr
, 5));
2192 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
2193 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
2194 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->rid
));
2195 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->primary_gid
));
2196 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->home_directory
));
2197 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->home_drive
));
2198 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->logon_script
));
2199 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->profile_path
));
2200 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->workstations
));
2201 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_logon
));
2202 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_logoff
));
2203 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_password_change
));
2204 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->allow_password_change
));
2205 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->force_password_change
));
2206 NDR_CHECK(ndr_pull_samr_LogonHours(ndr
, NDR_SCALARS
, &r
->logon_hours
));
2207 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->bad_password_count
));
2208 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->logon_count
));
2209 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr
, NDR_SCALARS
, &r
->acct_flags
));
2210 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2212 if (ndr_flags
& NDR_BUFFERS
) {
2213 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
2214 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
2215 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_directory
));
2216 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_drive
));
2217 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->logon_script
));
2218 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->profile_path
));
2219 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->workstations
));
2220 NDR_CHECK(ndr_pull_samr_LogonHours(ndr
, NDR_BUFFERS
, &r
->logon_hours
));
2222 return NDR_ERR_SUCCESS
;
2225 _PUBLIC_
void ndr_print_samr_UserInfo3(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo3
*r
)
2227 ndr_print_struct(ndr
, name
, "samr_UserInfo3");
2229 ndr_print_lsa_String(ndr
, "account_name", &r
->account_name
);
2230 ndr_print_lsa_String(ndr
, "full_name", &r
->full_name
);
2231 ndr_print_uint32(ndr
, "rid", r
->rid
);
2232 ndr_print_uint32(ndr
, "primary_gid", r
->primary_gid
);
2233 ndr_print_lsa_String(ndr
, "home_directory", &r
->home_directory
);
2234 ndr_print_lsa_String(ndr
, "home_drive", &r
->home_drive
);
2235 ndr_print_lsa_String(ndr
, "logon_script", &r
->logon_script
);
2236 ndr_print_lsa_String(ndr
, "profile_path", &r
->profile_path
);
2237 ndr_print_lsa_String(ndr
, "workstations", &r
->workstations
);
2238 ndr_print_NTTIME(ndr
, "last_logon", r
->last_logon
);
2239 ndr_print_NTTIME(ndr
, "last_logoff", r
->last_logoff
);
2240 ndr_print_NTTIME(ndr
, "last_password_change", r
->last_password_change
);
2241 ndr_print_NTTIME(ndr
, "allow_password_change", r
->allow_password_change
);
2242 ndr_print_NTTIME(ndr
, "force_password_change", r
->force_password_change
);
2243 ndr_print_samr_LogonHours(ndr
, "logon_hours", &r
->logon_hours
);
2244 ndr_print_uint16(ndr
, "bad_password_count", r
->bad_password_count
);
2245 ndr_print_uint16(ndr
, "logon_count", r
->logon_count
);
2246 ndr_print_samr_AcctFlags(ndr
, "acct_flags", r
->acct_flags
);
2250 static enum ndr_err_code
ndr_push_samr_UserInfo4(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo4
*r
)
2252 if (ndr_flags
& NDR_SCALARS
) {
2253 NDR_CHECK(ndr_push_align(ndr
, 5));
2254 NDR_CHECK(ndr_push_samr_LogonHours(ndr
, NDR_SCALARS
, &r
->logon_hours
));
2255 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2257 if (ndr_flags
& NDR_BUFFERS
) {
2258 NDR_CHECK(ndr_push_samr_LogonHours(ndr
, NDR_BUFFERS
, &r
->logon_hours
));
2260 return NDR_ERR_SUCCESS
;
2263 static enum ndr_err_code
ndr_pull_samr_UserInfo4(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo4
*r
)
2265 if (ndr_flags
& NDR_SCALARS
) {
2266 NDR_CHECK(ndr_pull_align(ndr
, 5));
2267 NDR_CHECK(ndr_pull_samr_LogonHours(ndr
, NDR_SCALARS
, &r
->logon_hours
));
2268 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2270 if (ndr_flags
& NDR_BUFFERS
) {
2271 NDR_CHECK(ndr_pull_samr_LogonHours(ndr
, NDR_BUFFERS
, &r
->logon_hours
));
2273 return NDR_ERR_SUCCESS
;
2276 _PUBLIC_
void ndr_print_samr_UserInfo4(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo4
*r
)
2278 ndr_print_struct(ndr
, name
, "samr_UserInfo4");
2280 ndr_print_samr_LogonHours(ndr
, "logon_hours", &r
->logon_hours
);
2284 static enum ndr_err_code
ndr_push_samr_UserInfo5(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo5
*r
)
2286 if (ndr_flags
& NDR_SCALARS
) {
2287 NDR_CHECK(ndr_push_align(ndr
, 5));
2288 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
2289 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
2290 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->rid
));
2291 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->primary_gid
));
2292 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->home_directory
));
2293 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->home_drive
));
2294 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->logon_script
));
2295 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->profile_path
));
2296 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
2297 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->workstations
));
2298 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_logon
));
2299 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_logoff
));
2300 NDR_CHECK(ndr_push_samr_LogonHours(ndr
, NDR_SCALARS
, &r
->logon_hours
));
2301 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->bad_password_count
));
2302 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->logon_count
));
2303 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_password_change
));
2304 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->acct_expiry
));
2305 NDR_CHECK(ndr_push_samr_AcctFlags(ndr
, NDR_SCALARS
, r
->acct_flags
));
2306 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2308 if (ndr_flags
& NDR_BUFFERS
) {
2309 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
2310 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
2311 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_directory
));
2312 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_drive
));
2313 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->logon_script
));
2314 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->profile_path
));
2315 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
2316 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->workstations
));
2317 NDR_CHECK(ndr_push_samr_LogonHours(ndr
, NDR_BUFFERS
, &r
->logon_hours
));
2319 return NDR_ERR_SUCCESS
;
2322 static enum ndr_err_code
ndr_pull_samr_UserInfo5(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo5
*r
)
2324 if (ndr_flags
& NDR_SCALARS
) {
2325 NDR_CHECK(ndr_pull_align(ndr
, 5));
2326 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
2327 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
2328 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->rid
));
2329 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->primary_gid
));
2330 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->home_directory
));
2331 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->home_drive
));
2332 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->logon_script
));
2333 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->profile_path
));
2334 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
2335 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->workstations
));
2336 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_logon
));
2337 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_logoff
));
2338 NDR_CHECK(ndr_pull_samr_LogonHours(ndr
, NDR_SCALARS
, &r
->logon_hours
));
2339 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->bad_password_count
));
2340 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->logon_count
));
2341 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_password_change
));
2342 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->acct_expiry
));
2343 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr
, NDR_SCALARS
, &r
->acct_flags
));
2344 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2346 if (ndr_flags
& NDR_BUFFERS
) {
2347 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
2348 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
2349 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_directory
));
2350 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_drive
));
2351 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->logon_script
));
2352 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->profile_path
));
2353 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
2354 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->workstations
));
2355 NDR_CHECK(ndr_pull_samr_LogonHours(ndr
, NDR_BUFFERS
, &r
->logon_hours
));
2357 return NDR_ERR_SUCCESS
;
2360 _PUBLIC_
void ndr_print_samr_UserInfo5(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo5
*r
)
2362 ndr_print_struct(ndr
, name
, "samr_UserInfo5");
2364 ndr_print_lsa_String(ndr
, "account_name", &r
->account_name
);
2365 ndr_print_lsa_String(ndr
, "full_name", &r
->full_name
);
2366 ndr_print_uint32(ndr
, "rid", r
->rid
);
2367 ndr_print_uint32(ndr
, "primary_gid", r
->primary_gid
);
2368 ndr_print_lsa_String(ndr
, "home_directory", &r
->home_directory
);
2369 ndr_print_lsa_String(ndr
, "home_drive", &r
->home_drive
);
2370 ndr_print_lsa_String(ndr
, "logon_script", &r
->logon_script
);
2371 ndr_print_lsa_String(ndr
, "profile_path", &r
->profile_path
);
2372 ndr_print_lsa_String(ndr
, "description", &r
->description
);
2373 ndr_print_lsa_String(ndr
, "workstations", &r
->workstations
);
2374 ndr_print_NTTIME(ndr
, "last_logon", r
->last_logon
);
2375 ndr_print_NTTIME(ndr
, "last_logoff", r
->last_logoff
);
2376 ndr_print_samr_LogonHours(ndr
, "logon_hours", &r
->logon_hours
);
2377 ndr_print_uint16(ndr
, "bad_password_count", r
->bad_password_count
);
2378 ndr_print_uint16(ndr
, "logon_count", r
->logon_count
);
2379 ndr_print_NTTIME(ndr
, "last_password_change", r
->last_password_change
);
2380 ndr_print_NTTIME(ndr
, "acct_expiry", r
->acct_expiry
);
2381 ndr_print_samr_AcctFlags(ndr
, "acct_flags", r
->acct_flags
);
2385 static enum ndr_err_code
ndr_push_samr_UserInfo6(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo6
*r
)
2387 if (ndr_flags
& NDR_SCALARS
) {
2388 NDR_CHECK(ndr_push_align(ndr
, 5));
2389 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
2390 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
2391 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2393 if (ndr_flags
& NDR_BUFFERS
) {
2394 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
2395 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
2397 return NDR_ERR_SUCCESS
;
2400 static enum ndr_err_code
ndr_pull_samr_UserInfo6(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo6
*r
)
2402 if (ndr_flags
& NDR_SCALARS
) {
2403 NDR_CHECK(ndr_pull_align(ndr
, 5));
2404 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
2405 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
2406 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2408 if (ndr_flags
& NDR_BUFFERS
) {
2409 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
2410 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
2412 return NDR_ERR_SUCCESS
;
2415 _PUBLIC_
void ndr_print_samr_UserInfo6(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo6
*r
)
2417 ndr_print_struct(ndr
, name
, "samr_UserInfo6");
2419 ndr_print_lsa_String(ndr
, "account_name", &r
->account_name
);
2420 ndr_print_lsa_String(ndr
, "full_name", &r
->full_name
);
2424 static enum ndr_err_code
ndr_push_samr_UserInfo7(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo7
*r
)
2426 if (ndr_flags
& NDR_SCALARS
) {
2427 NDR_CHECK(ndr_push_align(ndr
, 5));
2428 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
2429 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2431 if (ndr_flags
& NDR_BUFFERS
) {
2432 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
2434 return NDR_ERR_SUCCESS
;
2437 static enum ndr_err_code
ndr_pull_samr_UserInfo7(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo7
*r
)
2439 if (ndr_flags
& NDR_SCALARS
) {
2440 NDR_CHECK(ndr_pull_align(ndr
, 5));
2441 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
2442 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2444 if (ndr_flags
& NDR_BUFFERS
) {
2445 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
2447 return NDR_ERR_SUCCESS
;
2450 _PUBLIC_
void ndr_print_samr_UserInfo7(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo7
*r
)
2452 ndr_print_struct(ndr
, name
, "samr_UserInfo7");
2454 ndr_print_lsa_String(ndr
, "account_name", &r
->account_name
);
2458 static enum ndr_err_code
ndr_push_samr_UserInfo8(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo8
*r
)
2460 if (ndr_flags
& NDR_SCALARS
) {
2461 NDR_CHECK(ndr_push_align(ndr
, 5));
2462 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
2463 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2465 if (ndr_flags
& NDR_BUFFERS
) {
2466 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
2468 return NDR_ERR_SUCCESS
;
2471 static enum ndr_err_code
ndr_pull_samr_UserInfo8(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo8
*r
)
2473 if (ndr_flags
& NDR_SCALARS
) {
2474 NDR_CHECK(ndr_pull_align(ndr
, 5));
2475 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
2476 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2478 if (ndr_flags
& NDR_BUFFERS
) {
2479 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
2481 return NDR_ERR_SUCCESS
;
2484 _PUBLIC_
void ndr_print_samr_UserInfo8(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo8
*r
)
2486 ndr_print_struct(ndr
, name
, "samr_UserInfo8");
2488 ndr_print_lsa_String(ndr
, "full_name", &r
->full_name
);
2492 static enum ndr_err_code
ndr_push_samr_UserInfo9(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo9
*r
)
2494 if (ndr_flags
& NDR_SCALARS
) {
2495 NDR_CHECK(ndr_push_align(ndr
, 4));
2496 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->primary_gid
));
2497 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
2499 if (ndr_flags
& NDR_BUFFERS
) {
2501 return NDR_ERR_SUCCESS
;
2504 static enum ndr_err_code
ndr_pull_samr_UserInfo9(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo9
*r
)
2506 if (ndr_flags
& NDR_SCALARS
) {
2507 NDR_CHECK(ndr_pull_align(ndr
, 4));
2508 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->primary_gid
));
2509 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
2511 if (ndr_flags
& NDR_BUFFERS
) {
2513 return NDR_ERR_SUCCESS
;
2516 _PUBLIC_
void ndr_print_samr_UserInfo9(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo9
*r
)
2518 ndr_print_struct(ndr
, name
, "samr_UserInfo9");
2520 ndr_print_uint32(ndr
, "primary_gid", r
->primary_gid
);
2524 static enum ndr_err_code
ndr_push_samr_UserInfo10(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo10
*r
)
2526 if (ndr_flags
& NDR_SCALARS
) {
2527 NDR_CHECK(ndr_push_align(ndr
, 5));
2528 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->home_directory
));
2529 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->home_drive
));
2530 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2532 if (ndr_flags
& NDR_BUFFERS
) {
2533 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_directory
));
2534 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_drive
));
2536 return NDR_ERR_SUCCESS
;
2539 static enum ndr_err_code
ndr_pull_samr_UserInfo10(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo10
*r
)
2541 if (ndr_flags
& NDR_SCALARS
) {
2542 NDR_CHECK(ndr_pull_align(ndr
, 5));
2543 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->home_directory
));
2544 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->home_drive
));
2545 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2547 if (ndr_flags
& NDR_BUFFERS
) {
2548 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_directory
));
2549 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_drive
));
2551 return NDR_ERR_SUCCESS
;
2554 _PUBLIC_
void ndr_print_samr_UserInfo10(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo10
*r
)
2556 ndr_print_struct(ndr
, name
, "samr_UserInfo10");
2558 ndr_print_lsa_String(ndr
, "home_directory", &r
->home_directory
);
2559 ndr_print_lsa_String(ndr
, "home_drive", &r
->home_drive
);
2563 static enum ndr_err_code
ndr_push_samr_UserInfo11(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo11
*r
)
2565 if (ndr_flags
& NDR_SCALARS
) {
2566 NDR_CHECK(ndr_push_align(ndr
, 5));
2567 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->logon_script
));
2568 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2570 if (ndr_flags
& NDR_BUFFERS
) {
2571 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->logon_script
));
2573 return NDR_ERR_SUCCESS
;
2576 static enum ndr_err_code
ndr_pull_samr_UserInfo11(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo11
*r
)
2578 if (ndr_flags
& NDR_SCALARS
) {
2579 NDR_CHECK(ndr_pull_align(ndr
, 5));
2580 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->logon_script
));
2581 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2583 if (ndr_flags
& NDR_BUFFERS
) {
2584 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->logon_script
));
2586 return NDR_ERR_SUCCESS
;
2589 _PUBLIC_
void ndr_print_samr_UserInfo11(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo11
*r
)
2591 ndr_print_struct(ndr
, name
, "samr_UserInfo11");
2593 ndr_print_lsa_String(ndr
, "logon_script", &r
->logon_script
);
2597 static enum ndr_err_code
ndr_push_samr_UserInfo12(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo12
*r
)
2599 if (ndr_flags
& NDR_SCALARS
) {
2600 NDR_CHECK(ndr_push_align(ndr
, 5));
2601 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->profile_path
));
2602 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2604 if (ndr_flags
& NDR_BUFFERS
) {
2605 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->profile_path
));
2607 return NDR_ERR_SUCCESS
;
2610 static enum ndr_err_code
ndr_pull_samr_UserInfo12(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo12
*r
)
2612 if (ndr_flags
& NDR_SCALARS
) {
2613 NDR_CHECK(ndr_pull_align(ndr
, 5));
2614 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->profile_path
));
2615 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2617 if (ndr_flags
& NDR_BUFFERS
) {
2618 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->profile_path
));
2620 return NDR_ERR_SUCCESS
;
2623 _PUBLIC_
void ndr_print_samr_UserInfo12(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo12
*r
)
2625 ndr_print_struct(ndr
, name
, "samr_UserInfo12");
2627 ndr_print_lsa_String(ndr
, "profile_path", &r
->profile_path
);
2631 static enum ndr_err_code
ndr_push_samr_UserInfo13(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo13
*r
)
2633 if (ndr_flags
& NDR_SCALARS
) {
2634 NDR_CHECK(ndr_push_align(ndr
, 5));
2635 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
2636 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2638 if (ndr_flags
& NDR_BUFFERS
) {
2639 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
2641 return NDR_ERR_SUCCESS
;
2644 static enum ndr_err_code
ndr_pull_samr_UserInfo13(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo13
*r
)
2646 if (ndr_flags
& NDR_SCALARS
) {
2647 NDR_CHECK(ndr_pull_align(ndr
, 5));
2648 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
2649 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2651 if (ndr_flags
& NDR_BUFFERS
) {
2652 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
2654 return NDR_ERR_SUCCESS
;
2657 _PUBLIC_
void ndr_print_samr_UserInfo13(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo13
*r
)
2659 ndr_print_struct(ndr
, name
, "samr_UserInfo13");
2661 ndr_print_lsa_String(ndr
, "description", &r
->description
);
2665 static enum ndr_err_code
ndr_push_samr_UserInfo14(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo14
*r
)
2667 if (ndr_flags
& NDR_SCALARS
) {
2668 NDR_CHECK(ndr_push_align(ndr
, 5));
2669 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->workstations
));
2670 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2672 if (ndr_flags
& NDR_BUFFERS
) {
2673 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->workstations
));
2675 return NDR_ERR_SUCCESS
;
2678 static enum ndr_err_code
ndr_pull_samr_UserInfo14(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo14
*r
)
2680 if (ndr_flags
& NDR_SCALARS
) {
2681 NDR_CHECK(ndr_pull_align(ndr
, 5));
2682 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->workstations
));
2683 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2685 if (ndr_flags
& NDR_BUFFERS
) {
2686 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->workstations
));
2688 return NDR_ERR_SUCCESS
;
2691 _PUBLIC_
void ndr_print_samr_UserInfo14(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo14
*r
)
2693 ndr_print_struct(ndr
, name
, "samr_UserInfo14");
2695 ndr_print_lsa_String(ndr
, "workstations", &r
->workstations
);
2699 static enum ndr_err_code
ndr_push_samr_UserInfo16(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo16
*r
)
2701 if (ndr_flags
& NDR_SCALARS
) {
2702 NDR_CHECK(ndr_push_align(ndr
, 4));
2703 NDR_CHECK(ndr_push_samr_AcctFlags(ndr
, NDR_SCALARS
, r
->acct_flags
));
2704 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
2706 if (ndr_flags
& NDR_BUFFERS
) {
2708 return NDR_ERR_SUCCESS
;
2711 static enum ndr_err_code
ndr_pull_samr_UserInfo16(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo16
*r
)
2713 if (ndr_flags
& NDR_SCALARS
) {
2714 NDR_CHECK(ndr_pull_align(ndr
, 4));
2715 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr
, NDR_SCALARS
, &r
->acct_flags
));
2716 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
2718 if (ndr_flags
& NDR_BUFFERS
) {
2720 return NDR_ERR_SUCCESS
;
2723 _PUBLIC_
void ndr_print_samr_UserInfo16(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo16
*r
)
2725 ndr_print_struct(ndr
, name
, "samr_UserInfo16");
2727 ndr_print_samr_AcctFlags(ndr
, "acct_flags", r
->acct_flags
);
2731 static enum ndr_err_code
ndr_push_samr_UserInfo17(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo17
*r
)
2733 if (ndr_flags
& NDR_SCALARS
) {
2734 NDR_CHECK(ndr_push_align(ndr
, 4));
2735 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->acct_expiry
));
2736 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
2738 if (ndr_flags
& NDR_BUFFERS
) {
2740 return NDR_ERR_SUCCESS
;
2743 static enum ndr_err_code
ndr_pull_samr_UserInfo17(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo17
*r
)
2745 if (ndr_flags
& NDR_SCALARS
) {
2746 NDR_CHECK(ndr_pull_align(ndr
, 4));
2747 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->acct_expiry
));
2748 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
2750 if (ndr_flags
& NDR_BUFFERS
) {
2752 return NDR_ERR_SUCCESS
;
2755 _PUBLIC_
void ndr_print_samr_UserInfo17(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo17
*r
)
2757 ndr_print_struct(ndr
, name
, "samr_UserInfo17");
2759 ndr_print_NTTIME(ndr
, "acct_expiry", r
->acct_expiry
);
2763 _PUBLIC_
enum ndr_err_code
ndr_push_samr_Password(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_Password
*r
)
2766 uint32_t _flags_save_STRUCT
= ndr
->flags
;
2767 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
2768 if (ndr_flags
& NDR_SCALARS
) {
2769 NDR_CHECK(ndr_push_align(ndr
, 1));
2770 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->hash
, 16));
2771 NDR_CHECK(ndr_push_trailer_align(ndr
, 1));
2773 if (ndr_flags
& NDR_BUFFERS
) {
2775 ndr
->flags
= _flags_save_STRUCT
;
2777 return NDR_ERR_SUCCESS
;
2780 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_Password(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_Password
*r
)
2783 uint32_t _flags_save_STRUCT
= ndr
->flags
;
2784 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
2785 if (ndr_flags
& NDR_SCALARS
) {
2786 NDR_CHECK(ndr_pull_align(ndr
, 1));
2787 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->hash
, 16));
2788 NDR_CHECK(ndr_pull_trailer_align(ndr
, 1));
2790 if (ndr_flags
& NDR_BUFFERS
) {
2792 ndr
->flags
= _flags_save_STRUCT
;
2794 return NDR_ERR_SUCCESS
;
2797 _PUBLIC_
void ndr_print_samr_Password(struct ndr_print
*ndr
, const char *name
, const struct samr_Password
*r
)
2799 ndr_print_struct(ndr
, name
, "samr_Password");
2801 uint32_t _flags_save_STRUCT
= ndr
->flags
;
2802 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
2804 ndr_print_array_uint8(ndr
, "hash", r
->hash
, 16);
2806 ndr
->flags
= _flags_save_STRUCT
;
2810 static enum ndr_err_code
ndr_push_samr_UserInfo18(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo18
*r
)
2812 if (ndr_flags
& NDR_SCALARS
) {
2813 NDR_CHECK(ndr_push_align(ndr
, 1));
2814 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, &r
->nt_pwd
));
2815 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, &r
->lm_pwd
));
2816 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->nt_pwd_active
));
2817 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->lm_pwd_active
));
2818 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->password_expired
));
2819 NDR_CHECK(ndr_push_trailer_align(ndr
, 1));
2821 if (ndr_flags
& NDR_BUFFERS
) {
2823 return NDR_ERR_SUCCESS
;
2826 static enum ndr_err_code
ndr_pull_samr_UserInfo18(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo18
*r
)
2828 if (ndr_flags
& NDR_SCALARS
) {
2829 NDR_CHECK(ndr_pull_align(ndr
, 1));
2830 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, &r
->nt_pwd
));
2831 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, &r
->lm_pwd
));
2832 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->nt_pwd_active
));
2833 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->lm_pwd_active
));
2834 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->password_expired
));
2835 NDR_CHECK(ndr_pull_trailer_align(ndr
, 1));
2837 if (ndr_flags
& NDR_BUFFERS
) {
2839 return NDR_ERR_SUCCESS
;
2842 _PUBLIC_
void ndr_print_samr_UserInfo18(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo18
*r
)
2844 ndr_print_struct(ndr
, name
, "samr_UserInfo18");
2846 ndr_print_samr_Password(ndr
, "nt_pwd", &r
->nt_pwd
);
2847 ndr_print_samr_Password(ndr
, "lm_pwd", &r
->lm_pwd
);
2848 ndr_print_uint8(ndr
, "nt_pwd_active", r
->nt_pwd_active
);
2849 ndr_print_uint8(ndr
, "lm_pwd_active", r
->lm_pwd_active
);
2850 ndr_print_uint8(ndr
, "password_expired", r
->password_expired
);
2854 static enum ndr_err_code
ndr_push_samr_UserInfo20(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo20
*r
)
2856 if (ndr_flags
& NDR_SCALARS
) {
2857 NDR_CHECK(ndr_push_align(ndr
, 5));
2858 NDR_CHECK(ndr_push_lsa_BinaryString(ndr
, NDR_SCALARS
, &r
->parameters
));
2859 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2861 if (ndr_flags
& NDR_BUFFERS
) {
2862 NDR_CHECK(ndr_push_lsa_BinaryString(ndr
, NDR_BUFFERS
, &r
->parameters
));
2864 return NDR_ERR_SUCCESS
;
2867 static enum ndr_err_code
ndr_pull_samr_UserInfo20(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo20
*r
)
2869 if (ndr_flags
& NDR_SCALARS
) {
2870 NDR_CHECK(ndr_pull_align(ndr
, 5));
2871 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr
, NDR_SCALARS
, &r
->parameters
));
2872 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2874 if (ndr_flags
& NDR_BUFFERS
) {
2875 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr
, NDR_BUFFERS
, &r
->parameters
));
2877 return NDR_ERR_SUCCESS
;
2880 _PUBLIC_
void ndr_print_samr_UserInfo20(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo20
*r
)
2882 ndr_print_struct(ndr
, name
, "samr_UserInfo20");
2884 ndr_print_lsa_BinaryString(ndr
, "parameters", &r
->parameters
);
2888 static enum ndr_err_code
ndr_push_samr_FieldsPresent(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
2890 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
2891 return NDR_ERR_SUCCESS
;
2894 static enum ndr_err_code
ndr_pull_samr_FieldsPresent(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
2897 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
2899 return NDR_ERR_SUCCESS
;
2902 _PUBLIC_
void ndr_print_samr_FieldsPresent(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
2904 ndr_print_uint32(ndr
, name
, r
);
2906 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_ACCOUNT_NAME", SAMR_FIELD_ACCOUNT_NAME
, r
);
2907 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_FULL_NAME", SAMR_FIELD_FULL_NAME
, r
);
2908 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_RID", SAMR_FIELD_RID
, r
);
2909 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_PRIMARY_GID", SAMR_FIELD_PRIMARY_GID
, r
);
2910 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_DESCRIPTION", SAMR_FIELD_DESCRIPTION
, r
);
2911 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_COMMENT", SAMR_FIELD_COMMENT
, r
);
2912 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_HOME_DIRECTORY", SAMR_FIELD_HOME_DIRECTORY
, r
);
2913 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_HOME_DRIVE", SAMR_FIELD_HOME_DRIVE
, r
);
2914 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_LOGON_SCRIPT", SAMR_FIELD_LOGON_SCRIPT
, r
);
2915 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_PROFILE_PATH", SAMR_FIELD_PROFILE_PATH
, r
);
2916 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_WORKSTATIONS", SAMR_FIELD_WORKSTATIONS
, r
);
2917 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_LAST_LOGON", SAMR_FIELD_LAST_LOGON
, r
);
2918 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_LAST_LOGOFF", SAMR_FIELD_LAST_LOGOFF
, r
);
2919 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_LOGON_HOURS", SAMR_FIELD_LOGON_HOURS
, r
);
2920 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_BAD_PWD_COUNT", SAMR_FIELD_BAD_PWD_COUNT
, r
);
2921 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_NUM_LOGONS", SAMR_FIELD_NUM_LOGONS
, r
);
2922 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_ALLOW_PWD_CHANGE", SAMR_FIELD_ALLOW_PWD_CHANGE
, r
);
2923 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_FORCE_PWD_CHANGE", SAMR_FIELD_FORCE_PWD_CHANGE
, r
);
2924 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_LAST_PWD_CHANGE", SAMR_FIELD_LAST_PWD_CHANGE
, r
);
2925 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_ACCT_EXPIRY", SAMR_FIELD_ACCT_EXPIRY
, r
);
2926 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_ACCT_FLAGS", SAMR_FIELD_ACCT_FLAGS
, r
);
2927 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_PARAMETERS", SAMR_FIELD_PARAMETERS
, r
);
2928 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_COUNTRY_CODE", SAMR_FIELD_COUNTRY_CODE
, r
);
2929 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_CODE_PAGE", SAMR_FIELD_CODE_PAGE
, r
);
2930 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_NT_PASSWORD_PRESENT", SAMR_FIELD_NT_PASSWORD_PRESENT
, r
);
2931 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_LM_PASSWORD_PRESENT", SAMR_FIELD_LM_PASSWORD_PRESENT
, r
);
2932 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_PRIVATE_DATA", SAMR_FIELD_PRIVATE_DATA
, r
);
2933 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_EXPIRED_FLAG", SAMR_FIELD_EXPIRED_FLAG
, r
);
2934 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_SEC_DESC", SAMR_FIELD_SEC_DESC
, r
);
2935 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_OWF_PWD", SAMR_FIELD_OWF_PWD
, r
);
2939 static enum ndr_err_code
ndr_push_samr_UserInfo21(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo21
*r
)
2941 if (ndr_flags
& NDR_SCALARS
) {
2942 NDR_CHECK(ndr_push_align(ndr
, 5));
2943 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_logon
));
2944 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_logoff
));
2945 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_password_change
));
2946 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->acct_expiry
));
2947 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->allow_password_change
));
2948 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->force_password_change
));
2949 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
2950 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
2951 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->home_directory
));
2952 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->home_drive
));
2953 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->logon_script
));
2954 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->profile_path
));
2955 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
2956 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->workstations
));
2957 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->comment
));
2958 NDR_CHECK(ndr_push_lsa_BinaryString(ndr
, NDR_SCALARS
, &r
->parameters
));
2959 NDR_CHECK(ndr_push_lsa_BinaryString(ndr
, NDR_SCALARS
, &r
->lm_owf_password
));
2960 NDR_CHECK(ndr_push_lsa_BinaryString(ndr
, NDR_SCALARS
, &r
->nt_owf_password
));
2961 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->unknown3
));
2962 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->buf_count
));
2963 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->buffer
));
2964 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->rid
));
2965 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->primary_gid
));
2966 NDR_CHECK(ndr_push_samr_AcctFlags(ndr
, NDR_SCALARS
, r
->acct_flags
));
2967 NDR_CHECK(ndr_push_samr_FieldsPresent(ndr
, NDR_SCALARS
, r
->fields_present
));
2968 NDR_CHECK(ndr_push_samr_LogonHours(ndr
, NDR_SCALARS
, &r
->logon_hours
));
2969 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->bad_password_count
));
2970 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->logon_count
));
2971 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->country_code
));
2972 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->code_page
));
2973 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->lm_password_set
));
2974 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->nt_password_set
));
2975 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->password_expired
));
2976 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->unknown4
));
2977 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2979 if (ndr_flags
& NDR_BUFFERS
) {
2980 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
2981 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
2982 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_directory
));
2983 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_drive
));
2984 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->logon_script
));
2985 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->profile_path
));
2986 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
2987 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->workstations
));
2988 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->comment
));
2989 NDR_CHECK(ndr_push_lsa_BinaryString(ndr
, NDR_BUFFERS
, &r
->parameters
));
2990 NDR_CHECK(ndr_push_lsa_BinaryString(ndr
, NDR_BUFFERS
, &r
->lm_owf_password
));
2991 NDR_CHECK(ndr_push_lsa_BinaryString(ndr
, NDR_BUFFERS
, &r
->nt_owf_password
));
2992 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->unknown3
));
2994 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->buf_count
));
2995 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->buffer
, r
->buf_count
));
2997 NDR_CHECK(ndr_push_samr_LogonHours(ndr
, NDR_BUFFERS
, &r
->logon_hours
));
2999 return NDR_ERR_SUCCESS
;
3002 static enum ndr_err_code
ndr_pull_samr_UserInfo21(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo21
*r
)
3004 uint32_t _ptr_buffer
;
3005 TALLOC_CTX
*_mem_save_buffer_0
;
3006 if (ndr_flags
& NDR_SCALARS
) {
3007 NDR_CHECK(ndr_pull_align(ndr
, 5));
3008 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_logon
));
3009 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_logoff
));
3010 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_password_change
));
3011 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->acct_expiry
));
3012 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->allow_password_change
));
3013 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->force_password_change
));
3014 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
3015 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
3016 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->home_directory
));
3017 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->home_drive
));
3018 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->logon_script
));
3019 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->profile_path
));
3020 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
3021 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->workstations
));
3022 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->comment
));
3023 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr
, NDR_SCALARS
, &r
->parameters
));
3024 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr
, NDR_SCALARS
, &r
->lm_owf_password
));
3025 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr
, NDR_SCALARS
, &r
->nt_owf_password
));
3026 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->unknown3
));
3027 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->buf_count
));
3028 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_buffer
));
3030 NDR_PULL_ALLOC(ndr
, r
->buffer
);
3034 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->rid
));
3035 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->primary_gid
));
3036 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr
, NDR_SCALARS
, &r
->acct_flags
));
3037 NDR_CHECK(ndr_pull_samr_FieldsPresent(ndr
, NDR_SCALARS
, &r
->fields_present
));
3038 NDR_CHECK(ndr_pull_samr_LogonHours(ndr
, NDR_SCALARS
, &r
->logon_hours
));
3039 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->bad_password_count
));
3040 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->logon_count
));
3041 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->country_code
));
3042 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->code_page
));
3043 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->lm_password_set
));
3044 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->nt_password_set
));
3045 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->password_expired
));
3046 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->unknown4
));
3047 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3049 if (ndr_flags
& NDR_BUFFERS
) {
3050 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
3051 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
3052 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_directory
));
3053 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_drive
));
3054 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->logon_script
));
3055 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->profile_path
));
3056 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
3057 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->workstations
));
3058 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->comment
));
3059 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr
, NDR_BUFFERS
, &r
->parameters
));
3060 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr
, NDR_BUFFERS
, &r
->lm_owf_password
));
3061 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr
, NDR_BUFFERS
, &r
->nt_owf_password
));
3062 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->unknown3
));
3064 _mem_save_buffer_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3065 NDR_PULL_SET_MEM_CTX(ndr
, r
->buffer
, 0);
3066 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->buffer
));
3067 NDR_PULL_ALLOC_N(ndr
, r
->buffer
, ndr_get_array_size(ndr
, &r
->buffer
));
3068 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->buffer
, ndr_get_array_size(ndr
, &r
->buffer
)));
3069 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_buffer_0
, 0);
3071 NDR_CHECK(ndr_pull_samr_LogonHours(ndr
, NDR_BUFFERS
, &r
->logon_hours
));
3073 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->buffer
, r
->buf_count
));
3076 return NDR_ERR_SUCCESS
;
3079 _PUBLIC_
void ndr_print_samr_UserInfo21(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo21
*r
)
3081 ndr_print_struct(ndr
, name
, "samr_UserInfo21");
3083 ndr_print_NTTIME(ndr
, "last_logon", r
->last_logon
);
3084 ndr_print_NTTIME(ndr
, "last_logoff", r
->last_logoff
);
3085 ndr_print_NTTIME(ndr
, "last_password_change", r
->last_password_change
);
3086 ndr_print_NTTIME(ndr
, "acct_expiry", r
->acct_expiry
);
3087 ndr_print_NTTIME(ndr
, "allow_password_change", r
->allow_password_change
);
3088 ndr_print_NTTIME(ndr
, "force_password_change", r
->force_password_change
);
3089 ndr_print_lsa_String(ndr
, "account_name", &r
->account_name
);
3090 ndr_print_lsa_String(ndr
, "full_name", &r
->full_name
);
3091 ndr_print_lsa_String(ndr
, "home_directory", &r
->home_directory
);
3092 ndr_print_lsa_String(ndr
, "home_drive", &r
->home_drive
);
3093 ndr_print_lsa_String(ndr
, "logon_script", &r
->logon_script
);
3094 ndr_print_lsa_String(ndr
, "profile_path", &r
->profile_path
);
3095 ndr_print_lsa_String(ndr
, "description", &r
->description
);
3096 ndr_print_lsa_String(ndr
, "workstations", &r
->workstations
);
3097 ndr_print_lsa_String(ndr
, "comment", &r
->comment
);
3098 ndr_print_lsa_BinaryString(ndr
, "parameters", &r
->parameters
);
3099 ndr_print_lsa_BinaryString(ndr
, "lm_owf_password", &r
->lm_owf_password
);
3100 ndr_print_lsa_BinaryString(ndr
, "nt_owf_password", &r
->nt_owf_password
);
3101 ndr_print_lsa_String(ndr
, "unknown3", &r
->unknown3
);
3102 ndr_print_uint32(ndr
, "buf_count", r
->buf_count
);
3103 ndr_print_ptr(ndr
, "buffer", r
->buffer
);
3106 ndr_print_array_uint8(ndr
, "buffer", r
->buffer
, r
->buf_count
);
3109 ndr_print_uint32(ndr
, "rid", r
->rid
);
3110 ndr_print_uint32(ndr
, "primary_gid", r
->primary_gid
);
3111 ndr_print_samr_AcctFlags(ndr
, "acct_flags", r
->acct_flags
);
3112 ndr_print_samr_FieldsPresent(ndr
, "fields_present", r
->fields_present
);
3113 ndr_print_samr_LogonHours(ndr
, "logon_hours", &r
->logon_hours
);
3114 ndr_print_uint16(ndr
, "bad_password_count", r
->bad_password_count
);
3115 ndr_print_uint16(ndr
, "logon_count", r
->logon_count
);
3116 ndr_print_uint16(ndr
, "country_code", r
->country_code
);
3117 ndr_print_uint16(ndr
, "code_page", r
->code_page
);
3118 ndr_print_uint8(ndr
, "lm_password_set", r
->lm_password_set
);
3119 ndr_print_uint8(ndr
, "nt_password_set", r
->nt_password_set
);
3120 ndr_print_uint8(ndr
, "password_expired", r
->password_expired
);
3121 ndr_print_uint8(ndr
, "unknown4", r
->unknown4
);
3125 _PUBLIC_
enum ndr_err_code
ndr_push_samr_CryptPassword(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_CryptPassword
*r
)
3128 uint32_t _flags_save_STRUCT
= ndr
->flags
;
3129 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
3130 if (ndr_flags
& NDR_SCALARS
) {
3131 NDR_CHECK(ndr_push_align(ndr
, 1));
3132 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->data
, 516));
3133 NDR_CHECK(ndr_push_trailer_align(ndr
, 1));
3135 if (ndr_flags
& NDR_BUFFERS
) {
3137 ndr
->flags
= _flags_save_STRUCT
;
3139 return NDR_ERR_SUCCESS
;
3142 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_CryptPassword(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_CryptPassword
*r
)
3145 uint32_t _flags_save_STRUCT
= ndr
->flags
;
3146 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
3147 if (ndr_flags
& NDR_SCALARS
) {
3148 NDR_CHECK(ndr_pull_align(ndr
, 1));
3149 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->data
, 516));
3150 NDR_CHECK(ndr_pull_trailer_align(ndr
, 1));
3152 if (ndr_flags
& NDR_BUFFERS
) {
3154 ndr
->flags
= _flags_save_STRUCT
;
3156 return NDR_ERR_SUCCESS
;
3159 _PUBLIC_
void ndr_print_samr_CryptPassword(struct ndr_print
*ndr
, const char *name
, const struct samr_CryptPassword
*r
)
3161 ndr_print_struct(ndr
, name
, "samr_CryptPassword");
3163 uint32_t _flags_save_STRUCT
= ndr
->flags
;
3164 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
3166 ndr_print_array_uint8(ndr
, "data", r
->data
, 516);
3168 ndr
->flags
= _flags_save_STRUCT
;
3172 static enum ndr_err_code
ndr_push_samr_UserInfo23(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo23
*r
)
3174 if (ndr_flags
& NDR_SCALARS
) {
3175 NDR_CHECK(ndr_push_align(ndr
, 5));
3176 NDR_CHECK(ndr_push_samr_UserInfo21(ndr
, NDR_SCALARS
, &r
->info
));
3177 NDR_CHECK(ndr_push_samr_CryptPassword(ndr
, NDR_SCALARS
, &r
->password
));
3178 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
3180 if (ndr_flags
& NDR_BUFFERS
) {
3181 NDR_CHECK(ndr_push_samr_UserInfo21(ndr
, NDR_BUFFERS
, &r
->info
));
3183 return NDR_ERR_SUCCESS
;
3186 static enum ndr_err_code
ndr_pull_samr_UserInfo23(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo23
*r
)
3188 if (ndr_flags
& NDR_SCALARS
) {
3189 NDR_CHECK(ndr_pull_align(ndr
, 5));
3190 NDR_CHECK(ndr_pull_samr_UserInfo21(ndr
, NDR_SCALARS
, &r
->info
));
3191 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr
, NDR_SCALARS
, &r
->password
));
3192 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3194 if (ndr_flags
& NDR_BUFFERS
) {
3195 NDR_CHECK(ndr_pull_samr_UserInfo21(ndr
, NDR_BUFFERS
, &r
->info
));
3197 return NDR_ERR_SUCCESS
;
3200 _PUBLIC_
void ndr_print_samr_UserInfo23(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo23
*r
)
3202 ndr_print_struct(ndr
, name
, "samr_UserInfo23");
3204 ndr_print_samr_UserInfo21(ndr
, "info", &r
->info
);
3205 ndr_print_samr_CryptPassword(ndr
, "password", &r
->password
);
3209 static enum ndr_err_code
ndr_push_samr_UserInfo24(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo24
*r
)
3211 if (ndr_flags
& NDR_SCALARS
) {
3212 NDR_CHECK(ndr_push_align(ndr
, 1));
3213 NDR_CHECK(ndr_push_samr_CryptPassword(ndr
, NDR_SCALARS
, &r
->password
));
3214 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->password_expired
));
3215 NDR_CHECK(ndr_push_trailer_align(ndr
, 1));
3217 if (ndr_flags
& NDR_BUFFERS
) {
3219 return NDR_ERR_SUCCESS
;
3222 static enum ndr_err_code
ndr_pull_samr_UserInfo24(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo24
*r
)
3224 if (ndr_flags
& NDR_SCALARS
) {
3225 NDR_CHECK(ndr_pull_align(ndr
, 1));
3226 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr
, NDR_SCALARS
, &r
->password
));
3227 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->password_expired
));
3228 NDR_CHECK(ndr_pull_trailer_align(ndr
, 1));
3230 if (ndr_flags
& NDR_BUFFERS
) {
3232 return NDR_ERR_SUCCESS
;
3235 _PUBLIC_
void ndr_print_samr_UserInfo24(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo24
*r
)
3237 ndr_print_struct(ndr
, name
, "samr_UserInfo24");
3239 ndr_print_samr_CryptPassword(ndr
, "password", &r
->password
);
3240 ndr_print_uint8(ndr
, "password_expired", r
->password_expired
);
3244 static enum ndr_err_code
ndr_push_samr_CryptPasswordEx(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_CryptPasswordEx
*r
)
3247 uint32_t _flags_save_STRUCT
= ndr
->flags
;
3248 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
3249 if (ndr_flags
& NDR_SCALARS
) {
3250 NDR_CHECK(ndr_push_align(ndr
, 1));
3251 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->data
, 532));
3252 NDR_CHECK(ndr_push_trailer_align(ndr
, 1));
3254 if (ndr_flags
& NDR_BUFFERS
) {
3256 ndr
->flags
= _flags_save_STRUCT
;
3258 return NDR_ERR_SUCCESS
;
3261 static enum ndr_err_code
ndr_pull_samr_CryptPasswordEx(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_CryptPasswordEx
*r
)
3264 uint32_t _flags_save_STRUCT
= ndr
->flags
;
3265 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
3266 if (ndr_flags
& NDR_SCALARS
) {
3267 NDR_CHECK(ndr_pull_align(ndr
, 1));
3268 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->data
, 532));
3269 NDR_CHECK(ndr_pull_trailer_align(ndr
, 1));
3271 if (ndr_flags
& NDR_BUFFERS
) {
3273 ndr
->flags
= _flags_save_STRUCT
;
3275 return NDR_ERR_SUCCESS
;
3278 _PUBLIC_
void ndr_print_samr_CryptPasswordEx(struct ndr_print
*ndr
, const char *name
, const struct samr_CryptPasswordEx
*r
)
3280 ndr_print_struct(ndr
, name
, "samr_CryptPasswordEx");
3282 uint32_t _flags_save_STRUCT
= ndr
->flags
;
3283 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
3285 ndr_print_array_uint8(ndr
, "data", r
->data
, 532);
3287 ndr
->flags
= _flags_save_STRUCT
;
3291 static enum ndr_err_code
ndr_push_samr_UserInfo25(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo25
*r
)
3293 if (ndr_flags
& NDR_SCALARS
) {
3294 NDR_CHECK(ndr_push_align(ndr
, 5));
3295 NDR_CHECK(ndr_push_samr_UserInfo21(ndr
, NDR_SCALARS
, &r
->info
));
3296 NDR_CHECK(ndr_push_samr_CryptPasswordEx(ndr
, NDR_SCALARS
, &r
->password
));
3297 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
3299 if (ndr_flags
& NDR_BUFFERS
) {
3300 NDR_CHECK(ndr_push_samr_UserInfo21(ndr
, NDR_BUFFERS
, &r
->info
));
3302 return NDR_ERR_SUCCESS
;
3305 static enum ndr_err_code
ndr_pull_samr_UserInfo25(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo25
*r
)
3307 if (ndr_flags
& NDR_SCALARS
) {
3308 NDR_CHECK(ndr_pull_align(ndr
, 5));
3309 NDR_CHECK(ndr_pull_samr_UserInfo21(ndr
, NDR_SCALARS
, &r
->info
));
3310 NDR_CHECK(ndr_pull_samr_CryptPasswordEx(ndr
, NDR_SCALARS
, &r
->password
));
3311 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3313 if (ndr_flags
& NDR_BUFFERS
) {
3314 NDR_CHECK(ndr_pull_samr_UserInfo21(ndr
, NDR_BUFFERS
, &r
->info
));
3316 return NDR_ERR_SUCCESS
;
3319 _PUBLIC_
void ndr_print_samr_UserInfo25(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo25
*r
)
3321 ndr_print_struct(ndr
, name
, "samr_UserInfo25");
3323 ndr_print_samr_UserInfo21(ndr
, "info", &r
->info
);
3324 ndr_print_samr_CryptPasswordEx(ndr
, "password", &r
->password
);
3328 static enum ndr_err_code
ndr_push_samr_UserInfo26(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo26
*r
)
3330 if (ndr_flags
& NDR_SCALARS
) {
3331 NDR_CHECK(ndr_push_align(ndr
, 1));
3332 NDR_CHECK(ndr_push_samr_CryptPasswordEx(ndr
, NDR_SCALARS
, &r
->password
));
3333 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->password_expired
));
3334 NDR_CHECK(ndr_push_trailer_align(ndr
, 1));
3336 if (ndr_flags
& NDR_BUFFERS
) {
3338 return NDR_ERR_SUCCESS
;
3341 static enum ndr_err_code
ndr_pull_samr_UserInfo26(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo26
*r
)
3343 if (ndr_flags
& NDR_SCALARS
) {
3344 NDR_CHECK(ndr_pull_align(ndr
, 1));
3345 NDR_CHECK(ndr_pull_samr_CryptPasswordEx(ndr
, NDR_SCALARS
, &r
->password
));
3346 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->password_expired
));
3347 NDR_CHECK(ndr_pull_trailer_align(ndr
, 1));
3349 if (ndr_flags
& NDR_BUFFERS
) {
3351 return NDR_ERR_SUCCESS
;
3354 _PUBLIC_
void ndr_print_samr_UserInfo26(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo26
*r
)
3356 ndr_print_struct(ndr
, name
, "samr_UserInfo26");
3358 ndr_print_samr_CryptPasswordEx(ndr
, "password", &r
->password
);
3359 ndr_print_uint8(ndr
, "password_expired", r
->password_expired
);
3363 static enum ndr_err_code
ndr_push_samr_UserInfo(struct ndr_push
*ndr
, int ndr_flags
, const union samr_UserInfo
*r
)
3365 if (ndr_flags
& NDR_SCALARS
) {
3366 int level
= ndr_push_get_switch_value(ndr
, r
);
3367 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, level
));
3368 NDR_CHECK(ndr_push_union_align(ndr
, 5));
3371 NDR_CHECK(ndr_push_samr_UserInfo1(ndr
, NDR_SCALARS
, &r
->info1
));
3375 NDR_CHECK(ndr_push_samr_UserInfo2(ndr
, NDR_SCALARS
, &r
->info2
));
3379 NDR_CHECK(ndr_push_samr_UserInfo3(ndr
, NDR_SCALARS
, &r
->info3
));
3383 NDR_CHECK(ndr_push_samr_UserInfo4(ndr
, NDR_SCALARS
, &r
->info4
));
3387 NDR_CHECK(ndr_push_samr_UserInfo5(ndr
, NDR_SCALARS
, &r
->info5
));
3391 NDR_CHECK(ndr_push_samr_UserInfo6(ndr
, NDR_SCALARS
, &r
->info6
));
3395 NDR_CHECK(ndr_push_samr_UserInfo7(ndr
, NDR_SCALARS
, &r
->info7
));
3399 NDR_CHECK(ndr_push_samr_UserInfo8(ndr
, NDR_SCALARS
, &r
->info8
));
3403 NDR_CHECK(ndr_push_samr_UserInfo9(ndr
, NDR_SCALARS
, &r
->info9
));
3407 NDR_CHECK(ndr_push_samr_UserInfo10(ndr
, NDR_SCALARS
, &r
->info10
));
3411 NDR_CHECK(ndr_push_samr_UserInfo11(ndr
, NDR_SCALARS
, &r
->info11
));
3415 NDR_CHECK(ndr_push_samr_UserInfo12(ndr
, NDR_SCALARS
, &r
->info12
));
3419 NDR_CHECK(ndr_push_samr_UserInfo13(ndr
, NDR_SCALARS
, &r
->info13
));
3423 NDR_CHECK(ndr_push_samr_UserInfo14(ndr
, NDR_SCALARS
, &r
->info14
));
3427 NDR_CHECK(ndr_push_samr_UserInfo16(ndr
, NDR_SCALARS
, &r
->info16
));
3431 NDR_CHECK(ndr_push_samr_UserInfo17(ndr
, NDR_SCALARS
, &r
->info17
));
3435 NDR_CHECK(ndr_push_samr_UserInfo18(ndr
, NDR_SCALARS
, &r
->info18
));
3439 NDR_CHECK(ndr_push_samr_UserInfo20(ndr
, NDR_SCALARS
, &r
->info20
));
3443 NDR_CHECK(ndr_push_samr_UserInfo21(ndr
, NDR_SCALARS
, &r
->info21
));
3447 NDR_CHECK(ndr_push_samr_UserInfo23(ndr
, NDR_SCALARS
, &r
->info23
));
3451 NDR_CHECK(ndr_push_samr_UserInfo24(ndr
, NDR_SCALARS
, &r
->info24
));
3455 NDR_CHECK(ndr_push_samr_UserInfo25(ndr
, NDR_SCALARS
, &r
->info25
));
3459 NDR_CHECK(ndr_push_samr_UserInfo26(ndr
, NDR_SCALARS
, &r
->info26
));
3463 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3466 if (ndr_flags
& NDR_BUFFERS
) {
3467 int level
= ndr_push_get_switch_value(ndr
, r
);
3470 NDR_CHECK(ndr_push_samr_UserInfo1(ndr
, NDR_BUFFERS
, &r
->info1
));
3474 NDR_CHECK(ndr_push_samr_UserInfo2(ndr
, NDR_BUFFERS
, &r
->info2
));
3478 NDR_CHECK(ndr_push_samr_UserInfo3(ndr
, NDR_BUFFERS
, &r
->info3
));
3482 NDR_CHECK(ndr_push_samr_UserInfo4(ndr
, NDR_BUFFERS
, &r
->info4
));
3486 NDR_CHECK(ndr_push_samr_UserInfo5(ndr
, NDR_BUFFERS
, &r
->info5
));
3490 NDR_CHECK(ndr_push_samr_UserInfo6(ndr
, NDR_BUFFERS
, &r
->info6
));
3494 NDR_CHECK(ndr_push_samr_UserInfo7(ndr
, NDR_BUFFERS
, &r
->info7
));
3498 NDR_CHECK(ndr_push_samr_UserInfo8(ndr
, NDR_BUFFERS
, &r
->info8
));
3505 NDR_CHECK(ndr_push_samr_UserInfo10(ndr
, NDR_BUFFERS
, &r
->info10
));
3509 NDR_CHECK(ndr_push_samr_UserInfo11(ndr
, NDR_BUFFERS
, &r
->info11
));
3513 NDR_CHECK(ndr_push_samr_UserInfo12(ndr
, NDR_BUFFERS
, &r
->info12
));
3517 NDR_CHECK(ndr_push_samr_UserInfo13(ndr
, NDR_BUFFERS
, &r
->info13
));
3521 NDR_CHECK(ndr_push_samr_UserInfo14(ndr
, NDR_BUFFERS
, &r
->info14
));
3534 NDR_CHECK(ndr_push_samr_UserInfo20(ndr
, NDR_BUFFERS
, &r
->info20
));
3538 NDR_CHECK(ndr_push_samr_UserInfo21(ndr
, NDR_BUFFERS
, &r
->info21
));
3542 NDR_CHECK(ndr_push_samr_UserInfo23(ndr
, NDR_BUFFERS
, &r
->info23
));
3549 NDR_CHECK(ndr_push_samr_UserInfo25(ndr
, NDR_BUFFERS
, &r
->info25
));
3556 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3559 return NDR_ERR_SUCCESS
;
3562 static enum ndr_err_code
ndr_pull_samr_UserInfo(struct ndr_pull
*ndr
, int ndr_flags
, union samr_UserInfo
*r
)
3566 level
= ndr_pull_get_switch_value(ndr
, r
);
3567 if (ndr_flags
& NDR_SCALARS
) {
3568 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &_level
));
3569 if (_level
!= level
) {
3570 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
3572 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
3575 NDR_CHECK(ndr_pull_samr_UserInfo1(ndr
, NDR_SCALARS
, &r
->info1
));
3579 NDR_CHECK(ndr_pull_samr_UserInfo2(ndr
, NDR_SCALARS
, &r
->info2
));
3583 NDR_CHECK(ndr_pull_samr_UserInfo3(ndr
, NDR_SCALARS
, &r
->info3
));
3587 NDR_CHECK(ndr_pull_samr_UserInfo4(ndr
, NDR_SCALARS
, &r
->info4
));
3591 NDR_CHECK(ndr_pull_samr_UserInfo5(ndr
, NDR_SCALARS
, &r
->info5
));
3595 NDR_CHECK(ndr_pull_samr_UserInfo6(ndr
, NDR_SCALARS
, &r
->info6
));
3599 NDR_CHECK(ndr_pull_samr_UserInfo7(ndr
, NDR_SCALARS
, &r
->info7
));
3603 NDR_CHECK(ndr_pull_samr_UserInfo8(ndr
, NDR_SCALARS
, &r
->info8
));
3607 NDR_CHECK(ndr_pull_samr_UserInfo9(ndr
, NDR_SCALARS
, &r
->info9
));
3611 NDR_CHECK(ndr_pull_samr_UserInfo10(ndr
, NDR_SCALARS
, &r
->info10
));
3615 NDR_CHECK(ndr_pull_samr_UserInfo11(ndr
, NDR_SCALARS
, &r
->info11
));
3619 NDR_CHECK(ndr_pull_samr_UserInfo12(ndr
, NDR_SCALARS
, &r
->info12
));
3623 NDR_CHECK(ndr_pull_samr_UserInfo13(ndr
, NDR_SCALARS
, &r
->info13
));
3627 NDR_CHECK(ndr_pull_samr_UserInfo14(ndr
, NDR_SCALARS
, &r
->info14
));
3631 NDR_CHECK(ndr_pull_samr_UserInfo16(ndr
, NDR_SCALARS
, &r
->info16
));
3635 NDR_CHECK(ndr_pull_samr_UserInfo17(ndr
, NDR_SCALARS
, &r
->info17
));
3639 NDR_CHECK(ndr_pull_samr_UserInfo18(ndr
, NDR_SCALARS
, &r
->info18
));
3643 NDR_CHECK(ndr_pull_samr_UserInfo20(ndr
, NDR_SCALARS
, &r
->info20
));
3647 NDR_CHECK(ndr_pull_samr_UserInfo21(ndr
, NDR_SCALARS
, &r
->info21
));
3651 NDR_CHECK(ndr_pull_samr_UserInfo23(ndr
, NDR_SCALARS
, &r
->info23
));
3655 NDR_CHECK(ndr_pull_samr_UserInfo24(ndr
, NDR_SCALARS
, &r
->info24
));
3659 NDR_CHECK(ndr_pull_samr_UserInfo25(ndr
, NDR_SCALARS
, &r
->info25
));
3663 NDR_CHECK(ndr_pull_samr_UserInfo26(ndr
, NDR_SCALARS
, &r
->info26
));
3667 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3670 if (ndr_flags
& NDR_BUFFERS
) {
3673 NDR_CHECK(ndr_pull_samr_UserInfo1(ndr
, NDR_BUFFERS
, &r
->info1
));
3677 NDR_CHECK(ndr_pull_samr_UserInfo2(ndr
, NDR_BUFFERS
, &r
->info2
));
3681 NDR_CHECK(ndr_pull_samr_UserInfo3(ndr
, NDR_BUFFERS
, &r
->info3
));
3685 NDR_CHECK(ndr_pull_samr_UserInfo4(ndr
, NDR_BUFFERS
, &r
->info4
));
3689 NDR_CHECK(ndr_pull_samr_UserInfo5(ndr
, NDR_BUFFERS
, &r
->info5
));
3693 NDR_CHECK(ndr_pull_samr_UserInfo6(ndr
, NDR_BUFFERS
, &r
->info6
));
3697 NDR_CHECK(ndr_pull_samr_UserInfo7(ndr
, NDR_BUFFERS
, &r
->info7
));
3701 NDR_CHECK(ndr_pull_samr_UserInfo8(ndr
, NDR_BUFFERS
, &r
->info8
));
3708 NDR_CHECK(ndr_pull_samr_UserInfo10(ndr
, NDR_BUFFERS
, &r
->info10
));
3712 NDR_CHECK(ndr_pull_samr_UserInfo11(ndr
, NDR_BUFFERS
, &r
->info11
));
3716 NDR_CHECK(ndr_pull_samr_UserInfo12(ndr
, NDR_BUFFERS
, &r
->info12
));
3720 NDR_CHECK(ndr_pull_samr_UserInfo13(ndr
, NDR_BUFFERS
, &r
->info13
));
3724 NDR_CHECK(ndr_pull_samr_UserInfo14(ndr
, NDR_BUFFERS
, &r
->info14
));
3737 NDR_CHECK(ndr_pull_samr_UserInfo20(ndr
, NDR_BUFFERS
, &r
->info20
));
3741 NDR_CHECK(ndr_pull_samr_UserInfo21(ndr
, NDR_BUFFERS
, &r
->info21
));
3745 NDR_CHECK(ndr_pull_samr_UserInfo23(ndr
, NDR_BUFFERS
, &r
->info23
));
3752 NDR_CHECK(ndr_pull_samr_UserInfo25(ndr
, NDR_BUFFERS
, &r
->info25
));
3759 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3762 return NDR_ERR_SUCCESS
;
3765 _PUBLIC_
void ndr_print_samr_UserInfo(struct ndr_print
*ndr
, const char *name
, const union samr_UserInfo
*r
)
3768 level
= ndr_print_get_switch_value(ndr
, r
);
3769 ndr_print_union(ndr
, name
, level
, "samr_UserInfo");
3772 ndr_print_samr_UserInfo1(ndr
, "info1", &r
->info1
);
3776 ndr_print_samr_UserInfo2(ndr
, "info2", &r
->info2
);
3780 ndr_print_samr_UserInfo3(ndr
, "info3", &r
->info3
);
3784 ndr_print_samr_UserInfo4(ndr
, "info4", &r
->info4
);
3788 ndr_print_samr_UserInfo5(ndr
, "info5", &r
->info5
);
3792 ndr_print_samr_UserInfo6(ndr
, "info6", &r
->info6
);
3796 ndr_print_samr_UserInfo7(ndr
, "info7", &r
->info7
);
3800 ndr_print_samr_UserInfo8(ndr
, "info8", &r
->info8
);
3804 ndr_print_samr_UserInfo9(ndr
, "info9", &r
->info9
);
3808 ndr_print_samr_UserInfo10(ndr
, "info10", &r
->info10
);
3812 ndr_print_samr_UserInfo11(ndr
, "info11", &r
->info11
);
3816 ndr_print_samr_UserInfo12(ndr
, "info12", &r
->info12
);
3820 ndr_print_samr_UserInfo13(ndr
, "info13", &r
->info13
);
3824 ndr_print_samr_UserInfo14(ndr
, "info14", &r
->info14
);
3828 ndr_print_samr_UserInfo16(ndr
, "info16", &r
->info16
);
3832 ndr_print_samr_UserInfo17(ndr
, "info17", &r
->info17
);
3836 ndr_print_samr_UserInfo18(ndr
, "info18", &r
->info18
);
3840 ndr_print_samr_UserInfo20(ndr
, "info20", &r
->info20
);
3844 ndr_print_samr_UserInfo21(ndr
, "info21", &r
->info21
);
3848 ndr_print_samr_UserInfo23(ndr
, "info23", &r
->info23
);
3852 ndr_print_samr_UserInfo24(ndr
, "info24", &r
->info24
);
3856 ndr_print_samr_UserInfo25(ndr
, "info25", &r
->info25
);
3860 ndr_print_samr_UserInfo26(ndr
, "info26", &r
->info26
);
3864 ndr_print_bad_level(ndr
, name
, level
);
3868 _PUBLIC_
enum ndr_err_code
ndr_push_samr_RidWithAttribute(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_RidWithAttribute
*r
)
3870 if (ndr_flags
& NDR_SCALARS
) {
3871 NDR_CHECK(ndr_push_align(ndr
, 4));
3872 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->rid
));
3873 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr
, NDR_SCALARS
, r
->attributes
));
3874 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
3876 if (ndr_flags
& NDR_BUFFERS
) {
3878 return NDR_ERR_SUCCESS
;
3881 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_RidWithAttribute(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_RidWithAttribute
*r
)
3883 if (ndr_flags
& NDR_SCALARS
) {
3884 NDR_CHECK(ndr_pull_align(ndr
, 4));
3885 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->rid
));
3886 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr
, NDR_SCALARS
, &r
->attributes
));
3887 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
3889 if (ndr_flags
& NDR_BUFFERS
) {
3891 return NDR_ERR_SUCCESS
;
3894 _PUBLIC_
void ndr_print_samr_RidWithAttribute(struct ndr_print
*ndr
, const char *name
, const struct samr_RidWithAttribute
*r
)
3896 ndr_print_struct(ndr
, name
, "samr_RidWithAttribute");
3898 ndr_print_uint32(ndr
, "rid", r
->rid
);
3899 ndr_print_samr_GroupAttrs(ndr
, "attributes", r
->attributes
);
3903 _PUBLIC_
enum ndr_err_code
ndr_push_samr_RidWithAttributeArray(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_RidWithAttributeArray
*r
)
3905 uint32_t cntr_rids_1
;
3906 if (ndr_flags
& NDR_SCALARS
) {
3907 NDR_CHECK(ndr_push_align(ndr
, 5));
3908 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
3909 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->rids
));
3910 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
3912 if (ndr_flags
& NDR_BUFFERS
) {
3914 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
3915 for (cntr_rids_1
= 0; cntr_rids_1
< r
->count
; cntr_rids_1
++) {
3916 NDR_CHECK(ndr_push_samr_RidWithAttribute(ndr
, NDR_SCALARS
, &r
->rids
[cntr_rids_1
]));
3920 return NDR_ERR_SUCCESS
;
3923 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_RidWithAttributeArray(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_RidWithAttributeArray
*r
)
3926 uint32_t cntr_rids_1
;
3927 TALLOC_CTX
*_mem_save_rids_0
;
3928 TALLOC_CTX
*_mem_save_rids_1
;
3929 if (ndr_flags
& NDR_SCALARS
) {
3930 NDR_CHECK(ndr_pull_align(ndr
, 5));
3931 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
3932 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_rids
));
3934 NDR_PULL_ALLOC(ndr
, r
->rids
);
3938 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3940 if (ndr_flags
& NDR_BUFFERS
) {
3942 _mem_save_rids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3943 NDR_PULL_SET_MEM_CTX(ndr
, r
->rids
, 0);
3944 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->rids
));
3945 NDR_PULL_ALLOC_N(ndr
, r
->rids
, ndr_get_array_size(ndr
, &r
->rids
));
3946 _mem_save_rids_1
= NDR_PULL_GET_MEM_CTX(ndr
);
3947 NDR_PULL_SET_MEM_CTX(ndr
, r
->rids
, 0);
3948 for (cntr_rids_1
= 0; cntr_rids_1
< r
->count
; cntr_rids_1
++) {
3949 NDR_CHECK(ndr_pull_samr_RidWithAttribute(ndr
, NDR_SCALARS
, &r
->rids
[cntr_rids_1
]));
3951 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rids_1
, 0);
3952 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rids_0
, 0);
3955 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->rids
, r
->count
));
3958 return NDR_ERR_SUCCESS
;
3961 _PUBLIC_
void ndr_print_samr_RidWithAttributeArray(struct ndr_print
*ndr
, const char *name
, const struct samr_RidWithAttributeArray
*r
)
3963 uint32_t cntr_rids_1
;
3964 ndr_print_struct(ndr
, name
, "samr_RidWithAttributeArray");
3966 ndr_print_uint32(ndr
, "count", r
->count
);
3967 ndr_print_ptr(ndr
, "rids", r
->rids
);
3970 ndr
->print(ndr
, "%s: ARRAY(%d)", "rids", (int)r
->count
);
3972 for (cntr_rids_1
=0;cntr_rids_1
<r
->count
;cntr_rids_1
++) {
3974 if (asprintf(&idx_1
, "[%d]", cntr_rids_1
) != -1) {
3975 ndr_print_samr_RidWithAttribute(ndr
, "rids", &r
->rids
[cntr_rids_1
]);
3985 static enum ndr_err_code
ndr_push_samr_DispEntryGeneral(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DispEntryGeneral
*r
)
3987 if (ndr_flags
& NDR_SCALARS
) {
3988 NDR_CHECK(ndr_push_align(ndr
, 5));
3989 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->idx
));
3990 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->rid
));
3991 NDR_CHECK(ndr_push_samr_AcctFlags(ndr
, NDR_SCALARS
, r
->acct_flags
));
3992 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
3993 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
3994 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
3995 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
3997 if (ndr_flags
& NDR_BUFFERS
) {
3998 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
3999 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
4000 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
4002 return NDR_ERR_SUCCESS
;
4005 static enum ndr_err_code
ndr_pull_samr_DispEntryGeneral(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DispEntryGeneral
*r
)
4007 if (ndr_flags
& NDR_SCALARS
) {
4008 NDR_CHECK(ndr_pull_align(ndr
, 5));
4009 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->idx
));
4010 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->rid
));
4011 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr
, NDR_SCALARS
, &r
->acct_flags
));
4012 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
4013 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
4014 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
4015 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
4017 if (ndr_flags
& NDR_BUFFERS
) {
4018 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
4019 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
4020 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
4022 return NDR_ERR_SUCCESS
;
4025 _PUBLIC_
void ndr_print_samr_DispEntryGeneral(struct ndr_print
*ndr
, const char *name
, const struct samr_DispEntryGeneral
*r
)
4027 ndr_print_struct(ndr
, name
, "samr_DispEntryGeneral");
4029 ndr_print_uint32(ndr
, "idx", r
->idx
);
4030 ndr_print_uint32(ndr
, "rid", r
->rid
);
4031 ndr_print_samr_AcctFlags(ndr
, "acct_flags", r
->acct_flags
);
4032 ndr_print_lsa_String(ndr
, "account_name", &r
->account_name
);
4033 ndr_print_lsa_String(ndr
, "description", &r
->description
);
4034 ndr_print_lsa_String(ndr
, "full_name", &r
->full_name
);
4038 static enum ndr_err_code
ndr_push_samr_DispInfoGeneral(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DispInfoGeneral
*r
)
4040 uint32_t cntr_entries_1
;
4041 if (ndr_flags
& NDR_SCALARS
) {
4042 NDR_CHECK(ndr_push_align(ndr
, 5));
4043 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
4044 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->entries
));
4045 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
4047 if (ndr_flags
& NDR_BUFFERS
) {
4049 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
4050 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
4051 NDR_CHECK(ndr_push_samr_DispEntryGeneral(ndr
, NDR_SCALARS
, &r
->entries
[cntr_entries_1
]));
4053 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
4054 NDR_CHECK(ndr_push_samr_DispEntryGeneral(ndr
, NDR_BUFFERS
, &r
->entries
[cntr_entries_1
]));
4058 return NDR_ERR_SUCCESS
;
4061 static enum ndr_err_code
ndr_pull_samr_DispInfoGeneral(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DispInfoGeneral
*r
)
4063 uint32_t _ptr_entries
;
4064 uint32_t cntr_entries_1
;
4065 TALLOC_CTX
*_mem_save_entries_0
;
4066 TALLOC_CTX
*_mem_save_entries_1
;
4067 if (ndr_flags
& NDR_SCALARS
) {
4068 NDR_CHECK(ndr_pull_align(ndr
, 5));
4069 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
4070 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_entries
));
4072 NDR_PULL_ALLOC(ndr
, r
->entries
);
4076 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
4078 if (ndr_flags
& NDR_BUFFERS
) {
4080 _mem_save_entries_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4081 NDR_PULL_SET_MEM_CTX(ndr
, r
->entries
, 0);
4082 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->entries
));
4083 NDR_PULL_ALLOC_N(ndr
, r
->entries
, ndr_get_array_size(ndr
, &r
->entries
));
4084 _mem_save_entries_1
= NDR_PULL_GET_MEM_CTX(ndr
);
4085 NDR_PULL_SET_MEM_CTX(ndr
, r
->entries
, 0);
4086 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
4087 NDR_CHECK(ndr_pull_samr_DispEntryGeneral(ndr
, NDR_SCALARS
, &r
->entries
[cntr_entries_1
]));
4089 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
4090 NDR_CHECK(ndr_pull_samr_DispEntryGeneral(ndr
, NDR_BUFFERS
, &r
->entries
[cntr_entries_1
]));
4092 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_entries_1
, 0);
4093 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_entries_0
, 0);
4096 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->entries
, r
->count
));
4099 return NDR_ERR_SUCCESS
;
4102 _PUBLIC_
void ndr_print_samr_DispInfoGeneral(struct ndr_print
*ndr
, const char *name
, const struct samr_DispInfoGeneral
*r
)
4104 uint32_t cntr_entries_1
;
4105 ndr_print_struct(ndr
, name
, "samr_DispInfoGeneral");
4107 ndr_print_uint32(ndr
, "count", r
->count
);
4108 ndr_print_ptr(ndr
, "entries", r
->entries
);
4111 ndr
->print(ndr
, "%s: ARRAY(%d)", "entries", (int)r
->count
);
4113 for (cntr_entries_1
=0;cntr_entries_1
<r
->count
;cntr_entries_1
++) {
4115 if (asprintf(&idx_1
, "[%d]", cntr_entries_1
) != -1) {
4116 ndr_print_samr_DispEntryGeneral(ndr
, "entries", &r
->entries
[cntr_entries_1
]);
4126 static enum ndr_err_code
ndr_push_samr_DispEntryFull(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DispEntryFull
*r
)
4128 if (ndr_flags
& NDR_SCALARS
) {
4129 NDR_CHECK(ndr_push_align(ndr
, 5));
4130 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->idx
));
4131 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->rid
));
4132 NDR_CHECK(ndr_push_samr_AcctFlags(ndr
, NDR_SCALARS
, r
->acct_flags
));
4133 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
4134 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
4135 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
4137 if (ndr_flags
& NDR_BUFFERS
) {
4138 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
4139 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
4141 return NDR_ERR_SUCCESS
;
4144 static enum ndr_err_code
ndr_pull_samr_DispEntryFull(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DispEntryFull
*r
)
4146 if (ndr_flags
& NDR_SCALARS
) {
4147 NDR_CHECK(ndr_pull_align(ndr
, 5));
4148 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->idx
));
4149 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->rid
));
4150 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr
, NDR_SCALARS
, &r
->acct_flags
));
4151 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
4152 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
4153 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
4155 if (ndr_flags
& NDR_BUFFERS
) {
4156 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
4157 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
4159 return NDR_ERR_SUCCESS
;
4162 _PUBLIC_
void ndr_print_samr_DispEntryFull(struct ndr_print
*ndr
, const char *name
, const struct samr_DispEntryFull
*r
)
4164 ndr_print_struct(ndr
, name
, "samr_DispEntryFull");
4166 ndr_print_uint32(ndr
, "idx", r
->idx
);
4167 ndr_print_uint32(ndr
, "rid", r
->rid
);
4168 ndr_print_samr_AcctFlags(ndr
, "acct_flags", r
->acct_flags
);
4169 ndr_print_lsa_String(ndr
, "account_name", &r
->account_name
);
4170 ndr_print_lsa_String(ndr
, "description", &r
->description
);
4174 static enum ndr_err_code
ndr_push_samr_DispInfoFull(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DispInfoFull
*r
)
4176 uint32_t cntr_entries_1
;
4177 if (ndr_flags
& NDR_SCALARS
) {
4178 NDR_CHECK(ndr_push_align(ndr
, 5));
4179 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
4180 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->entries
));
4181 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
4183 if (ndr_flags
& NDR_BUFFERS
) {
4185 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
4186 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
4187 NDR_CHECK(ndr_push_samr_DispEntryFull(ndr
, NDR_SCALARS
, &r
->entries
[cntr_entries_1
]));
4189 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
4190 NDR_CHECK(ndr_push_samr_DispEntryFull(ndr
, NDR_BUFFERS
, &r
->entries
[cntr_entries_1
]));
4194 return NDR_ERR_SUCCESS
;
4197 static enum ndr_err_code
ndr_pull_samr_DispInfoFull(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DispInfoFull
*r
)
4199 uint32_t _ptr_entries
;
4200 uint32_t cntr_entries_1
;
4201 TALLOC_CTX
*_mem_save_entries_0
;
4202 TALLOC_CTX
*_mem_save_entries_1
;
4203 if (ndr_flags
& NDR_SCALARS
) {
4204 NDR_CHECK(ndr_pull_align(ndr
, 5));
4205 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
4206 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_entries
));
4208 NDR_PULL_ALLOC(ndr
, r
->entries
);
4212 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
4214 if (ndr_flags
& NDR_BUFFERS
) {
4216 _mem_save_entries_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4217 NDR_PULL_SET_MEM_CTX(ndr
, r
->entries
, 0);
4218 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->entries
));
4219 NDR_PULL_ALLOC_N(ndr
, r
->entries
, ndr_get_array_size(ndr
, &r
->entries
));
4220 _mem_save_entries_1
= NDR_PULL_GET_MEM_CTX(ndr
);
4221 NDR_PULL_SET_MEM_CTX(ndr
, r
->entries
, 0);
4222 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
4223 NDR_CHECK(ndr_pull_samr_DispEntryFull(ndr
, NDR_SCALARS
, &r
->entries
[cntr_entries_1
]));
4225 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
4226 NDR_CHECK(ndr_pull_samr_DispEntryFull(ndr
, NDR_BUFFERS
, &r
->entries
[cntr_entries_1
]));
4228 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_entries_1
, 0);
4229 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_entries_0
, 0);
4232 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->entries
, r
->count
));
4235 return NDR_ERR_SUCCESS
;
4238 _PUBLIC_
void ndr_print_samr_DispInfoFull(struct ndr_print
*ndr
, const char *name
, const struct samr_DispInfoFull
*r
)
4240 uint32_t cntr_entries_1
;
4241 ndr_print_struct(ndr
, name
, "samr_DispInfoFull");
4243 ndr_print_uint32(ndr
, "count", r
->count
);
4244 ndr_print_ptr(ndr
, "entries", r
->entries
);
4247 ndr
->print(ndr
, "%s: ARRAY(%d)", "entries", (int)r
->count
);
4249 for (cntr_entries_1
=0;cntr_entries_1
<r
->count
;cntr_entries_1
++) {
4251 if (asprintf(&idx_1
, "[%d]", cntr_entries_1
) != -1) {
4252 ndr_print_samr_DispEntryFull(ndr
, "entries", &r
->entries
[cntr_entries_1
]);
4262 static enum ndr_err_code
ndr_push_samr_DispEntryFullGroup(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DispEntryFullGroup
*r
)
4264 if (ndr_flags
& NDR_SCALARS
) {
4265 NDR_CHECK(ndr_push_align(ndr
, 5));
4266 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->idx
));
4267 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->rid
));
4268 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr
, NDR_SCALARS
, r
->acct_flags
));
4269 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
4270 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
4271 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
4273 if (ndr_flags
& NDR_BUFFERS
) {
4274 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
4275 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
4277 return NDR_ERR_SUCCESS
;
4280 static enum ndr_err_code
ndr_pull_samr_DispEntryFullGroup(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DispEntryFullGroup
*r
)
4282 if (ndr_flags
& NDR_SCALARS
) {
4283 NDR_CHECK(ndr_pull_align(ndr
, 5));
4284 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->idx
));
4285 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->rid
));
4286 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr
, NDR_SCALARS
, &r
->acct_flags
));
4287 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
4288 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
4289 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
4291 if (ndr_flags
& NDR_BUFFERS
) {
4292 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
4293 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
4295 return NDR_ERR_SUCCESS
;
4298 _PUBLIC_
void ndr_print_samr_DispEntryFullGroup(struct ndr_print
*ndr
, const char *name
, const struct samr_DispEntryFullGroup
*r
)
4300 ndr_print_struct(ndr
, name
, "samr_DispEntryFullGroup");
4302 ndr_print_uint32(ndr
, "idx", r
->idx
);
4303 ndr_print_uint32(ndr
, "rid", r
->rid
);
4304 ndr_print_samr_GroupAttrs(ndr
, "acct_flags", r
->acct_flags
);
4305 ndr_print_lsa_String(ndr
, "account_name", &r
->account_name
);
4306 ndr_print_lsa_String(ndr
, "description", &r
->description
);
4310 static enum ndr_err_code
ndr_push_samr_DispInfoFullGroups(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DispInfoFullGroups
*r
)
4312 uint32_t cntr_entries_1
;
4313 if (ndr_flags
& NDR_SCALARS
) {
4314 NDR_CHECK(ndr_push_align(ndr
, 5));
4315 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
4316 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->entries
));
4317 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
4319 if (ndr_flags
& NDR_BUFFERS
) {
4321 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
4322 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
4323 NDR_CHECK(ndr_push_samr_DispEntryFullGroup(ndr
, NDR_SCALARS
, &r
->entries
[cntr_entries_1
]));
4325 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
4326 NDR_CHECK(ndr_push_samr_DispEntryFullGroup(ndr
, NDR_BUFFERS
, &r
->entries
[cntr_entries_1
]));
4330 return NDR_ERR_SUCCESS
;
4333 static enum ndr_err_code
ndr_pull_samr_DispInfoFullGroups(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DispInfoFullGroups
*r
)
4335 uint32_t _ptr_entries
;
4336 uint32_t cntr_entries_1
;
4337 TALLOC_CTX
*_mem_save_entries_0
;
4338 TALLOC_CTX
*_mem_save_entries_1
;
4339 if (ndr_flags
& NDR_SCALARS
) {
4340 NDR_CHECK(ndr_pull_align(ndr
, 5));
4341 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
4342 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_entries
));
4344 NDR_PULL_ALLOC(ndr
, r
->entries
);
4348 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
4350 if (ndr_flags
& NDR_BUFFERS
) {
4352 _mem_save_entries_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4353 NDR_PULL_SET_MEM_CTX(ndr
, r
->entries
, 0);
4354 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->entries
));
4355 NDR_PULL_ALLOC_N(ndr
, r
->entries
, ndr_get_array_size(ndr
, &r
->entries
));
4356 _mem_save_entries_1
= NDR_PULL_GET_MEM_CTX(ndr
);
4357 NDR_PULL_SET_MEM_CTX(ndr
, r
->entries
, 0);
4358 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
4359 NDR_CHECK(ndr_pull_samr_DispEntryFullGroup(ndr
, NDR_SCALARS
, &r
->entries
[cntr_entries_1
]));
4361 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
4362 NDR_CHECK(ndr_pull_samr_DispEntryFullGroup(ndr
, NDR_BUFFERS
, &r
->entries
[cntr_entries_1
]));
4364 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_entries_1
, 0);
4365 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_entries_0
, 0);
4368 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->entries
, r
->count
));
4371 return NDR_ERR_SUCCESS
;
4374 _PUBLIC_
void ndr_print_samr_DispInfoFullGroups(struct ndr_print
*ndr
, const char *name
, const struct samr_DispInfoFullGroups
*r
)
4376 uint32_t cntr_entries_1
;
4377 ndr_print_struct(ndr
, name
, "samr_DispInfoFullGroups");
4379 ndr_print_uint32(ndr
, "count", r
->count
);
4380 ndr_print_ptr(ndr
, "entries", r
->entries
);
4383 ndr
->print(ndr
, "%s: ARRAY(%d)", "entries", (int)r
->count
);
4385 for (cntr_entries_1
=0;cntr_entries_1
<r
->count
;cntr_entries_1
++) {
4387 if (asprintf(&idx_1
, "[%d]", cntr_entries_1
) != -1) {
4388 ndr_print_samr_DispEntryFullGroup(ndr
, "entries", &r
->entries
[cntr_entries_1
]);
4398 static enum ndr_err_code
ndr_push_samr_DispEntryAscii(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DispEntryAscii
*r
)
4400 if (ndr_flags
& NDR_SCALARS
) {
4401 NDR_CHECK(ndr_push_align(ndr
, 5));
4402 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->idx
));
4403 NDR_CHECK(ndr_push_lsa_AsciiStringLarge(ndr
, NDR_SCALARS
, &r
->account_name
));
4404 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
4406 if (ndr_flags
& NDR_BUFFERS
) {
4407 NDR_CHECK(ndr_push_lsa_AsciiStringLarge(ndr
, NDR_BUFFERS
, &r
->account_name
));
4409 return NDR_ERR_SUCCESS
;
4412 static enum ndr_err_code
ndr_pull_samr_DispEntryAscii(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DispEntryAscii
*r
)
4414 if (ndr_flags
& NDR_SCALARS
) {
4415 NDR_CHECK(ndr_pull_align(ndr
, 5));
4416 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->idx
));
4417 NDR_CHECK(ndr_pull_lsa_AsciiStringLarge(ndr
, NDR_SCALARS
, &r
->account_name
));
4418 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
4420 if (ndr_flags
& NDR_BUFFERS
) {
4421 NDR_CHECK(ndr_pull_lsa_AsciiStringLarge(ndr
, NDR_BUFFERS
, &r
->account_name
));
4423 return NDR_ERR_SUCCESS
;
4426 _PUBLIC_
void ndr_print_samr_DispEntryAscii(struct ndr_print
*ndr
, const char *name
, const struct samr_DispEntryAscii
*r
)
4428 ndr_print_struct(ndr
, name
, "samr_DispEntryAscii");
4430 ndr_print_uint32(ndr
, "idx", r
->idx
);
4431 ndr_print_lsa_AsciiStringLarge(ndr
, "account_name", &r
->account_name
);
4435 static enum ndr_err_code
ndr_push_samr_DispInfoAscii(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DispInfoAscii
*r
)
4437 uint32_t cntr_entries_1
;
4438 if (ndr_flags
& NDR_SCALARS
) {
4439 NDR_CHECK(ndr_push_align(ndr
, 5));
4440 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
4441 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->entries
));
4442 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
4444 if (ndr_flags
& NDR_BUFFERS
) {
4446 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
4447 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
4448 NDR_CHECK(ndr_push_samr_DispEntryAscii(ndr
, NDR_SCALARS
, &r
->entries
[cntr_entries_1
]));
4450 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
4451 NDR_CHECK(ndr_push_samr_DispEntryAscii(ndr
, NDR_BUFFERS
, &r
->entries
[cntr_entries_1
]));
4455 return NDR_ERR_SUCCESS
;
4458 static enum ndr_err_code
ndr_pull_samr_DispInfoAscii(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DispInfoAscii
*r
)
4460 uint32_t _ptr_entries
;
4461 uint32_t cntr_entries_1
;
4462 TALLOC_CTX
*_mem_save_entries_0
;
4463 TALLOC_CTX
*_mem_save_entries_1
;
4464 if (ndr_flags
& NDR_SCALARS
) {
4465 NDR_CHECK(ndr_pull_align(ndr
, 5));
4466 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
4467 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_entries
));
4469 NDR_PULL_ALLOC(ndr
, r
->entries
);
4473 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
4475 if (ndr_flags
& NDR_BUFFERS
) {
4477 _mem_save_entries_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4478 NDR_PULL_SET_MEM_CTX(ndr
, r
->entries
, 0);
4479 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->entries
));
4480 NDR_PULL_ALLOC_N(ndr
, r
->entries
, ndr_get_array_size(ndr
, &r
->entries
));
4481 _mem_save_entries_1
= NDR_PULL_GET_MEM_CTX(ndr
);
4482 NDR_PULL_SET_MEM_CTX(ndr
, r
->entries
, 0);
4483 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
4484 NDR_CHECK(ndr_pull_samr_DispEntryAscii(ndr
, NDR_SCALARS
, &r
->entries
[cntr_entries_1
]));
4486 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
4487 NDR_CHECK(ndr_pull_samr_DispEntryAscii(ndr
, NDR_BUFFERS
, &r
->entries
[cntr_entries_1
]));
4489 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_entries_1
, 0);
4490 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_entries_0
, 0);
4493 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->entries
, r
->count
));
4496 return NDR_ERR_SUCCESS
;
4499 _PUBLIC_
void ndr_print_samr_DispInfoAscii(struct ndr_print
*ndr
, const char *name
, const struct samr_DispInfoAscii
*r
)
4501 uint32_t cntr_entries_1
;
4502 ndr_print_struct(ndr
, name
, "samr_DispInfoAscii");
4504 ndr_print_uint32(ndr
, "count", r
->count
);
4505 ndr_print_ptr(ndr
, "entries", r
->entries
);
4508 ndr
->print(ndr
, "%s: ARRAY(%d)", "entries", (int)r
->count
);
4510 for (cntr_entries_1
=0;cntr_entries_1
<r
->count
;cntr_entries_1
++) {
4512 if (asprintf(&idx_1
, "[%d]", cntr_entries_1
) != -1) {
4513 ndr_print_samr_DispEntryAscii(ndr
, "entries", &r
->entries
[cntr_entries_1
]);
4523 static enum ndr_err_code
ndr_push_samr_DispInfo(struct ndr_push
*ndr
, int ndr_flags
, const union samr_DispInfo
*r
)
4525 if (ndr_flags
& NDR_SCALARS
) {
4526 int level
= ndr_push_get_switch_value(ndr
, r
);
4527 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, level
));
4528 NDR_CHECK(ndr_push_union_align(ndr
, 5));
4531 NDR_CHECK(ndr_push_samr_DispInfoGeneral(ndr
, NDR_SCALARS
, &r
->info1
));
4535 NDR_CHECK(ndr_push_samr_DispInfoFull(ndr
, NDR_SCALARS
, &r
->info2
));
4539 NDR_CHECK(ndr_push_samr_DispInfoFullGroups(ndr
, NDR_SCALARS
, &r
->info3
));
4543 NDR_CHECK(ndr_push_samr_DispInfoAscii(ndr
, NDR_SCALARS
, &r
->info4
));
4547 NDR_CHECK(ndr_push_samr_DispInfoAscii(ndr
, NDR_SCALARS
, &r
->info5
));
4551 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4554 if (ndr_flags
& NDR_BUFFERS
) {
4555 int level
= ndr_push_get_switch_value(ndr
, r
);
4558 NDR_CHECK(ndr_push_samr_DispInfoGeneral(ndr
, NDR_BUFFERS
, &r
->info1
));
4562 NDR_CHECK(ndr_push_samr_DispInfoFull(ndr
, NDR_BUFFERS
, &r
->info2
));
4566 NDR_CHECK(ndr_push_samr_DispInfoFullGroups(ndr
, NDR_BUFFERS
, &r
->info3
));
4570 NDR_CHECK(ndr_push_samr_DispInfoAscii(ndr
, NDR_BUFFERS
, &r
->info4
));
4574 NDR_CHECK(ndr_push_samr_DispInfoAscii(ndr
, NDR_BUFFERS
, &r
->info5
));
4578 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4581 return NDR_ERR_SUCCESS
;
4584 static enum ndr_err_code
ndr_pull_samr_DispInfo(struct ndr_pull
*ndr
, int ndr_flags
, union samr_DispInfo
*r
)
4588 level
= ndr_pull_get_switch_value(ndr
, r
);
4589 if (ndr_flags
& NDR_SCALARS
) {
4590 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &_level
));
4591 if (_level
!= level
) {
4592 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
4594 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
4597 NDR_CHECK(ndr_pull_samr_DispInfoGeneral(ndr
, NDR_SCALARS
, &r
->info1
));
4601 NDR_CHECK(ndr_pull_samr_DispInfoFull(ndr
, NDR_SCALARS
, &r
->info2
));
4605 NDR_CHECK(ndr_pull_samr_DispInfoFullGroups(ndr
, NDR_SCALARS
, &r
->info3
));
4609 NDR_CHECK(ndr_pull_samr_DispInfoAscii(ndr
, NDR_SCALARS
, &r
->info4
));
4613 NDR_CHECK(ndr_pull_samr_DispInfoAscii(ndr
, NDR_SCALARS
, &r
->info5
));
4617 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4620 if (ndr_flags
& NDR_BUFFERS
) {
4623 NDR_CHECK(ndr_pull_samr_DispInfoGeneral(ndr
, NDR_BUFFERS
, &r
->info1
));
4627 NDR_CHECK(ndr_pull_samr_DispInfoFull(ndr
, NDR_BUFFERS
, &r
->info2
));
4631 NDR_CHECK(ndr_pull_samr_DispInfoFullGroups(ndr
, NDR_BUFFERS
, &r
->info3
));
4635 NDR_CHECK(ndr_pull_samr_DispInfoAscii(ndr
, NDR_BUFFERS
, &r
->info4
));
4639 NDR_CHECK(ndr_pull_samr_DispInfoAscii(ndr
, NDR_BUFFERS
, &r
->info5
));
4643 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4646 return NDR_ERR_SUCCESS
;
4649 _PUBLIC_
void ndr_print_samr_DispInfo(struct ndr_print
*ndr
, const char *name
, const union samr_DispInfo
*r
)
4652 level
= ndr_print_get_switch_value(ndr
, r
);
4653 ndr_print_union(ndr
, name
, level
, "samr_DispInfo");
4656 ndr_print_samr_DispInfoGeneral(ndr
, "info1", &r
->info1
);
4660 ndr_print_samr_DispInfoFull(ndr
, "info2", &r
->info2
);
4664 ndr_print_samr_DispInfoFullGroups(ndr
, "info3", &r
->info3
);
4668 ndr_print_samr_DispInfoAscii(ndr
, "info4", &r
->info4
);
4672 ndr_print_samr_DispInfoAscii(ndr
, "info5", &r
->info5
);
4676 ndr_print_bad_level(ndr
, name
, level
);
4680 static enum ndr_err_code
ndr_push_samr_PwInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_PwInfo
*r
)
4682 if (ndr_flags
& NDR_SCALARS
) {
4683 NDR_CHECK(ndr_push_align(ndr
, 4));
4684 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->min_password_length
));
4685 NDR_CHECK(ndr_push_samr_PasswordProperties(ndr
, NDR_SCALARS
, r
->password_properties
));
4686 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
4688 if (ndr_flags
& NDR_BUFFERS
) {
4690 return NDR_ERR_SUCCESS
;
4693 static enum ndr_err_code
ndr_pull_samr_PwInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_PwInfo
*r
)
4695 if (ndr_flags
& NDR_SCALARS
) {
4696 NDR_CHECK(ndr_pull_align(ndr
, 4));
4697 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->min_password_length
));
4698 NDR_CHECK(ndr_pull_samr_PasswordProperties(ndr
, NDR_SCALARS
, &r
->password_properties
));
4699 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
4701 if (ndr_flags
& NDR_BUFFERS
) {
4703 return NDR_ERR_SUCCESS
;
4706 _PUBLIC_
void ndr_print_samr_PwInfo(struct ndr_print
*ndr
, const char *name
, const struct samr_PwInfo
*r
)
4708 ndr_print_struct(ndr
, name
, "samr_PwInfo");
4710 ndr_print_uint16(ndr
, "min_password_length", r
->min_password_length
);
4711 ndr_print_samr_PasswordProperties(ndr
, "password_properties", r
->password_properties
);
4715 static enum ndr_err_code
ndr_push_samr_ConnectVersion(struct ndr_push
*ndr
, int ndr_flags
, enum samr_ConnectVersion r
)
4717 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
4718 return NDR_ERR_SUCCESS
;
4721 static enum ndr_err_code
ndr_pull_samr_ConnectVersion(struct ndr_pull
*ndr
, int ndr_flags
, enum samr_ConnectVersion
*r
)
4724 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
4726 return NDR_ERR_SUCCESS
;
4729 _PUBLIC_
void ndr_print_samr_ConnectVersion(struct ndr_print
*ndr
, const char *name
, enum samr_ConnectVersion r
)
4731 const char *val
= NULL
;
4734 case SAMR_CONNECT_PRE_W2K
: val
= "SAMR_CONNECT_PRE_W2K"; break;
4735 case SAMR_CONNECT_W2K
: val
= "SAMR_CONNECT_W2K"; break;
4736 case SAMR_CONNECT_AFTER_W2K
: val
= "SAMR_CONNECT_AFTER_W2K"; break;
4738 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
4741 static enum ndr_err_code
ndr_push_samr_ChangeReject(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_ChangeReject
*r
)
4743 if (ndr_flags
& NDR_SCALARS
) {
4744 NDR_CHECK(ndr_push_align(ndr
, 4));
4745 NDR_CHECK(ndr_push_samr_RejectReason(ndr
, NDR_SCALARS
, r
->reason
));
4746 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown1
));
4747 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown2
));
4748 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
4750 if (ndr_flags
& NDR_BUFFERS
) {
4752 return NDR_ERR_SUCCESS
;
4755 static enum ndr_err_code
ndr_pull_samr_ChangeReject(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_ChangeReject
*r
)
4757 if (ndr_flags
& NDR_SCALARS
) {
4758 NDR_CHECK(ndr_pull_align(ndr
, 4));
4759 NDR_CHECK(ndr_pull_samr_RejectReason(ndr
, NDR_SCALARS
, &r
->reason
));
4760 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown1
));
4761 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown2
));
4762 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
4764 if (ndr_flags
& NDR_BUFFERS
) {
4766 return NDR_ERR_SUCCESS
;
4769 _PUBLIC_
void ndr_print_samr_ChangeReject(struct ndr_print
*ndr
, const char *name
, const struct samr_ChangeReject
*r
)
4771 ndr_print_struct(ndr
, name
, "samr_ChangeReject");
4773 ndr_print_samr_RejectReason(ndr
, "reason", r
->reason
);
4774 ndr_print_uint32(ndr
, "unknown1", r
->unknown1
);
4775 ndr_print_uint32(ndr
, "unknown2", r
->unknown2
);
4779 static enum ndr_err_code
ndr_push_samr_ConnectInfo1(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_ConnectInfo1
*r
)
4781 if (ndr_flags
& NDR_SCALARS
) {
4782 NDR_CHECK(ndr_push_align(ndr
, 4));
4783 NDR_CHECK(ndr_push_samr_ConnectVersion(ndr
, NDR_SCALARS
, r
->client_version
));
4784 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown2
));
4785 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
4787 if (ndr_flags
& NDR_BUFFERS
) {
4789 return NDR_ERR_SUCCESS
;
4792 static enum ndr_err_code
ndr_pull_samr_ConnectInfo1(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_ConnectInfo1
*r
)
4794 if (ndr_flags
& NDR_SCALARS
) {
4795 NDR_CHECK(ndr_pull_align(ndr
, 4));
4796 NDR_CHECK(ndr_pull_samr_ConnectVersion(ndr
, NDR_SCALARS
, &r
->client_version
));
4797 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown2
));
4798 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
4800 if (ndr_flags
& NDR_BUFFERS
) {
4802 return NDR_ERR_SUCCESS
;
4805 _PUBLIC_
void ndr_print_samr_ConnectInfo1(struct ndr_print
*ndr
, const char *name
, const struct samr_ConnectInfo1
*r
)
4807 ndr_print_struct(ndr
, name
, "samr_ConnectInfo1");
4809 ndr_print_samr_ConnectVersion(ndr
, "client_version", r
->client_version
);
4810 ndr_print_uint32(ndr
, "unknown2", r
->unknown2
);
4814 static enum ndr_err_code
ndr_push_samr_ConnectInfo(struct ndr_push
*ndr
, int ndr_flags
, const union samr_ConnectInfo
*r
)
4816 if (ndr_flags
& NDR_SCALARS
) {
4817 int level
= ndr_push_get_switch_value(ndr
, r
);
4818 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
4819 NDR_CHECK(ndr_push_union_align(ndr
, 4));
4822 NDR_CHECK(ndr_push_samr_ConnectInfo1(ndr
, NDR_SCALARS
, &r
->info1
));
4826 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4829 if (ndr_flags
& NDR_BUFFERS
) {
4830 int level
= ndr_push_get_switch_value(ndr
, r
);
4836 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4839 return NDR_ERR_SUCCESS
;
4842 static enum ndr_err_code
ndr_pull_samr_ConnectInfo(struct ndr_pull
*ndr
, int ndr_flags
, union samr_ConnectInfo
*r
)
4846 level
= ndr_pull_get_switch_value(ndr
, r
);
4847 if (ndr_flags
& NDR_SCALARS
) {
4848 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
4849 if (_level
!= level
) {
4850 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
4852 NDR_CHECK(ndr_pull_union_align(ndr
, 4));
4855 NDR_CHECK(ndr_pull_samr_ConnectInfo1(ndr
, NDR_SCALARS
, &r
->info1
));
4859 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4862 if (ndr_flags
& NDR_BUFFERS
) {
4868 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4871 return NDR_ERR_SUCCESS
;
4874 _PUBLIC_
void ndr_print_samr_ConnectInfo(struct ndr_print
*ndr
, const char *name
, const union samr_ConnectInfo
*r
)
4877 level
= ndr_print_get_switch_value(ndr
, r
);
4878 ndr_print_union(ndr
, name
, level
, "samr_ConnectInfo");
4881 ndr_print_samr_ConnectInfo1(ndr
, "info1", &r
->info1
);
4885 ndr_print_bad_level(ndr
, name
, level
);
4889 static enum ndr_err_code
ndr_push_samr_ValidateFieldsPresent(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
4891 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
4892 return NDR_ERR_SUCCESS
;
4895 static enum ndr_err_code
ndr_pull_samr_ValidateFieldsPresent(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
4898 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
4900 return NDR_ERR_SUCCESS
;
4903 _PUBLIC_
void ndr_print_samr_ValidateFieldsPresent(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
4905 ndr_print_uint32(ndr
, name
, r
);
4907 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_PASSWORD_LAST_SET", SAMR_VALIDATE_FIELD_PASSWORD_LAST_SET
, r
);
4908 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_BAD_PASSWORD_TIME", SAMR_VALIDATE_FIELD_BAD_PASSWORD_TIME
, r
);
4909 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_LOCKOUT_TIME", SAMR_VALIDATE_FIELD_LOCKOUT_TIME
, r
);
4910 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_BAD_PASSWORD_COUNT", SAMR_VALIDATE_FIELD_BAD_PASSWORD_COUNT
, r
);
4911 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_PASSWORD_HISTORY_LENGTH", SAMR_VALIDATE_FIELD_PASSWORD_HISTORY_LENGTH
, r
);
4912 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_PASSWORD_HISTORY", SAMR_VALIDATE_FIELD_PASSWORD_HISTORY
, r
);
4916 static enum ndr_err_code
ndr_push_samr_ValidatePasswordLevel(struct ndr_push
*ndr
, int ndr_flags
, enum samr_ValidatePasswordLevel r
)
4918 NDR_CHECK(ndr_push_enum_uint1632(ndr
, NDR_SCALARS
, r
));
4919 return NDR_ERR_SUCCESS
;
4922 static enum ndr_err_code
ndr_pull_samr_ValidatePasswordLevel(struct ndr_pull
*ndr
, int ndr_flags
, enum samr_ValidatePasswordLevel
*r
)
4925 NDR_CHECK(ndr_pull_enum_uint1632(ndr
, NDR_SCALARS
, &v
));
4927 return NDR_ERR_SUCCESS
;
4930 _PUBLIC_
void ndr_print_samr_ValidatePasswordLevel(struct ndr_print
*ndr
, const char *name
, enum samr_ValidatePasswordLevel r
)
4932 const char *val
= NULL
;
4935 case NetValidateAuthentication
: val
= "NetValidateAuthentication"; break;
4936 case NetValidatePasswordChange
: val
= "NetValidatePasswordChange"; break;
4937 case NetValidatePasswordReset
: val
= "NetValidatePasswordReset"; break;
4939 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
4942 static enum ndr_err_code
ndr_push_samr_ValidationStatus(struct ndr_push
*ndr
, int ndr_flags
, enum samr_ValidationStatus r
)
4944 NDR_CHECK(ndr_push_enum_uint1632(ndr
, NDR_SCALARS
, r
));
4945 return NDR_ERR_SUCCESS
;
4948 static enum ndr_err_code
ndr_pull_samr_ValidationStatus(struct ndr_pull
*ndr
, int ndr_flags
, enum samr_ValidationStatus
*r
)
4951 NDR_CHECK(ndr_pull_enum_uint1632(ndr
, NDR_SCALARS
, &v
));
4953 return NDR_ERR_SUCCESS
;
4956 _PUBLIC_
void ndr_print_samr_ValidationStatus(struct ndr_print
*ndr
, const char *name
, enum samr_ValidationStatus r
)
4958 const char *val
= NULL
;
4961 case SAMR_VALIDATION_STATUS_SUCCESS
: val
= "SAMR_VALIDATION_STATUS_SUCCESS"; break;
4962 case SAMR_VALIDATION_STATUS_PASSWORD_MUST_CHANGE
: val
= "SAMR_VALIDATION_STATUS_PASSWORD_MUST_CHANGE"; break;
4963 case SAMR_VALIDATION_STATUS_ACCOUNT_LOCKED_OUT
: val
= "SAMR_VALIDATION_STATUS_ACCOUNT_LOCKED_OUT"; break;
4964 case SAMR_VALIDATION_STATUS_PASSWORD_EXPIRED
: val
= "SAMR_VALIDATION_STATUS_PASSWORD_EXPIRED"; break;
4965 case SAMR_VALIDATION_STATUS_BAD_PASSWORD
: val
= "SAMR_VALIDATION_STATUS_BAD_PASSWORD"; break;
4966 case SAMR_VALIDATION_STATUS_PWD_HISTORY_CONFLICT
: val
= "SAMR_VALIDATION_STATUS_PWD_HISTORY_CONFLICT"; break;
4967 case SAMR_VALIDATION_STATUS_PWD_TOO_SHORT
: val
= "SAMR_VALIDATION_STATUS_PWD_TOO_SHORT"; break;
4968 case SAMR_VALIDATION_STATUS_PWD_TOO_LONG
: val
= "SAMR_VALIDATION_STATUS_PWD_TOO_LONG"; break;
4969 case SAMR_VALIDATION_STATUS_NOT_COMPLEX_ENOUGH
: val
= "SAMR_VALIDATION_STATUS_NOT_COMPLEX_ENOUGH"; break;
4970 case SAMR_VALIDATION_STATUS_PASSWORD_TOO_RECENT
: val
= "SAMR_VALIDATION_STATUS_PASSWORD_TOO_RECENT"; break;
4971 case SAMR_VALIDATION_STATUS_PASSWORD_FILTER_ERROR
: val
= "SAMR_VALIDATION_STATUS_PASSWORD_FILTER_ERROR"; break;
4973 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
4976 static enum ndr_err_code
ndr_push_samr_ValidationBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_ValidationBlob
*r
)
4978 if (ndr_flags
& NDR_SCALARS
) {
4979 NDR_CHECK(ndr_push_align(ndr
, 5));
4980 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->length
));
4981 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->data
));
4982 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
4984 if (ndr_flags
& NDR_BUFFERS
) {
4986 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->length
));
4987 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->data
, r
->length
));
4990 return NDR_ERR_SUCCESS
;
4993 static enum ndr_err_code
ndr_pull_samr_ValidationBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_ValidationBlob
*r
)
4996 TALLOC_CTX
*_mem_save_data_0
;
4997 if (ndr_flags
& NDR_SCALARS
) {
4998 NDR_CHECK(ndr_pull_align(ndr
, 5));
4999 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->length
));
5000 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_data
));
5002 NDR_PULL_ALLOC(ndr
, r
->data
);
5006 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
5008 if (ndr_flags
& NDR_BUFFERS
) {
5010 _mem_save_data_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5011 NDR_PULL_SET_MEM_CTX(ndr
, r
->data
, 0);
5012 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->data
));
5013 NDR_PULL_ALLOC_N(ndr
, r
->data
, ndr_get_array_size(ndr
, &r
->data
));
5014 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->data
, ndr_get_array_size(ndr
, &r
->data
)));
5015 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_data_0
, 0);
5018 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->data
, r
->length
));
5021 return NDR_ERR_SUCCESS
;
5024 _PUBLIC_
void ndr_print_samr_ValidationBlob(struct ndr_print
*ndr
, const char *name
, const struct samr_ValidationBlob
*r
)
5026 ndr_print_struct(ndr
, name
, "samr_ValidationBlob");
5028 ndr_print_uint32(ndr
, "length", r
->length
);
5029 ndr_print_ptr(ndr
, "data", r
->data
);
5032 ndr_print_array_uint8(ndr
, "data", r
->data
, r
->length
);
5038 static enum ndr_err_code
ndr_push_samr_ValidatePasswordInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_ValidatePasswordInfo
*r
)
5040 uint32_t cntr_pwd_history_1
;
5041 if (ndr_flags
& NDR_SCALARS
) {
5042 NDR_CHECK(ndr_push_align(ndr
, 8));
5043 NDR_CHECK(ndr_push_samr_ValidateFieldsPresent(ndr
, NDR_SCALARS
, r
->fields_present
));
5044 NDR_CHECK(ndr_push_NTTIME_hyper(ndr
, NDR_SCALARS
, r
->last_password_change
));
5045 NDR_CHECK(ndr_push_NTTIME_hyper(ndr
, NDR_SCALARS
, r
->bad_password_time
));
5046 NDR_CHECK(ndr_push_NTTIME_hyper(ndr
, NDR_SCALARS
, r
->lockout_time
));
5047 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->bad_pwd_count
));
5048 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->pwd_history_len
));
5049 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->pwd_history
));
5050 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
5052 if (ndr_flags
& NDR_BUFFERS
) {
5053 if (r
->pwd_history
) {
5054 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->pwd_history_len
));
5055 for (cntr_pwd_history_1
= 0; cntr_pwd_history_1
< r
->pwd_history_len
; cntr_pwd_history_1
++) {
5056 NDR_CHECK(ndr_push_samr_ValidationBlob(ndr
, NDR_SCALARS
, &r
->pwd_history
[cntr_pwd_history_1
]));
5058 for (cntr_pwd_history_1
= 0; cntr_pwd_history_1
< r
->pwd_history_len
; cntr_pwd_history_1
++) {
5059 NDR_CHECK(ndr_push_samr_ValidationBlob(ndr
, NDR_BUFFERS
, &r
->pwd_history
[cntr_pwd_history_1
]));
5063 return NDR_ERR_SUCCESS
;
5066 static enum ndr_err_code
ndr_pull_samr_ValidatePasswordInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_ValidatePasswordInfo
*r
)
5068 uint32_t _ptr_pwd_history
;
5069 uint32_t cntr_pwd_history_1
;
5070 TALLOC_CTX
*_mem_save_pwd_history_0
;
5071 TALLOC_CTX
*_mem_save_pwd_history_1
;
5072 if (ndr_flags
& NDR_SCALARS
) {
5073 NDR_CHECK(ndr_pull_align(ndr
, 8));
5074 NDR_CHECK(ndr_pull_samr_ValidateFieldsPresent(ndr
, NDR_SCALARS
, &r
->fields_present
));
5075 NDR_CHECK(ndr_pull_NTTIME_hyper(ndr
, NDR_SCALARS
, &r
->last_password_change
));
5076 NDR_CHECK(ndr_pull_NTTIME_hyper(ndr
, NDR_SCALARS
, &r
->bad_password_time
));
5077 NDR_CHECK(ndr_pull_NTTIME_hyper(ndr
, NDR_SCALARS
, &r
->lockout_time
));
5078 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->bad_pwd_count
));
5079 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->pwd_history_len
));
5080 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_pwd_history
));
5081 if (_ptr_pwd_history
) {
5082 NDR_PULL_ALLOC(ndr
, r
->pwd_history
);
5084 r
->pwd_history
= NULL
;
5086 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
5088 if (ndr_flags
& NDR_BUFFERS
) {
5089 if (r
->pwd_history
) {
5090 _mem_save_pwd_history_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5091 NDR_PULL_SET_MEM_CTX(ndr
, r
->pwd_history
, 0);
5092 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->pwd_history
));
5093 NDR_PULL_ALLOC_N(ndr
, r
->pwd_history
, ndr_get_array_size(ndr
, &r
->pwd_history
));
5094 _mem_save_pwd_history_1
= NDR_PULL_GET_MEM_CTX(ndr
);
5095 NDR_PULL_SET_MEM_CTX(ndr
, r
->pwd_history
, 0);
5096 for (cntr_pwd_history_1
= 0; cntr_pwd_history_1
< r
->pwd_history_len
; cntr_pwd_history_1
++) {
5097 NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr
, NDR_SCALARS
, &r
->pwd_history
[cntr_pwd_history_1
]));
5099 for (cntr_pwd_history_1
= 0; cntr_pwd_history_1
< r
->pwd_history_len
; cntr_pwd_history_1
++) {
5100 NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr
, NDR_BUFFERS
, &r
->pwd_history
[cntr_pwd_history_1
]));
5102 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_pwd_history_1
, 0);
5103 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_pwd_history_0
, 0);
5105 if (r
->pwd_history
) {
5106 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->pwd_history
, r
->pwd_history_len
));
5109 return NDR_ERR_SUCCESS
;
5112 _PUBLIC_
void ndr_print_samr_ValidatePasswordInfo(struct ndr_print
*ndr
, const char *name
, const struct samr_ValidatePasswordInfo
*r
)
5114 uint32_t cntr_pwd_history_1
;
5115 ndr_print_struct(ndr
, name
, "samr_ValidatePasswordInfo");
5117 ndr_print_samr_ValidateFieldsPresent(ndr
, "fields_present", r
->fields_present
);
5118 ndr_print_NTTIME_hyper(ndr
, "last_password_change", r
->last_password_change
);
5119 ndr_print_NTTIME_hyper(ndr
, "bad_password_time", r
->bad_password_time
);
5120 ndr_print_NTTIME_hyper(ndr
, "lockout_time", r
->lockout_time
);
5121 ndr_print_uint32(ndr
, "bad_pwd_count", r
->bad_pwd_count
);
5122 ndr_print_uint32(ndr
, "pwd_history_len", r
->pwd_history_len
);
5123 ndr_print_ptr(ndr
, "pwd_history", r
->pwd_history
);
5125 if (r
->pwd_history
) {
5126 ndr
->print(ndr
, "%s: ARRAY(%d)", "pwd_history", (int)r
->pwd_history_len
);
5128 for (cntr_pwd_history_1
=0;cntr_pwd_history_1
<r
->pwd_history_len
;cntr_pwd_history_1
++) {
5130 if (asprintf(&idx_1
, "[%d]", cntr_pwd_history_1
) != -1) {
5131 ndr_print_samr_ValidationBlob(ndr
, "pwd_history", &r
->pwd_history
[cntr_pwd_history_1
]);
5141 static enum ndr_err_code
ndr_push_samr_ValidatePasswordRepCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_ValidatePasswordRepCtr
*r
)
5143 if (ndr_flags
& NDR_SCALARS
) {
5144 NDR_CHECK(ndr_push_align(ndr
, 8));
5145 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr
, NDR_SCALARS
, &r
->info
));
5146 NDR_CHECK(ndr_push_samr_ValidationStatus(ndr
, NDR_SCALARS
, r
->status
));
5147 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
5149 if (ndr_flags
& NDR_BUFFERS
) {
5150 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr
, NDR_BUFFERS
, &r
->info
));
5152 return NDR_ERR_SUCCESS
;
5155 static enum ndr_err_code
ndr_pull_samr_ValidatePasswordRepCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_ValidatePasswordRepCtr
*r
)
5157 if (ndr_flags
& NDR_SCALARS
) {
5158 NDR_CHECK(ndr_pull_align(ndr
, 8));
5159 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr
, NDR_SCALARS
, &r
->info
));
5160 NDR_CHECK(ndr_pull_samr_ValidationStatus(ndr
, NDR_SCALARS
, &r
->status
));
5161 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
5163 if (ndr_flags
& NDR_BUFFERS
) {
5164 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr
, NDR_BUFFERS
, &r
->info
));
5166 return NDR_ERR_SUCCESS
;
5169 _PUBLIC_
void ndr_print_samr_ValidatePasswordRepCtr(struct ndr_print
*ndr
, const char *name
, const struct samr_ValidatePasswordRepCtr
*r
)
5171 ndr_print_struct(ndr
, name
, "samr_ValidatePasswordRepCtr");
5173 ndr_print_samr_ValidatePasswordInfo(ndr
, "info", &r
->info
);
5174 ndr_print_samr_ValidationStatus(ndr
, "status", r
->status
);
5178 static enum ndr_err_code
ndr_push_samr_ValidatePasswordRep(struct ndr_push
*ndr
, int ndr_flags
, const union samr_ValidatePasswordRep
*r
)
5180 if (ndr_flags
& NDR_SCALARS
) {
5181 int level
= ndr_push_get_switch_value(ndr
, r
);
5182 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, level
));
5183 NDR_CHECK(ndr_push_union_align(ndr
, 8));
5186 NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr
, NDR_SCALARS
, &r
->ctr1
));
5190 NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr
, NDR_SCALARS
, &r
->ctr2
));
5194 NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr
, NDR_SCALARS
, &r
->ctr3
));
5198 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5201 if (ndr_flags
& NDR_BUFFERS
) {
5202 int level
= ndr_push_get_switch_value(ndr
, r
);
5205 NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr
, NDR_BUFFERS
, &r
->ctr1
));
5209 NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr
, NDR_BUFFERS
, &r
->ctr2
));
5213 NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr
, NDR_BUFFERS
, &r
->ctr3
));
5217 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5220 return NDR_ERR_SUCCESS
;
5223 static enum ndr_err_code
ndr_pull_samr_ValidatePasswordRep(struct ndr_pull
*ndr
, int ndr_flags
, union samr_ValidatePasswordRep
*r
)
5227 level
= ndr_pull_get_switch_value(ndr
, r
);
5228 if (ndr_flags
& NDR_SCALARS
) {
5229 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &_level
));
5230 if (_level
!= level
) {
5231 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
5233 NDR_CHECK(ndr_pull_union_align(ndr
, 8));
5236 NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr
, NDR_SCALARS
, &r
->ctr1
));
5240 NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr
, NDR_SCALARS
, &r
->ctr2
));
5244 NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr
, NDR_SCALARS
, &r
->ctr3
));
5248 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5251 if (ndr_flags
& NDR_BUFFERS
) {
5254 NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr
, NDR_BUFFERS
, &r
->ctr1
));
5258 NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr
, NDR_BUFFERS
, &r
->ctr2
));
5262 NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr
, NDR_BUFFERS
, &r
->ctr3
));
5266 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5269 return NDR_ERR_SUCCESS
;
5272 _PUBLIC_
void ndr_print_samr_ValidatePasswordRep(struct ndr_print
*ndr
, const char *name
, const union samr_ValidatePasswordRep
*r
)
5275 level
= ndr_print_get_switch_value(ndr
, r
);
5276 ndr_print_union(ndr
, name
, level
, "samr_ValidatePasswordRep");
5279 ndr_print_samr_ValidatePasswordRepCtr(ndr
, "ctr1", &r
->ctr1
);
5283 ndr_print_samr_ValidatePasswordRepCtr(ndr
, "ctr2", &r
->ctr2
);
5287 ndr_print_samr_ValidatePasswordRepCtr(ndr
, "ctr3", &r
->ctr3
);
5291 ndr_print_bad_level(ndr
, name
, level
);
5295 static enum ndr_err_code
ndr_push_samr_ValidatePasswordReq3(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_ValidatePasswordReq3
*r
)
5297 if (ndr_flags
& NDR_SCALARS
) {
5298 NDR_CHECK(ndr_push_align(ndr
, 8));
5299 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr
, NDR_SCALARS
, &r
->info
));
5300 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->password
));
5301 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->account
));
5302 NDR_CHECK(ndr_push_samr_ValidationBlob(ndr
, NDR_SCALARS
, &r
->hash
));
5303 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->pwd_must_change_at_next_logon
));
5304 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->clear_lockout
));
5305 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
5307 if (ndr_flags
& NDR_BUFFERS
) {
5308 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr
, NDR_BUFFERS
, &r
->info
));
5309 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->password
));
5310 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->account
));
5311 NDR_CHECK(ndr_push_samr_ValidationBlob(ndr
, NDR_BUFFERS
, &r
->hash
));
5313 return NDR_ERR_SUCCESS
;
5316 static enum ndr_err_code
ndr_pull_samr_ValidatePasswordReq3(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_ValidatePasswordReq3
*r
)
5318 if (ndr_flags
& NDR_SCALARS
) {
5319 NDR_CHECK(ndr_pull_align(ndr
, 8));
5320 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr
, NDR_SCALARS
, &r
->info
));
5321 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->password
));
5322 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->account
));
5323 NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr
, NDR_SCALARS
, &r
->hash
));
5324 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->pwd_must_change_at_next_logon
));
5325 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->clear_lockout
));
5326 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
5328 if (ndr_flags
& NDR_BUFFERS
) {
5329 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr
, NDR_BUFFERS
, &r
->info
));
5330 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->password
));
5331 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->account
));
5332 NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr
, NDR_BUFFERS
, &r
->hash
));
5334 return NDR_ERR_SUCCESS
;
5337 _PUBLIC_
void ndr_print_samr_ValidatePasswordReq3(struct ndr_print
*ndr
, const char *name
, const struct samr_ValidatePasswordReq3
*r
)
5339 ndr_print_struct(ndr
, name
, "samr_ValidatePasswordReq3");
5341 ndr_print_samr_ValidatePasswordInfo(ndr
, "info", &r
->info
);
5342 ndr_print_lsa_StringLarge(ndr
, "password", &r
->password
);
5343 ndr_print_lsa_StringLarge(ndr
, "account", &r
->account
);
5344 ndr_print_samr_ValidationBlob(ndr
, "hash", &r
->hash
);
5345 ndr_print_uint8(ndr
, "pwd_must_change_at_next_logon", r
->pwd_must_change_at_next_logon
);
5346 ndr_print_uint8(ndr
, "clear_lockout", r
->clear_lockout
);
5350 static enum ndr_err_code
ndr_push_samr_ValidatePasswordReq2(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_ValidatePasswordReq2
*r
)
5352 if (ndr_flags
& NDR_SCALARS
) {
5353 NDR_CHECK(ndr_push_align(ndr
, 8));
5354 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr
, NDR_SCALARS
, &r
->info
));
5355 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->password
));
5356 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->account
));
5357 NDR_CHECK(ndr_push_samr_ValidationBlob(ndr
, NDR_SCALARS
, &r
->hash
));
5358 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->password_matched
));
5359 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
5361 if (ndr_flags
& NDR_BUFFERS
) {
5362 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr
, NDR_BUFFERS
, &r
->info
));
5363 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->password
));
5364 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->account
));
5365 NDR_CHECK(ndr_push_samr_ValidationBlob(ndr
, NDR_BUFFERS
, &r
->hash
));
5367 return NDR_ERR_SUCCESS
;
5370 static enum ndr_err_code
ndr_pull_samr_ValidatePasswordReq2(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_ValidatePasswordReq2
*r
)
5372 if (ndr_flags
& NDR_SCALARS
) {
5373 NDR_CHECK(ndr_pull_align(ndr
, 8));
5374 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr
, NDR_SCALARS
, &r
->info
));
5375 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->password
));
5376 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->account
));
5377 NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr
, NDR_SCALARS
, &r
->hash
));
5378 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->password_matched
));
5379 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
5381 if (ndr_flags
& NDR_BUFFERS
) {
5382 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr
, NDR_BUFFERS
, &r
->info
));
5383 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->password
));
5384 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->account
));
5385 NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr
, NDR_BUFFERS
, &r
->hash
));
5387 return NDR_ERR_SUCCESS
;
5390 _PUBLIC_
void ndr_print_samr_ValidatePasswordReq2(struct ndr_print
*ndr
, const char *name
, const struct samr_ValidatePasswordReq2
*r
)
5392 ndr_print_struct(ndr
, name
, "samr_ValidatePasswordReq2");
5394 ndr_print_samr_ValidatePasswordInfo(ndr
, "info", &r
->info
);
5395 ndr_print_lsa_StringLarge(ndr
, "password", &r
->password
);
5396 ndr_print_lsa_StringLarge(ndr
, "account", &r
->account
);
5397 ndr_print_samr_ValidationBlob(ndr
, "hash", &r
->hash
);
5398 ndr_print_uint8(ndr
, "password_matched", r
->password_matched
);
5402 static enum ndr_err_code
ndr_push_samr_ValidatePasswordReq1(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_ValidatePasswordReq1
*r
)
5404 if (ndr_flags
& NDR_SCALARS
) {
5405 NDR_CHECK(ndr_push_align(ndr
, 8));
5406 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr
, NDR_SCALARS
, &r
->info
));
5407 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->password_matched
));
5408 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
5410 if (ndr_flags
& NDR_BUFFERS
) {
5411 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr
, NDR_BUFFERS
, &r
->info
));
5413 return NDR_ERR_SUCCESS
;
5416 static enum ndr_err_code
ndr_pull_samr_ValidatePasswordReq1(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_ValidatePasswordReq1
*r
)
5418 if (ndr_flags
& NDR_SCALARS
) {
5419 NDR_CHECK(ndr_pull_align(ndr
, 8));
5420 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr
, NDR_SCALARS
, &r
->info
));
5421 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->password_matched
));
5422 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
5424 if (ndr_flags
& NDR_BUFFERS
) {
5425 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr
, NDR_BUFFERS
, &r
->info
));
5427 return NDR_ERR_SUCCESS
;
5430 _PUBLIC_
void ndr_print_samr_ValidatePasswordReq1(struct ndr_print
*ndr
, const char *name
, const struct samr_ValidatePasswordReq1
*r
)
5432 ndr_print_struct(ndr
, name
, "samr_ValidatePasswordReq1");
5434 ndr_print_samr_ValidatePasswordInfo(ndr
, "info", &r
->info
);
5435 ndr_print_uint8(ndr
, "password_matched", r
->password_matched
);
5439 static enum ndr_err_code
ndr_push_samr_ValidatePasswordReq(struct ndr_push
*ndr
, int ndr_flags
, const union samr_ValidatePasswordReq
*r
)
5441 if (ndr_flags
& NDR_SCALARS
) {
5442 int level
= ndr_push_get_switch_value(ndr
, r
);
5443 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, level
));
5444 NDR_CHECK(ndr_push_union_align(ndr
, 8));
5447 NDR_CHECK(ndr_push_samr_ValidatePasswordReq1(ndr
, NDR_SCALARS
, &r
->req1
));
5451 NDR_CHECK(ndr_push_samr_ValidatePasswordReq2(ndr
, NDR_SCALARS
, &r
->req2
));
5455 NDR_CHECK(ndr_push_samr_ValidatePasswordReq3(ndr
, NDR_SCALARS
, &r
->req3
));
5459 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5462 if (ndr_flags
& NDR_BUFFERS
) {
5463 int level
= ndr_push_get_switch_value(ndr
, r
);
5466 NDR_CHECK(ndr_push_samr_ValidatePasswordReq1(ndr
, NDR_BUFFERS
, &r
->req1
));
5470 NDR_CHECK(ndr_push_samr_ValidatePasswordReq2(ndr
, NDR_BUFFERS
, &r
->req2
));
5474 NDR_CHECK(ndr_push_samr_ValidatePasswordReq3(ndr
, NDR_BUFFERS
, &r
->req3
));
5478 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5481 return NDR_ERR_SUCCESS
;
5484 static enum ndr_err_code
ndr_pull_samr_ValidatePasswordReq(struct ndr_pull
*ndr
, int ndr_flags
, union samr_ValidatePasswordReq
*r
)
5488 level
= ndr_pull_get_switch_value(ndr
, r
);
5489 if (ndr_flags
& NDR_SCALARS
) {
5490 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &_level
));
5491 if (_level
!= level
) {
5492 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
5494 NDR_CHECK(ndr_pull_union_align(ndr
, 8));
5497 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq1(ndr
, NDR_SCALARS
, &r
->req1
));
5501 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq2(ndr
, NDR_SCALARS
, &r
->req2
));
5505 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq3(ndr
, NDR_SCALARS
, &r
->req3
));
5509 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5512 if (ndr_flags
& NDR_BUFFERS
) {
5515 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq1(ndr
, NDR_BUFFERS
, &r
->req1
));
5519 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq2(ndr
, NDR_BUFFERS
, &r
->req2
));
5523 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq3(ndr
, NDR_BUFFERS
, &r
->req3
));
5527 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5530 return NDR_ERR_SUCCESS
;
5533 _PUBLIC_
void ndr_print_samr_ValidatePasswordReq(struct ndr_print
*ndr
, const char *name
, const union samr_ValidatePasswordReq
*r
)
5536 level
= ndr_print_get_switch_value(ndr
, r
);
5537 ndr_print_union(ndr
, name
, level
, "samr_ValidatePasswordReq");
5540 ndr_print_samr_ValidatePasswordReq1(ndr
, "req1", &r
->req1
);
5544 ndr_print_samr_ValidatePasswordReq2(ndr
, "req2", &r
->req2
);
5548 ndr_print_samr_ValidatePasswordReq3(ndr
, "req3", &r
->req3
);
5552 ndr_print_bad_level(ndr
, name
, level
);
5556 static enum ndr_err_code
ndr_push_samr_Connect(struct ndr_push
*ndr
, int flags
, const struct samr_Connect
*r
)
5558 if (flags
& NDR_IN
) {
5559 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.system_name
));
5560 if (r
->in
.system_name
) {
5561 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, *r
->in
.system_name
));
5563 NDR_CHECK(ndr_push_samr_ConnectAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
5565 if (flags
& NDR_OUT
) {
5566 if (r
->out
.connect_handle
== NULL
) {
5567 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5569 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.connect_handle
));
5570 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
5572 return NDR_ERR_SUCCESS
;
5575 static enum ndr_err_code
ndr_pull_samr_Connect(struct ndr_pull
*ndr
, int flags
, struct samr_Connect
*r
)
5577 uint32_t _ptr_system_name
;
5578 TALLOC_CTX
*_mem_save_system_name_0
;
5579 TALLOC_CTX
*_mem_save_connect_handle_0
;
5580 if (flags
& NDR_IN
) {
5581 ZERO_STRUCT(r
->out
);
5583 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_system_name
));
5584 if (_ptr_system_name
) {
5585 NDR_PULL_ALLOC(ndr
, r
->in
.system_name
);
5587 r
->in
.system_name
= NULL
;
5589 if (r
->in
.system_name
) {
5590 _mem_save_system_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5591 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.system_name
, 0);
5592 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, r
->in
.system_name
));
5593 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_system_name_0
, 0);
5595 NDR_CHECK(ndr_pull_samr_ConnectAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
5596 NDR_PULL_ALLOC(ndr
, r
->out
.connect_handle
);
5597 ZERO_STRUCTP(r
->out
.connect_handle
);
5599 if (flags
& NDR_OUT
) {
5600 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5601 NDR_PULL_ALLOC(ndr
, r
->out
.connect_handle
);
5603 _mem_save_connect_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5604 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.connect_handle
, LIBNDR_FLAG_REF_ALLOC
);
5605 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.connect_handle
));
5606 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_connect_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5607 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
5609 return NDR_ERR_SUCCESS
;
5612 _PUBLIC_
void ndr_print_samr_Connect(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_Connect
*r
)
5614 ndr_print_struct(ndr
, name
, "samr_Connect");
5616 if (flags
& NDR_SET_VALUES
) {
5617 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
5619 if (flags
& NDR_IN
) {
5620 ndr_print_struct(ndr
, "in", "samr_Connect");
5622 ndr_print_ptr(ndr
, "system_name", r
->in
.system_name
);
5624 if (r
->in
.system_name
) {
5625 ndr_print_uint16(ndr
, "system_name", *r
->in
.system_name
);
5628 ndr_print_samr_ConnectAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
5631 if (flags
& NDR_OUT
) {
5632 ndr_print_struct(ndr
, "out", "samr_Connect");
5634 ndr_print_ptr(ndr
, "connect_handle", r
->out
.connect_handle
);
5636 ndr_print_policy_handle(ndr
, "connect_handle", r
->out
.connect_handle
);
5638 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
5644 _PUBLIC_
enum ndr_err_code
ndr_push_samr_Close(struct ndr_push
*ndr
, int flags
, const struct samr_Close
*r
)
5646 if (flags
& NDR_IN
) {
5647 if (r
->in
.handle
== NULL
) {
5648 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5650 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
5652 if (flags
& NDR_OUT
) {
5653 if (r
->out
.handle
== NULL
) {
5654 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5656 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.handle
));
5657 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
5659 return NDR_ERR_SUCCESS
;
5662 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_Close(struct ndr_pull
*ndr
, int flags
, struct samr_Close
*r
)
5664 TALLOC_CTX
*_mem_save_handle_0
;
5665 if (flags
& NDR_IN
) {
5666 ZERO_STRUCT(r
->out
);
5668 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5669 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
5671 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5672 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
5673 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
5674 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5675 NDR_PULL_ALLOC(ndr
, r
->out
.handle
);
5676 *r
->out
.handle
= *r
->in
.handle
;
5678 if (flags
& NDR_OUT
) {
5679 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5680 NDR_PULL_ALLOC(ndr
, r
->out
.handle
);
5682 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5683 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.handle
, LIBNDR_FLAG_REF_ALLOC
);
5684 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.handle
));
5685 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5686 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
5688 return NDR_ERR_SUCCESS
;
5691 _PUBLIC_
void ndr_print_samr_Close(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_Close
*r
)
5693 ndr_print_struct(ndr
, name
, "samr_Close");
5695 if (flags
& NDR_SET_VALUES
) {
5696 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
5698 if (flags
& NDR_IN
) {
5699 ndr_print_struct(ndr
, "in", "samr_Close");
5701 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
5703 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
5707 if (flags
& NDR_OUT
) {
5708 ndr_print_struct(ndr
, "out", "samr_Close");
5710 ndr_print_ptr(ndr
, "handle", r
->out
.handle
);
5712 ndr_print_policy_handle(ndr
, "handle", r
->out
.handle
);
5714 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
5720 static enum ndr_err_code
ndr_push_samr_SetSecurity(struct ndr_push
*ndr
, int flags
, const struct samr_SetSecurity
*r
)
5722 if (flags
& NDR_IN
) {
5723 if (r
->in
.handle
== NULL
) {
5724 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5726 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
5727 NDR_CHECK(ndr_push_security_secinfo(ndr
, NDR_SCALARS
, r
->in
.sec_info
));
5728 if (r
->in
.sdbuf
== NULL
) {
5729 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5731 NDR_CHECK(ndr_push_sec_desc_buf(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sdbuf
));
5733 if (flags
& NDR_OUT
) {
5734 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
5736 return NDR_ERR_SUCCESS
;
5739 static enum ndr_err_code
ndr_pull_samr_SetSecurity(struct ndr_pull
*ndr
, int flags
, struct samr_SetSecurity
*r
)
5741 TALLOC_CTX
*_mem_save_handle_0
;
5742 TALLOC_CTX
*_mem_save_sdbuf_0
;
5743 if (flags
& NDR_IN
) {
5744 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5745 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
5747 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5748 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
5749 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
5750 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5751 NDR_CHECK(ndr_pull_security_secinfo(ndr
, NDR_SCALARS
, &r
->in
.sec_info
));
5752 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5753 NDR_PULL_ALLOC(ndr
, r
->in
.sdbuf
);
5755 _mem_save_sdbuf_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5756 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sdbuf
, LIBNDR_FLAG_REF_ALLOC
);
5757 NDR_CHECK(ndr_pull_sec_desc_buf(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sdbuf
));
5758 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sdbuf_0
, LIBNDR_FLAG_REF_ALLOC
);
5760 if (flags
& NDR_OUT
) {
5761 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
5763 return NDR_ERR_SUCCESS
;
5766 _PUBLIC_
void ndr_print_samr_SetSecurity(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_SetSecurity
*r
)
5768 ndr_print_struct(ndr
, name
, "samr_SetSecurity");
5770 if (flags
& NDR_SET_VALUES
) {
5771 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
5773 if (flags
& NDR_IN
) {
5774 ndr_print_struct(ndr
, "in", "samr_SetSecurity");
5776 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
5778 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
5780 ndr_print_security_secinfo(ndr
, "sec_info", r
->in
.sec_info
);
5781 ndr_print_ptr(ndr
, "sdbuf", r
->in
.sdbuf
);
5783 ndr_print_sec_desc_buf(ndr
, "sdbuf", r
->in
.sdbuf
);
5787 if (flags
& NDR_OUT
) {
5788 ndr_print_struct(ndr
, "out", "samr_SetSecurity");
5790 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
5796 static enum ndr_err_code
ndr_push_samr_QuerySecurity(struct ndr_push
*ndr
, int flags
, const struct samr_QuerySecurity
*r
)
5798 if (flags
& NDR_IN
) {
5799 if (r
->in
.handle
== NULL
) {
5800 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5802 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
5803 NDR_CHECK(ndr_push_security_secinfo(ndr
, NDR_SCALARS
, r
->in
.sec_info
));
5805 if (flags
& NDR_OUT
) {
5806 if (r
->out
.sdbuf
== NULL
) {
5807 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5809 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.sdbuf
));
5810 if (*r
->out
.sdbuf
) {
5811 NDR_CHECK(ndr_push_sec_desc_buf(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sdbuf
));
5813 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
5815 return NDR_ERR_SUCCESS
;
5818 static enum ndr_err_code
ndr_pull_samr_QuerySecurity(struct ndr_pull
*ndr
, int flags
, struct samr_QuerySecurity
*r
)
5820 uint32_t _ptr_sdbuf
;
5821 TALLOC_CTX
*_mem_save_handle_0
;
5822 TALLOC_CTX
*_mem_save_sdbuf_0
;
5823 TALLOC_CTX
*_mem_save_sdbuf_1
;
5824 if (flags
& NDR_IN
) {
5825 ZERO_STRUCT(r
->out
);
5827 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5828 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
5830 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5831 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
5832 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
5833 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5834 NDR_CHECK(ndr_pull_security_secinfo(ndr
, NDR_SCALARS
, &r
->in
.sec_info
));
5835 NDR_PULL_ALLOC(ndr
, r
->out
.sdbuf
);
5836 ZERO_STRUCTP(r
->out
.sdbuf
);
5838 if (flags
& NDR_OUT
) {
5839 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5840 NDR_PULL_ALLOC(ndr
, r
->out
.sdbuf
);
5842 _mem_save_sdbuf_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5843 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sdbuf
, LIBNDR_FLAG_REF_ALLOC
);
5844 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sdbuf
));
5846 NDR_PULL_ALLOC(ndr
, *r
->out
.sdbuf
);
5848 *r
->out
.sdbuf
= NULL
;
5850 if (*r
->out
.sdbuf
) {
5851 _mem_save_sdbuf_1
= NDR_PULL_GET_MEM_CTX(ndr
);
5852 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.sdbuf
, 0);
5853 NDR_CHECK(ndr_pull_sec_desc_buf(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sdbuf
));
5854 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sdbuf_1
, 0);
5856 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sdbuf_0
, LIBNDR_FLAG_REF_ALLOC
);
5857 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
5859 return NDR_ERR_SUCCESS
;
5862 _PUBLIC_
void ndr_print_samr_QuerySecurity(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_QuerySecurity
*r
)
5864 ndr_print_struct(ndr
, name
, "samr_QuerySecurity");
5866 if (flags
& NDR_SET_VALUES
) {
5867 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
5869 if (flags
& NDR_IN
) {
5870 ndr_print_struct(ndr
, "in", "samr_QuerySecurity");
5872 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
5874 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
5876 ndr_print_security_secinfo(ndr
, "sec_info", r
->in
.sec_info
);
5879 if (flags
& NDR_OUT
) {
5880 ndr_print_struct(ndr
, "out", "samr_QuerySecurity");
5882 ndr_print_ptr(ndr
, "sdbuf", r
->out
.sdbuf
);
5884 ndr_print_ptr(ndr
, "sdbuf", *r
->out
.sdbuf
);
5886 if (*r
->out
.sdbuf
) {
5887 ndr_print_sec_desc_buf(ndr
, "sdbuf", *r
->out
.sdbuf
);
5891 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
5897 static enum ndr_err_code
ndr_push_samr_Shutdown(struct ndr_push
*ndr
, int flags
, const struct samr_Shutdown
*r
)
5899 if (flags
& NDR_IN
) {
5900 if (r
->in
.connect_handle
== NULL
) {
5901 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5903 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.connect_handle
));
5905 if (flags
& NDR_OUT
) {
5906 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
5908 return NDR_ERR_SUCCESS
;
5911 static enum ndr_err_code
ndr_pull_samr_Shutdown(struct ndr_pull
*ndr
, int flags
, struct samr_Shutdown
*r
)
5913 TALLOC_CTX
*_mem_save_connect_handle_0
;
5914 if (flags
& NDR_IN
) {
5915 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5916 NDR_PULL_ALLOC(ndr
, r
->in
.connect_handle
);
5918 _mem_save_connect_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5919 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.connect_handle
, LIBNDR_FLAG_REF_ALLOC
);
5920 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.connect_handle
));
5921 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_connect_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5923 if (flags
& NDR_OUT
) {
5924 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
5926 return NDR_ERR_SUCCESS
;
5929 _PUBLIC_
void ndr_print_samr_Shutdown(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_Shutdown
*r
)
5931 ndr_print_struct(ndr
, name
, "samr_Shutdown");
5933 if (flags
& NDR_SET_VALUES
) {
5934 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
5936 if (flags
& NDR_IN
) {
5937 ndr_print_struct(ndr
, "in", "samr_Shutdown");
5939 ndr_print_ptr(ndr
, "connect_handle", r
->in
.connect_handle
);
5941 ndr_print_policy_handle(ndr
, "connect_handle", r
->in
.connect_handle
);
5945 if (flags
& NDR_OUT
) {
5946 ndr_print_struct(ndr
, "out", "samr_Shutdown");
5948 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
5954 static enum ndr_err_code
ndr_push_samr_LookupDomain(struct ndr_push
*ndr
, int flags
, const struct samr_LookupDomain
*r
)
5956 if (flags
& NDR_IN
) {
5957 if (r
->in
.connect_handle
== NULL
) {
5958 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5960 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.connect_handle
));
5961 if (r
->in
.domain_name
== NULL
) {
5962 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5964 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.domain_name
));
5966 if (flags
& NDR_OUT
) {
5967 if (r
->out
.sid
== NULL
) {
5968 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5970 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.sid
));
5972 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sid
));
5974 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
5976 return NDR_ERR_SUCCESS
;
5979 static enum ndr_err_code
ndr_pull_samr_LookupDomain(struct ndr_pull
*ndr
, int flags
, struct samr_LookupDomain
*r
)
5982 TALLOC_CTX
*_mem_save_connect_handle_0
;
5983 TALLOC_CTX
*_mem_save_domain_name_0
;
5984 TALLOC_CTX
*_mem_save_sid_0
;
5985 TALLOC_CTX
*_mem_save_sid_1
;
5986 if (flags
& NDR_IN
) {
5987 ZERO_STRUCT(r
->out
);
5989 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5990 NDR_PULL_ALLOC(ndr
, r
->in
.connect_handle
);
5992 _mem_save_connect_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5993 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.connect_handle
, LIBNDR_FLAG_REF_ALLOC
);
5994 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.connect_handle
));
5995 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_connect_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5996 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5997 NDR_PULL_ALLOC(ndr
, r
->in
.domain_name
);
5999 _mem_save_domain_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6000 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_name
, LIBNDR_FLAG_REF_ALLOC
);
6001 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.domain_name
));
6002 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_name_0
, LIBNDR_FLAG_REF_ALLOC
);
6003 NDR_PULL_ALLOC(ndr
, r
->out
.sid
);
6004 ZERO_STRUCTP(r
->out
.sid
);
6006 if (flags
& NDR_OUT
) {
6007 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6008 NDR_PULL_ALLOC(ndr
, r
->out
.sid
);
6010 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6011 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sid
, LIBNDR_FLAG_REF_ALLOC
);
6012 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sid
));
6014 NDR_PULL_ALLOC(ndr
, *r
->out
.sid
);
6019 _mem_save_sid_1
= NDR_PULL_GET_MEM_CTX(ndr
);
6020 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.sid
, 0);
6021 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sid
));
6022 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_1
, 0);
6024 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, LIBNDR_FLAG_REF_ALLOC
);
6025 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6027 return NDR_ERR_SUCCESS
;
6030 _PUBLIC_
void ndr_print_samr_LookupDomain(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_LookupDomain
*r
)
6032 ndr_print_struct(ndr
, name
, "samr_LookupDomain");
6034 if (flags
& NDR_SET_VALUES
) {
6035 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6037 if (flags
& NDR_IN
) {
6038 ndr_print_struct(ndr
, "in", "samr_LookupDomain");
6040 ndr_print_ptr(ndr
, "connect_handle", r
->in
.connect_handle
);
6042 ndr_print_policy_handle(ndr
, "connect_handle", r
->in
.connect_handle
);
6044 ndr_print_ptr(ndr
, "domain_name", r
->in
.domain_name
);
6046 ndr_print_lsa_String(ndr
, "domain_name", r
->in
.domain_name
);
6050 if (flags
& NDR_OUT
) {
6051 ndr_print_struct(ndr
, "out", "samr_LookupDomain");
6053 ndr_print_ptr(ndr
, "sid", r
->out
.sid
);
6055 ndr_print_ptr(ndr
, "sid", *r
->out
.sid
);
6058 ndr_print_dom_sid2(ndr
, "sid", *r
->out
.sid
);
6062 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6068 static enum ndr_err_code
ndr_push_samr_EnumDomains(struct ndr_push
*ndr
, int flags
, const struct samr_EnumDomains
*r
)
6070 if (flags
& NDR_IN
) {
6071 if (r
->in
.connect_handle
== NULL
) {
6072 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6074 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.connect_handle
));
6075 if (r
->in
.resume_handle
== NULL
) {
6076 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6078 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->in
.resume_handle
));
6079 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.buf_size
));
6081 if (flags
& NDR_OUT
) {
6082 if (r
->out
.resume_handle
== NULL
) {
6083 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6085 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.resume_handle
));
6086 if (r
->out
.sam
== NULL
) {
6087 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6089 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.sam
));
6091 NDR_CHECK(ndr_push_samr_SamArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sam
));
6093 if (r
->out
.num_entries
== NULL
) {
6094 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6096 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.num_entries
));
6097 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6099 return NDR_ERR_SUCCESS
;
6102 static enum ndr_err_code
ndr_pull_samr_EnumDomains(struct ndr_pull
*ndr
, int flags
, struct samr_EnumDomains
*r
)
6105 TALLOC_CTX
*_mem_save_connect_handle_0
;
6106 TALLOC_CTX
*_mem_save_resume_handle_0
;
6107 TALLOC_CTX
*_mem_save_sam_0
;
6108 TALLOC_CTX
*_mem_save_sam_1
;
6109 TALLOC_CTX
*_mem_save_num_entries_0
;
6110 if (flags
& NDR_IN
) {
6111 ZERO_STRUCT(r
->out
);
6113 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6114 NDR_PULL_ALLOC(ndr
, r
->in
.connect_handle
);
6116 _mem_save_connect_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6117 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.connect_handle
, LIBNDR_FLAG_REF_ALLOC
);
6118 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.connect_handle
));
6119 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_connect_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6120 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6121 NDR_PULL_ALLOC(ndr
, r
->in
.resume_handle
);
6123 _mem_save_resume_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6124 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.resume_handle
, LIBNDR_FLAG_REF_ALLOC
);
6125 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->in
.resume_handle
));
6126 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_resume_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6127 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.buf_size
));
6128 NDR_PULL_ALLOC(ndr
, r
->out
.resume_handle
);
6129 *r
->out
.resume_handle
= *r
->in
.resume_handle
;
6130 NDR_PULL_ALLOC(ndr
, r
->out
.sam
);
6131 ZERO_STRUCTP(r
->out
.sam
);
6132 NDR_PULL_ALLOC(ndr
, r
->out
.num_entries
);
6133 ZERO_STRUCTP(r
->out
.num_entries
);
6135 if (flags
& NDR_OUT
) {
6136 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6137 NDR_PULL_ALLOC(ndr
, r
->out
.resume_handle
);
6139 _mem_save_resume_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6140 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.resume_handle
, LIBNDR_FLAG_REF_ALLOC
);
6141 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.resume_handle
));
6142 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_resume_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6143 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6144 NDR_PULL_ALLOC(ndr
, r
->out
.sam
);
6146 _mem_save_sam_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6147 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sam
, LIBNDR_FLAG_REF_ALLOC
);
6148 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sam
));
6150 NDR_PULL_ALLOC(ndr
, *r
->out
.sam
);
6155 _mem_save_sam_1
= NDR_PULL_GET_MEM_CTX(ndr
);
6156 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.sam
, 0);
6157 NDR_CHECK(ndr_pull_samr_SamArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sam
));
6158 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sam_1
, 0);
6160 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sam_0
, LIBNDR_FLAG_REF_ALLOC
);
6161 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6162 NDR_PULL_ALLOC(ndr
, r
->out
.num_entries
);
6164 _mem_save_num_entries_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6165 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.num_entries
, LIBNDR_FLAG_REF_ALLOC
);
6166 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.num_entries
));
6167 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_num_entries_0
, LIBNDR_FLAG_REF_ALLOC
);
6168 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6170 return NDR_ERR_SUCCESS
;
6173 _PUBLIC_
void ndr_print_samr_EnumDomains(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_EnumDomains
*r
)
6175 ndr_print_struct(ndr
, name
, "samr_EnumDomains");
6177 if (flags
& NDR_SET_VALUES
) {
6178 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6180 if (flags
& NDR_IN
) {
6181 ndr_print_struct(ndr
, "in", "samr_EnumDomains");
6183 ndr_print_ptr(ndr
, "connect_handle", r
->in
.connect_handle
);
6185 ndr_print_policy_handle(ndr
, "connect_handle", r
->in
.connect_handle
);
6187 ndr_print_ptr(ndr
, "resume_handle", r
->in
.resume_handle
);
6189 ndr_print_uint32(ndr
, "resume_handle", *r
->in
.resume_handle
);
6191 ndr_print_uint32(ndr
, "buf_size", r
->in
.buf_size
);
6194 if (flags
& NDR_OUT
) {
6195 ndr_print_struct(ndr
, "out", "samr_EnumDomains");
6197 ndr_print_ptr(ndr
, "resume_handle", r
->out
.resume_handle
);
6199 ndr_print_uint32(ndr
, "resume_handle", *r
->out
.resume_handle
);
6201 ndr_print_ptr(ndr
, "sam", r
->out
.sam
);
6203 ndr_print_ptr(ndr
, "sam", *r
->out
.sam
);
6206 ndr_print_samr_SamArray(ndr
, "sam", *r
->out
.sam
);
6210 ndr_print_ptr(ndr
, "num_entries", r
->out
.num_entries
);
6212 ndr_print_uint32(ndr
, "num_entries", *r
->out
.num_entries
);
6214 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6220 _PUBLIC_
enum ndr_err_code
ndr_push_samr_OpenDomain(struct ndr_push
*ndr
, int flags
, const struct samr_OpenDomain
*r
)
6222 if (flags
& NDR_IN
) {
6223 if (r
->in
.connect_handle
== NULL
) {
6224 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6226 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.connect_handle
));
6227 NDR_CHECK(ndr_push_samr_DomainAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
6228 if (r
->in
.sid
== NULL
) {
6229 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6231 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
6233 if (flags
& NDR_OUT
) {
6234 if (r
->out
.domain_handle
== NULL
) {
6235 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6237 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.domain_handle
));
6238 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6240 return NDR_ERR_SUCCESS
;
6243 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_OpenDomain(struct ndr_pull
*ndr
, int flags
, struct samr_OpenDomain
*r
)
6245 TALLOC_CTX
*_mem_save_connect_handle_0
;
6246 TALLOC_CTX
*_mem_save_sid_0
;
6247 TALLOC_CTX
*_mem_save_domain_handle_0
;
6248 if (flags
& NDR_IN
) {
6249 ZERO_STRUCT(r
->out
);
6251 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6252 NDR_PULL_ALLOC(ndr
, r
->in
.connect_handle
);
6254 _mem_save_connect_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6255 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.connect_handle
, LIBNDR_FLAG_REF_ALLOC
);
6256 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.connect_handle
));
6257 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_connect_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6258 NDR_CHECK(ndr_pull_samr_DomainAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
6259 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6260 NDR_PULL_ALLOC(ndr
, r
->in
.sid
);
6262 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6263 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sid
, LIBNDR_FLAG_REF_ALLOC
);
6264 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
6265 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, LIBNDR_FLAG_REF_ALLOC
);
6266 NDR_PULL_ALLOC(ndr
, r
->out
.domain_handle
);
6267 ZERO_STRUCTP(r
->out
.domain_handle
);
6269 if (flags
& NDR_OUT
) {
6270 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6271 NDR_PULL_ALLOC(ndr
, r
->out
.domain_handle
);
6273 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6274 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
6275 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.domain_handle
));
6276 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6277 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6279 return NDR_ERR_SUCCESS
;
6282 _PUBLIC_
void ndr_print_samr_OpenDomain(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_OpenDomain
*r
)
6284 ndr_print_struct(ndr
, name
, "samr_OpenDomain");
6286 if (flags
& NDR_SET_VALUES
) {
6287 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6289 if (flags
& NDR_IN
) {
6290 ndr_print_struct(ndr
, "in", "samr_OpenDomain");
6292 ndr_print_ptr(ndr
, "connect_handle", r
->in
.connect_handle
);
6294 ndr_print_policy_handle(ndr
, "connect_handle", r
->in
.connect_handle
);
6296 ndr_print_samr_DomainAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
6297 ndr_print_ptr(ndr
, "sid", r
->in
.sid
);
6299 ndr_print_dom_sid2(ndr
, "sid", r
->in
.sid
);
6303 if (flags
& NDR_OUT
) {
6304 ndr_print_struct(ndr
, "out", "samr_OpenDomain");
6306 ndr_print_ptr(ndr
, "domain_handle", r
->out
.domain_handle
);
6308 ndr_print_policy_handle(ndr
, "domain_handle", r
->out
.domain_handle
);
6310 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6316 static enum ndr_err_code
ndr_push_samr_QueryDomainInfo(struct ndr_push
*ndr
, int flags
, const struct samr_QueryDomainInfo
*r
)
6318 if (flags
& NDR_IN
) {
6319 if (r
->in
.domain_handle
== NULL
) {
6320 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6322 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6323 NDR_CHECK(ndr_push_samr_DomainInfoClass(ndr
, NDR_SCALARS
, r
->in
.level
));
6325 if (flags
& NDR_OUT
) {
6326 if (r
->out
.info
== NULL
) {
6327 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6329 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.info
));
6331 NDR_CHECK(ndr_push_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
6332 NDR_CHECK(ndr_push_samr_DomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
6334 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6336 return NDR_ERR_SUCCESS
;
6339 static enum ndr_err_code
ndr_pull_samr_QueryDomainInfo(struct ndr_pull
*ndr
, int flags
, struct samr_QueryDomainInfo
*r
)
6342 TALLOC_CTX
*_mem_save_domain_handle_0
;
6343 TALLOC_CTX
*_mem_save_info_0
;
6344 TALLOC_CTX
*_mem_save_info_1
;
6345 if (flags
& NDR_IN
) {
6346 ZERO_STRUCT(r
->out
);
6348 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6349 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
6351 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6352 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
6353 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6354 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6355 NDR_CHECK(ndr_pull_samr_DomainInfoClass(ndr
, NDR_SCALARS
, &r
->in
.level
));
6356 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
6357 ZERO_STRUCTP(r
->out
.info
);
6359 if (flags
& NDR_OUT
) {
6360 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6361 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
6363 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6364 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
6365 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
6367 NDR_PULL_ALLOC(ndr
, *r
->out
.info
);
6369 *r
->out
.info
= NULL
;
6372 _mem_save_info_1
= NDR_PULL_GET_MEM_CTX(ndr
);
6373 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.info
, 0);
6374 NDR_CHECK(ndr_pull_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
6375 NDR_CHECK(ndr_pull_samr_DomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
6376 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_1
, 0);
6378 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
6379 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6381 return NDR_ERR_SUCCESS
;
6384 _PUBLIC_
void ndr_print_samr_QueryDomainInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_QueryDomainInfo
*r
)
6386 ndr_print_struct(ndr
, name
, "samr_QueryDomainInfo");
6388 if (flags
& NDR_SET_VALUES
) {
6389 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6391 if (flags
& NDR_IN
) {
6392 ndr_print_struct(ndr
, "in", "samr_QueryDomainInfo");
6394 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
6396 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
6398 ndr_print_samr_DomainInfoClass(ndr
, "level", r
->in
.level
);
6401 if (flags
& NDR_OUT
) {
6402 ndr_print_struct(ndr
, "out", "samr_QueryDomainInfo");
6404 ndr_print_ptr(ndr
, "info", r
->out
.info
);
6406 ndr_print_ptr(ndr
, "info", *r
->out
.info
);
6409 ndr_print_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
);
6410 ndr_print_samr_DomainInfo(ndr
, "info", *r
->out
.info
);
6414 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6420 static enum ndr_err_code
ndr_push_samr_SetDomainInfo(struct ndr_push
*ndr
, int flags
, const struct samr_SetDomainInfo
*r
)
6422 if (flags
& NDR_IN
) {
6423 if (r
->in
.domain_handle
== NULL
) {
6424 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6426 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6427 NDR_CHECK(ndr_push_samr_DomainInfoClass(ndr
, NDR_SCALARS
, r
->in
.level
));
6428 if (r
->in
.info
== NULL
) {
6429 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6431 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
6432 NDR_CHECK(ndr_push_samr_DomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
6434 if (flags
& NDR_OUT
) {
6435 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6437 return NDR_ERR_SUCCESS
;
6440 static enum ndr_err_code
ndr_pull_samr_SetDomainInfo(struct ndr_pull
*ndr
, int flags
, struct samr_SetDomainInfo
*r
)
6442 TALLOC_CTX
*_mem_save_domain_handle_0
;
6443 TALLOC_CTX
*_mem_save_info_0
;
6444 if (flags
& NDR_IN
) {
6445 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6446 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
6448 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6449 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
6450 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6451 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6452 NDR_CHECK(ndr_pull_samr_DomainInfoClass(ndr
, NDR_SCALARS
, &r
->in
.level
));
6453 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6454 NDR_PULL_ALLOC(ndr
, r
->in
.info
);
6456 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6457 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.info
, LIBNDR_FLAG_REF_ALLOC
);
6458 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
6459 NDR_CHECK(ndr_pull_samr_DomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
6460 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
6462 if (flags
& NDR_OUT
) {
6463 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6465 return NDR_ERR_SUCCESS
;
6468 _PUBLIC_
void ndr_print_samr_SetDomainInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_SetDomainInfo
*r
)
6470 ndr_print_struct(ndr
, name
, "samr_SetDomainInfo");
6472 if (flags
& NDR_SET_VALUES
) {
6473 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6475 if (flags
& NDR_IN
) {
6476 ndr_print_struct(ndr
, "in", "samr_SetDomainInfo");
6478 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
6480 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
6482 ndr_print_samr_DomainInfoClass(ndr
, "level", r
->in
.level
);
6483 ndr_print_ptr(ndr
, "info", r
->in
.info
);
6485 ndr_print_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
);
6486 ndr_print_samr_DomainInfo(ndr
, "info", r
->in
.info
);
6490 if (flags
& NDR_OUT
) {
6491 ndr_print_struct(ndr
, "out", "samr_SetDomainInfo");
6493 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6499 static enum ndr_err_code
ndr_push_samr_CreateDomainGroup(struct ndr_push
*ndr
, int flags
, const struct samr_CreateDomainGroup
*r
)
6501 if (flags
& NDR_IN
) {
6502 if (r
->in
.domain_handle
== NULL
) {
6503 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6505 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6506 if (r
->in
.name
== NULL
) {
6507 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6509 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.name
));
6510 NDR_CHECK(ndr_push_samr_GroupAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
6512 if (flags
& NDR_OUT
) {
6513 if (r
->out
.group_handle
== NULL
) {
6514 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6516 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.group_handle
));
6517 if (r
->out
.rid
== NULL
) {
6518 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6520 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.rid
));
6521 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6523 return NDR_ERR_SUCCESS
;
6526 static enum ndr_err_code
ndr_pull_samr_CreateDomainGroup(struct ndr_pull
*ndr
, int flags
, struct samr_CreateDomainGroup
*r
)
6528 TALLOC_CTX
*_mem_save_domain_handle_0
;
6529 TALLOC_CTX
*_mem_save_name_0
;
6530 TALLOC_CTX
*_mem_save_group_handle_0
;
6531 TALLOC_CTX
*_mem_save_rid_0
;
6532 if (flags
& NDR_IN
) {
6533 ZERO_STRUCT(r
->out
);
6535 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6536 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
6538 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6539 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
6540 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6541 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6542 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6543 NDR_PULL_ALLOC(ndr
, r
->in
.name
);
6545 _mem_save_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6546 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.name
, LIBNDR_FLAG_REF_ALLOC
);
6547 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.name
));
6548 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_name_0
, LIBNDR_FLAG_REF_ALLOC
);
6549 NDR_CHECK(ndr_pull_samr_GroupAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
6550 NDR_PULL_ALLOC(ndr
, r
->out
.group_handle
);
6551 ZERO_STRUCTP(r
->out
.group_handle
);
6552 NDR_PULL_ALLOC(ndr
, r
->out
.rid
);
6553 ZERO_STRUCTP(r
->out
.rid
);
6555 if (flags
& NDR_OUT
) {
6556 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6557 NDR_PULL_ALLOC(ndr
, r
->out
.group_handle
);
6559 _mem_save_group_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6560 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.group_handle
, LIBNDR_FLAG_REF_ALLOC
);
6561 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.group_handle
));
6562 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_group_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6563 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6564 NDR_PULL_ALLOC(ndr
, r
->out
.rid
);
6566 _mem_save_rid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6567 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.rid
, LIBNDR_FLAG_REF_ALLOC
);
6568 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.rid
));
6569 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rid_0
, LIBNDR_FLAG_REF_ALLOC
);
6570 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6572 return NDR_ERR_SUCCESS
;
6575 _PUBLIC_
void ndr_print_samr_CreateDomainGroup(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_CreateDomainGroup
*r
)
6577 ndr_print_struct(ndr
, name
, "samr_CreateDomainGroup");
6579 if (flags
& NDR_SET_VALUES
) {
6580 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6582 if (flags
& NDR_IN
) {
6583 ndr_print_struct(ndr
, "in", "samr_CreateDomainGroup");
6585 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
6587 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
6589 ndr_print_ptr(ndr
, "name", r
->in
.name
);
6591 ndr_print_lsa_String(ndr
, "name", r
->in
.name
);
6593 ndr_print_samr_GroupAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
6596 if (flags
& NDR_OUT
) {
6597 ndr_print_struct(ndr
, "out", "samr_CreateDomainGroup");
6599 ndr_print_ptr(ndr
, "group_handle", r
->out
.group_handle
);
6601 ndr_print_policy_handle(ndr
, "group_handle", r
->out
.group_handle
);
6603 ndr_print_ptr(ndr
, "rid", r
->out
.rid
);
6605 ndr_print_uint32(ndr
, "rid", *r
->out
.rid
);
6607 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6613 static enum ndr_err_code
ndr_push_samr_EnumDomainGroups(struct ndr_push
*ndr
, int flags
, const struct samr_EnumDomainGroups
*r
)
6615 if (flags
& NDR_IN
) {
6616 if (r
->in
.domain_handle
== NULL
) {
6617 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6619 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6620 if (r
->in
.resume_handle
== NULL
) {
6621 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6623 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->in
.resume_handle
));
6624 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.max_size
));
6626 if (flags
& NDR_OUT
) {
6627 if (r
->out
.resume_handle
== NULL
) {
6628 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6630 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.resume_handle
));
6631 if (r
->out
.sam
== NULL
) {
6632 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6634 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.sam
));
6636 NDR_CHECK(ndr_push_samr_SamArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sam
));
6638 if (r
->out
.num_entries
== NULL
) {
6639 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6641 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.num_entries
));
6642 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6644 return NDR_ERR_SUCCESS
;
6647 static enum ndr_err_code
ndr_pull_samr_EnumDomainGroups(struct ndr_pull
*ndr
, int flags
, struct samr_EnumDomainGroups
*r
)
6650 TALLOC_CTX
*_mem_save_domain_handle_0
;
6651 TALLOC_CTX
*_mem_save_resume_handle_0
;
6652 TALLOC_CTX
*_mem_save_sam_0
;
6653 TALLOC_CTX
*_mem_save_sam_1
;
6654 TALLOC_CTX
*_mem_save_num_entries_0
;
6655 if (flags
& NDR_IN
) {
6656 ZERO_STRUCT(r
->out
);
6658 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6659 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
6661 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6662 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
6663 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6664 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6665 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6666 NDR_PULL_ALLOC(ndr
, r
->in
.resume_handle
);
6668 _mem_save_resume_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6669 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.resume_handle
, LIBNDR_FLAG_REF_ALLOC
);
6670 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->in
.resume_handle
));
6671 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_resume_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6672 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.max_size
));
6673 NDR_PULL_ALLOC(ndr
, r
->out
.resume_handle
);
6674 *r
->out
.resume_handle
= *r
->in
.resume_handle
;
6675 NDR_PULL_ALLOC(ndr
, r
->out
.sam
);
6676 ZERO_STRUCTP(r
->out
.sam
);
6677 NDR_PULL_ALLOC(ndr
, r
->out
.num_entries
);
6678 ZERO_STRUCTP(r
->out
.num_entries
);
6680 if (flags
& NDR_OUT
) {
6681 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6682 NDR_PULL_ALLOC(ndr
, r
->out
.resume_handle
);
6684 _mem_save_resume_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6685 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.resume_handle
, LIBNDR_FLAG_REF_ALLOC
);
6686 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.resume_handle
));
6687 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_resume_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6688 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6689 NDR_PULL_ALLOC(ndr
, r
->out
.sam
);
6691 _mem_save_sam_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6692 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sam
, LIBNDR_FLAG_REF_ALLOC
);
6693 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sam
));
6695 NDR_PULL_ALLOC(ndr
, *r
->out
.sam
);
6700 _mem_save_sam_1
= NDR_PULL_GET_MEM_CTX(ndr
);
6701 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.sam
, 0);
6702 NDR_CHECK(ndr_pull_samr_SamArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sam
));
6703 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sam_1
, 0);
6705 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sam_0
, LIBNDR_FLAG_REF_ALLOC
);
6706 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6707 NDR_PULL_ALLOC(ndr
, r
->out
.num_entries
);
6709 _mem_save_num_entries_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6710 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.num_entries
, LIBNDR_FLAG_REF_ALLOC
);
6711 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.num_entries
));
6712 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_num_entries_0
, LIBNDR_FLAG_REF_ALLOC
);
6713 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6715 return NDR_ERR_SUCCESS
;
6718 _PUBLIC_
void ndr_print_samr_EnumDomainGroups(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_EnumDomainGroups
*r
)
6720 ndr_print_struct(ndr
, name
, "samr_EnumDomainGroups");
6722 if (flags
& NDR_SET_VALUES
) {
6723 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6725 if (flags
& NDR_IN
) {
6726 ndr_print_struct(ndr
, "in", "samr_EnumDomainGroups");
6728 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
6730 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
6732 ndr_print_ptr(ndr
, "resume_handle", r
->in
.resume_handle
);
6734 ndr_print_uint32(ndr
, "resume_handle", *r
->in
.resume_handle
);
6736 ndr_print_uint32(ndr
, "max_size", r
->in
.max_size
);
6739 if (flags
& NDR_OUT
) {
6740 ndr_print_struct(ndr
, "out", "samr_EnumDomainGroups");
6742 ndr_print_ptr(ndr
, "resume_handle", r
->out
.resume_handle
);
6744 ndr_print_uint32(ndr
, "resume_handle", *r
->out
.resume_handle
);
6746 ndr_print_ptr(ndr
, "sam", r
->out
.sam
);
6748 ndr_print_ptr(ndr
, "sam", *r
->out
.sam
);
6751 ndr_print_samr_SamArray(ndr
, "sam", *r
->out
.sam
);
6755 ndr_print_ptr(ndr
, "num_entries", r
->out
.num_entries
);
6757 ndr_print_uint32(ndr
, "num_entries", *r
->out
.num_entries
);
6759 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6765 static enum ndr_err_code
ndr_push_samr_CreateUser(struct ndr_push
*ndr
, int flags
, const struct samr_CreateUser
*r
)
6767 if (flags
& NDR_IN
) {
6768 if (r
->in
.domain_handle
== NULL
) {
6769 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6771 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6772 if (r
->in
.account_name
== NULL
) {
6773 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6775 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.account_name
));
6776 NDR_CHECK(ndr_push_samr_UserAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
6778 if (flags
& NDR_OUT
) {
6779 if (r
->out
.user_handle
== NULL
) {
6780 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6782 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.user_handle
));
6783 if (r
->out
.rid
== NULL
) {
6784 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6786 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.rid
));
6787 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6789 return NDR_ERR_SUCCESS
;
6792 static enum ndr_err_code
ndr_pull_samr_CreateUser(struct ndr_pull
*ndr
, int flags
, struct samr_CreateUser
*r
)
6794 TALLOC_CTX
*_mem_save_domain_handle_0
;
6795 TALLOC_CTX
*_mem_save_account_name_0
;
6796 TALLOC_CTX
*_mem_save_user_handle_0
;
6797 TALLOC_CTX
*_mem_save_rid_0
;
6798 if (flags
& NDR_IN
) {
6799 ZERO_STRUCT(r
->out
);
6801 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6802 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
6804 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6805 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
6806 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6807 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6808 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6809 NDR_PULL_ALLOC(ndr
, r
->in
.account_name
);
6811 _mem_save_account_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6812 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.account_name
, LIBNDR_FLAG_REF_ALLOC
);
6813 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.account_name
));
6814 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_account_name_0
, LIBNDR_FLAG_REF_ALLOC
);
6815 NDR_CHECK(ndr_pull_samr_UserAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
6816 NDR_PULL_ALLOC(ndr
, r
->out
.user_handle
);
6817 ZERO_STRUCTP(r
->out
.user_handle
);
6818 NDR_PULL_ALLOC(ndr
, r
->out
.rid
);
6819 ZERO_STRUCTP(r
->out
.rid
);
6821 if (flags
& NDR_OUT
) {
6822 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6823 NDR_PULL_ALLOC(ndr
, r
->out
.user_handle
);
6825 _mem_save_user_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6826 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.user_handle
, LIBNDR_FLAG_REF_ALLOC
);
6827 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.user_handle
));
6828 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_user_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6829 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6830 NDR_PULL_ALLOC(ndr
, r
->out
.rid
);
6832 _mem_save_rid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6833 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.rid
, LIBNDR_FLAG_REF_ALLOC
);
6834 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.rid
));
6835 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rid_0
, LIBNDR_FLAG_REF_ALLOC
);
6836 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6838 return NDR_ERR_SUCCESS
;
6841 _PUBLIC_
void ndr_print_samr_CreateUser(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_CreateUser
*r
)
6843 ndr_print_struct(ndr
, name
, "samr_CreateUser");
6845 if (flags
& NDR_SET_VALUES
) {
6846 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6848 if (flags
& NDR_IN
) {
6849 ndr_print_struct(ndr
, "in", "samr_CreateUser");
6851 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
6853 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
6855 ndr_print_ptr(ndr
, "account_name", r
->in
.account_name
);
6857 ndr_print_lsa_String(ndr
, "account_name", r
->in
.account_name
);
6859 ndr_print_samr_UserAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
6862 if (flags
& NDR_OUT
) {
6863 ndr_print_struct(ndr
, "out", "samr_CreateUser");
6865 ndr_print_ptr(ndr
, "user_handle", r
->out
.user_handle
);
6867 ndr_print_policy_handle(ndr
, "user_handle", r
->out
.user_handle
);
6869 ndr_print_ptr(ndr
, "rid", r
->out
.rid
);
6871 ndr_print_uint32(ndr
, "rid", *r
->out
.rid
);
6873 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6879 static enum ndr_err_code
ndr_push_samr_EnumDomainUsers(struct ndr_push
*ndr
, int flags
, const struct samr_EnumDomainUsers
*r
)
6881 if (flags
& NDR_IN
) {
6882 if (r
->in
.domain_handle
== NULL
) {
6883 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6885 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6886 if (r
->in
.resume_handle
== NULL
) {
6887 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6889 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->in
.resume_handle
));
6890 NDR_CHECK(ndr_push_samr_AcctFlags(ndr
, NDR_SCALARS
, r
->in
.acct_flags
));
6891 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.max_size
));
6893 if (flags
& NDR_OUT
) {
6894 if (r
->out
.resume_handle
== NULL
) {
6895 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6897 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.resume_handle
));
6898 if (r
->out
.sam
== NULL
) {
6899 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6901 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.sam
));
6903 NDR_CHECK(ndr_push_samr_SamArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sam
));
6905 if (r
->out
.num_entries
== NULL
) {
6906 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6908 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.num_entries
));
6909 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6911 return NDR_ERR_SUCCESS
;
6914 static enum ndr_err_code
ndr_pull_samr_EnumDomainUsers(struct ndr_pull
*ndr
, int flags
, struct samr_EnumDomainUsers
*r
)
6917 TALLOC_CTX
*_mem_save_domain_handle_0
;
6918 TALLOC_CTX
*_mem_save_resume_handle_0
;
6919 TALLOC_CTX
*_mem_save_sam_0
;
6920 TALLOC_CTX
*_mem_save_sam_1
;
6921 TALLOC_CTX
*_mem_save_num_entries_0
;
6922 if (flags
& NDR_IN
) {
6923 ZERO_STRUCT(r
->out
);
6925 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6926 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
6928 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6929 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
6930 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6931 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6932 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6933 NDR_PULL_ALLOC(ndr
, r
->in
.resume_handle
);
6935 _mem_save_resume_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6936 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.resume_handle
, LIBNDR_FLAG_REF_ALLOC
);
6937 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->in
.resume_handle
));
6938 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_resume_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6939 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr
, NDR_SCALARS
, &r
->in
.acct_flags
));
6940 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.max_size
));
6941 NDR_PULL_ALLOC(ndr
, r
->out
.resume_handle
);
6942 *r
->out
.resume_handle
= *r
->in
.resume_handle
;
6943 NDR_PULL_ALLOC(ndr
, r
->out
.sam
);
6944 ZERO_STRUCTP(r
->out
.sam
);
6945 NDR_PULL_ALLOC(ndr
, r
->out
.num_entries
);
6946 ZERO_STRUCTP(r
->out
.num_entries
);
6948 if (flags
& NDR_OUT
) {
6949 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6950 NDR_PULL_ALLOC(ndr
, r
->out
.resume_handle
);
6952 _mem_save_resume_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6953 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.resume_handle
, LIBNDR_FLAG_REF_ALLOC
);
6954 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.resume_handle
));
6955 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_resume_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6956 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6957 NDR_PULL_ALLOC(ndr
, r
->out
.sam
);
6959 _mem_save_sam_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6960 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sam
, LIBNDR_FLAG_REF_ALLOC
);
6961 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sam
));
6963 NDR_PULL_ALLOC(ndr
, *r
->out
.sam
);
6968 _mem_save_sam_1
= NDR_PULL_GET_MEM_CTX(ndr
);
6969 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.sam
, 0);
6970 NDR_CHECK(ndr_pull_samr_SamArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sam
));
6971 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sam_1
, 0);
6973 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sam_0
, LIBNDR_FLAG_REF_ALLOC
);
6974 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6975 NDR_PULL_ALLOC(ndr
, r
->out
.num_entries
);
6977 _mem_save_num_entries_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6978 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.num_entries
, LIBNDR_FLAG_REF_ALLOC
);
6979 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.num_entries
));
6980 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_num_entries_0
, LIBNDR_FLAG_REF_ALLOC
);
6981 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6983 return NDR_ERR_SUCCESS
;
6986 _PUBLIC_
void ndr_print_samr_EnumDomainUsers(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_EnumDomainUsers
*r
)
6988 ndr_print_struct(ndr
, name
, "samr_EnumDomainUsers");
6990 if (flags
& NDR_SET_VALUES
) {
6991 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6993 if (flags
& NDR_IN
) {
6994 ndr_print_struct(ndr
, "in", "samr_EnumDomainUsers");
6996 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
6998 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
7000 ndr_print_ptr(ndr
, "resume_handle", r
->in
.resume_handle
);
7002 ndr_print_uint32(ndr
, "resume_handle", *r
->in
.resume_handle
);
7004 ndr_print_samr_AcctFlags(ndr
, "acct_flags", r
->in
.acct_flags
);
7005 ndr_print_uint32(ndr
, "max_size", r
->in
.max_size
);
7008 if (flags
& NDR_OUT
) {
7009 ndr_print_struct(ndr
, "out", "samr_EnumDomainUsers");
7011 ndr_print_ptr(ndr
, "resume_handle", r
->out
.resume_handle
);
7013 ndr_print_uint32(ndr
, "resume_handle", *r
->out
.resume_handle
);
7015 ndr_print_ptr(ndr
, "sam", r
->out
.sam
);
7017 ndr_print_ptr(ndr
, "sam", *r
->out
.sam
);
7020 ndr_print_samr_SamArray(ndr
, "sam", *r
->out
.sam
);
7024 ndr_print_ptr(ndr
, "num_entries", r
->out
.num_entries
);
7026 ndr_print_uint32(ndr
, "num_entries", *r
->out
.num_entries
);
7028 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7034 static enum ndr_err_code
ndr_push_samr_CreateDomAlias(struct ndr_push
*ndr
, int flags
, const struct samr_CreateDomAlias
*r
)
7036 if (flags
& NDR_IN
) {
7037 if (r
->in
.domain_handle
== NULL
) {
7038 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7040 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
7041 if (r
->in
.alias_name
== NULL
) {
7042 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7044 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.alias_name
));
7045 NDR_CHECK(ndr_push_samr_AliasAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
7047 if (flags
& NDR_OUT
) {
7048 if (r
->out
.alias_handle
== NULL
) {
7049 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7051 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.alias_handle
));
7052 if (r
->out
.rid
== NULL
) {
7053 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7055 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.rid
));
7056 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7058 return NDR_ERR_SUCCESS
;
7061 static enum ndr_err_code
ndr_pull_samr_CreateDomAlias(struct ndr_pull
*ndr
, int flags
, struct samr_CreateDomAlias
*r
)
7063 TALLOC_CTX
*_mem_save_domain_handle_0
;
7064 TALLOC_CTX
*_mem_save_alias_name_0
;
7065 TALLOC_CTX
*_mem_save_alias_handle_0
;
7066 TALLOC_CTX
*_mem_save_rid_0
;
7067 if (flags
& NDR_IN
) {
7068 ZERO_STRUCT(r
->out
);
7070 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7071 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
7073 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7074 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
7075 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
7076 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7077 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7078 NDR_PULL_ALLOC(ndr
, r
->in
.alias_name
);
7080 _mem_save_alias_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7081 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.alias_name
, LIBNDR_FLAG_REF_ALLOC
);
7082 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.alias_name
));
7083 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_alias_name_0
, LIBNDR_FLAG_REF_ALLOC
);
7084 NDR_CHECK(ndr_pull_samr_AliasAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
7085 NDR_PULL_ALLOC(ndr
, r
->out
.alias_handle
);
7086 ZERO_STRUCTP(r
->out
.alias_handle
);
7087 NDR_PULL_ALLOC(ndr
, r
->out
.rid
);
7088 ZERO_STRUCTP(r
->out
.rid
);
7090 if (flags
& NDR_OUT
) {
7091 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7092 NDR_PULL_ALLOC(ndr
, r
->out
.alias_handle
);
7094 _mem_save_alias_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7095 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.alias_handle
, LIBNDR_FLAG_REF_ALLOC
);
7096 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.alias_handle
));
7097 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_alias_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7098 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7099 NDR_PULL_ALLOC(ndr
, r
->out
.rid
);
7101 _mem_save_rid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7102 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.rid
, LIBNDR_FLAG_REF_ALLOC
);
7103 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.rid
));
7104 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rid_0
, LIBNDR_FLAG_REF_ALLOC
);
7105 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7107 return NDR_ERR_SUCCESS
;
7110 _PUBLIC_
void ndr_print_samr_CreateDomAlias(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_CreateDomAlias
*r
)
7112 ndr_print_struct(ndr
, name
, "samr_CreateDomAlias");
7114 if (flags
& NDR_SET_VALUES
) {
7115 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7117 if (flags
& NDR_IN
) {
7118 ndr_print_struct(ndr
, "in", "samr_CreateDomAlias");
7120 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
7122 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
7124 ndr_print_ptr(ndr
, "alias_name", r
->in
.alias_name
);
7126 ndr_print_lsa_String(ndr
, "alias_name", r
->in
.alias_name
);
7128 ndr_print_samr_AliasAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
7131 if (flags
& NDR_OUT
) {
7132 ndr_print_struct(ndr
, "out", "samr_CreateDomAlias");
7134 ndr_print_ptr(ndr
, "alias_handle", r
->out
.alias_handle
);
7136 ndr_print_policy_handle(ndr
, "alias_handle", r
->out
.alias_handle
);
7138 ndr_print_ptr(ndr
, "rid", r
->out
.rid
);
7140 ndr_print_uint32(ndr
, "rid", *r
->out
.rid
);
7142 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7148 static enum ndr_err_code
ndr_push_samr_EnumDomainAliases(struct ndr_push
*ndr
, int flags
, const struct samr_EnumDomainAliases
*r
)
7150 if (flags
& NDR_IN
) {
7151 if (r
->in
.domain_handle
== NULL
) {
7152 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7154 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
7155 if (r
->in
.resume_handle
== NULL
) {
7156 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7158 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->in
.resume_handle
));
7159 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.max_size
));
7161 if (flags
& NDR_OUT
) {
7162 if (r
->out
.resume_handle
== NULL
) {
7163 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7165 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.resume_handle
));
7166 if (r
->out
.sam
== NULL
) {
7167 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7169 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.sam
));
7171 NDR_CHECK(ndr_push_samr_SamArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sam
));
7173 if (r
->out
.num_entries
== NULL
) {
7174 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7176 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.num_entries
));
7177 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7179 return NDR_ERR_SUCCESS
;
7182 static enum ndr_err_code
ndr_pull_samr_EnumDomainAliases(struct ndr_pull
*ndr
, int flags
, struct samr_EnumDomainAliases
*r
)
7185 TALLOC_CTX
*_mem_save_domain_handle_0
;
7186 TALLOC_CTX
*_mem_save_resume_handle_0
;
7187 TALLOC_CTX
*_mem_save_sam_0
;
7188 TALLOC_CTX
*_mem_save_sam_1
;
7189 TALLOC_CTX
*_mem_save_num_entries_0
;
7190 if (flags
& NDR_IN
) {
7191 ZERO_STRUCT(r
->out
);
7193 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7194 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
7196 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7197 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
7198 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
7199 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7200 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7201 NDR_PULL_ALLOC(ndr
, r
->in
.resume_handle
);
7203 _mem_save_resume_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7204 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.resume_handle
, LIBNDR_FLAG_REF_ALLOC
);
7205 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->in
.resume_handle
));
7206 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_resume_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7207 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.max_size
));
7208 NDR_PULL_ALLOC(ndr
, r
->out
.resume_handle
);
7209 *r
->out
.resume_handle
= *r
->in
.resume_handle
;
7210 NDR_PULL_ALLOC(ndr
, r
->out
.sam
);
7211 ZERO_STRUCTP(r
->out
.sam
);
7212 NDR_PULL_ALLOC(ndr
, r
->out
.num_entries
);
7213 ZERO_STRUCTP(r
->out
.num_entries
);
7215 if (flags
& NDR_OUT
) {
7216 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7217 NDR_PULL_ALLOC(ndr
, r
->out
.resume_handle
);
7219 _mem_save_resume_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7220 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.resume_handle
, LIBNDR_FLAG_REF_ALLOC
);
7221 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.resume_handle
));
7222 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_resume_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7223 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7224 NDR_PULL_ALLOC(ndr
, r
->out
.sam
);
7226 _mem_save_sam_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7227 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sam
, LIBNDR_FLAG_REF_ALLOC
);
7228 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sam
));
7230 NDR_PULL_ALLOC(ndr
, *r
->out
.sam
);
7235 _mem_save_sam_1
= NDR_PULL_GET_MEM_CTX(ndr
);
7236 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.sam
, 0);
7237 NDR_CHECK(ndr_pull_samr_SamArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sam
));
7238 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sam_1
, 0);
7240 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sam_0
, LIBNDR_FLAG_REF_ALLOC
);
7241 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7242 NDR_PULL_ALLOC(ndr
, r
->out
.num_entries
);
7244 _mem_save_num_entries_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7245 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.num_entries
, LIBNDR_FLAG_REF_ALLOC
);
7246 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.num_entries
));
7247 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_num_entries_0
, LIBNDR_FLAG_REF_ALLOC
);
7248 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7250 return NDR_ERR_SUCCESS
;
7253 _PUBLIC_
void ndr_print_samr_EnumDomainAliases(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_EnumDomainAliases
*r
)
7255 ndr_print_struct(ndr
, name
, "samr_EnumDomainAliases");
7257 if (flags
& NDR_SET_VALUES
) {
7258 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7260 if (flags
& NDR_IN
) {
7261 ndr_print_struct(ndr
, "in", "samr_EnumDomainAliases");
7263 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
7265 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
7267 ndr_print_ptr(ndr
, "resume_handle", r
->in
.resume_handle
);
7269 ndr_print_uint32(ndr
, "resume_handle", *r
->in
.resume_handle
);
7271 ndr_print_uint32(ndr
, "max_size", r
->in
.max_size
);
7274 if (flags
& NDR_OUT
) {
7275 ndr_print_struct(ndr
, "out", "samr_EnumDomainAliases");
7277 ndr_print_ptr(ndr
, "resume_handle", r
->out
.resume_handle
);
7279 ndr_print_uint32(ndr
, "resume_handle", *r
->out
.resume_handle
);
7281 ndr_print_ptr(ndr
, "sam", r
->out
.sam
);
7283 ndr_print_ptr(ndr
, "sam", *r
->out
.sam
);
7286 ndr_print_samr_SamArray(ndr
, "sam", *r
->out
.sam
);
7290 ndr_print_ptr(ndr
, "num_entries", r
->out
.num_entries
);
7292 ndr_print_uint32(ndr
, "num_entries", *r
->out
.num_entries
);
7294 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7300 static enum ndr_err_code
ndr_push_samr_GetAliasMembership(struct ndr_push
*ndr
, int flags
, const struct samr_GetAliasMembership
*r
)
7302 if (flags
& NDR_IN
) {
7303 if (r
->in
.domain_handle
== NULL
) {
7304 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7306 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
7307 if (r
->in
.sids
== NULL
) {
7308 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7310 NDR_CHECK(ndr_push_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
7312 if (flags
& NDR_OUT
) {
7313 if (r
->out
.rids
== NULL
) {
7314 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7316 NDR_CHECK(ndr_push_samr_Ids(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.rids
));
7317 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7319 return NDR_ERR_SUCCESS
;
7322 static enum ndr_err_code
ndr_pull_samr_GetAliasMembership(struct ndr_pull
*ndr
, int flags
, struct samr_GetAliasMembership
*r
)
7324 TALLOC_CTX
*_mem_save_domain_handle_0
;
7325 TALLOC_CTX
*_mem_save_sids_0
;
7326 TALLOC_CTX
*_mem_save_rids_0
;
7327 if (flags
& NDR_IN
) {
7328 ZERO_STRUCT(r
->out
);
7330 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7331 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
7333 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7334 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
7335 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
7336 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7337 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7338 NDR_PULL_ALLOC(ndr
, r
->in
.sids
);
7340 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7341 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sids
, LIBNDR_FLAG_REF_ALLOC
);
7342 NDR_CHECK(ndr_pull_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
7343 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, LIBNDR_FLAG_REF_ALLOC
);
7344 NDR_PULL_ALLOC(ndr
, r
->out
.rids
);
7345 ZERO_STRUCTP(r
->out
.rids
);
7347 if (flags
& NDR_OUT
) {
7348 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7349 NDR_PULL_ALLOC(ndr
, r
->out
.rids
);
7351 _mem_save_rids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7352 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.rids
, LIBNDR_FLAG_REF_ALLOC
);
7353 NDR_CHECK(ndr_pull_samr_Ids(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.rids
));
7354 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rids_0
, LIBNDR_FLAG_REF_ALLOC
);
7355 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7357 return NDR_ERR_SUCCESS
;
7360 _PUBLIC_
void ndr_print_samr_GetAliasMembership(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_GetAliasMembership
*r
)
7362 ndr_print_struct(ndr
, name
, "samr_GetAliasMembership");
7364 if (flags
& NDR_SET_VALUES
) {
7365 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7367 if (flags
& NDR_IN
) {
7368 ndr_print_struct(ndr
, "in", "samr_GetAliasMembership");
7370 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
7372 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
7374 ndr_print_ptr(ndr
, "sids", r
->in
.sids
);
7376 ndr_print_lsa_SidArray(ndr
, "sids", r
->in
.sids
);
7380 if (flags
& NDR_OUT
) {
7381 ndr_print_struct(ndr
, "out", "samr_GetAliasMembership");
7383 ndr_print_ptr(ndr
, "rids", r
->out
.rids
);
7385 ndr_print_samr_Ids(ndr
, "rids", r
->out
.rids
);
7387 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7393 _PUBLIC_
enum ndr_err_code
ndr_push_samr_LookupNames(struct ndr_push
*ndr
, int flags
, const struct samr_LookupNames
*r
)
7395 uint32_t cntr_names_0
;
7396 if (flags
& NDR_IN
) {
7397 if (r
->in
.domain_handle
== NULL
) {
7398 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7400 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
7401 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.num_names
));
7402 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 1000));
7403 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7404 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->in
.num_names
));
7405 for (cntr_names_0
= 0; cntr_names_0
< r
->in
.num_names
; cntr_names_0
++) {
7406 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->in
.names
[cntr_names_0
]));
7408 for (cntr_names_0
= 0; cntr_names_0
< r
->in
.num_names
; cntr_names_0
++) {
7409 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->in
.names
[cntr_names_0
]));
7412 if (flags
& NDR_OUT
) {
7413 if (r
->out
.rids
== NULL
) {
7414 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7416 NDR_CHECK(ndr_push_samr_Ids(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.rids
));
7417 if (r
->out
.types
== NULL
) {
7418 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7420 NDR_CHECK(ndr_push_samr_Ids(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.types
));
7421 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7423 return NDR_ERR_SUCCESS
;
7426 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_LookupNames(struct ndr_pull
*ndr
, int flags
, struct samr_LookupNames
*r
)
7428 uint32_t cntr_names_0
;
7429 TALLOC_CTX
*_mem_save_domain_handle_0
;
7430 TALLOC_CTX
*_mem_save_names_0
;
7431 TALLOC_CTX
*_mem_save_rids_0
;
7432 TALLOC_CTX
*_mem_save_types_0
;
7433 if (flags
& NDR_IN
) {
7434 ZERO_STRUCT(r
->out
);
7436 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7437 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
7439 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7440 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
7441 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
7442 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7443 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.num_names
));
7444 if (r
->in
.num_names
> 1000) {
7445 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
7447 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->in
.names
));
7448 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->in
.names
));
7449 if (ndr_get_array_length(ndr
, &r
->in
.names
) > ndr_get_array_size(ndr
, &r
->in
.names
)) {
7450 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->in
.names
), ndr_get_array_length(ndr
, &r
->in
.names
));
7452 NDR_PULL_ALLOC_N(ndr
, r
->in
.names
, ndr_get_array_size(ndr
, &r
->in
.names
));
7453 _mem_save_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7454 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.names
, 0);
7455 for (cntr_names_0
= 0; cntr_names_0
< ndr_get_array_length(ndr
, &r
->in
.names
); cntr_names_0
++) {
7456 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->in
.names
[cntr_names_0
]));
7458 for (cntr_names_0
= 0; cntr_names_0
< ndr_get_array_length(ndr
, &r
->in
.names
); cntr_names_0
++) {
7459 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->in
.names
[cntr_names_0
]));
7461 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_0
, 0);
7462 NDR_PULL_ALLOC(ndr
, r
->out
.rids
);
7463 ZERO_STRUCTP(r
->out
.rids
);
7464 NDR_PULL_ALLOC(ndr
, r
->out
.types
);
7465 ZERO_STRUCTP(r
->out
.types
);
7467 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->in
.names
, 1000));
7470 NDR_CHECK(ndr_check_array_length(ndr
, (void*)&r
->in
.names
, r
->in
.num_names
));
7473 if (flags
& NDR_OUT
) {
7474 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7475 NDR_PULL_ALLOC(ndr
, r
->out
.rids
);
7477 _mem_save_rids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7478 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.rids
, LIBNDR_FLAG_REF_ALLOC
);
7479 NDR_CHECK(ndr_pull_samr_Ids(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.rids
));
7480 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rids_0
, LIBNDR_FLAG_REF_ALLOC
);
7481 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7482 NDR_PULL_ALLOC(ndr
, r
->out
.types
);
7484 _mem_save_types_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7485 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.types
, LIBNDR_FLAG_REF_ALLOC
);
7486 NDR_CHECK(ndr_pull_samr_Ids(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.types
));
7487 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_types_0
, LIBNDR_FLAG_REF_ALLOC
);
7488 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7490 return NDR_ERR_SUCCESS
;
7493 _PUBLIC_
void ndr_print_samr_LookupNames(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_LookupNames
*r
)
7495 uint32_t cntr_names_0
;
7496 ndr_print_struct(ndr
, name
, "samr_LookupNames");
7498 if (flags
& NDR_SET_VALUES
) {
7499 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7501 if (flags
& NDR_IN
) {
7502 ndr_print_struct(ndr
, "in", "samr_LookupNames");
7504 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
7506 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
7508 ndr_print_uint32(ndr
, "num_names", r
->in
.num_names
);
7509 ndr
->print(ndr
, "%s: ARRAY(%d)", "names", (int)r
->in
.num_names
);
7511 for (cntr_names_0
=0;cntr_names_0
<r
->in
.num_names
;cntr_names_0
++) {
7513 if (asprintf(&idx_0
, "[%d]", cntr_names_0
) != -1) {
7514 ndr_print_lsa_String(ndr
, "names", &r
->in
.names
[cntr_names_0
]);
7521 if (flags
& NDR_OUT
) {
7522 ndr_print_struct(ndr
, "out", "samr_LookupNames");
7524 ndr_print_ptr(ndr
, "rids", r
->out
.rids
);
7526 ndr_print_samr_Ids(ndr
, "rids", r
->out
.rids
);
7528 ndr_print_ptr(ndr
, "types", r
->out
.types
);
7530 ndr_print_samr_Ids(ndr
, "types", r
->out
.types
);
7532 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7538 static enum ndr_err_code
ndr_push_samr_LookupRids(struct ndr_push
*ndr
, int flags
, const struct samr_LookupRids
*r
)
7540 uint32_t cntr_rids_0
;
7541 if (flags
& NDR_IN
) {
7542 if (r
->in
.domain_handle
== NULL
) {
7543 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7545 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
7546 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.num_rids
));
7547 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 1000));
7548 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7549 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->in
.num_rids
));
7550 for (cntr_rids_0
= 0; cntr_rids_0
< r
->in
.num_rids
; cntr_rids_0
++) {
7551 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.rids
[cntr_rids_0
]));
7554 if (flags
& NDR_OUT
) {
7555 if (r
->out
.names
== NULL
) {
7556 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7558 NDR_CHECK(ndr_push_lsa_Strings(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.names
));
7559 if (r
->out
.types
== NULL
) {
7560 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7562 NDR_CHECK(ndr_push_samr_Ids(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.types
));
7563 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7565 return NDR_ERR_SUCCESS
;
7568 static enum ndr_err_code
ndr_pull_samr_LookupRids(struct ndr_pull
*ndr
, int flags
, struct samr_LookupRids
*r
)
7570 uint32_t cntr_rids_0
;
7571 TALLOC_CTX
*_mem_save_domain_handle_0
;
7572 TALLOC_CTX
*_mem_save_rids_0
;
7573 TALLOC_CTX
*_mem_save_names_0
;
7574 TALLOC_CTX
*_mem_save_types_0
;
7575 if (flags
& NDR_IN
) {
7576 ZERO_STRUCT(r
->out
);
7578 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7579 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
7581 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7582 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
7583 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
7584 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7585 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.num_rids
));
7586 if (r
->in
.num_rids
> 1000) {
7587 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
7589 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->in
.rids
));
7590 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->in
.rids
));
7591 if (ndr_get_array_length(ndr
, &r
->in
.rids
) > ndr_get_array_size(ndr
, &r
->in
.rids
)) {
7592 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->in
.rids
), ndr_get_array_length(ndr
, &r
->in
.rids
));
7594 NDR_PULL_ALLOC_N(ndr
, r
->in
.rids
, ndr_get_array_size(ndr
, &r
->in
.rids
));
7595 _mem_save_rids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7596 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.rids
, 0);
7597 for (cntr_rids_0
= 0; cntr_rids_0
< ndr_get_array_length(ndr
, &r
->in
.rids
); cntr_rids_0
++) {
7598 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.rids
[cntr_rids_0
]));
7600 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rids_0
, 0);
7601 NDR_PULL_ALLOC(ndr
, r
->out
.names
);
7602 ZERO_STRUCTP(r
->out
.names
);
7603 NDR_PULL_ALLOC(ndr
, r
->out
.types
);
7604 ZERO_STRUCTP(r
->out
.types
);
7606 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->in
.rids
, 1000));
7609 NDR_CHECK(ndr_check_array_length(ndr
, (void*)&r
->in
.rids
, r
->in
.num_rids
));
7612 if (flags
& NDR_OUT
) {
7613 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7614 NDR_PULL_ALLOC(ndr
, r
->out
.names
);
7616 _mem_save_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7617 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.names
, LIBNDR_FLAG_REF_ALLOC
);
7618 NDR_CHECK(ndr_pull_lsa_Strings(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.names
));
7619 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_0
, LIBNDR_FLAG_REF_ALLOC
);
7620 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7621 NDR_PULL_ALLOC(ndr
, r
->out
.types
);
7623 _mem_save_types_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7624 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.types
, LIBNDR_FLAG_REF_ALLOC
);
7625 NDR_CHECK(ndr_pull_samr_Ids(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.types
));
7626 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_types_0
, LIBNDR_FLAG_REF_ALLOC
);
7627 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7629 return NDR_ERR_SUCCESS
;
7632 _PUBLIC_
void ndr_print_samr_LookupRids(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_LookupRids
*r
)
7634 uint32_t cntr_rids_0
;
7635 ndr_print_struct(ndr
, name
, "samr_LookupRids");
7637 if (flags
& NDR_SET_VALUES
) {
7638 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7640 if (flags
& NDR_IN
) {
7641 ndr_print_struct(ndr
, "in", "samr_LookupRids");
7643 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
7645 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
7647 ndr_print_uint32(ndr
, "num_rids", r
->in
.num_rids
);
7648 ndr
->print(ndr
, "%s: ARRAY(%d)", "rids", (int)r
->in
.num_rids
);
7650 for (cntr_rids_0
=0;cntr_rids_0
<r
->in
.num_rids
;cntr_rids_0
++) {
7652 if (asprintf(&idx_0
, "[%d]", cntr_rids_0
) != -1) {
7653 ndr_print_uint32(ndr
, "rids", r
->in
.rids
[cntr_rids_0
]);
7660 if (flags
& NDR_OUT
) {
7661 ndr_print_struct(ndr
, "out", "samr_LookupRids");
7663 ndr_print_ptr(ndr
, "names", r
->out
.names
);
7665 ndr_print_lsa_Strings(ndr
, "names", r
->out
.names
);
7667 ndr_print_ptr(ndr
, "types", r
->out
.types
);
7669 ndr_print_samr_Ids(ndr
, "types", r
->out
.types
);
7671 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7677 static enum ndr_err_code
ndr_push_samr_OpenGroup(struct ndr_push
*ndr
, int flags
, const struct samr_OpenGroup
*r
)
7679 if (flags
& NDR_IN
) {
7680 if (r
->in
.domain_handle
== NULL
) {
7681 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7683 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
7684 NDR_CHECK(ndr_push_samr_GroupAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
7685 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.rid
));
7687 if (flags
& NDR_OUT
) {
7688 if (r
->out
.group_handle
== NULL
) {
7689 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7691 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.group_handle
));
7692 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7694 return NDR_ERR_SUCCESS
;
7697 static enum ndr_err_code
ndr_pull_samr_OpenGroup(struct ndr_pull
*ndr
, int flags
, struct samr_OpenGroup
*r
)
7699 TALLOC_CTX
*_mem_save_domain_handle_0
;
7700 TALLOC_CTX
*_mem_save_group_handle_0
;
7701 if (flags
& NDR_IN
) {
7702 ZERO_STRUCT(r
->out
);
7704 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7705 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
7707 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7708 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
7709 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
7710 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7711 NDR_CHECK(ndr_pull_samr_GroupAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
7712 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.rid
));
7713 NDR_PULL_ALLOC(ndr
, r
->out
.group_handle
);
7714 ZERO_STRUCTP(r
->out
.group_handle
);
7716 if (flags
& NDR_OUT
) {
7717 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7718 NDR_PULL_ALLOC(ndr
, r
->out
.group_handle
);
7720 _mem_save_group_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7721 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.group_handle
, LIBNDR_FLAG_REF_ALLOC
);
7722 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.group_handle
));
7723 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_group_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7724 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7726 return NDR_ERR_SUCCESS
;
7729 _PUBLIC_
void ndr_print_samr_OpenGroup(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_OpenGroup
*r
)
7731 ndr_print_struct(ndr
, name
, "samr_OpenGroup");
7733 if (flags
& NDR_SET_VALUES
) {
7734 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7736 if (flags
& NDR_IN
) {
7737 ndr_print_struct(ndr
, "in", "samr_OpenGroup");
7739 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
7741 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
7743 ndr_print_samr_GroupAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
7744 ndr_print_uint32(ndr
, "rid", r
->in
.rid
);
7747 if (flags
& NDR_OUT
) {
7748 ndr_print_struct(ndr
, "out", "samr_OpenGroup");
7750 ndr_print_ptr(ndr
, "group_handle", r
->out
.group_handle
);
7752 ndr_print_policy_handle(ndr
, "group_handle", r
->out
.group_handle
);
7754 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7760 static enum ndr_err_code
ndr_push_samr_QueryGroupInfo(struct ndr_push
*ndr
, int flags
, const struct samr_QueryGroupInfo
*r
)
7762 if (flags
& NDR_IN
) {
7763 if (r
->in
.group_handle
== NULL
) {
7764 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7766 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
7767 NDR_CHECK(ndr_push_samr_GroupInfoEnum(ndr
, NDR_SCALARS
, r
->in
.level
));
7769 if (flags
& NDR_OUT
) {
7770 if (r
->out
.info
== NULL
) {
7771 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7773 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.info
));
7775 NDR_CHECK(ndr_push_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
7776 NDR_CHECK(ndr_push_samr_GroupInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
7778 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7780 return NDR_ERR_SUCCESS
;
7783 static enum ndr_err_code
ndr_pull_samr_QueryGroupInfo(struct ndr_pull
*ndr
, int flags
, struct samr_QueryGroupInfo
*r
)
7786 TALLOC_CTX
*_mem_save_group_handle_0
;
7787 TALLOC_CTX
*_mem_save_info_0
;
7788 TALLOC_CTX
*_mem_save_info_1
;
7789 if (flags
& NDR_IN
) {
7790 ZERO_STRUCT(r
->out
);
7792 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7793 NDR_PULL_ALLOC(ndr
, r
->in
.group_handle
);
7795 _mem_save_group_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7796 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.group_handle
, LIBNDR_FLAG_REF_ALLOC
);
7797 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
7798 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_group_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7799 NDR_CHECK(ndr_pull_samr_GroupInfoEnum(ndr
, NDR_SCALARS
, &r
->in
.level
));
7800 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
7801 ZERO_STRUCTP(r
->out
.info
);
7803 if (flags
& NDR_OUT
) {
7804 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7805 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
7807 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7808 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
7809 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
7811 NDR_PULL_ALLOC(ndr
, *r
->out
.info
);
7813 *r
->out
.info
= NULL
;
7816 _mem_save_info_1
= NDR_PULL_GET_MEM_CTX(ndr
);
7817 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.info
, 0);
7818 NDR_CHECK(ndr_pull_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
7819 NDR_CHECK(ndr_pull_samr_GroupInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
7820 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_1
, 0);
7822 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
7823 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7825 return NDR_ERR_SUCCESS
;
7828 _PUBLIC_
void ndr_print_samr_QueryGroupInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_QueryGroupInfo
*r
)
7830 ndr_print_struct(ndr
, name
, "samr_QueryGroupInfo");
7832 if (flags
& NDR_SET_VALUES
) {
7833 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7835 if (flags
& NDR_IN
) {
7836 ndr_print_struct(ndr
, "in", "samr_QueryGroupInfo");
7838 ndr_print_ptr(ndr
, "group_handle", r
->in
.group_handle
);
7840 ndr_print_policy_handle(ndr
, "group_handle", r
->in
.group_handle
);
7842 ndr_print_samr_GroupInfoEnum(ndr
, "level", r
->in
.level
);
7845 if (flags
& NDR_OUT
) {
7846 ndr_print_struct(ndr
, "out", "samr_QueryGroupInfo");
7848 ndr_print_ptr(ndr
, "info", r
->out
.info
);
7850 ndr_print_ptr(ndr
, "info", *r
->out
.info
);
7853 ndr_print_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
);
7854 ndr_print_samr_GroupInfo(ndr
, "info", *r
->out
.info
);
7858 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7864 static enum ndr_err_code
ndr_push_samr_SetGroupInfo(struct ndr_push
*ndr
, int flags
, const struct samr_SetGroupInfo
*r
)
7866 if (flags
& NDR_IN
) {
7867 if (r
->in
.group_handle
== NULL
) {
7868 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7870 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
7871 NDR_CHECK(ndr_push_samr_GroupInfoEnum(ndr
, NDR_SCALARS
, r
->in
.level
));
7872 if (r
->in
.info
== NULL
) {
7873 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7875 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
7876 NDR_CHECK(ndr_push_samr_GroupInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
7878 if (flags
& NDR_OUT
) {
7879 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7881 return NDR_ERR_SUCCESS
;
7884 static enum ndr_err_code
ndr_pull_samr_SetGroupInfo(struct ndr_pull
*ndr
, int flags
, struct samr_SetGroupInfo
*r
)
7886 TALLOC_CTX
*_mem_save_group_handle_0
;
7887 TALLOC_CTX
*_mem_save_info_0
;
7888 if (flags
& NDR_IN
) {
7889 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7890 NDR_PULL_ALLOC(ndr
, r
->in
.group_handle
);
7892 _mem_save_group_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7893 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.group_handle
, LIBNDR_FLAG_REF_ALLOC
);
7894 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
7895 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_group_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7896 NDR_CHECK(ndr_pull_samr_GroupInfoEnum(ndr
, NDR_SCALARS
, &r
->in
.level
));
7897 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7898 NDR_PULL_ALLOC(ndr
, r
->in
.info
);
7900 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7901 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.info
, LIBNDR_FLAG_REF_ALLOC
);
7902 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
7903 NDR_CHECK(ndr_pull_samr_GroupInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
7904 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
7906 if (flags
& NDR_OUT
) {
7907 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7909 return NDR_ERR_SUCCESS
;
7912 _PUBLIC_
void ndr_print_samr_SetGroupInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_SetGroupInfo
*r
)
7914 ndr_print_struct(ndr
, name
, "samr_SetGroupInfo");
7916 if (flags
& NDR_SET_VALUES
) {
7917 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7919 if (flags
& NDR_IN
) {
7920 ndr_print_struct(ndr
, "in", "samr_SetGroupInfo");
7922 ndr_print_ptr(ndr
, "group_handle", r
->in
.group_handle
);
7924 ndr_print_policy_handle(ndr
, "group_handle", r
->in
.group_handle
);
7926 ndr_print_samr_GroupInfoEnum(ndr
, "level", r
->in
.level
);
7927 ndr_print_ptr(ndr
, "info", r
->in
.info
);
7929 ndr_print_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
);
7930 ndr_print_samr_GroupInfo(ndr
, "info", r
->in
.info
);
7934 if (flags
& NDR_OUT
) {
7935 ndr_print_struct(ndr
, "out", "samr_SetGroupInfo");
7937 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7943 static enum ndr_err_code
ndr_push_samr_AddGroupMember(struct ndr_push
*ndr
, int flags
, const struct samr_AddGroupMember
*r
)
7945 if (flags
& NDR_IN
) {
7946 if (r
->in
.group_handle
== NULL
) {
7947 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7949 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
7950 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.rid
));
7951 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.flags
));
7953 if (flags
& NDR_OUT
) {
7954 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7956 return NDR_ERR_SUCCESS
;
7959 static enum ndr_err_code
ndr_pull_samr_AddGroupMember(struct ndr_pull
*ndr
, int flags
, struct samr_AddGroupMember
*r
)
7961 TALLOC_CTX
*_mem_save_group_handle_0
;
7962 if (flags
& NDR_IN
) {
7963 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7964 NDR_PULL_ALLOC(ndr
, r
->in
.group_handle
);
7966 _mem_save_group_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7967 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.group_handle
, LIBNDR_FLAG_REF_ALLOC
);
7968 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
7969 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_group_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7970 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.rid
));
7971 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.flags
));
7973 if (flags
& NDR_OUT
) {
7974 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7976 return NDR_ERR_SUCCESS
;
7979 _PUBLIC_
void ndr_print_samr_AddGroupMember(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_AddGroupMember
*r
)
7981 ndr_print_struct(ndr
, name
, "samr_AddGroupMember");
7983 if (flags
& NDR_SET_VALUES
) {
7984 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7986 if (flags
& NDR_IN
) {
7987 ndr_print_struct(ndr
, "in", "samr_AddGroupMember");
7989 ndr_print_ptr(ndr
, "group_handle", r
->in
.group_handle
);
7991 ndr_print_policy_handle(ndr
, "group_handle", r
->in
.group_handle
);
7993 ndr_print_uint32(ndr
, "rid", r
->in
.rid
);
7994 ndr_print_uint32(ndr
, "flags", r
->in
.flags
);
7997 if (flags
& NDR_OUT
) {
7998 ndr_print_struct(ndr
, "out", "samr_AddGroupMember");
8000 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8006 static enum ndr_err_code
ndr_push_samr_DeleteDomainGroup(struct ndr_push
*ndr
, int flags
, const struct samr_DeleteDomainGroup
*r
)
8008 if (flags
& NDR_IN
) {
8009 if (r
->in
.group_handle
== NULL
) {
8010 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8012 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
8014 if (flags
& NDR_OUT
) {
8015 if (r
->out
.group_handle
== NULL
) {
8016 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8018 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.group_handle
));
8019 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8021 return NDR_ERR_SUCCESS
;
8024 static enum ndr_err_code
ndr_pull_samr_DeleteDomainGroup(struct ndr_pull
*ndr
, int flags
, struct samr_DeleteDomainGroup
*r
)
8026 TALLOC_CTX
*_mem_save_group_handle_0
;
8027 if (flags
& NDR_IN
) {
8028 ZERO_STRUCT(r
->out
);
8030 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8031 NDR_PULL_ALLOC(ndr
, r
->in
.group_handle
);
8033 _mem_save_group_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8034 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.group_handle
, LIBNDR_FLAG_REF_ALLOC
);
8035 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
8036 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_group_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8037 NDR_PULL_ALLOC(ndr
, r
->out
.group_handle
);
8038 *r
->out
.group_handle
= *r
->in
.group_handle
;
8040 if (flags
& NDR_OUT
) {
8041 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8042 NDR_PULL_ALLOC(ndr
, r
->out
.group_handle
);
8044 _mem_save_group_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8045 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.group_handle
, LIBNDR_FLAG_REF_ALLOC
);
8046 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.group_handle
));
8047 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_group_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8048 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8050 return NDR_ERR_SUCCESS
;
8053 _PUBLIC_
void ndr_print_samr_DeleteDomainGroup(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_DeleteDomainGroup
*r
)
8055 ndr_print_struct(ndr
, name
, "samr_DeleteDomainGroup");
8057 if (flags
& NDR_SET_VALUES
) {
8058 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8060 if (flags
& NDR_IN
) {
8061 ndr_print_struct(ndr
, "in", "samr_DeleteDomainGroup");
8063 ndr_print_ptr(ndr
, "group_handle", r
->in
.group_handle
);
8065 ndr_print_policy_handle(ndr
, "group_handle", r
->in
.group_handle
);
8069 if (flags
& NDR_OUT
) {
8070 ndr_print_struct(ndr
, "out", "samr_DeleteDomainGroup");
8072 ndr_print_ptr(ndr
, "group_handle", r
->out
.group_handle
);
8074 ndr_print_policy_handle(ndr
, "group_handle", r
->out
.group_handle
);
8076 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8082 static enum ndr_err_code
ndr_push_samr_DeleteGroupMember(struct ndr_push
*ndr
, int flags
, const struct samr_DeleteGroupMember
*r
)
8084 if (flags
& NDR_IN
) {
8085 if (r
->in
.group_handle
== NULL
) {
8086 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8088 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
8089 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.rid
));
8091 if (flags
& NDR_OUT
) {
8092 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8094 return NDR_ERR_SUCCESS
;
8097 static enum ndr_err_code
ndr_pull_samr_DeleteGroupMember(struct ndr_pull
*ndr
, int flags
, struct samr_DeleteGroupMember
*r
)
8099 TALLOC_CTX
*_mem_save_group_handle_0
;
8100 if (flags
& NDR_IN
) {
8101 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8102 NDR_PULL_ALLOC(ndr
, r
->in
.group_handle
);
8104 _mem_save_group_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8105 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.group_handle
, LIBNDR_FLAG_REF_ALLOC
);
8106 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
8107 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_group_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8108 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.rid
));
8110 if (flags
& NDR_OUT
) {
8111 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8113 return NDR_ERR_SUCCESS
;
8116 _PUBLIC_
void ndr_print_samr_DeleteGroupMember(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_DeleteGroupMember
*r
)
8118 ndr_print_struct(ndr
, name
, "samr_DeleteGroupMember");
8120 if (flags
& NDR_SET_VALUES
) {
8121 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8123 if (flags
& NDR_IN
) {
8124 ndr_print_struct(ndr
, "in", "samr_DeleteGroupMember");
8126 ndr_print_ptr(ndr
, "group_handle", r
->in
.group_handle
);
8128 ndr_print_policy_handle(ndr
, "group_handle", r
->in
.group_handle
);
8130 ndr_print_uint32(ndr
, "rid", r
->in
.rid
);
8133 if (flags
& NDR_OUT
) {
8134 ndr_print_struct(ndr
, "out", "samr_DeleteGroupMember");
8136 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8142 static enum ndr_err_code
ndr_push_samr_QueryGroupMember(struct ndr_push
*ndr
, int flags
, const struct samr_QueryGroupMember
*r
)
8144 if (flags
& NDR_IN
) {
8145 if (r
->in
.group_handle
== NULL
) {
8146 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8148 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
8150 if (flags
& NDR_OUT
) {
8151 if (r
->out
.rids
== NULL
) {
8152 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8154 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.rids
));
8156 NDR_CHECK(ndr_push_samr_RidTypeArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.rids
));
8158 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8160 return NDR_ERR_SUCCESS
;
8163 static enum ndr_err_code
ndr_pull_samr_QueryGroupMember(struct ndr_pull
*ndr
, int flags
, struct samr_QueryGroupMember
*r
)
8166 TALLOC_CTX
*_mem_save_group_handle_0
;
8167 TALLOC_CTX
*_mem_save_rids_0
;
8168 TALLOC_CTX
*_mem_save_rids_1
;
8169 if (flags
& NDR_IN
) {
8170 ZERO_STRUCT(r
->out
);
8172 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8173 NDR_PULL_ALLOC(ndr
, r
->in
.group_handle
);
8175 _mem_save_group_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8176 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.group_handle
, LIBNDR_FLAG_REF_ALLOC
);
8177 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
8178 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_group_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8179 NDR_PULL_ALLOC(ndr
, r
->out
.rids
);
8180 ZERO_STRUCTP(r
->out
.rids
);
8182 if (flags
& NDR_OUT
) {
8183 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8184 NDR_PULL_ALLOC(ndr
, r
->out
.rids
);
8186 _mem_save_rids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8187 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.rids
, LIBNDR_FLAG_REF_ALLOC
);
8188 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_rids
));
8190 NDR_PULL_ALLOC(ndr
, *r
->out
.rids
);
8192 *r
->out
.rids
= NULL
;
8195 _mem_save_rids_1
= NDR_PULL_GET_MEM_CTX(ndr
);
8196 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.rids
, 0);
8197 NDR_CHECK(ndr_pull_samr_RidTypeArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.rids
));
8198 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rids_1
, 0);
8200 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rids_0
, LIBNDR_FLAG_REF_ALLOC
);
8201 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8203 return NDR_ERR_SUCCESS
;
8206 _PUBLIC_
void ndr_print_samr_QueryGroupMember(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_QueryGroupMember
*r
)
8208 ndr_print_struct(ndr
, name
, "samr_QueryGroupMember");
8210 if (flags
& NDR_SET_VALUES
) {
8211 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8213 if (flags
& NDR_IN
) {
8214 ndr_print_struct(ndr
, "in", "samr_QueryGroupMember");
8216 ndr_print_ptr(ndr
, "group_handle", r
->in
.group_handle
);
8218 ndr_print_policy_handle(ndr
, "group_handle", r
->in
.group_handle
);
8222 if (flags
& NDR_OUT
) {
8223 ndr_print_struct(ndr
, "out", "samr_QueryGroupMember");
8225 ndr_print_ptr(ndr
, "rids", r
->out
.rids
);
8227 ndr_print_ptr(ndr
, "rids", *r
->out
.rids
);
8230 ndr_print_samr_RidTypeArray(ndr
, "rids", *r
->out
.rids
);
8234 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8240 static enum ndr_err_code
ndr_push_samr_SetMemberAttributesOfGroup(struct ndr_push
*ndr
, int flags
, const struct samr_SetMemberAttributesOfGroup
*r
)
8242 if (flags
& NDR_IN
) {
8243 if (r
->in
.group_handle
== NULL
) {
8244 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8246 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
8247 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.unknown1
));
8248 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.unknown2
));
8250 if (flags
& NDR_OUT
) {
8251 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8253 return NDR_ERR_SUCCESS
;
8256 static enum ndr_err_code
ndr_pull_samr_SetMemberAttributesOfGroup(struct ndr_pull
*ndr
, int flags
, struct samr_SetMemberAttributesOfGroup
*r
)
8258 TALLOC_CTX
*_mem_save_group_handle_0
;
8259 if (flags
& NDR_IN
) {
8260 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8261 NDR_PULL_ALLOC(ndr
, r
->in
.group_handle
);
8263 _mem_save_group_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8264 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.group_handle
, LIBNDR_FLAG_REF_ALLOC
);
8265 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
8266 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_group_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8267 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.unknown1
));
8268 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.unknown2
));
8270 if (flags
& NDR_OUT
) {
8271 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8273 return NDR_ERR_SUCCESS
;
8276 _PUBLIC_
void ndr_print_samr_SetMemberAttributesOfGroup(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_SetMemberAttributesOfGroup
*r
)
8278 ndr_print_struct(ndr
, name
, "samr_SetMemberAttributesOfGroup");
8280 if (flags
& NDR_SET_VALUES
) {
8281 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8283 if (flags
& NDR_IN
) {
8284 ndr_print_struct(ndr
, "in", "samr_SetMemberAttributesOfGroup");
8286 ndr_print_ptr(ndr
, "group_handle", r
->in
.group_handle
);
8288 ndr_print_policy_handle(ndr
, "group_handle", r
->in
.group_handle
);
8290 ndr_print_uint32(ndr
, "unknown1", r
->in
.unknown1
);
8291 ndr_print_uint32(ndr
, "unknown2", r
->in
.unknown2
);
8294 if (flags
& NDR_OUT
) {
8295 ndr_print_struct(ndr
, "out", "samr_SetMemberAttributesOfGroup");
8297 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8303 static enum ndr_err_code
ndr_push_samr_OpenAlias(struct ndr_push
*ndr
, int flags
, const struct samr_OpenAlias
*r
)
8305 if (flags
& NDR_IN
) {
8306 if (r
->in
.domain_handle
== NULL
) {
8307 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8309 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
8310 NDR_CHECK(ndr_push_samr_AliasAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
8311 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.rid
));
8313 if (flags
& NDR_OUT
) {
8314 if (r
->out
.alias_handle
== NULL
) {
8315 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8317 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.alias_handle
));
8318 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8320 return NDR_ERR_SUCCESS
;
8323 static enum ndr_err_code
ndr_pull_samr_OpenAlias(struct ndr_pull
*ndr
, int flags
, struct samr_OpenAlias
*r
)
8325 TALLOC_CTX
*_mem_save_domain_handle_0
;
8326 TALLOC_CTX
*_mem_save_alias_handle_0
;
8327 if (flags
& NDR_IN
) {
8328 ZERO_STRUCT(r
->out
);
8330 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8331 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
8333 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8334 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
8335 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
8336 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8337 NDR_CHECK(ndr_pull_samr_AliasAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
8338 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.rid
));
8339 NDR_PULL_ALLOC(ndr
, r
->out
.alias_handle
);
8340 ZERO_STRUCTP(r
->out
.alias_handle
);
8342 if (flags
& NDR_OUT
) {
8343 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8344 NDR_PULL_ALLOC(ndr
, r
->out
.alias_handle
);
8346 _mem_save_alias_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8347 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.alias_handle
, LIBNDR_FLAG_REF_ALLOC
);
8348 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.alias_handle
));
8349 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_alias_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8350 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8352 return NDR_ERR_SUCCESS
;
8355 _PUBLIC_
void ndr_print_samr_OpenAlias(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_OpenAlias
*r
)
8357 ndr_print_struct(ndr
, name
, "samr_OpenAlias");
8359 if (flags
& NDR_SET_VALUES
) {
8360 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8362 if (flags
& NDR_IN
) {
8363 ndr_print_struct(ndr
, "in", "samr_OpenAlias");
8365 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
8367 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
8369 ndr_print_samr_AliasAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
8370 ndr_print_uint32(ndr
, "rid", r
->in
.rid
);
8373 if (flags
& NDR_OUT
) {
8374 ndr_print_struct(ndr
, "out", "samr_OpenAlias");
8376 ndr_print_ptr(ndr
, "alias_handle", r
->out
.alias_handle
);
8378 ndr_print_policy_handle(ndr
, "alias_handle", r
->out
.alias_handle
);
8380 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8386 static enum ndr_err_code
ndr_push_samr_QueryAliasInfo(struct ndr_push
*ndr
, int flags
, const struct samr_QueryAliasInfo
*r
)
8388 if (flags
& NDR_IN
) {
8389 if (r
->in
.alias_handle
== NULL
) {
8390 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8392 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
8393 NDR_CHECK(ndr_push_samr_AliasInfoEnum(ndr
, NDR_SCALARS
, r
->in
.level
));
8395 if (flags
& NDR_OUT
) {
8396 if (r
->out
.info
== NULL
) {
8397 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8399 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.info
));
8401 NDR_CHECK(ndr_push_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
8402 NDR_CHECK(ndr_push_samr_AliasInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
8404 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8406 return NDR_ERR_SUCCESS
;
8409 static enum ndr_err_code
ndr_pull_samr_QueryAliasInfo(struct ndr_pull
*ndr
, int flags
, struct samr_QueryAliasInfo
*r
)
8412 TALLOC_CTX
*_mem_save_alias_handle_0
;
8413 TALLOC_CTX
*_mem_save_info_0
;
8414 TALLOC_CTX
*_mem_save_info_1
;
8415 if (flags
& NDR_IN
) {
8416 ZERO_STRUCT(r
->out
);
8418 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8419 NDR_PULL_ALLOC(ndr
, r
->in
.alias_handle
);
8421 _mem_save_alias_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8422 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.alias_handle
, LIBNDR_FLAG_REF_ALLOC
);
8423 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
8424 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_alias_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8425 NDR_CHECK(ndr_pull_samr_AliasInfoEnum(ndr
, NDR_SCALARS
, &r
->in
.level
));
8426 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
8427 ZERO_STRUCTP(r
->out
.info
);
8429 if (flags
& NDR_OUT
) {
8430 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8431 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
8433 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8434 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
8435 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
8437 NDR_PULL_ALLOC(ndr
, *r
->out
.info
);
8439 *r
->out
.info
= NULL
;
8442 _mem_save_info_1
= NDR_PULL_GET_MEM_CTX(ndr
);
8443 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.info
, 0);
8444 NDR_CHECK(ndr_pull_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
8445 NDR_CHECK(ndr_pull_samr_AliasInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
8446 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_1
, 0);
8448 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
8449 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8451 return NDR_ERR_SUCCESS
;
8454 _PUBLIC_
void ndr_print_samr_QueryAliasInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_QueryAliasInfo
*r
)
8456 ndr_print_struct(ndr
, name
, "samr_QueryAliasInfo");
8458 if (flags
& NDR_SET_VALUES
) {
8459 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8461 if (flags
& NDR_IN
) {
8462 ndr_print_struct(ndr
, "in", "samr_QueryAliasInfo");
8464 ndr_print_ptr(ndr
, "alias_handle", r
->in
.alias_handle
);
8466 ndr_print_policy_handle(ndr
, "alias_handle", r
->in
.alias_handle
);
8468 ndr_print_samr_AliasInfoEnum(ndr
, "level", r
->in
.level
);
8471 if (flags
& NDR_OUT
) {
8472 ndr_print_struct(ndr
, "out", "samr_QueryAliasInfo");
8474 ndr_print_ptr(ndr
, "info", r
->out
.info
);
8476 ndr_print_ptr(ndr
, "info", *r
->out
.info
);
8479 ndr_print_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
);
8480 ndr_print_samr_AliasInfo(ndr
, "info", *r
->out
.info
);
8484 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8490 static enum ndr_err_code
ndr_push_samr_SetAliasInfo(struct ndr_push
*ndr
, int flags
, const struct samr_SetAliasInfo
*r
)
8492 if (flags
& NDR_IN
) {
8493 if (r
->in
.alias_handle
== NULL
) {
8494 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8496 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
8497 NDR_CHECK(ndr_push_samr_AliasInfoEnum(ndr
, NDR_SCALARS
, r
->in
.level
));
8498 if (r
->in
.info
== NULL
) {
8499 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8501 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
8502 NDR_CHECK(ndr_push_samr_AliasInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
8504 if (flags
& NDR_OUT
) {
8505 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8507 return NDR_ERR_SUCCESS
;
8510 static enum ndr_err_code
ndr_pull_samr_SetAliasInfo(struct ndr_pull
*ndr
, int flags
, struct samr_SetAliasInfo
*r
)
8512 TALLOC_CTX
*_mem_save_alias_handle_0
;
8513 TALLOC_CTX
*_mem_save_info_0
;
8514 if (flags
& NDR_IN
) {
8515 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8516 NDR_PULL_ALLOC(ndr
, r
->in
.alias_handle
);
8518 _mem_save_alias_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8519 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.alias_handle
, LIBNDR_FLAG_REF_ALLOC
);
8520 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
8521 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_alias_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8522 NDR_CHECK(ndr_pull_samr_AliasInfoEnum(ndr
, NDR_SCALARS
, &r
->in
.level
));
8523 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8524 NDR_PULL_ALLOC(ndr
, r
->in
.info
);
8526 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8527 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.info
, LIBNDR_FLAG_REF_ALLOC
);
8528 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
8529 NDR_CHECK(ndr_pull_samr_AliasInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
8530 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
8532 if (flags
& NDR_OUT
) {
8533 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8535 return NDR_ERR_SUCCESS
;
8538 _PUBLIC_
void ndr_print_samr_SetAliasInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_SetAliasInfo
*r
)
8540 ndr_print_struct(ndr
, name
, "samr_SetAliasInfo");
8542 if (flags
& NDR_SET_VALUES
) {
8543 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8545 if (flags
& NDR_IN
) {
8546 ndr_print_struct(ndr
, "in", "samr_SetAliasInfo");
8548 ndr_print_ptr(ndr
, "alias_handle", r
->in
.alias_handle
);
8550 ndr_print_policy_handle(ndr
, "alias_handle", r
->in
.alias_handle
);
8552 ndr_print_samr_AliasInfoEnum(ndr
, "level", r
->in
.level
);
8553 ndr_print_ptr(ndr
, "info", r
->in
.info
);
8555 ndr_print_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
);
8556 ndr_print_samr_AliasInfo(ndr
, "info", r
->in
.info
);
8560 if (flags
& NDR_OUT
) {
8561 ndr_print_struct(ndr
, "out", "samr_SetAliasInfo");
8563 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8569 static enum ndr_err_code
ndr_push_samr_DeleteDomAlias(struct ndr_push
*ndr
, int flags
, const struct samr_DeleteDomAlias
*r
)
8571 if (flags
& NDR_IN
) {
8572 if (r
->in
.alias_handle
== NULL
) {
8573 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8575 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
8577 if (flags
& NDR_OUT
) {
8578 if (r
->out
.alias_handle
== NULL
) {
8579 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8581 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.alias_handle
));
8582 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8584 return NDR_ERR_SUCCESS
;
8587 static enum ndr_err_code
ndr_pull_samr_DeleteDomAlias(struct ndr_pull
*ndr
, int flags
, struct samr_DeleteDomAlias
*r
)
8589 TALLOC_CTX
*_mem_save_alias_handle_0
;
8590 if (flags
& NDR_IN
) {
8591 ZERO_STRUCT(r
->out
);
8593 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8594 NDR_PULL_ALLOC(ndr
, r
->in
.alias_handle
);
8596 _mem_save_alias_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8597 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.alias_handle
, LIBNDR_FLAG_REF_ALLOC
);
8598 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
8599 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_alias_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8600 NDR_PULL_ALLOC(ndr
, r
->out
.alias_handle
);
8601 *r
->out
.alias_handle
= *r
->in
.alias_handle
;
8603 if (flags
& NDR_OUT
) {
8604 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8605 NDR_PULL_ALLOC(ndr
, r
->out
.alias_handle
);
8607 _mem_save_alias_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8608 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.alias_handle
, LIBNDR_FLAG_REF_ALLOC
);
8609 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.alias_handle
));
8610 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_alias_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8611 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8613 return NDR_ERR_SUCCESS
;
8616 _PUBLIC_
void ndr_print_samr_DeleteDomAlias(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_DeleteDomAlias
*r
)
8618 ndr_print_struct(ndr
, name
, "samr_DeleteDomAlias");
8620 if (flags
& NDR_SET_VALUES
) {
8621 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8623 if (flags
& NDR_IN
) {
8624 ndr_print_struct(ndr
, "in", "samr_DeleteDomAlias");
8626 ndr_print_ptr(ndr
, "alias_handle", r
->in
.alias_handle
);
8628 ndr_print_policy_handle(ndr
, "alias_handle", r
->in
.alias_handle
);
8632 if (flags
& NDR_OUT
) {
8633 ndr_print_struct(ndr
, "out", "samr_DeleteDomAlias");
8635 ndr_print_ptr(ndr
, "alias_handle", r
->out
.alias_handle
);
8637 ndr_print_policy_handle(ndr
, "alias_handle", r
->out
.alias_handle
);
8639 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8645 static enum ndr_err_code
ndr_push_samr_AddAliasMember(struct ndr_push
*ndr
, int flags
, const struct samr_AddAliasMember
*r
)
8647 if (flags
& NDR_IN
) {
8648 if (r
->in
.alias_handle
== NULL
) {
8649 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8651 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
8652 if (r
->in
.sid
== NULL
) {
8653 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8655 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
8657 if (flags
& NDR_OUT
) {
8658 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8660 return NDR_ERR_SUCCESS
;
8663 static enum ndr_err_code
ndr_pull_samr_AddAliasMember(struct ndr_pull
*ndr
, int flags
, struct samr_AddAliasMember
*r
)
8665 TALLOC_CTX
*_mem_save_alias_handle_0
;
8666 TALLOC_CTX
*_mem_save_sid_0
;
8667 if (flags
& NDR_IN
) {
8668 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8669 NDR_PULL_ALLOC(ndr
, r
->in
.alias_handle
);
8671 _mem_save_alias_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8672 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.alias_handle
, LIBNDR_FLAG_REF_ALLOC
);
8673 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
8674 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_alias_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8675 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8676 NDR_PULL_ALLOC(ndr
, r
->in
.sid
);
8678 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8679 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sid
, LIBNDR_FLAG_REF_ALLOC
);
8680 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
8681 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, LIBNDR_FLAG_REF_ALLOC
);
8683 if (flags
& NDR_OUT
) {
8684 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8686 return NDR_ERR_SUCCESS
;
8689 _PUBLIC_
void ndr_print_samr_AddAliasMember(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_AddAliasMember
*r
)
8691 ndr_print_struct(ndr
, name
, "samr_AddAliasMember");
8693 if (flags
& NDR_SET_VALUES
) {
8694 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8696 if (flags
& NDR_IN
) {
8697 ndr_print_struct(ndr
, "in", "samr_AddAliasMember");
8699 ndr_print_ptr(ndr
, "alias_handle", r
->in
.alias_handle
);
8701 ndr_print_policy_handle(ndr
, "alias_handle", r
->in
.alias_handle
);
8703 ndr_print_ptr(ndr
, "sid", r
->in
.sid
);
8705 ndr_print_dom_sid2(ndr
, "sid", r
->in
.sid
);
8709 if (flags
& NDR_OUT
) {
8710 ndr_print_struct(ndr
, "out", "samr_AddAliasMember");
8712 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8718 static enum ndr_err_code
ndr_push_samr_DeleteAliasMember(struct ndr_push
*ndr
, int flags
, const struct samr_DeleteAliasMember
*r
)
8720 if (flags
& NDR_IN
) {
8721 if (r
->in
.alias_handle
== NULL
) {
8722 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8724 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
8725 if (r
->in
.sid
== NULL
) {
8726 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8728 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
8730 if (flags
& NDR_OUT
) {
8731 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8733 return NDR_ERR_SUCCESS
;
8736 static enum ndr_err_code
ndr_pull_samr_DeleteAliasMember(struct ndr_pull
*ndr
, int flags
, struct samr_DeleteAliasMember
*r
)
8738 TALLOC_CTX
*_mem_save_alias_handle_0
;
8739 TALLOC_CTX
*_mem_save_sid_0
;
8740 if (flags
& NDR_IN
) {
8741 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8742 NDR_PULL_ALLOC(ndr
, r
->in
.alias_handle
);
8744 _mem_save_alias_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8745 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.alias_handle
, LIBNDR_FLAG_REF_ALLOC
);
8746 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
8747 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_alias_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8748 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8749 NDR_PULL_ALLOC(ndr
, r
->in
.sid
);
8751 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8752 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sid
, LIBNDR_FLAG_REF_ALLOC
);
8753 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
8754 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, LIBNDR_FLAG_REF_ALLOC
);
8756 if (flags
& NDR_OUT
) {
8757 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8759 return NDR_ERR_SUCCESS
;
8762 _PUBLIC_
void ndr_print_samr_DeleteAliasMember(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_DeleteAliasMember
*r
)
8764 ndr_print_struct(ndr
, name
, "samr_DeleteAliasMember");
8766 if (flags
& NDR_SET_VALUES
) {
8767 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8769 if (flags
& NDR_IN
) {
8770 ndr_print_struct(ndr
, "in", "samr_DeleteAliasMember");
8772 ndr_print_ptr(ndr
, "alias_handle", r
->in
.alias_handle
);
8774 ndr_print_policy_handle(ndr
, "alias_handle", r
->in
.alias_handle
);
8776 ndr_print_ptr(ndr
, "sid", r
->in
.sid
);
8778 ndr_print_dom_sid2(ndr
, "sid", r
->in
.sid
);
8782 if (flags
& NDR_OUT
) {
8783 ndr_print_struct(ndr
, "out", "samr_DeleteAliasMember");
8785 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8791 static enum ndr_err_code
ndr_push_samr_GetMembersInAlias(struct ndr_push
*ndr
, int flags
, const struct samr_GetMembersInAlias
*r
)
8793 if (flags
& NDR_IN
) {
8794 if (r
->in
.alias_handle
== NULL
) {
8795 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8797 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
8799 if (flags
& NDR_OUT
) {
8800 if (r
->out
.sids
== NULL
) {
8801 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8803 NDR_CHECK(ndr_push_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.sids
));
8804 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8806 return NDR_ERR_SUCCESS
;
8809 static enum ndr_err_code
ndr_pull_samr_GetMembersInAlias(struct ndr_pull
*ndr
, int flags
, struct samr_GetMembersInAlias
*r
)
8811 TALLOC_CTX
*_mem_save_alias_handle_0
;
8812 TALLOC_CTX
*_mem_save_sids_0
;
8813 if (flags
& NDR_IN
) {
8814 ZERO_STRUCT(r
->out
);
8816 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8817 NDR_PULL_ALLOC(ndr
, r
->in
.alias_handle
);
8819 _mem_save_alias_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8820 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.alias_handle
, LIBNDR_FLAG_REF_ALLOC
);
8821 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
8822 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_alias_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8823 NDR_PULL_ALLOC(ndr
, r
->out
.sids
);
8824 ZERO_STRUCTP(r
->out
.sids
);
8826 if (flags
& NDR_OUT
) {
8827 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8828 NDR_PULL_ALLOC(ndr
, r
->out
.sids
);
8830 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8831 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sids
, LIBNDR_FLAG_REF_ALLOC
);
8832 NDR_CHECK(ndr_pull_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.sids
));
8833 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, LIBNDR_FLAG_REF_ALLOC
);
8834 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8836 return NDR_ERR_SUCCESS
;
8839 _PUBLIC_
void ndr_print_samr_GetMembersInAlias(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_GetMembersInAlias
*r
)
8841 ndr_print_struct(ndr
, name
, "samr_GetMembersInAlias");
8843 if (flags
& NDR_SET_VALUES
) {
8844 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8846 if (flags
& NDR_IN
) {
8847 ndr_print_struct(ndr
, "in", "samr_GetMembersInAlias");
8849 ndr_print_ptr(ndr
, "alias_handle", r
->in
.alias_handle
);
8851 ndr_print_policy_handle(ndr
, "alias_handle", r
->in
.alias_handle
);
8855 if (flags
& NDR_OUT
) {
8856 ndr_print_struct(ndr
, "out", "samr_GetMembersInAlias");
8858 ndr_print_ptr(ndr
, "sids", r
->out
.sids
);
8860 ndr_print_lsa_SidArray(ndr
, "sids", r
->out
.sids
);
8862 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8868 _PUBLIC_
enum ndr_err_code
ndr_push_samr_OpenUser(struct ndr_push
*ndr
, int flags
, const struct samr_OpenUser
*r
)
8870 if (flags
& NDR_IN
) {
8871 if (r
->in
.domain_handle
== NULL
) {
8872 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8874 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
8875 NDR_CHECK(ndr_push_samr_UserAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
8876 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.rid
));
8878 if (flags
& NDR_OUT
) {
8879 if (r
->out
.user_handle
== NULL
) {
8880 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8882 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.user_handle
));
8883 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8885 return NDR_ERR_SUCCESS
;
8888 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_OpenUser(struct ndr_pull
*ndr
, int flags
, struct samr_OpenUser
*r
)
8890 TALLOC_CTX
*_mem_save_domain_handle_0
;
8891 TALLOC_CTX
*_mem_save_user_handle_0
;
8892 if (flags
& NDR_IN
) {
8893 ZERO_STRUCT(r
->out
);
8895 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8896 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
8898 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8899 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
8900 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
8901 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8902 NDR_CHECK(ndr_pull_samr_UserAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
8903 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.rid
));
8904 NDR_PULL_ALLOC(ndr
, r
->out
.user_handle
);
8905 ZERO_STRUCTP(r
->out
.user_handle
);
8907 if (flags
& NDR_OUT
) {
8908 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8909 NDR_PULL_ALLOC(ndr
, r
->out
.user_handle
);
8911 _mem_save_user_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8912 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.user_handle
, LIBNDR_FLAG_REF_ALLOC
);
8913 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.user_handle
));
8914 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_user_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8915 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8917 return NDR_ERR_SUCCESS
;
8920 _PUBLIC_
void ndr_print_samr_OpenUser(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_OpenUser
*r
)
8922 ndr_print_struct(ndr
, name
, "samr_OpenUser");
8924 if (flags
& NDR_SET_VALUES
) {
8925 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8927 if (flags
& NDR_IN
) {
8928 ndr_print_struct(ndr
, "in", "samr_OpenUser");
8930 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
8932 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
8934 ndr_print_samr_UserAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
8935 ndr_print_uint32(ndr
, "rid", r
->in
.rid
);
8938 if (flags
& NDR_OUT
) {
8939 ndr_print_struct(ndr
, "out", "samr_OpenUser");
8941 ndr_print_ptr(ndr
, "user_handle", r
->out
.user_handle
);
8943 ndr_print_policy_handle(ndr
, "user_handle", r
->out
.user_handle
);
8945 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8951 static enum ndr_err_code
ndr_push_samr_DeleteUser(struct ndr_push
*ndr
, int flags
, const struct samr_DeleteUser
*r
)
8953 if (flags
& NDR_IN
) {
8954 if (r
->in
.user_handle
== NULL
) {
8955 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8957 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
8959 if (flags
& NDR_OUT
) {
8960 if (r
->out
.user_handle
== NULL
) {
8961 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8963 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.user_handle
));
8964 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8966 return NDR_ERR_SUCCESS
;
8969 static enum ndr_err_code
ndr_pull_samr_DeleteUser(struct ndr_pull
*ndr
, int flags
, struct samr_DeleteUser
*r
)
8971 TALLOC_CTX
*_mem_save_user_handle_0
;
8972 if (flags
& NDR_IN
) {
8973 ZERO_STRUCT(r
->out
);
8975 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8976 NDR_PULL_ALLOC(ndr
, r
->in
.user_handle
);
8978 _mem_save_user_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8979 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.user_handle
, LIBNDR_FLAG_REF_ALLOC
);
8980 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
8981 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_user_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8982 NDR_PULL_ALLOC(ndr
, r
->out
.user_handle
);
8983 *r
->out
.user_handle
= *r
->in
.user_handle
;
8985 if (flags
& NDR_OUT
) {
8986 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8987 NDR_PULL_ALLOC(ndr
, r
->out
.user_handle
);
8989 _mem_save_user_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8990 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.user_handle
, LIBNDR_FLAG_REF_ALLOC
);
8991 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.user_handle
));
8992 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_user_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8993 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8995 return NDR_ERR_SUCCESS
;
8998 _PUBLIC_
void ndr_print_samr_DeleteUser(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_DeleteUser
*r
)
9000 ndr_print_struct(ndr
, name
, "samr_DeleteUser");
9002 if (flags
& NDR_SET_VALUES
) {
9003 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9005 if (flags
& NDR_IN
) {
9006 ndr_print_struct(ndr
, "in", "samr_DeleteUser");
9008 ndr_print_ptr(ndr
, "user_handle", r
->in
.user_handle
);
9010 ndr_print_policy_handle(ndr
, "user_handle", r
->in
.user_handle
);
9014 if (flags
& NDR_OUT
) {
9015 ndr_print_struct(ndr
, "out", "samr_DeleteUser");
9017 ndr_print_ptr(ndr
, "user_handle", r
->out
.user_handle
);
9019 ndr_print_policy_handle(ndr
, "user_handle", r
->out
.user_handle
);
9021 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9027 _PUBLIC_
enum ndr_err_code
ndr_push_samr_QueryUserInfo(struct ndr_push
*ndr
, int flags
, const struct samr_QueryUserInfo
*r
)
9029 if (flags
& NDR_IN
) {
9030 if (r
->in
.user_handle
== NULL
) {
9031 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9033 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
9034 NDR_CHECK(ndr_push_samr_UserInfoLevel(ndr
, NDR_SCALARS
, r
->in
.level
));
9036 if (flags
& NDR_OUT
) {
9037 if (r
->out
.info
== NULL
) {
9038 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9040 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.info
));
9042 NDR_CHECK(ndr_push_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
9043 NDR_CHECK(ndr_push_samr_UserInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
9045 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9047 return NDR_ERR_SUCCESS
;
9050 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_QueryUserInfo(struct ndr_pull
*ndr
, int flags
, struct samr_QueryUserInfo
*r
)
9053 TALLOC_CTX
*_mem_save_user_handle_0
;
9054 TALLOC_CTX
*_mem_save_info_0
;
9055 TALLOC_CTX
*_mem_save_info_1
;
9056 if (flags
& NDR_IN
) {
9057 ZERO_STRUCT(r
->out
);
9059 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9060 NDR_PULL_ALLOC(ndr
, r
->in
.user_handle
);
9062 _mem_save_user_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9063 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.user_handle
, LIBNDR_FLAG_REF_ALLOC
);
9064 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
9065 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_user_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9066 NDR_CHECK(ndr_pull_samr_UserInfoLevel(ndr
, NDR_SCALARS
, &r
->in
.level
));
9067 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
9068 ZERO_STRUCTP(r
->out
.info
);
9070 if (flags
& NDR_OUT
) {
9071 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9072 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
9074 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9075 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
9076 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
9078 NDR_PULL_ALLOC(ndr
, *r
->out
.info
);
9080 *r
->out
.info
= NULL
;
9083 _mem_save_info_1
= NDR_PULL_GET_MEM_CTX(ndr
);
9084 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.info
, 0);
9085 NDR_CHECK(ndr_pull_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
9086 NDR_CHECK(ndr_pull_samr_UserInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
9087 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_1
, 0);
9089 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
9090 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9092 return NDR_ERR_SUCCESS
;
9095 _PUBLIC_
void ndr_print_samr_QueryUserInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_QueryUserInfo
*r
)
9097 ndr_print_struct(ndr
, name
, "samr_QueryUserInfo");
9099 if (flags
& NDR_SET_VALUES
) {
9100 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9102 if (flags
& NDR_IN
) {
9103 ndr_print_struct(ndr
, "in", "samr_QueryUserInfo");
9105 ndr_print_ptr(ndr
, "user_handle", r
->in
.user_handle
);
9107 ndr_print_policy_handle(ndr
, "user_handle", r
->in
.user_handle
);
9109 ndr_print_samr_UserInfoLevel(ndr
, "level", r
->in
.level
);
9112 if (flags
& NDR_OUT
) {
9113 ndr_print_struct(ndr
, "out", "samr_QueryUserInfo");
9115 ndr_print_ptr(ndr
, "info", r
->out
.info
);
9117 ndr_print_ptr(ndr
, "info", *r
->out
.info
);
9120 ndr_print_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
);
9121 ndr_print_samr_UserInfo(ndr
, "info", *r
->out
.info
);
9125 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9131 _PUBLIC_
enum ndr_err_code
ndr_push_samr_SetUserInfo(struct ndr_push
*ndr
, int flags
, const struct samr_SetUserInfo
*r
)
9133 if (flags
& NDR_IN
) {
9134 if (r
->in
.user_handle
== NULL
) {
9135 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9137 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
9138 NDR_CHECK(ndr_push_samr_UserInfoLevel(ndr
, NDR_SCALARS
, r
->in
.level
));
9139 if (r
->in
.info
== NULL
) {
9140 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9142 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
9143 NDR_CHECK(ndr_push_samr_UserInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
9145 if (flags
& NDR_OUT
) {
9146 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9148 return NDR_ERR_SUCCESS
;
9151 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_SetUserInfo(struct ndr_pull
*ndr
, int flags
, struct samr_SetUserInfo
*r
)
9153 TALLOC_CTX
*_mem_save_user_handle_0
;
9154 TALLOC_CTX
*_mem_save_info_0
;
9155 if (flags
& NDR_IN
) {
9156 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9157 NDR_PULL_ALLOC(ndr
, r
->in
.user_handle
);
9159 _mem_save_user_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9160 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.user_handle
, LIBNDR_FLAG_REF_ALLOC
);
9161 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
9162 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_user_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9163 NDR_CHECK(ndr_pull_samr_UserInfoLevel(ndr
, NDR_SCALARS
, &r
->in
.level
));
9164 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9165 NDR_PULL_ALLOC(ndr
, r
->in
.info
);
9167 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9168 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.info
, LIBNDR_FLAG_REF_ALLOC
);
9169 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
9170 NDR_CHECK(ndr_pull_samr_UserInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
9171 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
9173 if (flags
& NDR_OUT
) {
9174 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9176 return NDR_ERR_SUCCESS
;
9179 _PUBLIC_
void ndr_print_samr_SetUserInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_SetUserInfo
*r
)
9181 ndr_print_struct(ndr
, name
, "samr_SetUserInfo");
9183 if (flags
& NDR_SET_VALUES
) {
9184 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9186 if (flags
& NDR_IN
) {
9187 ndr_print_struct(ndr
, "in", "samr_SetUserInfo");
9189 ndr_print_ptr(ndr
, "user_handle", r
->in
.user_handle
);
9191 ndr_print_policy_handle(ndr
, "user_handle", r
->in
.user_handle
);
9193 ndr_print_samr_UserInfoLevel(ndr
, "level", r
->in
.level
);
9194 ndr_print_ptr(ndr
, "info", r
->in
.info
);
9196 ndr_print_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
);
9197 ndr_print_samr_UserInfo(ndr
, "info", r
->in
.info
);
9201 if (flags
& NDR_OUT
) {
9202 ndr_print_struct(ndr
, "out", "samr_SetUserInfo");
9204 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9210 static enum ndr_err_code
ndr_push_samr_ChangePasswordUser(struct ndr_push
*ndr
, int flags
, const struct samr_ChangePasswordUser
*r
)
9212 if (flags
& NDR_IN
) {
9213 if (r
->in
.user_handle
== NULL
) {
9214 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9216 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
9217 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->in
.lm_present
));
9218 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.old_lm_crypted
));
9219 if (r
->in
.old_lm_crypted
) {
9220 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, r
->in
.old_lm_crypted
));
9222 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.new_lm_crypted
));
9223 if (r
->in
.new_lm_crypted
) {
9224 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, r
->in
.new_lm_crypted
));
9226 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->in
.nt_present
));
9227 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.old_nt_crypted
));
9228 if (r
->in
.old_nt_crypted
) {
9229 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, r
->in
.old_nt_crypted
));
9231 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.new_nt_crypted
));
9232 if (r
->in
.new_nt_crypted
) {
9233 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, r
->in
.new_nt_crypted
));
9235 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->in
.cross1_present
));
9236 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.nt_cross
));
9237 if (r
->in
.nt_cross
) {
9238 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, r
->in
.nt_cross
));
9240 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->in
.cross2_present
));
9241 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.lm_cross
));
9242 if (r
->in
.lm_cross
) {
9243 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, r
->in
.lm_cross
));
9246 if (flags
& NDR_OUT
) {
9247 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9249 return NDR_ERR_SUCCESS
;
9252 static enum ndr_err_code
ndr_pull_samr_ChangePasswordUser(struct ndr_pull
*ndr
, int flags
, struct samr_ChangePasswordUser
*r
)
9254 uint32_t _ptr_old_lm_crypted
;
9255 uint32_t _ptr_new_lm_crypted
;
9256 uint32_t _ptr_old_nt_crypted
;
9257 uint32_t _ptr_new_nt_crypted
;
9258 uint32_t _ptr_nt_cross
;
9259 uint32_t _ptr_lm_cross
;
9260 TALLOC_CTX
*_mem_save_user_handle_0
;
9261 TALLOC_CTX
*_mem_save_old_lm_crypted_0
;
9262 TALLOC_CTX
*_mem_save_new_lm_crypted_0
;
9263 TALLOC_CTX
*_mem_save_old_nt_crypted_0
;
9264 TALLOC_CTX
*_mem_save_new_nt_crypted_0
;
9265 TALLOC_CTX
*_mem_save_nt_cross_0
;
9266 TALLOC_CTX
*_mem_save_lm_cross_0
;
9267 if (flags
& NDR_IN
) {
9268 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9269 NDR_PULL_ALLOC(ndr
, r
->in
.user_handle
);
9271 _mem_save_user_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9272 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.user_handle
, LIBNDR_FLAG_REF_ALLOC
);
9273 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
9274 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_user_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9275 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->in
.lm_present
));
9276 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_old_lm_crypted
));
9277 if (_ptr_old_lm_crypted
) {
9278 NDR_PULL_ALLOC(ndr
, r
->in
.old_lm_crypted
);
9280 r
->in
.old_lm_crypted
= NULL
;
9282 if (r
->in
.old_lm_crypted
) {
9283 _mem_save_old_lm_crypted_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9284 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.old_lm_crypted
, 0);
9285 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, r
->in
.old_lm_crypted
));
9286 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_old_lm_crypted_0
, 0);
9288 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_new_lm_crypted
));
9289 if (_ptr_new_lm_crypted
) {
9290 NDR_PULL_ALLOC(ndr
, r
->in
.new_lm_crypted
);
9292 r
->in
.new_lm_crypted
= NULL
;
9294 if (r
->in
.new_lm_crypted
) {
9295 _mem_save_new_lm_crypted_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9296 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.new_lm_crypted
, 0);
9297 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, r
->in
.new_lm_crypted
));
9298 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_new_lm_crypted_0
, 0);
9300 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->in
.nt_present
));
9301 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_old_nt_crypted
));
9302 if (_ptr_old_nt_crypted
) {
9303 NDR_PULL_ALLOC(ndr
, r
->in
.old_nt_crypted
);
9305 r
->in
.old_nt_crypted
= NULL
;
9307 if (r
->in
.old_nt_crypted
) {
9308 _mem_save_old_nt_crypted_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9309 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.old_nt_crypted
, 0);
9310 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, r
->in
.old_nt_crypted
));
9311 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_old_nt_crypted_0
, 0);
9313 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_new_nt_crypted
));
9314 if (_ptr_new_nt_crypted
) {
9315 NDR_PULL_ALLOC(ndr
, r
->in
.new_nt_crypted
);
9317 r
->in
.new_nt_crypted
= NULL
;
9319 if (r
->in
.new_nt_crypted
) {
9320 _mem_save_new_nt_crypted_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9321 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.new_nt_crypted
, 0);
9322 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, r
->in
.new_nt_crypted
));
9323 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_new_nt_crypted_0
, 0);
9325 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->in
.cross1_present
));
9326 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_nt_cross
));
9327 if (_ptr_nt_cross
) {
9328 NDR_PULL_ALLOC(ndr
, r
->in
.nt_cross
);
9330 r
->in
.nt_cross
= NULL
;
9332 if (r
->in
.nt_cross
) {
9333 _mem_save_nt_cross_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9334 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.nt_cross
, 0);
9335 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, r
->in
.nt_cross
));
9336 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_nt_cross_0
, 0);
9338 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->in
.cross2_present
));
9339 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_lm_cross
));
9340 if (_ptr_lm_cross
) {
9341 NDR_PULL_ALLOC(ndr
, r
->in
.lm_cross
);
9343 r
->in
.lm_cross
= NULL
;
9345 if (r
->in
.lm_cross
) {
9346 _mem_save_lm_cross_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9347 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.lm_cross
, 0);
9348 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, r
->in
.lm_cross
));
9349 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_lm_cross_0
, 0);
9352 if (flags
& NDR_OUT
) {
9353 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9355 return NDR_ERR_SUCCESS
;
9358 _PUBLIC_
void ndr_print_samr_ChangePasswordUser(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_ChangePasswordUser
*r
)
9360 ndr_print_struct(ndr
, name
, "samr_ChangePasswordUser");
9362 if (flags
& NDR_SET_VALUES
) {
9363 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9365 if (flags
& NDR_IN
) {
9366 ndr_print_struct(ndr
, "in", "samr_ChangePasswordUser");
9368 ndr_print_ptr(ndr
, "user_handle", r
->in
.user_handle
);
9370 ndr_print_policy_handle(ndr
, "user_handle", r
->in
.user_handle
);
9372 ndr_print_uint8(ndr
, "lm_present", r
->in
.lm_present
);
9373 ndr_print_ptr(ndr
, "old_lm_crypted", r
->in
.old_lm_crypted
);
9375 if (r
->in
.old_lm_crypted
) {
9376 ndr_print_samr_Password(ndr
, "old_lm_crypted", r
->in
.old_lm_crypted
);
9379 ndr_print_ptr(ndr
, "new_lm_crypted", r
->in
.new_lm_crypted
);
9381 if (r
->in
.new_lm_crypted
) {
9382 ndr_print_samr_Password(ndr
, "new_lm_crypted", r
->in
.new_lm_crypted
);
9385 ndr_print_uint8(ndr
, "nt_present", r
->in
.nt_present
);
9386 ndr_print_ptr(ndr
, "old_nt_crypted", r
->in
.old_nt_crypted
);
9388 if (r
->in
.old_nt_crypted
) {
9389 ndr_print_samr_Password(ndr
, "old_nt_crypted", r
->in
.old_nt_crypted
);
9392 ndr_print_ptr(ndr
, "new_nt_crypted", r
->in
.new_nt_crypted
);
9394 if (r
->in
.new_nt_crypted
) {
9395 ndr_print_samr_Password(ndr
, "new_nt_crypted", r
->in
.new_nt_crypted
);
9398 ndr_print_uint8(ndr
, "cross1_present", r
->in
.cross1_present
);
9399 ndr_print_ptr(ndr
, "nt_cross", r
->in
.nt_cross
);
9401 if (r
->in
.nt_cross
) {
9402 ndr_print_samr_Password(ndr
, "nt_cross", r
->in
.nt_cross
);
9405 ndr_print_uint8(ndr
, "cross2_present", r
->in
.cross2_present
);
9406 ndr_print_ptr(ndr
, "lm_cross", r
->in
.lm_cross
);
9408 if (r
->in
.lm_cross
) {
9409 ndr_print_samr_Password(ndr
, "lm_cross", r
->in
.lm_cross
);
9414 if (flags
& NDR_OUT
) {
9415 ndr_print_struct(ndr
, "out", "samr_ChangePasswordUser");
9417 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9423 static enum ndr_err_code
ndr_push_samr_GetGroupsForUser(struct ndr_push
*ndr
, int flags
, const struct samr_GetGroupsForUser
*r
)
9425 if (flags
& NDR_IN
) {
9426 if (r
->in
.user_handle
== NULL
) {
9427 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9429 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
9431 if (flags
& NDR_OUT
) {
9432 if (r
->out
.rids
== NULL
) {
9433 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9435 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.rids
));
9437 NDR_CHECK(ndr_push_samr_RidWithAttributeArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.rids
));
9439 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9441 return NDR_ERR_SUCCESS
;
9444 static enum ndr_err_code
ndr_pull_samr_GetGroupsForUser(struct ndr_pull
*ndr
, int flags
, struct samr_GetGroupsForUser
*r
)
9447 TALLOC_CTX
*_mem_save_user_handle_0
;
9448 TALLOC_CTX
*_mem_save_rids_0
;
9449 TALLOC_CTX
*_mem_save_rids_1
;
9450 if (flags
& NDR_IN
) {
9451 ZERO_STRUCT(r
->out
);
9453 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9454 NDR_PULL_ALLOC(ndr
, r
->in
.user_handle
);
9456 _mem_save_user_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9457 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.user_handle
, LIBNDR_FLAG_REF_ALLOC
);
9458 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
9459 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_user_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9460 NDR_PULL_ALLOC(ndr
, r
->out
.rids
);
9461 ZERO_STRUCTP(r
->out
.rids
);
9463 if (flags
& NDR_OUT
) {
9464 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9465 NDR_PULL_ALLOC(ndr
, r
->out
.rids
);
9467 _mem_save_rids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9468 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.rids
, LIBNDR_FLAG_REF_ALLOC
);
9469 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_rids
));
9471 NDR_PULL_ALLOC(ndr
, *r
->out
.rids
);
9473 *r
->out
.rids
= NULL
;
9476 _mem_save_rids_1
= NDR_PULL_GET_MEM_CTX(ndr
);
9477 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.rids
, 0);
9478 NDR_CHECK(ndr_pull_samr_RidWithAttributeArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.rids
));
9479 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rids_1
, 0);
9481 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rids_0
, LIBNDR_FLAG_REF_ALLOC
);
9482 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9484 return NDR_ERR_SUCCESS
;
9487 _PUBLIC_
void ndr_print_samr_GetGroupsForUser(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_GetGroupsForUser
*r
)
9489 ndr_print_struct(ndr
, name
, "samr_GetGroupsForUser");
9491 if (flags
& NDR_SET_VALUES
) {
9492 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9494 if (flags
& NDR_IN
) {
9495 ndr_print_struct(ndr
, "in", "samr_GetGroupsForUser");
9497 ndr_print_ptr(ndr
, "user_handle", r
->in
.user_handle
);
9499 ndr_print_policy_handle(ndr
, "user_handle", r
->in
.user_handle
);
9503 if (flags
& NDR_OUT
) {
9504 ndr_print_struct(ndr
, "out", "samr_GetGroupsForUser");
9506 ndr_print_ptr(ndr
, "rids", r
->out
.rids
);
9508 ndr_print_ptr(ndr
, "rids", *r
->out
.rids
);
9511 ndr_print_samr_RidWithAttributeArray(ndr
, "rids", *r
->out
.rids
);
9515 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9521 static enum ndr_err_code
ndr_push_samr_QueryDisplayInfo(struct ndr_push
*ndr
, int flags
, const struct samr_QueryDisplayInfo
*r
)
9523 if (flags
& NDR_IN
) {
9524 if (r
->in
.domain_handle
== NULL
) {
9525 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9527 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
9528 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->in
.level
));
9529 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.start_idx
));
9530 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.max_entries
));
9531 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.buf_size
));
9533 if (flags
& NDR_OUT
) {
9534 if (r
->out
.total_size
== NULL
) {
9535 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9537 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.total_size
));
9538 if (r
->out
.returned_size
== NULL
) {
9539 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9541 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.returned_size
));
9542 if (r
->out
.info
== NULL
) {
9543 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9545 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.info
, r
->in
.level
));
9546 NDR_CHECK(ndr_push_samr_DispInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.info
));
9547 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9549 return NDR_ERR_SUCCESS
;
9552 static enum ndr_err_code
ndr_pull_samr_QueryDisplayInfo(struct ndr_pull
*ndr
, int flags
, struct samr_QueryDisplayInfo
*r
)
9554 TALLOC_CTX
*_mem_save_domain_handle_0
;
9555 TALLOC_CTX
*_mem_save_total_size_0
;
9556 TALLOC_CTX
*_mem_save_returned_size_0
;
9557 TALLOC_CTX
*_mem_save_info_0
;
9558 if (flags
& NDR_IN
) {
9559 ZERO_STRUCT(r
->out
);
9561 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9562 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
9564 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9565 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
9566 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
9567 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9568 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->in
.level
));
9569 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.start_idx
));
9570 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.max_entries
));
9571 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.buf_size
));
9572 NDR_PULL_ALLOC(ndr
, r
->out
.total_size
);
9573 ZERO_STRUCTP(r
->out
.total_size
);
9574 NDR_PULL_ALLOC(ndr
, r
->out
.returned_size
);
9575 ZERO_STRUCTP(r
->out
.returned_size
);
9576 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
9577 ZERO_STRUCTP(r
->out
.info
);
9579 if (flags
& NDR_OUT
) {
9580 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9581 NDR_PULL_ALLOC(ndr
, r
->out
.total_size
);
9583 _mem_save_total_size_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9584 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.total_size
, LIBNDR_FLAG_REF_ALLOC
);
9585 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.total_size
));
9586 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_total_size_0
, LIBNDR_FLAG_REF_ALLOC
);
9587 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9588 NDR_PULL_ALLOC(ndr
, r
->out
.returned_size
);
9590 _mem_save_returned_size_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9591 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.returned_size
, LIBNDR_FLAG_REF_ALLOC
);
9592 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.returned_size
));
9593 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_returned_size_0
, LIBNDR_FLAG_REF_ALLOC
);
9594 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9595 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
9597 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9598 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
9599 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.info
, r
->in
.level
));
9600 NDR_CHECK(ndr_pull_samr_DispInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.info
));
9601 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
9602 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9604 return NDR_ERR_SUCCESS
;
9607 _PUBLIC_
void ndr_print_samr_QueryDisplayInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_QueryDisplayInfo
*r
)
9609 ndr_print_struct(ndr
, name
, "samr_QueryDisplayInfo");
9611 if (flags
& NDR_SET_VALUES
) {
9612 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9614 if (flags
& NDR_IN
) {
9615 ndr_print_struct(ndr
, "in", "samr_QueryDisplayInfo");
9617 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
9619 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
9621 ndr_print_uint16(ndr
, "level", r
->in
.level
);
9622 ndr_print_uint32(ndr
, "start_idx", r
->in
.start_idx
);
9623 ndr_print_uint32(ndr
, "max_entries", r
->in
.max_entries
);
9624 ndr_print_uint32(ndr
, "buf_size", r
->in
.buf_size
);
9627 if (flags
& NDR_OUT
) {
9628 ndr_print_struct(ndr
, "out", "samr_QueryDisplayInfo");
9630 ndr_print_ptr(ndr
, "total_size", r
->out
.total_size
);
9632 ndr_print_uint32(ndr
, "total_size", *r
->out
.total_size
);
9634 ndr_print_ptr(ndr
, "returned_size", r
->out
.returned_size
);
9636 ndr_print_uint32(ndr
, "returned_size", *r
->out
.returned_size
);
9638 ndr_print_ptr(ndr
, "info", r
->out
.info
);
9640 ndr_print_set_switch_value(ndr
, r
->out
.info
, r
->in
.level
);
9641 ndr_print_samr_DispInfo(ndr
, "info", r
->out
.info
);
9643 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9649 static enum ndr_err_code
ndr_push_samr_GetDisplayEnumerationIndex(struct ndr_push
*ndr
, int flags
, const struct samr_GetDisplayEnumerationIndex
*r
)
9651 if (flags
& NDR_IN
) {
9652 if (r
->in
.domain_handle
== NULL
) {
9653 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9655 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
9656 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->in
.level
));
9657 if (r
->in
.name
== NULL
) {
9658 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9660 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.name
));
9662 if (flags
& NDR_OUT
) {
9663 if (r
->out
.idx
== NULL
) {
9664 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9666 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.idx
));
9667 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9669 return NDR_ERR_SUCCESS
;
9672 static enum ndr_err_code
ndr_pull_samr_GetDisplayEnumerationIndex(struct ndr_pull
*ndr
, int flags
, struct samr_GetDisplayEnumerationIndex
*r
)
9674 TALLOC_CTX
*_mem_save_domain_handle_0
;
9675 TALLOC_CTX
*_mem_save_name_0
;
9676 TALLOC_CTX
*_mem_save_idx_0
;
9677 if (flags
& NDR_IN
) {
9678 ZERO_STRUCT(r
->out
);
9680 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9681 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
9683 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9684 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
9685 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
9686 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9687 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->in
.level
));
9688 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9689 NDR_PULL_ALLOC(ndr
, r
->in
.name
);
9691 _mem_save_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9692 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.name
, LIBNDR_FLAG_REF_ALLOC
);
9693 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.name
));
9694 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_name_0
, LIBNDR_FLAG_REF_ALLOC
);
9695 NDR_PULL_ALLOC(ndr
, r
->out
.idx
);
9696 ZERO_STRUCTP(r
->out
.idx
);
9698 if (flags
& NDR_OUT
) {
9699 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9700 NDR_PULL_ALLOC(ndr
, r
->out
.idx
);
9702 _mem_save_idx_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9703 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.idx
, LIBNDR_FLAG_REF_ALLOC
);
9704 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.idx
));
9705 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_idx_0
, LIBNDR_FLAG_REF_ALLOC
);
9706 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9708 return NDR_ERR_SUCCESS
;
9711 _PUBLIC_
void ndr_print_samr_GetDisplayEnumerationIndex(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_GetDisplayEnumerationIndex
*r
)
9713 ndr_print_struct(ndr
, name
, "samr_GetDisplayEnumerationIndex");
9715 if (flags
& NDR_SET_VALUES
) {
9716 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9718 if (flags
& NDR_IN
) {
9719 ndr_print_struct(ndr
, "in", "samr_GetDisplayEnumerationIndex");
9721 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
9723 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
9725 ndr_print_uint16(ndr
, "level", r
->in
.level
);
9726 ndr_print_ptr(ndr
, "name", r
->in
.name
);
9728 ndr_print_lsa_String(ndr
, "name", r
->in
.name
);
9732 if (flags
& NDR_OUT
) {
9733 ndr_print_struct(ndr
, "out", "samr_GetDisplayEnumerationIndex");
9735 ndr_print_ptr(ndr
, "idx", r
->out
.idx
);
9737 ndr_print_uint32(ndr
, "idx", *r
->out
.idx
);
9739 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9745 static enum ndr_err_code
ndr_push_samr_TestPrivateFunctionsDomain(struct ndr_push
*ndr
, int flags
, const struct samr_TestPrivateFunctionsDomain
*r
)
9747 if (flags
& NDR_IN
) {
9748 if (r
->in
.domain_handle
== NULL
) {
9749 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9751 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
9753 if (flags
& NDR_OUT
) {
9754 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9756 return NDR_ERR_SUCCESS
;
9759 static enum ndr_err_code
ndr_pull_samr_TestPrivateFunctionsDomain(struct ndr_pull
*ndr
, int flags
, struct samr_TestPrivateFunctionsDomain
*r
)
9761 TALLOC_CTX
*_mem_save_domain_handle_0
;
9762 if (flags
& NDR_IN
) {
9763 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9764 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
9766 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9767 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
9768 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
9769 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9771 if (flags
& NDR_OUT
) {
9772 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9774 return NDR_ERR_SUCCESS
;
9777 _PUBLIC_
void ndr_print_samr_TestPrivateFunctionsDomain(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_TestPrivateFunctionsDomain
*r
)
9779 ndr_print_struct(ndr
, name
, "samr_TestPrivateFunctionsDomain");
9781 if (flags
& NDR_SET_VALUES
) {
9782 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9784 if (flags
& NDR_IN
) {
9785 ndr_print_struct(ndr
, "in", "samr_TestPrivateFunctionsDomain");
9787 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
9789 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
9793 if (flags
& NDR_OUT
) {
9794 ndr_print_struct(ndr
, "out", "samr_TestPrivateFunctionsDomain");
9796 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9802 static enum ndr_err_code
ndr_push_samr_TestPrivateFunctionsUser(struct ndr_push
*ndr
, int flags
, const struct samr_TestPrivateFunctionsUser
*r
)
9804 if (flags
& NDR_IN
) {
9805 if (r
->in
.user_handle
== NULL
) {
9806 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9808 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
9810 if (flags
& NDR_OUT
) {
9811 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9813 return NDR_ERR_SUCCESS
;
9816 static enum ndr_err_code
ndr_pull_samr_TestPrivateFunctionsUser(struct ndr_pull
*ndr
, int flags
, struct samr_TestPrivateFunctionsUser
*r
)
9818 TALLOC_CTX
*_mem_save_user_handle_0
;
9819 if (flags
& NDR_IN
) {
9820 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9821 NDR_PULL_ALLOC(ndr
, r
->in
.user_handle
);
9823 _mem_save_user_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9824 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.user_handle
, LIBNDR_FLAG_REF_ALLOC
);
9825 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
9826 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_user_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9828 if (flags
& NDR_OUT
) {
9829 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9831 return NDR_ERR_SUCCESS
;
9834 _PUBLIC_
void ndr_print_samr_TestPrivateFunctionsUser(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_TestPrivateFunctionsUser
*r
)
9836 ndr_print_struct(ndr
, name
, "samr_TestPrivateFunctionsUser");
9838 if (flags
& NDR_SET_VALUES
) {
9839 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9841 if (flags
& NDR_IN
) {
9842 ndr_print_struct(ndr
, "in", "samr_TestPrivateFunctionsUser");
9844 ndr_print_ptr(ndr
, "user_handle", r
->in
.user_handle
);
9846 ndr_print_policy_handle(ndr
, "user_handle", r
->in
.user_handle
);
9850 if (flags
& NDR_OUT
) {
9851 ndr_print_struct(ndr
, "out", "samr_TestPrivateFunctionsUser");
9853 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9859 _PUBLIC_
enum ndr_err_code
ndr_push_samr_GetUserPwInfo(struct ndr_push
*ndr
, int flags
, const struct samr_GetUserPwInfo
*r
)
9861 if (flags
& NDR_IN
) {
9862 if (r
->in
.user_handle
== NULL
) {
9863 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9865 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
9867 if (flags
& NDR_OUT
) {
9868 if (r
->out
.info
== NULL
) {
9869 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9871 NDR_CHECK(ndr_push_samr_PwInfo(ndr
, NDR_SCALARS
, r
->out
.info
));
9872 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9874 return NDR_ERR_SUCCESS
;
9877 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_GetUserPwInfo(struct ndr_pull
*ndr
, int flags
, struct samr_GetUserPwInfo
*r
)
9879 TALLOC_CTX
*_mem_save_user_handle_0
;
9880 TALLOC_CTX
*_mem_save_info_0
;
9881 if (flags
& NDR_IN
) {
9882 ZERO_STRUCT(r
->out
);
9884 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9885 NDR_PULL_ALLOC(ndr
, r
->in
.user_handle
);
9887 _mem_save_user_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9888 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.user_handle
, LIBNDR_FLAG_REF_ALLOC
);
9889 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
9890 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_user_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9891 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
9892 ZERO_STRUCTP(r
->out
.info
);
9894 if (flags
& NDR_OUT
) {
9895 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9896 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
9898 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9899 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
9900 NDR_CHECK(ndr_pull_samr_PwInfo(ndr
, NDR_SCALARS
, r
->out
.info
));
9901 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
9902 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9904 return NDR_ERR_SUCCESS
;
9907 _PUBLIC_
void ndr_print_samr_GetUserPwInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_GetUserPwInfo
*r
)
9909 ndr_print_struct(ndr
, name
, "samr_GetUserPwInfo");
9911 if (flags
& NDR_SET_VALUES
) {
9912 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9914 if (flags
& NDR_IN
) {
9915 ndr_print_struct(ndr
, "in", "samr_GetUserPwInfo");
9917 ndr_print_ptr(ndr
, "user_handle", r
->in
.user_handle
);
9919 ndr_print_policy_handle(ndr
, "user_handle", r
->in
.user_handle
);
9923 if (flags
& NDR_OUT
) {
9924 ndr_print_struct(ndr
, "out", "samr_GetUserPwInfo");
9926 ndr_print_ptr(ndr
, "info", r
->out
.info
);
9928 ndr_print_samr_PwInfo(ndr
, "info", r
->out
.info
);
9930 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9936 static enum ndr_err_code
ndr_push_samr_RemoveMemberFromForeignDomain(struct ndr_push
*ndr
, int flags
, const struct samr_RemoveMemberFromForeignDomain
*r
)
9938 if (flags
& NDR_IN
) {
9939 if (r
->in
.domain_handle
== NULL
) {
9940 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9942 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
9943 if (r
->in
.sid
== NULL
) {
9944 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9946 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
9948 if (flags
& NDR_OUT
) {
9949 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9951 return NDR_ERR_SUCCESS
;
9954 static enum ndr_err_code
ndr_pull_samr_RemoveMemberFromForeignDomain(struct ndr_pull
*ndr
, int flags
, struct samr_RemoveMemberFromForeignDomain
*r
)
9956 TALLOC_CTX
*_mem_save_domain_handle_0
;
9957 TALLOC_CTX
*_mem_save_sid_0
;
9958 if (flags
& NDR_IN
) {
9959 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9960 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
9962 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9963 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
9964 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
9965 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9966 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9967 NDR_PULL_ALLOC(ndr
, r
->in
.sid
);
9969 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9970 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sid
, LIBNDR_FLAG_REF_ALLOC
);
9971 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
9972 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, LIBNDR_FLAG_REF_ALLOC
);
9974 if (flags
& NDR_OUT
) {
9975 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9977 return NDR_ERR_SUCCESS
;
9980 _PUBLIC_
void ndr_print_samr_RemoveMemberFromForeignDomain(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_RemoveMemberFromForeignDomain
*r
)
9982 ndr_print_struct(ndr
, name
, "samr_RemoveMemberFromForeignDomain");
9984 if (flags
& NDR_SET_VALUES
) {
9985 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9987 if (flags
& NDR_IN
) {
9988 ndr_print_struct(ndr
, "in", "samr_RemoveMemberFromForeignDomain");
9990 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
9992 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
9994 ndr_print_ptr(ndr
, "sid", r
->in
.sid
);
9996 ndr_print_dom_sid2(ndr
, "sid", r
->in
.sid
);
10000 if (flags
& NDR_OUT
) {
10001 ndr_print_struct(ndr
, "out", "samr_RemoveMemberFromForeignDomain");
10003 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10009 static enum ndr_err_code
ndr_push_samr_QueryDomainInfo2(struct ndr_push
*ndr
, int flags
, const struct samr_QueryDomainInfo2
*r
)
10011 if (flags
& NDR_IN
) {
10012 if (r
->in
.domain_handle
== NULL
) {
10013 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10015 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
10016 NDR_CHECK(ndr_push_samr_DomainInfoClass(ndr
, NDR_SCALARS
, r
->in
.level
));
10018 if (flags
& NDR_OUT
) {
10019 if (r
->out
.info
== NULL
) {
10020 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10022 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.info
));
10023 if (*r
->out
.info
) {
10024 NDR_CHECK(ndr_push_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
10025 NDR_CHECK(ndr_push_samr_DomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
10027 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10029 return NDR_ERR_SUCCESS
;
10032 static enum ndr_err_code
ndr_pull_samr_QueryDomainInfo2(struct ndr_pull
*ndr
, int flags
, struct samr_QueryDomainInfo2
*r
)
10034 uint32_t _ptr_info
;
10035 TALLOC_CTX
*_mem_save_domain_handle_0
;
10036 TALLOC_CTX
*_mem_save_info_0
;
10037 TALLOC_CTX
*_mem_save_info_1
;
10038 if (flags
& NDR_IN
) {
10039 ZERO_STRUCT(r
->out
);
10041 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10042 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
10044 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10045 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
10046 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
10047 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10048 NDR_CHECK(ndr_pull_samr_DomainInfoClass(ndr
, NDR_SCALARS
, &r
->in
.level
));
10049 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
10050 ZERO_STRUCTP(r
->out
.info
);
10052 if (flags
& NDR_OUT
) {
10053 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10054 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
10056 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10057 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
10058 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
10060 NDR_PULL_ALLOC(ndr
, *r
->out
.info
);
10062 *r
->out
.info
= NULL
;
10064 if (*r
->out
.info
) {
10065 _mem_save_info_1
= NDR_PULL_GET_MEM_CTX(ndr
);
10066 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.info
, 0);
10067 NDR_CHECK(ndr_pull_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
10068 NDR_CHECK(ndr_pull_samr_DomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
10069 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_1
, 0);
10071 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
10072 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10074 return NDR_ERR_SUCCESS
;
10077 _PUBLIC_
void ndr_print_samr_QueryDomainInfo2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_QueryDomainInfo2
*r
)
10079 ndr_print_struct(ndr
, name
, "samr_QueryDomainInfo2");
10081 if (flags
& NDR_SET_VALUES
) {
10082 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10084 if (flags
& NDR_IN
) {
10085 ndr_print_struct(ndr
, "in", "samr_QueryDomainInfo2");
10087 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
10089 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
10091 ndr_print_samr_DomainInfoClass(ndr
, "level", r
->in
.level
);
10094 if (flags
& NDR_OUT
) {
10095 ndr_print_struct(ndr
, "out", "samr_QueryDomainInfo2");
10097 ndr_print_ptr(ndr
, "info", r
->out
.info
);
10099 ndr_print_ptr(ndr
, "info", *r
->out
.info
);
10101 if (*r
->out
.info
) {
10102 ndr_print_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
);
10103 ndr_print_samr_DomainInfo(ndr
, "info", *r
->out
.info
);
10107 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10113 static enum ndr_err_code
ndr_push_samr_QueryUserInfo2(struct ndr_push
*ndr
, int flags
, const struct samr_QueryUserInfo2
*r
)
10115 if (flags
& NDR_IN
) {
10116 if (r
->in
.user_handle
== NULL
) {
10117 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10119 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
10120 NDR_CHECK(ndr_push_samr_UserInfoLevel(ndr
, NDR_SCALARS
, r
->in
.level
));
10122 if (flags
& NDR_OUT
) {
10123 if (r
->out
.info
== NULL
) {
10124 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10126 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.info
));
10127 if (*r
->out
.info
) {
10128 NDR_CHECK(ndr_push_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
10129 NDR_CHECK(ndr_push_samr_UserInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
10131 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10133 return NDR_ERR_SUCCESS
;
10136 static enum ndr_err_code
ndr_pull_samr_QueryUserInfo2(struct ndr_pull
*ndr
, int flags
, struct samr_QueryUserInfo2
*r
)
10138 uint32_t _ptr_info
;
10139 TALLOC_CTX
*_mem_save_user_handle_0
;
10140 TALLOC_CTX
*_mem_save_info_0
;
10141 TALLOC_CTX
*_mem_save_info_1
;
10142 if (flags
& NDR_IN
) {
10143 ZERO_STRUCT(r
->out
);
10145 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10146 NDR_PULL_ALLOC(ndr
, r
->in
.user_handle
);
10148 _mem_save_user_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10149 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.user_handle
, LIBNDR_FLAG_REF_ALLOC
);
10150 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
10151 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_user_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10152 NDR_CHECK(ndr_pull_samr_UserInfoLevel(ndr
, NDR_SCALARS
, &r
->in
.level
));
10153 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
10154 ZERO_STRUCTP(r
->out
.info
);
10156 if (flags
& NDR_OUT
) {
10157 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10158 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
10160 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10161 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
10162 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
10164 NDR_PULL_ALLOC(ndr
, *r
->out
.info
);
10166 *r
->out
.info
= NULL
;
10168 if (*r
->out
.info
) {
10169 _mem_save_info_1
= NDR_PULL_GET_MEM_CTX(ndr
);
10170 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.info
, 0);
10171 NDR_CHECK(ndr_pull_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
10172 NDR_CHECK(ndr_pull_samr_UserInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
10173 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_1
, 0);
10175 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
10176 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10178 return NDR_ERR_SUCCESS
;
10181 _PUBLIC_
void ndr_print_samr_QueryUserInfo2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_QueryUserInfo2
*r
)
10183 ndr_print_struct(ndr
, name
, "samr_QueryUserInfo2");
10185 if (flags
& NDR_SET_VALUES
) {
10186 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10188 if (flags
& NDR_IN
) {
10189 ndr_print_struct(ndr
, "in", "samr_QueryUserInfo2");
10191 ndr_print_ptr(ndr
, "user_handle", r
->in
.user_handle
);
10193 ndr_print_policy_handle(ndr
, "user_handle", r
->in
.user_handle
);
10195 ndr_print_samr_UserInfoLevel(ndr
, "level", r
->in
.level
);
10198 if (flags
& NDR_OUT
) {
10199 ndr_print_struct(ndr
, "out", "samr_QueryUserInfo2");
10201 ndr_print_ptr(ndr
, "info", r
->out
.info
);
10203 ndr_print_ptr(ndr
, "info", *r
->out
.info
);
10205 if (*r
->out
.info
) {
10206 ndr_print_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
);
10207 ndr_print_samr_UserInfo(ndr
, "info", *r
->out
.info
);
10211 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10217 static enum ndr_err_code
ndr_push_samr_QueryDisplayInfo2(struct ndr_push
*ndr
, int flags
, const struct samr_QueryDisplayInfo2
*r
)
10219 if (flags
& NDR_IN
) {
10220 if (r
->in
.domain_handle
== NULL
) {
10221 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10223 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
10224 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->in
.level
));
10225 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.start_idx
));
10226 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.max_entries
));
10227 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.buf_size
));
10229 if (flags
& NDR_OUT
) {
10230 if (r
->out
.total_size
== NULL
) {
10231 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10233 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.total_size
));
10234 if (r
->out
.returned_size
== NULL
) {
10235 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10237 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.returned_size
));
10238 if (r
->out
.info
== NULL
) {
10239 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10241 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.info
, r
->in
.level
));
10242 NDR_CHECK(ndr_push_samr_DispInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.info
));
10243 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10245 return NDR_ERR_SUCCESS
;
10248 static enum ndr_err_code
ndr_pull_samr_QueryDisplayInfo2(struct ndr_pull
*ndr
, int flags
, struct samr_QueryDisplayInfo2
*r
)
10250 TALLOC_CTX
*_mem_save_domain_handle_0
;
10251 TALLOC_CTX
*_mem_save_total_size_0
;
10252 TALLOC_CTX
*_mem_save_returned_size_0
;
10253 TALLOC_CTX
*_mem_save_info_0
;
10254 if (flags
& NDR_IN
) {
10255 ZERO_STRUCT(r
->out
);
10257 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10258 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
10260 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10261 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
10262 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
10263 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10264 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->in
.level
));
10265 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.start_idx
));
10266 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.max_entries
));
10267 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.buf_size
));
10268 NDR_PULL_ALLOC(ndr
, r
->out
.total_size
);
10269 ZERO_STRUCTP(r
->out
.total_size
);
10270 NDR_PULL_ALLOC(ndr
, r
->out
.returned_size
);
10271 ZERO_STRUCTP(r
->out
.returned_size
);
10272 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
10273 ZERO_STRUCTP(r
->out
.info
);
10275 if (flags
& NDR_OUT
) {
10276 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10277 NDR_PULL_ALLOC(ndr
, r
->out
.total_size
);
10279 _mem_save_total_size_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10280 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.total_size
, LIBNDR_FLAG_REF_ALLOC
);
10281 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.total_size
));
10282 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_total_size_0
, LIBNDR_FLAG_REF_ALLOC
);
10283 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10284 NDR_PULL_ALLOC(ndr
, r
->out
.returned_size
);
10286 _mem_save_returned_size_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10287 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.returned_size
, LIBNDR_FLAG_REF_ALLOC
);
10288 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.returned_size
));
10289 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_returned_size_0
, LIBNDR_FLAG_REF_ALLOC
);
10290 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10291 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
10293 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10294 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
10295 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.info
, r
->in
.level
));
10296 NDR_CHECK(ndr_pull_samr_DispInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.info
));
10297 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
10298 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10300 return NDR_ERR_SUCCESS
;
10303 _PUBLIC_
void ndr_print_samr_QueryDisplayInfo2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_QueryDisplayInfo2
*r
)
10305 ndr_print_struct(ndr
, name
, "samr_QueryDisplayInfo2");
10307 if (flags
& NDR_SET_VALUES
) {
10308 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10310 if (flags
& NDR_IN
) {
10311 ndr_print_struct(ndr
, "in", "samr_QueryDisplayInfo2");
10313 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
10315 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
10317 ndr_print_uint16(ndr
, "level", r
->in
.level
);
10318 ndr_print_uint32(ndr
, "start_idx", r
->in
.start_idx
);
10319 ndr_print_uint32(ndr
, "max_entries", r
->in
.max_entries
);
10320 ndr_print_uint32(ndr
, "buf_size", r
->in
.buf_size
);
10323 if (flags
& NDR_OUT
) {
10324 ndr_print_struct(ndr
, "out", "samr_QueryDisplayInfo2");
10326 ndr_print_ptr(ndr
, "total_size", r
->out
.total_size
);
10328 ndr_print_uint32(ndr
, "total_size", *r
->out
.total_size
);
10330 ndr_print_ptr(ndr
, "returned_size", r
->out
.returned_size
);
10332 ndr_print_uint32(ndr
, "returned_size", *r
->out
.returned_size
);
10334 ndr_print_ptr(ndr
, "info", r
->out
.info
);
10336 ndr_print_set_switch_value(ndr
, r
->out
.info
, r
->in
.level
);
10337 ndr_print_samr_DispInfo(ndr
, "info", r
->out
.info
);
10339 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10345 static enum ndr_err_code
ndr_push_samr_GetDisplayEnumerationIndex2(struct ndr_push
*ndr
, int flags
, const struct samr_GetDisplayEnumerationIndex2
*r
)
10347 if (flags
& NDR_IN
) {
10348 if (r
->in
.domain_handle
== NULL
) {
10349 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10351 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
10352 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->in
.level
));
10353 if (r
->in
.name
== NULL
) {
10354 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10356 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.name
));
10358 if (flags
& NDR_OUT
) {
10359 if (r
->out
.idx
== NULL
) {
10360 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10362 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.idx
));
10363 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10365 return NDR_ERR_SUCCESS
;
10368 static enum ndr_err_code
ndr_pull_samr_GetDisplayEnumerationIndex2(struct ndr_pull
*ndr
, int flags
, struct samr_GetDisplayEnumerationIndex2
*r
)
10370 TALLOC_CTX
*_mem_save_domain_handle_0
;
10371 TALLOC_CTX
*_mem_save_name_0
;
10372 TALLOC_CTX
*_mem_save_idx_0
;
10373 if (flags
& NDR_IN
) {
10374 ZERO_STRUCT(r
->out
);
10376 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10377 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
10379 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10380 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
10381 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
10382 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10383 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->in
.level
));
10384 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10385 NDR_PULL_ALLOC(ndr
, r
->in
.name
);
10387 _mem_save_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10388 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.name
, LIBNDR_FLAG_REF_ALLOC
);
10389 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.name
));
10390 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_name_0
, LIBNDR_FLAG_REF_ALLOC
);
10391 NDR_PULL_ALLOC(ndr
, r
->out
.idx
);
10392 ZERO_STRUCTP(r
->out
.idx
);
10394 if (flags
& NDR_OUT
) {
10395 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10396 NDR_PULL_ALLOC(ndr
, r
->out
.idx
);
10398 _mem_save_idx_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10399 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.idx
, LIBNDR_FLAG_REF_ALLOC
);
10400 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.idx
));
10401 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_idx_0
, LIBNDR_FLAG_REF_ALLOC
);
10402 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10404 return NDR_ERR_SUCCESS
;
10407 _PUBLIC_
void ndr_print_samr_GetDisplayEnumerationIndex2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_GetDisplayEnumerationIndex2
*r
)
10409 ndr_print_struct(ndr
, name
, "samr_GetDisplayEnumerationIndex2");
10411 if (flags
& NDR_SET_VALUES
) {
10412 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10414 if (flags
& NDR_IN
) {
10415 ndr_print_struct(ndr
, "in", "samr_GetDisplayEnumerationIndex2");
10417 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
10419 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
10421 ndr_print_uint16(ndr
, "level", r
->in
.level
);
10422 ndr_print_ptr(ndr
, "name", r
->in
.name
);
10424 ndr_print_lsa_String(ndr
, "name", r
->in
.name
);
10428 if (flags
& NDR_OUT
) {
10429 ndr_print_struct(ndr
, "out", "samr_GetDisplayEnumerationIndex2");
10431 ndr_print_ptr(ndr
, "idx", r
->out
.idx
);
10433 ndr_print_uint32(ndr
, "idx", *r
->out
.idx
);
10435 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10441 static enum ndr_err_code
ndr_push_samr_CreateUser2(struct ndr_push
*ndr
, int flags
, const struct samr_CreateUser2
*r
)
10443 if (flags
& NDR_IN
) {
10444 if (r
->in
.domain_handle
== NULL
) {
10445 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10447 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
10448 if (r
->in
.account_name
== NULL
) {
10449 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10451 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.account_name
));
10452 NDR_CHECK(ndr_push_samr_AcctFlags(ndr
, NDR_SCALARS
, r
->in
.acct_flags
));
10453 NDR_CHECK(ndr_push_samr_UserAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
10455 if (flags
& NDR_OUT
) {
10456 if (r
->out
.user_handle
== NULL
) {
10457 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10459 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.user_handle
));
10460 if (r
->out
.access_granted
== NULL
) {
10461 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10463 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.access_granted
));
10464 if (r
->out
.rid
== NULL
) {
10465 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10467 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.rid
));
10468 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10470 return NDR_ERR_SUCCESS
;
10473 static enum ndr_err_code
ndr_pull_samr_CreateUser2(struct ndr_pull
*ndr
, int flags
, struct samr_CreateUser2
*r
)
10475 TALLOC_CTX
*_mem_save_domain_handle_0
;
10476 TALLOC_CTX
*_mem_save_account_name_0
;
10477 TALLOC_CTX
*_mem_save_user_handle_0
;
10478 TALLOC_CTX
*_mem_save_access_granted_0
;
10479 TALLOC_CTX
*_mem_save_rid_0
;
10480 if (flags
& NDR_IN
) {
10481 ZERO_STRUCT(r
->out
);
10483 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10484 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
10486 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10487 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
10488 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
10489 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10490 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10491 NDR_PULL_ALLOC(ndr
, r
->in
.account_name
);
10493 _mem_save_account_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10494 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.account_name
, LIBNDR_FLAG_REF_ALLOC
);
10495 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.account_name
));
10496 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_account_name_0
, LIBNDR_FLAG_REF_ALLOC
);
10497 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr
, NDR_SCALARS
, &r
->in
.acct_flags
));
10498 NDR_CHECK(ndr_pull_samr_UserAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
10499 NDR_PULL_ALLOC(ndr
, r
->out
.user_handle
);
10500 ZERO_STRUCTP(r
->out
.user_handle
);
10501 NDR_PULL_ALLOC(ndr
, r
->out
.access_granted
);
10502 ZERO_STRUCTP(r
->out
.access_granted
);
10503 NDR_PULL_ALLOC(ndr
, r
->out
.rid
);
10504 ZERO_STRUCTP(r
->out
.rid
);
10506 if (flags
& NDR_OUT
) {
10507 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10508 NDR_PULL_ALLOC(ndr
, r
->out
.user_handle
);
10510 _mem_save_user_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10511 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.user_handle
, LIBNDR_FLAG_REF_ALLOC
);
10512 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.user_handle
));
10513 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_user_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10514 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10515 NDR_PULL_ALLOC(ndr
, r
->out
.access_granted
);
10517 _mem_save_access_granted_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10518 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.access_granted
, LIBNDR_FLAG_REF_ALLOC
);
10519 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.access_granted
));
10520 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_access_granted_0
, LIBNDR_FLAG_REF_ALLOC
);
10521 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10522 NDR_PULL_ALLOC(ndr
, r
->out
.rid
);
10524 _mem_save_rid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10525 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.rid
, LIBNDR_FLAG_REF_ALLOC
);
10526 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.rid
));
10527 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rid_0
, LIBNDR_FLAG_REF_ALLOC
);
10528 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10530 return NDR_ERR_SUCCESS
;
10533 _PUBLIC_
void ndr_print_samr_CreateUser2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_CreateUser2
*r
)
10535 ndr_print_struct(ndr
, name
, "samr_CreateUser2");
10537 if (flags
& NDR_SET_VALUES
) {
10538 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10540 if (flags
& NDR_IN
) {
10541 ndr_print_struct(ndr
, "in", "samr_CreateUser2");
10543 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
10545 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
10547 ndr_print_ptr(ndr
, "account_name", r
->in
.account_name
);
10549 ndr_print_lsa_String(ndr
, "account_name", r
->in
.account_name
);
10551 ndr_print_samr_AcctFlags(ndr
, "acct_flags", r
->in
.acct_flags
);
10552 ndr_print_samr_UserAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
10555 if (flags
& NDR_OUT
) {
10556 ndr_print_struct(ndr
, "out", "samr_CreateUser2");
10558 ndr_print_ptr(ndr
, "user_handle", r
->out
.user_handle
);
10560 ndr_print_policy_handle(ndr
, "user_handle", r
->out
.user_handle
);
10562 ndr_print_ptr(ndr
, "access_granted", r
->out
.access_granted
);
10564 ndr_print_uint32(ndr
, "access_granted", *r
->out
.access_granted
);
10566 ndr_print_ptr(ndr
, "rid", r
->out
.rid
);
10568 ndr_print_uint32(ndr
, "rid", *r
->out
.rid
);
10570 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10576 static enum ndr_err_code
ndr_push_samr_QueryDisplayInfo3(struct ndr_push
*ndr
, int flags
, const struct samr_QueryDisplayInfo3
*r
)
10578 if (flags
& NDR_IN
) {
10579 if (r
->in
.domain_handle
== NULL
) {
10580 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10582 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
10583 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->in
.level
));
10584 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.start_idx
));
10585 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.max_entries
));
10586 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.buf_size
));
10588 if (flags
& NDR_OUT
) {
10589 if (r
->out
.total_size
== NULL
) {
10590 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10592 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.total_size
));
10593 if (r
->out
.returned_size
== NULL
) {
10594 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10596 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.returned_size
));
10597 if (r
->out
.info
== NULL
) {
10598 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10600 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.info
, r
->in
.level
));
10601 NDR_CHECK(ndr_push_samr_DispInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.info
));
10602 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10604 return NDR_ERR_SUCCESS
;
10607 static enum ndr_err_code
ndr_pull_samr_QueryDisplayInfo3(struct ndr_pull
*ndr
, int flags
, struct samr_QueryDisplayInfo3
*r
)
10609 TALLOC_CTX
*_mem_save_domain_handle_0
;
10610 TALLOC_CTX
*_mem_save_total_size_0
;
10611 TALLOC_CTX
*_mem_save_returned_size_0
;
10612 TALLOC_CTX
*_mem_save_info_0
;
10613 if (flags
& NDR_IN
) {
10614 ZERO_STRUCT(r
->out
);
10616 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10617 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
10619 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10620 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
10621 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
10622 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10623 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->in
.level
));
10624 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.start_idx
));
10625 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.max_entries
));
10626 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.buf_size
));
10627 NDR_PULL_ALLOC(ndr
, r
->out
.total_size
);
10628 ZERO_STRUCTP(r
->out
.total_size
);
10629 NDR_PULL_ALLOC(ndr
, r
->out
.returned_size
);
10630 ZERO_STRUCTP(r
->out
.returned_size
);
10631 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
10632 ZERO_STRUCTP(r
->out
.info
);
10634 if (flags
& NDR_OUT
) {
10635 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10636 NDR_PULL_ALLOC(ndr
, r
->out
.total_size
);
10638 _mem_save_total_size_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10639 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.total_size
, LIBNDR_FLAG_REF_ALLOC
);
10640 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.total_size
));
10641 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_total_size_0
, LIBNDR_FLAG_REF_ALLOC
);
10642 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10643 NDR_PULL_ALLOC(ndr
, r
->out
.returned_size
);
10645 _mem_save_returned_size_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10646 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.returned_size
, LIBNDR_FLAG_REF_ALLOC
);
10647 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.returned_size
));
10648 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_returned_size_0
, LIBNDR_FLAG_REF_ALLOC
);
10649 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10650 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
10652 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10653 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
10654 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.info
, r
->in
.level
));
10655 NDR_CHECK(ndr_pull_samr_DispInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.info
));
10656 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
10657 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10659 return NDR_ERR_SUCCESS
;
10662 _PUBLIC_
void ndr_print_samr_QueryDisplayInfo3(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_QueryDisplayInfo3
*r
)
10664 ndr_print_struct(ndr
, name
, "samr_QueryDisplayInfo3");
10666 if (flags
& NDR_SET_VALUES
) {
10667 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10669 if (flags
& NDR_IN
) {
10670 ndr_print_struct(ndr
, "in", "samr_QueryDisplayInfo3");
10672 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
10674 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
10676 ndr_print_uint16(ndr
, "level", r
->in
.level
);
10677 ndr_print_uint32(ndr
, "start_idx", r
->in
.start_idx
);
10678 ndr_print_uint32(ndr
, "max_entries", r
->in
.max_entries
);
10679 ndr_print_uint32(ndr
, "buf_size", r
->in
.buf_size
);
10682 if (flags
& NDR_OUT
) {
10683 ndr_print_struct(ndr
, "out", "samr_QueryDisplayInfo3");
10685 ndr_print_ptr(ndr
, "total_size", r
->out
.total_size
);
10687 ndr_print_uint32(ndr
, "total_size", *r
->out
.total_size
);
10689 ndr_print_ptr(ndr
, "returned_size", r
->out
.returned_size
);
10691 ndr_print_uint32(ndr
, "returned_size", *r
->out
.returned_size
);
10693 ndr_print_ptr(ndr
, "info", r
->out
.info
);
10695 ndr_print_set_switch_value(ndr
, r
->out
.info
, r
->in
.level
);
10696 ndr_print_samr_DispInfo(ndr
, "info", r
->out
.info
);
10698 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10704 static enum ndr_err_code
ndr_push_samr_AddMultipleMembersToAlias(struct ndr_push
*ndr
, int flags
, const struct samr_AddMultipleMembersToAlias
*r
)
10706 if (flags
& NDR_IN
) {
10707 if (r
->in
.alias_handle
== NULL
) {
10708 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10710 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
10711 if (r
->in
.sids
== NULL
) {
10712 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10714 NDR_CHECK(ndr_push_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
10716 if (flags
& NDR_OUT
) {
10717 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10719 return NDR_ERR_SUCCESS
;
10722 static enum ndr_err_code
ndr_pull_samr_AddMultipleMembersToAlias(struct ndr_pull
*ndr
, int flags
, struct samr_AddMultipleMembersToAlias
*r
)
10724 TALLOC_CTX
*_mem_save_alias_handle_0
;
10725 TALLOC_CTX
*_mem_save_sids_0
;
10726 if (flags
& NDR_IN
) {
10727 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10728 NDR_PULL_ALLOC(ndr
, r
->in
.alias_handle
);
10730 _mem_save_alias_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10731 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.alias_handle
, LIBNDR_FLAG_REF_ALLOC
);
10732 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
10733 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_alias_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10734 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10735 NDR_PULL_ALLOC(ndr
, r
->in
.sids
);
10737 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10738 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sids
, LIBNDR_FLAG_REF_ALLOC
);
10739 NDR_CHECK(ndr_pull_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
10740 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, LIBNDR_FLAG_REF_ALLOC
);
10742 if (flags
& NDR_OUT
) {
10743 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10745 return NDR_ERR_SUCCESS
;
10748 _PUBLIC_
void ndr_print_samr_AddMultipleMembersToAlias(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_AddMultipleMembersToAlias
*r
)
10750 ndr_print_struct(ndr
, name
, "samr_AddMultipleMembersToAlias");
10752 if (flags
& NDR_SET_VALUES
) {
10753 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10755 if (flags
& NDR_IN
) {
10756 ndr_print_struct(ndr
, "in", "samr_AddMultipleMembersToAlias");
10758 ndr_print_ptr(ndr
, "alias_handle", r
->in
.alias_handle
);
10760 ndr_print_policy_handle(ndr
, "alias_handle", r
->in
.alias_handle
);
10762 ndr_print_ptr(ndr
, "sids", r
->in
.sids
);
10764 ndr_print_lsa_SidArray(ndr
, "sids", r
->in
.sids
);
10768 if (flags
& NDR_OUT
) {
10769 ndr_print_struct(ndr
, "out", "samr_AddMultipleMembersToAlias");
10771 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10777 static enum ndr_err_code
ndr_push_samr_RemoveMultipleMembersFromAlias(struct ndr_push
*ndr
, int flags
, const struct samr_RemoveMultipleMembersFromAlias
*r
)
10779 if (flags
& NDR_IN
) {
10780 if (r
->in
.alias_handle
== NULL
) {
10781 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10783 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
10784 if (r
->in
.sids
== NULL
) {
10785 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10787 NDR_CHECK(ndr_push_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
10789 if (flags
& NDR_OUT
) {
10790 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10792 return NDR_ERR_SUCCESS
;
10795 static enum ndr_err_code
ndr_pull_samr_RemoveMultipleMembersFromAlias(struct ndr_pull
*ndr
, int flags
, struct samr_RemoveMultipleMembersFromAlias
*r
)
10797 TALLOC_CTX
*_mem_save_alias_handle_0
;
10798 TALLOC_CTX
*_mem_save_sids_0
;
10799 if (flags
& NDR_IN
) {
10800 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10801 NDR_PULL_ALLOC(ndr
, r
->in
.alias_handle
);
10803 _mem_save_alias_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10804 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.alias_handle
, LIBNDR_FLAG_REF_ALLOC
);
10805 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
10806 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_alias_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10807 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10808 NDR_PULL_ALLOC(ndr
, r
->in
.sids
);
10810 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10811 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sids
, LIBNDR_FLAG_REF_ALLOC
);
10812 NDR_CHECK(ndr_pull_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
10813 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, LIBNDR_FLAG_REF_ALLOC
);
10815 if (flags
& NDR_OUT
) {
10816 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10818 return NDR_ERR_SUCCESS
;
10821 _PUBLIC_
void ndr_print_samr_RemoveMultipleMembersFromAlias(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_RemoveMultipleMembersFromAlias
*r
)
10823 ndr_print_struct(ndr
, name
, "samr_RemoveMultipleMembersFromAlias");
10825 if (flags
& NDR_SET_VALUES
) {
10826 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10828 if (flags
& NDR_IN
) {
10829 ndr_print_struct(ndr
, "in", "samr_RemoveMultipleMembersFromAlias");
10831 ndr_print_ptr(ndr
, "alias_handle", r
->in
.alias_handle
);
10833 ndr_print_policy_handle(ndr
, "alias_handle", r
->in
.alias_handle
);
10835 ndr_print_ptr(ndr
, "sids", r
->in
.sids
);
10837 ndr_print_lsa_SidArray(ndr
, "sids", r
->in
.sids
);
10841 if (flags
& NDR_OUT
) {
10842 ndr_print_struct(ndr
, "out", "samr_RemoveMultipleMembersFromAlias");
10844 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10850 static enum ndr_err_code
ndr_push_samr_OemChangePasswordUser2(struct ndr_push
*ndr
, int flags
, const struct samr_OemChangePasswordUser2
*r
)
10852 if (flags
& NDR_IN
) {
10853 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.server
));
10854 if (r
->in
.server
) {
10855 NDR_CHECK(ndr_push_lsa_AsciiString(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.server
));
10857 if (r
->in
.account
== NULL
) {
10858 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10860 NDR_CHECK(ndr_push_lsa_AsciiString(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.account
));
10861 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.password
));
10862 if (r
->in
.password
) {
10863 NDR_CHECK(ndr_push_samr_CryptPassword(ndr
, NDR_SCALARS
, r
->in
.password
));
10865 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.hash
));
10867 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, r
->in
.hash
));
10870 if (flags
& NDR_OUT
) {
10871 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10873 return NDR_ERR_SUCCESS
;
10876 static enum ndr_err_code
ndr_pull_samr_OemChangePasswordUser2(struct ndr_pull
*ndr
, int flags
, struct samr_OemChangePasswordUser2
*r
)
10878 uint32_t _ptr_server
;
10879 uint32_t _ptr_password
;
10880 uint32_t _ptr_hash
;
10881 TALLOC_CTX
*_mem_save_server_0
;
10882 TALLOC_CTX
*_mem_save_account_0
;
10883 TALLOC_CTX
*_mem_save_password_0
;
10884 TALLOC_CTX
*_mem_save_hash_0
;
10885 if (flags
& NDR_IN
) {
10886 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_server
));
10888 NDR_PULL_ALLOC(ndr
, r
->in
.server
);
10890 r
->in
.server
= NULL
;
10892 if (r
->in
.server
) {
10893 _mem_save_server_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10894 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.server
, 0);
10895 NDR_CHECK(ndr_pull_lsa_AsciiString(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.server
));
10896 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_server_0
, 0);
10898 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10899 NDR_PULL_ALLOC(ndr
, r
->in
.account
);
10901 _mem_save_account_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10902 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.account
, LIBNDR_FLAG_REF_ALLOC
);
10903 NDR_CHECK(ndr_pull_lsa_AsciiString(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.account
));
10904 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_account_0
, LIBNDR_FLAG_REF_ALLOC
);
10905 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_password
));
10906 if (_ptr_password
) {
10907 NDR_PULL_ALLOC(ndr
, r
->in
.password
);
10909 r
->in
.password
= NULL
;
10911 if (r
->in
.password
) {
10912 _mem_save_password_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10913 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.password
, 0);
10914 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr
, NDR_SCALARS
, r
->in
.password
));
10915 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_password_0
, 0);
10917 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_hash
));
10919 NDR_PULL_ALLOC(ndr
, r
->in
.hash
);
10924 _mem_save_hash_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10925 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.hash
, 0);
10926 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, r
->in
.hash
));
10927 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_hash_0
, 0);
10930 if (flags
& NDR_OUT
) {
10931 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10933 return NDR_ERR_SUCCESS
;
10936 _PUBLIC_
void ndr_print_samr_OemChangePasswordUser2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_OemChangePasswordUser2
*r
)
10938 ndr_print_struct(ndr
, name
, "samr_OemChangePasswordUser2");
10940 if (flags
& NDR_SET_VALUES
) {
10941 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10943 if (flags
& NDR_IN
) {
10944 ndr_print_struct(ndr
, "in", "samr_OemChangePasswordUser2");
10946 ndr_print_ptr(ndr
, "server", r
->in
.server
);
10948 if (r
->in
.server
) {
10949 ndr_print_lsa_AsciiString(ndr
, "server", r
->in
.server
);
10952 ndr_print_ptr(ndr
, "account", r
->in
.account
);
10954 ndr_print_lsa_AsciiString(ndr
, "account", r
->in
.account
);
10956 ndr_print_ptr(ndr
, "password", r
->in
.password
);
10958 if (r
->in
.password
) {
10959 ndr_print_samr_CryptPassword(ndr
, "password", r
->in
.password
);
10962 ndr_print_ptr(ndr
, "hash", r
->in
.hash
);
10965 ndr_print_samr_Password(ndr
, "hash", r
->in
.hash
);
10970 if (flags
& NDR_OUT
) {
10971 ndr_print_struct(ndr
, "out", "samr_OemChangePasswordUser2");
10973 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10979 static enum ndr_err_code
ndr_push_samr_ChangePasswordUser2(struct ndr_push
*ndr
, int flags
, const struct samr_ChangePasswordUser2
*r
)
10981 if (flags
& NDR_IN
) {
10982 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.server
));
10983 if (r
->in
.server
) {
10984 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.server
));
10986 if (r
->in
.account
== NULL
) {
10987 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10989 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.account
));
10990 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.nt_password
));
10991 if (r
->in
.nt_password
) {
10992 NDR_CHECK(ndr_push_samr_CryptPassword(ndr
, NDR_SCALARS
, r
->in
.nt_password
));
10994 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.nt_verifier
));
10995 if (r
->in
.nt_verifier
) {
10996 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, r
->in
.nt_verifier
));
10998 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->in
.lm_change
));
10999 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.lm_password
));
11000 if (r
->in
.lm_password
) {
11001 NDR_CHECK(ndr_push_samr_CryptPassword(ndr
, NDR_SCALARS
, r
->in
.lm_password
));
11003 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.lm_verifier
));
11004 if (r
->in
.lm_verifier
) {
11005 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, r
->in
.lm_verifier
));
11008 if (flags
& NDR_OUT
) {
11009 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11011 return NDR_ERR_SUCCESS
;
11014 static enum ndr_err_code
ndr_pull_samr_ChangePasswordUser2(struct ndr_pull
*ndr
, int flags
, struct samr_ChangePasswordUser2
*r
)
11016 uint32_t _ptr_server
;
11017 uint32_t _ptr_nt_password
;
11018 uint32_t _ptr_nt_verifier
;
11019 uint32_t _ptr_lm_password
;
11020 uint32_t _ptr_lm_verifier
;
11021 TALLOC_CTX
*_mem_save_server_0
;
11022 TALLOC_CTX
*_mem_save_account_0
;
11023 TALLOC_CTX
*_mem_save_nt_password_0
;
11024 TALLOC_CTX
*_mem_save_nt_verifier_0
;
11025 TALLOC_CTX
*_mem_save_lm_password_0
;
11026 TALLOC_CTX
*_mem_save_lm_verifier_0
;
11027 if (flags
& NDR_IN
) {
11028 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_server
));
11030 NDR_PULL_ALLOC(ndr
, r
->in
.server
);
11032 r
->in
.server
= NULL
;
11034 if (r
->in
.server
) {
11035 _mem_save_server_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11036 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.server
, 0);
11037 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.server
));
11038 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_server_0
, 0);
11040 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11041 NDR_PULL_ALLOC(ndr
, r
->in
.account
);
11043 _mem_save_account_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11044 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.account
, LIBNDR_FLAG_REF_ALLOC
);
11045 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.account
));
11046 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_account_0
, LIBNDR_FLAG_REF_ALLOC
);
11047 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_nt_password
));
11048 if (_ptr_nt_password
) {
11049 NDR_PULL_ALLOC(ndr
, r
->in
.nt_password
);
11051 r
->in
.nt_password
= NULL
;
11053 if (r
->in
.nt_password
) {
11054 _mem_save_nt_password_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11055 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.nt_password
, 0);
11056 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr
, NDR_SCALARS
, r
->in
.nt_password
));
11057 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_nt_password_0
, 0);
11059 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_nt_verifier
));
11060 if (_ptr_nt_verifier
) {
11061 NDR_PULL_ALLOC(ndr
, r
->in
.nt_verifier
);
11063 r
->in
.nt_verifier
= NULL
;
11065 if (r
->in
.nt_verifier
) {
11066 _mem_save_nt_verifier_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11067 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.nt_verifier
, 0);
11068 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, r
->in
.nt_verifier
));
11069 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_nt_verifier_0
, 0);
11071 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->in
.lm_change
));
11072 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_lm_password
));
11073 if (_ptr_lm_password
) {
11074 NDR_PULL_ALLOC(ndr
, r
->in
.lm_password
);
11076 r
->in
.lm_password
= NULL
;
11078 if (r
->in
.lm_password
) {
11079 _mem_save_lm_password_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11080 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.lm_password
, 0);
11081 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr
, NDR_SCALARS
, r
->in
.lm_password
));
11082 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_lm_password_0
, 0);
11084 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_lm_verifier
));
11085 if (_ptr_lm_verifier
) {
11086 NDR_PULL_ALLOC(ndr
, r
->in
.lm_verifier
);
11088 r
->in
.lm_verifier
= NULL
;
11090 if (r
->in
.lm_verifier
) {
11091 _mem_save_lm_verifier_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11092 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.lm_verifier
, 0);
11093 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, r
->in
.lm_verifier
));
11094 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_lm_verifier_0
, 0);
11097 if (flags
& NDR_OUT
) {
11098 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11100 return NDR_ERR_SUCCESS
;
11103 _PUBLIC_
void ndr_print_samr_ChangePasswordUser2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_ChangePasswordUser2
*r
)
11105 ndr_print_struct(ndr
, name
, "samr_ChangePasswordUser2");
11107 if (flags
& NDR_SET_VALUES
) {
11108 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11110 if (flags
& NDR_IN
) {
11111 ndr_print_struct(ndr
, "in", "samr_ChangePasswordUser2");
11113 ndr_print_ptr(ndr
, "server", r
->in
.server
);
11115 if (r
->in
.server
) {
11116 ndr_print_lsa_String(ndr
, "server", r
->in
.server
);
11119 ndr_print_ptr(ndr
, "account", r
->in
.account
);
11121 ndr_print_lsa_String(ndr
, "account", r
->in
.account
);
11123 ndr_print_ptr(ndr
, "nt_password", r
->in
.nt_password
);
11125 if (r
->in
.nt_password
) {
11126 ndr_print_samr_CryptPassword(ndr
, "nt_password", r
->in
.nt_password
);
11129 ndr_print_ptr(ndr
, "nt_verifier", r
->in
.nt_verifier
);
11131 if (r
->in
.nt_verifier
) {
11132 ndr_print_samr_Password(ndr
, "nt_verifier", r
->in
.nt_verifier
);
11135 ndr_print_uint8(ndr
, "lm_change", r
->in
.lm_change
);
11136 ndr_print_ptr(ndr
, "lm_password", r
->in
.lm_password
);
11138 if (r
->in
.lm_password
) {
11139 ndr_print_samr_CryptPassword(ndr
, "lm_password", r
->in
.lm_password
);
11142 ndr_print_ptr(ndr
, "lm_verifier", r
->in
.lm_verifier
);
11144 if (r
->in
.lm_verifier
) {
11145 ndr_print_samr_Password(ndr
, "lm_verifier", r
->in
.lm_verifier
);
11150 if (flags
& NDR_OUT
) {
11151 ndr_print_struct(ndr
, "out", "samr_ChangePasswordUser2");
11153 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11159 static enum ndr_err_code
ndr_push_samr_GetDomPwInfo(struct ndr_push
*ndr
, int flags
, const struct samr_GetDomPwInfo
*r
)
11161 if (flags
& NDR_IN
) {
11162 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.domain_name
));
11163 if (r
->in
.domain_name
) {
11164 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.domain_name
));
11167 if (flags
& NDR_OUT
) {
11168 if (r
->out
.info
== NULL
) {
11169 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11171 NDR_CHECK(ndr_push_samr_PwInfo(ndr
, NDR_SCALARS
, r
->out
.info
));
11172 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11174 return NDR_ERR_SUCCESS
;
11177 static enum ndr_err_code
ndr_pull_samr_GetDomPwInfo(struct ndr_pull
*ndr
, int flags
, struct samr_GetDomPwInfo
*r
)
11179 uint32_t _ptr_domain_name
;
11180 TALLOC_CTX
*_mem_save_domain_name_0
;
11181 TALLOC_CTX
*_mem_save_info_0
;
11182 if (flags
& NDR_IN
) {
11183 ZERO_STRUCT(r
->out
);
11185 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_domain_name
));
11186 if (_ptr_domain_name
) {
11187 NDR_PULL_ALLOC(ndr
, r
->in
.domain_name
);
11189 r
->in
.domain_name
= NULL
;
11191 if (r
->in
.domain_name
) {
11192 _mem_save_domain_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11193 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_name
, 0);
11194 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.domain_name
));
11195 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_name_0
, 0);
11197 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
11198 ZERO_STRUCTP(r
->out
.info
);
11200 if (flags
& NDR_OUT
) {
11201 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11202 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
11204 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11205 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
11206 NDR_CHECK(ndr_pull_samr_PwInfo(ndr
, NDR_SCALARS
, r
->out
.info
));
11207 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
11208 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11210 return NDR_ERR_SUCCESS
;
11213 _PUBLIC_
void ndr_print_samr_GetDomPwInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_GetDomPwInfo
*r
)
11215 ndr_print_struct(ndr
, name
, "samr_GetDomPwInfo");
11217 if (flags
& NDR_SET_VALUES
) {
11218 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11220 if (flags
& NDR_IN
) {
11221 ndr_print_struct(ndr
, "in", "samr_GetDomPwInfo");
11223 ndr_print_ptr(ndr
, "domain_name", r
->in
.domain_name
);
11225 if (r
->in
.domain_name
) {
11226 ndr_print_lsa_String(ndr
, "domain_name", r
->in
.domain_name
);
11231 if (flags
& NDR_OUT
) {
11232 ndr_print_struct(ndr
, "out", "samr_GetDomPwInfo");
11234 ndr_print_ptr(ndr
, "info", r
->out
.info
);
11236 ndr_print_samr_PwInfo(ndr
, "info", r
->out
.info
);
11238 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11244 static enum ndr_err_code
ndr_push_samr_Connect2(struct ndr_push
*ndr
, int flags
, const struct samr_Connect2
*r
)
11246 if (flags
& NDR_IN
) {
11247 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.system_name
));
11248 if (r
->in
.system_name
) {
11249 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->in
.system_name
, CH_UTF16
)));
11250 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
11251 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->in
.system_name
, CH_UTF16
)));
11252 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
));
11254 NDR_CHECK(ndr_push_samr_ConnectAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
11256 if (flags
& NDR_OUT
) {
11257 if (r
->out
.connect_handle
== NULL
) {
11258 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11260 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.connect_handle
));
11261 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11263 return NDR_ERR_SUCCESS
;
11266 static enum ndr_err_code
ndr_pull_samr_Connect2(struct ndr_pull
*ndr
, int flags
, struct samr_Connect2
*r
)
11268 uint32_t _ptr_system_name
;
11269 TALLOC_CTX
*_mem_save_system_name_0
;
11270 TALLOC_CTX
*_mem_save_connect_handle_0
;
11271 if (flags
& NDR_IN
) {
11272 ZERO_STRUCT(r
->out
);
11274 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_system_name
));
11275 if (_ptr_system_name
) {
11276 NDR_PULL_ALLOC(ndr
, r
->in
.system_name
);
11278 r
->in
.system_name
= NULL
;
11280 if (r
->in
.system_name
) {
11281 _mem_save_system_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11282 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.system_name
, 0);
11283 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->in
.system_name
));
11284 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->in
.system_name
));
11285 if (ndr_get_array_length(ndr
, &r
->in
.system_name
) > ndr_get_array_size(ndr
, &r
->in
.system_name
)) {
11286 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->in
.system_name
), ndr_get_array_length(ndr
, &r
->in
.system_name
));
11288 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->in
.system_name
), sizeof(uint16_t)));
11289 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->in
.system_name
, ndr_get_array_length(ndr
, &r
->in
.system_name
), sizeof(uint16_t), CH_UTF16
));
11290 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_system_name_0
, 0);
11292 NDR_CHECK(ndr_pull_samr_ConnectAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
11293 NDR_PULL_ALLOC(ndr
, r
->out
.connect_handle
);
11294 ZERO_STRUCTP(r
->out
.connect_handle
);
11296 if (flags
& NDR_OUT
) {
11297 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11298 NDR_PULL_ALLOC(ndr
, r
->out
.connect_handle
);
11300 _mem_save_connect_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11301 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.connect_handle
, LIBNDR_FLAG_REF_ALLOC
);
11302 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.connect_handle
));
11303 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_connect_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
11304 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11306 return NDR_ERR_SUCCESS
;
11309 _PUBLIC_
void ndr_print_samr_Connect2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_Connect2
*r
)
11311 ndr_print_struct(ndr
, name
, "samr_Connect2");
11313 if (flags
& NDR_SET_VALUES
) {
11314 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11316 if (flags
& NDR_IN
) {
11317 ndr_print_struct(ndr
, "in", "samr_Connect2");
11319 ndr_print_ptr(ndr
, "system_name", r
->in
.system_name
);
11321 if (r
->in
.system_name
) {
11322 ndr_print_string(ndr
, "system_name", r
->in
.system_name
);
11325 ndr_print_samr_ConnectAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
11328 if (flags
& NDR_OUT
) {
11329 ndr_print_struct(ndr
, "out", "samr_Connect2");
11331 ndr_print_ptr(ndr
, "connect_handle", r
->out
.connect_handle
);
11333 ndr_print_policy_handle(ndr
, "connect_handle", r
->out
.connect_handle
);
11335 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11341 _PUBLIC_
enum ndr_err_code
ndr_push_samr_SetUserInfo2(struct ndr_push
*ndr
, int flags
, const struct samr_SetUserInfo2
*r
)
11343 if (flags
& NDR_IN
) {
11344 if (r
->in
.user_handle
== NULL
) {
11345 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11347 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
11348 NDR_CHECK(ndr_push_samr_UserInfoLevel(ndr
, NDR_SCALARS
, r
->in
.level
));
11349 if (r
->in
.info
== NULL
) {
11350 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11352 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
11353 NDR_CHECK(ndr_push_samr_UserInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
11355 if (flags
& NDR_OUT
) {
11356 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11358 return NDR_ERR_SUCCESS
;
11361 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_SetUserInfo2(struct ndr_pull
*ndr
, int flags
, struct samr_SetUserInfo2
*r
)
11363 TALLOC_CTX
*_mem_save_user_handle_0
;
11364 TALLOC_CTX
*_mem_save_info_0
;
11365 if (flags
& NDR_IN
) {
11366 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11367 NDR_PULL_ALLOC(ndr
, r
->in
.user_handle
);
11369 _mem_save_user_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11370 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.user_handle
, LIBNDR_FLAG_REF_ALLOC
);
11371 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
11372 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_user_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
11373 NDR_CHECK(ndr_pull_samr_UserInfoLevel(ndr
, NDR_SCALARS
, &r
->in
.level
));
11374 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11375 NDR_PULL_ALLOC(ndr
, r
->in
.info
);
11377 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11378 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.info
, LIBNDR_FLAG_REF_ALLOC
);
11379 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
11380 NDR_CHECK(ndr_pull_samr_UserInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
11381 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
11383 if (flags
& NDR_OUT
) {
11384 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11386 return NDR_ERR_SUCCESS
;
11389 _PUBLIC_
void ndr_print_samr_SetUserInfo2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_SetUserInfo2
*r
)
11391 ndr_print_struct(ndr
, name
, "samr_SetUserInfo2");
11393 if (flags
& NDR_SET_VALUES
) {
11394 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11396 if (flags
& NDR_IN
) {
11397 ndr_print_struct(ndr
, "in", "samr_SetUserInfo2");
11399 ndr_print_ptr(ndr
, "user_handle", r
->in
.user_handle
);
11401 ndr_print_policy_handle(ndr
, "user_handle", r
->in
.user_handle
);
11403 ndr_print_samr_UserInfoLevel(ndr
, "level", r
->in
.level
);
11404 ndr_print_ptr(ndr
, "info", r
->in
.info
);
11406 ndr_print_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
);
11407 ndr_print_samr_UserInfo(ndr
, "info", r
->in
.info
);
11411 if (flags
& NDR_OUT
) {
11412 ndr_print_struct(ndr
, "out", "samr_SetUserInfo2");
11414 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11420 static enum ndr_err_code
ndr_push_samr_SetBootKeyInformation(struct ndr_push
*ndr
, int flags
, const struct samr_SetBootKeyInformation
*r
)
11422 if (flags
& NDR_IN
) {
11423 if (r
->in
.connect_handle
== NULL
) {
11424 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11426 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.connect_handle
));
11427 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.unknown1
));
11428 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.unknown2
));
11429 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.unknown3
));
11431 if (flags
& NDR_OUT
) {
11432 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11434 return NDR_ERR_SUCCESS
;
11437 static enum ndr_err_code
ndr_pull_samr_SetBootKeyInformation(struct ndr_pull
*ndr
, int flags
, struct samr_SetBootKeyInformation
*r
)
11439 TALLOC_CTX
*_mem_save_connect_handle_0
;
11440 if (flags
& NDR_IN
) {
11441 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11442 NDR_PULL_ALLOC(ndr
, r
->in
.connect_handle
);
11444 _mem_save_connect_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11445 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.connect_handle
, LIBNDR_FLAG_REF_ALLOC
);
11446 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.connect_handle
));
11447 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_connect_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
11448 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.unknown1
));
11449 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.unknown2
));
11450 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.unknown3
));
11452 if (flags
& NDR_OUT
) {
11453 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11455 return NDR_ERR_SUCCESS
;
11458 _PUBLIC_
void ndr_print_samr_SetBootKeyInformation(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_SetBootKeyInformation
*r
)
11460 ndr_print_struct(ndr
, name
, "samr_SetBootKeyInformation");
11462 if (flags
& NDR_SET_VALUES
) {
11463 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11465 if (flags
& NDR_IN
) {
11466 ndr_print_struct(ndr
, "in", "samr_SetBootKeyInformation");
11468 ndr_print_ptr(ndr
, "connect_handle", r
->in
.connect_handle
);
11470 ndr_print_policy_handle(ndr
, "connect_handle", r
->in
.connect_handle
);
11472 ndr_print_uint32(ndr
, "unknown1", r
->in
.unknown1
);
11473 ndr_print_uint32(ndr
, "unknown2", r
->in
.unknown2
);
11474 ndr_print_uint32(ndr
, "unknown3", r
->in
.unknown3
);
11477 if (flags
& NDR_OUT
) {
11478 ndr_print_struct(ndr
, "out", "samr_SetBootKeyInformation");
11480 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11486 static enum ndr_err_code
ndr_push_samr_GetBootKeyInformation(struct ndr_push
*ndr
, int flags
, const struct samr_GetBootKeyInformation
*r
)
11488 if (flags
& NDR_IN
) {
11489 if (r
->in
.domain_handle
== NULL
) {
11490 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11492 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
11494 if (flags
& NDR_OUT
) {
11495 if (r
->out
.unknown
== NULL
) {
11496 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11498 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.unknown
));
11499 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11501 return NDR_ERR_SUCCESS
;
11504 static enum ndr_err_code
ndr_pull_samr_GetBootKeyInformation(struct ndr_pull
*ndr
, int flags
, struct samr_GetBootKeyInformation
*r
)
11506 TALLOC_CTX
*_mem_save_domain_handle_0
;
11507 TALLOC_CTX
*_mem_save_unknown_0
;
11508 if (flags
& NDR_IN
) {
11509 ZERO_STRUCT(r
->out
);
11511 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11512 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
11514 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11515 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
11516 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
11517 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
11518 NDR_PULL_ALLOC(ndr
, r
->out
.unknown
);
11519 ZERO_STRUCTP(r
->out
.unknown
);
11521 if (flags
& NDR_OUT
) {
11522 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11523 NDR_PULL_ALLOC(ndr
, r
->out
.unknown
);
11525 _mem_save_unknown_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11526 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.unknown
, LIBNDR_FLAG_REF_ALLOC
);
11527 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.unknown
));
11528 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_unknown_0
, LIBNDR_FLAG_REF_ALLOC
);
11529 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11531 return NDR_ERR_SUCCESS
;
11534 _PUBLIC_
void ndr_print_samr_GetBootKeyInformation(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_GetBootKeyInformation
*r
)
11536 ndr_print_struct(ndr
, name
, "samr_GetBootKeyInformation");
11538 if (flags
& NDR_SET_VALUES
) {
11539 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11541 if (flags
& NDR_IN
) {
11542 ndr_print_struct(ndr
, "in", "samr_GetBootKeyInformation");
11544 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
11546 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
11550 if (flags
& NDR_OUT
) {
11551 ndr_print_struct(ndr
, "out", "samr_GetBootKeyInformation");
11553 ndr_print_ptr(ndr
, "unknown", r
->out
.unknown
);
11555 ndr_print_uint32(ndr
, "unknown", *r
->out
.unknown
);
11557 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11563 static enum ndr_err_code
ndr_push_samr_Connect3(struct ndr_push
*ndr
, int flags
, const struct samr_Connect3
*r
)
11565 if (flags
& NDR_IN
) {
11566 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.system_name
));
11567 if (r
->in
.system_name
) {
11568 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->in
.system_name
, CH_UTF16
)));
11569 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
11570 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->in
.system_name
, CH_UTF16
)));
11571 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
));
11573 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.unknown
));
11574 NDR_CHECK(ndr_push_samr_ConnectAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
11576 if (flags
& NDR_OUT
) {
11577 if (r
->out
.connect_handle
== NULL
) {
11578 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11580 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.connect_handle
));
11581 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11583 return NDR_ERR_SUCCESS
;
11586 static enum ndr_err_code
ndr_pull_samr_Connect3(struct ndr_pull
*ndr
, int flags
, struct samr_Connect3
*r
)
11588 uint32_t _ptr_system_name
;
11589 TALLOC_CTX
*_mem_save_system_name_0
;
11590 TALLOC_CTX
*_mem_save_connect_handle_0
;
11591 if (flags
& NDR_IN
) {
11592 ZERO_STRUCT(r
->out
);
11594 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_system_name
));
11595 if (_ptr_system_name
) {
11596 NDR_PULL_ALLOC(ndr
, r
->in
.system_name
);
11598 r
->in
.system_name
= NULL
;
11600 if (r
->in
.system_name
) {
11601 _mem_save_system_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11602 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.system_name
, 0);
11603 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->in
.system_name
));
11604 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->in
.system_name
));
11605 if (ndr_get_array_length(ndr
, &r
->in
.system_name
) > ndr_get_array_size(ndr
, &r
->in
.system_name
)) {
11606 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->in
.system_name
), ndr_get_array_length(ndr
, &r
->in
.system_name
));
11608 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->in
.system_name
), sizeof(uint16_t)));
11609 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->in
.system_name
, ndr_get_array_length(ndr
, &r
->in
.system_name
), sizeof(uint16_t), CH_UTF16
));
11610 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_system_name_0
, 0);
11612 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.unknown
));
11613 NDR_CHECK(ndr_pull_samr_ConnectAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
11614 NDR_PULL_ALLOC(ndr
, r
->out
.connect_handle
);
11615 ZERO_STRUCTP(r
->out
.connect_handle
);
11617 if (flags
& NDR_OUT
) {
11618 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11619 NDR_PULL_ALLOC(ndr
, r
->out
.connect_handle
);
11621 _mem_save_connect_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11622 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.connect_handle
, LIBNDR_FLAG_REF_ALLOC
);
11623 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.connect_handle
));
11624 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_connect_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
11625 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11627 return NDR_ERR_SUCCESS
;
11630 _PUBLIC_
void ndr_print_samr_Connect3(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_Connect3
*r
)
11632 ndr_print_struct(ndr
, name
, "samr_Connect3");
11634 if (flags
& NDR_SET_VALUES
) {
11635 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11637 if (flags
& NDR_IN
) {
11638 ndr_print_struct(ndr
, "in", "samr_Connect3");
11640 ndr_print_ptr(ndr
, "system_name", r
->in
.system_name
);
11642 if (r
->in
.system_name
) {
11643 ndr_print_string(ndr
, "system_name", r
->in
.system_name
);
11646 ndr_print_uint32(ndr
, "unknown", r
->in
.unknown
);
11647 ndr_print_samr_ConnectAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
11650 if (flags
& NDR_OUT
) {
11651 ndr_print_struct(ndr
, "out", "samr_Connect3");
11653 ndr_print_ptr(ndr
, "connect_handle", r
->out
.connect_handle
);
11655 ndr_print_policy_handle(ndr
, "connect_handle", r
->out
.connect_handle
);
11657 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11663 static enum ndr_err_code
ndr_push_samr_Connect4(struct ndr_push
*ndr
, int flags
, const struct samr_Connect4
*r
)
11665 if (flags
& NDR_IN
) {
11666 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.system_name
));
11667 if (r
->in
.system_name
) {
11668 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->in
.system_name
, CH_UTF16
)));
11669 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
11670 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->in
.system_name
, CH_UTF16
)));
11671 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
));
11673 NDR_CHECK(ndr_push_samr_ConnectVersion(ndr
, NDR_SCALARS
, r
->in
.client_version
));
11674 NDR_CHECK(ndr_push_samr_ConnectAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
11676 if (flags
& NDR_OUT
) {
11677 if (r
->out
.connect_handle
== NULL
) {
11678 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11680 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.connect_handle
));
11681 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11683 return NDR_ERR_SUCCESS
;
11686 static enum ndr_err_code
ndr_pull_samr_Connect4(struct ndr_pull
*ndr
, int flags
, struct samr_Connect4
*r
)
11688 uint32_t _ptr_system_name
;
11689 TALLOC_CTX
*_mem_save_system_name_0
;
11690 TALLOC_CTX
*_mem_save_connect_handle_0
;
11691 if (flags
& NDR_IN
) {
11692 ZERO_STRUCT(r
->out
);
11694 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_system_name
));
11695 if (_ptr_system_name
) {
11696 NDR_PULL_ALLOC(ndr
, r
->in
.system_name
);
11698 r
->in
.system_name
= NULL
;
11700 if (r
->in
.system_name
) {
11701 _mem_save_system_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11702 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.system_name
, 0);
11703 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->in
.system_name
));
11704 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->in
.system_name
));
11705 if (ndr_get_array_length(ndr
, &r
->in
.system_name
) > ndr_get_array_size(ndr
, &r
->in
.system_name
)) {
11706 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->in
.system_name
), ndr_get_array_length(ndr
, &r
->in
.system_name
));
11708 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->in
.system_name
), sizeof(uint16_t)));
11709 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->in
.system_name
, ndr_get_array_length(ndr
, &r
->in
.system_name
), sizeof(uint16_t), CH_UTF16
));
11710 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_system_name_0
, 0);
11712 NDR_CHECK(ndr_pull_samr_ConnectVersion(ndr
, NDR_SCALARS
, &r
->in
.client_version
));
11713 NDR_CHECK(ndr_pull_samr_ConnectAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
11714 NDR_PULL_ALLOC(ndr
, r
->out
.connect_handle
);
11715 ZERO_STRUCTP(r
->out
.connect_handle
);
11717 if (flags
& NDR_OUT
) {
11718 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11719 NDR_PULL_ALLOC(ndr
, r
->out
.connect_handle
);
11721 _mem_save_connect_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11722 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.connect_handle
, LIBNDR_FLAG_REF_ALLOC
);
11723 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.connect_handle
));
11724 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_connect_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
11725 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11727 return NDR_ERR_SUCCESS
;
11730 _PUBLIC_
void ndr_print_samr_Connect4(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_Connect4
*r
)
11732 ndr_print_struct(ndr
, name
, "samr_Connect4");
11734 if (flags
& NDR_SET_VALUES
) {
11735 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11737 if (flags
& NDR_IN
) {
11738 ndr_print_struct(ndr
, "in", "samr_Connect4");
11740 ndr_print_ptr(ndr
, "system_name", r
->in
.system_name
);
11742 if (r
->in
.system_name
) {
11743 ndr_print_string(ndr
, "system_name", r
->in
.system_name
);
11746 ndr_print_samr_ConnectVersion(ndr
, "client_version", r
->in
.client_version
);
11747 ndr_print_samr_ConnectAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
11750 if (flags
& NDR_OUT
) {
11751 ndr_print_struct(ndr
, "out", "samr_Connect4");
11753 ndr_print_ptr(ndr
, "connect_handle", r
->out
.connect_handle
);
11755 ndr_print_policy_handle(ndr
, "connect_handle", r
->out
.connect_handle
);
11757 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11763 static enum ndr_err_code
ndr_push_samr_ChangePasswordUser3(struct ndr_push
*ndr
, int flags
, const struct samr_ChangePasswordUser3
*r
)
11765 if (flags
& NDR_IN
) {
11766 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.server
));
11767 if (r
->in
.server
) {
11768 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.server
));
11770 if (r
->in
.account
== NULL
) {
11771 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11773 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.account
));
11774 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.nt_password
));
11775 if (r
->in
.nt_password
) {
11776 NDR_CHECK(ndr_push_samr_CryptPassword(ndr
, NDR_SCALARS
, r
->in
.nt_password
));
11778 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.nt_verifier
));
11779 if (r
->in
.nt_verifier
) {
11780 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, r
->in
.nt_verifier
));
11782 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->in
.lm_change
));
11783 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.lm_password
));
11784 if (r
->in
.lm_password
) {
11785 NDR_CHECK(ndr_push_samr_CryptPassword(ndr
, NDR_SCALARS
, r
->in
.lm_password
));
11787 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.lm_verifier
));
11788 if (r
->in
.lm_verifier
) {
11789 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, r
->in
.lm_verifier
));
11791 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.password3
));
11792 if (r
->in
.password3
) {
11793 NDR_CHECK(ndr_push_samr_CryptPassword(ndr
, NDR_SCALARS
, r
->in
.password3
));
11796 if (flags
& NDR_OUT
) {
11797 if (r
->out
.dominfo
== NULL
) {
11798 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11800 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.dominfo
));
11801 if (*r
->out
.dominfo
) {
11802 NDR_CHECK(ndr_push_samr_DomInfo1(ndr
, NDR_SCALARS
, *r
->out
.dominfo
));
11804 if (r
->out
.reject
== NULL
) {
11805 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11807 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.reject
));
11808 if (*r
->out
.reject
) {
11809 NDR_CHECK(ndr_push_samr_ChangeReject(ndr
, NDR_SCALARS
, *r
->out
.reject
));
11811 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11813 return NDR_ERR_SUCCESS
;
11816 static enum ndr_err_code
ndr_pull_samr_ChangePasswordUser3(struct ndr_pull
*ndr
, int flags
, struct samr_ChangePasswordUser3
*r
)
11818 uint32_t _ptr_server
;
11819 uint32_t _ptr_nt_password
;
11820 uint32_t _ptr_nt_verifier
;
11821 uint32_t _ptr_lm_password
;
11822 uint32_t _ptr_lm_verifier
;
11823 uint32_t _ptr_password3
;
11824 uint32_t _ptr_dominfo
;
11825 uint32_t _ptr_reject
;
11826 TALLOC_CTX
*_mem_save_server_0
;
11827 TALLOC_CTX
*_mem_save_account_0
;
11828 TALLOC_CTX
*_mem_save_nt_password_0
;
11829 TALLOC_CTX
*_mem_save_nt_verifier_0
;
11830 TALLOC_CTX
*_mem_save_lm_password_0
;
11831 TALLOC_CTX
*_mem_save_lm_verifier_0
;
11832 TALLOC_CTX
*_mem_save_password3_0
;
11833 TALLOC_CTX
*_mem_save_dominfo_0
;
11834 TALLOC_CTX
*_mem_save_dominfo_1
;
11835 TALLOC_CTX
*_mem_save_reject_0
;
11836 TALLOC_CTX
*_mem_save_reject_1
;
11837 if (flags
& NDR_IN
) {
11838 ZERO_STRUCT(r
->out
);
11840 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_server
));
11842 NDR_PULL_ALLOC(ndr
, r
->in
.server
);
11844 r
->in
.server
= NULL
;
11846 if (r
->in
.server
) {
11847 _mem_save_server_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11848 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.server
, 0);
11849 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.server
));
11850 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_server_0
, 0);
11852 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11853 NDR_PULL_ALLOC(ndr
, r
->in
.account
);
11855 _mem_save_account_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11856 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.account
, LIBNDR_FLAG_REF_ALLOC
);
11857 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.account
));
11858 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_account_0
, LIBNDR_FLAG_REF_ALLOC
);
11859 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_nt_password
));
11860 if (_ptr_nt_password
) {
11861 NDR_PULL_ALLOC(ndr
, r
->in
.nt_password
);
11863 r
->in
.nt_password
= NULL
;
11865 if (r
->in
.nt_password
) {
11866 _mem_save_nt_password_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11867 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.nt_password
, 0);
11868 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr
, NDR_SCALARS
, r
->in
.nt_password
));
11869 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_nt_password_0
, 0);
11871 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_nt_verifier
));
11872 if (_ptr_nt_verifier
) {
11873 NDR_PULL_ALLOC(ndr
, r
->in
.nt_verifier
);
11875 r
->in
.nt_verifier
= NULL
;
11877 if (r
->in
.nt_verifier
) {
11878 _mem_save_nt_verifier_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11879 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.nt_verifier
, 0);
11880 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, r
->in
.nt_verifier
));
11881 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_nt_verifier_0
, 0);
11883 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->in
.lm_change
));
11884 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_lm_password
));
11885 if (_ptr_lm_password
) {
11886 NDR_PULL_ALLOC(ndr
, r
->in
.lm_password
);
11888 r
->in
.lm_password
= NULL
;
11890 if (r
->in
.lm_password
) {
11891 _mem_save_lm_password_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11892 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.lm_password
, 0);
11893 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr
, NDR_SCALARS
, r
->in
.lm_password
));
11894 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_lm_password_0
, 0);
11896 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_lm_verifier
));
11897 if (_ptr_lm_verifier
) {
11898 NDR_PULL_ALLOC(ndr
, r
->in
.lm_verifier
);
11900 r
->in
.lm_verifier
= NULL
;
11902 if (r
->in
.lm_verifier
) {
11903 _mem_save_lm_verifier_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11904 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.lm_verifier
, 0);
11905 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, r
->in
.lm_verifier
));
11906 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_lm_verifier_0
, 0);
11908 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_password3
));
11909 if (_ptr_password3
) {
11910 NDR_PULL_ALLOC(ndr
, r
->in
.password3
);
11912 r
->in
.password3
= NULL
;
11914 if (r
->in
.password3
) {
11915 _mem_save_password3_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11916 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.password3
, 0);
11917 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr
, NDR_SCALARS
, r
->in
.password3
));
11918 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_password3_0
, 0);
11920 NDR_PULL_ALLOC(ndr
, r
->out
.dominfo
);
11921 ZERO_STRUCTP(r
->out
.dominfo
);
11922 NDR_PULL_ALLOC(ndr
, r
->out
.reject
);
11923 ZERO_STRUCTP(r
->out
.reject
);
11925 if (flags
& NDR_OUT
) {
11926 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11927 NDR_PULL_ALLOC(ndr
, r
->out
.dominfo
);
11929 _mem_save_dominfo_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11930 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.dominfo
, LIBNDR_FLAG_REF_ALLOC
);
11931 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_dominfo
));
11932 if (_ptr_dominfo
) {
11933 NDR_PULL_ALLOC(ndr
, *r
->out
.dominfo
);
11935 *r
->out
.dominfo
= NULL
;
11937 if (*r
->out
.dominfo
) {
11938 _mem_save_dominfo_1
= NDR_PULL_GET_MEM_CTX(ndr
);
11939 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.dominfo
, 0);
11940 NDR_CHECK(ndr_pull_samr_DomInfo1(ndr
, NDR_SCALARS
, *r
->out
.dominfo
));
11941 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dominfo_1
, 0);
11943 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dominfo_0
, LIBNDR_FLAG_REF_ALLOC
);
11944 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11945 NDR_PULL_ALLOC(ndr
, r
->out
.reject
);
11947 _mem_save_reject_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11948 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.reject
, LIBNDR_FLAG_REF_ALLOC
);
11949 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_reject
));
11951 NDR_PULL_ALLOC(ndr
, *r
->out
.reject
);
11953 *r
->out
.reject
= NULL
;
11955 if (*r
->out
.reject
) {
11956 _mem_save_reject_1
= NDR_PULL_GET_MEM_CTX(ndr
);
11957 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.reject
, 0);
11958 NDR_CHECK(ndr_pull_samr_ChangeReject(ndr
, NDR_SCALARS
, *r
->out
.reject
));
11959 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_reject_1
, 0);
11961 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_reject_0
, LIBNDR_FLAG_REF_ALLOC
);
11962 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11964 return NDR_ERR_SUCCESS
;
11967 _PUBLIC_
void ndr_print_samr_ChangePasswordUser3(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_ChangePasswordUser3
*r
)
11969 ndr_print_struct(ndr
, name
, "samr_ChangePasswordUser3");
11971 if (flags
& NDR_SET_VALUES
) {
11972 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11974 if (flags
& NDR_IN
) {
11975 ndr_print_struct(ndr
, "in", "samr_ChangePasswordUser3");
11977 ndr_print_ptr(ndr
, "server", r
->in
.server
);
11979 if (r
->in
.server
) {
11980 ndr_print_lsa_String(ndr
, "server", r
->in
.server
);
11983 ndr_print_ptr(ndr
, "account", r
->in
.account
);
11985 ndr_print_lsa_String(ndr
, "account", r
->in
.account
);
11987 ndr_print_ptr(ndr
, "nt_password", r
->in
.nt_password
);
11989 if (r
->in
.nt_password
) {
11990 ndr_print_samr_CryptPassword(ndr
, "nt_password", r
->in
.nt_password
);
11993 ndr_print_ptr(ndr
, "nt_verifier", r
->in
.nt_verifier
);
11995 if (r
->in
.nt_verifier
) {
11996 ndr_print_samr_Password(ndr
, "nt_verifier", r
->in
.nt_verifier
);
11999 ndr_print_uint8(ndr
, "lm_change", r
->in
.lm_change
);
12000 ndr_print_ptr(ndr
, "lm_password", r
->in
.lm_password
);
12002 if (r
->in
.lm_password
) {
12003 ndr_print_samr_CryptPassword(ndr
, "lm_password", r
->in
.lm_password
);
12006 ndr_print_ptr(ndr
, "lm_verifier", r
->in
.lm_verifier
);
12008 if (r
->in
.lm_verifier
) {
12009 ndr_print_samr_Password(ndr
, "lm_verifier", r
->in
.lm_verifier
);
12012 ndr_print_ptr(ndr
, "password3", r
->in
.password3
);
12014 if (r
->in
.password3
) {
12015 ndr_print_samr_CryptPassword(ndr
, "password3", r
->in
.password3
);
12020 if (flags
& NDR_OUT
) {
12021 ndr_print_struct(ndr
, "out", "samr_ChangePasswordUser3");
12023 ndr_print_ptr(ndr
, "dominfo", r
->out
.dominfo
);
12025 ndr_print_ptr(ndr
, "dominfo", *r
->out
.dominfo
);
12027 if (*r
->out
.dominfo
) {
12028 ndr_print_samr_DomInfo1(ndr
, "dominfo", *r
->out
.dominfo
);
12032 ndr_print_ptr(ndr
, "reject", r
->out
.reject
);
12034 ndr_print_ptr(ndr
, "reject", *r
->out
.reject
);
12036 if (*r
->out
.reject
) {
12037 ndr_print_samr_ChangeReject(ndr
, "reject", *r
->out
.reject
);
12041 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
12047 _PUBLIC_
enum ndr_err_code
ndr_push_samr_Connect5(struct ndr_push
*ndr
, int flags
, const struct samr_Connect5
*r
)
12049 if (flags
& NDR_IN
) {
12050 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.system_name
));
12051 if (r
->in
.system_name
) {
12052 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->in
.system_name
, CH_UTF16
)));
12053 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
12054 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->in
.system_name
, CH_UTF16
)));
12055 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
));
12057 NDR_CHECK(ndr_push_samr_ConnectAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
12058 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.level_in
));
12059 if (r
->in
.info_in
== NULL
) {
12060 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
12062 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.info_in
, r
->in
.level_in
));
12063 NDR_CHECK(ndr_push_samr_ConnectInfo(ndr
, NDR_SCALARS
, r
->in
.info_in
));
12065 if (flags
& NDR_OUT
) {
12066 if (r
->out
.level_out
== NULL
) {
12067 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
12069 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
12070 if (r
->out
.info_out
== NULL
) {
12071 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
12073 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.info_out
, *r
->out
.level_out
));
12074 NDR_CHECK(ndr_push_samr_ConnectInfo(ndr
, NDR_SCALARS
, r
->out
.info_out
));
12075 if (r
->out
.connect_handle
== NULL
) {
12076 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
12078 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.connect_handle
));
12079 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
12081 return NDR_ERR_SUCCESS
;
12084 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_Connect5(struct ndr_pull
*ndr
, int flags
, struct samr_Connect5
*r
)
12086 uint32_t _ptr_system_name
;
12087 TALLOC_CTX
*_mem_save_system_name_0
;
12088 TALLOC_CTX
*_mem_save_info_in_0
;
12089 TALLOC_CTX
*_mem_save_level_out_0
;
12090 TALLOC_CTX
*_mem_save_info_out_0
;
12091 TALLOC_CTX
*_mem_save_connect_handle_0
;
12092 if (flags
& NDR_IN
) {
12093 ZERO_STRUCT(r
->out
);
12095 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_system_name
));
12096 if (_ptr_system_name
) {
12097 NDR_PULL_ALLOC(ndr
, r
->in
.system_name
);
12099 r
->in
.system_name
= NULL
;
12101 if (r
->in
.system_name
) {
12102 _mem_save_system_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12103 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.system_name
, 0);
12104 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->in
.system_name
));
12105 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->in
.system_name
));
12106 if (ndr_get_array_length(ndr
, &r
->in
.system_name
) > ndr_get_array_size(ndr
, &r
->in
.system_name
)) {
12107 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->in
.system_name
), ndr_get_array_length(ndr
, &r
->in
.system_name
));
12109 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->in
.system_name
), sizeof(uint16_t)));
12110 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->in
.system_name
, ndr_get_array_length(ndr
, &r
->in
.system_name
), sizeof(uint16_t), CH_UTF16
));
12111 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_system_name_0
, 0);
12113 NDR_CHECK(ndr_pull_samr_ConnectAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
12114 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.level_in
));
12115 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
12116 NDR_PULL_ALLOC(ndr
, r
->in
.info_in
);
12118 _mem_save_info_in_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12119 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.info_in
, LIBNDR_FLAG_REF_ALLOC
);
12120 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.info_in
, r
->in
.level_in
));
12121 NDR_CHECK(ndr_pull_samr_ConnectInfo(ndr
, NDR_SCALARS
, r
->in
.info_in
));
12122 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_in_0
, LIBNDR_FLAG_REF_ALLOC
);
12123 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
12124 ZERO_STRUCTP(r
->out
.level_out
);
12125 NDR_PULL_ALLOC(ndr
, r
->out
.info_out
);
12126 ZERO_STRUCTP(r
->out
.info_out
);
12127 NDR_PULL_ALLOC(ndr
, r
->out
.connect_handle
);
12128 ZERO_STRUCTP(r
->out
.connect_handle
);
12130 if (flags
& NDR_OUT
) {
12131 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
12132 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
12134 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12135 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
12136 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
12137 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
12138 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
12139 NDR_PULL_ALLOC(ndr
, r
->out
.info_out
);
12141 _mem_save_info_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12142 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info_out
, LIBNDR_FLAG_REF_ALLOC
);
12143 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.info_out
, *r
->out
.level_out
));
12144 NDR_CHECK(ndr_pull_samr_ConnectInfo(ndr
, NDR_SCALARS
, r
->out
.info_out
));
12145 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_out_0
, LIBNDR_FLAG_REF_ALLOC
);
12146 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
12147 NDR_PULL_ALLOC(ndr
, r
->out
.connect_handle
);
12149 _mem_save_connect_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12150 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.connect_handle
, LIBNDR_FLAG_REF_ALLOC
);
12151 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.connect_handle
));
12152 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_connect_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
12153 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
12155 return NDR_ERR_SUCCESS
;
12158 _PUBLIC_
void ndr_print_samr_Connect5(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_Connect5
*r
)
12160 ndr_print_struct(ndr
, name
, "samr_Connect5");
12162 if (flags
& NDR_SET_VALUES
) {
12163 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
12165 if (flags
& NDR_IN
) {
12166 ndr_print_struct(ndr
, "in", "samr_Connect5");
12168 ndr_print_ptr(ndr
, "system_name", r
->in
.system_name
);
12170 if (r
->in
.system_name
) {
12171 ndr_print_string(ndr
, "system_name", r
->in
.system_name
);
12174 ndr_print_samr_ConnectAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
12175 ndr_print_uint32(ndr
, "level_in", r
->in
.level_in
);
12176 ndr_print_ptr(ndr
, "info_in", r
->in
.info_in
);
12178 ndr_print_set_switch_value(ndr
, r
->in
.info_in
, r
->in
.level_in
);
12179 ndr_print_samr_ConnectInfo(ndr
, "info_in", r
->in
.info_in
);
12183 if (flags
& NDR_OUT
) {
12184 ndr_print_struct(ndr
, "out", "samr_Connect5");
12186 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
12188 ndr_print_uint32(ndr
, "level_out", *r
->out
.level_out
);
12190 ndr_print_ptr(ndr
, "info_out", r
->out
.info_out
);
12192 ndr_print_set_switch_value(ndr
, r
->out
.info_out
, *r
->out
.level_out
);
12193 ndr_print_samr_ConnectInfo(ndr
, "info_out", r
->out
.info_out
);
12195 ndr_print_ptr(ndr
, "connect_handle", r
->out
.connect_handle
);
12197 ndr_print_policy_handle(ndr
, "connect_handle", r
->out
.connect_handle
);
12199 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
12205 static enum ndr_err_code
ndr_push_samr_RidToSid(struct ndr_push
*ndr
, int flags
, const struct samr_RidToSid
*r
)
12207 if (flags
& NDR_IN
) {
12208 if (r
->in
.domain_handle
== NULL
) {
12209 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
12211 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
12212 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.rid
));
12214 if (flags
& NDR_OUT
) {
12215 if (r
->out
.sid
== NULL
) {
12216 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
12218 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.sid
));
12220 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sid
));
12222 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
12224 return NDR_ERR_SUCCESS
;
12227 static enum ndr_err_code
ndr_pull_samr_RidToSid(struct ndr_pull
*ndr
, int flags
, struct samr_RidToSid
*r
)
12230 TALLOC_CTX
*_mem_save_domain_handle_0
;
12231 TALLOC_CTX
*_mem_save_sid_0
;
12232 TALLOC_CTX
*_mem_save_sid_1
;
12233 if (flags
& NDR_IN
) {
12234 ZERO_STRUCT(r
->out
);
12236 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
12237 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
12239 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12240 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
12241 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
12242 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
12243 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.rid
));
12244 NDR_PULL_ALLOC(ndr
, r
->out
.sid
);
12245 ZERO_STRUCTP(r
->out
.sid
);
12247 if (flags
& NDR_OUT
) {
12248 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
12249 NDR_PULL_ALLOC(ndr
, r
->out
.sid
);
12251 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12252 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sid
, LIBNDR_FLAG_REF_ALLOC
);
12253 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sid
));
12255 NDR_PULL_ALLOC(ndr
, *r
->out
.sid
);
12257 *r
->out
.sid
= NULL
;
12260 _mem_save_sid_1
= NDR_PULL_GET_MEM_CTX(ndr
);
12261 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.sid
, 0);
12262 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sid
));
12263 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_1
, 0);
12265 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, LIBNDR_FLAG_REF_ALLOC
);
12266 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
12268 return NDR_ERR_SUCCESS
;
12271 _PUBLIC_
void ndr_print_samr_RidToSid(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_RidToSid
*r
)
12273 ndr_print_struct(ndr
, name
, "samr_RidToSid");
12275 if (flags
& NDR_SET_VALUES
) {
12276 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
12278 if (flags
& NDR_IN
) {
12279 ndr_print_struct(ndr
, "in", "samr_RidToSid");
12281 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
12283 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
12285 ndr_print_uint32(ndr
, "rid", r
->in
.rid
);
12288 if (flags
& NDR_OUT
) {
12289 ndr_print_struct(ndr
, "out", "samr_RidToSid");
12291 ndr_print_ptr(ndr
, "sid", r
->out
.sid
);
12293 ndr_print_ptr(ndr
, "sid", *r
->out
.sid
);
12296 ndr_print_dom_sid2(ndr
, "sid", *r
->out
.sid
);
12300 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
12306 static enum ndr_err_code
ndr_push_samr_SetDsrmPassword(struct ndr_push
*ndr
, int flags
, const struct samr_SetDsrmPassword
*r
)
12308 if (flags
& NDR_IN
) {
12309 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.name
));
12311 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.name
));
12313 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.unknown
));
12314 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.hash
));
12316 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, r
->in
.hash
));
12319 if (flags
& NDR_OUT
) {
12320 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
12322 return NDR_ERR_SUCCESS
;
12325 static enum ndr_err_code
ndr_pull_samr_SetDsrmPassword(struct ndr_pull
*ndr
, int flags
, struct samr_SetDsrmPassword
*r
)
12327 uint32_t _ptr_name
;
12328 uint32_t _ptr_hash
;
12329 TALLOC_CTX
*_mem_save_name_0
;
12330 TALLOC_CTX
*_mem_save_hash_0
;
12331 if (flags
& NDR_IN
) {
12332 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_name
));
12334 NDR_PULL_ALLOC(ndr
, r
->in
.name
);
12339 _mem_save_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12340 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.name
, 0);
12341 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.name
));
12342 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_name_0
, 0);
12344 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.unknown
));
12345 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_hash
));
12347 NDR_PULL_ALLOC(ndr
, r
->in
.hash
);
12352 _mem_save_hash_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12353 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.hash
, 0);
12354 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, r
->in
.hash
));
12355 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_hash_0
, 0);
12358 if (flags
& NDR_OUT
) {
12359 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
12361 return NDR_ERR_SUCCESS
;
12364 _PUBLIC_
void ndr_print_samr_SetDsrmPassword(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_SetDsrmPassword
*r
)
12366 ndr_print_struct(ndr
, name
, "samr_SetDsrmPassword");
12368 if (flags
& NDR_SET_VALUES
) {
12369 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
12371 if (flags
& NDR_IN
) {
12372 ndr_print_struct(ndr
, "in", "samr_SetDsrmPassword");
12374 ndr_print_ptr(ndr
, "name", r
->in
.name
);
12377 ndr_print_lsa_String(ndr
, "name", r
->in
.name
);
12380 ndr_print_uint32(ndr
, "unknown", r
->in
.unknown
);
12381 ndr_print_ptr(ndr
, "hash", r
->in
.hash
);
12384 ndr_print_samr_Password(ndr
, "hash", r
->in
.hash
);
12389 if (flags
& NDR_OUT
) {
12390 ndr_print_struct(ndr
, "out", "samr_SetDsrmPassword");
12392 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
12398 static enum ndr_err_code
ndr_push_samr_ValidatePassword(struct ndr_push
*ndr
, int flags
, const struct samr_ValidatePassword
*r
)
12400 if (flags
& NDR_IN
) {
12401 NDR_CHECK(ndr_push_samr_ValidatePasswordLevel(ndr
, NDR_SCALARS
, r
->in
.level
));
12402 if (r
->in
.req
== NULL
) {
12403 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
12405 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
12406 NDR_CHECK(ndr_push_samr_ValidatePasswordReq(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
12408 if (flags
& NDR_OUT
) {
12409 if (r
->out
.rep
== NULL
) {
12410 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
12412 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.rep
));
12414 NDR_CHECK(ndr_push_set_switch_value(ndr
, *r
->out
.rep
, r
->in
.level
));
12415 NDR_CHECK(ndr_push_samr_ValidatePasswordRep(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.rep
));
12417 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
12419 return NDR_ERR_SUCCESS
;
12422 static enum ndr_err_code
ndr_pull_samr_ValidatePassword(struct ndr_pull
*ndr
, int flags
, struct samr_ValidatePassword
*r
)
12425 TALLOC_CTX
*_mem_save_req_0
;
12426 TALLOC_CTX
*_mem_save_rep_0
;
12427 TALLOC_CTX
*_mem_save_rep_1
;
12428 if (flags
& NDR_IN
) {
12429 ZERO_STRUCT(r
->out
);
12431 NDR_CHECK(ndr_pull_samr_ValidatePasswordLevel(ndr
, NDR_SCALARS
, &r
->in
.level
));
12432 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
12433 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
12435 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12436 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
12437 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
12438 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
12439 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
12440 NDR_PULL_ALLOC(ndr
, r
->out
.rep
);
12441 ZERO_STRUCTP(r
->out
.rep
);
12443 if (flags
& NDR_OUT
) {
12444 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
12445 NDR_PULL_ALLOC(ndr
, r
->out
.rep
);
12447 _mem_save_rep_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12448 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.rep
, LIBNDR_FLAG_REF_ALLOC
);
12449 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_rep
));
12451 NDR_PULL_ALLOC(ndr
, *r
->out
.rep
);
12453 *r
->out
.rep
= NULL
;
12456 _mem_save_rep_1
= NDR_PULL_GET_MEM_CTX(ndr
);
12457 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.rep
, 0);
12458 NDR_CHECK(ndr_pull_set_switch_value(ndr
, *r
->out
.rep
, r
->in
.level
));
12459 NDR_CHECK(ndr_pull_samr_ValidatePasswordRep(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.rep
));
12460 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rep_1
, 0);
12462 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rep_0
, LIBNDR_FLAG_REF_ALLOC
);
12463 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
12465 return NDR_ERR_SUCCESS
;
12468 _PUBLIC_
void ndr_print_samr_ValidatePassword(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_ValidatePassword
*r
)
12470 ndr_print_struct(ndr
, name
, "samr_ValidatePassword");
12472 if (flags
& NDR_SET_VALUES
) {
12473 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
12475 if (flags
& NDR_IN
) {
12476 ndr_print_struct(ndr
, "in", "samr_ValidatePassword");
12478 ndr_print_samr_ValidatePasswordLevel(ndr
, "level", r
->in
.level
);
12479 ndr_print_ptr(ndr
, "req", r
->in
.req
);
12481 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
12482 ndr_print_samr_ValidatePasswordReq(ndr
, "req", r
->in
.req
);
12486 if (flags
& NDR_OUT
) {
12487 ndr_print_struct(ndr
, "out", "samr_ValidatePassword");
12489 ndr_print_ptr(ndr
, "rep", r
->out
.rep
);
12491 ndr_print_ptr(ndr
, "rep", *r
->out
.rep
);
12494 ndr_print_set_switch_value(ndr
, *r
->out
.rep
, r
->in
.level
);
12495 ndr_print_samr_ValidatePasswordRep(ndr
, "rep", *r
->out
.rep
);
12499 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
12505 static const struct ndr_interface_call samr_calls
[] = {
12508 sizeof(struct samr_Connect
),
12509 (ndr_push_flags_fn_t
) ndr_push_samr_Connect
,
12510 (ndr_pull_flags_fn_t
) ndr_pull_samr_Connect
,
12511 (ndr_print_function_t
) ndr_print_samr_Connect
,
12516 sizeof(struct samr_Close
),
12517 (ndr_push_flags_fn_t
) ndr_push_samr_Close
,
12518 (ndr_pull_flags_fn_t
) ndr_pull_samr_Close
,
12519 (ndr_print_function_t
) ndr_print_samr_Close
,
12523 "samr_SetSecurity",
12524 sizeof(struct samr_SetSecurity
),
12525 (ndr_push_flags_fn_t
) ndr_push_samr_SetSecurity
,
12526 (ndr_pull_flags_fn_t
) ndr_pull_samr_SetSecurity
,
12527 (ndr_print_function_t
) ndr_print_samr_SetSecurity
,
12531 "samr_QuerySecurity",
12532 sizeof(struct samr_QuerySecurity
),
12533 (ndr_push_flags_fn_t
) ndr_push_samr_QuerySecurity
,
12534 (ndr_pull_flags_fn_t
) ndr_pull_samr_QuerySecurity
,
12535 (ndr_print_function_t
) ndr_print_samr_QuerySecurity
,
12540 sizeof(struct samr_Shutdown
),
12541 (ndr_push_flags_fn_t
) ndr_push_samr_Shutdown
,
12542 (ndr_pull_flags_fn_t
) ndr_pull_samr_Shutdown
,
12543 (ndr_print_function_t
) ndr_print_samr_Shutdown
,
12547 "samr_LookupDomain",
12548 sizeof(struct samr_LookupDomain
),
12549 (ndr_push_flags_fn_t
) ndr_push_samr_LookupDomain
,
12550 (ndr_pull_flags_fn_t
) ndr_pull_samr_LookupDomain
,
12551 (ndr_print_function_t
) ndr_print_samr_LookupDomain
,
12555 "samr_EnumDomains",
12556 sizeof(struct samr_EnumDomains
),
12557 (ndr_push_flags_fn_t
) ndr_push_samr_EnumDomains
,
12558 (ndr_pull_flags_fn_t
) ndr_pull_samr_EnumDomains
,
12559 (ndr_print_function_t
) ndr_print_samr_EnumDomains
,
12564 sizeof(struct samr_OpenDomain
),
12565 (ndr_push_flags_fn_t
) ndr_push_samr_OpenDomain
,
12566 (ndr_pull_flags_fn_t
) ndr_pull_samr_OpenDomain
,
12567 (ndr_print_function_t
) ndr_print_samr_OpenDomain
,
12571 "samr_QueryDomainInfo",
12572 sizeof(struct samr_QueryDomainInfo
),
12573 (ndr_push_flags_fn_t
) ndr_push_samr_QueryDomainInfo
,
12574 (ndr_pull_flags_fn_t
) ndr_pull_samr_QueryDomainInfo
,
12575 (ndr_print_function_t
) ndr_print_samr_QueryDomainInfo
,
12579 "samr_SetDomainInfo",
12580 sizeof(struct samr_SetDomainInfo
),
12581 (ndr_push_flags_fn_t
) ndr_push_samr_SetDomainInfo
,
12582 (ndr_pull_flags_fn_t
) ndr_pull_samr_SetDomainInfo
,
12583 (ndr_print_function_t
) ndr_print_samr_SetDomainInfo
,
12587 "samr_CreateDomainGroup",
12588 sizeof(struct samr_CreateDomainGroup
),
12589 (ndr_push_flags_fn_t
) ndr_push_samr_CreateDomainGroup
,
12590 (ndr_pull_flags_fn_t
) ndr_pull_samr_CreateDomainGroup
,
12591 (ndr_print_function_t
) ndr_print_samr_CreateDomainGroup
,
12595 "samr_EnumDomainGroups",
12596 sizeof(struct samr_EnumDomainGroups
),
12597 (ndr_push_flags_fn_t
) ndr_push_samr_EnumDomainGroups
,
12598 (ndr_pull_flags_fn_t
) ndr_pull_samr_EnumDomainGroups
,
12599 (ndr_print_function_t
) ndr_print_samr_EnumDomainGroups
,
12604 sizeof(struct samr_CreateUser
),
12605 (ndr_push_flags_fn_t
) ndr_push_samr_CreateUser
,
12606 (ndr_pull_flags_fn_t
) ndr_pull_samr_CreateUser
,
12607 (ndr_print_function_t
) ndr_print_samr_CreateUser
,
12611 "samr_EnumDomainUsers",
12612 sizeof(struct samr_EnumDomainUsers
),
12613 (ndr_push_flags_fn_t
) ndr_push_samr_EnumDomainUsers
,
12614 (ndr_pull_flags_fn_t
) ndr_pull_samr_EnumDomainUsers
,
12615 (ndr_print_function_t
) ndr_print_samr_EnumDomainUsers
,
12619 "samr_CreateDomAlias",
12620 sizeof(struct samr_CreateDomAlias
),
12621 (ndr_push_flags_fn_t
) ndr_push_samr_CreateDomAlias
,
12622 (ndr_pull_flags_fn_t
) ndr_pull_samr_CreateDomAlias
,
12623 (ndr_print_function_t
) ndr_print_samr_CreateDomAlias
,
12627 "samr_EnumDomainAliases",
12628 sizeof(struct samr_EnumDomainAliases
),
12629 (ndr_push_flags_fn_t
) ndr_push_samr_EnumDomainAliases
,
12630 (ndr_pull_flags_fn_t
) ndr_pull_samr_EnumDomainAliases
,
12631 (ndr_print_function_t
) ndr_print_samr_EnumDomainAliases
,
12635 "samr_GetAliasMembership",
12636 sizeof(struct samr_GetAliasMembership
),
12637 (ndr_push_flags_fn_t
) ndr_push_samr_GetAliasMembership
,
12638 (ndr_pull_flags_fn_t
) ndr_pull_samr_GetAliasMembership
,
12639 (ndr_print_function_t
) ndr_print_samr_GetAliasMembership
,
12643 "samr_LookupNames",
12644 sizeof(struct samr_LookupNames
),
12645 (ndr_push_flags_fn_t
) ndr_push_samr_LookupNames
,
12646 (ndr_pull_flags_fn_t
) ndr_pull_samr_LookupNames
,
12647 (ndr_print_function_t
) ndr_print_samr_LookupNames
,
12652 sizeof(struct samr_LookupRids
),
12653 (ndr_push_flags_fn_t
) ndr_push_samr_LookupRids
,
12654 (ndr_pull_flags_fn_t
) ndr_pull_samr_LookupRids
,
12655 (ndr_print_function_t
) ndr_print_samr_LookupRids
,
12660 sizeof(struct samr_OpenGroup
),
12661 (ndr_push_flags_fn_t
) ndr_push_samr_OpenGroup
,
12662 (ndr_pull_flags_fn_t
) ndr_pull_samr_OpenGroup
,
12663 (ndr_print_function_t
) ndr_print_samr_OpenGroup
,
12667 "samr_QueryGroupInfo",
12668 sizeof(struct samr_QueryGroupInfo
),
12669 (ndr_push_flags_fn_t
) ndr_push_samr_QueryGroupInfo
,
12670 (ndr_pull_flags_fn_t
) ndr_pull_samr_QueryGroupInfo
,
12671 (ndr_print_function_t
) ndr_print_samr_QueryGroupInfo
,
12675 "samr_SetGroupInfo",
12676 sizeof(struct samr_SetGroupInfo
),
12677 (ndr_push_flags_fn_t
) ndr_push_samr_SetGroupInfo
,
12678 (ndr_pull_flags_fn_t
) ndr_pull_samr_SetGroupInfo
,
12679 (ndr_print_function_t
) ndr_print_samr_SetGroupInfo
,
12683 "samr_AddGroupMember",
12684 sizeof(struct samr_AddGroupMember
),
12685 (ndr_push_flags_fn_t
) ndr_push_samr_AddGroupMember
,
12686 (ndr_pull_flags_fn_t
) ndr_pull_samr_AddGroupMember
,
12687 (ndr_print_function_t
) ndr_print_samr_AddGroupMember
,
12691 "samr_DeleteDomainGroup",
12692 sizeof(struct samr_DeleteDomainGroup
),
12693 (ndr_push_flags_fn_t
) ndr_push_samr_DeleteDomainGroup
,
12694 (ndr_pull_flags_fn_t
) ndr_pull_samr_DeleteDomainGroup
,
12695 (ndr_print_function_t
) ndr_print_samr_DeleteDomainGroup
,
12699 "samr_DeleteGroupMember",
12700 sizeof(struct samr_DeleteGroupMember
),
12701 (ndr_push_flags_fn_t
) ndr_push_samr_DeleteGroupMember
,
12702 (ndr_pull_flags_fn_t
) ndr_pull_samr_DeleteGroupMember
,
12703 (ndr_print_function_t
) ndr_print_samr_DeleteGroupMember
,
12707 "samr_QueryGroupMember",
12708 sizeof(struct samr_QueryGroupMember
),
12709 (ndr_push_flags_fn_t
) ndr_push_samr_QueryGroupMember
,
12710 (ndr_pull_flags_fn_t
) ndr_pull_samr_QueryGroupMember
,
12711 (ndr_print_function_t
) ndr_print_samr_QueryGroupMember
,
12715 "samr_SetMemberAttributesOfGroup",
12716 sizeof(struct samr_SetMemberAttributesOfGroup
),
12717 (ndr_push_flags_fn_t
) ndr_push_samr_SetMemberAttributesOfGroup
,
12718 (ndr_pull_flags_fn_t
) ndr_pull_samr_SetMemberAttributesOfGroup
,
12719 (ndr_print_function_t
) ndr_print_samr_SetMemberAttributesOfGroup
,
12724 sizeof(struct samr_OpenAlias
),
12725 (ndr_push_flags_fn_t
) ndr_push_samr_OpenAlias
,
12726 (ndr_pull_flags_fn_t
) ndr_pull_samr_OpenAlias
,
12727 (ndr_print_function_t
) ndr_print_samr_OpenAlias
,
12731 "samr_QueryAliasInfo",
12732 sizeof(struct samr_QueryAliasInfo
),
12733 (ndr_push_flags_fn_t
) ndr_push_samr_QueryAliasInfo
,
12734 (ndr_pull_flags_fn_t
) ndr_pull_samr_QueryAliasInfo
,
12735 (ndr_print_function_t
) ndr_print_samr_QueryAliasInfo
,
12739 "samr_SetAliasInfo",
12740 sizeof(struct samr_SetAliasInfo
),
12741 (ndr_push_flags_fn_t
) ndr_push_samr_SetAliasInfo
,
12742 (ndr_pull_flags_fn_t
) ndr_pull_samr_SetAliasInfo
,
12743 (ndr_print_function_t
) ndr_print_samr_SetAliasInfo
,
12747 "samr_DeleteDomAlias",
12748 sizeof(struct samr_DeleteDomAlias
),
12749 (ndr_push_flags_fn_t
) ndr_push_samr_DeleteDomAlias
,
12750 (ndr_pull_flags_fn_t
) ndr_pull_samr_DeleteDomAlias
,
12751 (ndr_print_function_t
) ndr_print_samr_DeleteDomAlias
,
12755 "samr_AddAliasMember",
12756 sizeof(struct samr_AddAliasMember
),
12757 (ndr_push_flags_fn_t
) ndr_push_samr_AddAliasMember
,
12758 (ndr_pull_flags_fn_t
) ndr_pull_samr_AddAliasMember
,
12759 (ndr_print_function_t
) ndr_print_samr_AddAliasMember
,
12763 "samr_DeleteAliasMember",
12764 sizeof(struct samr_DeleteAliasMember
),
12765 (ndr_push_flags_fn_t
) ndr_push_samr_DeleteAliasMember
,
12766 (ndr_pull_flags_fn_t
) ndr_pull_samr_DeleteAliasMember
,
12767 (ndr_print_function_t
) ndr_print_samr_DeleteAliasMember
,
12771 "samr_GetMembersInAlias",
12772 sizeof(struct samr_GetMembersInAlias
),
12773 (ndr_push_flags_fn_t
) ndr_push_samr_GetMembersInAlias
,
12774 (ndr_pull_flags_fn_t
) ndr_pull_samr_GetMembersInAlias
,
12775 (ndr_print_function_t
) ndr_print_samr_GetMembersInAlias
,
12780 sizeof(struct samr_OpenUser
),
12781 (ndr_push_flags_fn_t
) ndr_push_samr_OpenUser
,
12782 (ndr_pull_flags_fn_t
) ndr_pull_samr_OpenUser
,
12783 (ndr_print_function_t
) ndr_print_samr_OpenUser
,
12788 sizeof(struct samr_DeleteUser
),
12789 (ndr_push_flags_fn_t
) ndr_push_samr_DeleteUser
,
12790 (ndr_pull_flags_fn_t
) ndr_pull_samr_DeleteUser
,
12791 (ndr_print_function_t
) ndr_print_samr_DeleteUser
,
12795 "samr_QueryUserInfo",
12796 sizeof(struct samr_QueryUserInfo
),
12797 (ndr_push_flags_fn_t
) ndr_push_samr_QueryUserInfo
,
12798 (ndr_pull_flags_fn_t
) ndr_pull_samr_QueryUserInfo
,
12799 (ndr_print_function_t
) ndr_print_samr_QueryUserInfo
,
12803 "samr_SetUserInfo",
12804 sizeof(struct samr_SetUserInfo
),
12805 (ndr_push_flags_fn_t
) ndr_push_samr_SetUserInfo
,
12806 (ndr_pull_flags_fn_t
) ndr_pull_samr_SetUserInfo
,
12807 (ndr_print_function_t
) ndr_print_samr_SetUserInfo
,
12811 "samr_ChangePasswordUser",
12812 sizeof(struct samr_ChangePasswordUser
),
12813 (ndr_push_flags_fn_t
) ndr_push_samr_ChangePasswordUser
,
12814 (ndr_pull_flags_fn_t
) ndr_pull_samr_ChangePasswordUser
,
12815 (ndr_print_function_t
) ndr_print_samr_ChangePasswordUser
,
12819 "samr_GetGroupsForUser",
12820 sizeof(struct samr_GetGroupsForUser
),
12821 (ndr_push_flags_fn_t
) ndr_push_samr_GetGroupsForUser
,
12822 (ndr_pull_flags_fn_t
) ndr_pull_samr_GetGroupsForUser
,
12823 (ndr_print_function_t
) ndr_print_samr_GetGroupsForUser
,
12827 "samr_QueryDisplayInfo",
12828 sizeof(struct samr_QueryDisplayInfo
),
12829 (ndr_push_flags_fn_t
) ndr_push_samr_QueryDisplayInfo
,
12830 (ndr_pull_flags_fn_t
) ndr_pull_samr_QueryDisplayInfo
,
12831 (ndr_print_function_t
) ndr_print_samr_QueryDisplayInfo
,
12835 "samr_GetDisplayEnumerationIndex",
12836 sizeof(struct samr_GetDisplayEnumerationIndex
),
12837 (ndr_push_flags_fn_t
) ndr_push_samr_GetDisplayEnumerationIndex
,
12838 (ndr_pull_flags_fn_t
) ndr_pull_samr_GetDisplayEnumerationIndex
,
12839 (ndr_print_function_t
) ndr_print_samr_GetDisplayEnumerationIndex
,
12843 "samr_TestPrivateFunctionsDomain",
12844 sizeof(struct samr_TestPrivateFunctionsDomain
),
12845 (ndr_push_flags_fn_t
) ndr_push_samr_TestPrivateFunctionsDomain
,
12846 (ndr_pull_flags_fn_t
) ndr_pull_samr_TestPrivateFunctionsDomain
,
12847 (ndr_print_function_t
) ndr_print_samr_TestPrivateFunctionsDomain
,
12851 "samr_TestPrivateFunctionsUser",
12852 sizeof(struct samr_TestPrivateFunctionsUser
),
12853 (ndr_push_flags_fn_t
) ndr_push_samr_TestPrivateFunctionsUser
,
12854 (ndr_pull_flags_fn_t
) ndr_pull_samr_TestPrivateFunctionsUser
,
12855 (ndr_print_function_t
) ndr_print_samr_TestPrivateFunctionsUser
,
12859 "samr_GetUserPwInfo",
12860 sizeof(struct samr_GetUserPwInfo
),
12861 (ndr_push_flags_fn_t
) ndr_push_samr_GetUserPwInfo
,
12862 (ndr_pull_flags_fn_t
) ndr_pull_samr_GetUserPwInfo
,
12863 (ndr_print_function_t
) ndr_print_samr_GetUserPwInfo
,
12867 "samr_RemoveMemberFromForeignDomain",
12868 sizeof(struct samr_RemoveMemberFromForeignDomain
),
12869 (ndr_push_flags_fn_t
) ndr_push_samr_RemoveMemberFromForeignDomain
,
12870 (ndr_pull_flags_fn_t
) ndr_pull_samr_RemoveMemberFromForeignDomain
,
12871 (ndr_print_function_t
) ndr_print_samr_RemoveMemberFromForeignDomain
,
12875 "samr_QueryDomainInfo2",
12876 sizeof(struct samr_QueryDomainInfo2
),
12877 (ndr_push_flags_fn_t
) ndr_push_samr_QueryDomainInfo2
,
12878 (ndr_pull_flags_fn_t
) ndr_pull_samr_QueryDomainInfo2
,
12879 (ndr_print_function_t
) ndr_print_samr_QueryDomainInfo2
,
12883 "samr_QueryUserInfo2",
12884 sizeof(struct samr_QueryUserInfo2
),
12885 (ndr_push_flags_fn_t
) ndr_push_samr_QueryUserInfo2
,
12886 (ndr_pull_flags_fn_t
) ndr_pull_samr_QueryUserInfo2
,
12887 (ndr_print_function_t
) ndr_print_samr_QueryUserInfo2
,
12891 "samr_QueryDisplayInfo2",
12892 sizeof(struct samr_QueryDisplayInfo2
),
12893 (ndr_push_flags_fn_t
) ndr_push_samr_QueryDisplayInfo2
,
12894 (ndr_pull_flags_fn_t
) ndr_pull_samr_QueryDisplayInfo2
,
12895 (ndr_print_function_t
) ndr_print_samr_QueryDisplayInfo2
,
12899 "samr_GetDisplayEnumerationIndex2",
12900 sizeof(struct samr_GetDisplayEnumerationIndex2
),
12901 (ndr_push_flags_fn_t
) ndr_push_samr_GetDisplayEnumerationIndex2
,
12902 (ndr_pull_flags_fn_t
) ndr_pull_samr_GetDisplayEnumerationIndex2
,
12903 (ndr_print_function_t
) ndr_print_samr_GetDisplayEnumerationIndex2
,
12907 "samr_CreateUser2",
12908 sizeof(struct samr_CreateUser2
),
12909 (ndr_push_flags_fn_t
) ndr_push_samr_CreateUser2
,
12910 (ndr_pull_flags_fn_t
) ndr_pull_samr_CreateUser2
,
12911 (ndr_print_function_t
) ndr_print_samr_CreateUser2
,
12915 "samr_QueryDisplayInfo3",
12916 sizeof(struct samr_QueryDisplayInfo3
),
12917 (ndr_push_flags_fn_t
) ndr_push_samr_QueryDisplayInfo3
,
12918 (ndr_pull_flags_fn_t
) ndr_pull_samr_QueryDisplayInfo3
,
12919 (ndr_print_function_t
) ndr_print_samr_QueryDisplayInfo3
,
12923 "samr_AddMultipleMembersToAlias",
12924 sizeof(struct samr_AddMultipleMembersToAlias
),
12925 (ndr_push_flags_fn_t
) ndr_push_samr_AddMultipleMembersToAlias
,
12926 (ndr_pull_flags_fn_t
) ndr_pull_samr_AddMultipleMembersToAlias
,
12927 (ndr_print_function_t
) ndr_print_samr_AddMultipleMembersToAlias
,
12931 "samr_RemoveMultipleMembersFromAlias",
12932 sizeof(struct samr_RemoveMultipleMembersFromAlias
),
12933 (ndr_push_flags_fn_t
) ndr_push_samr_RemoveMultipleMembersFromAlias
,
12934 (ndr_pull_flags_fn_t
) ndr_pull_samr_RemoveMultipleMembersFromAlias
,
12935 (ndr_print_function_t
) ndr_print_samr_RemoveMultipleMembersFromAlias
,
12939 "samr_OemChangePasswordUser2",
12940 sizeof(struct samr_OemChangePasswordUser2
),
12941 (ndr_push_flags_fn_t
) ndr_push_samr_OemChangePasswordUser2
,
12942 (ndr_pull_flags_fn_t
) ndr_pull_samr_OemChangePasswordUser2
,
12943 (ndr_print_function_t
) ndr_print_samr_OemChangePasswordUser2
,
12947 "samr_ChangePasswordUser2",
12948 sizeof(struct samr_ChangePasswordUser2
),
12949 (ndr_push_flags_fn_t
) ndr_push_samr_ChangePasswordUser2
,
12950 (ndr_pull_flags_fn_t
) ndr_pull_samr_ChangePasswordUser2
,
12951 (ndr_print_function_t
) ndr_print_samr_ChangePasswordUser2
,
12955 "samr_GetDomPwInfo",
12956 sizeof(struct samr_GetDomPwInfo
),
12957 (ndr_push_flags_fn_t
) ndr_push_samr_GetDomPwInfo
,
12958 (ndr_pull_flags_fn_t
) ndr_pull_samr_GetDomPwInfo
,
12959 (ndr_print_function_t
) ndr_print_samr_GetDomPwInfo
,
12964 sizeof(struct samr_Connect2
),
12965 (ndr_push_flags_fn_t
) ndr_push_samr_Connect2
,
12966 (ndr_pull_flags_fn_t
) ndr_pull_samr_Connect2
,
12967 (ndr_print_function_t
) ndr_print_samr_Connect2
,
12971 "samr_SetUserInfo2",
12972 sizeof(struct samr_SetUserInfo2
),
12973 (ndr_push_flags_fn_t
) ndr_push_samr_SetUserInfo2
,
12974 (ndr_pull_flags_fn_t
) ndr_pull_samr_SetUserInfo2
,
12975 (ndr_print_function_t
) ndr_print_samr_SetUserInfo2
,
12979 "samr_SetBootKeyInformation",
12980 sizeof(struct samr_SetBootKeyInformation
),
12981 (ndr_push_flags_fn_t
) ndr_push_samr_SetBootKeyInformation
,
12982 (ndr_pull_flags_fn_t
) ndr_pull_samr_SetBootKeyInformation
,
12983 (ndr_print_function_t
) ndr_print_samr_SetBootKeyInformation
,
12987 "samr_GetBootKeyInformation",
12988 sizeof(struct samr_GetBootKeyInformation
),
12989 (ndr_push_flags_fn_t
) ndr_push_samr_GetBootKeyInformation
,
12990 (ndr_pull_flags_fn_t
) ndr_pull_samr_GetBootKeyInformation
,
12991 (ndr_print_function_t
) ndr_print_samr_GetBootKeyInformation
,
12996 sizeof(struct samr_Connect3
),
12997 (ndr_push_flags_fn_t
) ndr_push_samr_Connect3
,
12998 (ndr_pull_flags_fn_t
) ndr_pull_samr_Connect3
,
12999 (ndr_print_function_t
) ndr_print_samr_Connect3
,
13004 sizeof(struct samr_Connect4
),
13005 (ndr_push_flags_fn_t
) ndr_push_samr_Connect4
,
13006 (ndr_pull_flags_fn_t
) ndr_pull_samr_Connect4
,
13007 (ndr_print_function_t
) ndr_print_samr_Connect4
,
13011 "samr_ChangePasswordUser3",
13012 sizeof(struct samr_ChangePasswordUser3
),
13013 (ndr_push_flags_fn_t
) ndr_push_samr_ChangePasswordUser3
,
13014 (ndr_pull_flags_fn_t
) ndr_pull_samr_ChangePasswordUser3
,
13015 (ndr_print_function_t
) ndr_print_samr_ChangePasswordUser3
,
13020 sizeof(struct samr_Connect5
),
13021 (ndr_push_flags_fn_t
) ndr_push_samr_Connect5
,
13022 (ndr_pull_flags_fn_t
) ndr_pull_samr_Connect5
,
13023 (ndr_print_function_t
) ndr_print_samr_Connect5
,
13028 sizeof(struct samr_RidToSid
),
13029 (ndr_push_flags_fn_t
) ndr_push_samr_RidToSid
,
13030 (ndr_pull_flags_fn_t
) ndr_pull_samr_RidToSid
,
13031 (ndr_print_function_t
) ndr_print_samr_RidToSid
,
13035 "samr_SetDsrmPassword",
13036 sizeof(struct samr_SetDsrmPassword
),
13037 (ndr_push_flags_fn_t
) ndr_push_samr_SetDsrmPassword
,
13038 (ndr_pull_flags_fn_t
) ndr_pull_samr_SetDsrmPassword
,
13039 (ndr_print_function_t
) ndr_print_samr_SetDsrmPassword
,
13043 "samr_ValidatePassword",
13044 sizeof(struct samr_ValidatePassword
),
13045 (ndr_push_flags_fn_t
) ndr_push_samr_ValidatePassword
,
13046 (ndr_pull_flags_fn_t
) ndr_pull_samr_ValidatePassword
,
13047 (ndr_print_function_t
) ndr_print_samr_ValidatePassword
,
13050 { NULL
, 0, NULL
, NULL
, NULL
, false }
13053 static const char * const samr_endpoint_strings
[] = {
13054 "ncacn_np:[\\pipe\\samr]",
13059 static const struct ndr_interface_string_array samr_endpoints
= {
13061 .names
= samr_endpoint_strings
13064 static const char * const samr_authservice_strings
[] = {
13068 static const struct ndr_interface_string_array samr_authservices
= {
13070 .names
= samr_authservice_strings
13074 const struct ndr_interface_table ndr_table_samr
= {
13077 {0x12345778,0x1234,0xabcd,{0xef,0x00},{0x01,0x23,0x45,0x67,0x89,0xac}},
13080 .helpstring
= NDR_SAMR_HELPSTRING
,
13082 .calls
= samr_calls
,
13083 .endpoints
= &samr_endpoints
,
13084 .authservices
= &samr_authservices