1 /* parser auto-generated by pidl */
4 #include "../librpc/gen_ndr/ndr_samr.h"
6 #include "librpc/gen_ndr/ndr_misc.h"
7 #include "librpc/gen_ndr/ndr_lsa.h"
8 #include "librpc/gen_ndr/ndr_security.h"
9 _PUBLIC_
enum ndr_err_code
ndr_push_netr_SamDatabaseID(struct ndr_push
*ndr
, int ndr_flags
, enum netr_SamDatabaseID r
)
11 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
12 return NDR_ERR_SUCCESS
;
15 _PUBLIC_
enum ndr_err_code
ndr_pull_netr_SamDatabaseID(struct ndr_pull
*ndr
, int ndr_flags
, enum netr_SamDatabaseID
*r
)
18 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
20 return NDR_ERR_SUCCESS
;
23 _PUBLIC_
void ndr_print_netr_SamDatabaseID(struct ndr_print
*ndr
, const char *name
, enum netr_SamDatabaseID r
)
25 const char *val
= NULL
;
28 case SAM_DATABASE_DOMAIN
: val
= "SAM_DATABASE_DOMAIN"; break;
29 case SAM_DATABASE_BUILTIN
: val
= "SAM_DATABASE_BUILTIN"; break;
30 case SAM_DATABASE_PRIVS
: val
= "SAM_DATABASE_PRIVS"; break;
32 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
35 _PUBLIC_
enum ndr_err_code
ndr_push_samr_RejectReason(struct ndr_push
*ndr
, int ndr_flags
, enum samr_RejectReason r
)
37 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
38 return NDR_ERR_SUCCESS
;
41 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_RejectReason(struct ndr_pull
*ndr
, int ndr_flags
, enum samr_RejectReason
*r
)
44 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
46 return NDR_ERR_SUCCESS
;
49 _PUBLIC_
void ndr_print_samr_RejectReason(struct ndr_print
*ndr
, const char *name
, enum samr_RejectReason r
)
51 const char *val
= NULL
;
54 case SAMR_REJECT_OTHER
: val
= "SAMR_REJECT_OTHER"; break;
55 case SAMR_REJECT_TOO_SHORT
: val
= "SAMR_REJECT_TOO_SHORT"; break;
56 case SAMR_REJECT_IN_HISTORY
: val
= "SAMR_REJECT_IN_HISTORY"; break;
57 case SAMR_REJECT_COMPLEXITY
: val
= "SAMR_REJECT_COMPLEXITY"; break;
59 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
62 _PUBLIC_
enum ndr_err_code
ndr_push_samr_AcctFlags(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
64 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
65 return NDR_ERR_SUCCESS
;
68 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_AcctFlags(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
71 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
73 return NDR_ERR_SUCCESS
;
76 _PUBLIC_
void ndr_print_samr_AcctFlags(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
78 ndr_print_uint32(ndr
, name
, r
);
80 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "ACB_DISABLED", ACB_DISABLED
, r
);
81 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "ACB_HOMDIRREQ", ACB_HOMDIRREQ
, r
);
82 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "ACB_PWNOTREQ", ACB_PWNOTREQ
, r
);
83 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "ACB_TEMPDUP", ACB_TEMPDUP
, r
);
84 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "ACB_NORMAL", ACB_NORMAL
, r
);
85 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "ACB_MNS", ACB_MNS
, r
);
86 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "ACB_DOMTRUST", ACB_DOMTRUST
, r
);
87 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "ACB_WSTRUST", ACB_WSTRUST
, r
);
88 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "ACB_SVRTRUST", ACB_SVRTRUST
, r
);
89 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "ACB_PWNOEXP", ACB_PWNOEXP
, r
);
90 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "ACB_AUTOLOCK", ACB_AUTOLOCK
, r
);
91 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "ACB_ENC_TXT_PWD_ALLOWED", ACB_ENC_TXT_PWD_ALLOWED
, r
);
92 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "ACB_SMARTCARD_REQUIRED", ACB_SMARTCARD_REQUIRED
, r
);
93 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "ACB_TRUSTED_FOR_DELEGATION", ACB_TRUSTED_FOR_DELEGATION
, r
);
94 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "ACB_NOT_DELEGATED", ACB_NOT_DELEGATED
, r
);
95 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "ACB_USE_DES_KEY_ONLY", ACB_USE_DES_KEY_ONLY
, r
);
96 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "ACB_DONT_REQUIRE_PREAUTH", ACB_DONT_REQUIRE_PREAUTH
, r
);
97 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "ACB_PW_EXPIRED", ACB_PW_EXPIRED
, r
);
98 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "ACB_NO_AUTH_DATA_REQD", ACB_NO_AUTH_DATA_REQD
, r
);
102 static enum ndr_err_code
ndr_push_samr_ConnectAccessMask(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
104 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
105 return NDR_ERR_SUCCESS
;
108 static enum ndr_err_code
ndr_pull_samr_ConnectAccessMask(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
111 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
113 return NDR_ERR_SUCCESS
;
116 _PUBLIC_
void ndr_print_samr_ConnectAccessMask(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
118 ndr_print_uint32(ndr
, name
, r
);
120 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_ACCESS_CONNECT_TO_SERVER", SAMR_ACCESS_CONNECT_TO_SERVER
, r
);
121 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_ACCESS_SHUTDOWN_SERVER", SAMR_ACCESS_SHUTDOWN_SERVER
, r
);
122 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_ACCESS_INITIALIZE_SERVER", SAMR_ACCESS_INITIALIZE_SERVER
, r
);
123 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_ACCESS_CREATE_DOMAIN", SAMR_ACCESS_CREATE_DOMAIN
, r
);
124 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_ACCESS_ENUM_DOMAINS", SAMR_ACCESS_ENUM_DOMAINS
, r
);
125 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_ACCESS_LOOKUP_DOMAIN", SAMR_ACCESS_LOOKUP_DOMAIN
, r
);
129 static enum ndr_err_code
ndr_push_samr_UserAccessMask(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
131 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
132 return NDR_ERR_SUCCESS
;
135 static enum ndr_err_code
ndr_pull_samr_UserAccessMask(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
138 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
140 return NDR_ERR_SUCCESS
;
143 _PUBLIC_
void ndr_print_samr_UserAccessMask(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
145 ndr_print_uint32(ndr
, name
, r
);
147 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_USER_ACCESS_GET_NAME_ETC", SAMR_USER_ACCESS_GET_NAME_ETC
, r
);
148 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_USER_ACCESS_GET_LOCALE", SAMR_USER_ACCESS_GET_LOCALE
, r
);
149 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_USER_ACCESS_SET_LOC_COM", SAMR_USER_ACCESS_SET_LOC_COM
, r
);
150 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_USER_ACCESS_GET_LOGONINFO", SAMR_USER_ACCESS_GET_LOGONINFO
, r
);
151 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_USER_ACCESS_GET_ATTRIBUTES", SAMR_USER_ACCESS_GET_ATTRIBUTES
, r
);
152 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_USER_ACCESS_SET_ATTRIBUTES", SAMR_USER_ACCESS_SET_ATTRIBUTES
, r
);
153 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_USER_ACCESS_CHANGE_PASSWORD", SAMR_USER_ACCESS_CHANGE_PASSWORD
, r
);
154 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_USER_ACCESS_SET_PASSWORD", SAMR_USER_ACCESS_SET_PASSWORD
, r
);
155 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_USER_ACCESS_GET_GROUPS", SAMR_USER_ACCESS_GET_GROUPS
, r
);
156 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_USER_ACCESS_GET_GROUP_MEMBERSHIP", SAMR_USER_ACCESS_GET_GROUP_MEMBERSHIP
, r
);
157 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_USER_ACCESS_CHANGE_GROUP_MEMBERSHIP", SAMR_USER_ACCESS_CHANGE_GROUP_MEMBERSHIP
, r
);
161 static enum ndr_err_code
ndr_push_samr_DomainAccessMask(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
163 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
164 return NDR_ERR_SUCCESS
;
167 static enum ndr_err_code
ndr_pull_samr_DomainAccessMask(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
170 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
172 return NDR_ERR_SUCCESS
;
175 _PUBLIC_
void ndr_print_samr_DomainAccessMask(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
177 ndr_print_uint32(ndr
, name
, r
);
179 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_LOOKUP_INFO_1", SAMR_DOMAIN_ACCESS_LOOKUP_INFO_1
, r
);
180 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_SET_INFO_1", SAMR_DOMAIN_ACCESS_SET_INFO_1
, r
);
181 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_LOOKUP_INFO_2", SAMR_DOMAIN_ACCESS_LOOKUP_INFO_2
, r
);
182 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_SET_INFO_2", SAMR_DOMAIN_ACCESS_SET_INFO_2
, r
);
183 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_CREATE_USER", SAMR_DOMAIN_ACCESS_CREATE_USER
, r
);
184 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_CREATE_GROUP", SAMR_DOMAIN_ACCESS_CREATE_GROUP
, r
);
185 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_CREATE_ALIAS", SAMR_DOMAIN_ACCESS_CREATE_ALIAS
, r
);
186 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_LOOKUP_ALIAS", SAMR_DOMAIN_ACCESS_LOOKUP_ALIAS
, r
);
187 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_ENUM_ACCOUNTS", SAMR_DOMAIN_ACCESS_ENUM_ACCOUNTS
, r
);
188 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_OPEN_ACCOUNT", SAMR_DOMAIN_ACCESS_OPEN_ACCOUNT
, r
);
189 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_SET_INFO_3", SAMR_DOMAIN_ACCESS_SET_INFO_3
, r
);
193 static enum ndr_err_code
ndr_push_samr_GroupAccessMask(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
195 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
196 return NDR_ERR_SUCCESS
;
199 static enum ndr_err_code
ndr_pull_samr_GroupAccessMask(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
202 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
204 return NDR_ERR_SUCCESS
;
207 _PUBLIC_
void ndr_print_samr_GroupAccessMask(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
209 ndr_print_uint32(ndr
, name
, r
);
211 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_GROUP_ACCESS_LOOKUP_INFO", SAMR_GROUP_ACCESS_LOOKUP_INFO
, r
);
212 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_GROUP_ACCESS_SET_INFO", SAMR_GROUP_ACCESS_SET_INFO
, r
);
213 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_GROUP_ACCESS_ADD_MEMBER", SAMR_GROUP_ACCESS_ADD_MEMBER
, r
);
214 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_GROUP_ACCESS_REMOVE_MEMBER", SAMR_GROUP_ACCESS_REMOVE_MEMBER
, r
);
215 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_GROUP_ACCESS_GET_MEMBERS", SAMR_GROUP_ACCESS_GET_MEMBERS
, r
);
219 static enum ndr_err_code
ndr_push_samr_AliasAccessMask(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
221 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
222 return NDR_ERR_SUCCESS
;
225 static enum ndr_err_code
ndr_pull_samr_AliasAccessMask(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
228 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
230 return NDR_ERR_SUCCESS
;
233 _PUBLIC_
void ndr_print_samr_AliasAccessMask(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
235 ndr_print_uint32(ndr
, name
, r
);
237 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_ALIAS_ACCESS_ADD_MEMBER", SAMR_ALIAS_ACCESS_ADD_MEMBER
, r
);
238 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_ALIAS_ACCESS_REMOVE_MEMBER", SAMR_ALIAS_ACCESS_REMOVE_MEMBER
, r
);
239 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_ALIAS_ACCESS_GET_MEMBERS", SAMR_ALIAS_ACCESS_GET_MEMBERS
, r
);
240 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_ALIAS_ACCESS_LOOKUP_INFO", SAMR_ALIAS_ACCESS_LOOKUP_INFO
, r
);
241 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_ALIAS_ACCESS_SET_INFO", SAMR_ALIAS_ACCESS_SET_INFO
, r
);
245 static enum ndr_err_code
ndr_push_samr_SamEntry(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_SamEntry
*r
)
247 if (ndr_flags
& NDR_SCALARS
) {
248 NDR_CHECK(ndr_push_align(ndr
, 5));
249 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->idx
));
250 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->name
));
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
, 5));
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
, 5));
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_uint3264(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
, 5));
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_DomainInfoClass(struct ndr_push
*ndr
, int ndr_flags
, enum samr_DomainInfoClass r
)
368 NDR_CHECK(ndr_push_enum_uint16(ndr
, NDR_SCALARS
, r
));
369 return NDR_ERR_SUCCESS
;
372 static enum ndr_err_code
ndr_pull_samr_DomainInfoClass(struct ndr_pull
*ndr
, int ndr_flags
, enum samr_DomainInfoClass
*r
)
375 NDR_CHECK(ndr_pull_enum_uint16(ndr
, NDR_SCALARS
, &v
));
377 return NDR_ERR_SUCCESS
;
380 _PUBLIC_
void ndr_print_samr_DomainInfoClass(struct ndr_print
*ndr
, const char *name
, enum samr_DomainInfoClass r
)
382 const char *val
= NULL
;
385 case DomainPasswordInformation
: val
= "DomainPasswordInformation"; break;
386 case DomainGeneralInformation
: val
= "DomainGeneralInformation"; break;
387 case DomainLogoffInformation
: val
= "DomainLogoffInformation"; break;
388 case DomainOemInformation
: val
= "DomainOemInformation"; break;
389 case DomainNameInformation
: val
= "DomainNameInformation"; break;
390 case DomainReplicationInformation
: val
= "DomainReplicationInformation"; break;
391 case DomainServerRoleInformation
: val
= "DomainServerRoleInformation"; break;
392 case DomainModifiedInformation
: val
= "DomainModifiedInformation"; break;
393 case DomainStateInformation
: val
= "DomainStateInformation"; break;
394 case DomainUasInformation
: val
= "DomainUasInformation"; break;
395 case DomainGeneralInformation2
: val
= "DomainGeneralInformation2"; break;
396 case DomainLockoutInformation
: val
= "DomainLockoutInformation"; break;
397 case DomainModifiedInformation2
: val
= "DomainModifiedInformation2"; break;
399 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
402 static enum ndr_err_code
ndr_push_samr_Role(struct ndr_push
*ndr
, int ndr_flags
, enum samr_Role r
)
404 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
405 return NDR_ERR_SUCCESS
;
408 static enum ndr_err_code
ndr_pull_samr_Role(struct ndr_pull
*ndr
, int ndr_flags
, enum samr_Role
*r
)
411 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
413 return NDR_ERR_SUCCESS
;
416 _PUBLIC_
void ndr_print_samr_Role(struct ndr_print
*ndr
, const char *name
, enum samr_Role r
)
418 const char *val
= NULL
;
421 case SAMR_ROLE_STANDALONE
: val
= "SAMR_ROLE_STANDALONE"; break;
422 case SAMR_ROLE_DOMAIN_MEMBER
: val
= "SAMR_ROLE_DOMAIN_MEMBER"; break;
423 case SAMR_ROLE_DOMAIN_BDC
: val
= "SAMR_ROLE_DOMAIN_BDC"; break;
424 case SAMR_ROLE_DOMAIN_PDC
: val
= "SAMR_ROLE_DOMAIN_PDC"; break;
426 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
429 _PUBLIC_
enum ndr_err_code
ndr_push_samr_PasswordProperties(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
431 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
432 return NDR_ERR_SUCCESS
;
435 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_PasswordProperties(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
438 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
440 return NDR_ERR_SUCCESS
;
443 _PUBLIC_
void ndr_print_samr_PasswordProperties(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
445 ndr_print_uint32(ndr
, name
, r
);
447 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DOMAIN_PASSWORD_COMPLEX", DOMAIN_PASSWORD_COMPLEX
, r
);
448 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DOMAIN_PASSWORD_NO_ANON_CHANGE", DOMAIN_PASSWORD_NO_ANON_CHANGE
, r
);
449 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DOMAIN_PASSWORD_NO_CLEAR_CHANGE", DOMAIN_PASSWORD_NO_CLEAR_CHANGE
, r
);
450 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DOMAIN_PASSWORD_LOCKOUT_ADMINS", DOMAIN_PASSWORD_LOCKOUT_ADMINS
, r
);
451 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DOMAIN_PASSWORD_STORE_CLEARTEXT", DOMAIN_PASSWORD_STORE_CLEARTEXT
, r
);
452 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DOMAIN_REFUSE_PASSWORD_CHANGE", DOMAIN_REFUSE_PASSWORD_CHANGE
, r
);
456 static enum ndr_err_code
ndr_push_samr_DomainServerState(struct ndr_push
*ndr
, int ndr_flags
, enum samr_DomainServerState r
)
458 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
459 return NDR_ERR_SUCCESS
;
462 static enum ndr_err_code
ndr_pull_samr_DomainServerState(struct ndr_pull
*ndr
, int ndr_flags
, enum samr_DomainServerState
*r
)
465 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
467 return NDR_ERR_SUCCESS
;
470 _PUBLIC_
void ndr_print_samr_DomainServerState(struct ndr_print
*ndr
, const char *name
, enum samr_DomainServerState r
)
472 const char *val
= NULL
;
475 case DOMAIN_SERVER_ENABLED
: val
= "DOMAIN_SERVER_ENABLED"; break;
476 case DOMAIN_SERVER_DISABLED
: val
= "DOMAIN_SERVER_DISABLED"; break;
478 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
481 static enum ndr_err_code
ndr_push_samr_DomInfo1(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DomInfo1
*r
)
483 if (ndr_flags
& NDR_SCALARS
) {
484 NDR_CHECK(ndr_push_align(ndr
, 4));
485 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->min_password_length
));
486 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->password_history_length
));
487 NDR_CHECK(ndr_push_samr_PasswordProperties(ndr
, NDR_SCALARS
, r
->password_properties
));
488 NDR_CHECK(ndr_push_dlong(ndr
, NDR_SCALARS
, r
->max_password_age
));
489 NDR_CHECK(ndr_push_dlong(ndr
, NDR_SCALARS
, r
->min_password_age
));
491 if (ndr_flags
& NDR_BUFFERS
) {
493 return NDR_ERR_SUCCESS
;
496 static enum ndr_err_code
ndr_pull_samr_DomInfo1(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DomInfo1
*r
)
498 if (ndr_flags
& NDR_SCALARS
) {
499 NDR_CHECK(ndr_pull_align(ndr
, 4));
500 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->min_password_length
));
501 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->password_history_length
));
502 NDR_CHECK(ndr_pull_samr_PasswordProperties(ndr
, NDR_SCALARS
, &r
->password_properties
));
503 NDR_CHECK(ndr_pull_dlong(ndr
, NDR_SCALARS
, &r
->max_password_age
));
504 NDR_CHECK(ndr_pull_dlong(ndr
, NDR_SCALARS
, &r
->min_password_age
));
506 if (ndr_flags
& NDR_BUFFERS
) {
508 return NDR_ERR_SUCCESS
;
511 _PUBLIC_
void ndr_print_samr_DomInfo1(struct ndr_print
*ndr
, const char *name
, const struct samr_DomInfo1
*r
)
513 ndr_print_struct(ndr
, name
, "samr_DomInfo1");
515 ndr_print_uint16(ndr
, "min_password_length", r
->min_password_length
);
516 ndr_print_uint16(ndr
, "password_history_length", r
->password_history_length
);
517 ndr_print_samr_PasswordProperties(ndr
, "password_properties", r
->password_properties
);
518 ndr_print_dlong(ndr
, "max_password_age", r
->max_password_age
);
519 ndr_print_dlong(ndr
, "min_password_age", r
->min_password_age
);
523 static enum ndr_err_code
ndr_push_samr_DomGeneralInformation(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DomGeneralInformation
*r
)
525 if (ndr_flags
& NDR_SCALARS
) {
526 NDR_CHECK(ndr_push_align(ndr
, 5));
527 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->force_logoff_time
));
528 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->oem_information
));
529 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->domain_name
));
530 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->primary
));
531 NDR_CHECK(ndr_push_udlong(ndr
, NDR_SCALARS
, r
->sequence_num
));
532 NDR_CHECK(ndr_push_samr_DomainServerState(ndr
, NDR_SCALARS
, r
->domain_server_state
));
533 NDR_CHECK(ndr_push_samr_Role(ndr
, NDR_SCALARS
, r
->role
));
534 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown3
));
535 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_users
));
536 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_groups
));
537 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_aliases
));
539 if (ndr_flags
& NDR_BUFFERS
) {
540 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->oem_information
));
541 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->domain_name
));
542 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->primary
));
544 return NDR_ERR_SUCCESS
;
547 static enum ndr_err_code
ndr_pull_samr_DomGeneralInformation(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DomGeneralInformation
*r
)
549 if (ndr_flags
& NDR_SCALARS
) {
550 NDR_CHECK(ndr_pull_align(ndr
, 5));
551 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->force_logoff_time
));
552 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->oem_information
));
553 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->domain_name
));
554 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->primary
));
555 NDR_CHECK(ndr_pull_udlong(ndr
, NDR_SCALARS
, &r
->sequence_num
));
556 NDR_CHECK(ndr_pull_samr_DomainServerState(ndr
, NDR_SCALARS
, &r
->domain_server_state
));
557 NDR_CHECK(ndr_pull_samr_Role(ndr
, NDR_SCALARS
, &r
->role
));
558 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown3
));
559 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_users
));
560 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_groups
));
561 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_aliases
));
563 if (ndr_flags
& NDR_BUFFERS
) {
564 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->oem_information
));
565 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->domain_name
));
566 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->primary
));
568 return NDR_ERR_SUCCESS
;
571 _PUBLIC_
void ndr_print_samr_DomGeneralInformation(struct ndr_print
*ndr
, const char *name
, const struct samr_DomGeneralInformation
*r
)
573 ndr_print_struct(ndr
, name
, "samr_DomGeneralInformation");
575 ndr_print_NTTIME(ndr
, "force_logoff_time", r
->force_logoff_time
);
576 ndr_print_lsa_String(ndr
, "oem_information", &r
->oem_information
);
577 ndr_print_lsa_String(ndr
, "domain_name", &r
->domain_name
);
578 ndr_print_lsa_String(ndr
, "primary", &r
->primary
);
579 ndr_print_udlong(ndr
, "sequence_num", r
->sequence_num
);
580 ndr_print_samr_DomainServerState(ndr
, "domain_server_state", r
->domain_server_state
);
581 ndr_print_samr_Role(ndr
, "role", r
->role
);
582 ndr_print_uint32(ndr
, "unknown3", r
->unknown3
);
583 ndr_print_uint32(ndr
, "num_users", r
->num_users
);
584 ndr_print_uint32(ndr
, "num_groups", r
->num_groups
);
585 ndr_print_uint32(ndr
, "num_aliases", r
->num_aliases
);
589 static enum ndr_err_code
ndr_push_samr_DomInfo3(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DomInfo3
*r
)
591 if (ndr_flags
& NDR_SCALARS
) {
592 NDR_CHECK(ndr_push_align(ndr
, 4));
593 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->force_logoff_time
));
595 if (ndr_flags
& NDR_BUFFERS
) {
597 return NDR_ERR_SUCCESS
;
600 static enum ndr_err_code
ndr_pull_samr_DomInfo3(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DomInfo3
*r
)
602 if (ndr_flags
& NDR_SCALARS
) {
603 NDR_CHECK(ndr_pull_align(ndr
, 4));
604 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->force_logoff_time
));
606 if (ndr_flags
& NDR_BUFFERS
) {
608 return NDR_ERR_SUCCESS
;
611 _PUBLIC_
void ndr_print_samr_DomInfo3(struct ndr_print
*ndr
, const char *name
, const struct samr_DomInfo3
*r
)
613 ndr_print_struct(ndr
, name
, "samr_DomInfo3");
615 ndr_print_NTTIME(ndr
, "force_logoff_time", r
->force_logoff_time
);
619 static enum ndr_err_code
ndr_push_samr_DomOEMInformation(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DomOEMInformation
*r
)
621 if (ndr_flags
& NDR_SCALARS
) {
622 NDR_CHECK(ndr_push_align(ndr
, 5));
623 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->oem_information
));
625 if (ndr_flags
& NDR_BUFFERS
) {
626 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->oem_information
));
628 return NDR_ERR_SUCCESS
;
631 static enum ndr_err_code
ndr_pull_samr_DomOEMInformation(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DomOEMInformation
*r
)
633 if (ndr_flags
& NDR_SCALARS
) {
634 NDR_CHECK(ndr_pull_align(ndr
, 5));
635 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->oem_information
));
637 if (ndr_flags
& NDR_BUFFERS
) {
638 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->oem_information
));
640 return NDR_ERR_SUCCESS
;
643 _PUBLIC_
void ndr_print_samr_DomOEMInformation(struct ndr_print
*ndr
, const char *name
, const struct samr_DomOEMInformation
*r
)
645 ndr_print_struct(ndr
, name
, "samr_DomOEMInformation");
647 ndr_print_lsa_String(ndr
, "oem_information", &r
->oem_information
);
651 static enum ndr_err_code
ndr_push_samr_DomInfo5(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DomInfo5
*r
)
653 if (ndr_flags
& NDR_SCALARS
) {
654 NDR_CHECK(ndr_push_align(ndr
, 5));
655 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->domain_name
));
657 if (ndr_flags
& NDR_BUFFERS
) {
658 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->domain_name
));
660 return NDR_ERR_SUCCESS
;
663 static enum ndr_err_code
ndr_pull_samr_DomInfo5(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DomInfo5
*r
)
665 if (ndr_flags
& NDR_SCALARS
) {
666 NDR_CHECK(ndr_pull_align(ndr
, 5));
667 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->domain_name
));
669 if (ndr_flags
& NDR_BUFFERS
) {
670 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->domain_name
));
672 return NDR_ERR_SUCCESS
;
675 _PUBLIC_
void ndr_print_samr_DomInfo5(struct ndr_print
*ndr
, const char *name
, const struct samr_DomInfo5
*r
)
677 ndr_print_struct(ndr
, name
, "samr_DomInfo5");
679 ndr_print_lsa_String(ndr
, "domain_name", &r
->domain_name
);
683 static enum ndr_err_code
ndr_push_samr_DomInfo6(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DomInfo6
*r
)
685 if (ndr_flags
& NDR_SCALARS
) {
686 NDR_CHECK(ndr_push_align(ndr
, 5));
687 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->primary
));
689 if (ndr_flags
& NDR_BUFFERS
) {
690 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->primary
));
692 return NDR_ERR_SUCCESS
;
695 static enum ndr_err_code
ndr_pull_samr_DomInfo6(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DomInfo6
*r
)
697 if (ndr_flags
& NDR_SCALARS
) {
698 NDR_CHECK(ndr_pull_align(ndr
, 5));
699 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->primary
));
701 if (ndr_flags
& NDR_BUFFERS
) {
702 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->primary
));
704 return NDR_ERR_SUCCESS
;
707 _PUBLIC_
void ndr_print_samr_DomInfo6(struct ndr_print
*ndr
, const char *name
, const struct samr_DomInfo6
*r
)
709 ndr_print_struct(ndr
, name
, "samr_DomInfo6");
711 ndr_print_lsa_String(ndr
, "primary", &r
->primary
);
715 static enum ndr_err_code
ndr_push_samr_DomInfo7(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DomInfo7
*r
)
717 if (ndr_flags
& NDR_SCALARS
) {
718 NDR_CHECK(ndr_push_align(ndr
, 4));
719 NDR_CHECK(ndr_push_samr_Role(ndr
, NDR_SCALARS
, r
->role
));
721 if (ndr_flags
& NDR_BUFFERS
) {
723 return NDR_ERR_SUCCESS
;
726 static enum ndr_err_code
ndr_pull_samr_DomInfo7(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DomInfo7
*r
)
728 if (ndr_flags
& NDR_SCALARS
) {
729 NDR_CHECK(ndr_pull_align(ndr
, 4));
730 NDR_CHECK(ndr_pull_samr_Role(ndr
, NDR_SCALARS
, &r
->role
));
732 if (ndr_flags
& NDR_BUFFERS
) {
734 return NDR_ERR_SUCCESS
;
737 _PUBLIC_
void ndr_print_samr_DomInfo7(struct ndr_print
*ndr
, const char *name
, const struct samr_DomInfo7
*r
)
739 ndr_print_struct(ndr
, name
, "samr_DomInfo7");
741 ndr_print_samr_Role(ndr
, "role", r
->role
);
745 static enum ndr_err_code
ndr_push_samr_DomInfo8(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DomInfo8
*r
)
747 if (ndr_flags
& NDR_SCALARS
) {
748 NDR_CHECK(ndr_push_align(ndr
, 8));
749 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->sequence_num
));
750 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->domain_create_time
));
752 if (ndr_flags
& NDR_BUFFERS
) {
754 return NDR_ERR_SUCCESS
;
757 static enum ndr_err_code
ndr_pull_samr_DomInfo8(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DomInfo8
*r
)
759 if (ndr_flags
& NDR_SCALARS
) {
760 NDR_CHECK(ndr_pull_align(ndr
, 8));
761 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->sequence_num
));
762 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->domain_create_time
));
764 if (ndr_flags
& NDR_BUFFERS
) {
766 return NDR_ERR_SUCCESS
;
769 _PUBLIC_
void ndr_print_samr_DomInfo8(struct ndr_print
*ndr
, const char *name
, const struct samr_DomInfo8
*r
)
771 ndr_print_struct(ndr
, name
, "samr_DomInfo8");
773 ndr_print_hyper(ndr
, "sequence_num", r
->sequence_num
);
774 ndr_print_NTTIME(ndr
, "domain_create_time", r
->domain_create_time
);
778 static enum ndr_err_code
ndr_push_samr_DomInfo9(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DomInfo9
*r
)
780 if (ndr_flags
& NDR_SCALARS
) {
781 NDR_CHECK(ndr_push_align(ndr
, 4));
782 NDR_CHECK(ndr_push_samr_DomainServerState(ndr
, NDR_SCALARS
, r
->domain_server_state
));
784 if (ndr_flags
& NDR_BUFFERS
) {
786 return NDR_ERR_SUCCESS
;
789 static enum ndr_err_code
ndr_pull_samr_DomInfo9(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DomInfo9
*r
)
791 if (ndr_flags
& NDR_SCALARS
) {
792 NDR_CHECK(ndr_pull_align(ndr
, 4));
793 NDR_CHECK(ndr_pull_samr_DomainServerState(ndr
, NDR_SCALARS
, &r
->domain_server_state
));
795 if (ndr_flags
& NDR_BUFFERS
) {
797 return NDR_ERR_SUCCESS
;
800 _PUBLIC_
void ndr_print_samr_DomInfo9(struct ndr_print
*ndr
, const char *name
, const struct samr_DomInfo9
*r
)
802 ndr_print_struct(ndr
, name
, "samr_DomInfo9");
804 ndr_print_samr_DomainServerState(ndr
, "domain_server_state", r
->domain_server_state
);
808 static enum ndr_err_code
ndr_push_samr_DomGeneralInformation2(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DomGeneralInformation2
*r
)
810 if (ndr_flags
& NDR_SCALARS
) {
811 NDR_CHECK(ndr_push_align(ndr
, 8));
812 NDR_CHECK(ndr_push_samr_DomGeneralInformation(ndr
, NDR_SCALARS
, &r
->general
));
813 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->lockout_duration
));
814 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->lockout_window
));
815 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->lockout_threshold
));
817 if (ndr_flags
& NDR_BUFFERS
) {
818 NDR_CHECK(ndr_push_samr_DomGeneralInformation(ndr
, NDR_BUFFERS
, &r
->general
));
820 return NDR_ERR_SUCCESS
;
823 static enum ndr_err_code
ndr_pull_samr_DomGeneralInformation2(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DomGeneralInformation2
*r
)
825 if (ndr_flags
& NDR_SCALARS
) {
826 NDR_CHECK(ndr_pull_align(ndr
, 8));
827 NDR_CHECK(ndr_pull_samr_DomGeneralInformation(ndr
, NDR_SCALARS
, &r
->general
));
828 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->lockout_duration
));
829 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->lockout_window
));
830 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->lockout_threshold
));
832 if (ndr_flags
& NDR_BUFFERS
) {
833 NDR_CHECK(ndr_pull_samr_DomGeneralInformation(ndr
, NDR_BUFFERS
, &r
->general
));
835 return NDR_ERR_SUCCESS
;
838 _PUBLIC_
void ndr_print_samr_DomGeneralInformation2(struct ndr_print
*ndr
, const char *name
, const struct samr_DomGeneralInformation2
*r
)
840 ndr_print_struct(ndr
, name
, "samr_DomGeneralInformation2");
842 ndr_print_samr_DomGeneralInformation(ndr
, "general", &r
->general
);
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_DomInfo12(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DomInfo12
*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
->lockout_duration
));
854 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->lockout_window
));
855 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->lockout_threshold
));
857 if (ndr_flags
& NDR_BUFFERS
) {
859 return NDR_ERR_SUCCESS
;
862 static enum ndr_err_code
ndr_pull_samr_DomInfo12(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DomInfo12
*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
->lockout_duration
));
867 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->lockout_window
));
868 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->lockout_threshold
));
870 if (ndr_flags
& NDR_BUFFERS
) {
872 return NDR_ERR_SUCCESS
;
875 _PUBLIC_
void ndr_print_samr_DomInfo12(struct ndr_print
*ndr
, const char *name
, const struct samr_DomInfo12
*r
)
877 ndr_print_struct(ndr
, name
, "samr_DomInfo12");
879 ndr_print_hyper(ndr
, "lockout_duration", r
->lockout_duration
);
880 ndr_print_hyper(ndr
, "lockout_window", r
->lockout_window
);
881 ndr_print_uint16(ndr
, "lockout_threshold", r
->lockout_threshold
);
885 static enum ndr_err_code
ndr_push_samr_DomInfo13(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DomInfo13
*r
)
887 if (ndr_flags
& NDR_SCALARS
) {
888 NDR_CHECK(ndr_push_align(ndr
, 8));
889 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->sequence_num
));
890 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->domain_create_time
));
891 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->modified_count_at_last_promotion
));
893 if (ndr_flags
& NDR_BUFFERS
) {
895 return NDR_ERR_SUCCESS
;
898 static enum ndr_err_code
ndr_pull_samr_DomInfo13(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DomInfo13
*r
)
900 if (ndr_flags
& NDR_SCALARS
) {
901 NDR_CHECK(ndr_pull_align(ndr
, 8));
902 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->sequence_num
));
903 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->domain_create_time
));
904 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->modified_count_at_last_promotion
));
906 if (ndr_flags
& NDR_BUFFERS
) {
908 return NDR_ERR_SUCCESS
;
911 _PUBLIC_
void ndr_print_samr_DomInfo13(struct ndr_print
*ndr
, const char *name
, const struct samr_DomInfo13
*r
)
913 ndr_print_struct(ndr
, name
, "samr_DomInfo13");
915 ndr_print_hyper(ndr
, "sequence_num", r
->sequence_num
);
916 ndr_print_NTTIME(ndr
, "domain_create_time", r
->domain_create_time
);
917 ndr_print_hyper(ndr
, "modified_count_at_last_promotion", r
->modified_count_at_last_promotion
);
921 static enum ndr_err_code
ndr_push_samr_DomainInfo(struct ndr_push
*ndr
, int ndr_flags
, const union samr_DomainInfo
*r
)
923 if (ndr_flags
& NDR_SCALARS
) {
924 int level
= ndr_push_get_switch_value(ndr
, r
);
925 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, level
));
926 NDR_CHECK(ndr_push_union_align(ndr
, 8));
929 NDR_CHECK(ndr_push_samr_DomInfo1(ndr
, NDR_SCALARS
, &r
->info1
));
933 NDR_CHECK(ndr_push_samr_DomGeneralInformation(ndr
, NDR_SCALARS
, &r
->general
));
937 NDR_CHECK(ndr_push_samr_DomInfo3(ndr
, NDR_SCALARS
, &r
->info3
));
941 NDR_CHECK(ndr_push_samr_DomOEMInformation(ndr
, NDR_SCALARS
, &r
->oem
));
945 NDR_CHECK(ndr_push_samr_DomInfo5(ndr
, NDR_SCALARS
, &r
->info5
));
949 NDR_CHECK(ndr_push_samr_DomInfo6(ndr
, NDR_SCALARS
, &r
->info6
));
953 NDR_CHECK(ndr_push_samr_DomInfo7(ndr
, NDR_SCALARS
, &r
->info7
));
957 NDR_CHECK(ndr_push_samr_DomInfo8(ndr
, NDR_SCALARS
, &r
->info8
));
961 NDR_CHECK(ndr_push_samr_DomInfo9(ndr
, NDR_SCALARS
, &r
->info9
));
965 NDR_CHECK(ndr_push_samr_DomGeneralInformation2(ndr
, NDR_SCALARS
, &r
->general2
));
969 NDR_CHECK(ndr_push_samr_DomInfo12(ndr
, NDR_SCALARS
, &r
->info12
));
973 NDR_CHECK(ndr_push_samr_DomInfo13(ndr
, NDR_SCALARS
, &r
->info13
));
977 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
980 if (ndr_flags
& NDR_BUFFERS
) {
981 int level
= ndr_push_get_switch_value(ndr
, r
);
987 NDR_CHECK(ndr_push_samr_DomGeneralInformation(ndr
, NDR_BUFFERS
, &r
->general
));
994 NDR_CHECK(ndr_push_samr_DomOEMInformation(ndr
, NDR_BUFFERS
, &r
->oem
));
998 NDR_CHECK(ndr_push_samr_DomInfo5(ndr
, NDR_BUFFERS
, &r
->info5
));
1002 NDR_CHECK(ndr_push_samr_DomInfo6(ndr
, NDR_BUFFERS
, &r
->info6
));
1015 NDR_CHECK(ndr_push_samr_DomGeneralInformation2(ndr
, NDR_BUFFERS
, &r
->general2
));
1025 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1028 return NDR_ERR_SUCCESS
;
1031 static enum ndr_err_code
ndr_pull_samr_DomainInfo(struct ndr_pull
*ndr
, int ndr_flags
, union samr_DomainInfo
*r
)
1035 level
= ndr_pull_get_switch_value(ndr
, r
);
1036 if (ndr_flags
& NDR_SCALARS
) {
1037 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &_level
));
1038 if (_level
!= level
) {
1039 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
1041 NDR_CHECK(ndr_pull_union_align(ndr
, 8));
1044 NDR_CHECK(ndr_pull_samr_DomInfo1(ndr
, NDR_SCALARS
, &r
->info1
));
1048 NDR_CHECK(ndr_pull_samr_DomGeneralInformation(ndr
, NDR_SCALARS
, &r
->general
));
1052 NDR_CHECK(ndr_pull_samr_DomInfo3(ndr
, NDR_SCALARS
, &r
->info3
));
1056 NDR_CHECK(ndr_pull_samr_DomOEMInformation(ndr
, NDR_SCALARS
, &r
->oem
));
1060 NDR_CHECK(ndr_pull_samr_DomInfo5(ndr
, NDR_SCALARS
, &r
->info5
));
1064 NDR_CHECK(ndr_pull_samr_DomInfo6(ndr
, NDR_SCALARS
, &r
->info6
));
1068 NDR_CHECK(ndr_pull_samr_DomInfo7(ndr
, NDR_SCALARS
, &r
->info7
));
1072 NDR_CHECK(ndr_pull_samr_DomInfo8(ndr
, NDR_SCALARS
, &r
->info8
));
1076 NDR_CHECK(ndr_pull_samr_DomInfo9(ndr
, NDR_SCALARS
, &r
->info9
));
1080 NDR_CHECK(ndr_pull_samr_DomGeneralInformation2(ndr
, NDR_SCALARS
, &r
->general2
));
1084 NDR_CHECK(ndr_pull_samr_DomInfo12(ndr
, NDR_SCALARS
, &r
->info12
));
1088 NDR_CHECK(ndr_pull_samr_DomInfo13(ndr
, NDR_SCALARS
, &r
->info13
));
1092 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1095 if (ndr_flags
& NDR_BUFFERS
) {
1101 NDR_CHECK(ndr_pull_samr_DomGeneralInformation(ndr
, NDR_BUFFERS
, &r
->general
));
1108 NDR_CHECK(ndr_pull_samr_DomOEMInformation(ndr
, NDR_BUFFERS
, &r
->oem
));
1112 NDR_CHECK(ndr_pull_samr_DomInfo5(ndr
, NDR_BUFFERS
, &r
->info5
));
1116 NDR_CHECK(ndr_pull_samr_DomInfo6(ndr
, NDR_BUFFERS
, &r
->info6
));
1129 NDR_CHECK(ndr_pull_samr_DomGeneralInformation2(ndr
, NDR_BUFFERS
, &r
->general2
));
1139 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1142 return NDR_ERR_SUCCESS
;
1145 _PUBLIC_
void ndr_print_samr_DomainInfo(struct ndr_print
*ndr
, const char *name
, const union samr_DomainInfo
*r
)
1148 level
= ndr_print_get_switch_value(ndr
, r
);
1149 ndr_print_union(ndr
, name
, level
, "samr_DomainInfo");
1152 ndr_print_samr_DomInfo1(ndr
, "info1", &r
->info1
);
1156 ndr_print_samr_DomGeneralInformation(ndr
, "general", &r
->general
);
1160 ndr_print_samr_DomInfo3(ndr
, "info3", &r
->info3
);
1164 ndr_print_samr_DomOEMInformation(ndr
, "oem", &r
->oem
);
1168 ndr_print_samr_DomInfo5(ndr
, "info5", &r
->info5
);
1172 ndr_print_samr_DomInfo6(ndr
, "info6", &r
->info6
);
1176 ndr_print_samr_DomInfo7(ndr
, "info7", &r
->info7
);
1180 ndr_print_samr_DomInfo8(ndr
, "info8", &r
->info8
);
1184 ndr_print_samr_DomInfo9(ndr
, "info9", &r
->info9
);
1188 ndr_print_samr_DomGeneralInformation2(ndr
, "general2", &r
->general2
);
1192 ndr_print_samr_DomInfo12(ndr
, "info12", &r
->info12
);
1196 ndr_print_samr_DomInfo13(ndr
, "info13", &r
->info13
);
1200 ndr_print_bad_level(ndr
, name
, level
);
1204 static enum ndr_err_code
ndr_push_samr_Ids(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_Ids
*r
)
1206 uint32_t cntr_ids_1
;
1207 if (ndr_flags
& NDR_SCALARS
) {
1208 NDR_CHECK(ndr_push_align(ndr
, 5));
1209 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
1210 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->ids
));
1212 if (ndr_flags
& NDR_BUFFERS
) {
1214 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
1215 for (cntr_ids_1
= 0; cntr_ids_1
< r
->count
; cntr_ids_1
++) {
1216 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->ids
[cntr_ids_1
]));
1220 return NDR_ERR_SUCCESS
;
1223 static enum ndr_err_code
ndr_pull_samr_Ids(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_Ids
*r
)
1226 uint32_t cntr_ids_1
;
1227 TALLOC_CTX
*_mem_save_ids_0
;
1228 TALLOC_CTX
*_mem_save_ids_1
;
1229 if (ndr_flags
& NDR_SCALARS
) {
1230 NDR_CHECK(ndr_pull_align(ndr
, 5));
1231 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
1232 if (r
->count
> 1024) {
1233 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
1235 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_ids
));
1237 NDR_PULL_ALLOC(ndr
, r
->ids
);
1242 if (ndr_flags
& NDR_BUFFERS
) {
1244 _mem_save_ids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1245 NDR_PULL_SET_MEM_CTX(ndr
, r
->ids
, 0);
1246 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->ids
));
1247 NDR_PULL_ALLOC_N(ndr
, r
->ids
, ndr_get_array_size(ndr
, &r
->ids
));
1248 _mem_save_ids_1
= NDR_PULL_GET_MEM_CTX(ndr
);
1249 NDR_PULL_SET_MEM_CTX(ndr
, r
->ids
, 0);
1250 for (cntr_ids_1
= 0; cntr_ids_1
< r
->count
; cntr_ids_1
++) {
1251 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->ids
[cntr_ids_1
]));
1253 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ids_1
, 0);
1254 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ids_0
, 0);
1257 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->ids
, r
->count
));
1260 return NDR_ERR_SUCCESS
;
1263 _PUBLIC_
void ndr_print_samr_Ids(struct ndr_print
*ndr
, const char *name
, const struct samr_Ids
*r
)
1265 uint32_t cntr_ids_1
;
1266 ndr_print_struct(ndr
, name
, "samr_Ids");
1268 ndr_print_uint32(ndr
, "count", r
->count
);
1269 ndr_print_ptr(ndr
, "ids", r
->ids
);
1272 ndr
->print(ndr
, "%s: ARRAY(%d)", "ids", (int)r
->count
);
1274 for (cntr_ids_1
=0;cntr_ids_1
<r
->count
;cntr_ids_1
++) {
1276 if (asprintf(&idx_1
, "[%d]", cntr_ids_1
) != -1) {
1277 ndr_print_uint32(ndr
, "ids", r
->ids
[cntr_ids_1
]);
1287 _PUBLIC_
enum ndr_err_code
ndr_push_samr_GroupAttrs(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
1289 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
1290 return NDR_ERR_SUCCESS
;
1293 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_GroupAttrs(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
1296 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
1298 return NDR_ERR_SUCCESS
;
1301 _PUBLIC_
void ndr_print_samr_GroupAttrs(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
1303 ndr_print_uint32(ndr
, name
, r
);
1305 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SE_GROUP_MANDATORY", SE_GROUP_MANDATORY
, r
);
1306 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SE_GROUP_ENABLED_BY_DEFAULT", SE_GROUP_ENABLED_BY_DEFAULT
, r
);
1307 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SE_GROUP_ENABLED", SE_GROUP_ENABLED
, r
);
1308 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SE_GROUP_OWNER", SE_GROUP_OWNER
, r
);
1309 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SE_GROUP_USE_FOR_DENY_ONLY", SE_GROUP_USE_FOR_DENY_ONLY
, r
);
1310 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SE_GROUP_RESOURCE", SE_GROUP_RESOURCE
, r
);
1311 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SE_GROUP_LOGON_ID", SE_GROUP_LOGON_ID
, r
);
1315 static enum ndr_err_code
ndr_push_samr_GroupInfoAll(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_GroupInfoAll
*r
)
1317 if (ndr_flags
& NDR_SCALARS
) {
1318 NDR_CHECK(ndr_push_align(ndr
, 5));
1319 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->name
));
1320 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr
, NDR_SCALARS
, r
->attributes
));
1321 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_members
));
1322 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
1324 if (ndr_flags
& NDR_BUFFERS
) {
1325 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->name
));
1326 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
1328 return NDR_ERR_SUCCESS
;
1331 static enum ndr_err_code
ndr_pull_samr_GroupInfoAll(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_GroupInfoAll
*r
)
1333 if (ndr_flags
& NDR_SCALARS
) {
1334 NDR_CHECK(ndr_pull_align(ndr
, 5));
1335 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->name
));
1336 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr
, NDR_SCALARS
, &r
->attributes
));
1337 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_members
));
1338 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
1340 if (ndr_flags
& NDR_BUFFERS
) {
1341 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->name
));
1342 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
1344 return NDR_ERR_SUCCESS
;
1347 _PUBLIC_
void ndr_print_samr_GroupInfoAll(struct ndr_print
*ndr
, const char *name
, const struct samr_GroupInfoAll
*r
)
1349 ndr_print_struct(ndr
, name
, "samr_GroupInfoAll");
1351 ndr_print_lsa_String(ndr
, "name", &r
->name
);
1352 ndr_print_samr_GroupAttrs(ndr
, "attributes", r
->attributes
);
1353 ndr_print_uint32(ndr
, "num_members", r
->num_members
);
1354 ndr_print_lsa_String(ndr
, "description", &r
->description
);
1358 static enum ndr_err_code
ndr_push_samr_GroupInfoAttributes(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_GroupInfoAttributes
*r
)
1360 if (ndr_flags
& NDR_SCALARS
) {
1361 NDR_CHECK(ndr_push_align(ndr
, 4));
1362 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr
, NDR_SCALARS
, r
->attributes
));
1364 if (ndr_flags
& NDR_BUFFERS
) {
1366 return NDR_ERR_SUCCESS
;
1369 static enum ndr_err_code
ndr_pull_samr_GroupInfoAttributes(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_GroupInfoAttributes
*r
)
1371 if (ndr_flags
& NDR_SCALARS
) {
1372 NDR_CHECK(ndr_pull_align(ndr
, 4));
1373 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr
, NDR_SCALARS
, &r
->attributes
));
1375 if (ndr_flags
& NDR_BUFFERS
) {
1377 return NDR_ERR_SUCCESS
;
1380 _PUBLIC_
void ndr_print_samr_GroupInfoAttributes(struct ndr_print
*ndr
, const char *name
, const struct samr_GroupInfoAttributes
*r
)
1382 ndr_print_struct(ndr
, name
, "samr_GroupInfoAttributes");
1384 ndr_print_samr_GroupAttrs(ndr
, "attributes", r
->attributes
);
1388 static enum ndr_err_code
ndr_push_samr_GroupInfoEnum(struct ndr_push
*ndr
, int ndr_flags
, enum samr_GroupInfoEnum r
)
1390 NDR_CHECK(ndr_push_enum_uint16(ndr
, NDR_SCALARS
, r
));
1391 return NDR_ERR_SUCCESS
;
1394 static enum ndr_err_code
ndr_pull_samr_GroupInfoEnum(struct ndr_pull
*ndr
, int ndr_flags
, enum samr_GroupInfoEnum
*r
)
1397 NDR_CHECK(ndr_pull_enum_uint16(ndr
, NDR_SCALARS
, &v
));
1399 return NDR_ERR_SUCCESS
;
1402 _PUBLIC_
void ndr_print_samr_GroupInfoEnum(struct ndr_print
*ndr
, const char *name
, enum samr_GroupInfoEnum r
)
1404 const char *val
= NULL
;
1407 case GROUPINFOALL
: val
= "GROUPINFOALL"; break;
1408 case GROUPINFONAME
: val
= "GROUPINFONAME"; break;
1409 case GROUPINFOATTRIBUTES
: val
= "GROUPINFOATTRIBUTES"; break;
1410 case GROUPINFODESCRIPTION
: val
= "GROUPINFODESCRIPTION"; break;
1411 case GROUPINFOALL2
: val
= "GROUPINFOALL2"; break;
1413 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
1416 static enum ndr_err_code
ndr_push_samr_GroupInfo(struct ndr_push
*ndr
, int ndr_flags
, const union samr_GroupInfo
*r
)
1418 if (ndr_flags
& NDR_SCALARS
) {
1419 int level
= ndr_push_get_switch_value(ndr
, r
);
1420 NDR_CHECK(ndr_push_samr_GroupInfoEnum(ndr
, NDR_SCALARS
, level
));
1421 NDR_CHECK(ndr_push_union_align(ndr
, 5));
1423 case GROUPINFOALL
: {
1424 NDR_CHECK(ndr_push_samr_GroupInfoAll(ndr
, NDR_SCALARS
, &r
->all
));
1427 case GROUPINFONAME
: {
1428 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->name
));
1431 case GROUPINFOATTRIBUTES
: {
1432 NDR_CHECK(ndr_push_samr_GroupInfoAttributes(ndr
, NDR_SCALARS
, &r
->attributes
));
1435 case GROUPINFODESCRIPTION
: {
1436 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
1439 case GROUPINFOALL2
: {
1440 NDR_CHECK(ndr_push_samr_GroupInfoAll(ndr
, NDR_SCALARS
, &r
->all2
));
1444 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1447 if (ndr_flags
& NDR_BUFFERS
) {
1448 int level
= ndr_push_get_switch_value(ndr
, r
);
1451 NDR_CHECK(ndr_push_samr_GroupInfoAll(ndr
, NDR_BUFFERS
, &r
->all
));
1455 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->name
));
1458 case GROUPINFOATTRIBUTES
:
1461 case GROUPINFODESCRIPTION
:
1462 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
1466 NDR_CHECK(ndr_push_samr_GroupInfoAll(ndr
, NDR_BUFFERS
, &r
->all2
));
1470 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1473 return NDR_ERR_SUCCESS
;
1476 static enum ndr_err_code
ndr_pull_samr_GroupInfo(struct ndr_pull
*ndr
, int ndr_flags
, union samr_GroupInfo
*r
)
1480 level
= ndr_pull_get_switch_value(ndr
, r
);
1481 if (ndr_flags
& NDR_SCALARS
) {
1482 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &_level
));
1483 if (_level
!= level
) {
1484 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
1486 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
1488 case GROUPINFOALL
: {
1489 NDR_CHECK(ndr_pull_samr_GroupInfoAll(ndr
, NDR_SCALARS
, &r
->all
));
1492 case GROUPINFONAME
: {
1493 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->name
));
1496 case GROUPINFOATTRIBUTES
: {
1497 NDR_CHECK(ndr_pull_samr_GroupInfoAttributes(ndr
, NDR_SCALARS
, &r
->attributes
));
1500 case GROUPINFODESCRIPTION
: {
1501 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
1504 case GROUPINFOALL2
: {
1505 NDR_CHECK(ndr_pull_samr_GroupInfoAll(ndr
, NDR_SCALARS
, &r
->all2
));
1509 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1512 if (ndr_flags
& NDR_BUFFERS
) {
1515 NDR_CHECK(ndr_pull_samr_GroupInfoAll(ndr
, NDR_BUFFERS
, &r
->all
));
1519 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->name
));
1522 case GROUPINFOATTRIBUTES
:
1525 case GROUPINFODESCRIPTION
:
1526 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
1530 NDR_CHECK(ndr_pull_samr_GroupInfoAll(ndr
, NDR_BUFFERS
, &r
->all2
));
1534 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1537 return NDR_ERR_SUCCESS
;
1540 _PUBLIC_
void ndr_print_samr_GroupInfo(struct ndr_print
*ndr
, const char *name
, const union samr_GroupInfo
*r
)
1543 level
= ndr_print_get_switch_value(ndr
, r
);
1544 ndr_print_union(ndr
, name
, level
, "samr_GroupInfo");
1547 ndr_print_samr_GroupInfoAll(ndr
, "all", &r
->all
);
1551 ndr_print_lsa_String(ndr
, "name", &r
->name
);
1554 case GROUPINFOATTRIBUTES
:
1555 ndr_print_samr_GroupInfoAttributes(ndr
, "attributes", &r
->attributes
);
1558 case GROUPINFODESCRIPTION
:
1559 ndr_print_lsa_String(ndr
, "description", &r
->description
);
1563 ndr_print_samr_GroupInfoAll(ndr
, "all2", &r
->all2
);
1567 ndr_print_bad_level(ndr
, name
, level
);
1571 static enum ndr_err_code
ndr_push_samr_RidTypeArray(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_RidTypeArray
*r
)
1573 uint32_t cntr_rids_1
;
1574 uint32_t cntr_types_1
;
1575 if (ndr_flags
& NDR_SCALARS
) {
1576 NDR_CHECK(ndr_push_align(ndr
, 5));
1577 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
1578 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->rids
));
1579 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->types
));
1581 if (ndr_flags
& NDR_BUFFERS
) {
1583 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
1584 for (cntr_rids_1
= 0; cntr_rids_1
< r
->count
; cntr_rids_1
++) {
1585 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->rids
[cntr_rids_1
]));
1589 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
1590 for (cntr_types_1
= 0; cntr_types_1
< r
->count
; cntr_types_1
++) {
1591 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->types
[cntr_types_1
]));
1595 return NDR_ERR_SUCCESS
;
1598 static enum ndr_err_code
ndr_pull_samr_RidTypeArray(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_RidTypeArray
*r
)
1601 uint32_t cntr_rids_1
;
1602 TALLOC_CTX
*_mem_save_rids_0
;
1603 TALLOC_CTX
*_mem_save_rids_1
;
1604 uint32_t _ptr_types
;
1605 uint32_t cntr_types_1
;
1606 TALLOC_CTX
*_mem_save_types_0
;
1607 TALLOC_CTX
*_mem_save_types_1
;
1608 if (ndr_flags
& NDR_SCALARS
) {
1609 NDR_CHECK(ndr_pull_align(ndr
, 5));
1610 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
1611 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_rids
));
1613 NDR_PULL_ALLOC(ndr
, r
->rids
);
1617 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_types
));
1619 NDR_PULL_ALLOC(ndr
, r
->types
);
1624 if (ndr_flags
& NDR_BUFFERS
) {
1626 _mem_save_rids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1627 NDR_PULL_SET_MEM_CTX(ndr
, r
->rids
, 0);
1628 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->rids
));
1629 NDR_PULL_ALLOC_N(ndr
, r
->rids
, ndr_get_array_size(ndr
, &r
->rids
));
1630 _mem_save_rids_1
= NDR_PULL_GET_MEM_CTX(ndr
);
1631 NDR_PULL_SET_MEM_CTX(ndr
, r
->rids
, 0);
1632 for (cntr_rids_1
= 0; cntr_rids_1
< r
->count
; cntr_rids_1
++) {
1633 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->rids
[cntr_rids_1
]));
1635 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rids_1
, 0);
1636 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rids_0
, 0);
1639 _mem_save_types_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1640 NDR_PULL_SET_MEM_CTX(ndr
, r
->types
, 0);
1641 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->types
));
1642 NDR_PULL_ALLOC_N(ndr
, r
->types
, ndr_get_array_size(ndr
, &r
->types
));
1643 _mem_save_types_1
= NDR_PULL_GET_MEM_CTX(ndr
);
1644 NDR_PULL_SET_MEM_CTX(ndr
, r
->types
, 0);
1645 for (cntr_types_1
= 0; cntr_types_1
< r
->count
; cntr_types_1
++) {
1646 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->types
[cntr_types_1
]));
1648 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_types_1
, 0);
1649 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_types_0
, 0);
1652 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->rids
, r
->count
));
1655 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->types
, r
->count
));
1658 return NDR_ERR_SUCCESS
;
1661 _PUBLIC_
void ndr_print_samr_RidTypeArray(struct ndr_print
*ndr
, const char *name
, const struct samr_RidTypeArray
*r
)
1663 uint32_t cntr_rids_1
;
1664 uint32_t cntr_types_1
;
1665 ndr_print_struct(ndr
, name
, "samr_RidTypeArray");
1667 ndr_print_uint32(ndr
, "count", r
->count
);
1668 ndr_print_ptr(ndr
, "rids", r
->rids
);
1671 ndr
->print(ndr
, "%s: ARRAY(%d)", "rids", (int)r
->count
);
1673 for (cntr_rids_1
=0;cntr_rids_1
<r
->count
;cntr_rids_1
++) {
1675 if (asprintf(&idx_1
, "[%d]", cntr_rids_1
) != -1) {
1676 ndr_print_uint32(ndr
, "rids", r
->rids
[cntr_rids_1
]);
1683 ndr_print_ptr(ndr
, "types", r
->types
);
1686 ndr
->print(ndr
, "%s: ARRAY(%d)", "types", (int)r
->count
);
1688 for (cntr_types_1
=0;cntr_types_1
<r
->count
;cntr_types_1
++) {
1690 if (asprintf(&idx_1
, "[%d]", cntr_types_1
) != -1) {
1691 ndr_print_uint32(ndr
, "types", r
->types
[cntr_types_1
]);
1701 static enum ndr_err_code
ndr_push_samr_AliasInfoAll(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_AliasInfoAll
*r
)
1703 if (ndr_flags
& NDR_SCALARS
) {
1704 NDR_CHECK(ndr_push_align(ndr
, 5));
1705 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->name
));
1706 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_members
));
1707 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
1709 if (ndr_flags
& NDR_BUFFERS
) {
1710 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->name
));
1711 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
1713 return NDR_ERR_SUCCESS
;
1716 static enum ndr_err_code
ndr_pull_samr_AliasInfoAll(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_AliasInfoAll
*r
)
1718 if (ndr_flags
& NDR_SCALARS
) {
1719 NDR_CHECK(ndr_pull_align(ndr
, 5));
1720 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->name
));
1721 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_members
));
1722 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
1724 if (ndr_flags
& NDR_BUFFERS
) {
1725 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->name
));
1726 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
1728 return NDR_ERR_SUCCESS
;
1731 _PUBLIC_
void ndr_print_samr_AliasInfoAll(struct ndr_print
*ndr
, const char *name
, const struct samr_AliasInfoAll
*r
)
1733 ndr_print_struct(ndr
, name
, "samr_AliasInfoAll");
1735 ndr_print_lsa_String(ndr
, "name", &r
->name
);
1736 ndr_print_uint32(ndr
, "num_members", r
->num_members
);
1737 ndr_print_lsa_String(ndr
, "description", &r
->description
);
1741 static enum ndr_err_code
ndr_push_samr_AliasInfoEnum(struct ndr_push
*ndr
, int ndr_flags
, enum samr_AliasInfoEnum r
)
1743 NDR_CHECK(ndr_push_enum_uint16(ndr
, NDR_SCALARS
, r
));
1744 return NDR_ERR_SUCCESS
;
1747 static enum ndr_err_code
ndr_pull_samr_AliasInfoEnum(struct ndr_pull
*ndr
, int ndr_flags
, enum samr_AliasInfoEnum
*r
)
1750 NDR_CHECK(ndr_pull_enum_uint16(ndr
, NDR_SCALARS
, &v
));
1752 return NDR_ERR_SUCCESS
;
1755 _PUBLIC_
void ndr_print_samr_AliasInfoEnum(struct ndr_print
*ndr
, const char *name
, enum samr_AliasInfoEnum r
)
1757 const char *val
= NULL
;
1760 case ALIASINFOALL
: val
= "ALIASINFOALL"; break;
1761 case ALIASINFONAME
: val
= "ALIASINFONAME"; break;
1762 case ALIASINFODESCRIPTION
: val
= "ALIASINFODESCRIPTION"; break;
1764 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
1767 static enum ndr_err_code
ndr_push_samr_AliasInfo(struct ndr_push
*ndr
, int ndr_flags
, const union samr_AliasInfo
*r
)
1769 if (ndr_flags
& NDR_SCALARS
) {
1770 int level
= ndr_push_get_switch_value(ndr
, r
);
1771 NDR_CHECK(ndr_push_samr_AliasInfoEnum(ndr
, NDR_SCALARS
, level
));
1772 NDR_CHECK(ndr_push_union_align(ndr
, 5));
1774 case ALIASINFOALL
: {
1775 NDR_CHECK(ndr_push_samr_AliasInfoAll(ndr
, NDR_SCALARS
, &r
->all
));
1778 case ALIASINFONAME
: {
1779 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->name
));
1782 case ALIASINFODESCRIPTION
: {
1783 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
1787 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1790 if (ndr_flags
& NDR_BUFFERS
) {
1791 int level
= ndr_push_get_switch_value(ndr
, r
);
1794 NDR_CHECK(ndr_push_samr_AliasInfoAll(ndr
, NDR_BUFFERS
, &r
->all
));
1798 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->name
));
1801 case ALIASINFODESCRIPTION
:
1802 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
1806 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1809 return NDR_ERR_SUCCESS
;
1812 static enum ndr_err_code
ndr_pull_samr_AliasInfo(struct ndr_pull
*ndr
, int ndr_flags
, union samr_AliasInfo
*r
)
1816 level
= ndr_pull_get_switch_value(ndr
, r
);
1817 if (ndr_flags
& NDR_SCALARS
) {
1818 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &_level
));
1819 if (_level
!= level
) {
1820 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
1822 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
1824 case ALIASINFOALL
: {
1825 NDR_CHECK(ndr_pull_samr_AliasInfoAll(ndr
, NDR_SCALARS
, &r
->all
));
1828 case ALIASINFONAME
: {
1829 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->name
));
1832 case ALIASINFODESCRIPTION
: {
1833 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
1837 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1840 if (ndr_flags
& NDR_BUFFERS
) {
1843 NDR_CHECK(ndr_pull_samr_AliasInfoAll(ndr
, NDR_BUFFERS
, &r
->all
));
1847 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->name
));
1850 case ALIASINFODESCRIPTION
:
1851 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
1855 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1858 return NDR_ERR_SUCCESS
;
1861 _PUBLIC_
void ndr_print_samr_AliasInfo(struct ndr_print
*ndr
, const char *name
, const union samr_AliasInfo
*r
)
1864 level
= ndr_print_get_switch_value(ndr
, r
);
1865 ndr_print_union(ndr
, name
, level
, "samr_AliasInfo");
1868 ndr_print_samr_AliasInfoAll(ndr
, "all", &r
->all
);
1872 ndr_print_lsa_String(ndr
, "name", &r
->name
);
1875 case ALIASINFODESCRIPTION
:
1876 ndr_print_lsa_String(ndr
, "description", &r
->description
);
1880 ndr_print_bad_level(ndr
, name
, level
);
1884 static enum ndr_err_code
ndr_push_samr_UserInfoLevel(struct ndr_push
*ndr
, int ndr_flags
, enum samr_UserInfoLevel r
)
1886 NDR_CHECK(ndr_push_enum_uint16(ndr
, NDR_SCALARS
, r
));
1887 return NDR_ERR_SUCCESS
;
1890 static enum ndr_err_code
ndr_pull_samr_UserInfoLevel(struct ndr_pull
*ndr
, int ndr_flags
, enum samr_UserInfoLevel
*r
)
1893 NDR_CHECK(ndr_pull_enum_uint16(ndr
, NDR_SCALARS
, &v
));
1895 return NDR_ERR_SUCCESS
;
1898 _PUBLIC_
void ndr_print_samr_UserInfoLevel(struct ndr_print
*ndr
, const char *name
, enum samr_UserInfoLevel r
)
1900 const char *val
= NULL
;
1903 case UserGeneralInformation
: val
= "UserGeneralInformation"; break;
1904 case UserPreferencesInformation
: val
= "UserPreferencesInformation"; break;
1905 case UserLogonInformation
: val
= "UserLogonInformation"; break;
1906 case UserLogonHoursInformation
: val
= "UserLogonHoursInformation"; break;
1907 case UserAccountInformation
: val
= "UserAccountInformation"; break;
1908 case UserNameInformation
: val
= "UserNameInformation"; break;
1909 case UserAccountNameInformation
: val
= "UserAccountNameInformation"; break;
1910 case UserFullNameInformation
: val
= "UserFullNameInformation"; break;
1911 case UserPrimaryGroupInformation
: val
= "UserPrimaryGroupInformation"; break;
1912 case UserHomeInformation
: val
= "UserHomeInformation"; break;
1913 case UserScriptInformation
: val
= "UserScriptInformation"; break;
1914 case UserProfileInformation
: val
= "UserProfileInformation"; break;
1915 case UserAdminCommentInformation
: val
= "UserAdminCommentInformation"; break;
1916 case UserWorkStationsInformation
: val
= "UserWorkStationsInformation"; break;
1917 case UserControlInformation
: val
= "UserControlInformation"; break;
1918 case UserExpiresInformation
: val
= "UserExpiresInformation"; break;
1919 case UserInternal1Information
: val
= "UserInternal1Information"; break;
1920 case UserParametersInformation
: val
= "UserParametersInformation"; break;
1921 case UserAllInformation
: val
= "UserAllInformation"; break;
1922 case UserInternal4Information
: val
= "UserInternal4Information"; break;
1923 case UserInternal5Information
: val
= "UserInternal5Information"; break;
1924 case UserInternal4InformationNew
: val
= "UserInternal4InformationNew"; break;
1925 case UserInternal5InformationNew
: val
= "UserInternal5InformationNew"; break;
1927 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
1930 static enum ndr_err_code
ndr_push_samr_UserInfo1(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo1
*r
)
1932 if (ndr_flags
& NDR_SCALARS
) {
1933 NDR_CHECK(ndr_push_align(ndr
, 5));
1934 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
1935 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
1936 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->primary_gid
));
1937 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
1938 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->comment
));
1940 if (ndr_flags
& NDR_BUFFERS
) {
1941 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
1942 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
1943 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
1944 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->comment
));
1946 return NDR_ERR_SUCCESS
;
1949 static enum ndr_err_code
ndr_pull_samr_UserInfo1(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo1
*r
)
1951 if (ndr_flags
& NDR_SCALARS
) {
1952 NDR_CHECK(ndr_pull_align(ndr
, 5));
1953 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
1954 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
1955 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->primary_gid
));
1956 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
1957 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->comment
));
1959 if (ndr_flags
& NDR_BUFFERS
) {
1960 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
1961 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
1962 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
1963 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->comment
));
1965 return NDR_ERR_SUCCESS
;
1968 _PUBLIC_
void ndr_print_samr_UserInfo1(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo1
*r
)
1970 ndr_print_struct(ndr
, name
, "samr_UserInfo1");
1972 ndr_print_lsa_String(ndr
, "account_name", &r
->account_name
);
1973 ndr_print_lsa_String(ndr
, "full_name", &r
->full_name
);
1974 ndr_print_uint32(ndr
, "primary_gid", r
->primary_gid
);
1975 ndr_print_lsa_String(ndr
, "description", &r
->description
);
1976 ndr_print_lsa_String(ndr
, "comment", &r
->comment
);
1980 static enum ndr_err_code
ndr_push_samr_UserInfo2(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo2
*r
)
1982 if (ndr_flags
& NDR_SCALARS
) {
1983 NDR_CHECK(ndr_push_align(ndr
, 5));
1984 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->comment
));
1985 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->unknown
));
1986 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->country_code
));
1987 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->code_page
));
1989 if (ndr_flags
& NDR_BUFFERS
) {
1990 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->comment
));
1991 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->unknown
));
1993 return NDR_ERR_SUCCESS
;
1996 static enum ndr_err_code
ndr_pull_samr_UserInfo2(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo2
*r
)
1998 if (ndr_flags
& NDR_SCALARS
) {
1999 NDR_CHECK(ndr_pull_align(ndr
, 5));
2000 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->comment
));
2001 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->unknown
));
2002 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->country_code
));
2003 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->code_page
));
2005 if (ndr_flags
& NDR_BUFFERS
) {
2006 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->comment
));
2007 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->unknown
));
2009 return NDR_ERR_SUCCESS
;
2012 _PUBLIC_
void ndr_print_samr_UserInfo2(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo2
*r
)
2014 ndr_print_struct(ndr
, name
, "samr_UserInfo2");
2016 ndr_print_lsa_String(ndr
, "comment", &r
->comment
);
2017 ndr_print_lsa_String(ndr
, "unknown", &r
->unknown
);
2018 ndr_print_uint16(ndr
, "country_code", r
->country_code
);
2019 ndr_print_uint16(ndr
, "code_page", r
->code_page
);
2023 _PUBLIC_
enum ndr_err_code
ndr_push_samr_LogonHours(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_LogonHours
*r
)
2026 uint32_t _flags_save_STRUCT
= ndr
->flags
;
2027 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
2028 if (ndr_flags
& NDR_SCALARS
) {
2029 NDR_CHECK(ndr_push_align(ndr
, 5));
2030 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->units_per_week
));
2031 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->bits
));
2033 if (ndr_flags
& NDR_BUFFERS
) {
2035 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 1260));
2036 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
2037 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->units_per_week
/ 8));
2038 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->bits
, r
->units_per_week
/ 8));
2041 ndr
->flags
= _flags_save_STRUCT
;
2043 return NDR_ERR_SUCCESS
;
2046 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_LogonHours(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_LogonHours
*r
)
2049 TALLOC_CTX
*_mem_save_bits_0
;
2051 uint32_t _flags_save_STRUCT
= ndr
->flags
;
2052 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
2053 if (ndr_flags
& NDR_SCALARS
) {
2054 NDR_CHECK(ndr_pull_align(ndr
, 5));
2055 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->units_per_week
));
2056 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_bits
));
2058 NDR_PULL_ALLOC(ndr
, r
->bits
);
2063 if (ndr_flags
& NDR_BUFFERS
) {
2065 _mem_save_bits_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2066 NDR_PULL_SET_MEM_CTX(ndr
, r
->bits
, 0);
2067 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->bits
));
2068 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->bits
));
2069 if (ndr_get_array_length(ndr
, &r
->bits
) > ndr_get_array_size(ndr
, &r
->bits
)) {
2070 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
));
2072 NDR_PULL_ALLOC_N(ndr
, r
->bits
, ndr_get_array_size(ndr
, &r
->bits
));
2073 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->bits
, ndr_get_array_length(ndr
, &r
->bits
)));
2074 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bits_0
, 0);
2077 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->bits
, 1260));
2080 NDR_CHECK(ndr_check_array_length(ndr
, (void*)&r
->bits
, r
->units_per_week
/ 8));
2083 ndr
->flags
= _flags_save_STRUCT
;
2085 return NDR_ERR_SUCCESS
;
2088 _PUBLIC_
void ndr_print_samr_LogonHours(struct ndr_print
*ndr
, const char *name
, const struct samr_LogonHours
*r
)
2090 ndr_print_struct(ndr
, name
, "samr_LogonHours");
2092 uint32_t _flags_save_STRUCT
= ndr
->flags
;
2093 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
2095 ndr_print_uint16(ndr
, "units_per_week", r
->units_per_week
);
2096 ndr_print_ptr(ndr
, "bits", r
->bits
);
2099 ndr_print_array_uint8(ndr
, "bits", r
->bits
, r
->units_per_week
/ 8);
2103 ndr
->flags
= _flags_save_STRUCT
;
2107 static enum ndr_err_code
ndr_push_samr_UserInfo3(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo3
*r
)
2109 if (ndr_flags
& NDR_SCALARS
) {
2110 NDR_CHECK(ndr_push_align(ndr
, 5));
2111 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
2112 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
2113 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->rid
));
2114 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->primary_gid
));
2115 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->home_directory
));
2116 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->home_drive
));
2117 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->logon_script
));
2118 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->profile_path
));
2119 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->workstations
));
2120 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_logon
));
2121 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_logoff
));
2122 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_password_change
));
2123 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->allow_password_change
));
2124 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->force_password_change
));
2125 NDR_CHECK(ndr_push_samr_LogonHours(ndr
, NDR_SCALARS
, &r
->logon_hours
));
2126 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->bad_password_count
));
2127 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->logon_count
));
2128 NDR_CHECK(ndr_push_samr_AcctFlags(ndr
, NDR_SCALARS
, r
->acct_flags
));
2130 if (ndr_flags
& NDR_BUFFERS
) {
2131 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
2132 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
2133 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_directory
));
2134 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_drive
));
2135 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->logon_script
));
2136 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->profile_path
));
2137 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->workstations
));
2138 NDR_CHECK(ndr_push_samr_LogonHours(ndr
, NDR_BUFFERS
, &r
->logon_hours
));
2140 return NDR_ERR_SUCCESS
;
2143 static enum ndr_err_code
ndr_pull_samr_UserInfo3(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo3
*r
)
2145 if (ndr_flags
& NDR_SCALARS
) {
2146 NDR_CHECK(ndr_pull_align(ndr
, 5));
2147 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
2148 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
2149 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->rid
));
2150 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->primary_gid
));
2151 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->home_directory
));
2152 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->home_drive
));
2153 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->logon_script
));
2154 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->profile_path
));
2155 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->workstations
));
2156 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_logon
));
2157 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_logoff
));
2158 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_password_change
));
2159 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->allow_password_change
));
2160 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->force_password_change
));
2161 NDR_CHECK(ndr_pull_samr_LogonHours(ndr
, NDR_SCALARS
, &r
->logon_hours
));
2162 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->bad_password_count
));
2163 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->logon_count
));
2164 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr
, NDR_SCALARS
, &r
->acct_flags
));
2166 if (ndr_flags
& NDR_BUFFERS
) {
2167 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
2168 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
2169 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_directory
));
2170 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_drive
));
2171 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->logon_script
));
2172 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->profile_path
));
2173 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->workstations
));
2174 NDR_CHECK(ndr_pull_samr_LogonHours(ndr
, NDR_BUFFERS
, &r
->logon_hours
));
2176 return NDR_ERR_SUCCESS
;
2179 _PUBLIC_
void ndr_print_samr_UserInfo3(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo3
*r
)
2181 ndr_print_struct(ndr
, name
, "samr_UserInfo3");
2183 ndr_print_lsa_String(ndr
, "account_name", &r
->account_name
);
2184 ndr_print_lsa_String(ndr
, "full_name", &r
->full_name
);
2185 ndr_print_uint32(ndr
, "rid", r
->rid
);
2186 ndr_print_uint32(ndr
, "primary_gid", r
->primary_gid
);
2187 ndr_print_lsa_String(ndr
, "home_directory", &r
->home_directory
);
2188 ndr_print_lsa_String(ndr
, "home_drive", &r
->home_drive
);
2189 ndr_print_lsa_String(ndr
, "logon_script", &r
->logon_script
);
2190 ndr_print_lsa_String(ndr
, "profile_path", &r
->profile_path
);
2191 ndr_print_lsa_String(ndr
, "workstations", &r
->workstations
);
2192 ndr_print_NTTIME(ndr
, "last_logon", r
->last_logon
);
2193 ndr_print_NTTIME(ndr
, "last_logoff", r
->last_logoff
);
2194 ndr_print_NTTIME(ndr
, "last_password_change", r
->last_password_change
);
2195 ndr_print_NTTIME(ndr
, "allow_password_change", r
->allow_password_change
);
2196 ndr_print_NTTIME(ndr
, "force_password_change", r
->force_password_change
);
2197 ndr_print_samr_LogonHours(ndr
, "logon_hours", &r
->logon_hours
);
2198 ndr_print_uint16(ndr
, "bad_password_count", r
->bad_password_count
);
2199 ndr_print_uint16(ndr
, "logon_count", r
->logon_count
);
2200 ndr_print_samr_AcctFlags(ndr
, "acct_flags", r
->acct_flags
);
2204 static enum ndr_err_code
ndr_push_samr_UserInfo4(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo4
*r
)
2206 if (ndr_flags
& NDR_SCALARS
) {
2207 NDR_CHECK(ndr_push_align(ndr
, 5));
2208 NDR_CHECK(ndr_push_samr_LogonHours(ndr
, NDR_SCALARS
, &r
->logon_hours
));
2210 if (ndr_flags
& NDR_BUFFERS
) {
2211 NDR_CHECK(ndr_push_samr_LogonHours(ndr
, NDR_BUFFERS
, &r
->logon_hours
));
2213 return NDR_ERR_SUCCESS
;
2216 static enum ndr_err_code
ndr_pull_samr_UserInfo4(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo4
*r
)
2218 if (ndr_flags
& NDR_SCALARS
) {
2219 NDR_CHECK(ndr_pull_align(ndr
, 5));
2220 NDR_CHECK(ndr_pull_samr_LogonHours(ndr
, NDR_SCALARS
, &r
->logon_hours
));
2222 if (ndr_flags
& NDR_BUFFERS
) {
2223 NDR_CHECK(ndr_pull_samr_LogonHours(ndr
, NDR_BUFFERS
, &r
->logon_hours
));
2225 return NDR_ERR_SUCCESS
;
2228 _PUBLIC_
void ndr_print_samr_UserInfo4(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo4
*r
)
2230 ndr_print_struct(ndr
, name
, "samr_UserInfo4");
2232 ndr_print_samr_LogonHours(ndr
, "logon_hours", &r
->logon_hours
);
2236 static enum ndr_err_code
ndr_push_samr_UserInfo5(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo5
*r
)
2238 if (ndr_flags
& NDR_SCALARS
) {
2239 NDR_CHECK(ndr_push_align(ndr
, 5));
2240 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
2241 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
2242 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->rid
));
2243 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->primary_gid
));
2244 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->home_directory
));
2245 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->home_drive
));
2246 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->logon_script
));
2247 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->profile_path
));
2248 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
2249 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->workstations
));
2250 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_logon
));
2251 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_logoff
));
2252 NDR_CHECK(ndr_push_samr_LogonHours(ndr
, NDR_SCALARS
, &r
->logon_hours
));
2253 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->bad_password_count
));
2254 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->logon_count
));
2255 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_password_change
));
2256 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->acct_expiry
));
2257 NDR_CHECK(ndr_push_samr_AcctFlags(ndr
, NDR_SCALARS
, r
->acct_flags
));
2259 if (ndr_flags
& NDR_BUFFERS
) {
2260 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
2261 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
2262 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_directory
));
2263 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_drive
));
2264 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->logon_script
));
2265 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->profile_path
));
2266 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
2267 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->workstations
));
2268 NDR_CHECK(ndr_push_samr_LogonHours(ndr
, NDR_BUFFERS
, &r
->logon_hours
));
2270 return NDR_ERR_SUCCESS
;
2273 static enum ndr_err_code
ndr_pull_samr_UserInfo5(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo5
*r
)
2275 if (ndr_flags
& NDR_SCALARS
) {
2276 NDR_CHECK(ndr_pull_align(ndr
, 5));
2277 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
2278 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
2279 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->rid
));
2280 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->primary_gid
));
2281 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->home_directory
));
2282 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->home_drive
));
2283 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->logon_script
));
2284 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->profile_path
));
2285 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
2286 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->workstations
));
2287 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_logon
));
2288 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_logoff
));
2289 NDR_CHECK(ndr_pull_samr_LogonHours(ndr
, NDR_SCALARS
, &r
->logon_hours
));
2290 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->bad_password_count
));
2291 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->logon_count
));
2292 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_password_change
));
2293 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->acct_expiry
));
2294 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr
, NDR_SCALARS
, &r
->acct_flags
));
2296 if (ndr_flags
& NDR_BUFFERS
) {
2297 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
2298 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
2299 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_directory
));
2300 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_drive
));
2301 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->logon_script
));
2302 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->profile_path
));
2303 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
2304 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->workstations
));
2305 NDR_CHECK(ndr_pull_samr_LogonHours(ndr
, NDR_BUFFERS
, &r
->logon_hours
));
2307 return NDR_ERR_SUCCESS
;
2310 _PUBLIC_
void ndr_print_samr_UserInfo5(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo5
*r
)
2312 ndr_print_struct(ndr
, name
, "samr_UserInfo5");
2314 ndr_print_lsa_String(ndr
, "account_name", &r
->account_name
);
2315 ndr_print_lsa_String(ndr
, "full_name", &r
->full_name
);
2316 ndr_print_uint32(ndr
, "rid", r
->rid
);
2317 ndr_print_uint32(ndr
, "primary_gid", r
->primary_gid
);
2318 ndr_print_lsa_String(ndr
, "home_directory", &r
->home_directory
);
2319 ndr_print_lsa_String(ndr
, "home_drive", &r
->home_drive
);
2320 ndr_print_lsa_String(ndr
, "logon_script", &r
->logon_script
);
2321 ndr_print_lsa_String(ndr
, "profile_path", &r
->profile_path
);
2322 ndr_print_lsa_String(ndr
, "description", &r
->description
);
2323 ndr_print_lsa_String(ndr
, "workstations", &r
->workstations
);
2324 ndr_print_NTTIME(ndr
, "last_logon", r
->last_logon
);
2325 ndr_print_NTTIME(ndr
, "last_logoff", r
->last_logoff
);
2326 ndr_print_samr_LogonHours(ndr
, "logon_hours", &r
->logon_hours
);
2327 ndr_print_uint16(ndr
, "bad_password_count", r
->bad_password_count
);
2328 ndr_print_uint16(ndr
, "logon_count", r
->logon_count
);
2329 ndr_print_NTTIME(ndr
, "last_password_change", r
->last_password_change
);
2330 ndr_print_NTTIME(ndr
, "acct_expiry", r
->acct_expiry
);
2331 ndr_print_samr_AcctFlags(ndr
, "acct_flags", r
->acct_flags
);
2335 static enum ndr_err_code
ndr_push_samr_UserInfo6(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo6
*r
)
2337 if (ndr_flags
& NDR_SCALARS
) {
2338 NDR_CHECK(ndr_push_align(ndr
, 5));
2339 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
2340 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
2342 if (ndr_flags
& NDR_BUFFERS
) {
2343 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
2344 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
2346 return NDR_ERR_SUCCESS
;
2349 static enum ndr_err_code
ndr_pull_samr_UserInfo6(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo6
*r
)
2351 if (ndr_flags
& NDR_SCALARS
) {
2352 NDR_CHECK(ndr_pull_align(ndr
, 5));
2353 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
2354 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
2356 if (ndr_flags
& NDR_BUFFERS
) {
2357 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
2358 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
2360 return NDR_ERR_SUCCESS
;
2363 _PUBLIC_
void ndr_print_samr_UserInfo6(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo6
*r
)
2365 ndr_print_struct(ndr
, name
, "samr_UserInfo6");
2367 ndr_print_lsa_String(ndr
, "account_name", &r
->account_name
);
2368 ndr_print_lsa_String(ndr
, "full_name", &r
->full_name
);
2372 static enum ndr_err_code
ndr_push_samr_UserInfo7(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo7
*r
)
2374 if (ndr_flags
& NDR_SCALARS
) {
2375 NDR_CHECK(ndr_push_align(ndr
, 5));
2376 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
2378 if (ndr_flags
& NDR_BUFFERS
) {
2379 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
2381 return NDR_ERR_SUCCESS
;
2384 static enum ndr_err_code
ndr_pull_samr_UserInfo7(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo7
*r
)
2386 if (ndr_flags
& NDR_SCALARS
) {
2387 NDR_CHECK(ndr_pull_align(ndr
, 5));
2388 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
2390 if (ndr_flags
& NDR_BUFFERS
) {
2391 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
2393 return NDR_ERR_SUCCESS
;
2396 _PUBLIC_
void ndr_print_samr_UserInfo7(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo7
*r
)
2398 ndr_print_struct(ndr
, name
, "samr_UserInfo7");
2400 ndr_print_lsa_String(ndr
, "account_name", &r
->account_name
);
2404 static enum ndr_err_code
ndr_push_samr_UserInfo8(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo8
*r
)
2406 if (ndr_flags
& NDR_SCALARS
) {
2407 NDR_CHECK(ndr_push_align(ndr
, 5));
2408 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
2410 if (ndr_flags
& NDR_BUFFERS
) {
2411 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
2413 return NDR_ERR_SUCCESS
;
2416 static enum ndr_err_code
ndr_pull_samr_UserInfo8(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo8
*r
)
2418 if (ndr_flags
& NDR_SCALARS
) {
2419 NDR_CHECK(ndr_pull_align(ndr
, 5));
2420 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
2422 if (ndr_flags
& NDR_BUFFERS
) {
2423 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
2425 return NDR_ERR_SUCCESS
;
2428 _PUBLIC_
void ndr_print_samr_UserInfo8(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo8
*r
)
2430 ndr_print_struct(ndr
, name
, "samr_UserInfo8");
2432 ndr_print_lsa_String(ndr
, "full_name", &r
->full_name
);
2436 static enum ndr_err_code
ndr_push_samr_UserInfo9(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo9
*r
)
2438 if (ndr_flags
& NDR_SCALARS
) {
2439 NDR_CHECK(ndr_push_align(ndr
, 4));
2440 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->primary_gid
));
2442 if (ndr_flags
& NDR_BUFFERS
) {
2444 return NDR_ERR_SUCCESS
;
2447 static enum ndr_err_code
ndr_pull_samr_UserInfo9(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo9
*r
)
2449 if (ndr_flags
& NDR_SCALARS
) {
2450 NDR_CHECK(ndr_pull_align(ndr
, 4));
2451 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->primary_gid
));
2453 if (ndr_flags
& NDR_BUFFERS
) {
2455 return NDR_ERR_SUCCESS
;
2458 _PUBLIC_
void ndr_print_samr_UserInfo9(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo9
*r
)
2460 ndr_print_struct(ndr
, name
, "samr_UserInfo9");
2462 ndr_print_uint32(ndr
, "primary_gid", r
->primary_gid
);
2466 static enum ndr_err_code
ndr_push_samr_UserInfo10(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo10
*r
)
2468 if (ndr_flags
& NDR_SCALARS
) {
2469 NDR_CHECK(ndr_push_align(ndr
, 5));
2470 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->home_directory
));
2471 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->home_drive
));
2473 if (ndr_flags
& NDR_BUFFERS
) {
2474 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_directory
));
2475 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_drive
));
2477 return NDR_ERR_SUCCESS
;
2480 static enum ndr_err_code
ndr_pull_samr_UserInfo10(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo10
*r
)
2482 if (ndr_flags
& NDR_SCALARS
) {
2483 NDR_CHECK(ndr_pull_align(ndr
, 5));
2484 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->home_directory
));
2485 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->home_drive
));
2487 if (ndr_flags
& NDR_BUFFERS
) {
2488 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_directory
));
2489 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_drive
));
2491 return NDR_ERR_SUCCESS
;
2494 _PUBLIC_
void ndr_print_samr_UserInfo10(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo10
*r
)
2496 ndr_print_struct(ndr
, name
, "samr_UserInfo10");
2498 ndr_print_lsa_String(ndr
, "home_directory", &r
->home_directory
);
2499 ndr_print_lsa_String(ndr
, "home_drive", &r
->home_drive
);
2503 static enum ndr_err_code
ndr_push_samr_UserInfo11(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo11
*r
)
2505 if (ndr_flags
& NDR_SCALARS
) {
2506 NDR_CHECK(ndr_push_align(ndr
, 5));
2507 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->logon_script
));
2509 if (ndr_flags
& NDR_BUFFERS
) {
2510 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->logon_script
));
2512 return NDR_ERR_SUCCESS
;
2515 static enum ndr_err_code
ndr_pull_samr_UserInfo11(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo11
*r
)
2517 if (ndr_flags
& NDR_SCALARS
) {
2518 NDR_CHECK(ndr_pull_align(ndr
, 5));
2519 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->logon_script
));
2521 if (ndr_flags
& NDR_BUFFERS
) {
2522 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->logon_script
));
2524 return NDR_ERR_SUCCESS
;
2527 _PUBLIC_
void ndr_print_samr_UserInfo11(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo11
*r
)
2529 ndr_print_struct(ndr
, name
, "samr_UserInfo11");
2531 ndr_print_lsa_String(ndr
, "logon_script", &r
->logon_script
);
2535 static enum ndr_err_code
ndr_push_samr_UserInfo12(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo12
*r
)
2537 if (ndr_flags
& NDR_SCALARS
) {
2538 NDR_CHECK(ndr_push_align(ndr
, 5));
2539 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->profile_path
));
2541 if (ndr_flags
& NDR_BUFFERS
) {
2542 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->profile_path
));
2544 return NDR_ERR_SUCCESS
;
2547 static enum ndr_err_code
ndr_pull_samr_UserInfo12(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo12
*r
)
2549 if (ndr_flags
& NDR_SCALARS
) {
2550 NDR_CHECK(ndr_pull_align(ndr
, 5));
2551 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->profile_path
));
2553 if (ndr_flags
& NDR_BUFFERS
) {
2554 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->profile_path
));
2556 return NDR_ERR_SUCCESS
;
2559 _PUBLIC_
void ndr_print_samr_UserInfo12(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo12
*r
)
2561 ndr_print_struct(ndr
, name
, "samr_UserInfo12");
2563 ndr_print_lsa_String(ndr
, "profile_path", &r
->profile_path
);
2567 static enum ndr_err_code
ndr_push_samr_UserInfo13(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo13
*r
)
2569 if (ndr_flags
& NDR_SCALARS
) {
2570 NDR_CHECK(ndr_push_align(ndr
, 5));
2571 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
2573 if (ndr_flags
& NDR_BUFFERS
) {
2574 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
2576 return NDR_ERR_SUCCESS
;
2579 static enum ndr_err_code
ndr_pull_samr_UserInfo13(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo13
*r
)
2581 if (ndr_flags
& NDR_SCALARS
) {
2582 NDR_CHECK(ndr_pull_align(ndr
, 5));
2583 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
2585 if (ndr_flags
& NDR_BUFFERS
) {
2586 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
2588 return NDR_ERR_SUCCESS
;
2591 _PUBLIC_
void ndr_print_samr_UserInfo13(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo13
*r
)
2593 ndr_print_struct(ndr
, name
, "samr_UserInfo13");
2595 ndr_print_lsa_String(ndr
, "description", &r
->description
);
2599 static enum ndr_err_code
ndr_push_samr_UserInfo14(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo14
*r
)
2601 if (ndr_flags
& NDR_SCALARS
) {
2602 NDR_CHECK(ndr_push_align(ndr
, 5));
2603 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->workstations
));
2605 if (ndr_flags
& NDR_BUFFERS
) {
2606 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->workstations
));
2608 return NDR_ERR_SUCCESS
;
2611 static enum ndr_err_code
ndr_pull_samr_UserInfo14(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo14
*r
)
2613 if (ndr_flags
& NDR_SCALARS
) {
2614 NDR_CHECK(ndr_pull_align(ndr
, 5));
2615 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->workstations
));
2617 if (ndr_flags
& NDR_BUFFERS
) {
2618 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->workstations
));
2620 return NDR_ERR_SUCCESS
;
2623 _PUBLIC_
void ndr_print_samr_UserInfo14(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo14
*r
)
2625 ndr_print_struct(ndr
, name
, "samr_UserInfo14");
2627 ndr_print_lsa_String(ndr
, "workstations", &r
->workstations
);
2631 static enum ndr_err_code
ndr_push_samr_UserInfo16(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo16
*r
)
2633 if (ndr_flags
& NDR_SCALARS
) {
2634 NDR_CHECK(ndr_push_align(ndr
, 4));
2635 NDR_CHECK(ndr_push_samr_AcctFlags(ndr
, NDR_SCALARS
, r
->acct_flags
));
2637 if (ndr_flags
& NDR_BUFFERS
) {
2639 return NDR_ERR_SUCCESS
;
2642 static enum ndr_err_code
ndr_pull_samr_UserInfo16(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo16
*r
)
2644 if (ndr_flags
& NDR_SCALARS
) {
2645 NDR_CHECK(ndr_pull_align(ndr
, 4));
2646 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr
, NDR_SCALARS
, &r
->acct_flags
));
2648 if (ndr_flags
& NDR_BUFFERS
) {
2650 return NDR_ERR_SUCCESS
;
2653 _PUBLIC_
void ndr_print_samr_UserInfo16(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo16
*r
)
2655 ndr_print_struct(ndr
, name
, "samr_UserInfo16");
2657 ndr_print_samr_AcctFlags(ndr
, "acct_flags", r
->acct_flags
);
2661 static enum ndr_err_code
ndr_push_samr_UserInfo17(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo17
*r
)
2663 if (ndr_flags
& NDR_SCALARS
) {
2664 NDR_CHECK(ndr_push_align(ndr
, 4));
2665 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->acct_expiry
));
2667 if (ndr_flags
& NDR_BUFFERS
) {
2669 return NDR_ERR_SUCCESS
;
2672 static enum ndr_err_code
ndr_pull_samr_UserInfo17(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo17
*r
)
2674 if (ndr_flags
& NDR_SCALARS
) {
2675 NDR_CHECK(ndr_pull_align(ndr
, 4));
2676 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->acct_expiry
));
2678 if (ndr_flags
& NDR_BUFFERS
) {
2680 return NDR_ERR_SUCCESS
;
2683 _PUBLIC_
void ndr_print_samr_UserInfo17(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo17
*r
)
2685 ndr_print_struct(ndr
, name
, "samr_UserInfo17");
2687 ndr_print_NTTIME(ndr
, "acct_expiry", r
->acct_expiry
);
2691 _PUBLIC_
enum ndr_err_code
ndr_push_samr_Password(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_Password
*r
)
2694 uint32_t _flags_save_STRUCT
= ndr
->flags
;
2695 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
2696 if (ndr_flags
& NDR_SCALARS
) {
2697 NDR_CHECK(ndr_push_align(ndr
, 1));
2698 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->hash
, 16));
2700 if (ndr_flags
& NDR_BUFFERS
) {
2702 ndr
->flags
= _flags_save_STRUCT
;
2704 return NDR_ERR_SUCCESS
;
2707 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_Password(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_Password
*r
)
2710 uint32_t _flags_save_STRUCT
= ndr
->flags
;
2711 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
2712 if (ndr_flags
& NDR_SCALARS
) {
2713 NDR_CHECK(ndr_pull_align(ndr
, 1));
2714 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->hash
, 16));
2716 if (ndr_flags
& NDR_BUFFERS
) {
2718 ndr
->flags
= _flags_save_STRUCT
;
2720 return NDR_ERR_SUCCESS
;
2723 _PUBLIC_
void ndr_print_samr_Password(struct ndr_print
*ndr
, const char *name
, const struct samr_Password
*r
)
2725 ndr_print_struct(ndr
, name
, "samr_Password");
2727 uint32_t _flags_save_STRUCT
= ndr
->flags
;
2728 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
2730 ndr_print_array_uint8(ndr
, "hash", r
->hash
, 16);
2732 ndr
->flags
= _flags_save_STRUCT
;
2736 static enum ndr_err_code
ndr_push_samr_UserInfo18(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo18
*r
)
2738 if (ndr_flags
& NDR_SCALARS
) {
2739 NDR_CHECK(ndr_push_align(ndr
, 1));
2740 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, &r
->nt_pwd
));
2741 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, &r
->lm_pwd
));
2742 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->nt_pwd_active
));
2743 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->lm_pwd_active
));
2744 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->password_expired
));
2746 if (ndr_flags
& NDR_BUFFERS
) {
2748 return NDR_ERR_SUCCESS
;
2751 static enum ndr_err_code
ndr_pull_samr_UserInfo18(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo18
*r
)
2753 if (ndr_flags
& NDR_SCALARS
) {
2754 NDR_CHECK(ndr_pull_align(ndr
, 1));
2755 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, &r
->nt_pwd
));
2756 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, &r
->lm_pwd
));
2757 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->nt_pwd_active
));
2758 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->lm_pwd_active
));
2759 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->password_expired
));
2761 if (ndr_flags
& NDR_BUFFERS
) {
2763 return NDR_ERR_SUCCESS
;
2766 _PUBLIC_
void ndr_print_samr_UserInfo18(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo18
*r
)
2768 ndr_print_struct(ndr
, name
, "samr_UserInfo18");
2770 ndr_print_samr_Password(ndr
, "nt_pwd", &r
->nt_pwd
);
2771 ndr_print_samr_Password(ndr
, "lm_pwd", &r
->lm_pwd
);
2772 ndr_print_uint8(ndr
, "nt_pwd_active", r
->nt_pwd_active
);
2773 ndr_print_uint8(ndr
, "lm_pwd_active", r
->lm_pwd_active
);
2774 ndr_print_uint8(ndr
, "password_expired", r
->password_expired
);
2778 static enum ndr_err_code
ndr_push_samr_UserInfo20(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo20
*r
)
2780 if (ndr_flags
& NDR_SCALARS
) {
2781 NDR_CHECK(ndr_push_align(ndr
, 5));
2782 NDR_CHECK(ndr_push_lsa_BinaryString(ndr
, NDR_SCALARS
, &r
->parameters
));
2784 if (ndr_flags
& NDR_BUFFERS
) {
2785 NDR_CHECK(ndr_push_lsa_BinaryString(ndr
, NDR_BUFFERS
, &r
->parameters
));
2787 return NDR_ERR_SUCCESS
;
2790 static enum ndr_err_code
ndr_pull_samr_UserInfo20(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo20
*r
)
2792 if (ndr_flags
& NDR_SCALARS
) {
2793 NDR_CHECK(ndr_pull_align(ndr
, 5));
2794 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr
, NDR_SCALARS
, &r
->parameters
));
2796 if (ndr_flags
& NDR_BUFFERS
) {
2797 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr
, NDR_BUFFERS
, &r
->parameters
));
2799 return NDR_ERR_SUCCESS
;
2802 _PUBLIC_
void ndr_print_samr_UserInfo20(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo20
*r
)
2804 ndr_print_struct(ndr
, name
, "samr_UserInfo20");
2806 ndr_print_lsa_BinaryString(ndr
, "parameters", &r
->parameters
);
2810 static enum ndr_err_code
ndr_push_samr_FieldsPresent(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
2812 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
2813 return NDR_ERR_SUCCESS
;
2816 static enum ndr_err_code
ndr_pull_samr_FieldsPresent(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
2819 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
2821 return NDR_ERR_SUCCESS
;
2824 _PUBLIC_
void ndr_print_samr_FieldsPresent(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
2826 ndr_print_uint32(ndr
, name
, r
);
2828 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_ACCOUNT_NAME", SAMR_FIELD_ACCOUNT_NAME
, r
);
2829 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_FULL_NAME", SAMR_FIELD_FULL_NAME
, r
);
2830 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_RID", SAMR_FIELD_RID
, r
);
2831 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_PRIMARY_GID", SAMR_FIELD_PRIMARY_GID
, r
);
2832 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_DESCRIPTION", SAMR_FIELD_DESCRIPTION
, r
);
2833 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_COMMENT", SAMR_FIELD_COMMENT
, r
);
2834 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_HOME_DIRECTORY", SAMR_FIELD_HOME_DIRECTORY
, r
);
2835 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_HOME_DRIVE", SAMR_FIELD_HOME_DRIVE
, r
);
2836 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_LOGON_SCRIPT", SAMR_FIELD_LOGON_SCRIPT
, r
);
2837 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_PROFILE_PATH", SAMR_FIELD_PROFILE_PATH
, r
);
2838 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_WORKSTATIONS", SAMR_FIELD_WORKSTATIONS
, r
);
2839 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_LAST_LOGON", SAMR_FIELD_LAST_LOGON
, r
);
2840 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_LAST_LOGOFF", SAMR_FIELD_LAST_LOGOFF
, r
);
2841 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_LOGON_HOURS", SAMR_FIELD_LOGON_HOURS
, r
);
2842 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_BAD_PWD_COUNT", SAMR_FIELD_BAD_PWD_COUNT
, r
);
2843 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_NUM_LOGONS", SAMR_FIELD_NUM_LOGONS
, r
);
2844 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_ALLOW_PWD_CHANGE", SAMR_FIELD_ALLOW_PWD_CHANGE
, r
);
2845 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_FORCE_PWD_CHANGE", SAMR_FIELD_FORCE_PWD_CHANGE
, r
);
2846 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_LAST_PWD_CHANGE", SAMR_FIELD_LAST_PWD_CHANGE
, r
);
2847 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_ACCT_EXPIRY", SAMR_FIELD_ACCT_EXPIRY
, r
);
2848 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_ACCT_FLAGS", SAMR_FIELD_ACCT_FLAGS
, r
);
2849 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_PARAMETERS", SAMR_FIELD_PARAMETERS
, r
);
2850 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_COUNTRY_CODE", SAMR_FIELD_COUNTRY_CODE
, r
);
2851 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_CODE_PAGE", SAMR_FIELD_CODE_PAGE
, r
);
2852 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_NT_PASSWORD_PRESENT", SAMR_FIELD_NT_PASSWORD_PRESENT
, r
);
2853 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_LM_PASSWORD_PRESENT", SAMR_FIELD_LM_PASSWORD_PRESENT
, r
);
2854 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_PRIVATE_DATA", SAMR_FIELD_PRIVATE_DATA
, r
);
2855 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_EXPIRED_FLAG", SAMR_FIELD_EXPIRED_FLAG
, r
);
2856 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_SEC_DESC", SAMR_FIELD_SEC_DESC
, r
);
2857 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_FIELD_OWF_PWD", SAMR_FIELD_OWF_PWD
, r
);
2861 static enum ndr_err_code
ndr_push_samr_UserInfo21(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo21
*r
)
2863 if (ndr_flags
& NDR_SCALARS
) {
2864 NDR_CHECK(ndr_push_align(ndr
, 5));
2865 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_logon
));
2866 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_logoff
));
2867 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_password_change
));
2868 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->acct_expiry
));
2869 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->allow_password_change
));
2870 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->force_password_change
));
2871 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
2872 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
2873 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->home_directory
));
2874 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->home_drive
));
2875 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->logon_script
));
2876 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->profile_path
));
2877 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
2878 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->workstations
));
2879 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->comment
));
2880 NDR_CHECK(ndr_push_lsa_BinaryString(ndr
, NDR_SCALARS
, &r
->parameters
));
2881 NDR_CHECK(ndr_push_lsa_BinaryString(ndr
, NDR_SCALARS
, &r
->lm_owf_password
));
2882 NDR_CHECK(ndr_push_lsa_BinaryString(ndr
, NDR_SCALARS
, &r
->nt_owf_password
));
2883 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->unknown3
));
2884 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->buf_count
));
2885 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->buffer
));
2886 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->rid
));
2887 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->primary_gid
));
2888 NDR_CHECK(ndr_push_samr_AcctFlags(ndr
, NDR_SCALARS
, r
->acct_flags
));
2889 NDR_CHECK(ndr_push_samr_FieldsPresent(ndr
, NDR_SCALARS
, r
->fields_present
));
2890 NDR_CHECK(ndr_push_samr_LogonHours(ndr
, NDR_SCALARS
, &r
->logon_hours
));
2891 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->bad_password_count
));
2892 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->logon_count
));
2893 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->country_code
));
2894 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->code_page
));
2895 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->lm_password_set
));
2896 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->nt_password_set
));
2897 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->password_expired
));
2898 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->unknown4
));
2900 if (ndr_flags
& NDR_BUFFERS
) {
2901 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
2902 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
2903 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_directory
));
2904 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_drive
));
2905 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->logon_script
));
2906 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->profile_path
));
2907 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
2908 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->workstations
));
2909 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->comment
));
2910 NDR_CHECK(ndr_push_lsa_BinaryString(ndr
, NDR_BUFFERS
, &r
->parameters
));
2911 NDR_CHECK(ndr_push_lsa_BinaryString(ndr
, NDR_BUFFERS
, &r
->lm_owf_password
));
2912 NDR_CHECK(ndr_push_lsa_BinaryString(ndr
, NDR_BUFFERS
, &r
->nt_owf_password
));
2913 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->unknown3
));
2915 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->buf_count
));
2916 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->buffer
, r
->buf_count
));
2918 NDR_CHECK(ndr_push_samr_LogonHours(ndr
, NDR_BUFFERS
, &r
->logon_hours
));
2920 return NDR_ERR_SUCCESS
;
2923 static enum ndr_err_code
ndr_pull_samr_UserInfo21(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo21
*r
)
2925 uint32_t _ptr_buffer
;
2926 TALLOC_CTX
*_mem_save_buffer_0
;
2927 if (ndr_flags
& NDR_SCALARS
) {
2928 NDR_CHECK(ndr_pull_align(ndr
, 5));
2929 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_logon
));
2930 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_logoff
));
2931 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_password_change
));
2932 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->acct_expiry
));
2933 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->allow_password_change
));
2934 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->force_password_change
));
2935 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
2936 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
2937 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->home_directory
));
2938 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->home_drive
));
2939 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->logon_script
));
2940 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->profile_path
));
2941 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
2942 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->workstations
));
2943 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->comment
));
2944 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr
, NDR_SCALARS
, &r
->parameters
));
2945 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr
, NDR_SCALARS
, &r
->lm_owf_password
));
2946 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr
, NDR_SCALARS
, &r
->nt_owf_password
));
2947 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->unknown3
));
2948 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->buf_count
));
2949 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_buffer
));
2951 NDR_PULL_ALLOC(ndr
, r
->buffer
);
2955 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->rid
));
2956 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->primary_gid
));
2957 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr
, NDR_SCALARS
, &r
->acct_flags
));
2958 NDR_CHECK(ndr_pull_samr_FieldsPresent(ndr
, NDR_SCALARS
, &r
->fields_present
));
2959 NDR_CHECK(ndr_pull_samr_LogonHours(ndr
, NDR_SCALARS
, &r
->logon_hours
));
2960 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->bad_password_count
));
2961 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->logon_count
));
2962 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->country_code
));
2963 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->code_page
));
2964 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->lm_password_set
));
2965 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->nt_password_set
));
2966 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->password_expired
));
2967 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->unknown4
));
2969 if (ndr_flags
& NDR_BUFFERS
) {
2970 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
2971 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
2972 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_directory
));
2973 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->home_drive
));
2974 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->logon_script
));
2975 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->profile_path
));
2976 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
2977 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->workstations
));
2978 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->comment
));
2979 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr
, NDR_BUFFERS
, &r
->parameters
));
2980 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr
, NDR_BUFFERS
, &r
->lm_owf_password
));
2981 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr
, NDR_BUFFERS
, &r
->nt_owf_password
));
2982 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->unknown3
));
2984 _mem_save_buffer_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2985 NDR_PULL_SET_MEM_CTX(ndr
, r
->buffer
, 0);
2986 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->buffer
));
2987 NDR_PULL_ALLOC_N(ndr
, r
->buffer
, ndr_get_array_size(ndr
, &r
->buffer
));
2988 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->buffer
, ndr_get_array_size(ndr
, &r
->buffer
)));
2989 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_buffer_0
, 0);
2991 NDR_CHECK(ndr_pull_samr_LogonHours(ndr
, NDR_BUFFERS
, &r
->logon_hours
));
2993 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->buffer
, r
->buf_count
));
2996 return NDR_ERR_SUCCESS
;
2999 _PUBLIC_
void ndr_print_samr_UserInfo21(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo21
*r
)
3001 ndr_print_struct(ndr
, name
, "samr_UserInfo21");
3003 ndr_print_NTTIME(ndr
, "last_logon", r
->last_logon
);
3004 ndr_print_NTTIME(ndr
, "last_logoff", r
->last_logoff
);
3005 ndr_print_NTTIME(ndr
, "last_password_change", r
->last_password_change
);
3006 ndr_print_NTTIME(ndr
, "acct_expiry", r
->acct_expiry
);
3007 ndr_print_NTTIME(ndr
, "allow_password_change", r
->allow_password_change
);
3008 ndr_print_NTTIME(ndr
, "force_password_change", r
->force_password_change
);
3009 ndr_print_lsa_String(ndr
, "account_name", &r
->account_name
);
3010 ndr_print_lsa_String(ndr
, "full_name", &r
->full_name
);
3011 ndr_print_lsa_String(ndr
, "home_directory", &r
->home_directory
);
3012 ndr_print_lsa_String(ndr
, "home_drive", &r
->home_drive
);
3013 ndr_print_lsa_String(ndr
, "logon_script", &r
->logon_script
);
3014 ndr_print_lsa_String(ndr
, "profile_path", &r
->profile_path
);
3015 ndr_print_lsa_String(ndr
, "description", &r
->description
);
3016 ndr_print_lsa_String(ndr
, "workstations", &r
->workstations
);
3017 ndr_print_lsa_String(ndr
, "comment", &r
->comment
);
3018 ndr_print_lsa_BinaryString(ndr
, "parameters", &r
->parameters
);
3019 ndr_print_lsa_BinaryString(ndr
, "lm_owf_password", &r
->lm_owf_password
);
3020 ndr_print_lsa_BinaryString(ndr
, "nt_owf_password", &r
->nt_owf_password
);
3021 ndr_print_lsa_String(ndr
, "unknown3", &r
->unknown3
);
3022 ndr_print_uint32(ndr
, "buf_count", r
->buf_count
);
3023 ndr_print_ptr(ndr
, "buffer", r
->buffer
);
3026 ndr_print_array_uint8(ndr
, "buffer", r
->buffer
, r
->buf_count
);
3029 ndr_print_uint32(ndr
, "rid", r
->rid
);
3030 ndr_print_uint32(ndr
, "primary_gid", r
->primary_gid
);
3031 ndr_print_samr_AcctFlags(ndr
, "acct_flags", r
->acct_flags
);
3032 ndr_print_samr_FieldsPresent(ndr
, "fields_present", r
->fields_present
);
3033 ndr_print_samr_LogonHours(ndr
, "logon_hours", &r
->logon_hours
);
3034 ndr_print_uint16(ndr
, "bad_password_count", r
->bad_password_count
);
3035 ndr_print_uint16(ndr
, "logon_count", r
->logon_count
);
3036 ndr_print_uint16(ndr
, "country_code", r
->country_code
);
3037 ndr_print_uint16(ndr
, "code_page", r
->code_page
);
3038 ndr_print_uint8(ndr
, "lm_password_set", r
->lm_password_set
);
3039 ndr_print_uint8(ndr
, "nt_password_set", r
->nt_password_set
);
3040 ndr_print_uint8(ndr
, "password_expired", r
->password_expired
);
3041 ndr_print_uint8(ndr
, "unknown4", r
->unknown4
);
3045 _PUBLIC_
enum ndr_err_code
ndr_push_samr_CryptPassword(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_CryptPassword
*r
)
3048 uint32_t _flags_save_STRUCT
= ndr
->flags
;
3049 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
3050 if (ndr_flags
& NDR_SCALARS
) {
3051 NDR_CHECK(ndr_push_align(ndr
, 1));
3052 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->data
, 516));
3054 if (ndr_flags
& NDR_BUFFERS
) {
3056 ndr
->flags
= _flags_save_STRUCT
;
3058 return NDR_ERR_SUCCESS
;
3061 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_CryptPassword(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_CryptPassword
*r
)
3064 uint32_t _flags_save_STRUCT
= ndr
->flags
;
3065 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
3066 if (ndr_flags
& NDR_SCALARS
) {
3067 NDR_CHECK(ndr_pull_align(ndr
, 1));
3068 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->data
, 516));
3070 if (ndr_flags
& NDR_BUFFERS
) {
3072 ndr
->flags
= _flags_save_STRUCT
;
3074 return NDR_ERR_SUCCESS
;
3077 _PUBLIC_
void ndr_print_samr_CryptPassword(struct ndr_print
*ndr
, const char *name
, const struct samr_CryptPassword
*r
)
3079 ndr_print_struct(ndr
, name
, "samr_CryptPassword");
3081 uint32_t _flags_save_STRUCT
= ndr
->flags
;
3082 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
3084 ndr_print_array_uint8(ndr
, "data", r
->data
, 516);
3086 ndr
->flags
= _flags_save_STRUCT
;
3090 static enum ndr_err_code
ndr_push_samr_UserInfo23(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo23
*r
)
3092 if (ndr_flags
& NDR_SCALARS
) {
3093 NDR_CHECK(ndr_push_align(ndr
, 5));
3094 NDR_CHECK(ndr_push_samr_UserInfo21(ndr
, NDR_SCALARS
, &r
->info
));
3095 NDR_CHECK(ndr_push_samr_CryptPassword(ndr
, NDR_SCALARS
, &r
->password
));
3097 if (ndr_flags
& NDR_BUFFERS
) {
3098 NDR_CHECK(ndr_push_samr_UserInfo21(ndr
, NDR_BUFFERS
, &r
->info
));
3100 return NDR_ERR_SUCCESS
;
3103 static enum ndr_err_code
ndr_pull_samr_UserInfo23(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo23
*r
)
3105 if (ndr_flags
& NDR_SCALARS
) {
3106 NDR_CHECK(ndr_pull_align(ndr
, 5));
3107 NDR_CHECK(ndr_pull_samr_UserInfo21(ndr
, NDR_SCALARS
, &r
->info
));
3108 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr
, NDR_SCALARS
, &r
->password
));
3110 if (ndr_flags
& NDR_BUFFERS
) {
3111 NDR_CHECK(ndr_pull_samr_UserInfo21(ndr
, NDR_BUFFERS
, &r
->info
));
3113 return NDR_ERR_SUCCESS
;
3116 _PUBLIC_
void ndr_print_samr_UserInfo23(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo23
*r
)
3118 ndr_print_struct(ndr
, name
, "samr_UserInfo23");
3120 ndr_print_samr_UserInfo21(ndr
, "info", &r
->info
);
3121 ndr_print_samr_CryptPassword(ndr
, "password", &r
->password
);
3125 static enum ndr_err_code
ndr_push_samr_UserInfo24(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo24
*r
)
3127 if (ndr_flags
& NDR_SCALARS
) {
3128 NDR_CHECK(ndr_push_align(ndr
, 1));
3129 NDR_CHECK(ndr_push_samr_CryptPassword(ndr
, NDR_SCALARS
, &r
->password
));
3130 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->password_expired
));
3132 if (ndr_flags
& NDR_BUFFERS
) {
3134 return NDR_ERR_SUCCESS
;
3137 static enum ndr_err_code
ndr_pull_samr_UserInfo24(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo24
*r
)
3139 if (ndr_flags
& NDR_SCALARS
) {
3140 NDR_CHECK(ndr_pull_align(ndr
, 1));
3141 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr
, NDR_SCALARS
, &r
->password
));
3142 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->password_expired
));
3144 if (ndr_flags
& NDR_BUFFERS
) {
3146 return NDR_ERR_SUCCESS
;
3149 _PUBLIC_
void ndr_print_samr_UserInfo24(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo24
*r
)
3151 ndr_print_struct(ndr
, name
, "samr_UserInfo24");
3153 ndr_print_samr_CryptPassword(ndr
, "password", &r
->password
);
3154 ndr_print_uint8(ndr
, "password_expired", r
->password_expired
);
3158 static enum ndr_err_code
ndr_push_samr_CryptPasswordEx(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_CryptPasswordEx
*r
)
3161 uint32_t _flags_save_STRUCT
= ndr
->flags
;
3162 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
3163 if (ndr_flags
& NDR_SCALARS
) {
3164 NDR_CHECK(ndr_push_align(ndr
, 1));
3165 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->data
, 532));
3167 if (ndr_flags
& NDR_BUFFERS
) {
3169 ndr
->flags
= _flags_save_STRUCT
;
3171 return NDR_ERR_SUCCESS
;
3174 static enum ndr_err_code
ndr_pull_samr_CryptPasswordEx(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_CryptPasswordEx
*r
)
3177 uint32_t _flags_save_STRUCT
= ndr
->flags
;
3178 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
3179 if (ndr_flags
& NDR_SCALARS
) {
3180 NDR_CHECK(ndr_pull_align(ndr
, 1));
3181 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->data
, 532));
3183 if (ndr_flags
& NDR_BUFFERS
) {
3185 ndr
->flags
= _flags_save_STRUCT
;
3187 return NDR_ERR_SUCCESS
;
3190 _PUBLIC_
void ndr_print_samr_CryptPasswordEx(struct ndr_print
*ndr
, const char *name
, const struct samr_CryptPasswordEx
*r
)
3192 ndr_print_struct(ndr
, name
, "samr_CryptPasswordEx");
3194 uint32_t _flags_save_STRUCT
= ndr
->flags
;
3195 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
3197 ndr_print_array_uint8(ndr
, "data", r
->data
, 532);
3199 ndr
->flags
= _flags_save_STRUCT
;
3203 static enum ndr_err_code
ndr_push_samr_UserInfo25(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo25
*r
)
3205 if (ndr_flags
& NDR_SCALARS
) {
3206 NDR_CHECK(ndr_push_align(ndr
, 5));
3207 NDR_CHECK(ndr_push_samr_UserInfo21(ndr
, NDR_SCALARS
, &r
->info
));
3208 NDR_CHECK(ndr_push_samr_CryptPasswordEx(ndr
, NDR_SCALARS
, &r
->password
));
3210 if (ndr_flags
& NDR_BUFFERS
) {
3211 NDR_CHECK(ndr_push_samr_UserInfo21(ndr
, NDR_BUFFERS
, &r
->info
));
3213 return NDR_ERR_SUCCESS
;
3216 static enum ndr_err_code
ndr_pull_samr_UserInfo25(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo25
*r
)
3218 if (ndr_flags
& NDR_SCALARS
) {
3219 NDR_CHECK(ndr_pull_align(ndr
, 5));
3220 NDR_CHECK(ndr_pull_samr_UserInfo21(ndr
, NDR_SCALARS
, &r
->info
));
3221 NDR_CHECK(ndr_pull_samr_CryptPasswordEx(ndr
, NDR_SCALARS
, &r
->password
));
3223 if (ndr_flags
& NDR_BUFFERS
) {
3224 NDR_CHECK(ndr_pull_samr_UserInfo21(ndr
, NDR_BUFFERS
, &r
->info
));
3226 return NDR_ERR_SUCCESS
;
3229 _PUBLIC_
void ndr_print_samr_UserInfo25(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo25
*r
)
3231 ndr_print_struct(ndr
, name
, "samr_UserInfo25");
3233 ndr_print_samr_UserInfo21(ndr
, "info", &r
->info
);
3234 ndr_print_samr_CryptPasswordEx(ndr
, "password", &r
->password
);
3238 static enum ndr_err_code
ndr_push_samr_UserInfo26(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_UserInfo26
*r
)
3240 if (ndr_flags
& NDR_SCALARS
) {
3241 NDR_CHECK(ndr_push_align(ndr
, 1));
3242 NDR_CHECK(ndr_push_samr_CryptPasswordEx(ndr
, NDR_SCALARS
, &r
->password
));
3243 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->password_expired
));
3245 if (ndr_flags
& NDR_BUFFERS
) {
3247 return NDR_ERR_SUCCESS
;
3250 static enum ndr_err_code
ndr_pull_samr_UserInfo26(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_UserInfo26
*r
)
3252 if (ndr_flags
& NDR_SCALARS
) {
3253 NDR_CHECK(ndr_pull_align(ndr
, 1));
3254 NDR_CHECK(ndr_pull_samr_CryptPasswordEx(ndr
, NDR_SCALARS
, &r
->password
));
3255 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->password_expired
));
3257 if (ndr_flags
& NDR_BUFFERS
) {
3259 return NDR_ERR_SUCCESS
;
3262 _PUBLIC_
void ndr_print_samr_UserInfo26(struct ndr_print
*ndr
, const char *name
, const struct samr_UserInfo26
*r
)
3264 ndr_print_struct(ndr
, name
, "samr_UserInfo26");
3266 ndr_print_samr_CryptPasswordEx(ndr
, "password", &r
->password
);
3267 ndr_print_uint8(ndr
, "password_expired", r
->password_expired
);
3271 static enum ndr_err_code
ndr_push_samr_UserInfo(struct ndr_push
*ndr
, int ndr_flags
, const union samr_UserInfo
*r
)
3273 if (ndr_flags
& NDR_SCALARS
) {
3274 int level
= ndr_push_get_switch_value(ndr
, r
);
3275 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, level
));
3276 NDR_CHECK(ndr_push_union_align(ndr
, 5));
3279 NDR_CHECK(ndr_push_samr_UserInfo1(ndr
, NDR_SCALARS
, &r
->info1
));
3283 NDR_CHECK(ndr_push_samr_UserInfo2(ndr
, NDR_SCALARS
, &r
->info2
));
3287 NDR_CHECK(ndr_push_samr_UserInfo3(ndr
, NDR_SCALARS
, &r
->info3
));
3291 NDR_CHECK(ndr_push_samr_UserInfo4(ndr
, NDR_SCALARS
, &r
->info4
));
3295 NDR_CHECK(ndr_push_samr_UserInfo5(ndr
, NDR_SCALARS
, &r
->info5
));
3299 NDR_CHECK(ndr_push_samr_UserInfo6(ndr
, NDR_SCALARS
, &r
->info6
));
3303 NDR_CHECK(ndr_push_samr_UserInfo7(ndr
, NDR_SCALARS
, &r
->info7
));
3307 NDR_CHECK(ndr_push_samr_UserInfo8(ndr
, NDR_SCALARS
, &r
->info8
));
3311 NDR_CHECK(ndr_push_samr_UserInfo9(ndr
, NDR_SCALARS
, &r
->info9
));
3315 NDR_CHECK(ndr_push_samr_UserInfo10(ndr
, NDR_SCALARS
, &r
->info10
));
3319 NDR_CHECK(ndr_push_samr_UserInfo11(ndr
, NDR_SCALARS
, &r
->info11
));
3323 NDR_CHECK(ndr_push_samr_UserInfo12(ndr
, NDR_SCALARS
, &r
->info12
));
3327 NDR_CHECK(ndr_push_samr_UserInfo13(ndr
, NDR_SCALARS
, &r
->info13
));
3331 NDR_CHECK(ndr_push_samr_UserInfo14(ndr
, NDR_SCALARS
, &r
->info14
));
3335 NDR_CHECK(ndr_push_samr_UserInfo16(ndr
, NDR_SCALARS
, &r
->info16
));
3339 NDR_CHECK(ndr_push_samr_UserInfo17(ndr
, NDR_SCALARS
, &r
->info17
));
3343 NDR_CHECK(ndr_push_samr_UserInfo18(ndr
, NDR_SCALARS
, &r
->info18
));
3347 NDR_CHECK(ndr_push_samr_UserInfo20(ndr
, NDR_SCALARS
, &r
->info20
));
3351 NDR_CHECK(ndr_push_samr_UserInfo21(ndr
, NDR_SCALARS
, &r
->info21
));
3355 NDR_CHECK(ndr_push_samr_UserInfo23(ndr
, NDR_SCALARS
, &r
->info23
));
3359 NDR_CHECK(ndr_push_samr_UserInfo24(ndr
, NDR_SCALARS
, &r
->info24
));
3363 NDR_CHECK(ndr_push_samr_UserInfo25(ndr
, NDR_SCALARS
, &r
->info25
));
3367 NDR_CHECK(ndr_push_samr_UserInfo26(ndr
, NDR_SCALARS
, &r
->info26
));
3371 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3374 if (ndr_flags
& NDR_BUFFERS
) {
3375 int level
= ndr_push_get_switch_value(ndr
, r
);
3378 NDR_CHECK(ndr_push_samr_UserInfo1(ndr
, NDR_BUFFERS
, &r
->info1
));
3382 NDR_CHECK(ndr_push_samr_UserInfo2(ndr
, NDR_BUFFERS
, &r
->info2
));
3386 NDR_CHECK(ndr_push_samr_UserInfo3(ndr
, NDR_BUFFERS
, &r
->info3
));
3390 NDR_CHECK(ndr_push_samr_UserInfo4(ndr
, NDR_BUFFERS
, &r
->info4
));
3394 NDR_CHECK(ndr_push_samr_UserInfo5(ndr
, NDR_BUFFERS
, &r
->info5
));
3398 NDR_CHECK(ndr_push_samr_UserInfo6(ndr
, NDR_BUFFERS
, &r
->info6
));
3402 NDR_CHECK(ndr_push_samr_UserInfo7(ndr
, NDR_BUFFERS
, &r
->info7
));
3406 NDR_CHECK(ndr_push_samr_UserInfo8(ndr
, NDR_BUFFERS
, &r
->info8
));
3413 NDR_CHECK(ndr_push_samr_UserInfo10(ndr
, NDR_BUFFERS
, &r
->info10
));
3417 NDR_CHECK(ndr_push_samr_UserInfo11(ndr
, NDR_BUFFERS
, &r
->info11
));
3421 NDR_CHECK(ndr_push_samr_UserInfo12(ndr
, NDR_BUFFERS
, &r
->info12
));
3425 NDR_CHECK(ndr_push_samr_UserInfo13(ndr
, NDR_BUFFERS
, &r
->info13
));
3429 NDR_CHECK(ndr_push_samr_UserInfo14(ndr
, NDR_BUFFERS
, &r
->info14
));
3442 NDR_CHECK(ndr_push_samr_UserInfo20(ndr
, NDR_BUFFERS
, &r
->info20
));
3446 NDR_CHECK(ndr_push_samr_UserInfo21(ndr
, NDR_BUFFERS
, &r
->info21
));
3450 NDR_CHECK(ndr_push_samr_UserInfo23(ndr
, NDR_BUFFERS
, &r
->info23
));
3457 NDR_CHECK(ndr_push_samr_UserInfo25(ndr
, NDR_BUFFERS
, &r
->info25
));
3464 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3467 return NDR_ERR_SUCCESS
;
3470 static enum ndr_err_code
ndr_pull_samr_UserInfo(struct ndr_pull
*ndr
, int ndr_flags
, union samr_UserInfo
*r
)
3474 level
= ndr_pull_get_switch_value(ndr
, r
);
3475 if (ndr_flags
& NDR_SCALARS
) {
3476 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &_level
));
3477 if (_level
!= level
) {
3478 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
3480 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
3483 NDR_CHECK(ndr_pull_samr_UserInfo1(ndr
, NDR_SCALARS
, &r
->info1
));
3487 NDR_CHECK(ndr_pull_samr_UserInfo2(ndr
, NDR_SCALARS
, &r
->info2
));
3491 NDR_CHECK(ndr_pull_samr_UserInfo3(ndr
, NDR_SCALARS
, &r
->info3
));
3495 NDR_CHECK(ndr_pull_samr_UserInfo4(ndr
, NDR_SCALARS
, &r
->info4
));
3499 NDR_CHECK(ndr_pull_samr_UserInfo5(ndr
, NDR_SCALARS
, &r
->info5
));
3503 NDR_CHECK(ndr_pull_samr_UserInfo6(ndr
, NDR_SCALARS
, &r
->info6
));
3507 NDR_CHECK(ndr_pull_samr_UserInfo7(ndr
, NDR_SCALARS
, &r
->info7
));
3511 NDR_CHECK(ndr_pull_samr_UserInfo8(ndr
, NDR_SCALARS
, &r
->info8
));
3515 NDR_CHECK(ndr_pull_samr_UserInfo9(ndr
, NDR_SCALARS
, &r
->info9
));
3519 NDR_CHECK(ndr_pull_samr_UserInfo10(ndr
, NDR_SCALARS
, &r
->info10
));
3523 NDR_CHECK(ndr_pull_samr_UserInfo11(ndr
, NDR_SCALARS
, &r
->info11
));
3527 NDR_CHECK(ndr_pull_samr_UserInfo12(ndr
, NDR_SCALARS
, &r
->info12
));
3531 NDR_CHECK(ndr_pull_samr_UserInfo13(ndr
, NDR_SCALARS
, &r
->info13
));
3535 NDR_CHECK(ndr_pull_samr_UserInfo14(ndr
, NDR_SCALARS
, &r
->info14
));
3539 NDR_CHECK(ndr_pull_samr_UserInfo16(ndr
, NDR_SCALARS
, &r
->info16
));
3543 NDR_CHECK(ndr_pull_samr_UserInfo17(ndr
, NDR_SCALARS
, &r
->info17
));
3547 NDR_CHECK(ndr_pull_samr_UserInfo18(ndr
, NDR_SCALARS
, &r
->info18
));
3551 NDR_CHECK(ndr_pull_samr_UserInfo20(ndr
, NDR_SCALARS
, &r
->info20
));
3555 NDR_CHECK(ndr_pull_samr_UserInfo21(ndr
, NDR_SCALARS
, &r
->info21
));
3559 NDR_CHECK(ndr_pull_samr_UserInfo23(ndr
, NDR_SCALARS
, &r
->info23
));
3563 NDR_CHECK(ndr_pull_samr_UserInfo24(ndr
, NDR_SCALARS
, &r
->info24
));
3567 NDR_CHECK(ndr_pull_samr_UserInfo25(ndr
, NDR_SCALARS
, &r
->info25
));
3571 NDR_CHECK(ndr_pull_samr_UserInfo26(ndr
, NDR_SCALARS
, &r
->info26
));
3575 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3578 if (ndr_flags
& NDR_BUFFERS
) {
3581 NDR_CHECK(ndr_pull_samr_UserInfo1(ndr
, NDR_BUFFERS
, &r
->info1
));
3585 NDR_CHECK(ndr_pull_samr_UserInfo2(ndr
, NDR_BUFFERS
, &r
->info2
));
3589 NDR_CHECK(ndr_pull_samr_UserInfo3(ndr
, NDR_BUFFERS
, &r
->info3
));
3593 NDR_CHECK(ndr_pull_samr_UserInfo4(ndr
, NDR_BUFFERS
, &r
->info4
));
3597 NDR_CHECK(ndr_pull_samr_UserInfo5(ndr
, NDR_BUFFERS
, &r
->info5
));
3601 NDR_CHECK(ndr_pull_samr_UserInfo6(ndr
, NDR_BUFFERS
, &r
->info6
));
3605 NDR_CHECK(ndr_pull_samr_UserInfo7(ndr
, NDR_BUFFERS
, &r
->info7
));
3609 NDR_CHECK(ndr_pull_samr_UserInfo8(ndr
, NDR_BUFFERS
, &r
->info8
));
3616 NDR_CHECK(ndr_pull_samr_UserInfo10(ndr
, NDR_BUFFERS
, &r
->info10
));
3620 NDR_CHECK(ndr_pull_samr_UserInfo11(ndr
, NDR_BUFFERS
, &r
->info11
));
3624 NDR_CHECK(ndr_pull_samr_UserInfo12(ndr
, NDR_BUFFERS
, &r
->info12
));
3628 NDR_CHECK(ndr_pull_samr_UserInfo13(ndr
, NDR_BUFFERS
, &r
->info13
));
3632 NDR_CHECK(ndr_pull_samr_UserInfo14(ndr
, NDR_BUFFERS
, &r
->info14
));
3645 NDR_CHECK(ndr_pull_samr_UserInfo20(ndr
, NDR_BUFFERS
, &r
->info20
));
3649 NDR_CHECK(ndr_pull_samr_UserInfo21(ndr
, NDR_BUFFERS
, &r
->info21
));
3653 NDR_CHECK(ndr_pull_samr_UserInfo23(ndr
, NDR_BUFFERS
, &r
->info23
));
3660 NDR_CHECK(ndr_pull_samr_UserInfo25(ndr
, NDR_BUFFERS
, &r
->info25
));
3667 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3670 return NDR_ERR_SUCCESS
;
3673 _PUBLIC_
void ndr_print_samr_UserInfo(struct ndr_print
*ndr
, const char *name
, const union samr_UserInfo
*r
)
3676 level
= ndr_print_get_switch_value(ndr
, r
);
3677 ndr_print_union(ndr
, name
, level
, "samr_UserInfo");
3680 ndr_print_samr_UserInfo1(ndr
, "info1", &r
->info1
);
3684 ndr_print_samr_UserInfo2(ndr
, "info2", &r
->info2
);
3688 ndr_print_samr_UserInfo3(ndr
, "info3", &r
->info3
);
3692 ndr_print_samr_UserInfo4(ndr
, "info4", &r
->info4
);
3696 ndr_print_samr_UserInfo5(ndr
, "info5", &r
->info5
);
3700 ndr_print_samr_UserInfo6(ndr
, "info6", &r
->info6
);
3704 ndr_print_samr_UserInfo7(ndr
, "info7", &r
->info7
);
3708 ndr_print_samr_UserInfo8(ndr
, "info8", &r
->info8
);
3712 ndr_print_samr_UserInfo9(ndr
, "info9", &r
->info9
);
3716 ndr_print_samr_UserInfo10(ndr
, "info10", &r
->info10
);
3720 ndr_print_samr_UserInfo11(ndr
, "info11", &r
->info11
);
3724 ndr_print_samr_UserInfo12(ndr
, "info12", &r
->info12
);
3728 ndr_print_samr_UserInfo13(ndr
, "info13", &r
->info13
);
3732 ndr_print_samr_UserInfo14(ndr
, "info14", &r
->info14
);
3736 ndr_print_samr_UserInfo16(ndr
, "info16", &r
->info16
);
3740 ndr_print_samr_UserInfo17(ndr
, "info17", &r
->info17
);
3744 ndr_print_samr_UserInfo18(ndr
, "info18", &r
->info18
);
3748 ndr_print_samr_UserInfo20(ndr
, "info20", &r
->info20
);
3752 ndr_print_samr_UserInfo21(ndr
, "info21", &r
->info21
);
3756 ndr_print_samr_UserInfo23(ndr
, "info23", &r
->info23
);
3760 ndr_print_samr_UserInfo24(ndr
, "info24", &r
->info24
);
3764 ndr_print_samr_UserInfo25(ndr
, "info25", &r
->info25
);
3768 ndr_print_samr_UserInfo26(ndr
, "info26", &r
->info26
);
3772 ndr_print_bad_level(ndr
, name
, level
);
3776 _PUBLIC_
enum ndr_err_code
ndr_push_samr_RidWithAttribute(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_RidWithAttribute
*r
)
3778 if (ndr_flags
& NDR_SCALARS
) {
3779 NDR_CHECK(ndr_push_align(ndr
, 4));
3780 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->rid
));
3781 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr
, NDR_SCALARS
, r
->attributes
));
3783 if (ndr_flags
& NDR_BUFFERS
) {
3785 return NDR_ERR_SUCCESS
;
3788 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_RidWithAttribute(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_RidWithAttribute
*r
)
3790 if (ndr_flags
& NDR_SCALARS
) {
3791 NDR_CHECK(ndr_pull_align(ndr
, 4));
3792 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->rid
));
3793 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr
, NDR_SCALARS
, &r
->attributes
));
3795 if (ndr_flags
& NDR_BUFFERS
) {
3797 return NDR_ERR_SUCCESS
;
3800 _PUBLIC_
void ndr_print_samr_RidWithAttribute(struct ndr_print
*ndr
, const char *name
, const struct samr_RidWithAttribute
*r
)
3802 ndr_print_struct(ndr
, name
, "samr_RidWithAttribute");
3804 ndr_print_uint32(ndr
, "rid", r
->rid
);
3805 ndr_print_samr_GroupAttrs(ndr
, "attributes", r
->attributes
);
3809 _PUBLIC_
enum ndr_err_code
ndr_push_samr_RidWithAttributeArray(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_RidWithAttributeArray
*r
)
3811 uint32_t cntr_rids_1
;
3812 if (ndr_flags
& NDR_SCALARS
) {
3813 NDR_CHECK(ndr_push_align(ndr
, 5));
3814 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
3815 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->rids
));
3817 if (ndr_flags
& NDR_BUFFERS
) {
3819 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
3820 for (cntr_rids_1
= 0; cntr_rids_1
< r
->count
; cntr_rids_1
++) {
3821 NDR_CHECK(ndr_push_samr_RidWithAttribute(ndr
, NDR_SCALARS
, &r
->rids
[cntr_rids_1
]));
3825 return NDR_ERR_SUCCESS
;
3828 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_RidWithAttributeArray(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_RidWithAttributeArray
*r
)
3831 uint32_t cntr_rids_1
;
3832 TALLOC_CTX
*_mem_save_rids_0
;
3833 TALLOC_CTX
*_mem_save_rids_1
;
3834 if (ndr_flags
& NDR_SCALARS
) {
3835 NDR_CHECK(ndr_pull_align(ndr
, 5));
3836 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
3837 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_rids
));
3839 NDR_PULL_ALLOC(ndr
, r
->rids
);
3844 if (ndr_flags
& NDR_BUFFERS
) {
3846 _mem_save_rids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3847 NDR_PULL_SET_MEM_CTX(ndr
, r
->rids
, 0);
3848 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->rids
));
3849 NDR_PULL_ALLOC_N(ndr
, r
->rids
, ndr_get_array_size(ndr
, &r
->rids
));
3850 _mem_save_rids_1
= NDR_PULL_GET_MEM_CTX(ndr
);
3851 NDR_PULL_SET_MEM_CTX(ndr
, r
->rids
, 0);
3852 for (cntr_rids_1
= 0; cntr_rids_1
< r
->count
; cntr_rids_1
++) {
3853 NDR_CHECK(ndr_pull_samr_RidWithAttribute(ndr
, NDR_SCALARS
, &r
->rids
[cntr_rids_1
]));
3855 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rids_1
, 0);
3856 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rids_0
, 0);
3859 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->rids
, r
->count
));
3862 return NDR_ERR_SUCCESS
;
3865 _PUBLIC_
void ndr_print_samr_RidWithAttributeArray(struct ndr_print
*ndr
, const char *name
, const struct samr_RidWithAttributeArray
*r
)
3867 uint32_t cntr_rids_1
;
3868 ndr_print_struct(ndr
, name
, "samr_RidWithAttributeArray");
3870 ndr_print_uint32(ndr
, "count", r
->count
);
3871 ndr_print_ptr(ndr
, "rids", r
->rids
);
3874 ndr
->print(ndr
, "%s: ARRAY(%d)", "rids", (int)r
->count
);
3876 for (cntr_rids_1
=0;cntr_rids_1
<r
->count
;cntr_rids_1
++) {
3878 if (asprintf(&idx_1
, "[%d]", cntr_rids_1
) != -1) {
3879 ndr_print_samr_RidWithAttribute(ndr
, "rids", &r
->rids
[cntr_rids_1
]);
3889 static enum ndr_err_code
ndr_push_samr_DispEntryGeneral(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DispEntryGeneral
*r
)
3891 if (ndr_flags
& NDR_SCALARS
) {
3892 NDR_CHECK(ndr_push_align(ndr
, 5));
3893 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->idx
));
3894 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->rid
));
3895 NDR_CHECK(ndr_push_samr_AcctFlags(ndr
, NDR_SCALARS
, r
->acct_flags
));
3896 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
3897 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
3898 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
3900 if (ndr_flags
& NDR_BUFFERS
) {
3901 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
3902 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
3903 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
3905 return NDR_ERR_SUCCESS
;
3908 static enum ndr_err_code
ndr_pull_samr_DispEntryGeneral(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DispEntryGeneral
*r
)
3910 if (ndr_flags
& NDR_SCALARS
) {
3911 NDR_CHECK(ndr_pull_align(ndr
, 5));
3912 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->idx
));
3913 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->rid
));
3914 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr
, NDR_SCALARS
, &r
->acct_flags
));
3915 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
3916 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
3917 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->full_name
));
3919 if (ndr_flags
& NDR_BUFFERS
) {
3920 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
3921 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
3922 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->full_name
));
3924 return NDR_ERR_SUCCESS
;
3927 _PUBLIC_
void ndr_print_samr_DispEntryGeneral(struct ndr_print
*ndr
, const char *name
, const struct samr_DispEntryGeneral
*r
)
3929 ndr_print_struct(ndr
, name
, "samr_DispEntryGeneral");
3931 ndr_print_uint32(ndr
, "idx", r
->idx
);
3932 ndr_print_uint32(ndr
, "rid", r
->rid
);
3933 ndr_print_samr_AcctFlags(ndr
, "acct_flags", r
->acct_flags
);
3934 ndr_print_lsa_String(ndr
, "account_name", &r
->account_name
);
3935 ndr_print_lsa_String(ndr
, "description", &r
->description
);
3936 ndr_print_lsa_String(ndr
, "full_name", &r
->full_name
);
3940 static enum ndr_err_code
ndr_push_samr_DispInfoGeneral(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DispInfoGeneral
*r
)
3942 uint32_t cntr_entries_1
;
3943 if (ndr_flags
& NDR_SCALARS
) {
3944 NDR_CHECK(ndr_push_align(ndr
, 5));
3945 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
3946 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->entries
));
3948 if (ndr_flags
& NDR_BUFFERS
) {
3950 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
3951 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
3952 NDR_CHECK(ndr_push_samr_DispEntryGeneral(ndr
, NDR_SCALARS
, &r
->entries
[cntr_entries_1
]));
3954 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
3955 NDR_CHECK(ndr_push_samr_DispEntryGeneral(ndr
, NDR_BUFFERS
, &r
->entries
[cntr_entries_1
]));
3959 return NDR_ERR_SUCCESS
;
3962 static enum ndr_err_code
ndr_pull_samr_DispInfoGeneral(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DispInfoGeneral
*r
)
3964 uint32_t _ptr_entries
;
3965 uint32_t cntr_entries_1
;
3966 TALLOC_CTX
*_mem_save_entries_0
;
3967 TALLOC_CTX
*_mem_save_entries_1
;
3968 if (ndr_flags
& NDR_SCALARS
) {
3969 NDR_CHECK(ndr_pull_align(ndr
, 5));
3970 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
3971 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_entries
));
3973 NDR_PULL_ALLOC(ndr
, r
->entries
);
3978 if (ndr_flags
& NDR_BUFFERS
) {
3980 _mem_save_entries_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3981 NDR_PULL_SET_MEM_CTX(ndr
, r
->entries
, 0);
3982 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->entries
));
3983 NDR_PULL_ALLOC_N(ndr
, r
->entries
, ndr_get_array_size(ndr
, &r
->entries
));
3984 _mem_save_entries_1
= NDR_PULL_GET_MEM_CTX(ndr
);
3985 NDR_PULL_SET_MEM_CTX(ndr
, r
->entries
, 0);
3986 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
3987 NDR_CHECK(ndr_pull_samr_DispEntryGeneral(ndr
, NDR_SCALARS
, &r
->entries
[cntr_entries_1
]));
3989 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
3990 NDR_CHECK(ndr_pull_samr_DispEntryGeneral(ndr
, NDR_BUFFERS
, &r
->entries
[cntr_entries_1
]));
3992 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_entries_1
, 0);
3993 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_entries_0
, 0);
3996 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->entries
, r
->count
));
3999 return NDR_ERR_SUCCESS
;
4002 _PUBLIC_
void ndr_print_samr_DispInfoGeneral(struct ndr_print
*ndr
, const char *name
, const struct samr_DispInfoGeneral
*r
)
4004 uint32_t cntr_entries_1
;
4005 ndr_print_struct(ndr
, name
, "samr_DispInfoGeneral");
4007 ndr_print_uint32(ndr
, "count", r
->count
);
4008 ndr_print_ptr(ndr
, "entries", r
->entries
);
4011 ndr
->print(ndr
, "%s: ARRAY(%d)", "entries", (int)r
->count
);
4013 for (cntr_entries_1
=0;cntr_entries_1
<r
->count
;cntr_entries_1
++) {
4015 if (asprintf(&idx_1
, "[%d]", cntr_entries_1
) != -1) {
4016 ndr_print_samr_DispEntryGeneral(ndr
, "entries", &r
->entries
[cntr_entries_1
]);
4026 static enum ndr_err_code
ndr_push_samr_DispEntryFull(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DispEntryFull
*r
)
4028 if (ndr_flags
& NDR_SCALARS
) {
4029 NDR_CHECK(ndr_push_align(ndr
, 5));
4030 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->idx
));
4031 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->rid
));
4032 NDR_CHECK(ndr_push_samr_AcctFlags(ndr
, NDR_SCALARS
, r
->acct_flags
));
4033 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
4034 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
4036 if (ndr_flags
& NDR_BUFFERS
) {
4037 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
4038 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
4040 return NDR_ERR_SUCCESS
;
4043 static enum ndr_err_code
ndr_pull_samr_DispEntryFull(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DispEntryFull
*r
)
4045 if (ndr_flags
& NDR_SCALARS
) {
4046 NDR_CHECK(ndr_pull_align(ndr
, 5));
4047 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->idx
));
4048 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->rid
));
4049 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr
, NDR_SCALARS
, &r
->acct_flags
));
4050 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
4051 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
4053 if (ndr_flags
& NDR_BUFFERS
) {
4054 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
4055 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
4057 return NDR_ERR_SUCCESS
;
4060 _PUBLIC_
void ndr_print_samr_DispEntryFull(struct ndr_print
*ndr
, const char *name
, const struct samr_DispEntryFull
*r
)
4062 ndr_print_struct(ndr
, name
, "samr_DispEntryFull");
4064 ndr_print_uint32(ndr
, "idx", r
->idx
);
4065 ndr_print_uint32(ndr
, "rid", r
->rid
);
4066 ndr_print_samr_AcctFlags(ndr
, "acct_flags", r
->acct_flags
);
4067 ndr_print_lsa_String(ndr
, "account_name", &r
->account_name
);
4068 ndr_print_lsa_String(ndr
, "description", &r
->description
);
4072 static enum ndr_err_code
ndr_push_samr_DispInfoFull(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DispInfoFull
*r
)
4074 uint32_t cntr_entries_1
;
4075 if (ndr_flags
& NDR_SCALARS
) {
4076 NDR_CHECK(ndr_push_align(ndr
, 5));
4077 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
4078 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->entries
));
4080 if (ndr_flags
& NDR_BUFFERS
) {
4082 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
4083 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
4084 NDR_CHECK(ndr_push_samr_DispEntryFull(ndr
, NDR_SCALARS
, &r
->entries
[cntr_entries_1
]));
4086 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
4087 NDR_CHECK(ndr_push_samr_DispEntryFull(ndr
, NDR_BUFFERS
, &r
->entries
[cntr_entries_1
]));
4091 return NDR_ERR_SUCCESS
;
4094 static enum ndr_err_code
ndr_pull_samr_DispInfoFull(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DispInfoFull
*r
)
4096 uint32_t _ptr_entries
;
4097 uint32_t cntr_entries_1
;
4098 TALLOC_CTX
*_mem_save_entries_0
;
4099 TALLOC_CTX
*_mem_save_entries_1
;
4100 if (ndr_flags
& NDR_SCALARS
) {
4101 NDR_CHECK(ndr_pull_align(ndr
, 5));
4102 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
4103 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_entries
));
4105 NDR_PULL_ALLOC(ndr
, r
->entries
);
4110 if (ndr_flags
& NDR_BUFFERS
) {
4112 _mem_save_entries_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4113 NDR_PULL_SET_MEM_CTX(ndr
, r
->entries
, 0);
4114 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->entries
));
4115 NDR_PULL_ALLOC_N(ndr
, r
->entries
, ndr_get_array_size(ndr
, &r
->entries
));
4116 _mem_save_entries_1
= NDR_PULL_GET_MEM_CTX(ndr
);
4117 NDR_PULL_SET_MEM_CTX(ndr
, r
->entries
, 0);
4118 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
4119 NDR_CHECK(ndr_pull_samr_DispEntryFull(ndr
, NDR_SCALARS
, &r
->entries
[cntr_entries_1
]));
4121 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
4122 NDR_CHECK(ndr_pull_samr_DispEntryFull(ndr
, NDR_BUFFERS
, &r
->entries
[cntr_entries_1
]));
4124 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_entries_1
, 0);
4125 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_entries_0
, 0);
4128 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->entries
, r
->count
));
4131 return NDR_ERR_SUCCESS
;
4134 _PUBLIC_
void ndr_print_samr_DispInfoFull(struct ndr_print
*ndr
, const char *name
, const struct samr_DispInfoFull
*r
)
4136 uint32_t cntr_entries_1
;
4137 ndr_print_struct(ndr
, name
, "samr_DispInfoFull");
4139 ndr_print_uint32(ndr
, "count", r
->count
);
4140 ndr_print_ptr(ndr
, "entries", r
->entries
);
4143 ndr
->print(ndr
, "%s: ARRAY(%d)", "entries", (int)r
->count
);
4145 for (cntr_entries_1
=0;cntr_entries_1
<r
->count
;cntr_entries_1
++) {
4147 if (asprintf(&idx_1
, "[%d]", cntr_entries_1
) != -1) {
4148 ndr_print_samr_DispEntryFull(ndr
, "entries", &r
->entries
[cntr_entries_1
]);
4158 static enum ndr_err_code
ndr_push_samr_DispEntryFullGroup(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DispEntryFullGroup
*r
)
4160 if (ndr_flags
& NDR_SCALARS
) {
4161 NDR_CHECK(ndr_push_align(ndr
, 5));
4162 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->idx
));
4163 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->rid
));
4164 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr
, NDR_SCALARS
, r
->acct_flags
));
4165 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
4166 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
4168 if (ndr_flags
& NDR_BUFFERS
) {
4169 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
4170 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
4172 return NDR_ERR_SUCCESS
;
4175 static enum ndr_err_code
ndr_pull_samr_DispEntryFullGroup(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DispEntryFullGroup
*r
)
4177 if (ndr_flags
& NDR_SCALARS
) {
4178 NDR_CHECK(ndr_pull_align(ndr
, 5));
4179 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->idx
));
4180 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->rid
));
4181 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr
, NDR_SCALARS
, &r
->acct_flags
));
4182 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->account_name
));
4183 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->description
));
4185 if (ndr_flags
& NDR_BUFFERS
) {
4186 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->account_name
));
4187 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->description
));
4189 return NDR_ERR_SUCCESS
;
4192 _PUBLIC_
void ndr_print_samr_DispEntryFullGroup(struct ndr_print
*ndr
, const char *name
, const struct samr_DispEntryFullGroup
*r
)
4194 ndr_print_struct(ndr
, name
, "samr_DispEntryFullGroup");
4196 ndr_print_uint32(ndr
, "idx", r
->idx
);
4197 ndr_print_uint32(ndr
, "rid", r
->rid
);
4198 ndr_print_samr_GroupAttrs(ndr
, "acct_flags", r
->acct_flags
);
4199 ndr_print_lsa_String(ndr
, "account_name", &r
->account_name
);
4200 ndr_print_lsa_String(ndr
, "description", &r
->description
);
4204 static enum ndr_err_code
ndr_push_samr_DispInfoFullGroups(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DispInfoFullGroups
*r
)
4206 uint32_t cntr_entries_1
;
4207 if (ndr_flags
& NDR_SCALARS
) {
4208 NDR_CHECK(ndr_push_align(ndr
, 5));
4209 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
4210 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->entries
));
4212 if (ndr_flags
& NDR_BUFFERS
) {
4214 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
4215 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
4216 NDR_CHECK(ndr_push_samr_DispEntryFullGroup(ndr
, NDR_SCALARS
, &r
->entries
[cntr_entries_1
]));
4218 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
4219 NDR_CHECK(ndr_push_samr_DispEntryFullGroup(ndr
, NDR_BUFFERS
, &r
->entries
[cntr_entries_1
]));
4223 return NDR_ERR_SUCCESS
;
4226 static enum ndr_err_code
ndr_pull_samr_DispInfoFullGroups(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DispInfoFullGroups
*r
)
4228 uint32_t _ptr_entries
;
4229 uint32_t cntr_entries_1
;
4230 TALLOC_CTX
*_mem_save_entries_0
;
4231 TALLOC_CTX
*_mem_save_entries_1
;
4232 if (ndr_flags
& NDR_SCALARS
) {
4233 NDR_CHECK(ndr_pull_align(ndr
, 5));
4234 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
4235 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_entries
));
4237 NDR_PULL_ALLOC(ndr
, r
->entries
);
4242 if (ndr_flags
& NDR_BUFFERS
) {
4244 _mem_save_entries_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4245 NDR_PULL_SET_MEM_CTX(ndr
, r
->entries
, 0);
4246 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->entries
));
4247 NDR_PULL_ALLOC_N(ndr
, r
->entries
, ndr_get_array_size(ndr
, &r
->entries
));
4248 _mem_save_entries_1
= NDR_PULL_GET_MEM_CTX(ndr
);
4249 NDR_PULL_SET_MEM_CTX(ndr
, r
->entries
, 0);
4250 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
4251 NDR_CHECK(ndr_pull_samr_DispEntryFullGroup(ndr
, NDR_SCALARS
, &r
->entries
[cntr_entries_1
]));
4253 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
4254 NDR_CHECK(ndr_pull_samr_DispEntryFullGroup(ndr
, NDR_BUFFERS
, &r
->entries
[cntr_entries_1
]));
4256 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_entries_1
, 0);
4257 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_entries_0
, 0);
4260 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->entries
, r
->count
));
4263 return NDR_ERR_SUCCESS
;
4266 _PUBLIC_
void ndr_print_samr_DispInfoFullGroups(struct ndr_print
*ndr
, const char *name
, const struct samr_DispInfoFullGroups
*r
)
4268 uint32_t cntr_entries_1
;
4269 ndr_print_struct(ndr
, name
, "samr_DispInfoFullGroups");
4271 ndr_print_uint32(ndr
, "count", r
->count
);
4272 ndr_print_ptr(ndr
, "entries", r
->entries
);
4275 ndr
->print(ndr
, "%s: ARRAY(%d)", "entries", (int)r
->count
);
4277 for (cntr_entries_1
=0;cntr_entries_1
<r
->count
;cntr_entries_1
++) {
4279 if (asprintf(&idx_1
, "[%d]", cntr_entries_1
) != -1) {
4280 ndr_print_samr_DispEntryFullGroup(ndr
, "entries", &r
->entries
[cntr_entries_1
]);
4290 static enum ndr_err_code
ndr_push_samr_DispEntryAscii(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DispEntryAscii
*r
)
4292 if (ndr_flags
& NDR_SCALARS
) {
4293 NDR_CHECK(ndr_push_align(ndr
, 5));
4294 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->idx
));
4295 NDR_CHECK(ndr_push_lsa_AsciiStringLarge(ndr
, NDR_SCALARS
, &r
->account_name
));
4297 if (ndr_flags
& NDR_BUFFERS
) {
4298 NDR_CHECK(ndr_push_lsa_AsciiStringLarge(ndr
, NDR_BUFFERS
, &r
->account_name
));
4300 return NDR_ERR_SUCCESS
;
4303 static enum ndr_err_code
ndr_pull_samr_DispEntryAscii(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DispEntryAscii
*r
)
4305 if (ndr_flags
& NDR_SCALARS
) {
4306 NDR_CHECK(ndr_pull_align(ndr
, 5));
4307 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->idx
));
4308 NDR_CHECK(ndr_pull_lsa_AsciiStringLarge(ndr
, NDR_SCALARS
, &r
->account_name
));
4310 if (ndr_flags
& NDR_BUFFERS
) {
4311 NDR_CHECK(ndr_pull_lsa_AsciiStringLarge(ndr
, NDR_BUFFERS
, &r
->account_name
));
4313 return NDR_ERR_SUCCESS
;
4316 _PUBLIC_
void ndr_print_samr_DispEntryAscii(struct ndr_print
*ndr
, const char *name
, const struct samr_DispEntryAscii
*r
)
4318 ndr_print_struct(ndr
, name
, "samr_DispEntryAscii");
4320 ndr_print_uint32(ndr
, "idx", r
->idx
);
4321 ndr_print_lsa_AsciiStringLarge(ndr
, "account_name", &r
->account_name
);
4325 static enum ndr_err_code
ndr_push_samr_DispInfoAscii(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_DispInfoAscii
*r
)
4327 uint32_t cntr_entries_1
;
4328 if (ndr_flags
& NDR_SCALARS
) {
4329 NDR_CHECK(ndr_push_align(ndr
, 5));
4330 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
4331 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->entries
));
4333 if (ndr_flags
& NDR_BUFFERS
) {
4335 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
4336 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
4337 NDR_CHECK(ndr_push_samr_DispEntryAscii(ndr
, NDR_SCALARS
, &r
->entries
[cntr_entries_1
]));
4339 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
4340 NDR_CHECK(ndr_push_samr_DispEntryAscii(ndr
, NDR_BUFFERS
, &r
->entries
[cntr_entries_1
]));
4344 return NDR_ERR_SUCCESS
;
4347 static enum ndr_err_code
ndr_pull_samr_DispInfoAscii(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_DispInfoAscii
*r
)
4349 uint32_t _ptr_entries
;
4350 uint32_t cntr_entries_1
;
4351 TALLOC_CTX
*_mem_save_entries_0
;
4352 TALLOC_CTX
*_mem_save_entries_1
;
4353 if (ndr_flags
& NDR_SCALARS
) {
4354 NDR_CHECK(ndr_pull_align(ndr
, 5));
4355 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
4356 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_entries
));
4358 NDR_PULL_ALLOC(ndr
, r
->entries
);
4363 if (ndr_flags
& NDR_BUFFERS
) {
4365 _mem_save_entries_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4366 NDR_PULL_SET_MEM_CTX(ndr
, r
->entries
, 0);
4367 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->entries
));
4368 NDR_PULL_ALLOC_N(ndr
, r
->entries
, ndr_get_array_size(ndr
, &r
->entries
));
4369 _mem_save_entries_1
= NDR_PULL_GET_MEM_CTX(ndr
);
4370 NDR_PULL_SET_MEM_CTX(ndr
, r
->entries
, 0);
4371 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
4372 NDR_CHECK(ndr_pull_samr_DispEntryAscii(ndr
, NDR_SCALARS
, &r
->entries
[cntr_entries_1
]));
4374 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
4375 NDR_CHECK(ndr_pull_samr_DispEntryAscii(ndr
, NDR_BUFFERS
, &r
->entries
[cntr_entries_1
]));
4377 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_entries_1
, 0);
4378 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_entries_0
, 0);
4381 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->entries
, r
->count
));
4384 return NDR_ERR_SUCCESS
;
4387 _PUBLIC_
void ndr_print_samr_DispInfoAscii(struct ndr_print
*ndr
, const char *name
, const struct samr_DispInfoAscii
*r
)
4389 uint32_t cntr_entries_1
;
4390 ndr_print_struct(ndr
, name
, "samr_DispInfoAscii");
4392 ndr_print_uint32(ndr
, "count", r
->count
);
4393 ndr_print_ptr(ndr
, "entries", r
->entries
);
4396 ndr
->print(ndr
, "%s: ARRAY(%d)", "entries", (int)r
->count
);
4398 for (cntr_entries_1
=0;cntr_entries_1
<r
->count
;cntr_entries_1
++) {
4400 if (asprintf(&idx_1
, "[%d]", cntr_entries_1
) != -1) {
4401 ndr_print_samr_DispEntryAscii(ndr
, "entries", &r
->entries
[cntr_entries_1
]);
4411 static enum ndr_err_code
ndr_push_samr_DispInfo(struct ndr_push
*ndr
, int ndr_flags
, const union samr_DispInfo
*r
)
4413 if (ndr_flags
& NDR_SCALARS
) {
4414 int level
= ndr_push_get_switch_value(ndr
, r
);
4415 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, level
));
4416 NDR_CHECK(ndr_push_union_align(ndr
, 5));
4419 NDR_CHECK(ndr_push_samr_DispInfoGeneral(ndr
, NDR_SCALARS
, &r
->info1
));
4423 NDR_CHECK(ndr_push_samr_DispInfoFull(ndr
, NDR_SCALARS
, &r
->info2
));
4427 NDR_CHECK(ndr_push_samr_DispInfoFullGroups(ndr
, NDR_SCALARS
, &r
->info3
));
4431 NDR_CHECK(ndr_push_samr_DispInfoAscii(ndr
, NDR_SCALARS
, &r
->info4
));
4435 NDR_CHECK(ndr_push_samr_DispInfoAscii(ndr
, NDR_SCALARS
, &r
->info5
));
4439 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4442 if (ndr_flags
& NDR_BUFFERS
) {
4443 int level
= ndr_push_get_switch_value(ndr
, r
);
4446 NDR_CHECK(ndr_push_samr_DispInfoGeneral(ndr
, NDR_BUFFERS
, &r
->info1
));
4450 NDR_CHECK(ndr_push_samr_DispInfoFull(ndr
, NDR_BUFFERS
, &r
->info2
));
4454 NDR_CHECK(ndr_push_samr_DispInfoFullGroups(ndr
, NDR_BUFFERS
, &r
->info3
));
4458 NDR_CHECK(ndr_push_samr_DispInfoAscii(ndr
, NDR_BUFFERS
, &r
->info4
));
4462 NDR_CHECK(ndr_push_samr_DispInfoAscii(ndr
, NDR_BUFFERS
, &r
->info5
));
4466 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4469 return NDR_ERR_SUCCESS
;
4472 static enum ndr_err_code
ndr_pull_samr_DispInfo(struct ndr_pull
*ndr
, int ndr_flags
, union samr_DispInfo
*r
)
4476 level
= ndr_pull_get_switch_value(ndr
, r
);
4477 if (ndr_flags
& NDR_SCALARS
) {
4478 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &_level
));
4479 if (_level
!= level
) {
4480 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
4482 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
4485 NDR_CHECK(ndr_pull_samr_DispInfoGeneral(ndr
, NDR_SCALARS
, &r
->info1
));
4489 NDR_CHECK(ndr_pull_samr_DispInfoFull(ndr
, NDR_SCALARS
, &r
->info2
));
4493 NDR_CHECK(ndr_pull_samr_DispInfoFullGroups(ndr
, NDR_SCALARS
, &r
->info3
));
4497 NDR_CHECK(ndr_pull_samr_DispInfoAscii(ndr
, NDR_SCALARS
, &r
->info4
));
4501 NDR_CHECK(ndr_pull_samr_DispInfoAscii(ndr
, NDR_SCALARS
, &r
->info5
));
4505 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4508 if (ndr_flags
& NDR_BUFFERS
) {
4511 NDR_CHECK(ndr_pull_samr_DispInfoGeneral(ndr
, NDR_BUFFERS
, &r
->info1
));
4515 NDR_CHECK(ndr_pull_samr_DispInfoFull(ndr
, NDR_BUFFERS
, &r
->info2
));
4519 NDR_CHECK(ndr_pull_samr_DispInfoFullGroups(ndr
, NDR_BUFFERS
, &r
->info3
));
4523 NDR_CHECK(ndr_pull_samr_DispInfoAscii(ndr
, NDR_BUFFERS
, &r
->info4
));
4527 NDR_CHECK(ndr_pull_samr_DispInfoAscii(ndr
, NDR_BUFFERS
, &r
->info5
));
4531 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4534 return NDR_ERR_SUCCESS
;
4537 _PUBLIC_
void ndr_print_samr_DispInfo(struct ndr_print
*ndr
, const char *name
, const union samr_DispInfo
*r
)
4540 level
= ndr_print_get_switch_value(ndr
, r
);
4541 ndr_print_union(ndr
, name
, level
, "samr_DispInfo");
4544 ndr_print_samr_DispInfoGeneral(ndr
, "info1", &r
->info1
);
4548 ndr_print_samr_DispInfoFull(ndr
, "info2", &r
->info2
);
4552 ndr_print_samr_DispInfoFullGroups(ndr
, "info3", &r
->info3
);
4556 ndr_print_samr_DispInfoAscii(ndr
, "info4", &r
->info4
);
4560 ndr_print_samr_DispInfoAscii(ndr
, "info5", &r
->info5
);
4564 ndr_print_bad_level(ndr
, name
, level
);
4568 static enum ndr_err_code
ndr_push_samr_PwInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_PwInfo
*r
)
4570 if (ndr_flags
& NDR_SCALARS
) {
4571 NDR_CHECK(ndr_push_align(ndr
, 4));
4572 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->min_password_length
));
4573 NDR_CHECK(ndr_push_samr_PasswordProperties(ndr
, NDR_SCALARS
, r
->password_properties
));
4575 if (ndr_flags
& NDR_BUFFERS
) {
4577 return NDR_ERR_SUCCESS
;
4580 static enum ndr_err_code
ndr_pull_samr_PwInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_PwInfo
*r
)
4582 if (ndr_flags
& NDR_SCALARS
) {
4583 NDR_CHECK(ndr_pull_align(ndr
, 4));
4584 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->min_password_length
));
4585 NDR_CHECK(ndr_pull_samr_PasswordProperties(ndr
, NDR_SCALARS
, &r
->password_properties
));
4587 if (ndr_flags
& NDR_BUFFERS
) {
4589 return NDR_ERR_SUCCESS
;
4592 _PUBLIC_
void ndr_print_samr_PwInfo(struct ndr_print
*ndr
, const char *name
, const struct samr_PwInfo
*r
)
4594 ndr_print_struct(ndr
, name
, "samr_PwInfo");
4596 ndr_print_uint16(ndr
, "min_password_length", r
->min_password_length
);
4597 ndr_print_samr_PasswordProperties(ndr
, "password_properties", r
->password_properties
);
4601 static enum ndr_err_code
ndr_push_samr_ConnectVersion(struct ndr_push
*ndr
, int ndr_flags
, enum samr_ConnectVersion r
)
4603 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
4604 return NDR_ERR_SUCCESS
;
4607 static enum ndr_err_code
ndr_pull_samr_ConnectVersion(struct ndr_pull
*ndr
, int ndr_flags
, enum samr_ConnectVersion
*r
)
4610 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
4612 return NDR_ERR_SUCCESS
;
4615 _PUBLIC_
void ndr_print_samr_ConnectVersion(struct ndr_print
*ndr
, const char *name
, enum samr_ConnectVersion r
)
4617 const char *val
= NULL
;
4620 case SAMR_CONNECT_PRE_W2K
: val
= "SAMR_CONNECT_PRE_W2K"; break;
4621 case SAMR_CONNECT_W2K
: val
= "SAMR_CONNECT_W2K"; break;
4622 case SAMR_CONNECT_AFTER_W2K
: val
= "SAMR_CONNECT_AFTER_W2K"; break;
4624 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
4627 static enum ndr_err_code
ndr_push_samr_ChangeReject(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_ChangeReject
*r
)
4629 if (ndr_flags
& NDR_SCALARS
) {
4630 NDR_CHECK(ndr_push_align(ndr
, 4));
4631 NDR_CHECK(ndr_push_samr_RejectReason(ndr
, NDR_SCALARS
, r
->reason
));
4632 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown1
));
4633 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown2
));
4635 if (ndr_flags
& NDR_BUFFERS
) {
4637 return NDR_ERR_SUCCESS
;
4640 static enum ndr_err_code
ndr_pull_samr_ChangeReject(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_ChangeReject
*r
)
4642 if (ndr_flags
& NDR_SCALARS
) {
4643 NDR_CHECK(ndr_pull_align(ndr
, 4));
4644 NDR_CHECK(ndr_pull_samr_RejectReason(ndr
, NDR_SCALARS
, &r
->reason
));
4645 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown1
));
4646 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown2
));
4648 if (ndr_flags
& NDR_BUFFERS
) {
4650 return NDR_ERR_SUCCESS
;
4653 _PUBLIC_
void ndr_print_samr_ChangeReject(struct ndr_print
*ndr
, const char *name
, const struct samr_ChangeReject
*r
)
4655 ndr_print_struct(ndr
, name
, "samr_ChangeReject");
4657 ndr_print_samr_RejectReason(ndr
, "reason", r
->reason
);
4658 ndr_print_uint32(ndr
, "unknown1", r
->unknown1
);
4659 ndr_print_uint32(ndr
, "unknown2", r
->unknown2
);
4663 static enum ndr_err_code
ndr_push_samr_ConnectInfo1(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_ConnectInfo1
*r
)
4665 if (ndr_flags
& NDR_SCALARS
) {
4666 NDR_CHECK(ndr_push_align(ndr
, 4));
4667 NDR_CHECK(ndr_push_samr_ConnectVersion(ndr
, NDR_SCALARS
, r
->client_version
));
4668 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown2
));
4670 if (ndr_flags
& NDR_BUFFERS
) {
4672 return NDR_ERR_SUCCESS
;
4675 static enum ndr_err_code
ndr_pull_samr_ConnectInfo1(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_ConnectInfo1
*r
)
4677 if (ndr_flags
& NDR_SCALARS
) {
4678 NDR_CHECK(ndr_pull_align(ndr
, 4));
4679 NDR_CHECK(ndr_pull_samr_ConnectVersion(ndr
, NDR_SCALARS
, &r
->client_version
));
4680 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown2
));
4682 if (ndr_flags
& NDR_BUFFERS
) {
4684 return NDR_ERR_SUCCESS
;
4687 _PUBLIC_
void ndr_print_samr_ConnectInfo1(struct ndr_print
*ndr
, const char *name
, const struct samr_ConnectInfo1
*r
)
4689 ndr_print_struct(ndr
, name
, "samr_ConnectInfo1");
4691 ndr_print_samr_ConnectVersion(ndr
, "client_version", r
->client_version
);
4692 ndr_print_uint32(ndr
, "unknown2", r
->unknown2
);
4696 static enum ndr_err_code
ndr_push_samr_ConnectInfo(struct ndr_push
*ndr
, int ndr_flags
, const union samr_ConnectInfo
*r
)
4698 if (ndr_flags
& NDR_SCALARS
) {
4699 int level
= ndr_push_get_switch_value(ndr
, r
);
4700 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
4701 NDR_CHECK(ndr_push_union_align(ndr
, 4));
4704 NDR_CHECK(ndr_push_samr_ConnectInfo1(ndr
, NDR_SCALARS
, &r
->info1
));
4708 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4711 if (ndr_flags
& NDR_BUFFERS
) {
4712 int level
= ndr_push_get_switch_value(ndr
, r
);
4718 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4721 return NDR_ERR_SUCCESS
;
4724 static enum ndr_err_code
ndr_pull_samr_ConnectInfo(struct ndr_pull
*ndr
, int ndr_flags
, union samr_ConnectInfo
*r
)
4728 level
= ndr_pull_get_switch_value(ndr
, r
);
4729 if (ndr_flags
& NDR_SCALARS
) {
4730 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
4731 if (_level
!= level
) {
4732 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
4734 NDR_CHECK(ndr_pull_union_align(ndr
, 4));
4737 NDR_CHECK(ndr_pull_samr_ConnectInfo1(ndr
, NDR_SCALARS
, &r
->info1
));
4741 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4744 if (ndr_flags
& NDR_BUFFERS
) {
4750 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4753 return NDR_ERR_SUCCESS
;
4756 _PUBLIC_
void ndr_print_samr_ConnectInfo(struct ndr_print
*ndr
, const char *name
, const union samr_ConnectInfo
*r
)
4759 level
= ndr_print_get_switch_value(ndr
, r
);
4760 ndr_print_union(ndr
, name
, level
, "samr_ConnectInfo");
4763 ndr_print_samr_ConnectInfo1(ndr
, "info1", &r
->info1
);
4767 ndr_print_bad_level(ndr
, name
, level
);
4771 static enum ndr_err_code
ndr_push_samr_ValidateFieldsPresent(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
4773 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
4774 return NDR_ERR_SUCCESS
;
4777 static enum ndr_err_code
ndr_pull_samr_ValidateFieldsPresent(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
4780 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
4782 return NDR_ERR_SUCCESS
;
4785 _PUBLIC_
void ndr_print_samr_ValidateFieldsPresent(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
4787 ndr_print_uint32(ndr
, name
, r
);
4789 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_PASSWORD_LAST_SET", SAMR_VALIDATE_FIELD_PASSWORD_LAST_SET
, r
);
4790 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_BAD_PASSWORD_TIME", SAMR_VALIDATE_FIELD_BAD_PASSWORD_TIME
, r
);
4791 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_LOCKOUT_TIME", SAMR_VALIDATE_FIELD_LOCKOUT_TIME
, r
);
4792 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_BAD_PASSWORD_COUNT", SAMR_VALIDATE_FIELD_BAD_PASSWORD_COUNT
, r
);
4793 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_PASSWORD_HISTORY_LENGTH", SAMR_VALIDATE_FIELD_PASSWORD_HISTORY_LENGTH
, r
);
4794 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_PASSWORD_HISTORY", SAMR_VALIDATE_FIELD_PASSWORD_HISTORY
, r
);
4798 static enum ndr_err_code
ndr_push_samr_ValidatePasswordLevel(struct ndr_push
*ndr
, int ndr_flags
, enum samr_ValidatePasswordLevel r
)
4800 NDR_CHECK(ndr_push_enum_uint16(ndr
, NDR_SCALARS
, r
));
4801 return NDR_ERR_SUCCESS
;
4804 static enum ndr_err_code
ndr_pull_samr_ValidatePasswordLevel(struct ndr_pull
*ndr
, int ndr_flags
, enum samr_ValidatePasswordLevel
*r
)
4807 NDR_CHECK(ndr_pull_enum_uint16(ndr
, NDR_SCALARS
, &v
));
4809 return NDR_ERR_SUCCESS
;
4812 _PUBLIC_
void ndr_print_samr_ValidatePasswordLevel(struct ndr_print
*ndr
, const char *name
, enum samr_ValidatePasswordLevel r
)
4814 const char *val
= NULL
;
4817 case NetValidateAuthentication
: val
= "NetValidateAuthentication"; break;
4818 case NetValidatePasswordChange
: val
= "NetValidatePasswordChange"; break;
4819 case NetValidatePasswordReset
: val
= "NetValidatePasswordReset"; break;
4821 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
4824 static enum ndr_err_code
ndr_push_samr_ValidationStatus(struct ndr_push
*ndr
, int ndr_flags
, enum samr_ValidationStatus r
)
4826 NDR_CHECK(ndr_push_enum_uint16(ndr
, NDR_SCALARS
, r
));
4827 return NDR_ERR_SUCCESS
;
4830 static enum ndr_err_code
ndr_pull_samr_ValidationStatus(struct ndr_pull
*ndr
, int ndr_flags
, enum samr_ValidationStatus
*r
)
4833 NDR_CHECK(ndr_pull_enum_uint16(ndr
, NDR_SCALARS
, &v
));
4835 return NDR_ERR_SUCCESS
;
4838 _PUBLIC_
void ndr_print_samr_ValidationStatus(struct ndr_print
*ndr
, const char *name
, enum samr_ValidationStatus r
)
4840 const char *val
= NULL
;
4843 case SAMR_VALIDATION_STATUS_SUCCESS
: val
= "SAMR_VALIDATION_STATUS_SUCCESS"; break;
4844 case SAMR_VALIDATION_STATUS_PASSWORD_MUST_CHANGE
: val
= "SAMR_VALIDATION_STATUS_PASSWORD_MUST_CHANGE"; break;
4845 case SAMR_VALIDATION_STATUS_ACCOUNT_LOCKED_OUT
: val
= "SAMR_VALIDATION_STATUS_ACCOUNT_LOCKED_OUT"; break;
4846 case SAMR_VALIDATION_STATUS_PASSWORD_EXPIRED
: val
= "SAMR_VALIDATION_STATUS_PASSWORD_EXPIRED"; break;
4847 case SAMR_VALIDATION_STATUS_BAD_PASSWORD
: val
= "SAMR_VALIDATION_STATUS_BAD_PASSWORD"; break;
4848 case SAMR_VALIDATION_STATUS_PWD_HISTORY_CONFLICT
: val
= "SAMR_VALIDATION_STATUS_PWD_HISTORY_CONFLICT"; break;
4849 case SAMR_VALIDATION_STATUS_PWD_TOO_SHORT
: val
= "SAMR_VALIDATION_STATUS_PWD_TOO_SHORT"; break;
4850 case SAMR_VALIDATION_STATUS_PWD_TOO_LONG
: val
= "SAMR_VALIDATION_STATUS_PWD_TOO_LONG"; break;
4851 case SAMR_VALIDATION_STATUS_NOT_COMPLEX_ENOUGH
: val
= "SAMR_VALIDATION_STATUS_NOT_COMPLEX_ENOUGH"; break;
4852 case SAMR_VALIDATION_STATUS_PASSWORD_TOO_RECENT
: val
= "SAMR_VALIDATION_STATUS_PASSWORD_TOO_RECENT"; break;
4853 case SAMR_VALIDATION_STATUS_PASSWORD_FILTER_ERROR
: val
= "SAMR_VALIDATION_STATUS_PASSWORD_FILTER_ERROR"; break;
4855 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
4858 static enum ndr_err_code
ndr_push_samr_ValidationBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_ValidationBlob
*r
)
4860 if (ndr_flags
& NDR_SCALARS
) {
4861 NDR_CHECK(ndr_push_align(ndr
, 5));
4862 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->length
));
4863 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->data
));
4865 if (ndr_flags
& NDR_BUFFERS
) {
4867 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->length
));
4868 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->data
, r
->length
));
4871 return NDR_ERR_SUCCESS
;
4874 static enum ndr_err_code
ndr_pull_samr_ValidationBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_ValidationBlob
*r
)
4877 TALLOC_CTX
*_mem_save_data_0
;
4878 if (ndr_flags
& NDR_SCALARS
) {
4879 NDR_CHECK(ndr_pull_align(ndr
, 5));
4880 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->length
));
4881 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_data
));
4883 NDR_PULL_ALLOC(ndr
, r
->data
);
4888 if (ndr_flags
& NDR_BUFFERS
) {
4890 _mem_save_data_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4891 NDR_PULL_SET_MEM_CTX(ndr
, r
->data
, 0);
4892 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->data
));
4893 NDR_PULL_ALLOC_N(ndr
, r
->data
, ndr_get_array_size(ndr
, &r
->data
));
4894 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->data
, ndr_get_array_size(ndr
, &r
->data
)));
4895 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_data_0
, 0);
4898 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->data
, r
->length
));
4901 return NDR_ERR_SUCCESS
;
4904 _PUBLIC_
void ndr_print_samr_ValidationBlob(struct ndr_print
*ndr
, const char *name
, const struct samr_ValidationBlob
*r
)
4906 ndr_print_struct(ndr
, name
, "samr_ValidationBlob");
4908 ndr_print_uint32(ndr
, "length", r
->length
);
4909 ndr_print_ptr(ndr
, "data", r
->data
);
4912 ndr_print_array_uint8(ndr
, "data", r
->data
, r
->length
);
4918 static enum ndr_err_code
ndr_push_samr_ValidatePasswordInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_ValidatePasswordInfo
*r
)
4920 uint32_t cntr_pwd_history_1
;
4921 if (ndr_flags
& NDR_SCALARS
) {
4922 NDR_CHECK(ndr_push_align(ndr
, 8));
4923 NDR_CHECK(ndr_push_samr_ValidateFieldsPresent(ndr
, NDR_SCALARS
, r
->fields_present
));
4924 NDR_CHECK(ndr_push_NTTIME_hyper(ndr
, NDR_SCALARS
, r
->last_password_change
));
4925 NDR_CHECK(ndr_push_NTTIME_hyper(ndr
, NDR_SCALARS
, r
->bad_password_time
));
4926 NDR_CHECK(ndr_push_NTTIME_hyper(ndr
, NDR_SCALARS
, r
->lockout_time
));
4927 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->bad_pwd_count
));
4928 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->pwd_history_len
));
4929 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->pwd_history
));
4931 if (ndr_flags
& NDR_BUFFERS
) {
4932 if (r
->pwd_history
) {
4933 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->pwd_history_len
));
4934 for (cntr_pwd_history_1
= 0; cntr_pwd_history_1
< r
->pwd_history_len
; cntr_pwd_history_1
++) {
4935 NDR_CHECK(ndr_push_samr_ValidationBlob(ndr
, NDR_SCALARS
, &r
->pwd_history
[cntr_pwd_history_1
]));
4937 for (cntr_pwd_history_1
= 0; cntr_pwd_history_1
< r
->pwd_history_len
; cntr_pwd_history_1
++) {
4938 NDR_CHECK(ndr_push_samr_ValidationBlob(ndr
, NDR_BUFFERS
, &r
->pwd_history
[cntr_pwd_history_1
]));
4942 return NDR_ERR_SUCCESS
;
4945 static enum ndr_err_code
ndr_pull_samr_ValidatePasswordInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_ValidatePasswordInfo
*r
)
4947 uint32_t _ptr_pwd_history
;
4948 uint32_t cntr_pwd_history_1
;
4949 TALLOC_CTX
*_mem_save_pwd_history_0
;
4950 TALLOC_CTX
*_mem_save_pwd_history_1
;
4951 if (ndr_flags
& NDR_SCALARS
) {
4952 NDR_CHECK(ndr_pull_align(ndr
, 8));
4953 NDR_CHECK(ndr_pull_samr_ValidateFieldsPresent(ndr
, NDR_SCALARS
, &r
->fields_present
));
4954 NDR_CHECK(ndr_pull_NTTIME_hyper(ndr
, NDR_SCALARS
, &r
->last_password_change
));
4955 NDR_CHECK(ndr_pull_NTTIME_hyper(ndr
, NDR_SCALARS
, &r
->bad_password_time
));
4956 NDR_CHECK(ndr_pull_NTTIME_hyper(ndr
, NDR_SCALARS
, &r
->lockout_time
));
4957 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->bad_pwd_count
));
4958 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->pwd_history_len
));
4959 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_pwd_history
));
4960 if (_ptr_pwd_history
) {
4961 NDR_PULL_ALLOC(ndr
, r
->pwd_history
);
4963 r
->pwd_history
= NULL
;
4966 if (ndr_flags
& NDR_BUFFERS
) {
4967 if (r
->pwd_history
) {
4968 _mem_save_pwd_history_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4969 NDR_PULL_SET_MEM_CTX(ndr
, r
->pwd_history
, 0);
4970 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->pwd_history
));
4971 NDR_PULL_ALLOC_N(ndr
, r
->pwd_history
, ndr_get_array_size(ndr
, &r
->pwd_history
));
4972 _mem_save_pwd_history_1
= NDR_PULL_GET_MEM_CTX(ndr
);
4973 NDR_PULL_SET_MEM_CTX(ndr
, r
->pwd_history
, 0);
4974 for (cntr_pwd_history_1
= 0; cntr_pwd_history_1
< r
->pwd_history_len
; cntr_pwd_history_1
++) {
4975 NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr
, NDR_SCALARS
, &r
->pwd_history
[cntr_pwd_history_1
]));
4977 for (cntr_pwd_history_1
= 0; cntr_pwd_history_1
< r
->pwd_history_len
; cntr_pwd_history_1
++) {
4978 NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr
, NDR_BUFFERS
, &r
->pwd_history
[cntr_pwd_history_1
]));
4980 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_pwd_history_1
, 0);
4981 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_pwd_history_0
, 0);
4983 if (r
->pwd_history
) {
4984 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->pwd_history
, r
->pwd_history_len
));
4987 return NDR_ERR_SUCCESS
;
4990 _PUBLIC_
void ndr_print_samr_ValidatePasswordInfo(struct ndr_print
*ndr
, const char *name
, const struct samr_ValidatePasswordInfo
*r
)
4992 uint32_t cntr_pwd_history_1
;
4993 ndr_print_struct(ndr
, name
, "samr_ValidatePasswordInfo");
4995 ndr_print_samr_ValidateFieldsPresent(ndr
, "fields_present", r
->fields_present
);
4996 ndr_print_NTTIME_hyper(ndr
, "last_password_change", r
->last_password_change
);
4997 ndr_print_NTTIME_hyper(ndr
, "bad_password_time", r
->bad_password_time
);
4998 ndr_print_NTTIME_hyper(ndr
, "lockout_time", r
->lockout_time
);
4999 ndr_print_uint32(ndr
, "bad_pwd_count", r
->bad_pwd_count
);
5000 ndr_print_uint32(ndr
, "pwd_history_len", r
->pwd_history_len
);
5001 ndr_print_ptr(ndr
, "pwd_history", r
->pwd_history
);
5003 if (r
->pwd_history
) {
5004 ndr
->print(ndr
, "%s: ARRAY(%d)", "pwd_history", (int)r
->pwd_history_len
);
5006 for (cntr_pwd_history_1
=0;cntr_pwd_history_1
<r
->pwd_history_len
;cntr_pwd_history_1
++) {
5008 if (asprintf(&idx_1
, "[%d]", cntr_pwd_history_1
) != -1) {
5009 ndr_print_samr_ValidationBlob(ndr
, "pwd_history", &r
->pwd_history
[cntr_pwd_history_1
]);
5019 static enum ndr_err_code
ndr_push_samr_ValidatePasswordRepCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_ValidatePasswordRepCtr
*r
)
5021 if (ndr_flags
& NDR_SCALARS
) {
5022 NDR_CHECK(ndr_push_align(ndr
, 8));
5023 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr
, NDR_SCALARS
, &r
->info
));
5024 NDR_CHECK(ndr_push_samr_ValidationStatus(ndr
, NDR_SCALARS
, r
->status
));
5026 if (ndr_flags
& NDR_BUFFERS
) {
5027 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr
, NDR_BUFFERS
, &r
->info
));
5029 return NDR_ERR_SUCCESS
;
5032 static enum ndr_err_code
ndr_pull_samr_ValidatePasswordRepCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_ValidatePasswordRepCtr
*r
)
5034 if (ndr_flags
& NDR_SCALARS
) {
5035 NDR_CHECK(ndr_pull_align(ndr
, 8));
5036 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr
, NDR_SCALARS
, &r
->info
));
5037 NDR_CHECK(ndr_pull_samr_ValidationStatus(ndr
, NDR_SCALARS
, &r
->status
));
5039 if (ndr_flags
& NDR_BUFFERS
) {
5040 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr
, NDR_BUFFERS
, &r
->info
));
5042 return NDR_ERR_SUCCESS
;
5045 _PUBLIC_
void ndr_print_samr_ValidatePasswordRepCtr(struct ndr_print
*ndr
, const char *name
, const struct samr_ValidatePasswordRepCtr
*r
)
5047 ndr_print_struct(ndr
, name
, "samr_ValidatePasswordRepCtr");
5049 ndr_print_samr_ValidatePasswordInfo(ndr
, "info", &r
->info
);
5050 ndr_print_samr_ValidationStatus(ndr
, "status", r
->status
);
5054 static enum ndr_err_code
ndr_push_samr_ValidatePasswordRep(struct ndr_push
*ndr
, int ndr_flags
, const union samr_ValidatePasswordRep
*r
)
5056 if (ndr_flags
& NDR_SCALARS
) {
5057 int level
= ndr_push_get_switch_value(ndr
, r
);
5058 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, level
));
5059 NDR_CHECK(ndr_push_union_align(ndr
, 8));
5062 NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr
, NDR_SCALARS
, &r
->ctr1
));
5066 NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr
, NDR_SCALARS
, &r
->ctr2
));
5070 NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr
, NDR_SCALARS
, &r
->ctr3
));
5074 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5077 if (ndr_flags
& NDR_BUFFERS
) {
5078 int level
= ndr_push_get_switch_value(ndr
, r
);
5081 NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr
, NDR_BUFFERS
, &r
->ctr1
));
5085 NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr
, NDR_BUFFERS
, &r
->ctr2
));
5089 NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr
, NDR_BUFFERS
, &r
->ctr3
));
5093 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5096 return NDR_ERR_SUCCESS
;
5099 static enum ndr_err_code
ndr_pull_samr_ValidatePasswordRep(struct ndr_pull
*ndr
, int ndr_flags
, union samr_ValidatePasswordRep
*r
)
5103 level
= ndr_pull_get_switch_value(ndr
, r
);
5104 if (ndr_flags
& NDR_SCALARS
) {
5105 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &_level
));
5106 if (_level
!= level
) {
5107 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
5109 NDR_CHECK(ndr_pull_union_align(ndr
, 8));
5112 NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr
, NDR_SCALARS
, &r
->ctr1
));
5116 NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr
, NDR_SCALARS
, &r
->ctr2
));
5120 NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr
, NDR_SCALARS
, &r
->ctr3
));
5124 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5127 if (ndr_flags
& NDR_BUFFERS
) {
5130 NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr
, NDR_BUFFERS
, &r
->ctr1
));
5134 NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr
, NDR_BUFFERS
, &r
->ctr2
));
5138 NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr
, NDR_BUFFERS
, &r
->ctr3
));
5142 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5145 return NDR_ERR_SUCCESS
;
5148 _PUBLIC_
void ndr_print_samr_ValidatePasswordRep(struct ndr_print
*ndr
, const char *name
, const union samr_ValidatePasswordRep
*r
)
5151 level
= ndr_print_get_switch_value(ndr
, r
);
5152 ndr_print_union(ndr
, name
, level
, "samr_ValidatePasswordRep");
5155 ndr_print_samr_ValidatePasswordRepCtr(ndr
, "ctr1", &r
->ctr1
);
5159 ndr_print_samr_ValidatePasswordRepCtr(ndr
, "ctr2", &r
->ctr2
);
5163 ndr_print_samr_ValidatePasswordRepCtr(ndr
, "ctr3", &r
->ctr3
);
5167 ndr_print_bad_level(ndr
, name
, level
);
5171 static enum ndr_err_code
ndr_push_samr_ValidatePasswordReq3(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_ValidatePasswordReq3
*r
)
5173 if (ndr_flags
& NDR_SCALARS
) {
5174 NDR_CHECK(ndr_push_align(ndr
, 8));
5175 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr
, NDR_SCALARS
, &r
->info
));
5176 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->password
));
5177 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->account
));
5178 NDR_CHECK(ndr_push_samr_ValidationBlob(ndr
, NDR_SCALARS
, &r
->hash
));
5179 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->pwd_must_change_at_next_logon
));
5180 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->clear_lockout
));
5182 if (ndr_flags
& NDR_BUFFERS
) {
5183 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr
, NDR_BUFFERS
, &r
->info
));
5184 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->password
));
5185 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->account
));
5186 NDR_CHECK(ndr_push_samr_ValidationBlob(ndr
, NDR_BUFFERS
, &r
->hash
));
5188 return NDR_ERR_SUCCESS
;
5191 static enum ndr_err_code
ndr_pull_samr_ValidatePasswordReq3(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_ValidatePasswordReq3
*r
)
5193 if (ndr_flags
& NDR_SCALARS
) {
5194 NDR_CHECK(ndr_pull_align(ndr
, 8));
5195 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr
, NDR_SCALARS
, &r
->info
));
5196 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->password
));
5197 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->account
));
5198 NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr
, NDR_SCALARS
, &r
->hash
));
5199 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->pwd_must_change_at_next_logon
));
5200 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->clear_lockout
));
5202 if (ndr_flags
& NDR_BUFFERS
) {
5203 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr
, NDR_BUFFERS
, &r
->info
));
5204 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->password
));
5205 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->account
));
5206 NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr
, NDR_BUFFERS
, &r
->hash
));
5208 return NDR_ERR_SUCCESS
;
5211 _PUBLIC_
void ndr_print_samr_ValidatePasswordReq3(struct ndr_print
*ndr
, const char *name
, const struct samr_ValidatePasswordReq3
*r
)
5213 ndr_print_struct(ndr
, name
, "samr_ValidatePasswordReq3");
5215 ndr_print_samr_ValidatePasswordInfo(ndr
, "info", &r
->info
);
5216 ndr_print_lsa_StringLarge(ndr
, "password", &r
->password
);
5217 ndr_print_lsa_StringLarge(ndr
, "account", &r
->account
);
5218 ndr_print_samr_ValidationBlob(ndr
, "hash", &r
->hash
);
5219 ndr_print_uint8(ndr
, "pwd_must_change_at_next_logon", r
->pwd_must_change_at_next_logon
);
5220 ndr_print_uint8(ndr
, "clear_lockout", r
->clear_lockout
);
5224 static enum ndr_err_code
ndr_push_samr_ValidatePasswordReq2(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_ValidatePasswordReq2
*r
)
5226 if (ndr_flags
& NDR_SCALARS
) {
5227 NDR_CHECK(ndr_push_align(ndr
, 8));
5228 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr
, NDR_SCALARS
, &r
->info
));
5229 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->password
));
5230 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->account
));
5231 NDR_CHECK(ndr_push_samr_ValidationBlob(ndr
, NDR_SCALARS
, &r
->hash
));
5232 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->password_matched
));
5234 if (ndr_flags
& NDR_BUFFERS
) {
5235 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr
, NDR_BUFFERS
, &r
->info
));
5236 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->password
));
5237 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->account
));
5238 NDR_CHECK(ndr_push_samr_ValidationBlob(ndr
, NDR_BUFFERS
, &r
->hash
));
5240 return NDR_ERR_SUCCESS
;
5243 static enum ndr_err_code
ndr_pull_samr_ValidatePasswordReq2(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_ValidatePasswordReq2
*r
)
5245 if (ndr_flags
& NDR_SCALARS
) {
5246 NDR_CHECK(ndr_pull_align(ndr
, 8));
5247 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr
, NDR_SCALARS
, &r
->info
));
5248 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->password
));
5249 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->account
));
5250 NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr
, NDR_SCALARS
, &r
->hash
));
5251 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->password_matched
));
5253 if (ndr_flags
& NDR_BUFFERS
) {
5254 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr
, NDR_BUFFERS
, &r
->info
));
5255 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->password
));
5256 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->account
));
5257 NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr
, NDR_BUFFERS
, &r
->hash
));
5259 return NDR_ERR_SUCCESS
;
5262 _PUBLIC_
void ndr_print_samr_ValidatePasswordReq2(struct ndr_print
*ndr
, const char *name
, const struct samr_ValidatePasswordReq2
*r
)
5264 ndr_print_struct(ndr
, name
, "samr_ValidatePasswordReq2");
5266 ndr_print_samr_ValidatePasswordInfo(ndr
, "info", &r
->info
);
5267 ndr_print_lsa_StringLarge(ndr
, "password", &r
->password
);
5268 ndr_print_lsa_StringLarge(ndr
, "account", &r
->account
);
5269 ndr_print_samr_ValidationBlob(ndr
, "hash", &r
->hash
);
5270 ndr_print_uint8(ndr
, "password_matched", r
->password_matched
);
5274 static enum ndr_err_code
ndr_push_samr_ValidatePasswordReq1(struct ndr_push
*ndr
, int ndr_flags
, const struct samr_ValidatePasswordReq1
*r
)
5276 if (ndr_flags
& NDR_SCALARS
) {
5277 NDR_CHECK(ndr_push_align(ndr
, 8));
5278 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr
, NDR_SCALARS
, &r
->info
));
5279 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->password_matched
));
5281 if (ndr_flags
& NDR_BUFFERS
) {
5282 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr
, NDR_BUFFERS
, &r
->info
));
5284 return NDR_ERR_SUCCESS
;
5287 static enum ndr_err_code
ndr_pull_samr_ValidatePasswordReq1(struct ndr_pull
*ndr
, int ndr_flags
, struct samr_ValidatePasswordReq1
*r
)
5289 if (ndr_flags
& NDR_SCALARS
) {
5290 NDR_CHECK(ndr_pull_align(ndr
, 8));
5291 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr
, NDR_SCALARS
, &r
->info
));
5292 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->password_matched
));
5294 if (ndr_flags
& NDR_BUFFERS
) {
5295 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr
, NDR_BUFFERS
, &r
->info
));
5297 return NDR_ERR_SUCCESS
;
5300 _PUBLIC_
void ndr_print_samr_ValidatePasswordReq1(struct ndr_print
*ndr
, const char *name
, const struct samr_ValidatePasswordReq1
*r
)
5302 ndr_print_struct(ndr
, name
, "samr_ValidatePasswordReq1");
5304 ndr_print_samr_ValidatePasswordInfo(ndr
, "info", &r
->info
);
5305 ndr_print_uint8(ndr
, "password_matched", r
->password_matched
);
5309 static enum ndr_err_code
ndr_push_samr_ValidatePasswordReq(struct ndr_push
*ndr
, int ndr_flags
, const union samr_ValidatePasswordReq
*r
)
5311 if (ndr_flags
& NDR_SCALARS
) {
5312 int level
= ndr_push_get_switch_value(ndr
, r
);
5313 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, level
));
5314 NDR_CHECK(ndr_push_union_align(ndr
, 8));
5317 NDR_CHECK(ndr_push_samr_ValidatePasswordReq1(ndr
, NDR_SCALARS
, &r
->req1
));
5321 NDR_CHECK(ndr_push_samr_ValidatePasswordReq2(ndr
, NDR_SCALARS
, &r
->req2
));
5325 NDR_CHECK(ndr_push_samr_ValidatePasswordReq3(ndr
, NDR_SCALARS
, &r
->req3
));
5329 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5332 if (ndr_flags
& NDR_BUFFERS
) {
5333 int level
= ndr_push_get_switch_value(ndr
, r
);
5336 NDR_CHECK(ndr_push_samr_ValidatePasswordReq1(ndr
, NDR_BUFFERS
, &r
->req1
));
5340 NDR_CHECK(ndr_push_samr_ValidatePasswordReq2(ndr
, NDR_BUFFERS
, &r
->req2
));
5344 NDR_CHECK(ndr_push_samr_ValidatePasswordReq3(ndr
, NDR_BUFFERS
, &r
->req3
));
5348 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5351 return NDR_ERR_SUCCESS
;
5354 static enum ndr_err_code
ndr_pull_samr_ValidatePasswordReq(struct ndr_pull
*ndr
, int ndr_flags
, union samr_ValidatePasswordReq
*r
)
5358 level
= ndr_pull_get_switch_value(ndr
, r
);
5359 if (ndr_flags
& NDR_SCALARS
) {
5360 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &_level
));
5361 if (_level
!= level
) {
5362 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
5364 NDR_CHECK(ndr_pull_union_align(ndr
, 8));
5367 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq1(ndr
, NDR_SCALARS
, &r
->req1
));
5371 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq2(ndr
, NDR_SCALARS
, &r
->req2
));
5375 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq3(ndr
, NDR_SCALARS
, &r
->req3
));
5379 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5382 if (ndr_flags
& NDR_BUFFERS
) {
5385 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq1(ndr
, NDR_BUFFERS
, &r
->req1
));
5389 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq2(ndr
, NDR_BUFFERS
, &r
->req2
));
5393 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq3(ndr
, NDR_BUFFERS
, &r
->req3
));
5397 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5400 return NDR_ERR_SUCCESS
;
5403 _PUBLIC_
void ndr_print_samr_ValidatePasswordReq(struct ndr_print
*ndr
, const char *name
, const union samr_ValidatePasswordReq
*r
)
5406 level
= ndr_print_get_switch_value(ndr
, r
);
5407 ndr_print_union(ndr
, name
, level
, "samr_ValidatePasswordReq");
5410 ndr_print_samr_ValidatePasswordReq1(ndr
, "req1", &r
->req1
);
5414 ndr_print_samr_ValidatePasswordReq2(ndr
, "req2", &r
->req2
);
5418 ndr_print_samr_ValidatePasswordReq3(ndr
, "req3", &r
->req3
);
5422 ndr_print_bad_level(ndr
, name
, level
);
5426 static enum ndr_err_code
ndr_push_samr_Connect(struct ndr_push
*ndr
, int flags
, const struct samr_Connect
*r
)
5428 if (flags
& NDR_IN
) {
5429 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.system_name
));
5430 if (r
->in
.system_name
) {
5431 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, *r
->in
.system_name
));
5433 NDR_CHECK(ndr_push_samr_ConnectAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
5435 if (flags
& NDR_OUT
) {
5436 if (r
->out
.connect_handle
== NULL
) {
5437 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5439 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.connect_handle
));
5440 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
5442 return NDR_ERR_SUCCESS
;
5445 static enum ndr_err_code
ndr_pull_samr_Connect(struct ndr_pull
*ndr
, int flags
, struct samr_Connect
*r
)
5447 uint32_t _ptr_system_name
;
5448 TALLOC_CTX
*_mem_save_system_name_0
;
5449 TALLOC_CTX
*_mem_save_connect_handle_0
;
5450 if (flags
& NDR_IN
) {
5451 ZERO_STRUCT(r
->out
);
5453 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_system_name
));
5454 if (_ptr_system_name
) {
5455 NDR_PULL_ALLOC(ndr
, r
->in
.system_name
);
5457 r
->in
.system_name
= NULL
;
5459 if (r
->in
.system_name
) {
5460 _mem_save_system_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5461 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.system_name
, 0);
5462 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, r
->in
.system_name
));
5463 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_system_name_0
, 0);
5465 NDR_CHECK(ndr_pull_samr_ConnectAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
5466 NDR_PULL_ALLOC(ndr
, r
->out
.connect_handle
);
5467 ZERO_STRUCTP(r
->out
.connect_handle
);
5469 if (flags
& NDR_OUT
) {
5470 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5471 NDR_PULL_ALLOC(ndr
, r
->out
.connect_handle
);
5473 _mem_save_connect_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5474 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.connect_handle
, LIBNDR_FLAG_REF_ALLOC
);
5475 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.connect_handle
));
5476 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_connect_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5477 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
5479 return NDR_ERR_SUCCESS
;
5482 _PUBLIC_
void ndr_print_samr_Connect(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_Connect
*r
)
5484 ndr_print_struct(ndr
, name
, "samr_Connect");
5486 if (flags
& NDR_SET_VALUES
) {
5487 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
5489 if (flags
& NDR_IN
) {
5490 ndr_print_struct(ndr
, "in", "samr_Connect");
5492 ndr_print_ptr(ndr
, "system_name", r
->in
.system_name
);
5494 if (r
->in
.system_name
) {
5495 ndr_print_uint16(ndr
, "system_name", *r
->in
.system_name
);
5498 ndr_print_samr_ConnectAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
5501 if (flags
& NDR_OUT
) {
5502 ndr_print_struct(ndr
, "out", "samr_Connect");
5504 ndr_print_ptr(ndr
, "connect_handle", r
->out
.connect_handle
);
5506 ndr_print_policy_handle(ndr
, "connect_handle", r
->out
.connect_handle
);
5508 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
5514 _PUBLIC_
enum ndr_err_code
ndr_push_samr_Close(struct ndr_push
*ndr
, int flags
, const struct samr_Close
*r
)
5516 if (flags
& NDR_IN
) {
5517 if (r
->in
.handle
== NULL
) {
5518 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5520 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
5522 if (flags
& NDR_OUT
) {
5523 if (r
->out
.handle
== NULL
) {
5524 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5526 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.handle
));
5527 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
5529 return NDR_ERR_SUCCESS
;
5532 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_Close(struct ndr_pull
*ndr
, int flags
, struct samr_Close
*r
)
5534 TALLOC_CTX
*_mem_save_handle_0
;
5535 if (flags
& NDR_IN
) {
5536 ZERO_STRUCT(r
->out
);
5538 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5539 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
5541 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5542 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
5543 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
5544 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5545 NDR_PULL_ALLOC(ndr
, r
->out
.handle
);
5546 *r
->out
.handle
= *r
->in
.handle
;
5548 if (flags
& NDR_OUT
) {
5549 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5550 NDR_PULL_ALLOC(ndr
, r
->out
.handle
);
5552 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5553 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.handle
, LIBNDR_FLAG_REF_ALLOC
);
5554 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.handle
));
5555 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5556 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
5558 return NDR_ERR_SUCCESS
;
5561 _PUBLIC_
void ndr_print_samr_Close(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_Close
*r
)
5563 ndr_print_struct(ndr
, name
, "samr_Close");
5565 if (flags
& NDR_SET_VALUES
) {
5566 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
5568 if (flags
& NDR_IN
) {
5569 ndr_print_struct(ndr
, "in", "samr_Close");
5571 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
5573 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
5577 if (flags
& NDR_OUT
) {
5578 ndr_print_struct(ndr
, "out", "samr_Close");
5580 ndr_print_ptr(ndr
, "handle", r
->out
.handle
);
5582 ndr_print_policy_handle(ndr
, "handle", r
->out
.handle
);
5584 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
5590 static enum ndr_err_code
ndr_push_samr_SetSecurity(struct ndr_push
*ndr
, int flags
, const struct samr_SetSecurity
*r
)
5592 if (flags
& NDR_IN
) {
5593 if (r
->in
.handle
== NULL
) {
5594 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5596 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
5597 NDR_CHECK(ndr_push_security_secinfo(ndr
, NDR_SCALARS
, r
->in
.sec_info
));
5598 if (r
->in
.sdbuf
== NULL
) {
5599 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5601 NDR_CHECK(ndr_push_sec_desc_buf(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sdbuf
));
5603 if (flags
& NDR_OUT
) {
5604 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
5606 return NDR_ERR_SUCCESS
;
5609 static enum ndr_err_code
ndr_pull_samr_SetSecurity(struct ndr_pull
*ndr
, int flags
, struct samr_SetSecurity
*r
)
5611 TALLOC_CTX
*_mem_save_handle_0
;
5612 TALLOC_CTX
*_mem_save_sdbuf_0
;
5613 if (flags
& NDR_IN
) {
5614 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5615 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
5617 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5618 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
5619 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
5620 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5621 NDR_CHECK(ndr_pull_security_secinfo(ndr
, NDR_SCALARS
, &r
->in
.sec_info
));
5622 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5623 NDR_PULL_ALLOC(ndr
, r
->in
.sdbuf
);
5625 _mem_save_sdbuf_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5626 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sdbuf
, LIBNDR_FLAG_REF_ALLOC
);
5627 NDR_CHECK(ndr_pull_sec_desc_buf(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sdbuf
));
5628 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sdbuf_0
, LIBNDR_FLAG_REF_ALLOC
);
5630 if (flags
& NDR_OUT
) {
5631 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
5633 return NDR_ERR_SUCCESS
;
5636 _PUBLIC_
void ndr_print_samr_SetSecurity(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_SetSecurity
*r
)
5638 ndr_print_struct(ndr
, name
, "samr_SetSecurity");
5640 if (flags
& NDR_SET_VALUES
) {
5641 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
5643 if (flags
& NDR_IN
) {
5644 ndr_print_struct(ndr
, "in", "samr_SetSecurity");
5646 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
5648 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
5650 ndr_print_security_secinfo(ndr
, "sec_info", r
->in
.sec_info
);
5651 ndr_print_ptr(ndr
, "sdbuf", r
->in
.sdbuf
);
5653 ndr_print_sec_desc_buf(ndr
, "sdbuf", r
->in
.sdbuf
);
5657 if (flags
& NDR_OUT
) {
5658 ndr_print_struct(ndr
, "out", "samr_SetSecurity");
5660 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
5666 static enum ndr_err_code
ndr_push_samr_QuerySecurity(struct ndr_push
*ndr
, int flags
, const struct samr_QuerySecurity
*r
)
5668 if (flags
& NDR_IN
) {
5669 if (r
->in
.handle
== NULL
) {
5670 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5672 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
5673 NDR_CHECK(ndr_push_security_secinfo(ndr
, NDR_SCALARS
, r
->in
.sec_info
));
5675 if (flags
& NDR_OUT
) {
5676 if (r
->out
.sdbuf
== NULL
) {
5677 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5679 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.sdbuf
));
5680 if (*r
->out
.sdbuf
) {
5681 NDR_CHECK(ndr_push_sec_desc_buf(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sdbuf
));
5683 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
5685 return NDR_ERR_SUCCESS
;
5688 static enum ndr_err_code
ndr_pull_samr_QuerySecurity(struct ndr_pull
*ndr
, int flags
, struct samr_QuerySecurity
*r
)
5690 uint32_t _ptr_sdbuf
;
5691 TALLOC_CTX
*_mem_save_handle_0
;
5692 TALLOC_CTX
*_mem_save_sdbuf_0
;
5693 TALLOC_CTX
*_mem_save_sdbuf_1
;
5694 if (flags
& NDR_IN
) {
5695 ZERO_STRUCT(r
->out
);
5697 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5698 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
5700 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5701 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
5702 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
5703 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5704 NDR_CHECK(ndr_pull_security_secinfo(ndr
, NDR_SCALARS
, &r
->in
.sec_info
));
5705 NDR_PULL_ALLOC(ndr
, r
->out
.sdbuf
);
5706 ZERO_STRUCTP(r
->out
.sdbuf
);
5708 if (flags
& NDR_OUT
) {
5709 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5710 NDR_PULL_ALLOC(ndr
, r
->out
.sdbuf
);
5712 _mem_save_sdbuf_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5713 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sdbuf
, LIBNDR_FLAG_REF_ALLOC
);
5714 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sdbuf
));
5716 NDR_PULL_ALLOC(ndr
, *r
->out
.sdbuf
);
5718 *r
->out
.sdbuf
= NULL
;
5720 if (*r
->out
.sdbuf
) {
5721 _mem_save_sdbuf_1
= NDR_PULL_GET_MEM_CTX(ndr
);
5722 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.sdbuf
, 0);
5723 NDR_CHECK(ndr_pull_sec_desc_buf(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sdbuf
));
5724 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sdbuf_1
, 0);
5726 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sdbuf_0
, LIBNDR_FLAG_REF_ALLOC
);
5727 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
5729 return NDR_ERR_SUCCESS
;
5732 _PUBLIC_
void ndr_print_samr_QuerySecurity(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_QuerySecurity
*r
)
5734 ndr_print_struct(ndr
, name
, "samr_QuerySecurity");
5736 if (flags
& NDR_SET_VALUES
) {
5737 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
5739 if (flags
& NDR_IN
) {
5740 ndr_print_struct(ndr
, "in", "samr_QuerySecurity");
5742 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
5744 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
5746 ndr_print_security_secinfo(ndr
, "sec_info", r
->in
.sec_info
);
5749 if (flags
& NDR_OUT
) {
5750 ndr_print_struct(ndr
, "out", "samr_QuerySecurity");
5752 ndr_print_ptr(ndr
, "sdbuf", r
->out
.sdbuf
);
5754 ndr_print_ptr(ndr
, "sdbuf", *r
->out
.sdbuf
);
5756 if (*r
->out
.sdbuf
) {
5757 ndr_print_sec_desc_buf(ndr
, "sdbuf", *r
->out
.sdbuf
);
5761 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
5767 static enum ndr_err_code
ndr_push_samr_Shutdown(struct ndr_push
*ndr
, int flags
, const struct samr_Shutdown
*r
)
5769 if (flags
& NDR_IN
) {
5770 if (r
->in
.connect_handle
== NULL
) {
5771 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5773 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.connect_handle
));
5775 if (flags
& NDR_OUT
) {
5776 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
5778 return NDR_ERR_SUCCESS
;
5781 static enum ndr_err_code
ndr_pull_samr_Shutdown(struct ndr_pull
*ndr
, int flags
, struct samr_Shutdown
*r
)
5783 TALLOC_CTX
*_mem_save_connect_handle_0
;
5784 if (flags
& NDR_IN
) {
5785 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5786 NDR_PULL_ALLOC(ndr
, r
->in
.connect_handle
);
5788 _mem_save_connect_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5789 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.connect_handle
, LIBNDR_FLAG_REF_ALLOC
);
5790 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.connect_handle
));
5791 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_connect_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5793 if (flags
& NDR_OUT
) {
5794 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
5796 return NDR_ERR_SUCCESS
;
5799 _PUBLIC_
void ndr_print_samr_Shutdown(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_Shutdown
*r
)
5801 ndr_print_struct(ndr
, name
, "samr_Shutdown");
5803 if (flags
& NDR_SET_VALUES
) {
5804 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
5806 if (flags
& NDR_IN
) {
5807 ndr_print_struct(ndr
, "in", "samr_Shutdown");
5809 ndr_print_ptr(ndr
, "connect_handle", r
->in
.connect_handle
);
5811 ndr_print_policy_handle(ndr
, "connect_handle", r
->in
.connect_handle
);
5815 if (flags
& NDR_OUT
) {
5816 ndr_print_struct(ndr
, "out", "samr_Shutdown");
5818 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
5824 static enum ndr_err_code
ndr_push_samr_LookupDomain(struct ndr_push
*ndr
, int flags
, const struct samr_LookupDomain
*r
)
5826 if (flags
& NDR_IN
) {
5827 if (r
->in
.connect_handle
== NULL
) {
5828 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5830 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.connect_handle
));
5831 if (r
->in
.domain_name
== NULL
) {
5832 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5834 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.domain_name
));
5836 if (flags
& NDR_OUT
) {
5837 if (r
->out
.sid
== NULL
) {
5838 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5840 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.sid
));
5842 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sid
));
5844 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
5846 return NDR_ERR_SUCCESS
;
5849 static enum ndr_err_code
ndr_pull_samr_LookupDomain(struct ndr_pull
*ndr
, int flags
, struct samr_LookupDomain
*r
)
5852 TALLOC_CTX
*_mem_save_connect_handle_0
;
5853 TALLOC_CTX
*_mem_save_domain_name_0
;
5854 TALLOC_CTX
*_mem_save_sid_0
;
5855 TALLOC_CTX
*_mem_save_sid_1
;
5856 if (flags
& NDR_IN
) {
5857 ZERO_STRUCT(r
->out
);
5859 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5860 NDR_PULL_ALLOC(ndr
, r
->in
.connect_handle
);
5862 _mem_save_connect_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5863 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.connect_handle
, LIBNDR_FLAG_REF_ALLOC
);
5864 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.connect_handle
));
5865 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_connect_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5866 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5867 NDR_PULL_ALLOC(ndr
, r
->in
.domain_name
);
5869 _mem_save_domain_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5870 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_name
, LIBNDR_FLAG_REF_ALLOC
);
5871 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.domain_name
));
5872 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_name_0
, LIBNDR_FLAG_REF_ALLOC
);
5873 NDR_PULL_ALLOC(ndr
, r
->out
.sid
);
5874 ZERO_STRUCTP(r
->out
.sid
);
5876 if (flags
& NDR_OUT
) {
5877 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5878 NDR_PULL_ALLOC(ndr
, r
->out
.sid
);
5880 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5881 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sid
, LIBNDR_FLAG_REF_ALLOC
);
5882 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sid
));
5884 NDR_PULL_ALLOC(ndr
, *r
->out
.sid
);
5889 _mem_save_sid_1
= NDR_PULL_GET_MEM_CTX(ndr
);
5890 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.sid
, 0);
5891 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sid
));
5892 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_1
, 0);
5894 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, LIBNDR_FLAG_REF_ALLOC
);
5895 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
5897 return NDR_ERR_SUCCESS
;
5900 _PUBLIC_
void ndr_print_samr_LookupDomain(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_LookupDomain
*r
)
5902 ndr_print_struct(ndr
, name
, "samr_LookupDomain");
5904 if (flags
& NDR_SET_VALUES
) {
5905 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
5907 if (flags
& NDR_IN
) {
5908 ndr_print_struct(ndr
, "in", "samr_LookupDomain");
5910 ndr_print_ptr(ndr
, "connect_handle", r
->in
.connect_handle
);
5912 ndr_print_policy_handle(ndr
, "connect_handle", r
->in
.connect_handle
);
5914 ndr_print_ptr(ndr
, "domain_name", r
->in
.domain_name
);
5916 ndr_print_lsa_String(ndr
, "domain_name", r
->in
.domain_name
);
5920 if (flags
& NDR_OUT
) {
5921 ndr_print_struct(ndr
, "out", "samr_LookupDomain");
5923 ndr_print_ptr(ndr
, "sid", r
->out
.sid
);
5925 ndr_print_ptr(ndr
, "sid", *r
->out
.sid
);
5928 ndr_print_dom_sid2(ndr
, "sid", *r
->out
.sid
);
5932 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
5938 static enum ndr_err_code
ndr_push_samr_EnumDomains(struct ndr_push
*ndr
, int flags
, const struct samr_EnumDomains
*r
)
5940 if (flags
& NDR_IN
) {
5941 if (r
->in
.connect_handle
== NULL
) {
5942 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5944 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.connect_handle
));
5945 if (r
->in
.resume_handle
== NULL
) {
5946 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5948 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->in
.resume_handle
));
5949 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.buf_size
));
5951 if (flags
& NDR_OUT
) {
5952 if (r
->out
.resume_handle
== NULL
) {
5953 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5955 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.resume_handle
));
5956 if (r
->out
.sam
== NULL
) {
5957 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5959 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.sam
));
5961 NDR_CHECK(ndr_push_samr_SamArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sam
));
5963 if (r
->out
.num_entries
== NULL
) {
5964 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5966 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.num_entries
));
5967 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
5969 return NDR_ERR_SUCCESS
;
5972 static enum ndr_err_code
ndr_pull_samr_EnumDomains(struct ndr_pull
*ndr
, int flags
, struct samr_EnumDomains
*r
)
5975 TALLOC_CTX
*_mem_save_connect_handle_0
;
5976 TALLOC_CTX
*_mem_save_resume_handle_0
;
5977 TALLOC_CTX
*_mem_save_sam_0
;
5978 TALLOC_CTX
*_mem_save_sam_1
;
5979 TALLOC_CTX
*_mem_save_num_entries_0
;
5980 if (flags
& NDR_IN
) {
5981 ZERO_STRUCT(r
->out
);
5983 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5984 NDR_PULL_ALLOC(ndr
, r
->in
.connect_handle
);
5986 _mem_save_connect_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5987 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.connect_handle
, LIBNDR_FLAG_REF_ALLOC
);
5988 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.connect_handle
));
5989 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_connect_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5990 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5991 NDR_PULL_ALLOC(ndr
, r
->in
.resume_handle
);
5993 _mem_save_resume_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5994 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.resume_handle
, LIBNDR_FLAG_REF_ALLOC
);
5995 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->in
.resume_handle
));
5996 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_resume_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5997 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.buf_size
));
5998 NDR_PULL_ALLOC(ndr
, r
->out
.resume_handle
);
5999 *r
->out
.resume_handle
= *r
->in
.resume_handle
;
6000 NDR_PULL_ALLOC(ndr
, r
->out
.sam
);
6001 ZERO_STRUCTP(r
->out
.sam
);
6002 NDR_PULL_ALLOC(ndr
, r
->out
.num_entries
);
6003 ZERO_STRUCTP(r
->out
.num_entries
);
6005 if (flags
& NDR_OUT
) {
6006 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6007 NDR_PULL_ALLOC(ndr
, r
->out
.resume_handle
);
6009 _mem_save_resume_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6010 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.resume_handle
, LIBNDR_FLAG_REF_ALLOC
);
6011 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.resume_handle
));
6012 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_resume_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6013 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6014 NDR_PULL_ALLOC(ndr
, r
->out
.sam
);
6016 _mem_save_sam_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6017 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sam
, LIBNDR_FLAG_REF_ALLOC
);
6018 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sam
));
6020 NDR_PULL_ALLOC(ndr
, *r
->out
.sam
);
6025 _mem_save_sam_1
= NDR_PULL_GET_MEM_CTX(ndr
);
6026 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.sam
, 0);
6027 NDR_CHECK(ndr_pull_samr_SamArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sam
));
6028 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sam_1
, 0);
6030 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sam_0
, LIBNDR_FLAG_REF_ALLOC
);
6031 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6032 NDR_PULL_ALLOC(ndr
, r
->out
.num_entries
);
6034 _mem_save_num_entries_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6035 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.num_entries
, LIBNDR_FLAG_REF_ALLOC
);
6036 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.num_entries
));
6037 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_num_entries_0
, LIBNDR_FLAG_REF_ALLOC
);
6038 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6040 return NDR_ERR_SUCCESS
;
6043 _PUBLIC_
void ndr_print_samr_EnumDomains(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_EnumDomains
*r
)
6045 ndr_print_struct(ndr
, name
, "samr_EnumDomains");
6047 if (flags
& NDR_SET_VALUES
) {
6048 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6050 if (flags
& NDR_IN
) {
6051 ndr_print_struct(ndr
, "in", "samr_EnumDomains");
6053 ndr_print_ptr(ndr
, "connect_handle", r
->in
.connect_handle
);
6055 ndr_print_policy_handle(ndr
, "connect_handle", r
->in
.connect_handle
);
6057 ndr_print_ptr(ndr
, "resume_handle", r
->in
.resume_handle
);
6059 ndr_print_uint32(ndr
, "resume_handle", *r
->in
.resume_handle
);
6061 ndr_print_uint32(ndr
, "buf_size", r
->in
.buf_size
);
6064 if (flags
& NDR_OUT
) {
6065 ndr_print_struct(ndr
, "out", "samr_EnumDomains");
6067 ndr_print_ptr(ndr
, "resume_handle", r
->out
.resume_handle
);
6069 ndr_print_uint32(ndr
, "resume_handle", *r
->out
.resume_handle
);
6071 ndr_print_ptr(ndr
, "sam", r
->out
.sam
);
6073 ndr_print_ptr(ndr
, "sam", *r
->out
.sam
);
6076 ndr_print_samr_SamArray(ndr
, "sam", *r
->out
.sam
);
6080 ndr_print_ptr(ndr
, "num_entries", r
->out
.num_entries
);
6082 ndr_print_uint32(ndr
, "num_entries", *r
->out
.num_entries
);
6084 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6090 _PUBLIC_
enum ndr_err_code
ndr_push_samr_OpenDomain(struct ndr_push
*ndr
, int flags
, const struct samr_OpenDomain
*r
)
6092 if (flags
& NDR_IN
) {
6093 if (r
->in
.connect_handle
== NULL
) {
6094 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6096 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.connect_handle
));
6097 NDR_CHECK(ndr_push_samr_DomainAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
6098 if (r
->in
.sid
== NULL
) {
6099 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6101 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
6103 if (flags
& NDR_OUT
) {
6104 if (r
->out
.domain_handle
== NULL
) {
6105 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6107 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.domain_handle
));
6108 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6110 return NDR_ERR_SUCCESS
;
6113 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_OpenDomain(struct ndr_pull
*ndr
, int flags
, struct samr_OpenDomain
*r
)
6115 TALLOC_CTX
*_mem_save_connect_handle_0
;
6116 TALLOC_CTX
*_mem_save_sid_0
;
6117 TALLOC_CTX
*_mem_save_domain_handle_0
;
6118 if (flags
& NDR_IN
) {
6119 ZERO_STRUCT(r
->out
);
6121 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6122 NDR_PULL_ALLOC(ndr
, r
->in
.connect_handle
);
6124 _mem_save_connect_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6125 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.connect_handle
, LIBNDR_FLAG_REF_ALLOC
);
6126 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.connect_handle
));
6127 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_connect_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6128 NDR_CHECK(ndr_pull_samr_DomainAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
6129 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6130 NDR_PULL_ALLOC(ndr
, r
->in
.sid
);
6132 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6133 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sid
, LIBNDR_FLAG_REF_ALLOC
);
6134 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
6135 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, LIBNDR_FLAG_REF_ALLOC
);
6136 NDR_PULL_ALLOC(ndr
, r
->out
.domain_handle
);
6137 ZERO_STRUCTP(r
->out
.domain_handle
);
6139 if (flags
& NDR_OUT
) {
6140 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6141 NDR_PULL_ALLOC(ndr
, r
->out
.domain_handle
);
6143 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6144 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
6145 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.domain_handle
));
6146 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6147 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6149 return NDR_ERR_SUCCESS
;
6152 _PUBLIC_
void ndr_print_samr_OpenDomain(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_OpenDomain
*r
)
6154 ndr_print_struct(ndr
, name
, "samr_OpenDomain");
6156 if (flags
& NDR_SET_VALUES
) {
6157 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6159 if (flags
& NDR_IN
) {
6160 ndr_print_struct(ndr
, "in", "samr_OpenDomain");
6162 ndr_print_ptr(ndr
, "connect_handle", r
->in
.connect_handle
);
6164 ndr_print_policy_handle(ndr
, "connect_handle", r
->in
.connect_handle
);
6166 ndr_print_samr_DomainAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
6167 ndr_print_ptr(ndr
, "sid", r
->in
.sid
);
6169 ndr_print_dom_sid2(ndr
, "sid", r
->in
.sid
);
6173 if (flags
& NDR_OUT
) {
6174 ndr_print_struct(ndr
, "out", "samr_OpenDomain");
6176 ndr_print_ptr(ndr
, "domain_handle", r
->out
.domain_handle
);
6178 ndr_print_policy_handle(ndr
, "domain_handle", r
->out
.domain_handle
);
6180 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6186 static enum ndr_err_code
ndr_push_samr_QueryDomainInfo(struct ndr_push
*ndr
, int flags
, const struct samr_QueryDomainInfo
*r
)
6188 if (flags
& NDR_IN
) {
6189 if (r
->in
.domain_handle
== NULL
) {
6190 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6192 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6193 NDR_CHECK(ndr_push_samr_DomainInfoClass(ndr
, NDR_SCALARS
, r
->in
.level
));
6195 if (flags
& NDR_OUT
) {
6196 if (r
->out
.info
== NULL
) {
6197 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6199 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.info
));
6201 NDR_CHECK(ndr_push_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
6202 NDR_CHECK(ndr_push_samr_DomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
6204 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6206 return NDR_ERR_SUCCESS
;
6209 static enum ndr_err_code
ndr_pull_samr_QueryDomainInfo(struct ndr_pull
*ndr
, int flags
, struct samr_QueryDomainInfo
*r
)
6212 TALLOC_CTX
*_mem_save_domain_handle_0
;
6213 TALLOC_CTX
*_mem_save_info_0
;
6214 TALLOC_CTX
*_mem_save_info_1
;
6215 if (flags
& NDR_IN
) {
6216 ZERO_STRUCT(r
->out
);
6218 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6219 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
6221 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6222 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
6223 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6224 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6225 NDR_CHECK(ndr_pull_samr_DomainInfoClass(ndr
, NDR_SCALARS
, &r
->in
.level
));
6226 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
6227 ZERO_STRUCTP(r
->out
.info
);
6229 if (flags
& NDR_OUT
) {
6230 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6231 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
6233 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6234 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
6235 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
6237 NDR_PULL_ALLOC(ndr
, *r
->out
.info
);
6239 *r
->out
.info
= NULL
;
6242 _mem_save_info_1
= NDR_PULL_GET_MEM_CTX(ndr
);
6243 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.info
, 0);
6244 NDR_CHECK(ndr_pull_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
6245 NDR_CHECK(ndr_pull_samr_DomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
6246 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_1
, 0);
6248 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
6249 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6251 return NDR_ERR_SUCCESS
;
6254 _PUBLIC_
void ndr_print_samr_QueryDomainInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_QueryDomainInfo
*r
)
6256 ndr_print_struct(ndr
, name
, "samr_QueryDomainInfo");
6258 if (flags
& NDR_SET_VALUES
) {
6259 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6261 if (flags
& NDR_IN
) {
6262 ndr_print_struct(ndr
, "in", "samr_QueryDomainInfo");
6264 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
6266 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
6268 ndr_print_samr_DomainInfoClass(ndr
, "level", r
->in
.level
);
6271 if (flags
& NDR_OUT
) {
6272 ndr_print_struct(ndr
, "out", "samr_QueryDomainInfo");
6274 ndr_print_ptr(ndr
, "info", r
->out
.info
);
6276 ndr_print_ptr(ndr
, "info", *r
->out
.info
);
6279 ndr_print_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
);
6280 ndr_print_samr_DomainInfo(ndr
, "info", *r
->out
.info
);
6284 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6290 static enum ndr_err_code
ndr_push_samr_SetDomainInfo(struct ndr_push
*ndr
, int flags
, const struct samr_SetDomainInfo
*r
)
6292 if (flags
& NDR_IN
) {
6293 if (r
->in
.domain_handle
== NULL
) {
6294 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6296 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6297 NDR_CHECK(ndr_push_samr_DomainInfoClass(ndr
, NDR_SCALARS
, r
->in
.level
));
6298 if (r
->in
.info
== NULL
) {
6299 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6301 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
6302 NDR_CHECK(ndr_push_samr_DomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
6304 if (flags
& NDR_OUT
) {
6305 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6307 return NDR_ERR_SUCCESS
;
6310 static enum ndr_err_code
ndr_pull_samr_SetDomainInfo(struct ndr_pull
*ndr
, int flags
, struct samr_SetDomainInfo
*r
)
6312 TALLOC_CTX
*_mem_save_domain_handle_0
;
6313 TALLOC_CTX
*_mem_save_info_0
;
6314 if (flags
& NDR_IN
) {
6315 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6316 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
6318 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6319 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
6320 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6321 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6322 NDR_CHECK(ndr_pull_samr_DomainInfoClass(ndr
, NDR_SCALARS
, &r
->in
.level
));
6323 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6324 NDR_PULL_ALLOC(ndr
, r
->in
.info
);
6326 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6327 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.info
, LIBNDR_FLAG_REF_ALLOC
);
6328 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
6329 NDR_CHECK(ndr_pull_samr_DomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
6330 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
6332 if (flags
& NDR_OUT
) {
6333 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6335 return NDR_ERR_SUCCESS
;
6338 _PUBLIC_
void ndr_print_samr_SetDomainInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_SetDomainInfo
*r
)
6340 ndr_print_struct(ndr
, name
, "samr_SetDomainInfo");
6342 if (flags
& NDR_SET_VALUES
) {
6343 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6345 if (flags
& NDR_IN
) {
6346 ndr_print_struct(ndr
, "in", "samr_SetDomainInfo");
6348 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
6350 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
6352 ndr_print_samr_DomainInfoClass(ndr
, "level", r
->in
.level
);
6353 ndr_print_ptr(ndr
, "info", r
->in
.info
);
6355 ndr_print_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
);
6356 ndr_print_samr_DomainInfo(ndr
, "info", r
->in
.info
);
6360 if (flags
& NDR_OUT
) {
6361 ndr_print_struct(ndr
, "out", "samr_SetDomainInfo");
6363 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6369 static enum ndr_err_code
ndr_push_samr_CreateDomainGroup(struct ndr_push
*ndr
, int flags
, const struct samr_CreateDomainGroup
*r
)
6371 if (flags
& NDR_IN
) {
6372 if (r
->in
.domain_handle
== NULL
) {
6373 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6375 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6376 if (r
->in
.name
== NULL
) {
6377 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6379 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.name
));
6380 NDR_CHECK(ndr_push_samr_GroupAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
6382 if (flags
& NDR_OUT
) {
6383 if (r
->out
.group_handle
== NULL
) {
6384 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6386 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.group_handle
));
6387 if (r
->out
.rid
== NULL
) {
6388 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6390 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.rid
));
6391 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6393 return NDR_ERR_SUCCESS
;
6396 static enum ndr_err_code
ndr_pull_samr_CreateDomainGroup(struct ndr_pull
*ndr
, int flags
, struct samr_CreateDomainGroup
*r
)
6398 TALLOC_CTX
*_mem_save_domain_handle_0
;
6399 TALLOC_CTX
*_mem_save_name_0
;
6400 TALLOC_CTX
*_mem_save_group_handle_0
;
6401 TALLOC_CTX
*_mem_save_rid_0
;
6402 if (flags
& NDR_IN
) {
6403 ZERO_STRUCT(r
->out
);
6405 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6406 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
6408 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6409 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
6410 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6411 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6412 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6413 NDR_PULL_ALLOC(ndr
, r
->in
.name
);
6415 _mem_save_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6416 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.name
, LIBNDR_FLAG_REF_ALLOC
);
6417 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.name
));
6418 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_name_0
, LIBNDR_FLAG_REF_ALLOC
);
6419 NDR_CHECK(ndr_pull_samr_GroupAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
6420 NDR_PULL_ALLOC(ndr
, r
->out
.group_handle
);
6421 ZERO_STRUCTP(r
->out
.group_handle
);
6422 NDR_PULL_ALLOC(ndr
, r
->out
.rid
);
6423 ZERO_STRUCTP(r
->out
.rid
);
6425 if (flags
& NDR_OUT
) {
6426 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6427 NDR_PULL_ALLOC(ndr
, r
->out
.group_handle
);
6429 _mem_save_group_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6430 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.group_handle
, LIBNDR_FLAG_REF_ALLOC
);
6431 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.group_handle
));
6432 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_group_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6433 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6434 NDR_PULL_ALLOC(ndr
, r
->out
.rid
);
6436 _mem_save_rid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6437 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.rid
, LIBNDR_FLAG_REF_ALLOC
);
6438 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.rid
));
6439 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rid_0
, LIBNDR_FLAG_REF_ALLOC
);
6440 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6442 return NDR_ERR_SUCCESS
;
6445 _PUBLIC_
void ndr_print_samr_CreateDomainGroup(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_CreateDomainGroup
*r
)
6447 ndr_print_struct(ndr
, name
, "samr_CreateDomainGroup");
6449 if (flags
& NDR_SET_VALUES
) {
6450 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6452 if (flags
& NDR_IN
) {
6453 ndr_print_struct(ndr
, "in", "samr_CreateDomainGroup");
6455 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
6457 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
6459 ndr_print_ptr(ndr
, "name", r
->in
.name
);
6461 ndr_print_lsa_String(ndr
, "name", r
->in
.name
);
6463 ndr_print_samr_GroupAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
6466 if (flags
& NDR_OUT
) {
6467 ndr_print_struct(ndr
, "out", "samr_CreateDomainGroup");
6469 ndr_print_ptr(ndr
, "group_handle", r
->out
.group_handle
);
6471 ndr_print_policy_handle(ndr
, "group_handle", r
->out
.group_handle
);
6473 ndr_print_ptr(ndr
, "rid", r
->out
.rid
);
6475 ndr_print_uint32(ndr
, "rid", *r
->out
.rid
);
6477 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6483 static enum ndr_err_code
ndr_push_samr_EnumDomainGroups(struct ndr_push
*ndr
, int flags
, const struct samr_EnumDomainGroups
*r
)
6485 if (flags
& NDR_IN
) {
6486 if (r
->in
.domain_handle
== NULL
) {
6487 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6489 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6490 if (r
->in
.resume_handle
== NULL
) {
6491 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6493 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->in
.resume_handle
));
6494 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.max_size
));
6496 if (flags
& NDR_OUT
) {
6497 if (r
->out
.resume_handle
== NULL
) {
6498 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6500 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.resume_handle
));
6501 if (r
->out
.sam
== NULL
) {
6502 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6504 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.sam
));
6506 NDR_CHECK(ndr_push_samr_SamArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sam
));
6508 if (r
->out
.num_entries
== NULL
) {
6509 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6511 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.num_entries
));
6512 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6514 return NDR_ERR_SUCCESS
;
6517 static enum ndr_err_code
ndr_pull_samr_EnumDomainGroups(struct ndr_pull
*ndr
, int flags
, struct samr_EnumDomainGroups
*r
)
6520 TALLOC_CTX
*_mem_save_domain_handle_0
;
6521 TALLOC_CTX
*_mem_save_resume_handle_0
;
6522 TALLOC_CTX
*_mem_save_sam_0
;
6523 TALLOC_CTX
*_mem_save_sam_1
;
6524 TALLOC_CTX
*_mem_save_num_entries_0
;
6525 if (flags
& NDR_IN
) {
6526 ZERO_STRUCT(r
->out
);
6528 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6529 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
6531 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6532 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
6533 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6534 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6535 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6536 NDR_PULL_ALLOC(ndr
, r
->in
.resume_handle
);
6538 _mem_save_resume_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6539 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.resume_handle
, LIBNDR_FLAG_REF_ALLOC
);
6540 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->in
.resume_handle
));
6541 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_resume_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6542 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.max_size
));
6543 NDR_PULL_ALLOC(ndr
, r
->out
.resume_handle
);
6544 *r
->out
.resume_handle
= *r
->in
.resume_handle
;
6545 NDR_PULL_ALLOC(ndr
, r
->out
.sam
);
6546 ZERO_STRUCTP(r
->out
.sam
);
6547 NDR_PULL_ALLOC(ndr
, r
->out
.num_entries
);
6548 ZERO_STRUCTP(r
->out
.num_entries
);
6550 if (flags
& NDR_OUT
) {
6551 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6552 NDR_PULL_ALLOC(ndr
, r
->out
.resume_handle
);
6554 _mem_save_resume_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6555 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.resume_handle
, LIBNDR_FLAG_REF_ALLOC
);
6556 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.resume_handle
));
6557 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_resume_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6558 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6559 NDR_PULL_ALLOC(ndr
, r
->out
.sam
);
6561 _mem_save_sam_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6562 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sam
, LIBNDR_FLAG_REF_ALLOC
);
6563 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sam
));
6565 NDR_PULL_ALLOC(ndr
, *r
->out
.sam
);
6570 _mem_save_sam_1
= NDR_PULL_GET_MEM_CTX(ndr
);
6571 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.sam
, 0);
6572 NDR_CHECK(ndr_pull_samr_SamArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sam
));
6573 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sam_1
, 0);
6575 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sam_0
, LIBNDR_FLAG_REF_ALLOC
);
6576 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6577 NDR_PULL_ALLOC(ndr
, r
->out
.num_entries
);
6579 _mem_save_num_entries_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6580 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.num_entries
, LIBNDR_FLAG_REF_ALLOC
);
6581 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.num_entries
));
6582 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_num_entries_0
, LIBNDR_FLAG_REF_ALLOC
);
6583 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6585 return NDR_ERR_SUCCESS
;
6588 _PUBLIC_
void ndr_print_samr_EnumDomainGroups(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_EnumDomainGroups
*r
)
6590 ndr_print_struct(ndr
, name
, "samr_EnumDomainGroups");
6592 if (flags
& NDR_SET_VALUES
) {
6593 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6595 if (flags
& NDR_IN
) {
6596 ndr_print_struct(ndr
, "in", "samr_EnumDomainGroups");
6598 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
6600 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
6602 ndr_print_ptr(ndr
, "resume_handle", r
->in
.resume_handle
);
6604 ndr_print_uint32(ndr
, "resume_handle", *r
->in
.resume_handle
);
6606 ndr_print_uint32(ndr
, "max_size", r
->in
.max_size
);
6609 if (flags
& NDR_OUT
) {
6610 ndr_print_struct(ndr
, "out", "samr_EnumDomainGroups");
6612 ndr_print_ptr(ndr
, "resume_handle", r
->out
.resume_handle
);
6614 ndr_print_uint32(ndr
, "resume_handle", *r
->out
.resume_handle
);
6616 ndr_print_ptr(ndr
, "sam", r
->out
.sam
);
6618 ndr_print_ptr(ndr
, "sam", *r
->out
.sam
);
6621 ndr_print_samr_SamArray(ndr
, "sam", *r
->out
.sam
);
6625 ndr_print_ptr(ndr
, "num_entries", r
->out
.num_entries
);
6627 ndr_print_uint32(ndr
, "num_entries", *r
->out
.num_entries
);
6629 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6635 static enum ndr_err_code
ndr_push_samr_CreateUser(struct ndr_push
*ndr
, int flags
, const struct samr_CreateUser
*r
)
6637 if (flags
& NDR_IN
) {
6638 if (r
->in
.domain_handle
== NULL
) {
6639 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6641 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6642 if (r
->in
.account_name
== NULL
) {
6643 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6645 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.account_name
));
6646 NDR_CHECK(ndr_push_samr_UserAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
6648 if (flags
& NDR_OUT
) {
6649 if (r
->out
.user_handle
== NULL
) {
6650 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6652 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.user_handle
));
6653 if (r
->out
.rid
== NULL
) {
6654 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6656 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.rid
));
6657 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6659 return NDR_ERR_SUCCESS
;
6662 static enum ndr_err_code
ndr_pull_samr_CreateUser(struct ndr_pull
*ndr
, int flags
, struct samr_CreateUser
*r
)
6664 TALLOC_CTX
*_mem_save_domain_handle_0
;
6665 TALLOC_CTX
*_mem_save_account_name_0
;
6666 TALLOC_CTX
*_mem_save_user_handle_0
;
6667 TALLOC_CTX
*_mem_save_rid_0
;
6668 if (flags
& NDR_IN
) {
6669 ZERO_STRUCT(r
->out
);
6671 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6672 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
6674 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6675 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
6676 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6677 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6678 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6679 NDR_PULL_ALLOC(ndr
, r
->in
.account_name
);
6681 _mem_save_account_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6682 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.account_name
, LIBNDR_FLAG_REF_ALLOC
);
6683 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.account_name
));
6684 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_account_name_0
, LIBNDR_FLAG_REF_ALLOC
);
6685 NDR_CHECK(ndr_pull_samr_UserAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
6686 NDR_PULL_ALLOC(ndr
, r
->out
.user_handle
);
6687 ZERO_STRUCTP(r
->out
.user_handle
);
6688 NDR_PULL_ALLOC(ndr
, r
->out
.rid
);
6689 ZERO_STRUCTP(r
->out
.rid
);
6691 if (flags
& NDR_OUT
) {
6692 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6693 NDR_PULL_ALLOC(ndr
, r
->out
.user_handle
);
6695 _mem_save_user_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6696 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.user_handle
, LIBNDR_FLAG_REF_ALLOC
);
6697 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.user_handle
));
6698 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_user_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6699 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6700 NDR_PULL_ALLOC(ndr
, r
->out
.rid
);
6702 _mem_save_rid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6703 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.rid
, LIBNDR_FLAG_REF_ALLOC
);
6704 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.rid
));
6705 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rid_0
, LIBNDR_FLAG_REF_ALLOC
);
6706 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6708 return NDR_ERR_SUCCESS
;
6711 _PUBLIC_
void ndr_print_samr_CreateUser(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_CreateUser
*r
)
6713 ndr_print_struct(ndr
, name
, "samr_CreateUser");
6715 if (flags
& NDR_SET_VALUES
) {
6716 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6718 if (flags
& NDR_IN
) {
6719 ndr_print_struct(ndr
, "in", "samr_CreateUser");
6721 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
6723 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
6725 ndr_print_ptr(ndr
, "account_name", r
->in
.account_name
);
6727 ndr_print_lsa_String(ndr
, "account_name", r
->in
.account_name
);
6729 ndr_print_samr_UserAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
6732 if (flags
& NDR_OUT
) {
6733 ndr_print_struct(ndr
, "out", "samr_CreateUser");
6735 ndr_print_ptr(ndr
, "user_handle", r
->out
.user_handle
);
6737 ndr_print_policy_handle(ndr
, "user_handle", r
->out
.user_handle
);
6739 ndr_print_ptr(ndr
, "rid", r
->out
.rid
);
6741 ndr_print_uint32(ndr
, "rid", *r
->out
.rid
);
6743 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6749 static enum ndr_err_code
ndr_push_samr_EnumDomainUsers(struct ndr_push
*ndr
, int flags
, const struct samr_EnumDomainUsers
*r
)
6751 if (flags
& NDR_IN
) {
6752 if (r
->in
.domain_handle
== NULL
) {
6753 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6755 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6756 if (r
->in
.resume_handle
== NULL
) {
6757 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6759 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->in
.resume_handle
));
6760 NDR_CHECK(ndr_push_samr_AcctFlags(ndr
, NDR_SCALARS
, r
->in
.acct_flags
));
6761 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.max_size
));
6763 if (flags
& NDR_OUT
) {
6764 if (r
->out
.resume_handle
== NULL
) {
6765 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6767 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.resume_handle
));
6768 if (r
->out
.sam
== NULL
) {
6769 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6771 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.sam
));
6773 NDR_CHECK(ndr_push_samr_SamArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sam
));
6775 if (r
->out
.num_entries
== NULL
) {
6776 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6778 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.num_entries
));
6779 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6781 return NDR_ERR_SUCCESS
;
6784 static enum ndr_err_code
ndr_pull_samr_EnumDomainUsers(struct ndr_pull
*ndr
, int flags
, struct samr_EnumDomainUsers
*r
)
6787 TALLOC_CTX
*_mem_save_domain_handle_0
;
6788 TALLOC_CTX
*_mem_save_resume_handle_0
;
6789 TALLOC_CTX
*_mem_save_sam_0
;
6790 TALLOC_CTX
*_mem_save_sam_1
;
6791 TALLOC_CTX
*_mem_save_num_entries_0
;
6792 if (flags
& NDR_IN
) {
6793 ZERO_STRUCT(r
->out
);
6795 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6796 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
6798 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6799 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
6800 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6801 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6802 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6803 NDR_PULL_ALLOC(ndr
, r
->in
.resume_handle
);
6805 _mem_save_resume_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6806 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.resume_handle
, LIBNDR_FLAG_REF_ALLOC
);
6807 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->in
.resume_handle
));
6808 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_resume_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6809 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr
, NDR_SCALARS
, &r
->in
.acct_flags
));
6810 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.max_size
));
6811 NDR_PULL_ALLOC(ndr
, r
->out
.resume_handle
);
6812 *r
->out
.resume_handle
= *r
->in
.resume_handle
;
6813 NDR_PULL_ALLOC(ndr
, r
->out
.sam
);
6814 ZERO_STRUCTP(r
->out
.sam
);
6815 NDR_PULL_ALLOC(ndr
, r
->out
.num_entries
);
6816 ZERO_STRUCTP(r
->out
.num_entries
);
6818 if (flags
& NDR_OUT
) {
6819 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6820 NDR_PULL_ALLOC(ndr
, r
->out
.resume_handle
);
6822 _mem_save_resume_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6823 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.resume_handle
, LIBNDR_FLAG_REF_ALLOC
);
6824 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.resume_handle
));
6825 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_resume_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6826 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6827 NDR_PULL_ALLOC(ndr
, r
->out
.sam
);
6829 _mem_save_sam_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6830 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sam
, LIBNDR_FLAG_REF_ALLOC
);
6831 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sam
));
6833 NDR_PULL_ALLOC(ndr
, *r
->out
.sam
);
6838 _mem_save_sam_1
= NDR_PULL_GET_MEM_CTX(ndr
);
6839 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.sam
, 0);
6840 NDR_CHECK(ndr_pull_samr_SamArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sam
));
6841 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sam_1
, 0);
6843 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sam_0
, LIBNDR_FLAG_REF_ALLOC
);
6844 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6845 NDR_PULL_ALLOC(ndr
, r
->out
.num_entries
);
6847 _mem_save_num_entries_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6848 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.num_entries
, LIBNDR_FLAG_REF_ALLOC
);
6849 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.num_entries
));
6850 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_num_entries_0
, LIBNDR_FLAG_REF_ALLOC
);
6851 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6853 return NDR_ERR_SUCCESS
;
6856 _PUBLIC_
void ndr_print_samr_EnumDomainUsers(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_EnumDomainUsers
*r
)
6858 ndr_print_struct(ndr
, name
, "samr_EnumDomainUsers");
6860 if (flags
& NDR_SET_VALUES
) {
6861 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6863 if (flags
& NDR_IN
) {
6864 ndr_print_struct(ndr
, "in", "samr_EnumDomainUsers");
6866 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
6868 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
6870 ndr_print_ptr(ndr
, "resume_handle", r
->in
.resume_handle
);
6872 ndr_print_uint32(ndr
, "resume_handle", *r
->in
.resume_handle
);
6874 ndr_print_samr_AcctFlags(ndr
, "acct_flags", r
->in
.acct_flags
);
6875 ndr_print_uint32(ndr
, "max_size", r
->in
.max_size
);
6878 if (flags
& NDR_OUT
) {
6879 ndr_print_struct(ndr
, "out", "samr_EnumDomainUsers");
6881 ndr_print_ptr(ndr
, "resume_handle", r
->out
.resume_handle
);
6883 ndr_print_uint32(ndr
, "resume_handle", *r
->out
.resume_handle
);
6885 ndr_print_ptr(ndr
, "sam", r
->out
.sam
);
6887 ndr_print_ptr(ndr
, "sam", *r
->out
.sam
);
6890 ndr_print_samr_SamArray(ndr
, "sam", *r
->out
.sam
);
6894 ndr_print_ptr(ndr
, "num_entries", r
->out
.num_entries
);
6896 ndr_print_uint32(ndr
, "num_entries", *r
->out
.num_entries
);
6898 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6904 static enum ndr_err_code
ndr_push_samr_CreateDomAlias(struct ndr_push
*ndr
, int flags
, const struct samr_CreateDomAlias
*r
)
6906 if (flags
& NDR_IN
) {
6907 if (r
->in
.domain_handle
== NULL
) {
6908 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6910 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6911 if (r
->in
.alias_name
== NULL
) {
6912 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6914 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.alias_name
));
6915 NDR_CHECK(ndr_push_samr_AliasAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
6917 if (flags
& NDR_OUT
) {
6918 if (r
->out
.alias_handle
== NULL
) {
6919 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6921 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.alias_handle
));
6922 if (r
->out
.rid
== NULL
) {
6923 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6925 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.rid
));
6926 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6928 return NDR_ERR_SUCCESS
;
6931 static enum ndr_err_code
ndr_pull_samr_CreateDomAlias(struct ndr_pull
*ndr
, int flags
, struct samr_CreateDomAlias
*r
)
6933 TALLOC_CTX
*_mem_save_domain_handle_0
;
6934 TALLOC_CTX
*_mem_save_alias_name_0
;
6935 TALLOC_CTX
*_mem_save_alias_handle_0
;
6936 TALLOC_CTX
*_mem_save_rid_0
;
6937 if (flags
& NDR_IN
) {
6938 ZERO_STRUCT(r
->out
);
6940 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6941 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
6943 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6944 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
6945 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
6946 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6947 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6948 NDR_PULL_ALLOC(ndr
, r
->in
.alias_name
);
6950 _mem_save_alias_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6951 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.alias_name
, LIBNDR_FLAG_REF_ALLOC
);
6952 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.alias_name
));
6953 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_alias_name_0
, LIBNDR_FLAG_REF_ALLOC
);
6954 NDR_CHECK(ndr_pull_samr_AliasAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
6955 NDR_PULL_ALLOC(ndr
, r
->out
.alias_handle
);
6956 ZERO_STRUCTP(r
->out
.alias_handle
);
6957 NDR_PULL_ALLOC(ndr
, r
->out
.rid
);
6958 ZERO_STRUCTP(r
->out
.rid
);
6960 if (flags
& NDR_OUT
) {
6961 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6962 NDR_PULL_ALLOC(ndr
, r
->out
.alias_handle
);
6964 _mem_save_alias_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6965 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.alias_handle
, LIBNDR_FLAG_REF_ALLOC
);
6966 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.alias_handle
));
6967 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_alias_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6968 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6969 NDR_PULL_ALLOC(ndr
, r
->out
.rid
);
6971 _mem_save_rid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6972 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.rid
, LIBNDR_FLAG_REF_ALLOC
);
6973 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.rid
));
6974 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rid_0
, LIBNDR_FLAG_REF_ALLOC
);
6975 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6977 return NDR_ERR_SUCCESS
;
6980 _PUBLIC_
void ndr_print_samr_CreateDomAlias(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_CreateDomAlias
*r
)
6982 ndr_print_struct(ndr
, name
, "samr_CreateDomAlias");
6984 if (flags
& NDR_SET_VALUES
) {
6985 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6987 if (flags
& NDR_IN
) {
6988 ndr_print_struct(ndr
, "in", "samr_CreateDomAlias");
6990 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
6992 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
6994 ndr_print_ptr(ndr
, "alias_name", r
->in
.alias_name
);
6996 ndr_print_lsa_String(ndr
, "alias_name", r
->in
.alias_name
);
6998 ndr_print_samr_AliasAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
7001 if (flags
& NDR_OUT
) {
7002 ndr_print_struct(ndr
, "out", "samr_CreateDomAlias");
7004 ndr_print_ptr(ndr
, "alias_handle", r
->out
.alias_handle
);
7006 ndr_print_policy_handle(ndr
, "alias_handle", r
->out
.alias_handle
);
7008 ndr_print_ptr(ndr
, "rid", r
->out
.rid
);
7010 ndr_print_uint32(ndr
, "rid", *r
->out
.rid
);
7012 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7018 static enum ndr_err_code
ndr_push_samr_EnumDomainAliases(struct ndr_push
*ndr
, int flags
, const struct samr_EnumDomainAliases
*r
)
7020 if (flags
& NDR_IN
) {
7021 if (r
->in
.domain_handle
== NULL
) {
7022 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7024 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
7025 if (r
->in
.resume_handle
== NULL
) {
7026 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7028 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->in
.resume_handle
));
7029 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.max_size
));
7031 if (flags
& NDR_OUT
) {
7032 if (r
->out
.resume_handle
== NULL
) {
7033 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7035 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.resume_handle
));
7036 if (r
->out
.sam
== NULL
) {
7037 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7039 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.sam
));
7041 NDR_CHECK(ndr_push_samr_SamArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sam
));
7043 if (r
->out
.num_entries
== NULL
) {
7044 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7046 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.num_entries
));
7047 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7049 return NDR_ERR_SUCCESS
;
7052 static enum ndr_err_code
ndr_pull_samr_EnumDomainAliases(struct ndr_pull
*ndr
, int flags
, struct samr_EnumDomainAliases
*r
)
7055 TALLOC_CTX
*_mem_save_domain_handle_0
;
7056 TALLOC_CTX
*_mem_save_resume_handle_0
;
7057 TALLOC_CTX
*_mem_save_sam_0
;
7058 TALLOC_CTX
*_mem_save_sam_1
;
7059 TALLOC_CTX
*_mem_save_num_entries_0
;
7060 if (flags
& NDR_IN
) {
7061 ZERO_STRUCT(r
->out
);
7063 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7064 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
7066 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7067 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
7068 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
7069 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7070 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7071 NDR_PULL_ALLOC(ndr
, r
->in
.resume_handle
);
7073 _mem_save_resume_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7074 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.resume_handle
, LIBNDR_FLAG_REF_ALLOC
);
7075 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->in
.resume_handle
));
7076 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_resume_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7077 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.max_size
));
7078 NDR_PULL_ALLOC(ndr
, r
->out
.resume_handle
);
7079 *r
->out
.resume_handle
= *r
->in
.resume_handle
;
7080 NDR_PULL_ALLOC(ndr
, r
->out
.sam
);
7081 ZERO_STRUCTP(r
->out
.sam
);
7082 NDR_PULL_ALLOC(ndr
, r
->out
.num_entries
);
7083 ZERO_STRUCTP(r
->out
.num_entries
);
7085 if (flags
& NDR_OUT
) {
7086 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7087 NDR_PULL_ALLOC(ndr
, r
->out
.resume_handle
);
7089 _mem_save_resume_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7090 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.resume_handle
, LIBNDR_FLAG_REF_ALLOC
);
7091 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.resume_handle
));
7092 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_resume_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7093 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7094 NDR_PULL_ALLOC(ndr
, r
->out
.sam
);
7096 _mem_save_sam_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7097 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sam
, LIBNDR_FLAG_REF_ALLOC
);
7098 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sam
));
7100 NDR_PULL_ALLOC(ndr
, *r
->out
.sam
);
7105 _mem_save_sam_1
= NDR_PULL_GET_MEM_CTX(ndr
);
7106 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.sam
, 0);
7107 NDR_CHECK(ndr_pull_samr_SamArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sam
));
7108 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sam_1
, 0);
7110 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sam_0
, LIBNDR_FLAG_REF_ALLOC
);
7111 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7112 NDR_PULL_ALLOC(ndr
, r
->out
.num_entries
);
7114 _mem_save_num_entries_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7115 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.num_entries
, LIBNDR_FLAG_REF_ALLOC
);
7116 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.num_entries
));
7117 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_num_entries_0
, LIBNDR_FLAG_REF_ALLOC
);
7118 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7120 return NDR_ERR_SUCCESS
;
7123 _PUBLIC_
void ndr_print_samr_EnumDomainAliases(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_EnumDomainAliases
*r
)
7125 ndr_print_struct(ndr
, name
, "samr_EnumDomainAliases");
7127 if (flags
& NDR_SET_VALUES
) {
7128 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7130 if (flags
& NDR_IN
) {
7131 ndr_print_struct(ndr
, "in", "samr_EnumDomainAliases");
7133 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
7135 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
7137 ndr_print_ptr(ndr
, "resume_handle", r
->in
.resume_handle
);
7139 ndr_print_uint32(ndr
, "resume_handle", *r
->in
.resume_handle
);
7141 ndr_print_uint32(ndr
, "max_size", r
->in
.max_size
);
7144 if (flags
& NDR_OUT
) {
7145 ndr_print_struct(ndr
, "out", "samr_EnumDomainAliases");
7147 ndr_print_ptr(ndr
, "resume_handle", r
->out
.resume_handle
);
7149 ndr_print_uint32(ndr
, "resume_handle", *r
->out
.resume_handle
);
7151 ndr_print_ptr(ndr
, "sam", r
->out
.sam
);
7153 ndr_print_ptr(ndr
, "sam", *r
->out
.sam
);
7156 ndr_print_samr_SamArray(ndr
, "sam", *r
->out
.sam
);
7160 ndr_print_ptr(ndr
, "num_entries", r
->out
.num_entries
);
7162 ndr_print_uint32(ndr
, "num_entries", *r
->out
.num_entries
);
7164 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7170 static enum ndr_err_code
ndr_push_samr_GetAliasMembership(struct ndr_push
*ndr
, int flags
, const struct samr_GetAliasMembership
*r
)
7172 if (flags
& NDR_IN
) {
7173 if (r
->in
.domain_handle
== NULL
) {
7174 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7176 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
7177 if (r
->in
.sids
== NULL
) {
7178 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7180 NDR_CHECK(ndr_push_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
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 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7189 return NDR_ERR_SUCCESS
;
7192 static enum ndr_err_code
ndr_pull_samr_GetAliasMembership(struct ndr_pull
*ndr
, int flags
, struct samr_GetAliasMembership
*r
)
7194 TALLOC_CTX
*_mem_save_domain_handle_0
;
7195 TALLOC_CTX
*_mem_save_sids_0
;
7196 TALLOC_CTX
*_mem_save_rids_0
;
7197 if (flags
& NDR_IN
) {
7198 ZERO_STRUCT(r
->out
);
7200 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7201 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
7203 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7204 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
7205 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
7206 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7207 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7208 NDR_PULL_ALLOC(ndr
, r
->in
.sids
);
7210 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7211 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sids
, LIBNDR_FLAG_REF_ALLOC
);
7212 NDR_CHECK(ndr_pull_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
7213 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, LIBNDR_FLAG_REF_ALLOC
);
7214 NDR_PULL_ALLOC(ndr
, r
->out
.rids
);
7215 ZERO_STRUCTP(r
->out
.rids
);
7217 if (flags
& NDR_OUT
) {
7218 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7219 NDR_PULL_ALLOC(ndr
, r
->out
.rids
);
7221 _mem_save_rids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7222 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.rids
, LIBNDR_FLAG_REF_ALLOC
);
7223 NDR_CHECK(ndr_pull_samr_Ids(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.rids
));
7224 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rids_0
, LIBNDR_FLAG_REF_ALLOC
);
7225 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7227 return NDR_ERR_SUCCESS
;
7230 _PUBLIC_
void ndr_print_samr_GetAliasMembership(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_GetAliasMembership
*r
)
7232 ndr_print_struct(ndr
, name
, "samr_GetAliasMembership");
7234 if (flags
& NDR_SET_VALUES
) {
7235 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7237 if (flags
& NDR_IN
) {
7238 ndr_print_struct(ndr
, "in", "samr_GetAliasMembership");
7240 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
7242 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
7244 ndr_print_ptr(ndr
, "sids", r
->in
.sids
);
7246 ndr_print_lsa_SidArray(ndr
, "sids", r
->in
.sids
);
7250 if (flags
& NDR_OUT
) {
7251 ndr_print_struct(ndr
, "out", "samr_GetAliasMembership");
7253 ndr_print_ptr(ndr
, "rids", r
->out
.rids
);
7255 ndr_print_samr_Ids(ndr
, "rids", r
->out
.rids
);
7257 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7263 _PUBLIC_
enum ndr_err_code
ndr_push_samr_LookupNames(struct ndr_push
*ndr
, int flags
, const struct samr_LookupNames
*r
)
7265 uint32_t cntr_names_0
;
7266 if (flags
& NDR_IN
) {
7267 if (r
->in
.domain_handle
== NULL
) {
7268 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7270 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
7271 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.num_names
));
7272 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 1000));
7273 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7274 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->in
.num_names
));
7275 for (cntr_names_0
= 0; cntr_names_0
< r
->in
.num_names
; cntr_names_0
++) {
7276 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->in
.names
[cntr_names_0
]));
7278 for (cntr_names_0
= 0; cntr_names_0
< r
->in
.num_names
; cntr_names_0
++) {
7279 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->in
.names
[cntr_names_0
]));
7282 if (flags
& NDR_OUT
) {
7283 if (r
->out
.rids
== NULL
) {
7284 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7286 NDR_CHECK(ndr_push_samr_Ids(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.rids
));
7287 if (r
->out
.types
== NULL
) {
7288 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7290 NDR_CHECK(ndr_push_samr_Ids(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.types
));
7291 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7293 return NDR_ERR_SUCCESS
;
7296 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_LookupNames(struct ndr_pull
*ndr
, int flags
, struct samr_LookupNames
*r
)
7298 uint32_t cntr_names_0
;
7299 TALLOC_CTX
*_mem_save_domain_handle_0
;
7300 TALLOC_CTX
*_mem_save_names_0
;
7301 TALLOC_CTX
*_mem_save_rids_0
;
7302 TALLOC_CTX
*_mem_save_types_0
;
7303 if (flags
& NDR_IN
) {
7304 ZERO_STRUCT(r
->out
);
7306 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7307 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
7309 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7310 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
7311 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
7312 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7313 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.num_names
));
7314 if (r
->in
.num_names
> 1000) {
7315 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
7317 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->in
.names
));
7318 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->in
.names
));
7319 if (ndr_get_array_length(ndr
, &r
->in
.names
) > ndr_get_array_size(ndr
, &r
->in
.names
)) {
7320 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
));
7322 NDR_PULL_ALLOC_N(ndr
, r
->in
.names
, ndr_get_array_size(ndr
, &r
->in
.names
));
7323 _mem_save_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7324 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.names
, 0);
7325 for (cntr_names_0
= 0; cntr_names_0
< ndr_get_array_length(ndr
, &r
->in
.names
); cntr_names_0
++) {
7326 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->in
.names
[cntr_names_0
]));
7328 for (cntr_names_0
= 0; cntr_names_0
< ndr_get_array_length(ndr
, &r
->in
.names
); cntr_names_0
++) {
7329 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->in
.names
[cntr_names_0
]));
7331 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_0
, 0);
7332 NDR_PULL_ALLOC(ndr
, r
->out
.rids
);
7333 ZERO_STRUCTP(r
->out
.rids
);
7334 NDR_PULL_ALLOC(ndr
, r
->out
.types
);
7335 ZERO_STRUCTP(r
->out
.types
);
7337 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->in
.names
, 1000));
7340 NDR_CHECK(ndr_check_array_length(ndr
, (void*)&r
->in
.names
, r
->in
.num_names
));
7343 if (flags
& NDR_OUT
) {
7344 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7345 NDR_PULL_ALLOC(ndr
, r
->out
.rids
);
7347 _mem_save_rids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7348 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.rids
, LIBNDR_FLAG_REF_ALLOC
);
7349 NDR_CHECK(ndr_pull_samr_Ids(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.rids
));
7350 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rids_0
, LIBNDR_FLAG_REF_ALLOC
);
7351 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7352 NDR_PULL_ALLOC(ndr
, r
->out
.types
);
7354 _mem_save_types_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7355 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.types
, LIBNDR_FLAG_REF_ALLOC
);
7356 NDR_CHECK(ndr_pull_samr_Ids(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.types
));
7357 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_types_0
, LIBNDR_FLAG_REF_ALLOC
);
7358 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7360 return NDR_ERR_SUCCESS
;
7363 _PUBLIC_
void ndr_print_samr_LookupNames(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_LookupNames
*r
)
7365 uint32_t cntr_names_0
;
7366 ndr_print_struct(ndr
, name
, "samr_LookupNames");
7368 if (flags
& NDR_SET_VALUES
) {
7369 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7371 if (flags
& NDR_IN
) {
7372 ndr_print_struct(ndr
, "in", "samr_LookupNames");
7374 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
7376 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
7378 ndr_print_uint32(ndr
, "num_names", r
->in
.num_names
);
7379 ndr
->print(ndr
, "%s: ARRAY(%d)", "names", (int)r
->in
.num_names
);
7381 for (cntr_names_0
=0;cntr_names_0
<r
->in
.num_names
;cntr_names_0
++) {
7383 if (asprintf(&idx_0
, "[%d]", cntr_names_0
) != -1) {
7384 ndr_print_lsa_String(ndr
, "names", &r
->in
.names
[cntr_names_0
]);
7391 if (flags
& NDR_OUT
) {
7392 ndr_print_struct(ndr
, "out", "samr_LookupNames");
7394 ndr_print_ptr(ndr
, "rids", r
->out
.rids
);
7396 ndr_print_samr_Ids(ndr
, "rids", r
->out
.rids
);
7398 ndr_print_ptr(ndr
, "types", r
->out
.types
);
7400 ndr_print_samr_Ids(ndr
, "types", r
->out
.types
);
7402 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7408 static enum ndr_err_code
ndr_push_samr_LookupRids(struct ndr_push
*ndr
, int flags
, const struct samr_LookupRids
*r
)
7410 uint32_t cntr_rids_0
;
7411 if (flags
& NDR_IN
) {
7412 if (r
->in
.domain_handle
== NULL
) {
7413 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7415 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
7416 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.num_rids
));
7417 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 1000));
7418 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7419 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->in
.num_rids
));
7420 for (cntr_rids_0
= 0; cntr_rids_0
< r
->in
.num_rids
; cntr_rids_0
++) {
7421 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.rids
[cntr_rids_0
]));
7424 if (flags
& NDR_OUT
) {
7425 if (r
->out
.names
== NULL
) {
7426 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7428 NDR_CHECK(ndr_push_lsa_Strings(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.names
));
7429 if (r
->out
.types
== NULL
) {
7430 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7432 NDR_CHECK(ndr_push_samr_Ids(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.types
));
7433 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7435 return NDR_ERR_SUCCESS
;
7438 static enum ndr_err_code
ndr_pull_samr_LookupRids(struct ndr_pull
*ndr
, int flags
, struct samr_LookupRids
*r
)
7440 uint32_t cntr_rids_0
;
7441 TALLOC_CTX
*_mem_save_domain_handle_0
;
7442 TALLOC_CTX
*_mem_save_rids_0
;
7443 TALLOC_CTX
*_mem_save_names_0
;
7444 TALLOC_CTX
*_mem_save_types_0
;
7445 if (flags
& NDR_IN
) {
7446 ZERO_STRUCT(r
->out
);
7448 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7449 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
7451 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7452 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
7453 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
7454 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7455 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.num_rids
));
7456 if (r
->in
.num_rids
> 1000) {
7457 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
7459 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->in
.rids
));
7460 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->in
.rids
));
7461 if (ndr_get_array_length(ndr
, &r
->in
.rids
) > ndr_get_array_size(ndr
, &r
->in
.rids
)) {
7462 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
));
7464 NDR_PULL_ALLOC_N(ndr
, r
->in
.rids
, ndr_get_array_size(ndr
, &r
->in
.rids
));
7465 _mem_save_rids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7466 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.rids
, 0);
7467 for (cntr_rids_0
= 0; cntr_rids_0
< ndr_get_array_length(ndr
, &r
->in
.rids
); cntr_rids_0
++) {
7468 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.rids
[cntr_rids_0
]));
7470 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rids_0
, 0);
7471 NDR_PULL_ALLOC(ndr
, r
->out
.names
);
7472 ZERO_STRUCTP(r
->out
.names
);
7473 NDR_PULL_ALLOC(ndr
, r
->out
.types
);
7474 ZERO_STRUCTP(r
->out
.types
);
7476 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->in
.rids
, 1000));
7479 NDR_CHECK(ndr_check_array_length(ndr
, (void*)&r
->in
.rids
, r
->in
.num_rids
));
7482 if (flags
& NDR_OUT
) {
7483 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7484 NDR_PULL_ALLOC(ndr
, r
->out
.names
);
7486 _mem_save_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7487 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.names
, LIBNDR_FLAG_REF_ALLOC
);
7488 NDR_CHECK(ndr_pull_lsa_Strings(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.names
));
7489 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_0
, LIBNDR_FLAG_REF_ALLOC
);
7490 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7491 NDR_PULL_ALLOC(ndr
, r
->out
.types
);
7493 _mem_save_types_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7494 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.types
, LIBNDR_FLAG_REF_ALLOC
);
7495 NDR_CHECK(ndr_pull_samr_Ids(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.types
));
7496 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_types_0
, LIBNDR_FLAG_REF_ALLOC
);
7497 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7499 return NDR_ERR_SUCCESS
;
7502 _PUBLIC_
void ndr_print_samr_LookupRids(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_LookupRids
*r
)
7504 uint32_t cntr_rids_0
;
7505 ndr_print_struct(ndr
, name
, "samr_LookupRids");
7507 if (flags
& NDR_SET_VALUES
) {
7508 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7510 if (flags
& NDR_IN
) {
7511 ndr_print_struct(ndr
, "in", "samr_LookupRids");
7513 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
7515 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
7517 ndr_print_uint32(ndr
, "num_rids", r
->in
.num_rids
);
7518 ndr
->print(ndr
, "%s: ARRAY(%d)", "rids", (int)r
->in
.num_rids
);
7520 for (cntr_rids_0
=0;cntr_rids_0
<r
->in
.num_rids
;cntr_rids_0
++) {
7522 if (asprintf(&idx_0
, "[%d]", cntr_rids_0
) != -1) {
7523 ndr_print_uint32(ndr
, "rids", r
->in
.rids
[cntr_rids_0
]);
7530 if (flags
& NDR_OUT
) {
7531 ndr_print_struct(ndr
, "out", "samr_LookupRids");
7533 ndr_print_ptr(ndr
, "names", r
->out
.names
);
7535 ndr_print_lsa_Strings(ndr
, "names", r
->out
.names
);
7537 ndr_print_ptr(ndr
, "types", r
->out
.types
);
7539 ndr_print_samr_Ids(ndr
, "types", r
->out
.types
);
7541 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7547 static enum ndr_err_code
ndr_push_samr_OpenGroup(struct ndr_push
*ndr
, int flags
, const struct samr_OpenGroup
*r
)
7549 if (flags
& NDR_IN
) {
7550 if (r
->in
.domain_handle
== NULL
) {
7551 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7553 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
7554 NDR_CHECK(ndr_push_samr_GroupAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
7555 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.rid
));
7557 if (flags
& NDR_OUT
) {
7558 if (r
->out
.group_handle
== NULL
) {
7559 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7561 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.group_handle
));
7562 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7564 return NDR_ERR_SUCCESS
;
7567 static enum ndr_err_code
ndr_pull_samr_OpenGroup(struct ndr_pull
*ndr
, int flags
, struct samr_OpenGroup
*r
)
7569 TALLOC_CTX
*_mem_save_domain_handle_0
;
7570 TALLOC_CTX
*_mem_save_group_handle_0
;
7571 if (flags
& NDR_IN
) {
7572 ZERO_STRUCT(r
->out
);
7574 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7575 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
7577 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7578 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
7579 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
7580 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7581 NDR_CHECK(ndr_pull_samr_GroupAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
7582 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.rid
));
7583 NDR_PULL_ALLOC(ndr
, r
->out
.group_handle
);
7584 ZERO_STRUCTP(r
->out
.group_handle
);
7586 if (flags
& NDR_OUT
) {
7587 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7588 NDR_PULL_ALLOC(ndr
, r
->out
.group_handle
);
7590 _mem_save_group_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7591 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.group_handle
, LIBNDR_FLAG_REF_ALLOC
);
7592 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.group_handle
));
7593 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_group_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7594 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7596 return NDR_ERR_SUCCESS
;
7599 _PUBLIC_
void ndr_print_samr_OpenGroup(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_OpenGroup
*r
)
7601 ndr_print_struct(ndr
, name
, "samr_OpenGroup");
7603 if (flags
& NDR_SET_VALUES
) {
7604 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7606 if (flags
& NDR_IN
) {
7607 ndr_print_struct(ndr
, "in", "samr_OpenGroup");
7609 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
7611 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
7613 ndr_print_samr_GroupAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
7614 ndr_print_uint32(ndr
, "rid", r
->in
.rid
);
7617 if (flags
& NDR_OUT
) {
7618 ndr_print_struct(ndr
, "out", "samr_OpenGroup");
7620 ndr_print_ptr(ndr
, "group_handle", r
->out
.group_handle
);
7622 ndr_print_policy_handle(ndr
, "group_handle", r
->out
.group_handle
);
7624 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7630 static enum ndr_err_code
ndr_push_samr_QueryGroupInfo(struct ndr_push
*ndr
, int flags
, const struct samr_QueryGroupInfo
*r
)
7632 if (flags
& NDR_IN
) {
7633 if (r
->in
.group_handle
== NULL
) {
7634 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7636 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
7637 NDR_CHECK(ndr_push_samr_GroupInfoEnum(ndr
, NDR_SCALARS
, r
->in
.level
));
7639 if (flags
& NDR_OUT
) {
7640 if (r
->out
.info
== NULL
) {
7641 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7643 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.info
));
7645 NDR_CHECK(ndr_push_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
7646 NDR_CHECK(ndr_push_samr_GroupInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
7648 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7650 return NDR_ERR_SUCCESS
;
7653 static enum ndr_err_code
ndr_pull_samr_QueryGroupInfo(struct ndr_pull
*ndr
, int flags
, struct samr_QueryGroupInfo
*r
)
7656 TALLOC_CTX
*_mem_save_group_handle_0
;
7657 TALLOC_CTX
*_mem_save_info_0
;
7658 TALLOC_CTX
*_mem_save_info_1
;
7659 if (flags
& NDR_IN
) {
7660 ZERO_STRUCT(r
->out
);
7662 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7663 NDR_PULL_ALLOC(ndr
, r
->in
.group_handle
);
7665 _mem_save_group_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7666 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.group_handle
, LIBNDR_FLAG_REF_ALLOC
);
7667 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
7668 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_group_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7669 NDR_CHECK(ndr_pull_samr_GroupInfoEnum(ndr
, NDR_SCALARS
, &r
->in
.level
));
7670 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
7671 ZERO_STRUCTP(r
->out
.info
);
7673 if (flags
& NDR_OUT
) {
7674 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7675 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
7677 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7678 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
7679 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
7681 NDR_PULL_ALLOC(ndr
, *r
->out
.info
);
7683 *r
->out
.info
= NULL
;
7686 _mem_save_info_1
= NDR_PULL_GET_MEM_CTX(ndr
);
7687 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.info
, 0);
7688 NDR_CHECK(ndr_pull_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
7689 NDR_CHECK(ndr_pull_samr_GroupInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
7690 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_1
, 0);
7692 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
7693 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7695 return NDR_ERR_SUCCESS
;
7698 _PUBLIC_
void ndr_print_samr_QueryGroupInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_QueryGroupInfo
*r
)
7700 ndr_print_struct(ndr
, name
, "samr_QueryGroupInfo");
7702 if (flags
& NDR_SET_VALUES
) {
7703 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7705 if (flags
& NDR_IN
) {
7706 ndr_print_struct(ndr
, "in", "samr_QueryGroupInfo");
7708 ndr_print_ptr(ndr
, "group_handle", r
->in
.group_handle
);
7710 ndr_print_policy_handle(ndr
, "group_handle", r
->in
.group_handle
);
7712 ndr_print_samr_GroupInfoEnum(ndr
, "level", r
->in
.level
);
7715 if (flags
& NDR_OUT
) {
7716 ndr_print_struct(ndr
, "out", "samr_QueryGroupInfo");
7718 ndr_print_ptr(ndr
, "info", r
->out
.info
);
7720 ndr_print_ptr(ndr
, "info", *r
->out
.info
);
7723 ndr_print_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
);
7724 ndr_print_samr_GroupInfo(ndr
, "info", *r
->out
.info
);
7728 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7734 static enum ndr_err_code
ndr_push_samr_SetGroupInfo(struct ndr_push
*ndr
, int flags
, const struct samr_SetGroupInfo
*r
)
7736 if (flags
& NDR_IN
) {
7737 if (r
->in
.group_handle
== NULL
) {
7738 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7740 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
7741 NDR_CHECK(ndr_push_samr_GroupInfoEnum(ndr
, NDR_SCALARS
, r
->in
.level
));
7742 if (r
->in
.info
== NULL
) {
7743 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7745 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
7746 NDR_CHECK(ndr_push_samr_GroupInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
7748 if (flags
& NDR_OUT
) {
7749 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7751 return NDR_ERR_SUCCESS
;
7754 static enum ndr_err_code
ndr_pull_samr_SetGroupInfo(struct ndr_pull
*ndr
, int flags
, struct samr_SetGroupInfo
*r
)
7756 TALLOC_CTX
*_mem_save_group_handle_0
;
7757 TALLOC_CTX
*_mem_save_info_0
;
7758 if (flags
& NDR_IN
) {
7759 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7760 NDR_PULL_ALLOC(ndr
, r
->in
.group_handle
);
7762 _mem_save_group_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7763 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.group_handle
, LIBNDR_FLAG_REF_ALLOC
);
7764 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
7765 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_group_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7766 NDR_CHECK(ndr_pull_samr_GroupInfoEnum(ndr
, NDR_SCALARS
, &r
->in
.level
));
7767 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7768 NDR_PULL_ALLOC(ndr
, r
->in
.info
);
7770 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7771 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.info
, LIBNDR_FLAG_REF_ALLOC
);
7772 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
7773 NDR_CHECK(ndr_pull_samr_GroupInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
7774 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
7776 if (flags
& NDR_OUT
) {
7777 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7779 return NDR_ERR_SUCCESS
;
7782 _PUBLIC_
void ndr_print_samr_SetGroupInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_SetGroupInfo
*r
)
7784 ndr_print_struct(ndr
, name
, "samr_SetGroupInfo");
7786 if (flags
& NDR_SET_VALUES
) {
7787 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7789 if (flags
& NDR_IN
) {
7790 ndr_print_struct(ndr
, "in", "samr_SetGroupInfo");
7792 ndr_print_ptr(ndr
, "group_handle", r
->in
.group_handle
);
7794 ndr_print_policy_handle(ndr
, "group_handle", r
->in
.group_handle
);
7796 ndr_print_samr_GroupInfoEnum(ndr
, "level", r
->in
.level
);
7797 ndr_print_ptr(ndr
, "info", r
->in
.info
);
7799 ndr_print_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
);
7800 ndr_print_samr_GroupInfo(ndr
, "info", r
->in
.info
);
7804 if (flags
& NDR_OUT
) {
7805 ndr_print_struct(ndr
, "out", "samr_SetGroupInfo");
7807 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7813 static enum ndr_err_code
ndr_push_samr_AddGroupMember(struct ndr_push
*ndr
, int flags
, const struct samr_AddGroupMember
*r
)
7815 if (flags
& NDR_IN
) {
7816 if (r
->in
.group_handle
== NULL
) {
7817 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7819 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
7820 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.rid
));
7821 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.flags
));
7823 if (flags
& NDR_OUT
) {
7824 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7826 return NDR_ERR_SUCCESS
;
7829 static enum ndr_err_code
ndr_pull_samr_AddGroupMember(struct ndr_pull
*ndr
, int flags
, struct samr_AddGroupMember
*r
)
7831 TALLOC_CTX
*_mem_save_group_handle_0
;
7832 if (flags
& NDR_IN
) {
7833 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7834 NDR_PULL_ALLOC(ndr
, r
->in
.group_handle
);
7836 _mem_save_group_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7837 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.group_handle
, LIBNDR_FLAG_REF_ALLOC
);
7838 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
7839 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_group_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7840 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.rid
));
7841 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.flags
));
7843 if (flags
& NDR_OUT
) {
7844 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7846 return NDR_ERR_SUCCESS
;
7849 _PUBLIC_
void ndr_print_samr_AddGroupMember(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_AddGroupMember
*r
)
7851 ndr_print_struct(ndr
, name
, "samr_AddGroupMember");
7853 if (flags
& NDR_SET_VALUES
) {
7854 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7856 if (flags
& NDR_IN
) {
7857 ndr_print_struct(ndr
, "in", "samr_AddGroupMember");
7859 ndr_print_ptr(ndr
, "group_handle", r
->in
.group_handle
);
7861 ndr_print_policy_handle(ndr
, "group_handle", r
->in
.group_handle
);
7863 ndr_print_uint32(ndr
, "rid", r
->in
.rid
);
7864 ndr_print_uint32(ndr
, "flags", r
->in
.flags
);
7867 if (flags
& NDR_OUT
) {
7868 ndr_print_struct(ndr
, "out", "samr_AddGroupMember");
7870 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7876 static enum ndr_err_code
ndr_push_samr_DeleteDomainGroup(struct ndr_push
*ndr
, int flags
, const struct samr_DeleteDomainGroup
*r
)
7878 if (flags
& NDR_IN
) {
7879 if (r
->in
.group_handle
== NULL
) {
7880 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7882 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
7884 if (flags
& NDR_OUT
) {
7885 if (r
->out
.group_handle
== NULL
) {
7886 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7888 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.group_handle
));
7889 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7891 return NDR_ERR_SUCCESS
;
7894 static enum ndr_err_code
ndr_pull_samr_DeleteDomainGroup(struct ndr_pull
*ndr
, int flags
, struct samr_DeleteDomainGroup
*r
)
7896 TALLOC_CTX
*_mem_save_group_handle_0
;
7897 if (flags
& NDR_IN
) {
7898 ZERO_STRUCT(r
->out
);
7900 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7901 NDR_PULL_ALLOC(ndr
, r
->in
.group_handle
);
7903 _mem_save_group_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7904 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.group_handle
, LIBNDR_FLAG_REF_ALLOC
);
7905 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
7906 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_group_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7907 NDR_PULL_ALLOC(ndr
, r
->out
.group_handle
);
7908 *r
->out
.group_handle
= *r
->in
.group_handle
;
7910 if (flags
& NDR_OUT
) {
7911 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7912 NDR_PULL_ALLOC(ndr
, r
->out
.group_handle
);
7914 _mem_save_group_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7915 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.group_handle
, LIBNDR_FLAG_REF_ALLOC
);
7916 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.group_handle
));
7917 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_group_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7918 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7920 return NDR_ERR_SUCCESS
;
7923 _PUBLIC_
void ndr_print_samr_DeleteDomainGroup(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_DeleteDomainGroup
*r
)
7925 ndr_print_struct(ndr
, name
, "samr_DeleteDomainGroup");
7927 if (flags
& NDR_SET_VALUES
) {
7928 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7930 if (flags
& NDR_IN
) {
7931 ndr_print_struct(ndr
, "in", "samr_DeleteDomainGroup");
7933 ndr_print_ptr(ndr
, "group_handle", r
->in
.group_handle
);
7935 ndr_print_policy_handle(ndr
, "group_handle", r
->in
.group_handle
);
7939 if (flags
& NDR_OUT
) {
7940 ndr_print_struct(ndr
, "out", "samr_DeleteDomainGroup");
7942 ndr_print_ptr(ndr
, "group_handle", r
->out
.group_handle
);
7944 ndr_print_policy_handle(ndr
, "group_handle", r
->out
.group_handle
);
7946 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7952 static enum ndr_err_code
ndr_push_samr_DeleteGroupMember(struct ndr_push
*ndr
, int flags
, const struct samr_DeleteGroupMember
*r
)
7954 if (flags
& NDR_IN
) {
7955 if (r
->in
.group_handle
== NULL
) {
7956 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7958 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
7959 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.rid
));
7961 if (flags
& NDR_OUT
) {
7962 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7964 return NDR_ERR_SUCCESS
;
7967 static enum ndr_err_code
ndr_pull_samr_DeleteGroupMember(struct ndr_pull
*ndr
, int flags
, struct samr_DeleteGroupMember
*r
)
7969 TALLOC_CTX
*_mem_save_group_handle_0
;
7970 if (flags
& NDR_IN
) {
7971 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7972 NDR_PULL_ALLOC(ndr
, r
->in
.group_handle
);
7974 _mem_save_group_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7975 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.group_handle
, LIBNDR_FLAG_REF_ALLOC
);
7976 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
7977 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_group_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7978 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.rid
));
7980 if (flags
& NDR_OUT
) {
7981 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7983 return NDR_ERR_SUCCESS
;
7986 _PUBLIC_
void ndr_print_samr_DeleteGroupMember(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_DeleteGroupMember
*r
)
7988 ndr_print_struct(ndr
, name
, "samr_DeleteGroupMember");
7990 if (flags
& NDR_SET_VALUES
) {
7991 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7993 if (flags
& NDR_IN
) {
7994 ndr_print_struct(ndr
, "in", "samr_DeleteGroupMember");
7996 ndr_print_ptr(ndr
, "group_handle", r
->in
.group_handle
);
7998 ndr_print_policy_handle(ndr
, "group_handle", r
->in
.group_handle
);
8000 ndr_print_uint32(ndr
, "rid", r
->in
.rid
);
8003 if (flags
& NDR_OUT
) {
8004 ndr_print_struct(ndr
, "out", "samr_DeleteGroupMember");
8006 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8012 static enum ndr_err_code
ndr_push_samr_QueryGroupMember(struct ndr_push
*ndr
, int flags
, const struct samr_QueryGroupMember
*r
)
8014 if (flags
& NDR_IN
) {
8015 if (r
->in
.group_handle
== NULL
) {
8016 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8018 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
8020 if (flags
& NDR_OUT
) {
8021 if (r
->out
.rids
== NULL
) {
8022 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8024 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.rids
));
8026 NDR_CHECK(ndr_push_samr_RidTypeArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.rids
));
8028 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8030 return NDR_ERR_SUCCESS
;
8033 static enum ndr_err_code
ndr_pull_samr_QueryGroupMember(struct ndr_pull
*ndr
, int flags
, struct samr_QueryGroupMember
*r
)
8036 TALLOC_CTX
*_mem_save_group_handle_0
;
8037 TALLOC_CTX
*_mem_save_rids_0
;
8038 TALLOC_CTX
*_mem_save_rids_1
;
8039 if (flags
& NDR_IN
) {
8040 ZERO_STRUCT(r
->out
);
8042 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8043 NDR_PULL_ALLOC(ndr
, r
->in
.group_handle
);
8045 _mem_save_group_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8046 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.group_handle
, LIBNDR_FLAG_REF_ALLOC
);
8047 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
8048 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_group_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8049 NDR_PULL_ALLOC(ndr
, r
->out
.rids
);
8050 ZERO_STRUCTP(r
->out
.rids
);
8052 if (flags
& NDR_OUT
) {
8053 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8054 NDR_PULL_ALLOC(ndr
, r
->out
.rids
);
8056 _mem_save_rids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8057 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.rids
, LIBNDR_FLAG_REF_ALLOC
);
8058 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_rids
));
8060 NDR_PULL_ALLOC(ndr
, *r
->out
.rids
);
8062 *r
->out
.rids
= NULL
;
8065 _mem_save_rids_1
= NDR_PULL_GET_MEM_CTX(ndr
);
8066 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.rids
, 0);
8067 NDR_CHECK(ndr_pull_samr_RidTypeArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.rids
));
8068 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rids_1
, 0);
8070 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rids_0
, LIBNDR_FLAG_REF_ALLOC
);
8071 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8073 return NDR_ERR_SUCCESS
;
8076 _PUBLIC_
void ndr_print_samr_QueryGroupMember(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_QueryGroupMember
*r
)
8078 ndr_print_struct(ndr
, name
, "samr_QueryGroupMember");
8080 if (flags
& NDR_SET_VALUES
) {
8081 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8083 if (flags
& NDR_IN
) {
8084 ndr_print_struct(ndr
, "in", "samr_QueryGroupMember");
8086 ndr_print_ptr(ndr
, "group_handle", r
->in
.group_handle
);
8088 ndr_print_policy_handle(ndr
, "group_handle", r
->in
.group_handle
);
8092 if (flags
& NDR_OUT
) {
8093 ndr_print_struct(ndr
, "out", "samr_QueryGroupMember");
8095 ndr_print_ptr(ndr
, "rids", r
->out
.rids
);
8097 ndr_print_ptr(ndr
, "rids", *r
->out
.rids
);
8100 ndr_print_samr_RidTypeArray(ndr
, "rids", *r
->out
.rids
);
8104 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8110 static enum ndr_err_code
ndr_push_samr_SetMemberAttributesOfGroup(struct ndr_push
*ndr
, int flags
, const struct samr_SetMemberAttributesOfGroup
*r
)
8112 if (flags
& NDR_IN
) {
8113 if (r
->in
.group_handle
== NULL
) {
8114 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8116 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
8117 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.unknown1
));
8118 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.unknown2
));
8120 if (flags
& NDR_OUT
) {
8121 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8123 return NDR_ERR_SUCCESS
;
8126 static enum ndr_err_code
ndr_pull_samr_SetMemberAttributesOfGroup(struct ndr_pull
*ndr
, int flags
, struct samr_SetMemberAttributesOfGroup
*r
)
8128 TALLOC_CTX
*_mem_save_group_handle_0
;
8129 if (flags
& NDR_IN
) {
8130 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8131 NDR_PULL_ALLOC(ndr
, r
->in
.group_handle
);
8133 _mem_save_group_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8134 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.group_handle
, LIBNDR_FLAG_REF_ALLOC
);
8135 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.group_handle
));
8136 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_group_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8137 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.unknown1
));
8138 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.unknown2
));
8140 if (flags
& NDR_OUT
) {
8141 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8143 return NDR_ERR_SUCCESS
;
8146 _PUBLIC_
void ndr_print_samr_SetMemberAttributesOfGroup(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_SetMemberAttributesOfGroup
*r
)
8148 ndr_print_struct(ndr
, name
, "samr_SetMemberAttributesOfGroup");
8150 if (flags
& NDR_SET_VALUES
) {
8151 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8153 if (flags
& NDR_IN
) {
8154 ndr_print_struct(ndr
, "in", "samr_SetMemberAttributesOfGroup");
8156 ndr_print_ptr(ndr
, "group_handle", r
->in
.group_handle
);
8158 ndr_print_policy_handle(ndr
, "group_handle", r
->in
.group_handle
);
8160 ndr_print_uint32(ndr
, "unknown1", r
->in
.unknown1
);
8161 ndr_print_uint32(ndr
, "unknown2", r
->in
.unknown2
);
8164 if (flags
& NDR_OUT
) {
8165 ndr_print_struct(ndr
, "out", "samr_SetMemberAttributesOfGroup");
8167 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8173 static enum ndr_err_code
ndr_push_samr_OpenAlias(struct ndr_push
*ndr
, int flags
, const struct samr_OpenAlias
*r
)
8175 if (flags
& NDR_IN
) {
8176 if (r
->in
.domain_handle
== NULL
) {
8177 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8179 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
8180 NDR_CHECK(ndr_push_samr_AliasAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
8181 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.rid
));
8183 if (flags
& NDR_OUT
) {
8184 if (r
->out
.alias_handle
== NULL
) {
8185 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8187 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.alias_handle
));
8188 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8190 return NDR_ERR_SUCCESS
;
8193 static enum ndr_err_code
ndr_pull_samr_OpenAlias(struct ndr_pull
*ndr
, int flags
, struct samr_OpenAlias
*r
)
8195 TALLOC_CTX
*_mem_save_domain_handle_0
;
8196 TALLOC_CTX
*_mem_save_alias_handle_0
;
8197 if (flags
& NDR_IN
) {
8198 ZERO_STRUCT(r
->out
);
8200 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8201 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
8203 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8204 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
8205 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
8206 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8207 NDR_CHECK(ndr_pull_samr_AliasAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
8208 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.rid
));
8209 NDR_PULL_ALLOC(ndr
, r
->out
.alias_handle
);
8210 ZERO_STRUCTP(r
->out
.alias_handle
);
8212 if (flags
& NDR_OUT
) {
8213 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8214 NDR_PULL_ALLOC(ndr
, r
->out
.alias_handle
);
8216 _mem_save_alias_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8217 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.alias_handle
, LIBNDR_FLAG_REF_ALLOC
);
8218 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.alias_handle
));
8219 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_alias_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8220 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8222 return NDR_ERR_SUCCESS
;
8225 _PUBLIC_
void ndr_print_samr_OpenAlias(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_OpenAlias
*r
)
8227 ndr_print_struct(ndr
, name
, "samr_OpenAlias");
8229 if (flags
& NDR_SET_VALUES
) {
8230 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8232 if (flags
& NDR_IN
) {
8233 ndr_print_struct(ndr
, "in", "samr_OpenAlias");
8235 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
8237 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
8239 ndr_print_samr_AliasAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
8240 ndr_print_uint32(ndr
, "rid", r
->in
.rid
);
8243 if (flags
& NDR_OUT
) {
8244 ndr_print_struct(ndr
, "out", "samr_OpenAlias");
8246 ndr_print_ptr(ndr
, "alias_handle", r
->out
.alias_handle
);
8248 ndr_print_policy_handle(ndr
, "alias_handle", r
->out
.alias_handle
);
8250 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8256 static enum ndr_err_code
ndr_push_samr_QueryAliasInfo(struct ndr_push
*ndr
, int flags
, const struct samr_QueryAliasInfo
*r
)
8258 if (flags
& NDR_IN
) {
8259 if (r
->in
.alias_handle
== NULL
) {
8260 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8262 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
8263 NDR_CHECK(ndr_push_samr_AliasInfoEnum(ndr
, NDR_SCALARS
, r
->in
.level
));
8265 if (flags
& NDR_OUT
) {
8266 if (r
->out
.info
== NULL
) {
8267 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8269 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.info
));
8271 NDR_CHECK(ndr_push_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
8272 NDR_CHECK(ndr_push_samr_AliasInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
8274 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8276 return NDR_ERR_SUCCESS
;
8279 static enum ndr_err_code
ndr_pull_samr_QueryAliasInfo(struct ndr_pull
*ndr
, int flags
, struct samr_QueryAliasInfo
*r
)
8282 TALLOC_CTX
*_mem_save_alias_handle_0
;
8283 TALLOC_CTX
*_mem_save_info_0
;
8284 TALLOC_CTX
*_mem_save_info_1
;
8285 if (flags
& NDR_IN
) {
8286 ZERO_STRUCT(r
->out
);
8288 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8289 NDR_PULL_ALLOC(ndr
, r
->in
.alias_handle
);
8291 _mem_save_alias_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8292 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.alias_handle
, LIBNDR_FLAG_REF_ALLOC
);
8293 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
8294 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_alias_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8295 NDR_CHECK(ndr_pull_samr_AliasInfoEnum(ndr
, NDR_SCALARS
, &r
->in
.level
));
8296 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
8297 ZERO_STRUCTP(r
->out
.info
);
8299 if (flags
& NDR_OUT
) {
8300 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8301 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
8303 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8304 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
8305 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
8307 NDR_PULL_ALLOC(ndr
, *r
->out
.info
);
8309 *r
->out
.info
= NULL
;
8312 _mem_save_info_1
= NDR_PULL_GET_MEM_CTX(ndr
);
8313 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.info
, 0);
8314 NDR_CHECK(ndr_pull_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
8315 NDR_CHECK(ndr_pull_samr_AliasInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
8316 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_1
, 0);
8318 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
8319 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8321 return NDR_ERR_SUCCESS
;
8324 _PUBLIC_
void ndr_print_samr_QueryAliasInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_QueryAliasInfo
*r
)
8326 ndr_print_struct(ndr
, name
, "samr_QueryAliasInfo");
8328 if (flags
& NDR_SET_VALUES
) {
8329 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8331 if (flags
& NDR_IN
) {
8332 ndr_print_struct(ndr
, "in", "samr_QueryAliasInfo");
8334 ndr_print_ptr(ndr
, "alias_handle", r
->in
.alias_handle
);
8336 ndr_print_policy_handle(ndr
, "alias_handle", r
->in
.alias_handle
);
8338 ndr_print_samr_AliasInfoEnum(ndr
, "level", r
->in
.level
);
8341 if (flags
& NDR_OUT
) {
8342 ndr_print_struct(ndr
, "out", "samr_QueryAliasInfo");
8344 ndr_print_ptr(ndr
, "info", r
->out
.info
);
8346 ndr_print_ptr(ndr
, "info", *r
->out
.info
);
8349 ndr_print_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
);
8350 ndr_print_samr_AliasInfo(ndr
, "info", *r
->out
.info
);
8354 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8360 static enum ndr_err_code
ndr_push_samr_SetAliasInfo(struct ndr_push
*ndr
, int flags
, const struct samr_SetAliasInfo
*r
)
8362 if (flags
& NDR_IN
) {
8363 if (r
->in
.alias_handle
== NULL
) {
8364 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8366 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
8367 NDR_CHECK(ndr_push_samr_AliasInfoEnum(ndr
, NDR_SCALARS
, r
->in
.level
));
8368 if (r
->in
.info
== NULL
) {
8369 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8371 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
8372 NDR_CHECK(ndr_push_samr_AliasInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
8374 if (flags
& NDR_OUT
) {
8375 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8377 return NDR_ERR_SUCCESS
;
8380 static enum ndr_err_code
ndr_pull_samr_SetAliasInfo(struct ndr_pull
*ndr
, int flags
, struct samr_SetAliasInfo
*r
)
8382 TALLOC_CTX
*_mem_save_alias_handle_0
;
8383 TALLOC_CTX
*_mem_save_info_0
;
8384 if (flags
& NDR_IN
) {
8385 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8386 NDR_PULL_ALLOC(ndr
, r
->in
.alias_handle
);
8388 _mem_save_alias_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8389 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.alias_handle
, LIBNDR_FLAG_REF_ALLOC
);
8390 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
8391 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_alias_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8392 NDR_CHECK(ndr_pull_samr_AliasInfoEnum(ndr
, NDR_SCALARS
, &r
->in
.level
));
8393 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8394 NDR_PULL_ALLOC(ndr
, r
->in
.info
);
8396 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8397 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.info
, LIBNDR_FLAG_REF_ALLOC
);
8398 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
8399 NDR_CHECK(ndr_pull_samr_AliasInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
8400 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
8402 if (flags
& NDR_OUT
) {
8403 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8405 return NDR_ERR_SUCCESS
;
8408 _PUBLIC_
void ndr_print_samr_SetAliasInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_SetAliasInfo
*r
)
8410 ndr_print_struct(ndr
, name
, "samr_SetAliasInfo");
8412 if (flags
& NDR_SET_VALUES
) {
8413 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8415 if (flags
& NDR_IN
) {
8416 ndr_print_struct(ndr
, "in", "samr_SetAliasInfo");
8418 ndr_print_ptr(ndr
, "alias_handle", r
->in
.alias_handle
);
8420 ndr_print_policy_handle(ndr
, "alias_handle", r
->in
.alias_handle
);
8422 ndr_print_samr_AliasInfoEnum(ndr
, "level", r
->in
.level
);
8423 ndr_print_ptr(ndr
, "info", r
->in
.info
);
8425 ndr_print_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
);
8426 ndr_print_samr_AliasInfo(ndr
, "info", r
->in
.info
);
8430 if (flags
& NDR_OUT
) {
8431 ndr_print_struct(ndr
, "out", "samr_SetAliasInfo");
8433 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8439 static enum ndr_err_code
ndr_push_samr_DeleteDomAlias(struct ndr_push
*ndr
, int flags
, const struct samr_DeleteDomAlias
*r
)
8441 if (flags
& NDR_IN
) {
8442 if (r
->in
.alias_handle
== NULL
) {
8443 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8445 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
8447 if (flags
& NDR_OUT
) {
8448 if (r
->out
.alias_handle
== NULL
) {
8449 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8451 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.alias_handle
));
8452 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8454 return NDR_ERR_SUCCESS
;
8457 static enum ndr_err_code
ndr_pull_samr_DeleteDomAlias(struct ndr_pull
*ndr
, int flags
, struct samr_DeleteDomAlias
*r
)
8459 TALLOC_CTX
*_mem_save_alias_handle_0
;
8460 if (flags
& NDR_IN
) {
8461 ZERO_STRUCT(r
->out
);
8463 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8464 NDR_PULL_ALLOC(ndr
, r
->in
.alias_handle
);
8466 _mem_save_alias_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8467 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.alias_handle
, LIBNDR_FLAG_REF_ALLOC
);
8468 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
8469 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_alias_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8470 NDR_PULL_ALLOC(ndr
, r
->out
.alias_handle
);
8471 *r
->out
.alias_handle
= *r
->in
.alias_handle
;
8473 if (flags
& NDR_OUT
) {
8474 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8475 NDR_PULL_ALLOC(ndr
, r
->out
.alias_handle
);
8477 _mem_save_alias_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8478 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.alias_handle
, LIBNDR_FLAG_REF_ALLOC
);
8479 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.alias_handle
));
8480 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_alias_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8481 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8483 return NDR_ERR_SUCCESS
;
8486 _PUBLIC_
void ndr_print_samr_DeleteDomAlias(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_DeleteDomAlias
*r
)
8488 ndr_print_struct(ndr
, name
, "samr_DeleteDomAlias");
8490 if (flags
& NDR_SET_VALUES
) {
8491 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8493 if (flags
& NDR_IN
) {
8494 ndr_print_struct(ndr
, "in", "samr_DeleteDomAlias");
8496 ndr_print_ptr(ndr
, "alias_handle", r
->in
.alias_handle
);
8498 ndr_print_policy_handle(ndr
, "alias_handle", r
->in
.alias_handle
);
8502 if (flags
& NDR_OUT
) {
8503 ndr_print_struct(ndr
, "out", "samr_DeleteDomAlias");
8505 ndr_print_ptr(ndr
, "alias_handle", r
->out
.alias_handle
);
8507 ndr_print_policy_handle(ndr
, "alias_handle", r
->out
.alias_handle
);
8509 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8515 static enum ndr_err_code
ndr_push_samr_AddAliasMember(struct ndr_push
*ndr
, int flags
, const struct samr_AddAliasMember
*r
)
8517 if (flags
& NDR_IN
) {
8518 if (r
->in
.alias_handle
== NULL
) {
8519 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8521 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
8522 if (r
->in
.sid
== NULL
) {
8523 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8525 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
8527 if (flags
& NDR_OUT
) {
8528 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8530 return NDR_ERR_SUCCESS
;
8533 static enum ndr_err_code
ndr_pull_samr_AddAliasMember(struct ndr_pull
*ndr
, int flags
, struct samr_AddAliasMember
*r
)
8535 TALLOC_CTX
*_mem_save_alias_handle_0
;
8536 TALLOC_CTX
*_mem_save_sid_0
;
8537 if (flags
& NDR_IN
) {
8538 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8539 NDR_PULL_ALLOC(ndr
, r
->in
.alias_handle
);
8541 _mem_save_alias_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8542 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.alias_handle
, LIBNDR_FLAG_REF_ALLOC
);
8543 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
8544 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_alias_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8545 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8546 NDR_PULL_ALLOC(ndr
, r
->in
.sid
);
8548 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8549 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sid
, LIBNDR_FLAG_REF_ALLOC
);
8550 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
8551 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, LIBNDR_FLAG_REF_ALLOC
);
8553 if (flags
& NDR_OUT
) {
8554 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8556 return NDR_ERR_SUCCESS
;
8559 _PUBLIC_
void ndr_print_samr_AddAliasMember(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_AddAliasMember
*r
)
8561 ndr_print_struct(ndr
, name
, "samr_AddAliasMember");
8563 if (flags
& NDR_SET_VALUES
) {
8564 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8566 if (flags
& NDR_IN
) {
8567 ndr_print_struct(ndr
, "in", "samr_AddAliasMember");
8569 ndr_print_ptr(ndr
, "alias_handle", r
->in
.alias_handle
);
8571 ndr_print_policy_handle(ndr
, "alias_handle", r
->in
.alias_handle
);
8573 ndr_print_ptr(ndr
, "sid", r
->in
.sid
);
8575 ndr_print_dom_sid2(ndr
, "sid", r
->in
.sid
);
8579 if (flags
& NDR_OUT
) {
8580 ndr_print_struct(ndr
, "out", "samr_AddAliasMember");
8582 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8588 static enum ndr_err_code
ndr_push_samr_DeleteAliasMember(struct ndr_push
*ndr
, int flags
, const struct samr_DeleteAliasMember
*r
)
8590 if (flags
& NDR_IN
) {
8591 if (r
->in
.alias_handle
== NULL
) {
8592 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8594 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
8595 if (r
->in
.sid
== NULL
) {
8596 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8598 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
8600 if (flags
& NDR_OUT
) {
8601 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8603 return NDR_ERR_SUCCESS
;
8606 static enum ndr_err_code
ndr_pull_samr_DeleteAliasMember(struct ndr_pull
*ndr
, int flags
, struct samr_DeleteAliasMember
*r
)
8608 TALLOC_CTX
*_mem_save_alias_handle_0
;
8609 TALLOC_CTX
*_mem_save_sid_0
;
8610 if (flags
& NDR_IN
) {
8611 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8612 NDR_PULL_ALLOC(ndr
, r
->in
.alias_handle
);
8614 _mem_save_alias_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8615 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.alias_handle
, LIBNDR_FLAG_REF_ALLOC
);
8616 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
8617 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_alias_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8618 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8619 NDR_PULL_ALLOC(ndr
, r
->in
.sid
);
8621 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8622 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sid
, LIBNDR_FLAG_REF_ALLOC
);
8623 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
8624 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, LIBNDR_FLAG_REF_ALLOC
);
8626 if (flags
& NDR_OUT
) {
8627 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8629 return NDR_ERR_SUCCESS
;
8632 _PUBLIC_
void ndr_print_samr_DeleteAliasMember(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_DeleteAliasMember
*r
)
8634 ndr_print_struct(ndr
, name
, "samr_DeleteAliasMember");
8636 if (flags
& NDR_SET_VALUES
) {
8637 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8639 if (flags
& NDR_IN
) {
8640 ndr_print_struct(ndr
, "in", "samr_DeleteAliasMember");
8642 ndr_print_ptr(ndr
, "alias_handle", r
->in
.alias_handle
);
8644 ndr_print_policy_handle(ndr
, "alias_handle", r
->in
.alias_handle
);
8646 ndr_print_ptr(ndr
, "sid", r
->in
.sid
);
8648 ndr_print_dom_sid2(ndr
, "sid", r
->in
.sid
);
8652 if (flags
& NDR_OUT
) {
8653 ndr_print_struct(ndr
, "out", "samr_DeleteAliasMember");
8655 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8661 static enum ndr_err_code
ndr_push_samr_GetMembersInAlias(struct ndr_push
*ndr
, int flags
, const struct samr_GetMembersInAlias
*r
)
8663 if (flags
& NDR_IN
) {
8664 if (r
->in
.alias_handle
== NULL
) {
8665 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8667 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
8669 if (flags
& NDR_OUT
) {
8670 if (r
->out
.sids
== NULL
) {
8671 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8673 NDR_CHECK(ndr_push_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.sids
));
8674 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8676 return NDR_ERR_SUCCESS
;
8679 static enum ndr_err_code
ndr_pull_samr_GetMembersInAlias(struct ndr_pull
*ndr
, int flags
, struct samr_GetMembersInAlias
*r
)
8681 TALLOC_CTX
*_mem_save_alias_handle_0
;
8682 TALLOC_CTX
*_mem_save_sids_0
;
8683 if (flags
& NDR_IN
) {
8684 ZERO_STRUCT(r
->out
);
8686 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8687 NDR_PULL_ALLOC(ndr
, r
->in
.alias_handle
);
8689 _mem_save_alias_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8690 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.alias_handle
, LIBNDR_FLAG_REF_ALLOC
);
8691 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
8692 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_alias_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8693 NDR_PULL_ALLOC(ndr
, r
->out
.sids
);
8694 ZERO_STRUCTP(r
->out
.sids
);
8696 if (flags
& NDR_OUT
) {
8697 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8698 NDR_PULL_ALLOC(ndr
, r
->out
.sids
);
8700 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8701 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sids
, LIBNDR_FLAG_REF_ALLOC
);
8702 NDR_CHECK(ndr_pull_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.sids
));
8703 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, LIBNDR_FLAG_REF_ALLOC
);
8704 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8706 return NDR_ERR_SUCCESS
;
8709 _PUBLIC_
void ndr_print_samr_GetMembersInAlias(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_GetMembersInAlias
*r
)
8711 ndr_print_struct(ndr
, name
, "samr_GetMembersInAlias");
8713 if (flags
& NDR_SET_VALUES
) {
8714 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8716 if (flags
& NDR_IN
) {
8717 ndr_print_struct(ndr
, "in", "samr_GetMembersInAlias");
8719 ndr_print_ptr(ndr
, "alias_handle", r
->in
.alias_handle
);
8721 ndr_print_policy_handle(ndr
, "alias_handle", r
->in
.alias_handle
);
8725 if (flags
& NDR_OUT
) {
8726 ndr_print_struct(ndr
, "out", "samr_GetMembersInAlias");
8728 ndr_print_ptr(ndr
, "sids", r
->out
.sids
);
8730 ndr_print_lsa_SidArray(ndr
, "sids", r
->out
.sids
);
8732 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8738 _PUBLIC_
enum ndr_err_code
ndr_push_samr_OpenUser(struct ndr_push
*ndr
, int flags
, const struct samr_OpenUser
*r
)
8740 if (flags
& NDR_IN
) {
8741 if (r
->in
.domain_handle
== NULL
) {
8742 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8744 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
8745 NDR_CHECK(ndr_push_samr_UserAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
8746 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.rid
));
8748 if (flags
& NDR_OUT
) {
8749 if (r
->out
.user_handle
== NULL
) {
8750 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8752 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.user_handle
));
8753 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8755 return NDR_ERR_SUCCESS
;
8758 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_OpenUser(struct ndr_pull
*ndr
, int flags
, struct samr_OpenUser
*r
)
8760 TALLOC_CTX
*_mem_save_domain_handle_0
;
8761 TALLOC_CTX
*_mem_save_user_handle_0
;
8762 if (flags
& NDR_IN
) {
8763 ZERO_STRUCT(r
->out
);
8765 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8766 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
8768 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8769 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
8770 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
8771 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8772 NDR_CHECK(ndr_pull_samr_UserAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
8773 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.rid
));
8774 NDR_PULL_ALLOC(ndr
, r
->out
.user_handle
);
8775 ZERO_STRUCTP(r
->out
.user_handle
);
8777 if (flags
& NDR_OUT
) {
8778 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8779 NDR_PULL_ALLOC(ndr
, r
->out
.user_handle
);
8781 _mem_save_user_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8782 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.user_handle
, LIBNDR_FLAG_REF_ALLOC
);
8783 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.user_handle
));
8784 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_user_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8785 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8787 return NDR_ERR_SUCCESS
;
8790 _PUBLIC_
void ndr_print_samr_OpenUser(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_OpenUser
*r
)
8792 ndr_print_struct(ndr
, name
, "samr_OpenUser");
8794 if (flags
& NDR_SET_VALUES
) {
8795 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8797 if (flags
& NDR_IN
) {
8798 ndr_print_struct(ndr
, "in", "samr_OpenUser");
8800 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
8802 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
8804 ndr_print_samr_UserAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
8805 ndr_print_uint32(ndr
, "rid", r
->in
.rid
);
8808 if (flags
& NDR_OUT
) {
8809 ndr_print_struct(ndr
, "out", "samr_OpenUser");
8811 ndr_print_ptr(ndr
, "user_handle", r
->out
.user_handle
);
8813 ndr_print_policy_handle(ndr
, "user_handle", r
->out
.user_handle
);
8815 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8821 static enum ndr_err_code
ndr_push_samr_DeleteUser(struct ndr_push
*ndr
, int flags
, const struct samr_DeleteUser
*r
)
8823 if (flags
& NDR_IN
) {
8824 if (r
->in
.user_handle
== NULL
) {
8825 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8827 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
8829 if (flags
& NDR_OUT
) {
8830 if (r
->out
.user_handle
== NULL
) {
8831 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8833 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.user_handle
));
8834 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8836 return NDR_ERR_SUCCESS
;
8839 static enum ndr_err_code
ndr_pull_samr_DeleteUser(struct ndr_pull
*ndr
, int flags
, struct samr_DeleteUser
*r
)
8841 TALLOC_CTX
*_mem_save_user_handle_0
;
8842 if (flags
& NDR_IN
) {
8843 ZERO_STRUCT(r
->out
);
8845 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8846 NDR_PULL_ALLOC(ndr
, r
->in
.user_handle
);
8848 _mem_save_user_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8849 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.user_handle
, LIBNDR_FLAG_REF_ALLOC
);
8850 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
8851 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_user_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8852 NDR_PULL_ALLOC(ndr
, r
->out
.user_handle
);
8853 *r
->out
.user_handle
= *r
->in
.user_handle
;
8855 if (flags
& NDR_OUT
) {
8856 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8857 NDR_PULL_ALLOC(ndr
, r
->out
.user_handle
);
8859 _mem_save_user_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8860 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.user_handle
, LIBNDR_FLAG_REF_ALLOC
);
8861 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.user_handle
));
8862 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_user_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8863 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8865 return NDR_ERR_SUCCESS
;
8868 _PUBLIC_
void ndr_print_samr_DeleteUser(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_DeleteUser
*r
)
8870 ndr_print_struct(ndr
, name
, "samr_DeleteUser");
8872 if (flags
& NDR_SET_VALUES
) {
8873 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8875 if (flags
& NDR_IN
) {
8876 ndr_print_struct(ndr
, "in", "samr_DeleteUser");
8878 ndr_print_ptr(ndr
, "user_handle", r
->in
.user_handle
);
8880 ndr_print_policy_handle(ndr
, "user_handle", r
->in
.user_handle
);
8884 if (flags
& NDR_OUT
) {
8885 ndr_print_struct(ndr
, "out", "samr_DeleteUser");
8887 ndr_print_ptr(ndr
, "user_handle", r
->out
.user_handle
);
8889 ndr_print_policy_handle(ndr
, "user_handle", r
->out
.user_handle
);
8891 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8897 _PUBLIC_
enum ndr_err_code
ndr_push_samr_QueryUserInfo(struct ndr_push
*ndr
, int flags
, const struct samr_QueryUserInfo
*r
)
8899 if (flags
& NDR_IN
) {
8900 if (r
->in
.user_handle
== NULL
) {
8901 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8903 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
8904 NDR_CHECK(ndr_push_samr_UserInfoLevel(ndr
, NDR_SCALARS
, r
->in
.level
));
8906 if (flags
& NDR_OUT
) {
8907 if (r
->out
.info
== NULL
) {
8908 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8910 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.info
));
8912 NDR_CHECK(ndr_push_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
8913 NDR_CHECK(ndr_push_samr_UserInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
8915 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8917 return NDR_ERR_SUCCESS
;
8920 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_QueryUserInfo(struct ndr_pull
*ndr
, int flags
, struct samr_QueryUserInfo
*r
)
8923 TALLOC_CTX
*_mem_save_user_handle_0
;
8924 TALLOC_CTX
*_mem_save_info_0
;
8925 TALLOC_CTX
*_mem_save_info_1
;
8926 if (flags
& NDR_IN
) {
8927 ZERO_STRUCT(r
->out
);
8929 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8930 NDR_PULL_ALLOC(ndr
, r
->in
.user_handle
);
8932 _mem_save_user_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8933 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.user_handle
, LIBNDR_FLAG_REF_ALLOC
);
8934 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
8935 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_user_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8936 NDR_CHECK(ndr_pull_samr_UserInfoLevel(ndr
, NDR_SCALARS
, &r
->in
.level
));
8937 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
8938 ZERO_STRUCTP(r
->out
.info
);
8940 if (flags
& NDR_OUT
) {
8941 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8942 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
8944 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8945 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
8946 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
8948 NDR_PULL_ALLOC(ndr
, *r
->out
.info
);
8950 *r
->out
.info
= NULL
;
8953 _mem_save_info_1
= NDR_PULL_GET_MEM_CTX(ndr
);
8954 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.info
, 0);
8955 NDR_CHECK(ndr_pull_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
8956 NDR_CHECK(ndr_pull_samr_UserInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
8957 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_1
, 0);
8959 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
8960 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8962 return NDR_ERR_SUCCESS
;
8965 _PUBLIC_
void ndr_print_samr_QueryUserInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_QueryUserInfo
*r
)
8967 ndr_print_struct(ndr
, name
, "samr_QueryUserInfo");
8969 if (flags
& NDR_SET_VALUES
) {
8970 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8972 if (flags
& NDR_IN
) {
8973 ndr_print_struct(ndr
, "in", "samr_QueryUserInfo");
8975 ndr_print_ptr(ndr
, "user_handle", r
->in
.user_handle
);
8977 ndr_print_policy_handle(ndr
, "user_handle", r
->in
.user_handle
);
8979 ndr_print_samr_UserInfoLevel(ndr
, "level", r
->in
.level
);
8982 if (flags
& NDR_OUT
) {
8983 ndr_print_struct(ndr
, "out", "samr_QueryUserInfo");
8985 ndr_print_ptr(ndr
, "info", r
->out
.info
);
8987 ndr_print_ptr(ndr
, "info", *r
->out
.info
);
8990 ndr_print_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
);
8991 ndr_print_samr_UserInfo(ndr
, "info", *r
->out
.info
);
8995 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9001 _PUBLIC_
enum ndr_err_code
ndr_push_samr_SetUserInfo(struct ndr_push
*ndr
, int flags
, const struct samr_SetUserInfo
*r
)
9003 if (flags
& NDR_IN
) {
9004 if (r
->in
.user_handle
== NULL
) {
9005 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9007 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
9008 NDR_CHECK(ndr_push_samr_UserInfoLevel(ndr
, NDR_SCALARS
, r
->in
.level
));
9009 if (r
->in
.info
== NULL
) {
9010 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9012 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
9013 NDR_CHECK(ndr_push_samr_UserInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
9015 if (flags
& NDR_OUT
) {
9016 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9018 return NDR_ERR_SUCCESS
;
9021 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_SetUserInfo(struct ndr_pull
*ndr
, int flags
, struct samr_SetUserInfo
*r
)
9023 TALLOC_CTX
*_mem_save_user_handle_0
;
9024 TALLOC_CTX
*_mem_save_info_0
;
9025 if (flags
& NDR_IN
) {
9026 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9027 NDR_PULL_ALLOC(ndr
, r
->in
.user_handle
);
9029 _mem_save_user_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9030 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.user_handle
, LIBNDR_FLAG_REF_ALLOC
);
9031 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
9032 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_user_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9033 NDR_CHECK(ndr_pull_samr_UserInfoLevel(ndr
, NDR_SCALARS
, &r
->in
.level
));
9034 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9035 NDR_PULL_ALLOC(ndr
, r
->in
.info
);
9037 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9038 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.info
, LIBNDR_FLAG_REF_ALLOC
);
9039 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
9040 NDR_CHECK(ndr_pull_samr_UserInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
9041 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
9043 if (flags
& NDR_OUT
) {
9044 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9046 return NDR_ERR_SUCCESS
;
9049 _PUBLIC_
void ndr_print_samr_SetUserInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_SetUserInfo
*r
)
9051 ndr_print_struct(ndr
, name
, "samr_SetUserInfo");
9053 if (flags
& NDR_SET_VALUES
) {
9054 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9056 if (flags
& NDR_IN
) {
9057 ndr_print_struct(ndr
, "in", "samr_SetUserInfo");
9059 ndr_print_ptr(ndr
, "user_handle", r
->in
.user_handle
);
9061 ndr_print_policy_handle(ndr
, "user_handle", r
->in
.user_handle
);
9063 ndr_print_samr_UserInfoLevel(ndr
, "level", r
->in
.level
);
9064 ndr_print_ptr(ndr
, "info", r
->in
.info
);
9066 ndr_print_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
);
9067 ndr_print_samr_UserInfo(ndr
, "info", r
->in
.info
);
9071 if (flags
& NDR_OUT
) {
9072 ndr_print_struct(ndr
, "out", "samr_SetUserInfo");
9074 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9080 static enum ndr_err_code
ndr_push_samr_ChangePasswordUser(struct ndr_push
*ndr
, int flags
, const struct samr_ChangePasswordUser
*r
)
9082 if (flags
& NDR_IN
) {
9083 if (r
->in
.user_handle
== NULL
) {
9084 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9086 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
9087 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->in
.lm_present
));
9088 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.old_lm_crypted
));
9089 if (r
->in
.old_lm_crypted
) {
9090 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, r
->in
.old_lm_crypted
));
9092 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.new_lm_crypted
));
9093 if (r
->in
.new_lm_crypted
) {
9094 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, r
->in
.new_lm_crypted
));
9096 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->in
.nt_present
));
9097 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.old_nt_crypted
));
9098 if (r
->in
.old_nt_crypted
) {
9099 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, r
->in
.old_nt_crypted
));
9101 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.new_nt_crypted
));
9102 if (r
->in
.new_nt_crypted
) {
9103 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, r
->in
.new_nt_crypted
));
9105 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->in
.cross1_present
));
9106 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.nt_cross
));
9107 if (r
->in
.nt_cross
) {
9108 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, r
->in
.nt_cross
));
9110 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->in
.cross2_present
));
9111 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.lm_cross
));
9112 if (r
->in
.lm_cross
) {
9113 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, r
->in
.lm_cross
));
9116 if (flags
& NDR_OUT
) {
9117 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9119 return NDR_ERR_SUCCESS
;
9122 static enum ndr_err_code
ndr_pull_samr_ChangePasswordUser(struct ndr_pull
*ndr
, int flags
, struct samr_ChangePasswordUser
*r
)
9124 uint32_t _ptr_old_lm_crypted
;
9125 uint32_t _ptr_new_lm_crypted
;
9126 uint32_t _ptr_old_nt_crypted
;
9127 uint32_t _ptr_new_nt_crypted
;
9128 uint32_t _ptr_nt_cross
;
9129 uint32_t _ptr_lm_cross
;
9130 TALLOC_CTX
*_mem_save_user_handle_0
;
9131 TALLOC_CTX
*_mem_save_old_lm_crypted_0
;
9132 TALLOC_CTX
*_mem_save_new_lm_crypted_0
;
9133 TALLOC_CTX
*_mem_save_old_nt_crypted_0
;
9134 TALLOC_CTX
*_mem_save_new_nt_crypted_0
;
9135 TALLOC_CTX
*_mem_save_nt_cross_0
;
9136 TALLOC_CTX
*_mem_save_lm_cross_0
;
9137 if (flags
& NDR_IN
) {
9138 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9139 NDR_PULL_ALLOC(ndr
, r
->in
.user_handle
);
9141 _mem_save_user_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9142 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.user_handle
, LIBNDR_FLAG_REF_ALLOC
);
9143 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
9144 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_user_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9145 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->in
.lm_present
));
9146 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_old_lm_crypted
));
9147 if (_ptr_old_lm_crypted
) {
9148 NDR_PULL_ALLOC(ndr
, r
->in
.old_lm_crypted
);
9150 r
->in
.old_lm_crypted
= NULL
;
9152 if (r
->in
.old_lm_crypted
) {
9153 _mem_save_old_lm_crypted_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9154 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.old_lm_crypted
, 0);
9155 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, r
->in
.old_lm_crypted
));
9156 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_old_lm_crypted_0
, 0);
9158 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_new_lm_crypted
));
9159 if (_ptr_new_lm_crypted
) {
9160 NDR_PULL_ALLOC(ndr
, r
->in
.new_lm_crypted
);
9162 r
->in
.new_lm_crypted
= NULL
;
9164 if (r
->in
.new_lm_crypted
) {
9165 _mem_save_new_lm_crypted_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9166 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.new_lm_crypted
, 0);
9167 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, r
->in
.new_lm_crypted
));
9168 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_new_lm_crypted_0
, 0);
9170 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->in
.nt_present
));
9171 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_old_nt_crypted
));
9172 if (_ptr_old_nt_crypted
) {
9173 NDR_PULL_ALLOC(ndr
, r
->in
.old_nt_crypted
);
9175 r
->in
.old_nt_crypted
= NULL
;
9177 if (r
->in
.old_nt_crypted
) {
9178 _mem_save_old_nt_crypted_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9179 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.old_nt_crypted
, 0);
9180 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, r
->in
.old_nt_crypted
));
9181 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_old_nt_crypted_0
, 0);
9183 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_new_nt_crypted
));
9184 if (_ptr_new_nt_crypted
) {
9185 NDR_PULL_ALLOC(ndr
, r
->in
.new_nt_crypted
);
9187 r
->in
.new_nt_crypted
= NULL
;
9189 if (r
->in
.new_nt_crypted
) {
9190 _mem_save_new_nt_crypted_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9191 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.new_nt_crypted
, 0);
9192 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, r
->in
.new_nt_crypted
));
9193 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_new_nt_crypted_0
, 0);
9195 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->in
.cross1_present
));
9196 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_nt_cross
));
9197 if (_ptr_nt_cross
) {
9198 NDR_PULL_ALLOC(ndr
, r
->in
.nt_cross
);
9200 r
->in
.nt_cross
= NULL
;
9202 if (r
->in
.nt_cross
) {
9203 _mem_save_nt_cross_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9204 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.nt_cross
, 0);
9205 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, r
->in
.nt_cross
));
9206 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_nt_cross_0
, 0);
9208 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->in
.cross2_present
));
9209 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_lm_cross
));
9210 if (_ptr_lm_cross
) {
9211 NDR_PULL_ALLOC(ndr
, r
->in
.lm_cross
);
9213 r
->in
.lm_cross
= NULL
;
9215 if (r
->in
.lm_cross
) {
9216 _mem_save_lm_cross_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9217 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.lm_cross
, 0);
9218 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, r
->in
.lm_cross
));
9219 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_lm_cross_0
, 0);
9222 if (flags
& NDR_OUT
) {
9223 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9225 return NDR_ERR_SUCCESS
;
9228 _PUBLIC_
void ndr_print_samr_ChangePasswordUser(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_ChangePasswordUser
*r
)
9230 ndr_print_struct(ndr
, name
, "samr_ChangePasswordUser");
9232 if (flags
& NDR_SET_VALUES
) {
9233 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9235 if (flags
& NDR_IN
) {
9236 ndr_print_struct(ndr
, "in", "samr_ChangePasswordUser");
9238 ndr_print_ptr(ndr
, "user_handle", r
->in
.user_handle
);
9240 ndr_print_policy_handle(ndr
, "user_handle", r
->in
.user_handle
);
9242 ndr_print_uint8(ndr
, "lm_present", r
->in
.lm_present
);
9243 ndr_print_ptr(ndr
, "old_lm_crypted", r
->in
.old_lm_crypted
);
9245 if (r
->in
.old_lm_crypted
) {
9246 ndr_print_samr_Password(ndr
, "old_lm_crypted", r
->in
.old_lm_crypted
);
9249 ndr_print_ptr(ndr
, "new_lm_crypted", r
->in
.new_lm_crypted
);
9251 if (r
->in
.new_lm_crypted
) {
9252 ndr_print_samr_Password(ndr
, "new_lm_crypted", r
->in
.new_lm_crypted
);
9255 ndr_print_uint8(ndr
, "nt_present", r
->in
.nt_present
);
9256 ndr_print_ptr(ndr
, "old_nt_crypted", r
->in
.old_nt_crypted
);
9258 if (r
->in
.old_nt_crypted
) {
9259 ndr_print_samr_Password(ndr
, "old_nt_crypted", r
->in
.old_nt_crypted
);
9262 ndr_print_ptr(ndr
, "new_nt_crypted", r
->in
.new_nt_crypted
);
9264 if (r
->in
.new_nt_crypted
) {
9265 ndr_print_samr_Password(ndr
, "new_nt_crypted", r
->in
.new_nt_crypted
);
9268 ndr_print_uint8(ndr
, "cross1_present", r
->in
.cross1_present
);
9269 ndr_print_ptr(ndr
, "nt_cross", r
->in
.nt_cross
);
9271 if (r
->in
.nt_cross
) {
9272 ndr_print_samr_Password(ndr
, "nt_cross", r
->in
.nt_cross
);
9275 ndr_print_uint8(ndr
, "cross2_present", r
->in
.cross2_present
);
9276 ndr_print_ptr(ndr
, "lm_cross", r
->in
.lm_cross
);
9278 if (r
->in
.lm_cross
) {
9279 ndr_print_samr_Password(ndr
, "lm_cross", r
->in
.lm_cross
);
9284 if (flags
& NDR_OUT
) {
9285 ndr_print_struct(ndr
, "out", "samr_ChangePasswordUser");
9287 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9293 static enum ndr_err_code
ndr_push_samr_GetGroupsForUser(struct ndr_push
*ndr
, int flags
, const struct samr_GetGroupsForUser
*r
)
9295 if (flags
& NDR_IN
) {
9296 if (r
->in
.user_handle
== NULL
) {
9297 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9299 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
9301 if (flags
& NDR_OUT
) {
9302 if (r
->out
.rids
== NULL
) {
9303 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9305 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.rids
));
9307 NDR_CHECK(ndr_push_samr_RidWithAttributeArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.rids
));
9309 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9311 return NDR_ERR_SUCCESS
;
9314 static enum ndr_err_code
ndr_pull_samr_GetGroupsForUser(struct ndr_pull
*ndr
, int flags
, struct samr_GetGroupsForUser
*r
)
9317 TALLOC_CTX
*_mem_save_user_handle_0
;
9318 TALLOC_CTX
*_mem_save_rids_0
;
9319 TALLOC_CTX
*_mem_save_rids_1
;
9320 if (flags
& NDR_IN
) {
9321 ZERO_STRUCT(r
->out
);
9323 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9324 NDR_PULL_ALLOC(ndr
, r
->in
.user_handle
);
9326 _mem_save_user_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9327 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.user_handle
, LIBNDR_FLAG_REF_ALLOC
);
9328 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
9329 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_user_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9330 NDR_PULL_ALLOC(ndr
, r
->out
.rids
);
9331 ZERO_STRUCTP(r
->out
.rids
);
9333 if (flags
& NDR_OUT
) {
9334 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9335 NDR_PULL_ALLOC(ndr
, r
->out
.rids
);
9337 _mem_save_rids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9338 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.rids
, LIBNDR_FLAG_REF_ALLOC
);
9339 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_rids
));
9341 NDR_PULL_ALLOC(ndr
, *r
->out
.rids
);
9343 *r
->out
.rids
= NULL
;
9346 _mem_save_rids_1
= NDR_PULL_GET_MEM_CTX(ndr
);
9347 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.rids
, 0);
9348 NDR_CHECK(ndr_pull_samr_RidWithAttributeArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.rids
));
9349 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rids_1
, 0);
9351 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rids_0
, LIBNDR_FLAG_REF_ALLOC
);
9352 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9354 return NDR_ERR_SUCCESS
;
9357 _PUBLIC_
void ndr_print_samr_GetGroupsForUser(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_GetGroupsForUser
*r
)
9359 ndr_print_struct(ndr
, name
, "samr_GetGroupsForUser");
9361 if (flags
& NDR_SET_VALUES
) {
9362 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9364 if (flags
& NDR_IN
) {
9365 ndr_print_struct(ndr
, "in", "samr_GetGroupsForUser");
9367 ndr_print_ptr(ndr
, "user_handle", r
->in
.user_handle
);
9369 ndr_print_policy_handle(ndr
, "user_handle", r
->in
.user_handle
);
9373 if (flags
& NDR_OUT
) {
9374 ndr_print_struct(ndr
, "out", "samr_GetGroupsForUser");
9376 ndr_print_ptr(ndr
, "rids", r
->out
.rids
);
9378 ndr_print_ptr(ndr
, "rids", *r
->out
.rids
);
9381 ndr_print_samr_RidWithAttributeArray(ndr
, "rids", *r
->out
.rids
);
9385 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9391 static enum ndr_err_code
ndr_push_samr_QueryDisplayInfo(struct ndr_push
*ndr
, int flags
, const struct samr_QueryDisplayInfo
*r
)
9393 if (flags
& NDR_IN
) {
9394 if (r
->in
.domain_handle
== NULL
) {
9395 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9397 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
9398 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->in
.level
));
9399 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.start_idx
));
9400 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.max_entries
));
9401 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.buf_size
));
9403 if (flags
& NDR_OUT
) {
9404 if (r
->out
.total_size
== NULL
) {
9405 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9407 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.total_size
));
9408 if (r
->out
.returned_size
== NULL
) {
9409 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9411 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.returned_size
));
9412 if (r
->out
.info
== NULL
) {
9413 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9415 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.info
, r
->in
.level
));
9416 NDR_CHECK(ndr_push_samr_DispInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.info
));
9417 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9419 return NDR_ERR_SUCCESS
;
9422 static enum ndr_err_code
ndr_pull_samr_QueryDisplayInfo(struct ndr_pull
*ndr
, int flags
, struct samr_QueryDisplayInfo
*r
)
9424 TALLOC_CTX
*_mem_save_domain_handle_0
;
9425 TALLOC_CTX
*_mem_save_total_size_0
;
9426 TALLOC_CTX
*_mem_save_returned_size_0
;
9427 TALLOC_CTX
*_mem_save_info_0
;
9428 if (flags
& NDR_IN
) {
9429 ZERO_STRUCT(r
->out
);
9431 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9432 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
9434 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9435 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
9436 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
9437 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9438 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->in
.level
));
9439 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.start_idx
));
9440 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.max_entries
));
9441 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.buf_size
));
9442 NDR_PULL_ALLOC(ndr
, r
->out
.total_size
);
9443 ZERO_STRUCTP(r
->out
.total_size
);
9444 NDR_PULL_ALLOC(ndr
, r
->out
.returned_size
);
9445 ZERO_STRUCTP(r
->out
.returned_size
);
9446 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
9447 ZERO_STRUCTP(r
->out
.info
);
9449 if (flags
& NDR_OUT
) {
9450 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9451 NDR_PULL_ALLOC(ndr
, r
->out
.total_size
);
9453 _mem_save_total_size_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9454 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.total_size
, LIBNDR_FLAG_REF_ALLOC
);
9455 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.total_size
));
9456 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_total_size_0
, LIBNDR_FLAG_REF_ALLOC
);
9457 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9458 NDR_PULL_ALLOC(ndr
, r
->out
.returned_size
);
9460 _mem_save_returned_size_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9461 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.returned_size
, LIBNDR_FLAG_REF_ALLOC
);
9462 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.returned_size
));
9463 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_returned_size_0
, LIBNDR_FLAG_REF_ALLOC
);
9464 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9465 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
9467 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9468 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
9469 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.info
, r
->in
.level
));
9470 NDR_CHECK(ndr_pull_samr_DispInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.info
));
9471 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
9472 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9474 return NDR_ERR_SUCCESS
;
9477 _PUBLIC_
void ndr_print_samr_QueryDisplayInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_QueryDisplayInfo
*r
)
9479 ndr_print_struct(ndr
, name
, "samr_QueryDisplayInfo");
9481 if (flags
& NDR_SET_VALUES
) {
9482 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9484 if (flags
& NDR_IN
) {
9485 ndr_print_struct(ndr
, "in", "samr_QueryDisplayInfo");
9487 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
9489 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
9491 ndr_print_uint16(ndr
, "level", r
->in
.level
);
9492 ndr_print_uint32(ndr
, "start_idx", r
->in
.start_idx
);
9493 ndr_print_uint32(ndr
, "max_entries", r
->in
.max_entries
);
9494 ndr_print_uint32(ndr
, "buf_size", r
->in
.buf_size
);
9497 if (flags
& NDR_OUT
) {
9498 ndr_print_struct(ndr
, "out", "samr_QueryDisplayInfo");
9500 ndr_print_ptr(ndr
, "total_size", r
->out
.total_size
);
9502 ndr_print_uint32(ndr
, "total_size", *r
->out
.total_size
);
9504 ndr_print_ptr(ndr
, "returned_size", r
->out
.returned_size
);
9506 ndr_print_uint32(ndr
, "returned_size", *r
->out
.returned_size
);
9508 ndr_print_ptr(ndr
, "info", r
->out
.info
);
9510 ndr_print_set_switch_value(ndr
, r
->out
.info
, r
->in
.level
);
9511 ndr_print_samr_DispInfo(ndr
, "info", r
->out
.info
);
9513 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9519 static enum ndr_err_code
ndr_push_samr_GetDisplayEnumerationIndex(struct ndr_push
*ndr
, int flags
, const struct samr_GetDisplayEnumerationIndex
*r
)
9521 if (flags
& NDR_IN
) {
9522 if (r
->in
.domain_handle
== NULL
) {
9523 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9525 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
9526 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->in
.level
));
9527 if (r
->in
.name
== NULL
) {
9528 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9530 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.name
));
9532 if (flags
& NDR_OUT
) {
9533 if (r
->out
.idx
== NULL
) {
9534 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9536 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.idx
));
9537 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9539 return NDR_ERR_SUCCESS
;
9542 static enum ndr_err_code
ndr_pull_samr_GetDisplayEnumerationIndex(struct ndr_pull
*ndr
, int flags
, struct samr_GetDisplayEnumerationIndex
*r
)
9544 TALLOC_CTX
*_mem_save_domain_handle_0
;
9545 TALLOC_CTX
*_mem_save_name_0
;
9546 TALLOC_CTX
*_mem_save_idx_0
;
9547 if (flags
& NDR_IN
) {
9548 ZERO_STRUCT(r
->out
);
9550 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9551 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
9553 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9554 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
9555 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
9556 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9557 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->in
.level
));
9558 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9559 NDR_PULL_ALLOC(ndr
, r
->in
.name
);
9561 _mem_save_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9562 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.name
, LIBNDR_FLAG_REF_ALLOC
);
9563 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.name
));
9564 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_name_0
, LIBNDR_FLAG_REF_ALLOC
);
9565 NDR_PULL_ALLOC(ndr
, r
->out
.idx
);
9566 ZERO_STRUCTP(r
->out
.idx
);
9568 if (flags
& NDR_OUT
) {
9569 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9570 NDR_PULL_ALLOC(ndr
, r
->out
.idx
);
9572 _mem_save_idx_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9573 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.idx
, LIBNDR_FLAG_REF_ALLOC
);
9574 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.idx
));
9575 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_idx_0
, LIBNDR_FLAG_REF_ALLOC
);
9576 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9578 return NDR_ERR_SUCCESS
;
9581 _PUBLIC_
void ndr_print_samr_GetDisplayEnumerationIndex(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_GetDisplayEnumerationIndex
*r
)
9583 ndr_print_struct(ndr
, name
, "samr_GetDisplayEnumerationIndex");
9585 if (flags
& NDR_SET_VALUES
) {
9586 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9588 if (flags
& NDR_IN
) {
9589 ndr_print_struct(ndr
, "in", "samr_GetDisplayEnumerationIndex");
9591 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
9593 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
9595 ndr_print_uint16(ndr
, "level", r
->in
.level
);
9596 ndr_print_ptr(ndr
, "name", r
->in
.name
);
9598 ndr_print_lsa_String(ndr
, "name", r
->in
.name
);
9602 if (flags
& NDR_OUT
) {
9603 ndr_print_struct(ndr
, "out", "samr_GetDisplayEnumerationIndex");
9605 ndr_print_ptr(ndr
, "idx", r
->out
.idx
);
9607 ndr_print_uint32(ndr
, "idx", *r
->out
.idx
);
9609 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9615 static enum ndr_err_code
ndr_push_samr_TestPrivateFunctionsDomain(struct ndr_push
*ndr
, int flags
, const struct samr_TestPrivateFunctionsDomain
*r
)
9617 if (flags
& NDR_IN
) {
9618 if (r
->in
.domain_handle
== NULL
) {
9619 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9621 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
9623 if (flags
& NDR_OUT
) {
9624 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9626 return NDR_ERR_SUCCESS
;
9629 static enum ndr_err_code
ndr_pull_samr_TestPrivateFunctionsDomain(struct ndr_pull
*ndr
, int flags
, struct samr_TestPrivateFunctionsDomain
*r
)
9631 TALLOC_CTX
*_mem_save_domain_handle_0
;
9632 if (flags
& NDR_IN
) {
9633 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9634 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
9636 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9637 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
9638 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
9639 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9641 if (flags
& NDR_OUT
) {
9642 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9644 return NDR_ERR_SUCCESS
;
9647 _PUBLIC_
void ndr_print_samr_TestPrivateFunctionsDomain(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_TestPrivateFunctionsDomain
*r
)
9649 ndr_print_struct(ndr
, name
, "samr_TestPrivateFunctionsDomain");
9651 if (flags
& NDR_SET_VALUES
) {
9652 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9654 if (flags
& NDR_IN
) {
9655 ndr_print_struct(ndr
, "in", "samr_TestPrivateFunctionsDomain");
9657 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
9659 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
9663 if (flags
& NDR_OUT
) {
9664 ndr_print_struct(ndr
, "out", "samr_TestPrivateFunctionsDomain");
9666 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9672 static enum ndr_err_code
ndr_push_samr_TestPrivateFunctionsUser(struct ndr_push
*ndr
, int flags
, const struct samr_TestPrivateFunctionsUser
*r
)
9674 if (flags
& NDR_IN
) {
9675 if (r
->in
.user_handle
== NULL
) {
9676 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9678 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
9680 if (flags
& NDR_OUT
) {
9681 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9683 return NDR_ERR_SUCCESS
;
9686 static enum ndr_err_code
ndr_pull_samr_TestPrivateFunctionsUser(struct ndr_pull
*ndr
, int flags
, struct samr_TestPrivateFunctionsUser
*r
)
9688 TALLOC_CTX
*_mem_save_user_handle_0
;
9689 if (flags
& NDR_IN
) {
9690 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9691 NDR_PULL_ALLOC(ndr
, r
->in
.user_handle
);
9693 _mem_save_user_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9694 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.user_handle
, LIBNDR_FLAG_REF_ALLOC
);
9695 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
9696 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_user_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9698 if (flags
& NDR_OUT
) {
9699 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9701 return NDR_ERR_SUCCESS
;
9704 _PUBLIC_
void ndr_print_samr_TestPrivateFunctionsUser(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_TestPrivateFunctionsUser
*r
)
9706 ndr_print_struct(ndr
, name
, "samr_TestPrivateFunctionsUser");
9708 if (flags
& NDR_SET_VALUES
) {
9709 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9711 if (flags
& NDR_IN
) {
9712 ndr_print_struct(ndr
, "in", "samr_TestPrivateFunctionsUser");
9714 ndr_print_ptr(ndr
, "user_handle", r
->in
.user_handle
);
9716 ndr_print_policy_handle(ndr
, "user_handle", r
->in
.user_handle
);
9720 if (flags
& NDR_OUT
) {
9721 ndr_print_struct(ndr
, "out", "samr_TestPrivateFunctionsUser");
9723 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9729 _PUBLIC_
enum ndr_err_code
ndr_push_samr_GetUserPwInfo(struct ndr_push
*ndr
, int flags
, const struct samr_GetUserPwInfo
*r
)
9731 if (flags
& NDR_IN
) {
9732 if (r
->in
.user_handle
== NULL
) {
9733 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9735 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
9737 if (flags
& NDR_OUT
) {
9738 if (r
->out
.info
== NULL
) {
9739 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9741 NDR_CHECK(ndr_push_samr_PwInfo(ndr
, NDR_SCALARS
, r
->out
.info
));
9742 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9744 return NDR_ERR_SUCCESS
;
9747 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_GetUserPwInfo(struct ndr_pull
*ndr
, int flags
, struct samr_GetUserPwInfo
*r
)
9749 TALLOC_CTX
*_mem_save_user_handle_0
;
9750 TALLOC_CTX
*_mem_save_info_0
;
9751 if (flags
& NDR_IN
) {
9752 ZERO_STRUCT(r
->out
);
9754 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9755 NDR_PULL_ALLOC(ndr
, r
->in
.user_handle
);
9757 _mem_save_user_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9758 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.user_handle
, LIBNDR_FLAG_REF_ALLOC
);
9759 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
9760 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_user_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9761 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
9762 ZERO_STRUCTP(r
->out
.info
);
9764 if (flags
& NDR_OUT
) {
9765 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9766 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
9768 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9769 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
9770 NDR_CHECK(ndr_pull_samr_PwInfo(ndr
, NDR_SCALARS
, r
->out
.info
));
9771 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
9772 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9774 return NDR_ERR_SUCCESS
;
9777 _PUBLIC_
void ndr_print_samr_GetUserPwInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_GetUserPwInfo
*r
)
9779 ndr_print_struct(ndr
, name
, "samr_GetUserPwInfo");
9781 if (flags
& NDR_SET_VALUES
) {
9782 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9784 if (flags
& NDR_IN
) {
9785 ndr_print_struct(ndr
, "in", "samr_GetUserPwInfo");
9787 ndr_print_ptr(ndr
, "user_handle", r
->in
.user_handle
);
9789 ndr_print_policy_handle(ndr
, "user_handle", r
->in
.user_handle
);
9793 if (flags
& NDR_OUT
) {
9794 ndr_print_struct(ndr
, "out", "samr_GetUserPwInfo");
9796 ndr_print_ptr(ndr
, "info", r
->out
.info
);
9798 ndr_print_samr_PwInfo(ndr
, "info", r
->out
.info
);
9800 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9806 static enum ndr_err_code
ndr_push_samr_RemoveMemberFromForeignDomain(struct ndr_push
*ndr
, int flags
, const struct samr_RemoveMemberFromForeignDomain
*r
)
9808 if (flags
& NDR_IN
) {
9809 if (r
->in
.domain_handle
== NULL
) {
9810 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9812 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
9813 if (r
->in
.sid
== NULL
) {
9814 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9816 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
9818 if (flags
& NDR_OUT
) {
9819 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9821 return NDR_ERR_SUCCESS
;
9824 static enum ndr_err_code
ndr_pull_samr_RemoveMemberFromForeignDomain(struct ndr_pull
*ndr
, int flags
, struct samr_RemoveMemberFromForeignDomain
*r
)
9826 TALLOC_CTX
*_mem_save_domain_handle_0
;
9827 TALLOC_CTX
*_mem_save_sid_0
;
9828 if (flags
& NDR_IN
) {
9829 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9830 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
9832 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9833 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
9834 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
9835 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9836 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9837 NDR_PULL_ALLOC(ndr
, r
->in
.sid
);
9839 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9840 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sid
, LIBNDR_FLAG_REF_ALLOC
);
9841 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
9842 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, LIBNDR_FLAG_REF_ALLOC
);
9844 if (flags
& NDR_OUT
) {
9845 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9847 return NDR_ERR_SUCCESS
;
9850 _PUBLIC_
void ndr_print_samr_RemoveMemberFromForeignDomain(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_RemoveMemberFromForeignDomain
*r
)
9852 ndr_print_struct(ndr
, name
, "samr_RemoveMemberFromForeignDomain");
9854 if (flags
& NDR_SET_VALUES
) {
9855 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9857 if (flags
& NDR_IN
) {
9858 ndr_print_struct(ndr
, "in", "samr_RemoveMemberFromForeignDomain");
9860 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
9862 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
9864 ndr_print_ptr(ndr
, "sid", r
->in
.sid
);
9866 ndr_print_dom_sid2(ndr
, "sid", r
->in
.sid
);
9870 if (flags
& NDR_OUT
) {
9871 ndr_print_struct(ndr
, "out", "samr_RemoveMemberFromForeignDomain");
9873 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9879 static enum ndr_err_code
ndr_push_samr_QueryDomainInfo2(struct ndr_push
*ndr
, int flags
, const struct samr_QueryDomainInfo2
*r
)
9881 if (flags
& NDR_IN
) {
9882 if (r
->in
.domain_handle
== NULL
) {
9883 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9885 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
9886 NDR_CHECK(ndr_push_samr_DomainInfoClass(ndr
, NDR_SCALARS
, r
->in
.level
));
9888 if (flags
& NDR_OUT
) {
9889 if (r
->out
.info
== NULL
) {
9890 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9892 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.info
));
9894 NDR_CHECK(ndr_push_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
9895 NDR_CHECK(ndr_push_samr_DomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
9897 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9899 return NDR_ERR_SUCCESS
;
9902 static enum ndr_err_code
ndr_pull_samr_QueryDomainInfo2(struct ndr_pull
*ndr
, int flags
, struct samr_QueryDomainInfo2
*r
)
9905 TALLOC_CTX
*_mem_save_domain_handle_0
;
9906 TALLOC_CTX
*_mem_save_info_0
;
9907 TALLOC_CTX
*_mem_save_info_1
;
9908 if (flags
& NDR_IN
) {
9909 ZERO_STRUCT(r
->out
);
9911 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9912 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
9914 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9915 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
9916 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
9917 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9918 NDR_CHECK(ndr_pull_samr_DomainInfoClass(ndr
, NDR_SCALARS
, &r
->in
.level
));
9919 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
9920 ZERO_STRUCTP(r
->out
.info
);
9922 if (flags
& NDR_OUT
) {
9923 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9924 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
9926 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9927 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
9928 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
9930 NDR_PULL_ALLOC(ndr
, *r
->out
.info
);
9932 *r
->out
.info
= NULL
;
9935 _mem_save_info_1
= NDR_PULL_GET_MEM_CTX(ndr
);
9936 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.info
, 0);
9937 NDR_CHECK(ndr_pull_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
9938 NDR_CHECK(ndr_pull_samr_DomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
9939 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_1
, 0);
9941 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
9942 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9944 return NDR_ERR_SUCCESS
;
9947 _PUBLIC_
void ndr_print_samr_QueryDomainInfo2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_QueryDomainInfo2
*r
)
9949 ndr_print_struct(ndr
, name
, "samr_QueryDomainInfo2");
9951 if (flags
& NDR_SET_VALUES
) {
9952 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9954 if (flags
& NDR_IN
) {
9955 ndr_print_struct(ndr
, "in", "samr_QueryDomainInfo2");
9957 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
9959 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
9961 ndr_print_samr_DomainInfoClass(ndr
, "level", r
->in
.level
);
9964 if (flags
& NDR_OUT
) {
9965 ndr_print_struct(ndr
, "out", "samr_QueryDomainInfo2");
9967 ndr_print_ptr(ndr
, "info", r
->out
.info
);
9969 ndr_print_ptr(ndr
, "info", *r
->out
.info
);
9972 ndr_print_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
);
9973 ndr_print_samr_DomainInfo(ndr
, "info", *r
->out
.info
);
9977 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9983 static enum ndr_err_code
ndr_push_samr_QueryUserInfo2(struct ndr_push
*ndr
, int flags
, const struct samr_QueryUserInfo2
*r
)
9985 if (flags
& NDR_IN
) {
9986 if (r
->in
.user_handle
== NULL
) {
9987 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9989 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
9990 NDR_CHECK(ndr_push_samr_UserInfoLevel(ndr
, NDR_SCALARS
, r
->in
.level
));
9992 if (flags
& NDR_OUT
) {
9993 if (r
->out
.info
== NULL
) {
9994 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9996 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.info
));
9998 NDR_CHECK(ndr_push_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
9999 NDR_CHECK(ndr_push_samr_UserInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
10001 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10003 return NDR_ERR_SUCCESS
;
10006 static enum ndr_err_code
ndr_pull_samr_QueryUserInfo2(struct ndr_pull
*ndr
, int flags
, struct samr_QueryUserInfo2
*r
)
10008 uint32_t _ptr_info
;
10009 TALLOC_CTX
*_mem_save_user_handle_0
;
10010 TALLOC_CTX
*_mem_save_info_0
;
10011 TALLOC_CTX
*_mem_save_info_1
;
10012 if (flags
& NDR_IN
) {
10013 ZERO_STRUCT(r
->out
);
10015 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10016 NDR_PULL_ALLOC(ndr
, r
->in
.user_handle
);
10018 _mem_save_user_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10019 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.user_handle
, LIBNDR_FLAG_REF_ALLOC
);
10020 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
10021 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_user_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10022 NDR_CHECK(ndr_pull_samr_UserInfoLevel(ndr
, NDR_SCALARS
, &r
->in
.level
));
10023 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
10024 ZERO_STRUCTP(r
->out
.info
);
10026 if (flags
& NDR_OUT
) {
10027 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10028 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
10030 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10031 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
10032 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
10034 NDR_PULL_ALLOC(ndr
, *r
->out
.info
);
10036 *r
->out
.info
= NULL
;
10038 if (*r
->out
.info
) {
10039 _mem_save_info_1
= NDR_PULL_GET_MEM_CTX(ndr
);
10040 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.info
, 0);
10041 NDR_CHECK(ndr_pull_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
10042 NDR_CHECK(ndr_pull_samr_UserInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
10043 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_1
, 0);
10045 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
10046 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10048 return NDR_ERR_SUCCESS
;
10051 _PUBLIC_
void ndr_print_samr_QueryUserInfo2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_QueryUserInfo2
*r
)
10053 ndr_print_struct(ndr
, name
, "samr_QueryUserInfo2");
10055 if (flags
& NDR_SET_VALUES
) {
10056 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10058 if (flags
& NDR_IN
) {
10059 ndr_print_struct(ndr
, "in", "samr_QueryUserInfo2");
10061 ndr_print_ptr(ndr
, "user_handle", r
->in
.user_handle
);
10063 ndr_print_policy_handle(ndr
, "user_handle", r
->in
.user_handle
);
10065 ndr_print_samr_UserInfoLevel(ndr
, "level", r
->in
.level
);
10068 if (flags
& NDR_OUT
) {
10069 ndr_print_struct(ndr
, "out", "samr_QueryUserInfo2");
10071 ndr_print_ptr(ndr
, "info", r
->out
.info
);
10073 ndr_print_ptr(ndr
, "info", *r
->out
.info
);
10075 if (*r
->out
.info
) {
10076 ndr_print_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
);
10077 ndr_print_samr_UserInfo(ndr
, "info", *r
->out
.info
);
10081 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10087 static enum ndr_err_code
ndr_push_samr_QueryDisplayInfo2(struct ndr_push
*ndr
, int flags
, const struct samr_QueryDisplayInfo2
*r
)
10089 if (flags
& NDR_IN
) {
10090 if (r
->in
.domain_handle
== NULL
) {
10091 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10093 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
10094 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->in
.level
));
10095 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.start_idx
));
10096 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.max_entries
));
10097 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.buf_size
));
10099 if (flags
& NDR_OUT
) {
10100 if (r
->out
.total_size
== NULL
) {
10101 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10103 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.total_size
));
10104 if (r
->out
.returned_size
== NULL
) {
10105 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10107 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.returned_size
));
10108 if (r
->out
.info
== NULL
) {
10109 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10111 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.info
, r
->in
.level
));
10112 NDR_CHECK(ndr_push_samr_DispInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.info
));
10113 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10115 return NDR_ERR_SUCCESS
;
10118 static enum ndr_err_code
ndr_pull_samr_QueryDisplayInfo2(struct ndr_pull
*ndr
, int flags
, struct samr_QueryDisplayInfo2
*r
)
10120 TALLOC_CTX
*_mem_save_domain_handle_0
;
10121 TALLOC_CTX
*_mem_save_total_size_0
;
10122 TALLOC_CTX
*_mem_save_returned_size_0
;
10123 TALLOC_CTX
*_mem_save_info_0
;
10124 if (flags
& NDR_IN
) {
10125 ZERO_STRUCT(r
->out
);
10127 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10128 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
10130 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10131 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
10132 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
10133 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10134 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->in
.level
));
10135 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.start_idx
));
10136 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.max_entries
));
10137 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.buf_size
));
10138 NDR_PULL_ALLOC(ndr
, r
->out
.total_size
);
10139 ZERO_STRUCTP(r
->out
.total_size
);
10140 NDR_PULL_ALLOC(ndr
, r
->out
.returned_size
);
10141 ZERO_STRUCTP(r
->out
.returned_size
);
10142 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
10143 ZERO_STRUCTP(r
->out
.info
);
10145 if (flags
& NDR_OUT
) {
10146 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10147 NDR_PULL_ALLOC(ndr
, r
->out
.total_size
);
10149 _mem_save_total_size_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10150 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.total_size
, LIBNDR_FLAG_REF_ALLOC
);
10151 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.total_size
));
10152 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_total_size_0
, LIBNDR_FLAG_REF_ALLOC
);
10153 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10154 NDR_PULL_ALLOC(ndr
, r
->out
.returned_size
);
10156 _mem_save_returned_size_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10157 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.returned_size
, LIBNDR_FLAG_REF_ALLOC
);
10158 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.returned_size
));
10159 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_returned_size_0
, LIBNDR_FLAG_REF_ALLOC
);
10160 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10161 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
10163 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10164 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
10165 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.info
, r
->in
.level
));
10166 NDR_CHECK(ndr_pull_samr_DispInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.info
));
10167 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
10168 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10170 return NDR_ERR_SUCCESS
;
10173 _PUBLIC_
void ndr_print_samr_QueryDisplayInfo2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_QueryDisplayInfo2
*r
)
10175 ndr_print_struct(ndr
, name
, "samr_QueryDisplayInfo2");
10177 if (flags
& NDR_SET_VALUES
) {
10178 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10180 if (flags
& NDR_IN
) {
10181 ndr_print_struct(ndr
, "in", "samr_QueryDisplayInfo2");
10183 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
10185 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
10187 ndr_print_uint16(ndr
, "level", r
->in
.level
);
10188 ndr_print_uint32(ndr
, "start_idx", r
->in
.start_idx
);
10189 ndr_print_uint32(ndr
, "max_entries", r
->in
.max_entries
);
10190 ndr_print_uint32(ndr
, "buf_size", r
->in
.buf_size
);
10193 if (flags
& NDR_OUT
) {
10194 ndr_print_struct(ndr
, "out", "samr_QueryDisplayInfo2");
10196 ndr_print_ptr(ndr
, "total_size", r
->out
.total_size
);
10198 ndr_print_uint32(ndr
, "total_size", *r
->out
.total_size
);
10200 ndr_print_ptr(ndr
, "returned_size", r
->out
.returned_size
);
10202 ndr_print_uint32(ndr
, "returned_size", *r
->out
.returned_size
);
10204 ndr_print_ptr(ndr
, "info", r
->out
.info
);
10206 ndr_print_set_switch_value(ndr
, r
->out
.info
, r
->in
.level
);
10207 ndr_print_samr_DispInfo(ndr
, "info", r
->out
.info
);
10209 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10215 static enum ndr_err_code
ndr_push_samr_GetDisplayEnumerationIndex2(struct ndr_push
*ndr
, int flags
, const struct samr_GetDisplayEnumerationIndex2
*r
)
10217 if (flags
& NDR_IN
) {
10218 if (r
->in
.domain_handle
== NULL
) {
10219 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10221 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
10222 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->in
.level
));
10223 if (r
->in
.name
== NULL
) {
10224 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10226 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.name
));
10228 if (flags
& NDR_OUT
) {
10229 if (r
->out
.idx
== NULL
) {
10230 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10232 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.idx
));
10233 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10235 return NDR_ERR_SUCCESS
;
10238 static enum ndr_err_code
ndr_pull_samr_GetDisplayEnumerationIndex2(struct ndr_pull
*ndr
, int flags
, struct samr_GetDisplayEnumerationIndex2
*r
)
10240 TALLOC_CTX
*_mem_save_domain_handle_0
;
10241 TALLOC_CTX
*_mem_save_name_0
;
10242 TALLOC_CTX
*_mem_save_idx_0
;
10243 if (flags
& NDR_IN
) {
10244 ZERO_STRUCT(r
->out
);
10246 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10247 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
10249 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10250 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
10251 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
10252 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10253 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->in
.level
));
10254 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10255 NDR_PULL_ALLOC(ndr
, r
->in
.name
);
10257 _mem_save_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10258 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.name
, LIBNDR_FLAG_REF_ALLOC
);
10259 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.name
));
10260 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_name_0
, LIBNDR_FLAG_REF_ALLOC
);
10261 NDR_PULL_ALLOC(ndr
, r
->out
.idx
);
10262 ZERO_STRUCTP(r
->out
.idx
);
10264 if (flags
& NDR_OUT
) {
10265 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10266 NDR_PULL_ALLOC(ndr
, r
->out
.idx
);
10268 _mem_save_idx_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10269 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.idx
, LIBNDR_FLAG_REF_ALLOC
);
10270 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.idx
));
10271 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_idx_0
, LIBNDR_FLAG_REF_ALLOC
);
10272 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10274 return NDR_ERR_SUCCESS
;
10277 _PUBLIC_
void ndr_print_samr_GetDisplayEnumerationIndex2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_GetDisplayEnumerationIndex2
*r
)
10279 ndr_print_struct(ndr
, name
, "samr_GetDisplayEnumerationIndex2");
10281 if (flags
& NDR_SET_VALUES
) {
10282 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10284 if (flags
& NDR_IN
) {
10285 ndr_print_struct(ndr
, "in", "samr_GetDisplayEnumerationIndex2");
10287 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
10289 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
10291 ndr_print_uint16(ndr
, "level", r
->in
.level
);
10292 ndr_print_ptr(ndr
, "name", r
->in
.name
);
10294 ndr_print_lsa_String(ndr
, "name", r
->in
.name
);
10298 if (flags
& NDR_OUT
) {
10299 ndr_print_struct(ndr
, "out", "samr_GetDisplayEnumerationIndex2");
10301 ndr_print_ptr(ndr
, "idx", r
->out
.idx
);
10303 ndr_print_uint32(ndr
, "idx", *r
->out
.idx
);
10305 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10311 static enum ndr_err_code
ndr_push_samr_CreateUser2(struct ndr_push
*ndr
, int flags
, const struct samr_CreateUser2
*r
)
10313 if (flags
& NDR_IN
) {
10314 if (r
->in
.domain_handle
== NULL
) {
10315 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10317 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
10318 if (r
->in
.account_name
== NULL
) {
10319 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10321 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.account_name
));
10322 NDR_CHECK(ndr_push_samr_AcctFlags(ndr
, NDR_SCALARS
, r
->in
.acct_flags
));
10323 NDR_CHECK(ndr_push_samr_UserAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
10325 if (flags
& NDR_OUT
) {
10326 if (r
->out
.user_handle
== NULL
) {
10327 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10329 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.user_handle
));
10330 if (r
->out
.access_granted
== NULL
) {
10331 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10333 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.access_granted
));
10334 if (r
->out
.rid
== NULL
) {
10335 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10337 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.rid
));
10338 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10340 return NDR_ERR_SUCCESS
;
10343 static enum ndr_err_code
ndr_pull_samr_CreateUser2(struct ndr_pull
*ndr
, int flags
, struct samr_CreateUser2
*r
)
10345 TALLOC_CTX
*_mem_save_domain_handle_0
;
10346 TALLOC_CTX
*_mem_save_account_name_0
;
10347 TALLOC_CTX
*_mem_save_user_handle_0
;
10348 TALLOC_CTX
*_mem_save_access_granted_0
;
10349 TALLOC_CTX
*_mem_save_rid_0
;
10350 if (flags
& NDR_IN
) {
10351 ZERO_STRUCT(r
->out
);
10353 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10354 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
10356 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10357 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
10358 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
10359 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10360 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10361 NDR_PULL_ALLOC(ndr
, r
->in
.account_name
);
10363 _mem_save_account_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10364 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.account_name
, LIBNDR_FLAG_REF_ALLOC
);
10365 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.account_name
));
10366 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_account_name_0
, LIBNDR_FLAG_REF_ALLOC
);
10367 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr
, NDR_SCALARS
, &r
->in
.acct_flags
));
10368 NDR_CHECK(ndr_pull_samr_UserAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
10369 NDR_PULL_ALLOC(ndr
, r
->out
.user_handle
);
10370 ZERO_STRUCTP(r
->out
.user_handle
);
10371 NDR_PULL_ALLOC(ndr
, r
->out
.access_granted
);
10372 ZERO_STRUCTP(r
->out
.access_granted
);
10373 NDR_PULL_ALLOC(ndr
, r
->out
.rid
);
10374 ZERO_STRUCTP(r
->out
.rid
);
10376 if (flags
& NDR_OUT
) {
10377 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10378 NDR_PULL_ALLOC(ndr
, r
->out
.user_handle
);
10380 _mem_save_user_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10381 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.user_handle
, LIBNDR_FLAG_REF_ALLOC
);
10382 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.user_handle
));
10383 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_user_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10384 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10385 NDR_PULL_ALLOC(ndr
, r
->out
.access_granted
);
10387 _mem_save_access_granted_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10388 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.access_granted
, LIBNDR_FLAG_REF_ALLOC
);
10389 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.access_granted
));
10390 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_access_granted_0
, LIBNDR_FLAG_REF_ALLOC
);
10391 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10392 NDR_PULL_ALLOC(ndr
, r
->out
.rid
);
10394 _mem_save_rid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10395 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.rid
, LIBNDR_FLAG_REF_ALLOC
);
10396 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.rid
));
10397 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rid_0
, LIBNDR_FLAG_REF_ALLOC
);
10398 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10400 return NDR_ERR_SUCCESS
;
10403 _PUBLIC_
void ndr_print_samr_CreateUser2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_CreateUser2
*r
)
10405 ndr_print_struct(ndr
, name
, "samr_CreateUser2");
10407 if (flags
& NDR_SET_VALUES
) {
10408 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10410 if (flags
& NDR_IN
) {
10411 ndr_print_struct(ndr
, "in", "samr_CreateUser2");
10413 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
10415 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
10417 ndr_print_ptr(ndr
, "account_name", r
->in
.account_name
);
10419 ndr_print_lsa_String(ndr
, "account_name", r
->in
.account_name
);
10421 ndr_print_samr_AcctFlags(ndr
, "acct_flags", r
->in
.acct_flags
);
10422 ndr_print_samr_UserAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
10425 if (flags
& NDR_OUT
) {
10426 ndr_print_struct(ndr
, "out", "samr_CreateUser2");
10428 ndr_print_ptr(ndr
, "user_handle", r
->out
.user_handle
);
10430 ndr_print_policy_handle(ndr
, "user_handle", r
->out
.user_handle
);
10432 ndr_print_ptr(ndr
, "access_granted", r
->out
.access_granted
);
10434 ndr_print_uint32(ndr
, "access_granted", *r
->out
.access_granted
);
10436 ndr_print_ptr(ndr
, "rid", r
->out
.rid
);
10438 ndr_print_uint32(ndr
, "rid", *r
->out
.rid
);
10440 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10446 static enum ndr_err_code
ndr_push_samr_QueryDisplayInfo3(struct ndr_push
*ndr
, int flags
, const struct samr_QueryDisplayInfo3
*r
)
10448 if (flags
& NDR_IN
) {
10449 if (r
->in
.domain_handle
== NULL
) {
10450 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10452 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
10453 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->in
.level
));
10454 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.start_idx
));
10455 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.max_entries
));
10456 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.buf_size
));
10458 if (flags
& NDR_OUT
) {
10459 if (r
->out
.total_size
== NULL
) {
10460 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10462 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.total_size
));
10463 if (r
->out
.returned_size
== NULL
) {
10464 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10466 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.returned_size
));
10467 if (r
->out
.info
== NULL
) {
10468 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10470 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.info
, r
->in
.level
));
10471 NDR_CHECK(ndr_push_samr_DispInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.info
));
10472 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10474 return NDR_ERR_SUCCESS
;
10477 static enum ndr_err_code
ndr_pull_samr_QueryDisplayInfo3(struct ndr_pull
*ndr
, int flags
, struct samr_QueryDisplayInfo3
*r
)
10479 TALLOC_CTX
*_mem_save_domain_handle_0
;
10480 TALLOC_CTX
*_mem_save_total_size_0
;
10481 TALLOC_CTX
*_mem_save_returned_size_0
;
10482 TALLOC_CTX
*_mem_save_info_0
;
10483 if (flags
& NDR_IN
) {
10484 ZERO_STRUCT(r
->out
);
10486 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10487 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
10489 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10490 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
10491 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
10492 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10493 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->in
.level
));
10494 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.start_idx
));
10495 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.max_entries
));
10496 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.buf_size
));
10497 NDR_PULL_ALLOC(ndr
, r
->out
.total_size
);
10498 ZERO_STRUCTP(r
->out
.total_size
);
10499 NDR_PULL_ALLOC(ndr
, r
->out
.returned_size
);
10500 ZERO_STRUCTP(r
->out
.returned_size
);
10501 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
10502 ZERO_STRUCTP(r
->out
.info
);
10504 if (flags
& NDR_OUT
) {
10505 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10506 NDR_PULL_ALLOC(ndr
, r
->out
.total_size
);
10508 _mem_save_total_size_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10509 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.total_size
, LIBNDR_FLAG_REF_ALLOC
);
10510 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.total_size
));
10511 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_total_size_0
, LIBNDR_FLAG_REF_ALLOC
);
10512 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10513 NDR_PULL_ALLOC(ndr
, r
->out
.returned_size
);
10515 _mem_save_returned_size_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10516 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.returned_size
, LIBNDR_FLAG_REF_ALLOC
);
10517 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.returned_size
));
10518 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_returned_size_0
, LIBNDR_FLAG_REF_ALLOC
);
10519 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10520 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
10522 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10523 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
10524 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.info
, r
->in
.level
));
10525 NDR_CHECK(ndr_pull_samr_DispInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.info
));
10526 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
10527 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10529 return NDR_ERR_SUCCESS
;
10532 _PUBLIC_
void ndr_print_samr_QueryDisplayInfo3(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_QueryDisplayInfo3
*r
)
10534 ndr_print_struct(ndr
, name
, "samr_QueryDisplayInfo3");
10536 if (flags
& NDR_SET_VALUES
) {
10537 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10539 if (flags
& NDR_IN
) {
10540 ndr_print_struct(ndr
, "in", "samr_QueryDisplayInfo3");
10542 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
10544 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
10546 ndr_print_uint16(ndr
, "level", r
->in
.level
);
10547 ndr_print_uint32(ndr
, "start_idx", r
->in
.start_idx
);
10548 ndr_print_uint32(ndr
, "max_entries", r
->in
.max_entries
);
10549 ndr_print_uint32(ndr
, "buf_size", r
->in
.buf_size
);
10552 if (flags
& NDR_OUT
) {
10553 ndr_print_struct(ndr
, "out", "samr_QueryDisplayInfo3");
10555 ndr_print_ptr(ndr
, "total_size", r
->out
.total_size
);
10557 ndr_print_uint32(ndr
, "total_size", *r
->out
.total_size
);
10559 ndr_print_ptr(ndr
, "returned_size", r
->out
.returned_size
);
10561 ndr_print_uint32(ndr
, "returned_size", *r
->out
.returned_size
);
10563 ndr_print_ptr(ndr
, "info", r
->out
.info
);
10565 ndr_print_set_switch_value(ndr
, r
->out
.info
, r
->in
.level
);
10566 ndr_print_samr_DispInfo(ndr
, "info", r
->out
.info
);
10568 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10574 static enum ndr_err_code
ndr_push_samr_AddMultipleMembersToAlias(struct ndr_push
*ndr
, int flags
, const struct samr_AddMultipleMembersToAlias
*r
)
10576 if (flags
& NDR_IN
) {
10577 if (r
->in
.alias_handle
== NULL
) {
10578 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10580 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
10581 if (r
->in
.sids
== NULL
) {
10582 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10584 NDR_CHECK(ndr_push_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
10586 if (flags
& NDR_OUT
) {
10587 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10589 return NDR_ERR_SUCCESS
;
10592 static enum ndr_err_code
ndr_pull_samr_AddMultipleMembersToAlias(struct ndr_pull
*ndr
, int flags
, struct samr_AddMultipleMembersToAlias
*r
)
10594 TALLOC_CTX
*_mem_save_alias_handle_0
;
10595 TALLOC_CTX
*_mem_save_sids_0
;
10596 if (flags
& NDR_IN
) {
10597 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10598 NDR_PULL_ALLOC(ndr
, r
->in
.alias_handle
);
10600 _mem_save_alias_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10601 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.alias_handle
, LIBNDR_FLAG_REF_ALLOC
);
10602 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
10603 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_alias_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10604 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10605 NDR_PULL_ALLOC(ndr
, r
->in
.sids
);
10607 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10608 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sids
, LIBNDR_FLAG_REF_ALLOC
);
10609 NDR_CHECK(ndr_pull_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
10610 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, LIBNDR_FLAG_REF_ALLOC
);
10612 if (flags
& NDR_OUT
) {
10613 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10615 return NDR_ERR_SUCCESS
;
10618 _PUBLIC_
void ndr_print_samr_AddMultipleMembersToAlias(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_AddMultipleMembersToAlias
*r
)
10620 ndr_print_struct(ndr
, name
, "samr_AddMultipleMembersToAlias");
10622 if (flags
& NDR_SET_VALUES
) {
10623 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10625 if (flags
& NDR_IN
) {
10626 ndr_print_struct(ndr
, "in", "samr_AddMultipleMembersToAlias");
10628 ndr_print_ptr(ndr
, "alias_handle", r
->in
.alias_handle
);
10630 ndr_print_policy_handle(ndr
, "alias_handle", r
->in
.alias_handle
);
10632 ndr_print_ptr(ndr
, "sids", r
->in
.sids
);
10634 ndr_print_lsa_SidArray(ndr
, "sids", r
->in
.sids
);
10638 if (flags
& NDR_OUT
) {
10639 ndr_print_struct(ndr
, "out", "samr_AddMultipleMembersToAlias");
10641 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10647 static enum ndr_err_code
ndr_push_samr_RemoveMultipleMembersFromAlias(struct ndr_push
*ndr
, int flags
, const struct samr_RemoveMultipleMembersFromAlias
*r
)
10649 if (flags
& NDR_IN
) {
10650 if (r
->in
.alias_handle
== NULL
) {
10651 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10653 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
10654 if (r
->in
.sids
== NULL
) {
10655 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10657 NDR_CHECK(ndr_push_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
10659 if (flags
& NDR_OUT
) {
10660 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10662 return NDR_ERR_SUCCESS
;
10665 static enum ndr_err_code
ndr_pull_samr_RemoveMultipleMembersFromAlias(struct ndr_pull
*ndr
, int flags
, struct samr_RemoveMultipleMembersFromAlias
*r
)
10667 TALLOC_CTX
*_mem_save_alias_handle_0
;
10668 TALLOC_CTX
*_mem_save_sids_0
;
10669 if (flags
& NDR_IN
) {
10670 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10671 NDR_PULL_ALLOC(ndr
, r
->in
.alias_handle
);
10673 _mem_save_alias_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10674 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.alias_handle
, LIBNDR_FLAG_REF_ALLOC
);
10675 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.alias_handle
));
10676 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_alias_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10677 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10678 NDR_PULL_ALLOC(ndr
, r
->in
.sids
);
10680 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10681 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sids
, LIBNDR_FLAG_REF_ALLOC
);
10682 NDR_CHECK(ndr_pull_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
10683 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, LIBNDR_FLAG_REF_ALLOC
);
10685 if (flags
& NDR_OUT
) {
10686 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10688 return NDR_ERR_SUCCESS
;
10691 _PUBLIC_
void ndr_print_samr_RemoveMultipleMembersFromAlias(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_RemoveMultipleMembersFromAlias
*r
)
10693 ndr_print_struct(ndr
, name
, "samr_RemoveMultipleMembersFromAlias");
10695 if (flags
& NDR_SET_VALUES
) {
10696 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10698 if (flags
& NDR_IN
) {
10699 ndr_print_struct(ndr
, "in", "samr_RemoveMultipleMembersFromAlias");
10701 ndr_print_ptr(ndr
, "alias_handle", r
->in
.alias_handle
);
10703 ndr_print_policy_handle(ndr
, "alias_handle", r
->in
.alias_handle
);
10705 ndr_print_ptr(ndr
, "sids", r
->in
.sids
);
10707 ndr_print_lsa_SidArray(ndr
, "sids", r
->in
.sids
);
10711 if (flags
& NDR_OUT
) {
10712 ndr_print_struct(ndr
, "out", "samr_RemoveMultipleMembersFromAlias");
10714 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10720 static enum ndr_err_code
ndr_push_samr_OemChangePasswordUser2(struct ndr_push
*ndr
, int flags
, const struct samr_OemChangePasswordUser2
*r
)
10722 if (flags
& NDR_IN
) {
10723 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.server
));
10724 if (r
->in
.server
) {
10725 NDR_CHECK(ndr_push_lsa_AsciiString(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.server
));
10727 if (r
->in
.account
== NULL
) {
10728 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10730 NDR_CHECK(ndr_push_lsa_AsciiString(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.account
));
10731 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.password
));
10732 if (r
->in
.password
) {
10733 NDR_CHECK(ndr_push_samr_CryptPassword(ndr
, NDR_SCALARS
, r
->in
.password
));
10735 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.hash
));
10737 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, r
->in
.hash
));
10740 if (flags
& NDR_OUT
) {
10741 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10743 return NDR_ERR_SUCCESS
;
10746 static enum ndr_err_code
ndr_pull_samr_OemChangePasswordUser2(struct ndr_pull
*ndr
, int flags
, struct samr_OemChangePasswordUser2
*r
)
10748 uint32_t _ptr_server
;
10749 uint32_t _ptr_password
;
10750 uint32_t _ptr_hash
;
10751 TALLOC_CTX
*_mem_save_server_0
;
10752 TALLOC_CTX
*_mem_save_account_0
;
10753 TALLOC_CTX
*_mem_save_password_0
;
10754 TALLOC_CTX
*_mem_save_hash_0
;
10755 if (flags
& NDR_IN
) {
10756 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_server
));
10758 NDR_PULL_ALLOC(ndr
, r
->in
.server
);
10760 r
->in
.server
= NULL
;
10762 if (r
->in
.server
) {
10763 _mem_save_server_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10764 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.server
, 0);
10765 NDR_CHECK(ndr_pull_lsa_AsciiString(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.server
));
10766 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_server_0
, 0);
10768 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10769 NDR_PULL_ALLOC(ndr
, r
->in
.account
);
10771 _mem_save_account_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10772 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.account
, LIBNDR_FLAG_REF_ALLOC
);
10773 NDR_CHECK(ndr_pull_lsa_AsciiString(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.account
));
10774 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_account_0
, LIBNDR_FLAG_REF_ALLOC
);
10775 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_password
));
10776 if (_ptr_password
) {
10777 NDR_PULL_ALLOC(ndr
, r
->in
.password
);
10779 r
->in
.password
= NULL
;
10781 if (r
->in
.password
) {
10782 _mem_save_password_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10783 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.password
, 0);
10784 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr
, NDR_SCALARS
, r
->in
.password
));
10785 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_password_0
, 0);
10787 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_hash
));
10789 NDR_PULL_ALLOC(ndr
, r
->in
.hash
);
10794 _mem_save_hash_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10795 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.hash
, 0);
10796 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, r
->in
.hash
));
10797 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_hash_0
, 0);
10800 if (flags
& NDR_OUT
) {
10801 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10803 return NDR_ERR_SUCCESS
;
10806 _PUBLIC_
void ndr_print_samr_OemChangePasswordUser2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_OemChangePasswordUser2
*r
)
10808 ndr_print_struct(ndr
, name
, "samr_OemChangePasswordUser2");
10810 if (flags
& NDR_SET_VALUES
) {
10811 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10813 if (flags
& NDR_IN
) {
10814 ndr_print_struct(ndr
, "in", "samr_OemChangePasswordUser2");
10816 ndr_print_ptr(ndr
, "server", r
->in
.server
);
10818 if (r
->in
.server
) {
10819 ndr_print_lsa_AsciiString(ndr
, "server", r
->in
.server
);
10822 ndr_print_ptr(ndr
, "account", r
->in
.account
);
10824 ndr_print_lsa_AsciiString(ndr
, "account", r
->in
.account
);
10826 ndr_print_ptr(ndr
, "password", r
->in
.password
);
10828 if (r
->in
.password
) {
10829 ndr_print_samr_CryptPassword(ndr
, "password", r
->in
.password
);
10832 ndr_print_ptr(ndr
, "hash", r
->in
.hash
);
10835 ndr_print_samr_Password(ndr
, "hash", r
->in
.hash
);
10840 if (flags
& NDR_OUT
) {
10841 ndr_print_struct(ndr
, "out", "samr_OemChangePasswordUser2");
10843 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10849 static enum ndr_err_code
ndr_push_samr_ChangePasswordUser2(struct ndr_push
*ndr
, int flags
, const struct samr_ChangePasswordUser2
*r
)
10851 if (flags
& NDR_IN
) {
10852 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.server
));
10853 if (r
->in
.server
) {
10854 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.server
));
10856 if (r
->in
.account
== NULL
) {
10857 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10859 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.account
));
10860 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.nt_password
));
10861 if (r
->in
.nt_password
) {
10862 NDR_CHECK(ndr_push_samr_CryptPassword(ndr
, NDR_SCALARS
, r
->in
.nt_password
));
10864 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.nt_verifier
));
10865 if (r
->in
.nt_verifier
) {
10866 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, r
->in
.nt_verifier
));
10868 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->in
.lm_change
));
10869 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.lm_password
));
10870 if (r
->in
.lm_password
) {
10871 NDR_CHECK(ndr_push_samr_CryptPassword(ndr
, NDR_SCALARS
, r
->in
.lm_password
));
10873 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.lm_verifier
));
10874 if (r
->in
.lm_verifier
) {
10875 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, r
->in
.lm_verifier
));
10878 if (flags
& NDR_OUT
) {
10879 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10881 return NDR_ERR_SUCCESS
;
10884 static enum ndr_err_code
ndr_pull_samr_ChangePasswordUser2(struct ndr_pull
*ndr
, int flags
, struct samr_ChangePasswordUser2
*r
)
10886 uint32_t _ptr_server
;
10887 uint32_t _ptr_nt_password
;
10888 uint32_t _ptr_nt_verifier
;
10889 uint32_t _ptr_lm_password
;
10890 uint32_t _ptr_lm_verifier
;
10891 TALLOC_CTX
*_mem_save_server_0
;
10892 TALLOC_CTX
*_mem_save_account_0
;
10893 TALLOC_CTX
*_mem_save_nt_password_0
;
10894 TALLOC_CTX
*_mem_save_nt_verifier_0
;
10895 TALLOC_CTX
*_mem_save_lm_password_0
;
10896 TALLOC_CTX
*_mem_save_lm_verifier_0
;
10897 if (flags
& NDR_IN
) {
10898 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_server
));
10900 NDR_PULL_ALLOC(ndr
, r
->in
.server
);
10902 r
->in
.server
= NULL
;
10904 if (r
->in
.server
) {
10905 _mem_save_server_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10906 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.server
, 0);
10907 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.server
));
10908 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_server_0
, 0);
10910 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10911 NDR_PULL_ALLOC(ndr
, r
->in
.account
);
10913 _mem_save_account_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10914 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.account
, LIBNDR_FLAG_REF_ALLOC
);
10915 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.account
));
10916 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_account_0
, LIBNDR_FLAG_REF_ALLOC
);
10917 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_nt_password
));
10918 if (_ptr_nt_password
) {
10919 NDR_PULL_ALLOC(ndr
, r
->in
.nt_password
);
10921 r
->in
.nt_password
= NULL
;
10923 if (r
->in
.nt_password
) {
10924 _mem_save_nt_password_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10925 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.nt_password
, 0);
10926 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr
, NDR_SCALARS
, r
->in
.nt_password
));
10927 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_nt_password_0
, 0);
10929 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_nt_verifier
));
10930 if (_ptr_nt_verifier
) {
10931 NDR_PULL_ALLOC(ndr
, r
->in
.nt_verifier
);
10933 r
->in
.nt_verifier
= NULL
;
10935 if (r
->in
.nt_verifier
) {
10936 _mem_save_nt_verifier_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10937 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.nt_verifier
, 0);
10938 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, r
->in
.nt_verifier
));
10939 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_nt_verifier_0
, 0);
10941 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->in
.lm_change
));
10942 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_lm_password
));
10943 if (_ptr_lm_password
) {
10944 NDR_PULL_ALLOC(ndr
, r
->in
.lm_password
);
10946 r
->in
.lm_password
= NULL
;
10948 if (r
->in
.lm_password
) {
10949 _mem_save_lm_password_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10950 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.lm_password
, 0);
10951 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr
, NDR_SCALARS
, r
->in
.lm_password
));
10952 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_lm_password_0
, 0);
10954 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_lm_verifier
));
10955 if (_ptr_lm_verifier
) {
10956 NDR_PULL_ALLOC(ndr
, r
->in
.lm_verifier
);
10958 r
->in
.lm_verifier
= NULL
;
10960 if (r
->in
.lm_verifier
) {
10961 _mem_save_lm_verifier_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10962 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.lm_verifier
, 0);
10963 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, r
->in
.lm_verifier
));
10964 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_lm_verifier_0
, 0);
10967 if (flags
& NDR_OUT
) {
10968 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10970 return NDR_ERR_SUCCESS
;
10973 _PUBLIC_
void ndr_print_samr_ChangePasswordUser2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_ChangePasswordUser2
*r
)
10975 ndr_print_struct(ndr
, name
, "samr_ChangePasswordUser2");
10977 if (flags
& NDR_SET_VALUES
) {
10978 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10980 if (flags
& NDR_IN
) {
10981 ndr_print_struct(ndr
, "in", "samr_ChangePasswordUser2");
10983 ndr_print_ptr(ndr
, "server", r
->in
.server
);
10985 if (r
->in
.server
) {
10986 ndr_print_lsa_String(ndr
, "server", r
->in
.server
);
10989 ndr_print_ptr(ndr
, "account", r
->in
.account
);
10991 ndr_print_lsa_String(ndr
, "account", r
->in
.account
);
10993 ndr_print_ptr(ndr
, "nt_password", r
->in
.nt_password
);
10995 if (r
->in
.nt_password
) {
10996 ndr_print_samr_CryptPassword(ndr
, "nt_password", r
->in
.nt_password
);
10999 ndr_print_ptr(ndr
, "nt_verifier", r
->in
.nt_verifier
);
11001 if (r
->in
.nt_verifier
) {
11002 ndr_print_samr_Password(ndr
, "nt_verifier", r
->in
.nt_verifier
);
11005 ndr_print_uint8(ndr
, "lm_change", r
->in
.lm_change
);
11006 ndr_print_ptr(ndr
, "lm_password", r
->in
.lm_password
);
11008 if (r
->in
.lm_password
) {
11009 ndr_print_samr_CryptPassword(ndr
, "lm_password", r
->in
.lm_password
);
11012 ndr_print_ptr(ndr
, "lm_verifier", r
->in
.lm_verifier
);
11014 if (r
->in
.lm_verifier
) {
11015 ndr_print_samr_Password(ndr
, "lm_verifier", r
->in
.lm_verifier
);
11020 if (flags
& NDR_OUT
) {
11021 ndr_print_struct(ndr
, "out", "samr_ChangePasswordUser2");
11023 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11029 static enum ndr_err_code
ndr_push_samr_GetDomPwInfo(struct ndr_push
*ndr
, int flags
, const struct samr_GetDomPwInfo
*r
)
11031 if (flags
& NDR_IN
) {
11032 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.domain_name
));
11033 if (r
->in
.domain_name
) {
11034 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.domain_name
));
11037 if (flags
& NDR_OUT
) {
11038 if (r
->out
.info
== NULL
) {
11039 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11041 NDR_CHECK(ndr_push_samr_PwInfo(ndr
, NDR_SCALARS
, r
->out
.info
));
11042 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11044 return NDR_ERR_SUCCESS
;
11047 static enum ndr_err_code
ndr_pull_samr_GetDomPwInfo(struct ndr_pull
*ndr
, int flags
, struct samr_GetDomPwInfo
*r
)
11049 uint32_t _ptr_domain_name
;
11050 TALLOC_CTX
*_mem_save_domain_name_0
;
11051 TALLOC_CTX
*_mem_save_info_0
;
11052 if (flags
& NDR_IN
) {
11053 ZERO_STRUCT(r
->out
);
11055 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_domain_name
));
11056 if (_ptr_domain_name
) {
11057 NDR_PULL_ALLOC(ndr
, r
->in
.domain_name
);
11059 r
->in
.domain_name
= NULL
;
11061 if (r
->in
.domain_name
) {
11062 _mem_save_domain_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11063 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_name
, 0);
11064 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.domain_name
));
11065 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_name_0
, 0);
11067 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
11068 ZERO_STRUCTP(r
->out
.info
);
11070 if (flags
& NDR_OUT
) {
11071 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11072 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
11074 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11075 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
11076 NDR_CHECK(ndr_pull_samr_PwInfo(ndr
, NDR_SCALARS
, r
->out
.info
));
11077 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
11078 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11080 return NDR_ERR_SUCCESS
;
11083 _PUBLIC_
void ndr_print_samr_GetDomPwInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_GetDomPwInfo
*r
)
11085 ndr_print_struct(ndr
, name
, "samr_GetDomPwInfo");
11087 if (flags
& NDR_SET_VALUES
) {
11088 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11090 if (flags
& NDR_IN
) {
11091 ndr_print_struct(ndr
, "in", "samr_GetDomPwInfo");
11093 ndr_print_ptr(ndr
, "domain_name", r
->in
.domain_name
);
11095 if (r
->in
.domain_name
) {
11096 ndr_print_lsa_String(ndr
, "domain_name", r
->in
.domain_name
);
11101 if (flags
& NDR_OUT
) {
11102 ndr_print_struct(ndr
, "out", "samr_GetDomPwInfo");
11104 ndr_print_ptr(ndr
, "info", r
->out
.info
);
11106 ndr_print_samr_PwInfo(ndr
, "info", r
->out
.info
);
11108 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11114 static enum ndr_err_code
ndr_push_samr_Connect2(struct ndr_push
*ndr
, int flags
, const struct samr_Connect2
*r
)
11116 if (flags
& NDR_IN
) {
11117 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.system_name
));
11118 if (r
->in
.system_name
) {
11119 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->in
.system_name
, CH_UTF16
)));
11120 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
11121 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->in
.system_name
, CH_UTF16
)));
11122 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
));
11124 NDR_CHECK(ndr_push_samr_ConnectAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
11126 if (flags
& NDR_OUT
) {
11127 if (r
->out
.connect_handle
== NULL
) {
11128 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11130 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.connect_handle
));
11131 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11133 return NDR_ERR_SUCCESS
;
11136 static enum ndr_err_code
ndr_pull_samr_Connect2(struct ndr_pull
*ndr
, int flags
, struct samr_Connect2
*r
)
11138 uint32_t _ptr_system_name
;
11139 TALLOC_CTX
*_mem_save_system_name_0
;
11140 TALLOC_CTX
*_mem_save_connect_handle_0
;
11141 if (flags
& NDR_IN
) {
11142 ZERO_STRUCT(r
->out
);
11144 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_system_name
));
11145 if (_ptr_system_name
) {
11146 NDR_PULL_ALLOC(ndr
, r
->in
.system_name
);
11148 r
->in
.system_name
= NULL
;
11150 if (r
->in
.system_name
) {
11151 _mem_save_system_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11152 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.system_name
, 0);
11153 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->in
.system_name
));
11154 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->in
.system_name
));
11155 if (ndr_get_array_length(ndr
, &r
->in
.system_name
) > ndr_get_array_size(ndr
, &r
->in
.system_name
)) {
11156 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
));
11158 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->in
.system_name
), sizeof(uint16_t)));
11159 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
));
11160 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_system_name_0
, 0);
11162 NDR_CHECK(ndr_pull_samr_ConnectAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
11163 NDR_PULL_ALLOC(ndr
, r
->out
.connect_handle
);
11164 ZERO_STRUCTP(r
->out
.connect_handle
);
11166 if (flags
& NDR_OUT
) {
11167 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11168 NDR_PULL_ALLOC(ndr
, r
->out
.connect_handle
);
11170 _mem_save_connect_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11171 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.connect_handle
, LIBNDR_FLAG_REF_ALLOC
);
11172 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.connect_handle
));
11173 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_connect_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
11174 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11176 return NDR_ERR_SUCCESS
;
11179 _PUBLIC_
void ndr_print_samr_Connect2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_Connect2
*r
)
11181 ndr_print_struct(ndr
, name
, "samr_Connect2");
11183 if (flags
& NDR_SET_VALUES
) {
11184 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11186 if (flags
& NDR_IN
) {
11187 ndr_print_struct(ndr
, "in", "samr_Connect2");
11189 ndr_print_ptr(ndr
, "system_name", r
->in
.system_name
);
11191 if (r
->in
.system_name
) {
11192 ndr_print_string(ndr
, "system_name", r
->in
.system_name
);
11195 ndr_print_samr_ConnectAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
11198 if (flags
& NDR_OUT
) {
11199 ndr_print_struct(ndr
, "out", "samr_Connect2");
11201 ndr_print_ptr(ndr
, "connect_handle", r
->out
.connect_handle
);
11203 ndr_print_policy_handle(ndr
, "connect_handle", r
->out
.connect_handle
);
11205 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11211 _PUBLIC_
enum ndr_err_code
ndr_push_samr_SetUserInfo2(struct ndr_push
*ndr
, int flags
, const struct samr_SetUserInfo2
*r
)
11213 if (flags
& NDR_IN
) {
11214 if (r
->in
.user_handle
== NULL
) {
11215 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11217 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
11218 NDR_CHECK(ndr_push_samr_UserInfoLevel(ndr
, NDR_SCALARS
, r
->in
.level
));
11219 if (r
->in
.info
== NULL
) {
11220 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11222 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
11223 NDR_CHECK(ndr_push_samr_UserInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
11225 if (flags
& NDR_OUT
) {
11226 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11228 return NDR_ERR_SUCCESS
;
11231 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_SetUserInfo2(struct ndr_pull
*ndr
, int flags
, struct samr_SetUserInfo2
*r
)
11233 TALLOC_CTX
*_mem_save_user_handle_0
;
11234 TALLOC_CTX
*_mem_save_info_0
;
11235 if (flags
& NDR_IN
) {
11236 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11237 NDR_PULL_ALLOC(ndr
, r
->in
.user_handle
);
11239 _mem_save_user_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11240 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.user_handle
, LIBNDR_FLAG_REF_ALLOC
);
11241 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.user_handle
));
11242 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_user_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
11243 NDR_CHECK(ndr_pull_samr_UserInfoLevel(ndr
, NDR_SCALARS
, &r
->in
.level
));
11244 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11245 NDR_PULL_ALLOC(ndr
, r
->in
.info
);
11247 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11248 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.info
, LIBNDR_FLAG_REF_ALLOC
);
11249 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
11250 NDR_CHECK(ndr_pull_samr_UserInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
11251 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
11253 if (flags
& NDR_OUT
) {
11254 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11256 return NDR_ERR_SUCCESS
;
11259 _PUBLIC_
void ndr_print_samr_SetUserInfo2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_SetUserInfo2
*r
)
11261 ndr_print_struct(ndr
, name
, "samr_SetUserInfo2");
11263 if (flags
& NDR_SET_VALUES
) {
11264 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11266 if (flags
& NDR_IN
) {
11267 ndr_print_struct(ndr
, "in", "samr_SetUserInfo2");
11269 ndr_print_ptr(ndr
, "user_handle", r
->in
.user_handle
);
11271 ndr_print_policy_handle(ndr
, "user_handle", r
->in
.user_handle
);
11273 ndr_print_samr_UserInfoLevel(ndr
, "level", r
->in
.level
);
11274 ndr_print_ptr(ndr
, "info", r
->in
.info
);
11276 ndr_print_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
);
11277 ndr_print_samr_UserInfo(ndr
, "info", r
->in
.info
);
11281 if (flags
& NDR_OUT
) {
11282 ndr_print_struct(ndr
, "out", "samr_SetUserInfo2");
11284 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11290 static enum ndr_err_code
ndr_push_samr_SetBootKeyInformation(struct ndr_push
*ndr
, int flags
, const struct samr_SetBootKeyInformation
*r
)
11292 if (flags
& NDR_IN
) {
11293 if (r
->in
.connect_handle
== NULL
) {
11294 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11296 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.connect_handle
));
11297 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.unknown1
));
11298 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.unknown2
));
11299 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.unknown3
));
11301 if (flags
& NDR_OUT
) {
11302 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11304 return NDR_ERR_SUCCESS
;
11307 static enum ndr_err_code
ndr_pull_samr_SetBootKeyInformation(struct ndr_pull
*ndr
, int flags
, struct samr_SetBootKeyInformation
*r
)
11309 TALLOC_CTX
*_mem_save_connect_handle_0
;
11310 if (flags
& NDR_IN
) {
11311 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11312 NDR_PULL_ALLOC(ndr
, r
->in
.connect_handle
);
11314 _mem_save_connect_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11315 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.connect_handle
, LIBNDR_FLAG_REF_ALLOC
);
11316 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.connect_handle
));
11317 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_connect_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
11318 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.unknown1
));
11319 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.unknown2
));
11320 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.unknown3
));
11322 if (flags
& NDR_OUT
) {
11323 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11325 return NDR_ERR_SUCCESS
;
11328 _PUBLIC_
void ndr_print_samr_SetBootKeyInformation(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_SetBootKeyInformation
*r
)
11330 ndr_print_struct(ndr
, name
, "samr_SetBootKeyInformation");
11332 if (flags
& NDR_SET_VALUES
) {
11333 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11335 if (flags
& NDR_IN
) {
11336 ndr_print_struct(ndr
, "in", "samr_SetBootKeyInformation");
11338 ndr_print_ptr(ndr
, "connect_handle", r
->in
.connect_handle
);
11340 ndr_print_policy_handle(ndr
, "connect_handle", r
->in
.connect_handle
);
11342 ndr_print_uint32(ndr
, "unknown1", r
->in
.unknown1
);
11343 ndr_print_uint32(ndr
, "unknown2", r
->in
.unknown2
);
11344 ndr_print_uint32(ndr
, "unknown3", r
->in
.unknown3
);
11347 if (flags
& NDR_OUT
) {
11348 ndr_print_struct(ndr
, "out", "samr_SetBootKeyInformation");
11350 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11356 static enum ndr_err_code
ndr_push_samr_GetBootKeyInformation(struct ndr_push
*ndr
, int flags
, const struct samr_GetBootKeyInformation
*r
)
11358 if (flags
& NDR_IN
) {
11359 if (r
->in
.domain_handle
== NULL
) {
11360 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11362 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
11364 if (flags
& NDR_OUT
) {
11365 if (r
->out
.unknown
== NULL
) {
11366 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11368 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.unknown
));
11369 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11371 return NDR_ERR_SUCCESS
;
11374 static enum ndr_err_code
ndr_pull_samr_GetBootKeyInformation(struct ndr_pull
*ndr
, int flags
, struct samr_GetBootKeyInformation
*r
)
11376 TALLOC_CTX
*_mem_save_domain_handle_0
;
11377 TALLOC_CTX
*_mem_save_unknown_0
;
11378 if (flags
& NDR_IN
) {
11379 ZERO_STRUCT(r
->out
);
11381 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11382 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
11384 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11385 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
11386 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
11387 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
11388 NDR_PULL_ALLOC(ndr
, r
->out
.unknown
);
11389 ZERO_STRUCTP(r
->out
.unknown
);
11391 if (flags
& NDR_OUT
) {
11392 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11393 NDR_PULL_ALLOC(ndr
, r
->out
.unknown
);
11395 _mem_save_unknown_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11396 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.unknown
, LIBNDR_FLAG_REF_ALLOC
);
11397 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.unknown
));
11398 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_unknown_0
, LIBNDR_FLAG_REF_ALLOC
);
11399 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11401 return NDR_ERR_SUCCESS
;
11404 _PUBLIC_
void ndr_print_samr_GetBootKeyInformation(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_GetBootKeyInformation
*r
)
11406 ndr_print_struct(ndr
, name
, "samr_GetBootKeyInformation");
11408 if (flags
& NDR_SET_VALUES
) {
11409 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11411 if (flags
& NDR_IN
) {
11412 ndr_print_struct(ndr
, "in", "samr_GetBootKeyInformation");
11414 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
11416 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
11420 if (flags
& NDR_OUT
) {
11421 ndr_print_struct(ndr
, "out", "samr_GetBootKeyInformation");
11423 ndr_print_ptr(ndr
, "unknown", r
->out
.unknown
);
11425 ndr_print_uint32(ndr
, "unknown", *r
->out
.unknown
);
11427 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11433 static enum ndr_err_code
ndr_push_samr_Connect3(struct ndr_push
*ndr
, int flags
, const struct samr_Connect3
*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_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->in
.system_name
, CH_UTF16
)));
11439 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
11440 NDR_CHECK(ndr_push_uint3264(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_uint32(ndr
, NDR_SCALARS
, r
->in
.unknown
));
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_Connect3(struct ndr_pull
*ndr
, int flags
, struct samr_Connect3
*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_uint32(ndr
, NDR_SCALARS
, &r
->in
.unknown
));
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_Connect3(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_Connect3
*r
)
11502 ndr_print_struct(ndr
, name
, "samr_Connect3");
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_Connect3");
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_uint32(ndr
, "unknown", r
->in
.unknown
);
11517 ndr_print_samr_ConnectAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
11520 if (flags
& NDR_OUT
) {
11521 ndr_print_struct(ndr
, "out", "samr_Connect3");
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_Connect4(struct ndr_push
*ndr
, int flags
, const struct samr_Connect4
*r
)
11535 if (flags
& NDR_IN
) {
11536 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.system_name
));
11537 if (r
->in
.system_name
) {
11538 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->in
.system_name
, CH_UTF16
)));
11539 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
11540 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->in
.system_name
, CH_UTF16
)));
11541 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
));
11543 NDR_CHECK(ndr_push_samr_ConnectVersion(ndr
, NDR_SCALARS
, r
->in
.client_version
));
11544 NDR_CHECK(ndr_push_samr_ConnectAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
11546 if (flags
& NDR_OUT
) {
11547 if (r
->out
.connect_handle
== NULL
) {
11548 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11550 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.connect_handle
));
11551 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11553 return NDR_ERR_SUCCESS
;
11556 static enum ndr_err_code
ndr_pull_samr_Connect4(struct ndr_pull
*ndr
, int flags
, struct samr_Connect4
*r
)
11558 uint32_t _ptr_system_name
;
11559 TALLOC_CTX
*_mem_save_system_name_0
;
11560 TALLOC_CTX
*_mem_save_connect_handle_0
;
11561 if (flags
& NDR_IN
) {
11562 ZERO_STRUCT(r
->out
);
11564 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_system_name
));
11565 if (_ptr_system_name
) {
11566 NDR_PULL_ALLOC(ndr
, r
->in
.system_name
);
11568 r
->in
.system_name
= NULL
;
11570 if (r
->in
.system_name
) {
11571 _mem_save_system_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11572 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.system_name
, 0);
11573 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->in
.system_name
));
11574 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->in
.system_name
));
11575 if (ndr_get_array_length(ndr
, &r
->in
.system_name
) > ndr_get_array_size(ndr
, &r
->in
.system_name
)) {
11576 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
));
11578 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->in
.system_name
), sizeof(uint16_t)));
11579 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
));
11580 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_system_name_0
, 0);
11582 NDR_CHECK(ndr_pull_samr_ConnectVersion(ndr
, NDR_SCALARS
, &r
->in
.client_version
));
11583 NDR_CHECK(ndr_pull_samr_ConnectAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
11584 NDR_PULL_ALLOC(ndr
, r
->out
.connect_handle
);
11585 ZERO_STRUCTP(r
->out
.connect_handle
);
11587 if (flags
& NDR_OUT
) {
11588 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11589 NDR_PULL_ALLOC(ndr
, r
->out
.connect_handle
);
11591 _mem_save_connect_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11592 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.connect_handle
, LIBNDR_FLAG_REF_ALLOC
);
11593 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.connect_handle
));
11594 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_connect_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
11595 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11597 return NDR_ERR_SUCCESS
;
11600 _PUBLIC_
void ndr_print_samr_Connect4(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_Connect4
*r
)
11602 ndr_print_struct(ndr
, name
, "samr_Connect4");
11604 if (flags
& NDR_SET_VALUES
) {
11605 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11607 if (flags
& NDR_IN
) {
11608 ndr_print_struct(ndr
, "in", "samr_Connect4");
11610 ndr_print_ptr(ndr
, "system_name", r
->in
.system_name
);
11612 if (r
->in
.system_name
) {
11613 ndr_print_string(ndr
, "system_name", r
->in
.system_name
);
11616 ndr_print_samr_ConnectVersion(ndr
, "client_version", r
->in
.client_version
);
11617 ndr_print_samr_ConnectAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
11620 if (flags
& NDR_OUT
) {
11621 ndr_print_struct(ndr
, "out", "samr_Connect4");
11623 ndr_print_ptr(ndr
, "connect_handle", r
->out
.connect_handle
);
11625 ndr_print_policy_handle(ndr
, "connect_handle", r
->out
.connect_handle
);
11627 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11633 static enum ndr_err_code
ndr_push_samr_ChangePasswordUser3(struct ndr_push
*ndr
, int flags
, const struct samr_ChangePasswordUser3
*r
)
11635 if (flags
& NDR_IN
) {
11636 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.server
));
11637 if (r
->in
.server
) {
11638 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.server
));
11640 if (r
->in
.account
== NULL
) {
11641 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11643 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.account
));
11644 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.nt_password
));
11645 if (r
->in
.nt_password
) {
11646 NDR_CHECK(ndr_push_samr_CryptPassword(ndr
, NDR_SCALARS
, r
->in
.nt_password
));
11648 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.nt_verifier
));
11649 if (r
->in
.nt_verifier
) {
11650 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, r
->in
.nt_verifier
));
11652 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->in
.lm_change
));
11653 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.lm_password
));
11654 if (r
->in
.lm_password
) {
11655 NDR_CHECK(ndr_push_samr_CryptPassword(ndr
, NDR_SCALARS
, r
->in
.lm_password
));
11657 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.lm_verifier
));
11658 if (r
->in
.lm_verifier
) {
11659 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, r
->in
.lm_verifier
));
11661 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.password3
));
11662 if (r
->in
.password3
) {
11663 NDR_CHECK(ndr_push_samr_CryptPassword(ndr
, NDR_SCALARS
, r
->in
.password3
));
11666 if (flags
& NDR_OUT
) {
11667 if (r
->out
.dominfo
== NULL
) {
11668 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11670 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.dominfo
));
11671 if (*r
->out
.dominfo
) {
11672 NDR_CHECK(ndr_push_samr_DomInfo1(ndr
, NDR_SCALARS
, *r
->out
.dominfo
));
11674 if (r
->out
.reject
== NULL
) {
11675 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11677 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.reject
));
11678 if (*r
->out
.reject
) {
11679 NDR_CHECK(ndr_push_samr_ChangeReject(ndr
, NDR_SCALARS
, *r
->out
.reject
));
11681 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11683 return NDR_ERR_SUCCESS
;
11686 static enum ndr_err_code
ndr_pull_samr_ChangePasswordUser3(struct ndr_pull
*ndr
, int flags
, struct samr_ChangePasswordUser3
*r
)
11688 uint32_t _ptr_server
;
11689 uint32_t _ptr_nt_password
;
11690 uint32_t _ptr_nt_verifier
;
11691 uint32_t _ptr_lm_password
;
11692 uint32_t _ptr_lm_verifier
;
11693 uint32_t _ptr_password3
;
11694 uint32_t _ptr_dominfo
;
11695 uint32_t _ptr_reject
;
11696 TALLOC_CTX
*_mem_save_server_0
;
11697 TALLOC_CTX
*_mem_save_account_0
;
11698 TALLOC_CTX
*_mem_save_nt_password_0
;
11699 TALLOC_CTX
*_mem_save_nt_verifier_0
;
11700 TALLOC_CTX
*_mem_save_lm_password_0
;
11701 TALLOC_CTX
*_mem_save_lm_verifier_0
;
11702 TALLOC_CTX
*_mem_save_password3_0
;
11703 TALLOC_CTX
*_mem_save_dominfo_0
;
11704 TALLOC_CTX
*_mem_save_dominfo_1
;
11705 TALLOC_CTX
*_mem_save_reject_0
;
11706 TALLOC_CTX
*_mem_save_reject_1
;
11707 if (flags
& NDR_IN
) {
11708 ZERO_STRUCT(r
->out
);
11710 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_server
));
11712 NDR_PULL_ALLOC(ndr
, r
->in
.server
);
11714 r
->in
.server
= NULL
;
11716 if (r
->in
.server
) {
11717 _mem_save_server_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11718 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.server
, 0);
11719 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.server
));
11720 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_server_0
, 0);
11722 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11723 NDR_PULL_ALLOC(ndr
, r
->in
.account
);
11725 _mem_save_account_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11726 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.account
, LIBNDR_FLAG_REF_ALLOC
);
11727 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.account
));
11728 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_account_0
, LIBNDR_FLAG_REF_ALLOC
);
11729 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_nt_password
));
11730 if (_ptr_nt_password
) {
11731 NDR_PULL_ALLOC(ndr
, r
->in
.nt_password
);
11733 r
->in
.nt_password
= NULL
;
11735 if (r
->in
.nt_password
) {
11736 _mem_save_nt_password_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11737 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.nt_password
, 0);
11738 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr
, NDR_SCALARS
, r
->in
.nt_password
));
11739 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_nt_password_0
, 0);
11741 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_nt_verifier
));
11742 if (_ptr_nt_verifier
) {
11743 NDR_PULL_ALLOC(ndr
, r
->in
.nt_verifier
);
11745 r
->in
.nt_verifier
= NULL
;
11747 if (r
->in
.nt_verifier
) {
11748 _mem_save_nt_verifier_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11749 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.nt_verifier
, 0);
11750 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, r
->in
.nt_verifier
));
11751 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_nt_verifier_0
, 0);
11753 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->in
.lm_change
));
11754 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_lm_password
));
11755 if (_ptr_lm_password
) {
11756 NDR_PULL_ALLOC(ndr
, r
->in
.lm_password
);
11758 r
->in
.lm_password
= NULL
;
11760 if (r
->in
.lm_password
) {
11761 _mem_save_lm_password_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11762 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.lm_password
, 0);
11763 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr
, NDR_SCALARS
, r
->in
.lm_password
));
11764 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_lm_password_0
, 0);
11766 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_lm_verifier
));
11767 if (_ptr_lm_verifier
) {
11768 NDR_PULL_ALLOC(ndr
, r
->in
.lm_verifier
);
11770 r
->in
.lm_verifier
= NULL
;
11772 if (r
->in
.lm_verifier
) {
11773 _mem_save_lm_verifier_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11774 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.lm_verifier
, 0);
11775 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, r
->in
.lm_verifier
));
11776 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_lm_verifier_0
, 0);
11778 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_password3
));
11779 if (_ptr_password3
) {
11780 NDR_PULL_ALLOC(ndr
, r
->in
.password3
);
11782 r
->in
.password3
= NULL
;
11784 if (r
->in
.password3
) {
11785 _mem_save_password3_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11786 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.password3
, 0);
11787 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr
, NDR_SCALARS
, r
->in
.password3
));
11788 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_password3_0
, 0);
11790 NDR_PULL_ALLOC(ndr
, r
->out
.dominfo
);
11791 ZERO_STRUCTP(r
->out
.dominfo
);
11792 NDR_PULL_ALLOC(ndr
, r
->out
.reject
);
11793 ZERO_STRUCTP(r
->out
.reject
);
11795 if (flags
& NDR_OUT
) {
11796 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11797 NDR_PULL_ALLOC(ndr
, r
->out
.dominfo
);
11799 _mem_save_dominfo_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11800 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.dominfo
, LIBNDR_FLAG_REF_ALLOC
);
11801 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_dominfo
));
11802 if (_ptr_dominfo
) {
11803 NDR_PULL_ALLOC(ndr
, *r
->out
.dominfo
);
11805 *r
->out
.dominfo
= NULL
;
11807 if (*r
->out
.dominfo
) {
11808 _mem_save_dominfo_1
= NDR_PULL_GET_MEM_CTX(ndr
);
11809 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.dominfo
, 0);
11810 NDR_CHECK(ndr_pull_samr_DomInfo1(ndr
, NDR_SCALARS
, *r
->out
.dominfo
));
11811 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dominfo_1
, 0);
11813 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dominfo_0
, LIBNDR_FLAG_REF_ALLOC
);
11814 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11815 NDR_PULL_ALLOC(ndr
, r
->out
.reject
);
11817 _mem_save_reject_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11818 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.reject
, LIBNDR_FLAG_REF_ALLOC
);
11819 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_reject
));
11821 NDR_PULL_ALLOC(ndr
, *r
->out
.reject
);
11823 *r
->out
.reject
= NULL
;
11825 if (*r
->out
.reject
) {
11826 _mem_save_reject_1
= NDR_PULL_GET_MEM_CTX(ndr
);
11827 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.reject
, 0);
11828 NDR_CHECK(ndr_pull_samr_ChangeReject(ndr
, NDR_SCALARS
, *r
->out
.reject
));
11829 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_reject_1
, 0);
11831 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_reject_0
, LIBNDR_FLAG_REF_ALLOC
);
11832 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11834 return NDR_ERR_SUCCESS
;
11837 _PUBLIC_
void ndr_print_samr_ChangePasswordUser3(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_ChangePasswordUser3
*r
)
11839 ndr_print_struct(ndr
, name
, "samr_ChangePasswordUser3");
11841 if (flags
& NDR_SET_VALUES
) {
11842 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11844 if (flags
& NDR_IN
) {
11845 ndr_print_struct(ndr
, "in", "samr_ChangePasswordUser3");
11847 ndr_print_ptr(ndr
, "server", r
->in
.server
);
11849 if (r
->in
.server
) {
11850 ndr_print_lsa_String(ndr
, "server", r
->in
.server
);
11853 ndr_print_ptr(ndr
, "account", r
->in
.account
);
11855 ndr_print_lsa_String(ndr
, "account", r
->in
.account
);
11857 ndr_print_ptr(ndr
, "nt_password", r
->in
.nt_password
);
11859 if (r
->in
.nt_password
) {
11860 ndr_print_samr_CryptPassword(ndr
, "nt_password", r
->in
.nt_password
);
11863 ndr_print_ptr(ndr
, "nt_verifier", r
->in
.nt_verifier
);
11865 if (r
->in
.nt_verifier
) {
11866 ndr_print_samr_Password(ndr
, "nt_verifier", r
->in
.nt_verifier
);
11869 ndr_print_uint8(ndr
, "lm_change", r
->in
.lm_change
);
11870 ndr_print_ptr(ndr
, "lm_password", r
->in
.lm_password
);
11872 if (r
->in
.lm_password
) {
11873 ndr_print_samr_CryptPassword(ndr
, "lm_password", r
->in
.lm_password
);
11876 ndr_print_ptr(ndr
, "lm_verifier", r
->in
.lm_verifier
);
11878 if (r
->in
.lm_verifier
) {
11879 ndr_print_samr_Password(ndr
, "lm_verifier", r
->in
.lm_verifier
);
11882 ndr_print_ptr(ndr
, "password3", r
->in
.password3
);
11884 if (r
->in
.password3
) {
11885 ndr_print_samr_CryptPassword(ndr
, "password3", r
->in
.password3
);
11890 if (flags
& NDR_OUT
) {
11891 ndr_print_struct(ndr
, "out", "samr_ChangePasswordUser3");
11893 ndr_print_ptr(ndr
, "dominfo", r
->out
.dominfo
);
11895 ndr_print_ptr(ndr
, "dominfo", *r
->out
.dominfo
);
11897 if (*r
->out
.dominfo
) {
11898 ndr_print_samr_DomInfo1(ndr
, "dominfo", *r
->out
.dominfo
);
11902 ndr_print_ptr(ndr
, "reject", r
->out
.reject
);
11904 ndr_print_ptr(ndr
, "reject", *r
->out
.reject
);
11906 if (*r
->out
.reject
) {
11907 ndr_print_samr_ChangeReject(ndr
, "reject", *r
->out
.reject
);
11911 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11917 _PUBLIC_
enum ndr_err_code
ndr_push_samr_Connect5(struct ndr_push
*ndr
, int flags
, const struct samr_Connect5
*r
)
11919 if (flags
& NDR_IN
) {
11920 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.system_name
));
11921 if (r
->in
.system_name
) {
11922 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->in
.system_name
, CH_UTF16
)));
11923 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
11924 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->in
.system_name
, CH_UTF16
)));
11925 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
));
11927 NDR_CHECK(ndr_push_samr_ConnectAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
11928 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.level_in
));
11929 if (r
->in
.info_in
== NULL
) {
11930 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11932 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.info_in
, r
->in
.level_in
));
11933 NDR_CHECK(ndr_push_samr_ConnectInfo(ndr
, NDR_SCALARS
, r
->in
.info_in
));
11935 if (flags
& NDR_OUT
) {
11936 if (r
->out
.level_out
== NULL
) {
11937 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11939 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
11940 if (r
->out
.info_out
== NULL
) {
11941 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11943 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.info_out
, *r
->out
.level_out
));
11944 NDR_CHECK(ndr_push_samr_ConnectInfo(ndr
, NDR_SCALARS
, r
->out
.info_out
));
11945 if (r
->out
.connect_handle
== NULL
) {
11946 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11948 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.connect_handle
));
11949 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11951 return NDR_ERR_SUCCESS
;
11954 _PUBLIC_
enum ndr_err_code
ndr_pull_samr_Connect5(struct ndr_pull
*ndr
, int flags
, struct samr_Connect5
*r
)
11956 uint32_t _ptr_system_name
;
11957 TALLOC_CTX
*_mem_save_system_name_0
;
11958 TALLOC_CTX
*_mem_save_info_in_0
;
11959 TALLOC_CTX
*_mem_save_level_out_0
;
11960 TALLOC_CTX
*_mem_save_info_out_0
;
11961 TALLOC_CTX
*_mem_save_connect_handle_0
;
11962 if (flags
& NDR_IN
) {
11963 ZERO_STRUCT(r
->out
);
11965 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_system_name
));
11966 if (_ptr_system_name
) {
11967 NDR_PULL_ALLOC(ndr
, r
->in
.system_name
);
11969 r
->in
.system_name
= NULL
;
11971 if (r
->in
.system_name
) {
11972 _mem_save_system_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11973 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.system_name
, 0);
11974 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->in
.system_name
));
11975 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->in
.system_name
));
11976 if (ndr_get_array_length(ndr
, &r
->in
.system_name
) > ndr_get_array_size(ndr
, &r
->in
.system_name
)) {
11977 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
));
11979 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->in
.system_name
), sizeof(uint16_t)));
11980 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
));
11981 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_system_name_0
, 0);
11983 NDR_CHECK(ndr_pull_samr_ConnectAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
11984 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.level_in
));
11985 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11986 NDR_PULL_ALLOC(ndr
, r
->in
.info_in
);
11988 _mem_save_info_in_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11989 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.info_in
, LIBNDR_FLAG_REF_ALLOC
);
11990 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.info_in
, r
->in
.level_in
));
11991 NDR_CHECK(ndr_pull_samr_ConnectInfo(ndr
, NDR_SCALARS
, r
->in
.info_in
));
11992 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_in_0
, LIBNDR_FLAG_REF_ALLOC
);
11993 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
11994 ZERO_STRUCTP(r
->out
.level_out
);
11995 NDR_PULL_ALLOC(ndr
, r
->out
.info_out
);
11996 ZERO_STRUCTP(r
->out
.info_out
);
11997 NDR_PULL_ALLOC(ndr
, r
->out
.connect_handle
);
11998 ZERO_STRUCTP(r
->out
.connect_handle
);
12000 if (flags
& NDR_OUT
) {
12001 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
12002 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
12004 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12005 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
12006 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
12007 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
12008 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
12009 NDR_PULL_ALLOC(ndr
, r
->out
.info_out
);
12011 _mem_save_info_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12012 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info_out
, LIBNDR_FLAG_REF_ALLOC
);
12013 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.info_out
, *r
->out
.level_out
));
12014 NDR_CHECK(ndr_pull_samr_ConnectInfo(ndr
, NDR_SCALARS
, r
->out
.info_out
));
12015 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_out_0
, LIBNDR_FLAG_REF_ALLOC
);
12016 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
12017 NDR_PULL_ALLOC(ndr
, r
->out
.connect_handle
);
12019 _mem_save_connect_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12020 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.connect_handle
, LIBNDR_FLAG_REF_ALLOC
);
12021 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.connect_handle
));
12022 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_connect_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
12023 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
12025 return NDR_ERR_SUCCESS
;
12028 _PUBLIC_
void ndr_print_samr_Connect5(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_Connect5
*r
)
12030 ndr_print_struct(ndr
, name
, "samr_Connect5");
12032 if (flags
& NDR_SET_VALUES
) {
12033 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
12035 if (flags
& NDR_IN
) {
12036 ndr_print_struct(ndr
, "in", "samr_Connect5");
12038 ndr_print_ptr(ndr
, "system_name", r
->in
.system_name
);
12040 if (r
->in
.system_name
) {
12041 ndr_print_string(ndr
, "system_name", r
->in
.system_name
);
12044 ndr_print_samr_ConnectAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
12045 ndr_print_uint32(ndr
, "level_in", r
->in
.level_in
);
12046 ndr_print_ptr(ndr
, "info_in", r
->in
.info_in
);
12048 ndr_print_set_switch_value(ndr
, r
->in
.info_in
, r
->in
.level_in
);
12049 ndr_print_samr_ConnectInfo(ndr
, "info_in", r
->in
.info_in
);
12053 if (flags
& NDR_OUT
) {
12054 ndr_print_struct(ndr
, "out", "samr_Connect5");
12056 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
12058 ndr_print_uint32(ndr
, "level_out", *r
->out
.level_out
);
12060 ndr_print_ptr(ndr
, "info_out", r
->out
.info_out
);
12062 ndr_print_set_switch_value(ndr
, r
->out
.info_out
, *r
->out
.level_out
);
12063 ndr_print_samr_ConnectInfo(ndr
, "info_out", r
->out
.info_out
);
12065 ndr_print_ptr(ndr
, "connect_handle", r
->out
.connect_handle
);
12067 ndr_print_policy_handle(ndr
, "connect_handle", r
->out
.connect_handle
);
12069 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
12075 static enum ndr_err_code
ndr_push_samr_RidToSid(struct ndr_push
*ndr
, int flags
, const struct samr_RidToSid
*r
)
12077 if (flags
& NDR_IN
) {
12078 if (r
->in
.domain_handle
== NULL
) {
12079 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
12081 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
12082 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.rid
));
12084 if (flags
& NDR_OUT
) {
12085 if (r
->out
.sid
== NULL
) {
12086 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
12088 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.sid
));
12090 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sid
));
12092 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
12094 return NDR_ERR_SUCCESS
;
12097 static enum ndr_err_code
ndr_pull_samr_RidToSid(struct ndr_pull
*ndr
, int flags
, struct samr_RidToSid
*r
)
12100 TALLOC_CTX
*_mem_save_domain_handle_0
;
12101 TALLOC_CTX
*_mem_save_sid_0
;
12102 TALLOC_CTX
*_mem_save_sid_1
;
12103 if (flags
& NDR_IN
) {
12104 ZERO_STRUCT(r
->out
);
12106 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
12107 NDR_PULL_ALLOC(ndr
, r
->in
.domain_handle
);
12109 _mem_save_domain_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12110 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_handle
, LIBNDR_FLAG_REF_ALLOC
);
12111 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.domain_handle
));
12112 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
12113 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.rid
));
12114 NDR_PULL_ALLOC(ndr
, r
->out
.sid
);
12115 ZERO_STRUCTP(r
->out
.sid
);
12117 if (flags
& NDR_OUT
) {
12118 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
12119 NDR_PULL_ALLOC(ndr
, r
->out
.sid
);
12121 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12122 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sid
, LIBNDR_FLAG_REF_ALLOC
);
12123 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sid
));
12125 NDR_PULL_ALLOC(ndr
, *r
->out
.sid
);
12127 *r
->out
.sid
= NULL
;
12130 _mem_save_sid_1
= NDR_PULL_GET_MEM_CTX(ndr
);
12131 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.sid
, 0);
12132 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sid
));
12133 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_1
, 0);
12135 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, LIBNDR_FLAG_REF_ALLOC
);
12136 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
12138 return NDR_ERR_SUCCESS
;
12141 _PUBLIC_
void ndr_print_samr_RidToSid(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_RidToSid
*r
)
12143 ndr_print_struct(ndr
, name
, "samr_RidToSid");
12145 if (flags
& NDR_SET_VALUES
) {
12146 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
12148 if (flags
& NDR_IN
) {
12149 ndr_print_struct(ndr
, "in", "samr_RidToSid");
12151 ndr_print_ptr(ndr
, "domain_handle", r
->in
.domain_handle
);
12153 ndr_print_policy_handle(ndr
, "domain_handle", r
->in
.domain_handle
);
12155 ndr_print_uint32(ndr
, "rid", r
->in
.rid
);
12158 if (flags
& NDR_OUT
) {
12159 ndr_print_struct(ndr
, "out", "samr_RidToSid");
12161 ndr_print_ptr(ndr
, "sid", r
->out
.sid
);
12163 ndr_print_ptr(ndr
, "sid", *r
->out
.sid
);
12166 ndr_print_dom_sid2(ndr
, "sid", *r
->out
.sid
);
12170 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
12176 static enum ndr_err_code
ndr_push_samr_SetDsrmPassword(struct ndr_push
*ndr
, int flags
, const struct samr_SetDsrmPassword
*r
)
12178 if (flags
& NDR_IN
) {
12179 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.name
));
12181 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.name
));
12183 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.unknown
));
12184 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.hash
));
12186 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, r
->in
.hash
));
12189 if (flags
& NDR_OUT
) {
12190 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
12192 return NDR_ERR_SUCCESS
;
12195 static enum ndr_err_code
ndr_pull_samr_SetDsrmPassword(struct ndr_pull
*ndr
, int flags
, struct samr_SetDsrmPassword
*r
)
12197 uint32_t _ptr_name
;
12198 uint32_t _ptr_hash
;
12199 TALLOC_CTX
*_mem_save_name_0
;
12200 TALLOC_CTX
*_mem_save_hash_0
;
12201 if (flags
& NDR_IN
) {
12202 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_name
));
12204 NDR_PULL_ALLOC(ndr
, r
->in
.name
);
12209 _mem_save_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12210 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.name
, 0);
12211 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.name
));
12212 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_name_0
, 0);
12214 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.unknown
));
12215 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_hash
));
12217 NDR_PULL_ALLOC(ndr
, r
->in
.hash
);
12222 _mem_save_hash_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12223 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.hash
, 0);
12224 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, r
->in
.hash
));
12225 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_hash_0
, 0);
12228 if (flags
& NDR_OUT
) {
12229 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
12231 return NDR_ERR_SUCCESS
;
12234 _PUBLIC_
void ndr_print_samr_SetDsrmPassword(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_SetDsrmPassword
*r
)
12236 ndr_print_struct(ndr
, name
, "samr_SetDsrmPassword");
12238 if (flags
& NDR_SET_VALUES
) {
12239 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
12241 if (flags
& NDR_IN
) {
12242 ndr_print_struct(ndr
, "in", "samr_SetDsrmPassword");
12244 ndr_print_ptr(ndr
, "name", r
->in
.name
);
12247 ndr_print_lsa_String(ndr
, "name", r
->in
.name
);
12250 ndr_print_uint32(ndr
, "unknown", r
->in
.unknown
);
12251 ndr_print_ptr(ndr
, "hash", r
->in
.hash
);
12254 ndr_print_samr_Password(ndr
, "hash", r
->in
.hash
);
12259 if (flags
& NDR_OUT
) {
12260 ndr_print_struct(ndr
, "out", "samr_SetDsrmPassword");
12262 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
12268 static enum ndr_err_code
ndr_push_samr_ValidatePassword(struct ndr_push
*ndr
, int flags
, const struct samr_ValidatePassword
*r
)
12270 if (flags
& NDR_IN
) {
12271 NDR_CHECK(ndr_push_samr_ValidatePasswordLevel(ndr
, NDR_SCALARS
, r
->in
.level
));
12272 if (r
->in
.req
== NULL
) {
12273 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
12275 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
12276 NDR_CHECK(ndr_push_samr_ValidatePasswordReq(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
12278 if (flags
& NDR_OUT
) {
12279 if (r
->out
.rep
== NULL
) {
12280 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
12282 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.rep
));
12284 NDR_CHECK(ndr_push_set_switch_value(ndr
, *r
->out
.rep
, r
->in
.level
));
12285 NDR_CHECK(ndr_push_samr_ValidatePasswordRep(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.rep
));
12287 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
12289 return NDR_ERR_SUCCESS
;
12292 static enum ndr_err_code
ndr_pull_samr_ValidatePassword(struct ndr_pull
*ndr
, int flags
, struct samr_ValidatePassword
*r
)
12295 TALLOC_CTX
*_mem_save_req_0
;
12296 TALLOC_CTX
*_mem_save_rep_0
;
12297 TALLOC_CTX
*_mem_save_rep_1
;
12298 if (flags
& NDR_IN
) {
12299 ZERO_STRUCT(r
->out
);
12301 NDR_CHECK(ndr_pull_samr_ValidatePasswordLevel(ndr
, NDR_SCALARS
, &r
->in
.level
));
12302 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
12303 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
12305 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12306 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
12307 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
12308 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
12309 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
12310 NDR_PULL_ALLOC(ndr
, r
->out
.rep
);
12311 ZERO_STRUCTP(r
->out
.rep
);
12313 if (flags
& NDR_OUT
) {
12314 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
12315 NDR_PULL_ALLOC(ndr
, r
->out
.rep
);
12317 _mem_save_rep_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12318 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.rep
, LIBNDR_FLAG_REF_ALLOC
);
12319 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_rep
));
12321 NDR_PULL_ALLOC(ndr
, *r
->out
.rep
);
12323 *r
->out
.rep
= NULL
;
12326 _mem_save_rep_1
= NDR_PULL_GET_MEM_CTX(ndr
);
12327 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.rep
, 0);
12328 NDR_CHECK(ndr_pull_set_switch_value(ndr
, *r
->out
.rep
, r
->in
.level
));
12329 NDR_CHECK(ndr_pull_samr_ValidatePasswordRep(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.rep
));
12330 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rep_1
, 0);
12332 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rep_0
, LIBNDR_FLAG_REF_ALLOC
);
12333 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
12335 return NDR_ERR_SUCCESS
;
12338 _PUBLIC_
void ndr_print_samr_ValidatePassword(struct ndr_print
*ndr
, const char *name
, int flags
, const struct samr_ValidatePassword
*r
)
12340 ndr_print_struct(ndr
, name
, "samr_ValidatePassword");
12342 if (flags
& NDR_SET_VALUES
) {
12343 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
12345 if (flags
& NDR_IN
) {
12346 ndr_print_struct(ndr
, "in", "samr_ValidatePassword");
12348 ndr_print_samr_ValidatePasswordLevel(ndr
, "level", r
->in
.level
);
12349 ndr_print_ptr(ndr
, "req", r
->in
.req
);
12351 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
12352 ndr_print_samr_ValidatePasswordReq(ndr
, "req", r
->in
.req
);
12356 if (flags
& NDR_OUT
) {
12357 ndr_print_struct(ndr
, "out", "samr_ValidatePassword");
12359 ndr_print_ptr(ndr
, "rep", r
->out
.rep
);
12361 ndr_print_ptr(ndr
, "rep", *r
->out
.rep
);
12364 ndr_print_set_switch_value(ndr
, *r
->out
.rep
, r
->in
.level
);
12365 ndr_print_samr_ValidatePasswordRep(ndr
, "rep", *r
->out
.rep
);
12369 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
12375 static const struct ndr_interface_call samr_calls
[] = {
12378 sizeof(struct samr_Connect
),
12379 (ndr_push_flags_fn_t
) ndr_push_samr_Connect
,
12380 (ndr_pull_flags_fn_t
) ndr_pull_samr_Connect
,
12381 (ndr_print_function_t
) ndr_print_samr_Connect
,
12386 sizeof(struct samr_Close
),
12387 (ndr_push_flags_fn_t
) ndr_push_samr_Close
,
12388 (ndr_pull_flags_fn_t
) ndr_pull_samr_Close
,
12389 (ndr_print_function_t
) ndr_print_samr_Close
,
12393 "samr_SetSecurity",
12394 sizeof(struct samr_SetSecurity
),
12395 (ndr_push_flags_fn_t
) ndr_push_samr_SetSecurity
,
12396 (ndr_pull_flags_fn_t
) ndr_pull_samr_SetSecurity
,
12397 (ndr_print_function_t
) ndr_print_samr_SetSecurity
,
12401 "samr_QuerySecurity",
12402 sizeof(struct samr_QuerySecurity
),
12403 (ndr_push_flags_fn_t
) ndr_push_samr_QuerySecurity
,
12404 (ndr_pull_flags_fn_t
) ndr_pull_samr_QuerySecurity
,
12405 (ndr_print_function_t
) ndr_print_samr_QuerySecurity
,
12410 sizeof(struct samr_Shutdown
),
12411 (ndr_push_flags_fn_t
) ndr_push_samr_Shutdown
,
12412 (ndr_pull_flags_fn_t
) ndr_pull_samr_Shutdown
,
12413 (ndr_print_function_t
) ndr_print_samr_Shutdown
,
12417 "samr_LookupDomain",
12418 sizeof(struct samr_LookupDomain
),
12419 (ndr_push_flags_fn_t
) ndr_push_samr_LookupDomain
,
12420 (ndr_pull_flags_fn_t
) ndr_pull_samr_LookupDomain
,
12421 (ndr_print_function_t
) ndr_print_samr_LookupDomain
,
12425 "samr_EnumDomains",
12426 sizeof(struct samr_EnumDomains
),
12427 (ndr_push_flags_fn_t
) ndr_push_samr_EnumDomains
,
12428 (ndr_pull_flags_fn_t
) ndr_pull_samr_EnumDomains
,
12429 (ndr_print_function_t
) ndr_print_samr_EnumDomains
,
12434 sizeof(struct samr_OpenDomain
),
12435 (ndr_push_flags_fn_t
) ndr_push_samr_OpenDomain
,
12436 (ndr_pull_flags_fn_t
) ndr_pull_samr_OpenDomain
,
12437 (ndr_print_function_t
) ndr_print_samr_OpenDomain
,
12441 "samr_QueryDomainInfo",
12442 sizeof(struct samr_QueryDomainInfo
),
12443 (ndr_push_flags_fn_t
) ndr_push_samr_QueryDomainInfo
,
12444 (ndr_pull_flags_fn_t
) ndr_pull_samr_QueryDomainInfo
,
12445 (ndr_print_function_t
) ndr_print_samr_QueryDomainInfo
,
12449 "samr_SetDomainInfo",
12450 sizeof(struct samr_SetDomainInfo
),
12451 (ndr_push_flags_fn_t
) ndr_push_samr_SetDomainInfo
,
12452 (ndr_pull_flags_fn_t
) ndr_pull_samr_SetDomainInfo
,
12453 (ndr_print_function_t
) ndr_print_samr_SetDomainInfo
,
12457 "samr_CreateDomainGroup",
12458 sizeof(struct samr_CreateDomainGroup
),
12459 (ndr_push_flags_fn_t
) ndr_push_samr_CreateDomainGroup
,
12460 (ndr_pull_flags_fn_t
) ndr_pull_samr_CreateDomainGroup
,
12461 (ndr_print_function_t
) ndr_print_samr_CreateDomainGroup
,
12465 "samr_EnumDomainGroups",
12466 sizeof(struct samr_EnumDomainGroups
),
12467 (ndr_push_flags_fn_t
) ndr_push_samr_EnumDomainGroups
,
12468 (ndr_pull_flags_fn_t
) ndr_pull_samr_EnumDomainGroups
,
12469 (ndr_print_function_t
) ndr_print_samr_EnumDomainGroups
,
12474 sizeof(struct samr_CreateUser
),
12475 (ndr_push_flags_fn_t
) ndr_push_samr_CreateUser
,
12476 (ndr_pull_flags_fn_t
) ndr_pull_samr_CreateUser
,
12477 (ndr_print_function_t
) ndr_print_samr_CreateUser
,
12481 "samr_EnumDomainUsers",
12482 sizeof(struct samr_EnumDomainUsers
),
12483 (ndr_push_flags_fn_t
) ndr_push_samr_EnumDomainUsers
,
12484 (ndr_pull_flags_fn_t
) ndr_pull_samr_EnumDomainUsers
,
12485 (ndr_print_function_t
) ndr_print_samr_EnumDomainUsers
,
12489 "samr_CreateDomAlias",
12490 sizeof(struct samr_CreateDomAlias
),
12491 (ndr_push_flags_fn_t
) ndr_push_samr_CreateDomAlias
,
12492 (ndr_pull_flags_fn_t
) ndr_pull_samr_CreateDomAlias
,
12493 (ndr_print_function_t
) ndr_print_samr_CreateDomAlias
,
12497 "samr_EnumDomainAliases",
12498 sizeof(struct samr_EnumDomainAliases
),
12499 (ndr_push_flags_fn_t
) ndr_push_samr_EnumDomainAliases
,
12500 (ndr_pull_flags_fn_t
) ndr_pull_samr_EnumDomainAliases
,
12501 (ndr_print_function_t
) ndr_print_samr_EnumDomainAliases
,
12505 "samr_GetAliasMembership",
12506 sizeof(struct samr_GetAliasMembership
),
12507 (ndr_push_flags_fn_t
) ndr_push_samr_GetAliasMembership
,
12508 (ndr_pull_flags_fn_t
) ndr_pull_samr_GetAliasMembership
,
12509 (ndr_print_function_t
) ndr_print_samr_GetAliasMembership
,
12513 "samr_LookupNames",
12514 sizeof(struct samr_LookupNames
),
12515 (ndr_push_flags_fn_t
) ndr_push_samr_LookupNames
,
12516 (ndr_pull_flags_fn_t
) ndr_pull_samr_LookupNames
,
12517 (ndr_print_function_t
) ndr_print_samr_LookupNames
,
12522 sizeof(struct samr_LookupRids
),
12523 (ndr_push_flags_fn_t
) ndr_push_samr_LookupRids
,
12524 (ndr_pull_flags_fn_t
) ndr_pull_samr_LookupRids
,
12525 (ndr_print_function_t
) ndr_print_samr_LookupRids
,
12530 sizeof(struct samr_OpenGroup
),
12531 (ndr_push_flags_fn_t
) ndr_push_samr_OpenGroup
,
12532 (ndr_pull_flags_fn_t
) ndr_pull_samr_OpenGroup
,
12533 (ndr_print_function_t
) ndr_print_samr_OpenGroup
,
12537 "samr_QueryGroupInfo",
12538 sizeof(struct samr_QueryGroupInfo
),
12539 (ndr_push_flags_fn_t
) ndr_push_samr_QueryGroupInfo
,
12540 (ndr_pull_flags_fn_t
) ndr_pull_samr_QueryGroupInfo
,
12541 (ndr_print_function_t
) ndr_print_samr_QueryGroupInfo
,
12545 "samr_SetGroupInfo",
12546 sizeof(struct samr_SetGroupInfo
),
12547 (ndr_push_flags_fn_t
) ndr_push_samr_SetGroupInfo
,
12548 (ndr_pull_flags_fn_t
) ndr_pull_samr_SetGroupInfo
,
12549 (ndr_print_function_t
) ndr_print_samr_SetGroupInfo
,
12553 "samr_AddGroupMember",
12554 sizeof(struct samr_AddGroupMember
),
12555 (ndr_push_flags_fn_t
) ndr_push_samr_AddGroupMember
,
12556 (ndr_pull_flags_fn_t
) ndr_pull_samr_AddGroupMember
,
12557 (ndr_print_function_t
) ndr_print_samr_AddGroupMember
,
12561 "samr_DeleteDomainGroup",
12562 sizeof(struct samr_DeleteDomainGroup
),
12563 (ndr_push_flags_fn_t
) ndr_push_samr_DeleteDomainGroup
,
12564 (ndr_pull_flags_fn_t
) ndr_pull_samr_DeleteDomainGroup
,
12565 (ndr_print_function_t
) ndr_print_samr_DeleteDomainGroup
,
12569 "samr_DeleteGroupMember",
12570 sizeof(struct samr_DeleteGroupMember
),
12571 (ndr_push_flags_fn_t
) ndr_push_samr_DeleteGroupMember
,
12572 (ndr_pull_flags_fn_t
) ndr_pull_samr_DeleteGroupMember
,
12573 (ndr_print_function_t
) ndr_print_samr_DeleteGroupMember
,
12577 "samr_QueryGroupMember",
12578 sizeof(struct samr_QueryGroupMember
),
12579 (ndr_push_flags_fn_t
) ndr_push_samr_QueryGroupMember
,
12580 (ndr_pull_flags_fn_t
) ndr_pull_samr_QueryGroupMember
,
12581 (ndr_print_function_t
) ndr_print_samr_QueryGroupMember
,
12585 "samr_SetMemberAttributesOfGroup",
12586 sizeof(struct samr_SetMemberAttributesOfGroup
),
12587 (ndr_push_flags_fn_t
) ndr_push_samr_SetMemberAttributesOfGroup
,
12588 (ndr_pull_flags_fn_t
) ndr_pull_samr_SetMemberAttributesOfGroup
,
12589 (ndr_print_function_t
) ndr_print_samr_SetMemberAttributesOfGroup
,
12594 sizeof(struct samr_OpenAlias
),
12595 (ndr_push_flags_fn_t
) ndr_push_samr_OpenAlias
,
12596 (ndr_pull_flags_fn_t
) ndr_pull_samr_OpenAlias
,
12597 (ndr_print_function_t
) ndr_print_samr_OpenAlias
,
12601 "samr_QueryAliasInfo",
12602 sizeof(struct samr_QueryAliasInfo
),
12603 (ndr_push_flags_fn_t
) ndr_push_samr_QueryAliasInfo
,
12604 (ndr_pull_flags_fn_t
) ndr_pull_samr_QueryAliasInfo
,
12605 (ndr_print_function_t
) ndr_print_samr_QueryAliasInfo
,
12609 "samr_SetAliasInfo",
12610 sizeof(struct samr_SetAliasInfo
),
12611 (ndr_push_flags_fn_t
) ndr_push_samr_SetAliasInfo
,
12612 (ndr_pull_flags_fn_t
) ndr_pull_samr_SetAliasInfo
,
12613 (ndr_print_function_t
) ndr_print_samr_SetAliasInfo
,
12617 "samr_DeleteDomAlias",
12618 sizeof(struct samr_DeleteDomAlias
),
12619 (ndr_push_flags_fn_t
) ndr_push_samr_DeleteDomAlias
,
12620 (ndr_pull_flags_fn_t
) ndr_pull_samr_DeleteDomAlias
,
12621 (ndr_print_function_t
) ndr_print_samr_DeleteDomAlias
,
12625 "samr_AddAliasMember",
12626 sizeof(struct samr_AddAliasMember
),
12627 (ndr_push_flags_fn_t
) ndr_push_samr_AddAliasMember
,
12628 (ndr_pull_flags_fn_t
) ndr_pull_samr_AddAliasMember
,
12629 (ndr_print_function_t
) ndr_print_samr_AddAliasMember
,
12633 "samr_DeleteAliasMember",
12634 sizeof(struct samr_DeleteAliasMember
),
12635 (ndr_push_flags_fn_t
) ndr_push_samr_DeleteAliasMember
,
12636 (ndr_pull_flags_fn_t
) ndr_pull_samr_DeleteAliasMember
,
12637 (ndr_print_function_t
) ndr_print_samr_DeleteAliasMember
,
12641 "samr_GetMembersInAlias",
12642 sizeof(struct samr_GetMembersInAlias
),
12643 (ndr_push_flags_fn_t
) ndr_push_samr_GetMembersInAlias
,
12644 (ndr_pull_flags_fn_t
) ndr_pull_samr_GetMembersInAlias
,
12645 (ndr_print_function_t
) ndr_print_samr_GetMembersInAlias
,
12650 sizeof(struct samr_OpenUser
),
12651 (ndr_push_flags_fn_t
) ndr_push_samr_OpenUser
,
12652 (ndr_pull_flags_fn_t
) ndr_pull_samr_OpenUser
,
12653 (ndr_print_function_t
) ndr_print_samr_OpenUser
,
12658 sizeof(struct samr_DeleteUser
),
12659 (ndr_push_flags_fn_t
) ndr_push_samr_DeleteUser
,
12660 (ndr_pull_flags_fn_t
) ndr_pull_samr_DeleteUser
,
12661 (ndr_print_function_t
) ndr_print_samr_DeleteUser
,
12665 "samr_QueryUserInfo",
12666 sizeof(struct samr_QueryUserInfo
),
12667 (ndr_push_flags_fn_t
) ndr_push_samr_QueryUserInfo
,
12668 (ndr_pull_flags_fn_t
) ndr_pull_samr_QueryUserInfo
,
12669 (ndr_print_function_t
) ndr_print_samr_QueryUserInfo
,
12673 "samr_SetUserInfo",
12674 sizeof(struct samr_SetUserInfo
),
12675 (ndr_push_flags_fn_t
) ndr_push_samr_SetUserInfo
,
12676 (ndr_pull_flags_fn_t
) ndr_pull_samr_SetUserInfo
,
12677 (ndr_print_function_t
) ndr_print_samr_SetUserInfo
,
12681 "samr_ChangePasswordUser",
12682 sizeof(struct samr_ChangePasswordUser
),
12683 (ndr_push_flags_fn_t
) ndr_push_samr_ChangePasswordUser
,
12684 (ndr_pull_flags_fn_t
) ndr_pull_samr_ChangePasswordUser
,
12685 (ndr_print_function_t
) ndr_print_samr_ChangePasswordUser
,
12689 "samr_GetGroupsForUser",
12690 sizeof(struct samr_GetGroupsForUser
),
12691 (ndr_push_flags_fn_t
) ndr_push_samr_GetGroupsForUser
,
12692 (ndr_pull_flags_fn_t
) ndr_pull_samr_GetGroupsForUser
,
12693 (ndr_print_function_t
) ndr_print_samr_GetGroupsForUser
,
12697 "samr_QueryDisplayInfo",
12698 sizeof(struct samr_QueryDisplayInfo
),
12699 (ndr_push_flags_fn_t
) ndr_push_samr_QueryDisplayInfo
,
12700 (ndr_pull_flags_fn_t
) ndr_pull_samr_QueryDisplayInfo
,
12701 (ndr_print_function_t
) ndr_print_samr_QueryDisplayInfo
,
12705 "samr_GetDisplayEnumerationIndex",
12706 sizeof(struct samr_GetDisplayEnumerationIndex
),
12707 (ndr_push_flags_fn_t
) ndr_push_samr_GetDisplayEnumerationIndex
,
12708 (ndr_pull_flags_fn_t
) ndr_pull_samr_GetDisplayEnumerationIndex
,
12709 (ndr_print_function_t
) ndr_print_samr_GetDisplayEnumerationIndex
,
12713 "samr_TestPrivateFunctionsDomain",
12714 sizeof(struct samr_TestPrivateFunctionsDomain
),
12715 (ndr_push_flags_fn_t
) ndr_push_samr_TestPrivateFunctionsDomain
,
12716 (ndr_pull_flags_fn_t
) ndr_pull_samr_TestPrivateFunctionsDomain
,
12717 (ndr_print_function_t
) ndr_print_samr_TestPrivateFunctionsDomain
,
12721 "samr_TestPrivateFunctionsUser",
12722 sizeof(struct samr_TestPrivateFunctionsUser
),
12723 (ndr_push_flags_fn_t
) ndr_push_samr_TestPrivateFunctionsUser
,
12724 (ndr_pull_flags_fn_t
) ndr_pull_samr_TestPrivateFunctionsUser
,
12725 (ndr_print_function_t
) ndr_print_samr_TestPrivateFunctionsUser
,
12729 "samr_GetUserPwInfo",
12730 sizeof(struct samr_GetUserPwInfo
),
12731 (ndr_push_flags_fn_t
) ndr_push_samr_GetUserPwInfo
,
12732 (ndr_pull_flags_fn_t
) ndr_pull_samr_GetUserPwInfo
,
12733 (ndr_print_function_t
) ndr_print_samr_GetUserPwInfo
,
12737 "samr_RemoveMemberFromForeignDomain",
12738 sizeof(struct samr_RemoveMemberFromForeignDomain
),
12739 (ndr_push_flags_fn_t
) ndr_push_samr_RemoveMemberFromForeignDomain
,
12740 (ndr_pull_flags_fn_t
) ndr_pull_samr_RemoveMemberFromForeignDomain
,
12741 (ndr_print_function_t
) ndr_print_samr_RemoveMemberFromForeignDomain
,
12745 "samr_QueryDomainInfo2",
12746 sizeof(struct samr_QueryDomainInfo2
),
12747 (ndr_push_flags_fn_t
) ndr_push_samr_QueryDomainInfo2
,
12748 (ndr_pull_flags_fn_t
) ndr_pull_samr_QueryDomainInfo2
,
12749 (ndr_print_function_t
) ndr_print_samr_QueryDomainInfo2
,
12753 "samr_QueryUserInfo2",
12754 sizeof(struct samr_QueryUserInfo2
),
12755 (ndr_push_flags_fn_t
) ndr_push_samr_QueryUserInfo2
,
12756 (ndr_pull_flags_fn_t
) ndr_pull_samr_QueryUserInfo2
,
12757 (ndr_print_function_t
) ndr_print_samr_QueryUserInfo2
,
12761 "samr_QueryDisplayInfo2",
12762 sizeof(struct samr_QueryDisplayInfo2
),
12763 (ndr_push_flags_fn_t
) ndr_push_samr_QueryDisplayInfo2
,
12764 (ndr_pull_flags_fn_t
) ndr_pull_samr_QueryDisplayInfo2
,
12765 (ndr_print_function_t
) ndr_print_samr_QueryDisplayInfo2
,
12769 "samr_GetDisplayEnumerationIndex2",
12770 sizeof(struct samr_GetDisplayEnumerationIndex2
),
12771 (ndr_push_flags_fn_t
) ndr_push_samr_GetDisplayEnumerationIndex2
,
12772 (ndr_pull_flags_fn_t
) ndr_pull_samr_GetDisplayEnumerationIndex2
,
12773 (ndr_print_function_t
) ndr_print_samr_GetDisplayEnumerationIndex2
,
12777 "samr_CreateUser2",
12778 sizeof(struct samr_CreateUser2
),
12779 (ndr_push_flags_fn_t
) ndr_push_samr_CreateUser2
,
12780 (ndr_pull_flags_fn_t
) ndr_pull_samr_CreateUser2
,
12781 (ndr_print_function_t
) ndr_print_samr_CreateUser2
,
12785 "samr_QueryDisplayInfo3",
12786 sizeof(struct samr_QueryDisplayInfo3
),
12787 (ndr_push_flags_fn_t
) ndr_push_samr_QueryDisplayInfo3
,
12788 (ndr_pull_flags_fn_t
) ndr_pull_samr_QueryDisplayInfo3
,
12789 (ndr_print_function_t
) ndr_print_samr_QueryDisplayInfo3
,
12793 "samr_AddMultipleMembersToAlias",
12794 sizeof(struct samr_AddMultipleMembersToAlias
),
12795 (ndr_push_flags_fn_t
) ndr_push_samr_AddMultipleMembersToAlias
,
12796 (ndr_pull_flags_fn_t
) ndr_pull_samr_AddMultipleMembersToAlias
,
12797 (ndr_print_function_t
) ndr_print_samr_AddMultipleMembersToAlias
,
12801 "samr_RemoveMultipleMembersFromAlias",
12802 sizeof(struct samr_RemoveMultipleMembersFromAlias
),
12803 (ndr_push_flags_fn_t
) ndr_push_samr_RemoveMultipleMembersFromAlias
,
12804 (ndr_pull_flags_fn_t
) ndr_pull_samr_RemoveMultipleMembersFromAlias
,
12805 (ndr_print_function_t
) ndr_print_samr_RemoveMultipleMembersFromAlias
,
12809 "samr_OemChangePasswordUser2",
12810 sizeof(struct samr_OemChangePasswordUser2
),
12811 (ndr_push_flags_fn_t
) ndr_push_samr_OemChangePasswordUser2
,
12812 (ndr_pull_flags_fn_t
) ndr_pull_samr_OemChangePasswordUser2
,
12813 (ndr_print_function_t
) ndr_print_samr_OemChangePasswordUser2
,
12817 "samr_ChangePasswordUser2",
12818 sizeof(struct samr_ChangePasswordUser2
),
12819 (ndr_push_flags_fn_t
) ndr_push_samr_ChangePasswordUser2
,
12820 (ndr_pull_flags_fn_t
) ndr_pull_samr_ChangePasswordUser2
,
12821 (ndr_print_function_t
) ndr_print_samr_ChangePasswordUser2
,
12825 "samr_GetDomPwInfo",
12826 sizeof(struct samr_GetDomPwInfo
),
12827 (ndr_push_flags_fn_t
) ndr_push_samr_GetDomPwInfo
,
12828 (ndr_pull_flags_fn_t
) ndr_pull_samr_GetDomPwInfo
,
12829 (ndr_print_function_t
) ndr_print_samr_GetDomPwInfo
,
12834 sizeof(struct samr_Connect2
),
12835 (ndr_push_flags_fn_t
) ndr_push_samr_Connect2
,
12836 (ndr_pull_flags_fn_t
) ndr_pull_samr_Connect2
,
12837 (ndr_print_function_t
) ndr_print_samr_Connect2
,
12841 "samr_SetUserInfo2",
12842 sizeof(struct samr_SetUserInfo2
),
12843 (ndr_push_flags_fn_t
) ndr_push_samr_SetUserInfo2
,
12844 (ndr_pull_flags_fn_t
) ndr_pull_samr_SetUserInfo2
,
12845 (ndr_print_function_t
) ndr_print_samr_SetUserInfo2
,
12849 "samr_SetBootKeyInformation",
12850 sizeof(struct samr_SetBootKeyInformation
),
12851 (ndr_push_flags_fn_t
) ndr_push_samr_SetBootKeyInformation
,
12852 (ndr_pull_flags_fn_t
) ndr_pull_samr_SetBootKeyInformation
,
12853 (ndr_print_function_t
) ndr_print_samr_SetBootKeyInformation
,
12857 "samr_GetBootKeyInformation",
12858 sizeof(struct samr_GetBootKeyInformation
),
12859 (ndr_push_flags_fn_t
) ndr_push_samr_GetBootKeyInformation
,
12860 (ndr_pull_flags_fn_t
) ndr_pull_samr_GetBootKeyInformation
,
12861 (ndr_print_function_t
) ndr_print_samr_GetBootKeyInformation
,
12866 sizeof(struct samr_Connect3
),
12867 (ndr_push_flags_fn_t
) ndr_push_samr_Connect3
,
12868 (ndr_pull_flags_fn_t
) ndr_pull_samr_Connect3
,
12869 (ndr_print_function_t
) ndr_print_samr_Connect3
,
12874 sizeof(struct samr_Connect4
),
12875 (ndr_push_flags_fn_t
) ndr_push_samr_Connect4
,
12876 (ndr_pull_flags_fn_t
) ndr_pull_samr_Connect4
,
12877 (ndr_print_function_t
) ndr_print_samr_Connect4
,
12881 "samr_ChangePasswordUser3",
12882 sizeof(struct samr_ChangePasswordUser3
),
12883 (ndr_push_flags_fn_t
) ndr_push_samr_ChangePasswordUser3
,
12884 (ndr_pull_flags_fn_t
) ndr_pull_samr_ChangePasswordUser3
,
12885 (ndr_print_function_t
) ndr_print_samr_ChangePasswordUser3
,
12890 sizeof(struct samr_Connect5
),
12891 (ndr_push_flags_fn_t
) ndr_push_samr_Connect5
,
12892 (ndr_pull_flags_fn_t
) ndr_pull_samr_Connect5
,
12893 (ndr_print_function_t
) ndr_print_samr_Connect5
,
12898 sizeof(struct samr_RidToSid
),
12899 (ndr_push_flags_fn_t
) ndr_push_samr_RidToSid
,
12900 (ndr_pull_flags_fn_t
) ndr_pull_samr_RidToSid
,
12901 (ndr_print_function_t
) ndr_print_samr_RidToSid
,
12905 "samr_SetDsrmPassword",
12906 sizeof(struct samr_SetDsrmPassword
),
12907 (ndr_push_flags_fn_t
) ndr_push_samr_SetDsrmPassword
,
12908 (ndr_pull_flags_fn_t
) ndr_pull_samr_SetDsrmPassword
,
12909 (ndr_print_function_t
) ndr_print_samr_SetDsrmPassword
,
12913 "samr_ValidatePassword",
12914 sizeof(struct samr_ValidatePassword
),
12915 (ndr_push_flags_fn_t
) ndr_push_samr_ValidatePassword
,
12916 (ndr_pull_flags_fn_t
) ndr_pull_samr_ValidatePassword
,
12917 (ndr_print_function_t
) ndr_print_samr_ValidatePassword
,
12920 { NULL
, 0, NULL
, NULL
, NULL
, false }
12923 static const char * const samr_endpoint_strings
[] = {
12924 "ncacn_np:[\\pipe\\samr]",
12929 static const struct ndr_interface_string_array samr_endpoints
= {
12931 .names
= samr_endpoint_strings
12934 static const char * const samr_authservice_strings
[] = {
12938 static const struct ndr_interface_string_array samr_authservices
= {
12940 .names
= samr_authservice_strings
12944 const struct ndr_interface_table ndr_table_samr
= {
12947 {0x12345778,0x1234,0xabcd,{0xef,0x00},{0x01,0x23,0x45,0x67,0x89,0xac}},
12950 .helpstring
= NDR_SAMR_HELPSTRING
,
12952 .calls
= samr_calls
,
12953 .endpoints
= &samr_endpoints
,
12954 .authservices
= &samr_authservices