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_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_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_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_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
, 4));
249 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->idx
));
250 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->name
));
252 if (ndr_flags
& NDR_BUFFERS
) {
253 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->name
));
255 return NDR_ERR_SUCCESS
;
258 static enum ndr_err_code
ndr_pull_samr_SamEntry(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_SamEntry
*r
)
260 if (ndr_flags
& NDR_SCALARS
) {
261 NDR_CHECK(ndr_pull_align(ndr
, 4));
262 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->idx
));
263 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->name
));
265 if (ndr_flags
& NDR_BUFFERS
) {
266 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->name
));
268 return NDR_ERR_SUCCESS
;
271 _PUBLIC_
void ndr_print_samr_SamEntry(struct ndr_print
*ndr
, const char *name
, const struct samr_SamEntry
*r
)
273 ndr_print_struct(ndr
, name
, "samr_SamEntry");
275 ndr_print_uint32(ndr
, "idx", r
->idx
);
276 ndr_print_lsa_String(ndr
, "name", &r
->name
);
280 static enum ndr_err_code
ndr_push_samr_SamArray(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_SamArray
*r
)
282 uint32_t cntr_entries_1
;
283 if (ndr_flags
& NDR_SCALARS
) {
284 NDR_CHECK(ndr_push_align(ndr
, 4));
285 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
286 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->entries
));
288 if (ndr_flags
& NDR_BUFFERS
) {
290 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
291 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
292 NDR_CHECK(ndr_push_samr_SamEntry(ndr
, NDR_SCALARS
, &r
->entries
[cntr_entries_1
]));
294 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
295 NDR_CHECK(ndr_push_samr_SamEntry(ndr
, NDR_BUFFERS
, &r
->entries
[cntr_entries_1
]));
299 return NDR_ERR_SUCCESS
;
302 static enum ndr_err_code
ndr_pull_samr_SamArray(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_SamArray
*r
)
304 uint32_t _ptr_entries
;
305 uint32_t cntr_entries_1
;
306 TALLOC_CTX
*_mem_save_entries_0
;
307 TALLOC_CTX
*_mem_save_entries_1
;
308 if (ndr_flags
& NDR_SCALARS
) {
309 NDR_CHECK(ndr_pull_align(ndr
, 4));
310 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
311 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_entries
));
313 NDR_PULL_ALLOC(ndr
, r
->entries
);
318 if (ndr_flags
& NDR_BUFFERS
) {
320 _mem_save_entries_0
= NDR_PULL_GET_MEM_CTX(ndr
);
321 NDR_PULL_SET_MEM_CTX(ndr
, r
->entries
, 0);
322 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->entries
));
323 NDR_PULL_ALLOC_N(ndr
, r
->entries
, ndr_get_array_size(ndr
, &r
->entries
));
324 _mem_save_entries_1
= NDR_PULL_GET_MEM_CTX(ndr
);
325 NDR_PULL_SET_MEM_CTX(ndr
, r
->entries
, 0);
326 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
327 NDR_CHECK(ndr_pull_samr_SamEntry(ndr
, NDR_SCALARS
, &r
->entries
[cntr_entries_1
]));
329 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
330 NDR_CHECK(ndr_pull_samr_SamEntry(ndr
, NDR_BUFFERS
, &r
->entries
[cntr_entries_1
]));
332 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_entries_1
, 0);
333 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_entries_0
, 0);
336 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->entries
, r
->count
));
339 return NDR_ERR_SUCCESS
;
342 _PUBLIC_
void ndr_print_samr_SamArray(struct ndr_print
*ndr
, const char *name
, const struct samr_SamArray
*r
)
344 uint32_t cntr_entries_1
;
345 ndr_print_struct(ndr
, name
, "samr_SamArray");
347 ndr_print_uint32(ndr
, "count", r
->count
);
348 ndr_print_ptr(ndr
, "entries", r
->entries
);
351 ndr
->print(ndr
, "%s: ARRAY(%d)", "entries", (int)r
->count
);
353 for (cntr_entries_1
=0;cntr_entries_1
<r
->count
;cntr_entries_1
++) {
355 if (asprintf(&idx_1
, "[%d]", cntr_entries_1
) != -1) {
356 ndr_print_samr_SamEntry(ndr
, "entries", &r
->entries
[cntr_entries_1
]);
366 static enum ndr_err_code
ndr_push_samr_Role(struct ndr_push
*ndr
, int ndr_flags
, enum samr_Role r
)
368 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
369 return NDR_ERR_SUCCESS
;
372 static enum ndr_err_code
ndr_pull_samr_Role(struct ndr_pull
*ndr
, int ndr_flags
, enum samr_Role
*r
)
375 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
377 return NDR_ERR_SUCCESS
;
380 _PUBLIC_
void ndr_print_samr_Role(struct ndr_print
*ndr
, const char *name
, enum samr_Role r
)
382 const char *val
= NULL
;
385 case SAMR_ROLE_STANDALONE
: val
= "SAMR_ROLE_STANDALONE"; break;
386 case SAMR_ROLE_DOMAIN_MEMBER
: val
= "SAMR_ROLE_DOMAIN_MEMBER"; break;
387 case SAMR_ROLE_DOMAIN_BDC
: val
= "SAMR_ROLE_DOMAIN_BDC"; break;
388 case SAMR_ROLE_DOMAIN_PDC
: val
= "SAMR_ROLE_DOMAIN_PDC"; break;
390 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
393 _PUBLIC_
enum ndr_err_code
ndr_push_samr_PasswordProperties(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
395 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
396 return NDR_ERR_SUCCESS
;
399 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_PasswordProperties(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
402 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
404 return NDR_ERR_SUCCESS
;
407 _PUBLIC_
void ndr_print_samr_PasswordProperties(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
409 ndr_print_uint32(ndr
, name
, r
);
411 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DOMAIN_PASSWORD_COMPLEX", DOMAIN_PASSWORD_COMPLEX
, r
);
412 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DOMAIN_PASSWORD_NO_ANON_CHANGE", DOMAIN_PASSWORD_NO_ANON_CHANGE
, r
);
413 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DOMAIN_PASSWORD_NO_CLEAR_CHANGE", DOMAIN_PASSWORD_NO_CLEAR_CHANGE
, r
);
414 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DOMAIN_PASSWORD_LOCKOUT_ADMINS", DOMAIN_PASSWORD_LOCKOUT_ADMINS
, r
);
415 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DOMAIN_PASSWORD_STORE_CLEARTEXT", DOMAIN_PASSWORD_STORE_CLEARTEXT
, r
);
416 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DOMAIN_REFUSE_PASSWORD_CHANGE", DOMAIN_REFUSE_PASSWORD_CHANGE
, r
);
420 static enum ndr_err_code
ndr_push_samr_DomainServerState(struct ndr_push
*ndr
, int ndr_flags
, enum samr_DomainServerState r
)
422 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
423 return NDR_ERR_SUCCESS
;
426 static enum ndr_err_code
ndr_pull_samr_DomainServerState(struct ndr_pull
*ndr
, int ndr_flags
, enum samr_DomainServerState
*r
)
429 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
431 return NDR_ERR_SUCCESS
;
434 _PUBLIC_
void ndr_print_samr_DomainServerState(struct ndr_print
*ndr
, const char *name
, enum samr_DomainServerState r
)
436 const char *val
= NULL
;
439 case DOMAIN_SERVER_ENABLED
: val
= "DOMAIN_SERVER_ENABLED"; break;
440 case DOMAIN_SERVER_DISABLED
: val
= "DOMAIN_SERVER_DISABLED"; break;
442 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
445 static enum ndr_err_code
ndr_push_samr_DomInfo1(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DomInfo1
*r
)
447 if (ndr_flags
& NDR_SCALARS
) {
448 NDR_CHECK(ndr_push_align(ndr
, 4));
449 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->min_password_length
));
450 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->password_history_length
));
451 NDR_CHECK(ndr_push_samr_PasswordProperties(ndr
, NDR_SCALARS
, r
->password_properties
));
452 NDR_CHECK(ndr_push_dlong(ndr
, NDR_SCALARS
, r
->max_password_age
));
453 NDR_CHECK(ndr_push_dlong(ndr
, NDR_SCALARS
, r
->min_password_age
));
455 if (ndr_flags
& NDR_BUFFERS
) {
457 return NDR_ERR_SUCCESS
;
460 static enum ndr_err_code
ndr_pull_samr_DomInfo1(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DomInfo1
*r
)
462 if (ndr_flags
& NDR_SCALARS
) {
463 NDR_CHECK(ndr_pull_align(ndr
, 4));
464 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->min_password_length
));
465 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->password_history_length
));
466 NDR_CHECK(ndr_pull_samr_PasswordProperties(ndr
, NDR_SCALARS
, &r
->password_properties
));
467 NDR_CHECK(ndr_pull_dlong(ndr
, NDR_SCALARS
, &r
->max_password_age
));
468 NDR_CHECK(ndr_pull_dlong(ndr
, NDR_SCALARS
, &r
->min_password_age
));
470 if (ndr_flags
& NDR_BUFFERS
) {
472 return NDR_ERR_SUCCESS
;
475 _PUBLIC_
void ndr_print_samr_DomInfo1(struct ndr_print
*ndr
, const char *name
, const struct samr_DomInfo1
*r
)
477 ndr_print_struct(ndr
, name
, "samr_DomInfo1");
479 ndr_print_uint16(ndr
, "min_password_length", r
->min_password_length
);
480 ndr_print_uint16(ndr
, "password_history_length", r
->password_history_length
);
481 ndr_print_samr_PasswordProperties(ndr
, "password_properties", r
->password_properties
);
482 ndr_print_dlong(ndr
, "max_password_age", r
->max_password_age
);
483 ndr_print_dlong(ndr
, "min_password_age", r
->min_password_age
);
487 static enum ndr_err_code
ndr_push_samr_DomGeneralInformation(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DomGeneralInformation
*r
)
489 if (ndr_flags
& NDR_SCALARS
) {
490 NDR_CHECK(ndr_push_align(ndr
, 4));
491 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->force_logoff_time
));
492 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->oem_information
));
493 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->domain_name
));
494 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->primary
));
495 NDR_CHECK(ndr_push_udlong(ndr
, NDR_SCALARS
, r
->sequence_num
));
496 NDR_CHECK(ndr_push_samr_DomainServerState(ndr
, NDR_SCALARS
, r
->domain_server_state
));
497 NDR_CHECK(ndr_push_samr_Role(ndr
, NDR_SCALARS
, r
->role
));
498 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown3
));
499 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_users
));
500 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_groups
));
501 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_aliases
));
503 if (ndr_flags
& NDR_BUFFERS
) {
504 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->oem_information
));
505 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->domain_name
));
506 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->primary
));
508 return NDR_ERR_SUCCESS
;
511 static enum ndr_err_code
ndr_pull_samr_DomGeneralInformation(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DomGeneralInformation
*r
)
513 if (ndr_flags
& NDR_SCALARS
) {
514 NDR_CHECK(ndr_pull_align(ndr
, 4));
515 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->force_logoff_time
));
516 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->oem_information
));
517 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->domain_name
));
518 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->primary
));
519 NDR_CHECK(ndr_pull_udlong(ndr
, NDR_SCALARS
, &r
->sequence_num
));
520 NDR_CHECK(ndr_pull_samr_DomainServerState(ndr
, NDR_SCALARS
, &r
->domain_server_state
));
521 NDR_CHECK(ndr_pull_samr_Role(ndr
, NDR_SCALARS
, &r
->role
));
522 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown3
));
523 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_users
));
524 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_groups
));
525 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_aliases
));
527 if (ndr_flags
& NDR_BUFFERS
) {
528 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->oem_information
));
529 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->domain_name
));
530 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->primary
));
532 return NDR_ERR_SUCCESS
;
535 _PUBLIC_
void ndr_print_samr_DomGeneralInformation(struct ndr_print
*ndr
, const char *name
, const struct samr_DomGeneralInformation
*r
)
537 ndr_print_struct(ndr
, name
, "samr_DomGeneralInformation");
539 ndr_print_NTTIME(ndr
, "force_logoff_time", r
->force_logoff_time
);
540 ndr_print_lsa_String(ndr
, "oem_information", &r
->oem_information
);
541 ndr_print_lsa_String(ndr
, "domain_name", &r
->domain_name
);
542 ndr_print_lsa_String(ndr
, "primary", &r
->primary
);
543 ndr_print_udlong(ndr
, "sequence_num", r
->sequence_num
);
544 ndr_print_samr_DomainServerState(ndr
, "domain_server_state", r
->domain_server_state
);
545 ndr_print_samr_Role(ndr
, "role", r
->role
);
546 ndr_print_uint32(ndr
, "unknown3", r
->unknown3
);
547 ndr_print_uint32(ndr
, "num_users", r
->num_users
);
548 ndr_print_uint32(ndr
, "num_groups", r
->num_groups
);
549 ndr_print_uint32(ndr
, "num_aliases", r
->num_aliases
);
553 static enum ndr_err_code
ndr_push_samr_DomInfo3(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DomInfo3
*r
)
555 if (ndr_flags
& NDR_SCALARS
) {
556 NDR_CHECK(ndr_push_align(ndr
, 4));
557 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->force_logoff_time
));
559 if (ndr_flags
& NDR_BUFFERS
) {
561 return NDR_ERR_SUCCESS
;
564 static enum ndr_err_code
ndr_pull_samr_DomInfo3(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DomInfo3
*r
)
566 if (ndr_flags
& NDR_SCALARS
) {
567 NDR_CHECK(ndr_pull_align(ndr
, 4));
568 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->force_logoff_time
));
570 if (ndr_flags
& NDR_BUFFERS
) {
572 return NDR_ERR_SUCCESS
;
575 _PUBLIC_
void ndr_print_samr_DomInfo3(struct ndr_print
*ndr
, const char *name
, const struct samr_DomInfo3
*r
)
577 ndr_print_struct(ndr
, name
, "samr_DomInfo3");
579 ndr_print_NTTIME(ndr
, "force_logoff_time", r
->force_logoff_time
);
583 static enum ndr_err_code
ndr_push_samr_DomOEMInformation(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DomOEMInformation
*r
)
585 if (ndr_flags
& NDR_SCALARS
) {
586 NDR_CHECK(ndr_push_align(ndr
, 4));
587 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->oem_information
));
589 if (ndr_flags
& NDR_BUFFERS
) {
590 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->oem_information
));
592 return NDR_ERR_SUCCESS
;
595 static enum ndr_err_code
ndr_pull_samr_DomOEMInformation(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DomOEMInformation
*r
)
597 if (ndr_flags
& NDR_SCALARS
) {
598 NDR_CHECK(ndr_pull_align(ndr
, 4));
599 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->oem_information
));
601 if (ndr_flags
& NDR_BUFFERS
) {
602 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->oem_information
));
604 return NDR_ERR_SUCCESS
;
607 _PUBLIC_
void ndr_print_samr_DomOEMInformation(struct ndr_print
*ndr
, const char *name
, const struct samr_DomOEMInformation
*r
)
609 ndr_print_struct(ndr
, name
, "samr_DomOEMInformation");
611 ndr_print_lsa_String(ndr
, "oem_information", &r
->oem_information
);
615 static enum ndr_err_code
ndr_push_samr_DomInfo5(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DomInfo5
*r
)
617 if (ndr_flags
& NDR_SCALARS
) {
618 NDR_CHECK(ndr_push_align(ndr
, 4));
619 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->domain_name
));
621 if (ndr_flags
& NDR_BUFFERS
) {
622 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->domain_name
));
624 return NDR_ERR_SUCCESS
;
627 static enum ndr_err_code
ndr_pull_samr_DomInfo5(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DomInfo5
*r
)
629 if (ndr_flags
& NDR_SCALARS
) {
630 NDR_CHECK(ndr_pull_align(ndr
, 4));
631 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->domain_name
));
633 if (ndr_flags
& NDR_BUFFERS
) {
634 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->domain_name
));
636 return NDR_ERR_SUCCESS
;
639 _PUBLIC_
void ndr_print_samr_DomInfo5(struct ndr_print
*ndr
, const char *name
, const struct samr_DomInfo5
*r
)
641 ndr_print_struct(ndr
, name
, "samr_DomInfo5");
643 ndr_print_lsa_String(ndr
, "domain_name", &r
->domain_name
);
647 static enum ndr_err_code
ndr_push_samr_DomInfo6(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DomInfo6
*r
)
649 if (ndr_flags
& NDR_SCALARS
) {
650 NDR_CHECK(ndr_push_align(ndr
, 4));
651 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->primary
));
653 if (ndr_flags
& NDR_BUFFERS
) {
654 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->primary
));
656 return NDR_ERR_SUCCESS
;
659 static enum ndr_err_code
ndr_pull_samr_DomInfo6(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DomInfo6
*r
)
661 if (ndr_flags
& NDR_SCALARS
) {
662 NDR_CHECK(ndr_pull_align(ndr
, 4));
663 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->primary
));
665 if (ndr_flags
& NDR_BUFFERS
) {
666 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->primary
));
668 return NDR_ERR_SUCCESS
;
671 _PUBLIC_
void ndr_print_samr_DomInfo6(struct ndr_print
*ndr
, const char *name
, const struct samr_DomInfo6
*r
)
673 ndr_print_struct(ndr
, name
, "samr_DomInfo6");
675 ndr_print_lsa_String(ndr
, "primary", &r
->primary
);
679 static enum ndr_err_code
ndr_push_samr_DomInfo7(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DomInfo7
*r
)
681 if (ndr_flags
& NDR_SCALARS
) {
682 NDR_CHECK(ndr_push_align(ndr
, 4));
683 NDR_CHECK(ndr_push_samr_Role(ndr
, NDR_SCALARS
, r
->role
));
685 if (ndr_flags
& NDR_BUFFERS
) {
687 return NDR_ERR_SUCCESS
;
690 static enum ndr_err_code
ndr_pull_samr_DomInfo7(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DomInfo7
*r
)
692 if (ndr_flags
& NDR_SCALARS
) {
693 NDR_CHECK(ndr_pull_align(ndr
, 4));
694 NDR_CHECK(ndr_pull_samr_Role(ndr
, NDR_SCALARS
, &r
->role
));
696 if (ndr_flags
& NDR_BUFFERS
) {
698 return NDR_ERR_SUCCESS
;
701 _PUBLIC_
void ndr_print_samr_DomInfo7(struct ndr_print
*ndr
, const char *name
, const struct samr_DomInfo7
*r
)
703 ndr_print_struct(ndr
, name
, "samr_DomInfo7");
705 ndr_print_samr_Role(ndr
, "role", r
->role
);
709 static enum ndr_err_code
ndr_push_samr_DomInfo8(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DomInfo8
*r
)
711 if (ndr_flags
& NDR_SCALARS
) {
712 NDR_CHECK(ndr_push_align(ndr
, 8));
713 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->sequence_num
));
714 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->domain_create_time
));
716 if (ndr_flags
& NDR_BUFFERS
) {
718 return NDR_ERR_SUCCESS
;
721 static enum ndr_err_code
ndr_pull_samr_DomInfo8(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DomInfo8
*r
)
723 if (ndr_flags
& NDR_SCALARS
) {
724 NDR_CHECK(ndr_pull_align(ndr
, 8));
725 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->sequence_num
));
726 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->domain_create_time
));
728 if (ndr_flags
& NDR_BUFFERS
) {
730 return NDR_ERR_SUCCESS
;
733 _PUBLIC_
void ndr_print_samr_DomInfo8(struct ndr_print
*ndr
, const char *name
, const struct samr_DomInfo8
*r
)
735 ndr_print_struct(ndr
, name
, "samr_DomInfo8");
737 ndr_print_hyper(ndr
, "sequence_num", r
->sequence_num
);
738 ndr_print_NTTIME(ndr
, "domain_create_time", r
->domain_create_time
);
742 static enum ndr_err_code
ndr_push_samr_DomInfo9(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DomInfo9
*r
)
744 if (ndr_flags
& NDR_SCALARS
) {
745 NDR_CHECK(ndr_push_align(ndr
, 4));
746 NDR_CHECK(ndr_push_samr_DomainServerState(ndr
, NDR_SCALARS
, r
->domain_server_state
));
748 if (ndr_flags
& NDR_BUFFERS
) {
750 return NDR_ERR_SUCCESS
;
753 static enum ndr_err_code
ndr_pull_samr_DomInfo9(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DomInfo9
*r
)
755 if (ndr_flags
& NDR_SCALARS
) {
756 NDR_CHECK(ndr_pull_align(ndr
, 4));
757 NDR_CHECK(ndr_pull_samr_DomainServerState(ndr
, NDR_SCALARS
, &r
->domain_server_state
));
759 if (ndr_flags
& NDR_BUFFERS
) {
761 return NDR_ERR_SUCCESS
;
764 _PUBLIC_
void ndr_print_samr_DomInfo9(struct ndr_print
*ndr
, const char *name
, const struct samr_DomInfo9
*r
)
766 ndr_print_struct(ndr
, name
, "samr_DomInfo9");
768 ndr_print_samr_DomainServerState(ndr
, "domain_server_state", r
->domain_server_state
);
772 static enum ndr_err_code
ndr_push_samr_DomGeneralInformation2(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DomGeneralInformation2
*r
)
774 if (ndr_flags
& NDR_SCALARS
) {
775 NDR_CHECK(ndr_push_align(ndr
, 8));
776 NDR_CHECK(ndr_push_samr_DomGeneralInformation(ndr
, NDR_SCALARS
, &r
->general
));
777 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->lockout_duration
));
778 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->lockout_window
));
779 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->lockout_threshold
));
781 if (ndr_flags
& NDR_BUFFERS
) {
782 NDR_CHECK(ndr_push_samr_DomGeneralInformation(ndr
, NDR_BUFFERS
, &r
->general
));
784 return NDR_ERR_SUCCESS
;
787 static enum ndr_err_code
ndr_pull_samr_DomGeneralInformation2(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DomGeneralInformation2
*r
)
789 if (ndr_flags
& NDR_SCALARS
) {
790 NDR_CHECK(ndr_pull_align(ndr
, 8));
791 NDR_CHECK(ndr_pull_samr_DomGeneralInformation(ndr
, NDR_SCALARS
, &r
->general
));
792 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->lockout_duration
));
793 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->lockout_window
));
794 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->lockout_threshold
));
796 if (ndr_flags
& NDR_BUFFERS
) {
797 NDR_CHECK(ndr_pull_samr_DomGeneralInformation(ndr
, NDR_BUFFERS
, &r
->general
));
799 return NDR_ERR_SUCCESS
;
802 _PUBLIC_
void ndr_print_samr_DomGeneralInformation2(struct ndr_print
*ndr
, const char *name
, const struct samr_DomGeneralInformation2
*r
)
804 ndr_print_struct(ndr
, name
, "samr_DomGeneralInformation2");
806 ndr_print_samr_DomGeneralInformation(ndr
, "general", &r
->general
);
807 ndr_print_hyper(ndr
, "lockout_duration", r
->lockout_duration
);
808 ndr_print_hyper(ndr
, "lockout_window", r
->lockout_window
);
809 ndr_print_uint16(ndr
, "lockout_threshold", r
->lockout_threshold
);
813 static enum ndr_err_code
ndr_push_samr_DomInfo12(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DomInfo12
*r
)
815 if (ndr_flags
& NDR_SCALARS
) {
816 NDR_CHECK(ndr_push_align(ndr
, 8));
817 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->lockout_duration
));
818 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->lockout_window
));
819 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->lockout_threshold
));
821 if (ndr_flags
& NDR_BUFFERS
) {
823 return NDR_ERR_SUCCESS
;
826 static enum ndr_err_code
ndr_pull_samr_DomInfo12(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DomInfo12
*r
)
828 if (ndr_flags
& NDR_SCALARS
) {
829 NDR_CHECK(ndr_pull_align(ndr
, 8));
830 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->lockout_duration
));
831 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->lockout_window
));
832 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->lockout_threshold
));
834 if (ndr_flags
& NDR_BUFFERS
) {
836 return NDR_ERR_SUCCESS
;
839 _PUBLIC_
void ndr_print_samr_DomInfo12(struct ndr_print
*ndr
, const char *name
, const struct samr_DomInfo12
*r
)
841 ndr_print_struct(ndr
, name
, "samr_DomInfo12");
843 ndr_print_hyper(ndr
, "lockout_duration", r
->lockout_duration
);
844 ndr_print_hyper(ndr
, "lockout_window", r
->lockout_window
);
845 ndr_print_uint16(ndr
, "lockout_threshold", r
->lockout_threshold
);
849 static enum ndr_err_code
ndr_push_samr_DomInfo13(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DomInfo13
*r
)
851 if (ndr_flags
& NDR_SCALARS
) {
852 NDR_CHECK(ndr_push_align(ndr
, 8));
853 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->sequence_num
));
854 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->domain_create_time
));
855 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->modified_count_at_last_promotion
));
857 if (ndr_flags
& NDR_BUFFERS
) {
859 return NDR_ERR_SUCCESS
;
862 static enum ndr_err_code
ndr_pull_samr_DomInfo13(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DomInfo13
*r
)
864 if (ndr_flags
& NDR_SCALARS
) {
865 NDR_CHECK(ndr_pull_align(ndr
, 8));
866 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->sequence_num
));
867 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->domain_create_time
));
868 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->modified_count_at_last_promotion
));
870 if (ndr_flags
& NDR_BUFFERS
) {
872 return NDR_ERR_SUCCESS
;
875 _PUBLIC_
void ndr_print_samr_DomInfo13(struct ndr_print
*ndr
, const char *name
, const struct samr_DomInfo13
*r
)
877 ndr_print_struct(ndr
, name
, "samr_DomInfo13");
879 ndr_print_hyper(ndr
, "sequence_num", r
->sequence_num
);
880 ndr_print_NTTIME(ndr
, "domain_create_time", r
->domain_create_time
);
881 ndr_print_hyper(ndr
, "modified_count_at_last_promotion", r
->modified_count_at_last_promotion
);
885 static enum ndr_err_code
ndr_push_samr_DomainInfo(struct ndr_push
*ndr
, int ndr_flags
, const union samr_DomainInfo
*r
)
887 if (ndr_flags
& NDR_SCALARS
) {
888 int level
= ndr_push_get_switch_value(ndr
, r
);
889 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, level
));
892 NDR_CHECK(ndr_push_samr_DomInfo1(ndr
, NDR_SCALARS
, &r
->info1
));
896 NDR_CHECK(ndr_push_samr_DomGeneralInformation(ndr
, NDR_SCALARS
, &r
->general
));
900 NDR_CHECK(ndr_push_samr_DomInfo3(ndr
, NDR_SCALARS
, &r
->info3
));
904 NDR_CHECK(ndr_push_samr_DomOEMInformation(ndr
, NDR_SCALARS
, &r
->oem
));
908 NDR_CHECK(ndr_push_samr_DomInfo5(ndr
, NDR_SCALARS
, &r
->info5
));
912 NDR_CHECK(ndr_push_samr_DomInfo6(ndr
, NDR_SCALARS
, &r
->info6
));
916 NDR_CHECK(ndr_push_samr_DomInfo7(ndr
, NDR_SCALARS
, &r
->info7
));
920 NDR_CHECK(ndr_push_samr_DomInfo8(ndr
, NDR_SCALARS
, &r
->info8
));
924 NDR_CHECK(ndr_push_samr_DomInfo9(ndr
, NDR_SCALARS
, &r
->info9
));
928 NDR_CHECK(ndr_push_samr_DomGeneralInformation2(ndr
, NDR_SCALARS
, &r
->general2
));
932 NDR_CHECK(ndr_push_samr_DomInfo12(ndr
, NDR_SCALARS
, &r
->info12
));
936 NDR_CHECK(ndr_push_samr_DomInfo13(ndr
, NDR_SCALARS
, &r
->info13
));
940 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
943 if (ndr_flags
& NDR_BUFFERS
) {
944 int level
= ndr_push_get_switch_value(ndr
, r
);
950 NDR_CHECK(ndr_push_samr_DomGeneralInformation(ndr
, NDR_BUFFERS
, &r
->general
));
957 NDR_CHECK(ndr_push_samr_DomOEMInformation(ndr
, NDR_BUFFERS
, &r
->oem
));
961 NDR_CHECK(ndr_push_samr_DomInfo5(ndr
, NDR_BUFFERS
, &r
->info5
));
965 NDR_CHECK(ndr_push_samr_DomInfo6(ndr
, NDR_BUFFERS
, &r
->info6
));
978 NDR_CHECK(ndr_push_samr_DomGeneralInformation2(ndr
, NDR_BUFFERS
, &r
->general2
));
988 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
991 return NDR_ERR_SUCCESS
;
994 static enum ndr_err_code
ndr_pull_samr_DomainInfo(struct ndr_pull
*ndr
, int ndr_flags
, union samr_DomainInfo
*r
)
998 level
= ndr_pull_get_switch_value(ndr
, r
);
999 if (ndr_flags
& NDR_SCALARS
) {
1000 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &_level
));
1001 if (_level
!= level
) {
1002 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r", _level
);
1006 NDR_CHECK(ndr_pull_samr_DomInfo1(ndr
, NDR_SCALARS
, &r
->info1
));
1010 NDR_CHECK(ndr_pull_samr_DomGeneralInformation(ndr
, NDR_SCALARS
, &r
->general
));
1014 NDR_CHECK(ndr_pull_samr_DomInfo3(ndr
, NDR_SCALARS
, &r
->info3
));
1018 NDR_CHECK(ndr_pull_samr_DomOEMInformation(ndr
, NDR_SCALARS
, &r
->oem
));
1022 NDR_CHECK(ndr_pull_samr_DomInfo5(ndr
, NDR_SCALARS
, &r
->info5
));
1026 NDR_CHECK(ndr_pull_samr_DomInfo6(ndr
, NDR_SCALARS
, &r
->info6
));
1030 NDR_CHECK(ndr_pull_samr_DomInfo7(ndr
, NDR_SCALARS
, &r
->info7
));
1034 NDR_CHECK(ndr_pull_samr_DomInfo8(ndr
, NDR_SCALARS
, &r
->info8
));
1038 NDR_CHECK(ndr_pull_samr_DomInfo9(ndr
, NDR_SCALARS
, &r
->info9
));
1042 NDR_CHECK(ndr_pull_samr_DomGeneralInformation2(ndr
, NDR_SCALARS
, &r
->general2
));
1046 NDR_CHECK(ndr_pull_samr_DomInfo12(ndr
, NDR_SCALARS
, &r
->info12
));
1050 NDR_CHECK(ndr_pull_samr_DomInfo13(ndr
, NDR_SCALARS
, &r
->info13
));
1054 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
1057 if (ndr_flags
& NDR_BUFFERS
) {
1063 NDR_CHECK(ndr_pull_samr_DomGeneralInformation(ndr
, NDR_BUFFERS
, &r
->general
));
1070 NDR_CHECK(ndr_pull_samr_DomOEMInformation(ndr
, NDR_BUFFERS
, &r
->oem
));
1074 NDR_CHECK(ndr_pull_samr_DomInfo5(ndr
, NDR_BUFFERS
, &r
->info5
));
1078 NDR_CHECK(ndr_pull_samr_DomInfo6(ndr
, NDR_BUFFERS
, &r
->info6
));
1091 NDR_CHECK(ndr_pull_samr_DomGeneralInformation2(ndr
, NDR_BUFFERS
, &r
->general2
));
1101 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
1104 return NDR_ERR_SUCCESS
;
1107 _PUBLIC_
void ndr_print_samr_DomainInfo(struct ndr_print
*ndr
, const char *name
, const union samr_DomainInfo
*r
)
1110 level
= ndr_print_get_switch_value(ndr
, r
);
1111 ndr_print_union(ndr
, name
, level
, "samr_DomainInfo");
1114 ndr_print_samr_DomInfo1(ndr
, "info1", &r
->info1
);
1118 ndr_print_samr_DomGeneralInformation(ndr
, "general", &r
->general
);
1122 ndr_print_samr_DomInfo3(ndr
, "info3", &r
->info3
);
1126 ndr_print_samr_DomOEMInformation(ndr
, "oem", &r
->oem
);
1130 ndr_print_samr_DomInfo5(ndr
, "info5", &r
->info5
);
1134 ndr_print_samr_DomInfo6(ndr
, "info6", &r
->info6
);
1138 ndr_print_samr_DomInfo7(ndr
, "info7", &r
->info7
);
1142 ndr_print_samr_DomInfo8(ndr
, "info8", &r
->info8
);
1146 ndr_print_samr_DomInfo9(ndr
, "info9", &r
->info9
);
1150 ndr_print_samr_DomGeneralInformation2(ndr
, "general2", &r
->general2
);
1154 ndr_print_samr_DomInfo12(ndr
, "info12", &r
->info12
);
1158 ndr_print_samr_DomInfo13(ndr
, "info13", &r
->info13
);
1162 ndr_print_bad_level(ndr
, name
, level
);
1166 static enum ndr_err_code
ndr_push_samr_Ids(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_Ids
*r
)
1168 uint32_t cntr_ids_1
;
1169 if (ndr_flags
& NDR_SCALARS
) {
1170 NDR_CHECK(ndr_push_align(ndr
, 4));
1171 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
1172 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->ids
));
1174 if (ndr_flags
& NDR_BUFFERS
) {
1176 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
1177 for (cntr_ids_1
= 0; cntr_ids_1
< r
->count
; cntr_ids_1
++) {
1178 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->ids
[cntr_ids_1
]));
1182 return NDR_ERR_SUCCESS
;
1185 static enum ndr_err_code
ndr_pull_samr_Ids(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_Ids
*r
)
1188 uint32_t cntr_ids_1
;
1189 TALLOC_CTX
*_mem_save_ids_0
;
1190 TALLOC_CTX
*_mem_save_ids_1
;
1191 if (ndr_flags
& NDR_SCALARS
) {
1192 NDR_CHECK(ndr_pull_align(ndr
, 4));
1193 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
1194 if (r
->count
> 1024) {
1195 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
1197 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_ids
));
1199 NDR_PULL_ALLOC(ndr
, r
->ids
);
1204 if (ndr_flags
& NDR_BUFFERS
) {
1206 _mem_save_ids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1207 NDR_PULL_SET_MEM_CTX(ndr
, r
->ids
, 0);
1208 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->ids
));
1209 NDR_PULL_ALLOC_N(ndr
, r
->ids
, ndr_get_array_size(ndr
, &r
->ids
));
1210 _mem_save_ids_1
= NDR_PULL_GET_MEM_CTX(ndr
);
1211 NDR_PULL_SET_MEM_CTX(ndr
, r
->ids
, 0);
1212 for (cntr_ids_1
= 0; cntr_ids_1
< r
->count
; cntr_ids_1
++) {
1213 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->ids
[cntr_ids_1
]));
1215 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ids_1
, 0);
1216 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ids_0
, 0);
1219 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->ids
, r
->count
));
1222 return NDR_ERR_SUCCESS
;
1225 _PUBLIC_
void ndr_print_samr_Ids(struct ndr_print
*ndr
, const char *name
, const struct samr_Ids
*r
)
1227 uint32_t cntr_ids_1
;
1228 ndr_print_struct(ndr
, name
, "samr_Ids");
1230 ndr_print_uint32(ndr
, "count", r
->count
);
1231 ndr_print_ptr(ndr
, "ids", r
->ids
);
1234 ndr
->print(ndr
, "%s: ARRAY(%d)", "ids", (int)r
->count
);
1236 for (cntr_ids_1
=0;cntr_ids_1
<r
->count
;cntr_ids_1
++) {
1238 if (asprintf(&idx_1
, "[%d]", cntr_ids_1
) != -1) {
1239 ndr_print_uint32(ndr
, "ids", r
->ids
[cntr_ids_1
]);
1249 _PUBLIC_
enum ndr_err_code
ndr_push_samr_GroupAttrs(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
1251 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
1252 return NDR_ERR_SUCCESS
;
1255 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_GroupAttrs(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
1258 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
1260 return NDR_ERR_SUCCESS
;
1263 _PUBLIC_
void ndr_print_samr_GroupAttrs(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
1265 ndr_print_uint32(ndr
, name
, r
);
1267 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SE_GROUP_MANDATORY", SE_GROUP_MANDATORY
, r
);
1268 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SE_GROUP_ENABLED_BY_DEFAULT", SE_GROUP_ENABLED_BY_DEFAULT
, r
);
1269 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SE_GROUP_ENABLED", SE_GROUP_ENABLED
, r
);
1270 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SE_GROUP_OWNER", SE_GROUP_OWNER
, r
);
1271 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SE_GROUP_USE_FOR_DENY_ONLY", SE_GROUP_USE_FOR_DENY_ONLY
, r
);
1272 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SE_GROUP_RESOURCE", SE_GROUP_RESOURCE
, r
);
1273 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SE_GROUP_LOGON_ID", SE_GROUP_LOGON_ID
, r
);
1277 static enum ndr_err_code
ndr_push_samr_GroupInfoAll(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_GroupInfoAll
*r
)
1279 if (ndr_flags
& NDR_SCALARS
) {
1280 NDR_CHECK(ndr_push_align(ndr
, 4));
1281 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->name
));
1282 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr
, NDR_SCALARS
, r
->attributes
));
1283 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_members
));
1284 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
1286 if (ndr_flags
& NDR_BUFFERS
) {
1287 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->name
));
1288 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
1290 return NDR_ERR_SUCCESS
;
1293 static enum ndr_err_code
ndr_pull_samr_GroupInfoAll(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_GroupInfoAll
*r
)
1295 if (ndr_flags
& NDR_SCALARS
) {
1296 NDR_CHECK(ndr_pull_align(ndr
, 4));
1297 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->name
));
1298 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr
, NDR_SCALARS
, &r
->attributes
));
1299 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_members
));
1300 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
1302 if (ndr_flags
& NDR_BUFFERS
) {
1303 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->name
));
1304 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
1306 return NDR_ERR_SUCCESS
;
1309 _PUBLIC_
void ndr_print_samr_GroupInfoAll(struct ndr_print
*ndr
, const char *name
, const struct samr_GroupInfoAll
*r
)
1311 ndr_print_struct(ndr
, name
, "samr_GroupInfoAll");
1313 ndr_print_lsa_String(ndr
, "name", &r
->name
);
1314 ndr_print_samr_GroupAttrs(ndr
, "attributes", r
->attributes
);
1315 ndr_print_uint32(ndr
, "num_members", r
->num_members
);
1316 ndr_print_lsa_String(ndr
, "description", &r
->description
);
1320 static enum ndr_err_code
ndr_push_samr_GroupInfoAttributes(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_GroupInfoAttributes
*r
)
1322 if (ndr_flags
& NDR_SCALARS
) {
1323 NDR_CHECK(ndr_push_align(ndr
, 4));
1324 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr
, NDR_SCALARS
, r
->attributes
));
1326 if (ndr_flags
& NDR_BUFFERS
) {
1328 return NDR_ERR_SUCCESS
;
1331 static enum ndr_err_code
ndr_pull_samr_GroupInfoAttributes(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_GroupInfoAttributes
*r
)
1333 if (ndr_flags
& NDR_SCALARS
) {
1334 NDR_CHECK(ndr_pull_align(ndr
, 4));
1335 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr
, NDR_SCALARS
, &r
->attributes
));
1337 if (ndr_flags
& NDR_BUFFERS
) {
1339 return NDR_ERR_SUCCESS
;
1342 _PUBLIC_
void ndr_print_samr_GroupInfoAttributes(struct ndr_print
*ndr
, const char *name
, const struct samr_GroupInfoAttributes
*r
)
1344 ndr_print_struct(ndr
, name
, "samr_GroupInfoAttributes");
1346 ndr_print_samr_GroupAttrs(ndr
, "attributes", r
->attributes
);
1350 static enum ndr_err_code
ndr_push_samr_GroupInfoEnum(struct ndr_push
*ndr
, int ndr_flags
, enum samr_GroupInfoEnum r
)
1352 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
));
1353 return NDR_ERR_SUCCESS
;
1356 static enum ndr_err_code
ndr_pull_samr_GroupInfoEnum(struct ndr_pull
*ndr
, int ndr_flags
, enum samr_GroupInfoEnum
*r
)
1359 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &v
));
1361 return NDR_ERR_SUCCESS
;
1364 _PUBLIC_
void ndr_print_samr_GroupInfoEnum(struct ndr_print
*ndr
, const char *name
, enum samr_GroupInfoEnum r
)
1366 const char *val
= NULL
;
1369 case GROUPINFOALL
: val
= "GROUPINFOALL"; break;
1370 case GROUPINFONAME
: val
= "GROUPINFONAME"; break;
1371 case GROUPINFOATTRIBUTES
: val
= "GROUPINFOATTRIBUTES"; break;
1372 case GROUPINFODESCRIPTION
: val
= "GROUPINFODESCRIPTION"; break;
1373 case GROUPINFOALL2
: val
= "GROUPINFOALL2"; break;
1375 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
1378 static enum ndr_err_code
ndr_push_samr_GroupInfo(struct ndr_push
*ndr
, int ndr_flags
, const union samr_GroupInfo
*r
)
1380 if (ndr_flags
& NDR_SCALARS
) {
1381 int level
= ndr_push_get_switch_value(ndr
, r
);
1382 NDR_CHECK(ndr_push_samr_GroupInfoEnum(ndr
, NDR_SCALARS
, level
));
1384 case GROUPINFOALL
: {
1385 NDR_CHECK(ndr_push_samr_GroupInfoAll(ndr
, NDR_SCALARS
, &r
->all
));
1388 case GROUPINFONAME
: {
1389 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->name
));
1392 case GROUPINFOATTRIBUTES
: {
1393 NDR_CHECK(ndr_push_samr_GroupInfoAttributes(ndr
, NDR_SCALARS
, &r
->attributes
));
1396 case GROUPINFODESCRIPTION
: {
1397 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
1400 case GROUPINFOALL2
: {
1401 NDR_CHECK(ndr_push_samr_GroupInfoAll(ndr
, NDR_SCALARS
, &r
->all2
));
1405 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
1408 if (ndr_flags
& NDR_BUFFERS
) {
1409 int level
= ndr_push_get_switch_value(ndr
, r
);
1412 NDR_CHECK(ndr_push_samr_GroupInfoAll(ndr
, NDR_BUFFERS
, &r
->all
));
1416 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->name
));
1419 case GROUPINFOATTRIBUTES
:
1422 case GROUPINFODESCRIPTION
:
1423 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
1427 NDR_CHECK(ndr_push_samr_GroupInfoAll(ndr
, NDR_BUFFERS
, &r
->all2
));
1431 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
1434 return NDR_ERR_SUCCESS
;
1437 static enum ndr_err_code
ndr_pull_samr_GroupInfo(struct ndr_pull
*ndr
, int ndr_flags
, union samr_GroupInfo
*r
)
1441 level
= ndr_pull_get_switch_value(ndr
, r
);
1442 if (ndr_flags
& NDR_SCALARS
) {
1443 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &_level
));
1444 if (_level
!= level
) {
1445 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r", _level
);
1448 case GROUPINFOALL
: {
1449 NDR_CHECK(ndr_pull_samr_GroupInfoAll(ndr
, NDR_SCALARS
, &r
->all
));
1452 case GROUPINFONAME
: {
1453 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->name
));
1456 case GROUPINFOATTRIBUTES
: {
1457 NDR_CHECK(ndr_pull_samr_GroupInfoAttributes(ndr
, NDR_SCALARS
, &r
->attributes
));
1460 case GROUPINFODESCRIPTION
: {
1461 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
1464 case GROUPINFOALL2
: {
1465 NDR_CHECK(ndr_pull_samr_GroupInfoAll(ndr
, NDR_SCALARS
, &r
->all2
));
1469 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
1472 if (ndr_flags
& NDR_BUFFERS
) {
1475 NDR_CHECK(ndr_pull_samr_GroupInfoAll(ndr
, NDR_BUFFERS
, &r
->all
));
1479 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->name
));
1482 case GROUPINFOATTRIBUTES
:
1485 case GROUPINFODESCRIPTION
:
1486 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
1490 NDR_CHECK(ndr_pull_samr_GroupInfoAll(ndr
, NDR_BUFFERS
, &r
->all2
));
1494 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
1497 return NDR_ERR_SUCCESS
;
1500 _PUBLIC_
void ndr_print_samr_GroupInfo(struct ndr_print
*ndr
, const char *name
, const union samr_GroupInfo
*r
)
1503 level
= ndr_print_get_switch_value(ndr
, r
);
1504 ndr_print_union(ndr
, name
, level
, "samr_GroupInfo");
1507 ndr_print_samr_GroupInfoAll(ndr
, "all", &r
->all
);
1511 ndr_print_lsa_String(ndr
, "name", &r
->name
);
1514 case GROUPINFOATTRIBUTES
:
1515 ndr_print_samr_GroupInfoAttributes(ndr
, "attributes", &r
->attributes
);
1518 case GROUPINFODESCRIPTION
:
1519 ndr_print_lsa_String(ndr
, "description", &r
->description
);
1523 ndr_print_samr_GroupInfoAll(ndr
, "all2", &r
->all2
);
1527 ndr_print_bad_level(ndr
, name
, level
);
1531 static enum ndr_err_code
ndr_push_samr_RidTypeArray(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_RidTypeArray
*r
)
1533 uint32_t cntr_rids_1
;
1534 uint32_t cntr_types_1
;
1535 if (ndr_flags
& NDR_SCALARS
) {
1536 NDR_CHECK(ndr_push_align(ndr
, 4));
1537 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
1538 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->rids
));
1539 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->types
));
1541 if (ndr_flags
& NDR_BUFFERS
) {
1543 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
1544 for (cntr_rids_1
= 0; cntr_rids_1
< r
->count
; cntr_rids_1
++) {
1545 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->rids
[cntr_rids_1
]));
1549 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
1550 for (cntr_types_1
= 0; cntr_types_1
< r
->count
; cntr_types_1
++) {
1551 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->types
[cntr_types_1
]));
1555 return NDR_ERR_SUCCESS
;
1558 static enum ndr_err_code
ndr_pull_samr_RidTypeArray(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_RidTypeArray
*r
)
1561 uint32_t cntr_rids_1
;
1562 TALLOC_CTX
*_mem_save_rids_0
;
1563 TALLOC_CTX
*_mem_save_rids_1
;
1564 uint32_t _ptr_types
;
1565 uint32_t cntr_types_1
;
1566 TALLOC_CTX
*_mem_save_types_0
;
1567 TALLOC_CTX
*_mem_save_types_1
;
1568 if (ndr_flags
& NDR_SCALARS
) {
1569 NDR_CHECK(ndr_pull_align(ndr
, 4));
1570 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
1571 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_rids
));
1573 NDR_PULL_ALLOC(ndr
, r
->rids
);
1577 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_types
));
1579 NDR_PULL_ALLOC(ndr
, r
->types
);
1584 if (ndr_flags
& NDR_BUFFERS
) {
1586 _mem_save_rids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1587 NDR_PULL_SET_MEM_CTX(ndr
, r
->rids
, 0);
1588 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->rids
));
1589 NDR_PULL_ALLOC_N(ndr
, r
->rids
, ndr_get_array_size(ndr
, &r
->rids
));
1590 _mem_save_rids_1
= NDR_PULL_GET_MEM_CTX(ndr
);
1591 NDR_PULL_SET_MEM_CTX(ndr
, r
->rids
, 0);
1592 for (cntr_rids_1
= 0; cntr_rids_1
< r
->count
; cntr_rids_1
++) {
1593 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->rids
[cntr_rids_1
]));
1595 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rids_1
, 0);
1596 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rids_0
, 0);
1599 _mem_save_types_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1600 NDR_PULL_SET_MEM_CTX(ndr
, r
->types
, 0);
1601 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->types
));
1602 NDR_PULL_ALLOC_N(ndr
, r
->types
, ndr_get_array_size(ndr
, &r
->types
));
1603 _mem_save_types_1
= NDR_PULL_GET_MEM_CTX(ndr
);
1604 NDR_PULL_SET_MEM_CTX(ndr
, r
->types
, 0);
1605 for (cntr_types_1
= 0; cntr_types_1
< r
->count
; cntr_types_1
++) {
1606 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->types
[cntr_types_1
]));
1608 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_types_1
, 0);
1609 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_types_0
, 0);
1612 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->rids
, r
->count
));
1615 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->types
, r
->count
));
1618 return NDR_ERR_SUCCESS
;
1621 _PUBLIC_
void ndr_print_samr_RidTypeArray(struct ndr_print
*ndr
, const char *name
, const struct samr_RidTypeArray
*r
)
1623 uint32_t cntr_rids_1
;
1624 uint32_t cntr_types_1
;
1625 ndr_print_struct(ndr
, name
, "samr_RidTypeArray");
1627 ndr_print_uint32(ndr
, "count", r
->count
);
1628 ndr_print_ptr(ndr
, "rids", r
->rids
);
1631 ndr
->print(ndr
, "%s: ARRAY(%d)", "rids", (int)r
->count
);
1633 for (cntr_rids_1
=0;cntr_rids_1
<r
->count
;cntr_rids_1
++) {
1635 if (asprintf(&idx_1
, "[%d]", cntr_rids_1
) != -1) {
1636 ndr_print_uint32(ndr
, "rids", r
->rids
[cntr_rids_1
]);
1643 ndr_print_ptr(ndr
, "types", r
->types
);
1646 ndr
->print(ndr
, "%s: ARRAY(%d)", "types", (int)r
->count
);
1648 for (cntr_types_1
=0;cntr_types_1
<r
->count
;cntr_types_1
++) {
1650 if (asprintf(&idx_1
, "[%d]", cntr_types_1
) != -1) {
1651 ndr_print_uint32(ndr
, "types", r
->types
[cntr_types_1
]);
1661 static enum ndr_err_code
ndr_push_samr_AliasInfoAll(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_AliasInfoAll
*r
)
1663 if (ndr_flags
& NDR_SCALARS
) {
1664 NDR_CHECK(ndr_push_align(ndr
, 4));
1665 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->name
));
1666 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_members
));
1667 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
1669 if (ndr_flags
& NDR_BUFFERS
) {
1670 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->name
));
1671 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
1673 return NDR_ERR_SUCCESS
;
1676 static enum ndr_err_code
ndr_pull_samr_AliasInfoAll(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_AliasInfoAll
*r
)
1678 if (ndr_flags
& NDR_SCALARS
) {
1679 NDR_CHECK(ndr_pull_align(ndr
, 4));
1680 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->name
));
1681 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_members
));
1682 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
1684 if (ndr_flags
& NDR_BUFFERS
) {
1685 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->name
));
1686 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
1688 return NDR_ERR_SUCCESS
;
1691 _PUBLIC_
void ndr_print_samr_AliasInfoAll(struct ndr_print
*ndr
, const char *name
, const struct samr_AliasInfoAll
*r
)
1693 ndr_print_struct(ndr
, name
, "samr_AliasInfoAll");
1695 ndr_print_lsa_String(ndr
, "name", &r
->name
);
1696 ndr_print_uint32(ndr
, "num_members", r
->num_members
);
1697 ndr_print_lsa_String(ndr
, "description", &r
->description
);
1701 static enum ndr_err_code
ndr_push_samr_AliasInfoEnum(struct ndr_push
*ndr
, int ndr_flags
, enum samr_AliasInfoEnum r
)
1703 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
));
1704 return NDR_ERR_SUCCESS
;
1707 static enum ndr_err_code
ndr_pull_samr_AliasInfoEnum(struct ndr_pull
*ndr
, int ndr_flags
, enum samr_AliasInfoEnum
*r
)
1710 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &v
));
1712 return NDR_ERR_SUCCESS
;
1715 _PUBLIC_
void ndr_print_samr_AliasInfoEnum(struct ndr_print
*ndr
, const char *name
, enum samr_AliasInfoEnum r
)
1717 const char *val
= NULL
;
1720 case ALIASINFOALL
: val
= "ALIASINFOALL"; break;
1721 case ALIASINFONAME
: val
= "ALIASINFONAME"; break;
1722 case ALIASINFODESCRIPTION
: val
= "ALIASINFODESCRIPTION"; break;
1724 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
1727 static enum ndr_err_code
ndr_push_samr_AliasInfo(struct ndr_push
*ndr
, int ndr_flags
, const union samr_AliasInfo
*r
)
1729 if (ndr_flags
& NDR_SCALARS
) {
1730 int level
= ndr_push_get_switch_value(ndr
, r
);
1731 NDR_CHECK(ndr_push_samr_AliasInfoEnum(ndr
, NDR_SCALARS
, level
));
1733 case ALIASINFOALL
: {
1734 NDR_CHECK(ndr_push_samr_AliasInfoAll(ndr
, NDR_SCALARS
, &r
->all
));
1737 case ALIASINFONAME
: {
1738 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->name
));
1741 case ALIASINFODESCRIPTION
: {
1742 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
1746 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
1749 if (ndr_flags
& NDR_BUFFERS
) {
1750 int level
= ndr_push_get_switch_value(ndr
, r
);
1753 NDR_CHECK(ndr_push_samr_AliasInfoAll(ndr
, NDR_BUFFERS
, &r
->all
));
1757 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->name
));
1760 case ALIASINFODESCRIPTION
:
1761 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
1765 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
1768 return NDR_ERR_SUCCESS
;
1771 static enum ndr_err_code
ndr_pull_samr_AliasInfo(struct ndr_pull
*ndr
, int ndr_flags
, union samr_AliasInfo
*r
)
1775 level
= ndr_pull_get_switch_value(ndr
, r
);
1776 if (ndr_flags
& NDR_SCALARS
) {
1777 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &_level
));
1778 if (_level
!= level
) {
1779 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r", _level
);
1782 case ALIASINFOALL
: {
1783 NDR_CHECK(ndr_pull_samr_AliasInfoAll(ndr
, NDR_SCALARS
, &r
->all
));
1786 case ALIASINFONAME
: {
1787 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->name
));
1790 case ALIASINFODESCRIPTION
: {
1791 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
1795 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
1798 if (ndr_flags
& NDR_BUFFERS
) {
1801 NDR_CHECK(ndr_pull_samr_AliasInfoAll(ndr
, NDR_BUFFERS
, &r
->all
));
1805 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->name
));
1808 case ALIASINFODESCRIPTION
:
1809 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
1813 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
1816 return NDR_ERR_SUCCESS
;
1819 _PUBLIC_
void ndr_print_samr_AliasInfo(struct ndr_print
*ndr
, const char *name
, const union samr_AliasInfo
*r
)
1822 level
= ndr_print_get_switch_value(ndr
, r
);
1823 ndr_print_union(ndr
, name
, level
, "samr_AliasInfo");
1826 ndr_print_samr_AliasInfoAll(ndr
, "all", &r
->all
);
1830 ndr_print_lsa_String(ndr
, "name", &r
->name
);
1833 case ALIASINFODESCRIPTION
:
1834 ndr_print_lsa_String(ndr
, "description", &r
->description
);
1838 ndr_print_bad_level(ndr
, name
, level
);
1842 static enum ndr_err_code
ndr_push_samr_UserInfo1(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo1
*r
)
1844 if (ndr_flags
& NDR_SCALARS
) {
1845 NDR_CHECK(ndr_push_align(ndr
, 4));
1846 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
1847 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
1848 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->primary_gid
));
1849 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
1850 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->comment
));
1852 if (ndr_flags
& NDR_BUFFERS
) {
1853 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
1854 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
1855 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
1856 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->comment
));
1858 return NDR_ERR_SUCCESS
;
1861 static enum ndr_err_code
ndr_pull_samr_UserInfo1(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo1
*r
)
1863 if (ndr_flags
& NDR_SCALARS
) {
1864 NDR_CHECK(ndr_pull_align(ndr
, 4));
1865 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
1866 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
1867 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->primary_gid
));
1868 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
1869 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->comment
));
1871 if (ndr_flags
& NDR_BUFFERS
) {
1872 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
1873 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
1874 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
1875 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->comment
));
1877 return NDR_ERR_SUCCESS
;
1880 _PUBLIC_
void ndr_print_samr_UserInfo1(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo1
*r
)
1882 ndr_print_struct(ndr
, name
, "samr_UserInfo1");
1884 ndr_print_lsa_String(ndr
, "account_name", &r
->account_name
);
1885 ndr_print_lsa_String(ndr
, "full_name", &r
->full_name
);
1886 ndr_print_uint32(ndr
, "primary_gid", r
->primary_gid
);
1887 ndr_print_lsa_String(ndr
, "description", &r
->description
);
1888 ndr_print_lsa_String(ndr
, "comment", &r
->comment
);
1892 static enum ndr_err_code
ndr_push_samr_UserInfo2(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo2
*r
)
1894 if (ndr_flags
& NDR_SCALARS
) {
1895 NDR_CHECK(ndr_push_align(ndr
, 4));
1896 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->comment
));
1897 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->unknown
));
1898 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->country_code
));
1899 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->code_page
));
1901 if (ndr_flags
& NDR_BUFFERS
) {
1902 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->comment
));
1903 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->unknown
));
1905 return NDR_ERR_SUCCESS
;
1908 static enum ndr_err_code
ndr_pull_samr_UserInfo2(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo2
*r
)
1910 if (ndr_flags
& NDR_SCALARS
) {
1911 NDR_CHECK(ndr_pull_align(ndr
, 4));
1912 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->comment
));
1913 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->unknown
));
1914 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->country_code
));
1915 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->code_page
));
1917 if (ndr_flags
& NDR_BUFFERS
) {
1918 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->comment
));
1919 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->unknown
));
1921 return NDR_ERR_SUCCESS
;
1924 _PUBLIC_
void ndr_print_samr_UserInfo2(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo2
*r
)
1926 ndr_print_struct(ndr
, name
, "samr_UserInfo2");
1928 ndr_print_lsa_String(ndr
, "comment", &r
->comment
);
1929 ndr_print_lsa_String(ndr
, "unknown", &r
->unknown
);
1930 ndr_print_uint16(ndr
, "country_code", r
->country_code
);
1931 ndr_print_uint16(ndr
, "code_page", r
->code_page
);
1935 _PUBLIC_
enum ndr_err_code
ndr_push_samr_LogonHours(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_LogonHours
*r
)
1938 uint32_t _flags_save_STRUCT
= ndr
->flags
;
1939 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
1940 if (ndr_flags
& NDR_SCALARS
) {
1941 NDR_CHECK(ndr_push_align(ndr
, 4));
1942 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->units_per_week
));
1943 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->bits
));
1945 if (ndr_flags
& NDR_BUFFERS
) {
1947 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 1260));
1948 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
1949 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->units_per_week
/ 8));
1950 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->bits
, r
->units_per_week
/ 8));
1953 ndr
->flags
= _flags_save_STRUCT
;
1955 return NDR_ERR_SUCCESS
;
1958 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_LogonHours(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_LogonHours
*r
)
1961 TALLOC_CTX
*_mem_save_bits_0
;
1963 uint32_t _flags_save_STRUCT
= ndr
->flags
;
1964 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
1965 if (ndr_flags
& NDR_SCALARS
) {
1966 NDR_CHECK(ndr_pull_align(ndr
, 4));
1967 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->units_per_week
));
1968 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_bits
));
1970 NDR_PULL_ALLOC(ndr
, r
->bits
);
1975 if (ndr_flags
& NDR_BUFFERS
) {
1977 _mem_save_bits_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1978 NDR_PULL_SET_MEM_CTX(ndr
, r
->bits
, 0);
1979 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->bits
));
1980 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->bits
));
1981 if (ndr_get_array_length(ndr
, &r
->bits
) > ndr_get_array_size(ndr
, &r
->bits
)) {
1982 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
));
1984 NDR_PULL_ALLOC_N(ndr
, r
->bits
, ndr_get_array_size(ndr
, &r
->bits
));
1985 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->bits
, ndr_get_array_length(ndr
, &r
->bits
)));
1986 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bits_0
, 0);
1989 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->bits
, 1260));
1992 NDR_CHECK(ndr_check_array_length(ndr
, (void*)&r
->bits
, r
->units_per_week
/ 8));
1995 ndr
->flags
= _flags_save_STRUCT
;
1997 return NDR_ERR_SUCCESS
;
2000 _PUBLIC_
void ndr_print_samr_LogonHours(struct ndr_print
*ndr
, const char *name
, const struct samr_LogonHours
*r
)
2002 ndr_print_struct(ndr
, name
, "samr_LogonHours");
2004 uint32_t _flags_save_STRUCT
= ndr
->flags
;
2005 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
2007 ndr_print_uint16(ndr
, "units_per_week", r
->units_per_week
);
2008 ndr_print_ptr(ndr
, "bits", r
->bits
);
2011 ndr_print_array_uint8(ndr
, "bits", r
->bits
, r
->units_per_week
/ 8);
2015 ndr
->flags
= _flags_save_STRUCT
;
2019 static enum ndr_err_code
ndr_push_samr_UserInfo3(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo3
*r
)
2021 if (ndr_flags
& NDR_SCALARS
) {
2022 NDR_CHECK(ndr_push_align(ndr
, 4));
2023 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
2024 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
2025 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->rid
));
2026 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->primary_gid
));
2027 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->home_directory
));
2028 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->home_drive
));
2029 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->logon_script
));
2030 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->profile_path
));
2031 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->workstations
));
2032 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_logon
));
2033 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_logoff
));
2034 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_password_change
));
2035 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->allow_password_change
));
2036 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->force_password_change
));
2037 NDR_CHECK(ndr_push_samr_LogonHours(ndr
, NDR_SCALARS
, &r
->logon_hours
));
2038 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->bad_password_count
));
2039 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->logon_count
));
2040 NDR_CHECK(ndr_push_samr_AcctFlags(ndr
, NDR_SCALARS
, r
->acct_flags
));
2042 if (ndr_flags
& NDR_BUFFERS
) {
2043 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
2044 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
2045 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_directory
));
2046 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_drive
));
2047 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->logon_script
));
2048 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->profile_path
));
2049 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->workstations
));
2050 NDR_CHECK(ndr_push_samr_LogonHours(ndr
, NDR_BUFFERS
, &r
->logon_hours
));
2052 return NDR_ERR_SUCCESS
;
2055 static enum ndr_err_code
ndr_pull_samr_UserInfo3(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo3
*r
)
2057 if (ndr_flags
& NDR_SCALARS
) {
2058 NDR_CHECK(ndr_pull_align(ndr
, 4));
2059 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
2060 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
2061 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->rid
));
2062 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->primary_gid
));
2063 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->home_directory
));
2064 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->home_drive
));
2065 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->logon_script
));
2066 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->profile_path
));
2067 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->workstations
));
2068 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_logon
));
2069 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_logoff
));
2070 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_password_change
));
2071 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->allow_password_change
));
2072 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->force_password_change
));
2073 NDR_CHECK(ndr_pull_samr_LogonHours(ndr
, NDR_SCALARS
, &r
->logon_hours
));
2074 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->bad_password_count
));
2075 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->logon_count
));
2076 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr
, NDR_SCALARS
, &r
->acct_flags
));
2078 if (ndr_flags
& NDR_BUFFERS
) {
2079 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
2080 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
2081 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_directory
));
2082 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_drive
));
2083 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->logon_script
));
2084 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->profile_path
));
2085 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->workstations
));
2086 NDR_CHECK(ndr_pull_samr_LogonHours(ndr
, NDR_BUFFERS
, &r
->logon_hours
));
2088 return NDR_ERR_SUCCESS
;
2091 _PUBLIC_
void ndr_print_samr_UserInfo3(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo3
*r
)
2093 ndr_print_struct(ndr
, name
, "samr_UserInfo3");
2095 ndr_print_lsa_String(ndr
, "account_name", &r
->account_name
);
2096 ndr_print_lsa_String(ndr
, "full_name", &r
->full_name
);
2097 ndr_print_uint32(ndr
, "rid", r
->rid
);
2098 ndr_print_uint32(ndr
, "primary_gid", r
->primary_gid
);
2099 ndr_print_lsa_String(ndr
, "home_directory", &r
->home_directory
);
2100 ndr_print_lsa_String(ndr
, "home_drive", &r
->home_drive
);
2101 ndr_print_lsa_String(ndr
, "logon_script", &r
->logon_script
);
2102 ndr_print_lsa_String(ndr
, "profile_path", &r
->profile_path
);
2103 ndr_print_lsa_String(ndr
, "workstations", &r
->workstations
);
2104 ndr_print_NTTIME(ndr
, "last_logon", r
->last_logon
);
2105 ndr_print_NTTIME(ndr
, "last_logoff", r
->last_logoff
);
2106 ndr_print_NTTIME(ndr
, "last_password_change", r
->last_password_change
);
2107 ndr_print_NTTIME(ndr
, "allow_password_change", r
->allow_password_change
);
2108 ndr_print_NTTIME(ndr
, "force_password_change", r
->force_password_change
);
2109 ndr_print_samr_LogonHours(ndr
, "logon_hours", &r
->logon_hours
);
2110 ndr_print_uint16(ndr
, "bad_password_count", r
->bad_password_count
);
2111 ndr_print_uint16(ndr
, "logon_count", r
->logon_count
);
2112 ndr_print_samr_AcctFlags(ndr
, "acct_flags", r
->acct_flags
);
2116 static enum ndr_err_code
ndr_push_samr_UserInfo4(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo4
*r
)
2118 if (ndr_flags
& NDR_SCALARS
) {
2119 NDR_CHECK(ndr_push_align(ndr
, 4));
2120 NDR_CHECK(ndr_push_samr_LogonHours(ndr
, NDR_SCALARS
, &r
->logon_hours
));
2122 if (ndr_flags
& NDR_BUFFERS
) {
2123 NDR_CHECK(ndr_push_samr_LogonHours(ndr
, NDR_BUFFERS
, &r
->logon_hours
));
2125 return NDR_ERR_SUCCESS
;
2128 static enum ndr_err_code
ndr_pull_samr_UserInfo4(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo4
*r
)
2130 if (ndr_flags
& NDR_SCALARS
) {
2131 NDR_CHECK(ndr_pull_align(ndr
, 4));
2132 NDR_CHECK(ndr_pull_samr_LogonHours(ndr
, NDR_SCALARS
, &r
->logon_hours
));
2134 if (ndr_flags
& NDR_BUFFERS
) {
2135 NDR_CHECK(ndr_pull_samr_LogonHours(ndr
, NDR_BUFFERS
, &r
->logon_hours
));
2137 return NDR_ERR_SUCCESS
;
2140 _PUBLIC_
void ndr_print_samr_UserInfo4(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo4
*r
)
2142 ndr_print_struct(ndr
, name
, "samr_UserInfo4");
2144 ndr_print_samr_LogonHours(ndr
, "logon_hours", &r
->logon_hours
);
2148 static enum ndr_err_code
ndr_push_samr_UserInfo5(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo5
*r
)
2150 if (ndr_flags
& NDR_SCALARS
) {
2151 NDR_CHECK(ndr_push_align(ndr
, 4));
2152 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
2153 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
2154 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->rid
));
2155 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->primary_gid
));
2156 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->home_directory
));
2157 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->home_drive
));
2158 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->logon_script
));
2159 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->profile_path
));
2160 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
2161 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->workstations
));
2162 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_logon
));
2163 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_logoff
));
2164 NDR_CHECK(ndr_push_samr_LogonHours(ndr
, NDR_SCALARS
, &r
->logon_hours
));
2165 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->bad_password_count
));
2166 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->logon_count
));
2167 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_password_change
));
2168 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->acct_expiry
));
2169 NDR_CHECK(ndr_push_samr_AcctFlags(ndr
, NDR_SCALARS
, r
->acct_flags
));
2171 if (ndr_flags
& NDR_BUFFERS
) {
2172 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
2173 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
2174 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_directory
));
2175 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_drive
));
2176 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->logon_script
));
2177 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->profile_path
));
2178 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
2179 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->workstations
));
2180 NDR_CHECK(ndr_push_samr_LogonHours(ndr
, NDR_BUFFERS
, &r
->logon_hours
));
2182 return NDR_ERR_SUCCESS
;
2185 static enum ndr_err_code
ndr_pull_samr_UserInfo5(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo5
*r
)
2187 if (ndr_flags
& NDR_SCALARS
) {
2188 NDR_CHECK(ndr_pull_align(ndr
, 4));
2189 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
2190 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
2191 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->rid
));
2192 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->primary_gid
));
2193 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->home_directory
));
2194 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->home_drive
));
2195 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->logon_script
));
2196 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->profile_path
));
2197 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
2198 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->workstations
));
2199 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_logon
));
2200 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_logoff
));
2201 NDR_CHECK(ndr_pull_samr_LogonHours(ndr
, NDR_SCALARS
, &r
->logon_hours
));
2202 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->bad_password_count
));
2203 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->logon_count
));
2204 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_password_change
));
2205 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->acct_expiry
));
2206 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr
, NDR_SCALARS
, &r
->acct_flags
));
2208 if (ndr_flags
& NDR_BUFFERS
) {
2209 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
2210 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
2211 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_directory
));
2212 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_drive
));
2213 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->logon_script
));
2214 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->profile_path
));
2215 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
2216 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->workstations
));
2217 NDR_CHECK(ndr_pull_samr_LogonHours(ndr
, NDR_BUFFERS
, &r
->logon_hours
));
2219 return NDR_ERR_SUCCESS
;
2222 _PUBLIC_
void ndr_print_samr_UserInfo5(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo5
*r
)
2224 ndr_print_struct(ndr
, name
, "samr_UserInfo5");
2226 ndr_print_lsa_String(ndr
, "account_name", &r
->account_name
);
2227 ndr_print_lsa_String(ndr
, "full_name", &r
->full_name
);
2228 ndr_print_uint32(ndr
, "rid", r
->rid
);
2229 ndr_print_uint32(ndr
, "primary_gid", r
->primary_gid
);
2230 ndr_print_lsa_String(ndr
, "home_directory", &r
->home_directory
);
2231 ndr_print_lsa_String(ndr
, "home_drive", &r
->home_drive
);
2232 ndr_print_lsa_String(ndr
, "logon_script", &r
->logon_script
);
2233 ndr_print_lsa_String(ndr
, "profile_path", &r
->profile_path
);
2234 ndr_print_lsa_String(ndr
, "description", &r
->description
);
2235 ndr_print_lsa_String(ndr
, "workstations", &r
->workstations
);
2236 ndr_print_NTTIME(ndr
, "last_logon", r
->last_logon
);
2237 ndr_print_NTTIME(ndr
, "last_logoff", r
->last_logoff
);
2238 ndr_print_samr_LogonHours(ndr
, "logon_hours", &r
->logon_hours
);
2239 ndr_print_uint16(ndr
, "bad_password_count", r
->bad_password_count
);
2240 ndr_print_uint16(ndr
, "logon_count", r
->logon_count
);
2241 ndr_print_NTTIME(ndr
, "last_password_change", r
->last_password_change
);
2242 ndr_print_NTTIME(ndr
, "acct_expiry", r
->acct_expiry
);
2243 ndr_print_samr_AcctFlags(ndr
, "acct_flags", r
->acct_flags
);
2247 static enum ndr_err_code
ndr_push_samr_UserInfo6(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo6
*r
)
2249 if (ndr_flags
& NDR_SCALARS
) {
2250 NDR_CHECK(ndr_push_align(ndr
, 4));
2251 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
2252 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
2254 if (ndr_flags
& NDR_BUFFERS
) {
2255 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
2256 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
2258 return NDR_ERR_SUCCESS
;
2261 static enum ndr_err_code
ndr_pull_samr_UserInfo6(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo6
*r
)
2263 if (ndr_flags
& NDR_SCALARS
) {
2264 NDR_CHECK(ndr_pull_align(ndr
, 4));
2265 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
2266 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
2268 if (ndr_flags
& NDR_BUFFERS
) {
2269 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
2270 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
2272 return NDR_ERR_SUCCESS
;
2275 _PUBLIC_
void ndr_print_samr_UserInfo6(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo6
*r
)
2277 ndr_print_struct(ndr
, name
, "samr_UserInfo6");
2279 ndr_print_lsa_String(ndr
, "account_name", &r
->account_name
);
2280 ndr_print_lsa_String(ndr
, "full_name", &r
->full_name
);
2284 static enum ndr_err_code
ndr_push_samr_UserInfo7(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo7
*r
)
2286 if (ndr_flags
& NDR_SCALARS
) {
2287 NDR_CHECK(ndr_push_align(ndr
, 4));
2288 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
2290 if (ndr_flags
& NDR_BUFFERS
) {
2291 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
2293 return NDR_ERR_SUCCESS
;
2296 static enum ndr_err_code
ndr_pull_samr_UserInfo7(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo7
*r
)
2298 if (ndr_flags
& NDR_SCALARS
) {
2299 NDR_CHECK(ndr_pull_align(ndr
, 4));
2300 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
2302 if (ndr_flags
& NDR_BUFFERS
) {
2303 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
2305 return NDR_ERR_SUCCESS
;
2308 _PUBLIC_
void ndr_print_samr_UserInfo7(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo7
*r
)
2310 ndr_print_struct(ndr
, name
, "samr_UserInfo7");
2312 ndr_print_lsa_String(ndr
, "account_name", &r
->account_name
);
2316 static enum ndr_err_code
ndr_push_samr_UserInfo8(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo8
*r
)
2318 if (ndr_flags
& NDR_SCALARS
) {
2319 NDR_CHECK(ndr_push_align(ndr
, 4));
2320 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
2322 if (ndr_flags
& NDR_BUFFERS
) {
2323 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
2325 return NDR_ERR_SUCCESS
;
2328 static enum ndr_err_code
ndr_pull_samr_UserInfo8(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo8
*r
)
2330 if (ndr_flags
& NDR_SCALARS
) {
2331 NDR_CHECK(ndr_pull_align(ndr
, 4));
2332 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
2334 if (ndr_flags
& NDR_BUFFERS
) {
2335 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
2337 return NDR_ERR_SUCCESS
;
2340 _PUBLIC_
void ndr_print_samr_UserInfo8(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo8
*r
)
2342 ndr_print_struct(ndr
, name
, "samr_UserInfo8");
2344 ndr_print_lsa_String(ndr
, "full_name", &r
->full_name
);
2348 static enum ndr_err_code
ndr_push_samr_UserInfo9(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo9
*r
)
2350 if (ndr_flags
& NDR_SCALARS
) {
2351 NDR_CHECK(ndr_push_align(ndr
, 4));
2352 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->primary_gid
));
2354 if (ndr_flags
& NDR_BUFFERS
) {
2356 return NDR_ERR_SUCCESS
;
2359 static enum ndr_err_code
ndr_pull_samr_UserInfo9(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo9
*r
)
2361 if (ndr_flags
& NDR_SCALARS
) {
2362 NDR_CHECK(ndr_pull_align(ndr
, 4));
2363 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->primary_gid
));
2365 if (ndr_flags
& NDR_BUFFERS
) {
2367 return NDR_ERR_SUCCESS
;
2370 _PUBLIC_
void ndr_print_samr_UserInfo9(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo9
*r
)
2372 ndr_print_struct(ndr
, name
, "samr_UserInfo9");
2374 ndr_print_uint32(ndr
, "primary_gid", r
->primary_gid
);
2378 static enum ndr_err_code
ndr_push_samr_UserInfo10(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo10
*r
)
2380 if (ndr_flags
& NDR_SCALARS
) {
2381 NDR_CHECK(ndr_push_align(ndr
, 4));
2382 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->home_directory
));
2383 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->home_drive
));
2385 if (ndr_flags
& NDR_BUFFERS
) {
2386 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_directory
));
2387 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_drive
));
2389 return NDR_ERR_SUCCESS
;
2392 static enum ndr_err_code
ndr_pull_samr_UserInfo10(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo10
*r
)
2394 if (ndr_flags
& NDR_SCALARS
) {
2395 NDR_CHECK(ndr_pull_align(ndr
, 4));
2396 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->home_directory
));
2397 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->home_drive
));
2399 if (ndr_flags
& NDR_BUFFERS
) {
2400 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_directory
));
2401 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_drive
));
2403 return NDR_ERR_SUCCESS
;
2406 _PUBLIC_
void ndr_print_samr_UserInfo10(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo10
*r
)
2408 ndr_print_struct(ndr
, name
, "samr_UserInfo10");
2410 ndr_print_lsa_String(ndr
, "home_directory", &r
->home_directory
);
2411 ndr_print_lsa_String(ndr
, "home_drive", &r
->home_drive
);
2415 static enum ndr_err_code
ndr_push_samr_UserInfo11(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo11
*r
)
2417 if (ndr_flags
& NDR_SCALARS
) {
2418 NDR_CHECK(ndr_push_align(ndr
, 4));
2419 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->logon_script
));
2421 if (ndr_flags
& NDR_BUFFERS
) {
2422 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->logon_script
));
2424 return NDR_ERR_SUCCESS
;
2427 static enum ndr_err_code
ndr_pull_samr_UserInfo11(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo11
*r
)
2429 if (ndr_flags
& NDR_SCALARS
) {
2430 NDR_CHECK(ndr_pull_align(ndr
, 4));
2431 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->logon_script
));
2433 if (ndr_flags
& NDR_BUFFERS
) {
2434 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->logon_script
));
2436 return NDR_ERR_SUCCESS
;
2439 _PUBLIC_
void ndr_print_samr_UserInfo11(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo11
*r
)
2441 ndr_print_struct(ndr
, name
, "samr_UserInfo11");
2443 ndr_print_lsa_String(ndr
, "logon_script", &r
->logon_script
);
2447 static enum ndr_err_code
ndr_push_samr_UserInfo12(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo12
*r
)
2449 if (ndr_flags
& NDR_SCALARS
) {
2450 NDR_CHECK(ndr_push_align(ndr
, 4));
2451 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->profile_path
));
2453 if (ndr_flags
& NDR_BUFFERS
) {
2454 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->profile_path
));
2456 return NDR_ERR_SUCCESS
;
2459 static enum ndr_err_code
ndr_pull_samr_UserInfo12(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo12
*r
)
2461 if (ndr_flags
& NDR_SCALARS
) {
2462 NDR_CHECK(ndr_pull_align(ndr
, 4));
2463 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->profile_path
));
2465 if (ndr_flags
& NDR_BUFFERS
) {
2466 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->profile_path
));
2468 return NDR_ERR_SUCCESS
;
2471 _PUBLIC_
void ndr_print_samr_UserInfo12(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo12
*r
)
2473 ndr_print_struct(ndr
, name
, "samr_UserInfo12");
2475 ndr_print_lsa_String(ndr
, "profile_path", &r
->profile_path
);
2479 static enum ndr_err_code
ndr_push_samr_UserInfo13(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo13
*r
)
2481 if (ndr_flags
& NDR_SCALARS
) {
2482 NDR_CHECK(ndr_push_align(ndr
, 4));
2483 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
2485 if (ndr_flags
& NDR_BUFFERS
) {
2486 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
2488 return NDR_ERR_SUCCESS
;
2491 static enum ndr_err_code
ndr_pull_samr_UserInfo13(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo13
*r
)
2493 if (ndr_flags
& NDR_SCALARS
) {
2494 NDR_CHECK(ndr_pull_align(ndr
, 4));
2495 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
2497 if (ndr_flags
& NDR_BUFFERS
) {
2498 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
2500 return NDR_ERR_SUCCESS
;
2503 _PUBLIC_
void ndr_print_samr_UserInfo13(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo13
*r
)
2505 ndr_print_struct(ndr
, name
, "samr_UserInfo13");
2507 ndr_print_lsa_String(ndr
, "description", &r
->description
);
2511 static enum ndr_err_code
ndr_push_samr_UserInfo14(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo14
*r
)
2513 if (ndr_flags
& NDR_SCALARS
) {
2514 NDR_CHECK(ndr_push_align(ndr
, 4));
2515 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->workstations
));
2517 if (ndr_flags
& NDR_BUFFERS
) {
2518 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->workstations
));
2520 return NDR_ERR_SUCCESS
;
2523 static enum ndr_err_code
ndr_pull_samr_UserInfo14(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo14
*r
)
2525 if (ndr_flags
& NDR_SCALARS
) {
2526 NDR_CHECK(ndr_pull_align(ndr
, 4));
2527 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->workstations
));
2529 if (ndr_flags
& NDR_BUFFERS
) {
2530 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->workstations
));
2532 return NDR_ERR_SUCCESS
;
2535 _PUBLIC_
void ndr_print_samr_UserInfo14(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo14
*r
)
2537 ndr_print_struct(ndr
, name
, "samr_UserInfo14");
2539 ndr_print_lsa_String(ndr
, "workstations", &r
->workstations
);
2543 static enum ndr_err_code
ndr_push_samr_UserInfo16(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo16
*r
)
2545 if (ndr_flags
& NDR_SCALARS
) {
2546 NDR_CHECK(ndr_push_align(ndr
, 4));
2547 NDR_CHECK(ndr_push_samr_AcctFlags(ndr
, NDR_SCALARS
, r
->acct_flags
));
2549 if (ndr_flags
& NDR_BUFFERS
) {
2551 return NDR_ERR_SUCCESS
;
2554 static enum ndr_err_code
ndr_pull_samr_UserInfo16(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo16
*r
)
2556 if (ndr_flags
& NDR_SCALARS
) {
2557 NDR_CHECK(ndr_pull_align(ndr
, 4));
2558 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr
, NDR_SCALARS
, &r
->acct_flags
));
2560 if (ndr_flags
& NDR_BUFFERS
) {
2562 return NDR_ERR_SUCCESS
;
2565 _PUBLIC_
void ndr_print_samr_UserInfo16(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo16
*r
)
2567 ndr_print_struct(ndr
, name
, "samr_UserInfo16");
2569 ndr_print_samr_AcctFlags(ndr
, "acct_flags", r
->acct_flags
);
2573 static enum ndr_err_code
ndr_push_samr_UserInfo17(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo17
*r
)
2575 if (ndr_flags
& NDR_SCALARS
) {
2576 NDR_CHECK(ndr_push_align(ndr
, 4));
2577 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->acct_expiry
));
2579 if (ndr_flags
& NDR_BUFFERS
) {
2581 return NDR_ERR_SUCCESS
;
2584 static enum ndr_err_code
ndr_pull_samr_UserInfo17(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo17
*r
)
2586 if (ndr_flags
& NDR_SCALARS
) {
2587 NDR_CHECK(ndr_pull_align(ndr
, 4));
2588 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->acct_expiry
));
2590 if (ndr_flags
& NDR_BUFFERS
) {
2592 return NDR_ERR_SUCCESS
;
2595 _PUBLIC_
void ndr_print_samr_UserInfo17(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo17
*r
)
2597 ndr_print_struct(ndr
, name
, "samr_UserInfo17");
2599 ndr_print_NTTIME(ndr
, "acct_expiry", r
->acct_expiry
);
2603 _PUBLIC_
enum ndr_err_code
ndr_push_samr_Password(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_Password
*r
)
2606 uint32_t _flags_save_STRUCT
= ndr
->flags
;
2607 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
2608 if (ndr_flags
& NDR_SCALARS
) {
2609 NDR_CHECK(ndr_push_align(ndr
, 1));
2610 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->hash
, 16));
2612 if (ndr_flags
& NDR_BUFFERS
) {
2614 ndr
->flags
= _flags_save_STRUCT
;
2616 return NDR_ERR_SUCCESS
;
2619 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_Password(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_Password
*r
)
2622 uint32_t _flags_save_STRUCT
= ndr
->flags
;
2623 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
2624 if (ndr_flags
& NDR_SCALARS
) {
2625 NDR_CHECK(ndr_pull_align(ndr
, 1));
2626 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->hash
, 16));
2628 if (ndr_flags
& NDR_BUFFERS
) {
2630 ndr
->flags
= _flags_save_STRUCT
;
2632 return NDR_ERR_SUCCESS
;
2635 _PUBLIC_
void ndr_print_samr_Password(struct ndr_print
*ndr
, const char *name
, const struct samr_Password
*r
)
2637 ndr_print_struct(ndr
, name
, "samr_Password");
2639 uint32_t _flags_save_STRUCT
= ndr
->flags
;
2640 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
2642 ndr_print_array_uint8(ndr
, "hash", r
->hash
, 16);
2644 ndr
->flags
= _flags_save_STRUCT
;
2648 static enum ndr_err_code
ndr_push_samr_UserInfo18(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo18
*r
)
2650 if (ndr_flags
& NDR_SCALARS
) {
2651 NDR_CHECK(ndr_push_align(ndr
, 1));
2652 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, &r
->nt_pwd
));
2653 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, &r
->lm_pwd
));
2654 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->nt_pwd_active
));
2655 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->lm_pwd_active
));
2656 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->password_expired
));
2658 if (ndr_flags
& NDR_BUFFERS
) {
2660 return NDR_ERR_SUCCESS
;
2663 static enum ndr_err_code
ndr_pull_samr_UserInfo18(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo18
*r
)
2665 if (ndr_flags
& NDR_SCALARS
) {
2666 NDR_CHECK(ndr_pull_align(ndr
, 1));
2667 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, &r
->nt_pwd
));
2668 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, &r
->lm_pwd
));
2669 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->nt_pwd_active
));
2670 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->lm_pwd_active
));
2671 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->password_expired
));
2673 if (ndr_flags
& NDR_BUFFERS
) {
2675 return NDR_ERR_SUCCESS
;
2678 _PUBLIC_
void ndr_print_samr_UserInfo18(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo18
*r
)
2680 ndr_print_struct(ndr
, name
, "samr_UserInfo18");
2682 ndr_print_samr_Password(ndr
, "nt_pwd", &r
->nt_pwd
);
2683 ndr_print_samr_Password(ndr
, "lm_pwd", &r
->lm_pwd
);
2684 ndr_print_uint8(ndr
, "nt_pwd_active", r
->nt_pwd_active
);
2685 ndr_print_uint8(ndr
, "lm_pwd_active", r
->lm_pwd_active
);
2686 ndr_print_uint8(ndr
, "password_expired", r
->password_expired
);
2690 static enum ndr_err_code
ndr_push_samr_UserInfo20(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo20
*r
)
2692 if (ndr_flags
& NDR_SCALARS
) {
2693 NDR_CHECK(ndr_push_align(ndr
, 4));
2694 NDR_CHECK(ndr_push_lsa_BinaryString(ndr
, NDR_SCALARS
, &r
->parameters
));
2696 if (ndr_flags
& NDR_BUFFERS
) {
2697 NDR_CHECK(ndr_push_lsa_BinaryString(ndr
, NDR_BUFFERS
, &r
->parameters
));
2699 return NDR_ERR_SUCCESS
;
2702 static enum ndr_err_code
ndr_pull_samr_UserInfo20(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo20
*r
)
2704 if (ndr_flags
& NDR_SCALARS
) {
2705 NDR_CHECK(ndr_pull_align(ndr
, 4));
2706 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr
, NDR_SCALARS
, &r
->parameters
));
2708 if (ndr_flags
& NDR_BUFFERS
) {
2709 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr
, NDR_BUFFERS
, &r
->parameters
));
2711 return NDR_ERR_SUCCESS
;
2714 _PUBLIC_
void ndr_print_samr_UserInfo20(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo20
*r
)
2716 ndr_print_struct(ndr
, name
, "samr_UserInfo20");
2718 ndr_print_lsa_BinaryString(ndr
, "parameters", &r
->parameters
);
2722 static enum ndr_err_code
ndr_push_samr_FieldsPresent(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
2724 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
2725 return NDR_ERR_SUCCESS
;
2728 static enum ndr_err_code
ndr_pull_samr_FieldsPresent(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
2731 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
2733 return NDR_ERR_SUCCESS
;
2736 _PUBLIC_
void ndr_print_samr_FieldsPresent(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
2738 ndr_print_uint32(ndr
, name
, r
);
2740 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_ACCOUNT_NAME", SAMR_FIELD_ACCOUNT_NAME
, r
);
2741 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_FULL_NAME", SAMR_FIELD_FULL_NAME
, r
);
2742 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_RID", SAMR_FIELD_RID
, r
);
2743 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_PRIMARY_GID", SAMR_FIELD_PRIMARY_GID
, r
);
2744 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_DESCRIPTION", SAMR_FIELD_DESCRIPTION
, r
);
2745 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_COMMENT", SAMR_FIELD_COMMENT
, r
);
2746 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_HOME_DIRECTORY", SAMR_FIELD_HOME_DIRECTORY
, r
);
2747 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_HOME_DRIVE", SAMR_FIELD_HOME_DRIVE
, r
);
2748 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_LOGON_SCRIPT", SAMR_FIELD_LOGON_SCRIPT
, r
);
2749 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_PROFILE_PATH", SAMR_FIELD_PROFILE_PATH
, r
);
2750 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_WORKSTATIONS", SAMR_FIELD_WORKSTATIONS
, r
);
2751 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_LAST_LOGON", SAMR_FIELD_LAST_LOGON
, r
);
2752 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_LAST_LOGOFF", SAMR_FIELD_LAST_LOGOFF
, r
);
2753 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_LOGON_HOURS", SAMR_FIELD_LOGON_HOURS
, r
);
2754 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_BAD_PWD_COUNT", SAMR_FIELD_BAD_PWD_COUNT
, r
);
2755 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_NUM_LOGONS", SAMR_FIELD_NUM_LOGONS
, r
);
2756 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_ALLOW_PWD_CHANGE", SAMR_FIELD_ALLOW_PWD_CHANGE
, r
);
2757 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_FORCE_PWD_CHANGE", SAMR_FIELD_FORCE_PWD_CHANGE
, r
);
2758 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_LAST_PWD_CHANGE", SAMR_FIELD_LAST_PWD_CHANGE
, r
);
2759 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_ACCT_EXPIRY", SAMR_FIELD_ACCT_EXPIRY
, r
);
2760 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_ACCT_FLAGS", SAMR_FIELD_ACCT_FLAGS
, r
);
2761 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_PARAMETERS", SAMR_FIELD_PARAMETERS
, r
);
2762 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_COUNTRY_CODE", SAMR_FIELD_COUNTRY_CODE
, r
);
2763 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_CODE_PAGE", SAMR_FIELD_CODE_PAGE
, r
);
2764 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_NT_PASSWORD_PRESENT", SAMR_FIELD_NT_PASSWORD_PRESENT
, r
);
2765 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_LM_PASSWORD_PRESENT", SAMR_FIELD_LM_PASSWORD_PRESENT
, r
);
2766 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_PRIVATE_DATA", SAMR_FIELD_PRIVATE_DATA
, r
);
2767 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_EXPIRED_FLAG", SAMR_FIELD_EXPIRED_FLAG
, r
);
2768 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_SEC_DESC", SAMR_FIELD_SEC_DESC
, r
);
2769 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_OWF_PWD", SAMR_FIELD_OWF_PWD
, r
);
2773 static enum ndr_err_code
ndr_push_samr_UserInfo21(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo21
*r
)
2775 if (ndr_flags
& NDR_SCALARS
) {
2776 NDR_CHECK(ndr_push_align(ndr
, 4));
2777 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_logon
));
2778 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_logoff
));
2779 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_password_change
));
2780 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->acct_expiry
));
2781 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->allow_password_change
));
2782 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->force_password_change
));
2783 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
2784 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
2785 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->home_directory
));
2786 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->home_drive
));
2787 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->logon_script
));
2788 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->profile_path
));
2789 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
2790 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->workstations
));
2791 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->comment
));
2792 NDR_CHECK(ndr_push_lsa_BinaryString(ndr
, NDR_SCALARS
, &r
->parameters
));
2793 NDR_CHECK(ndr_push_lsa_BinaryString(ndr
, NDR_SCALARS
, &r
->lm_owf_password
));
2794 NDR_CHECK(ndr_push_lsa_BinaryString(ndr
, NDR_SCALARS
, &r
->nt_owf_password
));
2795 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->unknown3
));
2796 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->buf_count
));
2797 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->buffer
));
2798 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->rid
));
2799 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->primary_gid
));
2800 NDR_CHECK(ndr_push_samr_AcctFlags(ndr
, NDR_SCALARS
, r
->acct_flags
));
2801 NDR_CHECK(ndr_push_samr_FieldsPresent(ndr
, NDR_SCALARS
, r
->fields_present
));
2802 NDR_CHECK(ndr_push_samr_LogonHours(ndr
, NDR_SCALARS
, &r
->logon_hours
));
2803 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->bad_password_count
));
2804 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->logon_count
));
2805 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->country_code
));
2806 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->code_page
));
2807 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->lm_password_set
));
2808 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->nt_password_set
));
2809 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->password_expired
));
2810 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->unknown4
));
2812 if (ndr_flags
& NDR_BUFFERS
) {
2813 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
2814 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
2815 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_directory
));
2816 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_drive
));
2817 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->logon_script
));
2818 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->profile_path
));
2819 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
2820 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->workstations
));
2821 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->comment
));
2822 NDR_CHECK(ndr_push_lsa_BinaryString(ndr
, NDR_BUFFERS
, &r
->parameters
));
2823 NDR_CHECK(ndr_push_lsa_BinaryString(ndr
, NDR_BUFFERS
, &r
->lm_owf_password
));
2824 NDR_CHECK(ndr_push_lsa_BinaryString(ndr
, NDR_BUFFERS
, &r
->nt_owf_password
));
2825 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->unknown3
));
2827 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->buf_count
));
2828 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->buffer
, r
->buf_count
));
2830 NDR_CHECK(ndr_push_samr_LogonHours(ndr
, NDR_BUFFERS
, &r
->logon_hours
));
2832 return NDR_ERR_SUCCESS
;
2835 static enum ndr_err_code
ndr_pull_samr_UserInfo21(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo21
*r
)
2837 uint32_t _ptr_buffer
;
2838 TALLOC_CTX
*_mem_save_buffer_0
;
2839 if (ndr_flags
& NDR_SCALARS
) {
2840 NDR_CHECK(ndr_pull_align(ndr
, 4));
2841 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_logon
));
2842 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_logoff
));
2843 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_password_change
));
2844 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->acct_expiry
));
2845 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->allow_password_change
));
2846 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->force_password_change
));
2847 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
2848 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
2849 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->home_directory
));
2850 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->home_drive
));
2851 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->logon_script
));
2852 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->profile_path
));
2853 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
2854 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->workstations
));
2855 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->comment
));
2856 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr
, NDR_SCALARS
, &r
->parameters
));
2857 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr
, NDR_SCALARS
, &r
->lm_owf_password
));
2858 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr
, NDR_SCALARS
, &r
->nt_owf_password
));
2859 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->unknown3
));
2860 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->buf_count
));
2861 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_buffer
));
2863 NDR_PULL_ALLOC(ndr
, r
->buffer
);
2867 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->rid
));
2868 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->primary_gid
));
2869 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr
, NDR_SCALARS
, &r
->acct_flags
));
2870 NDR_CHECK(ndr_pull_samr_FieldsPresent(ndr
, NDR_SCALARS
, &r
->fields_present
));
2871 NDR_CHECK(ndr_pull_samr_LogonHours(ndr
, NDR_SCALARS
, &r
->logon_hours
));
2872 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->bad_password_count
));
2873 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->logon_count
));
2874 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->country_code
));
2875 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->code_page
));
2876 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->lm_password_set
));
2877 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->nt_password_set
));
2878 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->password_expired
));
2879 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->unknown4
));
2881 if (ndr_flags
& NDR_BUFFERS
) {
2882 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
2883 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
2884 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_directory
));
2885 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_drive
));
2886 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->logon_script
));
2887 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->profile_path
));
2888 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
2889 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->workstations
));
2890 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->comment
));
2891 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr
, NDR_BUFFERS
, &r
->parameters
));
2892 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr
, NDR_BUFFERS
, &r
->lm_owf_password
));
2893 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr
, NDR_BUFFERS
, &r
->nt_owf_password
));
2894 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->unknown3
));
2896 _mem_save_buffer_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2897 NDR_PULL_SET_MEM_CTX(ndr
, r
->buffer
, 0);
2898 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->buffer
));
2899 NDR_PULL_ALLOC_N(ndr
, r
->buffer
, ndr_get_array_size(ndr
, &r
->buffer
));
2900 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->buffer
, ndr_get_array_size(ndr
, &r
->buffer
)));
2901 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_buffer_0
, 0);
2903 NDR_CHECK(ndr_pull_samr_LogonHours(ndr
, NDR_BUFFERS
, &r
->logon_hours
));
2905 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->buffer
, r
->buf_count
));
2908 return NDR_ERR_SUCCESS
;
2911 _PUBLIC_
void ndr_print_samr_UserInfo21(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo21
*r
)
2913 ndr_print_struct(ndr
, name
, "samr_UserInfo21");
2915 ndr_print_NTTIME(ndr
, "last_logon", r
->last_logon
);
2916 ndr_print_NTTIME(ndr
, "last_logoff", r
->last_logoff
);
2917 ndr_print_NTTIME(ndr
, "last_password_change", r
->last_password_change
);
2918 ndr_print_NTTIME(ndr
, "acct_expiry", r
->acct_expiry
);
2919 ndr_print_NTTIME(ndr
, "allow_password_change", r
->allow_password_change
);
2920 ndr_print_NTTIME(ndr
, "force_password_change", r
->force_password_change
);
2921 ndr_print_lsa_String(ndr
, "account_name", &r
->account_name
);
2922 ndr_print_lsa_String(ndr
, "full_name", &r
->full_name
);
2923 ndr_print_lsa_String(ndr
, "home_directory", &r
->home_directory
);
2924 ndr_print_lsa_String(ndr
, "home_drive", &r
->home_drive
);
2925 ndr_print_lsa_String(ndr
, "logon_script", &r
->logon_script
);
2926 ndr_print_lsa_String(ndr
, "profile_path", &r
->profile_path
);
2927 ndr_print_lsa_String(ndr
, "description", &r
->description
);
2928 ndr_print_lsa_String(ndr
, "workstations", &r
->workstations
);
2929 ndr_print_lsa_String(ndr
, "comment", &r
->comment
);
2930 ndr_print_lsa_BinaryString(ndr
, "parameters", &r
->parameters
);
2931 ndr_print_lsa_BinaryString(ndr
, "lm_owf_password", &r
->lm_owf_password
);
2932 ndr_print_lsa_BinaryString(ndr
, "nt_owf_password", &r
->nt_owf_password
);
2933 ndr_print_lsa_String(ndr
, "unknown3", &r
->unknown3
);
2934 ndr_print_uint32(ndr
, "buf_count", r
->buf_count
);
2935 ndr_print_ptr(ndr
, "buffer", r
->buffer
);
2938 ndr_print_array_uint8(ndr
, "buffer", r
->buffer
, r
->buf_count
);
2941 ndr_print_uint32(ndr
, "rid", r
->rid
);
2942 ndr_print_uint32(ndr
, "primary_gid", r
->primary_gid
);
2943 ndr_print_samr_AcctFlags(ndr
, "acct_flags", r
->acct_flags
);
2944 ndr_print_samr_FieldsPresent(ndr
, "fields_present", r
->fields_present
);
2945 ndr_print_samr_LogonHours(ndr
, "logon_hours", &r
->logon_hours
);
2946 ndr_print_uint16(ndr
, "bad_password_count", r
->bad_password_count
);
2947 ndr_print_uint16(ndr
, "logon_count", r
->logon_count
);
2948 ndr_print_uint16(ndr
, "country_code", r
->country_code
);
2949 ndr_print_uint16(ndr
, "code_page", r
->code_page
);
2950 ndr_print_uint8(ndr
, "lm_password_set", r
->lm_password_set
);
2951 ndr_print_uint8(ndr
, "nt_password_set", r
->nt_password_set
);
2952 ndr_print_uint8(ndr
, "password_expired", r
->password_expired
);
2953 ndr_print_uint8(ndr
, "unknown4", r
->unknown4
);
2957 _PUBLIC_
enum ndr_err_code
ndr_push_samr_CryptPassword(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_CryptPassword
*r
)
2960 uint32_t _flags_save_STRUCT
= ndr
->flags
;
2961 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
2962 if (ndr_flags
& NDR_SCALARS
) {
2963 NDR_CHECK(ndr_push_align(ndr
, 1));
2964 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->data
, 516));
2966 if (ndr_flags
& NDR_BUFFERS
) {
2968 ndr
->flags
= _flags_save_STRUCT
;
2970 return NDR_ERR_SUCCESS
;
2973 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_CryptPassword(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_CryptPassword
*r
)
2976 uint32_t _flags_save_STRUCT
= ndr
->flags
;
2977 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
2978 if (ndr_flags
& NDR_SCALARS
) {
2979 NDR_CHECK(ndr_pull_align(ndr
, 1));
2980 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->data
, 516));
2982 if (ndr_flags
& NDR_BUFFERS
) {
2984 ndr
->flags
= _flags_save_STRUCT
;
2986 return NDR_ERR_SUCCESS
;
2989 _PUBLIC_
void ndr_print_samr_CryptPassword(struct ndr_print
*ndr
, const char *name
, const struct samr_CryptPassword
*r
)
2991 ndr_print_struct(ndr
, name
, "samr_CryptPassword");
2993 uint32_t _flags_save_STRUCT
= ndr
->flags
;
2994 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
2996 ndr_print_array_uint8(ndr
, "data", r
->data
, 516);
2998 ndr
->flags
= _flags_save_STRUCT
;
3002 static enum ndr_err_code
ndr_push_samr_UserInfo23(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo23
*r
)
3004 if (ndr_flags
& NDR_SCALARS
) {
3005 NDR_CHECK(ndr_push_align(ndr
, 4));
3006 NDR_CHECK(ndr_push_samr_UserInfo21(ndr
, NDR_SCALARS
, &r
->info
));
3007 NDR_CHECK(ndr_push_samr_CryptPassword(ndr
, NDR_SCALARS
, &r
->password
));
3009 if (ndr_flags
& NDR_BUFFERS
) {
3010 NDR_CHECK(ndr_push_samr_UserInfo21(ndr
, NDR_BUFFERS
, &r
->info
));
3012 return NDR_ERR_SUCCESS
;
3015 static enum ndr_err_code
ndr_pull_samr_UserInfo23(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo23
*r
)
3017 if (ndr_flags
& NDR_SCALARS
) {
3018 NDR_CHECK(ndr_pull_align(ndr
, 4));
3019 NDR_CHECK(ndr_pull_samr_UserInfo21(ndr
, NDR_SCALARS
, &r
->info
));
3020 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr
, NDR_SCALARS
, &r
->password
));
3022 if (ndr_flags
& NDR_BUFFERS
) {
3023 NDR_CHECK(ndr_pull_samr_UserInfo21(ndr
, NDR_BUFFERS
, &r
->info
));
3025 return NDR_ERR_SUCCESS
;
3028 _PUBLIC_
void ndr_print_samr_UserInfo23(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo23
*r
)
3030 ndr_print_struct(ndr
, name
, "samr_UserInfo23");
3032 ndr_print_samr_UserInfo21(ndr
, "info", &r
->info
);
3033 ndr_print_samr_CryptPassword(ndr
, "password", &r
->password
);
3037 static enum ndr_err_code
ndr_push_samr_UserInfo24(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo24
*r
)
3039 if (ndr_flags
& NDR_SCALARS
) {
3040 NDR_CHECK(ndr_push_align(ndr
, 1));
3041 NDR_CHECK(ndr_push_samr_CryptPassword(ndr
, NDR_SCALARS
, &r
->password
));
3042 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->password_expired
));
3044 if (ndr_flags
& NDR_BUFFERS
) {
3046 return NDR_ERR_SUCCESS
;
3049 static enum ndr_err_code
ndr_pull_samr_UserInfo24(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo24
*r
)
3051 if (ndr_flags
& NDR_SCALARS
) {
3052 NDR_CHECK(ndr_pull_align(ndr
, 1));
3053 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr
, NDR_SCALARS
, &r
->password
));
3054 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->password_expired
));
3056 if (ndr_flags
& NDR_BUFFERS
) {
3058 return NDR_ERR_SUCCESS
;
3061 _PUBLIC_
void ndr_print_samr_UserInfo24(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo24
*r
)
3063 ndr_print_struct(ndr
, name
, "samr_UserInfo24");
3065 ndr_print_samr_CryptPassword(ndr
, "password", &r
->password
);
3066 ndr_print_uint8(ndr
, "password_expired", r
->password_expired
);
3070 static enum ndr_err_code
ndr_push_samr_CryptPasswordEx(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_CryptPasswordEx
*r
)
3073 uint32_t _flags_save_STRUCT
= ndr
->flags
;
3074 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
3075 if (ndr_flags
& NDR_SCALARS
) {
3076 NDR_CHECK(ndr_push_align(ndr
, 1));
3077 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->data
, 532));
3079 if (ndr_flags
& NDR_BUFFERS
) {
3081 ndr
->flags
= _flags_save_STRUCT
;
3083 return NDR_ERR_SUCCESS
;
3086 static enum ndr_err_code
ndr_pull_samr_CryptPasswordEx(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_CryptPasswordEx
*r
)
3089 uint32_t _flags_save_STRUCT
= ndr
->flags
;
3090 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
3091 if (ndr_flags
& NDR_SCALARS
) {
3092 NDR_CHECK(ndr_pull_align(ndr
, 1));
3093 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->data
, 532));
3095 if (ndr_flags
& NDR_BUFFERS
) {
3097 ndr
->flags
= _flags_save_STRUCT
;
3099 return NDR_ERR_SUCCESS
;
3102 _PUBLIC_
void ndr_print_samr_CryptPasswordEx(struct ndr_print
*ndr
, const char *name
, const struct samr_CryptPasswordEx
*r
)
3104 ndr_print_struct(ndr
, name
, "samr_CryptPasswordEx");
3106 uint32_t _flags_save_STRUCT
= ndr
->flags
;
3107 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
3109 ndr_print_array_uint8(ndr
, "data", r
->data
, 532);
3111 ndr
->flags
= _flags_save_STRUCT
;
3115 static enum ndr_err_code
ndr_push_samr_UserInfo25(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo25
*r
)
3117 if (ndr_flags
& NDR_SCALARS
) {
3118 NDR_CHECK(ndr_push_align(ndr
, 4));
3119 NDR_CHECK(ndr_push_samr_UserInfo21(ndr
, NDR_SCALARS
, &r
->info
));
3120 NDR_CHECK(ndr_push_samr_CryptPasswordEx(ndr
, NDR_SCALARS
, &r
->password
));
3122 if (ndr_flags
& NDR_BUFFERS
) {
3123 NDR_CHECK(ndr_push_samr_UserInfo21(ndr
, NDR_BUFFERS
, &r
->info
));
3125 return NDR_ERR_SUCCESS
;
3128 static enum ndr_err_code
ndr_pull_samr_UserInfo25(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo25
*r
)
3130 if (ndr_flags
& NDR_SCALARS
) {
3131 NDR_CHECK(ndr_pull_align(ndr
, 4));
3132 NDR_CHECK(ndr_pull_samr_UserInfo21(ndr
, NDR_SCALARS
, &r
->info
));
3133 NDR_CHECK(ndr_pull_samr_CryptPasswordEx(ndr
, NDR_SCALARS
, &r
->password
));
3135 if (ndr_flags
& NDR_BUFFERS
) {
3136 NDR_CHECK(ndr_pull_samr_UserInfo21(ndr
, NDR_BUFFERS
, &r
->info
));
3138 return NDR_ERR_SUCCESS
;
3141 _PUBLIC_
void ndr_print_samr_UserInfo25(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo25
*r
)
3143 ndr_print_struct(ndr
, name
, "samr_UserInfo25");
3145 ndr_print_samr_UserInfo21(ndr
, "info", &r
->info
);
3146 ndr_print_samr_CryptPasswordEx(ndr
, "password", &r
->password
);
3150 static enum ndr_err_code
ndr_push_samr_UserInfo26(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo26
*r
)
3152 if (ndr_flags
& NDR_SCALARS
) {
3153 NDR_CHECK(ndr_push_align(ndr
, 1));
3154 NDR_CHECK(ndr_push_samr_CryptPasswordEx(ndr
, NDR_SCALARS
, &r
->password
));
3155 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->password_expired
));
3157 if (ndr_flags
& NDR_BUFFERS
) {
3159 return NDR_ERR_SUCCESS
;
3162 static enum ndr_err_code
ndr_pull_samr_UserInfo26(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo26
*r
)
3164 if (ndr_flags
& NDR_SCALARS
) {
3165 NDR_CHECK(ndr_pull_align(ndr
, 1));
3166 NDR_CHECK(ndr_pull_samr_CryptPasswordEx(ndr
, NDR_SCALARS
, &r
->password
));
3167 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->password_expired
));
3169 if (ndr_flags
& NDR_BUFFERS
) {
3171 return NDR_ERR_SUCCESS
;
3174 _PUBLIC_
void ndr_print_samr_UserInfo26(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo26
*r
)
3176 ndr_print_struct(ndr
, name
, "samr_UserInfo26");
3178 ndr_print_samr_CryptPasswordEx(ndr
, "password", &r
->password
);
3179 ndr_print_uint8(ndr
, "password_expired", r
->password_expired
);
3183 static enum ndr_err_code
ndr_push_samr_UserInfo(struct ndr_push
*ndr
, int ndr_flags
, const union samr_UserInfo
*r
)
3185 if (ndr_flags
& NDR_SCALARS
) {
3186 int level
= ndr_push_get_switch_value(ndr
, r
);
3187 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, level
));
3190 NDR_CHECK(ndr_push_samr_UserInfo1(ndr
, NDR_SCALARS
, &r
->info1
));
3194 NDR_CHECK(ndr_push_samr_UserInfo2(ndr
, NDR_SCALARS
, &r
->info2
));
3198 NDR_CHECK(ndr_push_samr_UserInfo3(ndr
, NDR_SCALARS
, &r
->info3
));
3202 NDR_CHECK(ndr_push_samr_UserInfo4(ndr
, NDR_SCALARS
, &r
->info4
));
3206 NDR_CHECK(ndr_push_samr_UserInfo5(ndr
, NDR_SCALARS
, &r
->info5
));
3210 NDR_CHECK(ndr_push_samr_UserInfo6(ndr
, NDR_SCALARS
, &r
->info6
));
3214 NDR_CHECK(ndr_push_samr_UserInfo7(ndr
, NDR_SCALARS
, &r
->info7
));
3218 NDR_CHECK(ndr_push_samr_UserInfo8(ndr
, NDR_SCALARS
, &r
->info8
));
3222 NDR_CHECK(ndr_push_samr_UserInfo9(ndr
, NDR_SCALARS
, &r
->info9
));
3226 NDR_CHECK(ndr_push_samr_UserInfo10(ndr
, NDR_SCALARS
, &r
->info10
));
3230 NDR_CHECK(ndr_push_samr_UserInfo11(ndr
, NDR_SCALARS
, &r
->info11
));
3234 NDR_CHECK(ndr_push_samr_UserInfo12(ndr
, NDR_SCALARS
, &r
->info12
));
3238 NDR_CHECK(ndr_push_samr_UserInfo13(ndr
, NDR_SCALARS
, &r
->info13
));
3242 NDR_CHECK(ndr_push_samr_UserInfo14(ndr
, NDR_SCALARS
, &r
->info14
));
3246 NDR_CHECK(ndr_push_samr_UserInfo16(ndr
, NDR_SCALARS
, &r
->info16
));
3250 NDR_CHECK(ndr_push_samr_UserInfo17(ndr
, NDR_SCALARS
, &r
->info17
));
3254 NDR_CHECK(ndr_push_samr_UserInfo18(ndr
, NDR_SCALARS
, &r
->info18
));
3258 NDR_CHECK(ndr_push_samr_UserInfo20(ndr
, NDR_SCALARS
, &r
->info20
));
3262 NDR_CHECK(ndr_push_samr_UserInfo21(ndr
, NDR_SCALARS
, &r
->info21
));
3266 NDR_CHECK(ndr_push_samr_UserInfo23(ndr
, NDR_SCALARS
, &r
->info23
));
3270 NDR_CHECK(ndr_push_samr_UserInfo24(ndr
, NDR_SCALARS
, &r
->info24
));
3274 NDR_CHECK(ndr_push_samr_UserInfo25(ndr
, NDR_SCALARS
, &r
->info25
));
3278 NDR_CHECK(ndr_push_samr_UserInfo26(ndr
, NDR_SCALARS
, &r
->info26
));
3282 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
3285 if (ndr_flags
& NDR_BUFFERS
) {
3286 int level
= ndr_push_get_switch_value(ndr
, r
);
3289 NDR_CHECK(ndr_push_samr_UserInfo1(ndr
, NDR_BUFFERS
, &r
->info1
));
3293 NDR_CHECK(ndr_push_samr_UserInfo2(ndr
, NDR_BUFFERS
, &r
->info2
));
3297 NDR_CHECK(ndr_push_samr_UserInfo3(ndr
, NDR_BUFFERS
, &r
->info3
));
3301 NDR_CHECK(ndr_push_samr_UserInfo4(ndr
, NDR_BUFFERS
, &r
->info4
));
3305 NDR_CHECK(ndr_push_samr_UserInfo5(ndr
, NDR_BUFFERS
, &r
->info5
));
3309 NDR_CHECK(ndr_push_samr_UserInfo6(ndr
, NDR_BUFFERS
, &r
->info6
));
3313 NDR_CHECK(ndr_push_samr_UserInfo7(ndr
, NDR_BUFFERS
, &r
->info7
));
3317 NDR_CHECK(ndr_push_samr_UserInfo8(ndr
, NDR_BUFFERS
, &r
->info8
));
3324 NDR_CHECK(ndr_push_samr_UserInfo10(ndr
, NDR_BUFFERS
, &r
->info10
));
3328 NDR_CHECK(ndr_push_samr_UserInfo11(ndr
, NDR_BUFFERS
, &r
->info11
));
3332 NDR_CHECK(ndr_push_samr_UserInfo12(ndr
, NDR_BUFFERS
, &r
->info12
));
3336 NDR_CHECK(ndr_push_samr_UserInfo13(ndr
, NDR_BUFFERS
, &r
->info13
));
3340 NDR_CHECK(ndr_push_samr_UserInfo14(ndr
, NDR_BUFFERS
, &r
->info14
));
3353 NDR_CHECK(ndr_push_samr_UserInfo20(ndr
, NDR_BUFFERS
, &r
->info20
));
3357 NDR_CHECK(ndr_push_samr_UserInfo21(ndr
, NDR_BUFFERS
, &r
->info21
));
3361 NDR_CHECK(ndr_push_samr_UserInfo23(ndr
, NDR_BUFFERS
, &r
->info23
));
3368 NDR_CHECK(ndr_push_samr_UserInfo25(ndr
, NDR_BUFFERS
, &r
->info25
));
3375 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
3378 return NDR_ERR_SUCCESS
;
3381 static enum ndr_err_code
ndr_pull_samr_UserInfo(struct ndr_pull
*ndr
, int ndr_flags
, union samr_UserInfo
*r
)
3385 level
= ndr_pull_get_switch_value(ndr
, r
);
3386 if (ndr_flags
& NDR_SCALARS
) {
3387 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &_level
));
3388 if (_level
!= level
) {
3389 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r", _level
);
3393 NDR_CHECK(ndr_pull_samr_UserInfo1(ndr
, NDR_SCALARS
, &r
->info1
));
3397 NDR_CHECK(ndr_pull_samr_UserInfo2(ndr
, NDR_SCALARS
, &r
->info2
));
3401 NDR_CHECK(ndr_pull_samr_UserInfo3(ndr
, NDR_SCALARS
, &r
->info3
));
3405 NDR_CHECK(ndr_pull_samr_UserInfo4(ndr
, NDR_SCALARS
, &r
->info4
));
3409 NDR_CHECK(ndr_pull_samr_UserInfo5(ndr
, NDR_SCALARS
, &r
->info5
));
3413 NDR_CHECK(ndr_pull_samr_UserInfo6(ndr
, NDR_SCALARS
, &r
->info6
));
3417 NDR_CHECK(ndr_pull_samr_UserInfo7(ndr
, NDR_SCALARS
, &r
->info7
));
3421 NDR_CHECK(ndr_pull_samr_UserInfo8(ndr
, NDR_SCALARS
, &r
->info8
));
3425 NDR_CHECK(ndr_pull_samr_UserInfo9(ndr
, NDR_SCALARS
, &r
->info9
));
3429 NDR_CHECK(ndr_pull_samr_UserInfo10(ndr
, NDR_SCALARS
, &r
->info10
));
3433 NDR_CHECK(ndr_pull_samr_UserInfo11(ndr
, NDR_SCALARS
, &r
->info11
));
3437 NDR_CHECK(ndr_pull_samr_UserInfo12(ndr
, NDR_SCALARS
, &r
->info12
));
3441 NDR_CHECK(ndr_pull_samr_UserInfo13(ndr
, NDR_SCALARS
, &r
->info13
));
3445 NDR_CHECK(ndr_pull_samr_UserInfo14(ndr
, NDR_SCALARS
, &r
->info14
));
3449 NDR_CHECK(ndr_pull_samr_UserInfo16(ndr
, NDR_SCALARS
, &r
->info16
));
3453 NDR_CHECK(ndr_pull_samr_UserInfo17(ndr
, NDR_SCALARS
, &r
->info17
));
3457 NDR_CHECK(ndr_pull_samr_UserInfo18(ndr
, NDR_SCALARS
, &r
->info18
));
3461 NDR_CHECK(ndr_pull_samr_UserInfo20(ndr
, NDR_SCALARS
, &r
->info20
));
3465 NDR_CHECK(ndr_pull_samr_UserInfo21(ndr
, NDR_SCALARS
, &r
->info21
));
3469 NDR_CHECK(ndr_pull_samr_UserInfo23(ndr
, NDR_SCALARS
, &r
->info23
));
3473 NDR_CHECK(ndr_pull_samr_UserInfo24(ndr
, NDR_SCALARS
, &r
->info24
));
3477 NDR_CHECK(ndr_pull_samr_UserInfo25(ndr
, NDR_SCALARS
, &r
->info25
));
3481 NDR_CHECK(ndr_pull_samr_UserInfo26(ndr
, NDR_SCALARS
, &r
->info26
));
3485 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
3488 if (ndr_flags
& NDR_BUFFERS
) {
3491 NDR_CHECK(ndr_pull_samr_UserInfo1(ndr
, NDR_BUFFERS
, &r
->info1
));
3495 NDR_CHECK(ndr_pull_samr_UserInfo2(ndr
, NDR_BUFFERS
, &r
->info2
));
3499 NDR_CHECK(ndr_pull_samr_UserInfo3(ndr
, NDR_BUFFERS
, &r
->info3
));
3503 NDR_CHECK(ndr_pull_samr_UserInfo4(ndr
, NDR_BUFFERS
, &r
->info4
));
3507 NDR_CHECK(ndr_pull_samr_UserInfo5(ndr
, NDR_BUFFERS
, &r
->info5
));
3511 NDR_CHECK(ndr_pull_samr_UserInfo6(ndr
, NDR_BUFFERS
, &r
->info6
));
3515 NDR_CHECK(ndr_pull_samr_UserInfo7(ndr
, NDR_BUFFERS
, &r
->info7
));
3519 NDR_CHECK(ndr_pull_samr_UserInfo8(ndr
, NDR_BUFFERS
, &r
->info8
));
3526 NDR_CHECK(ndr_pull_samr_UserInfo10(ndr
, NDR_BUFFERS
, &r
->info10
));
3530 NDR_CHECK(ndr_pull_samr_UserInfo11(ndr
, NDR_BUFFERS
, &r
->info11
));
3534 NDR_CHECK(ndr_pull_samr_UserInfo12(ndr
, NDR_BUFFERS
, &r
->info12
));
3538 NDR_CHECK(ndr_pull_samr_UserInfo13(ndr
, NDR_BUFFERS
, &r
->info13
));
3542 NDR_CHECK(ndr_pull_samr_UserInfo14(ndr
, NDR_BUFFERS
, &r
->info14
));
3555 NDR_CHECK(ndr_pull_samr_UserInfo20(ndr
, NDR_BUFFERS
, &r
->info20
));
3559 NDR_CHECK(ndr_pull_samr_UserInfo21(ndr
, NDR_BUFFERS
, &r
->info21
));
3563 NDR_CHECK(ndr_pull_samr_UserInfo23(ndr
, NDR_BUFFERS
, &r
->info23
));
3570 NDR_CHECK(ndr_pull_samr_UserInfo25(ndr
, NDR_BUFFERS
, &r
->info25
));
3577 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
3580 return NDR_ERR_SUCCESS
;
3583 _PUBLIC_
void ndr_print_samr_UserInfo(struct ndr_print
*ndr
, const char *name
, const union samr_UserInfo
*r
)
3586 level
= ndr_print_get_switch_value(ndr
, r
);
3587 ndr_print_union(ndr
, name
, level
, "samr_UserInfo");
3590 ndr_print_samr_UserInfo1(ndr
, "info1", &r
->info1
);
3594 ndr_print_samr_UserInfo2(ndr
, "info2", &r
->info2
);
3598 ndr_print_samr_UserInfo3(ndr
, "info3", &r
->info3
);
3602 ndr_print_samr_UserInfo4(ndr
, "info4", &r
->info4
);
3606 ndr_print_samr_UserInfo5(ndr
, "info5", &r
->info5
);
3610 ndr_print_samr_UserInfo6(ndr
, "info6", &r
->info6
);
3614 ndr_print_samr_UserInfo7(ndr
, "info7", &r
->info7
);
3618 ndr_print_samr_UserInfo8(ndr
, "info8", &r
->info8
);
3622 ndr_print_samr_UserInfo9(ndr
, "info9", &r
->info9
);
3626 ndr_print_samr_UserInfo10(ndr
, "info10", &r
->info10
);
3630 ndr_print_samr_UserInfo11(ndr
, "info11", &r
->info11
);
3634 ndr_print_samr_UserInfo12(ndr
, "info12", &r
->info12
);
3638 ndr_print_samr_UserInfo13(ndr
, "info13", &r
->info13
);
3642 ndr_print_samr_UserInfo14(ndr
, "info14", &r
->info14
);
3646 ndr_print_samr_UserInfo16(ndr
, "info16", &r
->info16
);
3650 ndr_print_samr_UserInfo17(ndr
, "info17", &r
->info17
);
3654 ndr_print_samr_UserInfo18(ndr
, "info18", &r
->info18
);
3658 ndr_print_samr_UserInfo20(ndr
, "info20", &r
->info20
);
3662 ndr_print_samr_UserInfo21(ndr
, "info21", &r
->info21
);
3666 ndr_print_samr_UserInfo23(ndr
, "info23", &r
->info23
);
3670 ndr_print_samr_UserInfo24(ndr
, "info24", &r
->info24
);
3674 ndr_print_samr_UserInfo25(ndr
, "info25", &r
->info25
);
3678 ndr_print_samr_UserInfo26(ndr
, "info26", &r
->info26
);
3682 ndr_print_bad_level(ndr
, name
, level
);
3686 _PUBLIC_
enum ndr_err_code
ndr_push_samr_RidWithAttribute(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_RidWithAttribute
*r
)
3688 if (ndr_flags
& NDR_SCALARS
) {
3689 NDR_CHECK(ndr_push_align(ndr
, 4));
3690 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->rid
));
3691 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr
, NDR_SCALARS
, r
->attributes
));
3693 if (ndr_flags
& NDR_BUFFERS
) {
3695 return NDR_ERR_SUCCESS
;
3698 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_RidWithAttribute(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_RidWithAttribute
*r
)
3700 if (ndr_flags
& NDR_SCALARS
) {
3701 NDR_CHECK(ndr_pull_align(ndr
, 4));
3702 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->rid
));
3703 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr
, NDR_SCALARS
, &r
->attributes
));
3705 if (ndr_flags
& NDR_BUFFERS
) {
3707 return NDR_ERR_SUCCESS
;
3710 _PUBLIC_
void ndr_print_samr_RidWithAttribute(struct ndr_print
*ndr
, const char *name
, const struct samr_RidWithAttribute
*r
)
3712 ndr_print_struct(ndr
, name
, "samr_RidWithAttribute");
3714 ndr_print_uint32(ndr
, "rid", r
->rid
);
3715 ndr_print_samr_GroupAttrs(ndr
, "attributes", r
->attributes
);
3719 _PUBLIC_
enum ndr_err_code
ndr_push_samr_RidWithAttributeArray(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_RidWithAttributeArray
*r
)
3721 uint32_t cntr_rids_1
;
3722 if (ndr_flags
& NDR_SCALARS
) {
3723 NDR_CHECK(ndr_push_align(ndr
, 4));
3724 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
3725 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->rids
));
3727 if (ndr_flags
& NDR_BUFFERS
) {
3729 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
3730 for (cntr_rids_1
= 0; cntr_rids_1
< r
->count
; cntr_rids_1
++) {
3731 NDR_CHECK(ndr_push_samr_RidWithAttribute(ndr
, NDR_SCALARS
, &r
->rids
[cntr_rids_1
]));
3735 return NDR_ERR_SUCCESS
;
3738 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_RidWithAttributeArray(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_RidWithAttributeArray
*r
)
3741 uint32_t cntr_rids_1
;
3742 TALLOC_CTX
*_mem_save_rids_0
;
3743 TALLOC_CTX
*_mem_save_rids_1
;
3744 if (ndr_flags
& NDR_SCALARS
) {
3745 NDR_CHECK(ndr_pull_align(ndr
, 4));
3746 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
3747 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_rids
));
3749 NDR_PULL_ALLOC(ndr
, r
->rids
);
3754 if (ndr_flags
& NDR_BUFFERS
) {
3756 _mem_save_rids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3757 NDR_PULL_SET_MEM_CTX(ndr
, r
->rids
, 0);
3758 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->rids
));
3759 NDR_PULL_ALLOC_N(ndr
, r
->rids
, ndr_get_array_size(ndr
, &r
->rids
));
3760 _mem_save_rids_1
= NDR_PULL_GET_MEM_CTX(ndr
);
3761 NDR_PULL_SET_MEM_CTX(ndr
, r
->rids
, 0);
3762 for (cntr_rids_1
= 0; cntr_rids_1
< r
->count
; cntr_rids_1
++) {
3763 NDR_CHECK(ndr_pull_samr_RidWithAttribute(ndr
, NDR_SCALARS
, &r
->rids
[cntr_rids_1
]));
3765 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rids_1
, 0);
3766 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rids_0
, 0);
3769 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->rids
, r
->count
));
3772 return NDR_ERR_SUCCESS
;
3775 _PUBLIC_
void ndr_print_samr_RidWithAttributeArray(struct ndr_print
*ndr
, const char *name
, const struct samr_RidWithAttributeArray
*r
)
3777 uint32_t cntr_rids_1
;
3778 ndr_print_struct(ndr
, name
, "samr_RidWithAttributeArray");
3780 ndr_print_uint32(ndr
, "count", r
->count
);
3781 ndr_print_ptr(ndr
, "rids", r
->rids
);
3784 ndr
->print(ndr
, "%s: ARRAY(%d)", "rids", (int)r
->count
);
3786 for (cntr_rids_1
=0;cntr_rids_1
<r
->count
;cntr_rids_1
++) {
3788 if (asprintf(&idx_1
, "[%d]", cntr_rids_1
) != -1) {
3789 ndr_print_samr_RidWithAttribute(ndr
, "rids", &r
->rids
[cntr_rids_1
]);
3799 static enum ndr_err_code
ndr_push_samr_DispEntryGeneral(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DispEntryGeneral
*r
)
3801 if (ndr_flags
& NDR_SCALARS
) {
3802 NDR_CHECK(ndr_push_align(ndr
, 4));
3803 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->idx
));
3804 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->rid
));
3805 NDR_CHECK(ndr_push_samr_AcctFlags(ndr
, NDR_SCALARS
, r
->acct_flags
));
3806 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
3807 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
3808 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
3810 if (ndr_flags
& NDR_BUFFERS
) {
3811 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
3812 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
3813 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
3815 return NDR_ERR_SUCCESS
;
3818 static enum ndr_err_code
ndr_pull_samr_DispEntryGeneral(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DispEntryGeneral
*r
)
3820 if (ndr_flags
& NDR_SCALARS
) {
3821 NDR_CHECK(ndr_pull_align(ndr
, 4));
3822 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->idx
));
3823 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->rid
));
3824 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr
, NDR_SCALARS
, &r
->acct_flags
));
3825 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
3826 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
3827 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
3829 if (ndr_flags
& NDR_BUFFERS
) {
3830 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
3831 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
3832 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
3834 return NDR_ERR_SUCCESS
;
3837 _PUBLIC_
void ndr_print_samr_DispEntryGeneral(struct ndr_print
*ndr
, const char *name
, const struct samr_DispEntryGeneral
*r
)
3839 ndr_print_struct(ndr
, name
, "samr_DispEntryGeneral");
3841 ndr_print_uint32(ndr
, "idx", r
->idx
);
3842 ndr_print_uint32(ndr
, "rid", r
->rid
);
3843 ndr_print_samr_AcctFlags(ndr
, "acct_flags", r
->acct_flags
);
3844 ndr_print_lsa_String(ndr
, "account_name", &r
->account_name
);
3845 ndr_print_lsa_String(ndr
, "description", &r
->description
);
3846 ndr_print_lsa_String(ndr
, "full_name", &r
->full_name
);
3850 static enum ndr_err_code
ndr_push_samr_DispInfoGeneral(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DispInfoGeneral
*r
)
3852 uint32_t cntr_entries_1
;
3853 if (ndr_flags
& NDR_SCALARS
) {
3854 NDR_CHECK(ndr_push_align(ndr
, 4));
3855 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
3856 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->entries
));
3858 if (ndr_flags
& NDR_BUFFERS
) {
3860 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
3861 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
3862 NDR_CHECK(ndr_push_samr_DispEntryGeneral(ndr
, NDR_SCALARS
, &r
->entries
[cntr_entries_1
]));
3864 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
3865 NDR_CHECK(ndr_push_samr_DispEntryGeneral(ndr
, NDR_BUFFERS
, &r
->entries
[cntr_entries_1
]));
3869 return NDR_ERR_SUCCESS
;
3872 static enum ndr_err_code
ndr_pull_samr_DispInfoGeneral(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DispInfoGeneral
*r
)
3874 uint32_t _ptr_entries
;
3875 uint32_t cntr_entries_1
;
3876 TALLOC_CTX
*_mem_save_entries_0
;
3877 TALLOC_CTX
*_mem_save_entries_1
;
3878 if (ndr_flags
& NDR_SCALARS
) {
3879 NDR_CHECK(ndr_pull_align(ndr
, 4));
3880 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
3881 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_entries
));
3883 NDR_PULL_ALLOC(ndr
, r
->entries
);
3888 if (ndr_flags
& NDR_BUFFERS
) {
3890 _mem_save_entries_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3891 NDR_PULL_SET_MEM_CTX(ndr
, r
->entries
, 0);
3892 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->entries
));
3893 NDR_PULL_ALLOC_N(ndr
, r
->entries
, ndr_get_array_size(ndr
, &r
->entries
));
3894 _mem_save_entries_1
= NDR_PULL_GET_MEM_CTX(ndr
);
3895 NDR_PULL_SET_MEM_CTX(ndr
, r
->entries
, 0);
3896 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
3897 NDR_CHECK(ndr_pull_samr_DispEntryGeneral(ndr
, NDR_SCALARS
, &r
->entries
[cntr_entries_1
]));
3899 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
3900 NDR_CHECK(ndr_pull_samr_DispEntryGeneral(ndr
, NDR_BUFFERS
, &r
->entries
[cntr_entries_1
]));
3902 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_entries_1
, 0);
3903 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_entries_0
, 0);
3906 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->entries
, r
->count
));
3909 return NDR_ERR_SUCCESS
;
3912 _PUBLIC_
void ndr_print_samr_DispInfoGeneral(struct ndr_print
*ndr
, const char *name
, const struct samr_DispInfoGeneral
*r
)
3914 uint32_t cntr_entries_1
;
3915 ndr_print_struct(ndr
, name
, "samr_DispInfoGeneral");
3917 ndr_print_uint32(ndr
, "count", r
->count
);
3918 ndr_print_ptr(ndr
, "entries", r
->entries
);
3921 ndr
->print(ndr
, "%s: ARRAY(%d)", "entries", (int)r
->count
);
3923 for (cntr_entries_1
=0;cntr_entries_1
<r
->count
;cntr_entries_1
++) {
3925 if (asprintf(&idx_1
, "[%d]", cntr_entries_1
) != -1) {
3926 ndr_print_samr_DispEntryGeneral(ndr
, "entries", &r
->entries
[cntr_entries_1
]);
3936 static enum ndr_err_code
ndr_push_samr_DispEntryFull(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DispEntryFull
*r
)
3938 if (ndr_flags
& NDR_SCALARS
) {
3939 NDR_CHECK(ndr_push_align(ndr
, 4));
3940 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->idx
));
3941 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->rid
));
3942 NDR_CHECK(ndr_push_samr_AcctFlags(ndr
, NDR_SCALARS
, r
->acct_flags
));
3943 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
3944 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
3946 if (ndr_flags
& NDR_BUFFERS
) {
3947 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
3948 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
3950 return NDR_ERR_SUCCESS
;
3953 static enum ndr_err_code
ndr_pull_samr_DispEntryFull(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DispEntryFull
*r
)
3955 if (ndr_flags
& NDR_SCALARS
) {
3956 NDR_CHECK(ndr_pull_align(ndr
, 4));
3957 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->idx
));
3958 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->rid
));
3959 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr
, NDR_SCALARS
, &r
->acct_flags
));
3960 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
3961 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
3963 if (ndr_flags
& NDR_BUFFERS
) {
3964 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
3965 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
3967 return NDR_ERR_SUCCESS
;
3970 _PUBLIC_
void ndr_print_samr_DispEntryFull(struct ndr_print
*ndr
, const char *name
, const struct samr_DispEntryFull
*r
)
3972 ndr_print_struct(ndr
, name
, "samr_DispEntryFull");
3974 ndr_print_uint32(ndr
, "idx", r
->idx
);
3975 ndr_print_uint32(ndr
, "rid", r
->rid
);
3976 ndr_print_samr_AcctFlags(ndr
, "acct_flags", r
->acct_flags
);
3977 ndr_print_lsa_String(ndr
, "account_name", &r
->account_name
);
3978 ndr_print_lsa_String(ndr
, "description", &r
->description
);
3982 static enum ndr_err_code
ndr_push_samr_DispInfoFull(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DispInfoFull
*r
)
3984 uint32_t cntr_entries_1
;
3985 if (ndr_flags
& NDR_SCALARS
) {
3986 NDR_CHECK(ndr_push_align(ndr
, 4));
3987 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
3988 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->entries
));
3990 if (ndr_flags
& NDR_BUFFERS
) {
3992 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
3993 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
3994 NDR_CHECK(ndr_push_samr_DispEntryFull(ndr
, NDR_SCALARS
, &r
->entries
[cntr_entries_1
]));
3996 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
3997 NDR_CHECK(ndr_push_samr_DispEntryFull(ndr
, NDR_BUFFERS
, &r
->entries
[cntr_entries_1
]));
4001 return NDR_ERR_SUCCESS
;
4004 static enum ndr_err_code
ndr_pull_samr_DispInfoFull(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DispInfoFull
*r
)
4006 uint32_t _ptr_entries
;
4007 uint32_t cntr_entries_1
;
4008 TALLOC_CTX
*_mem_save_entries_0
;
4009 TALLOC_CTX
*_mem_save_entries_1
;
4010 if (ndr_flags
& NDR_SCALARS
) {
4011 NDR_CHECK(ndr_pull_align(ndr
, 4));
4012 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
4013 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_entries
));
4015 NDR_PULL_ALLOC(ndr
, r
->entries
);
4020 if (ndr_flags
& NDR_BUFFERS
) {
4022 _mem_save_entries_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4023 NDR_PULL_SET_MEM_CTX(ndr
, r
->entries
, 0);
4024 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->entries
));
4025 NDR_PULL_ALLOC_N(ndr
, r
->entries
, ndr_get_array_size(ndr
, &r
->entries
));
4026 _mem_save_entries_1
= NDR_PULL_GET_MEM_CTX(ndr
);
4027 NDR_PULL_SET_MEM_CTX(ndr
, r
->entries
, 0);
4028 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
4029 NDR_CHECK(ndr_pull_samr_DispEntryFull(ndr
, NDR_SCALARS
, &r
->entries
[cntr_entries_1
]));
4031 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
4032 NDR_CHECK(ndr_pull_samr_DispEntryFull(ndr
, NDR_BUFFERS
, &r
->entries
[cntr_entries_1
]));
4034 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_entries_1
, 0);
4035 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_entries_0
, 0);
4038 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->entries
, r
->count
));
4041 return NDR_ERR_SUCCESS
;
4044 _PUBLIC_
void ndr_print_samr_DispInfoFull(struct ndr_print
*ndr
, const char *name
, const struct samr_DispInfoFull
*r
)
4046 uint32_t cntr_entries_1
;
4047 ndr_print_struct(ndr
, name
, "samr_DispInfoFull");
4049 ndr_print_uint32(ndr
, "count", r
->count
);
4050 ndr_print_ptr(ndr
, "entries", r
->entries
);
4053 ndr
->print(ndr
, "%s: ARRAY(%d)", "entries", (int)r
->count
);
4055 for (cntr_entries_1
=0;cntr_entries_1
<r
->count
;cntr_entries_1
++) {
4057 if (asprintf(&idx_1
, "[%d]", cntr_entries_1
) != -1) {
4058 ndr_print_samr_DispEntryFull(ndr
, "entries", &r
->entries
[cntr_entries_1
]);
4068 static enum ndr_err_code
ndr_push_samr_DispEntryFullGroup(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DispEntryFullGroup
*r
)
4070 if (ndr_flags
& NDR_SCALARS
) {
4071 NDR_CHECK(ndr_push_align(ndr
, 4));
4072 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->idx
));
4073 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->rid
));
4074 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr
, NDR_SCALARS
, r
->acct_flags
));
4075 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
4076 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
4078 if (ndr_flags
& NDR_BUFFERS
) {
4079 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
4080 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
4082 return NDR_ERR_SUCCESS
;
4085 static enum ndr_err_code
ndr_pull_samr_DispEntryFullGroup(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DispEntryFullGroup
*r
)
4087 if (ndr_flags
& NDR_SCALARS
) {
4088 NDR_CHECK(ndr_pull_align(ndr
, 4));
4089 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->idx
));
4090 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->rid
));
4091 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr
, NDR_SCALARS
, &r
->acct_flags
));
4092 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
4093 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
4095 if (ndr_flags
& NDR_BUFFERS
) {
4096 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
4097 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
4099 return NDR_ERR_SUCCESS
;
4102 _PUBLIC_
void ndr_print_samr_DispEntryFullGroup(struct ndr_print
*ndr
, const char *name
, const struct samr_DispEntryFullGroup
*r
)
4104 ndr_print_struct(ndr
, name
, "samr_DispEntryFullGroup");
4106 ndr_print_uint32(ndr
, "idx", r
->idx
);
4107 ndr_print_uint32(ndr
, "rid", r
->rid
);
4108 ndr_print_samr_GroupAttrs(ndr
, "acct_flags", r
->acct_flags
);
4109 ndr_print_lsa_String(ndr
, "account_name", &r
->account_name
);
4110 ndr_print_lsa_String(ndr
, "description", &r
->description
);
4114 static enum ndr_err_code
ndr_push_samr_DispInfoFullGroups(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DispInfoFullGroups
*r
)
4116 uint32_t cntr_entries_1
;
4117 if (ndr_flags
& NDR_SCALARS
) {
4118 NDR_CHECK(ndr_push_align(ndr
, 4));
4119 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
4120 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->entries
));
4122 if (ndr_flags
& NDR_BUFFERS
) {
4124 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
4125 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
4126 NDR_CHECK(ndr_push_samr_DispEntryFullGroup(ndr
, NDR_SCALARS
, &r
->entries
[cntr_entries_1
]));
4128 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
4129 NDR_CHECK(ndr_push_samr_DispEntryFullGroup(ndr
, NDR_BUFFERS
, &r
->entries
[cntr_entries_1
]));
4133 return NDR_ERR_SUCCESS
;
4136 static enum ndr_err_code
ndr_pull_samr_DispInfoFullGroups(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DispInfoFullGroups
*r
)
4138 uint32_t _ptr_entries
;
4139 uint32_t cntr_entries_1
;
4140 TALLOC_CTX
*_mem_save_entries_0
;
4141 TALLOC_CTX
*_mem_save_entries_1
;
4142 if (ndr_flags
& NDR_SCALARS
) {
4143 NDR_CHECK(ndr_pull_align(ndr
, 4));
4144 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
4145 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_entries
));
4147 NDR_PULL_ALLOC(ndr
, r
->entries
);
4152 if (ndr_flags
& NDR_BUFFERS
) {
4154 _mem_save_entries_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4155 NDR_PULL_SET_MEM_CTX(ndr
, r
->entries
, 0);
4156 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->entries
));
4157 NDR_PULL_ALLOC_N(ndr
, r
->entries
, ndr_get_array_size(ndr
, &r
->entries
));
4158 _mem_save_entries_1
= NDR_PULL_GET_MEM_CTX(ndr
);
4159 NDR_PULL_SET_MEM_CTX(ndr
, r
->entries
, 0);
4160 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
4161 NDR_CHECK(ndr_pull_samr_DispEntryFullGroup(ndr
, NDR_SCALARS
, &r
->entries
[cntr_entries_1
]));
4163 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
4164 NDR_CHECK(ndr_pull_samr_DispEntryFullGroup(ndr
, NDR_BUFFERS
, &r
->entries
[cntr_entries_1
]));
4166 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_entries_1
, 0);
4167 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_entries_0
, 0);
4170 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->entries
, r
->count
));
4173 return NDR_ERR_SUCCESS
;
4176 _PUBLIC_
void ndr_print_samr_DispInfoFullGroups(struct ndr_print
*ndr
, const char *name
, const struct samr_DispInfoFullGroups
*r
)
4178 uint32_t cntr_entries_1
;
4179 ndr_print_struct(ndr
, name
, "samr_DispInfoFullGroups");
4181 ndr_print_uint32(ndr
, "count", r
->count
);
4182 ndr_print_ptr(ndr
, "entries", r
->entries
);
4185 ndr
->print(ndr
, "%s: ARRAY(%d)", "entries", (int)r
->count
);
4187 for (cntr_entries_1
=0;cntr_entries_1
<r
->count
;cntr_entries_1
++) {
4189 if (asprintf(&idx_1
, "[%d]", cntr_entries_1
) != -1) {
4190 ndr_print_samr_DispEntryFullGroup(ndr
, "entries", &r
->entries
[cntr_entries_1
]);
4200 static enum ndr_err_code
ndr_push_samr_DispEntryAscii(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DispEntryAscii
*r
)
4202 if (ndr_flags
& NDR_SCALARS
) {
4203 NDR_CHECK(ndr_push_align(ndr
, 4));
4204 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->idx
));
4205 NDR_CHECK(ndr_push_lsa_AsciiStringLarge(ndr
, NDR_SCALARS
, &r
->account_name
));
4207 if (ndr_flags
& NDR_BUFFERS
) {
4208 NDR_CHECK(ndr_push_lsa_AsciiStringLarge(ndr
, NDR_BUFFERS
, &r
->account_name
));
4210 return NDR_ERR_SUCCESS
;
4213 static enum ndr_err_code
ndr_pull_samr_DispEntryAscii(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DispEntryAscii
*r
)
4215 if (ndr_flags
& NDR_SCALARS
) {
4216 NDR_CHECK(ndr_pull_align(ndr
, 4));
4217 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->idx
));
4218 NDR_CHECK(ndr_pull_lsa_AsciiStringLarge(ndr
, NDR_SCALARS
, &r
->account_name
));
4220 if (ndr_flags
& NDR_BUFFERS
) {
4221 NDR_CHECK(ndr_pull_lsa_AsciiStringLarge(ndr
, NDR_BUFFERS
, &r
->account_name
));
4223 return NDR_ERR_SUCCESS
;
4226 _PUBLIC_
void ndr_print_samr_DispEntryAscii(struct ndr_print
*ndr
, const char *name
, const struct samr_DispEntryAscii
*r
)
4228 ndr_print_struct(ndr
, name
, "samr_DispEntryAscii");
4230 ndr_print_uint32(ndr
, "idx", r
->idx
);
4231 ndr_print_lsa_AsciiStringLarge(ndr
, "account_name", &r
->account_name
);
4235 static enum ndr_err_code
ndr_push_samr_DispInfoAscii(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DispInfoAscii
*r
)
4237 uint32_t cntr_entries_1
;
4238 if (ndr_flags
& NDR_SCALARS
) {
4239 NDR_CHECK(ndr_push_align(ndr
, 4));
4240 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
4241 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->entries
));
4243 if (ndr_flags
& NDR_BUFFERS
) {
4245 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
4246 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
4247 NDR_CHECK(ndr_push_samr_DispEntryAscii(ndr
, NDR_SCALARS
, &r
->entries
[cntr_entries_1
]));
4249 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
4250 NDR_CHECK(ndr_push_samr_DispEntryAscii(ndr
, NDR_BUFFERS
, &r
->entries
[cntr_entries_1
]));
4254 return NDR_ERR_SUCCESS
;
4257 static enum ndr_err_code
ndr_pull_samr_DispInfoAscii(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DispInfoAscii
*r
)
4259 uint32_t _ptr_entries
;
4260 uint32_t cntr_entries_1
;
4261 TALLOC_CTX
*_mem_save_entries_0
;
4262 TALLOC_CTX
*_mem_save_entries_1
;
4263 if (ndr_flags
& NDR_SCALARS
) {
4264 NDR_CHECK(ndr_pull_align(ndr
, 4));
4265 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
4266 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_entries
));
4268 NDR_PULL_ALLOC(ndr
, r
->entries
);
4273 if (ndr_flags
& NDR_BUFFERS
) {
4275 _mem_save_entries_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4276 NDR_PULL_SET_MEM_CTX(ndr
, r
->entries
, 0);
4277 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->entries
));
4278 NDR_PULL_ALLOC_N(ndr
, r
->entries
, ndr_get_array_size(ndr
, &r
->entries
));
4279 _mem_save_entries_1
= NDR_PULL_GET_MEM_CTX(ndr
);
4280 NDR_PULL_SET_MEM_CTX(ndr
, r
->entries
, 0);
4281 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
4282 NDR_CHECK(ndr_pull_samr_DispEntryAscii(ndr
, NDR_SCALARS
, &r
->entries
[cntr_entries_1
]));
4284 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
4285 NDR_CHECK(ndr_pull_samr_DispEntryAscii(ndr
, NDR_BUFFERS
, &r
->entries
[cntr_entries_1
]));
4287 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_entries_1
, 0);
4288 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_entries_0
, 0);
4291 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->entries
, r
->count
));
4294 return NDR_ERR_SUCCESS
;
4297 _PUBLIC_
void ndr_print_samr_DispInfoAscii(struct ndr_print
*ndr
, const char *name
, const struct samr_DispInfoAscii
*r
)
4299 uint32_t cntr_entries_1
;
4300 ndr_print_struct(ndr
, name
, "samr_DispInfoAscii");
4302 ndr_print_uint32(ndr
, "count", r
->count
);
4303 ndr_print_ptr(ndr
, "entries", r
->entries
);
4306 ndr
->print(ndr
, "%s: ARRAY(%d)", "entries", (int)r
->count
);
4308 for (cntr_entries_1
=0;cntr_entries_1
<r
->count
;cntr_entries_1
++) {
4310 if (asprintf(&idx_1
, "[%d]", cntr_entries_1
) != -1) {
4311 ndr_print_samr_DispEntryAscii(ndr
, "entries", &r
->entries
[cntr_entries_1
]);
4321 static enum ndr_err_code
ndr_push_samr_DispInfo(struct ndr_push
*ndr
, int ndr_flags
, const union samr_DispInfo
*r
)
4323 if (ndr_flags
& NDR_SCALARS
) {
4324 int level
= ndr_push_get_switch_value(ndr
, r
);
4325 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, level
));
4328 NDR_CHECK(ndr_push_samr_DispInfoGeneral(ndr
, NDR_SCALARS
, &r
->info1
));
4332 NDR_CHECK(ndr_push_samr_DispInfoFull(ndr
, NDR_SCALARS
, &r
->info2
));
4336 NDR_CHECK(ndr_push_samr_DispInfoFullGroups(ndr
, NDR_SCALARS
, &r
->info3
));
4340 NDR_CHECK(ndr_push_samr_DispInfoAscii(ndr
, NDR_SCALARS
, &r
->info4
));
4344 NDR_CHECK(ndr_push_samr_DispInfoAscii(ndr
, NDR_SCALARS
, &r
->info5
));
4348 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
4351 if (ndr_flags
& NDR_BUFFERS
) {
4352 int level
= ndr_push_get_switch_value(ndr
, r
);
4355 NDR_CHECK(ndr_push_samr_DispInfoGeneral(ndr
, NDR_BUFFERS
, &r
->info1
));
4359 NDR_CHECK(ndr_push_samr_DispInfoFull(ndr
, NDR_BUFFERS
, &r
->info2
));
4363 NDR_CHECK(ndr_push_samr_DispInfoFullGroups(ndr
, NDR_BUFFERS
, &r
->info3
));
4367 NDR_CHECK(ndr_push_samr_DispInfoAscii(ndr
, NDR_BUFFERS
, &r
->info4
));
4371 NDR_CHECK(ndr_push_samr_DispInfoAscii(ndr
, NDR_BUFFERS
, &r
->info5
));
4375 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
4378 return NDR_ERR_SUCCESS
;
4381 static enum ndr_err_code
ndr_pull_samr_DispInfo(struct ndr_pull
*ndr
, int ndr_flags
, union samr_DispInfo
*r
)
4385 level
= ndr_pull_get_switch_value(ndr
, r
);
4386 if (ndr_flags
& NDR_SCALARS
) {
4387 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &_level
));
4388 if (_level
!= level
) {
4389 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r", _level
);
4393 NDR_CHECK(ndr_pull_samr_DispInfoGeneral(ndr
, NDR_SCALARS
, &r
->info1
));
4397 NDR_CHECK(ndr_pull_samr_DispInfoFull(ndr
, NDR_SCALARS
, &r
->info2
));
4401 NDR_CHECK(ndr_pull_samr_DispInfoFullGroups(ndr
, NDR_SCALARS
, &r
->info3
));
4405 NDR_CHECK(ndr_pull_samr_DispInfoAscii(ndr
, NDR_SCALARS
, &r
->info4
));
4409 NDR_CHECK(ndr_pull_samr_DispInfoAscii(ndr
, NDR_SCALARS
, &r
->info5
));
4413 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
4416 if (ndr_flags
& NDR_BUFFERS
) {
4419 NDR_CHECK(ndr_pull_samr_DispInfoGeneral(ndr
, NDR_BUFFERS
, &r
->info1
));
4423 NDR_CHECK(ndr_pull_samr_DispInfoFull(ndr
, NDR_BUFFERS
, &r
->info2
));
4427 NDR_CHECK(ndr_pull_samr_DispInfoFullGroups(ndr
, NDR_BUFFERS
, &r
->info3
));
4431 NDR_CHECK(ndr_pull_samr_DispInfoAscii(ndr
, NDR_BUFFERS
, &r
->info4
));
4435 NDR_CHECK(ndr_pull_samr_DispInfoAscii(ndr
, NDR_BUFFERS
, &r
->info5
));
4439 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
4442 return NDR_ERR_SUCCESS
;
4445 _PUBLIC_
void ndr_print_samr_DispInfo(struct ndr_print
*ndr
, const char *name
, const union samr_DispInfo
*r
)
4448 level
= ndr_print_get_switch_value(ndr
, r
);
4449 ndr_print_union(ndr
, name
, level
, "samr_DispInfo");
4452 ndr_print_samr_DispInfoGeneral(ndr
, "info1", &r
->info1
);
4456 ndr_print_samr_DispInfoFull(ndr
, "info2", &r
->info2
);
4460 ndr_print_samr_DispInfoFullGroups(ndr
, "info3", &r
->info3
);
4464 ndr_print_samr_DispInfoAscii(ndr
, "info4", &r
->info4
);
4468 ndr_print_samr_DispInfoAscii(ndr
, "info5", &r
->info5
);
4472 ndr_print_bad_level(ndr
, name
, level
);
4476 static enum ndr_err_code
ndr_push_samr_PwInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_PwInfo
*r
)
4478 if (ndr_flags
& NDR_SCALARS
) {
4479 NDR_CHECK(ndr_push_align(ndr
, 4));
4480 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->min_password_length
));
4481 NDR_CHECK(ndr_push_samr_PasswordProperties(ndr
, NDR_SCALARS
, r
->password_properties
));
4483 if (ndr_flags
& NDR_BUFFERS
) {
4485 return NDR_ERR_SUCCESS
;
4488 static enum ndr_err_code
ndr_pull_samr_PwInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_PwInfo
*r
)
4490 if (ndr_flags
& NDR_SCALARS
) {
4491 NDR_CHECK(ndr_pull_align(ndr
, 4));
4492 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->min_password_length
));
4493 NDR_CHECK(ndr_pull_samr_PasswordProperties(ndr
, NDR_SCALARS
, &r
->password_properties
));
4495 if (ndr_flags
& NDR_BUFFERS
) {
4497 return NDR_ERR_SUCCESS
;
4500 _PUBLIC_
void ndr_print_samr_PwInfo(struct ndr_print
*ndr
, const char *name
, const struct samr_PwInfo
*r
)
4502 ndr_print_struct(ndr
, name
, "samr_PwInfo");
4504 ndr_print_uint16(ndr
, "min_password_length", r
->min_password_length
);
4505 ndr_print_samr_PasswordProperties(ndr
, "password_properties", r
->password_properties
);
4509 static enum ndr_err_code
ndr_push_samr_ConnectVersion(struct ndr_push
*ndr
, int ndr_flags
, enum samr_ConnectVersion r
)
4511 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
4512 return NDR_ERR_SUCCESS
;
4515 static enum ndr_err_code
ndr_pull_samr_ConnectVersion(struct ndr_pull
*ndr
, int ndr_flags
, enum samr_ConnectVersion
*r
)
4518 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
4520 return NDR_ERR_SUCCESS
;
4523 _PUBLIC_
void ndr_print_samr_ConnectVersion(struct ndr_print
*ndr
, const char *name
, enum samr_ConnectVersion r
)
4525 const char *val
= NULL
;
4528 case SAMR_CONNECT_PRE_W2K
: val
= "SAMR_CONNECT_PRE_W2K"; break;
4529 case SAMR_CONNECT_W2K
: val
= "SAMR_CONNECT_W2K"; break;
4530 case SAMR_CONNECT_AFTER_W2K
: val
= "SAMR_CONNECT_AFTER_W2K"; break;
4532 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
4535 static enum ndr_err_code
ndr_push_samr_ChangeReject(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_ChangeReject
*r
)
4537 if (ndr_flags
& NDR_SCALARS
) {
4538 NDR_CHECK(ndr_push_align(ndr
, 4));
4539 NDR_CHECK(ndr_push_samr_RejectReason(ndr
, NDR_SCALARS
, r
->reason
));
4540 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown1
));
4541 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown2
));
4543 if (ndr_flags
& NDR_BUFFERS
) {
4545 return NDR_ERR_SUCCESS
;
4548 static enum ndr_err_code
ndr_pull_samr_ChangeReject(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_ChangeReject
*r
)
4550 if (ndr_flags
& NDR_SCALARS
) {
4551 NDR_CHECK(ndr_pull_align(ndr
, 4));
4552 NDR_CHECK(ndr_pull_samr_RejectReason(ndr
, NDR_SCALARS
, &r
->reason
));
4553 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown1
));
4554 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown2
));
4556 if (ndr_flags
& NDR_BUFFERS
) {
4558 return NDR_ERR_SUCCESS
;
4561 _PUBLIC_
void ndr_print_samr_ChangeReject(struct ndr_print
*ndr
, const char *name
, const struct samr_ChangeReject
*r
)
4563 ndr_print_struct(ndr
, name
, "samr_ChangeReject");
4565 ndr_print_samr_RejectReason(ndr
, "reason", r
->reason
);
4566 ndr_print_uint32(ndr
, "unknown1", r
->unknown1
);
4567 ndr_print_uint32(ndr
, "unknown2", r
->unknown2
);
4571 static enum ndr_err_code
ndr_push_samr_ConnectInfo1(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_ConnectInfo1
*r
)
4573 if (ndr_flags
& NDR_SCALARS
) {
4574 NDR_CHECK(ndr_push_align(ndr
, 4));
4575 NDR_CHECK(ndr_push_samr_ConnectVersion(ndr
, NDR_SCALARS
, r
->client_version
));
4576 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown2
));
4578 if (ndr_flags
& NDR_BUFFERS
) {
4580 return NDR_ERR_SUCCESS
;
4583 static enum ndr_err_code
ndr_pull_samr_ConnectInfo1(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_ConnectInfo1
*r
)
4585 if (ndr_flags
& NDR_SCALARS
) {
4586 NDR_CHECK(ndr_pull_align(ndr
, 4));
4587 NDR_CHECK(ndr_pull_samr_ConnectVersion(ndr
, NDR_SCALARS
, &r
->client_version
));
4588 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown2
));
4590 if (ndr_flags
& NDR_BUFFERS
) {
4592 return NDR_ERR_SUCCESS
;
4595 _PUBLIC_
void ndr_print_samr_ConnectInfo1(struct ndr_print
*ndr
, const char *name
, const struct samr_ConnectInfo1
*r
)
4597 ndr_print_struct(ndr
, name
, "samr_ConnectInfo1");
4599 ndr_print_samr_ConnectVersion(ndr
, "client_version", r
->client_version
);
4600 ndr_print_uint32(ndr
, "unknown2", r
->unknown2
);
4604 static enum ndr_err_code
ndr_push_samr_ConnectInfo(struct ndr_push
*ndr
, int ndr_flags
, const union samr_ConnectInfo
*r
)
4606 if (ndr_flags
& NDR_SCALARS
) {
4607 int level
= ndr_push_get_switch_value(ndr
, r
);
4608 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
4611 NDR_CHECK(ndr_push_samr_ConnectInfo1(ndr
, NDR_SCALARS
, &r
->info1
));
4615 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
4618 if (ndr_flags
& NDR_BUFFERS
) {
4619 int level
= ndr_push_get_switch_value(ndr
, r
);
4625 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
4628 return NDR_ERR_SUCCESS
;
4631 static enum ndr_err_code
ndr_pull_samr_ConnectInfo(struct ndr_pull
*ndr
, int ndr_flags
, union samr_ConnectInfo
*r
)
4635 level
= ndr_pull_get_switch_value(ndr
, r
);
4636 if (ndr_flags
& NDR_SCALARS
) {
4637 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
4638 if (_level
!= level
) {
4639 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r", _level
);
4643 NDR_CHECK(ndr_pull_samr_ConnectInfo1(ndr
, NDR_SCALARS
, &r
->info1
));
4647 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
4650 if (ndr_flags
& NDR_BUFFERS
) {
4656 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
4659 return NDR_ERR_SUCCESS
;
4662 _PUBLIC_
void ndr_print_samr_ConnectInfo(struct ndr_print
*ndr
, const char *name
, const union samr_ConnectInfo
*r
)
4665 level
= ndr_print_get_switch_value(ndr
, r
);
4666 ndr_print_union(ndr
, name
, level
, "samr_ConnectInfo");
4669 ndr_print_samr_ConnectInfo1(ndr
, "info1", &r
->info1
);
4673 ndr_print_bad_level(ndr
, name
, level
);
4677 static enum ndr_err_code
ndr_push_samr_ValidateFieldsPresent(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
4679 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
4680 return NDR_ERR_SUCCESS
;
4683 static enum ndr_err_code
ndr_pull_samr_ValidateFieldsPresent(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
4686 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
4688 return NDR_ERR_SUCCESS
;
4691 _PUBLIC_
void ndr_print_samr_ValidateFieldsPresent(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
4693 ndr_print_uint32(ndr
, name
, r
);
4695 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_PASSWORD_LAST_SET", SAMR_VALIDATE_FIELD_PASSWORD_LAST_SET
, r
);
4696 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_BAD_PASSWORD_TIME", SAMR_VALIDATE_FIELD_BAD_PASSWORD_TIME
, r
);
4697 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_LOCKOUT_TIME", SAMR_VALIDATE_FIELD_LOCKOUT_TIME
, r
);
4698 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_BAD_PASSWORD_COUNT", SAMR_VALIDATE_FIELD_BAD_PASSWORD_COUNT
, r
);
4699 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_PASSWORD_HISTORY_LENGTH", SAMR_VALIDATE_FIELD_PASSWORD_HISTORY_LENGTH
, r
);
4700 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_PASSWORD_HISTORY", SAMR_VALIDATE_FIELD_PASSWORD_HISTORY
, r
);
4704 static enum ndr_err_code
ndr_push_samr_ValidatePasswordLevel(struct ndr_push
*ndr
, int ndr_flags
, enum samr_ValidatePasswordLevel r
)
4706 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
));
4707 return NDR_ERR_SUCCESS
;
4710 static enum ndr_err_code
ndr_pull_samr_ValidatePasswordLevel(struct ndr_pull
*ndr
, int ndr_flags
, enum samr_ValidatePasswordLevel
*r
)
4713 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &v
));
4715 return NDR_ERR_SUCCESS
;
4718 _PUBLIC_
void ndr_print_samr_ValidatePasswordLevel(struct ndr_print
*ndr
, const char *name
, enum samr_ValidatePasswordLevel r
)
4720 const char *val
= NULL
;
4723 case NetValidateAuthentication
: val
= "NetValidateAuthentication"; break;
4724 case NetValidatePasswordChange
: val
= "NetValidatePasswordChange"; break;
4725 case NetValidatePasswordReset
: val
= "NetValidatePasswordReset"; break;
4727 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
4730 static enum ndr_err_code
ndr_push_samr_ValidationStatus(struct ndr_push
*ndr
, int ndr_flags
, enum samr_ValidationStatus r
)
4732 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
));
4733 return NDR_ERR_SUCCESS
;
4736 static enum ndr_err_code
ndr_pull_samr_ValidationStatus(struct ndr_pull
*ndr
, int ndr_flags
, enum samr_ValidationStatus
*r
)
4739 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &v
));
4741 return NDR_ERR_SUCCESS
;
4744 _PUBLIC_
void ndr_print_samr_ValidationStatus(struct ndr_print
*ndr
, const char *name
, enum samr_ValidationStatus r
)
4746 const char *val
= NULL
;
4749 case SAMR_VALIDATION_STATUS_SUCCESS
: val
= "SAMR_VALIDATION_STATUS_SUCCESS"; break;
4750 case SAMR_VALIDATION_STATUS_PASSWORD_MUST_CHANGE
: val
= "SAMR_VALIDATION_STATUS_PASSWORD_MUST_CHANGE"; break;
4751 case SAMR_VALIDATION_STATUS_ACCOUNT_LOCKED_OUT
: val
= "SAMR_VALIDATION_STATUS_ACCOUNT_LOCKED_OUT"; break;
4752 case SAMR_VALIDATION_STATUS_BAD_PASSWORD
: val
= "SAMR_VALIDATION_STATUS_BAD_PASSWORD"; break;
4753 case SAMR_VALIDATION_STATUS_PWD_HISTORY_CONFLICT
: val
= "SAMR_VALIDATION_STATUS_PWD_HISTORY_CONFLICT"; break;
4754 case SAMR_VALIDATION_STATUS_PWD_TOO_SHORT
: val
= "SAMR_VALIDATION_STATUS_PWD_TOO_SHORT"; break;
4755 case SAMR_VALIDATION_STATUS_PWD_TOO_LONG
: val
= "SAMR_VALIDATION_STATUS_PWD_TOO_LONG"; break;
4756 case SAMR_VALIDATION_STATUS_NOT_COMPLEX_ENOUGH
: val
= "SAMR_VALIDATION_STATUS_NOT_COMPLEX_ENOUGH"; break;
4757 case SAMR_VALIDATION_STATUS_PASSWORD_TOO_RECENT
: val
= "SAMR_VALIDATION_STATUS_PASSWORD_TOO_RECENT"; break;
4759 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
4762 static enum ndr_err_code
ndr_push_samr_ValidationBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_ValidationBlob
*r
)
4764 if (ndr_flags
& NDR_SCALARS
) {
4765 NDR_CHECK(ndr_push_align(ndr
, 4));
4766 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->length
));
4767 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->data
));
4769 if (ndr_flags
& NDR_BUFFERS
) {
4771 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->length
));
4772 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->data
, r
->length
));
4775 return NDR_ERR_SUCCESS
;
4778 static enum ndr_err_code
ndr_pull_samr_ValidationBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_ValidationBlob
*r
)
4781 TALLOC_CTX
*_mem_save_data_0
;
4782 if (ndr_flags
& NDR_SCALARS
) {
4783 NDR_CHECK(ndr_pull_align(ndr
, 4));
4784 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->length
));
4785 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_data
));
4787 NDR_PULL_ALLOC(ndr
, r
->data
);
4792 if (ndr_flags
& NDR_BUFFERS
) {
4794 _mem_save_data_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4795 NDR_PULL_SET_MEM_CTX(ndr
, r
->data
, 0);
4796 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->data
));
4797 NDR_PULL_ALLOC_N(ndr
, r
->data
, ndr_get_array_size(ndr
, &r
->data
));
4798 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->data
, ndr_get_array_size(ndr
, &r
->data
)));
4799 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_data_0
, 0);
4802 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->data
, r
->length
));
4805 return NDR_ERR_SUCCESS
;
4808 _PUBLIC_
void ndr_print_samr_ValidationBlob(struct ndr_print
*ndr
, const char *name
, const struct samr_ValidationBlob
*r
)
4810 ndr_print_struct(ndr
, name
, "samr_ValidationBlob");
4812 ndr_print_uint32(ndr
, "length", r
->length
);
4813 ndr_print_ptr(ndr
, "data", r
->data
);
4816 ndr_print_array_uint8(ndr
, "data", r
->data
, r
->length
);
4822 static enum ndr_err_code
ndr_push_samr_ValidatePasswordInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_ValidatePasswordInfo
*r
)
4824 uint32_t cntr_pwd_history_1
;
4825 if (ndr_flags
& NDR_SCALARS
) {
4826 NDR_CHECK(ndr_push_align(ndr
, 8));
4827 NDR_CHECK(ndr_push_samr_ValidateFieldsPresent(ndr
, NDR_SCALARS
, r
->fields_present
));
4828 NDR_CHECK(ndr_push_NTTIME_hyper(ndr
, NDR_SCALARS
, r
->last_password_change
));
4829 NDR_CHECK(ndr_push_NTTIME_hyper(ndr
, NDR_SCALARS
, r
->bad_password_time
));
4830 NDR_CHECK(ndr_push_NTTIME_hyper(ndr
, NDR_SCALARS
, r
->lockout_time
));
4831 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->bad_pwd_count
));
4832 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->pwd_history_len
));
4833 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->pwd_history
));
4835 if (ndr_flags
& NDR_BUFFERS
) {
4836 if (r
->pwd_history
) {
4837 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->pwd_history_len
));
4838 for (cntr_pwd_history_1
= 0; cntr_pwd_history_1
< r
->pwd_history_len
; cntr_pwd_history_1
++) {
4839 NDR_CHECK(ndr_push_samr_ValidationBlob(ndr
, NDR_SCALARS
, &r
->pwd_history
[cntr_pwd_history_1
]));
4841 for (cntr_pwd_history_1
= 0; cntr_pwd_history_1
< r
->pwd_history_len
; cntr_pwd_history_1
++) {
4842 NDR_CHECK(ndr_push_samr_ValidationBlob(ndr
, NDR_BUFFERS
, &r
->pwd_history
[cntr_pwd_history_1
]));
4846 return NDR_ERR_SUCCESS
;
4849 static enum ndr_err_code
ndr_pull_samr_ValidatePasswordInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_ValidatePasswordInfo
*r
)
4851 uint32_t _ptr_pwd_history
;
4852 uint32_t cntr_pwd_history_1
;
4853 TALLOC_CTX
*_mem_save_pwd_history_0
;
4854 TALLOC_CTX
*_mem_save_pwd_history_1
;
4855 if (ndr_flags
& NDR_SCALARS
) {
4856 NDR_CHECK(ndr_pull_align(ndr
, 8));
4857 NDR_CHECK(ndr_pull_samr_ValidateFieldsPresent(ndr
, NDR_SCALARS
, &r
->fields_present
));
4858 NDR_CHECK(ndr_pull_NTTIME_hyper(ndr
, NDR_SCALARS
, &r
->last_password_change
));
4859 NDR_CHECK(ndr_pull_NTTIME_hyper(ndr
, NDR_SCALARS
, &r
->bad_password_time
));
4860 NDR_CHECK(ndr_pull_NTTIME_hyper(ndr
, NDR_SCALARS
, &r
->lockout_time
));
4861 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->bad_pwd_count
));
4862 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->pwd_history_len
));
4863 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_pwd_history
));
4864 if (_ptr_pwd_history
) {
4865 NDR_PULL_ALLOC(ndr
, r
->pwd_history
);
4867 r
->pwd_history
= NULL
;
4870 if (ndr_flags
& NDR_BUFFERS
) {
4871 if (r
->pwd_history
) {
4872 _mem_save_pwd_history_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4873 NDR_PULL_SET_MEM_CTX(ndr
, r
->pwd_history
, 0);
4874 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->pwd_history
));
4875 NDR_PULL_ALLOC_N(ndr
, r
->pwd_history
, ndr_get_array_size(ndr
, &r
->pwd_history
));
4876 _mem_save_pwd_history_1
= NDR_PULL_GET_MEM_CTX(ndr
);
4877 NDR_PULL_SET_MEM_CTX(ndr
, r
->pwd_history
, 0);
4878 for (cntr_pwd_history_1
= 0; cntr_pwd_history_1
< r
->pwd_history_len
; cntr_pwd_history_1
++) {
4879 NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr
, NDR_SCALARS
, &r
->pwd_history
[cntr_pwd_history_1
]));
4881 for (cntr_pwd_history_1
= 0; cntr_pwd_history_1
< r
->pwd_history_len
; cntr_pwd_history_1
++) {
4882 NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr
, NDR_BUFFERS
, &r
->pwd_history
[cntr_pwd_history_1
]));
4884 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_pwd_history_1
, 0);
4885 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_pwd_history_0
, 0);
4887 if (r
->pwd_history
) {
4888 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->pwd_history
, r
->pwd_history_len
));
4891 return NDR_ERR_SUCCESS
;
4894 _PUBLIC_
void ndr_print_samr_ValidatePasswordInfo(struct ndr_print
*ndr
, const char *name
, const struct samr_ValidatePasswordInfo
*r
)
4896 uint32_t cntr_pwd_history_1
;
4897 ndr_print_struct(ndr
, name
, "samr_ValidatePasswordInfo");
4899 ndr_print_samr_ValidateFieldsPresent(ndr
, "fields_present", r
->fields_present
);
4900 ndr_print_NTTIME_hyper(ndr
, "last_password_change", r
->last_password_change
);
4901 ndr_print_NTTIME_hyper(ndr
, "bad_password_time", r
->bad_password_time
);
4902 ndr_print_NTTIME_hyper(ndr
, "lockout_time", r
->lockout_time
);
4903 ndr_print_uint32(ndr
, "bad_pwd_count", r
->bad_pwd_count
);
4904 ndr_print_uint32(ndr
, "pwd_history_len", r
->pwd_history_len
);
4905 ndr_print_ptr(ndr
, "pwd_history", r
->pwd_history
);
4907 if (r
->pwd_history
) {
4908 ndr
->print(ndr
, "%s: ARRAY(%d)", "pwd_history", (int)r
->pwd_history_len
);
4910 for (cntr_pwd_history_1
=0;cntr_pwd_history_1
<r
->pwd_history_len
;cntr_pwd_history_1
++) {
4912 if (asprintf(&idx_1
, "[%d]", cntr_pwd_history_1
) != -1) {
4913 ndr_print_samr_ValidationBlob(ndr
, "pwd_history", &r
->pwd_history
[cntr_pwd_history_1
]);
4923 static enum ndr_err_code
ndr_push_samr_ValidatePasswordRepCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_ValidatePasswordRepCtr
*r
)
4925 if (ndr_flags
& NDR_SCALARS
) {
4926 NDR_CHECK(ndr_push_align(ndr
, 8));
4927 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr
, NDR_SCALARS
, &r
->info
));
4928 NDR_CHECK(ndr_push_samr_ValidationStatus(ndr
, NDR_SCALARS
, r
->status
));
4930 if (ndr_flags
& NDR_BUFFERS
) {
4931 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr
, NDR_BUFFERS
, &r
->info
));
4933 return NDR_ERR_SUCCESS
;
4936 static enum ndr_err_code
ndr_pull_samr_ValidatePasswordRepCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_ValidatePasswordRepCtr
*r
)
4938 if (ndr_flags
& NDR_SCALARS
) {
4939 NDR_CHECK(ndr_pull_align(ndr
, 8));
4940 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr
, NDR_SCALARS
, &r
->info
));
4941 NDR_CHECK(ndr_pull_samr_ValidationStatus(ndr
, NDR_SCALARS
, &r
->status
));
4943 if (ndr_flags
& NDR_BUFFERS
) {
4944 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr
, NDR_BUFFERS
, &r
->info
));
4946 return NDR_ERR_SUCCESS
;
4949 _PUBLIC_
void ndr_print_samr_ValidatePasswordRepCtr(struct ndr_print
*ndr
, const char *name
, const struct samr_ValidatePasswordRepCtr
*r
)
4951 ndr_print_struct(ndr
, name
, "samr_ValidatePasswordRepCtr");
4953 ndr_print_samr_ValidatePasswordInfo(ndr
, "info", &r
->info
);
4954 ndr_print_samr_ValidationStatus(ndr
, "status", r
->status
);
4958 static enum ndr_err_code
ndr_push_samr_ValidatePasswordRep(struct ndr_push
*ndr
, int ndr_flags
, const union samr_ValidatePasswordRep
*r
)
4960 if (ndr_flags
& NDR_SCALARS
) {
4961 int level
= ndr_push_get_switch_value(ndr
, r
);
4962 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, level
));
4965 NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr
, NDR_SCALARS
, &r
->ctr1
));
4969 NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr
, NDR_SCALARS
, &r
->ctr2
));
4973 NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr
, NDR_SCALARS
, &r
->ctr3
));
4977 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
4980 if (ndr_flags
& NDR_BUFFERS
) {
4981 int level
= ndr_push_get_switch_value(ndr
, r
);
4984 NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr
, NDR_BUFFERS
, &r
->ctr1
));
4988 NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr
, NDR_BUFFERS
, &r
->ctr2
));
4992 NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr
, NDR_BUFFERS
, &r
->ctr3
));
4996 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
4999 return NDR_ERR_SUCCESS
;
5002 static enum ndr_err_code
ndr_pull_samr_ValidatePasswordRep(struct ndr_pull
*ndr
, int ndr_flags
, union samr_ValidatePasswordRep
*r
)
5006 level
= ndr_pull_get_switch_value(ndr
, r
);
5007 if (ndr_flags
& NDR_SCALARS
) {
5008 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &_level
));
5009 if (_level
!= level
) {
5010 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r", _level
);
5014 NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr
, NDR_SCALARS
, &r
->ctr1
));
5018 NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr
, NDR_SCALARS
, &r
->ctr2
));
5022 NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr
, NDR_SCALARS
, &r
->ctr3
));
5026 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
5029 if (ndr_flags
& NDR_BUFFERS
) {
5032 NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr
, NDR_BUFFERS
, &r
->ctr1
));
5036 NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr
, NDR_BUFFERS
, &r
->ctr2
));
5040 NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr
, NDR_BUFFERS
, &r
->ctr3
));
5044 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
5047 return NDR_ERR_SUCCESS
;
5050 _PUBLIC_
void ndr_print_samr_ValidatePasswordRep(struct ndr_print
*ndr
, const char *name
, const union samr_ValidatePasswordRep
*r
)
5053 level
= ndr_print_get_switch_value(ndr
, r
);
5054 ndr_print_union(ndr
, name
, level
, "samr_ValidatePasswordRep");
5057 ndr_print_samr_ValidatePasswordRepCtr(ndr
, "ctr1", &r
->ctr1
);
5061 ndr_print_samr_ValidatePasswordRepCtr(ndr
, "ctr2", &r
->ctr2
);
5065 ndr_print_samr_ValidatePasswordRepCtr(ndr
, "ctr3", &r
->ctr3
);
5069 ndr_print_bad_level(ndr
, name
, level
);
5073 static enum ndr_err_code
ndr_push_samr_ValidatePasswordReq3(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_ValidatePasswordReq3
*r
)
5075 if (ndr_flags
& NDR_SCALARS
) {
5076 NDR_CHECK(ndr_push_align(ndr
, 8));
5077 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr
, NDR_SCALARS
, &r
->info
));
5078 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->password
));
5079 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->account
));
5080 NDR_CHECK(ndr_push_samr_ValidationBlob(ndr
, NDR_SCALARS
, &r
->hash
));
5081 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->pwd_must_change_at_next_logon
));
5082 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->clear_lockout
));
5084 if (ndr_flags
& NDR_BUFFERS
) {
5085 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr
, NDR_BUFFERS
, &r
->info
));
5086 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->password
));
5087 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->account
));
5088 NDR_CHECK(ndr_push_samr_ValidationBlob(ndr
, NDR_BUFFERS
, &r
->hash
));
5090 return NDR_ERR_SUCCESS
;
5093 static enum ndr_err_code
ndr_pull_samr_ValidatePasswordReq3(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_ValidatePasswordReq3
*r
)
5095 if (ndr_flags
& NDR_SCALARS
) {
5096 NDR_CHECK(ndr_pull_align(ndr
, 8));
5097 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr
, NDR_SCALARS
, &r
->info
));
5098 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->password
));
5099 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->account
));
5100 NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr
, NDR_SCALARS
, &r
->hash
));
5101 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->pwd_must_change_at_next_logon
));
5102 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->clear_lockout
));
5104 if (ndr_flags
& NDR_BUFFERS
) {
5105 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr
, NDR_BUFFERS
, &r
->info
));
5106 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->password
));
5107 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->account
));
5108 NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr
, NDR_BUFFERS
, &r
->hash
));
5110 return NDR_ERR_SUCCESS
;
5113 _PUBLIC_
void ndr_print_samr_ValidatePasswordReq3(struct ndr_print
*ndr
, const char *name
, const struct samr_ValidatePasswordReq3
*r
)
5115 ndr_print_struct(ndr
, name
, "samr_ValidatePasswordReq3");
5117 ndr_print_samr_ValidatePasswordInfo(ndr
, "info", &r
->info
);
5118 ndr_print_lsa_StringLarge(ndr
, "password", &r
->password
);
5119 ndr_print_lsa_StringLarge(ndr
, "account", &r
->account
);
5120 ndr_print_samr_ValidationBlob(ndr
, "hash", &r
->hash
);
5121 ndr_print_uint8(ndr
, "pwd_must_change_at_next_logon", r
->pwd_must_change_at_next_logon
);
5122 ndr_print_uint8(ndr
, "clear_lockout", r
->clear_lockout
);
5126 static enum ndr_err_code
ndr_push_samr_ValidatePasswordReq2(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_ValidatePasswordReq2
*r
)
5128 if (ndr_flags
& NDR_SCALARS
) {
5129 NDR_CHECK(ndr_push_align(ndr
, 8));
5130 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr
, NDR_SCALARS
, &r
->info
));
5131 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->password
));
5132 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->account
));
5133 NDR_CHECK(ndr_push_samr_ValidationBlob(ndr
, NDR_SCALARS
, &r
->hash
));
5134 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->password_matched
));
5136 if (ndr_flags
& NDR_BUFFERS
) {
5137 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr
, NDR_BUFFERS
, &r
->info
));
5138 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->password
));
5139 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->account
));
5140 NDR_CHECK(ndr_push_samr_ValidationBlob(ndr
, NDR_BUFFERS
, &r
->hash
));
5142 return NDR_ERR_SUCCESS
;
5145 static enum ndr_err_code
ndr_pull_samr_ValidatePasswordReq2(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_ValidatePasswordReq2
*r
)
5147 if (ndr_flags
& NDR_SCALARS
) {
5148 NDR_CHECK(ndr_pull_align(ndr
, 8));
5149 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr
, NDR_SCALARS
, &r
->info
));
5150 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->password
));
5151 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->account
));
5152 NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr
, NDR_SCALARS
, &r
->hash
));
5153 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->password_matched
));
5155 if (ndr_flags
& NDR_BUFFERS
) {
5156 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr
, NDR_BUFFERS
, &r
->info
));
5157 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->password
));
5158 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->account
));
5159 NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr
, NDR_BUFFERS
, &r
->hash
));
5161 return NDR_ERR_SUCCESS
;
5164 _PUBLIC_
void ndr_print_samr_ValidatePasswordReq2(struct ndr_print
*ndr
, const char *name
, const struct samr_ValidatePasswordReq2
*r
)
5166 ndr_print_struct(ndr
, name
, "samr_ValidatePasswordReq2");
5168 ndr_print_samr_ValidatePasswordInfo(ndr
, "info", &r
->info
);
5169 ndr_print_lsa_StringLarge(ndr
, "password", &r
->password
);
5170 ndr_print_lsa_StringLarge(ndr
, "account", &r
->account
);
5171 ndr_print_samr_ValidationBlob(ndr
, "hash", &r
->hash
);
5172 ndr_print_uint8(ndr
, "password_matched", r
->password_matched
);
5176 static enum ndr_err_code
ndr_push_samr_ValidatePasswordReq1(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_ValidatePasswordReq1
*r
)
5178 if (ndr_flags
& NDR_SCALARS
) {
5179 NDR_CHECK(ndr_push_align(ndr
, 8));
5180 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr
, NDR_SCALARS
, &r
->info
));
5181 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->password_matched
));
5183 if (ndr_flags
& NDR_BUFFERS
) {
5184 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr
, NDR_BUFFERS
, &r
->info
));
5186 return NDR_ERR_SUCCESS
;
5189 static enum ndr_err_code
ndr_pull_samr_ValidatePasswordReq1(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_ValidatePasswordReq1
*r
)
5191 if (ndr_flags
& NDR_SCALARS
) {
5192 NDR_CHECK(ndr_pull_align(ndr
, 8));
5193 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr
, NDR_SCALARS
, &r
->info
));
5194 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->password_matched
));
5196 if (ndr_flags
& NDR_BUFFERS
) {
5197 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr
, NDR_BUFFERS
, &r
->info
));
5199 return NDR_ERR_SUCCESS
;
5202 _PUBLIC_
void ndr_print_samr_ValidatePasswordReq1(struct ndr_print
*ndr
, const char *name
, const struct samr_ValidatePasswordReq1
*r
)
5204 ndr_print_struct(ndr
, name
, "samr_ValidatePasswordReq1");
5206 ndr_print_samr_ValidatePasswordInfo(ndr
, "info", &r
->info
);
5207 ndr_print_uint8(ndr
, "password_matched", r
->password_matched
);
5211 static enum ndr_err_code
ndr_push_samr_ValidatePasswordReq(struct ndr_push
*ndr
, int ndr_flags
, const union samr_ValidatePasswordReq
*r
)
5213 if (ndr_flags
& NDR_SCALARS
) {
5214 int level
= ndr_push_get_switch_value(ndr
, r
);
5215 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, level
));
5218 NDR_CHECK(ndr_push_samr_ValidatePasswordReq1(ndr
, NDR_SCALARS
, &r
->req1
));
5222 NDR_CHECK(ndr_push_samr_ValidatePasswordReq2(ndr
, NDR_SCALARS
, &r
->req2
));
5226 NDR_CHECK(ndr_push_samr_ValidatePasswordReq3(ndr
, NDR_SCALARS
, &r
->req3
));
5230 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
5233 if (ndr_flags
& NDR_BUFFERS
) {
5234 int level
= ndr_push_get_switch_value(ndr
, r
);
5237 NDR_CHECK(ndr_push_samr_ValidatePasswordReq1(ndr
, NDR_BUFFERS
, &r
->req1
));
5241 NDR_CHECK(ndr_push_samr_ValidatePasswordReq2(ndr
, NDR_BUFFERS
, &r
->req2
));
5245 NDR_CHECK(ndr_push_samr_ValidatePasswordReq3(ndr
, NDR_BUFFERS
, &r
->req3
));
5249 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
5252 return NDR_ERR_SUCCESS
;
5255 static enum ndr_err_code
ndr_pull_samr_ValidatePasswordReq(struct ndr_pull
*ndr
, int ndr_flags
, union samr_ValidatePasswordReq
*r
)
5259 level
= ndr_pull_get_switch_value(ndr
, r
);
5260 if (ndr_flags
& NDR_SCALARS
) {
5261 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &_level
));
5262 if (_level
!= level
) {
5263 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r", _level
);
5267 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq1(ndr
, NDR_SCALARS
, &r
->req1
));
5271 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq2(ndr
, NDR_SCALARS
, &r
->req2
));
5275 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq3(ndr
, NDR_SCALARS
, &r
->req3
));
5279 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
5282 if (ndr_flags
& NDR_BUFFERS
) {
5285 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq1(ndr
, NDR_BUFFERS
, &r
->req1
));
5289 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq2(ndr
, NDR_BUFFERS
, &r
->req2
));
5293 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq3(ndr
, NDR_BUFFERS
, &r
->req3
));
5297 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
5300 return NDR_ERR_SUCCESS
;
5303 _PUBLIC_
void ndr_print_samr_ValidatePasswordReq(struct ndr_print
*ndr
, const char *name
, const union samr_ValidatePasswordReq
*r
)
5306 level
= ndr_print_get_switch_value(ndr
, r
);
5307 ndr_print_union(ndr
, name
, level
, "samr_ValidatePasswordReq");
5310 ndr_print_samr_ValidatePasswordReq1(ndr
, "req1", &r
->req1
);
5314 ndr_print_samr_ValidatePasswordReq2(ndr
, "req2", &r
->req2
);
5318 ndr_print_samr_ValidatePasswordReq3(ndr
, "req3", &r
->req3
);
5322 ndr_print_bad_level(ndr
, name
, level
);
5326 static enum ndr_err_code
ndr_push_samr_Connect(struct ndr_push
*ndr
, int flags
, const struct samr_Connect
*r
)
5328 if (flags
& NDR_IN
) {
5329 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.system_name
));
5330 if (r
->in
.system_name
) {
5331 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, *r
->in
.system_name
));
5333 NDR_CHECK(ndr_push_samr_ConnectAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
5335 if (flags
& NDR_OUT
) {
5336 if (r
->out
.connect_handle
== NULL
) {
5337 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5339 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.connect_handle
));
5340 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
5342 return NDR_ERR_SUCCESS
;
5345 static enum ndr_err_code
ndr_pull_samr_Connect(struct ndr_pull
*ndr
, int flags
, struct samr_Connect
*r
)
5347 uint32_t _ptr_system_name
;
5348 TALLOC_CTX
*_mem_save_system_name_0
;
5349 TALLOC_CTX
*_mem_save_connect_handle_0
;
5350 if (flags
& NDR_IN
) {
5351 ZERO_STRUCT(r
->out
);
5353 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_system_name
));
5354 if (_ptr_system_name
) {
5355 NDR_PULL_ALLOC(ndr
, r
->in
.system_name
);
5357 r
->in
.system_name
= NULL
;
5359 if (r
->in
.system_name
) {
5360 _mem_save_system_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5361 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.system_name
, 0);
5362 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, r
->in
.system_name
));
5363 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_system_name_0
, 0);
5365 NDR_CHECK(ndr_pull_samr_ConnectAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
5366 NDR_PULL_ALLOC(ndr
, r
->out
.connect_handle
);
5367 ZERO_STRUCTP(r
->out
.connect_handle
);
5369 if (flags
& NDR_OUT
) {
5370 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5371 NDR_PULL_ALLOC(ndr
, r
->out
.connect_handle
);
5373 _mem_save_connect_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5374 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.connect_handle
, LIBNDR_FLAG_REF_ALLOC
);
5375 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.connect_handle
));
5376 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_connect_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5377 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
5379 return NDR_ERR_SUCCESS
;
5382 _PUBLIC_
void ndr_print_samr_Connect(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_Connect
*r
)
5384 ndr_print_struct(ndr
, name
, "samr_Connect");
5386 if (flags
& NDR_SET_VALUES
) {
5387 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
5389 if (flags
& NDR_IN
) {
5390 ndr_print_struct(ndr
, "in", "samr_Connect");
5392 ndr_print_ptr(ndr
, "system_name", r
->in
.system_name
);
5394 if (r
->in
.system_name
) {
5395 ndr_print_uint16(ndr
, "system_name", *r
->in
.system_name
);
5398 ndr_print_samr_ConnectAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
5401 if (flags
& NDR_OUT
) {
5402 ndr_print_struct(ndr
, "out", "samr_Connect");
5404 ndr_print_ptr(ndr
, "connect_handle", r
->out
.connect_handle
);
5406 ndr_print_policy_handle(ndr
, "connect_handle", r
->out
.connect_handle
);
5408 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
5414 _PUBLIC_
enum ndr_err_code
ndr_push_samr_Close(struct ndr_push
*ndr
, int flags
, const struct samr_Close
*r
)
5416 if (flags
& NDR_IN
) {
5417 if (r
->in
.handle
== NULL
) {
5418 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5420 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
5422 if (flags
& NDR_OUT
) {
5423 if (r
->out
.handle
== NULL
) {
5424 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5426 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.handle
));
5427 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
5429 return NDR_ERR_SUCCESS
;
5432 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_Close(struct ndr_pull
*ndr
, int flags
, struct samr_Close
*r
)
5434 TALLOC_CTX
*_mem_save_handle_0
;
5435 if (flags
& NDR_IN
) {
5436 ZERO_STRUCT(r
->out
);
5438 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5439 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
5441 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5442 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
5443 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
5444 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5445 NDR_PULL_ALLOC(ndr
, r
->out
.handle
);
5446 *r
->out
.handle
= *r
->in
.handle
;
5448 if (flags
& NDR_OUT
) {
5449 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5450 NDR_PULL_ALLOC(ndr
, r
->out
.handle
);
5452 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5453 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.handle
, LIBNDR_FLAG_REF_ALLOC
);
5454 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.handle
));
5455 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5456 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
5458 return NDR_ERR_SUCCESS
;
5461 _PUBLIC_
void ndr_print_samr_Close(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_Close
*r
)
5463 ndr_print_struct(ndr
, name
, "samr_Close");
5465 if (flags
& NDR_SET_VALUES
) {
5466 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
5468 if (flags
& NDR_IN
) {
5469 ndr_print_struct(ndr
, "in", "samr_Close");
5471 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
5473 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
5477 if (flags
& NDR_OUT
) {
5478 ndr_print_struct(ndr
, "out", "samr_Close");
5480 ndr_print_ptr(ndr
, "handle", r
->out
.handle
);
5482 ndr_print_policy_handle(ndr
, "handle", r
->out
.handle
);
5484 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
5490 static enum ndr_err_code
ndr_push_samr_SetSecurity(struct ndr_push
*ndr
, int flags
, const struct samr_SetSecurity
*r
)
5492 if (flags
& NDR_IN
) {
5493 if (r
->in
.handle
== NULL
) {
5494 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5496 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
5497 NDR_CHECK(ndr_push_security_secinfo(ndr
, NDR_SCALARS
, r
->in
.sec_info
));
5498 if (r
->in
.sdbuf
== NULL
) {
5499 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5501 NDR_CHECK(ndr_push_sec_desc_buf(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sdbuf
));
5503 if (flags
& NDR_OUT
) {
5504 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
5506 return NDR_ERR_SUCCESS
;
5509 static enum ndr_err_code
ndr_pull_samr_SetSecurity(struct ndr_pull
*ndr
, int flags
, struct samr_SetSecurity
*r
)
5511 TALLOC_CTX
*_mem_save_handle_0
;
5512 TALLOC_CTX
*_mem_save_sdbuf_0
;
5513 if (flags
& NDR_IN
) {
5514 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5515 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
5517 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5518 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
5519 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
5520 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5521 NDR_CHECK(ndr_pull_security_secinfo(ndr
, NDR_SCALARS
, &r
->in
.sec_info
));
5522 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5523 NDR_PULL_ALLOC(ndr
, r
->in
.sdbuf
);
5525 _mem_save_sdbuf_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5526 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sdbuf
, LIBNDR_FLAG_REF_ALLOC
);
5527 NDR_CHECK(ndr_pull_sec_desc_buf(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sdbuf
));
5528 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sdbuf_0
, LIBNDR_FLAG_REF_ALLOC
);
5530 if (flags
& NDR_OUT
) {
5531 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
5533 return NDR_ERR_SUCCESS
;
5536 _PUBLIC_
void ndr_print_samr_SetSecurity(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_SetSecurity
*r
)
5538 ndr_print_struct(ndr
, name
, "samr_SetSecurity");
5540 if (flags
& NDR_SET_VALUES
) {
5541 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
5543 if (flags
& NDR_IN
) {
5544 ndr_print_struct(ndr
, "in", "samr_SetSecurity");
5546 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
5548 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
5550 ndr_print_security_secinfo(ndr
, "sec_info", r
->in
.sec_info
);
5551 ndr_print_ptr(ndr
, "sdbuf", r
->in
.sdbuf
);
5553 ndr_print_sec_desc_buf(ndr
, "sdbuf", r
->in
.sdbuf
);
5557 if (flags
& NDR_OUT
) {
5558 ndr_print_struct(ndr
, "out", "samr_SetSecurity");
5560 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
5566 static enum ndr_err_code
ndr_push_samr_QuerySecurity(struct ndr_push
*ndr
, int flags
, const struct samr_QuerySecurity
*r
)
5568 if (flags
& NDR_IN
) {
5569 if (r
->in
.handle
== NULL
) {
5570 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5572 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
5573 NDR_CHECK(ndr_push_security_secinfo(ndr
, NDR_SCALARS
, r
->in
.sec_info
));
5575 if (flags
& NDR_OUT
) {
5576 if (r
->out
.sdbuf
== NULL
) {
5577 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5579 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.sdbuf
));
5580 if (*r
->out
.sdbuf
) {
5581 NDR_CHECK(ndr_push_sec_desc_buf(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sdbuf
));
5583 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
5585 return NDR_ERR_SUCCESS
;
5588 static enum ndr_err_code
ndr_pull_samr_QuerySecurity(struct ndr_pull
*ndr
, int flags
, struct samr_QuerySecurity
*r
)
5590 uint32_t _ptr_sdbuf
;
5591 TALLOC_CTX
*_mem_save_handle_0
;
5592 TALLOC_CTX
*_mem_save_sdbuf_0
;
5593 TALLOC_CTX
*_mem_save_sdbuf_1
;
5594 if (flags
& NDR_IN
) {
5595 ZERO_STRUCT(r
->out
);
5597 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5598 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
5600 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5601 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
5602 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
5603 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5604 NDR_CHECK(ndr_pull_security_secinfo(ndr
, NDR_SCALARS
, &r
->in
.sec_info
));
5605 NDR_PULL_ALLOC(ndr
, r
->out
.sdbuf
);
5606 ZERO_STRUCTP(r
->out
.sdbuf
);
5608 if (flags
& NDR_OUT
) {
5609 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5610 NDR_PULL_ALLOC(ndr
, r
->out
.sdbuf
);
5612 _mem_save_sdbuf_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5613 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sdbuf
, LIBNDR_FLAG_REF_ALLOC
);
5614 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sdbuf
));
5616 NDR_PULL_ALLOC(ndr
, *r
->out
.sdbuf
);
5618 *r
->out
.sdbuf
= NULL
;
5620 if (*r
->out
.sdbuf
) {
5621 _mem_save_sdbuf_1
= NDR_PULL_GET_MEM_CTX(ndr
);
5622 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.sdbuf
, 0);
5623 NDR_CHECK(ndr_pull_sec_desc_buf(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sdbuf
));
5624 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sdbuf_1
, 0);
5626 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sdbuf_0
, LIBNDR_FLAG_REF_ALLOC
);
5627 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
5629 return NDR_ERR_SUCCESS
;
5632 _PUBLIC_
void ndr_print_samr_QuerySecurity(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_QuerySecurity
*r
)
5634 ndr_print_struct(ndr
, name
, "samr_QuerySecurity");
5636 if (flags
& NDR_SET_VALUES
) {
5637 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
5639 if (flags
& NDR_IN
) {
5640 ndr_print_struct(ndr
, "in", "samr_QuerySecurity");
5642 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
5644 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
5646 ndr_print_security_secinfo(ndr
, "sec_info", r
->in
.sec_info
);
5649 if (flags
& NDR_OUT
) {
5650 ndr_print_struct(ndr
, "out", "samr_QuerySecurity");
5652 ndr_print_ptr(ndr
, "sdbuf", r
->out
.sdbuf
);
5654 ndr_print_ptr(ndr
, "sdbuf", *r
->out
.sdbuf
);
5656 if (*r
->out
.sdbuf
) {
5657 ndr_print_sec_desc_buf(ndr
, "sdbuf", *r
->out
.sdbuf
);
5661 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
5667 static enum ndr_err_code
ndr_push_samr_Shutdown(struct ndr_push
*ndr
, int flags
, const struct samr_Shutdown
*r
)
5669 if (flags
& NDR_IN
) {
5670 if (r
->in
.connect_handle
== NULL
) {
5671 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5673 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.connect_handle
));
5675 if (flags
& NDR_OUT
) {
5676 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
5678 return NDR_ERR_SUCCESS
;
5681 static enum ndr_err_code
ndr_pull_samr_Shutdown(struct ndr_pull
*ndr
, int flags
, struct samr_Shutdown
*r
)
5683 TALLOC_CTX
*_mem_save_connect_handle_0
;
5684 if (flags
& NDR_IN
) {
5685 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5686 NDR_PULL_ALLOC(ndr
, r
->in
.connect_handle
);
5688 _mem_save_connect_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5689 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.connect_handle
, LIBNDR_FLAG_REF_ALLOC
);
5690 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.connect_handle
));
5691 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_connect_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5693 if (flags
& NDR_OUT
) {
5694 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
5696 return NDR_ERR_SUCCESS
;
5699 _PUBLIC_
void ndr_print_samr_Shutdown(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_Shutdown
*r
)
5701 ndr_print_struct(ndr
, name
, "samr_Shutdown");
5703 if (flags
& NDR_SET_VALUES
) {
5704 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
5706 if (flags
& NDR_IN
) {
5707 ndr_print_struct(ndr
, "in", "samr_Shutdown");
5709 ndr_print_ptr(ndr
, "connect_handle", r
->in
.connect_handle
);
5711 ndr_print_policy_handle(ndr
, "connect_handle", r
->in
.connect_handle
);
5715 if (flags
& NDR_OUT
) {
5716 ndr_print_struct(ndr
, "out", "samr_Shutdown");
5718 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
5724 static enum ndr_err_code
ndr_push_samr_LookupDomain(struct ndr_push
*ndr
, int flags
, const struct samr_LookupDomain
*r
)
5726 if (flags
& NDR_IN
) {
5727 if (r
->in
.connect_handle
== NULL
) {
5728 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5730 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.connect_handle
));
5731 if (r
->in
.domain_name
== NULL
) {
5732 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5734 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.domain_name
));
5736 if (flags
& NDR_OUT
) {
5737 if (r
->out
.sid
== NULL
) {
5738 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5740 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.sid
));
5742 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sid
));
5744 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
5746 return NDR_ERR_SUCCESS
;
5749 static enum ndr_err_code
ndr_pull_samr_LookupDomain(struct ndr_pull
*ndr
, int flags
, struct samr_LookupDomain
*r
)
5752 TALLOC_CTX
*_mem_save_connect_handle_0
;
5753 TALLOC_CTX
*_mem_save_domain_name_0
;
5754 TALLOC_CTX
*_mem_save_sid_0
;
5755 TALLOC_CTX
*_mem_save_sid_1
;
5756 if (flags
& NDR_IN
) {
5757 ZERO_STRUCT(r
->out
);
5759 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5760 NDR_PULL_ALLOC(ndr
, r
->in
.connect_handle
);
5762 _mem_save_connect_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5763 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.connect_handle
, LIBNDR_FLAG_REF_ALLOC
);
5764 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.connect_handle
));
5765 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_connect_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5766 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5767 NDR_PULL_ALLOC(ndr
, r
->in
.domain_name
);
5769 _mem_save_domain_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5770 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_name
, LIBNDR_FLAG_REF_ALLOC
);
5771 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.domain_name
));
5772 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_name_0
, LIBNDR_FLAG_REF_ALLOC
);
5773 NDR_PULL_ALLOC(ndr
, r
->out
.sid
);
5774 ZERO_STRUCTP(r
->out
.sid
);
5776 if (flags
& NDR_OUT
) {
5777 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5778 NDR_PULL_ALLOC(ndr
, r
->out
.sid
);
5780 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5781 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sid
, LIBNDR_FLAG_REF_ALLOC
);
5782 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sid
));
5784 NDR_PULL_ALLOC(ndr
, *r
->out
.sid
);
5789 _mem_save_sid_1
= NDR_PULL_GET_MEM_CTX(ndr
);
5790 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.sid
, 0);
5791 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sid
));
5792 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_1
, 0);
5794 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, LIBNDR_FLAG_REF_ALLOC
);
5795 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
5797 return NDR_ERR_SUCCESS
;
5800 _PUBLIC_
void ndr_print_samr_LookupDomain(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_LookupDomain
*r
)
5802 ndr_print_struct(ndr
, name
, "samr_LookupDomain");
5804 if (flags
& NDR_SET_VALUES
) {
5805 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
5807 if (flags
& NDR_IN
) {
5808 ndr_print_struct(ndr
, "in", "samr_LookupDomain");
5810 ndr_print_ptr(ndr
, "connect_handle", r
->in
.connect_handle
);
5812 ndr_print_policy_handle(ndr
, "connect_handle", r
->in
.connect_handle
);
5814 ndr_print_ptr(ndr
, "domain_name", r
->in
.domain_name
);
5816 ndr_print_lsa_String(ndr
, "domain_name", r
->in
.domain_name
);
5820 if (flags
& NDR_OUT
) {
5821 ndr_print_struct(ndr
, "out", "samr_LookupDomain");
5823 ndr_print_ptr(ndr
, "sid", r
->out
.sid
);
5825 ndr_print_ptr(ndr
, "sid", *r
->out
.sid
);
5828 ndr_print_dom_sid2(ndr
, "sid", *r
->out
.sid
);
5832 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
5838 static enum ndr_err_code
ndr_push_samr_EnumDomains(struct ndr_push
*ndr
, int flags
, const struct samr_EnumDomains
*r
)
5840 if (flags
& NDR_IN
) {
5841 if (r
->in
.connect_handle
== NULL
) {
5842 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5844 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.connect_handle
));
5845 if (r
->in
.resume_handle
== NULL
) {
5846 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5848 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->in
.resume_handle
));
5849 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.buf_size
));
5851 if (flags
& NDR_OUT
) {
5852 if (r
->out
.resume_handle
== NULL
) {
5853 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5855 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.resume_handle
));
5856 if (r
->out
.sam
== NULL
) {
5857 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5859 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.sam
));
5861 NDR_CHECK(ndr_push_samr_SamArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sam
));
5863 if (r
->out
.num_entries
== NULL
) {
5864 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5866 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.num_entries
));
5867 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
5869 return NDR_ERR_SUCCESS
;
5872 static enum ndr_err_code
ndr_pull_samr_EnumDomains(struct ndr_pull
*ndr
, int flags
, struct samr_EnumDomains
*r
)
5875 TALLOC_CTX
*_mem_save_connect_handle_0
;
5876 TALLOC_CTX
*_mem_save_resume_handle_0
;
5877 TALLOC_CTX
*_mem_save_sam_0
;
5878 TALLOC_CTX
*_mem_save_sam_1
;
5879 TALLOC_CTX
*_mem_save_num_entries_0
;
5880 if (flags
& NDR_IN
) {
5881 ZERO_STRUCT(r
->out
);
5883 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5884 NDR_PULL_ALLOC(ndr
, r
->in
.connect_handle
);
5886 _mem_save_connect_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5887 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.connect_handle
, LIBNDR_FLAG_REF_ALLOC
);
5888 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.connect_handle
));
5889 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_connect_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5890 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5891 NDR_PULL_ALLOC(ndr
, r
->in
.resume_handle
);
5893 _mem_save_resume_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5894 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.resume_handle
, LIBNDR_FLAG_REF_ALLOC
);
5895 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->in
.resume_handle
));
5896 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_resume_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5897 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.buf_size
));
5898 NDR_PULL_ALLOC(ndr
, r
->out
.resume_handle
);
5899 *r
->out
.resume_handle
= *r
->in
.resume_handle
;
5900 NDR_PULL_ALLOC(ndr
, r
->out
.sam
);
5901 ZERO_STRUCTP(r
->out
.sam
);
5902 NDR_PULL_ALLOC(ndr
, r
->out
.num_entries
);
5903 ZERO_STRUCTP(r
->out
.num_entries
);
5905 if (flags
& NDR_OUT
) {
5906 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5907 NDR_PULL_ALLOC(ndr
, r
->out
.resume_handle
);
5909 _mem_save_resume_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5910 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.resume_handle
, LIBNDR_FLAG_REF_ALLOC
);
5911 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.resume_handle
));
5912 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_resume_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5913 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5914 NDR_PULL_ALLOC(ndr
, r
->out
.sam
);
5916 _mem_save_sam_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5917 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sam
, LIBNDR_FLAG_REF_ALLOC
);
5918 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sam
));
5920 NDR_PULL_ALLOC(ndr
, *r
->out
.sam
);
5925 _mem_save_sam_1
= NDR_PULL_GET_MEM_CTX(ndr
);
5926 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.sam
, 0);
5927 NDR_CHECK(ndr_pull_samr_SamArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sam
));
5928 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sam_1
, 0);
5930 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sam_0
, LIBNDR_FLAG_REF_ALLOC
);
5931 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5932 NDR_PULL_ALLOC(ndr
, r
->out
.num_entries
);
5934 _mem_save_num_entries_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5935 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.num_entries
, LIBNDR_FLAG_REF_ALLOC
);
5936 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.num_entries
));
5937 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_num_entries_0
, LIBNDR_FLAG_REF_ALLOC
);
5938 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
5940 return NDR_ERR_SUCCESS
;
5943 _PUBLIC_
void ndr_print_samr_EnumDomains(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_EnumDomains
*r
)
5945 ndr_print_struct(ndr
, name
, "samr_EnumDomains");
5947 if (flags
& NDR_SET_VALUES
) {
5948 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
5950 if (flags
& NDR_IN
) {
5951 ndr_print_struct(ndr
, "in", "samr_EnumDomains");
5953 ndr_print_ptr(ndr
, "connect_handle", r
->in
.connect_handle
);
5955 ndr_print_policy_handle(ndr
, "connect_handle", r
->in
.connect_handle
);
5957 ndr_print_ptr(ndr
, "resume_handle", r
->in
.resume_handle
);
5959 ndr_print_uint32(ndr
, "resume_handle", *r
->in
.resume_handle
);
5961 ndr_print_uint32(ndr
, "buf_size", r
->in
.buf_size
);
5964 if (flags
& NDR_OUT
) {
5965 ndr_print_struct(ndr
, "out", "samr_EnumDomains");
5967 ndr_print_ptr(ndr
, "resume_handle", r
->out
.resume_handle
);
5969 ndr_print_uint32(ndr
, "resume_handle", *r
->out
.resume_handle
);
5971 ndr_print_ptr(ndr
, "sam", r
->out
.sam
);
5973 ndr_print_ptr(ndr
, "sam", *r
->out
.sam
);
5976 ndr_print_samr_SamArray(ndr
, "sam", *r
->out
.sam
);
5980 ndr_print_ptr(ndr
, "num_entries", r
->out
.num_entries
);
5982 ndr_print_uint32(ndr
, "num_entries", *r
->out
.num_entries
);
5984 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
5990 _PUBLIC_
enum ndr_err_code
ndr_push_samr_OpenDomain(struct ndr_push
*ndr
, int flags
, const struct samr_OpenDomain
*r
)
5992 if (flags
& NDR_IN
) {
5993 if (r
->in
.connect_handle
== NULL
) {
5994 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5996 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.connect_handle
));
5997 NDR_CHECK(ndr_push_samr_DomainAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
5998 if (r
->in
.sid
== NULL
) {
5999 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6001 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
6003 if (flags
& NDR_OUT
) {
6004 if (r
->out
.domain_handle
== NULL
) {
6005 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6007 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.domain_handle
));
6008 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6010 return NDR_ERR_SUCCESS
;
6013 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_OpenDomain(struct ndr_pull
*ndr
, int flags
, struct samr_OpenDomain
*r
)
6015 TALLOC_CTX
*_mem_save_connect_handle_0
;
6016 TALLOC_CTX
*_mem_save_sid_0
;
6017 TALLOC_CTX
*_mem_save_domain_handle_0
;
6018 if (flags
& NDR_IN
) {
6019 ZERO_STRUCT(r
->out
);
6021 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6022 NDR_PULL_ALLOC(ndr
, r
->in
.connect_handle
);
6024 _mem_save_connect_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6025 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.connect_handle
, LIBNDR_FLAG_REF_ALLOC
);
6026 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.connect_handle
));
6027 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_connect_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6028 NDR_CHECK(ndr_pull_samr_DomainAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
6029 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6030 NDR_PULL_ALLOC(ndr
, r
->in
.sid
);
6032 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6033 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sid
, LIBNDR_FLAG_REF_ALLOC
);
6034 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
6035 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, LIBNDR_FLAG_REF_ALLOC
);
6036 NDR_PULL_ALLOC(ndr
, r
->out
.domain_handle
);
6037 ZERO_STRUCTP(r
->out
.domain_handle
);
6039 if (flags
& NDR_OUT
) {
6040 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6041 NDR_PULL_ALLOC(ndr
, r
->out
.domain_handle
);
6043 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6044 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
6045 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.domain_handle
));
6046 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6047 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6049 return NDR_ERR_SUCCESS
;
6052 _PUBLIC_
void ndr_print_samr_OpenDomain(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_OpenDomain
*r
)
6054 ndr_print_struct(ndr
, name
, "samr_OpenDomain");
6056 if (flags
& NDR_SET_VALUES
) {
6057 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6059 if (flags
& NDR_IN
) {
6060 ndr_print_struct(ndr
, "in", "samr_OpenDomain");
6062 ndr_print_ptr(ndr
, "connect_handle", r
->in
.connect_handle
);
6064 ndr_print_policy_handle(ndr
, "connect_handle", r
->in
.connect_handle
);
6066 ndr_print_samr_DomainAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
6067 ndr_print_ptr(ndr
, "sid", r
->in
.sid
);
6069 ndr_print_dom_sid2(ndr
, "sid", r
->in
.sid
);
6073 if (flags
& NDR_OUT
) {
6074 ndr_print_struct(ndr
, "out", "samr_OpenDomain");
6076 ndr_print_ptr(ndr
, "domain_handle", r
->out
.domain_handle
);
6078 ndr_print_policy_handle(ndr
, "domain_handle", r
->out
.domain_handle
);
6080 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6086 static enum ndr_err_code
ndr_push_samr_QueryDomainInfo(struct ndr_push
*ndr
, int flags
, const struct samr_QueryDomainInfo
*r
)
6088 if (flags
& NDR_IN
) {
6089 if (r
->in
.domain_handle
== NULL
) {
6090 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6092 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6093 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->in
.level
));
6095 if (flags
& NDR_OUT
) {
6096 if (r
->out
.info
== NULL
) {
6097 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6099 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.info
));
6101 NDR_CHECK(ndr_push_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
6102 NDR_CHECK(ndr_push_samr_DomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
6104 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6106 return NDR_ERR_SUCCESS
;
6109 static enum ndr_err_code
ndr_pull_samr_QueryDomainInfo(struct ndr_pull
*ndr
, int flags
, struct samr_QueryDomainInfo
*r
)
6112 TALLOC_CTX
*_mem_save_domain_handle_0
;
6113 TALLOC_CTX
*_mem_save_info_0
;
6114 TALLOC_CTX
*_mem_save_info_1
;
6115 if (flags
& NDR_IN
) {
6116 ZERO_STRUCT(r
->out
);
6118 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6119 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
6121 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6122 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
6123 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6124 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6125 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->in
.level
));
6126 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
6127 ZERO_STRUCTP(r
->out
.info
);
6129 if (flags
& NDR_OUT
) {
6130 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6131 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
6133 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6134 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
6135 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
6137 NDR_PULL_ALLOC(ndr
, *r
->out
.info
);
6139 *r
->out
.info
= NULL
;
6142 _mem_save_info_1
= NDR_PULL_GET_MEM_CTX(ndr
);
6143 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.info
, 0);
6144 NDR_CHECK(ndr_pull_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
6145 NDR_CHECK(ndr_pull_samr_DomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
6146 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_1
, 0);
6148 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
6149 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6151 return NDR_ERR_SUCCESS
;
6154 _PUBLIC_
void ndr_print_samr_QueryDomainInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_QueryDomainInfo
*r
)
6156 ndr_print_struct(ndr
, name
, "samr_QueryDomainInfo");
6158 if (flags
& NDR_SET_VALUES
) {
6159 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6161 if (flags
& NDR_IN
) {
6162 ndr_print_struct(ndr
, "in", "samr_QueryDomainInfo");
6164 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
6166 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
6168 ndr_print_uint16(ndr
, "level", r
->in
.level
);
6171 if (flags
& NDR_OUT
) {
6172 ndr_print_struct(ndr
, "out", "samr_QueryDomainInfo");
6174 ndr_print_ptr(ndr
, "info", r
->out
.info
);
6176 ndr_print_ptr(ndr
, "info", *r
->out
.info
);
6179 ndr_print_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
);
6180 ndr_print_samr_DomainInfo(ndr
, "info", *r
->out
.info
);
6184 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6190 static enum ndr_err_code
ndr_push_samr_SetDomainInfo(struct ndr_push
*ndr
, int flags
, const struct samr_SetDomainInfo
*r
)
6192 if (flags
& NDR_IN
) {
6193 if (r
->in
.domain_handle
== NULL
) {
6194 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6196 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6197 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->in
.level
));
6198 if (r
->in
.info
== NULL
) {
6199 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6201 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
6202 NDR_CHECK(ndr_push_samr_DomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
6204 if (flags
& NDR_OUT
) {
6205 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6207 return NDR_ERR_SUCCESS
;
6210 static enum ndr_err_code
ndr_pull_samr_SetDomainInfo(struct ndr_pull
*ndr
, int flags
, struct samr_SetDomainInfo
*r
)
6212 TALLOC_CTX
*_mem_save_domain_handle_0
;
6213 TALLOC_CTX
*_mem_save_info_0
;
6214 if (flags
& NDR_IN
) {
6215 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6216 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
6218 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6219 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
6220 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6221 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6222 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->in
.level
));
6223 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6224 NDR_PULL_ALLOC(ndr
, r
->in
.info
);
6226 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6227 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.info
, LIBNDR_FLAG_REF_ALLOC
);
6228 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
6229 NDR_CHECK(ndr_pull_samr_DomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
6230 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
6232 if (flags
& NDR_OUT
) {
6233 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6235 return NDR_ERR_SUCCESS
;
6238 _PUBLIC_
void ndr_print_samr_SetDomainInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_SetDomainInfo
*r
)
6240 ndr_print_struct(ndr
, name
, "samr_SetDomainInfo");
6242 if (flags
& NDR_SET_VALUES
) {
6243 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6245 if (flags
& NDR_IN
) {
6246 ndr_print_struct(ndr
, "in", "samr_SetDomainInfo");
6248 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
6250 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
6252 ndr_print_uint16(ndr
, "level", r
->in
.level
);
6253 ndr_print_ptr(ndr
, "info", r
->in
.info
);
6255 ndr_print_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
);
6256 ndr_print_samr_DomainInfo(ndr
, "info", r
->in
.info
);
6260 if (flags
& NDR_OUT
) {
6261 ndr_print_struct(ndr
, "out", "samr_SetDomainInfo");
6263 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6269 static enum ndr_err_code
ndr_push_samr_CreateDomainGroup(struct ndr_push
*ndr
, int flags
, const struct samr_CreateDomainGroup
*r
)
6271 if (flags
& NDR_IN
) {
6272 if (r
->in
.domain_handle
== NULL
) {
6273 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6275 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6276 if (r
->in
.name
== NULL
) {
6277 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6279 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.name
));
6280 NDR_CHECK(ndr_push_samr_GroupAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
6282 if (flags
& NDR_OUT
) {
6283 if (r
->out
.group_handle
== NULL
) {
6284 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6286 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.group_handle
));
6287 if (r
->out
.rid
== NULL
) {
6288 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6290 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.rid
));
6291 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6293 return NDR_ERR_SUCCESS
;
6296 static enum ndr_err_code
ndr_pull_samr_CreateDomainGroup(struct ndr_pull
*ndr
, int flags
, struct samr_CreateDomainGroup
*r
)
6298 TALLOC_CTX
*_mem_save_domain_handle_0
;
6299 TALLOC_CTX
*_mem_save_name_0
;
6300 TALLOC_CTX
*_mem_save_group_handle_0
;
6301 TALLOC_CTX
*_mem_save_rid_0
;
6302 if (flags
& NDR_IN
) {
6303 ZERO_STRUCT(r
->out
);
6305 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6306 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
6308 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6309 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
6310 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6311 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6312 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6313 NDR_PULL_ALLOC(ndr
, r
->in
.name
);
6315 _mem_save_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6316 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.name
, LIBNDR_FLAG_REF_ALLOC
);
6317 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.name
));
6318 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_name_0
, LIBNDR_FLAG_REF_ALLOC
);
6319 NDR_CHECK(ndr_pull_samr_GroupAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
6320 NDR_PULL_ALLOC(ndr
, r
->out
.group_handle
);
6321 ZERO_STRUCTP(r
->out
.group_handle
);
6322 NDR_PULL_ALLOC(ndr
, r
->out
.rid
);
6323 ZERO_STRUCTP(r
->out
.rid
);
6325 if (flags
& NDR_OUT
) {
6326 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6327 NDR_PULL_ALLOC(ndr
, r
->out
.group_handle
);
6329 _mem_save_group_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6330 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.group_handle
, LIBNDR_FLAG_REF_ALLOC
);
6331 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.group_handle
));
6332 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_group_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6333 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6334 NDR_PULL_ALLOC(ndr
, r
->out
.rid
);
6336 _mem_save_rid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6337 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.rid
, LIBNDR_FLAG_REF_ALLOC
);
6338 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.rid
));
6339 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rid_0
, LIBNDR_FLAG_REF_ALLOC
);
6340 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6342 return NDR_ERR_SUCCESS
;
6345 _PUBLIC_
void ndr_print_samr_CreateDomainGroup(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_CreateDomainGroup
*r
)
6347 ndr_print_struct(ndr
, name
, "samr_CreateDomainGroup");
6349 if (flags
& NDR_SET_VALUES
) {
6350 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6352 if (flags
& NDR_IN
) {
6353 ndr_print_struct(ndr
, "in", "samr_CreateDomainGroup");
6355 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
6357 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
6359 ndr_print_ptr(ndr
, "name", r
->in
.name
);
6361 ndr_print_lsa_String(ndr
, "name", r
->in
.name
);
6363 ndr_print_samr_GroupAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
6366 if (flags
& NDR_OUT
) {
6367 ndr_print_struct(ndr
, "out", "samr_CreateDomainGroup");
6369 ndr_print_ptr(ndr
, "group_handle", r
->out
.group_handle
);
6371 ndr_print_policy_handle(ndr
, "group_handle", r
->out
.group_handle
);
6373 ndr_print_ptr(ndr
, "rid", r
->out
.rid
);
6375 ndr_print_uint32(ndr
, "rid", *r
->out
.rid
);
6377 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6383 static enum ndr_err_code
ndr_push_samr_EnumDomainGroups(struct ndr_push
*ndr
, int flags
, const struct samr_EnumDomainGroups
*r
)
6385 if (flags
& NDR_IN
) {
6386 if (r
->in
.domain_handle
== NULL
) {
6387 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6389 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6390 if (r
->in
.resume_handle
== NULL
) {
6391 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6393 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->in
.resume_handle
));
6394 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.max_size
));
6396 if (flags
& NDR_OUT
) {
6397 if (r
->out
.resume_handle
== NULL
) {
6398 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6400 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.resume_handle
));
6401 if (r
->out
.sam
== NULL
) {
6402 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6404 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.sam
));
6406 NDR_CHECK(ndr_push_samr_SamArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sam
));
6408 if (r
->out
.num_entries
== NULL
) {
6409 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6411 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.num_entries
));
6412 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6414 return NDR_ERR_SUCCESS
;
6417 static enum ndr_err_code
ndr_pull_samr_EnumDomainGroups(struct ndr_pull
*ndr
, int flags
, struct samr_EnumDomainGroups
*r
)
6420 TALLOC_CTX
*_mem_save_domain_handle_0
;
6421 TALLOC_CTX
*_mem_save_resume_handle_0
;
6422 TALLOC_CTX
*_mem_save_sam_0
;
6423 TALLOC_CTX
*_mem_save_sam_1
;
6424 TALLOC_CTX
*_mem_save_num_entries_0
;
6425 if (flags
& NDR_IN
) {
6426 ZERO_STRUCT(r
->out
);
6428 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6429 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
6431 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6432 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
6433 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6434 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6435 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6436 NDR_PULL_ALLOC(ndr
, r
->in
.resume_handle
);
6438 _mem_save_resume_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6439 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.resume_handle
, LIBNDR_FLAG_REF_ALLOC
);
6440 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->in
.resume_handle
));
6441 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_resume_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6442 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.max_size
));
6443 NDR_PULL_ALLOC(ndr
, r
->out
.resume_handle
);
6444 *r
->out
.resume_handle
= *r
->in
.resume_handle
;
6445 NDR_PULL_ALLOC(ndr
, r
->out
.sam
);
6446 ZERO_STRUCTP(r
->out
.sam
);
6447 NDR_PULL_ALLOC(ndr
, r
->out
.num_entries
);
6448 ZERO_STRUCTP(r
->out
.num_entries
);
6450 if (flags
& NDR_OUT
) {
6451 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6452 NDR_PULL_ALLOC(ndr
, r
->out
.resume_handle
);
6454 _mem_save_resume_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6455 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.resume_handle
, LIBNDR_FLAG_REF_ALLOC
);
6456 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.resume_handle
));
6457 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_resume_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6458 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6459 NDR_PULL_ALLOC(ndr
, r
->out
.sam
);
6461 _mem_save_sam_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6462 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sam
, LIBNDR_FLAG_REF_ALLOC
);
6463 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sam
));
6465 NDR_PULL_ALLOC(ndr
, *r
->out
.sam
);
6470 _mem_save_sam_1
= NDR_PULL_GET_MEM_CTX(ndr
);
6471 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.sam
, 0);
6472 NDR_CHECK(ndr_pull_samr_SamArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sam
));
6473 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sam_1
, 0);
6475 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sam_0
, LIBNDR_FLAG_REF_ALLOC
);
6476 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6477 NDR_PULL_ALLOC(ndr
, r
->out
.num_entries
);
6479 _mem_save_num_entries_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6480 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.num_entries
, LIBNDR_FLAG_REF_ALLOC
);
6481 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.num_entries
));
6482 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_num_entries_0
, LIBNDR_FLAG_REF_ALLOC
);
6483 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6485 return NDR_ERR_SUCCESS
;
6488 _PUBLIC_
void ndr_print_samr_EnumDomainGroups(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_EnumDomainGroups
*r
)
6490 ndr_print_struct(ndr
, name
, "samr_EnumDomainGroups");
6492 if (flags
& NDR_SET_VALUES
) {
6493 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6495 if (flags
& NDR_IN
) {
6496 ndr_print_struct(ndr
, "in", "samr_EnumDomainGroups");
6498 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
6500 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
6502 ndr_print_ptr(ndr
, "resume_handle", r
->in
.resume_handle
);
6504 ndr_print_uint32(ndr
, "resume_handle", *r
->in
.resume_handle
);
6506 ndr_print_uint32(ndr
, "max_size", r
->in
.max_size
);
6509 if (flags
& NDR_OUT
) {
6510 ndr_print_struct(ndr
, "out", "samr_EnumDomainGroups");
6512 ndr_print_ptr(ndr
, "resume_handle", r
->out
.resume_handle
);
6514 ndr_print_uint32(ndr
, "resume_handle", *r
->out
.resume_handle
);
6516 ndr_print_ptr(ndr
, "sam", r
->out
.sam
);
6518 ndr_print_ptr(ndr
, "sam", *r
->out
.sam
);
6521 ndr_print_samr_SamArray(ndr
, "sam", *r
->out
.sam
);
6525 ndr_print_ptr(ndr
, "num_entries", r
->out
.num_entries
);
6527 ndr_print_uint32(ndr
, "num_entries", *r
->out
.num_entries
);
6529 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6535 static enum ndr_err_code
ndr_push_samr_CreateUser(struct ndr_push
*ndr
, int flags
, const struct samr_CreateUser
*r
)
6537 if (flags
& NDR_IN
) {
6538 if (r
->in
.domain_handle
== NULL
) {
6539 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6541 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6542 if (r
->in
.account_name
== NULL
) {
6543 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6545 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.account_name
));
6546 NDR_CHECK(ndr_push_samr_UserAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
6548 if (flags
& NDR_OUT
) {
6549 if (r
->out
.user_handle
== NULL
) {
6550 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6552 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.user_handle
));
6553 if (r
->out
.rid
== NULL
) {
6554 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6556 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.rid
));
6557 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6559 return NDR_ERR_SUCCESS
;
6562 static enum ndr_err_code
ndr_pull_samr_CreateUser(struct ndr_pull
*ndr
, int flags
, struct samr_CreateUser
*r
)
6564 TALLOC_CTX
*_mem_save_domain_handle_0
;
6565 TALLOC_CTX
*_mem_save_account_name_0
;
6566 TALLOC_CTX
*_mem_save_user_handle_0
;
6567 TALLOC_CTX
*_mem_save_rid_0
;
6568 if (flags
& NDR_IN
) {
6569 ZERO_STRUCT(r
->out
);
6571 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6572 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
6574 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6575 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
6576 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6577 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6578 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6579 NDR_PULL_ALLOC(ndr
, r
->in
.account_name
);
6581 _mem_save_account_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6582 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.account_name
, LIBNDR_FLAG_REF_ALLOC
);
6583 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.account_name
));
6584 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_account_name_0
, LIBNDR_FLAG_REF_ALLOC
);
6585 NDR_CHECK(ndr_pull_samr_UserAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
6586 NDR_PULL_ALLOC(ndr
, r
->out
.user_handle
);
6587 ZERO_STRUCTP(r
->out
.user_handle
);
6588 NDR_PULL_ALLOC(ndr
, r
->out
.rid
);
6589 ZERO_STRUCTP(r
->out
.rid
);
6591 if (flags
& NDR_OUT
) {
6592 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6593 NDR_PULL_ALLOC(ndr
, r
->out
.user_handle
);
6595 _mem_save_user_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6596 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.user_handle
, LIBNDR_FLAG_REF_ALLOC
);
6597 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.user_handle
));
6598 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_user_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6599 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6600 NDR_PULL_ALLOC(ndr
, r
->out
.rid
);
6602 _mem_save_rid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6603 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.rid
, LIBNDR_FLAG_REF_ALLOC
);
6604 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.rid
));
6605 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rid_0
, LIBNDR_FLAG_REF_ALLOC
);
6606 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6608 return NDR_ERR_SUCCESS
;
6611 _PUBLIC_
void ndr_print_samr_CreateUser(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_CreateUser
*r
)
6613 ndr_print_struct(ndr
, name
, "samr_CreateUser");
6615 if (flags
& NDR_SET_VALUES
) {
6616 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6618 if (flags
& NDR_IN
) {
6619 ndr_print_struct(ndr
, "in", "samr_CreateUser");
6621 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
6623 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
6625 ndr_print_ptr(ndr
, "account_name", r
->in
.account_name
);
6627 ndr_print_lsa_String(ndr
, "account_name", r
->in
.account_name
);
6629 ndr_print_samr_UserAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
6632 if (flags
& NDR_OUT
) {
6633 ndr_print_struct(ndr
, "out", "samr_CreateUser");
6635 ndr_print_ptr(ndr
, "user_handle", r
->out
.user_handle
);
6637 ndr_print_policy_handle(ndr
, "user_handle", r
->out
.user_handle
);
6639 ndr_print_ptr(ndr
, "rid", r
->out
.rid
);
6641 ndr_print_uint32(ndr
, "rid", *r
->out
.rid
);
6643 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6649 static enum ndr_err_code
ndr_push_samr_EnumDomainUsers(struct ndr_push
*ndr
, int flags
, const struct samr_EnumDomainUsers
*r
)
6651 if (flags
& NDR_IN
) {
6652 if (r
->in
.domain_handle
== NULL
) {
6653 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6655 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6656 if (r
->in
.resume_handle
== NULL
) {
6657 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6659 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->in
.resume_handle
));
6660 NDR_CHECK(ndr_push_samr_AcctFlags(ndr
, NDR_SCALARS
, r
->in
.acct_flags
));
6661 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.max_size
));
6663 if (flags
& NDR_OUT
) {
6664 if (r
->out
.resume_handle
== NULL
) {
6665 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6667 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.resume_handle
));
6668 if (r
->out
.sam
== NULL
) {
6669 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6671 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.sam
));
6673 NDR_CHECK(ndr_push_samr_SamArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sam
));
6675 if (r
->out
.num_entries
== NULL
) {
6676 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6678 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.num_entries
));
6679 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6681 return NDR_ERR_SUCCESS
;
6684 static enum ndr_err_code
ndr_pull_samr_EnumDomainUsers(struct ndr_pull
*ndr
, int flags
, struct samr_EnumDomainUsers
*r
)
6687 TALLOC_CTX
*_mem_save_domain_handle_0
;
6688 TALLOC_CTX
*_mem_save_resume_handle_0
;
6689 TALLOC_CTX
*_mem_save_sam_0
;
6690 TALLOC_CTX
*_mem_save_sam_1
;
6691 TALLOC_CTX
*_mem_save_num_entries_0
;
6692 if (flags
& NDR_IN
) {
6693 ZERO_STRUCT(r
->out
);
6695 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6696 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
6698 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6699 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
6700 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6701 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6702 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6703 NDR_PULL_ALLOC(ndr
, r
->in
.resume_handle
);
6705 _mem_save_resume_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6706 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.resume_handle
, LIBNDR_FLAG_REF_ALLOC
);
6707 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->in
.resume_handle
));
6708 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_resume_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6709 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr
, NDR_SCALARS
, &r
->in
.acct_flags
));
6710 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.max_size
));
6711 NDR_PULL_ALLOC(ndr
, r
->out
.resume_handle
);
6712 *r
->out
.resume_handle
= *r
->in
.resume_handle
;
6713 NDR_PULL_ALLOC(ndr
, r
->out
.sam
);
6714 ZERO_STRUCTP(r
->out
.sam
);
6715 NDR_PULL_ALLOC(ndr
, r
->out
.num_entries
);
6716 ZERO_STRUCTP(r
->out
.num_entries
);
6718 if (flags
& NDR_OUT
) {
6719 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6720 NDR_PULL_ALLOC(ndr
, r
->out
.resume_handle
);
6722 _mem_save_resume_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6723 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.resume_handle
, LIBNDR_FLAG_REF_ALLOC
);
6724 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.resume_handle
));
6725 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_resume_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6726 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6727 NDR_PULL_ALLOC(ndr
, r
->out
.sam
);
6729 _mem_save_sam_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6730 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sam
, LIBNDR_FLAG_REF_ALLOC
);
6731 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sam
));
6733 NDR_PULL_ALLOC(ndr
, *r
->out
.sam
);
6738 _mem_save_sam_1
= NDR_PULL_GET_MEM_CTX(ndr
);
6739 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.sam
, 0);
6740 NDR_CHECK(ndr_pull_samr_SamArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sam
));
6741 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sam_1
, 0);
6743 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sam_0
, LIBNDR_FLAG_REF_ALLOC
);
6744 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6745 NDR_PULL_ALLOC(ndr
, r
->out
.num_entries
);
6747 _mem_save_num_entries_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6748 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.num_entries
, LIBNDR_FLAG_REF_ALLOC
);
6749 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.num_entries
));
6750 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_num_entries_0
, LIBNDR_FLAG_REF_ALLOC
);
6751 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6753 return NDR_ERR_SUCCESS
;
6756 _PUBLIC_
void ndr_print_samr_EnumDomainUsers(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_EnumDomainUsers
*r
)
6758 ndr_print_struct(ndr
, name
, "samr_EnumDomainUsers");
6760 if (flags
& NDR_SET_VALUES
) {
6761 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6763 if (flags
& NDR_IN
) {
6764 ndr_print_struct(ndr
, "in", "samr_EnumDomainUsers");
6766 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
6768 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
6770 ndr_print_ptr(ndr
, "resume_handle", r
->in
.resume_handle
);
6772 ndr_print_uint32(ndr
, "resume_handle", *r
->in
.resume_handle
);
6774 ndr_print_samr_AcctFlags(ndr
, "acct_flags", r
->in
.acct_flags
);
6775 ndr_print_uint32(ndr
, "max_size", r
->in
.max_size
);
6778 if (flags
& NDR_OUT
) {
6779 ndr_print_struct(ndr
, "out", "samr_EnumDomainUsers");
6781 ndr_print_ptr(ndr
, "resume_handle", r
->out
.resume_handle
);
6783 ndr_print_uint32(ndr
, "resume_handle", *r
->out
.resume_handle
);
6785 ndr_print_ptr(ndr
, "sam", r
->out
.sam
);
6787 ndr_print_ptr(ndr
, "sam", *r
->out
.sam
);
6790 ndr_print_samr_SamArray(ndr
, "sam", *r
->out
.sam
);
6794 ndr_print_ptr(ndr
, "num_entries", r
->out
.num_entries
);
6796 ndr_print_uint32(ndr
, "num_entries", *r
->out
.num_entries
);
6798 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6804 static enum ndr_err_code
ndr_push_samr_CreateDomAlias(struct ndr_push
*ndr
, int flags
, const struct samr_CreateDomAlias
*r
)
6806 if (flags
& NDR_IN
) {
6807 if (r
->in
.domain_handle
== NULL
) {
6808 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6810 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6811 if (r
->in
.alias_name
== NULL
) {
6812 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6814 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.alias_name
));
6815 NDR_CHECK(ndr_push_samr_AliasAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
6817 if (flags
& NDR_OUT
) {
6818 if (r
->out
.alias_handle
== NULL
) {
6819 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6821 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.alias_handle
));
6822 if (r
->out
.rid
== NULL
) {
6823 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6825 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.rid
));
6826 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6828 return NDR_ERR_SUCCESS
;
6831 static enum ndr_err_code
ndr_pull_samr_CreateDomAlias(struct ndr_pull
*ndr
, int flags
, struct samr_CreateDomAlias
*r
)
6833 TALLOC_CTX
*_mem_save_domain_handle_0
;
6834 TALLOC_CTX
*_mem_save_alias_name_0
;
6835 TALLOC_CTX
*_mem_save_alias_handle_0
;
6836 TALLOC_CTX
*_mem_save_rid_0
;
6837 if (flags
& NDR_IN
) {
6838 ZERO_STRUCT(r
->out
);
6840 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6841 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
6843 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6844 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
6845 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6846 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6847 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6848 NDR_PULL_ALLOC(ndr
, r
->in
.alias_name
);
6850 _mem_save_alias_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6851 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.alias_name
, LIBNDR_FLAG_REF_ALLOC
);
6852 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.alias_name
));
6853 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_alias_name_0
, LIBNDR_FLAG_REF_ALLOC
);
6854 NDR_CHECK(ndr_pull_samr_AliasAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
6855 NDR_PULL_ALLOC(ndr
, r
->out
.alias_handle
);
6856 ZERO_STRUCTP(r
->out
.alias_handle
);
6857 NDR_PULL_ALLOC(ndr
, r
->out
.rid
);
6858 ZERO_STRUCTP(r
->out
.rid
);
6860 if (flags
& NDR_OUT
) {
6861 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6862 NDR_PULL_ALLOC(ndr
, r
->out
.alias_handle
);
6864 _mem_save_alias_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6865 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.alias_handle
, LIBNDR_FLAG_REF_ALLOC
);
6866 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.alias_handle
));
6867 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_alias_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6868 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6869 NDR_PULL_ALLOC(ndr
, r
->out
.rid
);
6871 _mem_save_rid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6872 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.rid
, LIBNDR_FLAG_REF_ALLOC
);
6873 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.rid
));
6874 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rid_0
, LIBNDR_FLAG_REF_ALLOC
);
6875 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6877 return NDR_ERR_SUCCESS
;
6880 _PUBLIC_
void ndr_print_samr_CreateDomAlias(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_CreateDomAlias
*r
)
6882 ndr_print_struct(ndr
, name
, "samr_CreateDomAlias");
6884 if (flags
& NDR_SET_VALUES
) {
6885 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6887 if (flags
& NDR_IN
) {
6888 ndr_print_struct(ndr
, "in", "samr_CreateDomAlias");
6890 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
6892 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
6894 ndr_print_ptr(ndr
, "alias_name", r
->in
.alias_name
);
6896 ndr_print_lsa_String(ndr
, "alias_name", r
->in
.alias_name
);
6898 ndr_print_samr_AliasAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
6901 if (flags
& NDR_OUT
) {
6902 ndr_print_struct(ndr
, "out", "samr_CreateDomAlias");
6904 ndr_print_ptr(ndr
, "alias_handle", r
->out
.alias_handle
);
6906 ndr_print_policy_handle(ndr
, "alias_handle", r
->out
.alias_handle
);
6908 ndr_print_ptr(ndr
, "rid", r
->out
.rid
);
6910 ndr_print_uint32(ndr
, "rid", *r
->out
.rid
);
6912 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6918 static enum ndr_err_code
ndr_push_samr_EnumDomainAliases(struct ndr_push
*ndr
, int flags
, const struct samr_EnumDomainAliases
*r
)
6920 if (flags
& NDR_IN
) {
6921 if (r
->in
.domain_handle
== NULL
) {
6922 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6924 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6925 if (r
->in
.resume_handle
== NULL
) {
6926 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6928 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->in
.resume_handle
));
6929 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.max_size
));
6931 if (flags
& NDR_OUT
) {
6932 if (r
->out
.resume_handle
== NULL
) {
6933 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6935 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.resume_handle
));
6936 if (r
->out
.sam
== NULL
) {
6937 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6939 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.sam
));
6941 NDR_CHECK(ndr_push_samr_SamArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sam
));
6943 if (r
->out
.num_entries
== NULL
) {
6944 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6946 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.num_entries
));
6947 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6949 return NDR_ERR_SUCCESS
;
6952 static enum ndr_err_code
ndr_pull_samr_EnumDomainAliases(struct ndr_pull
*ndr
, int flags
, struct samr_EnumDomainAliases
*r
)
6955 TALLOC_CTX
*_mem_save_domain_handle_0
;
6956 TALLOC_CTX
*_mem_save_resume_handle_0
;
6957 TALLOC_CTX
*_mem_save_sam_0
;
6958 TALLOC_CTX
*_mem_save_sam_1
;
6959 TALLOC_CTX
*_mem_save_num_entries_0
;
6960 if (flags
& NDR_IN
) {
6961 ZERO_STRUCT(r
->out
);
6963 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6964 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
6966 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6967 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
6968 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6969 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6970 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6971 NDR_PULL_ALLOC(ndr
, r
->in
.resume_handle
);
6973 _mem_save_resume_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6974 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.resume_handle
, LIBNDR_FLAG_REF_ALLOC
);
6975 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->in
.resume_handle
));
6976 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_resume_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6977 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.max_size
));
6978 NDR_PULL_ALLOC(ndr
, r
->out
.resume_handle
);
6979 *r
->out
.resume_handle
= *r
->in
.resume_handle
;
6980 NDR_PULL_ALLOC(ndr
, r
->out
.sam
);
6981 ZERO_STRUCTP(r
->out
.sam
);
6982 NDR_PULL_ALLOC(ndr
, r
->out
.num_entries
);
6983 ZERO_STRUCTP(r
->out
.num_entries
);
6985 if (flags
& NDR_OUT
) {
6986 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6987 NDR_PULL_ALLOC(ndr
, r
->out
.resume_handle
);
6989 _mem_save_resume_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6990 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.resume_handle
, LIBNDR_FLAG_REF_ALLOC
);
6991 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.resume_handle
));
6992 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_resume_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6993 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6994 NDR_PULL_ALLOC(ndr
, r
->out
.sam
);
6996 _mem_save_sam_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6997 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sam
, LIBNDR_FLAG_REF_ALLOC
);
6998 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sam
));
7000 NDR_PULL_ALLOC(ndr
, *r
->out
.sam
);
7005 _mem_save_sam_1
= NDR_PULL_GET_MEM_CTX(ndr
);
7006 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.sam
, 0);
7007 NDR_CHECK(ndr_pull_samr_SamArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sam
));
7008 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sam_1
, 0);
7010 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sam_0
, LIBNDR_FLAG_REF_ALLOC
);
7011 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7012 NDR_PULL_ALLOC(ndr
, r
->out
.num_entries
);
7014 _mem_save_num_entries_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7015 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.num_entries
, LIBNDR_FLAG_REF_ALLOC
);
7016 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.num_entries
));
7017 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_num_entries_0
, LIBNDR_FLAG_REF_ALLOC
);
7018 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7020 return NDR_ERR_SUCCESS
;
7023 _PUBLIC_
void ndr_print_samr_EnumDomainAliases(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_EnumDomainAliases
*r
)
7025 ndr_print_struct(ndr
, name
, "samr_EnumDomainAliases");
7027 if (flags
& NDR_SET_VALUES
) {
7028 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7030 if (flags
& NDR_IN
) {
7031 ndr_print_struct(ndr
, "in", "samr_EnumDomainAliases");
7033 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
7035 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
7037 ndr_print_ptr(ndr
, "resume_handle", r
->in
.resume_handle
);
7039 ndr_print_uint32(ndr
, "resume_handle", *r
->in
.resume_handle
);
7041 ndr_print_uint32(ndr
, "max_size", r
->in
.max_size
);
7044 if (flags
& NDR_OUT
) {
7045 ndr_print_struct(ndr
, "out", "samr_EnumDomainAliases");
7047 ndr_print_ptr(ndr
, "resume_handle", r
->out
.resume_handle
);
7049 ndr_print_uint32(ndr
, "resume_handle", *r
->out
.resume_handle
);
7051 ndr_print_ptr(ndr
, "sam", r
->out
.sam
);
7053 ndr_print_ptr(ndr
, "sam", *r
->out
.sam
);
7056 ndr_print_samr_SamArray(ndr
, "sam", *r
->out
.sam
);
7060 ndr_print_ptr(ndr
, "num_entries", r
->out
.num_entries
);
7062 ndr_print_uint32(ndr
, "num_entries", *r
->out
.num_entries
);
7064 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7070 static enum ndr_err_code
ndr_push_samr_GetAliasMembership(struct ndr_push
*ndr
, int flags
, const struct samr_GetAliasMembership
*r
)
7072 if (flags
& NDR_IN
) {
7073 if (r
->in
.domain_handle
== NULL
) {
7074 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7076 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
7077 if (r
->in
.sids
== NULL
) {
7078 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7080 NDR_CHECK(ndr_push_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
7082 if (flags
& NDR_OUT
) {
7083 if (r
->out
.rids
== NULL
) {
7084 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7086 NDR_CHECK(ndr_push_samr_Ids(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.rids
));
7087 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7089 return NDR_ERR_SUCCESS
;
7092 static enum ndr_err_code
ndr_pull_samr_GetAliasMembership(struct ndr_pull
*ndr
, int flags
, struct samr_GetAliasMembership
*r
)
7094 TALLOC_CTX
*_mem_save_domain_handle_0
;
7095 TALLOC_CTX
*_mem_save_sids_0
;
7096 TALLOC_CTX
*_mem_save_rids_0
;
7097 if (flags
& NDR_IN
) {
7098 ZERO_STRUCT(r
->out
);
7100 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7101 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
7103 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7104 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
7105 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
7106 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7107 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7108 NDR_PULL_ALLOC(ndr
, r
->in
.sids
);
7110 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7111 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sids
, LIBNDR_FLAG_REF_ALLOC
);
7112 NDR_CHECK(ndr_pull_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
7113 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, LIBNDR_FLAG_REF_ALLOC
);
7114 NDR_PULL_ALLOC(ndr
, r
->out
.rids
);
7115 ZERO_STRUCTP(r
->out
.rids
);
7117 if (flags
& NDR_OUT
) {
7118 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7119 NDR_PULL_ALLOC(ndr
, r
->out
.rids
);
7121 _mem_save_rids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7122 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.rids
, LIBNDR_FLAG_REF_ALLOC
);
7123 NDR_CHECK(ndr_pull_samr_Ids(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.rids
));
7124 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rids_0
, LIBNDR_FLAG_REF_ALLOC
);
7125 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7127 return NDR_ERR_SUCCESS
;
7130 _PUBLIC_
void ndr_print_samr_GetAliasMembership(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_GetAliasMembership
*r
)
7132 ndr_print_struct(ndr
, name
, "samr_GetAliasMembership");
7134 if (flags
& NDR_SET_VALUES
) {
7135 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7137 if (flags
& NDR_IN
) {
7138 ndr_print_struct(ndr
, "in", "samr_GetAliasMembership");
7140 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
7142 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
7144 ndr_print_ptr(ndr
, "sids", r
->in
.sids
);
7146 ndr_print_lsa_SidArray(ndr
, "sids", r
->in
.sids
);
7150 if (flags
& NDR_OUT
) {
7151 ndr_print_struct(ndr
, "out", "samr_GetAliasMembership");
7153 ndr_print_ptr(ndr
, "rids", r
->out
.rids
);
7155 ndr_print_samr_Ids(ndr
, "rids", r
->out
.rids
);
7157 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7163 _PUBLIC_
enum ndr_err_code
ndr_push_samr_LookupNames(struct ndr_push
*ndr
, int flags
, const struct samr_LookupNames
*r
)
7165 uint32_t cntr_names_0
;
7166 if (flags
& NDR_IN
) {
7167 if (r
->in
.domain_handle
== NULL
) {
7168 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7170 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
7171 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.num_names
));
7172 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 1000));
7173 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
7174 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.num_names
));
7175 for (cntr_names_0
= 0; cntr_names_0
< r
->in
.num_names
; cntr_names_0
++) {
7176 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->in
.names
[cntr_names_0
]));
7178 for (cntr_names_0
= 0; cntr_names_0
< r
->in
.num_names
; cntr_names_0
++) {
7179 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->in
.names
[cntr_names_0
]));
7182 if (flags
& NDR_OUT
) {
7183 if (r
->out
.rids
== NULL
) {
7184 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7186 NDR_CHECK(ndr_push_samr_Ids(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.rids
));
7187 if (r
->out
.types
== NULL
) {
7188 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7190 NDR_CHECK(ndr_push_samr_Ids(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.types
));
7191 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7193 return NDR_ERR_SUCCESS
;
7196 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_LookupNames(struct ndr_pull
*ndr
, int flags
, struct samr_LookupNames
*r
)
7198 uint32_t cntr_names_0
;
7199 TALLOC_CTX
*_mem_save_domain_handle_0
;
7200 TALLOC_CTX
*_mem_save_names_0
;
7201 TALLOC_CTX
*_mem_save_rids_0
;
7202 TALLOC_CTX
*_mem_save_types_0
;
7203 if (flags
& NDR_IN
) {
7204 ZERO_STRUCT(r
->out
);
7206 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7207 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
7209 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7210 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
7211 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
7212 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7213 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.num_names
));
7214 if (r
->in
.num_names
> 1000) {
7215 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
7217 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->in
.names
));
7218 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->in
.names
));
7219 if (ndr_get_array_length(ndr
, &r
->in
.names
) > ndr_get_array_size(ndr
, &r
->in
.names
)) {
7220 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
));
7222 NDR_PULL_ALLOC_N(ndr
, r
->in
.names
, ndr_get_array_size(ndr
, &r
->in
.names
));
7223 _mem_save_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7224 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.names
, 0);
7225 for (cntr_names_0
= 0; cntr_names_0
< r
->in
.num_names
; cntr_names_0
++) {
7226 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->in
.names
[cntr_names_0
]));
7228 for (cntr_names_0
= 0; cntr_names_0
< r
->in
.num_names
; cntr_names_0
++) {
7229 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->in
.names
[cntr_names_0
]));
7231 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_0
, 0);
7232 NDR_PULL_ALLOC(ndr
, r
->out
.rids
);
7233 ZERO_STRUCTP(r
->out
.rids
);
7234 NDR_PULL_ALLOC(ndr
, r
->out
.types
);
7235 ZERO_STRUCTP(r
->out
.types
);
7237 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->in
.names
, 1000));
7240 NDR_CHECK(ndr_check_array_length(ndr
, (void*)&r
->in
.names
, r
->in
.num_names
));
7243 if (flags
& NDR_OUT
) {
7244 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7245 NDR_PULL_ALLOC(ndr
, r
->out
.rids
);
7247 _mem_save_rids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7248 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.rids
, LIBNDR_FLAG_REF_ALLOC
);
7249 NDR_CHECK(ndr_pull_samr_Ids(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.rids
));
7250 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rids_0
, LIBNDR_FLAG_REF_ALLOC
);
7251 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7252 NDR_PULL_ALLOC(ndr
, r
->out
.types
);
7254 _mem_save_types_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7255 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.types
, LIBNDR_FLAG_REF_ALLOC
);
7256 NDR_CHECK(ndr_pull_samr_Ids(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.types
));
7257 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_types_0
, LIBNDR_FLAG_REF_ALLOC
);
7258 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7260 return NDR_ERR_SUCCESS
;
7263 _PUBLIC_
void ndr_print_samr_LookupNames(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_LookupNames
*r
)
7265 uint32_t cntr_names_0
;
7266 ndr_print_struct(ndr
, name
, "samr_LookupNames");
7268 if (flags
& NDR_SET_VALUES
) {
7269 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7271 if (flags
& NDR_IN
) {
7272 ndr_print_struct(ndr
, "in", "samr_LookupNames");
7274 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
7276 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
7278 ndr_print_uint32(ndr
, "num_names", r
->in
.num_names
);
7279 ndr
->print(ndr
, "%s: ARRAY(%d)", "names", (int)r
->in
.num_names
);
7281 for (cntr_names_0
=0;cntr_names_0
<r
->in
.num_names
;cntr_names_0
++) {
7283 if (asprintf(&idx_0
, "[%d]", cntr_names_0
) != -1) {
7284 ndr_print_lsa_String(ndr
, "names", &r
->in
.names
[cntr_names_0
]);
7291 if (flags
& NDR_OUT
) {
7292 ndr_print_struct(ndr
, "out", "samr_LookupNames");
7294 ndr_print_ptr(ndr
, "rids", r
->out
.rids
);
7296 ndr_print_samr_Ids(ndr
, "rids", r
->out
.rids
);
7298 ndr_print_ptr(ndr
, "types", r
->out
.types
);
7300 ndr_print_samr_Ids(ndr
, "types", r
->out
.types
);
7302 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7308 static enum ndr_err_code
ndr_push_samr_LookupRids(struct ndr_push
*ndr
, int flags
, const struct samr_LookupRids
*r
)
7310 uint32_t cntr_rids_0
;
7311 if (flags
& NDR_IN
) {
7312 if (r
->in
.domain_handle
== NULL
) {
7313 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7315 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
7316 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.num_rids
));
7317 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 1000));
7318 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
7319 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.num_rids
));
7320 for (cntr_rids_0
= 0; cntr_rids_0
< r
->in
.num_rids
; cntr_rids_0
++) {
7321 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.rids
[cntr_rids_0
]));
7324 if (flags
& NDR_OUT
) {
7325 if (r
->out
.names
== NULL
) {
7326 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7328 NDR_CHECK(ndr_push_lsa_Strings(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.names
));
7329 if (r
->out
.types
== NULL
) {
7330 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7332 NDR_CHECK(ndr_push_samr_Ids(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.types
));
7333 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7335 return NDR_ERR_SUCCESS
;
7338 static enum ndr_err_code
ndr_pull_samr_LookupRids(struct ndr_pull
*ndr
, int flags
, struct samr_LookupRids
*r
)
7340 uint32_t cntr_rids_0
;
7341 TALLOC_CTX
*_mem_save_domain_handle_0
;
7342 TALLOC_CTX
*_mem_save_rids_0
;
7343 TALLOC_CTX
*_mem_save_names_0
;
7344 TALLOC_CTX
*_mem_save_types_0
;
7345 if (flags
& NDR_IN
) {
7346 ZERO_STRUCT(r
->out
);
7348 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7349 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
7351 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7352 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
7353 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
7354 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7355 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.num_rids
));
7356 if (r
->in
.num_rids
> 1000) {
7357 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
7359 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->in
.rids
));
7360 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->in
.rids
));
7361 if (ndr_get_array_length(ndr
, &r
->in
.rids
) > ndr_get_array_size(ndr
, &r
->in
.rids
)) {
7362 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
));
7364 NDR_PULL_ALLOC_N(ndr
, r
->in
.rids
, ndr_get_array_size(ndr
, &r
->in
.rids
));
7365 _mem_save_rids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7366 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.rids
, 0);
7367 for (cntr_rids_0
= 0; cntr_rids_0
< r
->in
.num_rids
; cntr_rids_0
++) {
7368 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.rids
[cntr_rids_0
]));
7370 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rids_0
, 0);
7371 NDR_PULL_ALLOC(ndr
, r
->out
.names
);
7372 ZERO_STRUCTP(r
->out
.names
);
7373 NDR_PULL_ALLOC(ndr
, r
->out
.types
);
7374 ZERO_STRUCTP(r
->out
.types
);
7376 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->in
.rids
, 1000));
7379 NDR_CHECK(ndr_check_array_length(ndr
, (void*)&r
->in
.rids
, r
->in
.num_rids
));
7382 if (flags
& NDR_OUT
) {
7383 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7384 NDR_PULL_ALLOC(ndr
, r
->out
.names
);
7386 _mem_save_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7387 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.names
, LIBNDR_FLAG_REF_ALLOC
);
7388 NDR_CHECK(ndr_pull_lsa_Strings(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.names
));
7389 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_0
, LIBNDR_FLAG_REF_ALLOC
);
7390 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7391 NDR_PULL_ALLOC(ndr
, r
->out
.types
);
7393 _mem_save_types_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7394 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.types
, LIBNDR_FLAG_REF_ALLOC
);
7395 NDR_CHECK(ndr_pull_samr_Ids(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.types
));
7396 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_types_0
, LIBNDR_FLAG_REF_ALLOC
);
7397 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7399 return NDR_ERR_SUCCESS
;
7402 _PUBLIC_
void ndr_print_samr_LookupRids(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_LookupRids
*r
)
7404 uint32_t cntr_rids_0
;
7405 ndr_print_struct(ndr
, name
, "samr_LookupRids");
7407 if (flags
& NDR_SET_VALUES
) {
7408 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7410 if (flags
& NDR_IN
) {
7411 ndr_print_struct(ndr
, "in", "samr_LookupRids");
7413 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
7415 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
7417 ndr_print_uint32(ndr
, "num_rids", r
->in
.num_rids
);
7418 ndr
->print(ndr
, "%s: ARRAY(%d)", "rids", (int)r
->in
.num_rids
);
7420 for (cntr_rids_0
=0;cntr_rids_0
<r
->in
.num_rids
;cntr_rids_0
++) {
7422 if (asprintf(&idx_0
, "[%d]", cntr_rids_0
) != -1) {
7423 ndr_print_uint32(ndr
, "rids", r
->in
.rids
[cntr_rids_0
]);
7430 if (flags
& NDR_OUT
) {
7431 ndr_print_struct(ndr
, "out", "samr_LookupRids");
7433 ndr_print_ptr(ndr
, "names", r
->out
.names
);
7435 ndr_print_lsa_Strings(ndr
, "names", r
->out
.names
);
7437 ndr_print_ptr(ndr
, "types", r
->out
.types
);
7439 ndr_print_samr_Ids(ndr
, "types", r
->out
.types
);
7441 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7447 static enum ndr_err_code
ndr_push_samr_OpenGroup(struct ndr_push
*ndr
, int flags
, const struct samr_OpenGroup
*r
)
7449 if (flags
& NDR_IN
) {
7450 if (r
->in
.domain_handle
== NULL
) {
7451 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7453 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
7454 NDR_CHECK(ndr_push_samr_GroupAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
7455 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.rid
));
7457 if (flags
& NDR_OUT
) {
7458 if (r
->out
.group_handle
== NULL
) {
7459 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7461 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.group_handle
));
7462 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7464 return NDR_ERR_SUCCESS
;
7467 static enum ndr_err_code
ndr_pull_samr_OpenGroup(struct ndr_pull
*ndr
, int flags
, struct samr_OpenGroup
*r
)
7469 TALLOC_CTX
*_mem_save_domain_handle_0
;
7470 TALLOC_CTX
*_mem_save_group_handle_0
;
7471 if (flags
& NDR_IN
) {
7472 ZERO_STRUCT(r
->out
);
7474 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7475 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
7477 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7478 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
7479 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
7480 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7481 NDR_CHECK(ndr_pull_samr_GroupAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
7482 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.rid
));
7483 NDR_PULL_ALLOC(ndr
, r
->out
.group_handle
);
7484 ZERO_STRUCTP(r
->out
.group_handle
);
7486 if (flags
& NDR_OUT
) {
7487 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7488 NDR_PULL_ALLOC(ndr
, r
->out
.group_handle
);
7490 _mem_save_group_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7491 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.group_handle
, LIBNDR_FLAG_REF_ALLOC
);
7492 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.group_handle
));
7493 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_group_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7494 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7496 return NDR_ERR_SUCCESS
;
7499 _PUBLIC_
void ndr_print_samr_OpenGroup(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_OpenGroup
*r
)
7501 ndr_print_struct(ndr
, name
, "samr_OpenGroup");
7503 if (flags
& NDR_SET_VALUES
) {
7504 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7506 if (flags
& NDR_IN
) {
7507 ndr_print_struct(ndr
, "in", "samr_OpenGroup");
7509 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
7511 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
7513 ndr_print_samr_GroupAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
7514 ndr_print_uint32(ndr
, "rid", r
->in
.rid
);
7517 if (flags
& NDR_OUT
) {
7518 ndr_print_struct(ndr
, "out", "samr_OpenGroup");
7520 ndr_print_ptr(ndr
, "group_handle", r
->out
.group_handle
);
7522 ndr_print_policy_handle(ndr
, "group_handle", r
->out
.group_handle
);
7524 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7530 static enum ndr_err_code
ndr_push_samr_QueryGroupInfo(struct ndr_push
*ndr
, int flags
, const struct samr_QueryGroupInfo
*r
)
7532 if (flags
& NDR_IN
) {
7533 if (r
->in
.group_handle
== NULL
) {
7534 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7536 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
7537 NDR_CHECK(ndr_push_samr_GroupInfoEnum(ndr
, NDR_SCALARS
, r
->in
.level
));
7539 if (flags
& NDR_OUT
) {
7540 if (r
->out
.info
== NULL
) {
7541 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7543 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.info
));
7545 NDR_CHECK(ndr_push_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
7546 NDR_CHECK(ndr_push_samr_GroupInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
7548 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7550 return NDR_ERR_SUCCESS
;
7553 static enum ndr_err_code
ndr_pull_samr_QueryGroupInfo(struct ndr_pull
*ndr
, int flags
, struct samr_QueryGroupInfo
*r
)
7556 TALLOC_CTX
*_mem_save_group_handle_0
;
7557 TALLOC_CTX
*_mem_save_info_0
;
7558 TALLOC_CTX
*_mem_save_info_1
;
7559 if (flags
& NDR_IN
) {
7560 ZERO_STRUCT(r
->out
);
7562 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7563 NDR_PULL_ALLOC(ndr
, r
->in
.group_handle
);
7565 _mem_save_group_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7566 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.group_handle
, LIBNDR_FLAG_REF_ALLOC
);
7567 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
7568 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_group_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7569 NDR_CHECK(ndr_pull_samr_GroupInfoEnum(ndr
, NDR_SCALARS
, &r
->in
.level
));
7570 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
7571 ZERO_STRUCTP(r
->out
.info
);
7573 if (flags
& NDR_OUT
) {
7574 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7575 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
7577 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7578 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
7579 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
7581 NDR_PULL_ALLOC(ndr
, *r
->out
.info
);
7583 *r
->out
.info
= NULL
;
7586 _mem_save_info_1
= NDR_PULL_GET_MEM_CTX(ndr
);
7587 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.info
, 0);
7588 NDR_CHECK(ndr_pull_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
7589 NDR_CHECK(ndr_pull_samr_GroupInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
7590 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_1
, 0);
7592 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
7593 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7595 return NDR_ERR_SUCCESS
;
7598 _PUBLIC_
void ndr_print_samr_QueryGroupInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_QueryGroupInfo
*r
)
7600 ndr_print_struct(ndr
, name
, "samr_QueryGroupInfo");
7602 if (flags
& NDR_SET_VALUES
) {
7603 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7605 if (flags
& NDR_IN
) {
7606 ndr_print_struct(ndr
, "in", "samr_QueryGroupInfo");
7608 ndr_print_ptr(ndr
, "group_handle", r
->in
.group_handle
);
7610 ndr_print_policy_handle(ndr
, "group_handle", r
->in
.group_handle
);
7612 ndr_print_samr_GroupInfoEnum(ndr
, "level", r
->in
.level
);
7615 if (flags
& NDR_OUT
) {
7616 ndr_print_struct(ndr
, "out", "samr_QueryGroupInfo");
7618 ndr_print_ptr(ndr
, "info", r
->out
.info
);
7620 ndr_print_ptr(ndr
, "info", *r
->out
.info
);
7623 ndr_print_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
);
7624 ndr_print_samr_GroupInfo(ndr
, "info", *r
->out
.info
);
7628 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7634 static enum ndr_err_code
ndr_push_samr_SetGroupInfo(struct ndr_push
*ndr
, int flags
, const struct samr_SetGroupInfo
*r
)
7636 if (flags
& NDR_IN
) {
7637 if (r
->in
.group_handle
== NULL
) {
7638 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7640 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
7641 NDR_CHECK(ndr_push_samr_GroupInfoEnum(ndr
, NDR_SCALARS
, r
->in
.level
));
7642 if (r
->in
.info
== NULL
) {
7643 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7645 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
7646 NDR_CHECK(ndr_push_samr_GroupInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
7648 if (flags
& NDR_OUT
) {
7649 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7651 return NDR_ERR_SUCCESS
;
7654 static enum ndr_err_code
ndr_pull_samr_SetGroupInfo(struct ndr_pull
*ndr
, int flags
, struct samr_SetGroupInfo
*r
)
7656 TALLOC_CTX
*_mem_save_group_handle_0
;
7657 TALLOC_CTX
*_mem_save_info_0
;
7658 if (flags
& NDR_IN
) {
7659 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7660 NDR_PULL_ALLOC(ndr
, r
->in
.group_handle
);
7662 _mem_save_group_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7663 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.group_handle
, LIBNDR_FLAG_REF_ALLOC
);
7664 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
7665 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_group_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7666 NDR_CHECK(ndr_pull_samr_GroupInfoEnum(ndr
, NDR_SCALARS
, &r
->in
.level
));
7667 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7668 NDR_PULL_ALLOC(ndr
, r
->in
.info
);
7670 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7671 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.info
, LIBNDR_FLAG_REF_ALLOC
);
7672 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
7673 NDR_CHECK(ndr_pull_samr_GroupInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
7674 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
7676 if (flags
& NDR_OUT
) {
7677 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7679 return NDR_ERR_SUCCESS
;
7682 _PUBLIC_
void ndr_print_samr_SetGroupInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_SetGroupInfo
*r
)
7684 ndr_print_struct(ndr
, name
, "samr_SetGroupInfo");
7686 if (flags
& NDR_SET_VALUES
) {
7687 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7689 if (flags
& NDR_IN
) {
7690 ndr_print_struct(ndr
, "in", "samr_SetGroupInfo");
7692 ndr_print_ptr(ndr
, "group_handle", r
->in
.group_handle
);
7694 ndr_print_policy_handle(ndr
, "group_handle", r
->in
.group_handle
);
7696 ndr_print_samr_GroupInfoEnum(ndr
, "level", r
->in
.level
);
7697 ndr_print_ptr(ndr
, "info", r
->in
.info
);
7699 ndr_print_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
);
7700 ndr_print_samr_GroupInfo(ndr
, "info", r
->in
.info
);
7704 if (flags
& NDR_OUT
) {
7705 ndr_print_struct(ndr
, "out", "samr_SetGroupInfo");
7707 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7713 static enum ndr_err_code
ndr_push_samr_AddGroupMember(struct ndr_push
*ndr
, int flags
, const struct samr_AddGroupMember
*r
)
7715 if (flags
& NDR_IN
) {
7716 if (r
->in
.group_handle
== NULL
) {
7717 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7719 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
7720 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.rid
));
7721 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.flags
));
7723 if (flags
& NDR_OUT
) {
7724 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7726 return NDR_ERR_SUCCESS
;
7729 static enum ndr_err_code
ndr_pull_samr_AddGroupMember(struct ndr_pull
*ndr
, int flags
, struct samr_AddGroupMember
*r
)
7731 TALLOC_CTX
*_mem_save_group_handle_0
;
7732 if (flags
& NDR_IN
) {
7733 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7734 NDR_PULL_ALLOC(ndr
, r
->in
.group_handle
);
7736 _mem_save_group_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7737 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.group_handle
, LIBNDR_FLAG_REF_ALLOC
);
7738 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
7739 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_group_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7740 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.rid
));
7741 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.flags
));
7743 if (flags
& NDR_OUT
) {
7744 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7746 return NDR_ERR_SUCCESS
;
7749 _PUBLIC_
void ndr_print_samr_AddGroupMember(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_AddGroupMember
*r
)
7751 ndr_print_struct(ndr
, name
, "samr_AddGroupMember");
7753 if (flags
& NDR_SET_VALUES
) {
7754 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7756 if (flags
& NDR_IN
) {
7757 ndr_print_struct(ndr
, "in", "samr_AddGroupMember");
7759 ndr_print_ptr(ndr
, "group_handle", r
->in
.group_handle
);
7761 ndr_print_policy_handle(ndr
, "group_handle", r
->in
.group_handle
);
7763 ndr_print_uint32(ndr
, "rid", r
->in
.rid
);
7764 ndr_print_uint32(ndr
, "flags", r
->in
.flags
);
7767 if (flags
& NDR_OUT
) {
7768 ndr_print_struct(ndr
, "out", "samr_AddGroupMember");
7770 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7776 static enum ndr_err_code
ndr_push_samr_DeleteDomainGroup(struct ndr_push
*ndr
, int flags
, const struct samr_DeleteDomainGroup
*r
)
7778 if (flags
& NDR_IN
) {
7779 if (r
->in
.group_handle
== NULL
) {
7780 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7782 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
7784 if (flags
& NDR_OUT
) {
7785 if (r
->out
.group_handle
== NULL
) {
7786 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7788 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.group_handle
));
7789 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7791 return NDR_ERR_SUCCESS
;
7794 static enum ndr_err_code
ndr_pull_samr_DeleteDomainGroup(struct ndr_pull
*ndr
, int flags
, struct samr_DeleteDomainGroup
*r
)
7796 TALLOC_CTX
*_mem_save_group_handle_0
;
7797 if (flags
& NDR_IN
) {
7798 ZERO_STRUCT(r
->out
);
7800 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7801 NDR_PULL_ALLOC(ndr
, r
->in
.group_handle
);
7803 _mem_save_group_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7804 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.group_handle
, LIBNDR_FLAG_REF_ALLOC
);
7805 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
7806 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_group_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7807 NDR_PULL_ALLOC(ndr
, r
->out
.group_handle
);
7808 *r
->out
.group_handle
= *r
->in
.group_handle
;
7810 if (flags
& NDR_OUT
) {
7811 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7812 NDR_PULL_ALLOC(ndr
, r
->out
.group_handle
);
7814 _mem_save_group_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7815 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.group_handle
, LIBNDR_FLAG_REF_ALLOC
);
7816 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.group_handle
));
7817 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_group_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7818 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7820 return NDR_ERR_SUCCESS
;
7823 _PUBLIC_
void ndr_print_samr_DeleteDomainGroup(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_DeleteDomainGroup
*r
)
7825 ndr_print_struct(ndr
, name
, "samr_DeleteDomainGroup");
7827 if (flags
& NDR_SET_VALUES
) {
7828 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7830 if (flags
& NDR_IN
) {
7831 ndr_print_struct(ndr
, "in", "samr_DeleteDomainGroup");
7833 ndr_print_ptr(ndr
, "group_handle", r
->in
.group_handle
);
7835 ndr_print_policy_handle(ndr
, "group_handle", r
->in
.group_handle
);
7839 if (flags
& NDR_OUT
) {
7840 ndr_print_struct(ndr
, "out", "samr_DeleteDomainGroup");
7842 ndr_print_ptr(ndr
, "group_handle", r
->out
.group_handle
);
7844 ndr_print_policy_handle(ndr
, "group_handle", r
->out
.group_handle
);
7846 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7852 static enum ndr_err_code
ndr_push_samr_DeleteGroupMember(struct ndr_push
*ndr
, int flags
, const struct samr_DeleteGroupMember
*r
)
7854 if (flags
& NDR_IN
) {
7855 if (r
->in
.group_handle
== NULL
) {
7856 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7858 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
7859 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.rid
));
7861 if (flags
& NDR_OUT
) {
7862 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7864 return NDR_ERR_SUCCESS
;
7867 static enum ndr_err_code
ndr_pull_samr_DeleteGroupMember(struct ndr_pull
*ndr
, int flags
, struct samr_DeleteGroupMember
*r
)
7869 TALLOC_CTX
*_mem_save_group_handle_0
;
7870 if (flags
& NDR_IN
) {
7871 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7872 NDR_PULL_ALLOC(ndr
, r
->in
.group_handle
);
7874 _mem_save_group_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7875 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.group_handle
, LIBNDR_FLAG_REF_ALLOC
);
7876 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
7877 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_group_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7878 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.rid
));
7880 if (flags
& NDR_OUT
) {
7881 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7883 return NDR_ERR_SUCCESS
;
7886 _PUBLIC_
void ndr_print_samr_DeleteGroupMember(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_DeleteGroupMember
*r
)
7888 ndr_print_struct(ndr
, name
, "samr_DeleteGroupMember");
7890 if (flags
& NDR_SET_VALUES
) {
7891 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7893 if (flags
& NDR_IN
) {
7894 ndr_print_struct(ndr
, "in", "samr_DeleteGroupMember");
7896 ndr_print_ptr(ndr
, "group_handle", r
->in
.group_handle
);
7898 ndr_print_policy_handle(ndr
, "group_handle", r
->in
.group_handle
);
7900 ndr_print_uint32(ndr
, "rid", r
->in
.rid
);
7903 if (flags
& NDR_OUT
) {
7904 ndr_print_struct(ndr
, "out", "samr_DeleteGroupMember");
7906 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7912 static enum ndr_err_code
ndr_push_samr_QueryGroupMember(struct ndr_push
*ndr
, int flags
, const struct samr_QueryGroupMember
*r
)
7914 if (flags
& NDR_IN
) {
7915 if (r
->in
.group_handle
== NULL
) {
7916 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7918 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
7920 if (flags
& NDR_OUT
) {
7921 if (r
->out
.rids
== NULL
) {
7922 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7924 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.rids
));
7926 NDR_CHECK(ndr_push_samr_RidTypeArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.rids
));
7928 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7930 return NDR_ERR_SUCCESS
;
7933 static enum ndr_err_code
ndr_pull_samr_QueryGroupMember(struct ndr_pull
*ndr
, int flags
, struct samr_QueryGroupMember
*r
)
7936 TALLOC_CTX
*_mem_save_group_handle_0
;
7937 TALLOC_CTX
*_mem_save_rids_0
;
7938 TALLOC_CTX
*_mem_save_rids_1
;
7939 if (flags
& NDR_IN
) {
7940 ZERO_STRUCT(r
->out
);
7942 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7943 NDR_PULL_ALLOC(ndr
, r
->in
.group_handle
);
7945 _mem_save_group_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7946 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.group_handle
, LIBNDR_FLAG_REF_ALLOC
);
7947 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
7948 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_group_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7949 NDR_PULL_ALLOC(ndr
, r
->out
.rids
);
7950 ZERO_STRUCTP(r
->out
.rids
);
7952 if (flags
& NDR_OUT
) {
7953 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7954 NDR_PULL_ALLOC(ndr
, r
->out
.rids
);
7956 _mem_save_rids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7957 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.rids
, LIBNDR_FLAG_REF_ALLOC
);
7958 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_rids
));
7960 NDR_PULL_ALLOC(ndr
, *r
->out
.rids
);
7962 *r
->out
.rids
= NULL
;
7965 _mem_save_rids_1
= NDR_PULL_GET_MEM_CTX(ndr
);
7966 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.rids
, 0);
7967 NDR_CHECK(ndr_pull_samr_RidTypeArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.rids
));
7968 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rids_1
, 0);
7970 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rids_0
, LIBNDR_FLAG_REF_ALLOC
);
7971 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7973 return NDR_ERR_SUCCESS
;
7976 _PUBLIC_
void ndr_print_samr_QueryGroupMember(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_QueryGroupMember
*r
)
7978 ndr_print_struct(ndr
, name
, "samr_QueryGroupMember");
7980 if (flags
& NDR_SET_VALUES
) {
7981 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7983 if (flags
& NDR_IN
) {
7984 ndr_print_struct(ndr
, "in", "samr_QueryGroupMember");
7986 ndr_print_ptr(ndr
, "group_handle", r
->in
.group_handle
);
7988 ndr_print_policy_handle(ndr
, "group_handle", r
->in
.group_handle
);
7992 if (flags
& NDR_OUT
) {
7993 ndr_print_struct(ndr
, "out", "samr_QueryGroupMember");
7995 ndr_print_ptr(ndr
, "rids", r
->out
.rids
);
7997 ndr_print_ptr(ndr
, "rids", *r
->out
.rids
);
8000 ndr_print_samr_RidTypeArray(ndr
, "rids", *r
->out
.rids
);
8004 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8010 static enum ndr_err_code
ndr_push_samr_SetMemberAttributesOfGroup(struct ndr_push
*ndr
, int flags
, const struct samr_SetMemberAttributesOfGroup
*r
)
8012 if (flags
& NDR_IN
) {
8013 if (r
->in
.group_handle
== NULL
) {
8014 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8016 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
8017 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.unknown1
));
8018 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.unknown2
));
8020 if (flags
& NDR_OUT
) {
8021 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8023 return NDR_ERR_SUCCESS
;
8026 static enum ndr_err_code
ndr_pull_samr_SetMemberAttributesOfGroup(struct ndr_pull
*ndr
, int flags
, struct samr_SetMemberAttributesOfGroup
*r
)
8028 TALLOC_CTX
*_mem_save_group_handle_0
;
8029 if (flags
& NDR_IN
) {
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_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.unknown1
));
8038 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.unknown2
));
8040 if (flags
& NDR_OUT
) {
8041 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8043 return NDR_ERR_SUCCESS
;
8046 _PUBLIC_
void ndr_print_samr_SetMemberAttributesOfGroup(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_SetMemberAttributesOfGroup
*r
)
8048 ndr_print_struct(ndr
, name
, "samr_SetMemberAttributesOfGroup");
8050 if (flags
& NDR_SET_VALUES
) {
8051 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8053 if (flags
& NDR_IN
) {
8054 ndr_print_struct(ndr
, "in", "samr_SetMemberAttributesOfGroup");
8056 ndr_print_ptr(ndr
, "group_handle", r
->in
.group_handle
);
8058 ndr_print_policy_handle(ndr
, "group_handle", r
->in
.group_handle
);
8060 ndr_print_uint32(ndr
, "unknown1", r
->in
.unknown1
);
8061 ndr_print_uint32(ndr
, "unknown2", r
->in
.unknown2
);
8064 if (flags
& NDR_OUT
) {
8065 ndr_print_struct(ndr
, "out", "samr_SetMemberAttributesOfGroup");
8067 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8073 static enum ndr_err_code
ndr_push_samr_OpenAlias(struct ndr_push
*ndr
, int flags
, const struct samr_OpenAlias
*r
)
8075 if (flags
& NDR_IN
) {
8076 if (r
->in
.domain_handle
== NULL
) {
8077 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8079 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
8080 NDR_CHECK(ndr_push_samr_AliasAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
8081 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.rid
));
8083 if (flags
& NDR_OUT
) {
8084 if (r
->out
.alias_handle
== NULL
) {
8085 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8087 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.alias_handle
));
8088 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8090 return NDR_ERR_SUCCESS
;
8093 static enum ndr_err_code
ndr_pull_samr_OpenAlias(struct ndr_pull
*ndr
, int flags
, struct samr_OpenAlias
*r
)
8095 TALLOC_CTX
*_mem_save_domain_handle_0
;
8096 TALLOC_CTX
*_mem_save_alias_handle_0
;
8097 if (flags
& NDR_IN
) {
8098 ZERO_STRUCT(r
->out
);
8100 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8101 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
8103 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8104 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
8105 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
8106 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8107 NDR_CHECK(ndr_pull_samr_AliasAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
8108 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.rid
));
8109 NDR_PULL_ALLOC(ndr
, r
->out
.alias_handle
);
8110 ZERO_STRUCTP(r
->out
.alias_handle
);
8112 if (flags
& NDR_OUT
) {
8113 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8114 NDR_PULL_ALLOC(ndr
, r
->out
.alias_handle
);
8116 _mem_save_alias_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8117 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.alias_handle
, LIBNDR_FLAG_REF_ALLOC
);
8118 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.alias_handle
));
8119 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_alias_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8120 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8122 return NDR_ERR_SUCCESS
;
8125 _PUBLIC_
void ndr_print_samr_OpenAlias(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_OpenAlias
*r
)
8127 ndr_print_struct(ndr
, name
, "samr_OpenAlias");
8129 if (flags
& NDR_SET_VALUES
) {
8130 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8132 if (flags
& NDR_IN
) {
8133 ndr_print_struct(ndr
, "in", "samr_OpenAlias");
8135 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
8137 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
8139 ndr_print_samr_AliasAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
8140 ndr_print_uint32(ndr
, "rid", r
->in
.rid
);
8143 if (flags
& NDR_OUT
) {
8144 ndr_print_struct(ndr
, "out", "samr_OpenAlias");
8146 ndr_print_ptr(ndr
, "alias_handle", r
->out
.alias_handle
);
8148 ndr_print_policy_handle(ndr
, "alias_handle", r
->out
.alias_handle
);
8150 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8156 static enum ndr_err_code
ndr_push_samr_QueryAliasInfo(struct ndr_push
*ndr
, int flags
, const struct samr_QueryAliasInfo
*r
)
8158 if (flags
& NDR_IN
) {
8159 if (r
->in
.alias_handle
== NULL
) {
8160 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8162 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
8163 NDR_CHECK(ndr_push_samr_AliasInfoEnum(ndr
, NDR_SCALARS
, r
->in
.level
));
8165 if (flags
& NDR_OUT
) {
8166 if (r
->out
.info
== NULL
) {
8167 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8169 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.info
));
8171 NDR_CHECK(ndr_push_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
8172 NDR_CHECK(ndr_push_samr_AliasInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
8174 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8176 return NDR_ERR_SUCCESS
;
8179 static enum ndr_err_code
ndr_pull_samr_QueryAliasInfo(struct ndr_pull
*ndr
, int flags
, struct samr_QueryAliasInfo
*r
)
8182 TALLOC_CTX
*_mem_save_alias_handle_0
;
8183 TALLOC_CTX
*_mem_save_info_0
;
8184 TALLOC_CTX
*_mem_save_info_1
;
8185 if (flags
& NDR_IN
) {
8186 ZERO_STRUCT(r
->out
);
8188 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8189 NDR_PULL_ALLOC(ndr
, r
->in
.alias_handle
);
8191 _mem_save_alias_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8192 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.alias_handle
, LIBNDR_FLAG_REF_ALLOC
);
8193 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
8194 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_alias_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8195 NDR_CHECK(ndr_pull_samr_AliasInfoEnum(ndr
, NDR_SCALARS
, &r
->in
.level
));
8196 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
8197 ZERO_STRUCTP(r
->out
.info
);
8199 if (flags
& NDR_OUT
) {
8200 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8201 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
8203 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8204 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
8205 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
8207 NDR_PULL_ALLOC(ndr
, *r
->out
.info
);
8209 *r
->out
.info
= NULL
;
8212 _mem_save_info_1
= NDR_PULL_GET_MEM_CTX(ndr
);
8213 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.info
, 0);
8214 NDR_CHECK(ndr_pull_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
8215 NDR_CHECK(ndr_pull_samr_AliasInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
8216 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_1
, 0);
8218 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
8219 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8221 return NDR_ERR_SUCCESS
;
8224 _PUBLIC_
void ndr_print_samr_QueryAliasInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_QueryAliasInfo
*r
)
8226 ndr_print_struct(ndr
, name
, "samr_QueryAliasInfo");
8228 if (flags
& NDR_SET_VALUES
) {
8229 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8231 if (flags
& NDR_IN
) {
8232 ndr_print_struct(ndr
, "in", "samr_QueryAliasInfo");
8234 ndr_print_ptr(ndr
, "alias_handle", r
->in
.alias_handle
);
8236 ndr_print_policy_handle(ndr
, "alias_handle", r
->in
.alias_handle
);
8238 ndr_print_samr_AliasInfoEnum(ndr
, "level", r
->in
.level
);
8241 if (flags
& NDR_OUT
) {
8242 ndr_print_struct(ndr
, "out", "samr_QueryAliasInfo");
8244 ndr_print_ptr(ndr
, "info", r
->out
.info
);
8246 ndr_print_ptr(ndr
, "info", *r
->out
.info
);
8249 ndr_print_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
);
8250 ndr_print_samr_AliasInfo(ndr
, "info", *r
->out
.info
);
8254 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8260 static enum ndr_err_code
ndr_push_samr_SetAliasInfo(struct ndr_push
*ndr
, int flags
, const struct samr_SetAliasInfo
*r
)
8262 if (flags
& NDR_IN
) {
8263 if (r
->in
.alias_handle
== NULL
) {
8264 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8266 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
8267 NDR_CHECK(ndr_push_samr_AliasInfoEnum(ndr
, NDR_SCALARS
, r
->in
.level
));
8268 if (r
->in
.info
== NULL
) {
8269 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8271 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
8272 NDR_CHECK(ndr_push_samr_AliasInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
8274 if (flags
& NDR_OUT
) {
8275 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8277 return NDR_ERR_SUCCESS
;
8280 static enum ndr_err_code
ndr_pull_samr_SetAliasInfo(struct ndr_pull
*ndr
, int flags
, struct samr_SetAliasInfo
*r
)
8282 TALLOC_CTX
*_mem_save_alias_handle_0
;
8283 TALLOC_CTX
*_mem_save_info_0
;
8284 if (flags
& NDR_IN
) {
8285 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8286 NDR_PULL_ALLOC(ndr
, r
->in
.alias_handle
);
8288 _mem_save_alias_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8289 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.alias_handle
, LIBNDR_FLAG_REF_ALLOC
);
8290 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
8291 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_alias_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8292 NDR_CHECK(ndr_pull_samr_AliasInfoEnum(ndr
, NDR_SCALARS
, &r
->in
.level
));
8293 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8294 NDR_PULL_ALLOC(ndr
, r
->in
.info
);
8296 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8297 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.info
, LIBNDR_FLAG_REF_ALLOC
);
8298 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
8299 NDR_CHECK(ndr_pull_samr_AliasInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
8300 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
8302 if (flags
& NDR_OUT
) {
8303 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8305 return NDR_ERR_SUCCESS
;
8308 _PUBLIC_
void ndr_print_samr_SetAliasInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_SetAliasInfo
*r
)
8310 ndr_print_struct(ndr
, name
, "samr_SetAliasInfo");
8312 if (flags
& NDR_SET_VALUES
) {
8313 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8315 if (flags
& NDR_IN
) {
8316 ndr_print_struct(ndr
, "in", "samr_SetAliasInfo");
8318 ndr_print_ptr(ndr
, "alias_handle", r
->in
.alias_handle
);
8320 ndr_print_policy_handle(ndr
, "alias_handle", r
->in
.alias_handle
);
8322 ndr_print_samr_AliasInfoEnum(ndr
, "level", r
->in
.level
);
8323 ndr_print_ptr(ndr
, "info", r
->in
.info
);
8325 ndr_print_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
);
8326 ndr_print_samr_AliasInfo(ndr
, "info", r
->in
.info
);
8330 if (flags
& NDR_OUT
) {
8331 ndr_print_struct(ndr
, "out", "samr_SetAliasInfo");
8333 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8339 static enum ndr_err_code
ndr_push_samr_DeleteDomAlias(struct ndr_push
*ndr
, int flags
, const struct samr_DeleteDomAlias
*r
)
8341 if (flags
& NDR_IN
) {
8342 if (r
->in
.alias_handle
== NULL
) {
8343 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8345 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
8347 if (flags
& NDR_OUT
) {
8348 if (r
->out
.alias_handle
== NULL
) {
8349 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8351 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.alias_handle
));
8352 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8354 return NDR_ERR_SUCCESS
;
8357 static enum ndr_err_code
ndr_pull_samr_DeleteDomAlias(struct ndr_pull
*ndr
, int flags
, struct samr_DeleteDomAlias
*r
)
8359 TALLOC_CTX
*_mem_save_alias_handle_0
;
8360 if (flags
& NDR_IN
) {
8361 ZERO_STRUCT(r
->out
);
8363 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8364 NDR_PULL_ALLOC(ndr
, r
->in
.alias_handle
);
8366 _mem_save_alias_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8367 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.alias_handle
, LIBNDR_FLAG_REF_ALLOC
);
8368 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
8369 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_alias_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8370 NDR_PULL_ALLOC(ndr
, r
->out
.alias_handle
);
8371 *r
->out
.alias_handle
= *r
->in
.alias_handle
;
8373 if (flags
& NDR_OUT
) {
8374 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8375 NDR_PULL_ALLOC(ndr
, r
->out
.alias_handle
);
8377 _mem_save_alias_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8378 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.alias_handle
, LIBNDR_FLAG_REF_ALLOC
);
8379 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.alias_handle
));
8380 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_alias_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8381 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8383 return NDR_ERR_SUCCESS
;
8386 _PUBLIC_
void ndr_print_samr_DeleteDomAlias(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_DeleteDomAlias
*r
)
8388 ndr_print_struct(ndr
, name
, "samr_DeleteDomAlias");
8390 if (flags
& NDR_SET_VALUES
) {
8391 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8393 if (flags
& NDR_IN
) {
8394 ndr_print_struct(ndr
, "in", "samr_DeleteDomAlias");
8396 ndr_print_ptr(ndr
, "alias_handle", r
->in
.alias_handle
);
8398 ndr_print_policy_handle(ndr
, "alias_handle", r
->in
.alias_handle
);
8402 if (flags
& NDR_OUT
) {
8403 ndr_print_struct(ndr
, "out", "samr_DeleteDomAlias");
8405 ndr_print_ptr(ndr
, "alias_handle", r
->out
.alias_handle
);
8407 ndr_print_policy_handle(ndr
, "alias_handle", r
->out
.alias_handle
);
8409 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8415 static enum ndr_err_code
ndr_push_samr_AddAliasMember(struct ndr_push
*ndr
, int flags
, const struct samr_AddAliasMember
*r
)
8417 if (flags
& NDR_IN
) {
8418 if (r
->in
.alias_handle
== NULL
) {
8419 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8421 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
8422 if (r
->in
.sid
== NULL
) {
8423 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8425 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
8427 if (flags
& NDR_OUT
) {
8428 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8430 return NDR_ERR_SUCCESS
;
8433 static enum ndr_err_code
ndr_pull_samr_AddAliasMember(struct ndr_pull
*ndr
, int flags
, struct samr_AddAliasMember
*r
)
8435 TALLOC_CTX
*_mem_save_alias_handle_0
;
8436 TALLOC_CTX
*_mem_save_sid_0
;
8437 if (flags
& NDR_IN
) {
8438 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8439 NDR_PULL_ALLOC(ndr
, r
->in
.alias_handle
);
8441 _mem_save_alias_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8442 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.alias_handle
, LIBNDR_FLAG_REF_ALLOC
);
8443 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
8444 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_alias_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8445 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8446 NDR_PULL_ALLOC(ndr
, r
->in
.sid
);
8448 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8449 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sid
, LIBNDR_FLAG_REF_ALLOC
);
8450 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
8451 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, LIBNDR_FLAG_REF_ALLOC
);
8453 if (flags
& NDR_OUT
) {
8454 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8456 return NDR_ERR_SUCCESS
;
8459 _PUBLIC_
void ndr_print_samr_AddAliasMember(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_AddAliasMember
*r
)
8461 ndr_print_struct(ndr
, name
, "samr_AddAliasMember");
8463 if (flags
& NDR_SET_VALUES
) {
8464 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8466 if (flags
& NDR_IN
) {
8467 ndr_print_struct(ndr
, "in", "samr_AddAliasMember");
8469 ndr_print_ptr(ndr
, "alias_handle", r
->in
.alias_handle
);
8471 ndr_print_policy_handle(ndr
, "alias_handle", r
->in
.alias_handle
);
8473 ndr_print_ptr(ndr
, "sid", r
->in
.sid
);
8475 ndr_print_dom_sid2(ndr
, "sid", r
->in
.sid
);
8479 if (flags
& NDR_OUT
) {
8480 ndr_print_struct(ndr
, "out", "samr_AddAliasMember");
8482 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8488 static enum ndr_err_code
ndr_push_samr_DeleteAliasMember(struct ndr_push
*ndr
, int flags
, const struct samr_DeleteAliasMember
*r
)
8490 if (flags
& NDR_IN
) {
8491 if (r
->in
.alias_handle
== NULL
) {
8492 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8494 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
8495 if (r
->in
.sid
== NULL
) {
8496 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8498 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
8500 if (flags
& NDR_OUT
) {
8501 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8503 return NDR_ERR_SUCCESS
;
8506 static enum ndr_err_code
ndr_pull_samr_DeleteAliasMember(struct ndr_pull
*ndr
, int flags
, struct samr_DeleteAliasMember
*r
)
8508 TALLOC_CTX
*_mem_save_alias_handle_0
;
8509 TALLOC_CTX
*_mem_save_sid_0
;
8510 if (flags
& NDR_IN
) {
8511 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8512 NDR_PULL_ALLOC(ndr
, r
->in
.alias_handle
);
8514 _mem_save_alias_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8515 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.alias_handle
, LIBNDR_FLAG_REF_ALLOC
);
8516 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
8517 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_alias_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8518 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8519 NDR_PULL_ALLOC(ndr
, r
->in
.sid
);
8521 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8522 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sid
, LIBNDR_FLAG_REF_ALLOC
);
8523 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
8524 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, LIBNDR_FLAG_REF_ALLOC
);
8526 if (flags
& NDR_OUT
) {
8527 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8529 return NDR_ERR_SUCCESS
;
8532 _PUBLIC_
void ndr_print_samr_DeleteAliasMember(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_DeleteAliasMember
*r
)
8534 ndr_print_struct(ndr
, name
, "samr_DeleteAliasMember");
8536 if (flags
& NDR_SET_VALUES
) {
8537 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8539 if (flags
& NDR_IN
) {
8540 ndr_print_struct(ndr
, "in", "samr_DeleteAliasMember");
8542 ndr_print_ptr(ndr
, "alias_handle", r
->in
.alias_handle
);
8544 ndr_print_policy_handle(ndr
, "alias_handle", r
->in
.alias_handle
);
8546 ndr_print_ptr(ndr
, "sid", r
->in
.sid
);
8548 ndr_print_dom_sid2(ndr
, "sid", r
->in
.sid
);
8552 if (flags
& NDR_OUT
) {
8553 ndr_print_struct(ndr
, "out", "samr_DeleteAliasMember");
8555 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8561 static enum ndr_err_code
ndr_push_samr_GetMembersInAlias(struct ndr_push
*ndr
, int flags
, const struct samr_GetMembersInAlias
*r
)
8563 if (flags
& NDR_IN
) {
8564 if (r
->in
.alias_handle
== NULL
) {
8565 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8567 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
8569 if (flags
& NDR_OUT
) {
8570 if (r
->out
.sids
== NULL
) {
8571 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8573 NDR_CHECK(ndr_push_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.sids
));
8574 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8576 return NDR_ERR_SUCCESS
;
8579 static enum ndr_err_code
ndr_pull_samr_GetMembersInAlias(struct ndr_pull
*ndr
, int flags
, struct samr_GetMembersInAlias
*r
)
8581 TALLOC_CTX
*_mem_save_alias_handle_0
;
8582 TALLOC_CTX
*_mem_save_sids_0
;
8583 if (flags
& NDR_IN
) {
8584 ZERO_STRUCT(r
->out
);
8586 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8587 NDR_PULL_ALLOC(ndr
, r
->in
.alias_handle
);
8589 _mem_save_alias_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8590 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.alias_handle
, LIBNDR_FLAG_REF_ALLOC
);
8591 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
8592 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_alias_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8593 NDR_PULL_ALLOC(ndr
, r
->out
.sids
);
8594 ZERO_STRUCTP(r
->out
.sids
);
8596 if (flags
& NDR_OUT
) {
8597 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8598 NDR_PULL_ALLOC(ndr
, r
->out
.sids
);
8600 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8601 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sids
, LIBNDR_FLAG_REF_ALLOC
);
8602 NDR_CHECK(ndr_pull_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.sids
));
8603 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, LIBNDR_FLAG_REF_ALLOC
);
8604 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8606 return NDR_ERR_SUCCESS
;
8609 _PUBLIC_
void ndr_print_samr_GetMembersInAlias(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_GetMembersInAlias
*r
)
8611 ndr_print_struct(ndr
, name
, "samr_GetMembersInAlias");
8613 if (flags
& NDR_SET_VALUES
) {
8614 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8616 if (flags
& NDR_IN
) {
8617 ndr_print_struct(ndr
, "in", "samr_GetMembersInAlias");
8619 ndr_print_ptr(ndr
, "alias_handle", r
->in
.alias_handle
);
8621 ndr_print_policy_handle(ndr
, "alias_handle", r
->in
.alias_handle
);
8625 if (flags
& NDR_OUT
) {
8626 ndr_print_struct(ndr
, "out", "samr_GetMembersInAlias");
8628 ndr_print_ptr(ndr
, "sids", r
->out
.sids
);
8630 ndr_print_lsa_SidArray(ndr
, "sids", r
->out
.sids
);
8632 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8638 _PUBLIC_
enum ndr_err_code
ndr_push_samr_OpenUser(struct ndr_push
*ndr
, int flags
, const struct samr_OpenUser
*r
)
8640 if (flags
& NDR_IN
) {
8641 if (r
->in
.domain_handle
== NULL
) {
8642 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8644 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
8645 NDR_CHECK(ndr_push_samr_UserAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
8646 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.rid
));
8648 if (flags
& NDR_OUT
) {
8649 if (r
->out
.user_handle
== NULL
) {
8650 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8652 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.user_handle
));
8653 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8655 return NDR_ERR_SUCCESS
;
8658 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_OpenUser(struct ndr_pull
*ndr
, int flags
, struct samr_OpenUser
*r
)
8660 TALLOC_CTX
*_mem_save_domain_handle_0
;
8661 TALLOC_CTX
*_mem_save_user_handle_0
;
8662 if (flags
& NDR_IN
) {
8663 ZERO_STRUCT(r
->out
);
8665 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8666 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
8668 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8669 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
8670 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
8671 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8672 NDR_CHECK(ndr_pull_samr_UserAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
8673 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.rid
));
8674 NDR_PULL_ALLOC(ndr
, r
->out
.user_handle
);
8675 ZERO_STRUCTP(r
->out
.user_handle
);
8677 if (flags
& NDR_OUT
) {
8678 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8679 NDR_PULL_ALLOC(ndr
, r
->out
.user_handle
);
8681 _mem_save_user_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8682 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.user_handle
, LIBNDR_FLAG_REF_ALLOC
);
8683 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.user_handle
));
8684 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_user_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8685 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8687 return NDR_ERR_SUCCESS
;
8690 _PUBLIC_
void ndr_print_samr_OpenUser(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_OpenUser
*r
)
8692 ndr_print_struct(ndr
, name
, "samr_OpenUser");
8694 if (flags
& NDR_SET_VALUES
) {
8695 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8697 if (flags
& NDR_IN
) {
8698 ndr_print_struct(ndr
, "in", "samr_OpenUser");
8700 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
8702 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
8704 ndr_print_samr_UserAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
8705 ndr_print_uint32(ndr
, "rid", r
->in
.rid
);
8708 if (flags
& NDR_OUT
) {
8709 ndr_print_struct(ndr
, "out", "samr_OpenUser");
8711 ndr_print_ptr(ndr
, "user_handle", r
->out
.user_handle
);
8713 ndr_print_policy_handle(ndr
, "user_handle", r
->out
.user_handle
);
8715 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8721 static enum ndr_err_code
ndr_push_samr_DeleteUser(struct ndr_push
*ndr
, int flags
, const struct samr_DeleteUser
*r
)
8723 if (flags
& NDR_IN
) {
8724 if (r
->in
.user_handle
== NULL
) {
8725 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8727 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
8729 if (flags
& NDR_OUT
) {
8730 if (r
->out
.user_handle
== NULL
) {
8731 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8733 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.user_handle
));
8734 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8736 return NDR_ERR_SUCCESS
;
8739 static enum ndr_err_code
ndr_pull_samr_DeleteUser(struct ndr_pull
*ndr
, int flags
, struct samr_DeleteUser
*r
)
8741 TALLOC_CTX
*_mem_save_user_handle_0
;
8742 if (flags
& NDR_IN
) {
8743 ZERO_STRUCT(r
->out
);
8745 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8746 NDR_PULL_ALLOC(ndr
, r
->in
.user_handle
);
8748 _mem_save_user_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8749 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.user_handle
, LIBNDR_FLAG_REF_ALLOC
);
8750 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
8751 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_user_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8752 NDR_PULL_ALLOC(ndr
, r
->out
.user_handle
);
8753 *r
->out
.user_handle
= *r
->in
.user_handle
;
8755 if (flags
& NDR_OUT
) {
8756 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8757 NDR_PULL_ALLOC(ndr
, r
->out
.user_handle
);
8759 _mem_save_user_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8760 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.user_handle
, LIBNDR_FLAG_REF_ALLOC
);
8761 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.user_handle
));
8762 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_user_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8763 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8765 return NDR_ERR_SUCCESS
;
8768 _PUBLIC_
void ndr_print_samr_DeleteUser(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_DeleteUser
*r
)
8770 ndr_print_struct(ndr
, name
, "samr_DeleteUser");
8772 if (flags
& NDR_SET_VALUES
) {
8773 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8775 if (flags
& NDR_IN
) {
8776 ndr_print_struct(ndr
, "in", "samr_DeleteUser");
8778 ndr_print_ptr(ndr
, "user_handle", r
->in
.user_handle
);
8780 ndr_print_policy_handle(ndr
, "user_handle", r
->in
.user_handle
);
8784 if (flags
& NDR_OUT
) {
8785 ndr_print_struct(ndr
, "out", "samr_DeleteUser");
8787 ndr_print_ptr(ndr
, "user_handle", r
->out
.user_handle
);
8789 ndr_print_policy_handle(ndr
, "user_handle", r
->out
.user_handle
);
8791 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8797 _PUBLIC_
enum ndr_err_code
ndr_push_samr_QueryUserInfo(struct ndr_push
*ndr
, int flags
, const struct samr_QueryUserInfo
*r
)
8799 if (flags
& NDR_IN
) {
8800 if (r
->in
.user_handle
== NULL
) {
8801 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8803 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
8804 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->in
.level
));
8806 if (flags
& NDR_OUT
) {
8807 if (r
->out
.info
== NULL
) {
8808 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8810 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.info
));
8812 NDR_CHECK(ndr_push_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
8813 NDR_CHECK(ndr_push_samr_UserInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
8815 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8817 return NDR_ERR_SUCCESS
;
8820 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_QueryUserInfo(struct ndr_pull
*ndr
, int flags
, struct samr_QueryUserInfo
*r
)
8823 TALLOC_CTX
*_mem_save_user_handle_0
;
8824 TALLOC_CTX
*_mem_save_info_0
;
8825 TALLOC_CTX
*_mem_save_info_1
;
8826 if (flags
& NDR_IN
) {
8827 ZERO_STRUCT(r
->out
);
8829 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8830 NDR_PULL_ALLOC(ndr
, r
->in
.user_handle
);
8832 _mem_save_user_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8833 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.user_handle
, LIBNDR_FLAG_REF_ALLOC
);
8834 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
8835 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_user_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8836 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->in
.level
));
8837 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
8838 ZERO_STRUCTP(r
->out
.info
);
8840 if (flags
& NDR_OUT
) {
8841 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8842 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
8844 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8845 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
8846 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
8848 NDR_PULL_ALLOC(ndr
, *r
->out
.info
);
8850 *r
->out
.info
= NULL
;
8853 _mem_save_info_1
= NDR_PULL_GET_MEM_CTX(ndr
);
8854 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.info
, 0);
8855 NDR_CHECK(ndr_pull_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
8856 NDR_CHECK(ndr_pull_samr_UserInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
8857 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_1
, 0);
8859 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
8860 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8862 return NDR_ERR_SUCCESS
;
8865 _PUBLIC_
void ndr_print_samr_QueryUserInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_QueryUserInfo
*r
)
8867 ndr_print_struct(ndr
, name
, "samr_QueryUserInfo");
8869 if (flags
& NDR_SET_VALUES
) {
8870 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8872 if (flags
& NDR_IN
) {
8873 ndr_print_struct(ndr
, "in", "samr_QueryUserInfo");
8875 ndr_print_ptr(ndr
, "user_handle", r
->in
.user_handle
);
8877 ndr_print_policy_handle(ndr
, "user_handle", r
->in
.user_handle
);
8879 ndr_print_uint16(ndr
, "level", r
->in
.level
);
8882 if (flags
& NDR_OUT
) {
8883 ndr_print_struct(ndr
, "out", "samr_QueryUserInfo");
8885 ndr_print_ptr(ndr
, "info", r
->out
.info
);
8887 ndr_print_ptr(ndr
, "info", *r
->out
.info
);
8890 ndr_print_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
);
8891 ndr_print_samr_UserInfo(ndr
, "info", *r
->out
.info
);
8895 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8901 _PUBLIC_
enum ndr_err_code
ndr_push_samr_SetUserInfo(struct ndr_push
*ndr
, int flags
, const struct samr_SetUserInfo
*r
)
8903 if (flags
& NDR_IN
) {
8904 if (r
->in
.user_handle
== NULL
) {
8905 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8907 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
8908 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->in
.level
));
8909 if (r
->in
.info
== NULL
) {
8910 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8912 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
8913 NDR_CHECK(ndr_push_samr_UserInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
8915 if (flags
& NDR_OUT
) {
8916 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8918 return NDR_ERR_SUCCESS
;
8921 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_SetUserInfo(struct ndr_pull
*ndr
, int flags
, struct samr_SetUserInfo
*r
)
8923 TALLOC_CTX
*_mem_save_user_handle_0
;
8924 TALLOC_CTX
*_mem_save_info_0
;
8925 if (flags
& NDR_IN
) {
8926 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8927 NDR_PULL_ALLOC(ndr
, r
->in
.user_handle
);
8929 _mem_save_user_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8930 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.user_handle
, LIBNDR_FLAG_REF_ALLOC
);
8931 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
8932 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_user_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8933 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->in
.level
));
8934 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8935 NDR_PULL_ALLOC(ndr
, r
->in
.info
);
8937 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8938 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.info
, LIBNDR_FLAG_REF_ALLOC
);
8939 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
8940 NDR_CHECK(ndr_pull_samr_UserInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
8941 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
8943 if (flags
& NDR_OUT
) {
8944 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8946 return NDR_ERR_SUCCESS
;
8949 _PUBLIC_
void ndr_print_samr_SetUserInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_SetUserInfo
*r
)
8951 ndr_print_struct(ndr
, name
, "samr_SetUserInfo");
8953 if (flags
& NDR_SET_VALUES
) {
8954 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8956 if (flags
& NDR_IN
) {
8957 ndr_print_struct(ndr
, "in", "samr_SetUserInfo");
8959 ndr_print_ptr(ndr
, "user_handle", r
->in
.user_handle
);
8961 ndr_print_policy_handle(ndr
, "user_handle", r
->in
.user_handle
);
8963 ndr_print_uint16(ndr
, "level", r
->in
.level
);
8964 ndr_print_ptr(ndr
, "info", r
->in
.info
);
8966 ndr_print_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
);
8967 ndr_print_samr_UserInfo(ndr
, "info", r
->in
.info
);
8971 if (flags
& NDR_OUT
) {
8972 ndr_print_struct(ndr
, "out", "samr_SetUserInfo");
8974 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8980 static enum ndr_err_code
ndr_push_samr_ChangePasswordUser(struct ndr_push
*ndr
, int flags
, const struct samr_ChangePasswordUser
*r
)
8982 if (flags
& NDR_IN
) {
8983 if (r
->in
.user_handle
== NULL
) {
8984 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8986 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
8987 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->in
.lm_present
));
8988 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.old_lm_crypted
));
8989 if (r
->in
.old_lm_crypted
) {
8990 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, r
->in
.old_lm_crypted
));
8992 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.new_lm_crypted
));
8993 if (r
->in
.new_lm_crypted
) {
8994 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, r
->in
.new_lm_crypted
));
8996 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->in
.nt_present
));
8997 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.old_nt_crypted
));
8998 if (r
->in
.old_nt_crypted
) {
8999 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, r
->in
.old_nt_crypted
));
9001 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.new_nt_crypted
));
9002 if (r
->in
.new_nt_crypted
) {
9003 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, r
->in
.new_nt_crypted
));
9005 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->in
.cross1_present
));
9006 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.nt_cross
));
9007 if (r
->in
.nt_cross
) {
9008 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, r
->in
.nt_cross
));
9010 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->in
.cross2_present
));
9011 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.lm_cross
));
9012 if (r
->in
.lm_cross
) {
9013 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, r
->in
.lm_cross
));
9016 if (flags
& NDR_OUT
) {
9017 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9019 return NDR_ERR_SUCCESS
;
9022 static enum ndr_err_code
ndr_pull_samr_ChangePasswordUser(struct ndr_pull
*ndr
, int flags
, struct samr_ChangePasswordUser
*r
)
9024 uint32_t _ptr_old_lm_crypted
;
9025 uint32_t _ptr_new_lm_crypted
;
9026 uint32_t _ptr_old_nt_crypted
;
9027 uint32_t _ptr_new_nt_crypted
;
9028 uint32_t _ptr_nt_cross
;
9029 uint32_t _ptr_lm_cross
;
9030 TALLOC_CTX
*_mem_save_user_handle_0
;
9031 TALLOC_CTX
*_mem_save_old_lm_crypted_0
;
9032 TALLOC_CTX
*_mem_save_new_lm_crypted_0
;
9033 TALLOC_CTX
*_mem_save_old_nt_crypted_0
;
9034 TALLOC_CTX
*_mem_save_new_nt_crypted_0
;
9035 TALLOC_CTX
*_mem_save_nt_cross_0
;
9036 TALLOC_CTX
*_mem_save_lm_cross_0
;
9037 if (flags
& NDR_IN
) {
9038 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9039 NDR_PULL_ALLOC(ndr
, r
->in
.user_handle
);
9041 _mem_save_user_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9042 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.user_handle
, LIBNDR_FLAG_REF_ALLOC
);
9043 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
9044 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_user_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9045 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->in
.lm_present
));
9046 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_old_lm_crypted
));
9047 if (_ptr_old_lm_crypted
) {
9048 NDR_PULL_ALLOC(ndr
, r
->in
.old_lm_crypted
);
9050 r
->in
.old_lm_crypted
= NULL
;
9052 if (r
->in
.old_lm_crypted
) {
9053 _mem_save_old_lm_crypted_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9054 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.old_lm_crypted
, 0);
9055 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, r
->in
.old_lm_crypted
));
9056 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_old_lm_crypted_0
, 0);
9058 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_new_lm_crypted
));
9059 if (_ptr_new_lm_crypted
) {
9060 NDR_PULL_ALLOC(ndr
, r
->in
.new_lm_crypted
);
9062 r
->in
.new_lm_crypted
= NULL
;
9064 if (r
->in
.new_lm_crypted
) {
9065 _mem_save_new_lm_crypted_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9066 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.new_lm_crypted
, 0);
9067 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, r
->in
.new_lm_crypted
));
9068 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_new_lm_crypted_0
, 0);
9070 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->in
.nt_present
));
9071 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_old_nt_crypted
));
9072 if (_ptr_old_nt_crypted
) {
9073 NDR_PULL_ALLOC(ndr
, r
->in
.old_nt_crypted
);
9075 r
->in
.old_nt_crypted
= NULL
;
9077 if (r
->in
.old_nt_crypted
) {
9078 _mem_save_old_nt_crypted_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9079 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.old_nt_crypted
, 0);
9080 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, r
->in
.old_nt_crypted
));
9081 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_old_nt_crypted_0
, 0);
9083 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_new_nt_crypted
));
9084 if (_ptr_new_nt_crypted
) {
9085 NDR_PULL_ALLOC(ndr
, r
->in
.new_nt_crypted
);
9087 r
->in
.new_nt_crypted
= NULL
;
9089 if (r
->in
.new_nt_crypted
) {
9090 _mem_save_new_nt_crypted_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9091 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.new_nt_crypted
, 0);
9092 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, r
->in
.new_nt_crypted
));
9093 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_new_nt_crypted_0
, 0);
9095 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->in
.cross1_present
));
9096 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_nt_cross
));
9097 if (_ptr_nt_cross
) {
9098 NDR_PULL_ALLOC(ndr
, r
->in
.nt_cross
);
9100 r
->in
.nt_cross
= NULL
;
9102 if (r
->in
.nt_cross
) {
9103 _mem_save_nt_cross_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9104 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.nt_cross
, 0);
9105 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, r
->in
.nt_cross
));
9106 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_nt_cross_0
, 0);
9108 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->in
.cross2_present
));
9109 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_lm_cross
));
9110 if (_ptr_lm_cross
) {
9111 NDR_PULL_ALLOC(ndr
, r
->in
.lm_cross
);
9113 r
->in
.lm_cross
= NULL
;
9115 if (r
->in
.lm_cross
) {
9116 _mem_save_lm_cross_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9117 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.lm_cross
, 0);
9118 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, r
->in
.lm_cross
));
9119 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_lm_cross_0
, 0);
9122 if (flags
& NDR_OUT
) {
9123 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9125 return NDR_ERR_SUCCESS
;
9128 _PUBLIC_
void ndr_print_samr_ChangePasswordUser(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_ChangePasswordUser
*r
)
9130 ndr_print_struct(ndr
, name
, "samr_ChangePasswordUser");
9132 if (flags
& NDR_SET_VALUES
) {
9133 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9135 if (flags
& NDR_IN
) {
9136 ndr_print_struct(ndr
, "in", "samr_ChangePasswordUser");
9138 ndr_print_ptr(ndr
, "user_handle", r
->in
.user_handle
);
9140 ndr_print_policy_handle(ndr
, "user_handle", r
->in
.user_handle
);
9142 ndr_print_uint8(ndr
, "lm_present", r
->in
.lm_present
);
9143 ndr_print_ptr(ndr
, "old_lm_crypted", r
->in
.old_lm_crypted
);
9145 if (r
->in
.old_lm_crypted
) {
9146 ndr_print_samr_Password(ndr
, "old_lm_crypted", r
->in
.old_lm_crypted
);
9149 ndr_print_ptr(ndr
, "new_lm_crypted", r
->in
.new_lm_crypted
);
9151 if (r
->in
.new_lm_crypted
) {
9152 ndr_print_samr_Password(ndr
, "new_lm_crypted", r
->in
.new_lm_crypted
);
9155 ndr_print_uint8(ndr
, "nt_present", r
->in
.nt_present
);
9156 ndr_print_ptr(ndr
, "old_nt_crypted", r
->in
.old_nt_crypted
);
9158 if (r
->in
.old_nt_crypted
) {
9159 ndr_print_samr_Password(ndr
, "old_nt_crypted", r
->in
.old_nt_crypted
);
9162 ndr_print_ptr(ndr
, "new_nt_crypted", r
->in
.new_nt_crypted
);
9164 if (r
->in
.new_nt_crypted
) {
9165 ndr_print_samr_Password(ndr
, "new_nt_crypted", r
->in
.new_nt_crypted
);
9168 ndr_print_uint8(ndr
, "cross1_present", r
->in
.cross1_present
);
9169 ndr_print_ptr(ndr
, "nt_cross", r
->in
.nt_cross
);
9171 if (r
->in
.nt_cross
) {
9172 ndr_print_samr_Password(ndr
, "nt_cross", r
->in
.nt_cross
);
9175 ndr_print_uint8(ndr
, "cross2_present", r
->in
.cross2_present
);
9176 ndr_print_ptr(ndr
, "lm_cross", r
->in
.lm_cross
);
9178 if (r
->in
.lm_cross
) {
9179 ndr_print_samr_Password(ndr
, "lm_cross", r
->in
.lm_cross
);
9184 if (flags
& NDR_OUT
) {
9185 ndr_print_struct(ndr
, "out", "samr_ChangePasswordUser");
9187 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9193 static enum ndr_err_code
ndr_push_samr_GetGroupsForUser(struct ndr_push
*ndr
, int flags
, const struct samr_GetGroupsForUser
*r
)
9195 if (flags
& NDR_IN
) {
9196 if (r
->in
.user_handle
== NULL
) {
9197 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9199 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
9201 if (flags
& NDR_OUT
) {
9202 if (r
->out
.rids
== NULL
) {
9203 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9205 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.rids
));
9207 NDR_CHECK(ndr_push_samr_RidWithAttributeArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.rids
));
9209 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9211 return NDR_ERR_SUCCESS
;
9214 static enum ndr_err_code
ndr_pull_samr_GetGroupsForUser(struct ndr_pull
*ndr
, int flags
, struct samr_GetGroupsForUser
*r
)
9217 TALLOC_CTX
*_mem_save_user_handle_0
;
9218 TALLOC_CTX
*_mem_save_rids_0
;
9219 TALLOC_CTX
*_mem_save_rids_1
;
9220 if (flags
& NDR_IN
) {
9221 ZERO_STRUCT(r
->out
);
9223 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9224 NDR_PULL_ALLOC(ndr
, r
->in
.user_handle
);
9226 _mem_save_user_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9227 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.user_handle
, LIBNDR_FLAG_REF_ALLOC
);
9228 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
9229 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_user_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9230 NDR_PULL_ALLOC(ndr
, r
->out
.rids
);
9231 ZERO_STRUCTP(r
->out
.rids
);
9233 if (flags
& NDR_OUT
) {
9234 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9235 NDR_PULL_ALLOC(ndr
, r
->out
.rids
);
9237 _mem_save_rids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9238 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.rids
, LIBNDR_FLAG_REF_ALLOC
);
9239 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_rids
));
9241 NDR_PULL_ALLOC(ndr
, *r
->out
.rids
);
9243 *r
->out
.rids
= NULL
;
9246 _mem_save_rids_1
= NDR_PULL_GET_MEM_CTX(ndr
);
9247 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.rids
, 0);
9248 NDR_CHECK(ndr_pull_samr_RidWithAttributeArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.rids
));
9249 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rids_1
, 0);
9251 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rids_0
, LIBNDR_FLAG_REF_ALLOC
);
9252 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9254 return NDR_ERR_SUCCESS
;
9257 _PUBLIC_
void ndr_print_samr_GetGroupsForUser(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_GetGroupsForUser
*r
)
9259 ndr_print_struct(ndr
, name
, "samr_GetGroupsForUser");
9261 if (flags
& NDR_SET_VALUES
) {
9262 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9264 if (flags
& NDR_IN
) {
9265 ndr_print_struct(ndr
, "in", "samr_GetGroupsForUser");
9267 ndr_print_ptr(ndr
, "user_handle", r
->in
.user_handle
);
9269 ndr_print_policy_handle(ndr
, "user_handle", r
->in
.user_handle
);
9273 if (flags
& NDR_OUT
) {
9274 ndr_print_struct(ndr
, "out", "samr_GetGroupsForUser");
9276 ndr_print_ptr(ndr
, "rids", r
->out
.rids
);
9278 ndr_print_ptr(ndr
, "rids", *r
->out
.rids
);
9281 ndr_print_samr_RidWithAttributeArray(ndr
, "rids", *r
->out
.rids
);
9285 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9291 static enum ndr_err_code
ndr_push_samr_QueryDisplayInfo(struct ndr_push
*ndr
, int flags
, const struct samr_QueryDisplayInfo
*r
)
9293 if (flags
& NDR_IN
) {
9294 if (r
->in
.domain_handle
== NULL
) {
9295 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9297 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
9298 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->in
.level
));
9299 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.start_idx
));
9300 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.max_entries
));
9301 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.buf_size
));
9303 if (flags
& NDR_OUT
) {
9304 if (r
->out
.total_size
== NULL
) {
9305 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9307 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.total_size
));
9308 if (r
->out
.returned_size
== NULL
) {
9309 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9311 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.returned_size
));
9312 if (r
->out
.info
== NULL
) {
9313 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9315 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.info
, r
->in
.level
));
9316 NDR_CHECK(ndr_push_samr_DispInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.info
));
9317 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9319 return NDR_ERR_SUCCESS
;
9322 static enum ndr_err_code
ndr_pull_samr_QueryDisplayInfo(struct ndr_pull
*ndr
, int flags
, struct samr_QueryDisplayInfo
*r
)
9324 TALLOC_CTX
*_mem_save_domain_handle_0
;
9325 TALLOC_CTX
*_mem_save_total_size_0
;
9326 TALLOC_CTX
*_mem_save_returned_size_0
;
9327 TALLOC_CTX
*_mem_save_info_0
;
9328 if (flags
& NDR_IN
) {
9329 ZERO_STRUCT(r
->out
);
9331 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9332 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
9334 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9335 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
9336 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
9337 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9338 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->in
.level
));
9339 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.start_idx
));
9340 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.max_entries
));
9341 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.buf_size
));
9342 NDR_PULL_ALLOC(ndr
, r
->out
.total_size
);
9343 ZERO_STRUCTP(r
->out
.total_size
);
9344 NDR_PULL_ALLOC(ndr
, r
->out
.returned_size
);
9345 ZERO_STRUCTP(r
->out
.returned_size
);
9346 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
9347 ZERO_STRUCTP(r
->out
.info
);
9349 if (flags
& NDR_OUT
) {
9350 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9351 NDR_PULL_ALLOC(ndr
, r
->out
.total_size
);
9353 _mem_save_total_size_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9354 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.total_size
, LIBNDR_FLAG_REF_ALLOC
);
9355 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.total_size
));
9356 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_total_size_0
, LIBNDR_FLAG_REF_ALLOC
);
9357 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9358 NDR_PULL_ALLOC(ndr
, r
->out
.returned_size
);
9360 _mem_save_returned_size_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9361 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.returned_size
, LIBNDR_FLAG_REF_ALLOC
);
9362 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.returned_size
));
9363 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_returned_size_0
, LIBNDR_FLAG_REF_ALLOC
);
9364 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9365 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
9367 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9368 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
9369 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.info
, r
->in
.level
));
9370 NDR_CHECK(ndr_pull_samr_DispInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.info
));
9371 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
9372 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9374 return NDR_ERR_SUCCESS
;
9377 _PUBLIC_
void ndr_print_samr_QueryDisplayInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_QueryDisplayInfo
*r
)
9379 ndr_print_struct(ndr
, name
, "samr_QueryDisplayInfo");
9381 if (flags
& NDR_SET_VALUES
) {
9382 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9384 if (flags
& NDR_IN
) {
9385 ndr_print_struct(ndr
, "in", "samr_QueryDisplayInfo");
9387 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
9389 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
9391 ndr_print_uint16(ndr
, "level", r
->in
.level
);
9392 ndr_print_uint32(ndr
, "start_idx", r
->in
.start_idx
);
9393 ndr_print_uint32(ndr
, "max_entries", r
->in
.max_entries
);
9394 ndr_print_uint32(ndr
, "buf_size", r
->in
.buf_size
);
9397 if (flags
& NDR_OUT
) {
9398 ndr_print_struct(ndr
, "out", "samr_QueryDisplayInfo");
9400 ndr_print_ptr(ndr
, "total_size", r
->out
.total_size
);
9402 ndr_print_uint32(ndr
, "total_size", *r
->out
.total_size
);
9404 ndr_print_ptr(ndr
, "returned_size", r
->out
.returned_size
);
9406 ndr_print_uint32(ndr
, "returned_size", *r
->out
.returned_size
);
9408 ndr_print_ptr(ndr
, "info", r
->out
.info
);
9410 ndr_print_set_switch_value(ndr
, r
->out
.info
, r
->in
.level
);
9411 ndr_print_samr_DispInfo(ndr
, "info", r
->out
.info
);
9413 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9419 static enum ndr_err_code
ndr_push_samr_GetDisplayEnumerationIndex(struct ndr_push
*ndr
, int flags
, const struct samr_GetDisplayEnumerationIndex
*r
)
9421 if (flags
& NDR_IN
) {
9422 if (r
->in
.domain_handle
== NULL
) {
9423 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9425 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
9426 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->in
.level
));
9427 if (r
->in
.name
== NULL
) {
9428 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9430 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.name
));
9432 if (flags
& NDR_OUT
) {
9433 if (r
->out
.idx
== NULL
) {
9434 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9436 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.idx
));
9437 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9439 return NDR_ERR_SUCCESS
;
9442 static enum ndr_err_code
ndr_pull_samr_GetDisplayEnumerationIndex(struct ndr_pull
*ndr
, int flags
, struct samr_GetDisplayEnumerationIndex
*r
)
9444 TALLOC_CTX
*_mem_save_domain_handle_0
;
9445 TALLOC_CTX
*_mem_save_name_0
;
9446 TALLOC_CTX
*_mem_save_idx_0
;
9447 if (flags
& NDR_IN
) {
9448 ZERO_STRUCT(r
->out
);
9450 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9451 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
9453 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9454 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
9455 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
9456 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9457 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->in
.level
));
9458 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9459 NDR_PULL_ALLOC(ndr
, r
->in
.name
);
9461 _mem_save_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9462 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.name
, LIBNDR_FLAG_REF_ALLOC
);
9463 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.name
));
9464 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_name_0
, LIBNDR_FLAG_REF_ALLOC
);
9465 NDR_PULL_ALLOC(ndr
, r
->out
.idx
);
9466 ZERO_STRUCTP(r
->out
.idx
);
9468 if (flags
& NDR_OUT
) {
9469 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9470 NDR_PULL_ALLOC(ndr
, r
->out
.idx
);
9472 _mem_save_idx_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9473 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.idx
, LIBNDR_FLAG_REF_ALLOC
);
9474 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.idx
));
9475 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_idx_0
, LIBNDR_FLAG_REF_ALLOC
);
9476 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9478 return NDR_ERR_SUCCESS
;
9481 _PUBLIC_
void ndr_print_samr_GetDisplayEnumerationIndex(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_GetDisplayEnumerationIndex
*r
)
9483 ndr_print_struct(ndr
, name
, "samr_GetDisplayEnumerationIndex");
9485 if (flags
& NDR_SET_VALUES
) {
9486 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9488 if (flags
& NDR_IN
) {
9489 ndr_print_struct(ndr
, "in", "samr_GetDisplayEnumerationIndex");
9491 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
9493 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
9495 ndr_print_uint16(ndr
, "level", r
->in
.level
);
9496 ndr_print_ptr(ndr
, "name", r
->in
.name
);
9498 ndr_print_lsa_String(ndr
, "name", r
->in
.name
);
9502 if (flags
& NDR_OUT
) {
9503 ndr_print_struct(ndr
, "out", "samr_GetDisplayEnumerationIndex");
9505 ndr_print_ptr(ndr
, "idx", r
->out
.idx
);
9507 ndr_print_uint32(ndr
, "idx", *r
->out
.idx
);
9509 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9515 static enum ndr_err_code
ndr_push_samr_TestPrivateFunctionsDomain(struct ndr_push
*ndr
, int flags
, const struct samr_TestPrivateFunctionsDomain
*r
)
9517 if (flags
& NDR_IN
) {
9518 if (r
->in
.domain_handle
== NULL
) {
9519 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9521 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
9523 if (flags
& NDR_OUT
) {
9524 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9526 return NDR_ERR_SUCCESS
;
9529 static enum ndr_err_code
ndr_pull_samr_TestPrivateFunctionsDomain(struct ndr_pull
*ndr
, int flags
, struct samr_TestPrivateFunctionsDomain
*r
)
9531 TALLOC_CTX
*_mem_save_domain_handle_0
;
9532 if (flags
& NDR_IN
) {
9533 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9534 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
9536 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9537 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
9538 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
9539 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9541 if (flags
& NDR_OUT
) {
9542 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9544 return NDR_ERR_SUCCESS
;
9547 _PUBLIC_
void ndr_print_samr_TestPrivateFunctionsDomain(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_TestPrivateFunctionsDomain
*r
)
9549 ndr_print_struct(ndr
, name
, "samr_TestPrivateFunctionsDomain");
9551 if (flags
& NDR_SET_VALUES
) {
9552 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9554 if (flags
& NDR_IN
) {
9555 ndr_print_struct(ndr
, "in", "samr_TestPrivateFunctionsDomain");
9557 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
9559 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
9563 if (flags
& NDR_OUT
) {
9564 ndr_print_struct(ndr
, "out", "samr_TestPrivateFunctionsDomain");
9566 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9572 static enum ndr_err_code
ndr_push_samr_TestPrivateFunctionsUser(struct ndr_push
*ndr
, int flags
, const struct samr_TestPrivateFunctionsUser
*r
)
9574 if (flags
& NDR_IN
) {
9575 if (r
->in
.user_handle
== NULL
) {
9576 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9578 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
9580 if (flags
& NDR_OUT
) {
9581 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9583 return NDR_ERR_SUCCESS
;
9586 static enum ndr_err_code
ndr_pull_samr_TestPrivateFunctionsUser(struct ndr_pull
*ndr
, int flags
, struct samr_TestPrivateFunctionsUser
*r
)
9588 TALLOC_CTX
*_mem_save_user_handle_0
;
9589 if (flags
& NDR_IN
) {
9590 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9591 NDR_PULL_ALLOC(ndr
, r
->in
.user_handle
);
9593 _mem_save_user_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9594 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.user_handle
, LIBNDR_FLAG_REF_ALLOC
);
9595 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
9596 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_user_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9598 if (flags
& NDR_OUT
) {
9599 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9601 return NDR_ERR_SUCCESS
;
9604 _PUBLIC_
void ndr_print_samr_TestPrivateFunctionsUser(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_TestPrivateFunctionsUser
*r
)
9606 ndr_print_struct(ndr
, name
, "samr_TestPrivateFunctionsUser");
9608 if (flags
& NDR_SET_VALUES
) {
9609 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9611 if (flags
& NDR_IN
) {
9612 ndr_print_struct(ndr
, "in", "samr_TestPrivateFunctionsUser");
9614 ndr_print_ptr(ndr
, "user_handle", r
->in
.user_handle
);
9616 ndr_print_policy_handle(ndr
, "user_handle", r
->in
.user_handle
);
9620 if (flags
& NDR_OUT
) {
9621 ndr_print_struct(ndr
, "out", "samr_TestPrivateFunctionsUser");
9623 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9629 _PUBLIC_
enum ndr_err_code
ndr_push_samr_GetUserPwInfo(struct ndr_push
*ndr
, int flags
, const struct samr_GetUserPwInfo
*r
)
9631 if (flags
& NDR_IN
) {
9632 if (r
->in
.user_handle
== NULL
) {
9633 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9635 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
9637 if (flags
& NDR_OUT
) {
9638 if (r
->out
.info
== NULL
) {
9639 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9641 NDR_CHECK(ndr_push_samr_PwInfo(ndr
, NDR_SCALARS
, r
->out
.info
));
9642 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9644 return NDR_ERR_SUCCESS
;
9647 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_GetUserPwInfo(struct ndr_pull
*ndr
, int flags
, struct samr_GetUserPwInfo
*r
)
9649 TALLOC_CTX
*_mem_save_user_handle_0
;
9650 TALLOC_CTX
*_mem_save_info_0
;
9651 if (flags
& NDR_IN
) {
9652 ZERO_STRUCT(r
->out
);
9654 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9655 NDR_PULL_ALLOC(ndr
, r
->in
.user_handle
);
9657 _mem_save_user_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9658 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.user_handle
, LIBNDR_FLAG_REF_ALLOC
);
9659 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
9660 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_user_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9661 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
9662 ZERO_STRUCTP(r
->out
.info
);
9664 if (flags
& NDR_OUT
) {
9665 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9666 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
9668 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9669 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
9670 NDR_CHECK(ndr_pull_samr_PwInfo(ndr
, NDR_SCALARS
, r
->out
.info
));
9671 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
9672 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9674 return NDR_ERR_SUCCESS
;
9677 _PUBLIC_
void ndr_print_samr_GetUserPwInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_GetUserPwInfo
*r
)
9679 ndr_print_struct(ndr
, name
, "samr_GetUserPwInfo");
9681 if (flags
& NDR_SET_VALUES
) {
9682 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9684 if (flags
& NDR_IN
) {
9685 ndr_print_struct(ndr
, "in", "samr_GetUserPwInfo");
9687 ndr_print_ptr(ndr
, "user_handle", r
->in
.user_handle
);
9689 ndr_print_policy_handle(ndr
, "user_handle", r
->in
.user_handle
);
9693 if (flags
& NDR_OUT
) {
9694 ndr_print_struct(ndr
, "out", "samr_GetUserPwInfo");
9696 ndr_print_ptr(ndr
, "info", r
->out
.info
);
9698 ndr_print_samr_PwInfo(ndr
, "info", r
->out
.info
);
9700 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9706 static enum ndr_err_code
ndr_push_samr_RemoveMemberFromForeignDomain(struct ndr_push
*ndr
, int flags
, const struct samr_RemoveMemberFromForeignDomain
*r
)
9708 if (flags
& NDR_IN
) {
9709 if (r
->in
.domain_handle
== NULL
) {
9710 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9712 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
9713 if (r
->in
.sid
== NULL
) {
9714 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9716 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
9718 if (flags
& NDR_OUT
) {
9719 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9721 return NDR_ERR_SUCCESS
;
9724 static enum ndr_err_code
ndr_pull_samr_RemoveMemberFromForeignDomain(struct ndr_pull
*ndr
, int flags
, struct samr_RemoveMemberFromForeignDomain
*r
)
9726 TALLOC_CTX
*_mem_save_domain_handle_0
;
9727 TALLOC_CTX
*_mem_save_sid_0
;
9728 if (flags
& NDR_IN
) {
9729 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9730 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
9732 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9733 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
9734 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
9735 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9736 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9737 NDR_PULL_ALLOC(ndr
, r
->in
.sid
);
9739 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9740 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sid
, LIBNDR_FLAG_REF_ALLOC
);
9741 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
9742 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, LIBNDR_FLAG_REF_ALLOC
);
9744 if (flags
& NDR_OUT
) {
9745 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9747 return NDR_ERR_SUCCESS
;
9750 _PUBLIC_
void ndr_print_samr_RemoveMemberFromForeignDomain(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_RemoveMemberFromForeignDomain
*r
)
9752 ndr_print_struct(ndr
, name
, "samr_RemoveMemberFromForeignDomain");
9754 if (flags
& NDR_SET_VALUES
) {
9755 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9757 if (flags
& NDR_IN
) {
9758 ndr_print_struct(ndr
, "in", "samr_RemoveMemberFromForeignDomain");
9760 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
9762 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
9764 ndr_print_ptr(ndr
, "sid", r
->in
.sid
);
9766 ndr_print_dom_sid2(ndr
, "sid", r
->in
.sid
);
9770 if (flags
& NDR_OUT
) {
9771 ndr_print_struct(ndr
, "out", "samr_RemoveMemberFromForeignDomain");
9773 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9779 static enum ndr_err_code
ndr_push_samr_QueryDomainInfo2(struct ndr_push
*ndr
, int flags
, const struct samr_QueryDomainInfo2
*r
)
9781 if (flags
& NDR_IN
) {
9782 if (r
->in
.domain_handle
== NULL
) {
9783 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9785 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
9786 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->in
.level
));
9788 if (flags
& NDR_OUT
) {
9789 if (r
->out
.info
== NULL
) {
9790 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9792 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.info
));
9794 NDR_CHECK(ndr_push_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
9795 NDR_CHECK(ndr_push_samr_DomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
9797 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9799 return NDR_ERR_SUCCESS
;
9802 static enum ndr_err_code
ndr_pull_samr_QueryDomainInfo2(struct ndr_pull
*ndr
, int flags
, struct samr_QueryDomainInfo2
*r
)
9805 TALLOC_CTX
*_mem_save_domain_handle_0
;
9806 TALLOC_CTX
*_mem_save_info_0
;
9807 TALLOC_CTX
*_mem_save_info_1
;
9808 if (flags
& NDR_IN
) {
9809 ZERO_STRUCT(r
->out
);
9811 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9812 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
9814 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9815 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
9816 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
9817 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9818 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->in
.level
));
9819 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
9820 ZERO_STRUCTP(r
->out
.info
);
9822 if (flags
& NDR_OUT
) {
9823 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9824 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
9826 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9827 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
9828 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
9830 NDR_PULL_ALLOC(ndr
, *r
->out
.info
);
9832 *r
->out
.info
= NULL
;
9835 _mem_save_info_1
= NDR_PULL_GET_MEM_CTX(ndr
);
9836 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.info
, 0);
9837 NDR_CHECK(ndr_pull_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
9838 NDR_CHECK(ndr_pull_samr_DomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
9839 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_1
, 0);
9841 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
9842 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9844 return NDR_ERR_SUCCESS
;
9847 _PUBLIC_
void ndr_print_samr_QueryDomainInfo2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_QueryDomainInfo2
*r
)
9849 ndr_print_struct(ndr
, name
, "samr_QueryDomainInfo2");
9851 if (flags
& NDR_SET_VALUES
) {
9852 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9854 if (flags
& NDR_IN
) {
9855 ndr_print_struct(ndr
, "in", "samr_QueryDomainInfo2");
9857 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
9859 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
9861 ndr_print_uint16(ndr
, "level", r
->in
.level
);
9864 if (flags
& NDR_OUT
) {
9865 ndr_print_struct(ndr
, "out", "samr_QueryDomainInfo2");
9867 ndr_print_ptr(ndr
, "info", r
->out
.info
);
9869 ndr_print_ptr(ndr
, "info", *r
->out
.info
);
9872 ndr_print_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
);
9873 ndr_print_samr_DomainInfo(ndr
, "info", *r
->out
.info
);
9877 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9883 static enum ndr_err_code
ndr_push_samr_QueryUserInfo2(struct ndr_push
*ndr
, int flags
, const struct samr_QueryUserInfo2
*r
)
9885 if (flags
& NDR_IN
) {
9886 if (r
->in
.user_handle
== NULL
) {
9887 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9889 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
9890 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->in
.level
));
9892 if (flags
& NDR_OUT
) {
9893 if (r
->out
.info
== NULL
) {
9894 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9896 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.info
));
9898 NDR_CHECK(ndr_push_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
9899 NDR_CHECK(ndr_push_samr_UserInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
9901 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9903 return NDR_ERR_SUCCESS
;
9906 static enum ndr_err_code
ndr_pull_samr_QueryUserInfo2(struct ndr_pull
*ndr
, int flags
, struct samr_QueryUserInfo2
*r
)
9909 TALLOC_CTX
*_mem_save_user_handle_0
;
9910 TALLOC_CTX
*_mem_save_info_0
;
9911 TALLOC_CTX
*_mem_save_info_1
;
9912 if (flags
& NDR_IN
) {
9913 ZERO_STRUCT(r
->out
);
9915 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9916 NDR_PULL_ALLOC(ndr
, r
->in
.user_handle
);
9918 _mem_save_user_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9919 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.user_handle
, LIBNDR_FLAG_REF_ALLOC
);
9920 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
9921 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_user_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9922 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->in
.level
));
9923 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
9924 ZERO_STRUCTP(r
->out
.info
);
9926 if (flags
& NDR_OUT
) {
9927 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9928 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
9930 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9931 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
9932 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
9934 NDR_PULL_ALLOC(ndr
, *r
->out
.info
);
9936 *r
->out
.info
= NULL
;
9939 _mem_save_info_1
= NDR_PULL_GET_MEM_CTX(ndr
);
9940 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.info
, 0);
9941 NDR_CHECK(ndr_pull_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
9942 NDR_CHECK(ndr_pull_samr_UserInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
9943 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_1
, 0);
9945 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
9946 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9948 return NDR_ERR_SUCCESS
;
9951 _PUBLIC_
void ndr_print_samr_QueryUserInfo2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_QueryUserInfo2
*r
)
9953 ndr_print_struct(ndr
, name
, "samr_QueryUserInfo2");
9955 if (flags
& NDR_SET_VALUES
) {
9956 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9958 if (flags
& NDR_IN
) {
9959 ndr_print_struct(ndr
, "in", "samr_QueryUserInfo2");
9961 ndr_print_ptr(ndr
, "user_handle", r
->in
.user_handle
);
9963 ndr_print_policy_handle(ndr
, "user_handle", r
->in
.user_handle
);
9965 ndr_print_uint16(ndr
, "level", r
->in
.level
);
9968 if (flags
& NDR_OUT
) {
9969 ndr_print_struct(ndr
, "out", "samr_QueryUserInfo2");
9971 ndr_print_ptr(ndr
, "info", r
->out
.info
);
9973 ndr_print_ptr(ndr
, "info", *r
->out
.info
);
9976 ndr_print_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
);
9977 ndr_print_samr_UserInfo(ndr
, "info", *r
->out
.info
);
9981 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9987 static enum ndr_err_code
ndr_push_samr_QueryDisplayInfo2(struct ndr_push
*ndr
, int flags
, const struct samr_QueryDisplayInfo2
*r
)
9989 if (flags
& NDR_IN
) {
9990 if (r
->in
.domain_handle
== NULL
) {
9991 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9993 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
9994 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->in
.level
));
9995 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.start_idx
));
9996 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.max_entries
));
9997 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.buf_size
));
9999 if (flags
& NDR_OUT
) {
10000 if (r
->out
.total_size
== NULL
) {
10001 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10003 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.total_size
));
10004 if (r
->out
.returned_size
== NULL
) {
10005 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10007 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.returned_size
));
10008 if (r
->out
.info
== NULL
) {
10009 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10011 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.info
, r
->in
.level
));
10012 NDR_CHECK(ndr_push_samr_DispInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.info
));
10013 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10015 return NDR_ERR_SUCCESS
;
10018 static enum ndr_err_code
ndr_pull_samr_QueryDisplayInfo2(struct ndr_pull
*ndr
, int flags
, struct samr_QueryDisplayInfo2
*r
)
10020 TALLOC_CTX
*_mem_save_domain_handle_0
;
10021 TALLOC_CTX
*_mem_save_total_size_0
;
10022 TALLOC_CTX
*_mem_save_returned_size_0
;
10023 TALLOC_CTX
*_mem_save_info_0
;
10024 if (flags
& NDR_IN
) {
10025 ZERO_STRUCT(r
->out
);
10027 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10028 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
10030 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10031 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
10032 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
10033 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10034 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->in
.level
));
10035 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.start_idx
));
10036 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.max_entries
));
10037 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.buf_size
));
10038 NDR_PULL_ALLOC(ndr
, r
->out
.total_size
);
10039 ZERO_STRUCTP(r
->out
.total_size
);
10040 NDR_PULL_ALLOC(ndr
, r
->out
.returned_size
);
10041 ZERO_STRUCTP(r
->out
.returned_size
);
10042 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
10043 ZERO_STRUCTP(r
->out
.info
);
10045 if (flags
& NDR_OUT
) {
10046 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10047 NDR_PULL_ALLOC(ndr
, r
->out
.total_size
);
10049 _mem_save_total_size_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10050 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.total_size
, LIBNDR_FLAG_REF_ALLOC
);
10051 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.total_size
));
10052 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_total_size_0
, LIBNDR_FLAG_REF_ALLOC
);
10053 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10054 NDR_PULL_ALLOC(ndr
, r
->out
.returned_size
);
10056 _mem_save_returned_size_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10057 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.returned_size
, LIBNDR_FLAG_REF_ALLOC
);
10058 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.returned_size
));
10059 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_returned_size_0
, LIBNDR_FLAG_REF_ALLOC
);
10060 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10061 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
10063 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10064 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
10065 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.info
, r
->in
.level
));
10066 NDR_CHECK(ndr_pull_samr_DispInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.info
));
10067 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
10068 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10070 return NDR_ERR_SUCCESS
;
10073 _PUBLIC_
void ndr_print_samr_QueryDisplayInfo2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_QueryDisplayInfo2
*r
)
10075 ndr_print_struct(ndr
, name
, "samr_QueryDisplayInfo2");
10077 if (flags
& NDR_SET_VALUES
) {
10078 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10080 if (flags
& NDR_IN
) {
10081 ndr_print_struct(ndr
, "in", "samr_QueryDisplayInfo2");
10083 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
10085 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
10087 ndr_print_uint16(ndr
, "level", r
->in
.level
);
10088 ndr_print_uint32(ndr
, "start_idx", r
->in
.start_idx
);
10089 ndr_print_uint32(ndr
, "max_entries", r
->in
.max_entries
);
10090 ndr_print_uint32(ndr
, "buf_size", r
->in
.buf_size
);
10093 if (flags
& NDR_OUT
) {
10094 ndr_print_struct(ndr
, "out", "samr_QueryDisplayInfo2");
10096 ndr_print_ptr(ndr
, "total_size", r
->out
.total_size
);
10098 ndr_print_uint32(ndr
, "total_size", *r
->out
.total_size
);
10100 ndr_print_ptr(ndr
, "returned_size", r
->out
.returned_size
);
10102 ndr_print_uint32(ndr
, "returned_size", *r
->out
.returned_size
);
10104 ndr_print_ptr(ndr
, "info", r
->out
.info
);
10106 ndr_print_set_switch_value(ndr
, r
->out
.info
, r
->in
.level
);
10107 ndr_print_samr_DispInfo(ndr
, "info", r
->out
.info
);
10109 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10115 static enum ndr_err_code
ndr_push_samr_GetDisplayEnumerationIndex2(struct ndr_push
*ndr
, int flags
, const struct samr_GetDisplayEnumerationIndex2
*r
)
10117 if (flags
& NDR_IN
) {
10118 if (r
->in
.domain_handle
== NULL
) {
10119 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10121 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
10122 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->in
.level
));
10123 if (r
->in
.name
== NULL
) {
10124 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10126 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.name
));
10128 if (flags
& NDR_OUT
) {
10129 if (r
->out
.idx
== NULL
) {
10130 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10132 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.idx
));
10133 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10135 return NDR_ERR_SUCCESS
;
10138 static enum ndr_err_code
ndr_pull_samr_GetDisplayEnumerationIndex2(struct ndr_pull
*ndr
, int flags
, struct samr_GetDisplayEnumerationIndex2
*r
)
10140 TALLOC_CTX
*_mem_save_domain_handle_0
;
10141 TALLOC_CTX
*_mem_save_name_0
;
10142 TALLOC_CTX
*_mem_save_idx_0
;
10143 if (flags
& NDR_IN
) {
10144 ZERO_STRUCT(r
->out
);
10146 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10147 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
10149 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10150 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
10151 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
10152 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10153 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->in
.level
));
10154 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10155 NDR_PULL_ALLOC(ndr
, r
->in
.name
);
10157 _mem_save_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10158 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.name
, LIBNDR_FLAG_REF_ALLOC
);
10159 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.name
));
10160 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_name_0
, LIBNDR_FLAG_REF_ALLOC
);
10161 NDR_PULL_ALLOC(ndr
, r
->out
.idx
);
10162 ZERO_STRUCTP(r
->out
.idx
);
10164 if (flags
& NDR_OUT
) {
10165 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10166 NDR_PULL_ALLOC(ndr
, r
->out
.idx
);
10168 _mem_save_idx_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10169 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.idx
, LIBNDR_FLAG_REF_ALLOC
);
10170 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.idx
));
10171 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_idx_0
, LIBNDR_FLAG_REF_ALLOC
);
10172 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10174 return NDR_ERR_SUCCESS
;
10177 _PUBLIC_
void ndr_print_samr_GetDisplayEnumerationIndex2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_GetDisplayEnumerationIndex2
*r
)
10179 ndr_print_struct(ndr
, name
, "samr_GetDisplayEnumerationIndex2");
10181 if (flags
& NDR_SET_VALUES
) {
10182 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10184 if (flags
& NDR_IN
) {
10185 ndr_print_struct(ndr
, "in", "samr_GetDisplayEnumerationIndex2");
10187 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
10189 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
10191 ndr_print_uint16(ndr
, "level", r
->in
.level
);
10192 ndr_print_ptr(ndr
, "name", r
->in
.name
);
10194 ndr_print_lsa_String(ndr
, "name", r
->in
.name
);
10198 if (flags
& NDR_OUT
) {
10199 ndr_print_struct(ndr
, "out", "samr_GetDisplayEnumerationIndex2");
10201 ndr_print_ptr(ndr
, "idx", r
->out
.idx
);
10203 ndr_print_uint32(ndr
, "idx", *r
->out
.idx
);
10205 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10211 static enum ndr_err_code
ndr_push_samr_CreateUser2(struct ndr_push
*ndr
, int flags
, const struct samr_CreateUser2
*r
)
10213 if (flags
& NDR_IN
) {
10214 if (r
->in
.domain_handle
== NULL
) {
10215 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10217 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
10218 if (r
->in
.account_name
== NULL
) {
10219 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10221 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.account_name
));
10222 NDR_CHECK(ndr_push_samr_AcctFlags(ndr
, NDR_SCALARS
, r
->in
.acct_flags
));
10223 NDR_CHECK(ndr_push_samr_UserAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
10225 if (flags
& NDR_OUT
) {
10226 if (r
->out
.user_handle
== NULL
) {
10227 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10229 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.user_handle
));
10230 if (r
->out
.access_granted
== 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
.access_granted
));
10234 if (r
->out
.rid
== 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
.rid
));
10238 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10240 return NDR_ERR_SUCCESS
;
10243 static enum ndr_err_code
ndr_pull_samr_CreateUser2(struct ndr_pull
*ndr
, int flags
, struct samr_CreateUser2
*r
)
10245 TALLOC_CTX
*_mem_save_domain_handle_0
;
10246 TALLOC_CTX
*_mem_save_account_name_0
;
10247 TALLOC_CTX
*_mem_save_user_handle_0
;
10248 TALLOC_CTX
*_mem_save_access_granted_0
;
10249 TALLOC_CTX
*_mem_save_rid_0
;
10250 if (flags
& NDR_IN
) {
10251 ZERO_STRUCT(r
->out
);
10253 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10254 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
10256 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10257 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
10258 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
10259 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10260 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10261 NDR_PULL_ALLOC(ndr
, r
->in
.account_name
);
10263 _mem_save_account_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10264 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.account_name
, LIBNDR_FLAG_REF_ALLOC
);
10265 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.account_name
));
10266 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_account_name_0
, LIBNDR_FLAG_REF_ALLOC
);
10267 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr
, NDR_SCALARS
, &r
->in
.acct_flags
));
10268 NDR_CHECK(ndr_pull_samr_UserAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
10269 NDR_PULL_ALLOC(ndr
, r
->out
.user_handle
);
10270 ZERO_STRUCTP(r
->out
.user_handle
);
10271 NDR_PULL_ALLOC(ndr
, r
->out
.access_granted
);
10272 ZERO_STRUCTP(r
->out
.access_granted
);
10273 NDR_PULL_ALLOC(ndr
, r
->out
.rid
);
10274 ZERO_STRUCTP(r
->out
.rid
);
10276 if (flags
& NDR_OUT
) {
10277 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10278 NDR_PULL_ALLOC(ndr
, r
->out
.user_handle
);
10280 _mem_save_user_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10281 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.user_handle
, LIBNDR_FLAG_REF_ALLOC
);
10282 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.user_handle
));
10283 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_user_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10284 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10285 NDR_PULL_ALLOC(ndr
, r
->out
.access_granted
);
10287 _mem_save_access_granted_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10288 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.access_granted
, LIBNDR_FLAG_REF_ALLOC
);
10289 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.access_granted
));
10290 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_access_granted_0
, LIBNDR_FLAG_REF_ALLOC
);
10291 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10292 NDR_PULL_ALLOC(ndr
, r
->out
.rid
);
10294 _mem_save_rid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10295 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.rid
, LIBNDR_FLAG_REF_ALLOC
);
10296 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.rid
));
10297 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rid_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_CreateUser2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_CreateUser2
*r
)
10305 ndr_print_struct(ndr
, name
, "samr_CreateUser2");
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_CreateUser2");
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_ptr(ndr
, "account_name", r
->in
.account_name
);
10319 ndr_print_lsa_String(ndr
, "account_name", r
->in
.account_name
);
10321 ndr_print_samr_AcctFlags(ndr
, "acct_flags", r
->in
.acct_flags
);
10322 ndr_print_samr_UserAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
10325 if (flags
& NDR_OUT
) {
10326 ndr_print_struct(ndr
, "out", "samr_CreateUser2");
10328 ndr_print_ptr(ndr
, "user_handle", r
->out
.user_handle
);
10330 ndr_print_policy_handle(ndr
, "user_handle", r
->out
.user_handle
);
10332 ndr_print_ptr(ndr
, "access_granted", r
->out
.access_granted
);
10334 ndr_print_uint32(ndr
, "access_granted", *r
->out
.access_granted
);
10336 ndr_print_ptr(ndr
, "rid", r
->out
.rid
);
10338 ndr_print_uint32(ndr
, "rid", *r
->out
.rid
);
10340 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10346 static enum ndr_err_code
ndr_push_samr_QueryDisplayInfo3(struct ndr_push
*ndr
, int flags
, const struct samr_QueryDisplayInfo3
*r
)
10348 if (flags
& NDR_IN
) {
10349 if (r
->in
.domain_handle
== NULL
) {
10350 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10352 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
10353 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->in
.level
));
10354 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.start_idx
));
10355 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.max_entries
));
10356 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.buf_size
));
10358 if (flags
& NDR_OUT
) {
10359 if (r
->out
.total_size
== 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
.total_size
));
10363 if (r
->out
.returned_size
== NULL
) {
10364 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10366 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.returned_size
));
10367 if (r
->out
.info
== NULL
) {
10368 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10370 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.info
, r
->in
.level
));
10371 NDR_CHECK(ndr_push_samr_DispInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.info
));
10372 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10374 return NDR_ERR_SUCCESS
;
10377 static enum ndr_err_code
ndr_pull_samr_QueryDisplayInfo3(struct ndr_pull
*ndr
, int flags
, struct samr_QueryDisplayInfo3
*r
)
10379 TALLOC_CTX
*_mem_save_domain_handle_0
;
10380 TALLOC_CTX
*_mem_save_total_size_0
;
10381 TALLOC_CTX
*_mem_save_returned_size_0
;
10382 TALLOC_CTX
*_mem_save_info_0
;
10383 if (flags
& NDR_IN
) {
10384 ZERO_STRUCT(r
->out
);
10386 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10387 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
10389 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10390 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
10391 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
10392 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10393 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->in
.level
));
10394 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.start_idx
));
10395 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.max_entries
));
10396 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.buf_size
));
10397 NDR_PULL_ALLOC(ndr
, r
->out
.total_size
);
10398 ZERO_STRUCTP(r
->out
.total_size
);
10399 NDR_PULL_ALLOC(ndr
, r
->out
.returned_size
);
10400 ZERO_STRUCTP(r
->out
.returned_size
);
10401 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
10402 ZERO_STRUCTP(r
->out
.info
);
10404 if (flags
& NDR_OUT
) {
10405 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10406 NDR_PULL_ALLOC(ndr
, r
->out
.total_size
);
10408 _mem_save_total_size_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10409 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.total_size
, LIBNDR_FLAG_REF_ALLOC
);
10410 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.total_size
));
10411 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_total_size_0
, LIBNDR_FLAG_REF_ALLOC
);
10412 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10413 NDR_PULL_ALLOC(ndr
, r
->out
.returned_size
);
10415 _mem_save_returned_size_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10416 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.returned_size
, LIBNDR_FLAG_REF_ALLOC
);
10417 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.returned_size
));
10418 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_returned_size_0
, LIBNDR_FLAG_REF_ALLOC
);
10419 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10420 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
10422 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10423 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
10424 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.info
, r
->in
.level
));
10425 NDR_CHECK(ndr_pull_samr_DispInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.info
));
10426 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
10427 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10429 return NDR_ERR_SUCCESS
;
10432 _PUBLIC_
void ndr_print_samr_QueryDisplayInfo3(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_QueryDisplayInfo3
*r
)
10434 ndr_print_struct(ndr
, name
, "samr_QueryDisplayInfo3");
10436 if (flags
& NDR_SET_VALUES
) {
10437 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10439 if (flags
& NDR_IN
) {
10440 ndr_print_struct(ndr
, "in", "samr_QueryDisplayInfo3");
10442 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
10444 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
10446 ndr_print_uint16(ndr
, "level", r
->in
.level
);
10447 ndr_print_uint32(ndr
, "start_idx", r
->in
.start_idx
);
10448 ndr_print_uint32(ndr
, "max_entries", r
->in
.max_entries
);
10449 ndr_print_uint32(ndr
, "buf_size", r
->in
.buf_size
);
10452 if (flags
& NDR_OUT
) {
10453 ndr_print_struct(ndr
, "out", "samr_QueryDisplayInfo3");
10455 ndr_print_ptr(ndr
, "total_size", r
->out
.total_size
);
10457 ndr_print_uint32(ndr
, "total_size", *r
->out
.total_size
);
10459 ndr_print_ptr(ndr
, "returned_size", r
->out
.returned_size
);
10461 ndr_print_uint32(ndr
, "returned_size", *r
->out
.returned_size
);
10463 ndr_print_ptr(ndr
, "info", r
->out
.info
);
10465 ndr_print_set_switch_value(ndr
, r
->out
.info
, r
->in
.level
);
10466 ndr_print_samr_DispInfo(ndr
, "info", r
->out
.info
);
10468 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10474 static enum ndr_err_code
ndr_push_samr_AddMultipleMembersToAlias(struct ndr_push
*ndr
, int flags
, const struct samr_AddMultipleMembersToAlias
*r
)
10476 if (flags
& NDR_IN
) {
10477 if (r
->in
.alias_handle
== NULL
) {
10478 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10480 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
10481 if (r
->in
.sids
== NULL
) {
10482 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10484 NDR_CHECK(ndr_push_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
10486 if (flags
& NDR_OUT
) {
10487 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10489 return NDR_ERR_SUCCESS
;
10492 static enum ndr_err_code
ndr_pull_samr_AddMultipleMembersToAlias(struct ndr_pull
*ndr
, int flags
, struct samr_AddMultipleMembersToAlias
*r
)
10494 TALLOC_CTX
*_mem_save_alias_handle_0
;
10495 TALLOC_CTX
*_mem_save_sids_0
;
10496 if (flags
& NDR_IN
) {
10497 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10498 NDR_PULL_ALLOC(ndr
, r
->in
.alias_handle
);
10500 _mem_save_alias_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10501 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.alias_handle
, LIBNDR_FLAG_REF_ALLOC
);
10502 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
10503 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_alias_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10504 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10505 NDR_PULL_ALLOC(ndr
, r
->in
.sids
);
10507 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10508 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sids
, LIBNDR_FLAG_REF_ALLOC
);
10509 NDR_CHECK(ndr_pull_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
10510 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, LIBNDR_FLAG_REF_ALLOC
);
10512 if (flags
& NDR_OUT
) {
10513 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10515 return NDR_ERR_SUCCESS
;
10518 _PUBLIC_
void ndr_print_samr_AddMultipleMembersToAlias(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_AddMultipleMembersToAlias
*r
)
10520 ndr_print_struct(ndr
, name
, "samr_AddMultipleMembersToAlias");
10522 if (flags
& NDR_SET_VALUES
) {
10523 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10525 if (flags
& NDR_IN
) {
10526 ndr_print_struct(ndr
, "in", "samr_AddMultipleMembersToAlias");
10528 ndr_print_ptr(ndr
, "alias_handle", r
->in
.alias_handle
);
10530 ndr_print_policy_handle(ndr
, "alias_handle", r
->in
.alias_handle
);
10532 ndr_print_ptr(ndr
, "sids", r
->in
.sids
);
10534 ndr_print_lsa_SidArray(ndr
, "sids", r
->in
.sids
);
10538 if (flags
& NDR_OUT
) {
10539 ndr_print_struct(ndr
, "out", "samr_AddMultipleMembersToAlias");
10541 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10547 static enum ndr_err_code
ndr_push_samr_RemoveMultipleMembersFromAlias(struct ndr_push
*ndr
, int flags
, const struct samr_RemoveMultipleMembersFromAlias
*r
)
10549 if (flags
& NDR_IN
) {
10550 if (r
->in
.alias_handle
== NULL
) {
10551 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10553 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
10554 if (r
->in
.sids
== NULL
) {
10555 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10557 NDR_CHECK(ndr_push_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
10559 if (flags
& NDR_OUT
) {
10560 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10562 return NDR_ERR_SUCCESS
;
10565 static enum ndr_err_code
ndr_pull_samr_RemoveMultipleMembersFromAlias(struct ndr_pull
*ndr
, int flags
, struct samr_RemoveMultipleMembersFromAlias
*r
)
10567 TALLOC_CTX
*_mem_save_alias_handle_0
;
10568 TALLOC_CTX
*_mem_save_sids_0
;
10569 if (flags
& NDR_IN
) {
10570 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10571 NDR_PULL_ALLOC(ndr
, r
->in
.alias_handle
);
10573 _mem_save_alias_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10574 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.alias_handle
, LIBNDR_FLAG_REF_ALLOC
);
10575 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
10576 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_alias_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10577 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10578 NDR_PULL_ALLOC(ndr
, r
->in
.sids
);
10580 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10581 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sids
, LIBNDR_FLAG_REF_ALLOC
);
10582 NDR_CHECK(ndr_pull_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
10583 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, LIBNDR_FLAG_REF_ALLOC
);
10585 if (flags
& NDR_OUT
) {
10586 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10588 return NDR_ERR_SUCCESS
;
10591 _PUBLIC_
void ndr_print_samr_RemoveMultipleMembersFromAlias(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_RemoveMultipleMembersFromAlias
*r
)
10593 ndr_print_struct(ndr
, name
, "samr_RemoveMultipleMembersFromAlias");
10595 if (flags
& NDR_SET_VALUES
) {
10596 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10598 if (flags
& NDR_IN
) {
10599 ndr_print_struct(ndr
, "in", "samr_RemoveMultipleMembersFromAlias");
10601 ndr_print_ptr(ndr
, "alias_handle", r
->in
.alias_handle
);
10603 ndr_print_policy_handle(ndr
, "alias_handle", r
->in
.alias_handle
);
10605 ndr_print_ptr(ndr
, "sids", r
->in
.sids
);
10607 ndr_print_lsa_SidArray(ndr
, "sids", r
->in
.sids
);
10611 if (flags
& NDR_OUT
) {
10612 ndr_print_struct(ndr
, "out", "samr_RemoveMultipleMembersFromAlias");
10614 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10620 static enum ndr_err_code
ndr_push_samr_OemChangePasswordUser2(struct ndr_push
*ndr
, int flags
, const struct samr_OemChangePasswordUser2
*r
)
10622 if (flags
& NDR_IN
) {
10623 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.server
));
10624 if (r
->in
.server
) {
10625 NDR_CHECK(ndr_push_lsa_AsciiString(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.server
));
10627 if (r
->in
.account
== NULL
) {
10628 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10630 NDR_CHECK(ndr_push_lsa_AsciiString(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.account
));
10631 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.password
));
10632 if (r
->in
.password
) {
10633 NDR_CHECK(ndr_push_samr_CryptPassword(ndr
, NDR_SCALARS
, r
->in
.password
));
10635 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.hash
));
10637 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, r
->in
.hash
));
10640 if (flags
& NDR_OUT
) {
10641 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10643 return NDR_ERR_SUCCESS
;
10646 static enum ndr_err_code
ndr_pull_samr_OemChangePasswordUser2(struct ndr_pull
*ndr
, int flags
, struct samr_OemChangePasswordUser2
*r
)
10648 uint32_t _ptr_server
;
10649 uint32_t _ptr_password
;
10650 uint32_t _ptr_hash
;
10651 TALLOC_CTX
*_mem_save_server_0
;
10652 TALLOC_CTX
*_mem_save_account_0
;
10653 TALLOC_CTX
*_mem_save_password_0
;
10654 TALLOC_CTX
*_mem_save_hash_0
;
10655 if (flags
& NDR_IN
) {
10656 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_server
));
10658 NDR_PULL_ALLOC(ndr
, r
->in
.server
);
10660 r
->in
.server
= NULL
;
10662 if (r
->in
.server
) {
10663 _mem_save_server_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10664 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.server
, 0);
10665 NDR_CHECK(ndr_pull_lsa_AsciiString(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.server
));
10666 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_server_0
, 0);
10668 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10669 NDR_PULL_ALLOC(ndr
, r
->in
.account
);
10671 _mem_save_account_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10672 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.account
, LIBNDR_FLAG_REF_ALLOC
);
10673 NDR_CHECK(ndr_pull_lsa_AsciiString(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.account
));
10674 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_account_0
, LIBNDR_FLAG_REF_ALLOC
);
10675 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_password
));
10676 if (_ptr_password
) {
10677 NDR_PULL_ALLOC(ndr
, r
->in
.password
);
10679 r
->in
.password
= NULL
;
10681 if (r
->in
.password
) {
10682 _mem_save_password_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10683 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.password
, 0);
10684 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr
, NDR_SCALARS
, r
->in
.password
));
10685 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_password_0
, 0);
10687 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_hash
));
10689 NDR_PULL_ALLOC(ndr
, r
->in
.hash
);
10694 _mem_save_hash_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10695 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.hash
, 0);
10696 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, r
->in
.hash
));
10697 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_hash_0
, 0);
10700 if (flags
& NDR_OUT
) {
10701 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10703 return NDR_ERR_SUCCESS
;
10706 _PUBLIC_
void ndr_print_samr_OemChangePasswordUser2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_OemChangePasswordUser2
*r
)
10708 ndr_print_struct(ndr
, name
, "samr_OemChangePasswordUser2");
10710 if (flags
& NDR_SET_VALUES
) {
10711 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10713 if (flags
& NDR_IN
) {
10714 ndr_print_struct(ndr
, "in", "samr_OemChangePasswordUser2");
10716 ndr_print_ptr(ndr
, "server", r
->in
.server
);
10718 if (r
->in
.server
) {
10719 ndr_print_lsa_AsciiString(ndr
, "server", r
->in
.server
);
10722 ndr_print_ptr(ndr
, "account", r
->in
.account
);
10724 ndr_print_lsa_AsciiString(ndr
, "account", r
->in
.account
);
10726 ndr_print_ptr(ndr
, "password", r
->in
.password
);
10728 if (r
->in
.password
) {
10729 ndr_print_samr_CryptPassword(ndr
, "password", r
->in
.password
);
10732 ndr_print_ptr(ndr
, "hash", r
->in
.hash
);
10735 ndr_print_samr_Password(ndr
, "hash", r
->in
.hash
);
10740 if (flags
& NDR_OUT
) {
10741 ndr_print_struct(ndr
, "out", "samr_OemChangePasswordUser2");
10743 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10749 static enum ndr_err_code
ndr_push_samr_ChangePasswordUser2(struct ndr_push
*ndr
, int flags
, const struct samr_ChangePasswordUser2
*r
)
10751 if (flags
& NDR_IN
) {
10752 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.server
));
10753 if (r
->in
.server
) {
10754 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.server
));
10756 if (r
->in
.account
== NULL
) {
10757 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10759 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.account
));
10760 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.nt_password
));
10761 if (r
->in
.nt_password
) {
10762 NDR_CHECK(ndr_push_samr_CryptPassword(ndr
, NDR_SCALARS
, r
->in
.nt_password
));
10764 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.nt_verifier
));
10765 if (r
->in
.nt_verifier
) {
10766 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, r
->in
.nt_verifier
));
10768 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->in
.lm_change
));
10769 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.lm_password
));
10770 if (r
->in
.lm_password
) {
10771 NDR_CHECK(ndr_push_samr_CryptPassword(ndr
, NDR_SCALARS
, r
->in
.lm_password
));
10773 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.lm_verifier
));
10774 if (r
->in
.lm_verifier
) {
10775 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, r
->in
.lm_verifier
));
10778 if (flags
& NDR_OUT
) {
10779 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10781 return NDR_ERR_SUCCESS
;
10784 static enum ndr_err_code
ndr_pull_samr_ChangePasswordUser2(struct ndr_pull
*ndr
, int flags
, struct samr_ChangePasswordUser2
*r
)
10786 uint32_t _ptr_server
;
10787 uint32_t _ptr_nt_password
;
10788 uint32_t _ptr_nt_verifier
;
10789 uint32_t _ptr_lm_password
;
10790 uint32_t _ptr_lm_verifier
;
10791 TALLOC_CTX
*_mem_save_server_0
;
10792 TALLOC_CTX
*_mem_save_account_0
;
10793 TALLOC_CTX
*_mem_save_nt_password_0
;
10794 TALLOC_CTX
*_mem_save_nt_verifier_0
;
10795 TALLOC_CTX
*_mem_save_lm_password_0
;
10796 TALLOC_CTX
*_mem_save_lm_verifier_0
;
10797 if (flags
& NDR_IN
) {
10798 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_server
));
10800 NDR_PULL_ALLOC(ndr
, r
->in
.server
);
10802 r
->in
.server
= NULL
;
10804 if (r
->in
.server
) {
10805 _mem_save_server_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10806 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.server
, 0);
10807 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.server
));
10808 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_server_0
, 0);
10810 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10811 NDR_PULL_ALLOC(ndr
, r
->in
.account
);
10813 _mem_save_account_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10814 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.account
, LIBNDR_FLAG_REF_ALLOC
);
10815 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.account
));
10816 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_account_0
, LIBNDR_FLAG_REF_ALLOC
);
10817 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_nt_password
));
10818 if (_ptr_nt_password
) {
10819 NDR_PULL_ALLOC(ndr
, r
->in
.nt_password
);
10821 r
->in
.nt_password
= NULL
;
10823 if (r
->in
.nt_password
) {
10824 _mem_save_nt_password_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10825 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.nt_password
, 0);
10826 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr
, NDR_SCALARS
, r
->in
.nt_password
));
10827 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_nt_password_0
, 0);
10829 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_nt_verifier
));
10830 if (_ptr_nt_verifier
) {
10831 NDR_PULL_ALLOC(ndr
, r
->in
.nt_verifier
);
10833 r
->in
.nt_verifier
= NULL
;
10835 if (r
->in
.nt_verifier
) {
10836 _mem_save_nt_verifier_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10837 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.nt_verifier
, 0);
10838 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, r
->in
.nt_verifier
));
10839 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_nt_verifier_0
, 0);
10841 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->in
.lm_change
));
10842 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_lm_password
));
10843 if (_ptr_lm_password
) {
10844 NDR_PULL_ALLOC(ndr
, r
->in
.lm_password
);
10846 r
->in
.lm_password
= NULL
;
10848 if (r
->in
.lm_password
) {
10849 _mem_save_lm_password_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10850 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.lm_password
, 0);
10851 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr
, NDR_SCALARS
, r
->in
.lm_password
));
10852 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_lm_password_0
, 0);
10854 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_lm_verifier
));
10855 if (_ptr_lm_verifier
) {
10856 NDR_PULL_ALLOC(ndr
, r
->in
.lm_verifier
);
10858 r
->in
.lm_verifier
= NULL
;
10860 if (r
->in
.lm_verifier
) {
10861 _mem_save_lm_verifier_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10862 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.lm_verifier
, 0);
10863 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, r
->in
.lm_verifier
));
10864 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_lm_verifier_0
, 0);
10867 if (flags
& NDR_OUT
) {
10868 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10870 return NDR_ERR_SUCCESS
;
10873 _PUBLIC_
void ndr_print_samr_ChangePasswordUser2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_ChangePasswordUser2
*r
)
10875 ndr_print_struct(ndr
, name
, "samr_ChangePasswordUser2");
10877 if (flags
& NDR_SET_VALUES
) {
10878 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10880 if (flags
& NDR_IN
) {
10881 ndr_print_struct(ndr
, "in", "samr_ChangePasswordUser2");
10883 ndr_print_ptr(ndr
, "server", r
->in
.server
);
10885 if (r
->in
.server
) {
10886 ndr_print_lsa_String(ndr
, "server", r
->in
.server
);
10889 ndr_print_ptr(ndr
, "account", r
->in
.account
);
10891 ndr_print_lsa_String(ndr
, "account", r
->in
.account
);
10893 ndr_print_ptr(ndr
, "nt_password", r
->in
.nt_password
);
10895 if (r
->in
.nt_password
) {
10896 ndr_print_samr_CryptPassword(ndr
, "nt_password", r
->in
.nt_password
);
10899 ndr_print_ptr(ndr
, "nt_verifier", r
->in
.nt_verifier
);
10901 if (r
->in
.nt_verifier
) {
10902 ndr_print_samr_Password(ndr
, "nt_verifier", r
->in
.nt_verifier
);
10905 ndr_print_uint8(ndr
, "lm_change", r
->in
.lm_change
);
10906 ndr_print_ptr(ndr
, "lm_password", r
->in
.lm_password
);
10908 if (r
->in
.lm_password
) {
10909 ndr_print_samr_CryptPassword(ndr
, "lm_password", r
->in
.lm_password
);
10912 ndr_print_ptr(ndr
, "lm_verifier", r
->in
.lm_verifier
);
10914 if (r
->in
.lm_verifier
) {
10915 ndr_print_samr_Password(ndr
, "lm_verifier", r
->in
.lm_verifier
);
10920 if (flags
& NDR_OUT
) {
10921 ndr_print_struct(ndr
, "out", "samr_ChangePasswordUser2");
10923 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10929 static enum ndr_err_code
ndr_push_samr_GetDomPwInfo(struct ndr_push
*ndr
, int flags
, const struct samr_GetDomPwInfo
*r
)
10931 if (flags
& NDR_IN
) {
10932 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.domain_name
));
10933 if (r
->in
.domain_name
) {
10934 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.domain_name
));
10937 if (flags
& NDR_OUT
) {
10938 if (r
->out
.info
== NULL
) {
10939 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10941 NDR_CHECK(ndr_push_samr_PwInfo(ndr
, NDR_SCALARS
, r
->out
.info
));
10942 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10944 return NDR_ERR_SUCCESS
;
10947 static enum ndr_err_code
ndr_pull_samr_GetDomPwInfo(struct ndr_pull
*ndr
, int flags
, struct samr_GetDomPwInfo
*r
)
10949 uint32_t _ptr_domain_name
;
10950 TALLOC_CTX
*_mem_save_domain_name_0
;
10951 TALLOC_CTX
*_mem_save_info_0
;
10952 if (flags
& NDR_IN
) {
10953 ZERO_STRUCT(r
->out
);
10955 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_domain_name
));
10956 if (_ptr_domain_name
) {
10957 NDR_PULL_ALLOC(ndr
, r
->in
.domain_name
);
10959 r
->in
.domain_name
= NULL
;
10961 if (r
->in
.domain_name
) {
10962 _mem_save_domain_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10963 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_name
, 0);
10964 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.domain_name
));
10965 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_name_0
, 0);
10967 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
10968 ZERO_STRUCTP(r
->out
.info
);
10970 if (flags
& NDR_OUT
) {
10971 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10972 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
10974 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10975 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
10976 NDR_CHECK(ndr_pull_samr_PwInfo(ndr
, NDR_SCALARS
, r
->out
.info
));
10977 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
10978 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10980 return NDR_ERR_SUCCESS
;
10983 _PUBLIC_
void ndr_print_samr_GetDomPwInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_GetDomPwInfo
*r
)
10985 ndr_print_struct(ndr
, name
, "samr_GetDomPwInfo");
10987 if (flags
& NDR_SET_VALUES
) {
10988 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10990 if (flags
& NDR_IN
) {
10991 ndr_print_struct(ndr
, "in", "samr_GetDomPwInfo");
10993 ndr_print_ptr(ndr
, "domain_name", r
->in
.domain_name
);
10995 if (r
->in
.domain_name
) {
10996 ndr_print_lsa_String(ndr
, "domain_name", r
->in
.domain_name
);
11001 if (flags
& NDR_OUT
) {
11002 ndr_print_struct(ndr
, "out", "samr_GetDomPwInfo");
11004 ndr_print_ptr(ndr
, "info", r
->out
.info
);
11006 ndr_print_samr_PwInfo(ndr
, "info", r
->out
.info
);
11008 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11014 static enum ndr_err_code
ndr_push_samr_Connect2(struct ndr_push
*ndr
, int flags
, const struct samr_Connect2
*r
)
11016 if (flags
& NDR_IN
) {
11017 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.system_name
));
11018 if (r
->in
.system_name
) {
11019 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->in
.system_name
, CH_UTF16
)));
11020 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
11021 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->in
.system_name
, CH_UTF16
)));
11022 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
));
11024 NDR_CHECK(ndr_push_samr_ConnectAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
11026 if (flags
& NDR_OUT
) {
11027 if (r
->out
.connect_handle
== NULL
) {
11028 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11030 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.connect_handle
));
11031 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11033 return NDR_ERR_SUCCESS
;
11036 static enum ndr_err_code
ndr_pull_samr_Connect2(struct ndr_pull
*ndr
, int flags
, struct samr_Connect2
*r
)
11038 uint32_t _ptr_system_name
;
11039 TALLOC_CTX
*_mem_save_system_name_0
;
11040 TALLOC_CTX
*_mem_save_connect_handle_0
;
11041 if (flags
& NDR_IN
) {
11042 ZERO_STRUCT(r
->out
);
11044 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_system_name
));
11045 if (_ptr_system_name
) {
11046 NDR_PULL_ALLOC(ndr
, r
->in
.system_name
);
11048 r
->in
.system_name
= NULL
;
11050 if (r
->in
.system_name
) {
11051 _mem_save_system_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11052 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.system_name
, 0);
11053 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->in
.system_name
));
11054 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->in
.system_name
));
11055 if (ndr_get_array_length(ndr
, &r
->in
.system_name
) > ndr_get_array_size(ndr
, &r
->in
.system_name
)) {
11056 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
));
11058 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->in
.system_name
), sizeof(uint16_t)));
11059 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
));
11060 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_system_name_0
, 0);
11062 NDR_CHECK(ndr_pull_samr_ConnectAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
11063 NDR_PULL_ALLOC(ndr
, r
->out
.connect_handle
);
11064 ZERO_STRUCTP(r
->out
.connect_handle
);
11066 if (flags
& NDR_OUT
) {
11067 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11068 NDR_PULL_ALLOC(ndr
, r
->out
.connect_handle
);
11070 _mem_save_connect_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11071 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.connect_handle
, LIBNDR_FLAG_REF_ALLOC
);
11072 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.connect_handle
));
11073 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_connect_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
11074 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11076 return NDR_ERR_SUCCESS
;
11079 _PUBLIC_
void ndr_print_samr_Connect2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_Connect2
*r
)
11081 ndr_print_struct(ndr
, name
, "samr_Connect2");
11083 if (flags
& NDR_SET_VALUES
) {
11084 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11086 if (flags
& NDR_IN
) {
11087 ndr_print_struct(ndr
, "in", "samr_Connect2");
11089 ndr_print_ptr(ndr
, "system_name", r
->in
.system_name
);
11091 if (r
->in
.system_name
) {
11092 ndr_print_string(ndr
, "system_name", r
->in
.system_name
);
11095 ndr_print_samr_ConnectAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
11098 if (flags
& NDR_OUT
) {
11099 ndr_print_struct(ndr
, "out", "samr_Connect2");
11101 ndr_print_ptr(ndr
, "connect_handle", r
->out
.connect_handle
);
11103 ndr_print_policy_handle(ndr
, "connect_handle", r
->out
.connect_handle
);
11105 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11111 _PUBLIC_
enum ndr_err_code
ndr_push_samr_SetUserInfo2(struct ndr_push
*ndr
, int flags
, const struct samr_SetUserInfo2
*r
)
11113 if (flags
& NDR_IN
) {
11114 if (r
->in
.user_handle
== NULL
) {
11115 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11117 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
11118 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->in
.level
));
11119 if (r
->in
.info
== NULL
) {
11120 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11122 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
11123 NDR_CHECK(ndr_push_samr_UserInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
11125 if (flags
& NDR_OUT
) {
11126 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11128 return NDR_ERR_SUCCESS
;
11131 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_SetUserInfo2(struct ndr_pull
*ndr
, int flags
, struct samr_SetUserInfo2
*r
)
11133 TALLOC_CTX
*_mem_save_user_handle_0
;
11134 TALLOC_CTX
*_mem_save_info_0
;
11135 if (flags
& NDR_IN
) {
11136 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11137 NDR_PULL_ALLOC(ndr
, r
->in
.user_handle
);
11139 _mem_save_user_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11140 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.user_handle
, LIBNDR_FLAG_REF_ALLOC
);
11141 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
11142 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_user_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
11143 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->in
.level
));
11144 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11145 NDR_PULL_ALLOC(ndr
, r
->in
.info
);
11147 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11148 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.info
, LIBNDR_FLAG_REF_ALLOC
);
11149 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
11150 NDR_CHECK(ndr_pull_samr_UserInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
11151 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
11153 if (flags
& NDR_OUT
) {
11154 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11156 return NDR_ERR_SUCCESS
;
11159 _PUBLIC_
void ndr_print_samr_SetUserInfo2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_SetUserInfo2
*r
)
11161 ndr_print_struct(ndr
, name
, "samr_SetUserInfo2");
11163 if (flags
& NDR_SET_VALUES
) {
11164 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11166 if (flags
& NDR_IN
) {
11167 ndr_print_struct(ndr
, "in", "samr_SetUserInfo2");
11169 ndr_print_ptr(ndr
, "user_handle", r
->in
.user_handle
);
11171 ndr_print_policy_handle(ndr
, "user_handle", r
->in
.user_handle
);
11173 ndr_print_uint16(ndr
, "level", r
->in
.level
);
11174 ndr_print_ptr(ndr
, "info", r
->in
.info
);
11176 ndr_print_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
);
11177 ndr_print_samr_UserInfo(ndr
, "info", r
->in
.info
);
11181 if (flags
& NDR_OUT
) {
11182 ndr_print_struct(ndr
, "out", "samr_SetUserInfo2");
11184 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11190 static enum ndr_err_code
ndr_push_samr_SetBootKeyInformation(struct ndr_push
*ndr
, int flags
, const struct samr_SetBootKeyInformation
*r
)
11192 if (flags
& NDR_IN
) {
11193 if (r
->in
.connect_handle
== NULL
) {
11194 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11196 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.connect_handle
));
11197 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.unknown1
));
11198 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.unknown2
));
11199 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.unknown3
));
11201 if (flags
& NDR_OUT
) {
11202 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11204 return NDR_ERR_SUCCESS
;
11207 static enum ndr_err_code
ndr_pull_samr_SetBootKeyInformation(struct ndr_pull
*ndr
, int flags
, struct samr_SetBootKeyInformation
*r
)
11209 TALLOC_CTX
*_mem_save_connect_handle_0
;
11210 if (flags
& NDR_IN
) {
11211 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11212 NDR_PULL_ALLOC(ndr
, r
->in
.connect_handle
);
11214 _mem_save_connect_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11215 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.connect_handle
, LIBNDR_FLAG_REF_ALLOC
);
11216 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.connect_handle
));
11217 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_connect_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
11218 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.unknown1
));
11219 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.unknown2
));
11220 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.unknown3
));
11222 if (flags
& NDR_OUT
) {
11223 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11225 return NDR_ERR_SUCCESS
;
11228 _PUBLIC_
void ndr_print_samr_SetBootKeyInformation(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_SetBootKeyInformation
*r
)
11230 ndr_print_struct(ndr
, name
, "samr_SetBootKeyInformation");
11232 if (flags
& NDR_SET_VALUES
) {
11233 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11235 if (flags
& NDR_IN
) {
11236 ndr_print_struct(ndr
, "in", "samr_SetBootKeyInformation");
11238 ndr_print_ptr(ndr
, "connect_handle", r
->in
.connect_handle
);
11240 ndr_print_policy_handle(ndr
, "connect_handle", r
->in
.connect_handle
);
11242 ndr_print_uint32(ndr
, "unknown1", r
->in
.unknown1
);
11243 ndr_print_uint32(ndr
, "unknown2", r
->in
.unknown2
);
11244 ndr_print_uint32(ndr
, "unknown3", r
->in
.unknown3
);
11247 if (flags
& NDR_OUT
) {
11248 ndr_print_struct(ndr
, "out", "samr_SetBootKeyInformation");
11250 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11256 static enum ndr_err_code
ndr_push_samr_GetBootKeyInformation(struct ndr_push
*ndr
, int flags
, const struct samr_GetBootKeyInformation
*r
)
11258 if (flags
& NDR_IN
) {
11259 if (r
->in
.domain_handle
== NULL
) {
11260 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11262 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
11264 if (flags
& NDR_OUT
) {
11265 if (r
->out
.unknown
== NULL
) {
11266 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11268 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.unknown
));
11269 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11271 return NDR_ERR_SUCCESS
;
11274 static enum ndr_err_code
ndr_pull_samr_GetBootKeyInformation(struct ndr_pull
*ndr
, int flags
, struct samr_GetBootKeyInformation
*r
)
11276 TALLOC_CTX
*_mem_save_domain_handle_0
;
11277 TALLOC_CTX
*_mem_save_unknown_0
;
11278 if (flags
& NDR_IN
) {
11279 ZERO_STRUCT(r
->out
);
11281 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11282 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
11284 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11285 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
11286 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
11287 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
11288 NDR_PULL_ALLOC(ndr
, r
->out
.unknown
);
11289 ZERO_STRUCTP(r
->out
.unknown
);
11291 if (flags
& NDR_OUT
) {
11292 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11293 NDR_PULL_ALLOC(ndr
, r
->out
.unknown
);
11295 _mem_save_unknown_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11296 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.unknown
, LIBNDR_FLAG_REF_ALLOC
);
11297 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.unknown
));
11298 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_unknown_0
, LIBNDR_FLAG_REF_ALLOC
);
11299 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11301 return NDR_ERR_SUCCESS
;
11304 _PUBLIC_
void ndr_print_samr_GetBootKeyInformation(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_GetBootKeyInformation
*r
)
11306 ndr_print_struct(ndr
, name
, "samr_GetBootKeyInformation");
11308 if (flags
& NDR_SET_VALUES
) {
11309 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11311 if (flags
& NDR_IN
) {
11312 ndr_print_struct(ndr
, "in", "samr_GetBootKeyInformation");
11314 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
11316 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
11320 if (flags
& NDR_OUT
) {
11321 ndr_print_struct(ndr
, "out", "samr_GetBootKeyInformation");
11323 ndr_print_ptr(ndr
, "unknown", r
->out
.unknown
);
11325 ndr_print_uint32(ndr
, "unknown", *r
->out
.unknown
);
11327 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11333 static enum ndr_err_code
ndr_push_samr_Connect3(struct ndr_push
*ndr
, int flags
, const struct samr_Connect3
*r
)
11335 if (flags
& NDR_IN
) {
11336 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.system_name
));
11337 if (r
->in
.system_name
) {
11338 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->in
.system_name
, CH_UTF16
)));
11339 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
11340 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->in
.system_name
, CH_UTF16
)));
11341 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
));
11343 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.unknown
));
11344 NDR_CHECK(ndr_push_samr_ConnectAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
11346 if (flags
& NDR_OUT
) {
11347 if (r
->out
.connect_handle
== NULL
) {
11348 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11350 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.connect_handle
));
11351 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11353 return NDR_ERR_SUCCESS
;
11356 static enum ndr_err_code
ndr_pull_samr_Connect3(struct ndr_pull
*ndr
, int flags
, struct samr_Connect3
*r
)
11358 uint32_t _ptr_system_name
;
11359 TALLOC_CTX
*_mem_save_system_name_0
;
11360 TALLOC_CTX
*_mem_save_connect_handle_0
;
11361 if (flags
& NDR_IN
) {
11362 ZERO_STRUCT(r
->out
);
11364 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_system_name
));
11365 if (_ptr_system_name
) {
11366 NDR_PULL_ALLOC(ndr
, r
->in
.system_name
);
11368 r
->in
.system_name
= NULL
;
11370 if (r
->in
.system_name
) {
11371 _mem_save_system_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11372 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.system_name
, 0);
11373 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->in
.system_name
));
11374 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->in
.system_name
));
11375 if (ndr_get_array_length(ndr
, &r
->in
.system_name
) > ndr_get_array_size(ndr
, &r
->in
.system_name
)) {
11376 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
));
11378 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->in
.system_name
), sizeof(uint16_t)));
11379 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
));
11380 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_system_name_0
, 0);
11382 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.unknown
));
11383 NDR_CHECK(ndr_pull_samr_ConnectAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
11384 NDR_PULL_ALLOC(ndr
, r
->out
.connect_handle
);
11385 ZERO_STRUCTP(r
->out
.connect_handle
);
11387 if (flags
& NDR_OUT
) {
11388 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11389 NDR_PULL_ALLOC(ndr
, r
->out
.connect_handle
);
11391 _mem_save_connect_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11392 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.connect_handle
, LIBNDR_FLAG_REF_ALLOC
);
11393 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.connect_handle
));
11394 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_connect_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
11395 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11397 return NDR_ERR_SUCCESS
;
11400 _PUBLIC_
void ndr_print_samr_Connect3(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_Connect3
*r
)
11402 ndr_print_struct(ndr
, name
, "samr_Connect3");
11404 if (flags
& NDR_SET_VALUES
) {
11405 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11407 if (flags
& NDR_IN
) {
11408 ndr_print_struct(ndr
, "in", "samr_Connect3");
11410 ndr_print_ptr(ndr
, "system_name", r
->in
.system_name
);
11412 if (r
->in
.system_name
) {
11413 ndr_print_string(ndr
, "system_name", r
->in
.system_name
);
11416 ndr_print_uint32(ndr
, "unknown", r
->in
.unknown
);
11417 ndr_print_samr_ConnectAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
11420 if (flags
& NDR_OUT
) {
11421 ndr_print_struct(ndr
, "out", "samr_Connect3");
11423 ndr_print_ptr(ndr
, "connect_handle", r
->out
.connect_handle
);
11425 ndr_print_policy_handle(ndr
, "connect_handle", r
->out
.connect_handle
);
11427 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11433 static enum ndr_err_code
ndr_push_samr_Connect4(struct ndr_push
*ndr
, int flags
, const struct samr_Connect4
*r
)
11435 if (flags
& NDR_IN
) {
11436 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.system_name
));
11437 if (r
->in
.system_name
) {
11438 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->in
.system_name
, CH_UTF16
)));
11439 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
11440 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->in
.system_name
, CH_UTF16
)));
11441 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
));
11443 NDR_CHECK(ndr_push_samr_ConnectVersion(ndr
, NDR_SCALARS
, r
->in
.client_version
));
11444 NDR_CHECK(ndr_push_samr_ConnectAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
11446 if (flags
& NDR_OUT
) {
11447 if (r
->out
.connect_handle
== NULL
) {
11448 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11450 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.connect_handle
));
11451 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11453 return NDR_ERR_SUCCESS
;
11456 static enum ndr_err_code
ndr_pull_samr_Connect4(struct ndr_pull
*ndr
, int flags
, struct samr_Connect4
*r
)
11458 uint32_t _ptr_system_name
;
11459 TALLOC_CTX
*_mem_save_system_name_0
;
11460 TALLOC_CTX
*_mem_save_connect_handle_0
;
11461 if (flags
& NDR_IN
) {
11462 ZERO_STRUCT(r
->out
);
11464 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_system_name
));
11465 if (_ptr_system_name
) {
11466 NDR_PULL_ALLOC(ndr
, r
->in
.system_name
);
11468 r
->in
.system_name
= NULL
;
11470 if (r
->in
.system_name
) {
11471 _mem_save_system_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11472 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.system_name
, 0);
11473 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->in
.system_name
));
11474 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->in
.system_name
));
11475 if (ndr_get_array_length(ndr
, &r
->in
.system_name
) > ndr_get_array_size(ndr
, &r
->in
.system_name
)) {
11476 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
));
11478 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->in
.system_name
), sizeof(uint16_t)));
11479 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
));
11480 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_system_name_0
, 0);
11482 NDR_CHECK(ndr_pull_samr_ConnectVersion(ndr
, NDR_SCALARS
, &r
->in
.client_version
));
11483 NDR_CHECK(ndr_pull_samr_ConnectAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
11484 NDR_PULL_ALLOC(ndr
, r
->out
.connect_handle
);
11485 ZERO_STRUCTP(r
->out
.connect_handle
);
11487 if (flags
& NDR_OUT
) {
11488 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11489 NDR_PULL_ALLOC(ndr
, r
->out
.connect_handle
);
11491 _mem_save_connect_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11492 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.connect_handle
, LIBNDR_FLAG_REF_ALLOC
);
11493 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.connect_handle
));
11494 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_connect_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
11495 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11497 return NDR_ERR_SUCCESS
;
11500 _PUBLIC_
void ndr_print_samr_Connect4(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_Connect4
*r
)
11502 ndr_print_struct(ndr
, name
, "samr_Connect4");
11504 if (flags
& NDR_SET_VALUES
) {
11505 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11507 if (flags
& NDR_IN
) {
11508 ndr_print_struct(ndr
, "in", "samr_Connect4");
11510 ndr_print_ptr(ndr
, "system_name", r
->in
.system_name
);
11512 if (r
->in
.system_name
) {
11513 ndr_print_string(ndr
, "system_name", r
->in
.system_name
);
11516 ndr_print_samr_ConnectVersion(ndr
, "client_version", r
->in
.client_version
);
11517 ndr_print_samr_ConnectAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
11520 if (flags
& NDR_OUT
) {
11521 ndr_print_struct(ndr
, "out", "samr_Connect4");
11523 ndr_print_ptr(ndr
, "connect_handle", r
->out
.connect_handle
);
11525 ndr_print_policy_handle(ndr
, "connect_handle", r
->out
.connect_handle
);
11527 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11533 static enum ndr_err_code
ndr_push_samr_ChangePasswordUser3(struct ndr_push
*ndr
, int flags
, const struct samr_ChangePasswordUser3
*r
)
11535 if (flags
& NDR_IN
) {
11536 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.server
));
11537 if (r
->in
.server
) {
11538 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.server
));
11540 if (r
->in
.account
== NULL
) {
11541 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11543 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.account
));
11544 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.nt_password
));
11545 if (r
->in
.nt_password
) {
11546 NDR_CHECK(ndr_push_samr_CryptPassword(ndr
, NDR_SCALARS
, r
->in
.nt_password
));
11548 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.nt_verifier
));
11549 if (r
->in
.nt_verifier
) {
11550 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, r
->in
.nt_verifier
));
11552 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->in
.lm_change
));
11553 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.lm_password
));
11554 if (r
->in
.lm_password
) {
11555 NDR_CHECK(ndr_push_samr_CryptPassword(ndr
, NDR_SCALARS
, r
->in
.lm_password
));
11557 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.lm_verifier
));
11558 if (r
->in
.lm_verifier
) {
11559 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, r
->in
.lm_verifier
));
11561 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.password3
));
11562 if (r
->in
.password3
) {
11563 NDR_CHECK(ndr_push_samr_CryptPassword(ndr
, NDR_SCALARS
, r
->in
.password3
));
11566 if (flags
& NDR_OUT
) {
11567 if (r
->out
.dominfo
== NULL
) {
11568 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11570 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.dominfo
));
11571 if (*r
->out
.dominfo
) {
11572 NDR_CHECK(ndr_push_samr_DomInfo1(ndr
, NDR_SCALARS
, *r
->out
.dominfo
));
11574 if (r
->out
.reject
== NULL
) {
11575 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11577 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.reject
));
11578 if (*r
->out
.reject
) {
11579 NDR_CHECK(ndr_push_samr_ChangeReject(ndr
, NDR_SCALARS
, *r
->out
.reject
));
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_ChangePasswordUser3(struct ndr_pull
*ndr
, int flags
, struct samr_ChangePasswordUser3
*r
)
11588 uint32_t _ptr_server
;
11589 uint32_t _ptr_nt_password
;
11590 uint32_t _ptr_nt_verifier
;
11591 uint32_t _ptr_lm_password
;
11592 uint32_t _ptr_lm_verifier
;
11593 uint32_t _ptr_password3
;
11594 uint32_t _ptr_dominfo
;
11595 uint32_t _ptr_reject
;
11596 TALLOC_CTX
*_mem_save_server_0
;
11597 TALLOC_CTX
*_mem_save_account_0
;
11598 TALLOC_CTX
*_mem_save_nt_password_0
;
11599 TALLOC_CTX
*_mem_save_nt_verifier_0
;
11600 TALLOC_CTX
*_mem_save_lm_password_0
;
11601 TALLOC_CTX
*_mem_save_lm_verifier_0
;
11602 TALLOC_CTX
*_mem_save_password3_0
;
11603 TALLOC_CTX
*_mem_save_dominfo_0
;
11604 TALLOC_CTX
*_mem_save_dominfo_1
;
11605 TALLOC_CTX
*_mem_save_reject_0
;
11606 TALLOC_CTX
*_mem_save_reject_1
;
11607 if (flags
& NDR_IN
) {
11608 ZERO_STRUCT(r
->out
);
11610 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_server
));
11612 NDR_PULL_ALLOC(ndr
, r
->in
.server
);
11614 r
->in
.server
= NULL
;
11616 if (r
->in
.server
) {
11617 _mem_save_server_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11618 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.server
, 0);
11619 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.server
));
11620 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_server_0
, 0);
11622 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11623 NDR_PULL_ALLOC(ndr
, r
->in
.account
);
11625 _mem_save_account_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11626 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.account
, LIBNDR_FLAG_REF_ALLOC
);
11627 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.account
));
11628 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_account_0
, LIBNDR_FLAG_REF_ALLOC
);
11629 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_nt_password
));
11630 if (_ptr_nt_password
) {
11631 NDR_PULL_ALLOC(ndr
, r
->in
.nt_password
);
11633 r
->in
.nt_password
= NULL
;
11635 if (r
->in
.nt_password
) {
11636 _mem_save_nt_password_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11637 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.nt_password
, 0);
11638 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr
, NDR_SCALARS
, r
->in
.nt_password
));
11639 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_nt_password_0
, 0);
11641 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_nt_verifier
));
11642 if (_ptr_nt_verifier
) {
11643 NDR_PULL_ALLOC(ndr
, r
->in
.nt_verifier
);
11645 r
->in
.nt_verifier
= NULL
;
11647 if (r
->in
.nt_verifier
) {
11648 _mem_save_nt_verifier_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11649 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.nt_verifier
, 0);
11650 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, r
->in
.nt_verifier
));
11651 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_nt_verifier_0
, 0);
11653 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->in
.lm_change
));
11654 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_lm_password
));
11655 if (_ptr_lm_password
) {
11656 NDR_PULL_ALLOC(ndr
, r
->in
.lm_password
);
11658 r
->in
.lm_password
= NULL
;
11660 if (r
->in
.lm_password
) {
11661 _mem_save_lm_password_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11662 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.lm_password
, 0);
11663 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr
, NDR_SCALARS
, r
->in
.lm_password
));
11664 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_lm_password_0
, 0);
11666 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_lm_verifier
));
11667 if (_ptr_lm_verifier
) {
11668 NDR_PULL_ALLOC(ndr
, r
->in
.lm_verifier
);
11670 r
->in
.lm_verifier
= NULL
;
11672 if (r
->in
.lm_verifier
) {
11673 _mem_save_lm_verifier_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11674 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.lm_verifier
, 0);
11675 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, r
->in
.lm_verifier
));
11676 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_lm_verifier_0
, 0);
11678 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_password3
));
11679 if (_ptr_password3
) {
11680 NDR_PULL_ALLOC(ndr
, r
->in
.password3
);
11682 r
->in
.password3
= NULL
;
11684 if (r
->in
.password3
) {
11685 _mem_save_password3_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11686 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.password3
, 0);
11687 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr
, NDR_SCALARS
, r
->in
.password3
));
11688 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_password3_0
, 0);
11690 NDR_PULL_ALLOC(ndr
, r
->out
.dominfo
);
11691 ZERO_STRUCTP(r
->out
.dominfo
);
11692 NDR_PULL_ALLOC(ndr
, r
->out
.reject
);
11693 ZERO_STRUCTP(r
->out
.reject
);
11695 if (flags
& NDR_OUT
) {
11696 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11697 NDR_PULL_ALLOC(ndr
, r
->out
.dominfo
);
11699 _mem_save_dominfo_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11700 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.dominfo
, LIBNDR_FLAG_REF_ALLOC
);
11701 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_dominfo
));
11702 if (_ptr_dominfo
) {
11703 NDR_PULL_ALLOC(ndr
, *r
->out
.dominfo
);
11705 *r
->out
.dominfo
= NULL
;
11707 if (*r
->out
.dominfo
) {
11708 _mem_save_dominfo_1
= NDR_PULL_GET_MEM_CTX(ndr
);
11709 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.dominfo
, 0);
11710 NDR_CHECK(ndr_pull_samr_DomInfo1(ndr
, NDR_SCALARS
, *r
->out
.dominfo
));
11711 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dominfo_1
, 0);
11713 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dominfo_0
, LIBNDR_FLAG_REF_ALLOC
);
11714 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11715 NDR_PULL_ALLOC(ndr
, r
->out
.reject
);
11717 _mem_save_reject_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11718 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.reject
, LIBNDR_FLAG_REF_ALLOC
);
11719 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_reject
));
11721 NDR_PULL_ALLOC(ndr
, *r
->out
.reject
);
11723 *r
->out
.reject
= NULL
;
11725 if (*r
->out
.reject
) {
11726 _mem_save_reject_1
= NDR_PULL_GET_MEM_CTX(ndr
);
11727 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.reject
, 0);
11728 NDR_CHECK(ndr_pull_samr_ChangeReject(ndr
, NDR_SCALARS
, *r
->out
.reject
));
11729 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_reject_1
, 0);
11731 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_reject_0
, LIBNDR_FLAG_REF_ALLOC
);
11732 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11734 return NDR_ERR_SUCCESS
;
11737 _PUBLIC_
void ndr_print_samr_ChangePasswordUser3(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_ChangePasswordUser3
*r
)
11739 ndr_print_struct(ndr
, name
, "samr_ChangePasswordUser3");
11741 if (flags
& NDR_SET_VALUES
) {
11742 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11744 if (flags
& NDR_IN
) {
11745 ndr_print_struct(ndr
, "in", "samr_ChangePasswordUser3");
11747 ndr_print_ptr(ndr
, "server", r
->in
.server
);
11749 if (r
->in
.server
) {
11750 ndr_print_lsa_String(ndr
, "server", r
->in
.server
);
11753 ndr_print_ptr(ndr
, "account", r
->in
.account
);
11755 ndr_print_lsa_String(ndr
, "account", r
->in
.account
);
11757 ndr_print_ptr(ndr
, "nt_password", r
->in
.nt_password
);
11759 if (r
->in
.nt_password
) {
11760 ndr_print_samr_CryptPassword(ndr
, "nt_password", r
->in
.nt_password
);
11763 ndr_print_ptr(ndr
, "nt_verifier", r
->in
.nt_verifier
);
11765 if (r
->in
.nt_verifier
) {
11766 ndr_print_samr_Password(ndr
, "nt_verifier", r
->in
.nt_verifier
);
11769 ndr_print_uint8(ndr
, "lm_change", r
->in
.lm_change
);
11770 ndr_print_ptr(ndr
, "lm_password", r
->in
.lm_password
);
11772 if (r
->in
.lm_password
) {
11773 ndr_print_samr_CryptPassword(ndr
, "lm_password", r
->in
.lm_password
);
11776 ndr_print_ptr(ndr
, "lm_verifier", r
->in
.lm_verifier
);
11778 if (r
->in
.lm_verifier
) {
11779 ndr_print_samr_Password(ndr
, "lm_verifier", r
->in
.lm_verifier
);
11782 ndr_print_ptr(ndr
, "password3", r
->in
.password3
);
11784 if (r
->in
.password3
) {
11785 ndr_print_samr_CryptPassword(ndr
, "password3", r
->in
.password3
);
11790 if (flags
& NDR_OUT
) {
11791 ndr_print_struct(ndr
, "out", "samr_ChangePasswordUser3");
11793 ndr_print_ptr(ndr
, "dominfo", r
->out
.dominfo
);
11795 ndr_print_ptr(ndr
, "dominfo", *r
->out
.dominfo
);
11797 if (*r
->out
.dominfo
) {
11798 ndr_print_samr_DomInfo1(ndr
, "dominfo", *r
->out
.dominfo
);
11802 ndr_print_ptr(ndr
, "reject", r
->out
.reject
);
11804 ndr_print_ptr(ndr
, "reject", *r
->out
.reject
);
11806 if (*r
->out
.reject
) {
11807 ndr_print_samr_ChangeReject(ndr
, "reject", *r
->out
.reject
);
11811 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11817 _PUBLIC_
enum ndr_err_code
ndr_push_samr_Connect5(struct ndr_push
*ndr
, int flags
, const struct samr_Connect5
*r
)
11819 if (flags
& NDR_IN
) {
11820 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.system_name
));
11821 if (r
->in
.system_name
) {
11822 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->in
.system_name
, CH_UTF16
)));
11823 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
11824 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->in
.system_name
, CH_UTF16
)));
11825 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
));
11827 NDR_CHECK(ndr_push_samr_ConnectAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
11828 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.level_in
));
11829 if (r
->in
.info_in
== NULL
) {
11830 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11832 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.info_in
, r
->in
.level_in
));
11833 NDR_CHECK(ndr_push_samr_ConnectInfo(ndr
, NDR_SCALARS
, r
->in
.info_in
));
11835 if (flags
& NDR_OUT
) {
11836 if (r
->out
.level_out
== NULL
) {
11837 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11839 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
11840 if (r
->out
.info_out
== NULL
) {
11841 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11843 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.info_out
, *r
->out
.level_out
));
11844 NDR_CHECK(ndr_push_samr_ConnectInfo(ndr
, NDR_SCALARS
, r
->out
.info_out
));
11845 if (r
->out
.connect_handle
== NULL
) {
11846 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11848 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.connect_handle
));
11849 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11851 return NDR_ERR_SUCCESS
;
11854 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_Connect5(struct ndr_pull
*ndr
, int flags
, struct samr_Connect5
*r
)
11856 uint32_t _ptr_system_name
;
11857 TALLOC_CTX
*_mem_save_system_name_0
;
11858 TALLOC_CTX
*_mem_save_info_in_0
;
11859 TALLOC_CTX
*_mem_save_level_out_0
;
11860 TALLOC_CTX
*_mem_save_info_out_0
;
11861 TALLOC_CTX
*_mem_save_connect_handle_0
;
11862 if (flags
& NDR_IN
) {
11863 ZERO_STRUCT(r
->out
);
11865 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_system_name
));
11866 if (_ptr_system_name
) {
11867 NDR_PULL_ALLOC(ndr
, r
->in
.system_name
);
11869 r
->in
.system_name
= NULL
;
11871 if (r
->in
.system_name
) {
11872 _mem_save_system_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11873 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.system_name
, 0);
11874 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->in
.system_name
));
11875 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->in
.system_name
));
11876 if (ndr_get_array_length(ndr
, &r
->in
.system_name
) > ndr_get_array_size(ndr
, &r
->in
.system_name
)) {
11877 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
));
11879 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->in
.system_name
), sizeof(uint16_t)));
11880 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
));
11881 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_system_name_0
, 0);
11883 NDR_CHECK(ndr_pull_samr_ConnectAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
11884 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.level_in
));
11885 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11886 NDR_PULL_ALLOC(ndr
, r
->in
.info_in
);
11888 _mem_save_info_in_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11889 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.info_in
, LIBNDR_FLAG_REF_ALLOC
);
11890 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.info_in
, r
->in
.level_in
));
11891 NDR_CHECK(ndr_pull_samr_ConnectInfo(ndr
, NDR_SCALARS
, r
->in
.info_in
));
11892 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_in_0
, LIBNDR_FLAG_REF_ALLOC
);
11893 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
11894 ZERO_STRUCTP(r
->out
.level_out
);
11895 NDR_PULL_ALLOC(ndr
, r
->out
.info_out
);
11896 ZERO_STRUCTP(r
->out
.info_out
);
11897 NDR_PULL_ALLOC(ndr
, r
->out
.connect_handle
);
11898 ZERO_STRUCTP(r
->out
.connect_handle
);
11900 if (flags
& NDR_OUT
) {
11901 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11902 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
11904 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11905 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
11906 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
11907 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
11908 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11909 NDR_PULL_ALLOC(ndr
, r
->out
.info_out
);
11911 _mem_save_info_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11912 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info_out
, LIBNDR_FLAG_REF_ALLOC
);
11913 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.info_out
, *r
->out
.level_out
));
11914 NDR_CHECK(ndr_pull_samr_ConnectInfo(ndr
, NDR_SCALARS
, r
->out
.info_out
));
11915 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_out_0
, LIBNDR_FLAG_REF_ALLOC
);
11916 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11917 NDR_PULL_ALLOC(ndr
, r
->out
.connect_handle
);
11919 _mem_save_connect_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11920 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.connect_handle
, LIBNDR_FLAG_REF_ALLOC
);
11921 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.connect_handle
));
11922 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_connect_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
11923 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11925 return NDR_ERR_SUCCESS
;
11928 _PUBLIC_
void ndr_print_samr_Connect5(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_Connect5
*r
)
11930 ndr_print_struct(ndr
, name
, "samr_Connect5");
11932 if (flags
& NDR_SET_VALUES
) {
11933 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11935 if (flags
& NDR_IN
) {
11936 ndr_print_struct(ndr
, "in", "samr_Connect5");
11938 ndr_print_ptr(ndr
, "system_name", r
->in
.system_name
);
11940 if (r
->in
.system_name
) {
11941 ndr_print_string(ndr
, "system_name", r
->in
.system_name
);
11944 ndr_print_samr_ConnectAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
11945 ndr_print_uint32(ndr
, "level_in", r
->in
.level_in
);
11946 ndr_print_ptr(ndr
, "info_in", r
->in
.info_in
);
11948 ndr_print_set_switch_value(ndr
, r
->in
.info_in
, r
->in
.level_in
);
11949 ndr_print_samr_ConnectInfo(ndr
, "info_in", r
->in
.info_in
);
11953 if (flags
& NDR_OUT
) {
11954 ndr_print_struct(ndr
, "out", "samr_Connect5");
11956 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
11958 ndr_print_uint32(ndr
, "level_out", *r
->out
.level_out
);
11960 ndr_print_ptr(ndr
, "info_out", r
->out
.info_out
);
11962 ndr_print_set_switch_value(ndr
, r
->out
.info_out
, *r
->out
.level_out
);
11963 ndr_print_samr_ConnectInfo(ndr
, "info_out", r
->out
.info_out
);
11965 ndr_print_ptr(ndr
, "connect_handle", r
->out
.connect_handle
);
11967 ndr_print_policy_handle(ndr
, "connect_handle", r
->out
.connect_handle
);
11969 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11975 static enum ndr_err_code
ndr_push_samr_RidToSid(struct ndr_push
*ndr
, int flags
, const struct samr_RidToSid
*r
)
11977 if (flags
& NDR_IN
) {
11978 if (r
->in
.domain_handle
== NULL
) {
11979 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11981 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
11982 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.rid
));
11984 if (flags
& NDR_OUT
) {
11985 if (r
->out
.sid
== NULL
) {
11986 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11988 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.sid
));
11990 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sid
));
11992 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11994 return NDR_ERR_SUCCESS
;
11997 static enum ndr_err_code
ndr_pull_samr_RidToSid(struct ndr_pull
*ndr
, int flags
, struct samr_RidToSid
*r
)
12000 TALLOC_CTX
*_mem_save_domain_handle_0
;
12001 TALLOC_CTX
*_mem_save_sid_0
;
12002 TALLOC_CTX
*_mem_save_sid_1
;
12003 if (flags
& NDR_IN
) {
12004 ZERO_STRUCT(r
->out
);
12006 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
12007 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
12009 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12010 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
12011 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
12012 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
12013 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.rid
));
12014 NDR_PULL_ALLOC(ndr
, r
->out
.sid
);
12015 ZERO_STRUCTP(r
->out
.sid
);
12017 if (flags
& NDR_OUT
) {
12018 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
12019 NDR_PULL_ALLOC(ndr
, r
->out
.sid
);
12021 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12022 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sid
, LIBNDR_FLAG_REF_ALLOC
);
12023 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sid
));
12025 NDR_PULL_ALLOC(ndr
, *r
->out
.sid
);
12027 *r
->out
.sid
= NULL
;
12030 _mem_save_sid_1
= NDR_PULL_GET_MEM_CTX(ndr
);
12031 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.sid
, 0);
12032 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sid
));
12033 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_1
, 0);
12035 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, LIBNDR_FLAG_REF_ALLOC
);
12036 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
12038 return NDR_ERR_SUCCESS
;
12041 _PUBLIC_
void ndr_print_samr_RidToSid(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_RidToSid
*r
)
12043 ndr_print_struct(ndr
, name
, "samr_RidToSid");
12045 if (flags
& NDR_SET_VALUES
) {
12046 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
12048 if (flags
& NDR_IN
) {
12049 ndr_print_struct(ndr
, "in", "samr_RidToSid");
12051 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
12053 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
12055 ndr_print_uint32(ndr
, "rid", r
->in
.rid
);
12058 if (flags
& NDR_OUT
) {
12059 ndr_print_struct(ndr
, "out", "samr_RidToSid");
12061 ndr_print_ptr(ndr
, "sid", r
->out
.sid
);
12063 ndr_print_ptr(ndr
, "sid", *r
->out
.sid
);
12066 ndr_print_dom_sid2(ndr
, "sid", *r
->out
.sid
);
12070 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
12076 static enum ndr_err_code
ndr_push_samr_SetDsrmPassword(struct ndr_push
*ndr
, int flags
, const struct samr_SetDsrmPassword
*r
)
12078 if (flags
& NDR_IN
) {
12079 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.name
));
12081 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.name
));
12083 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.unknown
));
12084 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.hash
));
12086 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, r
->in
.hash
));
12089 if (flags
& NDR_OUT
) {
12090 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
12092 return NDR_ERR_SUCCESS
;
12095 static enum ndr_err_code
ndr_pull_samr_SetDsrmPassword(struct ndr_pull
*ndr
, int flags
, struct samr_SetDsrmPassword
*r
)
12097 uint32_t _ptr_name
;
12098 uint32_t _ptr_hash
;
12099 TALLOC_CTX
*_mem_save_name_0
;
12100 TALLOC_CTX
*_mem_save_hash_0
;
12101 if (flags
& NDR_IN
) {
12102 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_name
));
12104 NDR_PULL_ALLOC(ndr
, r
->in
.name
);
12109 _mem_save_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12110 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.name
, 0);
12111 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.name
));
12112 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_name_0
, 0);
12114 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.unknown
));
12115 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_hash
));
12117 NDR_PULL_ALLOC(ndr
, r
->in
.hash
);
12122 _mem_save_hash_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12123 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.hash
, 0);
12124 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, r
->in
.hash
));
12125 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_hash_0
, 0);
12128 if (flags
& NDR_OUT
) {
12129 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
12131 return NDR_ERR_SUCCESS
;
12134 _PUBLIC_
void ndr_print_samr_SetDsrmPassword(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_SetDsrmPassword
*r
)
12136 ndr_print_struct(ndr
, name
, "samr_SetDsrmPassword");
12138 if (flags
& NDR_SET_VALUES
) {
12139 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
12141 if (flags
& NDR_IN
) {
12142 ndr_print_struct(ndr
, "in", "samr_SetDsrmPassword");
12144 ndr_print_ptr(ndr
, "name", r
->in
.name
);
12147 ndr_print_lsa_String(ndr
, "name", r
->in
.name
);
12150 ndr_print_uint32(ndr
, "unknown", r
->in
.unknown
);
12151 ndr_print_ptr(ndr
, "hash", r
->in
.hash
);
12154 ndr_print_samr_Password(ndr
, "hash", r
->in
.hash
);
12159 if (flags
& NDR_OUT
) {
12160 ndr_print_struct(ndr
, "out", "samr_SetDsrmPassword");
12162 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
12168 static enum ndr_err_code
ndr_push_samr_ValidatePassword(struct ndr_push
*ndr
, int flags
, const struct samr_ValidatePassword
*r
)
12170 if (flags
& NDR_IN
) {
12171 NDR_CHECK(ndr_push_samr_ValidatePasswordLevel(ndr
, NDR_SCALARS
, r
->in
.level
));
12172 if (r
->in
.req
== NULL
) {
12173 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
12175 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
12176 NDR_CHECK(ndr_push_samr_ValidatePasswordReq(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
12178 if (flags
& NDR_OUT
) {
12179 if (r
->out
.rep
== NULL
) {
12180 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
12182 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.rep
));
12184 NDR_CHECK(ndr_push_set_switch_value(ndr
, *r
->out
.rep
, r
->in
.level
));
12185 NDR_CHECK(ndr_push_samr_ValidatePasswordRep(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.rep
));
12187 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
12189 return NDR_ERR_SUCCESS
;
12192 static enum ndr_err_code
ndr_pull_samr_ValidatePassword(struct ndr_pull
*ndr
, int flags
, struct samr_ValidatePassword
*r
)
12195 TALLOC_CTX
*_mem_save_req_0
;
12196 TALLOC_CTX
*_mem_save_rep_0
;
12197 TALLOC_CTX
*_mem_save_rep_1
;
12198 if (flags
& NDR_IN
) {
12199 ZERO_STRUCT(r
->out
);
12201 NDR_CHECK(ndr_pull_samr_ValidatePasswordLevel(ndr
, NDR_SCALARS
, &r
->in
.level
));
12202 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
12203 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
12205 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12206 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
12207 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
12208 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
12209 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
12210 NDR_PULL_ALLOC(ndr
, r
->out
.rep
);
12211 ZERO_STRUCTP(r
->out
.rep
);
12213 if (flags
& NDR_OUT
) {
12214 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
12215 NDR_PULL_ALLOC(ndr
, r
->out
.rep
);
12217 _mem_save_rep_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12218 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.rep
, LIBNDR_FLAG_REF_ALLOC
);
12219 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_rep
));
12221 NDR_PULL_ALLOC(ndr
, *r
->out
.rep
);
12223 *r
->out
.rep
= NULL
;
12226 _mem_save_rep_1
= NDR_PULL_GET_MEM_CTX(ndr
);
12227 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.rep
, 0);
12228 NDR_CHECK(ndr_pull_set_switch_value(ndr
, *r
->out
.rep
, r
->in
.level
));
12229 NDR_CHECK(ndr_pull_samr_ValidatePasswordRep(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.rep
));
12230 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rep_1
, 0);
12232 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rep_0
, LIBNDR_FLAG_REF_ALLOC
);
12233 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
12235 return NDR_ERR_SUCCESS
;
12238 _PUBLIC_
void ndr_print_samr_ValidatePassword(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_ValidatePassword
*r
)
12240 ndr_print_struct(ndr
, name
, "samr_ValidatePassword");
12242 if (flags
& NDR_SET_VALUES
) {
12243 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
12245 if (flags
& NDR_IN
) {
12246 ndr_print_struct(ndr
, "in", "samr_ValidatePassword");
12248 ndr_print_samr_ValidatePasswordLevel(ndr
, "level", r
->in
.level
);
12249 ndr_print_ptr(ndr
, "req", r
->in
.req
);
12251 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
12252 ndr_print_samr_ValidatePasswordReq(ndr
, "req", r
->in
.req
);
12256 if (flags
& NDR_OUT
) {
12257 ndr_print_struct(ndr
, "out", "samr_ValidatePassword");
12259 ndr_print_ptr(ndr
, "rep", r
->out
.rep
);
12261 ndr_print_ptr(ndr
, "rep", *r
->out
.rep
);
12264 ndr_print_set_switch_value(ndr
, *r
->out
.rep
, r
->in
.level
);
12265 ndr_print_samr_ValidatePasswordRep(ndr
, "rep", *r
->out
.rep
);
12269 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
12275 static const struct ndr_interface_call samr_calls
[] = {
12278 sizeof(struct samr_Connect
),
12279 (ndr_push_flags_fn_t
) ndr_push_samr_Connect
,
12280 (ndr_pull_flags_fn_t
) ndr_pull_samr_Connect
,
12281 (ndr_print_function_t
) ndr_print_samr_Connect
,
12286 sizeof(struct samr_Close
),
12287 (ndr_push_flags_fn_t
) ndr_push_samr_Close
,
12288 (ndr_pull_flags_fn_t
) ndr_pull_samr_Close
,
12289 (ndr_print_function_t
) ndr_print_samr_Close
,
12293 "samr_SetSecurity",
12294 sizeof(struct samr_SetSecurity
),
12295 (ndr_push_flags_fn_t
) ndr_push_samr_SetSecurity
,
12296 (ndr_pull_flags_fn_t
) ndr_pull_samr_SetSecurity
,
12297 (ndr_print_function_t
) ndr_print_samr_SetSecurity
,
12301 "samr_QuerySecurity",
12302 sizeof(struct samr_QuerySecurity
),
12303 (ndr_push_flags_fn_t
) ndr_push_samr_QuerySecurity
,
12304 (ndr_pull_flags_fn_t
) ndr_pull_samr_QuerySecurity
,
12305 (ndr_print_function_t
) ndr_print_samr_QuerySecurity
,
12310 sizeof(struct samr_Shutdown
),
12311 (ndr_push_flags_fn_t
) ndr_push_samr_Shutdown
,
12312 (ndr_pull_flags_fn_t
) ndr_pull_samr_Shutdown
,
12313 (ndr_print_function_t
) ndr_print_samr_Shutdown
,
12317 "samr_LookupDomain",
12318 sizeof(struct samr_LookupDomain
),
12319 (ndr_push_flags_fn_t
) ndr_push_samr_LookupDomain
,
12320 (ndr_pull_flags_fn_t
) ndr_pull_samr_LookupDomain
,
12321 (ndr_print_function_t
) ndr_print_samr_LookupDomain
,
12325 "samr_EnumDomains",
12326 sizeof(struct samr_EnumDomains
),
12327 (ndr_push_flags_fn_t
) ndr_push_samr_EnumDomains
,
12328 (ndr_pull_flags_fn_t
) ndr_pull_samr_EnumDomains
,
12329 (ndr_print_function_t
) ndr_print_samr_EnumDomains
,
12334 sizeof(struct samr_OpenDomain
),
12335 (ndr_push_flags_fn_t
) ndr_push_samr_OpenDomain
,
12336 (ndr_pull_flags_fn_t
) ndr_pull_samr_OpenDomain
,
12337 (ndr_print_function_t
) ndr_print_samr_OpenDomain
,
12341 "samr_QueryDomainInfo",
12342 sizeof(struct samr_QueryDomainInfo
),
12343 (ndr_push_flags_fn_t
) ndr_push_samr_QueryDomainInfo
,
12344 (ndr_pull_flags_fn_t
) ndr_pull_samr_QueryDomainInfo
,
12345 (ndr_print_function_t
) ndr_print_samr_QueryDomainInfo
,
12349 "samr_SetDomainInfo",
12350 sizeof(struct samr_SetDomainInfo
),
12351 (ndr_push_flags_fn_t
) ndr_push_samr_SetDomainInfo
,
12352 (ndr_pull_flags_fn_t
) ndr_pull_samr_SetDomainInfo
,
12353 (ndr_print_function_t
) ndr_print_samr_SetDomainInfo
,
12357 "samr_CreateDomainGroup",
12358 sizeof(struct samr_CreateDomainGroup
),
12359 (ndr_push_flags_fn_t
) ndr_push_samr_CreateDomainGroup
,
12360 (ndr_pull_flags_fn_t
) ndr_pull_samr_CreateDomainGroup
,
12361 (ndr_print_function_t
) ndr_print_samr_CreateDomainGroup
,
12365 "samr_EnumDomainGroups",
12366 sizeof(struct samr_EnumDomainGroups
),
12367 (ndr_push_flags_fn_t
) ndr_push_samr_EnumDomainGroups
,
12368 (ndr_pull_flags_fn_t
) ndr_pull_samr_EnumDomainGroups
,
12369 (ndr_print_function_t
) ndr_print_samr_EnumDomainGroups
,
12374 sizeof(struct samr_CreateUser
),
12375 (ndr_push_flags_fn_t
) ndr_push_samr_CreateUser
,
12376 (ndr_pull_flags_fn_t
) ndr_pull_samr_CreateUser
,
12377 (ndr_print_function_t
) ndr_print_samr_CreateUser
,
12381 "samr_EnumDomainUsers",
12382 sizeof(struct samr_EnumDomainUsers
),
12383 (ndr_push_flags_fn_t
) ndr_push_samr_EnumDomainUsers
,
12384 (ndr_pull_flags_fn_t
) ndr_pull_samr_EnumDomainUsers
,
12385 (ndr_print_function_t
) ndr_print_samr_EnumDomainUsers
,
12389 "samr_CreateDomAlias",
12390 sizeof(struct samr_CreateDomAlias
),
12391 (ndr_push_flags_fn_t
) ndr_push_samr_CreateDomAlias
,
12392 (ndr_pull_flags_fn_t
) ndr_pull_samr_CreateDomAlias
,
12393 (ndr_print_function_t
) ndr_print_samr_CreateDomAlias
,
12397 "samr_EnumDomainAliases",
12398 sizeof(struct samr_EnumDomainAliases
),
12399 (ndr_push_flags_fn_t
) ndr_push_samr_EnumDomainAliases
,
12400 (ndr_pull_flags_fn_t
) ndr_pull_samr_EnumDomainAliases
,
12401 (ndr_print_function_t
) ndr_print_samr_EnumDomainAliases
,
12405 "samr_GetAliasMembership",
12406 sizeof(struct samr_GetAliasMembership
),
12407 (ndr_push_flags_fn_t
) ndr_push_samr_GetAliasMembership
,
12408 (ndr_pull_flags_fn_t
) ndr_pull_samr_GetAliasMembership
,
12409 (ndr_print_function_t
) ndr_print_samr_GetAliasMembership
,
12413 "samr_LookupNames",
12414 sizeof(struct samr_LookupNames
),
12415 (ndr_push_flags_fn_t
) ndr_push_samr_LookupNames
,
12416 (ndr_pull_flags_fn_t
) ndr_pull_samr_LookupNames
,
12417 (ndr_print_function_t
) ndr_print_samr_LookupNames
,
12422 sizeof(struct samr_LookupRids
),
12423 (ndr_push_flags_fn_t
) ndr_push_samr_LookupRids
,
12424 (ndr_pull_flags_fn_t
) ndr_pull_samr_LookupRids
,
12425 (ndr_print_function_t
) ndr_print_samr_LookupRids
,
12430 sizeof(struct samr_OpenGroup
),
12431 (ndr_push_flags_fn_t
) ndr_push_samr_OpenGroup
,
12432 (ndr_pull_flags_fn_t
) ndr_pull_samr_OpenGroup
,
12433 (ndr_print_function_t
) ndr_print_samr_OpenGroup
,
12437 "samr_QueryGroupInfo",
12438 sizeof(struct samr_QueryGroupInfo
),
12439 (ndr_push_flags_fn_t
) ndr_push_samr_QueryGroupInfo
,
12440 (ndr_pull_flags_fn_t
) ndr_pull_samr_QueryGroupInfo
,
12441 (ndr_print_function_t
) ndr_print_samr_QueryGroupInfo
,
12445 "samr_SetGroupInfo",
12446 sizeof(struct samr_SetGroupInfo
),
12447 (ndr_push_flags_fn_t
) ndr_push_samr_SetGroupInfo
,
12448 (ndr_pull_flags_fn_t
) ndr_pull_samr_SetGroupInfo
,
12449 (ndr_print_function_t
) ndr_print_samr_SetGroupInfo
,
12453 "samr_AddGroupMember",
12454 sizeof(struct samr_AddGroupMember
),
12455 (ndr_push_flags_fn_t
) ndr_push_samr_AddGroupMember
,
12456 (ndr_pull_flags_fn_t
) ndr_pull_samr_AddGroupMember
,
12457 (ndr_print_function_t
) ndr_print_samr_AddGroupMember
,
12461 "samr_DeleteDomainGroup",
12462 sizeof(struct samr_DeleteDomainGroup
),
12463 (ndr_push_flags_fn_t
) ndr_push_samr_DeleteDomainGroup
,
12464 (ndr_pull_flags_fn_t
) ndr_pull_samr_DeleteDomainGroup
,
12465 (ndr_print_function_t
) ndr_print_samr_DeleteDomainGroup
,
12469 "samr_DeleteGroupMember",
12470 sizeof(struct samr_DeleteGroupMember
),
12471 (ndr_push_flags_fn_t
) ndr_push_samr_DeleteGroupMember
,
12472 (ndr_pull_flags_fn_t
) ndr_pull_samr_DeleteGroupMember
,
12473 (ndr_print_function_t
) ndr_print_samr_DeleteGroupMember
,
12477 "samr_QueryGroupMember",
12478 sizeof(struct samr_QueryGroupMember
),
12479 (ndr_push_flags_fn_t
) ndr_push_samr_QueryGroupMember
,
12480 (ndr_pull_flags_fn_t
) ndr_pull_samr_QueryGroupMember
,
12481 (ndr_print_function_t
) ndr_print_samr_QueryGroupMember
,
12485 "samr_SetMemberAttributesOfGroup",
12486 sizeof(struct samr_SetMemberAttributesOfGroup
),
12487 (ndr_push_flags_fn_t
) ndr_push_samr_SetMemberAttributesOfGroup
,
12488 (ndr_pull_flags_fn_t
) ndr_pull_samr_SetMemberAttributesOfGroup
,
12489 (ndr_print_function_t
) ndr_print_samr_SetMemberAttributesOfGroup
,
12494 sizeof(struct samr_OpenAlias
),
12495 (ndr_push_flags_fn_t
) ndr_push_samr_OpenAlias
,
12496 (ndr_pull_flags_fn_t
) ndr_pull_samr_OpenAlias
,
12497 (ndr_print_function_t
) ndr_print_samr_OpenAlias
,
12501 "samr_QueryAliasInfo",
12502 sizeof(struct samr_QueryAliasInfo
),
12503 (ndr_push_flags_fn_t
) ndr_push_samr_QueryAliasInfo
,
12504 (ndr_pull_flags_fn_t
) ndr_pull_samr_QueryAliasInfo
,
12505 (ndr_print_function_t
) ndr_print_samr_QueryAliasInfo
,
12509 "samr_SetAliasInfo",
12510 sizeof(struct samr_SetAliasInfo
),
12511 (ndr_push_flags_fn_t
) ndr_push_samr_SetAliasInfo
,
12512 (ndr_pull_flags_fn_t
) ndr_pull_samr_SetAliasInfo
,
12513 (ndr_print_function_t
) ndr_print_samr_SetAliasInfo
,
12517 "samr_DeleteDomAlias",
12518 sizeof(struct samr_DeleteDomAlias
),
12519 (ndr_push_flags_fn_t
) ndr_push_samr_DeleteDomAlias
,
12520 (ndr_pull_flags_fn_t
) ndr_pull_samr_DeleteDomAlias
,
12521 (ndr_print_function_t
) ndr_print_samr_DeleteDomAlias
,
12525 "samr_AddAliasMember",
12526 sizeof(struct samr_AddAliasMember
),
12527 (ndr_push_flags_fn_t
) ndr_push_samr_AddAliasMember
,
12528 (ndr_pull_flags_fn_t
) ndr_pull_samr_AddAliasMember
,
12529 (ndr_print_function_t
) ndr_print_samr_AddAliasMember
,
12533 "samr_DeleteAliasMember",
12534 sizeof(struct samr_DeleteAliasMember
),
12535 (ndr_push_flags_fn_t
) ndr_push_samr_DeleteAliasMember
,
12536 (ndr_pull_flags_fn_t
) ndr_pull_samr_DeleteAliasMember
,
12537 (ndr_print_function_t
) ndr_print_samr_DeleteAliasMember
,
12541 "samr_GetMembersInAlias",
12542 sizeof(struct samr_GetMembersInAlias
),
12543 (ndr_push_flags_fn_t
) ndr_push_samr_GetMembersInAlias
,
12544 (ndr_pull_flags_fn_t
) ndr_pull_samr_GetMembersInAlias
,
12545 (ndr_print_function_t
) ndr_print_samr_GetMembersInAlias
,
12550 sizeof(struct samr_OpenUser
),
12551 (ndr_push_flags_fn_t
) ndr_push_samr_OpenUser
,
12552 (ndr_pull_flags_fn_t
) ndr_pull_samr_OpenUser
,
12553 (ndr_print_function_t
) ndr_print_samr_OpenUser
,
12558 sizeof(struct samr_DeleteUser
),
12559 (ndr_push_flags_fn_t
) ndr_push_samr_DeleteUser
,
12560 (ndr_pull_flags_fn_t
) ndr_pull_samr_DeleteUser
,
12561 (ndr_print_function_t
) ndr_print_samr_DeleteUser
,
12565 "samr_QueryUserInfo",
12566 sizeof(struct samr_QueryUserInfo
),
12567 (ndr_push_flags_fn_t
) ndr_push_samr_QueryUserInfo
,
12568 (ndr_pull_flags_fn_t
) ndr_pull_samr_QueryUserInfo
,
12569 (ndr_print_function_t
) ndr_print_samr_QueryUserInfo
,
12573 "samr_SetUserInfo",
12574 sizeof(struct samr_SetUserInfo
),
12575 (ndr_push_flags_fn_t
) ndr_push_samr_SetUserInfo
,
12576 (ndr_pull_flags_fn_t
) ndr_pull_samr_SetUserInfo
,
12577 (ndr_print_function_t
) ndr_print_samr_SetUserInfo
,
12581 "samr_ChangePasswordUser",
12582 sizeof(struct samr_ChangePasswordUser
),
12583 (ndr_push_flags_fn_t
) ndr_push_samr_ChangePasswordUser
,
12584 (ndr_pull_flags_fn_t
) ndr_pull_samr_ChangePasswordUser
,
12585 (ndr_print_function_t
) ndr_print_samr_ChangePasswordUser
,
12589 "samr_GetGroupsForUser",
12590 sizeof(struct samr_GetGroupsForUser
),
12591 (ndr_push_flags_fn_t
) ndr_push_samr_GetGroupsForUser
,
12592 (ndr_pull_flags_fn_t
) ndr_pull_samr_GetGroupsForUser
,
12593 (ndr_print_function_t
) ndr_print_samr_GetGroupsForUser
,
12597 "samr_QueryDisplayInfo",
12598 sizeof(struct samr_QueryDisplayInfo
),
12599 (ndr_push_flags_fn_t
) ndr_push_samr_QueryDisplayInfo
,
12600 (ndr_pull_flags_fn_t
) ndr_pull_samr_QueryDisplayInfo
,
12601 (ndr_print_function_t
) ndr_print_samr_QueryDisplayInfo
,
12605 "samr_GetDisplayEnumerationIndex",
12606 sizeof(struct samr_GetDisplayEnumerationIndex
),
12607 (ndr_push_flags_fn_t
) ndr_push_samr_GetDisplayEnumerationIndex
,
12608 (ndr_pull_flags_fn_t
) ndr_pull_samr_GetDisplayEnumerationIndex
,
12609 (ndr_print_function_t
) ndr_print_samr_GetDisplayEnumerationIndex
,
12613 "samr_TestPrivateFunctionsDomain",
12614 sizeof(struct samr_TestPrivateFunctionsDomain
),
12615 (ndr_push_flags_fn_t
) ndr_push_samr_TestPrivateFunctionsDomain
,
12616 (ndr_pull_flags_fn_t
) ndr_pull_samr_TestPrivateFunctionsDomain
,
12617 (ndr_print_function_t
) ndr_print_samr_TestPrivateFunctionsDomain
,
12621 "samr_TestPrivateFunctionsUser",
12622 sizeof(struct samr_TestPrivateFunctionsUser
),
12623 (ndr_push_flags_fn_t
) ndr_push_samr_TestPrivateFunctionsUser
,
12624 (ndr_pull_flags_fn_t
) ndr_pull_samr_TestPrivateFunctionsUser
,
12625 (ndr_print_function_t
) ndr_print_samr_TestPrivateFunctionsUser
,
12629 "samr_GetUserPwInfo",
12630 sizeof(struct samr_GetUserPwInfo
),
12631 (ndr_push_flags_fn_t
) ndr_push_samr_GetUserPwInfo
,
12632 (ndr_pull_flags_fn_t
) ndr_pull_samr_GetUserPwInfo
,
12633 (ndr_print_function_t
) ndr_print_samr_GetUserPwInfo
,
12637 "samr_RemoveMemberFromForeignDomain",
12638 sizeof(struct samr_RemoveMemberFromForeignDomain
),
12639 (ndr_push_flags_fn_t
) ndr_push_samr_RemoveMemberFromForeignDomain
,
12640 (ndr_pull_flags_fn_t
) ndr_pull_samr_RemoveMemberFromForeignDomain
,
12641 (ndr_print_function_t
) ndr_print_samr_RemoveMemberFromForeignDomain
,
12645 "samr_QueryDomainInfo2",
12646 sizeof(struct samr_QueryDomainInfo2
),
12647 (ndr_push_flags_fn_t
) ndr_push_samr_QueryDomainInfo2
,
12648 (ndr_pull_flags_fn_t
) ndr_pull_samr_QueryDomainInfo2
,
12649 (ndr_print_function_t
) ndr_print_samr_QueryDomainInfo2
,
12653 "samr_QueryUserInfo2",
12654 sizeof(struct samr_QueryUserInfo2
),
12655 (ndr_push_flags_fn_t
) ndr_push_samr_QueryUserInfo2
,
12656 (ndr_pull_flags_fn_t
) ndr_pull_samr_QueryUserInfo2
,
12657 (ndr_print_function_t
) ndr_print_samr_QueryUserInfo2
,
12661 "samr_QueryDisplayInfo2",
12662 sizeof(struct samr_QueryDisplayInfo2
),
12663 (ndr_push_flags_fn_t
) ndr_push_samr_QueryDisplayInfo2
,
12664 (ndr_pull_flags_fn_t
) ndr_pull_samr_QueryDisplayInfo2
,
12665 (ndr_print_function_t
) ndr_print_samr_QueryDisplayInfo2
,
12669 "samr_GetDisplayEnumerationIndex2",
12670 sizeof(struct samr_GetDisplayEnumerationIndex2
),
12671 (ndr_push_flags_fn_t
) ndr_push_samr_GetDisplayEnumerationIndex2
,
12672 (ndr_pull_flags_fn_t
) ndr_pull_samr_GetDisplayEnumerationIndex2
,
12673 (ndr_print_function_t
) ndr_print_samr_GetDisplayEnumerationIndex2
,
12677 "samr_CreateUser2",
12678 sizeof(struct samr_CreateUser2
),
12679 (ndr_push_flags_fn_t
) ndr_push_samr_CreateUser2
,
12680 (ndr_pull_flags_fn_t
) ndr_pull_samr_CreateUser2
,
12681 (ndr_print_function_t
) ndr_print_samr_CreateUser2
,
12685 "samr_QueryDisplayInfo3",
12686 sizeof(struct samr_QueryDisplayInfo3
),
12687 (ndr_push_flags_fn_t
) ndr_push_samr_QueryDisplayInfo3
,
12688 (ndr_pull_flags_fn_t
) ndr_pull_samr_QueryDisplayInfo3
,
12689 (ndr_print_function_t
) ndr_print_samr_QueryDisplayInfo3
,
12693 "samr_AddMultipleMembersToAlias",
12694 sizeof(struct samr_AddMultipleMembersToAlias
),
12695 (ndr_push_flags_fn_t
) ndr_push_samr_AddMultipleMembersToAlias
,
12696 (ndr_pull_flags_fn_t
) ndr_pull_samr_AddMultipleMembersToAlias
,
12697 (ndr_print_function_t
) ndr_print_samr_AddMultipleMembersToAlias
,
12701 "samr_RemoveMultipleMembersFromAlias",
12702 sizeof(struct samr_RemoveMultipleMembersFromAlias
),
12703 (ndr_push_flags_fn_t
) ndr_push_samr_RemoveMultipleMembersFromAlias
,
12704 (ndr_pull_flags_fn_t
) ndr_pull_samr_RemoveMultipleMembersFromAlias
,
12705 (ndr_print_function_t
) ndr_print_samr_RemoveMultipleMembersFromAlias
,
12709 "samr_OemChangePasswordUser2",
12710 sizeof(struct samr_OemChangePasswordUser2
),
12711 (ndr_push_flags_fn_t
) ndr_push_samr_OemChangePasswordUser2
,
12712 (ndr_pull_flags_fn_t
) ndr_pull_samr_OemChangePasswordUser2
,
12713 (ndr_print_function_t
) ndr_print_samr_OemChangePasswordUser2
,
12717 "samr_ChangePasswordUser2",
12718 sizeof(struct samr_ChangePasswordUser2
),
12719 (ndr_push_flags_fn_t
) ndr_push_samr_ChangePasswordUser2
,
12720 (ndr_pull_flags_fn_t
) ndr_pull_samr_ChangePasswordUser2
,
12721 (ndr_print_function_t
) ndr_print_samr_ChangePasswordUser2
,
12725 "samr_GetDomPwInfo",
12726 sizeof(struct samr_GetDomPwInfo
),
12727 (ndr_push_flags_fn_t
) ndr_push_samr_GetDomPwInfo
,
12728 (ndr_pull_flags_fn_t
) ndr_pull_samr_GetDomPwInfo
,
12729 (ndr_print_function_t
) ndr_print_samr_GetDomPwInfo
,
12734 sizeof(struct samr_Connect2
),
12735 (ndr_push_flags_fn_t
) ndr_push_samr_Connect2
,
12736 (ndr_pull_flags_fn_t
) ndr_pull_samr_Connect2
,
12737 (ndr_print_function_t
) ndr_print_samr_Connect2
,
12741 "samr_SetUserInfo2",
12742 sizeof(struct samr_SetUserInfo2
),
12743 (ndr_push_flags_fn_t
) ndr_push_samr_SetUserInfo2
,
12744 (ndr_pull_flags_fn_t
) ndr_pull_samr_SetUserInfo2
,
12745 (ndr_print_function_t
) ndr_print_samr_SetUserInfo2
,
12749 "samr_SetBootKeyInformation",
12750 sizeof(struct samr_SetBootKeyInformation
),
12751 (ndr_push_flags_fn_t
) ndr_push_samr_SetBootKeyInformation
,
12752 (ndr_pull_flags_fn_t
) ndr_pull_samr_SetBootKeyInformation
,
12753 (ndr_print_function_t
) ndr_print_samr_SetBootKeyInformation
,
12757 "samr_GetBootKeyInformation",
12758 sizeof(struct samr_GetBootKeyInformation
),
12759 (ndr_push_flags_fn_t
) ndr_push_samr_GetBootKeyInformation
,
12760 (ndr_pull_flags_fn_t
) ndr_pull_samr_GetBootKeyInformation
,
12761 (ndr_print_function_t
) ndr_print_samr_GetBootKeyInformation
,
12766 sizeof(struct samr_Connect3
),
12767 (ndr_push_flags_fn_t
) ndr_push_samr_Connect3
,
12768 (ndr_pull_flags_fn_t
) ndr_pull_samr_Connect3
,
12769 (ndr_print_function_t
) ndr_print_samr_Connect3
,
12774 sizeof(struct samr_Connect4
),
12775 (ndr_push_flags_fn_t
) ndr_push_samr_Connect4
,
12776 (ndr_pull_flags_fn_t
) ndr_pull_samr_Connect4
,
12777 (ndr_print_function_t
) ndr_print_samr_Connect4
,
12781 "samr_ChangePasswordUser3",
12782 sizeof(struct samr_ChangePasswordUser3
),
12783 (ndr_push_flags_fn_t
) ndr_push_samr_ChangePasswordUser3
,
12784 (ndr_pull_flags_fn_t
) ndr_pull_samr_ChangePasswordUser3
,
12785 (ndr_print_function_t
) ndr_print_samr_ChangePasswordUser3
,
12790 sizeof(struct samr_Connect5
),
12791 (ndr_push_flags_fn_t
) ndr_push_samr_Connect5
,
12792 (ndr_pull_flags_fn_t
) ndr_pull_samr_Connect5
,
12793 (ndr_print_function_t
) ndr_print_samr_Connect5
,
12798 sizeof(struct samr_RidToSid
),
12799 (ndr_push_flags_fn_t
) ndr_push_samr_RidToSid
,
12800 (ndr_pull_flags_fn_t
) ndr_pull_samr_RidToSid
,
12801 (ndr_print_function_t
) ndr_print_samr_RidToSid
,
12805 "samr_SetDsrmPassword",
12806 sizeof(struct samr_SetDsrmPassword
),
12807 (ndr_push_flags_fn_t
) ndr_push_samr_SetDsrmPassword
,
12808 (ndr_pull_flags_fn_t
) ndr_pull_samr_SetDsrmPassword
,
12809 (ndr_print_function_t
) ndr_print_samr_SetDsrmPassword
,
12813 "samr_ValidatePassword",
12814 sizeof(struct samr_ValidatePassword
),
12815 (ndr_push_flags_fn_t
) ndr_push_samr_ValidatePassword
,
12816 (ndr_pull_flags_fn_t
) ndr_pull_samr_ValidatePassword
,
12817 (ndr_print_function_t
) ndr_print_samr_ValidatePassword
,
12820 { NULL
, 0, NULL
, NULL
, NULL
, false }
12823 static const char * const samr_endpoint_strings
[] = {
12824 "ncacn_np:[\\pipe\\samr]",
12829 static const struct ndr_interface_string_array samr_endpoints
= {
12831 .names
= samr_endpoint_strings
12834 static const char * const samr_authservice_strings
[] = {
12838 static const struct ndr_interface_string_array samr_authservices
= {
12840 .names
= samr_authservice_strings
12844 const struct ndr_interface_table ndr_table_samr
= {
12847 {0x12345778,0x1234,0xabcd,{0xef,0x00},{0x01,0x23,0x45,0x67,0x89,0xac}},
12850 .helpstring
= NDR_SAMR_HELPSTRING
,
12852 .calls
= samr_calls
,
12853 .endpoints
= &samr_endpoints
,
12854 .authservices
= &samr_authservices