1 /* parser auto-generated by pidl */
4 #include "../librpc/gen_ndr/ndr_netlogon.h"
6 #include "librpc/gen_ndr/ndr_misc.h"
7 #include "librpc/gen_ndr/ndr_lsa.h"
8 #include "librpc/gen_ndr/ndr_samr.h"
9 #include "librpc/gen_ndr/ndr_security.h"
10 #include "librpc/gen_ndr/ndr_nbt.h"
11 static enum ndr_err_code ndr_push_netr_UasInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_UasInfo *r)
13 if (ndr_flags & NDR_SCALARS) {
14 NDR_CHECK(ndr_push_align(ndr, 4));
15 NDR_CHECK(ndr_push_unique_ptr(ndr, r->account_name));
16 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priv));
17 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->auth_flags));
18 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logon_count));
19 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->bad_pw_count));
20 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->last_logon));
21 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->last_logoff));
22 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->logoff_time));
23 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->kickoff_time));
24 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->password_age));
25 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->pw_can_change));
26 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->pw_must_change));
27 NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer));
28 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
29 NDR_CHECK(ndr_push_unique_ptr(ndr, r->script_path));
30 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown));
32 if (ndr_flags & NDR_BUFFERS) {
33 if (r->account_name) {
34 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF16)));
35 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
36 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF16)));
37 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->account_name, ndr_charset_length(r->account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
40 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->computer, CH_UTF16)));
41 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
42 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->computer, CH_UTF16)));
43 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer, ndr_charset_length(r->computer, CH_UTF16), sizeof(uint16_t), CH_UTF16));
46 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
47 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
48 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
49 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
52 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->script_path, CH_UTF16)));
53 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
54 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->script_path, CH_UTF16)));
55 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->script_path, ndr_charset_length(r->script_path, CH_UTF16), sizeof(uint16_t), CH_UTF16));
58 return NDR_ERR_SUCCESS;
61 static enum ndr_err_code ndr_pull_netr_UasInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_UasInfo *r)
63 uint32_t _ptr_account_name;
64 TALLOC_CTX *_mem_save_account_name_0;
65 uint32_t _ptr_computer;
66 TALLOC_CTX *_mem_save_computer_0;
68 TALLOC_CTX *_mem_save_domain_0;
69 uint32_t _ptr_script_path;
70 TALLOC_CTX *_mem_save_script_path_0;
71 if (ndr_flags & NDR_SCALARS) {
72 NDR_CHECK(ndr_pull_align(ndr, 4));
73 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_account_name));
74 if (_ptr_account_name) {
75 NDR_PULL_ALLOC(ndr, r->account_name);
77 r->account_name = NULL;
79 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priv));
80 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->auth_flags));
81 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logon_count));
82 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->bad_pw_count));
83 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->last_logon));
84 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->last_logoff));
85 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->logoff_time));
86 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->kickoff_time));
87 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->password_age));
88 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->pw_can_change));
89 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->pw_must_change));
90 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer));
92 NDR_PULL_ALLOC(ndr, r->computer);
96 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
98 NDR_PULL_ALLOC(ndr, r->domain);
102 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_script_path));
103 if (_ptr_script_path) {
104 NDR_PULL_ALLOC(ndr, r->script_path);
106 r->script_path = NULL;
108 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown));
110 if (ndr_flags & NDR_BUFFERS) {
111 if (r->account_name) {
112 _mem_save_account_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
113 NDR_PULL_SET_MEM_CTX(ndr, r->account_name, 0);
114 NDR_CHECK(ndr_pull_array_size(ndr, &r->account_name));
115 NDR_CHECK(ndr_pull_array_length(ndr, &r->account_name));
116 if (ndr_get_array_length(ndr, &r->account_name) > ndr_get_array_size(ndr, &r->account_name)) {
117 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->account_name), ndr_get_array_length(ndr, &r->account_name));
119 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->account_name), sizeof(uint16_t)));
120 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->account_name, ndr_get_array_length(ndr, &r->account_name), sizeof(uint16_t), CH_UTF16));
121 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_name_0, 0);
124 _mem_save_computer_0 = NDR_PULL_GET_MEM_CTX(ndr);
125 NDR_PULL_SET_MEM_CTX(ndr, r->computer, 0);
126 NDR_CHECK(ndr_pull_array_size(ndr, &r->computer));
127 NDR_CHECK(ndr_pull_array_length(ndr, &r->computer));
128 if (ndr_get_array_length(ndr, &r->computer) > ndr_get_array_size(ndr, &r->computer)) {
129 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->computer), ndr_get_array_length(ndr, &r->computer));
131 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->computer), sizeof(uint16_t)));
132 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer, ndr_get_array_length(ndr, &r->computer), sizeof(uint16_t), CH_UTF16));
133 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_0, 0);
136 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
137 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
138 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
139 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
140 if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) {
141 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->domain), ndr_get_array_length(ndr, &r->domain));
143 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t)));
144 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16));
145 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
147 if (r->script_path) {
148 _mem_save_script_path_0 = NDR_PULL_GET_MEM_CTX(ndr);
149 NDR_PULL_SET_MEM_CTX(ndr, r->script_path, 0);
150 NDR_CHECK(ndr_pull_array_size(ndr, &r->script_path));
151 NDR_CHECK(ndr_pull_array_length(ndr, &r->script_path));
152 if (ndr_get_array_length(ndr, &r->script_path) > ndr_get_array_size(ndr, &r->script_path)) {
153 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->script_path), ndr_get_array_length(ndr, &r->script_path));
155 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->script_path), sizeof(uint16_t)));
156 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->script_path, ndr_get_array_length(ndr, &r->script_path), sizeof(uint16_t), CH_UTF16));
157 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_script_path_0, 0);
160 return NDR_ERR_SUCCESS;
163 _PUBLIC_ void ndr_print_netr_UasInfo(struct ndr_print *ndr, const char *name, const struct netr_UasInfo *r)
165 ndr_print_struct(ndr, name, "netr_UasInfo");
167 ndr_print_ptr(ndr, "account_name", r->account_name);
169 if (r->account_name) {
170 ndr_print_string(ndr, "account_name", r->account_name);
173 ndr_print_uint32(ndr, "priv", r->priv);
174 ndr_print_uint32(ndr, "auth_flags", r->auth_flags);
175 ndr_print_uint32(ndr, "logon_count", r->logon_count);
176 ndr_print_uint32(ndr, "bad_pw_count", r->bad_pw_count);
177 ndr_print_time_t(ndr, "last_logon", r->last_logon);
178 ndr_print_time_t(ndr, "last_logoff", r->last_logoff);
179 ndr_print_time_t(ndr, "logoff_time", r->logoff_time);
180 ndr_print_time_t(ndr, "kickoff_time", r->kickoff_time);
181 ndr_print_uint32(ndr, "password_age", r->password_age);
182 ndr_print_time_t(ndr, "pw_can_change", r->pw_can_change);
183 ndr_print_time_t(ndr, "pw_must_change", r->pw_must_change);
184 ndr_print_ptr(ndr, "computer", r->computer);
187 ndr_print_string(ndr, "computer", r->computer);
190 ndr_print_ptr(ndr, "domain", r->domain);
193 ndr_print_string(ndr, "domain", r->domain);
196 ndr_print_ptr(ndr, "script_path", r->script_path);
198 if (r->script_path) {
199 ndr_print_string(ndr, "script_path", r->script_path);
202 ndr_print_uint32(ndr, "unknown", r->unknown);
206 static enum ndr_err_code ndr_push_netr_UasLogoffInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_UasLogoffInfo *r)
208 if (ndr_flags & NDR_SCALARS) {
209 NDR_CHECK(ndr_push_align(ndr, 4));
210 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->duration));
211 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count));
213 if (ndr_flags & NDR_BUFFERS) {
215 return NDR_ERR_SUCCESS;
218 static enum ndr_err_code ndr_pull_netr_UasLogoffInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_UasLogoffInfo *r)
220 if (ndr_flags & NDR_SCALARS) {
221 NDR_CHECK(ndr_pull_align(ndr, 4));
222 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->duration));
223 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count));
225 if (ndr_flags & NDR_BUFFERS) {
227 return NDR_ERR_SUCCESS;
230 _PUBLIC_ void ndr_print_netr_UasLogoffInfo(struct ndr_print *ndr, const char *name, const struct netr_UasLogoffInfo *r)
232 ndr_print_struct(ndr, name, "netr_UasLogoffInfo");
234 ndr_print_uint32(ndr, "duration", r->duration);
235 ndr_print_uint16(ndr, "logon_count", r->logon_count);
239 _PUBLIC_ enum ndr_err_code ndr_push_netr_AcctLockStr(struct ndr_push *ndr, int ndr_flags, const struct netr_AcctLockStr *r)
241 if (ndr_flags & NDR_SCALARS) {
242 NDR_CHECK(ndr_push_align(ndr, 4));
243 NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->lockout_duration));
244 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->reset_count));
245 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->bad_attempt_lockout));
246 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy));
248 if (ndr_flags & NDR_BUFFERS) {
250 return NDR_ERR_SUCCESS;
253 _PUBLIC_ enum ndr_err_code ndr_pull_netr_AcctLockStr(struct ndr_pull *ndr, int ndr_flags, struct netr_AcctLockStr *r)
255 if (ndr_flags & NDR_SCALARS) {
256 NDR_CHECK(ndr_pull_align(ndr, 4));
257 NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->lockout_duration));
258 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->reset_count));
259 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->bad_attempt_lockout));
260 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy));
262 if (ndr_flags & NDR_BUFFERS) {
264 return NDR_ERR_SUCCESS;
267 _PUBLIC_ void ndr_print_netr_AcctLockStr(struct ndr_print *ndr, const char *name, const struct netr_AcctLockStr *r)
269 ndr_print_struct(ndr, name, "netr_AcctLockStr");
271 ndr_print_dlong(ndr, "lockout_duration", r->lockout_duration);
272 ndr_print_udlong(ndr, "reset_count", r->reset_count);
273 ndr_print_uint32(ndr, "bad_attempt_lockout", r->bad_attempt_lockout);
274 ndr_print_uint32(ndr, "dummy", r->dummy);
278 _PUBLIC_ enum ndr_err_code ndr_push_netr_LogonParameterControl(struct ndr_push *ndr, int ndr_flags, uint32_t r)
280 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
281 return NDR_ERR_SUCCESS;
284 _PUBLIC_ enum ndr_err_code ndr_pull_netr_LogonParameterControl(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
287 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
289 return NDR_ERR_SUCCESS;
292 _PUBLIC_ void ndr_print_netr_LogonParameterControl(struct ndr_print *ndr, const char *name, uint32_t r)
294 ndr_print_uint32(ndr, name, r);
296 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_CLEARTEXT_PASSWORD_ALLOWED", MSV1_0_CLEARTEXT_PASSWORD_ALLOWED, r);
297 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_UPDATE_LOGON_STATISTICS", MSV1_0_UPDATE_LOGON_STATISTICS, r);
298 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_RETURN_USER_PARAMETERS", MSV1_0_RETURN_USER_PARAMETERS, r);
299 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_DONT_TRY_GUEST_ACCOUNT", MSV1_0_DONT_TRY_GUEST_ACCOUNT, r);
300 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_ALLOW_SERVER_TRUST_ACCOUNT", MSV1_0_ALLOW_SERVER_TRUST_ACCOUNT, r);
301 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_RETURN_PASSWORD_EXPIRY", MSV1_0_RETURN_PASSWORD_EXPIRY, r);
302 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_USE_CLIENT_CHALLENGE", MSV1_0_USE_CLIENT_CHALLENGE, r);
303 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_TRY_GUEST_ACCOUNT_ONLY", MSV1_0_TRY_GUEST_ACCOUNT_ONLY, r);
304 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_RETURN_PROFILE_PATH", MSV1_0_RETURN_PROFILE_PATH, r);
305 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_TRY_SPECIFIED_DOMAIN_ONLY", MSV1_0_TRY_SPECIFIED_DOMAIN_ONLY, r);
306 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_ALLOW_WORKSTATION_TRUST_ACCOUNT", MSV1_0_ALLOW_WORKSTATION_TRUST_ACCOUNT, r);
307 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_DISABLE_PERSONAL_FALLBACK", MSV1_0_DISABLE_PERSONAL_FALLBACK, r);
308 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_ALLOW_FORCE_GUEST", MSV1_0_ALLOW_FORCE_GUEST, r);
309 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_CLEARTEXT_PASSWORD_SUPPLIED", MSV1_0_CLEARTEXT_PASSWORD_SUPPLIED, r);
310 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_USE_DOMAIN_FOR_ROUTING_ONLY", MSV1_0_USE_DOMAIN_FOR_ROUTING_ONLY, r);
311 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_ALLOW_MSVCHAPV2", MSV1_0_ALLOW_MSVCHAPV2, r);
312 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_S4U2SELF", MSV1_0_S4U2SELF, r);
313 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_CHECK_LOGONHOURS_FOR_S4U", MSV1_0_CHECK_LOGONHOURS_FOR_S4U, r);
314 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_SUBAUTHENTICATION_DLL_EX", MSV1_0_SUBAUTHENTICATION_DLL_EX, r);
318 static enum ndr_err_code ndr_push_netr_IdentityInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_IdentityInfo *r)
320 if (ndr_flags & NDR_SCALARS) {
321 NDR_CHECK(ndr_push_align(ndr, 4));
322 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
323 NDR_CHECK(ndr_push_netr_LogonParameterControl(ndr, NDR_SCALARS, r->parameter_control));
324 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logon_id_low));
325 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logon_id_high));
326 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
327 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->workstation));
329 if (ndr_flags & NDR_BUFFERS) {
330 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
331 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
332 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->workstation));
334 return NDR_ERR_SUCCESS;
337 static enum ndr_err_code ndr_pull_netr_IdentityInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_IdentityInfo *r)
339 if (ndr_flags & NDR_SCALARS) {
340 NDR_CHECK(ndr_pull_align(ndr, 4));
341 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
342 NDR_CHECK(ndr_pull_netr_LogonParameterControl(ndr, NDR_SCALARS, &r->parameter_control));
343 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logon_id_low));
344 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logon_id_high));
345 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
346 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->workstation));
348 if (ndr_flags & NDR_BUFFERS) {
349 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
350 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
351 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->workstation));
353 return NDR_ERR_SUCCESS;
356 _PUBLIC_ void ndr_print_netr_IdentityInfo(struct ndr_print *ndr, const char *name, const struct netr_IdentityInfo *r)
358 ndr_print_struct(ndr, name, "netr_IdentityInfo");
360 ndr_print_lsa_String(ndr, "domain_name", &r->domain_name);
361 ndr_print_netr_LogonParameterControl(ndr, "parameter_control", r->parameter_control);
362 ndr_print_uint32(ndr, "logon_id_low", r->logon_id_low);
363 ndr_print_uint32(ndr, "logon_id_high", r->logon_id_high);
364 ndr_print_lsa_String(ndr, "account_name", &r->account_name);
365 ndr_print_lsa_String(ndr, "workstation", &r->workstation);
369 static enum ndr_err_code ndr_push_netr_PasswordInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_PasswordInfo *r)
371 if (ndr_flags & NDR_SCALARS) {
372 NDR_CHECK(ndr_push_align(ndr, 4));
373 NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info));
374 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->lmpassword));
375 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->ntpassword));
377 if (ndr_flags & NDR_BUFFERS) {
378 NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info));
380 return NDR_ERR_SUCCESS;
383 static enum ndr_err_code ndr_pull_netr_PasswordInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_PasswordInfo *r)
385 if (ndr_flags & NDR_SCALARS) {
386 NDR_CHECK(ndr_pull_align(ndr, 4));
387 NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info));
388 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->lmpassword));
389 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->ntpassword));
391 if (ndr_flags & NDR_BUFFERS) {
392 NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info));
394 return NDR_ERR_SUCCESS;
397 _PUBLIC_ void ndr_print_netr_PasswordInfo(struct ndr_print *ndr, const char *name, const struct netr_PasswordInfo *r)
399 ndr_print_struct(ndr, name, "netr_PasswordInfo");
401 ndr_print_netr_IdentityInfo(ndr, "identity_info", &r->identity_info);
402 ndr_print_samr_Password(ndr, "lmpassword", &r->lmpassword);
403 ndr_print_samr_Password(ndr, "ntpassword", &r->ntpassword);
407 static enum ndr_err_code ndr_push_netr_ChallengeResponse(struct ndr_push *ndr, int ndr_flags, const struct netr_ChallengeResponse *r)
410 uint32_t _flags_save_STRUCT = ndr->flags;
411 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
412 if (ndr_flags & NDR_SCALARS) {
413 NDR_CHECK(ndr_push_align(ndr, 4));
414 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
415 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
416 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
418 if (ndr_flags & NDR_BUFFERS) {
420 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
421 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
422 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
423 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
426 ndr->flags = _flags_save_STRUCT;
428 return NDR_ERR_SUCCESS;
431 static enum ndr_err_code ndr_pull_netr_ChallengeResponse(struct ndr_pull *ndr, int ndr_flags, struct netr_ChallengeResponse *r)
434 TALLOC_CTX *_mem_save_data_0;
436 uint32_t _flags_save_STRUCT = ndr->flags;
437 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
438 if (ndr_flags & NDR_SCALARS) {
439 NDR_CHECK(ndr_pull_align(ndr, 4));
440 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
441 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
442 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
444 NDR_PULL_ALLOC(ndr, r->data);
449 if (ndr_flags & NDR_BUFFERS) {
451 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
452 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
453 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
454 NDR_CHECK(ndr_pull_array_length(ndr, &r->data));
455 if (ndr_get_array_length(ndr, &r->data) > ndr_get_array_size(ndr, &r->data)) {
456 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->data), ndr_get_array_length(ndr, &r->data));
458 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
459 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_length(ndr, &r->data)));
460 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
463 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length));
466 NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->data, r->length));
469 ndr->flags = _flags_save_STRUCT;
471 return NDR_ERR_SUCCESS;
474 _PUBLIC_ void ndr_print_netr_ChallengeResponse(struct ndr_print *ndr, const char *name, const struct netr_ChallengeResponse *r)
476 ndr_print_struct(ndr, name, "netr_ChallengeResponse");
478 uint32_t _flags_save_STRUCT = ndr->flags;
479 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
481 ndr_print_uint16(ndr, "length", r->length);
482 ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->length:r->size);
483 ndr_print_ptr(ndr, "data", r->data);
486 ndr_print_array_uint8(ndr, "data", r->data, r->length);
490 ndr->flags = _flags_save_STRUCT;
494 static enum ndr_err_code ndr_push_netr_NetworkInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_NetworkInfo *r)
497 uint32_t _flags_save_STRUCT = ndr->flags;
498 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
499 if (ndr_flags & NDR_SCALARS) {
500 NDR_CHECK(ndr_push_align(ndr, 4));
501 NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info));
502 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->challenge, 8));
503 NDR_CHECK(ndr_push_netr_ChallengeResponse(ndr, NDR_SCALARS, &r->nt));
504 NDR_CHECK(ndr_push_netr_ChallengeResponse(ndr, NDR_SCALARS, &r->lm));
506 if (ndr_flags & NDR_BUFFERS) {
507 NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info));
508 NDR_CHECK(ndr_push_netr_ChallengeResponse(ndr, NDR_BUFFERS, &r->nt));
509 NDR_CHECK(ndr_push_netr_ChallengeResponse(ndr, NDR_BUFFERS, &r->lm));
511 ndr->flags = _flags_save_STRUCT;
513 return NDR_ERR_SUCCESS;
516 static enum ndr_err_code ndr_pull_netr_NetworkInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_NetworkInfo *r)
519 uint32_t _flags_save_STRUCT = ndr->flags;
520 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
521 if (ndr_flags & NDR_SCALARS) {
522 NDR_CHECK(ndr_pull_align(ndr, 4));
523 NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info));
524 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->challenge, 8));
525 NDR_CHECK(ndr_pull_netr_ChallengeResponse(ndr, NDR_SCALARS, &r->nt));
526 NDR_CHECK(ndr_pull_netr_ChallengeResponse(ndr, NDR_SCALARS, &r->lm));
528 if (ndr_flags & NDR_BUFFERS) {
529 NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info));
530 NDR_CHECK(ndr_pull_netr_ChallengeResponse(ndr, NDR_BUFFERS, &r->nt));
531 NDR_CHECK(ndr_pull_netr_ChallengeResponse(ndr, NDR_BUFFERS, &r->lm));
533 ndr->flags = _flags_save_STRUCT;
535 return NDR_ERR_SUCCESS;
538 _PUBLIC_ void ndr_print_netr_NetworkInfo(struct ndr_print *ndr, const char *name, const struct netr_NetworkInfo *r)
540 ndr_print_struct(ndr, name, "netr_NetworkInfo");
542 uint32_t _flags_save_STRUCT = ndr->flags;
543 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
545 ndr_print_netr_IdentityInfo(ndr, "identity_info", &r->identity_info);
546 ndr_print_array_uint8(ndr, "challenge", r->challenge, 8);
547 ndr_print_netr_ChallengeResponse(ndr, "nt", &r->nt);
548 ndr_print_netr_ChallengeResponse(ndr, "lm", &r->lm);
550 ndr->flags = _flags_save_STRUCT;
554 static enum ndr_err_code ndr_push_netr_GenericInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_GenericInfo *r)
557 uint32_t _flags_save_STRUCT = ndr->flags;
558 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
559 if (ndr_flags & NDR_SCALARS) {
560 NDR_CHECK(ndr_push_align(ndr, 4));
561 NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info));
562 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->package_name));
563 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
564 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
566 if (ndr_flags & NDR_BUFFERS) {
567 NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info));
568 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->package_name));
570 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
571 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
574 ndr->flags = _flags_save_STRUCT;
576 return NDR_ERR_SUCCESS;
579 static enum ndr_err_code ndr_pull_netr_GenericInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_GenericInfo *r)
582 TALLOC_CTX *_mem_save_data_0;
584 uint32_t _flags_save_STRUCT = ndr->flags;
585 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
586 if (ndr_flags & NDR_SCALARS) {
587 NDR_CHECK(ndr_pull_align(ndr, 4));
588 NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info));
589 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->package_name));
590 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
591 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
593 NDR_PULL_ALLOC(ndr, r->data);
598 if (ndr_flags & NDR_BUFFERS) {
599 NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info));
600 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->package_name));
602 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
603 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
604 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
605 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
606 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data)));
607 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
610 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length));
613 ndr->flags = _flags_save_STRUCT;
615 return NDR_ERR_SUCCESS;
618 _PUBLIC_ void ndr_print_netr_GenericInfo(struct ndr_print *ndr, const char *name, const struct netr_GenericInfo *r)
620 ndr_print_struct(ndr, name, "netr_GenericInfo");
622 uint32_t _flags_save_STRUCT = ndr->flags;
623 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
625 ndr_print_netr_IdentityInfo(ndr, "identity_info", &r->identity_info);
626 ndr_print_lsa_String(ndr, "package_name", &r->package_name);
627 ndr_print_uint32(ndr, "length", r->length);
628 ndr_print_ptr(ndr, "data", r->data);
631 ndr_print_array_uint8(ndr, "data", r->data, r->length);
635 ndr->flags = _flags_save_STRUCT;
639 static enum ndr_err_code ndr_push_netr_LogonInfoClass(struct ndr_push *ndr, int ndr_flags, enum netr_LogonInfoClass r)
641 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
642 return NDR_ERR_SUCCESS;
645 static enum ndr_err_code ndr_pull_netr_LogonInfoClass(struct ndr_pull *ndr, int ndr_flags, enum netr_LogonInfoClass *r)
648 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
650 return NDR_ERR_SUCCESS;
653 _PUBLIC_ void ndr_print_netr_LogonInfoClass(struct ndr_print *ndr, const char *name, enum netr_LogonInfoClass r)
655 const char *val = NULL;
658 case NetlogonInteractiveInformation: val = "NetlogonInteractiveInformation"; break;
659 case NetlogonNetworkInformation: val = "NetlogonNetworkInformation"; break;
660 case NetlogonServiceInformation: val = "NetlogonServiceInformation"; break;
661 case NetlogonGenericInformation: val = "NetlogonGenericInformation"; break;
662 case NetlogonInteractiveTransitiveInformation: val = "NetlogonInteractiveTransitiveInformation"; break;
663 case NetlogonNetworkTransitiveInformation: val = "NetlogonNetworkTransitiveInformation"; break;
664 case NetlogonServiceTransitiveInformation: val = "NetlogonServiceTransitiveInformation"; break;
666 ndr_print_enum(ndr, name, "ENUM", val, r);
669 _PUBLIC_ enum ndr_err_code ndr_push_netr_LogonLevel(struct ndr_push *ndr, int ndr_flags, const union netr_LogonLevel *r)
671 if (ndr_flags & NDR_SCALARS) {
672 int level = ndr_push_get_switch_value(ndr, r);
673 NDR_CHECK(ndr_push_netr_LogonInfoClass(ndr, NDR_SCALARS, level));
675 case NetlogonInteractiveInformation: {
676 NDR_CHECK(ndr_push_unique_ptr(ndr, r->password));
679 case NetlogonNetworkInformation: {
680 NDR_CHECK(ndr_push_unique_ptr(ndr, r->network));
683 case NetlogonServiceInformation: {
684 NDR_CHECK(ndr_push_unique_ptr(ndr, r->password));
687 case NetlogonGenericInformation: {
688 NDR_CHECK(ndr_push_unique_ptr(ndr, r->generic));
691 case NetlogonInteractiveTransitiveInformation: {
692 NDR_CHECK(ndr_push_unique_ptr(ndr, r->password));
695 case NetlogonNetworkTransitiveInformation: {
696 NDR_CHECK(ndr_push_unique_ptr(ndr, r->network));
699 case NetlogonServiceTransitiveInformation: {
700 NDR_CHECK(ndr_push_unique_ptr(ndr, r->password));
704 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
707 if (ndr_flags & NDR_BUFFERS) {
708 int level = ndr_push_get_switch_value(ndr, r);
710 case NetlogonInteractiveInformation:
712 NDR_CHECK(ndr_push_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
716 case NetlogonNetworkInformation:
718 NDR_CHECK(ndr_push_netr_NetworkInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->network));
722 case NetlogonServiceInformation:
724 NDR_CHECK(ndr_push_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
728 case NetlogonGenericInformation:
730 NDR_CHECK(ndr_push_netr_GenericInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->generic));
734 case NetlogonInteractiveTransitiveInformation:
736 NDR_CHECK(ndr_push_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
740 case NetlogonNetworkTransitiveInformation:
742 NDR_CHECK(ndr_push_netr_NetworkInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->network));
746 case NetlogonServiceTransitiveInformation:
748 NDR_CHECK(ndr_push_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
753 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
756 return NDR_ERR_SUCCESS;
759 _PUBLIC_ enum ndr_err_code ndr_pull_netr_LogonLevel(struct ndr_pull *ndr, int ndr_flags, union netr_LogonLevel *r)
763 TALLOC_CTX *_mem_save_password_0;
764 TALLOC_CTX *_mem_save_network_0;
765 TALLOC_CTX *_mem_save_generic_0;
766 level = ndr_pull_get_switch_value(ndr, r);
767 if (ndr_flags & NDR_SCALARS) {
768 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
769 if (_level != level) {
770 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
773 case NetlogonInteractiveInformation: {
774 uint32_t _ptr_password;
775 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
777 NDR_PULL_ALLOC(ndr, r->password);
783 case NetlogonNetworkInformation: {
784 uint32_t _ptr_network;
785 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_network));
787 NDR_PULL_ALLOC(ndr, r->network);
793 case NetlogonServiceInformation: {
794 uint32_t _ptr_password;
795 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
797 NDR_PULL_ALLOC(ndr, r->password);
803 case NetlogonGenericInformation: {
804 uint32_t _ptr_generic;
805 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_generic));
807 NDR_PULL_ALLOC(ndr, r->generic);
813 case NetlogonInteractiveTransitiveInformation: {
814 uint32_t _ptr_password;
815 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
817 NDR_PULL_ALLOC(ndr, r->password);
823 case NetlogonNetworkTransitiveInformation: {
824 uint32_t _ptr_network;
825 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_network));
827 NDR_PULL_ALLOC(ndr, r->network);
833 case NetlogonServiceTransitiveInformation: {
834 uint32_t _ptr_password;
835 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
837 NDR_PULL_ALLOC(ndr, r->password);
844 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
847 if (ndr_flags & NDR_BUFFERS) {
849 case NetlogonInteractiveInformation:
851 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
852 NDR_PULL_SET_MEM_CTX(ndr, r->password, 0);
853 NDR_CHECK(ndr_pull_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
854 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
858 case NetlogonNetworkInformation:
860 _mem_save_network_0 = NDR_PULL_GET_MEM_CTX(ndr);
861 NDR_PULL_SET_MEM_CTX(ndr, r->network, 0);
862 NDR_CHECK(ndr_pull_netr_NetworkInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->network));
863 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_network_0, 0);
867 case NetlogonServiceInformation:
869 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
870 NDR_PULL_SET_MEM_CTX(ndr, r->password, 0);
871 NDR_CHECK(ndr_pull_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
872 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
876 case NetlogonGenericInformation:
878 _mem_save_generic_0 = NDR_PULL_GET_MEM_CTX(ndr);
879 NDR_PULL_SET_MEM_CTX(ndr, r->generic, 0);
880 NDR_CHECK(ndr_pull_netr_GenericInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->generic));
881 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_generic_0, 0);
885 case NetlogonInteractiveTransitiveInformation:
887 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
888 NDR_PULL_SET_MEM_CTX(ndr, r->password, 0);
889 NDR_CHECK(ndr_pull_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
890 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
894 case NetlogonNetworkTransitiveInformation:
896 _mem_save_network_0 = NDR_PULL_GET_MEM_CTX(ndr);
897 NDR_PULL_SET_MEM_CTX(ndr, r->network, 0);
898 NDR_CHECK(ndr_pull_netr_NetworkInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->network));
899 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_network_0, 0);
903 case NetlogonServiceTransitiveInformation:
905 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
906 NDR_PULL_SET_MEM_CTX(ndr, r->password, 0);
907 NDR_CHECK(ndr_pull_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
908 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
913 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
916 return NDR_ERR_SUCCESS;
919 _PUBLIC_ void ndr_print_netr_LogonLevel(struct ndr_print *ndr, const char *name, const union netr_LogonLevel *r)
922 level = ndr_print_get_switch_value(ndr, r);
923 ndr_print_union(ndr, name, level, "netr_LogonLevel");
925 case NetlogonInteractiveInformation:
926 ndr_print_ptr(ndr, "password", r->password);
929 ndr_print_netr_PasswordInfo(ndr, "password", r->password);
934 case NetlogonNetworkInformation:
935 ndr_print_ptr(ndr, "network", r->network);
938 ndr_print_netr_NetworkInfo(ndr, "network", r->network);
943 case NetlogonServiceInformation:
944 ndr_print_ptr(ndr, "password", r->password);
947 ndr_print_netr_PasswordInfo(ndr, "password", r->password);
952 case NetlogonGenericInformation:
953 ndr_print_ptr(ndr, "generic", r->generic);
956 ndr_print_netr_GenericInfo(ndr, "generic", r->generic);
961 case NetlogonInteractiveTransitiveInformation:
962 ndr_print_ptr(ndr, "password", r->password);
965 ndr_print_netr_PasswordInfo(ndr, "password", r->password);
970 case NetlogonNetworkTransitiveInformation:
971 ndr_print_ptr(ndr, "network", r->network);
974 ndr_print_netr_NetworkInfo(ndr, "network", r->network);
979 case NetlogonServiceTransitiveInformation:
980 ndr_print_ptr(ndr, "password", r->password);
983 ndr_print_netr_PasswordInfo(ndr, "password", r->password);
989 ndr_print_bad_level(ndr, name, level);
993 _PUBLIC_ enum ndr_err_code ndr_push_netr_UserSessionKey(struct ndr_push *ndr, int ndr_flags, const struct netr_UserSessionKey *r)
996 uint32_t _flags_save_STRUCT = ndr->flags;
997 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
998 if (ndr_flags & NDR_SCALARS) {
999 NDR_CHECK(ndr_push_align(ndr, 1));
1000 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->key, 16));
1002 if (ndr_flags & NDR_BUFFERS) {
1004 ndr->flags = _flags_save_STRUCT;
1006 return NDR_ERR_SUCCESS;
1009 _PUBLIC_ enum ndr_err_code ndr_pull_netr_UserSessionKey(struct ndr_pull *ndr, int ndr_flags, struct netr_UserSessionKey *r)
1012 uint32_t _flags_save_STRUCT = ndr->flags;
1013 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1014 if (ndr_flags & NDR_SCALARS) {
1015 NDR_CHECK(ndr_pull_align(ndr, 1));
1016 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->key, 16));
1018 if (ndr_flags & NDR_BUFFERS) {
1020 ndr->flags = _flags_save_STRUCT;
1022 return NDR_ERR_SUCCESS;
1025 _PUBLIC_ void ndr_print_netr_UserSessionKey(struct ndr_print *ndr, const char *name, const struct netr_UserSessionKey *r)
1027 ndr_print_struct(ndr, name, "netr_UserSessionKey");
1029 uint32_t _flags_save_STRUCT = ndr->flags;
1030 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1032 ndr_print_array_uint8(ndr, "key", r->key, 16);
1034 ndr->flags = _flags_save_STRUCT;
1038 _PUBLIC_ enum ndr_err_code ndr_push_netr_LMSessionKey(struct ndr_push *ndr, int ndr_flags, const struct netr_LMSessionKey *r)
1041 uint32_t _flags_save_STRUCT = ndr->flags;
1042 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1043 if (ndr_flags & NDR_SCALARS) {
1044 NDR_CHECK(ndr_push_align(ndr, 1));
1045 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->key, 8));
1047 if (ndr_flags & NDR_BUFFERS) {
1049 ndr->flags = _flags_save_STRUCT;
1051 return NDR_ERR_SUCCESS;
1054 _PUBLIC_ enum ndr_err_code ndr_pull_netr_LMSessionKey(struct ndr_pull *ndr, int ndr_flags, struct netr_LMSessionKey *r)
1057 uint32_t _flags_save_STRUCT = ndr->flags;
1058 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1059 if (ndr_flags & NDR_SCALARS) {
1060 NDR_CHECK(ndr_pull_align(ndr, 1));
1061 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->key, 8));
1063 if (ndr_flags & NDR_BUFFERS) {
1065 ndr->flags = _flags_save_STRUCT;
1067 return NDR_ERR_SUCCESS;
1070 _PUBLIC_ void ndr_print_netr_LMSessionKey(struct ndr_print *ndr, const char *name, const struct netr_LMSessionKey *r)
1072 ndr_print_struct(ndr, name, "netr_LMSessionKey");
1074 uint32_t _flags_save_STRUCT = ndr->flags;
1075 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1077 ndr_print_array_uint8(ndr, "key", r->key, 8);
1079 ndr->flags = _flags_save_STRUCT;
1083 _PUBLIC_ enum ndr_err_code ndr_push_netr_UserFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
1085 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
1086 return NDR_ERR_SUCCESS;
1089 _PUBLIC_ enum ndr_err_code ndr_pull_netr_UserFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
1092 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
1094 return NDR_ERR_SUCCESS;
1097 _PUBLIC_ void ndr_print_netr_UserFlags(struct ndr_print *ndr, const char *name, uint32_t r)
1099 ndr_print_uint32(ndr, name, r);
1101 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_GUEST", NETLOGON_GUEST, r);
1102 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NOENCRYPTION", NETLOGON_NOENCRYPTION, r);
1103 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_CACHED_ACCOUNT", NETLOGON_CACHED_ACCOUNT, r);
1104 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_USED_LM_PASSWORD", NETLOGON_USED_LM_PASSWORD, r);
1105 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_EXTRA_SIDS", NETLOGON_EXTRA_SIDS, r);
1106 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_SUBAUTH_SESSION_KEY", NETLOGON_SUBAUTH_SESSION_KEY, r);
1107 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_SERVER_TRUST_ACCOUNT", NETLOGON_SERVER_TRUST_ACCOUNT, r);
1108 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NTLMV2_ENABLED", NETLOGON_NTLMV2_ENABLED, r);
1109 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_RESOURCE_GROUPS", NETLOGON_RESOURCE_GROUPS, r);
1110 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_PROFILE_PATH_RETURNED", NETLOGON_PROFILE_PATH_RETURNED, r);
1111 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_GRACE_LOGON", NETLOGON_GRACE_LOGON, r);
1115 static enum ndr_err_code ndr_push_netr_SamBaseInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_SamBaseInfo *r)
1117 uint32_t cntr_unknown_0;
1118 if (ndr_flags & NDR_SCALARS) {
1119 NDR_CHECK(ndr_push_align(ndr, 4));
1120 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logon));
1121 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logoff));
1122 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->acct_expiry));
1123 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_password_change));
1124 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->allow_password_change));
1125 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->force_password_change));
1126 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
1127 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
1128 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
1129 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
1130 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
1131 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
1132 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count));
1133 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->bad_password_count));
1134 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
1135 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid));
1136 NDR_CHECK(ndr_push_samr_RidWithAttributeArray(ndr, NDR_SCALARS, &r->groups));
1137 NDR_CHECK(ndr_push_netr_UserFlags(ndr, NDR_SCALARS, r->user_flags));
1138 NDR_CHECK(ndr_push_netr_UserSessionKey(ndr, NDR_SCALARS, &r->key));
1139 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->logon_server));
1140 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->domain));
1141 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_sid));
1142 NDR_CHECK(ndr_push_netr_LMSessionKey(ndr, NDR_SCALARS, &r->LMSessKey));
1143 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
1144 for (cntr_unknown_0 = 0; cntr_unknown_0 < 7; cntr_unknown_0++) {
1145 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown[cntr_unknown_0]));
1148 if (ndr_flags & NDR_BUFFERS) {
1149 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
1150 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
1151 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
1152 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
1153 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
1154 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
1155 NDR_CHECK(ndr_push_samr_RidWithAttributeArray(ndr, NDR_BUFFERS, &r->groups));
1156 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->logon_server));
1157 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->domain));
1158 if (r->domain_sid) {
1159 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid));
1162 return NDR_ERR_SUCCESS;
1165 static enum ndr_err_code ndr_pull_netr_SamBaseInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_SamBaseInfo *r)
1167 uint32_t _ptr_domain_sid;
1168 TALLOC_CTX *_mem_save_domain_sid_0;
1169 uint32_t cntr_unknown_0;
1170 if (ndr_flags & NDR_SCALARS) {
1171 NDR_CHECK(ndr_pull_align(ndr, 4));
1172 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logon));
1173 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logoff));
1174 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->acct_expiry));
1175 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_password_change));
1176 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->allow_password_change));
1177 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->force_password_change));
1178 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
1179 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
1180 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
1181 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
1182 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
1183 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
1184 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count));
1185 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->bad_password_count));
1186 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
1187 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid));
1188 NDR_CHECK(ndr_pull_samr_RidWithAttributeArray(ndr, NDR_SCALARS, &r->groups));
1189 NDR_CHECK(ndr_pull_netr_UserFlags(ndr, NDR_SCALARS, &r->user_flags));
1190 NDR_CHECK(ndr_pull_netr_UserSessionKey(ndr, NDR_SCALARS, &r->key));
1191 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->logon_server));
1192 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->domain));
1193 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_sid));
1194 if (_ptr_domain_sid) {
1195 NDR_PULL_ALLOC(ndr, r->domain_sid);
1197 r->domain_sid = NULL;
1199 NDR_CHECK(ndr_pull_netr_LMSessionKey(ndr, NDR_SCALARS, &r->LMSessKey));
1200 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
1201 for (cntr_unknown_0 = 0; cntr_unknown_0 < 7; cntr_unknown_0++) {
1202 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown[cntr_unknown_0]));
1205 if (ndr_flags & NDR_BUFFERS) {
1206 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
1207 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
1208 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
1209 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
1210 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
1211 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
1212 NDR_CHECK(ndr_pull_samr_RidWithAttributeArray(ndr, NDR_BUFFERS, &r->groups));
1213 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->logon_server));
1214 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->domain));
1215 if (r->domain_sid) {
1216 _mem_save_domain_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
1217 NDR_PULL_SET_MEM_CTX(ndr, r->domain_sid, 0);
1218 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid));
1219 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_sid_0, 0);
1222 return NDR_ERR_SUCCESS;
1225 _PUBLIC_ void ndr_print_netr_SamBaseInfo(struct ndr_print *ndr, const char *name, const struct netr_SamBaseInfo *r)
1227 uint32_t cntr_unknown_0;
1228 ndr_print_struct(ndr, name, "netr_SamBaseInfo");
1230 ndr_print_NTTIME(ndr, "last_logon", r->last_logon);
1231 ndr_print_NTTIME(ndr, "last_logoff", r->last_logoff);
1232 ndr_print_NTTIME(ndr, "acct_expiry", r->acct_expiry);
1233 ndr_print_NTTIME(ndr, "last_password_change", r->last_password_change);
1234 ndr_print_NTTIME(ndr, "allow_password_change", r->allow_password_change);
1235 ndr_print_NTTIME(ndr, "force_password_change", r->force_password_change);
1236 ndr_print_lsa_String(ndr, "account_name", &r->account_name);
1237 ndr_print_lsa_String(ndr, "full_name", &r->full_name);
1238 ndr_print_lsa_String(ndr, "logon_script", &r->logon_script);
1239 ndr_print_lsa_String(ndr, "profile_path", &r->profile_path);
1240 ndr_print_lsa_String(ndr, "home_directory", &r->home_directory);
1241 ndr_print_lsa_String(ndr, "home_drive", &r->home_drive);
1242 ndr_print_uint16(ndr, "logon_count", r->logon_count);
1243 ndr_print_uint16(ndr, "bad_password_count", r->bad_password_count);
1244 ndr_print_uint32(ndr, "rid", r->rid);
1245 ndr_print_uint32(ndr, "primary_gid", r->primary_gid);
1246 ndr_print_samr_RidWithAttributeArray(ndr, "groups", &r->groups);
1247 ndr_print_netr_UserFlags(ndr, "user_flags", r->user_flags);
1248 ndr_print_netr_UserSessionKey(ndr, "key", &r->key);
1249 ndr_print_lsa_StringLarge(ndr, "logon_server", &r->logon_server);
1250 ndr_print_lsa_StringLarge(ndr, "domain", &r->domain);
1251 ndr_print_ptr(ndr, "domain_sid", r->domain_sid);
1253 if (r->domain_sid) {
1254 ndr_print_dom_sid2(ndr, "domain_sid", r->domain_sid);
1257 ndr_print_netr_LMSessionKey(ndr, "LMSessKey", &r->LMSessKey);
1258 ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
1259 ndr->print(ndr, "%s: ARRAY(%d)", "unknown", (int)7);
1261 for (cntr_unknown_0=0;cntr_unknown_0<7;cntr_unknown_0++) {
1263 if (asprintf(&idx_0, "[%d]", cntr_unknown_0) != -1) {
1264 ndr_print_uint32(ndr, "unknown", r->unknown[cntr_unknown_0]);
1272 static enum ndr_err_code ndr_push_netr_SamInfo2(struct ndr_push *ndr, int ndr_flags, const struct netr_SamInfo2 *r)
1274 if (ndr_flags & NDR_SCALARS) {
1275 NDR_CHECK(ndr_push_align(ndr, 4));
1276 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1278 if (ndr_flags & NDR_BUFFERS) {
1279 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1281 return NDR_ERR_SUCCESS;
1284 static enum ndr_err_code ndr_pull_netr_SamInfo2(struct ndr_pull *ndr, int ndr_flags, struct netr_SamInfo2 *r)
1286 if (ndr_flags & NDR_SCALARS) {
1287 NDR_CHECK(ndr_pull_align(ndr, 4));
1288 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1290 if (ndr_flags & NDR_BUFFERS) {
1291 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1293 return NDR_ERR_SUCCESS;
1296 _PUBLIC_ void ndr_print_netr_SamInfo2(struct ndr_print *ndr, const char *name, const struct netr_SamInfo2 *r)
1298 ndr_print_struct(ndr, name, "netr_SamInfo2");
1300 ndr_print_netr_SamBaseInfo(ndr, "base", &r->base);
1304 static enum ndr_err_code ndr_push_netr_SidAttr(struct ndr_push *ndr, int ndr_flags, const struct netr_SidAttr *r)
1306 if (ndr_flags & NDR_SCALARS) {
1307 NDR_CHECK(ndr_push_align(ndr, 4));
1308 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
1309 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr, NDR_SCALARS, r->attributes));
1311 if (ndr_flags & NDR_BUFFERS) {
1313 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
1316 return NDR_ERR_SUCCESS;
1319 static enum ndr_err_code ndr_pull_netr_SidAttr(struct ndr_pull *ndr, int ndr_flags, struct netr_SidAttr *r)
1322 TALLOC_CTX *_mem_save_sid_0;
1323 if (ndr_flags & NDR_SCALARS) {
1324 NDR_CHECK(ndr_pull_align(ndr, 4));
1325 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
1327 NDR_PULL_ALLOC(ndr, r->sid);
1331 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr, NDR_SCALARS, &r->attributes));
1333 if (ndr_flags & NDR_BUFFERS) {
1335 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
1336 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
1337 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
1338 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
1341 return NDR_ERR_SUCCESS;
1344 _PUBLIC_ void ndr_print_netr_SidAttr(struct ndr_print *ndr, const char *name, const struct netr_SidAttr *r)
1346 ndr_print_struct(ndr, name, "netr_SidAttr");
1348 ndr_print_ptr(ndr, "sid", r->sid);
1351 ndr_print_dom_sid2(ndr, "sid", r->sid);
1354 ndr_print_samr_GroupAttrs(ndr, "attributes", r->attributes);
1358 _PUBLIC_ enum ndr_err_code ndr_push_netr_SamInfo3(struct ndr_push *ndr, int ndr_flags, const struct netr_SamInfo3 *r)
1360 uint32_t cntr_sids_1;
1361 if (ndr_flags & NDR_SCALARS) {
1362 NDR_CHECK(ndr_push_align(ndr, 4));
1363 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1364 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sidcount));
1365 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids));
1367 if (ndr_flags & NDR_BUFFERS) {
1368 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1370 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sidcount));
1371 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1372 NDR_CHECK(ndr_push_netr_SidAttr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
1374 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1375 NDR_CHECK(ndr_push_netr_SidAttr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
1379 return NDR_ERR_SUCCESS;
1382 _PUBLIC_ enum ndr_err_code ndr_pull_netr_SamInfo3(struct ndr_pull *ndr, int ndr_flags, struct netr_SamInfo3 *r)
1385 uint32_t cntr_sids_1;
1386 TALLOC_CTX *_mem_save_sids_0;
1387 TALLOC_CTX *_mem_save_sids_1;
1388 if (ndr_flags & NDR_SCALARS) {
1389 NDR_CHECK(ndr_pull_align(ndr, 4));
1390 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1391 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sidcount));
1392 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
1394 NDR_PULL_ALLOC(ndr, r->sids);
1399 if (ndr_flags & NDR_BUFFERS) {
1400 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1402 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1403 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
1404 NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
1405 NDR_PULL_ALLOC_N(ndr, r->sids, ndr_get_array_size(ndr, &r->sids));
1406 _mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr);
1407 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
1408 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1409 NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
1411 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1412 NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
1414 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_1, 0);
1415 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
1418 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sids, r->sidcount));
1421 return NDR_ERR_SUCCESS;
1424 _PUBLIC_ void ndr_print_netr_SamInfo3(struct ndr_print *ndr, const char *name, const struct netr_SamInfo3 *r)
1426 uint32_t cntr_sids_1;
1427 ndr_print_struct(ndr, name, "netr_SamInfo3");
1429 ndr_print_netr_SamBaseInfo(ndr, "base", &r->base);
1430 ndr_print_uint32(ndr, "sidcount", r->sidcount);
1431 ndr_print_ptr(ndr, "sids", r->sids);
1434 ndr->print(ndr, "%s: ARRAY(%d)", "sids", (int)r->sidcount);
1436 for (cntr_sids_1=0;cntr_sids_1<r->sidcount;cntr_sids_1++) {
1438 if (asprintf(&idx_1, "[%d]", cntr_sids_1) != -1) {
1439 ndr_print_netr_SidAttr(ndr, "sids", &r->sids[cntr_sids_1]);
1449 static enum ndr_err_code ndr_push_netr_SamInfo6(struct ndr_push *ndr, int ndr_flags, const struct netr_SamInfo6 *r)
1451 uint32_t cntr_sids_1;
1452 uint32_t cntr_unknown4_0;
1453 if (ndr_flags & NDR_SCALARS) {
1454 NDR_CHECK(ndr_push_align(ndr, 4));
1455 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1456 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sidcount));
1457 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids));
1458 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->forest));
1459 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->principle));
1460 for (cntr_unknown4_0 = 0; cntr_unknown4_0 < 20; cntr_unknown4_0++) {
1461 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4[cntr_unknown4_0]));
1464 if (ndr_flags & NDR_BUFFERS) {
1465 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1467 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sidcount));
1468 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1469 NDR_CHECK(ndr_push_netr_SidAttr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
1471 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1472 NDR_CHECK(ndr_push_netr_SidAttr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
1475 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->forest));
1476 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->principle));
1478 return NDR_ERR_SUCCESS;
1481 static enum ndr_err_code ndr_pull_netr_SamInfo6(struct ndr_pull *ndr, int ndr_flags, struct netr_SamInfo6 *r)
1484 uint32_t cntr_sids_1;
1485 TALLOC_CTX *_mem_save_sids_0;
1486 TALLOC_CTX *_mem_save_sids_1;
1487 uint32_t cntr_unknown4_0;
1488 if (ndr_flags & NDR_SCALARS) {
1489 NDR_CHECK(ndr_pull_align(ndr, 4));
1490 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1491 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sidcount));
1492 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
1494 NDR_PULL_ALLOC(ndr, r->sids);
1498 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->forest));
1499 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->principle));
1500 for (cntr_unknown4_0 = 0; cntr_unknown4_0 < 20; cntr_unknown4_0++) {
1501 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4[cntr_unknown4_0]));
1504 if (ndr_flags & NDR_BUFFERS) {
1505 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1507 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1508 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
1509 NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
1510 NDR_PULL_ALLOC_N(ndr, r->sids, ndr_get_array_size(ndr, &r->sids));
1511 _mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr);
1512 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
1513 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1514 NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
1516 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1517 NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
1519 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_1, 0);
1520 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
1522 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->forest));
1523 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->principle));
1525 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sids, r->sidcount));
1528 return NDR_ERR_SUCCESS;
1531 _PUBLIC_ void ndr_print_netr_SamInfo6(struct ndr_print *ndr, const char *name, const struct netr_SamInfo6 *r)
1533 uint32_t cntr_sids_1;
1534 uint32_t cntr_unknown4_0;
1535 ndr_print_struct(ndr, name, "netr_SamInfo6");
1537 ndr_print_netr_SamBaseInfo(ndr, "base", &r->base);
1538 ndr_print_uint32(ndr, "sidcount", r->sidcount);
1539 ndr_print_ptr(ndr, "sids", r->sids);
1542 ndr->print(ndr, "%s: ARRAY(%d)", "sids", (int)r->sidcount);
1544 for (cntr_sids_1=0;cntr_sids_1<r->sidcount;cntr_sids_1++) {
1546 if (asprintf(&idx_1, "[%d]", cntr_sids_1) != -1) {
1547 ndr_print_netr_SidAttr(ndr, "sids", &r->sids[cntr_sids_1]);
1554 ndr_print_lsa_String(ndr, "forest", &r->forest);
1555 ndr_print_lsa_String(ndr, "principle", &r->principle);
1556 ndr->print(ndr, "%s: ARRAY(%d)", "unknown4", (int)20);
1558 for (cntr_unknown4_0=0;cntr_unknown4_0<20;cntr_unknown4_0++) {
1560 if (asprintf(&idx_0, "[%d]", cntr_unknown4_0) != -1) {
1561 ndr_print_uint32(ndr, "unknown4", r->unknown4[cntr_unknown4_0]);
1569 static enum ndr_err_code ndr_push_netr_PacInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_PacInfo *r)
1571 uint32_t cntr_expansionroom_0;
1572 if (ndr_flags & NDR_SCALARS) {
1573 NDR_CHECK(ndr_push_align(ndr, 4));
1574 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pac_size));
1575 NDR_CHECK(ndr_push_unique_ptr(ndr, r->pac));
1576 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_domain));
1577 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_server));
1578 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->principal_name));
1579 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->auth_size));
1580 NDR_CHECK(ndr_push_unique_ptr(ndr, r->auth));
1581 NDR_CHECK(ndr_push_netr_UserSessionKey(ndr, NDR_SCALARS, &r->user_session_key));
1582 for (cntr_expansionroom_0 = 0; cntr_expansionroom_0 < 10; cntr_expansionroom_0++) {
1583 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->expansionroom[cntr_expansionroom_0]));
1585 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
1586 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
1587 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
1588 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
1590 if (ndr_flags & NDR_BUFFERS) {
1592 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pac_size));
1593 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->pac, r->pac_size));
1595 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_domain));
1596 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_server));
1597 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->principal_name));
1599 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->auth_size));
1600 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->auth, r->auth_size));
1602 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
1603 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
1604 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
1605 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
1607 return NDR_ERR_SUCCESS;
1610 static enum ndr_err_code ndr_pull_netr_PacInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_PacInfo *r)
1613 TALLOC_CTX *_mem_save_pac_0;
1615 TALLOC_CTX *_mem_save_auth_0;
1616 uint32_t cntr_expansionroom_0;
1617 if (ndr_flags & NDR_SCALARS) {
1618 NDR_CHECK(ndr_pull_align(ndr, 4));
1619 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pac_size));
1620 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pac));
1622 NDR_PULL_ALLOC(ndr, r->pac);
1626 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_domain));
1627 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_server));
1628 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->principal_name));
1629 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->auth_size));
1630 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_auth));
1632 NDR_PULL_ALLOC(ndr, r->auth);
1636 NDR_CHECK(ndr_pull_netr_UserSessionKey(ndr, NDR_SCALARS, &r->user_session_key));
1637 for (cntr_expansionroom_0 = 0; cntr_expansionroom_0 < 10; cntr_expansionroom_0++) {
1638 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->expansionroom[cntr_expansionroom_0]));
1640 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
1641 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
1642 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
1643 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
1645 if (ndr_flags & NDR_BUFFERS) {
1647 _mem_save_pac_0 = NDR_PULL_GET_MEM_CTX(ndr);
1648 NDR_PULL_SET_MEM_CTX(ndr, r->pac, 0);
1649 NDR_CHECK(ndr_pull_array_size(ndr, &r->pac));
1650 NDR_PULL_ALLOC_N(ndr, r->pac, ndr_get_array_size(ndr, &r->pac));
1651 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->pac, ndr_get_array_size(ndr, &r->pac)));
1652 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pac_0, 0);
1654 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_domain));
1655 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_server));
1656 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->principal_name));
1658 _mem_save_auth_0 = NDR_PULL_GET_MEM_CTX(ndr);
1659 NDR_PULL_SET_MEM_CTX(ndr, r->auth, 0);
1660 NDR_CHECK(ndr_pull_array_size(ndr, &r->auth));
1661 NDR_PULL_ALLOC_N(ndr, r->auth, ndr_get_array_size(ndr, &r->auth));
1662 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->auth, ndr_get_array_size(ndr, &r->auth)));
1663 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_auth_0, 0);
1665 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
1666 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
1667 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
1668 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
1670 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->pac, r->pac_size));
1673 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->auth, r->auth_size));
1676 return NDR_ERR_SUCCESS;
1679 _PUBLIC_ void ndr_print_netr_PacInfo(struct ndr_print *ndr, const char *name, const struct netr_PacInfo *r)
1681 uint32_t cntr_expansionroom_0;
1682 ndr_print_struct(ndr, name, "netr_PacInfo");
1684 ndr_print_uint32(ndr, "pac_size", r->pac_size);
1685 ndr_print_ptr(ndr, "pac", r->pac);
1688 ndr_print_array_uint8(ndr, "pac", r->pac, r->pac_size);
1691 ndr_print_lsa_String(ndr, "logon_domain", &r->logon_domain);
1692 ndr_print_lsa_String(ndr, "logon_server", &r->logon_server);
1693 ndr_print_lsa_String(ndr, "principal_name", &r->principal_name);
1694 ndr_print_uint32(ndr, "auth_size", r->auth_size);
1695 ndr_print_ptr(ndr, "auth", r->auth);
1698 ndr_print_array_uint8(ndr, "auth", r->auth, r->auth_size);
1701 ndr_print_netr_UserSessionKey(ndr, "user_session_key", &r->user_session_key);
1702 ndr->print(ndr, "%s: ARRAY(%d)", "expansionroom", (int)10);
1704 for (cntr_expansionroom_0=0;cntr_expansionroom_0<10;cntr_expansionroom_0++) {
1706 if (asprintf(&idx_0, "[%d]", cntr_expansionroom_0) != -1) {
1707 ndr_print_uint32(ndr, "expansionroom", r->expansionroom[cntr_expansionroom_0]);
1712 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
1713 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
1714 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
1715 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
1719 static enum ndr_err_code ndr_push_netr_GenericInfo2(struct ndr_push *ndr, int ndr_flags, const struct netr_GenericInfo2 *r)
1722 uint32_t _flags_save_STRUCT = ndr->flags;
1723 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1724 if (ndr_flags & NDR_SCALARS) {
1725 NDR_CHECK(ndr_push_align(ndr, 4));
1726 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
1727 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
1729 if (ndr_flags & NDR_BUFFERS) {
1731 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
1732 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
1735 ndr->flags = _flags_save_STRUCT;
1737 return NDR_ERR_SUCCESS;
1740 static enum ndr_err_code ndr_pull_netr_GenericInfo2(struct ndr_pull *ndr, int ndr_flags, struct netr_GenericInfo2 *r)
1743 TALLOC_CTX *_mem_save_data_0;
1745 uint32_t _flags_save_STRUCT = ndr->flags;
1746 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1747 if (ndr_flags & NDR_SCALARS) {
1748 NDR_CHECK(ndr_pull_align(ndr, 4));
1749 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
1750 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
1752 NDR_PULL_ALLOC(ndr, r->data);
1757 if (ndr_flags & NDR_BUFFERS) {
1759 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
1760 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
1761 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
1762 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
1763 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data)));
1764 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
1767 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length));
1770 ndr->flags = _flags_save_STRUCT;
1772 return NDR_ERR_SUCCESS;
1775 _PUBLIC_ void ndr_print_netr_GenericInfo2(struct ndr_print *ndr, const char *name, const struct netr_GenericInfo2 *r)
1777 ndr_print_struct(ndr, name, "netr_GenericInfo2");
1779 uint32_t _flags_save_STRUCT = ndr->flags;
1780 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1782 ndr_print_uint32(ndr, "length", r->length);
1783 ndr_print_ptr(ndr, "data", r->data);
1786 ndr_print_array_uint8(ndr, "data", r->data, r->length);
1790 ndr->flags = _flags_save_STRUCT;
1794 _PUBLIC_ enum ndr_err_code ndr_push_netr_Validation(struct ndr_push *ndr, int ndr_flags, const union netr_Validation *r)
1796 if (ndr_flags & NDR_SCALARS) {
1797 int level = ndr_push_get_switch_value(ndr, r);
1798 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level));
1800 case NetlogonValidationSamInfo: {
1801 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sam2));
1804 case NetlogonValidationSamInfo2: {
1805 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sam3));
1809 NDR_CHECK(ndr_push_unique_ptr(ndr, r->pac));
1812 case NetlogonValidationGenericInfo2: {
1813 NDR_CHECK(ndr_push_unique_ptr(ndr, r->generic));
1816 case NetlogonValidationSamInfo4: {
1817 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sam6));
1821 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1824 if (ndr_flags & NDR_BUFFERS) {
1825 int level = ndr_push_get_switch_value(ndr, r);
1827 case NetlogonValidationSamInfo:
1829 NDR_CHECK(ndr_push_netr_SamInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam2));
1833 case NetlogonValidationSamInfo2:
1835 NDR_CHECK(ndr_push_netr_SamInfo3(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam3));
1841 NDR_CHECK(ndr_push_netr_PacInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->pac));
1845 case NetlogonValidationGenericInfo2:
1847 NDR_CHECK(ndr_push_netr_GenericInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->generic));
1851 case NetlogonValidationSamInfo4:
1853 NDR_CHECK(ndr_push_netr_SamInfo6(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam6));
1858 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1861 return NDR_ERR_SUCCESS;
1864 _PUBLIC_ enum ndr_err_code ndr_pull_netr_Validation(struct ndr_pull *ndr, int ndr_flags, union netr_Validation *r)
1868 TALLOC_CTX *_mem_save_sam2_0;
1869 TALLOC_CTX *_mem_save_sam3_0;
1870 TALLOC_CTX *_mem_save_pac_0;
1871 TALLOC_CTX *_mem_save_generic_0;
1872 TALLOC_CTX *_mem_save_sam6_0;
1873 level = ndr_pull_get_switch_value(ndr, r);
1874 if (ndr_flags & NDR_SCALARS) {
1875 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
1876 if (_level != level) {
1877 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
1880 case NetlogonValidationSamInfo: {
1882 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam2));
1884 NDR_PULL_ALLOC(ndr, r->sam2);
1890 case NetlogonValidationSamInfo2: {
1892 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam3));
1894 NDR_PULL_ALLOC(ndr, r->sam3);
1902 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pac));
1904 NDR_PULL_ALLOC(ndr, r->pac);
1910 case NetlogonValidationGenericInfo2: {
1911 uint32_t _ptr_generic;
1912 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_generic));
1914 NDR_PULL_ALLOC(ndr, r->generic);
1920 case NetlogonValidationSamInfo4: {
1922 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam6));
1924 NDR_PULL_ALLOC(ndr, r->sam6);
1931 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1934 if (ndr_flags & NDR_BUFFERS) {
1936 case NetlogonValidationSamInfo:
1938 _mem_save_sam2_0 = NDR_PULL_GET_MEM_CTX(ndr);
1939 NDR_PULL_SET_MEM_CTX(ndr, r->sam2, 0);
1940 NDR_CHECK(ndr_pull_netr_SamInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam2));
1941 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam2_0, 0);
1945 case NetlogonValidationSamInfo2:
1947 _mem_save_sam3_0 = NDR_PULL_GET_MEM_CTX(ndr);
1948 NDR_PULL_SET_MEM_CTX(ndr, r->sam3, 0);
1949 NDR_CHECK(ndr_pull_netr_SamInfo3(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam3));
1950 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam3_0, 0);
1956 _mem_save_pac_0 = NDR_PULL_GET_MEM_CTX(ndr);
1957 NDR_PULL_SET_MEM_CTX(ndr, r->pac, 0);
1958 NDR_CHECK(ndr_pull_netr_PacInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->pac));
1959 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pac_0, 0);
1963 case NetlogonValidationGenericInfo2:
1965 _mem_save_generic_0 = NDR_PULL_GET_MEM_CTX(ndr);
1966 NDR_PULL_SET_MEM_CTX(ndr, r->generic, 0);
1967 NDR_CHECK(ndr_pull_netr_GenericInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->generic));
1968 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_generic_0, 0);
1972 case NetlogonValidationSamInfo4:
1974 _mem_save_sam6_0 = NDR_PULL_GET_MEM_CTX(ndr);
1975 NDR_PULL_SET_MEM_CTX(ndr, r->sam6, 0);
1976 NDR_CHECK(ndr_pull_netr_SamInfo6(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam6));
1977 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam6_0, 0);
1982 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1985 return NDR_ERR_SUCCESS;
1988 _PUBLIC_ void ndr_print_netr_Validation(struct ndr_print *ndr, const char *name, const union netr_Validation *r)
1991 level = ndr_print_get_switch_value(ndr, r);
1992 ndr_print_union(ndr, name, level, "netr_Validation");
1994 case NetlogonValidationSamInfo:
1995 ndr_print_ptr(ndr, "sam2", r->sam2);
1998 ndr_print_netr_SamInfo2(ndr, "sam2", r->sam2);
2003 case NetlogonValidationSamInfo2:
2004 ndr_print_ptr(ndr, "sam3", r->sam3);
2007 ndr_print_netr_SamInfo3(ndr, "sam3", r->sam3);
2013 ndr_print_ptr(ndr, "pac", r->pac);
2016 ndr_print_netr_PacInfo(ndr, "pac", r->pac);
2021 case NetlogonValidationGenericInfo2:
2022 ndr_print_ptr(ndr, "generic", r->generic);
2025 ndr_print_netr_GenericInfo2(ndr, "generic", r->generic);
2030 case NetlogonValidationSamInfo4:
2031 ndr_print_ptr(ndr, "sam6", r->sam6);
2034 ndr_print_netr_SamInfo6(ndr, "sam6", r->sam6);
2040 ndr_print_bad_level(ndr, name, level);
2044 _PUBLIC_ enum ndr_err_code ndr_push_netr_Credential(struct ndr_push *ndr, int ndr_flags, const struct netr_Credential *r)
2047 uint32_t _flags_save_STRUCT = ndr->flags;
2048 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2049 if (ndr_flags & NDR_SCALARS) {
2050 NDR_CHECK(ndr_push_align(ndr, 1));
2051 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, 8));
2053 if (ndr_flags & NDR_BUFFERS) {
2055 ndr->flags = _flags_save_STRUCT;
2057 return NDR_ERR_SUCCESS;
2060 _PUBLIC_ enum ndr_err_code ndr_pull_netr_Credential(struct ndr_pull *ndr, int ndr_flags, struct netr_Credential *r)
2063 uint32_t _flags_save_STRUCT = ndr->flags;
2064 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2065 if (ndr_flags & NDR_SCALARS) {
2066 NDR_CHECK(ndr_pull_align(ndr, 1));
2067 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, 8));
2069 if (ndr_flags & NDR_BUFFERS) {
2071 ndr->flags = _flags_save_STRUCT;
2073 return NDR_ERR_SUCCESS;
2076 _PUBLIC_ void ndr_print_netr_Credential(struct ndr_print *ndr, const char *name, const struct netr_Credential *r)
2078 ndr_print_struct(ndr, name, "netr_Credential");
2080 uint32_t _flags_save_STRUCT = ndr->flags;
2081 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2083 ndr_print_array_uint8(ndr, "data", r->data, 8);
2085 ndr->flags = _flags_save_STRUCT;
2089 _PUBLIC_ enum ndr_err_code ndr_push_netr_Authenticator(struct ndr_push *ndr, int ndr_flags, const struct netr_Authenticator *r)
2091 if (ndr_flags & NDR_SCALARS) {
2092 NDR_CHECK(ndr_push_align(ndr, 4));
2093 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, &r->cred));
2094 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->timestamp));
2096 if (ndr_flags & NDR_BUFFERS) {
2098 return NDR_ERR_SUCCESS;
2101 _PUBLIC_ enum ndr_err_code ndr_pull_netr_Authenticator(struct ndr_pull *ndr, int ndr_flags, struct netr_Authenticator *r)
2103 if (ndr_flags & NDR_SCALARS) {
2104 NDR_CHECK(ndr_pull_align(ndr, 4));
2105 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, &r->cred));
2106 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->timestamp));
2108 if (ndr_flags & NDR_BUFFERS) {
2110 return NDR_ERR_SUCCESS;
2113 _PUBLIC_ void ndr_print_netr_Authenticator(struct ndr_print *ndr, const char *name, const struct netr_Authenticator *r)
2115 ndr_print_struct(ndr, name, "netr_Authenticator");
2117 ndr_print_netr_Credential(ndr, "cred", &r->cred);
2118 ndr_print_time_t(ndr, "timestamp", r->timestamp);
2122 static enum ndr_err_code ndr_push_netr_DELTA_DELETE_USER(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_DELETE_USER *r)
2124 if (ndr_flags & NDR_SCALARS) {
2125 NDR_CHECK(ndr_push_align(ndr, 4));
2126 NDR_CHECK(ndr_push_unique_ptr(ndr, r->account_name));
2127 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2128 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2129 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2130 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2131 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
2132 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
2133 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
2134 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
2136 if (ndr_flags & NDR_BUFFERS) {
2137 if (r->account_name) {
2138 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF16)));
2139 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
2140 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF16)));
2141 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->account_name, ndr_charset_length(r->account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
2143 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
2144 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2145 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2146 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2148 return NDR_ERR_SUCCESS;
2151 static enum ndr_err_code ndr_pull_netr_DELTA_DELETE_USER(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_DELETE_USER *r)
2153 uint32_t _ptr_account_name;
2154 TALLOC_CTX *_mem_save_account_name_0;
2155 if (ndr_flags & NDR_SCALARS) {
2156 NDR_CHECK(ndr_pull_align(ndr, 4));
2157 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_account_name));
2158 if (_ptr_account_name) {
2159 NDR_PULL_ALLOC(ndr, r->account_name);
2161 r->account_name = NULL;
2163 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2164 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2165 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2166 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2167 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
2168 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
2169 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
2170 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
2172 if (ndr_flags & NDR_BUFFERS) {
2173 if (r->account_name) {
2174 _mem_save_account_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
2175 NDR_PULL_SET_MEM_CTX(ndr, r->account_name, 0);
2176 NDR_CHECK(ndr_pull_array_size(ndr, &r->account_name));
2177 NDR_CHECK(ndr_pull_array_length(ndr, &r->account_name));
2178 if (ndr_get_array_length(ndr, &r->account_name) > ndr_get_array_size(ndr, &r->account_name)) {
2179 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->account_name), ndr_get_array_length(ndr, &r->account_name));
2181 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->account_name), sizeof(uint16_t)));
2182 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->account_name, ndr_get_array_length(ndr, &r->account_name), sizeof(uint16_t), CH_UTF16));
2183 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_name_0, 0);
2185 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
2186 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2187 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2188 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2190 return NDR_ERR_SUCCESS;
2193 _PUBLIC_ void ndr_print_netr_DELTA_DELETE_USER(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DELETE_USER *r)
2195 ndr_print_struct(ndr, name, "netr_DELTA_DELETE_USER");
2197 ndr_print_ptr(ndr, "account_name", r->account_name);
2199 if (r->account_name) {
2200 ndr_print_string(ndr, "account_name", r->account_name);
2203 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
2204 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
2205 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
2206 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
2207 ndr_print_uint32(ndr, "unknown5", r->unknown5);
2208 ndr_print_uint32(ndr, "unknown6", r->unknown6);
2209 ndr_print_uint32(ndr, "unknown7", r->unknown7);
2210 ndr_print_uint32(ndr, "unknown8", r->unknown8);
2214 static enum ndr_err_code ndr_push_netr_USER_KEY16(struct ndr_push *ndr, int ndr_flags, const struct netr_USER_KEY16 *r)
2216 if (ndr_flags & NDR_SCALARS) {
2217 NDR_CHECK(ndr_push_align(ndr, 4));
2218 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
2219 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
2220 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
2221 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->pwd));
2223 if (ndr_flags & NDR_BUFFERS) {
2225 return NDR_ERR_SUCCESS;
2228 static enum ndr_err_code ndr_pull_netr_USER_KEY16(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_KEY16 *r)
2230 if (ndr_flags & NDR_SCALARS) {
2231 NDR_CHECK(ndr_pull_align(ndr, 4));
2232 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
2233 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
2234 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
2235 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->pwd));
2237 if (ndr_flags & NDR_BUFFERS) {
2239 return NDR_ERR_SUCCESS;
2242 _PUBLIC_ void ndr_print_netr_USER_KEY16(struct ndr_print *ndr, const char *name, const struct netr_USER_KEY16 *r)
2244 ndr_print_struct(ndr, name, "netr_USER_KEY16");
2246 ndr_print_uint16(ndr, "length", r->length);
2247 ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->length:r->size);
2248 ndr_print_uint32(ndr, "flags", r->flags);
2249 ndr_print_samr_Password(ndr, "pwd", &r->pwd);
2253 static enum ndr_err_code ndr_push_netr_PasswordHistory(struct ndr_push *ndr, int ndr_flags, const struct netr_PasswordHistory *r)
2255 if (ndr_flags & NDR_SCALARS) {
2256 NDR_CHECK(ndr_push_align(ndr, 4));
2257 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->nt_length));
2258 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->nt_length));
2259 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nt_flags));
2260 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lm_length));
2261 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lm_length));
2262 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->lm_flags));
2263 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->nt_history, r->nt_length));
2264 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->lm_history, r->lm_length));
2266 if (ndr_flags & NDR_BUFFERS) {
2268 return NDR_ERR_SUCCESS;
2271 static enum ndr_err_code ndr_pull_netr_PasswordHistory(struct ndr_pull *ndr, int ndr_flags, struct netr_PasswordHistory *r)
2273 if (ndr_flags & NDR_SCALARS) {
2274 NDR_CHECK(ndr_pull_align(ndr, 4));
2275 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->nt_length));
2276 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->nt_size));
2277 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nt_flags));
2278 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lm_length));
2279 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lm_size));
2280 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->lm_flags));
2281 NDR_PULL_ALLOC_N(ndr, r->nt_history, r->nt_length);
2282 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->nt_history, r->nt_length));
2283 NDR_PULL_ALLOC_N(ndr, r->lm_history, r->lm_length);
2284 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->lm_history, r->lm_length));
2286 if (ndr_flags & NDR_BUFFERS) {
2288 return NDR_ERR_SUCCESS;
2291 _PUBLIC_ void ndr_print_netr_PasswordHistory(struct ndr_print *ndr, const char *name, const struct netr_PasswordHistory *r)
2293 ndr_print_struct(ndr, name, "netr_PasswordHistory");
2295 ndr_print_uint16(ndr, "nt_length", r->nt_length);
2296 ndr_print_uint16(ndr, "nt_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->nt_length:r->nt_size);
2297 ndr_print_uint32(ndr, "nt_flags", r->nt_flags);
2298 ndr_print_uint16(ndr, "lm_length", r->lm_length);
2299 ndr_print_uint16(ndr, "lm_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->lm_length:r->lm_size);
2300 ndr_print_uint32(ndr, "lm_flags", r->lm_flags);
2301 ndr_print_array_uint8(ndr, "nt_history", r->nt_history, r->nt_length);
2302 ndr_print_array_uint8(ndr, "lm_history", r->lm_history, r->lm_length);
2306 static enum ndr_err_code ndr_push_netr_USER_KEYS2(struct ndr_push *ndr, int ndr_flags, const struct netr_USER_KEYS2 *r)
2308 if (ndr_flags & NDR_SCALARS) {
2309 NDR_CHECK(ndr_push_align(ndr, 4));
2310 NDR_CHECK(ndr_push_netr_USER_KEY16(ndr, NDR_SCALARS, &r->lmpassword));
2311 NDR_CHECK(ndr_push_netr_USER_KEY16(ndr, NDR_SCALARS, &r->ntpassword));
2312 NDR_CHECK(ndr_push_netr_PasswordHistory(ndr, NDR_SCALARS, &r->history));
2314 if (ndr_flags & NDR_BUFFERS) {
2316 return NDR_ERR_SUCCESS;
2319 static enum ndr_err_code ndr_pull_netr_USER_KEYS2(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_KEYS2 *r)
2321 if (ndr_flags & NDR_SCALARS) {
2322 NDR_CHECK(ndr_pull_align(ndr, 4));
2323 NDR_CHECK(ndr_pull_netr_USER_KEY16(ndr, NDR_SCALARS, &r->lmpassword));
2324 NDR_CHECK(ndr_pull_netr_USER_KEY16(ndr, NDR_SCALARS, &r->ntpassword));
2325 NDR_CHECK(ndr_pull_netr_PasswordHistory(ndr, NDR_SCALARS, &r->history));
2327 if (ndr_flags & NDR_BUFFERS) {
2329 return NDR_ERR_SUCCESS;
2332 _PUBLIC_ void ndr_print_netr_USER_KEYS2(struct ndr_print *ndr, const char *name, const struct netr_USER_KEYS2 *r)
2334 ndr_print_struct(ndr, name, "netr_USER_KEYS2");
2336 ndr_print_netr_USER_KEY16(ndr, "lmpassword", &r->lmpassword);
2337 ndr_print_netr_USER_KEY16(ndr, "ntpassword", &r->ntpassword);
2338 ndr_print_netr_PasswordHistory(ndr, "history", &r->history);
2342 static enum ndr_err_code ndr_push_netr_USER_KEY_UNION(struct ndr_push *ndr, int ndr_flags, const struct netr_USER_KEY_UNION *r)
2344 if (ndr_flags & NDR_SCALARS) {
2345 NDR_CHECK(ndr_push_align(ndr, 4));
2346 NDR_CHECK(ndr_push_netr_USER_KEYS2(ndr, NDR_SCALARS, &r->keys2));
2348 if (ndr_flags & NDR_BUFFERS) {
2350 return NDR_ERR_SUCCESS;
2353 static enum ndr_err_code ndr_pull_netr_USER_KEY_UNION(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_KEY_UNION *r)
2355 if (ndr_flags & NDR_SCALARS) {
2356 NDR_CHECK(ndr_pull_align(ndr, 4));
2357 NDR_CHECK(ndr_pull_netr_USER_KEYS2(ndr, NDR_SCALARS, &r->keys2));
2359 if (ndr_flags & NDR_BUFFERS) {
2361 return NDR_ERR_SUCCESS;
2364 _PUBLIC_ void ndr_print_netr_USER_KEY_UNION(struct ndr_print *ndr, const char *name, const struct netr_USER_KEY_UNION *r)
2366 ndr_print_struct(ndr, name, "netr_USER_KEY_UNION");
2368 ndr_print_netr_USER_KEYS2(ndr, "keys2", &r->keys2);
2372 _PUBLIC_ enum ndr_err_code ndr_push_netr_USER_KEYS(struct ndr_push *ndr, int ndr_flags, const struct netr_USER_KEYS *r)
2374 if (ndr_flags & NDR_SCALARS) {
2375 NDR_CHECK(ndr_push_align(ndr, 4));
2376 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
2377 NDR_CHECK(ndr_push_netr_USER_KEY_UNION(ndr, NDR_SCALARS, &r->keys));
2379 if (ndr_flags & NDR_BUFFERS) {
2381 return NDR_ERR_SUCCESS;
2384 _PUBLIC_ enum ndr_err_code ndr_pull_netr_USER_KEYS(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_KEYS *r)
2386 if (ndr_flags & NDR_SCALARS) {
2387 NDR_CHECK(ndr_pull_align(ndr, 4));
2388 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
2389 NDR_CHECK(ndr_pull_netr_USER_KEY_UNION(ndr, NDR_SCALARS, &r->keys));
2391 if (ndr_flags & NDR_BUFFERS) {
2393 return NDR_ERR_SUCCESS;
2396 _PUBLIC_ void ndr_print_netr_USER_KEYS(struct ndr_print *ndr, const char *name, const struct netr_USER_KEYS *r)
2398 ndr_print_struct(ndr, name, "netr_USER_KEYS");
2400 ndr_print_uint32(ndr, "version", r->version);
2401 ndr_print_netr_USER_KEY_UNION(ndr, "keys", &r->keys);
2405 static enum ndr_err_code ndr_push_netr_USER_PRIVATE_INFO(struct ndr_push *ndr, int ndr_flags, const struct netr_USER_PRIVATE_INFO *r)
2407 if (ndr_flags & NDR_SCALARS) {
2408 NDR_CHECK(ndr_push_align(ndr, 4));
2409 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->SensitiveDataFlag));
2410 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->DataLength));
2412 uint32_t _flags_save_uint8 = ndr->flags;
2413 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2414 NDR_CHECK(ndr_push_unique_ptr(ndr, r->SensitiveData));
2415 ndr->flags = _flags_save_uint8;
2418 if (ndr_flags & NDR_BUFFERS) {
2420 uint32_t _flags_save_uint8 = ndr->flags;
2421 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2422 if (r->SensitiveData) {
2423 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->DataLength));
2424 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->SensitiveData, r->DataLength));
2426 ndr->flags = _flags_save_uint8;
2429 return NDR_ERR_SUCCESS;
2432 static enum ndr_err_code ndr_pull_netr_USER_PRIVATE_INFO(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_PRIVATE_INFO *r)
2434 uint32_t _ptr_SensitiveData;
2435 TALLOC_CTX *_mem_save_SensitiveData_0;
2436 if (ndr_flags & NDR_SCALARS) {
2437 NDR_CHECK(ndr_pull_align(ndr, 4));
2438 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->SensitiveDataFlag));
2439 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->DataLength));
2441 uint32_t _flags_save_uint8 = ndr->flags;
2442 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2443 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_SensitiveData));
2444 if (_ptr_SensitiveData) {
2445 NDR_PULL_ALLOC(ndr, r->SensitiveData);
2447 r->SensitiveData = NULL;
2449 ndr->flags = _flags_save_uint8;
2452 if (ndr_flags & NDR_BUFFERS) {
2454 uint32_t _flags_save_uint8 = ndr->flags;
2455 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2456 if (r->SensitiveData) {
2457 _mem_save_SensitiveData_0 = NDR_PULL_GET_MEM_CTX(ndr);
2458 NDR_PULL_SET_MEM_CTX(ndr, r->SensitiveData, 0);
2459 NDR_CHECK(ndr_pull_array_size(ndr, &r->SensitiveData));
2460 NDR_PULL_ALLOC_N(ndr, r->SensitiveData, ndr_get_array_size(ndr, &r->SensitiveData));
2461 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->SensitiveData, ndr_get_array_size(ndr, &r->SensitiveData)));
2462 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_SensitiveData_0, 0);
2464 ndr->flags = _flags_save_uint8;
2466 if (r->SensitiveData) {
2467 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->SensitiveData, r->DataLength));
2470 return NDR_ERR_SUCCESS;
2473 _PUBLIC_ void ndr_print_netr_USER_PRIVATE_INFO(struct ndr_print *ndr, const char *name, const struct netr_USER_PRIVATE_INFO *r)
2475 ndr_print_struct(ndr, name, "netr_USER_PRIVATE_INFO");
2477 ndr_print_uint8(ndr, "SensitiveDataFlag", r->SensitiveDataFlag);
2478 ndr_print_uint32(ndr, "DataLength", r->DataLength);
2479 ndr_print_ptr(ndr, "SensitiveData", r->SensitiveData);
2481 if (r->SensitiveData) {
2482 ndr_print_array_uint8(ndr, "SensitiveData", r->SensitiveData, r->DataLength);
2488 static enum ndr_err_code ndr_push_netr_DELTA_USER(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_USER *r)
2490 if (ndr_flags & NDR_SCALARS) {
2491 NDR_CHECK(ndr_push_align(ndr, 4));
2492 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2493 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2494 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
2495 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid));
2496 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
2497 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
2498 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
2499 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
2500 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->workstations));
2501 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logon));
2502 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logoff));
2503 NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
2504 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->bad_password_count));
2505 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count));
2506 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_password_change));
2507 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->acct_expiry));
2508 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
2509 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->lmpassword));
2510 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->ntpassword));
2511 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->nt_password_present));
2512 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->lm_password_present));
2513 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->password_expired));
2514 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->comment));
2515 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_SCALARS, &r->parameters));
2516 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->country_code));
2517 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->code_page));
2518 NDR_CHECK(ndr_push_netr_USER_PRIVATE_INFO(ndr, NDR_SCALARS, &r->user_private_info));
2519 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
2520 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2521 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
2522 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2523 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2524 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2525 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
2526 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
2527 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
2528 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
2530 if (ndr_flags & NDR_BUFFERS) {
2531 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2532 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2533 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
2534 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
2535 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
2536 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
2537 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
2538 NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
2539 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->comment));
2540 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_BUFFERS, &r->parameters));
2541 NDR_CHECK(ndr_push_netr_USER_PRIVATE_INFO(ndr, NDR_BUFFERS, &r->user_private_info));
2542 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2543 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
2544 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2545 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2546 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2548 return NDR_ERR_SUCCESS;
2551 static enum ndr_err_code ndr_pull_netr_DELTA_USER(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_USER *r)
2553 if (ndr_flags & NDR_SCALARS) {
2554 NDR_CHECK(ndr_pull_align(ndr, 4));
2555 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2556 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2557 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
2558 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid));
2559 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
2560 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
2561 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
2562 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
2563 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->workstations));
2564 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logon));
2565 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logoff));
2566 NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
2567 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->bad_password_count));
2568 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count));
2569 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_password_change));
2570 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->acct_expiry));
2571 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
2572 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->lmpassword));
2573 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->ntpassword));
2574 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->nt_password_present));
2575 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->lm_password_present));
2576 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->password_expired));
2577 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->comment));
2578 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_SCALARS, &r->parameters));
2579 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->country_code));
2580 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->code_page));
2581 NDR_CHECK(ndr_pull_netr_USER_PRIVATE_INFO(ndr, NDR_SCALARS, &r->user_private_info));
2582 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
2583 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2584 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
2585 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2586 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2587 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2588 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
2589 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
2590 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
2591 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
2593 if (ndr_flags & NDR_BUFFERS) {
2594 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2595 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2596 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
2597 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
2598 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
2599 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
2600 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
2601 NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
2602 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->comment));
2603 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_BUFFERS, &r->parameters));
2604 NDR_CHECK(ndr_pull_netr_USER_PRIVATE_INFO(ndr, NDR_BUFFERS, &r->user_private_info));
2605 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2606 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
2607 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2608 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2609 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2611 return NDR_ERR_SUCCESS;
2614 _PUBLIC_ void ndr_print_netr_DELTA_USER(struct ndr_print *ndr, const char *name, const struct netr_DELTA_USER *r)
2616 ndr_print_struct(ndr, name, "netr_DELTA_USER");
2618 ndr_print_lsa_String(ndr, "account_name", &r->account_name);
2619 ndr_print_lsa_String(ndr, "full_name", &r->full_name);
2620 ndr_print_uint32(ndr, "rid", r->rid);
2621 ndr_print_uint32(ndr, "primary_gid", r->primary_gid);
2622 ndr_print_lsa_String(ndr, "home_directory", &r->home_directory);
2623 ndr_print_lsa_String(ndr, "home_drive", &r->home_drive);
2624 ndr_print_lsa_String(ndr, "logon_script", &r->logon_script);
2625 ndr_print_lsa_String(ndr, "description", &r->description);
2626 ndr_print_lsa_String(ndr, "workstations", &r->workstations);
2627 ndr_print_NTTIME(ndr, "last_logon", r->last_logon);
2628 ndr_print_NTTIME(ndr, "last_logoff", r->last_logoff);
2629 ndr_print_samr_LogonHours(ndr, "logon_hours", &r->logon_hours);
2630 ndr_print_uint16(ndr, "bad_password_count", r->bad_password_count);
2631 ndr_print_uint16(ndr, "logon_count", r->logon_count);
2632 ndr_print_NTTIME(ndr, "last_password_change", r->last_password_change);
2633 ndr_print_NTTIME(ndr, "acct_expiry", r->acct_expiry);
2634 ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
2635 ndr_print_samr_Password(ndr, "lmpassword", &r->lmpassword);
2636 ndr_print_samr_Password(ndr, "ntpassword", &r->ntpassword);
2637 ndr_print_uint8(ndr, "nt_password_present", r->nt_password_present);
2638 ndr_print_uint8(ndr, "lm_password_present", r->lm_password_present);
2639 ndr_print_uint8(ndr, "password_expired", r->password_expired);
2640 ndr_print_lsa_String(ndr, "comment", &r->comment);
2641 ndr_print_lsa_BinaryString(ndr, "parameters", &r->parameters);
2642 ndr_print_uint16(ndr, "country_code", r->country_code);
2643 ndr_print_uint16(ndr, "code_page", r->code_page);
2644 ndr_print_netr_USER_PRIVATE_INFO(ndr, "user_private_info", &r->user_private_info);
2645 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
2646 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
2647 ndr_print_lsa_String(ndr, "profile_path", &r->profile_path);
2648 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
2649 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
2650 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
2651 ndr_print_uint32(ndr, "unknown5", r->unknown5);
2652 ndr_print_uint32(ndr, "unknown6", r->unknown6);
2653 ndr_print_uint32(ndr, "unknown7", r->unknown7);
2654 ndr_print_uint32(ndr, "unknown8", r->unknown8);
2658 static enum ndr_err_code ndr_push_netr_DELTA_DOMAIN(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_DOMAIN *r)
2660 if (ndr_flags & NDR_SCALARS) {
2661 NDR_CHECK(ndr_push_align(ndr, 4));
2662 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
2663 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->oem_information));
2664 NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->force_logoff_time));
2665 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->min_password_length));
2666 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->password_history_length));
2667 NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->max_password_age));
2668 NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->min_password_age));
2669 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->sequence_num));
2670 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->domain_create_time));
2671 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
2672 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2673 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_SCALARS, &r->account_lockout));
2674 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2675 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2676 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2677 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logon_to_chgpass));
2678 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
2679 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
2680 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
2682 if (ndr_flags & NDR_BUFFERS) {
2683 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
2684 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->oem_information));
2685 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2686 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_BUFFERS, &r->account_lockout));
2687 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2688 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2689 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2691 return NDR_ERR_SUCCESS;
2694 static enum ndr_err_code ndr_pull_netr_DELTA_DOMAIN(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_DOMAIN *r)
2696 if (ndr_flags & NDR_SCALARS) {
2697 NDR_CHECK(ndr_pull_align(ndr, 4));
2698 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
2699 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->oem_information));
2700 NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->force_logoff_time));
2701 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->min_password_length));
2702 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->password_history_length));
2703 NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->max_password_age));
2704 NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->min_password_age));
2705 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->sequence_num));
2706 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->domain_create_time));
2707 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
2708 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2709 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_SCALARS, &r->account_lockout));
2710 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2711 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2712 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2713 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logon_to_chgpass));
2714 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
2715 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
2716 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
2718 if (ndr_flags & NDR_BUFFERS) {
2719 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
2720 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->oem_information));
2721 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2722 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_BUFFERS, &r->account_lockout));
2723 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2724 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2725 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2727 return NDR_ERR_SUCCESS;
2730 _PUBLIC_ void ndr_print_netr_DELTA_DOMAIN(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DOMAIN *r)
2732 ndr_print_struct(ndr, name, "netr_DELTA_DOMAIN");
2734 ndr_print_lsa_String(ndr, "domain_name", &r->domain_name);
2735 ndr_print_lsa_String(ndr, "oem_information", &r->oem_information);
2736 ndr_print_dlong(ndr, "force_logoff_time", r->force_logoff_time);
2737 ndr_print_uint16(ndr, "min_password_length", r->min_password_length);
2738 ndr_print_uint16(ndr, "password_history_length", r->password_history_length);
2739 ndr_print_dlong(ndr, "max_password_age", r->max_password_age);
2740 ndr_print_dlong(ndr, "min_password_age", r->min_password_age);
2741 ndr_print_udlong(ndr, "sequence_num", r->sequence_num);
2742 ndr_print_NTTIME(ndr, "domain_create_time", r->domain_create_time);
2743 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
2744 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
2745 ndr_print_lsa_BinaryString(ndr, "account_lockout", &r->account_lockout);
2746 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
2747 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
2748 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
2749 ndr_print_uint32(ndr, "logon_to_chgpass", r->logon_to_chgpass);
2750 ndr_print_uint32(ndr, "unknown6", r->unknown6);
2751 ndr_print_uint32(ndr, "unknown7", r->unknown7);
2752 ndr_print_uint32(ndr, "unknown8", r->unknown8);
2756 static enum ndr_err_code ndr_push_netr_DELTA_GROUP(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_GROUP *r)
2758 if (ndr_flags & NDR_SCALARS) {
2759 NDR_CHECK(ndr_push_align(ndr, 4));
2760 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->group_name));
2761 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
2762 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->attributes));
2763 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
2764 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
2765 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2766 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2767 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2768 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2769 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2770 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
2771 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
2772 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
2773 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
2775 if (ndr_flags & NDR_BUFFERS) {
2776 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->group_name));
2777 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
2778 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2779 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
2780 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2781 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2782 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2784 return NDR_ERR_SUCCESS;
2787 static enum ndr_err_code ndr_pull_netr_DELTA_GROUP(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_GROUP *r)
2789 if (ndr_flags & NDR_SCALARS) {
2790 NDR_CHECK(ndr_pull_align(ndr, 4));
2791 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->group_name));
2792 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
2793 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->attributes));
2794 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
2795 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
2796 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2797 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2798 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2799 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2800 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2801 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
2802 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
2803 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
2804 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
2806 if (ndr_flags & NDR_BUFFERS) {
2807 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->group_name));
2808 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
2809 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2810 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
2811 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2812 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2813 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2815 return NDR_ERR_SUCCESS;
2818 _PUBLIC_ void ndr_print_netr_DELTA_GROUP(struct ndr_print *ndr, const char *name, const struct netr_DELTA_GROUP *r)
2820 ndr_print_struct(ndr, name, "netr_DELTA_GROUP");
2822 ndr_print_lsa_String(ndr, "group_name", &r->group_name);
2823 ndr_print_uint32(ndr, "rid", r->rid);
2824 ndr_print_uint32(ndr, "attributes", r->attributes);
2825 ndr_print_lsa_String(ndr, "description", &r->description);
2826 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
2827 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
2828 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
2829 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
2830 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
2831 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
2832 ndr_print_uint32(ndr, "unknown5", r->unknown5);
2833 ndr_print_uint32(ndr, "unknown6", r->unknown6);
2834 ndr_print_uint32(ndr, "unknown7", r->unknown7);
2835 ndr_print_uint32(ndr, "unknown8", r->unknown8);
2839 static enum ndr_err_code ndr_push_netr_DELTA_RENAME(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_RENAME *r)
2841 if (ndr_flags & NDR_SCALARS) {
2842 NDR_CHECK(ndr_push_align(ndr, 4));
2843 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->OldName));
2844 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->NewName));
2845 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2846 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2847 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2848 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2849 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
2850 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
2851 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
2852 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
2854 if (ndr_flags & NDR_BUFFERS) {
2855 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->OldName));
2856 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->NewName));
2857 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
2858 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2859 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2860 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2862 return NDR_ERR_SUCCESS;
2865 static enum ndr_err_code ndr_pull_netr_DELTA_RENAME(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_RENAME *r)
2867 if (ndr_flags & NDR_SCALARS) {
2868 NDR_CHECK(ndr_pull_align(ndr, 4));
2869 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->OldName));
2870 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->NewName));
2871 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2872 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2873 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2874 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2875 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
2876 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
2877 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
2878 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
2880 if (ndr_flags & NDR_BUFFERS) {
2881 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->OldName));