1 /* parser auto-generated by pidl */
4 #include "librpc/gen_ndr/ndr_netlogon.h"
6 #include "librpc/gen_ndr/ndr_lsa.h"
7 #include "librpc/gen_ndr/ndr_samr.h"
8 #include "librpc/gen_ndr/ndr_security.h"
9 static enum ndr_err_code ndr_push_netr_UasInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_UasInfo *r)
11 if (ndr_flags & NDR_SCALARS) {
12 NDR_CHECK(ndr_push_align(ndr, 4));
13 NDR_CHECK(ndr_push_unique_ptr(ndr, r->account_name));
14 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priv));
15 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->auth_flags));
16 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logon_count));
17 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->bad_pw_count));
18 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->last_logon));
19 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->last_logoff));
20 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->logoff_time));
21 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->kickoff_time));
22 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->password_age));
23 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->pw_can_change));
24 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->pw_must_change));
25 NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer));
26 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
27 NDR_CHECK(ndr_push_unique_ptr(ndr, r->script_path));
28 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown));
30 if (ndr_flags & NDR_BUFFERS) {
31 if (r->account_name) {
32 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF16)));
33 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
34 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF16)));
35 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->account_name, ndr_charset_length(r->account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
38 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->computer, CH_UTF16)));
39 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
40 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->computer, CH_UTF16)));
41 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer, ndr_charset_length(r->computer, CH_UTF16), sizeof(uint16_t), CH_UTF16));
44 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
45 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
46 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
47 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
50 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->script_path, CH_UTF16)));
51 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
52 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->script_path, CH_UTF16)));
53 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->script_path, ndr_charset_length(r->script_path, CH_UTF16), sizeof(uint16_t), CH_UTF16));
56 return NDR_ERR_SUCCESS;
59 static enum ndr_err_code ndr_pull_netr_UasInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_UasInfo *r)
61 uint32_t _ptr_account_name;
62 TALLOC_CTX *_mem_save_account_name_0;
63 uint32_t _ptr_computer;
64 TALLOC_CTX *_mem_save_computer_0;
66 TALLOC_CTX *_mem_save_domain_0;
67 uint32_t _ptr_script_path;
68 TALLOC_CTX *_mem_save_script_path_0;
69 if (ndr_flags & NDR_SCALARS) {
70 NDR_CHECK(ndr_pull_align(ndr, 4));
71 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_account_name));
72 if (_ptr_account_name) {
73 NDR_PULL_ALLOC(ndr, r->account_name);
75 r->account_name = NULL;
77 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priv));
78 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->auth_flags));
79 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logon_count));
80 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->bad_pw_count));
81 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->last_logon));
82 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->last_logoff));
83 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->logoff_time));
84 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->kickoff_time));
85 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->password_age));
86 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->pw_can_change));
87 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->pw_must_change));
88 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer));
90 NDR_PULL_ALLOC(ndr, r->computer);
94 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
96 NDR_PULL_ALLOC(ndr, r->domain);
100 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_script_path));
101 if (_ptr_script_path) {
102 NDR_PULL_ALLOC(ndr, r->script_path);
104 r->script_path = NULL;
106 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown));
108 if (ndr_flags & NDR_BUFFERS) {
109 if (r->account_name) {
110 _mem_save_account_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
111 NDR_PULL_SET_MEM_CTX(ndr, r->account_name, 0);
112 NDR_CHECK(ndr_pull_array_size(ndr, &r->account_name));
113 NDR_CHECK(ndr_pull_array_length(ndr, &r->account_name));
114 if (ndr_get_array_length(ndr, &r->account_name) > ndr_get_array_size(ndr, &r->account_name)) {
115 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));
117 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->account_name), sizeof(uint16_t)));
118 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->account_name, ndr_get_array_length(ndr, &r->account_name), sizeof(uint16_t), CH_UTF16));
119 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_name_0, 0);
122 _mem_save_computer_0 = NDR_PULL_GET_MEM_CTX(ndr);
123 NDR_PULL_SET_MEM_CTX(ndr, r->computer, 0);
124 NDR_CHECK(ndr_pull_array_size(ndr, &r->computer));
125 NDR_CHECK(ndr_pull_array_length(ndr, &r->computer));
126 if (ndr_get_array_length(ndr, &r->computer) > ndr_get_array_size(ndr, &r->computer)) {
127 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));
129 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->computer), sizeof(uint16_t)));
130 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer, ndr_get_array_length(ndr, &r->computer), sizeof(uint16_t), CH_UTF16));
131 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_0, 0);
134 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
135 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
136 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
137 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
138 if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) {
139 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));
141 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t)));
142 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16));
143 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
145 if (r->script_path) {
146 _mem_save_script_path_0 = NDR_PULL_GET_MEM_CTX(ndr);
147 NDR_PULL_SET_MEM_CTX(ndr, r->script_path, 0);
148 NDR_CHECK(ndr_pull_array_size(ndr, &r->script_path));
149 NDR_CHECK(ndr_pull_array_length(ndr, &r->script_path));
150 if (ndr_get_array_length(ndr, &r->script_path) > ndr_get_array_size(ndr, &r->script_path)) {
151 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));
153 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->script_path), sizeof(uint16_t)));
154 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->script_path, ndr_get_array_length(ndr, &r->script_path), sizeof(uint16_t), CH_UTF16));
155 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_script_path_0, 0);
158 return NDR_ERR_SUCCESS;
161 _PUBLIC_ void ndr_print_netr_UasInfo(struct ndr_print *ndr, const char *name, const struct netr_UasInfo *r)
163 ndr_print_struct(ndr, name, "netr_UasInfo");
165 ndr_print_ptr(ndr, "account_name", r->account_name);
167 if (r->account_name) {
168 ndr_print_string(ndr, "account_name", r->account_name);
171 ndr_print_uint32(ndr, "priv", r->priv);
172 ndr_print_uint32(ndr, "auth_flags", r->auth_flags);
173 ndr_print_uint32(ndr, "logon_count", r->logon_count);
174 ndr_print_uint32(ndr, "bad_pw_count", r->bad_pw_count);
175 ndr_print_time_t(ndr, "last_logon", r->last_logon);
176 ndr_print_time_t(ndr, "last_logoff", r->last_logoff);
177 ndr_print_time_t(ndr, "logoff_time", r->logoff_time);
178 ndr_print_time_t(ndr, "kickoff_time", r->kickoff_time);
179 ndr_print_uint32(ndr, "password_age", r->password_age);
180 ndr_print_time_t(ndr, "pw_can_change", r->pw_can_change);
181 ndr_print_time_t(ndr, "pw_must_change", r->pw_must_change);
182 ndr_print_ptr(ndr, "computer", r->computer);
185 ndr_print_string(ndr, "computer", r->computer);
188 ndr_print_ptr(ndr, "domain", r->domain);
191 ndr_print_string(ndr, "domain", r->domain);
194 ndr_print_ptr(ndr, "script_path", r->script_path);
196 if (r->script_path) {
197 ndr_print_string(ndr, "script_path", r->script_path);
200 ndr_print_uint32(ndr, "unknown", r->unknown);
204 static enum ndr_err_code ndr_push_netr_UasLogoffInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_UasLogoffInfo *r)
206 if (ndr_flags & NDR_SCALARS) {
207 NDR_CHECK(ndr_push_align(ndr, 4));
208 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->duration));
209 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count));
211 if (ndr_flags & NDR_BUFFERS) {
213 return NDR_ERR_SUCCESS;
216 static enum ndr_err_code ndr_pull_netr_UasLogoffInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_UasLogoffInfo *r)
218 if (ndr_flags & NDR_SCALARS) {
219 NDR_CHECK(ndr_pull_align(ndr, 4));
220 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->duration));
221 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count));
223 if (ndr_flags & NDR_BUFFERS) {
225 return NDR_ERR_SUCCESS;
228 _PUBLIC_ void ndr_print_netr_UasLogoffInfo(struct ndr_print *ndr, const char *name, const struct netr_UasLogoffInfo *r)
230 ndr_print_struct(ndr, name, "netr_UasLogoffInfo");
232 ndr_print_uint32(ndr, "duration", r->duration);
233 ndr_print_uint16(ndr, "logon_count", r->logon_count);
237 _PUBLIC_ enum ndr_err_code ndr_push_netr_AcctLockStr(struct ndr_push *ndr, int ndr_flags, const struct netr_AcctLockStr *r)
239 if (ndr_flags & NDR_SCALARS) {
240 NDR_CHECK(ndr_push_align(ndr, 4));
241 NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->lockout_duration));
242 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->reset_count));
243 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->bad_attempt_lockout));
244 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy));
246 if (ndr_flags & NDR_BUFFERS) {
248 return NDR_ERR_SUCCESS;
251 _PUBLIC_ enum ndr_err_code ndr_pull_netr_AcctLockStr(struct ndr_pull *ndr, int ndr_flags, struct netr_AcctLockStr *r)
253 if (ndr_flags & NDR_SCALARS) {
254 NDR_CHECK(ndr_pull_align(ndr, 4));
255 NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->lockout_duration));
256 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->reset_count));
257 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->bad_attempt_lockout));
258 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy));
260 if (ndr_flags & NDR_BUFFERS) {
262 return NDR_ERR_SUCCESS;
265 _PUBLIC_ void ndr_print_netr_AcctLockStr(struct ndr_print *ndr, const char *name, const struct netr_AcctLockStr *r)
267 ndr_print_struct(ndr, name, "netr_AcctLockStr");
269 ndr_print_dlong(ndr, "lockout_duration", r->lockout_duration);
270 ndr_print_udlong(ndr, "reset_count", r->reset_count);
271 ndr_print_uint32(ndr, "bad_attempt_lockout", r->bad_attempt_lockout);
272 ndr_print_uint32(ndr, "dummy", r->dummy);
276 _PUBLIC_ enum ndr_err_code ndr_push_netr_LogonParameterControl(struct ndr_push *ndr, int ndr_flags, uint32_t r)
278 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
279 return NDR_ERR_SUCCESS;
282 _PUBLIC_ enum ndr_err_code ndr_pull_netr_LogonParameterControl(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
285 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
287 return NDR_ERR_SUCCESS;
290 _PUBLIC_ void ndr_print_netr_LogonParameterControl(struct ndr_print *ndr, const char *name, uint32_t r)
292 ndr_print_uint32(ndr, name, r);
294 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_CLEARTEXT_PASSWORD_ALLOWED", MSV1_0_CLEARTEXT_PASSWORD_ALLOWED, r);
295 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_UPDATE_LOGON_STATISTICS", MSV1_0_UPDATE_LOGON_STATISTICS, r);
296 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_RETURN_USER_PARAMETERS", MSV1_0_RETURN_USER_PARAMETERS, r);
297 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_ALLOW_SERVER_TRUST_ACCOUNT", MSV1_0_ALLOW_SERVER_TRUST_ACCOUNT, r);
298 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_RETURN_PROFILE_PATH", MSV1_0_RETURN_PROFILE_PATH, r);
299 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_ALLOW_WORKSTATION_TRUST_ACCOUNT", MSV1_0_ALLOW_WORKSTATION_TRUST_ACCOUNT, r);
303 static enum ndr_err_code ndr_push_netr_IdentityInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_IdentityInfo *r)
305 if (ndr_flags & NDR_SCALARS) {
306 NDR_CHECK(ndr_push_align(ndr, 4));
307 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
308 NDR_CHECK(ndr_push_netr_LogonParameterControl(ndr, NDR_SCALARS, r->parameter_control));
309 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logon_id_low));
310 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logon_id_high));
311 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
312 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->workstation));
314 if (ndr_flags & NDR_BUFFERS) {
315 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
316 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
317 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->workstation));
319 return NDR_ERR_SUCCESS;
322 static enum ndr_err_code ndr_pull_netr_IdentityInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_IdentityInfo *r)
324 if (ndr_flags & NDR_SCALARS) {
325 NDR_CHECK(ndr_pull_align(ndr, 4));
326 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
327 NDR_CHECK(ndr_pull_netr_LogonParameterControl(ndr, NDR_SCALARS, &r->parameter_control));
328 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logon_id_low));
329 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logon_id_high));
330 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
331 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->workstation));
333 if (ndr_flags & NDR_BUFFERS) {
334 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
335 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
336 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->workstation));
338 return NDR_ERR_SUCCESS;
341 _PUBLIC_ void ndr_print_netr_IdentityInfo(struct ndr_print *ndr, const char *name, const struct netr_IdentityInfo *r)
343 ndr_print_struct(ndr, name, "netr_IdentityInfo");
345 ndr_print_lsa_String(ndr, "domain_name", &r->domain_name);
346 ndr_print_netr_LogonParameterControl(ndr, "parameter_control", r->parameter_control);
347 ndr_print_uint32(ndr, "logon_id_low", r->logon_id_low);
348 ndr_print_uint32(ndr, "logon_id_high", r->logon_id_high);
349 ndr_print_lsa_String(ndr, "account_name", &r->account_name);
350 ndr_print_lsa_String(ndr, "workstation", &r->workstation);
354 static enum ndr_err_code ndr_push_netr_PasswordInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_PasswordInfo *r)
356 if (ndr_flags & NDR_SCALARS) {
357 NDR_CHECK(ndr_push_align(ndr, 4));
358 NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info));
359 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->lmpassword));
360 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->ntpassword));
362 if (ndr_flags & NDR_BUFFERS) {
363 NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info));
364 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_BUFFERS, &r->lmpassword));
365 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_BUFFERS, &r->ntpassword));
367 return NDR_ERR_SUCCESS;
370 static enum ndr_err_code ndr_pull_netr_PasswordInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_PasswordInfo *r)
372 if (ndr_flags & NDR_SCALARS) {
373 NDR_CHECK(ndr_pull_align(ndr, 4));
374 NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info));
375 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->lmpassword));
376 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->ntpassword));
378 if (ndr_flags & NDR_BUFFERS) {
379 NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info));
380 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_BUFFERS, &r->lmpassword));
381 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_BUFFERS, &r->ntpassword));
383 return NDR_ERR_SUCCESS;
386 _PUBLIC_ void ndr_print_netr_PasswordInfo(struct ndr_print *ndr, const char *name, const struct netr_PasswordInfo *r)
388 ndr_print_struct(ndr, name, "netr_PasswordInfo");
390 ndr_print_netr_IdentityInfo(ndr, "identity_info", &r->identity_info);
391 ndr_print_samr_Password(ndr, "lmpassword", &r->lmpassword);
392 ndr_print_samr_Password(ndr, "ntpassword", &r->ntpassword);
396 static enum ndr_err_code ndr_push_netr_ChallengeResponse(struct ndr_push *ndr, int ndr_flags, const struct netr_ChallengeResponse *r)
399 uint32_t _flags_save_STRUCT = ndr->flags;
400 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
401 if (ndr_flags & NDR_SCALARS) {
402 NDR_CHECK(ndr_push_align(ndr, 4));
403 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
404 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
405 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
407 if (ndr_flags & NDR_BUFFERS) {
409 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
410 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
411 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
412 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
415 ndr->flags = _flags_save_STRUCT;
417 return NDR_ERR_SUCCESS;
420 static enum ndr_err_code ndr_pull_netr_ChallengeResponse(struct ndr_pull *ndr, int ndr_flags, struct netr_ChallengeResponse *r)
423 TALLOC_CTX *_mem_save_data_0;
425 uint32_t _flags_save_STRUCT = ndr->flags;
426 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
427 if (ndr_flags & NDR_SCALARS) {
428 NDR_CHECK(ndr_pull_align(ndr, 4));
429 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
430 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
431 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
433 NDR_PULL_ALLOC(ndr, r->data);
438 if (ndr_flags & NDR_BUFFERS) {
440 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
441 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
442 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
443 NDR_CHECK(ndr_pull_array_length(ndr, &r->data));
444 if (ndr_get_array_length(ndr, &r->data) > ndr_get_array_size(ndr, &r->data)) {
445 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));
447 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
448 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_length(ndr, &r->data)));
449 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
452 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length));
455 NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->data, r->length));
458 ndr->flags = _flags_save_STRUCT;
460 return NDR_ERR_SUCCESS;
463 _PUBLIC_ void ndr_print_netr_ChallengeResponse(struct ndr_print *ndr, const char *name, const struct netr_ChallengeResponse *r)
465 ndr_print_struct(ndr, name, "netr_ChallengeResponse");
467 uint32_t _flags_save_STRUCT = ndr->flags;
468 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
470 ndr_print_uint16(ndr, "length", r->length);
471 ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->length:r->size);
472 ndr_print_ptr(ndr, "data", r->data);
475 ndr_print_array_uint8(ndr, "data", r->data, r->length);
479 ndr->flags = _flags_save_STRUCT;
483 static enum ndr_err_code ndr_push_netr_NetworkInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_NetworkInfo *r)
486 uint32_t _flags_save_STRUCT = ndr->flags;
487 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
488 if (ndr_flags & NDR_SCALARS) {
489 NDR_CHECK(ndr_push_align(ndr, 4));
490 NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info));
491 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->challenge, 8));
492 NDR_CHECK(ndr_push_netr_ChallengeResponse(ndr, NDR_SCALARS, &r->nt));
493 NDR_CHECK(ndr_push_netr_ChallengeResponse(ndr, NDR_SCALARS, &r->lm));
495 if (ndr_flags & NDR_BUFFERS) {
496 NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info));
497 NDR_CHECK(ndr_push_netr_ChallengeResponse(ndr, NDR_BUFFERS, &r->nt));
498 NDR_CHECK(ndr_push_netr_ChallengeResponse(ndr, NDR_BUFFERS, &r->lm));
500 ndr->flags = _flags_save_STRUCT;
502 return NDR_ERR_SUCCESS;
505 static enum ndr_err_code ndr_pull_netr_NetworkInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_NetworkInfo *r)
508 uint32_t _flags_save_STRUCT = ndr->flags;
509 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
510 if (ndr_flags & NDR_SCALARS) {
511 NDR_CHECK(ndr_pull_align(ndr, 4));
512 NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info));
513 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->challenge, 8));
514 NDR_CHECK(ndr_pull_netr_ChallengeResponse(ndr, NDR_SCALARS, &r->nt));
515 NDR_CHECK(ndr_pull_netr_ChallengeResponse(ndr, NDR_SCALARS, &r->lm));
517 if (ndr_flags & NDR_BUFFERS) {
518 NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info));
519 NDR_CHECK(ndr_pull_netr_ChallengeResponse(ndr, NDR_BUFFERS, &r->nt));
520 NDR_CHECK(ndr_pull_netr_ChallengeResponse(ndr, NDR_BUFFERS, &r->lm));
522 ndr->flags = _flags_save_STRUCT;
524 return NDR_ERR_SUCCESS;
527 _PUBLIC_ void ndr_print_netr_NetworkInfo(struct ndr_print *ndr, const char *name, const struct netr_NetworkInfo *r)
529 ndr_print_struct(ndr, name, "netr_NetworkInfo");
531 uint32_t _flags_save_STRUCT = ndr->flags;
532 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
534 ndr_print_netr_IdentityInfo(ndr, "identity_info", &r->identity_info);
535 ndr_print_array_uint8(ndr, "challenge", r->challenge, 8);
536 ndr_print_netr_ChallengeResponse(ndr, "nt", &r->nt);
537 ndr_print_netr_ChallengeResponse(ndr, "lm", &r->lm);
539 ndr->flags = _flags_save_STRUCT;
543 _PUBLIC_ enum ndr_err_code ndr_push_netr_LogonInfo(struct ndr_push *ndr, int ndr_flags, const union netr_LogonInfo *r)
545 if (ndr_flags & NDR_SCALARS) {
546 int level = ndr_push_get_switch_value(ndr, r);
547 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level));
550 NDR_CHECK(ndr_push_unique_ptr(ndr, r->password));
554 NDR_CHECK(ndr_push_unique_ptr(ndr, r->network));
558 NDR_CHECK(ndr_push_unique_ptr(ndr, r->password));
562 NDR_CHECK(ndr_push_unique_ptr(ndr, r->password));
566 NDR_CHECK(ndr_push_unique_ptr(ndr, r->network));
570 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
573 if (ndr_flags & NDR_BUFFERS) {
574 int level = ndr_push_get_switch_value(ndr, r);
578 NDR_CHECK(ndr_push_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
584 NDR_CHECK(ndr_push_netr_NetworkInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->network));
590 NDR_CHECK(ndr_push_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
596 NDR_CHECK(ndr_push_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
602 NDR_CHECK(ndr_push_netr_NetworkInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->network));
607 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
610 return NDR_ERR_SUCCESS;
613 _PUBLIC_ enum ndr_err_code ndr_pull_netr_LogonInfo(struct ndr_pull *ndr, int ndr_flags, union netr_LogonInfo *r)
617 TALLOC_CTX *_mem_save_password_0;
618 TALLOC_CTX *_mem_save_network_0;
619 level = ndr_pull_get_switch_value(ndr, r);
620 if (ndr_flags & NDR_SCALARS) {
621 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
622 if (_level != level) {
623 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
627 uint32_t _ptr_password;
628 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
630 NDR_PULL_ALLOC(ndr, r->password);
637 uint32_t _ptr_network;
638 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_network));
640 NDR_PULL_ALLOC(ndr, r->network);
647 uint32_t _ptr_password;
648 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
650 NDR_PULL_ALLOC(ndr, r->password);
657 uint32_t _ptr_password;
658 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
660 NDR_PULL_ALLOC(ndr, r->password);
667 uint32_t _ptr_network;
668 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_network));
670 NDR_PULL_ALLOC(ndr, r->network);
677 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
680 if (ndr_flags & NDR_BUFFERS) {
684 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
685 NDR_PULL_SET_MEM_CTX(ndr, r->password, 0);
686 NDR_CHECK(ndr_pull_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
687 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
693 _mem_save_network_0 = NDR_PULL_GET_MEM_CTX(ndr);
694 NDR_PULL_SET_MEM_CTX(ndr, r->network, 0);
695 NDR_CHECK(ndr_pull_netr_NetworkInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->network));
696 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_network_0, 0);
702 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
703 NDR_PULL_SET_MEM_CTX(ndr, r->password, 0);
704 NDR_CHECK(ndr_pull_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
705 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
711 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
712 NDR_PULL_SET_MEM_CTX(ndr, r->password, 0);
713 NDR_CHECK(ndr_pull_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
714 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
720 _mem_save_network_0 = NDR_PULL_GET_MEM_CTX(ndr);
721 NDR_PULL_SET_MEM_CTX(ndr, r->network, 0);
722 NDR_CHECK(ndr_pull_netr_NetworkInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->network));
723 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_network_0, 0);
728 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
731 return NDR_ERR_SUCCESS;
734 _PUBLIC_ void ndr_print_netr_LogonInfo(struct ndr_print *ndr, const char *name, const union netr_LogonInfo *r)
737 level = ndr_print_get_switch_value(ndr, r);
738 ndr_print_union(ndr, name, level, "netr_LogonInfo");
741 ndr_print_ptr(ndr, "password", r->password);
744 ndr_print_netr_PasswordInfo(ndr, "password", r->password);
750 ndr_print_ptr(ndr, "network", r->network);
753 ndr_print_netr_NetworkInfo(ndr, "network", r->network);
759 ndr_print_ptr(ndr, "password", r->password);
762 ndr_print_netr_PasswordInfo(ndr, "password", r->password);
768 ndr_print_ptr(ndr, "password", r->password);
771 ndr_print_netr_PasswordInfo(ndr, "password", r->password);
777 ndr_print_ptr(ndr, "network", r->network);
780 ndr_print_netr_NetworkInfo(ndr, "network", r->network);
786 ndr_print_bad_level(ndr, name, level);
790 _PUBLIC_ enum ndr_err_code ndr_push_netr_UserSessionKey(struct ndr_push *ndr, int ndr_flags, const struct netr_UserSessionKey *r)
793 uint32_t _flags_save_STRUCT = ndr->flags;
794 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
795 if (ndr_flags & NDR_SCALARS) {
796 NDR_CHECK(ndr_push_align(ndr, 1));
797 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->key, 16));
799 if (ndr_flags & NDR_BUFFERS) {
801 ndr->flags = _flags_save_STRUCT;
803 return NDR_ERR_SUCCESS;
806 _PUBLIC_ enum ndr_err_code ndr_pull_netr_UserSessionKey(struct ndr_pull *ndr, int ndr_flags, struct netr_UserSessionKey *r)
809 uint32_t _flags_save_STRUCT = ndr->flags;
810 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
811 if (ndr_flags & NDR_SCALARS) {
812 NDR_CHECK(ndr_pull_align(ndr, 1));
813 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->key, 16));
815 if (ndr_flags & NDR_BUFFERS) {
817 ndr->flags = _flags_save_STRUCT;
819 return NDR_ERR_SUCCESS;
822 _PUBLIC_ void ndr_print_netr_UserSessionKey(struct ndr_print *ndr, const char *name, const struct netr_UserSessionKey *r)
824 ndr_print_struct(ndr, name, "netr_UserSessionKey");
826 uint32_t _flags_save_STRUCT = ndr->flags;
827 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
829 ndr_print_array_uint8(ndr, "key", r->key, 16);
831 ndr->flags = _flags_save_STRUCT;
835 _PUBLIC_ enum ndr_err_code ndr_push_netr_LMSessionKey(struct ndr_push *ndr, int ndr_flags, const struct netr_LMSessionKey *r)
838 uint32_t _flags_save_STRUCT = ndr->flags;
839 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
840 if (ndr_flags & NDR_SCALARS) {
841 NDR_CHECK(ndr_push_align(ndr, 1));
842 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->key, 8));
844 if (ndr_flags & NDR_BUFFERS) {
846 ndr->flags = _flags_save_STRUCT;
848 return NDR_ERR_SUCCESS;
851 _PUBLIC_ enum ndr_err_code ndr_pull_netr_LMSessionKey(struct ndr_pull *ndr, int ndr_flags, struct netr_LMSessionKey *r)
854 uint32_t _flags_save_STRUCT = ndr->flags;
855 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
856 if (ndr_flags & NDR_SCALARS) {
857 NDR_CHECK(ndr_pull_align(ndr, 1));
858 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->key, 8));
860 if (ndr_flags & NDR_BUFFERS) {
862 ndr->flags = _flags_save_STRUCT;
864 return NDR_ERR_SUCCESS;
867 _PUBLIC_ void ndr_print_netr_LMSessionKey(struct ndr_print *ndr, const char *name, const struct netr_LMSessionKey *r)
869 ndr_print_struct(ndr, name, "netr_LMSessionKey");
871 uint32_t _flags_save_STRUCT = ndr->flags;
872 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
874 ndr_print_array_uint8(ndr, "key", r->key, 8);
876 ndr->flags = _flags_save_STRUCT;
880 _PUBLIC_ enum ndr_err_code ndr_push_netr_UserFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
882 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
883 return NDR_ERR_SUCCESS;
886 _PUBLIC_ enum ndr_err_code ndr_pull_netr_UserFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
889 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
891 return NDR_ERR_SUCCESS;
894 _PUBLIC_ void ndr_print_netr_UserFlags(struct ndr_print *ndr, const char *name, uint32_t r)
896 ndr_print_uint32(ndr, name, r);
898 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_GUEST", NETLOGON_GUEST, r);
899 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NOENCRYPTION", NETLOGON_NOENCRYPTION, r);
900 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_CACHED_ACCOUNT", NETLOGON_CACHED_ACCOUNT, r);
901 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_USED_LM_PASSWORD", NETLOGON_USED_LM_PASSWORD, r);
902 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_EXTRA_SIDS", NETLOGON_EXTRA_SIDS, r);
903 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_SUBAUTH_SESSION_KEY", NETLOGON_SUBAUTH_SESSION_KEY, r);
904 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_SERVER_TRUST_ACCOUNT", NETLOGON_SERVER_TRUST_ACCOUNT, r);
905 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NTLMV2_ENABLED", NETLOGON_NTLMV2_ENABLED, r);
906 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_RESOURCE_GROUPS", NETLOGON_RESOURCE_GROUPS, r);
907 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_PROFILE_PATH_RETURNED", NETLOGON_PROFILE_PATH_RETURNED, r);
908 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_GRACE_LOGON", NETLOGON_GRACE_LOGON, r);
912 static enum ndr_err_code ndr_push_netr_SamBaseInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_SamBaseInfo *r)
914 uint32_t cntr_unknown_0;
915 if (ndr_flags & NDR_SCALARS) {
916 NDR_CHECK(ndr_push_align(ndr, 4));
917 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logon));
918 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logoff));
919 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->acct_expiry));
920 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_password_change));
921 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->allow_password_change));
922 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->force_password_change));
923 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
924 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
925 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
926 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
927 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
928 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
929 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count));
930 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->bad_password_count));
931 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
932 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid));
933 NDR_CHECK(ndr_push_samr_RidWithAttributeArray(ndr, NDR_SCALARS, &r->groups));
934 NDR_CHECK(ndr_push_netr_UserFlags(ndr, NDR_SCALARS, r->user_flags));
935 NDR_CHECK(ndr_push_netr_UserSessionKey(ndr, NDR_SCALARS, &r->key));
936 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->logon_server));
937 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->domain));
938 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_sid));
939 NDR_CHECK(ndr_push_netr_LMSessionKey(ndr, NDR_SCALARS, &r->LMSessKey));
940 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
941 for (cntr_unknown_0 = 0; cntr_unknown_0 < 7; cntr_unknown_0++) {
942 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown[cntr_unknown_0]));
945 if (ndr_flags & NDR_BUFFERS) {
946 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
947 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
948 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
949 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
950 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
951 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
952 NDR_CHECK(ndr_push_samr_RidWithAttributeArray(ndr, NDR_BUFFERS, &r->groups));
953 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->logon_server));
954 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->domain));
956 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid));
959 return NDR_ERR_SUCCESS;
962 static enum ndr_err_code ndr_pull_netr_SamBaseInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_SamBaseInfo *r)
964 uint32_t _ptr_domain_sid;
965 TALLOC_CTX *_mem_save_domain_sid_0;
966 uint32_t cntr_unknown_0;
967 if (ndr_flags & NDR_SCALARS) {
968 NDR_CHECK(ndr_pull_align(ndr, 4));
969 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logon));
970 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logoff));
971 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->acct_expiry));
972 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_password_change));
973 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->allow_password_change));
974 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->force_password_change));
975 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
976 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
977 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
978 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
979 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
980 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
981 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count));
982 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->bad_password_count));
983 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
984 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid));
985 NDR_CHECK(ndr_pull_samr_RidWithAttributeArray(ndr, NDR_SCALARS, &r->groups));
986 NDR_CHECK(ndr_pull_netr_UserFlags(ndr, NDR_SCALARS, &r->user_flags));
987 NDR_CHECK(ndr_pull_netr_UserSessionKey(ndr, NDR_SCALARS, &r->key));
988 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->logon_server));
989 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->domain));
990 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_sid));
991 if (_ptr_domain_sid) {
992 NDR_PULL_ALLOC(ndr, r->domain_sid);
994 r->domain_sid = NULL;
996 NDR_CHECK(ndr_pull_netr_LMSessionKey(ndr, NDR_SCALARS, &r->LMSessKey));
997 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
998 for (cntr_unknown_0 = 0; cntr_unknown_0 < 7; cntr_unknown_0++) {
999 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown[cntr_unknown_0]));
1002 if (ndr_flags & NDR_BUFFERS) {
1003 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
1004 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
1005 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
1006 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
1007 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
1008 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
1009 NDR_CHECK(ndr_pull_samr_RidWithAttributeArray(ndr, NDR_BUFFERS, &r->groups));
1010 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->logon_server));
1011 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->domain));
1012 if (r->domain_sid) {
1013 _mem_save_domain_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
1014 NDR_PULL_SET_MEM_CTX(ndr, r->domain_sid, 0);
1015 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid));
1016 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_sid_0, 0);
1019 return NDR_ERR_SUCCESS;
1022 _PUBLIC_ void ndr_print_netr_SamBaseInfo(struct ndr_print *ndr, const char *name, const struct netr_SamBaseInfo *r)
1024 uint32_t cntr_unknown_0;
1025 ndr_print_struct(ndr, name, "netr_SamBaseInfo");
1027 ndr_print_NTTIME(ndr, "last_logon", r->last_logon);
1028 ndr_print_NTTIME(ndr, "last_logoff", r->last_logoff);
1029 ndr_print_NTTIME(ndr, "acct_expiry", r->acct_expiry);
1030 ndr_print_NTTIME(ndr, "last_password_change", r->last_password_change);
1031 ndr_print_NTTIME(ndr, "allow_password_change", r->allow_password_change);
1032 ndr_print_NTTIME(ndr, "force_password_change", r->force_password_change);
1033 ndr_print_lsa_String(ndr, "account_name", &r->account_name);
1034 ndr_print_lsa_String(ndr, "full_name", &r->full_name);
1035 ndr_print_lsa_String(ndr, "logon_script", &r->logon_script);
1036 ndr_print_lsa_String(ndr, "profile_path", &r->profile_path);
1037 ndr_print_lsa_String(ndr, "home_directory", &r->home_directory);
1038 ndr_print_lsa_String(ndr, "home_drive", &r->home_drive);
1039 ndr_print_uint16(ndr, "logon_count", r->logon_count);
1040 ndr_print_uint16(ndr, "bad_password_count", r->bad_password_count);
1041 ndr_print_uint32(ndr, "rid", r->rid);
1042 ndr_print_uint32(ndr, "primary_gid", r->primary_gid);
1043 ndr_print_samr_RidWithAttributeArray(ndr, "groups", &r->groups);
1044 ndr_print_netr_UserFlags(ndr, "user_flags", r->user_flags);
1045 ndr_print_netr_UserSessionKey(ndr, "key", &r->key);
1046 ndr_print_lsa_StringLarge(ndr, "logon_server", &r->logon_server);
1047 ndr_print_lsa_StringLarge(ndr, "domain", &r->domain);
1048 ndr_print_ptr(ndr, "domain_sid", r->domain_sid);
1050 if (r->domain_sid) {
1051 ndr_print_dom_sid2(ndr, "domain_sid", r->domain_sid);
1054 ndr_print_netr_LMSessionKey(ndr, "LMSessKey", &r->LMSessKey);
1055 ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
1056 ndr->print(ndr, "%s: ARRAY(%d)", "unknown", 7);
1058 for (cntr_unknown_0=0;cntr_unknown_0<7;cntr_unknown_0++) {
1060 if (asprintf(&idx_0, "[%d]", cntr_unknown_0) != -1) {
1061 ndr_print_uint32(ndr, "unknown", r->unknown[cntr_unknown_0]);
1069 static enum ndr_err_code ndr_push_netr_SamInfo2(struct ndr_push *ndr, int ndr_flags, const struct netr_SamInfo2 *r)
1071 if (ndr_flags & NDR_SCALARS) {
1072 NDR_CHECK(ndr_push_align(ndr, 4));
1073 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1075 if (ndr_flags & NDR_BUFFERS) {
1076 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1078 return NDR_ERR_SUCCESS;
1081 static enum ndr_err_code ndr_pull_netr_SamInfo2(struct ndr_pull *ndr, int ndr_flags, struct netr_SamInfo2 *r)
1083 if (ndr_flags & NDR_SCALARS) {
1084 NDR_CHECK(ndr_pull_align(ndr, 4));
1085 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1087 if (ndr_flags & NDR_BUFFERS) {
1088 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1090 return NDR_ERR_SUCCESS;
1093 _PUBLIC_ void ndr_print_netr_SamInfo2(struct ndr_print *ndr, const char *name, const struct netr_SamInfo2 *r)
1095 ndr_print_struct(ndr, name, "netr_SamInfo2");
1097 ndr_print_netr_SamBaseInfo(ndr, "base", &r->base);
1101 static enum ndr_err_code ndr_push_netr_SidAttr(struct ndr_push *ndr, int ndr_flags, const struct netr_SidAttr *r)
1103 if (ndr_flags & NDR_SCALARS) {
1104 NDR_CHECK(ndr_push_align(ndr, 4));
1105 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
1106 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr, NDR_SCALARS, r->attributes));
1108 if (ndr_flags & NDR_BUFFERS) {
1110 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
1113 return NDR_ERR_SUCCESS;
1116 static enum ndr_err_code ndr_pull_netr_SidAttr(struct ndr_pull *ndr, int ndr_flags, struct netr_SidAttr *r)
1119 TALLOC_CTX *_mem_save_sid_0;
1120 if (ndr_flags & NDR_SCALARS) {
1121 NDR_CHECK(ndr_pull_align(ndr, 4));
1122 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
1124 NDR_PULL_ALLOC(ndr, r->sid);
1128 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr, NDR_SCALARS, &r->attributes));
1130 if (ndr_flags & NDR_BUFFERS) {
1132 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
1133 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
1134 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
1135 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
1138 return NDR_ERR_SUCCESS;
1141 _PUBLIC_ void ndr_print_netr_SidAttr(struct ndr_print *ndr, const char *name, const struct netr_SidAttr *r)
1143 ndr_print_struct(ndr, name, "netr_SidAttr");
1145 ndr_print_ptr(ndr, "sid", r->sid);
1148 ndr_print_dom_sid2(ndr, "sid", r->sid);
1151 ndr_print_samr_GroupAttrs(ndr, "attributes", r->attributes);
1155 _PUBLIC_ enum ndr_err_code ndr_push_netr_SamInfo3(struct ndr_push *ndr, int ndr_flags, const struct netr_SamInfo3 *r)
1157 uint32_t cntr_sids_1;
1158 if (ndr_flags & NDR_SCALARS) {
1159 NDR_CHECK(ndr_push_align(ndr, 4));
1160 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1161 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sidcount));
1162 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids));
1164 if (ndr_flags & NDR_BUFFERS) {
1165 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1167 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sidcount));
1168 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1169 NDR_CHECK(ndr_push_netr_SidAttr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
1171 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1172 NDR_CHECK(ndr_push_netr_SidAttr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
1176 return NDR_ERR_SUCCESS;
1179 _PUBLIC_ enum ndr_err_code ndr_pull_netr_SamInfo3(struct ndr_pull *ndr, int ndr_flags, struct netr_SamInfo3 *r)
1182 uint32_t cntr_sids_1;
1183 TALLOC_CTX *_mem_save_sids_0;
1184 TALLOC_CTX *_mem_save_sids_1;
1185 if (ndr_flags & NDR_SCALARS) {
1186 NDR_CHECK(ndr_pull_align(ndr, 4));
1187 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1188 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sidcount));
1189 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
1191 NDR_PULL_ALLOC(ndr, r->sids);
1196 if (ndr_flags & NDR_BUFFERS) {
1197 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1199 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1200 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
1201 NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
1202 NDR_PULL_ALLOC_N(ndr, r->sids, ndr_get_array_size(ndr, &r->sids));
1203 _mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr);
1204 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
1205 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1206 NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
1208 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1209 NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
1211 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_1, 0);
1212 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
1215 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sids, r->sidcount));
1218 return NDR_ERR_SUCCESS;
1221 _PUBLIC_ void ndr_print_netr_SamInfo3(struct ndr_print *ndr, const char *name, const struct netr_SamInfo3 *r)
1223 uint32_t cntr_sids_1;
1224 ndr_print_struct(ndr, name, "netr_SamInfo3");
1226 ndr_print_netr_SamBaseInfo(ndr, "base", &r->base);
1227 ndr_print_uint32(ndr, "sidcount", r->sidcount);
1228 ndr_print_ptr(ndr, "sids", r->sids);
1231 ndr->print(ndr, "%s: ARRAY(%d)", "sids", r->sidcount);
1233 for (cntr_sids_1=0;cntr_sids_1<r->sidcount;cntr_sids_1++) {
1235 if (asprintf(&idx_1, "[%d]", cntr_sids_1) != -1) {
1236 ndr_print_netr_SidAttr(ndr, "sids", &r->sids[cntr_sids_1]);
1246 static enum ndr_err_code ndr_push_netr_SamInfo6(struct ndr_push *ndr, int ndr_flags, const struct netr_SamInfo6 *r)
1248 uint32_t cntr_sids_1;
1249 uint32_t cntr_unknown4_0;
1250 if (ndr_flags & NDR_SCALARS) {
1251 NDR_CHECK(ndr_push_align(ndr, 4));
1252 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1253 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sidcount));
1254 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids));
1255 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->forest));
1256 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->principle));
1257 for (cntr_unknown4_0 = 0; cntr_unknown4_0 < 20; cntr_unknown4_0++) {
1258 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4[cntr_unknown4_0]));
1261 if (ndr_flags & NDR_BUFFERS) {
1262 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1264 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sidcount));
1265 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1266 NDR_CHECK(ndr_push_netr_SidAttr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
1268 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1269 NDR_CHECK(ndr_push_netr_SidAttr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
1272 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->forest));
1273 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->principle));
1275 return NDR_ERR_SUCCESS;
1278 static enum ndr_err_code ndr_pull_netr_SamInfo6(struct ndr_pull *ndr, int ndr_flags, struct netr_SamInfo6 *r)
1281 uint32_t cntr_sids_1;
1282 TALLOC_CTX *_mem_save_sids_0;
1283 TALLOC_CTX *_mem_save_sids_1;
1284 uint32_t cntr_unknown4_0;
1285 if (ndr_flags & NDR_SCALARS) {
1286 NDR_CHECK(ndr_pull_align(ndr, 4));
1287 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1288 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sidcount));
1289 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
1291 NDR_PULL_ALLOC(ndr, r->sids);
1295 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->forest));
1296 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->principle));
1297 for (cntr_unknown4_0 = 0; cntr_unknown4_0 < 20; cntr_unknown4_0++) {
1298 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4[cntr_unknown4_0]));
1301 if (ndr_flags & NDR_BUFFERS) {
1302 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1304 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1305 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
1306 NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
1307 NDR_PULL_ALLOC_N(ndr, r->sids, ndr_get_array_size(ndr, &r->sids));
1308 _mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr);
1309 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
1310 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1311 NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
1313 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1314 NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
1316 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_1, 0);
1317 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
1319 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->forest));
1320 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->principle));
1322 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sids, r->sidcount));
1325 return NDR_ERR_SUCCESS;
1328 _PUBLIC_ void ndr_print_netr_SamInfo6(struct ndr_print *ndr, const char *name, const struct netr_SamInfo6 *r)
1330 uint32_t cntr_sids_1;
1331 uint32_t cntr_unknown4_0;
1332 ndr_print_struct(ndr, name, "netr_SamInfo6");
1334 ndr_print_netr_SamBaseInfo(ndr, "base", &r->base);
1335 ndr_print_uint32(ndr, "sidcount", r->sidcount);
1336 ndr_print_ptr(ndr, "sids", r->sids);
1339 ndr->print(ndr, "%s: ARRAY(%d)", "sids", r->sidcount);
1341 for (cntr_sids_1=0;cntr_sids_1<r->sidcount;cntr_sids_1++) {
1343 if (asprintf(&idx_1, "[%d]", cntr_sids_1) != -1) {
1344 ndr_print_netr_SidAttr(ndr, "sids", &r->sids[cntr_sids_1]);
1351 ndr_print_lsa_String(ndr, "forest", &r->forest);
1352 ndr_print_lsa_String(ndr, "principle", &r->principle);
1353 ndr->print(ndr, "%s: ARRAY(%d)", "unknown4", 20);
1355 for (cntr_unknown4_0=0;cntr_unknown4_0<20;cntr_unknown4_0++) {
1357 if (asprintf(&idx_0, "[%d]", cntr_unknown4_0) != -1) {
1358 ndr_print_uint32(ndr, "unknown4", r->unknown4[cntr_unknown4_0]);
1366 static enum ndr_err_code ndr_push_netr_PacInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_PacInfo *r)
1368 uint32_t cntr_expansionroom_0;
1369 if (ndr_flags & NDR_SCALARS) {
1370 NDR_CHECK(ndr_push_align(ndr, 4));
1371 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pac_size));
1372 NDR_CHECK(ndr_push_unique_ptr(ndr, r->pac));
1373 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_domain));
1374 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_server));
1375 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->principal_name));
1376 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->auth_size));
1377 NDR_CHECK(ndr_push_unique_ptr(ndr, r->auth));
1378 NDR_CHECK(ndr_push_netr_UserSessionKey(ndr, NDR_SCALARS, &r->user_session_key));
1379 for (cntr_expansionroom_0 = 0; cntr_expansionroom_0 < 10; cntr_expansionroom_0++) {
1380 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->expansionroom[cntr_expansionroom_0]));
1382 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
1383 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
1384 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
1385 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
1387 if (ndr_flags & NDR_BUFFERS) {
1389 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pac_size));
1390 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->pac, r->pac_size));
1392 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_domain));
1393 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_server));
1394 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->principal_name));
1396 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->auth_size));
1397 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->auth, r->auth_size));
1399 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
1400 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
1401 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
1402 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
1404 return NDR_ERR_SUCCESS;
1407 static enum ndr_err_code ndr_pull_netr_PacInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_PacInfo *r)
1410 TALLOC_CTX *_mem_save_pac_0;
1412 TALLOC_CTX *_mem_save_auth_0;
1413 uint32_t cntr_expansionroom_0;
1414 if (ndr_flags & NDR_SCALARS) {
1415 NDR_CHECK(ndr_pull_align(ndr, 4));
1416 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pac_size));
1417 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pac));
1419 NDR_PULL_ALLOC(ndr, r->pac);
1423 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_domain));
1424 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_server));
1425 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->principal_name));
1426 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->auth_size));
1427 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_auth));
1429 NDR_PULL_ALLOC(ndr, r->auth);
1433 NDR_CHECK(ndr_pull_netr_UserSessionKey(ndr, NDR_SCALARS, &r->user_session_key));
1434 for (cntr_expansionroom_0 = 0; cntr_expansionroom_0 < 10; cntr_expansionroom_0++) {
1435 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->expansionroom[cntr_expansionroom_0]));
1437 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
1438 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
1439 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
1440 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
1442 if (ndr_flags & NDR_BUFFERS) {
1444 _mem_save_pac_0 = NDR_PULL_GET_MEM_CTX(ndr);
1445 NDR_PULL_SET_MEM_CTX(ndr, r->pac, 0);
1446 NDR_CHECK(ndr_pull_array_size(ndr, &r->pac));
1447 NDR_PULL_ALLOC_N(ndr, r->pac, ndr_get_array_size(ndr, &r->pac));
1448 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->pac, ndr_get_array_size(ndr, &r->pac)));
1449 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pac_0, 0);
1451 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_domain));
1452 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_server));
1453 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->principal_name));
1455 _mem_save_auth_0 = NDR_PULL_GET_MEM_CTX(ndr);
1456 NDR_PULL_SET_MEM_CTX(ndr, r->auth, 0);
1457 NDR_CHECK(ndr_pull_array_size(ndr, &r->auth));
1458 NDR_PULL_ALLOC_N(ndr, r->auth, ndr_get_array_size(ndr, &r->auth));
1459 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->auth, ndr_get_array_size(ndr, &r->auth)));
1460 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_auth_0, 0);
1462 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
1463 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
1464 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
1465 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
1467 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->pac, r->pac_size));
1470 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->auth, r->auth_size));
1473 return NDR_ERR_SUCCESS;
1476 _PUBLIC_ void ndr_print_netr_PacInfo(struct ndr_print *ndr, const char *name, const struct netr_PacInfo *r)
1478 uint32_t cntr_expansionroom_0;
1479 ndr_print_struct(ndr, name, "netr_PacInfo");
1481 ndr_print_uint32(ndr, "pac_size", r->pac_size);
1482 ndr_print_ptr(ndr, "pac", r->pac);
1485 ndr_print_array_uint8(ndr, "pac", r->pac, r->pac_size);
1488 ndr_print_lsa_String(ndr, "logon_domain", &r->logon_domain);
1489 ndr_print_lsa_String(ndr, "logon_server", &r->logon_server);
1490 ndr_print_lsa_String(ndr, "principal_name", &r->principal_name);
1491 ndr_print_uint32(ndr, "auth_size", r->auth_size);
1492 ndr_print_ptr(ndr, "auth", r->auth);
1495 ndr_print_array_uint8(ndr, "auth", r->auth, r->auth_size);
1498 ndr_print_netr_UserSessionKey(ndr, "user_session_key", &r->user_session_key);
1499 ndr->print(ndr, "%s: ARRAY(%d)", "expansionroom", 10);
1501 for (cntr_expansionroom_0=0;cntr_expansionroom_0<10;cntr_expansionroom_0++) {
1503 if (asprintf(&idx_0, "[%d]", cntr_expansionroom_0) != -1) {
1504 ndr_print_uint32(ndr, "expansionroom", r->expansionroom[cntr_expansionroom_0]);
1509 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
1510 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
1511 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
1512 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
1516 _PUBLIC_ enum ndr_err_code ndr_push_netr_Validation(struct ndr_push *ndr, int ndr_flags, const union netr_Validation *r)
1518 if (ndr_flags & NDR_SCALARS) {
1519 int level = ndr_push_get_switch_value(ndr, r);
1520 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level));
1523 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sam2));
1527 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sam3));
1531 NDR_CHECK(ndr_push_unique_ptr(ndr, r->pac));
1535 NDR_CHECK(ndr_push_unique_ptr(ndr, r->pac));
1539 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sam6));
1543 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1546 if (ndr_flags & NDR_BUFFERS) {
1547 int level = ndr_push_get_switch_value(ndr, r);
1551 NDR_CHECK(ndr_push_netr_SamInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam2));
1557 NDR_CHECK(ndr_push_netr_SamInfo3(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam3));
1563 NDR_CHECK(ndr_push_netr_PacInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->pac));
1569 NDR_CHECK(ndr_push_netr_PacInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->pac));
1575 NDR_CHECK(ndr_push_netr_SamInfo6(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam6));
1580 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1583 return NDR_ERR_SUCCESS;
1586 _PUBLIC_ enum ndr_err_code ndr_pull_netr_Validation(struct ndr_pull *ndr, int ndr_flags, union netr_Validation *r)
1590 TALLOC_CTX *_mem_save_sam2_0;
1591 TALLOC_CTX *_mem_save_sam3_0;
1592 TALLOC_CTX *_mem_save_pac_0;
1593 TALLOC_CTX *_mem_save_sam6_0;
1594 level = ndr_pull_get_switch_value(ndr, r);
1595 if (ndr_flags & NDR_SCALARS) {
1596 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
1597 if (_level != level) {
1598 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
1603 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam2));
1605 NDR_PULL_ALLOC(ndr, r->sam2);
1613 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam3));
1615 NDR_PULL_ALLOC(ndr, r->sam3);
1623 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pac));
1625 NDR_PULL_ALLOC(ndr, r->pac);
1633 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pac));
1635 NDR_PULL_ALLOC(ndr, r->pac);
1643 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam6));
1645 NDR_PULL_ALLOC(ndr, r->sam6);
1652 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1655 if (ndr_flags & NDR_BUFFERS) {
1659 _mem_save_sam2_0 = NDR_PULL_GET_MEM_CTX(ndr);
1660 NDR_PULL_SET_MEM_CTX(ndr, r->sam2, 0);
1661 NDR_CHECK(ndr_pull_netr_SamInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam2));
1662 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam2_0, 0);
1668 _mem_save_sam3_0 = NDR_PULL_GET_MEM_CTX(ndr);
1669 NDR_PULL_SET_MEM_CTX(ndr, r->sam3, 0);
1670 NDR_CHECK(ndr_pull_netr_SamInfo3(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam3));
1671 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam3_0, 0);
1677 _mem_save_pac_0 = NDR_PULL_GET_MEM_CTX(ndr);
1678 NDR_PULL_SET_MEM_CTX(ndr, r->pac, 0);
1679 NDR_CHECK(ndr_pull_netr_PacInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->pac));
1680 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pac_0, 0);
1686 _mem_save_pac_0 = NDR_PULL_GET_MEM_CTX(ndr);
1687 NDR_PULL_SET_MEM_CTX(ndr, r->pac, 0);
1688 NDR_CHECK(ndr_pull_netr_PacInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->pac));
1689 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pac_0, 0);
1695 _mem_save_sam6_0 = NDR_PULL_GET_MEM_CTX(ndr);
1696 NDR_PULL_SET_MEM_CTX(ndr, r->sam6, 0);
1697 NDR_CHECK(ndr_pull_netr_SamInfo6(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam6));
1698 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam6_0, 0);
1703 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1706 return NDR_ERR_SUCCESS;
1709 _PUBLIC_ void ndr_print_netr_Validation(struct ndr_print *ndr, const char *name, const union netr_Validation *r)
1712 level = ndr_print_get_switch_value(ndr, r);
1713 ndr_print_union(ndr, name, level, "netr_Validation");
1716 ndr_print_ptr(ndr, "sam2", r->sam2);
1719 ndr_print_netr_SamInfo2(ndr, "sam2", r->sam2);
1725 ndr_print_ptr(ndr, "sam3", r->sam3);
1728 ndr_print_netr_SamInfo3(ndr, "sam3", r->sam3);
1734 ndr_print_ptr(ndr, "pac", r->pac);
1737 ndr_print_netr_PacInfo(ndr, "pac", r->pac);
1743 ndr_print_ptr(ndr, "pac", r->pac);
1746 ndr_print_netr_PacInfo(ndr, "pac", r->pac);
1752 ndr_print_ptr(ndr, "sam6", r->sam6);
1755 ndr_print_netr_SamInfo6(ndr, "sam6", r->sam6);
1761 ndr_print_bad_level(ndr, name, level);
1765 _PUBLIC_ enum ndr_err_code ndr_push_netr_Credential(struct ndr_push *ndr, int ndr_flags, const struct netr_Credential *r)
1768 uint32_t _flags_save_STRUCT = ndr->flags;
1769 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1770 if (ndr_flags & NDR_SCALARS) {
1771 NDR_CHECK(ndr_push_align(ndr, 1));
1772 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, 8));
1774 if (ndr_flags & NDR_BUFFERS) {
1776 ndr->flags = _flags_save_STRUCT;
1778 return NDR_ERR_SUCCESS;
1781 _PUBLIC_ enum ndr_err_code ndr_pull_netr_Credential(struct ndr_pull *ndr, int ndr_flags, struct netr_Credential *r)
1784 uint32_t _flags_save_STRUCT = ndr->flags;
1785 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1786 if (ndr_flags & NDR_SCALARS) {
1787 NDR_CHECK(ndr_pull_align(ndr, 1));
1788 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, 8));
1790 if (ndr_flags & NDR_BUFFERS) {
1792 ndr->flags = _flags_save_STRUCT;
1794 return NDR_ERR_SUCCESS;
1797 _PUBLIC_ void ndr_print_netr_Credential(struct ndr_print *ndr, const char *name, const struct netr_Credential *r)
1799 ndr_print_struct(ndr, name, "netr_Credential");
1801 uint32_t _flags_save_STRUCT = ndr->flags;
1802 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1804 ndr_print_array_uint8(ndr, "data", r->data, 8);
1806 ndr->flags = _flags_save_STRUCT;
1810 _PUBLIC_ enum ndr_err_code ndr_push_netr_Authenticator(struct ndr_push *ndr, int ndr_flags, const struct netr_Authenticator *r)
1812 if (ndr_flags & NDR_SCALARS) {
1813 NDR_CHECK(ndr_push_align(ndr, 4));
1814 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, &r->cred));
1815 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->timestamp));
1817 if (ndr_flags & NDR_BUFFERS) {
1819 return NDR_ERR_SUCCESS;
1822 _PUBLIC_ enum ndr_err_code ndr_pull_netr_Authenticator(struct ndr_pull *ndr, int ndr_flags, struct netr_Authenticator *r)
1824 if (ndr_flags & NDR_SCALARS) {
1825 NDR_CHECK(ndr_pull_align(ndr, 4));
1826 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, &r->cred));
1827 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->timestamp));
1829 if (ndr_flags & NDR_BUFFERS) {
1831 return NDR_ERR_SUCCESS;
1834 _PUBLIC_ void ndr_print_netr_Authenticator(struct ndr_print *ndr, const char *name, const struct netr_Authenticator *r)
1836 ndr_print_struct(ndr, name, "netr_Authenticator");
1838 ndr_print_netr_Credential(ndr, "cred", &r->cred);
1839 ndr_print_time_t(ndr, "timestamp", r->timestamp);
1843 static enum ndr_err_code ndr_push_netr_LogonLevel(struct ndr_push *ndr, int ndr_flags, enum netr_LogonLevel r)
1845 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
1846 return NDR_ERR_SUCCESS;
1849 static enum ndr_err_code ndr_pull_netr_LogonLevel(struct ndr_pull *ndr, int ndr_flags, enum netr_LogonLevel *r)
1852 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
1854 return NDR_ERR_SUCCESS;
1857 _PUBLIC_ void ndr_print_netr_LogonLevel(struct ndr_print *ndr, const char *name, enum netr_LogonLevel r)
1859 const char *val = NULL;
1862 case INTERACTIVE_LOGON_TYPE: val = "INTERACTIVE_LOGON_TYPE"; break;
1863 case NET_LOGON_TYPE: val = "NET_LOGON_TYPE"; break;
1865 ndr_print_enum(ndr, name, "ENUM", val, r);
1868 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)
1870 if (ndr_flags & NDR_SCALARS) {
1871 NDR_CHECK(ndr_push_align(ndr, 4));
1872 NDR_CHECK(ndr_push_unique_ptr(ndr, r->account_name));
1873 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
1874 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
1875 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
1876 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
1877 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
1878 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
1879 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
1880 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
1882 if (ndr_flags & NDR_BUFFERS) {
1883 if (r->account_name) {
1884 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF16)));
1885 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1886 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF16)));
1887 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->account_name, ndr_charset_length(r->account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
1889 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
1890 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
1891 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
1892 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
1894 return NDR_ERR_SUCCESS;
1897 static enum ndr_err_code ndr_pull_netr_DELTA_DELETE_USER(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_DELETE_USER *r)
1899 uint32_t _ptr_account_name;
1900 TALLOC_CTX *_mem_save_account_name_0;
1901 if (ndr_flags & NDR_SCALARS) {
1902 NDR_CHECK(ndr_pull_align(ndr, 4));
1903 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_account_name));
1904 if (_ptr_account_name) {
1905 NDR_PULL_ALLOC(ndr, r->account_name);
1907 r->account_name = NULL;
1909 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
1910 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
1911 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
1912 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
1913 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
1914 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
1915 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
1916 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
1918 if (ndr_flags & NDR_BUFFERS) {
1919 if (r->account_name) {
1920 _mem_save_account_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
1921 NDR_PULL_SET_MEM_CTX(ndr, r->account_name, 0);
1922 NDR_CHECK(ndr_pull_array_size(ndr, &r->account_name));
1923 NDR_CHECK(ndr_pull_array_length(ndr, &r->account_name));
1924 if (ndr_get_array_length(ndr, &r->account_name) > ndr_get_array_size(ndr, &r->account_name)) {
1925 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));
1927 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->account_name), sizeof(uint16_t)));
1928 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->account_name, ndr_get_array_length(ndr, &r->account_name), sizeof(uint16_t), CH_UTF16));
1929 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_name_0, 0);
1931 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
1932 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
1933 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
1934 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
1936 return NDR_ERR_SUCCESS;
1939 _PUBLIC_ void ndr_print_netr_DELTA_DELETE_USER(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DELETE_USER *r)
1941 ndr_print_struct(ndr, name, "netr_DELTA_DELETE_USER");
1943 ndr_print_ptr(ndr, "account_name", r->account_name);
1945 if (r->account_name) {
1946 ndr_print_string(ndr, "account_name", r->account_name);
1949 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
1950 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
1951 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
1952 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
1953 ndr_print_uint32(ndr, "unknown5", r->unknown5);
1954 ndr_print_uint32(ndr, "unknown6", r->unknown6);
1955 ndr_print_uint32(ndr, "unknown7", r->unknown7);
1956 ndr_print_uint32(ndr, "unknown8", r->unknown8);
1960 static enum ndr_err_code ndr_push_netr_USER_KEY16(struct ndr_push *ndr, int ndr_flags, const struct netr_USER_KEY16 *r)
1962 if (ndr_flags & NDR_SCALARS) {
1963 NDR_CHECK(ndr_push_align(ndr, 4));
1964 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
1965 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
1966 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
1967 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->pwd));
1969 if (ndr_flags & NDR_BUFFERS) {
1970 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_BUFFERS, &r->pwd));
1972 return NDR_ERR_SUCCESS;
1975 static enum ndr_err_code ndr_pull_netr_USER_KEY16(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_KEY16 *r)
1977 if (ndr_flags & NDR_SCALARS) {
1978 NDR_CHECK(ndr_pull_align(ndr, 4));
1979 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
1980 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
1981 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
1982 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->pwd));
1984 if (ndr_flags & NDR_BUFFERS) {
1985 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_BUFFERS, &r->pwd));
1987 return NDR_ERR_SUCCESS;
1990 _PUBLIC_ void ndr_print_netr_USER_KEY16(struct ndr_print *ndr, const char *name, const struct netr_USER_KEY16 *r)
1992 ndr_print_struct(ndr, name, "netr_USER_KEY16");
1994 ndr_print_uint16(ndr, "length", r->length);
1995 ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->length:r->size);
1996 ndr_print_uint32(ndr, "flags", r->flags);
1997 ndr_print_samr_Password(ndr, "pwd", &r->pwd);
2001 static enum ndr_err_code ndr_push_netr_PasswordHistory(struct ndr_push *ndr, int ndr_flags, const struct netr_PasswordHistory *r)
2003 if (ndr_flags & NDR_SCALARS) {
2004 NDR_CHECK(ndr_push_align(ndr, 4));
2005 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->nt_length));
2006 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->nt_length));
2007 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nt_flags));
2008 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lm_length));
2009 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lm_length));
2010 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->lm_flags));
2011 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->nt_history, r->nt_length));
2012 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->lm_history, r->lm_length));
2014 if (ndr_flags & NDR_BUFFERS) {
2016 return NDR_ERR_SUCCESS;
2019 static enum ndr_err_code ndr_pull_netr_PasswordHistory(struct ndr_pull *ndr, int ndr_flags, struct netr_PasswordHistory *r)
2021 if (ndr_flags & NDR_SCALARS) {
2022 NDR_CHECK(ndr_pull_align(ndr, 4));
2023 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->nt_length));
2024 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->nt_size));
2025 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nt_flags));
2026 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lm_length));
2027 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lm_size));
2028 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->lm_flags));
2029 NDR_PULL_ALLOC_N(ndr, r->nt_history, r->nt_length);
2030 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->nt_history, r->nt_length));
2031 NDR_PULL_ALLOC_N(ndr, r->lm_history, r->lm_length);
2032 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->lm_history, r->lm_length));
2034 if (ndr_flags & NDR_BUFFERS) {
2036 return NDR_ERR_SUCCESS;
2039 _PUBLIC_ void ndr_print_netr_PasswordHistory(struct ndr_print *ndr, const char *name, const struct netr_PasswordHistory *r)
2041 ndr_print_struct(ndr, name, "netr_PasswordHistory");
2043 ndr_print_uint16(ndr, "nt_length", r->nt_length);
2044 ndr_print_uint16(ndr, "nt_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->nt_length:r->nt_size);
2045 ndr_print_uint32(ndr, "nt_flags", r->nt_flags);
2046 ndr_print_uint16(ndr, "lm_length", r->lm_length);
2047 ndr_print_uint16(ndr, "lm_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->lm_length:r->lm_size);
2048 ndr_print_uint32(ndr, "lm_flags", r->lm_flags);
2049 ndr_print_array_uint8(ndr, "nt_history", r->nt_history, r->nt_length);
2050 ndr_print_array_uint8(ndr, "lm_history", r->lm_history, r->lm_length);
2054 static enum ndr_err_code ndr_push_netr_USER_KEYS2(struct ndr_push *ndr, int ndr_flags, const struct netr_USER_KEYS2 *r)
2056 if (ndr_flags & NDR_SCALARS) {
2057 NDR_CHECK(ndr_push_align(ndr, 4));
2058 NDR_CHECK(ndr_push_netr_USER_KEY16(ndr, NDR_SCALARS, &r->lmpassword));
2059 NDR_CHECK(ndr_push_netr_USER_KEY16(ndr, NDR_SCALARS, &r->ntpassword));
2060 NDR_CHECK(ndr_push_netr_PasswordHistory(ndr, NDR_SCALARS, &r->history));
2062 if (ndr_flags & NDR_BUFFERS) {
2063 NDR_CHECK(ndr_push_netr_USER_KEY16(ndr, NDR_BUFFERS, &r->lmpassword));
2064 NDR_CHECK(ndr_push_netr_USER_KEY16(ndr, NDR_BUFFERS, &r->ntpassword));
2066 return NDR_ERR_SUCCESS;
2069 static enum ndr_err_code ndr_pull_netr_USER_KEYS2(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_KEYS2 *r)
2071 if (ndr_flags & NDR_SCALARS) {
2072 NDR_CHECK(ndr_pull_align(ndr, 4));
2073 NDR_CHECK(ndr_pull_netr_USER_KEY16(ndr, NDR_SCALARS, &r->lmpassword));
2074 NDR_CHECK(ndr_pull_netr_USER_KEY16(ndr, NDR_SCALARS, &r->ntpassword));
2075 NDR_CHECK(ndr_pull_netr_PasswordHistory(ndr, NDR_SCALARS, &r->history));
2077 if (ndr_flags & NDR_BUFFERS) {
2078 NDR_CHECK(ndr_pull_netr_USER_KEY16(ndr, NDR_BUFFERS, &r->lmpassword));
2079 NDR_CHECK(ndr_pull_netr_USER_KEY16(ndr, NDR_BUFFERS, &r->ntpassword));
2081 return NDR_ERR_SUCCESS;
2084 _PUBLIC_ void ndr_print_netr_USER_KEYS2(struct ndr_print *ndr, const char *name, const struct netr_USER_KEYS2 *r)
2086 ndr_print_struct(ndr, name, "netr_USER_KEYS2");
2088 ndr_print_netr_USER_KEY16(ndr, "lmpassword", &r->lmpassword);
2089 ndr_print_netr_USER_KEY16(ndr, "ntpassword", &r->ntpassword);
2090 ndr_print_netr_PasswordHistory(ndr, "history", &r->history);
2094 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)
2096 if (ndr_flags & NDR_SCALARS) {
2097 NDR_CHECK(ndr_push_align(ndr, 4));
2098 NDR_CHECK(ndr_push_netr_USER_KEYS2(ndr, NDR_SCALARS, &r->keys2));
2100 if (ndr_flags & NDR_BUFFERS) {
2101 NDR_CHECK(ndr_push_netr_USER_KEYS2(ndr, NDR_BUFFERS, &r->keys2));
2103 return NDR_ERR_SUCCESS;
2106 static enum ndr_err_code ndr_pull_netr_USER_KEY_UNION(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_KEY_UNION *r)
2108 if (ndr_flags & NDR_SCALARS) {
2109 NDR_CHECK(ndr_pull_align(ndr, 4));
2110 NDR_CHECK(ndr_pull_netr_USER_KEYS2(ndr, NDR_SCALARS, &r->keys2));
2112 if (ndr_flags & NDR_BUFFERS) {
2113 NDR_CHECK(ndr_pull_netr_USER_KEYS2(ndr, NDR_BUFFERS, &r->keys2));
2115 return NDR_ERR_SUCCESS;
2118 _PUBLIC_ void ndr_print_netr_USER_KEY_UNION(struct ndr_print *ndr, const char *name, const struct netr_USER_KEY_UNION *r)
2120 ndr_print_struct(ndr, name, "netr_USER_KEY_UNION");
2122 ndr_print_netr_USER_KEYS2(ndr, "keys2", &r->keys2);
2126 _PUBLIC_ enum ndr_err_code ndr_push_netr_USER_KEYS(struct ndr_push *ndr, int ndr_flags, const struct netr_USER_KEYS *r)
2128 if (ndr_flags & NDR_SCALARS) {
2129 NDR_CHECK(ndr_push_align(ndr, 4));
2130 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
2131 NDR_CHECK(ndr_push_netr_USER_KEY_UNION(ndr, NDR_SCALARS, &r->keys));
2133 if (ndr_flags & NDR_BUFFERS) {
2134 NDR_CHECK(ndr_push_netr_USER_KEY_UNION(ndr, NDR_BUFFERS, &r->keys));
2136 return NDR_ERR_SUCCESS;
2139 _PUBLIC_ enum ndr_err_code ndr_pull_netr_USER_KEYS(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_KEYS *r)
2141 if (ndr_flags & NDR_SCALARS) {
2142 NDR_CHECK(ndr_pull_align(ndr, 4));
2143 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
2144 NDR_CHECK(ndr_pull_netr_USER_KEY_UNION(ndr, NDR_SCALARS, &r->keys));
2146 if (ndr_flags & NDR_BUFFERS) {
2147 NDR_CHECK(ndr_pull_netr_USER_KEY_UNION(ndr, NDR_BUFFERS, &r->keys));
2149 return NDR_ERR_SUCCESS;
2152 _PUBLIC_ void ndr_print_netr_USER_KEYS(struct ndr_print *ndr, const char *name, const struct netr_USER_KEYS *r)
2154 ndr_print_struct(ndr, name, "netr_USER_KEYS");
2156 ndr_print_uint32(ndr, "version", r->version);
2157 ndr_print_netr_USER_KEY_UNION(ndr, "keys", &r->keys);
2161 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)
2163 if (ndr_flags & NDR_SCALARS) {
2164 NDR_CHECK(ndr_push_align(ndr, 4));
2165 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->SensitiveDataFlag));
2166 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->DataLength));
2168 uint32_t _flags_save_uint8 = ndr->flags;
2169 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2170 NDR_CHECK(ndr_push_unique_ptr(ndr, r->SensitiveData));
2171 ndr->flags = _flags_save_uint8;
2174 if (ndr_flags & NDR_BUFFERS) {
2176 uint32_t _flags_save_uint8 = ndr->flags;
2177 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2178 if (r->SensitiveData) {
2179 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->DataLength));
2180 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->SensitiveData, r->DataLength));
2182 ndr->flags = _flags_save_uint8;
2185 return NDR_ERR_SUCCESS;
2188 static enum ndr_err_code ndr_pull_netr_USER_PRIVATE_INFO(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_PRIVATE_INFO *r)
2190 uint32_t _ptr_SensitiveData;
2191 TALLOC_CTX *_mem_save_SensitiveData_0;
2192 if (ndr_flags & NDR_SCALARS) {
2193 NDR_CHECK(ndr_pull_align(ndr, 4));
2194 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->SensitiveDataFlag));
2195 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->DataLength));
2197 uint32_t _flags_save_uint8 = ndr->flags;
2198 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2199 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_SensitiveData));
2200 if (_ptr_SensitiveData) {
2201 NDR_PULL_ALLOC(ndr, r->SensitiveData);
2203 r->SensitiveData = NULL;
2205 ndr->flags = _flags_save_uint8;
2208 if (ndr_flags & NDR_BUFFERS) {
2210 uint32_t _flags_save_uint8 = ndr->flags;
2211 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2212 if (r->SensitiveData) {
2213 _mem_save_SensitiveData_0 = NDR_PULL_GET_MEM_CTX(ndr);
2214 NDR_PULL_SET_MEM_CTX(ndr, r->SensitiveData, 0);
2215 NDR_CHECK(ndr_pull_array_size(ndr, &r->SensitiveData));
2216 NDR_PULL_ALLOC_N(ndr, r->SensitiveData, ndr_get_array_size(ndr, &r->SensitiveData));
2217 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->SensitiveData, ndr_get_array_size(ndr, &r->SensitiveData)));
2218 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_SensitiveData_0, 0);
2220 ndr->flags = _flags_save_uint8;
2222 if (r->SensitiveData) {
2223 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->SensitiveData, r->DataLength));
2226 return NDR_ERR_SUCCESS;
2229 _PUBLIC_ void ndr_print_netr_USER_PRIVATE_INFO(struct ndr_print *ndr, const char *name, const struct netr_USER_PRIVATE_INFO *r)
2231 ndr_print_struct(ndr, name, "netr_USER_PRIVATE_INFO");
2233 ndr_print_uint8(ndr, "SensitiveDataFlag", r->SensitiveDataFlag);
2234 ndr_print_uint32(ndr, "DataLength", r->DataLength);
2235 ndr_print_ptr(ndr, "SensitiveData", r->SensitiveData);
2237 if (r->SensitiveData) {
2238 ndr_print_array_uint8(ndr, "SensitiveData", r->SensitiveData, r->DataLength);
2244 static enum ndr_err_code ndr_push_netr_DELTA_USER(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_USER *r)
2246 if (ndr_flags & NDR_SCALARS) {
2247 NDR_CHECK(ndr_push_align(ndr, 4));
2248 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2249 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2250 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
2251 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid));
2252 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
2253 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
2254 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
2255 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
2256 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->workstations));
2257 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logon));
2258 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logoff));
2259 NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
2260 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->bad_password_count));
2261 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count));
2262 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_password_change));
2263 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->acct_expiry));
2264 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
2265 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->lmpassword));
2266 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->ntpassword));
2267 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->nt_password_present));
2268 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->lm_password_present));
2269 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->password_expired));
2270 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->comment));
2271 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->parameters));
2272 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->country_code));
2273 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->code_page));
2274 NDR_CHECK(ndr_push_netr_USER_PRIVATE_INFO(ndr, NDR_SCALARS, &r->user_private_info));
2275 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
2276 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2277 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
2278 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2279 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2280 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2281 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
2282 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
2283 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
2284 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
2286 if (ndr_flags & NDR_BUFFERS) {
2287 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2288 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2289 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
2290 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
2291 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
2292 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
2293 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
2294 NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
2295 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_BUFFERS, &r->lmpassword));
2296 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_BUFFERS, &r->ntpassword));
2297 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->comment));
2298 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->parameters));
2299 NDR_CHECK(ndr_push_netr_USER_PRIVATE_INFO(ndr, NDR_BUFFERS, &r->user_private_info));
2300 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2301 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
2302 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2303 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2304 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2306 return NDR_ERR_SUCCESS;
2309 static enum ndr_err_code ndr_pull_netr_DELTA_USER(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_USER *r)
2311 if (ndr_flags & NDR_SCALARS) {
2312 NDR_CHECK(ndr_pull_align(ndr, 4));
2313 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2314 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2315 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
2316 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid));
2317 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
2318 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
2319 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
2320 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
2321 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->workstations));
2322 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logon));
2323 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logoff));
2324 NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
2325 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->bad_password_count));
2326 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count));
2327 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_password_change));
2328 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->acct_expiry));
2329 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
2330 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->lmpassword));
2331 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->ntpassword));
2332 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->nt_password_present));
2333 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->lm_password_present));
2334 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->password_expired));
2335 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->comment));
2336 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->parameters));
2337 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->country_code));
2338 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->code_page));
2339 NDR_CHECK(ndr_pull_netr_USER_PRIVATE_INFO(ndr, NDR_SCALARS, &r->user_private_info));
2340 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
2341 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2342 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
2343 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2344 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2345 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2346 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
2347 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
2348 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
2349 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
2351 if (ndr_flags & NDR_BUFFERS) {
2352 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2353 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2354 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
2355 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
2356 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
2357 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
2358 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
2359 NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
2360 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_BUFFERS, &r->lmpassword));
2361 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_BUFFERS, &r->ntpassword));
2362 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->comment));
2363 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->parameters));
2364 NDR_CHECK(ndr_pull_netr_USER_PRIVATE_INFO(ndr, NDR_BUFFERS, &r->user_private_info));
2365 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2366 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
2367 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2368 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2369 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2371 return NDR_ERR_SUCCESS;
2374 _PUBLIC_ void ndr_print_netr_DELTA_USER(struct ndr_print *ndr, const char *name, const struct netr_DELTA_USER *r)
2376 ndr_print_struct(ndr, name, "netr_DELTA_USER");
2378 ndr_print_lsa_String(ndr, "account_name", &r->account_name);
2379 ndr_print_lsa_String(ndr, "full_name", &r->full_name);
2380 ndr_print_uint32(ndr, "rid", r->rid);
2381 ndr_print_uint32(ndr, "primary_gid", r->primary_gid);
2382 ndr_print_lsa_String(ndr, "home_directory", &r->home_directory);
2383 ndr_print_lsa_String(ndr, "home_drive", &r->home_drive);
2384 ndr_print_lsa_String(ndr, "logon_script", &r->logon_script);
2385 ndr_print_lsa_String(ndr, "description", &r->description);
2386 ndr_print_lsa_String(ndr, "workstations", &r->workstations);
2387 ndr_print_NTTIME(ndr, "last_logon", r->last_logon);
2388 ndr_print_NTTIME(ndr, "last_logoff", r->last_logoff);
2389 ndr_print_samr_LogonHours(ndr, "logon_hours", &r->logon_hours);
2390 ndr_print_uint16(ndr, "bad_password_count", r->bad_password_count);
2391 ndr_print_uint16(ndr, "logon_count", r->logon_count);
2392 ndr_print_NTTIME(ndr, "last_password_change", r->last_password_change);
2393 ndr_print_NTTIME(ndr, "acct_expiry", r->acct_expiry);
2394 ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
2395 ndr_print_samr_Password(ndr, "lmpassword", &r->lmpassword);
2396 ndr_print_samr_Password(ndr, "ntpassword", &r->ntpassword);
2397 ndr_print_uint8(ndr, "nt_password_present", r->nt_password_present);
2398 ndr_print_uint8(ndr, "lm_password_present", r->lm_password_present);
2399 ndr_print_uint8(ndr, "password_expired", r->password_expired);
2400 ndr_print_lsa_String(ndr, "comment", &r->comment);
2401 ndr_print_lsa_String(ndr, "parameters", &r->parameters);
2402 ndr_print_uint16(ndr, "country_code", r->country_code);
2403 ndr_print_uint16(ndr, "code_page", r->code_page);
2404 ndr_print_netr_USER_PRIVATE_INFO(ndr, "user_private_info", &r->user_private_info);
2405 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
2406 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
2407 ndr_print_lsa_String(ndr, "profile_path", &r->profile_path);
2408 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
2409 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
2410 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
2411 ndr_print_uint32(ndr, "unknown5", r->unknown5);
2412 ndr_print_uint32(ndr, "unknown6", r->unknown6);
2413 ndr_print_uint32(ndr, "unknown7", r->unknown7);
2414 ndr_print_uint32(ndr, "unknown8", r->unknown8);
2418 static enum ndr_err_code ndr_push_netr_DELTA_DOMAIN(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_DOMAIN *r)
2420 if (ndr_flags & NDR_SCALARS) {
2421 NDR_CHECK(ndr_push_align(ndr, 4));
2422 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
2423 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->comment));
2424 NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->force_logoff_time));
2425 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->min_password_length));
2426 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->password_history_length));
2427 NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->max_password_age));
2428 NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->min_password_age));
2429 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->sequence_num));
2430 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->domain_create_time));
2431 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
2432 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2433 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_SCALARS, &r->account_lockout));
2434 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2435 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2436 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2437 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logon_to_chgpass));
2438 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
2439 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
2440 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
2442 if (ndr_flags & NDR_BUFFERS) {
2443 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
2444 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->comment));
2445 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2446 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_BUFFERS, &r->account_lockout));
2447 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2448 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2449 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2451 return NDR_ERR_SUCCESS;
2454 static enum ndr_err_code ndr_pull_netr_DELTA_DOMAIN(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_DOMAIN *r)
2456 if (ndr_flags & NDR_SCALARS) {
2457 NDR_CHECK(ndr_pull_align(ndr, 4));
2458 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
2459 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->comment));
2460 NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->force_logoff_time));
2461 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->min_password_length));
2462 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->password_history_length));
2463 NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->max_password_age));
2464 NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->min_password_age));
2465 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->sequence_num));
2466 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->domain_create_time));
2467 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
2468 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2469 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_SCALARS, &r->account_lockout));
2470 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2471 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2472 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2473 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logon_to_chgpass));
2474 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
2475 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
2476 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
2478 if (ndr_flags & NDR_BUFFERS) {
2479 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
2480 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->comment));
2481 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2482 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_BUFFERS, &r->account_lockout));
2483 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2484 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2485 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2487 return NDR_ERR_SUCCESS;
2490 _PUBLIC_ void ndr_print_netr_DELTA_DOMAIN(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DOMAIN *r)
2492 ndr_print_struct(ndr, name, "netr_DELTA_DOMAIN");
2494 ndr_print_lsa_String(ndr, "domain_name", &r->domain_name);
2495 ndr_print_lsa_String(ndr, "comment", &r->comment);
2496 ndr_print_dlong(ndr, "force_logoff_time", r->force_logoff_time);
2497 ndr_print_uint16(ndr, "min_password_length", r->min_password_length);
2498 ndr_print_uint16(ndr, "password_history_length", r->password_history_length);
2499 ndr_print_dlong(ndr, "max_password_age", r->max_password_age);
2500 ndr_print_dlong(ndr, "min_password_age", r->min_password_age);
2501 ndr_print_udlong(ndr, "sequence_num", r->sequence_num);
2502 ndr_print_NTTIME(ndr, "domain_create_time", r->domain_create_time);
2503 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
2504 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
2505 ndr_print_lsa_BinaryString(ndr, "account_lockout", &r->account_lockout);
2506 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
2507 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
2508 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
2509 ndr_print_uint32(ndr, "logon_to_chgpass", r->logon_to_chgpass);
2510 ndr_print_uint32(ndr, "unknown6", r->unknown6);
2511 ndr_print_uint32(ndr, "unknown7", r->unknown7);
2512 ndr_print_uint32(ndr, "unknown8", r->unknown8);
2516 static enum ndr_err_code ndr_push_netr_DELTA_GROUP(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_GROUP *r)
2518 if (ndr_flags & NDR_SCALARS) {
2519 NDR_CHECK(ndr_push_align(ndr, 4));
2520 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->group_name));
2521 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
2522 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->attributes));
2523 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
2524 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
2525 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2526 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2527 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2528 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2529 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2530 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
2531 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
2532 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
2533 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
2535 if (ndr_flags & NDR_BUFFERS) {
2536 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->group_name));
2537 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
2538 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2539 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
2540 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2541 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2542 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2544 return NDR_ERR_SUCCESS;
2547 static enum ndr_err_code ndr_pull_netr_DELTA_GROUP(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_GROUP *r)
2549 if (ndr_flags & NDR_SCALARS) {
2550 NDR_CHECK(ndr_pull_align(ndr, 4));
2551 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->group_name));
2552 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
2553 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->attributes));
2554 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
2555 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
2556 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2557 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2558 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2559 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2560 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2561 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
2562 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
2563 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
2564 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
2566 if (ndr_flags & NDR_BUFFERS) {
2567 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->group_name));
2568 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
2569 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2570 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
2571 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2572 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2573 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2575 return NDR_ERR_SUCCESS;
2578 _PUBLIC_ void ndr_print_netr_DELTA_GROUP(struct ndr_print *ndr, const char *name, const struct netr_DELTA_GROUP *r)
2580 ndr_print_struct(ndr, name, "netr_DELTA_GROUP");
2582 ndr_print_lsa_String(ndr, "group_name", &r->group_name);
2583 ndr_print_uint32(ndr, "rid", r->rid);
2584 ndr_print_uint32(ndr, "attributes", r->attributes);
2585 ndr_print_lsa_String(ndr, "description", &r->description);
2586 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
2587 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
2588 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
2589 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
2590 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
2591 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
2592 ndr_print_uint32(ndr, "unknown5", r->unknown5);
2593 ndr_print_uint32(ndr, "unknown6", r->unknown6);
2594 ndr_print_uint32(ndr, "unknown7", r->unknown7);
2595 ndr_print_uint32(ndr, "unknown8", r->unknown8);
2599 static enum ndr_err_code ndr_push_netr_DELTA_RENAME(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_RENAME *r)
2601 if (ndr_flags & NDR_SCALARS) {
2602 NDR_CHECK(ndr_push_align(ndr, 4));
2603 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->OldName));
2604 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->NewName));
2605 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2606 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2607 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2608 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2609 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
2610 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
2611 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
2612 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
2614 if (ndr_flags & NDR_BUFFERS) {
2615 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->OldName));
2616 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->NewName));
2617 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
2618 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2619 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2620 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2622 return NDR_ERR_SUCCESS;
2625 static enum ndr_err_code ndr_pull_netr_DELTA_RENAME(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_RENAME *r)
2627 if (ndr_flags & NDR_SCALARS) {
2628 NDR_CHECK(ndr_pull_align(ndr, 4));
2629 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->OldName));
2630 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->NewName));
2631 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2632 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2633 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2634 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2635 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
2636 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
2637 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
2638 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
2640 if (ndr_flags & NDR_BUFFERS) {
2641 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->OldName));
2642 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->NewName));
2643 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
2644 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2645 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2646 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2648 return NDR_ERR_SUCCESS;
2651 _PUBLIC_ void ndr_print_netr_DELTA_RENAME(struct ndr_print *ndr, const char *name, const struct netr_DELTA_RENAME *r)
2653 ndr_print_struct(ndr, name, "netr_DELTA_RENAME");
2655 ndr_print_lsa_String(ndr, "OldName", &r->OldName);
2656 ndr_print_lsa_String(ndr, "NewName", &r->NewName);
2657 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
2658 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
2659 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
2660 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
2661 ndr_print_uint32(ndr, "unknown5", r->unknown5);
2662 ndr_print_uint32(ndr, "unknown6", r->unknown6);
2663 ndr_print_uint32(ndr, "unknown7", r->unknown7);
2664 ndr_print_uint32(ndr, "unknown8", r->unknown8);
2668 static enum ndr_err_code ndr_push_netr_DELTA_GROUP_MEMBER(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_GROUP_MEMBER *r)
2670 uint32_t cntr_rids_1;
2671 uint32_t cntr_attribs_1;
2672 if (ndr_flags & NDR_SCALARS) {
2673 NDR_CHECK(ndr_push_align(ndr, 4));
2674 NDR_CHECK(ndr_push_unique_ptr(ndr, r->rids));
2675 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribs));
2676 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_rids));
2677 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
2678 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
2679 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown3));
2680 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4));
2682 if (ndr_flags & NDR_BUFFERS) {
2684 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_rids));
2685 for (cntr_rids_1 = 0; cntr_rids_1 < r->num_rids; cntr_rids_1++) {
2686 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rids[cntr_rids_1]));
2690 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_rids));
2691 for (cntr_attribs_1 = 0; cntr_attribs_1 < r->num_rids; cntr_attribs_1++) {
2692 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->attribs[cntr_attribs_1]));
2696 return NDR_ERR_SUCCESS;
2699 static enum ndr_err_code ndr_pull_netr_DELTA_GROUP_MEMBER(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_GROUP_MEMBER *r)
2702 uint32_t cntr_rids_1;
2703 TALLOC_CTX *_mem_save_rids_0;
2704 TALLOC_CTX *_mem_save_rids_1;
2705 uint32_t _ptr_attribs;
2706 uint32_t cntr_attribs_1;
2707 TALLOC_CTX *_mem_save_attribs_0;
2708 TALLOC_CTX *_mem_save_attribs_1;
2709 if (ndr_flags & NDR_SCALARS) {
2710 NDR_CHECK(ndr_pull_align(ndr, 4));
2711 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rids));
2713 NDR_PULL_ALLOC(ndr, r->rids);
2717 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribs));
2719 NDR_PULL_ALLOC(ndr, r->attribs);
2723 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_rids));
2724 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
2725 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
2726 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown3));
2727 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4));
2729 if (ndr_flags & NDR_BUFFERS) {
2731 _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
2732 NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0);
2733 NDR_CHECK(ndr_pull_array_size(ndr, &r->rids));
2734 NDR_PULL_ALLOC_N(ndr, r->rids, ndr_get_array_size(ndr, &r->rids));
2735 _mem_save_rids_1 = NDR_PULL_GET_MEM_CTX(ndr);
2736 NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0);
2737 for (cntr_rids_1 = 0; cntr_rids_1 < r->num_rids; cntr_rids_1++) {
2738 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rids[cntr_rids_1]));
2740 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_1, 0);
2741 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, 0);
2744 _mem_save_attribs_0 = NDR_PULL_GET_MEM_CTX(ndr);
2745 NDR_PULL_SET_MEM_CTX(ndr, r->attribs, 0);
2746 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribs));
2747 NDR_PULL_ALLOC_N(ndr, r->attribs, ndr_get_array_size(ndr, &r->attribs));
2748 _mem_save_attribs_1 = NDR_PULL_GET_MEM_CTX(ndr);
2749 NDR_PULL_SET_MEM_CTX(ndr, r->attribs, 0);
2750 for (cntr_attribs_1 = 0; cntr_attribs_1 < r->num_rids; cntr_attribs_1++) {
2751 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->attribs[cntr_attribs_1]));
2753 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribs_1, 0);
2754 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribs_0, 0);
2757 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->rids, r->num_rids));
2760 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->attribs, r->num_rids));
2763 return NDR_ERR_SUCCESS;
2766 _PUBLIC_ void ndr_print_netr_DELTA_GROUP_MEMBER(struct ndr_print *ndr, const char *name, const struct netr_DELTA_GROUP_MEMBER *r)
2768 uint32_t cntr_rids_1;
2769 uint32_t cntr_attribs_1;
2770 ndr_print_struct(ndr, name, "netr_DELTA_GROUP_MEMBER");
2772 ndr_print_ptr(ndr, "rids", r->rids);
2775 ndr->print(ndr, "%s: ARRAY(%d)", "rids", r->num_rids);
2777 for (cntr_rids_1=0;cntr_rids_1<r->num_rids;cntr_rids_1++) {
2779 if (asprintf(&idx_1, "[%d]", cntr_rids_1) != -1) {
2780 ndr_print_uint32(ndr, "rids", r->rids[cntr_rids_1]);
2787 ndr_print_ptr(ndr, "attribs", r->attribs);
2790 ndr->print(ndr, "%s: ARRAY(%d)", "attribs", r->num_rids);
2792 for (cntr_attribs_1=0;cntr_attribs_1<r->num_rids;cntr_attribs_1++) {
2794 if (asprintf(&idx_1, "[%d]", cntr_attribs_1) != -1) {
2795 ndr_print_uint32(ndr, "attribs", r->attribs[cntr_attribs_1]);
2802 ndr_print_uint32(ndr, "num_rids", r->num_rids);
2803 ndr_print_uint32(ndr, "unknown1", r->unknown1);
2804 ndr_print_uint32(ndr, "unknown2", r->unknown2);
2805 ndr_print_uint32(ndr, "unknown3", r->unknown3);
2806 ndr_print_uint32(ndr, "unknown4", r->unknown4);
2810 static enum ndr_err_code ndr_push_netr_DELTA_ALIAS(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_ALIAS *r)
2812 if (ndr_flags & NDR_SCALARS) {
2813 NDR_CHECK(ndr_push_align(ndr, 4));
2814 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->alias_name));
2815 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
2816 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
2817 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2818 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
2819 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2820 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2821 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2822 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
2823 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
2824 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
2825 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
2827 if (ndr_flags & NDR_BUFFERS) {
2828 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->alias_name));
2829 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2830 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
2831 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2832 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2833 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2835 return NDR_ERR_SUCCESS;
2838 static enum ndr_err_code ndr_pull_netr_DELTA_ALIAS(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ALIAS *r)
2840 if (ndr_flags & NDR_SCALARS) {
2841 NDR_CHECK(ndr_pull_align(ndr, 4));
2842 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->alias_name));
2843 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
2844 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
2845 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2846 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
2847 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2848 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2849 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2850 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
2851 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
2852 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
2853 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
2855 if (ndr_flags & NDR_BUFFERS) {
2856 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->alias_name));
2857 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2858 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
2859 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2860 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2861 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2863 return NDR_ERR_SUCCESS;
2866 _PUBLIC_ void ndr_print_netr_DELTA_ALIAS(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ALIAS *r)
2868 ndr_print_struct(ndr, name, "netr_DELTA_ALIAS");
2870 ndr_print_lsa_String(ndr, "alias_name", &r->alias_name);
2871 ndr_print_uint32(ndr, "rid", r->rid);
2872 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
2873 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
2874 ndr_print_lsa_String(ndr, "description", &r->description);
2875 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
2876 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
2877 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
2878 ndr_print_uint32(ndr, "unknown5", r->unknown5);
2879 ndr_print_uint32(ndr, "unknown6", r->unknown6);
2880 ndr_print_uint32(ndr, "unknown7", r->unknown7);
2881 ndr_print_uint32(ndr, "unknown8", r->unknown8);
2885 static enum ndr_err_code ndr_push_netr_DELTA_ALIAS_MEMBER(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_ALIAS_MEMBER *r)
2887 if (ndr_flags & NDR_SCALARS) {
2888 NDR_CHECK(ndr_push_align(ndr, 4));
2889 NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_SCALARS, &r->sids));
2890 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
2891 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
2892 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown3));
2893 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4));
2895 if (ndr_flags & NDR_BUFFERS) {
2896 NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_BUFFERS, &r->sids));
2898 return NDR_ERR_SUCCESS;
2901 static enum ndr_err_code ndr_pull_netr_DELTA_ALIAS_MEMBER(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ALIAS_MEMBER *r)
2903 if (ndr_flags & NDR_SCALARS) {
2904 NDR_CHECK(ndr_pull_align(ndr, 4));
2905 NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_SCALARS, &r->sids));
2906 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
2907 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
2908 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown3));
2909 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4));
2911 if (ndr_flags & NDR_BUFFERS) {
2912 NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_BUFFERS, &r->sids));
2914 return NDR_ERR_SUCCESS;
2917 _PUBLIC_ void ndr_print_netr_DELTA_ALIAS_MEMBER(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ALIAS_MEMBER *r)
2919 ndr_print_struct(ndr, name, "netr_DELTA_ALIAS_MEMBER");
2921 ndr_print_lsa_SidArray(ndr, "sids", &r->sids);
2922 ndr_print_uint32(ndr, "unknown1", r->unknown1);
2923 ndr_print_uint32(ndr, "unknown2", r->unknown2);
2924 ndr_print_uint32(ndr, "unknown3", r->unknown3);
2925 ndr_print_uint32(ndr, "unknown4", r->unknown4);
2929 static enum ndr_err_code ndr_push_netr_QUOTA_LIMITS(struct ndr_push *ndr, int ndr_flags, const struct netr_QUOTA_LIMITS *r)
2931 if (ndr_flags & NDR_SCALARS) {
2932 NDR_CHECK(ndr_push_align(ndr, 4));
2933 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pagedpoollimit));
2934 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nonpagedpoollimit));
2935 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->minimumworkingsetsize));
2936 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maximumworkingsetsize));
2937 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pagefilelimit));
2938 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->timelimit));
2940 if (ndr_flags & NDR_BUFFERS) {
2942 return NDR_ERR_SUCCESS;
2945 static enum ndr_err_code ndr_pull_netr_QUOTA_LIMITS(struct ndr_pull *ndr, int ndr_flags, struct netr_QUOTA_LIMITS *r)
2947 if (ndr_flags & NDR_SCALARS) {
2948 NDR_CHECK(ndr_pull_align(ndr, 4));
2949 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pagedpoollimit));
2950 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nonpagedpoollimit));
2951 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->minimumworkingsetsize));
2952 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maximumworkingsetsize));
2953 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pagefilelimit));
2954 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->timelimit));
2956 if (ndr_flags & NDR_BUFFERS) {
2958 return NDR_ERR_SUCCESS;
2961 _PUBLIC_ void ndr_print_netr_QUOTA_LIMITS(struct ndr_print *ndr, const char *name, const struct netr_QUOTA_LIMITS *r)
2963 ndr_print_struct(ndr, name, "netr_QUOTA_LIMITS");
2965 ndr_print_uint32(ndr, "pagedpoollimit", r->pagedpoollimit);
2966 ndr_print_uint32(ndr, "nonpagedpoollimit", r->nonpagedpoollimit);
2967 ndr_print_uint32(ndr, "minimumworkingsetsize", r->minimumworkingsetsize);
2968 ndr_print_uint32(ndr, "maximumworkingsetsize", r->maximumworkingsetsize);
2969 ndr_print_uint32(ndr, "pagefilelimit", r->pagefilelimit);
2970 ndr_print_NTTIME(ndr, "timelimit", r->timelimit);
2974 static enum ndr_err_code ndr_push_netr_DELTA_POLICY(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_POLICY *r)
2976 uint32_t cntr_eventauditoptions_1;
2977 if (ndr_flags & NDR_SCALARS) {
2978 NDR_CHECK(ndr_push_align(ndr, 4));
2979 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxlogsize));
2980 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->auditretentionperiod));
2981 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->auditingmode));
2982 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxauditeventcount));
2983 NDR_CHECK(ndr_push_unique_ptr(ndr, r->eventauditoptions));
2984 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->primary_domain_name));
2985 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
2986 NDR_CHECK(ndr_push_netr_QUOTA_LIMITS(ndr, NDR_SCALARS, &r->quota_limits));
2987 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->sequence_num));
2988 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->db_create_time));
2989 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
2990 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2991 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2992 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2993 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2994 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2995 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
2996 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
2997 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
2998 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
3000 if (ndr_flags & NDR_BUFFERS) {
3001 if (r->eventauditoptions) {
3002 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxauditeventcount + 1));
3003 for (cntr_eventauditoptions_1 = 0; cntr_eventauditoptions_1 < r->maxauditeventcount + 1; cntr_eventauditoptions_1++) {
3004 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->eventauditoptions[cntr_eventauditoptions_1]));
3007 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->primary_domain_name));
3009 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
3011 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3012 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3013 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3014 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3015 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3017 return NDR_ERR_SUCCESS;
3020 static enum ndr_err_code ndr_pull_netr_DELTA_POLICY(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_POLICY *r)
3022 uint32_t _ptr_eventauditoptions;
3023 uint32_t cntr_eventauditoptions_1;
3024 TALLOC_CTX *_mem_save_eventauditoptions_0;
3025 TALLOC_CTX *_mem_save_eventauditoptions_1;
3027 TALLOC_CTX *_mem_save_sid_0;
3028 if (ndr_flags & NDR_SCALARS) {
3029 NDR_CHECK(ndr_pull_align(ndr, 4));
3030 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxlogsize));
3031 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->auditretentionperiod));
3032 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->auditingmode));
3033 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxauditeventcount));
3034 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_eventauditoptions));
3035 if (_ptr_eventauditoptions) {
3036 NDR_PULL_ALLOC(ndr, r->eventauditoptions);
3038 r->eventauditoptions = NULL;
3040 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->primary_domain_name));
3041 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
3043 NDR_PULL_ALLOC(ndr, r->sid);
3047 NDR_CHECK(ndr_pull_netr_QUOTA_LIMITS(ndr, NDR_SCALARS, &r->quota_limits));
3048 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->sequence_num));
3049 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->db_create_time));
3050 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
3051 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3052 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3053 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3054 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3055 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3056 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
3057 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
3058 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
3059 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
3061 if (ndr_flags & NDR_BUFFERS) {
3062 if (r->eventauditoptions) {
3063 _mem_save_eventauditoptions_0 = NDR_PULL_GET_MEM_CTX(ndr);
3064 NDR_PULL_SET_MEM_CTX(ndr, r->eventauditoptions, 0);
3065 NDR_CHECK(ndr_pull_array_size(ndr, &r->eventauditoptions));
3066 NDR_PULL_ALLOC_N(ndr, r->eventauditoptions, ndr_get_array_size(ndr, &r->eventauditoptions));
3067 _mem_save_eventauditoptions_1 = NDR_PULL_GET_MEM_CTX(ndr);
3068 NDR_PULL_SET_MEM_CTX(ndr, r->eventauditoptions, 0);
3069 for (cntr_eventauditoptions_1 = 0; cntr_eventauditoptions_1 < r->maxauditeventcount + 1; cntr_eventauditoptions_1++) {
3070 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->eventauditoptions[cntr_eventauditoptions_1]));
3072 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_eventauditoptions_1, 0);
3073 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_eventauditoptions_0, 0);
3075 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->primary_domain_name));
3077 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
3078 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
3079 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
3080 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
3082 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3083 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3084 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3085 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3086 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3087 if (r->eventauditoptions) {
3088 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->eventauditoptions, r->maxauditeventcount + 1));
3091 return NDR_ERR_SUCCESS;
3094 _PUBLIC_ void ndr_print_netr_DELTA_POLICY(struct ndr_print *ndr, const char *name, const struct netr_DELTA_POLICY *r)
3096 uint32_t cntr_eventauditoptions_1;
3097 ndr_print_struct(ndr, name, "netr_DELTA_POLICY");
3099 ndr_print_uint32(ndr, "maxlogsize", r->maxlogsize);
3100 ndr_print_NTTIME(ndr, "auditretentionperiod", r->auditretentionperiod);
3101 ndr_print_uint8(ndr, "auditingmode", r->auditingmode);
3102 ndr_print_uint32(ndr, "maxauditeventcount", r->maxauditeventcount);
3103 ndr_print_ptr(ndr, "eventauditoptions", r->eventauditoptions);
3105 if (r->eventauditoptions) {
3106 ndr->print(ndr, "%s: ARRAY(%d)", "eventauditoptions", r->maxauditeventcount + 1);
3108 for (cntr_eventauditoptions_1=0;cntr_eventauditoptions_1<r->maxauditeventcount + 1;cntr_eventauditoptions_1++) {
3110 if (asprintf(&idx_1, "[%d]", cntr_eventauditoptions_1) != -1) {
3111 ndr_print_uint32(ndr, "eventauditoptions", r->eventauditoptions[cntr_eventauditoptions_1]);
3118 ndr_print_lsa_String(ndr, "primary_domain_name", &r->primary_domain_name);
3119 ndr_print_ptr(ndr, "sid", r->sid);
3122 ndr_print_dom_sid2(ndr, "sid", r->sid);
3125 ndr_print_netr_QUOTA_LIMITS(ndr, "quota_limits", &r->quota_limits);
3126 ndr_print_udlong(ndr, "sequence_num", r->sequence_num);
3127 ndr_print_NTTIME(ndr, "db_create_time", r->db_create_time);
3128 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
3129 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
3130 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
3131 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
3132 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
3133 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
3134 ndr_print_uint32(ndr, "unknown5", r->unknown5);
3135 ndr_print_uint32(ndr, "unknown6", r->unknown6);
3136 ndr_print_uint32(ndr, "unknown7", r->unknown7);
3137 ndr_print_uint32(ndr, "unknown8", r->unknown8);
3141 static enum ndr_err_code ndr_push_netr_DELTA_TRUSTED_DOMAIN(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_TRUSTED_DOMAIN *r)
3143 uint32_t cntr_controller_names_1;
3144 if (ndr_flags & NDR_SCALARS) {
3145 NDR_CHECK(ndr_push_align(ndr, 4));
3146 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
3147 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_controllers));
3148 NDR_CHECK(ndr_push_unique_ptr(ndr, r->controller_names));
3149 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
3150 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3151 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3152 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3153 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3154 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3155 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->posix_offset));
3156 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
3157 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
3158 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
3160 if (ndr_flags & NDR_BUFFERS) {
3161 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
3162 if (r->controller_names) {
3163 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_controllers));
3164 for (cntr_controller_names_1 = 0; cntr_controller_names_1 < r->num_controllers; cntr_controller_names_1++) {
3165 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->controller_names[cntr_controller_names_1]));
3167 for (cntr_controller_names_1 = 0; cntr_controller_names_1 < r->num_controllers; cntr_controller_names_1++) {
3168 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->controller_names[cntr_controller_names_1]));
3171 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3172 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3173 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3174 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3175 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3177 return NDR_ERR_SUCCESS;
3180 static enum ndr_err_code ndr_pull_netr_DELTA_TRUSTED_DOMAIN(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_TRUSTED_DOMAIN *r)
3182 uint32_t _ptr_controller_names;
3183 uint32_t cntr_controller_names_1;
3184 TALLOC_CTX *_mem_save_controller_names_0;
3185 TALLOC_CTX *_mem_save_controller_names_1;
3186 if (ndr_flags & NDR_SCALARS) {
3187 NDR_CHECK(ndr_pull_align(ndr, 4));
3188 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
3189 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_controllers));
3190 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_controller_names));
3191 if (_ptr_controller_names) {
3192 NDR_PULL_ALLOC(ndr, r->controller_names);
3194 r->controller_names = NULL;
3196 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
3197 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3198 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3199 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3200 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3201 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3202 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->posix_offset));
3203 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
3204 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
3205 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
3207 if (ndr_flags & NDR_BUFFERS) {
3208 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
3209 if (r->controller_names) {
3210 _mem_save_controller_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
3211 NDR_PULL_SET_MEM_CTX(ndr, r->controller_names, 0);
3212 NDR_CHECK(ndr_pull_array_size(ndr, &r->controller_names));
3213 NDR_PULL_ALLOC_N(ndr, r->controller_names, ndr_get_array_size(ndr, &r->controller_names));
3214 _mem_save_controller_names_1 = NDR_PULL_GET_MEM_CTX(ndr);
3215 NDR_PULL_SET_MEM_CTX(ndr, r->controller_names, 0);
3216 for (cntr_controller_names_1 = 0; cntr_controller_names_1 < r->num_controllers; cntr_controller_names_1++) {
3217 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->controller_names[cntr_controller_names_1]));
3219 for (cntr_controller_names_1 = 0; cntr_controller_names_1 < r->num_controllers; cntr_controller_names_1++) {
3220 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->controller_names[cntr_controller_names_1]));
3222 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_controller_names_1, 0);
3223 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_controller_names_0, 0);
3225 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3226 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3227 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3228 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3229 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3230 if (r->controller_names) {
3231 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->controller_names, r->num_controllers));
3234 return NDR_ERR_SUCCESS;
3237 _PUBLIC_ void ndr_print_netr_DELTA_TRUSTED_DOMAIN(struct ndr_print *ndr, const char *name, const struct netr_DELTA_TRUSTED_DOMAIN *r)
3239 uint32_t cntr_controller_names_1;
3240 ndr_print_struct(ndr, name, "netr_DELTA_TRUSTED_DOMAIN");
3242 ndr_print_lsa_String(ndr, "domain_name", &r->domain_name);
3243 ndr_print_uint32(ndr, "num_controllers", r->num_controllers);
3244 ndr_print_ptr(ndr, "controller_names", r->controller_names);
3246 if (r->controller_names) {
3247 ndr->print(ndr, "%s: ARRAY(%d)", "controller_names", r->num_controllers);
3249 for (cntr_controller_names_1=0;cntr_controller_names_1<r->num_controllers;cntr_controller_names_1++) {
3251 if (asprintf(&idx_1, "[%d]", cntr_controller_names_1) != -1) {
3252 ndr_print_lsa_String(ndr, "controller_names", &r->controller_names[cntr_controller_names_1]);
3259 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
3260 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
3261 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
3262 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
3263 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
3264 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
3265 ndr_print_uint32(ndr, "posix_offset", r->posix_offset);
3266 ndr_print_uint32(ndr, "unknown6", r->unknown6);
3267 ndr_print_uint32(ndr, "unknown7", r->unknown7);
3268 ndr_print_uint32(ndr, "unknown8", r->unknown8);
3272 static enum ndr_err_code ndr_push_netr_DELTA_DELETE_TRUST(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_DELETE_TRUST *r)
3274 if (ndr_flags & NDR_SCALARS) {
3275 NDR_CHECK(ndr_push_align(ndr, 2));
3276 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->unknown));
3278 if (ndr_flags & NDR_BUFFERS) {
3280 return NDR_ERR_SUCCESS;
3283 static enum ndr_err_code ndr_pull_netr_DELTA_DELETE_TRUST(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_DELETE_TRUST *r)
3285 if (ndr_flags & NDR_SCALARS) {
3286 NDR_CHECK(ndr_pull_align(ndr, 2));
3287 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->unknown));
3289 if (ndr_flags & NDR_BUFFERS) {
3291 return NDR_ERR_SUCCESS;
3294 _PUBLIC_ void ndr_print_netr_DELTA_DELETE_TRUST(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DELETE_TRUST *r)
3296 ndr_print_struct(ndr, name, "netr_DELTA_DELETE_TRUST");
3298 ndr_print_uint16(ndr, "unknown", r->unknown);
3302 static enum ndr_err_code ndr_push_netr_DELTA_ACCOUNT(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_ACCOUNT *r)
3304 uint32_t cntr_privilege_attrib_1;
3305 uint32_t cntr_privilege_name_1;
3306 if (ndr_flags & NDR_SCALARS) {
3307 NDR_CHECK(ndr_push_align(ndr, 4));
3308 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->privilege_entries));
3309 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->privilege_control));
3310 NDR_CHECK(ndr_push_unique_ptr(ndr, r->privilege_attrib));
3311 NDR_CHECK(ndr_push_unique_ptr(ndr, r->privilege_name));
3312 NDR_CHECK(ndr_push_netr_QUOTA_LIMITS(ndr, NDR_SCALARS, &r->quotalimits));
3313 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->system_flags));
3314 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
3315 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3316 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3317 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3318 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3319 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3320 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
3321 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
3322 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
3323 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
3325 if (ndr_flags & NDR_BUFFERS) {
3326 if (r->privilege_attrib) {
3327 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->privilege_entries));
3328 for (cntr_privilege_attrib_1 = 0; cntr_privilege_attrib_1 < r->privilege_entries; cntr_privilege_attrib_1++) {
3329 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->privilege_attrib[cntr_privilege_attrib_1]));
3332 if (r->privilege_name) {
3333 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->privilege_entries));
3334 for (cntr_privilege_name_1 = 0; cntr_privilege_name_1 < r->privilege_entries; cntr_privilege_name_1++) {
3335 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->privilege_name[cntr_privilege_name_1]));
3337 for (cntr_privilege_name_1 = 0; cntr_privilege_name_1 < r->privilege_entries; cntr_privilege_name_1++) {
3338 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->privilege_name[cntr_privilege_name_1]));
3341 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3342 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3343 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3344 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3345 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3347 return NDR_ERR_SUCCESS;
3350 static enum ndr_err_code ndr_pull_netr_DELTA_ACCOUNT(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ACCOUNT *r)
3352 uint32_t _ptr_privilege_attrib;
3353 uint32_t cntr_privilege_attrib_1;
3354 TALLOC_CTX *_mem_save_privilege_attrib_0;
3355 TALLOC_CTX *_mem_save_privilege_attrib_1;
3356 uint32_t _ptr_privilege_name;
3357 uint32_t cntr_privilege_name_1;
3358 TALLOC_CTX *_mem_save_privilege_name_0;
3359 TALLOC_CTX *_mem_save_privilege_name_1;
3360 if (ndr_flags & NDR_SCALARS) {
3361 NDR_CHECK(ndr_pull_align(ndr, 4));
3362 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->privilege_entries));
3363 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->privilege_control));
3364 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_privilege_attrib));
3365 if (_ptr_privilege_attrib) {
3366 NDR_PULL_ALLOC(ndr, r->privilege_attrib);
3368 r->privilege_attrib = NULL;
3370 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_privilege_name));
3371 if (_ptr_privilege_name) {
3372 NDR_PULL_ALLOC(ndr, r->privilege_name);
3374 r->privilege_name = NULL;
3376 NDR_CHECK(ndr_pull_netr_QUOTA_LIMITS(ndr, NDR_SCALARS, &r->quotalimits));
3377 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->system_flags));
3378 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
3379 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3380 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3381 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3382 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3383 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3384 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
3385 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
3386 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
3387 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
3389 if (ndr_flags & NDR_BUFFERS) {
3390 if (r->privilege_attrib) {
3391 _mem_save_privilege_attrib_0 = NDR_PULL_GET_MEM_CTX(ndr);
3392 NDR_PULL_SET_MEM_CTX(ndr, r->privilege_attrib, 0);
3393 NDR_CHECK(ndr_pull_array_size(ndr, &r->privilege_attrib));
3394 NDR_PULL_ALLOC_N(ndr, r->privilege_attrib, ndr_get_array_size(ndr, &r->privilege_attrib));
3395 _mem_save_privilege_attrib_1 = NDR_PULL_GET_MEM_CTX(ndr);
3396 NDR_PULL_SET_MEM_CTX(ndr, r->privilege_attrib, 0);
3397 for (cntr_privilege_attrib_1 = 0; cntr_privilege_attrib_1 < r->privilege_entries; cntr_privilege_attrib_1++) {
3398 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->privilege_attrib[cntr_privilege_attrib_1]));
3400 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privilege_attrib_1, 0);
3401 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privilege_attrib_0, 0);
3403 if (r->privilege_name) {
3404 _mem_save_privilege_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
3405 NDR_PULL_SET_MEM_CTX(ndr, r->privilege_name, 0);
3406 NDR_CHECK(ndr_pull_array_size(ndr, &r->privilege_name));
3407 NDR_PULL_ALLOC_N(ndr, r->privilege_name, ndr_get_array_size(ndr, &r->privilege_name));
3408 _mem_save_privilege_name_1 = NDR_PULL_GET_MEM_CTX(ndr);
3409 NDR_PULL_SET_MEM_CTX(ndr, r->privilege_name, 0);
3410 for (cntr_privilege_name_1 = 0; cntr_privilege_name_1 < r->privilege_entries; cntr_privilege_name_1++) {
3411 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->privilege_name[cntr_privilege_name_1]));
3413 for (cntr_privilege_name_1 = 0; cntr_privilege_name_1 < r->privilege_entries; cntr_privilege_name_1++) {
3414 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->privilege_name[cntr_privilege_name_1]));
3416 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privilege_name_1, 0);
3417 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privilege_name_0, 0);
3419 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3420 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3421 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3422 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3423 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3424 if (r->privilege_attrib) {
3425 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->privilege_attrib, r->privilege_entries));
3427 if (r->privilege_name) {
3428 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->privilege_name, r->privilege_entries));
3431 return NDR_ERR_SUCCESS;
3434 _PUBLIC_ void ndr_print_netr_DELTA_ACCOUNT(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ACCOUNT *r)
3436 uint32_t cntr_privilege_attrib_1;
3437 uint32_t cntr_privilege_name_1;
3438 ndr_print_struct(ndr, name, "netr_DELTA_ACCOUNT");
3440 ndr_print_uint32(ndr, "privilege_entries", r->privilege_entries);
3441 ndr_print_uint32(ndr, "privilege_control", r->privilege_control);
3442 ndr_print_ptr(ndr, "privilege_attrib", r->privilege_attrib);
3444 if (r->privilege_attrib) {
3445 ndr->print(ndr, "%s: ARRAY(%d)", "privilege_attrib", r->privilege_entries);
3447 for (cntr_privilege_attrib_1=0;cntr_privilege_attrib_1<r->privilege_entries;cntr_privilege_attrib_1++) {
3449 if (asprintf(&idx_1, "[%d]", cntr_privilege_attrib_1) != -1) {
3450 ndr_print_uint32(ndr, "privilege_attrib", r->privilege_attrib[cntr_privilege_attrib_1]);
3457 ndr_print_ptr(ndr, "privilege_name", r->privilege_name);
3459 if (r->privilege_name) {
3460 ndr->print(ndr, "%s: ARRAY(%d)", "privilege_name", r->privilege_entries);
3462 for (cntr_privilege_name_1=0;cntr_privilege_name_1<r->privilege_entries;cntr_privilege_name_1++) {
3464 if (asprintf(&idx_1, "[%d]", cntr_privilege_name_1) != -1) {
3465 ndr_print_lsa_String(ndr, "privilege_name", &r->privilege_name[cntr_privilege_name_1]);
3472 ndr_print_netr_QUOTA_LIMITS(ndr, "quotalimits", &r->quotalimits);
3473 ndr_print_uint32(ndr, "system_flags", r->system_flags);
3474 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
3475 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
3476 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
3477 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
3478 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
3479 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
3480 ndr_print_uint32(ndr, "unknown5", r->unknown5);
3481 ndr_print_uint32(ndr, "unknown6", r->unknown6);
3482 ndr_print_uint32(ndr, "unknown7", r->unknown7);
3483 ndr_print_uint32(ndr, "unknown8", r->unknown8);
3487 static enum ndr_err_code ndr_push_netr_DELTA_DELETE_ACCOUNT(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_DELETE_ACCOUNT *r)
3489 if (ndr_flags & NDR_SCALARS) {
3490 NDR_CHECK(ndr_push_align(ndr, 2));
3491 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->unknown));
3493 if (ndr_flags & NDR_BUFFERS) {
3495 return NDR_ERR_SUCCESS;
3498 static enum ndr_err_code ndr_pull_netr_DELTA_DELETE_ACCOUNT(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_DELETE_ACCOUNT *r)
3500 if (ndr_flags & NDR_SCALARS) {
3501 NDR_CHECK(ndr_pull_align(ndr, 2));
3502 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->unknown));
3504 if (ndr_flags & NDR_BUFFERS) {
3506 return NDR_ERR_SUCCESS;
3509 _PUBLIC_ void ndr_print_netr_DELTA_DELETE_ACCOUNT(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DELETE_ACCOUNT *r)
3511 ndr_print_struct(ndr, name, "netr_DELTA_DELETE_ACCOUNT");
3513 ndr_print_uint16(ndr, "unknown", r->unknown);
3517 static enum ndr_err_code ndr_push_netr_DELTA_DELETE_SECRET(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_DELETE_SECRET *r)
3519 if (ndr_flags & NDR_SCALARS) {
3520 NDR_CHECK(ndr_push_align(ndr, 2));
3521 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->unknown));
3523 if (ndr_flags & NDR_BUFFERS) {
3525 return NDR_ERR_SUCCESS;
3528 static enum ndr_err_code ndr_pull_netr_DELTA_DELETE_SECRET(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_DELETE_SECRET *r)
3530 if (ndr_flags & NDR_SCALARS) {
3531 NDR_CHECK(ndr_pull_align(ndr, 2));
3532 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->unknown));
3534 if (ndr_flags & NDR_BUFFERS) {
3536 return NDR_ERR_SUCCESS;
3539 _PUBLIC_ void ndr_print_netr_DELTA_DELETE_SECRET(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DELETE_SECRET *r)
3541 ndr_print_struct(ndr, name, "netr_DELTA_DELETE_SECRET");
3543 ndr_print_uint16(ndr, "unknown", r->unknown);
3547 static enum ndr_err_code ndr_push_netr_CIPHER_VALUE(struct ndr_push *ndr, int ndr_flags, const struct netr_CIPHER_VALUE *r)
3549 if (ndr_flags & NDR_SCALARS) {
3550 NDR_CHECK(ndr_push_align(ndr, 4));
3551 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->len));
3552 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxlen));
3553 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cipher_data));
3555 if (ndr_flags & NDR_BUFFERS) {
3556 if (r->cipher_data) {
3557 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxlen));
3558 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
3559 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->len));
3560 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->cipher_data, r->len));
3563 return NDR_ERR_SUCCESS;
3566 static enum ndr_err_code ndr_pull_netr_CIPHER_VALUE(struct ndr_pull *ndr, int ndr_flags, struct netr_CIPHER_VALUE *r)
3568 uint32_t _ptr_cipher_data;
3569 TALLOC_CTX *_mem_save_cipher_data_0;
3570 if (ndr_flags & NDR_SCALARS) {
3571 NDR_CHECK(ndr_pull_align(ndr, 4));
3572 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->len));
3573 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxlen));
3574 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cipher_data));
3575 if (_ptr_cipher_data) {
3576 NDR_PULL_ALLOC(ndr, r->cipher_data);
3578 r->cipher_data = NULL;
3581 if (ndr_flags & NDR_BUFFERS) {
3582 if (r->cipher_data) {
3583 _mem_save_cipher_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
3584 NDR_PULL_SET_MEM_CTX(ndr, r->cipher_data, 0);
3585 NDR_CHECK(ndr_pull_array_size(ndr, &r->cipher_data));
3586 NDR_CHECK(ndr_pull_array_length(ndr, &r->cipher_data));
3587 if (ndr_get_array_length(ndr, &r->cipher_data) > ndr_get_array_size(ndr, &r->cipher_data)) {
3588 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->cipher_data), ndr_get_array_length(ndr, &r->cipher_data));
3590 NDR_PULL_ALLOC_N(ndr, r->cipher_data, ndr_get_array_size(ndr, &r->cipher_data));
3591 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->cipher_data, ndr_get_array_length(ndr, &r->cipher_data)));
3592 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cipher_data_0, 0);
3594 if (r->cipher_data) {
3595 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->cipher_data, r->maxlen));
3597 if (r->cipher_data) {
3598 NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->cipher_data, r->len));
3601 return NDR_ERR_SUCCESS;
3604 _PUBLIC_ void ndr_print_netr_CIPHER_VALUE(struct ndr_print *ndr, const char *name, const struct netr_CIPHER_VALUE *r)
3606 ndr_print_struct(ndr, name, "netr_CIPHER_VALUE");
3608 ndr_print_uint32(ndr, "len", r->len);
3609 ndr_print_uint32(ndr, "maxlen", r->maxlen);
3610 ndr_print_ptr(ndr, "cipher_data", r->cipher_data);
3612 if (r->cipher_data) {
3613 ndr_print_array_uint8(ndr, "cipher_data", r->cipher_data, r->len);
3619 static enum ndr_err_code ndr_push_netr_DELTA_SECRET(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_SECRET *r)
3621 if (ndr_flags & NDR_SCALARS) {
3622 NDR_CHECK(ndr_push_align(ndr, 4));
3623 NDR_CHECK(ndr_push_netr_CIPHER_VALUE(ndr, NDR_SCALARS, &r->current_cipher));
3624 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->current_cipher_set_time));
3625 NDR_CHECK(ndr_push_netr_CIPHER_VALUE(ndr, NDR_SCALARS, &r->old_cipher));
3626 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->old_cipher_set_time));
3627 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
3628 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3629 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3630 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3631 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3632 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3633 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
3634 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
3635 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
3636 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
3638 if (ndr_flags & NDR_BUFFERS) {
3639 NDR_CHECK(ndr_push_netr_CIPHER_VALUE(ndr, NDR_BUFFERS, &r->current_cipher));
3640 NDR_CHECK(ndr_push_netr_CIPHER_VALUE(ndr, NDR_BUFFERS, &r->old_cipher));
3641 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3642 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3643 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3644 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3645 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3647 return NDR_ERR_SUCCESS;
3650 static enum ndr_err_code ndr_pull_netr_DELTA_SECRET(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_SECRET *r)
3652 if (ndr_flags & NDR_SCALARS) {
3653 NDR_CHECK(ndr_pull_align(ndr, 4));
3654 NDR_CHECK(ndr_pull_netr_CIPHER_VALUE(ndr, NDR_SCALARS, &r->current_cipher));
3655 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->current_cipher_set_time));
3656 NDR_CHECK(ndr_pull_netr_CIPHER_VALUE(ndr, NDR_SCALARS, &r->old_cipher));
3657 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->old_cipher_set_time));
3658 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
3659 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3660 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3661 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3662 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3663 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3664 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
3665 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
3666 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
3667 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
3669 if (ndr_flags & NDR_BUFFERS) {
3670 NDR_CHECK(ndr_pull_netr_CIPHER_VALUE(ndr, NDR_BUFFERS, &r->current_cipher));
3671 NDR_CHECK(ndr_pull_netr_CIPHER_VALUE(ndr, NDR_BUFFERS, &r->old_cipher));
3672 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3673 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3674 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3675 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3676 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3678 return NDR_ERR_SUCCESS;
3681 _PUBLIC_ void ndr_print_netr_DELTA_SECRET(struct ndr_print *ndr, const char *name, const struct netr_DELTA_SECRET *r)
3683 ndr_print_struct(ndr, name, "netr_DELTA_SECRET");
3685 ndr_print_netr_CIPHER_VALUE(ndr, "current_cipher", &r->current_cipher);
3686 ndr_print_NTTIME(ndr, "current_cipher_set_time", r->current_cipher_set_time);
3687 ndr_print_netr_CIPHER_VALUE(ndr, "old_cipher", &r->old_cipher);
3688 ndr_print_NTTIME(ndr, "old_cipher_set_time", r->old_cipher_set_time);
3689 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
3690 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
3691 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
3692 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
3693 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
3694 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
3695 ndr_print_uint32(ndr, "unknown5", r->unknown5);
3696 ndr_print_uint32(ndr, "unknown6", r->unknown6);
3697 ndr_print_uint32(ndr, "unknown7", r->unknown7);
3698 ndr_print_uint32(ndr, "unknown8", r->unknown8);
3702 static enum ndr_err_code ndr_push_netr_DeltaEnum(struct ndr_push *ndr, int ndr_flags, enum netr_DeltaEnum r)
3704 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
3705 return NDR_ERR_SUCCESS;
3708 static enum ndr_err_code ndr_pull_netr_DeltaEnum(struct ndr_pull *ndr, int ndr_flags, enum netr_DeltaEnum *r)
3711 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
3713 return NDR_ERR_SUCCESS;
3716 _PUBLIC_ void ndr_print_netr_DeltaEnum(struct ndr_print *ndr, const char *name, enum netr_DeltaEnum r)
3718 const char *val = NULL;
3721 case NETR_DELTA_DOMAIN: val = "NETR_DELTA_DOMAIN"; break;
3722 case NETR_DELTA_GROUP: val = "NETR_DELTA_GROUP"; break;
3723 case NETR_DELTA_DELETE_GROUP: val = "NETR_DELTA_DELETE_GROUP"; break;
3724 case NETR_DELTA_RENAME_GROUP: val = "NETR_DELTA_RENAME_GROUP"; break;
3725 case NETR_DELTA_USER: val = "NETR_DELTA_USER"; break;
3726 case NETR_DELTA_DELETE_USER: val = "NETR_DELTA_DELETE_USER"; break;
3727 case NETR_DELTA_RENAME_USER: val = "NETR_DELTA_RENAME_USER"; break;
3728 case NETR_DELTA_GROUP_MEMBER: val = "NETR_DELTA_GROUP_MEMBER"; break;
3729 case NETR_DELTA_ALIAS: val = "NETR_DELTA_ALIAS"; break;
3730 case NETR_DELTA_DELETE_ALIAS: val = "NETR_DELTA_DELETE_ALIAS"; break;
3731 case NETR_DELTA_RENAME_ALIAS: val = "NETR_DELTA_RENAME_ALIAS"; break;
3732 case NETR_DELTA_ALIAS_MEMBER: val = "NETR_DELTA_ALIAS_MEMBER"; break;
3733 case NETR_DELTA_POLICY: val = "NETR_DELTA_POLICY"; break;
3734 case NETR_DELTA_TRUSTED_DOMAIN: val = "NETR_DELTA_TRUSTED_DOMAIN"; break;
3735 case NETR_DELTA_DELETE_TRUST: val = "NETR_DELTA_DELETE_TRUST"; break;
3736 case NETR_DELTA_ACCOUNT: val = "NETR_DELTA_ACCOUNT"; break;
3737 case NETR_DELTA_DELETE_ACCOUNT: val = "NETR_DELTA_DELETE_ACCOUNT"; break;
3738 case NETR_DELTA_SECRET: val = "NETR_DELTA_SECRET"; break;
3739 case NETR_DELTA_DELETE_SECRET: val = "NETR_DELTA_DELETE_SECRET"; break;
3740 case NETR_DELTA_DELETE_GROUP2: val = "NETR_DELTA_DELETE_GROUP2"; break;
3741 case NETR_DELTA_DELETE_USER2: val = "NETR_DELTA_DELETE_USER2"; break;
3742 case NETR_DELTA_MODIFY_COUNT: val = "NETR_DELTA_MODIFY_COUNT"; break;
3744 ndr_print_enum(ndr, name, "ENUM", val, r);
3747 static enum ndr_err_code ndr_push_netr_DELTA_UNION(struct ndr_push *ndr, int ndr_flags, const union netr_DELTA_UNION *r)
3749 if (ndr_flags & NDR_SCALARS) {
3750 int level = ndr_push_get_switch_value(ndr, r);
3751 NDR_CHECK(ndr_push_netr_DeltaEnum(ndr, NDR_SCALARS, level));
3753 case NETR_DELTA_DOMAIN: {
3754 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
3757 case NETR_DELTA_GROUP: {
3758 NDR_CHECK(ndr_push_unique_ptr(ndr, r->group));
3761 case NETR_DELTA_DELETE_GROUP: {
3764 case NETR_DELTA_RENAME_GROUP: {
3765 NDR_CHECK(ndr_push_unique_ptr(ndr, r->rename_group));
3768 case NETR_DELTA_USER: {
3769 NDR_CHECK(ndr_push_unique_ptr(ndr, r->user));
3772 case NETR_DELTA_DELETE_USER: {
3775 case NETR_DELTA_RENAME_USER: {
3776 NDR_CHECK(ndr_push_unique_ptr(ndr, r->rename_user));
3779 case NETR_DELTA_GROUP_MEMBER: {
3780 NDR_CHECK(ndr_push_unique_ptr(ndr, r->group_member));
3783 case NETR_DELTA_ALIAS: {
3784 NDR_CHECK(ndr_push_unique_ptr(ndr, r->alias));
3787 case NETR_DELTA_DELETE_ALIAS: {
3790 case NETR_DELTA_RENAME_ALIAS: {
3791 NDR_CHECK(ndr_push_unique_ptr(ndr, r->rename_alias));
3794 case NETR_DELTA_ALIAS_MEMBER: {
3795 NDR_CHECK(ndr_push_unique_ptr(ndr, r->alias_member));
3798 case NETR_DELTA_POLICY: {
3799 NDR_CHECK(ndr_push_unique_ptr(ndr, r->policy));
3802 case NETR_DELTA_TRUSTED_DOMAIN: {
3803 NDR_CHECK(ndr_push_unique_ptr(ndr, r->trusted_domain));
3806 case NETR_DELTA_DELETE_TRUST: {
3807 NDR_CHECK(ndr_push_netr_DELTA_DELETE_TRUST(ndr, NDR_SCALARS, &r->delete_trust));
3810 case NETR_DELTA_ACCOUNT: {
3811 NDR_CHECK(ndr_push_unique_ptr(ndr, r->account));
3814 case NETR_DELTA_DELETE_ACCOUNT: {
3815 NDR_CHECK(ndr_push_netr_DELTA_DELETE_ACCOUNT(ndr, NDR_SCALARS, &r->delete_account));
3818 case NETR_DELTA_SECRET: {
3819 NDR_CHECK(ndr_push_unique_ptr(ndr, r->secret));
3822 case NETR_DELTA_DELETE_SECRET: {
3823 NDR_CHECK(ndr_push_netr_DELTA_DELETE_SECRET(ndr, NDR_SCALARS, &r->delete_secret));
3826 case NETR_DELTA_DELETE_GROUP2: {
3827 NDR_CHECK(ndr_push_unique_ptr(ndr, r->delete_group));
3830 case NETR_DELTA_DELETE_USER2: {
3831 NDR_CHECK(ndr_push_unique_ptr(ndr, r->delete_user));
3834 case NETR_DELTA_MODIFY_COUNT: {
3835 NDR_CHECK(ndr_push_unique_ptr(ndr, r->modified_count));
3839 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
3842 if (ndr_flags & NDR_BUFFERS) {
3843 int level = ndr_push_get_switch_value(ndr, r);
3845 case NETR_DELTA_DOMAIN:
3847 NDR_CHECK(ndr_push_netr_DELTA_DOMAIN(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain));
3851 case NETR_DELTA_GROUP:
3853 NDR_CHECK(ndr_push_netr_DELTA_GROUP(ndr, NDR_SCALARS|NDR_BUFFERS, r->group));
3857 case NETR_DELTA_DELETE_GROUP:
3860 case NETR_DELTA_RENAME_GROUP:
3861 if (r->rename_group) {
3862 NDR_CHECK(ndr_push_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_group));
3866 case NETR_DELTA_USER:
3868 NDR_CHECK(ndr_push_netr_DELTA_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->user));
3872 case NETR_DELTA_DELETE_USER:
3875 case NETR_DELTA_RENAME_USER:
3876 if (r->rename_user) {
3877 NDR_CHECK(ndr_push_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_user));
3881 case NETR_DELTA_GROUP_MEMBER:
3882 if (r->group_member) {
3883 NDR_CHECK(ndr_push_netr_DELTA_GROUP_MEMBER(ndr, NDR_SCALARS|NDR_BUFFERS, r->group_member));
3887 case NETR_DELTA_ALIAS:
3889 NDR_CHECK(ndr_push_netr_DELTA_ALIAS(ndr, NDR_SCALARS|NDR_BUFFERS, r->alias));
3893 case NETR_DELTA_DELETE_ALIAS:
3896 case NETR_DELTA_RENAME_ALIAS:
3897 if (r->rename_alias) {
3898 NDR_CHECK(ndr_push_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_alias));
3902 case NETR_DELTA_ALIAS_MEMBER:
3903 if (r->alias_member) {
3904 NDR_CHECK(ndr_push_netr_DELTA_ALIAS_MEMBER(ndr, NDR_SCALARS|NDR_BUFFERS, r->alias_member));
3908 case NETR_DELTA_POLICY:
3910 NDR_CHECK(ndr_push_netr_DELTA_POLICY(ndr, NDR_SCALARS|NDR_BUFFERS, r->policy));
3914 case NETR_DELTA_TRUSTED_DOMAIN:
3915 if (r->trusted_domain) {
3916 NDR_CHECK(ndr_push_netr_DELTA_TRUSTED_DOMAIN(ndr, NDR_SCALARS|NDR_BUFFERS, r->trusted_domain));
3920 case NETR_DELTA_DELETE_TRUST:
3923 case NETR_DELTA_ACCOUNT:
3925 NDR_CHECK(ndr_push_netr_DELTA_ACCOUNT(ndr, NDR_SCALARS|NDR_BUFFERS, r->account));
3929 case NETR_DELTA_DELETE_ACCOUNT:
3932 case NETR_DELTA_SECRET:
3934 NDR_CHECK(ndr_push_netr_DELTA_SECRET(ndr, NDR_SCALARS|NDR_BUFFERS, r->secret));
3938 case NETR_DELTA_DELETE_SECRET:
3941 case NETR_DELTA_DELETE_GROUP2:
3942 if (r->delete_group) {
3943 NDR_CHECK(ndr_push_netr_DELTA_DELETE_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->delete_group));
3947 case NETR_DELTA_DELETE_USER2:
3948 if (r->delete_user) {
3949 NDR_CHECK(ndr_push_netr_DELTA_DELETE_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->delete_user));
3953 case NETR_DELTA_MODIFY_COUNT:
3954 if (r->modified_count) {
3955 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, *r->modified_count));
3960 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
3963 return NDR_ERR_SUCCESS;
3966 static enum ndr_err_code ndr_pull_netr_DELTA_UNION(struct ndr_pull *ndr, int ndr_flags, union netr_DELTA_UNION *r)
3970 TALLOC_CTX *_mem_save_domain_0;
3971 TALLOC_CTX *_mem_save_group_0;
3972 TALLOC_CTX *_mem_save_rename_group_0;
3973 TALLOC_CTX *_mem_save_user_0;
3974 TALLOC_CTX *_mem_save_rename_user_0;
3975 TALLOC_CTX *_mem_save_group_member_0;
3976 TALLOC_CTX *_mem_save_alias_0;
3977 TALLOC_CTX *_mem_save_rename_alias_0;
3978 TALLOC_CTX *_mem_save_alias_member_0;
3979 TALLOC_CTX *_mem_save_policy_0;
3980 TALLOC_CTX *_mem_save_trusted_domain_0;
3981 TALLOC_CTX *_mem_save_account_0;
3982 TALLOC_CTX *_mem_save_secret_0;
3983 TALLOC_CTX *_mem_save_delete_group_0;
3984 TALLOC_CTX *_mem_save_delete_user_0;
3985 TALLOC_CTX *_mem_save_modified_count_0;
3986 level = ndr_pull_get_switch_value(ndr, r);
3987 if (ndr_flags & NDR_SCALARS) {
3988 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
3989 if (_level != level) {
3990 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
3993 case NETR_DELTA_DOMAIN: {
3994 uint32_t _ptr_domain;
3995 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
3997 NDR_PULL_ALLOC(ndr, r->domain);
4003 case NETR_DELTA_GROUP: {
4004 uint32_t _ptr_group;
4005 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_group));
4007 NDR_PULL_ALLOC(ndr, r->group);
4013 case NETR_DELTA_DELETE_GROUP: {
4016 case NETR_DELTA_RENAME_GROUP: {
4017 uint32_t _ptr_rename_group;
4018 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rename_group));
4019 if (_ptr_rename_group) {
4020 NDR_PULL_ALLOC(ndr, r->rename_group);
4022 r->rename_group = NULL;
4026 case NETR_DELTA_USER: {
4028 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user));
4030 NDR_PULL_ALLOC(ndr, r->user);
4036 case NETR_DELTA_DELETE_USER: {
4039 case NETR_DELTA_RENAME_USER: {
4040 uint32_t _ptr_rename_user;
4041 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rename_user));
4042 if (_ptr_rename_user) {
4043 NDR_PULL_ALLOC(ndr, r->rename_user);
4045 r->rename_user = NULL;
4049 case NETR_DELTA_GROUP_MEMBER: {
4050 uint32_t _ptr_group_member;
4051 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_group_member));
4052 if (_ptr_group_member) {
4053 NDR_PULL_ALLOC(ndr, r->group_member);
4055 r->group_member = NULL;
4059 case NETR_DELTA_ALIAS: {
4060 uint32_t _ptr_alias;
4061 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_alias));
4063 NDR_PULL_ALLOC(ndr, r->alias);
4069 case NETR_DELTA_DELETE_ALIAS: {
4072 case NETR_DELTA_RENAME_ALIAS: {
4073 uint32_t _ptr_rename_alias;
4074 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rename_alias));
4075 if (_ptr_rename_alias) {
4076 NDR_PULL_ALLOC(ndr, r->rename_alias);
4078 r->rename_alias = NULL;
4082 case NETR_DELTA_ALIAS_MEMBER: {
4083 uint32_t _ptr_alias_member;
4084 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_alias_member));
4085 if (_ptr_alias_member) {
4086 NDR_PULL_ALLOC(ndr, r->alias_member);
4088 r->alias_member = NULL;
4092 case NETR_DELTA_POLICY: {
4093 uint32_t _ptr_policy;
4094 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_policy));
4096 NDR_PULL_ALLOC(ndr, r->policy);
4102 case NETR_DELTA_TRUSTED_DOMAIN: {
4103 uint32_t _ptr_trusted_domain;
4104 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_domain));
4105 if (_ptr_trusted_domain) {
4106 NDR_PULL_ALLOC(ndr, r->trusted_domain);
4108 r->trusted_domain = NULL;
4112 case NETR_DELTA_DELETE_TRUST: {
4113 NDR_CHECK(ndr_pull_netr_DELTA_DELETE_TRUST(ndr, NDR_SCALARS, &r->delete_trust));
4116 case NETR_DELTA_ACCOUNT: {
4117 uint32_t _ptr_account;
4118 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_account));
4120 NDR_PULL_ALLOC(ndr, r->account);
4126 case NETR_DELTA_DELETE_ACCOUNT: {
4127 NDR_CHECK(ndr_pull_netr_DELTA_DELETE_ACCOUNT(ndr, NDR_SCALARS, &r->delete_account));
4130 case NETR_DELTA_SECRET: {
4131 uint32_t _ptr_secret;
4132 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_secret));
4134 NDR_PULL_ALLOC(ndr, r->secret);
4140 case NETR_DELTA_DELETE_SECRET: {
4141 NDR_CHECK(ndr_pull_netr_DELTA_DELETE_SECRET(ndr, NDR_SCALARS, &r->delete_secret));
4144 case NETR_DELTA_DELETE_GROUP2: {
4145 uint32_t _ptr_delete_group;
4146 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delete_group));
4147 if (_ptr_delete_group) {
4148 NDR_PULL_ALLOC(ndr, r->delete_group);
4150 r->delete_group = NULL;
4154 case NETR_DELTA_DELETE_USER2: {
4155 uint32_t _ptr_delete_user;
4156 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delete_user));
4157 if (_ptr_delete_user) {
4158 NDR_PULL_ALLOC(ndr, r->delete_user);
4160 r->delete_user = NULL;
4164 case NETR_DELTA_MODIFY_COUNT: {
4165 uint32_t _ptr_modified_count;
4166 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_modified_count));
4167 if (_ptr_modified_count) {
4168 NDR_PULL_ALLOC(ndr, r->modified_count);
4170 r->modified_count = NULL;
4175 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4178 if (ndr_flags & NDR_BUFFERS) {
4180 case NETR_DELTA_DOMAIN:
4182 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
4183 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
4184 NDR_CHECK(ndr_pull_netr_DELTA_DOMAIN(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain));
4185 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
4189 case NETR_DELTA_GROUP:
4191 _mem_save_group_0 = NDR_PULL_GET_MEM_CTX(ndr);
4192 NDR_PULL_SET_MEM_CTX(ndr, r->group, 0);
4193 NDR_CHECK(ndr_pull_netr_DELTA_GROUP(ndr, NDR_SCALARS|NDR_BUFFERS, r->group));
4194 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_0, 0);
4198 case NETR_DELTA_DELETE_GROUP:
4201 case NETR_DELTA_RENAME_GROUP:
4202 if (r->rename_group) {
4203 _mem_save_rename_group_0 = NDR_PULL_GET_MEM_CTX(ndr);
4204 NDR_PULL_SET_MEM_CTX(ndr, r->rename_group, 0);
4205 NDR_CHECK(ndr_pull_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_group));
4206 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rename_group_0, 0);
4210 case NETR_DELTA_USER:
4212 _mem_save_user_0 = NDR_PULL_GET_MEM_CTX(ndr);
4213 NDR_PULL_SET_MEM_CTX(ndr, r->user, 0);
4214 NDR_CHECK(ndr_pull_netr_DELTA_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->user));
4215 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_0, 0);
4219 case NETR_DELTA_DELETE_USER:
4222 case NETR_DELTA_RENAME_USER:
4223 if (r->rename_user) {
4224 _mem_save_rename_user_0 = NDR_PULL_GET_MEM_CTX(ndr);
4225 NDR_PULL_SET_MEM_CTX(ndr, r->rename_user, 0);
4226 NDR_CHECK(ndr_pull_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_user));
4227 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rename_user_0, 0);
4231 case NETR_DELTA_GROUP_MEMBER:
4232 if (r->group_member) {
4233 _mem_save_group_member_0 = NDR_PULL_GET_MEM_CTX(ndr);
4234 NDR_PULL_SET_MEM_CTX(ndr, r->group_member, 0);
4235 NDR_CHECK(ndr_pull_netr_DELTA_GROUP_MEMBER(ndr, NDR_SCALARS|NDR_BUFFERS, r->group_member));
4236 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_member_0, 0);
4240 case NETR_DELTA_ALIAS:
4242 _mem_save_alias_0 = NDR_PULL_GET_MEM_CTX(ndr);
4243 NDR_PULL_SET_MEM_CTX(ndr, r->alias, 0);
4244 NDR_CHECK(ndr_pull_netr_DELTA_ALIAS(ndr, NDR_SCALARS|NDR_BUFFERS, r->alias));
4245 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_0, 0);
4249 case NETR_DELTA_DELETE_ALIAS:
4252 case NETR_DELTA_RENAME_ALIAS:
4253 if (r->rename_alias) {
4254 _mem_save_rename_alias_0 = NDR_PULL_GET_MEM_CTX(ndr);
4255 NDR_PULL_SET_MEM_CTX(ndr, r->rename_alias, 0);
4256 NDR_CHECK(ndr_pull_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_alias));
4257 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rename_alias_0, 0);
4261 case NETR_DELTA_ALIAS_MEMBER:
4262 if (r->alias_member) {
4263 _mem_save_alias_member_0 = NDR_PULL_GET_MEM_CTX(ndr);
4264 NDR_PULL_SET_MEM_CTX(ndr, r->alias_member, 0);
4265 NDR_CHECK(ndr_pull_netr_DELTA_ALIAS_MEMBER(ndr, NDR_SCALARS|NDR_BUFFERS, r->alias_member));
4266 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_member_0, 0);
4270 case NETR_DELTA_POLICY:
4272 _mem_save_policy_0 = NDR_PULL_GET_MEM_CTX(ndr);
4273 NDR_PULL_SET_MEM_CTX(ndr, r->policy, 0);
4274 NDR_CHECK(ndr_pull_netr_DELTA_POLICY(ndr, NDR_SCALARS|NDR_BUFFERS, r->policy));
4275 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_policy_0, 0);
4279 case NETR_DELTA_TRUSTED_DOMAIN:
4280 if (r->trusted_domain) {
4281 _mem_save_trusted_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
4282 NDR_PULL_SET_MEM_CTX(ndr, r->trusted_domain, 0);
4283 NDR_CHECK(ndr_pull_netr_DELTA_TRUSTED_DOMAIN(ndr, NDR_SCALARS|NDR_BUFFERS, r->trusted_domain));
4284 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domain_0, 0);
4288 case NETR_DELTA_DELETE_TRUST:
4291 case NETR_DELTA_ACCOUNT:
4293 _mem_save_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
4294 NDR_PULL_SET_MEM_CTX(ndr, r->account, 0);
4295 NDR_CHECK(ndr_pull_netr_DELTA_ACCOUNT(ndr, NDR_SCALARS|NDR_BUFFERS, r->account));
4296 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_0, 0);
4300 case NETR_DELTA_DELETE_ACCOUNT:
4303 case NETR_DELTA_SECRET:
4305 _mem_save_secret_0 = NDR_PULL_GET_MEM_CTX(ndr);
4306 NDR_PULL_SET_MEM_CTX(ndr, r->secret, 0);
4307 NDR_CHECK(ndr_pull_netr_DELTA_SECRET(ndr, NDR_SCALARS|NDR_BUFFERS, r->secret));
4308 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_secret_0, 0);
4312 case NETR_DELTA_DELETE_SECRET:
4315 case NETR_DELTA_DELETE_GROUP2:
4316 if (r->delete_group) {
4317 _mem_save_delete_group_0 = NDR_PULL_GET_MEM_CTX(ndr);
4318 NDR_PULL_SET_MEM_CTX(ndr, r->delete_group, 0);
4319 NDR_CHECK(ndr_pull_netr_DELTA_DELETE_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->delete_group));
4320 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delete_group_0, 0);
4324 case NETR_DELTA_DELETE_USER2:
4325 if (r->delete_user) {
4326 _mem_save_delete_user_0 = NDR_PULL_GET_MEM_CTX(ndr);
4327 NDR_PULL_SET_MEM_CTX(ndr, r->delete_user, 0);
4328 NDR_CHECK(ndr_pull_netr_DELTA_DELETE_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->delete_user));
4329 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delete_user_0, 0);
4333 case NETR_DELTA_MODIFY_COUNT:
4334 if (r->modified_count) {
4335 _mem_save_modified_count_0 = NDR_PULL_GET_MEM_CTX(ndr);
4336 NDR_PULL_SET_MEM_CTX(ndr, r->modified_count, 0);
4337 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, r->modified_count));
4338 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_modified_count_0, 0);
4343 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4346 return NDR_ERR_SUCCESS;
4349 _PUBLIC_ void ndr_print_netr_DELTA_UNION(struct ndr_print *ndr, const char *name, const union netr_DELTA_UNION *r)
4352 level = ndr_print_get_switch_value(ndr, r);
4353 ndr_print_union(ndr, name, level, "netr_DELTA_UNION");
4355 case NETR_DELTA_DOMAIN:
4356 ndr_print_ptr(ndr, "domain", r->domain);
4359 ndr_print_netr_DELTA_DOMAIN(ndr, "domain", r->domain);
4364 case NETR_DELTA_GROUP:
4365 ndr_print_ptr(ndr, "group", r->group);
4368 ndr_print_netr_DELTA_GROUP(ndr, "group", r->group);
4373 case NETR_DELTA_DELETE_GROUP:
4376 case NETR_DELTA_RENAME_GROUP:
4377 ndr_print_ptr(ndr, "rename_group", r->rename_group);
4379 if (r->rename_group) {
4380 ndr_print_netr_DELTA_RENAME(ndr, "rename_group", r->rename_group);
4385 case NETR_DELTA_USER:
4386 ndr_print_ptr(ndr, "user", r->user);
4389 ndr_print_netr_DELTA_USER(ndr, "user", r->user);
4394 case NETR_DELTA_DELETE_USER:
4397 case NETR_DELTA_RENAME_USER:
4398 ndr_print_ptr(ndr, "rename_user", r->rename_user);
4400 if (r->rename_user) {
4401 ndr_print_netr_DELTA_RENAME(ndr, "rename_user", r->rename_user);
4406 case NETR_DELTA_GROUP_MEMBER:
4407 ndr_print_ptr(ndr, "group_member", r->group_member);
4409 if (r->group_member) {
4410 ndr_print_netr_DELTA_GROUP_MEMBER(ndr, "group_member", r->group_member);
4415 case NETR_DELTA_ALIAS:
4416 ndr_print_ptr(ndr, "alias", r->alias);
4419 ndr_print_netr_DELTA_ALIAS(ndr, "alias", r->alias);
4424 case NETR_DELTA_DELETE_ALIAS:
4427 case NETR_DELTA_RENAME_ALIAS:
4428 ndr_print_ptr(ndr, "rename_alias", r->rename_alias);
4430 if (r->rename_alias) {
4431 ndr_print_netr_DELTA_RENAME(ndr, "rename_alias", r->rename_alias);
4436 case NETR_DELTA_ALIAS_MEMBER:
4437 ndr_print_ptr(ndr, "alias_member", r->alias_member);
4439 if (r->alias_member) {
4440 ndr_print_netr_DELTA_ALIAS_MEMBER(ndr, "alias_member", r->alias_member);
4445 case NETR_DELTA_POLICY:
4446 ndr_print_ptr(ndr, "policy", r->policy);
4449 ndr_print_netr_DELTA_POLICY(ndr, "policy", r->policy);
4454 case NETR_DELTA_TRUSTED_DOMAIN:
4455 ndr_print_ptr(ndr, "trusted_domain", r->trusted_domain);
4457 if (r->trusted_domain) {
4458 ndr_print_netr_DELTA_TRUSTED_DOMAIN(ndr, "trusted_domain", r->trusted_domain);
4463 case NETR_DELTA_DELETE_TRUST:
4464 ndr_print_netr_DELTA_DELETE_TRUST(ndr, "delete_trust", &r->delete_trust);
4467 case NETR_DELTA_ACCOUNT:
4468 ndr_print_ptr(ndr, "account", r->account);
4471 ndr_print_netr_DELTA_ACCOUNT(ndr, "account", r->account);
4476 case NETR_DELTA_DELETE_ACCOUNT:
4477 ndr_print_netr_DELTA_DELETE_ACCOUNT(ndr, "delete_account", &r->delete_account);
4480 case NETR_DELTA_SECRET:
4481 ndr_print_ptr(ndr, "secret", r->secret);
4484 ndr_print_netr_DELTA_SECRET(ndr, "secret", r->secret);
4489 case NETR_DELTA_DELETE_SECRET:
4490 ndr_print_netr_DELTA_DELETE_SECRET(ndr, "delete_secret", &r->delete_secret);
4493 case NETR_DELTA_DELETE_GROUP2:
4494 ndr_print_ptr(ndr, "delete_group", r->delete_group);
4496 if (r->delete_group) {
4497 ndr_print_netr_DELTA_DELETE_USER(ndr, "delete_group", r->delete_group);
4502 case NETR_DELTA_DELETE_USER2:
4503 ndr_print_ptr(ndr, "delete_user", r->delete_user);
4505 if (r->delete_user) {
4506 ndr_print_netr_DELTA_DELETE_USER(ndr, "delete_user", r->delete_user);
4511 case NETR_DELTA_MODIFY_COUNT:
4512 ndr_print_ptr(ndr, "modified_count", r->modified_count);
4514 if (r->modified_count) {
4515 ndr_print_udlong(ndr, "modified_count", *r->modified_count);
4521 ndr_print_bad_level(ndr, name, level);
4525 static enum ndr_err_code ndr_push_netr_DELTA_ID_UNION(struct ndr_push *ndr, int ndr_flags, const union netr_DELTA_ID_UNION *r)
4527 if (ndr_flags & NDR_SCALARS) {
4528 int level = ndr_push_get_switch_value(ndr, r);
4529 NDR_CHECK(ndr_push_netr_DeltaEnum(ndr, NDR_SCALARS, level));
4531 case NETR_DELTA_DOMAIN: {
4532 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4535 case NETR_DELTA_GROUP: {
4536 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4539 case NETR_DELTA_DELETE_GROUP: {
4540 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4543 case NETR_DELTA_RENAME_GROUP: {
4544 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4547 case NETR_DELTA_USER: {
4548 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4551 case NETR_DELTA_DELETE_USER: {
4552 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4555 case NETR_DELTA_RENAME_USER: {
4556 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4559 case NETR_DELTA_GROUP_MEMBER: {
4560 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4563 case NETR_DELTA_ALIAS: {
4564 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4567 case NETR_DELTA_DELETE_ALIAS: {
4568 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4571 case NETR_DELTA_RENAME_ALIAS: {
4572 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4575 case NETR_DELTA_ALIAS_MEMBER: {
4576 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4579 case NETR_DELTA_POLICY: {
4580 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
4583 case NETR_DELTA_TRUSTED_DOMAIN: {
4584 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
4587 case NETR_DELTA_DELETE_TRUST: {
4588 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
4591 case NETR_DELTA_ACCOUNT: {
4592 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
4595 case NETR_DELTA_DELETE_ACCOUNT: {
4596 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
4599 case NETR_DELTA_SECRET: {
4600 NDR_CHECK(ndr_push_unique_ptr(ndr, r->name));
4603 case NETR_DELTA_DELETE_SECRET: {
4604 NDR_CHECK(ndr_push_unique_ptr(ndr, r->name));
4607 case NETR_DELTA_DELETE_GROUP2: {
4608 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4611 case NETR_DELTA_DELETE_USER2: {
4612 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4615 case NETR_DELTA_MODIFY_COUNT: {
4619 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4622 if (ndr_flags & NDR_BUFFERS) {
4623 int level = ndr_push_get_switch_value(ndr, r);
4625 case NETR_DELTA_DOMAIN:
4628 case NETR_DELTA_GROUP:
4631 case NETR_DELTA_DELETE_GROUP:
4634 case NETR_DELTA_RENAME_GROUP:
4637 case NETR_DELTA_USER:
4640 case NETR_DELTA_DELETE_USER:
4643 case NETR_DELTA_RENAME_USER:
4646 case NETR_DELTA_GROUP_MEMBER:
4649 case NETR_DELTA_ALIAS:
4652 case NETR_DELTA_DELETE_ALIAS:
4655 case NETR_DELTA_RENAME_ALIAS:
4658 case NETR_DELTA_ALIAS_MEMBER:
4661 case NETR_DELTA_POLICY:
4663 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4667 case NETR_DELTA_TRUSTED_DOMAIN:
4669 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4673 case NETR_DELTA_DELETE_TRUST:
4675 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4679 case NETR_DELTA_ACCOUNT:
4681 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4685 case NETR_DELTA_DELETE_ACCOUNT:
4687 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4691 case NETR_DELTA_SECRET:
4693 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16)));
4694 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
4695 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16)));
4696 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, ndr_charset_length(r->name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
4700 case NETR_DELTA_DELETE_SECRET:
4702 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16)));
4703 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
4704 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16)));
4705 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, ndr_charset_length(r->name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
4709 case NETR_DELTA_DELETE_GROUP2:
4712 case NETR_DELTA_DELETE_USER2:
4715 case NETR_DELTA_MODIFY_COUNT:
4719 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4722 return NDR_ERR_SUCCESS;
4725 static enum ndr_err_code ndr_pull_netr_DELTA_ID_UNION(struct ndr_pull *ndr, int ndr_flags, union netr_DELTA_ID_UNION *r)
4729 TALLOC_CTX *_mem_save_sid_0;
4730 TALLOC_CTX *_mem_save_name_0;
4731 level = ndr_pull_get_switch_value(ndr, r);
4732 if (ndr_flags & NDR_SCALARS) {
4733 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
4734 if (_level != level) {
4735 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
4738 case NETR_DELTA_DOMAIN: {
4739 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4742 case NETR_DELTA_GROUP: {
4743 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4746 case NETR_DELTA_DELETE_GROUP: {
4747 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4750 case NETR_DELTA_RENAME_GROUP: {
4751 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4754 case NETR_DELTA_USER: {
4755 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4758 case NETR_DELTA_DELETE_USER: {
4759 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4762 case NETR_DELTA_RENAME_USER: {
4763 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4766 case NETR_DELTA_GROUP_MEMBER: {
4767 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4770 case NETR_DELTA_ALIAS: {
4771 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4774 case NETR_DELTA_DELETE_ALIAS: {
4775 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4778 case NETR_DELTA_RENAME_ALIAS: {
4779 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4782 case NETR_DELTA_ALIAS_MEMBER: {
4783 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4786 case NETR_DELTA_POLICY: {
4788 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
4790 NDR_PULL_ALLOC(ndr, r->sid);
4796 case NETR_DELTA_TRUSTED_DOMAIN: {
4798 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
4800 NDR_PULL_ALLOC(ndr, r->sid);
4806 case NETR_DELTA_DELETE_TRUST: {
4808 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
4810 NDR_PULL_ALLOC(ndr, r->sid);
4816 case NETR_DELTA_ACCOUNT: {
4818 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
4820 NDR_PULL_ALLOC(ndr, r->sid);
4826 case NETR_DELTA_DELETE_ACCOUNT: {
4828 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
4830 NDR_PULL_ALLOC(ndr, r->sid);
4836 case NETR_DELTA_SECRET: {
4838 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
4840 NDR_PULL_ALLOC(ndr, r->name);
4846 case NETR_DELTA_DELETE_SECRET: {
4848 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
4850 NDR_PULL_ALLOC(ndr, r->name);
4856 case NETR_DELTA_DELETE_GROUP2: {
4857 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4860 case NETR_DELTA_DELETE_USER2: {
4861 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4864 case NETR_DELTA_MODIFY_COUNT: {
4868 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4871 if (ndr_flags & NDR_BUFFERS) {
4873 case NETR_DELTA_DOMAIN:
4876 case NETR_DELTA_GROUP:
4879 case NETR_DELTA_DELETE_GROUP:
4882 case NETR_DELTA_RENAME_GROUP:
4885 case NETR_DELTA_USER:
4888 case NETR_DELTA_DELETE_USER:
4891 case NETR_DELTA_RENAME_USER:
4894 case NETR_DELTA_GROUP_MEMBER:
4897 case NETR_DELTA_ALIAS:
4900 case NETR_DELTA_DELETE_ALIAS:
4903 case NETR_DELTA_RENAME_ALIAS:
4906 case NETR_DELTA_ALIAS_MEMBER:
4909 case NETR_DELTA_POLICY:
4911 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
4912 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
4913 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4914 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
4918 case NETR_DELTA_TRUSTED_DOMAIN:
4920 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
4921 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
4922 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4923 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
4927 case NETR_DELTA_DELETE_TRUST:
4929 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
4930 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
4931 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4932 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
4936 case NETR_DELTA_ACCOUNT:
4938 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
4939 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
4940 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4941 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
4945 case NETR_DELTA_DELETE_ACCOUNT:
4947 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
4948 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
4949 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4950 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
4954 case NETR_DELTA_SECRET:
4956 _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
4957 NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
4958 NDR_CHECK(ndr_pull_array_size(ndr, &r->name));
4959 NDR_CHECK(ndr_pull_array_length(ndr, &r->name));
4960 if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) {
4961 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->name), ndr_get_array_length(ndr, &r->name));
4963 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t)));
4964 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t), CH_UTF16));
4965 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
4969 case NETR_DELTA_DELETE_SECRET:
4971 _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
4972 NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
4973 NDR_CHECK(ndr_pull_array_size(ndr, &r->name));
4974 NDR_CHECK(ndr_pull_array_length(ndr, &r->name));
4975 if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) {
4976 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->name), ndr_get_array_length(ndr, &r->name));
4978 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t)));
4979 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t), CH_UTF16));
4980 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
4984 case NETR_DELTA_DELETE_GROUP2:
4987 case NETR_DELTA_DELETE_USER2:
4990 case NETR_DELTA_MODIFY_COUNT:
4994 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4997 return NDR_ERR_SUCCESS;
5000 _PUBLIC_ void ndr_print_netr_DELTA_ID_UNION(struct ndr_print *ndr, const char *name, const union netr_DELTA_ID_UNION *r)
5003 level = ndr_print_get_switch_value(ndr, r);
5004 ndr_print_union(ndr, name, level, "netr_DELTA_ID_UNION");
5006 case NETR_DELTA_DOMAIN:
5007 ndr_print_uint32(ndr, "rid", r->rid);
5010 case NETR_DELTA_GROUP:
5011 ndr_print_uint32(ndr, "rid", r->rid);
5014 case NETR_DELTA_DELETE_GROUP:
5015 ndr_print_uint32(ndr, "rid", r->rid);
5018 case NETR_DELTA_RENAME_GROUP:
5019 ndr_print_uint32(ndr, "rid", r->rid);
5022 case NETR_DELTA_USER:
5023 ndr_print_uint32(ndr, "rid", r->rid);
5026 case NETR_DELTA_DELETE_USER:
5027 ndr_print_uint32(ndr, "rid", r->rid);
5030 case NETR_DELTA_RENAME_USER:
5031 ndr_print_uint32(ndr, "rid", r->rid);
5034 case NETR_DELTA_GROUP_MEMBER:
5035 ndr_print_uint32(ndr, "rid", r->rid);
5038 case NETR_DELTA_ALIAS:
5039 ndr_print_uint32(ndr, "rid", r->rid);
5042 case NETR_DELTA_DELETE_ALIAS:
5043 ndr_print_uint32(ndr, "rid", r->rid);
5046 case NETR_DELTA_RENAME_ALIAS:
5047 ndr_print_uint32(ndr, "rid", r->rid);
5050 case NETR_DELTA_ALIAS_MEMBER:
5051 ndr_print_uint32(ndr, "rid", r->rid);
5054 case NETR_DELTA_POLICY:
5055 ndr_print_ptr(ndr, "sid", r->sid);
5058 ndr_print_dom_sid2(ndr, "sid", r->sid);
5063 case NETR_DELTA_TRUSTED_DOMAIN:
5064 ndr_print_ptr(ndr, "sid", r->sid);
5067 ndr_print_dom_sid2(ndr, "sid", r->sid);
5072 case NETR_DELTA_DELETE_TRUST:
5073 ndr_print_ptr(ndr, "sid", r->sid);
5076 ndr_print_dom_sid2(ndr, "sid", r->sid);
5081 case NETR_DELTA_ACCOUNT:
5082 ndr_print_ptr(ndr, "sid", r->sid);
5085 ndr_print_dom_sid2(ndr, "sid", r->sid);
5090 case NETR_DELTA_DELETE_ACCOUNT:
5091 ndr_print_ptr(ndr, "sid", r->sid);
5094 ndr_print_dom_sid2(ndr, "sid", r->sid);
5099 case NETR_DELTA_SECRET:
5100 ndr_print_ptr(ndr, "name", r->name);
5103 ndr_print_string(ndr, "name", r->name);
5108 case NETR_DELTA_DELETE_SECRET:
5109 ndr_print_ptr(ndr, "name", r->name);
5112 ndr_print_string(ndr, "name", r->name);
5117 case NETR_DELTA_DELETE_GROUP2:
5118 ndr_print_uint32(ndr, "rid", r->rid);
5121 case NETR_DELTA_DELETE_USER2:
5122 ndr_print_uint32(ndr, "rid", r->rid);
5125 case NETR_DELTA_MODIFY_COUNT:
5129 ndr_print_bad_level(ndr, name, level);
5133 static enum ndr_err_code ndr_push_netr_DELTA_ENUM(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_ENUM *r)
5135 if (ndr_flags & NDR_SCALARS) {
5136 NDR_CHECK(ndr_push_align(ndr, 4));
5137 NDR_CHECK(ndr_push_netr_DeltaEnum(ndr, NDR_SCALARS, r->delta_type));
5138 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->delta_id_union, r->delta_type));
5139 NDR_CHECK(ndr_push_netr_DELTA_ID_UNION(ndr, NDR_SCALARS, &r->delta_id_union));
5140 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->delta_union, r->delta_type));
5141 NDR_CHECK(ndr_push_netr_DELTA_UNION(ndr, NDR_SCALARS, &r->delta_union));
5143 if (ndr_flags & NDR_BUFFERS) {
5144 NDR_CHECK(ndr_push_netr_DELTA_ID_UNION(ndr, NDR_BUFFERS, &r->delta_id_union));
5145 NDR_CHECK(ndr_push_netr_DELTA_UNION(ndr, NDR_BUFFERS, &r->delta_union));
5147 return NDR_ERR_SUCCESS;
5150 static enum ndr_err_code ndr_pull_netr_DELTA_ENUM(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ENUM *r)
5152 if (ndr_flags & NDR_SCALARS) {
5153 NDR_CHECK(ndr_pull_align(ndr, 4));
5154 NDR_CHECK(ndr_pull_netr_DeltaEnum(ndr, NDR_SCALARS, &r->delta_type));
5155 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->delta_id_union, r->delta_type));
5156 NDR_CHECK(ndr_pull_netr_DELTA_ID_UNION(ndr, NDR_SCALARS, &r->delta_id_union));
5157 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->delta_union, r->delta_type));
5158 NDR_CHECK(ndr_pull_netr_DELTA_UNION(ndr, NDR_SCALARS, &r->delta_union));
5160 if (ndr_flags & NDR_BUFFERS) {
5161 NDR_CHECK(ndr_pull_netr_DELTA_ID_UNION(ndr, NDR_BUFFERS, &r->delta_id_union));
5162 NDR_CHECK(ndr_pull_netr_DELTA_UNION(ndr, NDR_BUFFERS, &r->delta_union));
5164 return NDR_ERR_SUCCESS;
5167 _PUBLIC_ void ndr_print_netr_DELTA_ENUM(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ENUM *r)
5169 ndr_print_struct(ndr, name, "netr_DELTA_ENUM");
5171 ndr_print_netr_DeltaEnum(ndr, "delta_type", r->delta_type);
5172 ndr_print_set_switch_value(ndr, &r->delta_id_union, r->delta_type);
5173 ndr_print_netr_DELTA_ID_UNION(ndr, "delta_id_union", &r->delta_id_union);
5174 ndr_print_set_switch_value(ndr, &r->delta_union, r->delta_type);
5175 ndr_print_netr_DELTA_UNION(ndr, "delta_union", &r->delta_union);
5179 static enum ndr_err_code ndr_push_netr_DELTA_ENUM_ARRAY(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_ENUM_ARRAY *r)
5181 uint32_t cntr_delta_enum_1;
5182 if (ndr_flags & NDR_SCALARS) {
5183 NDR_CHECK(ndr_push_align(ndr, 4));
5184 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_deltas));
5185 NDR_CHECK(ndr_push_unique_ptr(ndr, r->delta_enum));
5187 if (ndr_flags & NDR_BUFFERS) {
5188 if (r->delta_enum) {
5189 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_deltas));
5190 for (cntr_delta_enum_1 = 0; cntr_delta_enum_1 < r->num_deltas; cntr_delta_enum_1++) {
5191 NDR_CHECK(ndr_push_netr_DELTA_ENUM(ndr, NDR_SCALARS, &r->delta_enum[cntr_delta_enum_1]));
5193 for (cntr_delta_enum_1 = 0; cntr_delta_enum_1 < r->num_deltas; cntr_delta_enum_1++) {
5194 NDR_CHECK(ndr_push_netr_DELTA_ENUM(ndr, NDR_BUFFERS, &r->delta_enum[cntr_delta_enum_1]));
5198 return NDR_ERR_SUCCESS;
5201 static enum ndr_err_code ndr_pull_netr_DELTA_ENUM_ARRAY(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ENUM_ARRAY *r)
5203 uint32_t _ptr_delta_enum;
5204 uint32_t cntr_delta_enum_1;
5205 TALLOC_CTX *_mem_save_delta_enum_0;
5206 TALLOC_CTX *_mem_save_delta_enum_1;
5207 if (ndr_flags & NDR_SCALARS) {
5208 NDR_CHECK(ndr_pull_align(ndr, 4));
5209 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_deltas));
5210 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum));
5211 if (_ptr_delta_enum) {
5212 NDR_PULL_ALLOC(ndr, r->delta_enum);
5214 r->delta_enum = NULL;
5217 if (ndr_flags & NDR_BUFFERS) {
5218 if (r->delta_enum) {
5219 _mem_save_delta_enum_0 = NDR_PULL_GET_MEM_CTX(ndr);
5220 NDR_PULL_SET_MEM_CTX(ndr, r->delta_enum, 0);
5221 NDR_CHECK(ndr_pull_array_size(ndr, &r->delta_enum));
5222 NDR_PULL_ALLOC_N(ndr, r->delta_enum, ndr_get_array_size(ndr, &r->delta_enum));
5223 _mem_save_delta_enum_1 = NDR_PULL_GET_MEM_CTX(ndr);
5224 NDR_PULL_SET_MEM_CTX(ndr, r->delta_enum, 0);
5225 for (cntr_delta_enum_1 = 0; cntr_delta_enum_1 < r->num_deltas; cntr_delta_enum_1++) {
5226 NDR_CHECK(ndr_pull_netr_DELTA_ENUM(ndr, NDR_SCALARS, &r->delta_enum[cntr_delta_enum_1]));
5228 for (cntr_delta_enum_1 = 0; cntr_delta_enum_1 < r->num_deltas; cntr_delta_enum_1++) {
5229 NDR_CHECK(ndr_pull_netr_DELTA_ENUM(ndr, NDR_BUFFERS, &r->delta_enum[cntr_delta_enum_1]));
5231 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_1, 0);
5232 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_0, 0);
5234 if (r->delta_enum) {
5235 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->delta_enum, r->num_deltas));
5238 return NDR_ERR_SUCCESS;
5241 _PUBLIC_ void ndr_print_netr_DELTA_ENUM_ARRAY(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ENUM_ARRAY *r)
5243 uint32_t cntr_delta_enum_1;
5244 ndr_print_struct(ndr, name, "netr_DELTA_ENUM_ARRAY");
5246 ndr_print_uint32(ndr, "num_deltas", r->num_deltas);
5247 ndr_print_ptr(ndr, "delta_enum", r->delta_enum);
5249 if (r->delta_enum) {
5250 ndr->print(ndr, "%s: ARRAY(%d)", "delta_enum", r->num_deltas);
5252 for (cntr_delta_enum_1=0;cntr_delta_enum_1<r->num_deltas;cntr_delta_enum_1++) {
5254 if (asprintf(&idx_1, "[%d]", cntr_delta_enum_1) != -1) {
5255 ndr_print_netr_DELTA_ENUM(ndr, "delta_enum", &r->delta_enum[cntr_delta_enum_1]);
5265 static enum ndr_err_code ndr_push_netr_UAS_INFO_0(struct ndr_push *ndr, int ndr_flags, const struct netr_UAS_INFO_0 *r)
5268 uint32_t _flags_save_STRUCT = ndr->flags;
5269 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
5270 if (ndr_flags & NDR_SCALARS) {
5271 NDR_CHECK(ndr_push_align(ndr, 4));
5272 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->computer_name, 16));
5273 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->timecreated));
5274 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->serial_number));
5276 if (ndr_flags & NDR_BUFFERS) {
5278 ndr->flags = _flags_save_STRUCT;
5280 return NDR_ERR_SUCCESS;
5283 static enum ndr_err_code ndr_pull_netr_UAS_INFO_0(struct ndr_pull *ndr, int ndr_flags, struct netr_UAS_INFO_0 *r)
5286 uint32_t _flags_save_STRUCT = ndr->flags;
5287 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
5288 if (ndr_flags & NDR_SCALARS) {
5289 NDR_CHECK(ndr_pull_align(ndr, 4));
5290 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->computer_name, 16));
5291 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->timecreated));
5292 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->serial_number));
5294 if (ndr_flags & NDR_BUFFERS) {
5296 ndr->flags = _flags_save_STRUCT;
5298 return NDR_ERR_SUCCESS;
5301 _PUBLIC_ void ndr_print_netr_UAS_INFO_0(struct ndr_print *ndr, const char *name, const struct netr_UAS_INFO_0 *r)
5303 ndr_print_struct(ndr, name, "netr_UAS_INFO_0");
5305 uint32_t _flags_save_STRUCT = ndr->flags;
5306 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
5308 ndr_print_array_uint8(ndr, "computer_name", r->computer_name, 16);
5309 ndr_print_uint32(ndr, "timecreated", r->timecreated);
5310 ndr_print_uint32(ndr, "serial_number", r->serial_number);
5312 ndr->flags = _flags_save_STRUCT;
5316 static enum ndr_err_code ndr_push_netr_AccountBuffer(struct ndr_push *ndr, int ndr_flags, const struct netr_AccountBuffer *r)
5318 if (ndr_flags & NDR_SCALARS) {
5319 NDR_CHECK(ndr_push_align(ndr, 4));
5321 uint32_t _flags_save_DATA_BLOB = ndr->flags;
5322 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
5323 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->blob));
5324 ndr->flags = _flags_save_DATA_BLOB;
5327 if (ndr_flags & NDR_BUFFERS) {
5329 return NDR_ERR_SUCCESS;
5332 static enum ndr_err_code ndr_pull_netr_AccountBuffer(struct ndr_pull *ndr, int ndr_flags, struct netr_AccountBuffer *r)
5334 if (ndr_flags & NDR_SCALARS) {
5335 NDR_CHECK(ndr_pull_align(ndr, 4));
5337 uint32_t _flags_save_DATA_BLOB = ndr->flags;
5338 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
5339 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->blob));
5340 ndr->flags = _flags_save_DATA_BLOB;
5343 if (ndr_flags & NDR_BUFFERS) {
5345 return NDR_ERR_SUCCESS;
5348 _PUBLIC_ void ndr_print_netr_AccountBuffer(struct ndr_print *ndr, const char *name, const struct netr_AccountBuffer *r)
5350 ndr_print_struct(ndr, name, "netr_AccountBuffer");
5352 ndr_print_DATA_BLOB(ndr, "blob", r->blob);
5356 static enum ndr_err_code ndr_push_netr_InfoFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
5358 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
5359 return NDR_ERR_SUCCESS;
5362 static enum ndr_err_code ndr_pull_netr_InfoFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
5365 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
5367 return NDR_ERR_SUCCESS;
5370 _PUBLIC_ void ndr_print_netr_InfoFlags(struct ndr_print *ndr, const char *name, uint32_t r)
5372 ndr_print_uint32(ndr, name, r);
5374 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_CTRL_REPL_NEEDED", NETLOGON_CTRL_REPL_NEEDED, r);
5375 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_CTRL_REPL_IN_PROGRESS", NETLOGON_CTRL_REPL_IN_PROGRESS, r);
5376 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_CTRL_REPL_FULL_SYNC", NETLOGON_CTRL_REPL_FULL_SYNC, r);
5380 static enum ndr_err_code ndr_push_netr_NETLOGON_INFO_1(struct ndr_push *ndr, int ndr_flags, const struct netr_NETLOGON_INFO_1 *r)
5382 if (ndr_flags & NDR_SCALARS) {
5383 NDR_CHECK(ndr_push_align(ndr, 4));
5384 NDR_CHECK(ndr_push_netr_InfoFlags(ndr, NDR_SCALARS, r->flags));
5385 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pdc_connection_status));
5387 if (ndr_flags & NDR_BUFFERS) {
5389 return NDR_ERR_SUCCESS;
5392 static enum ndr_err_code ndr_pull_netr_NETLOGON_INFO_1(struct ndr_pull *ndr, int ndr_flags, struct netr_NETLOGON_INFO_1 *r)
5394 if (ndr_flags & NDR_SCALARS) {
5395 NDR_CHECK(ndr_pull_align(ndr, 4));
5396 NDR_CHECK(ndr_pull_netr_InfoFlags(ndr, NDR_SCALARS, &r->flags));
5397 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pdc_connection_status));
5399 if (ndr_flags & NDR_BUFFERS) {
5401 return NDR_ERR_SUCCESS;
5404 _PUBLIC_ void ndr_print_netr_NETLOGON_INFO_1(struct ndr_print *ndr, const char *name, const struct netr_NETLOGON_INFO_1 *r)
5406 ndr_print_struct(ndr, name, "netr_NETLOGON_INFO_1");
5408 ndr_print_netr_InfoFlags(ndr, "flags", r->flags);
5409 ndr_print_uint32(ndr, "pdc_connection_status", r->pdc_connection_status);
5413 static enum ndr_err_code ndr_push_netr_NETLOGON_INFO_2(struct ndr_push *ndr, int ndr_flags, const struct netr_NETLOGON_INFO_2 *r)
5415 if (ndr_flags & NDR_SCALARS) {
5416 NDR_CHECK(ndr_push_align(ndr, 4));
5417 NDR_CHECK(ndr_push_netr_InfoFlags(ndr, NDR_SCALARS, r->flags));
5418 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pdc_connection_status));
5419 NDR_CHECK(ndr_push_unique_ptr(ndr, r->trusted_dc_name));
5420 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->tc_connection_status));
5422 if (ndr_flags & NDR_BUFFERS) {
5423 if (r->trusted_dc_name) {
5424 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->trusted_dc_name, CH_UTF16)));
5425 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
5426 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->trusted_dc_name, CH_UTF16)));
5427 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->trusted_dc_name, ndr_charset_length(r->trusted_dc_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5430 return NDR_ERR_SUCCESS;
5433 static enum ndr_err_code ndr_pull_netr_NETLOGON_INFO_2(struct ndr_pull *ndr, int ndr_flags, struct netr_NETLOGON_INFO_2 *r)
5435 uint32_t _ptr_trusted_dc_name;
5436 TALLOC_CTX *_mem_save_trusted_dc_name_0;
5437 if (ndr_flags & NDR_SCALARS) {
5438 NDR_CHECK(ndr_pull_align(ndr, 4));
5439 NDR_CHECK(ndr_pull_netr_InfoFlags(ndr, NDR_SCALARS, &r->flags));
5440 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pdc_connection_status));
5441 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_dc_name));
5442 if (_ptr_trusted_dc_name) {
5443 NDR_PULL_ALLOC(ndr, r->trusted_dc_name);
5445 r->trusted_dc_name = NULL;
5447 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->tc_connection_status));
5449 if (ndr_flags & NDR_BUFFERS) {
5450 if (r->trusted_dc_name) {
5451 _mem_save_trusted_dc_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5452 NDR_PULL_SET_MEM_CTX(ndr, r->trusted_dc_name, 0);
5453 NDR_CHECK(ndr_pull_array_size(ndr, &r->trusted_dc_name));
5454 NDR_CHECK(ndr_pull_array_length(ndr, &r->trusted_dc_name));
5455 if (ndr_get_array_length(ndr, &r->trusted_dc_name) > ndr_get_array_size(ndr, &r->trusted_dc_name)) {
5456 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->trusted_dc_name), ndr_get_array_length(ndr, &r->trusted_dc_name));
5458 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->trusted_dc_name), sizeof(uint16_t)));
5459 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->trusted_dc_name, ndr_get_array_length(ndr, &r->trusted_dc_name), sizeof(uint16_t), CH_UTF16));
5460 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_dc_name_0, 0);
5463 return NDR_ERR_SUCCESS;
5466 _PUBLIC_ void ndr_print_netr_NETLOGON_INFO_2(struct ndr_print *ndr, const char *name, const struct netr_NETLOGON_INFO_2 *r)
5468 ndr_print_struct(ndr, name, "netr_NETLOGON_INFO_2");
5470 ndr_print_netr_InfoFlags(ndr, "flags", r->flags);
5471 ndr_print_uint32(ndr, "pdc_connection_status", r->pdc_connection_status);
5472 ndr_print_ptr(ndr, "trusted_dc_name", r->trusted_dc_name);
5474 if (r->trusted_dc_name) {
5475 ndr_print_string(ndr, "trusted_dc_name", r->trusted_dc_name);
5478 ndr_print_uint32(ndr, "tc_connection_status", r->tc_connection_status);
5482 static enum ndr_err_code ndr_push_netr_NETLOGON_INFO_3(struct ndr_push *ndr, int ndr_flags, const struct netr_NETLOGON_INFO_3 *r)
5484 if (ndr_flags & NDR_SCALARS) {
5485 NDR_CHECK(ndr_push_align(ndr, 4));
5486 NDR_CHECK(ndr_push_netr_InfoFlags(ndr, NDR_SCALARS, r->flags));
5487 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logon_attempts));
5488 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
5489 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
5490 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown3));
5491 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4));
5492 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
5494 if (ndr_flags & NDR_BUFFERS) {
5496 return NDR_ERR_SUCCESS;
5499 static enum ndr_err_code ndr_pull_netr_NETLOGON_INFO_3(struct ndr_pull *ndr, int ndr_flags, struct netr_NETLOGON_INFO_3 *r)
5501 if (ndr_flags & NDR_SCALARS) {
5502 NDR_CHECK(ndr_pull_align(ndr, 4));
5503 NDR_CHECK(ndr_pull_netr_InfoFlags(ndr, NDR_SCALARS, &r->flags));
5504 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logon_attempts));
5505 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
5506 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
5507 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown3));
5508 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4));
5509 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
5511 if (ndr_flags & NDR_BUFFERS) {
5513 return NDR_ERR_SUCCESS;
5516 _PUBLIC_ void ndr_print_netr_NETLOGON_INFO_3(struct ndr_print *ndr, const char *name, const struct netr_NETLOGON_INFO_3 *r)
5518 ndr_print_struct(ndr, name, "netr_NETLOGON_INFO_3");
5520 ndr_print_netr_InfoFlags(ndr, "flags", r->flags);
5521 ndr_print_uint32(ndr, "logon_attempts", r->logon_attempts);
5522 ndr_print_uint32(ndr, "unknown1", r->unknown1);
5523 ndr_print_uint32(ndr, "unknown2", r->unknown2);
5524 ndr_print_uint32(ndr, "unknown3", r->unknown3);
5525 ndr_print_uint32(ndr, "unknown4", r->unknown4);
5526 ndr_print_uint32(ndr, "unknown5", r->unknown5);
5530 static enum ndr_err_code ndr_push_netr_CONTROL_QUERY_INFORMATION(struct ndr_push *ndr, int ndr_flags, const union netr_CONTROL_QUERY_INFORMATION *r)
5532 if (ndr_flags & NDR_SCALARS) {
5533 int level = ndr_push_get_switch_value(ndr, r);
5534 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
5537 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1));
5541 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info2));
5545 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info3));
5549 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5552 if (ndr_flags & NDR_BUFFERS) {
5553 int level = ndr_push_get_switch_value(ndr, r);
5557 NDR_CHECK(ndr_push_netr_NETLOGON_INFO_1(ndr, NDR_SCALARS, r->info1));
5563 NDR_CHECK(ndr_push_netr_NETLOGON_INFO_2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2));
5569 NDR_CHECK(ndr_push_netr_NETLOGON_INFO_3(ndr, NDR_SCALARS, r->info3));
5574 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5577 return NDR_ERR_SUCCESS;
5580 static enum ndr_err_code ndr_pull_netr_CONTROL_QUERY_INFORMATION(struct ndr_pull *ndr, int ndr_flags, union netr_CONTROL_QUERY_INFORMATION *r)
5584 TALLOC_CTX *_mem_save_info1_0;
5585 TALLOC_CTX *_mem_save_info2_0;
5586 TALLOC_CTX *_mem_save_info3_0;
5587 level = ndr_pull_get_switch_value(ndr, r);
5588 if (ndr_flags & NDR_SCALARS) {
5589 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
5590 if (_level != level) {
5591 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
5595 uint32_t _ptr_info1;
5596 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1));
5598 NDR_PULL_ALLOC(ndr, r->info1);
5605 uint32_t _ptr_info2;
5606 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info2));
5608 NDR_PULL_ALLOC(ndr, r->info2);
5615 uint32_t _ptr_info3;
5616 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info3));
5618 NDR_PULL_ALLOC(ndr, r->info3);
5625 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5628 if (ndr_flags & NDR_BUFFERS) {
5632 _mem_save_info1_0 = NDR_PULL_GET_MEM_CTX(ndr);
5633 NDR_PULL_SET_MEM_CTX(ndr, r->info1, 0);
5634 NDR_CHECK(ndr_pull_netr_NETLOGON_INFO_1(ndr, NDR_SCALARS, r->info1));
5635 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1_0, 0);
5641 _mem_save_info2_0 = NDR_PULL_GET_MEM_CTX(ndr);
5642 NDR_PULL_SET_MEM_CTX(ndr, r->info2, 0);
5643 NDR_CHECK(ndr_pull_netr_NETLOGON_INFO_2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2));
5644 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info2_0, 0);
5650 _mem_save_info3_0 = NDR_PULL_GET_MEM_CTX(ndr);
5651 NDR_PULL_SET_MEM_CTX(ndr, r->info3, 0);
5652 NDR_CHECK(ndr_pull_netr_NETLOGON_INFO_3(ndr, NDR_SCALARS, r->info3));
5653 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info3_0, 0);
5658 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5661 return NDR_ERR_SUCCESS;
5664 _PUBLIC_ void ndr_print_netr_CONTROL_QUERY_INFORMATION(struct ndr_print *ndr, const char *name, const union netr_CONTROL_QUERY_INFORMATION *r)
5667 level = ndr_print_get_switch_value(ndr, r);
5668 ndr_print_union(ndr, name, level, "netr_CONTROL_QUERY_INFORMATION");
5671 ndr_print_ptr(ndr, "info1", r->info1);
5674 ndr_print_netr_NETLOGON_INFO_1(ndr, "info1", r->info1);
5680 ndr_print_ptr(ndr, "info2", r->info2);
5683 ndr_print_netr_NETLOGON_INFO_2(ndr, "info2", r->info2);
5689 ndr_print_ptr(ndr, "info3", r->info3);
5692 ndr_print_netr_NETLOGON_INFO_3(ndr, "info3", r->info3);
5698 ndr_print_bad_level(ndr, name, level);
5702 static enum ndr_err_code ndr_push_netr_LogonControlCode(struct ndr_push *ndr, int ndr_flags, enum netr_LogonControlCode r)
5704 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
5705 return NDR_ERR_SUCCESS;
5708 static enum ndr_err_code ndr_pull_netr_LogonControlCode(struct ndr_pull *ndr, int ndr_flags, enum netr_LogonControlCode *r)
5711 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
5713 return NDR_ERR_SUCCESS;
5716 _PUBLIC_ void ndr_print_netr_LogonControlCode(struct ndr_print *ndr, const char *name, enum netr_LogonControlCode r)
5718 const char *val = NULL;
5721 case NETLOGON_CONTROL_SYNC: val = "NETLOGON_CONTROL_SYNC"; break;
5722 case NETLOGON_CONTROL_REDISCOVER: val = "NETLOGON_CONTROL_REDISCOVER"; break;
5723 case NETLOGON_CONTROL_TC_QUERY: val = "NETLOGON_CONTROL_TC_QUERY"; break;
5724 case NETLOGON_CONTROL_TRANSPORT_NOTIFY: val = "NETLOGON_CONTROL_TRANSPORT_NOTIFY"; break;
5725 case NETLOGON_CONTROL_SET_DBFLAG: val = "NETLOGON_CONTROL_SET_DBFLAG"; break;
5727 ndr_print_enum(ndr, name, "ENUM", val, r);
5730 static enum ndr_err_code ndr_push_netr_CONTROL_DATA_INFORMATION(struct ndr_push *ndr, int ndr_flags, const union netr_CONTROL_DATA_INFORMATION *r)
5732 if (ndr_flags & NDR_SCALARS) {
5733 int level = ndr_push_get_switch_value(ndr, r);
5734 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
5736 case NETLOGON_CONTROL_REDISCOVER: {
5737 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
5740 case NETLOGON_CONTROL_TC_QUERY: {
5741 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
5744 case NETLOGON_CONTROL_TRANSPORT_NOTIFY: {
5745 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
5748 case NETLOGON_CONTROL_SET_DBFLAG: {
5749 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->debug_level));
5753 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5756 if (ndr_flags & NDR_BUFFERS) {
5757 int level = ndr_push_get_switch_value(ndr, r);
5759 case NETLOGON_CONTROL_REDISCOVER:
5761 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
5762 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
5763 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
5764 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5768 case NETLOGON_CONTROL_TC_QUERY:
5770 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
5771 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
5772 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
5773 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5777 case NETLOGON_CONTROL_TRANSPORT_NOTIFY:
5779 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
5780 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
5781 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
5782 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5786 case NETLOGON_CONTROL_SET_DBFLAG:
5790 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5793 return NDR_ERR_SUCCESS;
5796 static enum ndr_err_code ndr_pull_netr_CONTROL_DATA_INFORMATION(struct ndr_pull *ndr, int ndr_flags, union netr_CONTROL_DATA_INFORMATION *r)
5800 TALLOC_CTX *_mem_save_domain_0;
5801 level = ndr_pull_get_switch_value(ndr, r);
5802 if (ndr_flags & NDR_SCALARS) {
5803 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
5804 if (_level != level) {
5805 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
5808 case NETLOGON_CONTROL_REDISCOVER: {
5809 uint32_t _ptr_domain;
5810 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
5812 NDR_PULL_ALLOC(ndr, r->domain);
5818 case NETLOGON_CONTROL_TC_QUERY: {
5819 uint32_t _ptr_domain;
5820 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
5822 NDR_PULL_ALLOC(ndr, r->domain);
5828 case NETLOGON_CONTROL_TRANSPORT_NOTIFY: {
5829 uint32_t _ptr_domain;
5830 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
5832 NDR_PULL_ALLOC(ndr, r->domain);
5838 case NETLOGON_CONTROL_SET_DBFLAG: {
5839 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->debug_level));
5843 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5846 if (ndr_flags & NDR_BUFFERS) {
5848 case NETLOGON_CONTROL_REDISCOVER:
5850 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
5851 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
5852 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
5853 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
5854 if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) {
5855 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));
5857 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t)));
5858 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16));
5859 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
5863 case NETLOGON_CONTROL_TC_QUERY:
5865 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
5866 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
5867 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
5868 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
5869 if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) {
5870 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));
5872 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t)));
5873 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16));
5874 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
5878 case NETLOGON_CONTROL_TRANSPORT_NOTIFY:
5880 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
5881 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
5882 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
5883 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
5884 if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) {
5885 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));
5887 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t)));
5888 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16));
5889 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
5893 case NETLOGON_CONTROL_SET_DBFLAG:
5897 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5900 return NDR_ERR_SUCCESS;
5903 _PUBLIC_ void ndr_print_netr_CONTROL_DATA_INFORMATION(struct ndr_print *ndr, const char *name, const union netr_CONTROL_DATA_INFORMATION *r)
5906 level = ndr_print_get_switch_value(ndr, r);
5907 ndr_print_union(ndr, name, level, "netr_CONTROL_DATA_INFORMATION");
5909 case NETLOGON_CONTROL_REDISCOVER:
5910 ndr_print_ptr(ndr, "domain", r->domain);
5913 ndr_print_string(ndr, "domain", r->domain);
5918 case NETLOGON_CONTROL_TC_QUERY:
5919 ndr_print_ptr(ndr, "domain", r->domain);
5922 ndr_print_string(ndr, "domain", r->domain);
5927 case NETLOGON_CONTROL_TRANSPORT_NOTIFY:
5928 ndr_print_ptr(ndr, "domain", r->domain);
5931 ndr_print_string(ndr, "domain", r->domain);
5936 case NETLOGON_CONTROL_SET_DBFLAG:
5937 ndr_print_uint32(ndr, "debug_level", r->debug_level);
5941 ndr_print_bad_level(ndr, name, level);
5945 static enum ndr_err_code ndr_push_netr_NegotiateFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
5947 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
5948 return NDR_ERR_SUCCESS;
5951 static enum ndr_err_code ndr_pull_netr_NegotiateFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
5954 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
5956 return NDR_ERR_SUCCESS;
5959 _PUBLIC_ void ndr_print_netr_NegotiateFlags(struct ndr_print *ndr, const char *name, uint32_t r)
5961 ndr_print_uint32(ndr, name, r);
5963 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_ACCOUNT_LOCKOUT", NETLOGON_NEG_ACCOUNT_LOCKOUT, r);
5964 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_PERSISTENT_SAMREPL", NETLOGON_NEG_PERSISTENT_SAMREPL, r);
5965 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_ARCFOUR", NETLOGON_NEG_ARCFOUR, r);
5966 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_PROMOTION_COUNT", NETLOGON_NEG_PROMOTION_COUNT, r);
5967 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_CHANGELOG_BDC", NETLOGON_NEG_CHANGELOG_BDC, r);
5968 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_FULL_SYNC_REPL", NETLOGON_NEG_FULL_SYNC_REPL, r);
5969 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_MULTIPLE_SIDS", NETLOGON_NEG_MULTIPLE_SIDS, r);
5970 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_REDO", NETLOGON_NEG_REDO, r);
5971 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_PASSWORD_CHANGE_REFUSAL", NETLOGON_NEG_PASSWORD_CHANGE_REFUSAL, r);
5972 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_SEND_PASSWORD_INFO_PDC", NETLOGON_NEG_SEND_PASSWORD_INFO_PDC, r);
5973 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_GENERIC_PASSTHROUGH", NETLOGON_NEG_GENERIC_PASSTHROUGH, r);
5974 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_CONCURRENT_RPC", NETLOGON_NEG_CONCURRENT_RPC, r);
5975 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_AVOID_ACCOUNT_DB_REPL", NETLOGON_NEG_AVOID_ACCOUNT_DB_REPL, r);
5976 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_AVOID_SECURITYAUTH_DB_REPL", NETLOGON_NEG_AVOID_SECURITYAUTH_DB_REPL, r);
5977 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_128BIT", NETLOGON_NEG_128BIT, r);
5978 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_TRANSITIVE_TRUSTS", NETLOGON_NEG_TRANSITIVE_TRUSTS, r);
5979 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_DNS_DOMAIN_TRUSTS", NETLOGON_NEG_DNS_DOMAIN_TRUSTS, r);
5980 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_PASSWORD_SET2", NETLOGON_NEG_PASSWORD_SET2, r);
5981 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_GETDOMAININFO", NETLOGON_NEG_GETDOMAININFO, r);
5982 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_CROSS_FOREST_TRUSTS", NETLOGON_NEG_CROSS_FOREST_TRUSTS, r);
5983 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_NEUTRALIZE_NT4_EMULATION", NETLOGON_NEG_NEUTRALIZE_NT4_EMULATION, r);
5984 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_RODC_PASSTHROUGH", NETLOGON_NEG_RODC_PASSTHROUGH, r);
5985 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_AUTHENTICATED_RPC_LSASS", NETLOGON_NEG_AUTHENTICATED_RPC_LSASS, r);
5986 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_SCHANNEL", NETLOGON_NEG_SCHANNEL, r);
5990 static enum ndr_err_code ndr_push_netr_Blob(struct ndr_push *ndr, int ndr_flags, const struct netr_Blob *r)
5992 if (ndr_flags & NDR_SCALARS) {
5993 NDR_CHECK(ndr_push_align(ndr, 4));
5994 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
5995 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
5997 if (ndr_flags & NDR_BUFFERS) {
5999 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
6000 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
6003 return NDR_ERR_SUCCESS;
6006 static enum ndr_err_code ndr_pull_netr_Blob(struct ndr_pull *ndr, int ndr_flags, struct netr_Blob *r)
6009 TALLOC_CTX *_mem_save_data_0;
6010 if (ndr_flags & NDR_SCALARS) {
6011 NDR_CHECK(ndr_pull_align(ndr, 4));
6012 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
6013 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
6015 NDR_PULL_ALLOC(ndr, r->data);
6020 if (ndr_flags & NDR_BUFFERS) {
6022 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
6023 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
6024 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
6025 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
6026 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data)));
6027 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
6030 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length));
6033 return NDR_ERR_SUCCESS;
6036 _PUBLIC_ void ndr_print_netr_Blob(struct ndr_print *ndr, const char *name, const struct netr_Blob *r)
6038 ndr_print_struct(ndr, name, "netr_Blob");
6040 ndr_print_uint32(ndr, "length", r->length);
6041 ndr_print_ptr(ndr, "data", r->data);
6044 ndr_print_array_uint8(ndr, "data", r->data, r->length);
6050 static enum ndr_err_code ndr_push_netr_DsRGetDCName_flags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
6052 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
6053 return NDR_ERR_SUCCESS;
6056 static enum ndr_err_code ndr_pull_netr_DsRGetDCName_flags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
6059 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
6061 return NDR_ERR_SUCCESS;
6064 _PUBLIC_ void ndr_print_netr_DsRGetDCName_flags(struct ndr_print *ndr, const char *name, uint32_t r)
6066 ndr_print_uint32(ndr, name, r);
6068 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_FORCE_REDISCOVERY", DS_FORCE_REDISCOVERY, r);
6069 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DIRECTORY_SERVICE_REQUIRED", DS_DIRECTORY_SERVICE_REQUIRED, r);
6070 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DIRECTORY_SERVICE_PREFERRED", DS_DIRECTORY_SERVICE_PREFERRED, r);
6071 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_GC_SERVER_REQUIRED", DS_GC_SERVER_REQUIRED, r);
6072 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_PDC_REQUIRED", DS_PDC_REQUIRED, r);
6073 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_BACKGROUND_ONLY", DS_BACKGROUND_ONLY, r);
6074 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_IP_REQUIRED", DS_IP_REQUIRED, r);
6075 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_KDC_REQUIRED", DS_KDC_REQUIRED, r);
6076 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_TIMESERV_REQUIRED", DS_TIMESERV_REQUIRED, r);
6077 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_WRITABLE_REQUIRED", DS_WRITABLE_REQUIRED, r);
6078 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_GOOD_TIMESERV_PREFERRED", DS_GOOD_TIMESERV_PREFERRED, r);
6079 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_AVOID_SELF", DS_AVOID_SELF, r);
6080 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_ONLY_LDAP_NEEDED", DS_ONLY_LDAP_NEEDED, r);
6081 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_IS_FLAT_NAME", DS_IS_FLAT_NAME, r);
6082 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_IS_DNS_NAME", DS_IS_DNS_NAME, r);
6083 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_TRY_NEXTCLOSEST_SITE", DS_TRY_NEXTCLOSEST_SITE, r);
6084 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DIRECTORY_SERVICE_6_REQUIRED", DS_DIRECTORY_SERVICE_6_REQUIRED, r);
6085 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_RETURN_DNS_NAME", DS_RETURN_DNS_NAME, r);
6086 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_RETURN_FLAT_NAME", DS_RETURN_FLAT_NAME, r);
6090 static enum ndr_err_code ndr_push_netr_DsRGetDCNameInfo_AddressType(struct ndr_push *ndr, int ndr_flags, enum netr_DsRGetDCNameInfo_AddressType r)
6092 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
6093 return NDR_ERR_SUCCESS;
6096 static enum ndr_err_code ndr_pull_netr_DsRGetDCNameInfo_AddressType(struct ndr_pull *ndr, int ndr_flags, enum netr_DsRGetDCNameInfo_AddressType *r)
6099 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
6101 return NDR_ERR_SUCCESS;
6104 _PUBLIC_ void ndr_print_netr_DsRGetDCNameInfo_AddressType(struct ndr_print *ndr, const char *name, enum netr_DsRGetDCNameInfo_AddressType r)
6106 const char *val = NULL;
6109 case DS_ADDRESS_TYPE_INET: val = "DS_ADDRESS_TYPE_INET"; break;
6110 case DS_ADDRESS_TYPE_NETBIOS: val = "DS_ADDRESS_TYPE_NETBIOS"; break;
6112 ndr_print_enum(ndr, name, "ENUM", val, r);
6115 static enum ndr_err_code ndr_push_netr_DsR_DcFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
6117 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
6118 return NDR_ERR_SUCCESS;
6121 static enum ndr_err_code ndr_pull_netr_DsR_DcFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
6124 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
6126 return NDR_ERR_SUCCESS;
6129 _PUBLIC_ void ndr_print_netr_DsR_DcFlags(struct ndr_print *ndr, const char *name, uint32_t r)
6131 ndr_print_uint32(ndr, name, r);
6133 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_PDC", DS_SERVER_PDC, r);
6134 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_GC", DS_SERVER_GC, r);
6135 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_LDAP", DS_SERVER_LDAP, r);
6136 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_DS", DS_SERVER_DS, r);
6137 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_KDC", DS_SERVER_KDC, r);
6138 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_TIMESERV", DS_SERVER_TIMESERV, r);
6139 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_CLOSEST", DS_SERVER_CLOSEST, r);
6140 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_WRITABLE", DS_SERVER_WRITABLE, r);
6141 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_GOOD_TIMESERV", DS_SERVER_GOOD_TIMESERV, r);
6142 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_NDNC", DS_SERVER_NDNC, r);
6143 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_SELECT_SECRET_DOMAIN_6", DS_SERVER_SELECT_SECRET_DOMAIN_6, r);
6144 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_FULL_SECRET_DOMAIN_6", DS_SERVER_FULL_SECRET_DOMAIN_6, r);
6145 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DNS_CONTROLLER", DS_DNS_CONTROLLER, r);
6146 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DNS_DOMAIN", DS_DNS_DOMAIN, r);
6147 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DNS_FOREST", DS_DNS_FOREST, r);
6151 _PUBLIC_ enum ndr_err_code ndr_push_netr_DsRGetDCNameInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRGetDCNameInfo *r)
6153 if (ndr_flags & NDR_SCALARS) {
6154 NDR_CHECK(ndr_push_align(ndr, 4));
6155 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dc_unc));
6156 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dc_address));
6157 NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo_AddressType(ndr, NDR_SCALARS, r->dc_address_type));
6158 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->domain_guid));
6159 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_name));
6160 NDR_CHECK(ndr_push_unique_ptr(ndr, r->forest_name));
6161 NDR_CHECK(ndr_push_netr_DsR_DcFlags(ndr, NDR_SCALARS, r->dc_flags));
6162 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dc_site_name));
6163 NDR_CHECK(ndr_push_unique_ptr(ndr, r->client_site_name));
6165 if (ndr_flags & NDR_BUFFERS) {
6167 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_unc, CH_UTF16)));
6168 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6169 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_unc, CH_UTF16)));
6170 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dc_unc, ndr_charset_length(r->dc_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6172 if (r->dc_address) {
6173 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_address, CH_UTF16)));
6174 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6175 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_address, CH_UTF16)));
6176 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dc_address, ndr_charset_length(r->dc_address, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6178 NDR_CHECK(ndr_push_GUID(ndr, NDR_BUFFERS, &r->domain_guid));
6179 if (r->domain_name) {
6180 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
6181 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6182 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
6183 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_name, ndr_charset_length(r->domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6185 if (r->forest_name) {
6186 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->forest_name, CH_UTF16)));
6187 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6188 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->forest_name, CH_UTF16)));
6189 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->forest_name, ndr_charset_length(r->forest_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6191 if (r->dc_site_name) {
6192 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_site_name, CH_UTF16)));
6193 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6194 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_site_name, CH_UTF16)));
6195 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dc_site_name, ndr_charset_length(r->dc_site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6197 if (r->client_site_name) {
6198 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->client_site_name, CH_UTF16)));
6199 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6200 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->client_site_name, CH_UTF16)));
6201 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->client_site_name, ndr_charset_length(r->client_site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6204 return NDR_ERR_SUCCESS;
6207 _PUBLIC_ enum ndr_err_code ndr_pull_netr_DsRGetDCNameInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRGetDCNameInfo *r)
6209 uint32_t _ptr_dc_unc;
6210 TALLOC_CTX *_mem_save_dc_unc_0;
6211 uint32_t _ptr_dc_address;
6212 TALLOC_CTX *_mem_save_dc_address_0;
6213 uint32_t _ptr_domain_name;
6214 TALLOC_CTX *_mem_save_domain_name_0;
6215 uint32_t _ptr_forest_name;
6216 TALLOC_CTX *_mem_save_forest_name_0;
6217 uint32_t _ptr_dc_site_name;
6218 TALLOC_CTX *_mem_save_dc_site_name_0;
6219 uint32_t _ptr_client_site_name;
6220 TALLOC_CTX *_mem_save_client_site_name_0;
6221 if (ndr_flags & NDR_SCALARS) {
6222 NDR_CHECK(ndr_pull_align(ndr, 4));
6223 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dc_unc));
6225 NDR_PULL_ALLOC(ndr, r->dc_unc);
6229 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dc_address));
6230 if (_ptr_dc_address) {
6231 NDR_PULL_ALLOC(ndr, r->dc_address);
6233 r->dc_address = NULL;
6235 NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo_AddressType(ndr, NDR_SCALARS, &r->dc_address_type));
6236 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->domain_guid));
6237 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
6238 if (_ptr_domain_name) {
6239 NDR_PULL_ALLOC(ndr, r->domain_name);
6241 r->domain_name = NULL;
6243 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_forest_name));
6244 if (_ptr_forest_name) {
6245 NDR_PULL_ALLOC(ndr, r->forest_name);
6247 r->forest_name = NULL;
6249 NDR_CHECK(ndr_pull_netr_DsR_DcFlags(ndr, NDR_SCALARS, &r->dc_flags));
6250 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dc_site_name));
6251 if (_ptr_dc_site_name) {
6252 NDR_PULL_ALLOC(ndr, r->dc_site_name);
6254 r->dc_site_name = NULL;
6256 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_site_name));
6257 if (_ptr_client_site_name) {
6258 NDR_PULL_ALLOC(ndr, r->client_site_name);
6260 r->client_site_name = NULL;
6263 if (ndr_flags & NDR_BUFFERS) {
6265 _mem_save_dc_unc_0 = NDR_PULL_GET_MEM_CTX(ndr);
6266 NDR_PULL_SET_MEM_CTX(ndr, r->dc_unc, 0);
6267 NDR_CHECK(ndr_pull_array_size(ndr, &r->dc_unc));
6268 NDR_CHECK(ndr_pull_array_length(ndr, &r->dc_unc));
6269 if (ndr_get_array_length(ndr, &r->dc_unc) > ndr_get_array_size(ndr, &r->dc_unc)) {
6270 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dc_unc), ndr_get_array_length(ndr, &r->dc_unc));
6272 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dc_unc), sizeof(uint16_t)));
6273 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dc_unc, ndr_get_array_length(ndr, &r->dc_unc), sizeof(uint16_t), CH_UTF16));
6274 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dc_unc_0, 0);
6276 if (r->dc_address) {
6277 _mem_save_dc_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
6278 NDR_PULL_SET_MEM_CTX(ndr, r->dc_address, 0);
6279 NDR_CHECK(ndr_pull_array_size(ndr, &r->dc_address));
6280 NDR_CHECK(ndr_pull_array_length(ndr, &r->dc_address));
6281 if (ndr_get_array_length(ndr, &r->dc_address) > ndr_get_array_size(ndr, &r->dc_address)) {
6282 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dc_address), ndr_get_array_length(ndr, &r->dc_address));
6284 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dc_address), sizeof(uint16_t)));
6285 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dc_address, ndr_get_array_length(ndr, &r->dc_address), sizeof(uint16_t), CH_UTF16));
6286 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dc_address_0, 0);
6288 NDR_CHECK(ndr_pull_GUID(ndr, NDR_BUFFERS, &r->domain_guid));
6289 if (r->domain_name) {
6290 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6291 NDR_PULL_SET_MEM_CTX(ndr, r->domain_name, 0);
6292 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_name));
6293 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_name));
6294 if (ndr_get_array_length(ndr, &r->domain_name) > ndr_get_array_size(ndr, &r->domain_name)) {
6295 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_name), ndr_get_array_length(ndr, &r->domain_name));
6297 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t)));
6298 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t), CH_UTF16));
6299 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
6301 if (r->forest_name) {
6302 _mem_save_forest_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6303 NDR_PULL_SET_MEM_CTX(ndr, r->forest_name, 0);
6304 NDR_CHECK(ndr_pull_array_size(ndr, &r->forest_name));
6305 NDR_CHECK(ndr_pull_array_length(ndr, &r->forest_name));
6306 if (ndr_get_array_length(ndr, &r->forest_name) > ndr_get_array_size(ndr, &r->forest_name)) {
6307 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->forest_name), ndr_get_array_length(ndr, &r->forest_name));
6309 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->forest_name), sizeof(uint16_t)));
6310 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->forest_name, ndr_get_array_length(ndr, &r->forest_name), sizeof(uint16_t), CH_UTF16));
6311 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_name_0, 0);
6313 if (r->dc_site_name) {
6314 _mem_save_dc_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6315 NDR_PULL_SET_MEM_CTX(ndr, r->dc_site_name, 0);
6316 NDR_CHECK(ndr_pull_array_size(ndr, &r->dc_site_name));
6317 NDR_CHECK(ndr_pull_array_length(ndr, &r->dc_site_name));
6318 if (ndr_get_array_length(ndr, &r->dc_site_name) > ndr_get_array_size(ndr, &r->dc_site_name)) {
6319 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dc_site_name), ndr_get_array_length(ndr, &r->dc_site_name));
6321 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dc_site_name), sizeof(uint16_t)));
6322 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dc_site_name, ndr_get_array_length(ndr, &r->dc_site_name), sizeof(uint16_t), CH_UTF16));
6323 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dc_site_name_0, 0);
6325 if (r->client_site_name) {
6326 _mem_save_client_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6327 NDR_PULL_SET_MEM_CTX(ndr, r->client_site_name, 0);
6328 NDR_CHECK(ndr_pull_array_size(ndr, &r->client_site_name));
6329 NDR_CHECK(ndr_pull_array_length(ndr, &r->client_site_name));
6330 if (ndr_get_array_length(ndr, &r->client_site_name) > ndr_get_array_size(ndr, &r->client_site_name)) {
6331 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->client_site_name), ndr_get_array_length(ndr, &r->client_site_name));
6333 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->client_site_name), sizeof(uint16_t)));
6334 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->client_site_name, ndr_get_array_length(ndr, &r->client_site_name), sizeof(uint16_t), CH_UTF16));
6335 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_site_name_0, 0);
6338 return NDR_ERR_SUCCESS;
6341 _PUBLIC_ void ndr_print_netr_DsRGetDCNameInfo(struct ndr_print *ndr, const char *name, const struct netr_DsRGetDCNameInfo *r)
6343 ndr_print_struct(ndr, name, "netr_DsRGetDCNameInfo");
6345 ndr_print_ptr(ndr, "dc_unc", r->dc_unc);
6348 ndr_print_string(ndr, "dc_unc", r->dc_unc);
6351 ndr_print_ptr(ndr, "dc_address", r->dc_address);
6353 if (r->dc_address) {
6354 ndr_print_string(ndr, "dc_address", r->dc_address);
6357 ndr_print_netr_DsRGetDCNameInfo_AddressType(ndr, "dc_address_type", r->dc_address_type);
6358 ndr_print_GUID(ndr, "domain_guid", &r->domain_guid);
6359 ndr_print_ptr(ndr, "domain_name", r->domain_name);
6361 if (r->domain_name) {
6362 ndr_print_string(ndr, "domain_name", r->domain_name);
6365 ndr_print_ptr(ndr, "forest_name", r->forest_name);
6367 if (r->forest_name) {
6368 ndr_print_string(ndr, "forest_name", r->forest_name);
6371 ndr_print_netr_DsR_DcFlags(ndr, "dc_flags", r->dc_flags);
6372 ndr_print_ptr(ndr, "dc_site_name", r->dc_site_name);
6374 if (r->dc_site_name) {
6375 ndr_print_string(ndr, "dc_site_name", r->dc_site_name);
6378 ndr_print_ptr(ndr, "client_site_name", r->client_site_name);
6380 if (r->client_site_name) {
6381 ndr_print_string(ndr, "client_site_name", r->client_site_name);
6387 static enum ndr_err_code ndr_push_netr_BinaryString(struct ndr_push *ndr, int ndr_flags, const struct netr_BinaryString *r)
6389 uint32_t cntr_data_1;
6391 uint32_t _flags_save_STRUCT = ndr->flags;
6392 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
6393 if (ndr_flags & NDR_SCALARS) {
6394 NDR_CHECK(ndr_push_align(ndr, 4));
6395 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
6396 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->size));
6397 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
6399 if (ndr_flags & NDR_BUFFERS) {
6401 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size / 2));
6402 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6403 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length / 2));
6404 for (cntr_data_1 = 0; cntr_data_1 < r->length / 2; cntr_data_1++) {
6405 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->data[cntr_data_1]));
6409 ndr->flags = _flags_save_STRUCT;
6411 return NDR_ERR_SUCCESS;
6414 static enum ndr_err_code ndr_pull_netr_BinaryString(struct ndr_pull *ndr, int ndr_flags, struct netr_BinaryString *r)
6417 uint32_t cntr_data_1;
6418 TALLOC_CTX *_mem_save_data_0;
6419 TALLOC_CTX *_mem_save_data_1;
6421 uint32_t _flags_save_STRUCT = ndr->flags;
6422 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
6423 if (ndr_flags & NDR_SCALARS) {
6424 NDR_CHECK(ndr_pull_align(ndr, 4));
6425 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
6426 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
6427 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
6429 NDR_PULL_ALLOC(ndr, r->data);
6434 if (ndr_flags & NDR_BUFFERS) {
6436 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
6437 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
6438 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
6439 NDR_CHECK(ndr_pull_array_length(ndr, &r->data));
6440 if (ndr_get_array_length(ndr, &r->data) > ndr_get_array_size(ndr, &r->data)) {
6441 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));
6443 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
6444 _mem_save_data_1 = NDR_PULL_GET_MEM_CTX(ndr);
6445 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
6446 for (cntr_data_1 = 0; cntr_data_1 < r->length / 2; cntr_data_1++) {
6447 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->data[cntr_data_1]));
6449 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_1, 0);
6450 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
6453 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->size / 2));
6456 NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->data, r->length / 2));
6459 ndr->flags = _flags_save_STRUCT;
6461 return NDR_ERR_SUCCESS;
6464 _PUBLIC_ void ndr_print_netr_BinaryString(struct ndr_print *ndr, const char *name, const struct netr_BinaryString *r)
6466 uint32_t cntr_data_1;
6467 ndr_print_struct(ndr, name, "netr_BinaryString");
6469 uint32_t _flags_save_STRUCT = ndr->flags;
6470 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
6472 ndr_print_uint16(ndr, "length", r->length);
6473 ndr_print_uint16(ndr, "size", r->size);
6474 ndr_print_ptr(ndr, "data", r->data);
6477 ndr->print(ndr, "%s: ARRAY(%d)", "data", r->length / 2);
6479 for (cntr_data_1=0;cntr_data_1<r->length / 2;cntr_data_1++) {
6481 if (asprintf(&idx_1, "[%d]", cntr_data_1) != -1) {
6482 ndr_print_uint16(ndr, "data", r->data[cntr_data_1]);
6490 ndr->flags = _flags_save_STRUCT;
6494 static enum ndr_err_code ndr_push_netr_DomainQuery1(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainQuery1 *r)
6496 uint32_t cntr_unknown7_0;
6497 if (ndr_flags & NDR_SCALARS) {
6498 NDR_CHECK(ndr_push_align(ndr, 4));
6499 NDR_CHECK(ndr_push_netr_Blob(ndr, NDR_SCALARS, &r->blob));
6500 NDR_CHECK(ndr_push_unique_ptr(ndr, r->workstation_domain));
6501 NDR_CHECK(ndr_push_unique_ptr(ndr, r->workstation_site));
6502 NDR_CHECK(ndr_push_unique_ptr(ndr, r->unknown1));
6503 NDR_CHECK(ndr_push_unique_ptr(ndr, r->unknown2));
6504 NDR_CHECK(ndr_push_unique_ptr(ndr, r->unknown3));
6505 NDR_CHECK(ndr_push_unique_ptr(ndr, r->unknown4));
6506 NDR_CHECK(ndr_push_netr_BinaryString(ndr, NDR_SCALARS, &r->blob2));
6507 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->product));
6508 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown5));
6509 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown6));
6510 for (cntr_unknown7_0 = 0; cntr_unknown7_0 < 4; cntr_unknown7_0++) {
6511 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7[cntr_unknown7_0]));
6514 if (ndr_flags & NDR_BUFFERS) {
6515 NDR_CHECK(ndr_push_netr_Blob(ndr, NDR_BUFFERS, &r->blob));
6516 if (r->workstation_domain) {
6517 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->workstation_domain, CH_UTF16)));
6518 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6519 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->workstation_domain, CH_UTF16)));
6520 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->workstation_domain, ndr_charset_length(r->workstation_domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6522 if (r->workstation_site) {
6523 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->workstation_site, CH_UTF16)));
6524 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6525 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->workstation_site, CH_UTF16)));
6526 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->workstation_site, ndr_charset_length(r->workstation_site, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6529 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown1, CH_UTF16)));
6530 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6531 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown1, CH_UTF16)));
6532 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->unknown1, ndr_charset_length(r->unknown1, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6535 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown2, CH_UTF16)));
6536 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6537 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown2, CH_UTF16)));
6538 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->unknown2, ndr_charset_length(r->unknown2, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6541 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown3, CH_UTF16)));
6542 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6543 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown3, CH_UTF16)));
6544 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->unknown3, ndr_charset_length(r->unknown3, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6547 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown4, CH_UTF16)));
6548 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6549 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown4, CH_UTF16)));
6550 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->unknown4, ndr_charset_length(r->unknown4, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6552 NDR_CHECK(ndr_push_netr_BinaryString(ndr, NDR_BUFFERS, &r->blob2));
6553 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->product));
6554 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown5));
6555 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown6));
6557 return NDR_ERR_SUCCESS;
6560 static enum ndr_err_code ndr_pull_netr_DomainQuery1(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainQuery1 *r)
6562 uint32_t _ptr_workstation_domain;
6563 TALLOC_CTX *_mem_save_workstation_domain_0;
6564 uint32_t _ptr_workstation_site;
6565 TALLOC_CTX *_mem_save_workstation_site_0;
6566 uint32_t _ptr_unknown1;
6567 TALLOC_CTX *_mem_save_unknown1_0;
6568 uint32_t _ptr_unknown2;
6569 TALLOC_CTX *_mem_save_unknown2_0;
6570 uint32_t _ptr_unknown3;
6571 TALLOC_CTX *_mem_save_unknown3_0;
6572 uint32_t _ptr_unknown4;
6573 TALLOC_CTX *_mem_save_unknown4_0;
6574 uint32_t cntr_unknown7_0;
6575 if (ndr_flags & NDR_SCALARS) {
6576 NDR_CHECK(ndr_pull_align(ndr, 4));
6577 NDR_CHECK(ndr_pull_netr_Blob(ndr, NDR_SCALARS, &r->blob));
6578 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_workstation_domain));
6579 if (_ptr_workstation_domain) {
6580 NDR_PULL_ALLOC(ndr, r->workstation_domain);
6582 r->workstation_domain = NULL;
6584 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_workstation_site));
6585 if (_ptr_workstation_site) {
6586 NDR_PULL_ALLOC(ndr, r->workstation_site);
6588 r->workstation_site = NULL;
6590 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown1));
6591 if (_ptr_unknown1) {
6592 NDR_PULL_ALLOC(ndr, r->unknown1);
6596 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown2));
6597 if (_ptr_unknown2) {
6598 NDR_PULL_ALLOC(ndr, r->unknown2);
6602 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown3));
6603 if (_ptr_unknown3) {
6604 NDR_PULL_ALLOC(ndr, r->unknown3);
6608 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown4));
6609 if (_ptr_unknown4) {
6610 NDR_PULL_ALLOC(ndr, r->unknown4);
6614 NDR_CHECK(ndr_pull_netr_BinaryString(ndr, NDR_SCALARS, &r->blob2));
6615 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->product));
6616 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown5));
6617 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown6));
6618 for (cntr_unknown7_0 = 0; cntr_unknown7_0 < 4; cntr_unknown7_0++) {
6619 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7[cntr_unknown7_0]));
6622 if (ndr_flags & NDR_BUFFERS) {
6623 NDR_CHECK(ndr_pull_netr_Blob(ndr, NDR_BUFFERS, &r->blob));
6624 if (r->workstation_domain) {
6625 _mem_save_workstation_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
6626 NDR_PULL_SET_MEM_CTX(ndr, r->workstation_domain, 0);
6627 NDR_CHECK(ndr_pull_array_size(ndr, &r->workstation_domain));
6628 NDR_CHECK(ndr_pull_array_length(ndr, &r->workstation_domain));
6629 if (ndr_get_array_length(ndr, &r->workstation_domain) > ndr_get_array_size(ndr, &r->workstation_domain)) {
6630 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->workstation_domain), ndr_get_array_length(ndr, &r->workstation_domain));
6632 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->workstation_domain), sizeof(uint16_t)));
6633 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->workstation_domain, ndr_get_array_length(ndr, &r->workstation_domain), sizeof(uint16_t), CH_UTF16));
6634 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_workstation_domain_0, 0);
6636 if (r->workstation_site) {
6637 _mem_save_workstation_site_0 = NDR_PULL_GET_MEM_CTX(ndr);
6638 NDR_PULL_SET_MEM_CTX(ndr, r->workstation_site, 0);
6639 NDR_CHECK(ndr_pull_array_size(ndr, &r->workstation_site));
6640 NDR_CHECK(ndr_pull_array_length(ndr, &r->workstation_site));
6641 if (ndr_get_array_length(ndr, &r->workstation_site) > ndr_get_array_size(ndr, &r->workstation_site)) {
6642 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->workstation_site), ndr_get_array_length(ndr, &r->workstation_site));
6644 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->workstation_site), sizeof(uint16_t)));
6645 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->workstation_site, ndr_get_array_length(ndr, &r->workstation_site), sizeof(uint16_t), CH_UTF16));
6646 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_workstation_site_0, 0);
6649 _mem_save_unknown1_0 = NDR_PULL_GET_MEM_CTX(ndr);
6650 NDR_PULL_SET_MEM_CTX(ndr, r->unknown1, 0);
6651 NDR_CHECK(ndr_pull_array_size(ndr, &r->unknown1));
6652 NDR_CHECK(ndr_pull_array_length(ndr, &r->unknown1));
6653 if (ndr_get_array_length(ndr, &r->unknown1) > ndr_get_array_size(ndr, &r->unknown1)) {
6654 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->unknown1), ndr_get_array_length(ndr, &r->unknown1));
6656 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->unknown1), sizeof(uint16_t)));
6657 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->unknown1, ndr_get_array_length(ndr, &r->unknown1), sizeof(uint16_t), CH_UTF16));
6658 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown1_0, 0);
6661 _mem_save_unknown2_0 = NDR_PULL_GET_MEM_CTX(ndr);
6662 NDR_PULL_SET_MEM_CTX(ndr, r->unknown2, 0);
6663 NDR_CHECK(ndr_pull_array_size(ndr, &r->unknown2));
6664 NDR_CHECK(ndr_pull_array_length(ndr, &r->unknown2));
6665 if (ndr_get_array_length(ndr, &r->unknown2) > ndr_get_array_size(ndr, &r->unknown2)) {
6666 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->unknown2), ndr_get_array_length(ndr, &r->unknown2));
6668 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->unknown2), sizeof(uint16_t)));
6669 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->unknown2, ndr_get_array_length(ndr, &r->unknown2), sizeof(uint16_t), CH_UTF16));
6670 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown2_0, 0);
6673 _mem_save_unknown3_0 = NDR_PULL_GET_MEM_CTX(ndr);
6674 NDR_PULL_SET_MEM_CTX(ndr, r->unknown3, 0);
6675 NDR_CHECK(ndr_pull_array_size(ndr, &r->unknown3));
6676 NDR_CHECK(ndr_pull_array_length(ndr, &r->unknown3));
6677 if (ndr_get_array_length(ndr, &r->unknown3) > ndr_get_array_size(ndr, &r->unknown3)) {
6678 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->unknown3), ndr_get_array_length(ndr, &r->unknown3));
6680 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->unknown3), sizeof(uint16_t)));
6681 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->unknown3, ndr_get_array_length(ndr, &r->unknown3), sizeof(uint16_t), CH_UTF16));
6682 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown3_0, 0);
6685 _mem_save_unknown4_0 = NDR_PULL_GET_MEM_CTX(ndr);
6686 NDR_PULL_SET_MEM_CTX(ndr, r->unknown4, 0);
6687 NDR_CHECK(ndr_pull_array_size(ndr, &r->unknown4));
6688 NDR_CHECK(ndr_pull_array_length(ndr, &r->unknown4));
6689 if (ndr_get_array_length(ndr, &r->unknown4) > ndr_get_array_size(ndr, &r->unknown4)) {
6690 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->unknown4), ndr_get_array_length(ndr, &r->unknown4));
6692 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->unknown4), sizeof(uint16_t)));
6693 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->unknown4, ndr_get_array_length(ndr, &r->unknown4), sizeof(uint16_t), CH_UTF16));
6694 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown4_0, 0);
6696 NDR_CHECK(ndr_pull_netr_BinaryString(ndr, NDR_BUFFERS, &r->blob2));
6697 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->product));
6698 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown5));
6699 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown6));
6701 return NDR_ERR_SUCCESS;
6704 _PUBLIC_ void ndr_print_netr_DomainQuery1(struct ndr_print *ndr, const char *name, const struct netr_DomainQuery1 *r)
6706 uint32_t cntr_unknown7_0;
6707 ndr_print_struct(ndr, name, "netr_DomainQuery1");
6709 ndr_print_netr_Blob(ndr, "blob", &r->blob);
6710 ndr_print_ptr(ndr, "workstation_domain", r->workstation_domain);
6712 if (r->workstation_domain) {
6713 ndr_print_string(ndr, "workstation_domain", r->workstation_domain);
6716 ndr_print_ptr(ndr, "workstation_site", r->workstation_site);
6718 if (r->workstation_site) {
6719 ndr_print_string(ndr, "workstation_site", r->workstation_site);
6722 ndr_print_ptr(ndr, "unknown1", r->unknown1);
6725 ndr_print_string(ndr, "unknown1", r->unknown1);
6728 ndr_print_ptr(ndr, "unknown2", r->unknown2);
6731 ndr_print_string(ndr, "unknown2", r->unknown2);
6734 ndr_print_ptr(ndr, "unknown3", r->unknown3);
6737 ndr_print_string(ndr, "unknown3", r->unknown3);
6740 ndr_print_ptr(ndr, "unknown4", r->unknown4);
6743 ndr_print_string(ndr, "unknown4", r->unknown4);
6746 ndr_print_netr_BinaryString(ndr, "blob2", &r->blob2);
6747 ndr_print_lsa_String(ndr, "product", &r->product);
6748 ndr_print_lsa_String(ndr, "unknown5", &r->unknown5);
6749 ndr_print_lsa_String(ndr, "unknown6", &r->unknown6);
6750 ndr->print(ndr, "%s: ARRAY(%d)", "unknown7", 4);
6752 for (cntr_unknown7_0=0;cntr_unknown7_0<4;cntr_unknown7_0++) {
6754 if (asprintf(&idx_0, "[%d]", cntr_unknown7_0) != -1) {
6755 ndr_print_uint32(ndr, "unknown7", r->unknown7[cntr_unknown7_0]);
6763 static enum ndr_err_code ndr_push_netr_DomainQuery(struct ndr_push *ndr, int ndr_flags, const union netr_DomainQuery *r)
6765 if (ndr_flags & NDR_SCALARS) {
6766 int level = ndr_push_get_switch_value(ndr, r);
6767 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
6770 NDR_CHECK(ndr_push_unique_ptr(ndr, r->query1));
6774 NDR_CHECK(ndr_push_unique_ptr(ndr, r->query1));
6778 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
6781 if (ndr_flags & NDR_BUFFERS) {
6782 int level = ndr_push_get_switch_value(ndr, r);
6786 NDR_CHECK(ndr_push_netr_DomainQuery1(ndr, NDR_SCALARS|NDR_BUFFERS, r->query1));
6792 NDR_CHECK(ndr_push_netr_DomainQuery1(ndr, NDR_SCALARS|NDR_BUFFERS, r->query1));
6797 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
6800 return NDR_ERR_SUCCESS;
6803 static enum ndr_err_code ndr_pull_netr_DomainQuery(struct ndr_pull *ndr, int ndr_flags, union netr_DomainQuery *r)
6807 TALLOC_CTX *_mem_save_query1_0;
6808 level = ndr_pull_get_switch_value(ndr, r);
6809 if (ndr_flags & NDR_SCALARS) {
6810 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
6811 if (_level != level) {
6812 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
6816 uint32_t _ptr_query1;
6817 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_query1));
6819 NDR_PULL_ALLOC(ndr, r->query1);
6826 uint32_t _ptr_query1;
6827 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_query1));
6829 NDR_PULL_ALLOC(ndr, r->query1);
6836 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
6839 if (ndr_flags & NDR_BUFFERS) {
6843 _mem_save_query1_0 = NDR_PULL_GET_MEM_CTX(ndr);
6844 NDR_PULL_SET_MEM_CTX(ndr, r->query1, 0);
6845 NDR_CHECK(ndr_pull_netr_DomainQuery1(ndr, NDR_SCALARS|NDR_BUFFERS, r->query1));
6846 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query1_0, 0);
6852 _mem_save_query1_0 = NDR_PULL_GET_MEM_CTX(ndr);
6853 NDR_PULL_SET_MEM_CTX(ndr, r->query1, 0);
6854 NDR_CHECK(ndr_pull_netr_DomainQuery1(ndr, NDR_SCALARS|NDR_BUFFERS, r->query1));
6855 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query1_0, 0);
6860 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
6863 return NDR_ERR_SUCCESS;
6866 _PUBLIC_ void ndr_print_netr_DomainQuery(struct ndr_print *ndr, const char *name, const union netr_DomainQuery *r)
6869 level = ndr_print_get_switch_value(ndr, r);
6870 ndr_print_union(ndr, name, level, "netr_DomainQuery");
6873 ndr_print_ptr(ndr, "query1", r->query1);
6876 ndr_print_netr_DomainQuery1(ndr, "query1", r->query1);
6882 ndr_print_ptr(ndr, "query1", r->query1);
6885 ndr_print_netr_DomainQuery1(ndr, "query1", r->query1);
6891 ndr_print_bad_level(ndr, name, level);
6895 static enum ndr_err_code ndr_push_netr_DomainTrustInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainTrustInfo *r)
6897 uint32_t cntr_unknown1_0;
6898 uint32_t cntr_unknown_0;
6899 if (ndr_flags & NDR_SCALARS) {
6900 NDR_CHECK(ndr_push_align(ndr, 4));
6901 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domainname));
6902 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->fulldomainname));
6903 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->forest));
6904 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
6905 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
6906 for (cntr_unknown1_0 = 0; cntr_unknown1_0 < 4; cntr_unknown1_0++) {
6907 NDR_CHECK(ndr_push_netr_BinaryString(ndr, NDR_SCALARS, &r->unknown1[cntr_unknown1_0]));
6909 for (cntr_unknown_0 = 0; cntr_unknown_0 < 4; cntr_unknown_0++) {
6910 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown[cntr_unknown_0]));
6913 if (ndr_flags & NDR_BUFFERS) {
6914 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domainname));
6915 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->fulldomainname));
6916 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->forest));
6917 NDR_CHECK(ndr_push_GUID(ndr, NDR_BUFFERS, &r->guid));
6919 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
6921 for (cntr_unknown1_0 = 0; cntr_unknown1_0 < 4; cntr_unknown1_0++) {
6922 NDR_CHECK(ndr_push_netr_BinaryString(ndr, NDR_BUFFERS, &r->unknown1[cntr_unknown1_0]));
6925 return NDR_ERR_SUCCESS;
6928 static enum ndr_err_code ndr_pull_netr_DomainTrustInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainTrustInfo *r)
6931 TALLOC_CTX *_mem_save_sid_0;
6932 uint32_t cntr_unknown1_0;
6933 uint32_t cntr_unknown_0;
6934 if (ndr_flags & NDR_SCALARS) {
6935 NDR_CHECK(ndr_pull_align(ndr, 4));
6936 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domainname));
6937 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->fulldomainname));
6938 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->forest));
6939 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
6940 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
6942 NDR_PULL_ALLOC(ndr, r->sid);
6946 for (cntr_unknown1_0 = 0; cntr_unknown1_0 < 4; cntr_unknown1_0++) {
6947 NDR_CHECK(ndr_pull_netr_BinaryString(ndr, NDR_SCALARS, &r->unknown1[cntr_unknown1_0]));
6949 for (cntr_unknown_0 = 0; cntr_unknown_0 < 4; cntr_unknown_0++) {
6950 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown[cntr_unknown_0]));
6953 if (ndr_flags & NDR_BUFFERS) {
6954 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domainname));
6955 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->fulldomainname));
6956 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->forest));
6957 NDR_CHECK(ndr_pull_GUID(ndr, NDR_BUFFERS, &r->guid));
6959 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
6960 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
6961 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
6962 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
6964 for (cntr_unknown1_0 = 0; cntr_unknown1_0 < 4; cntr_unknown1_0++) {
6965 NDR_CHECK(ndr_pull_netr_BinaryString(ndr, NDR_BUFFERS, &r->unknown1[cntr_unknown1_0]));
6968 return NDR_ERR_SUCCESS;
6971 _PUBLIC_ void ndr_print_netr_DomainTrustInfo(struct ndr_print *ndr, const char *name, const struct netr_DomainTrustInfo *r)
6973 uint32_t cntr_unknown1_0;
6974 uint32_t cntr_unknown_0;
6975 ndr_print_struct(ndr, name, "netr_DomainTrustInfo");
6977 ndr_print_lsa_String(ndr, "domainname", &r->domainname);
6978 ndr_print_lsa_String(ndr, "fulldomainname", &r->fulldomainname);
6979 ndr_print_lsa_String(ndr, "forest", &r->forest);
6980 ndr_print_GUID(ndr, "guid", &r->guid);
6981 ndr_print_ptr(ndr, "sid", r->sid);
6984 ndr_print_dom_sid2(ndr, "sid", r->sid);
6987 ndr->print(ndr, "%s: ARRAY(%d)", "unknown1", 4);
6989 for (cntr_unknown1_0=0;cntr_unknown1_0<4;cntr_unknown1_0++) {
6991 if (asprintf(&idx_0, "[%d]", cntr_unknown1_0) != -1) {
6992 ndr_print_netr_BinaryString(ndr, "unknown1", &r->unknown1[cntr_unknown1_0]);
6997 ndr->print(ndr, "%s: ARRAY(%d)", "unknown", 4);
6999 for (cntr_unknown_0=0;cntr_unknown_0<4;cntr_unknown_0++) {
7001 if (asprintf(&idx_0, "[%d]", cntr_unknown_0) != -1) {
7002 ndr_print_uint32(ndr, "unknown", r->unknown[cntr_unknown_0]);
7010 static enum ndr_err_code ndr_push_netr_DomainInfo1(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainInfo1 *r)
7012 uint32_t cntr_trusts_1;
7013 uint32_t cntr_unknown_0;
7014 if (ndr_flags & NDR_SCALARS) {
7015 NDR_CHECK(ndr_push_align(ndr, 4));
7016 NDR_CHECK(ndr_push_netr_DomainTrustInfo(ndr, NDR_SCALARS, &r->domaininfo));
7017 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_trusts));
7018 NDR_CHECK(ndr_push_unique_ptr(ndr, r->trusts));
7019 for (cntr_unknown_0 = 0; cntr_unknown_0 < 14; cntr_unknown_0++) {
7020 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown[cntr_unknown_0]));
7023 if (ndr_flags & NDR_BUFFERS) {
7024 NDR_CHECK(ndr_push_netr_DomainTrustInfo(ndr, NDR_BUFFERS, &r->domaininfo));
7026 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_trusts));
7027 for (cntr_trusts_1 = 0; cntr_trusts_1 < r->num_trusts; cntr_trusts_1++) {
7028 NDR_CHECK(ndr_push_netr_DomainTrustInfo(ndr, NDR_SCALARS, &r->trusts[cntr_trusts_1]));
7030 for (cntr_trusts_1 = 0; cntr_trusts_1 < r->num_trusts; cntr_trusts_1++) {
7031 NDR_CHECK(ndr_push_netr_DomainTrustInfo(ndr, NDR_BUFFERS, &r->trusts[cntr_trusts_1]));
7035 return NDR_ERR_SUCCESS;
7038 static enum ndr_err_code ndr_pull_netr_DomainInfo1(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainInfo1 *r)
7040 uint32_t _ptr_trusts;
7041 uint32_t cntr_trusts_1;
7042 TALLOC_CTX *_mem_save_trusts_0;
7043 TALLOC_CTX *_mem_save_trusts_1;
7044 uint32_t cntr_unknown_0;
7045 if (ndr_flags & NDR_SCALARS) {
7046 NDR_CHECK(ndr_pull_align(ndr, 4));
7047 NDR_CHECK(ndr_pull_netr_DomainTrustInfo(ndr, NDR_SCALARS, &r->domaininfo));
7048 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_trusts));
7049 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusts));
7051 NDR_PULL_ALLOC(ndr, r->trusts);
7055 for (cntr_unknown_0 = 0; cntr_unknown_0 < 14; cntr_unknown_0++) {
7056 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown[cntr_unknown_0]));
7059 if (ndr_flags & NDR_BUFFERS) {
7060 NDR_CHECK(ndr_pull_netr_DomainTrustInfo(ndr, NDR_BUFFERS, &r->domaininfo));
7062 _mem_save_trusts_0 = NDR_PULL_GET_MEM_CTX(ndr);
7063 NDR_PULL_SET_MEM_CTX(ndr, r->trusts, 0);
7064 NDR_CHECK(ndr_pull_array_size(ndr, &r->trusts));
7065 NDR_PULL_ALLOC_N(ndr, r->trusts, ndr_get_array_size(ndr, &r->trusts));
7066 _mem_save_trusts_1 = NDR_PULL_GET_MEM_CTX(ndr);
7067 NDR_PULL_SET_MEM_CTX(ndr, r->trusts, 0);
7068 for (cntr_trusts_1 = 0; cntr_trusts_1 < r->num_trusts; cntr_trusts_1++) {
7069 NDR_CHECK(ndr_pull_netr_DomainTrustInfo(ndr, NDR_SCALARS, &r->trusts[cntr_trusts_1]));
7071 for (cntr_trusts_1 = 0; cntr_trusts_1 < r->num_trusts; cntr_trusts_1++) {
7072 NDR_CHECK(ndr_pull_netr_DomainTrustInfo(ndr, NDR_BUFFERS, &r->trusts[cntr_trusts_1]));
7074 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusts_1, 0);
7075 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusts_0, 0);
7078 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->trusts, r->num_trusts));
7081 return NDR_ERR_SUCCESS;
7084 _PUBLIC_ void ndr_print_netr_DomainInfo1(struct ndr_print *ndr, const char *name, const struct netr_DomainInfo1 *r)
7086 uint32_t cntr_trusts_1;
7087 uint32_t cntr_unknown_0;
7088 ndr_print_struct(ndr, name, "netr_DomainInfo1");
7090 ndr_print_netr_DomainTrustInfo(ndr, "domaininfo", &r->domaininfo);
7091 ndr_print_uint32(ndr, "num_trusts", r->num_trusts);
7092 ndr_print_ptr(ndr, "trusts", r->trusts);
7095 ndr->print(ndr, "%s: ARRAY(%d)", "trusts", r->num_trusts);
7097 for (cntr_trusts_1=0;cntr_trusts_1<r->num_trusts;cntr_trusts_1++) {
7099 if (asprintf(&idx_1, "[%d]", cntr_trusts_1) != -1) {
7100 ndr_print_netr_DomainTrustInfo(ndr, "trusts", &r->trusts[cntr_trusts_1]);
7107 ndr->print(ndr, "%s: ARRAY(%d)", "unknown", 14);
7109 for (cntr_unknown_0=0;cntr_unknown_0<14;cntr_unknown_0++) {
7111 if (asprintf(&idx_0, "[%d]", cntr_unknown_0) != -1) {
7112 ndr_print_uint32(ndr, "unknown", r->unknown[cntr_unknown_0]);
7120 static enum ndr_err_code ndr_push_netr_DomainInfo(struct ndr_push *ndr, int ndr_flags, const union netr_DomainInfo *r)
7122 if (ndr_flags & NDR_SCALARS) {
7123 int level = ndr_push_get_switch_value(ndr, r);
7124 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
7127 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1));
7131 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1));
7135 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7138 if (ndr_flags & NDR_BUFFERS) {
7139 int level = ndr_push_get_switch_value(ndr, r);
7143 NDR_CHECK(ndr_push_netr_DomainInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
7149 NDR_CHECK(ndr_push_netr_DomainInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
7154 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7157 return NDR_ERR_SUCCESS;
7160 static enum ndr_err_code ndr_pull_netr_DomainInfo(struct ndr_pull *ndr, int ndr_flags, union netr_DomainInfo *r)
7164 TALLOC_CTX *_mem_save_info1_0;
7165 level = ndr_pull_get_switch_value(ndr, r);
7166 if (ndr_flags & NDR_SCALARS) {
7167 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
7168 if (_level != level) {
7169 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
7173 uint32_t _ptr_info1;
7174 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1));
7176 NDR_PULL_ALLOC(ndr, r->info1);
7183 uint32_t _ptr_info1;
7184 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1));
7186 NDR_PULL_ALLOC(ndr, r->info1);
7193 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7196 if (ndr_flags & NDR_BUFFERS) {
7200 _mem_save_info1_0 = NDR_PULL_GET_MEM_CTX(ndr);
7201 NDR_PULL_SET_MEM_CTX(ndr, r->info1, 0);
7202 NDR_CHECK(ndr_pull_netr_DomainInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
7203 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1_0, 0);
7209 _mem_save_info1_0 = NDR_PULL_GET_MEM_CTX(ndr);
7210 NDR_PULL_SET_MEM_CTX(ndr, r->info1, 0);
7211 NDR_CHECK(ndr_pull_netr_DomainInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
7212 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1_0, 0);
7217 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7220 return NDR_ERR_SUCCESS;
7223 _PUBLIC_ void ndr_print_netr_DomainInfo(struct ndr_print *ndr, const char *name, const union netr_DomainInfo *r)
7226 level = ndr_print_get_switch_value(ndr, r);
7227 ndr_print_union(ndr, name, level, "netr_DomainInfo");
7230 ndr_print_ptr(ndr, "info1", r->info1);
7233 ndr_print_netr_DomainInfo1(ndr, "info1", r->info1);
7239 ndr_print_ptr(ndr, "info1", r->info1);
7242 ndr_print_netr_DomainInfo1(ndr, "info1", r->info1);
7248 ndr_print_bad_level(ndr, name, level);
7252 static enum ndr_err_code ndr_push_netr_CryptPassword(struct ndr_push *ndr, int ndr_flags, const struct netr_CryptPassword *r)
7255 uint32_t _flags_save_STRUCT = ndr->flags;
7256 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
7257 if (ndr_flags & NDR_SCALARS) {
7258 NDR_CHECK(ndr_push_align(ndr, 4));
7259 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, 512));
7260 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
7262 if (ndr_flags & NDR_BUFFERS) {
7264 ndr->flags = _flags_save_STRUCT;
7266 return NDR_ERR_SUCCESS;
7269 static enum ndr_err_code ndr_pull_netr_CryptPassword(struct ndr_pull *ndr, int ndr_flags, struct netr_CryptPassword *r)
7272 uint32_t _flags_save_STRUCT = ndr->flags;
7273 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
7274 if (ndr_flags & NDR_SCALARS) {
7275 NDR_CHECK(ndr_pull_align(ndr, 4));
7276 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, 512));
7277 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
7279 if (ndr_flags & NDR_BUFFERS) {
7281 ndr->flags = _flags_save_STRUCT;
7283 return NDR_ERR_SUCCESS;
7286 _PUBLIC_ void ndr_print_netr_CryptPassword(struct ndr_print *ndr, const char *name, const struct netr_CryptPassword *r)
7288 ndr_print_struct(ndr, name, "netr_CryptPassword");
7290 uint32_t _flags_save_STRUCT = ndr->flags;
7291 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
7293 ndr_print_array_uint8(ndr, "data", r->data, 512);
7294 ndr_print_uint32(ndr, "length", r->length);
7296 ndr->flags = _flags_save_STRUCT;
7300 static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesWCtr(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRAddressToSitenamesWCtr *r)
7302 uint32_t cntr_sitename_1;
7303 if (ndr_flags & NDR_SCALARS) {
7304 NDR_CHECK(ndr_push_align(ndr, 4));
7305 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7306 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sitename));
7308 if (ndr_flags & NDR_BUFFERS) {
7310 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7311 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
7312 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1]));
7314 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
7315 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1]));
7319 return NDR_ERR_SUCCESS;
7322 static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesWCtr(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRAddressToSitenamesWCtr *r)
7324 uint32_t _ptr_sitename;
7325 uint32_t cntr_sitename_1;
7326 TALLOC_CTX *_mem_save_sitename_0;
7327 TALLOC_CTX *_mem_save_sitename_1;
7328 if (ndr_flags & NDR_SCALARS) {
7329 NDR_CHECK(ndr_pull_align(ndr, 4));
7330 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
7331 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sitename));
7332 if (_ptr_sitename) {
7333 NDR_PULL_ALLOC(ndr, r->sitename);
7338 if (ndr_flags & NDR_BUFFERS) {
7340 _mem_save_sitename_0 = NDR_PULL_GET_MEM_CTX(ndr);
7341 NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
7342 NDR_CHECK(ndr_pull_array_size(ndr, &r->sitename));
7343 NDR_PULL_ALLOC_N(ndr, r->sitename, ndr_get_array_size(ndr, &r->sitename));
7344 _mem_save_sitename_1 = NDR_PULL_GET_MEM_CTX(ndr);
7345 NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
7346 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
7347 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1]));
7349 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
7350 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1]));
7352 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_1, 0);
7353 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_0, 0);
7356 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sitename, r->count));
7359 return NDR_ERR_SUCCESS;
7362 _PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesWCtr(struct ndr_print *ndr, const char *name, const struct netr_DsRAddressToSitenamesWCtr *r)
7364 uint32_t cntr_sitename_1;
7365 ndr_print_struct(ndr, name, "netr_DsRAddressToSitenamesWCtr");
7367 ndr_print_uint32(ndr, "count", r->count);
7368 ndr_print_ptr(ndr, "sitename", r->sitename);
7371 ndr->print(ndr, "%s: ARRAY(%d)", "sitename", r->count);
7373 for (cntr_sitename_1=0;cntr_sitename_1<r->count;cntr_sitename_1++) {
7375 if (asprintf(&idx_1, "[%d]", cntr_sitename_1) != -1) {
7376 ndr_print_lsa_String(ndr, "sitename", &r->sitename[cntr_sitename_1]);
7386 static enum ndr_err_code ndr_push_netr_DsRAddress(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRAddress *r)
7388 if (ndr_flags & NDR_SCALARS) {
7389 NDR_CHECK(ndr_push_align(ndr, 4));
7390 NDR_CHECK(ndr_push_unique_ptr(ndr, r->buffer));
7391 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
7393 if (ndr_flags & NDR_BUFFERS) {
7395 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
7396 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->buffer, r->size));
7399 return NDR_ERR_SUCCESS;
7402 static enum ndr_err_code ndr_pull_netr_DsRAddress(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRAddress *r)
7404 uint32_t _ptr_buffer;
7405 TALLOC_CTX *_mem_save_buffer_0;
7406 if (ndr_flags & NDR_SCALARS) {
7407 NDR_CHECK(ndr_pull_align(ndr, 4));
7408 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
7410 NDR_PULL_ALLOC(ndr, r->buffer);
7414 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
7416 if (ndr_flags & NDR_BUFFERS) {
7418 _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
7419 NDR_PULL_SET_MEM_CTX(ndr, r->buffer, 0);
7420 NDR_CHECK(ndr_pull_array_size(ndr, &r->buffer));
7421 NDR_PULL_ALLOC_N(ndr, r->buffer, ndr_get_array_size(ndr, &r->buffer));
7422 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->buffer, ndr_get_array_size(ndr, &r->buffer)));
7423 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
7426 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->buffer, r->size));
7429 return NDR_ERR_SUCCESS;
7432 _PUBLIC_ void ndr_print_netr_DsRAddress(struct ndr_print *ndr, const char *name, const struct netr_DsRAddress *r)
7434 ndr_print_struct(ndr, name, "netr_DsRAddress");
7436 ndr_print_ptr(ndr, "buffer", r->buffer);
7439 ndr_print_array_uint8(ndr, "buffer", r->buffer, r->size);
7442 ndr_print_uint32(ndr, "size", r->size);
7446 static enum ndr_err_code ndr_push_netr_TrustFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
7448 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
7449 return NDR_ERR_SUCCESS;
7452 static enum ndr_err_code ndr_pull_netr_TrustFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
7455 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
7457 return NDR_ERR_SUCCESS;
7460 _PUBLIC_ void ndr_print_netr_TrustFlags(struct ndr_print *ndr, const char *name, uint32_t r)
7462 ndr_print_uint32(ndr, name, r);
7464 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_IN_FOREST", NETR_TRUST_FLAG_IN_FOREST, r);
7465 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_OUTBOUND", NETR_TRUST_FLAG_OUTBOUND, r);
7466 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_TREEROOT", NETR_TRUST_FLAG_TREEROOT, r);
7467 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_PRIMARY", NETR_TRUST_FLAG_PRIMARY, r);
7468 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_NATIVE", NETR_TRUST_FLAG_NATIVE, r);
7469 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_INBOUND", NETR_TRUST_FLAG_INBOUND, r);
7473 static enum ndr_err_code ndr_push_netr_TrustType(struct ndr_push *ndr, int ndr_flags, enum netr_TrustType r)
7475 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
7476 return NDR_ERR_SUCCESS;
7479 static enum ndr_err_code ndr_pull_netr_TrustType(struct ndr_pull *ndr, int ndr_flags, enum netr_TrustType *r)
7482 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
7484 return NDR_ERR_SUCCESS;
7487 _PUBLIC_ void ndr_print_netr_TrustType(struct ndr_print *ndr, const char *name, enum netr_TrustType r)
7489 const char *val = NULL;
7492 case NETR_TRUST_TYPE_DOWNLEVEL: val = "NETR_TRUST_TYPE_DOWNLEVEL"; break;
7493 case NETR_TRUST_TYPE_UPLEVEL: val = "NETR_TRUST_TYPE_UPLEVEL"; break;
7494 case NETR_TRUST_TYPE_MIT: val = "NETR_TRUST_TYPE_MIT"; break;
7495 case NETR_TRUST_TYPE_DCE: val = "NETR_TRUST_TYPE_DCE"; break;
7497 ndr_print_enum(ndr, name, "ENUM", val, r);
7500 static enum ndr_err_code ndr_push_netr_TrustAttributes(struct ndr_push *ndr, int ndr_flags, uint32_t r)
7502 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
7503 return NDR_ERR_SUCCESS;
7506 static enum ndr_err_code ndr_pull_netr_TrustAttributes(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
7509 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
7511 return NDR_ERR_SUCCESS;
7514 _PUBLIC_ void ndr_print_netr_TrustAttributes(struct ndr_print *ndr, const char *name, uint32_t r)
7516 ndr_print_uint32(ndr, name, r);
7518 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_NON_TRANSITIVE", NETR_TRUST_ATTRIBUTE_NON_TRANSITIVE, r);
7519 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_UPLEVEL_ONLY", NETR_TRUST_ATTRIBUTE_UPLEVEL_ONLY, r);
7520 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN", NETR_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN, r);
7521 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_FOREST_TRANSITIVE", NETR_TRUST_ATTRIBUTE_FOREST_TRANSITIVE, r);
7522 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_CROSS_ORGANIZATION", NETR_TRUST_ATTRIBUTE_CROSS_ORGANIZATION, r);
7523 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_WITHIN_FOREST", NETR_TRUST_ATTRIBUTE_WITHIN_FOREST, r);
7524 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL", NETR_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL, r);
7528 static enum ndr_err_code ndr_push_netr_DomainTrust(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainTrust *r)
7530 if (ndr_flags & NDR_SCALARS) {
7531 NDR_CHECK(ndr_push_align(ndr, 4));
7532 NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
7533 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
7534 NDR_CHECK(ndr_push_netr_TrustFlags(ndr, NDR_SCALARS, r->trust_flags));
7535 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->parent_index));
7536 NDR_CHECK(ndr_push_netr_TrustType(ndr, NDR_SCALARS, r->trust_type));
7537 NDR_CHECK(ndr_push_netr_TrustAttributes(ndr, NDR_SCALARS, r->trust_attributes));
7538 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
7539 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
7541 if (ndr_flags & NDR_BUFFERS) {
7542 if (r->netbios_name) {
7543 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7544 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7545 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7546 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7549 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7550 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7551 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7552 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7555 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
7557 NDR_CHECK(ndr_push_GUID(ndr, NDR_BUFFERS, &r->guid));
7559 return NDR_ERR_SUCCESS;
7562 static enum ndr_err_code ndr_pull_netr_DomainTrust(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainTrust *r)
7564 uint32_t _ptr_netbios_name;
7565 TALLOC_CTX *_mem_save_netbios_name_0;
7566 uint32_t _ptr_dns_name;
7567 TALLOC_CTX *_mem_save_dns_name_0;
7569 TALLOC_CTX *_mem_save_sid_0;
7570 if (ndr_flags & NDR_SCALARS) {
7571 NDR_CHECK(ndr_pull_align(ndr, 4));
7572 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
7573 if (_ptr_netbios_name) {
7574 NDR_PULL_ALLOC(ndr, r->netbios_name);
7576 r->netbios_name = NULL;
7578 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
7579 if (_ptr_dns_name) {
7580 NDR_PULL_ALLOC(ndr, r->dns_name);
7584 NDR_CHECK(ndr_pull_netr_TrustFlags(ndr, NDR_SCALARS, &r->trust_flags));
7585 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->parent_index));
7586 NDR_CHECK(ndr_pull_netr_TrustType(ndr, NDR_SCALARS, &r->trust_type));
7587 NDR_CHECK(ndr_pull_netr_TrustAttributes(ndr, NDR_SCALARS, &r->trust_attributes));
7588 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
7590 NDR_PULL_ALLOC(ndr, r->sid);
7594 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
7596 if (ndr_flags & NDR_BUFFERS) {
7597 if (r->netbios_name) {
7598 _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7599 NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
7600 NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
7601 NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
7602 if (ndr_get_array_length(ndr, &r->netbios_name) > ndr_get_array_size(ndr, &r->netbios_name)) {
7603 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->netbios_name), ndr_get_array_length(ndr, &r->netbios_name));
7605 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t)));
7606 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t), CH_UTF16));
7607 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
7610 _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7611 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
7612 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
7613 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
7614 if (ndr_get_array_length(ndr, &r->dns_name) > ndr_get_array_size(ndr, &r->dns_name)) {
7615 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dns_name), ndr_get_array_length(ndr, &r->dns_name));
7617 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t)));
7618 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t), CH_UTF16));
7619 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
7622 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
7623 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
7624 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
7625 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
7627 NDR_CHECK(ndr_pull_GUID(ndr, NDR_BUFFERS, &r->guid));
7629 return NDR_ERR_SUCCESS;
7632 _PUBLIC_ void ndr_print_netr_DomainTrust(struct ndr_print *ndr, const char *name, const struct netr_DomainTrust *r)
7634 ndr_print_struct(ndr, name, "netr_DomainTrust");
7636 ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
7638 if (r->netbios_name) {
7639 ndr_print_string(ndr, "netbios_name", r->netbios_name);
7642 ndr_print_ptr(ndr, "dns_name", r->dns_name);
7645 ndr_print_string(ndr, "dns_name", r->dns_name);
7648 ndr_print_netr_TrustFlags(ndr, "trust_flags", r->trust_flags);
7649 ndr_print_uint32(ndr, "parent_index", r->parent_index);
7650 ndr_print_netr_TrustType(ndr, "trust_type", r->trust_type);
7651 ndr_print_netr_TrustAttributes(ndr, "trust_attributes", r->trust_attributes);
7652 ndr_print_ptr(ndr, "sid", r->sid);
7655 ndr_print_dom_sid2(ndr, "sid", r->sid);
7658 ndr_print_GUID(ndr, "guid", &r->guid);
7662 static enum ndr_err_code ndr_push_netr_DomainTrustList(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainTrustList *r)
7664 uint32_t cntr_array_1;
7665 if (ndr_flags & NDR_SCALARS) {
7666 NDR_CHECK(ndr_push_align(ndr, 4));
7667 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7668 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
7670 if (ndr_flags & NDR_BUFFERS) {
7672 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7673 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7674 NDR_CHECK(ndr_push_netr_DomainTrust(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7676 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7677 NDR_CHECK(ndr_push_netr_DomainTrust(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7681 return NDR_ERR_SUCCESS;
7684 static enum ndr_err_code ndr_pull_netr_DomainTrustList(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainTrustList *r)
7686 uint32_t _ptr_array;
7687 uint32_t cntr_array_1;
7688 TALLOC_CTX *_mem_save_array_0;
7689 TALLOC_CTX *_mem_save_array_1;
7690 if (ndr_flags & NDR_SCALARS) {
7691 NDR_CHECK(ndr_pull_align(ndr, 4));
7692 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
7693 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
7695 NDR_PULL_ALLOC(ndr, r->array);
7700 if (ndr_flags & NDR_BUFFERS) {
7702 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
7703 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7704 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
7705 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
7706 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
7707 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7708 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7709 NDR_CHECK(ndr_pull_netr_DomainTrust(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7711 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7712 NDR_CHECK(ndr_pull_netr_DomainTrust(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7714 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
7715 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
7718 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
7721 return NDR_ERR_SUCCESS;
7724 _PUBLIC_ void ndr_print_netr_DomainTrustList(struct ndr_print *ndr, const char *name, const struct netr_DomainTrustList *r)
7726 uint32_t cntr_array_1;
7727 ndr_print_struct(ndr, name, "netr_DomainTrustList");
7729 ndr_print_uint32(ndr, "count", r->count);
7730 ndr_print_ptr(ndr, "array", r->array);
7733 ndr->print(ndr, "%s: ARRAY(%d)", "array", r->count);
7735 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
7737 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
7738 ndr_print_netr_DomainTrust(ndr, "array", &r->array[cntr_array_1]);
7748 static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesExWCtr(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRAddressToSitenamesExWCtr *r)
7750 uint32_t cntr_sitename_1;
7751 uint32_t cntr_subnetname_1;
7752 if (ndr_flags & NDR_SCALARS) {
7753 NDR_CHECK(ndr_push_align(ndr, 4));
7754 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7755 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sitename));
7756 NDR_CHECK(ndr_push_unique_ptr(ndr, r->subnetname));
7758 if (ndr_flags & NDR_BUFFERS) {
7760 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7761 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
7762 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1]));
7764 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
7765 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1]));
7768 if (r->subnetname) {
7769 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7770 for (cntr_subnetname_1 = 0; cntr_subnetname_1 < r->count; cntr_subnetname_1++) {
7771 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->subnetname[cntr_subnetname_1]));
7773 for (cntr_subnetname_1 = 0; cntr_subnetname_1 < r->count; cntr_subnetname_1++) {
7774 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->subnetname[cntr_subnetname_1]));
7778 return NDR_ERR_SUCCESS;
7781 static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesExWCtr(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRAddressToSitenamesExWCtr *r)
7783 uint32_t _ptr_sitename;
7784 uint32_t cntr_sitename_1;
7785 TALLOC_CTX *_mem_save_sitename_0;
7786 TALLOC_CTX *_mem_save_sitename_1;
7787 uint32_t _ptr_subnetname;
7788 uint32_t cntr_subnetname_1;
7789 TALLOC_CTX *_mem_save_subnetname_0;
7790 TALLOC_CTX *_mem_save_subnetname_1;
7791 if (ndr_flags & NDR_SCALARS) {
7792 NDR_CHECK(ndr_pull_align(ndr, 4));
7793 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
7794 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sitename));
7795 if (_ptr_sitename) {
7796 NDR_PULL_ALLOC(ndr, r->sitename);
7800 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_subnetname));
7801 if (_ptr_subnetname) {
7802 NDR_PULL_ALLOC(ndr, r->subnetname);
7804 r->subnetname = NULL;
7807 if (ndr_flags & NDR_BUFFERS) {
7809 _mem_save_sitename_0 = NDR_PULL_GET_MEM_CTX(ndr);
7810 NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
7811 NDR_CHECK(ndr_pull_array_size(ndr, &r->sitename));
7812 NDR_PULL_ALLOC_N(ndr, r->sitename, ndr_get_array_size(ndr, &r->sitename));
7813 _mem_save_sitename_1 = NDR_PULL_GET_MEM_CTX(ndr);
7814 NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
7815 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
7816 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1]));
7818 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
7819 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1]));
7821 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_1, 0);
7822 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_0, 0);
7824 if (r->subnetname) {
7825 _mem_save_subnetname_0 = NDR_PULL_GET_MEM_CTX(ndr);
7826 NDR_PULL_SET_MEM_CTX(ndr, r->subnetname, 0);
7827 NDR_CHECK(ndr_pull_array_size(ndr, &r->subnetname));
7828 NDR_PULL_ALLOC_N(ndr, r->subnetname, ndr_get_array_size(ndr, &r->subnetname));
7829 _mem_save_subnetname_1 = NDR_PULL_GET_MEM_CTX(ndr);
7830 NDR_PULL_SET_MEM_CTX(ndr, r->subnetname, 0);
7831 for (cntr_subnetname_1 = 0; cntr_subnetname_1 < r->count; cntr_subnetname_1++) {
7832 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->subnetname[cntr_subnetname_1]));
7834 for (cntr_subnetname_1 = 0; cntr_subnetname_1 < r->count; cntr_subnetname_1++) {
7835 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->subnetname[cntr_subnetname_1]));
7837 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_subnetname_1, 0);
7838 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_subnetname_0, 0);
7841 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sitename, r->count));
7843 if (r->subnetname) {
7844 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->subnetname, r->count));
7847 return NDR_ERR_SUCCESS;
7850 _PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesExWCtr(struct ndr_print *ndr, const char *name, const struct netr_DsRAddressToSitenamesExWCtr *r)
7852 uint32_t cntr_sitename_1;
7853 uint32_t cntr_subnetname_1;
7854 ndr_print_struct(ndr, name, "netr_DsRAddressToSitenamesExWCtr");
7856 ndr_print_uint32(ndr, "count", r->count);
7857 ndr_print_ptr(ndr, "sitename", r->sitename);
7860 ndr->print(ndr, "%s: ARRAY(%d)", "sitename", r->count);
7862 for (cntr_sitename_1=0;cntr_sitename_1<r->count;cntr_sitename_1++) {
7864 if (asprintf(&idx_1, "[%d]", cntr_sitename_1) != -1) {
7865 ndr_print_lsa_String(ndr, "sitename", &r->sitename[cntr_sitename_1]);
7872 ndr_print_ptr(ndr, "subnetname", r->subnetname);
7874 if (r->subnetname) {
7875 ndr->print(ndr, "%s: ARRAY(%d)", "subnetname", r->count);
7877 for (cntr_subnetname_1=0;cntr_subnetname_1<r->count;cntr_subnetname_1++) {
7879 if (asprintf(&idx_1, "[%d]", cntr_subnetname_1) != -1) {
7880 ndr_print_lsa_String(ndr, "subnetname", &r->subnetname[cntr_subnetname_1]);
7890 static enum ndr_err_code ndr_push_DcSitesCtr(struct ndr_push *ndr, int ndr_flags, const struct DcSitesCtr *r)
7892 uint32_t cntr_sites_1;
7893 if (ndr_flags & NDR_SCALARS) {
7894 NDR_CHECK(ndr_push_align(ndr, 4));
7895 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sites));
7896 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sites));
7898 if (ndr_flags & NDR_BUFFERS) {
7900 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sites));
7901 for (cntr_sites_1 = 0; cntr_sites_1 < r->num_sites; cntr_sites_1++) {
7902 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->sites[cntr_sites_1]));
7904 for (cntr_sites_1 = 0; cntr_sites_1 < r->num_sites; cntr_sites_1++) {
7905 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->sites[cntr_sites_1]));
7909 return NDR_ERR_SUCCESS;
7912 static enum ndr_err_code ndr_pull_DcSitesCtr(struct ndr_pull *ndr, int ndr_flags, struct DcSitesCtr *r)
7914 uint32_t _ptr_sites;
7915 uint32_t cntr_sites_1;
7916 TALLOC_CTX *_mem_save_sites_0;
7917 TALLOC_CTX *_mem_save_sites_1;
7918 if (ndr_flags & NDR_SCALARS) {
7919 NDR_CHECK(ndr_pull_align(ndr, 4));
7920 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_sites));
7921 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sites));
7923 NDR_PULL_ALLOC(ndr, r->sites);
7928 if (ndr_flags & NDR_BUFFERS) {
7930 _mem_save_sites_0 = NDR_PULL_GET_MEM_CTX(ndr);
7931 NDR_PULL_SET_MEM_CTX(ndr, r->sites, 0);
7932 NDR_CHECK(ndr_pull_array_size(ndr, &r->sites));
7933 NDR_PULL_ALLOC_N(ndr, r->sites, ndr_get_array_size(ndr, &r->sites));
7934 _mem_save_sites_1 = NDR_PULL_GET_MEM_CTX(ndr);
7935 NDR_PULL_SET_MEM_CTX(ndr, r->sites, 0);
7936 for (cntr_sites_1 = 0; cntr_sites_1 < r->num_sites; cntr_sites_1++) {
7937 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->sites[cntr_sites_1]));
7939 for (cntr_sites_1 = 0; cntr_sites_1 < r->num_sites; cntr_sites_1++) {
7940 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->sites[cntr_sites_1]));
7942 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sites_1, 0);
7943 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sites_0, 0);
7946 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sites, r->num_sites));
7949 return NDR_ERR_SUCCESS;
7952 _PUBLIC_ void ndr_print_DcSitesCtr(struct ndr_print *ndr, const char *name, const struct DcSitesCtr *r)
7954 uint32_t cntr_sites_1;
7955 ndr_print_struct(ndr, name, "DcSitesCtr");
7957 ndr_print_uint32(ndr, "num_sites", r->num_sites);
7958 ndr_print_ptr(ndr, "sites", r->sites);
7961 ndr->print(ndr, "%s: ARRAY(%d)", "sites", r->num_sites);
7963 for (cntr_sites_1=0;cntr_sites_1<r->num_sites;cntr_sites_1++) {
7965 if (asprintf(&idx_1, "[%d]", cntr_sites_1) != -1) {
7966 ndr_print_lsa_String(ndr, "sites", &r->sites[cntr_sites_1]);
7976 static enum ndr_err_code ndr_push_netr_LogonUasLogon(struct ndr_push *ndr, int flags, const struct netr_LogonUasLogon *r)
7978 if (flags & NDR_IN) {
7979 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
7980 if (r->in.server_name) {
7981 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
7982 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7983 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
7984 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7986 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
7987 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7988 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
7989 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.account_name, ndr_charset_length(r->in.account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7990 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
7991 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7992 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
7993 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.workstation, ndr_charset_length(r->in.workstation, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7995 if (flags & NDR_OUT) {
7996 if (r->out.info == NULL) {
7997 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7999 NDR_CHECK(ndr_push_netr_UasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
8000 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
8002 return NDR_ERR_SUCCESS;
8005 static enum ndr_err_code ndr_pull_netr_LogonUasLogon(struct ndr_pull *ndr, int flags, struct netr_LogonUasLogon *r)
8007 uint32_t _ptr_server_name;
8008 TALLOC_CTX *_mem_save_server_name_0;
8009 TALLOC_CTX *_mem_save_info_0;
8010 if (flags & NDR_IN) {
8011 ZERO_STRUCT(r->out);
8013 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
8014 if (_ptr_server_name) {
8015 NDR_PULL_ALLOC(ndr, r->in.server_name);
8017 r->in.server_name = NULL;
8019 if (r->in.server_name) {
8020 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8021 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
8022 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
8023 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
8024 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
8025 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
8027 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
8028 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
8029 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
8031 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
8032 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
8033 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
8034 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.account_name), ndr_get_array_length(ndr, &r->in.account_name));
8036 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
8037 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t), CH_UTF16));
8038 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.workstation));
8039 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.workstation));
8040 if (ndr_get_array_length(ndr, &r->in.workstation) > ndr_get_array_size(ndr, &r->in.workstation)) {
8041 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.workstation), ndr_get_array_length(ndr, &r->in.workstation));
8043 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.workstation), sizeof(uint16_t)));
8044 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.workstation, ndr_get_array_length(ndr, &r->in.workstation), sizeof(uint16_t), CH_UTF16));
8045 NDR_PULL_ALLOC(ndr, r->out.info);
8046 ZERO_STRUCTP(r->out.info);
8048 if (flags & NDR_OUT) {
8049 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8050 NDR_PULL_ALLOC(ndr, r->out.info);
8052 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
8053 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
8054 NDR_CHECK(ndr_pull_netr_UasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
8055 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
8056 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
8058 return NDR_ERR_SUCCESS;
8061 _PUBLIC_ void ndr_print_netr_LogonUasLogon(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonUasLogon *r)
8063 ndr_print_struct(ndr, name, "netr_LogonUasLogon");
8065 if (flags & NDR_SET_VALUES) {
8066 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8068 if (flags & NDR_IN) {
8069 ndr_print_struct(ndr, "in", "netr_LogonUasLogon");
8071 ndr_print_ptr(ndr, "server_name", r->in.server_name);
8073 if (r->in.server_name) {
8074 ndr_print_string(ndr, "server_name", r->in.server_name);
8077 ndr_print_string(ndr, "account_name", r->in.account_name);
8078 ndr_print_string(ndr, "workstation", r->in.workstation);
8081 if (flags & NDR_OUT) {
8082 ndr_print_struct(ndr, "out", "netr_LogonUasLogon");
8084 ndr_print_ptr(ndr, "info", r->out.info);
8086 ndr_print_netr_UasInfo(ndr, "info", r->out.info);
8088 ndr_print_WERROR(ndr, "result", r->out.result);
8094 static enum ndr_err_code ndr_push_netr_LogonUasLogoff(struct ndr_push *ndr, int flags, const struct netr_LogonUasLogoff *r)
8096 if (flags & NDR_IN) {
8097 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
8098 if (r->in.server_name) {
8099 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8100 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8101 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8102 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8104 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
8105 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8106 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
8107 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.account_name, ndr_charset_length(r->in.account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8108 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
8109 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8110 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
8111 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.workstation, ndr_charset_length(r->in.workstation, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8113 if (flags & NDR_OUT) {
8114 if (r->out.info == NULL) {
8115 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8117 NDR_CHECK(ndr_push_netr_UasLogoffInfo(ndr, NDR_SCALARS, r->out.info));
8118 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
8120 return NDR_ERR_SUCCESS;
8123 static enum ndr_err_code ndr_pull_netr_LogonUasLogoff(struct ndr_pull *ndr, int flags, struct netr_LogonUasLogoff *r)
8125 uint32_t _ptr_server_name;
8126 TALLOC_CTX *_mem_save_server_name_0;
8127 TALLOC_CTX *_mem_save_info_0;
8128 if (flags & NDR_IN) {
8129 ZERO_STRUCT(r->out);
8131 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
8132 if (_ptr_server_name) {
8133 NDR_PULL_ALLOC(ndr, r->in.server_name);
8135 r->in.server_name = NULL;
8137 if (r->in.server_name) {
8138 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8139 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
8140 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
8141 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
8142 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
8143 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
8145 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
8146 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
8147 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
8149 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
8150 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
8151 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
8152 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.account_name), ndr_get_array_length(ndr, &r->in.account_name));
8154 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
8155 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t), CH_UTF16));
8156 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.workstation));
8157 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.workstation));
8158 if (ndr_get_array_length(ndr, &r->in.workstation) > ndr_get_array_size(ndr, &r->in.workstation)) {
8159 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.workstation), ndr_get_array_length(ndr, &r->in.workstation));
8161 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.workstation), sizeof(uint16_t)));
8162 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.workstation, ndr_get_array_length(ndr, &r->in.workstation), sizeof(uint16_t), CH_UTF16));
8163 NDR_PULL_ALLOC(ndr, r->out.info);
8164 ZERO_STRUCTP(r->out.info);
8166 if (flags & NDR_OUT) {
8167 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8168 NDR_PULL_ALLOC(ndr, r->out.info);
8170 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
8171 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
8172 NDR_CHECK(ndr_pull_netr_UasLogoffInfo(ndr, NDR_SCALARS, r->out.info));
8173 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
8174 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
8176 return NDR_ERR_SUCCESS;
8179 _PUBLIC_ void ndr_print_netr_LogonUasLogoff(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonUasLogoff *r)
8181 ndr_print_struct(ndr, name, "netr_LogonUasLogoff");
8183 if (flags & NDR_SET_VALUES) {
8184 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8186 if (flags & NDR_IN) {
8187 ndr_print_struct(ndr, "in", "netr_LogonUasLogoff");
8189 ndr_print_ptr(ndr, "server_name", r->in.server_name);
8191 if (r->in.server_name) {
8192 ndr_print_string(ndr, "server_name", r->in.server_name);
8195 ndr_print_string(ndr, "account_name", r->in.account_name);
8196 ndr_print_string(ndr, "workstation", r->in.workstation);
8199 if (flags & NDR_OUT) {
8200 ndr_print_struct(ndr, "out", "netr_LogonUasLogoff");
8202 ndr_print_ptr(ndr, "info", r->out.info);
8204 ndr_print_netr_UasLogoffInfo(ndr, "info", r->out.info);
8206 ndr_print_WERROR(ndr, "result", r->out.result);
8212 static enum ndr_err_code ndr_push_netr_LogonSamLogon(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogon *r)
8214 if (flags & NDR_IN) {
8215 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
8216 if (r->in.server_name) {
8217 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8218 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8219 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8220 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8222 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
8223 if (r->in.computer_name) {
8224 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
8225 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8226 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
8227 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8229 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.credential));
8230 if (r->in.credential) {
8231 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
8233 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.return_authenticator));
8234 if (r->in.return_authenticator) {
8235 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
8237 NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS, r->in.logon_level));
8238 if (r->in.logon == NULL) {
8239 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8241 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.logon, r->in.logon_level));
8242 NDR_CHECK(ndr_push_netr_LogonInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
8243 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.validation_level));
8245 if (flags & NDR_OUT) {
8246 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.return_authenticator));
8247 if (r->out.return_authenticator) {
8248 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
8250 if (r->out.validation == NULL) {
8251 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8253 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.validation, r->in.validation_level));
8254 NDR_CHECK(ndr_push_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
8255 if (r->out.authoritative == NULL) {
8256 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8258 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, *r->out.authoritative));
8259 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8261 return NDR_ERR_SUCCESS;
8264 static enum ndr_err_code ndr_pull_netr_LogonSamLogon(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogon *r)
8266 uint32_t _ptr_server_name;
8267 uint32_t _ptr_computer_name;
8268 uint32_t _ptr_credential;
8269 uint32_t _ptr_return_authenticator;
8270 TALLOC_CTX *_mem_save_server_name_0;
8271 TALLOC_CTX *_mem_save_computer_name_0;
8272 TALLOC_CTX *_mem_save_credential_0;
8273 TALLOC_CTX *_mem_save_return_authenticator_0;
8274 TALLOC_CTX *_mem_save_logon_0;
8275 TALLOC_CTX *_mem_save_validation_0;
8276 TALLOC_CTX *_mem_save_authoritative_0;
8277 if (flags & NDR_IN) {
8278 ZERO_STRUCT(r->out);
8280 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
8281 if (_ptr_server_name) {
8282 NDR_PULL_ALLOC(ndr, r->in.server_name);
8284 r->in.server_name = NULL;
8286 if (r->in.server_name) {
8287 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8288 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
8289 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
8290 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
8291 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
8292 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
8294 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
8295 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
8296 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
8298 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
8299 if (_ptr_computer_name) {
8300 NDR_PULL_ALLOC(ndr, r->in.computer_name);
8302 r->in.computer_name = NULL;
8304 if (r->in.computer_name) {
8305 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8306 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
8307 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
8308 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
8309 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
8310 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computer_name), ndr_get_array_length(ndr, &r->in.computer_name));
8312 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
8313 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t), CH_UTF16));
8314 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
8316 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_credential));
8317 if (_ptr_credential) {
8318 NDR_PULL_ALLOC(ndr, r->in.credential);
8320 r->in.credential = NULL;
8322 if (r->in.credential) {
8323 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
8324 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, 0);
8325 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
8326 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, 0);
8328 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
8329 if (_ptr_return_authenticator) {
8330 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
8332 r->in.return_authenticator = NULL;
8334 if (r->in.return_authenticator) {
8335 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
8336 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, 0);
8337 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
8338 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
8340 NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS, &r->in.logon_level));
8341 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8342 NDR_PULL_ALLOC(ndr, r->in.logon);
8344 _mem_save_logon_0 = NDR_PULL_GET_MEM_CTX(ndr);
8345 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon, LIBNDR_FLAG_REF_ALLOC);
8346 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.logon, r->in.logon_level));
8347 NDR_CHECK(ndr_pull_netr_LogonInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
8348 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_0, LIBNDR_FLAG_REF_ALLOC);
8349 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.validation_level));
8350 NDR_PULL_ALLOC(ndr, r->out.validation);
8351 ZERO_STRUCTP(r->out.validation);
8352 NDR_PULL_ALLOC(ndr, r->out.authoritative);
8353 ZERO_STRUCTP(r->out.authoritative);
8355 if (flags & NDR_OUT) {
8356 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
8357 if (_ptr_return_authenticator) {
8358 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
8360 r->out.return_authenticator = NULL;
8362 if (r->out.return_authenticator) {
8363 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
8364 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, 0);
8365 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
8366 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
8368 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8369 NDR_PULL_ALLOC(ndr, r->out.validation);
8371 _mem_save_validation_0 = NDR_PULL_GET_MEM_CTX(ndr);
8372 NDR_PULL_SET_MEM_CTX(ndr, r->out.validation, LIBNDR_FLAG_REF_ALLOC);
8373 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.validation, r->in.validation_level));
8374 NDR_CHECK(ndr_pull_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
8375 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_validation_0, LIBNDR_FLAG_REF_ALLOC);
8376 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8377 NDR_PULL_ALLOC(ndr, r->out.authoritative);
8379 _mem_save_authoritative_0 = NDR_PULL_GET_MEM_CTX(ndr);
8380 NDR_PULL_SET_MEM_CTX(ndr, r->out.authoritative, LIBNDR_FLAG_REF_ALLOC);
8381 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, r->out.authoritative));
8382 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_authoritative_0, LIBNDR_FLAG_REF_ALLOC);
8383 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8385 return NDR_ERR_SUCCESS;
8388 _PUBLIC_ void ndr_print_netr_LogonSamLogon(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogon *r)
8390 ndr_print_struct(ndr, name, "netr_LogonSamLogon");
8392 if (flags & NDR_SET_VALUES) {
8393 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8395 if (flags & NDR_IN) {
8396 ndr_print_struct(ndr, "in", "netr_LogonSamLogon");
8398 ndr_print_ptr(ndr, "server_name", r->in.server_name);
8400 if (r->in.server_name) {
8401 ndr_print_string(ndr, "server_name", r->in.server_name);
8404 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
8406 if (r->in.computer_name) {
8407 ndr_print_string(ndr, "computer_name", r->in.computer_name);
8410 ndr_print_ptr(ndr, "credential", r->in.credential);
8412 if (r->in.credential) {
8413 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
8416 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
8418 if (r->in.return_authenticator) {
8419 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
8422 ndr_print_netr_LogonLevel(ndr, "logon_level", r->in.logon_level);
8423 ndr_print_ptr(ndr, "logon", r->in.logon);
8425 ndr_print_set_switch_value(ndr, r->in.logon, r->in.logon_level);
8426 ndr_print_netr_LogonInfo(ndr, "logon", r->in.logon);
8428 ndr_print_uint16(ndr, "validation_level", r->in.validation_level);
8431 if (flags & NDR_OUT) {
8432 ndr_print_struct(ndr, "out", "netr_LogonSamLogon");
8434 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
8436 if (r->out.return_authenticator) {
8437 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
8440 ndr_print_ptr(ndr, "validation", r->out.validation);
8442 ndr_print_set_switch_value(ndr, r->out.validation, r->in.validation_level);
8443 ndr_print_netr_Validation(ndr, "validation", r->out.validation);
8445 ndr_print_ptr(ndr, "authoritative", r->out.authoritative);
8447 ndr_print_uint8(ndr, "authoritative", *r->out.authoritative);
8449 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8455 static enum ndr_err_code ndr_push_netr_LogonSamLogoff(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogoff *r)
8457 if (flags & NDR_IN) {
8458 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
8459 if (r->in.server_name) {
8460 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8461 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8462 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8463 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8465 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
8466 if (r->in.computer_name) {
8467 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
8468 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8469 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
8470 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8472 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.credential));
8473 if (r->in.credential) {
8474 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
8476 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.return_authenticator));
8477 if (r->in.return_authenticator) {
8478 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
8480 NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS, r->in.logon_level));
8481 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.logon, r->in.logon_level));
8482 NDR_CHECK(ndr_push_netr_LogonInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon));
8484 if (flags & NDR_OUT) {
8485 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.return_authenticator));
8486 if (r->out.return_authenticator) {
8487 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
8489 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8491 return NDR_ERR_SUCCESS;
8494 static enum ndr_err_code ndr_pull_netr_LogonSamLogoff(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogoff *r)
8496 uint32_t _ptr_server_name;
8497 uint32_t _ptr_computer_name;
8498 uint32_t _ptr_credential;
8499 uint32_t _ptr_return_authenticator;
8500 TALLOC_CTX *_mem_save_server_name_0;
8501 TALLOC_CTX *_mem_save_computer_name_0;
8502 TALLOC_CTX *_mem_save_credential_0;
8503 TALLOC_CTX *_mem_save_return_authenticator_0;
8504 if (flags & NDR_IN) {
8505 ZERO_STRUCT(r->out);
8507 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
8508 if (_ptr_server_name) {
8509 NDR_PULL_ALLOC(ndr, r->in.server_name);
8511 r->in.server_name = NULL;
8513 if (r->in.server_name) {
8514 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8515 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
8516 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
8517 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
8518 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
8519 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
8521 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
8522 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
8523 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
8525 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
8526 if (_ptr_computer_name) {
8527 NDR_PULL_ALLOC(ndr, r->in.computer_name);
8529 r->in.computer_name = NULL;
8531 if (r->in.computer_name) {
8532 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8533 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
8534 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
8535 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
8536 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
8537 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computer_name), ndr_get_array_length(ndr, &r->in.computer_name));
8539 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
8540 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t), CH_UTF16));
8541 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
8543 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_credential));
8544 if (_ptr_credential) {
8545 NDR_PULL_ALLOC(ndr, r->in.credential);
8547 r->in.credential = NULL;
8549 if (r->in.credential) {
8550 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
8551 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, 0);
8552 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
8553 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, 0);
8555 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
8556 if (_ptr_return_authenticator) {
8557 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
8559 r->in.return_authenticator = NULL;
8561 if (r->in.return_authenticator) {
8562 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
8563 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, 0);
8564 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
8565 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
8567 NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS, &r->in.logon_level));
8568 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.logon, r->in.logon_level));
8569 NDR_CHECK(ndr_pull_netr_LogonInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon));
8571 if (flags & NDR_OUT) {
8572 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
8573 if (_ptr_return_authenticator) {
8574 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
8576 r->out.return_authenticator = NULL;
8578 if (r->out.return_authenticator) {
8579 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
8580 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, 0);
8581 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
8582 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
8584 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8586 return NDR_ERR_SUCCESS;
8589 _PUBLIC_ void ndr_print_netr_LogonSamLogoff(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogoff *r)
8591 ndr_print_struct(ndr, name, "netr_LogonSamLogoff");
8593 if (flags & NDR_SET_VALUES) {
8594 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8596 if (flags & NDR_IN) {
8597 ndr_print_struct(ndr, "in", "netr_LogonSamLogoff");
8599 ndr_print_ptr(ndr, "server_name", r->in.server_name);
8601 if (r->in.server_name) {
8602 ndr_print_string(ndr, "server_name", r->in.server_name);
8605 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
8607 if (r->in.computer_name) {
8608 ndr_print_string(ndr, "computer_name", r->in.computer_name);
8611 ndr_print_ptr(ndr, "credential", r->in.credential);
8613 if (r->in.credential) {
8614 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
8617 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
8619 if (r->in.return_authenticator) {
8620 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
8623 ndr_print_netr_LogonLevel(ndr, "logon_level", r->in.logon_level);
8624 ndr_print_set_switch_value(ndr, &r->in.logon, r->in.logon_level);
8625 ndr_print_netr_LogonInfo(ndr, "logon", &r->in.logon);
8628 if (flags & NDR_OUT) {
8629 ndr_print_struct(ndr, "out", "netr_LogonSamLogoff");
8631 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
8633 if (r->out.return_authenticator) {
8634 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
8637 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8643 static enum ndr_err_code ndr_push_netr_ServerReqChallenge(struct ndr_push *ndr, int flags, const struct netr_ServerReqChallenge *r)
8645 if (flags & NDR_IN) {
8646 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
8647 if (r->in.server_name) {
8648 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8649 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8650 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8651 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8653 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
8654 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8655 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
8656 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8657 if (r->in.credentials == NULL) {
8658 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8660 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
8662 if (flags & NDR_OUT) {
8663 if (r->out.return_credentials == NULL) {
8664 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8666 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
8667 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8669 return NDR_ERR_SUCCESS;
8672 static enum ndr_err_code ndr_pull_netr_ServerReqChallenge(struct ndr_pull *ndr, int flags, struct netr_ServerReqChallenge *r)
8674 uint32_t _ptr_server_name;
8675 TALLOC_CTX *_mem_save_server_name_0;
8676 TALLOC_CTX *_mem_save_credentials_0;
8677 TALLOC_CTX *_mem_save_return_credentials_0;
8678 if (flags & NDR_IN) {
8679 ZERO_STRUCT(r->out);
8681 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
8682 if (_ptr_server_name) {
8683 NDR_PULL_ALLOC(ndr, r->in.server_name);
8685 r->in.server_name = NULL;
8687 if (r->in.server_name) {
8688 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8689 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
8690 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
8691 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
8692 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
8693 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
8695 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
8696 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
8697 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
8699 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
8700 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
8701 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
8702 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computer_name), ndr_get_array_length(ndr, &r->in.computer_name));
8704 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
8705 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t), CH_UTF16));
8706 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8707 NDR_PULL_ALLOC(ndr, r->in.credentials);
8709 _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
8710 NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC);
8711 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
8712 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
8713 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
8714 ZERO_STRUCTP(r->out.return_credentials);
8716 if (flags & NDR_OUT) {
8717 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8718 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
8720 _mem_save_return_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
8721 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_credentials, LIBNDR_FLAG_REF_ALLOC);
8722 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
8723 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_credentials_0, LIBNDR_FLAG_REF_ALLOC);
8724 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8726 return NDR_ERR_SUCCESS;
8729 _PUBLIC_ void ndr_print_netr_ServerReqChallenge(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerReqChallenge *r)
8731 ndr_print_struct(ndr, name, "netr_ServerReqChallenge");
8733 if (flags & NDR_SET_VALUES) {
8734 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8736 if (flags & NDR_IN) {
8737 ndr_print_struct(ndr, "in", "netr_ServerReqChallenge");
8739 ndr_print_ptr(ndr, "server_name", r->in.server_name);
8741 if (r->in.server_name) {
8742 ndr_print_string(ndr, "server_name", r->in.server_name);
8745 ndr_print_string(ndr, "computer_name", r->in.computer_name);
8746 ndr_print_ptr(ndr, "credentials", r->in.credentials);
8748 ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
8752 if (flags & NDR_OUT) {
8753 ndr_print_struct(ndr, "out", "netr_ServerReqChallenge");
8755 ndr_print_ptr(ndr, "return_credentials", r->out.return_credentials);
8757 ndr_print_netr_Credential(ndr, "return_credentials", r->out.return_credentials);
8759 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8765 static enum ndr_err_code ndr_push_netr_ServerAuthenticate(struct ndr_push *ndr, int flags, const struct netr_ServerAuthenticate *r)
8767 if (flags & NDR_IN) {
8768 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
8769 if (r->in.server_name) {
8770 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8771 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8772 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8773 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8775 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
8776 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8777 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
8778 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.account_name, ndr_charset_length(r->in.account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8779 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
8780 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
8781 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8782 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
8783 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8784 if (r->in.credentials == NULL) {
8785 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8787 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
8789 if (flags & NDR_OUT) {
8790 if (r->out.return_credentials == NULL) {
8791 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8793 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
8794 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8796 return NDR_ERR_SUCCESS;
8799 static enum ndr_err_code ndr_pull_netr_ServerAuthenticate(struct ndr_pull *ndr, int flags, struct netr_ServerAuthenticate *r)
8801 uint32_t _ptr_server_name;
8802 TALLOC_CTX *_mem_save_server_name_0;
8803 TALLOC_CTX *_mem_save_credentials_0;
8804 TALLOC_CTX *_mem_save_return_credentials_0;
8805 if (flags & NDR_IN) {
8806 ZERO_STRUCT(r->out);
8808 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
8809 if (_ptr_server_name) {
8810 NDR_PULL_ALLOC(ndr, r->in.server_name);
8812 r->in.server_name = NULL;
8814 if (r->in.server_name) {
8815 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8816 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
8817 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
8818 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
8819 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
8820 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
8822 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
8823 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
8824 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
8826 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
8827 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
8828 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
8829 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.account_name), ndr_get_array_length(ndr, &r->in.account_name));
8831 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
8832 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t), CH_UTF16));
8833 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
8834 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
8835 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
8836 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
8837 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computer_name), ndr_get_array_length(ndr, &r->in.computer_name));
8839 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
8840 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t), CH_UTF16));
8841 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8842 NDR_PULL_ALLOC(ndr, r->in.credentials);
8844 _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
8845 NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC);
8846 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
8847 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
8848 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
8849 ZERO_STRUCTP(r->out.return_credentials);
8851 if (flags & NDR_OUT) {
8852 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8853 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
8855 _mem_save_return_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
8856 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_credentials, LIBNDR_FLAG_REF_ALLOC);
8857 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
8858 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_credentials_0, LIBNDR_FLAG_REF_ALLOC);
8859 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8861 return NDR_ERR_SUCCESS;
8864 _PUBLIC_ void ndr_print_netr_ServerAuthenticate(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerAuthenticate *r)
8866 ndr_print_struct(ndr, name, "netr_ServerAuthenticate");
8868 if (flags & NDR_SET_VALUES) {
8869 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8871 if (flags & NDR_IN) {
8872 ndr_print_struct(ndr, "in", "netr_ServerAuthenticate");
8874 ndr_print_ptr(ndr, "server_name", r->in.server_name);
8876 if (r->in.server_name) {
8877 ndr_print_string(ndr, "server_name", r->in.server_name);
8880 ndr_print_string(ndr, "account_name", r->in.account_name);
8881 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
8882 ndr_print_string(ndr, "computer_name", r->in.computer_name);
8883 ndr_print_ptr(ndr, "credentials", r->in.credentials);
8885 ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
8889 if (flags & NDR_OUT) {
8890 ndr_print_struct(ndr, "out", "netr_ServerAuthenticate");
8892 ndr_print_ptr(ndr, "return_credentials", r->out.return_credentials);
8894 ndr_print_netr_Credential(ndr, "return_credentials", r->out.return_credentials);
8896 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8902 static enum ndr_err_code ndr_push_netr_ServerPasswordSet(struct ndr_push *ndr, int flags, const struct netr_ServerPasswordSet *r)
8904 if (flags & NDR_IN) {
8905 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
8906 if (r->in.server_name) {
8907 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8908 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8909 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8910 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8912 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
8913 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8914 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
8915 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.account_name, ndr_charset_length(r->in.account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8916 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
8917 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
8918 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8919 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
8920 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8921 if (r->in.credential == NULL) {
8922 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8924 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
8925 if (r->in.new_password == NULL) {
8926 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8928 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.new_password));
8930 if (flags & NDR_OUT) {
8931 if (r->out.return_authenticator == NULL) {
8932 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8934 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
8935 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8937 return NDR_ERR_SUCCESS;
8940 static enum ndr_err_code ndr_pull_netr_ServerPasswordSet(struct ndr_pull *ndr, int flags, struct netr_ServerPasswordSet *r)
8942 uint32_t _ptr_server_name;
8943 TALLOC_CTX *_mem_save_server_name_0;
8944 TALLOC_CTX *_mem_save_credential_0;
8945 TALLOC_CTX *_mem_save_return_authenticator_0;
8946 TALLOC_CTX *_mem_save_new_password_0;
8947 if (flags & NDR_IN) {
8948 ZERO_STRUCT(r->out);
8950 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
8951 if (_ptr_server_name) {
8952 NDR_PULL_ALLOC(ndr, r->in.server_name);
8954 r->in.server_name = NULL;
8956 if (r->in.server_name) {
8957 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8958 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
8959 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
8960 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
8961 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
8962 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
8964 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
8965 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
8966 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
8968 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
8969 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
8970 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
8971 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.account_name), ndr_get_array_length(ndr, &r->in.account_name));
8973 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
8974 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t), CH_UTF16));
8975 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
8976 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
8977 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
8978 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
8979 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computer_name), ndr_get_array_length(ndr, &r->in.computer_name));
8981 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
8982 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t), CH_UTF16));
8983 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8984 NDR_PULL_ALLOC(ndr, r->in.credential);
8986 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
8987 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
8988 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
8989 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
8990 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8991 NDR_PULL_ALLOC(ndr, r->in.new_password);
8993 _mem_save_new_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
8994 NDR_PULL_SET_MEM_CTX(ndr, r->in.new_password, LIBNDR_FLAG_REF_ALLOC);
8995 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.new_password));
8996 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_password_0, LIBNDR_FLAG_REF_ALLOC);
8997 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
8998 ZERO_STRUCTP(r->out.return_authenticator);
9000 if (flags & NDR_OUT) {
9001 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9002 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9004 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9005 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
9006 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9007 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
9008 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9010 return NDR_ERR_SUCCESS;
9013 _PUBLIC_ void ndr_print_netr_ServerPasswordSet(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerPasswordSet *r)
9015 ndr_print_struct(ndr, name, "netr_ServerPasswordSet");
9017 if (flags & NDR_SET_VALUES) {
9018 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9020 if (flags & NDR_IN) {
9021 ndr_print_struct(ndr, "in", "netr_ServerPasswordSet");
9023 ndr_print_ptr(ndr, "server_name", r->in.server_name);
9025 if (r->in.server_name) {
9026 ndr_print_string(ndr, "server_name", r->in.server_name);
9029 ndr_print_string(ndr, "account_name", r->in.account_name);
9030 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
9031 ndr_print_string(ndr, "computer_name", r->in.computer_name);
9032 ndr_print_ptr(ndr, "credential", r->in.credential);
9034 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
9036 ndr_print_ptr(ndr, "new_password", r->in.new_password);
9038 ndr_print_samr_Password(ndr, "new_password", r->in.new_password);
9042 if (flags & NDR_OUT) {
9043 ndr_print_struct(ndr, "out", "netr_ServerPasswordSet");
9045 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
9047 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
9049 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9055 static enum ndr_err_code ndr_push_netr_DatabaseDeltas(struct ndr_push *ndr, int flags, const struct netr_DatabaseDeltas *r)
9057 if (flags & NDR_IN) {
9058 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9059 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9060 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9061 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.logon_server, ndr_charset_length(r->in.logon_server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9062 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
9063 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9064 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
9065 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9066 if (r->in.credential == NULL) {
9067 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9069 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
9070 if (r->in.return_authenticator == NULL) {
9071 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9073 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9074 NDR_CHECK(ndr_push_netr_SamDatabaseID(ndr, NDR_SCALARS, r->in.database_id));
9075 if (r->in.sequence_num == NULL) {
9076 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9078 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, *r->in.sequence_num));
9079 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.preferredmaximumlength));
9081 if (flags & NDR_OUT) {
9082 if (r->out.return_authenticator == NULL) {
9083 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9085 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9086 if (r->out.sequence_num == NULL) {
9087 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9089 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, *r->out.sequence_num));
9090 if (r->out.delta_enum_array == NULL) {
9091 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9093 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.delta_enum_array));
9094 if (*r->out.delta_enum_array) {
9095 NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
9097 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9099 return NDR_ERR_SUCCESS;
9102 static enum ndr_err_code ndr_pull_netr_DatabaseDeltas(struct ndr_pull *ndr, int flags, struct netr_DatabaseDeltas *r)
9104 uint32_t _ptr_delta_enum_array;
9105 TALLOC_CTX *_mem_save_credential_0;
9106 TALLOC_CTX *_mem_save_return_authenticator_0;
9107 TALLOC_CTX *_mem_save_sequence_num_0;
9108 TALLOC_CTX *_mem_save_delta_enum_array_0;
9109 TALLOC_CTX *_mem_save_delta_enum_array_1;
9110 if (flags & NDR_IN) {
9111 ZERO_STRUCT(r->out);
9113 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
9114 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
9115 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
9116 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.logon_server), ndr_get_array_length(ndr, &r->in.logon_server));
9118 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
9119 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t), CH_UTF16));
9120 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
9121 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
9122 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
9123 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computername), ndr_get_array_length(ndr, &r->in.computername));
9125 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
9126 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
9127 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9128 NDR_PULL_ALLOC(ndr, r->in.credential);
9130 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
9131 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
9132 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
9133 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
9134 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9135 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
9137 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9138 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
9139 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9140 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
9141 NDR_CHECK(ndr_pull_netr_SamDatabaseID(ndr, NDR_SCALARS, &r->in.database_id));
9142 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9143 NDR_PULL_ALLOC(ndr, r->in.sequence_num);
9145 _mem_save_sequence_num_0 = NDR_PULL_GET_MEM_CTX(ndr);
9146 NDR_PULL_SET_MEM_CTX(ndr, r->in.sequence_num, LIBNDR_FLAG_REF_ALLOC);
9147 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, r->in.sequence_num));
9148 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sequence_num_0, LIBNDR_FLAG_REF_ALLOC);
9149 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.preferredmaximumlength));
9150 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9151 *r->out.return_authenticator = *r->in.return_authenticator;
9152 NDR_PULL_ALLOC(ndr, r->out.sequence_num);
9153 *r->out.sequence_num = *r->in.sequence_num;
9154 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
9155 ZERO_STRUCTP(r->out.delta_enum_array);
9157 if (flags & NDR_OUT) {
9158 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9159 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9161 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9162 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
9163 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9164 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
9165 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9166 NDR_PULL_ALLOC(ndr, r->out.sequence_num);
9168 _mem_save_sequence_num_0 = NDR_PULL_GET_MEM_CTX(ndr);
9169 NDR_PULL_SET_MEM_CTX(ndr, r->out.sequence_num, LIBNDR_FLAG_REF_ALLOC);
9170 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, r->out.sequence_num));
9171 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sequence_num_0, LIBNDR_FLAG_REF_ALLOC);
9172 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9173 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
9175 _mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
9176 NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC);
9177 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum_array));
9178 if (_ptr_delta_enum_array) {
9179 NDR_PULL_ALLOC(ndr, *r->out.delta_enum_array);
9181 *r->out.delta_enum_array = NULL;
9183 if (*r->out.delta_enum_array) {
9184 _mem_save_delta_enum_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
9185 NDR_PULL_SET_MEM_CTX(ndr, *r->out.delta_enum_array, 0);
9186 NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
9187 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_1, 0);
9189 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC);
9190 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9192 return NDR_ERR_SUCCESS;
9195 _PUBLIC_ void ndr_print_netr_DatabaseDeltas(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseDeltas *r)
9197 ndr_print_struct(ndr, name, "netr_DatabaseDeltas");
9199 if (flags & NDR_SET_VALUES) {
9200 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9202 if (flags & NDR_IN) {
9203 ndr_print_struct(ndr, "in", "netr_DatabaseDeltas");
9205 ndr_print_string(ndr, "logon_server", r->in.logon_server);
9206 ndr_print_string(ndr, "computername", r->in.computername);
9207 ndr_print_ptr(ndr, "credential", r->in.credential);
9209 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
9211 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
9213 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
9215 ndr_print_netr_SamDatabaseID(ndr, "database_id", r->in.database_id);
9216 ndr_print_ptr(ndr, "sequence_num", r->in.sequence_num);
9218 ndr_print_udlong(ndr, "sequence_num", *r->in.sequence_num);
9220 ndr_print_uint32(ndr, "preferredmaximumlength", r->in.preferredmaximumlength);
9223 if (flags & NDR_OUT) {
9224 ndr_print_struct(ndr, "out", "netr_DatabaseDeltas");
9226 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
9228 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
9230 ndr_print_ptr(ndr, "sequence_num", r->out.sequence_num);
9232 ndr_print_udlong(ndr, "sequence_num", *r->out.sequence_num);
9234 ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array);
9236 ndr_print_ptr(ndr, "delta_enum_array", *r->out.delta_enum_array);
9238 if (*r->out.delta_enum_array) {
9239 ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", *r->out.delta_enum_array);
9243 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9249 static enum ndr_err_code ndr_push_netr_DatabaseSync(struct ndr_push *ndr, int flags, const struct netr_DatabaseSync *r)
9251 if (flags & NDR_IN) {
9252 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9253 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9254 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9255 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.logon_server, ndr_charset_length(r->in.logon_server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9256 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
9257 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9258 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
9259 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9260 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
9261 if (r->in.return_authenticator == NULL) {
9262 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9264 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9265 NDR_CHECK(ndr_push_netr_SamDatabaseID(ndr, NDR_SCALARS, r->in.database_id));
9266 if (r->in.sync_context == NULL) {
9267 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9269 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.sync_context));
9270 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.preferredmaximumlength));
9272 if (flags & NDR_OUT) {
9273 if (r->out.return_authenticator == NULL) {
9274 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9276 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9277 if (r->out.sync_context == NULL) {
9278 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9280 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.sync_context));
9281 if (r->out.delta_enum_array == NULL) {
9282 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9284 NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.delta_enum_array));
9285 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9287 return NDR_ERR_SUCCESS;
9290 static enum ndr_err_code ndr_pull_netr_DatabaseSync(struct ndr_pull *ndr, int flags, struct netr_DatabaseSync *r)
9292 TALLOC_CTX *_mem_save_return_authenticator_0;
9293 TALLOC_CTX *_mem_save_sync_context_0;
9294 TALLOC_CTX *_mem_save_delta_enum_array_0;
9295 if (flags & NDR_IN) {
9296 ZERO_STRUCT(r->out);
9298 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
9299 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
9300 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
9301 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.logon_server), ndr_get_array_length(ndr, &r->in.logon_server));
9303 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
9304 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t), CH_UTF16));
9305 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
9306 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
9307 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
9308 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computername), ndr_get_array_length(ndr, &r->in.computername));
9310 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
9311 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
9312 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
9313 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9314 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
9316 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9317 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
9318 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9319 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
9320 NDR_CHECK(ndr_pull_netr_SamDatabaseID(ndr, NDR_SCALARS, &r->in.database_id));
9321 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9322 NDR_PULL_ALLOC(ndr, r->in.sync_context);
9324 _mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
9325 NDR_PULL_SET_MEM_CTX(ndr, r->in.sync_context, LIBNDR_FLAG_REF_ALLOC);
9326 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.sync_context));
9327 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC);
9328 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.preferredmaximumlength));
9329 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9330 *r->out.return_authenticator = *r->in.return_authenticator;
9331 NDR_PULL_ALLOC(ndr, r->out.sync_context);
9332 *r->out.sync_context = *r->in.sync_context;
9333 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
9334 ZERO_STRUCTP(r->out.delta_enum_array);
9336 if (flags & NDR_OUT) {
9337 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9338 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9340 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9341 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
9342 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9343 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
9344 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9345 NDR_PULL_ALLOC(ndr, r->out.sync_context);
9347 _mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
9348 NDR_PULL_SET_MEM_CTX(ndr, r->out.sync_context, LIBNDR_FLAG_REF_ALLOC);
9349 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.sync_context));
9350 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC);
9351 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9352 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
9354 _mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
9355 NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC);
9356 NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.delta_enum_array));
9357 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC);
9358 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9360 return NDR_ERR_SUCCESS;
9363 _PUBLIC_ void ndr_print_netr_DatabaseSync(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseSync *r)
9365 ndr_print_struct(ndr, name, "netr_DatabaseSync");
9367 if (flags & NDR_SET_VALUES) {
9368 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9370 if (flags & NDR_IN) {
9371 ndr_print_struct(ndr, "in", "netr_DatabaseSync");
9373 ndr_print_string(ndr, "logon_server", r->in.logon_server);
9374 ndr_print_string(ndr, "computername", r->in.computername);
9375 ndr_print_netr_Authenticator(ndr, "credential", &r->in.credential);
9376 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
9378 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
9380 ndr_print_netr_SamDatabaseID(ndr, "database_id", r->in.database_id);
9381 ndr_print_ptr(ndr, "sync_context", r->in.sync_context);
9383 ndr_print_uint32(ndr, "sync_context", *r->in.sync_context);
9385 ndr_print_uint32(ndr, "preferredmaximumlength", r->in.preferredmaximumlength);
9388 if (flags & NDR_OUT) {
9389 ndr_print_struct(ndr, "out", "netr_DatabaseSync");
9391 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
9393 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
9395 ndr_print_ptr(ndr, "sync_context", r->out.sync_context);
9397 ndr_print_uint32(ndr, "sync_context", *r->out.sync_context);
9399 ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array);
9401 ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", r->out.delta_enum_array);
9403 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9409 static enum ndr_err_code ndr_push_netr_AccountDeltas(struct ndr_push *ndr, int flags, const struct netr_AccountDeltas *r)
9411 if (flags & NDR_IN) {
9412 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
9413 if (r->in.logon_server) {
9414 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9415 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9416 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9417 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.logon_server, ndr_charset_length(r->in.logon_server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9419 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
9420 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9421 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
9422 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9423 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
9424 if (r->in.return_authenticator == NULL) {
9425 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9427 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9428 NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, &r->in.uas));
9429 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
9430 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
9431 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buffersize));
9433 if (flags & NDR_OUT) {
9434 if (r->out.return_authenticator == NULL) {
9435 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9437 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9438 if (r->out.buffer == NULL) {
9439 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9442 struct ndr_push *_ndr_buffer;
9443 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_buffer, 4, -1));
9444 NDR_CHECK(ndr_push_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer));
9445 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_buffer, 4, -1));
9447 if (r->out.count_returned == NULL) {
9448 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9450 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count_returned));
9451 if (r->out.total_entries == NULL) {
9452 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9454 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.total_entries));
9455 if (r->out.recordid == NULL) {
9456 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9458 NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid));
9459 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9461 return NDR_ERR_SUCCESS;
9464 static enum ndr_err_code ndr_pull_netr_AccountDeltas(struct ndr_pull *ndr, int flags, struct netr_AccountDeltas *r)
9466 uint32_t _ptr_logon_server;
9467 TALLOC_CTX *_mem_save_logon_server_0;
9468 TALLOC_CTX *_mem_save_return_authenticator_0;
9469 TALLOC_CTX *_mem_save_buffer_0;
9470 TALLOC_CTX *_mem_save_count_returned_0;
9471 TALLOC_CTX *_mem_save_total_entries_0;
9472 TALLOC_CTX *_mem_save_recordid_0;
9473 if (flags & NDR_IN) {
9474 ZERO_STRUCT(r->out);
9476 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
9477 if (_ptr_logon_server) {
9478 NDR_PULL_ALLOC(ndr, r->in.logon_server);
9480 r->in.logon_server = NULL;
9482 if (r->in.logon_server) {
9483 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
9484 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
9485 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
9486 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
9487 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
9488 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.logon_server), ndr_get_array_length(ndr, &r->in.logon_server));
9490 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
9491 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t), CH_UTF16));
9492 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
9494 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
9495 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
9496 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
9497 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computername), ndr_get_array_length(ndr, &r->in.computername));
9499 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
9500 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
9501 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
9502 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9503 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
9505 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9506 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
9507 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9508 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
9509 NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, &r->in.uas));
9510 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
9511 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
9512 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buffersize));
9513 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9514 *r->out.return_authenticator = *r->in.return_authenticator;
9515 NDR_PULL_ALLOC(ndr, r->out.buffer);
9516 ZERO_STRUCTP(r->out.buffer);
9517 NDR_PULL_ALLOC(ndr, r->out.count_returned);
9518 ZERO_STRUCTP(r->out.count_returned);
9519 NDR_PULL_ALLOC(ndr, r->out.total_entries);
9520 ZERO_STRUCTP(r->out.total_entries);
9521 NDR_PULL_ALLOC(ndr, r->out.recordid);
9522 ZERO_STRUCTP(r->out.recordid);
9524 if (flags & NDR_OUT) {
9525 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9526 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9528 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9529 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
9530 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9531 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
9532 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9533 NDR_PULL_ALLOC(ndr, r->out.buffer);
9535 _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
9536 NDR_PULL_SET_MEM_CTX(ndr, r->out.buffer, LIBNDR_FLAG_REF_ALLOC);
9538 struct ndr_pull *_ndr_buffer;
9539 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_buffer, 4, -1));
9540 NDR_CHECK(ndr_pull_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer));
9541 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_buffer, 4, -1));
9543 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, LIBNDR_FLAG_REF_ALLOC);
9544 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9545 NDR_PULL_ALLOC(ndr, r->out.count_returned);
9547 _mem_save_count_returned_0 = NDR_PULL_GET_MEM_CTX(ndr);
9548 NDR_PULL_SET_MEM_CTX(ndr, r->out.count_returned, LIBNDR_FLAG_REF_ALLOC);
9549 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count_returned));
9550 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_returned_0, LIBNDR_FLAG_REF_ALLOC);
9551 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9552 NDR_PULL_ALLOC(ndr, r->out.total_entries);
9554 _mem_save_total_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
9555 NDR_PULL_SET_MEM_CTX(ndr, r->out.total_entries, LIBNDR_FLAG_REF_ALLOC);
9556 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.total_entries));
9557 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_total_entries_0, LIBNDR_FLAG_REF_ALLOC);
9558 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9559 NDR_PULL_ALLOC(ndr, r->out.recordid);
9561 _mem_save_recordid_0 = NDR_PULL_GET_MEM_CTX(ndr);
9562 NDR_PULL_SET_MEM_CTX(ndr, r->out.recordid, LIBNDR_FLAG_REF_ALLOC);
9563 NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid));
9564 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_recordid_0, LIBNDR_FLAG_REF_ALLOC);
9565 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9567 return NDR_ERR_SUCCESS;
9570 _PUBLIC_ void ndr_print_netr_AccountDeltas(struct ndr_print *ndr, const char *name, int flags, const struct netr_AccountDeltas *r)
9572 ndr_print_struct(ndr, name, "netr_AccountDeltas");
9574 if (flags & NDR_SET_VALUES) {
9575 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9577 if (flags & NDR_IN) {
9578 ndr_print_struct(ndr, "in", "netr_AccountDeltas");
9580 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
9582 if (r->in.logon_server) {
9583 ndr_print_string(ndr, "logon_server", r->in.logon_server);
9586 ndr_print_string(ndr, "computername", r->in.computername);
9587 ndr_print_netr_Authenticator(ndr, "credential", &r->in.credential);
9588 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
9590 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
9592 ndr_print_netr_UAS_INFO_0(ndr, "uas", &r->in.uas);
9593 ndr_print_uint32(ndr, "count", r->in.count);
9594 ndr_print_uint32(ndr, "level", r->in.level);
9595 ndr_print_uint32(ndr, "buffersize", r->in.buffersize);
9598 if (flags & NDR_OUT) {
9599 ndr_print_struct(ndr, "out", "netr_AccountDeltas");
9601 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
9603 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
9605 ndr_print_ptr(ndr, "buffer", r->out.buffer);
9607 ndr_print_netr_AccountBuffer(ndr, "buffer", r->out.buffer);
9609 ndr_print_ptr(ndr, "count_returned", r->out.count_returned);
9611 ndr_print_uint32(ndr, "count_returned", *r->out.count_returned);
9613 ndr_print_ptr(ndr, "total_entries", r->out.total_entries);
9615 ndr_print_uint32(ndr, "total_entries", *r->out.total_entries);
9617 ndr_print_ptr(ndr, "recordid", r->out.recordid);
9619 ndr_print_netr_UAS_INFO_0(ndr, "recordid", r->out.recordid);
9621 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9627 static enum ndr_err_code ndr_push_netr_AccountSync(struct ndr_push *ndr, int flags, const struct netr_AccountSync *r)
9629 if (flags & NDR_IN) {
9630 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
9631 if (r->in.logon_server) {
9632 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9633 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9634 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9635 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.logon_server, ndr_charset_length(r->in.logon_server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9637 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
9638 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9639 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
9640 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9641 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
9642 if (r->in.return_authenticator == NULL) {
9643 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9645 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9646 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.reference));
9647 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
9648 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buffersize));
9649 if (r->in.recordid == NULL) {
9650 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9652 NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->in.recordid));
9654 if (flags & NDR_OUT) {
9655 if (r->out.return_authenticator == NULL) {
9656 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9658 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9659 if (r->out.buffer == NULL) {
9660 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9663 struct ndr_push *_ndr_buffer;
9664 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_buffer, 4, -1));
9665 NDR_CHECK(ndr_push_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer));
9666 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_buffer, 4, -1));
9668 if (r->out.count_returned == NULL) {
9669 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9671 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count_returned));
9672 if (r->out.total_entries == NULL) {
9673 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9675 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.total_entries));
9676 if (r->out.next_reference == NULL) {
9677 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9679 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.next_reference));
9680 if (r->out.recordid == NULL) {
9681 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9683 NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid));
9684 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9686 return NDR_ERR_SUCCESS;
9689 static enum ndr_err_code ndr_pull_netr_AccountSync(struct ndr_pull *ndr, int flags, struct netr_AccountSync *r)
9691 uint32_t _ptr_logon_server;
9692 TALLOC_CTX *_mem_save_logon_server_0;
9693 TALLOC_CTX *_mem_save_return_authenticator_0;
9694 TALLOC_CTX *_mem_save_buffer_0;
9695 TALLOC_CTX *_mem_save_count_returned_0;
9696 TALLOC_CTX *_mem_save_total_entries_0;
9697 TALLOC_CTX *_mem_save_next_reference_0;
9698 TALLOC_CTX *_mem_save_recordid_0;
9699 if (flags & NDR_IN) {
9700 ZERO_STRUCT(r->out);
9702 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
9703 if (_ptr_logon_server) {
9704 NDR_PULL_ALLOC(ndr, r->in.logon_server);
9706 r->in.logon_server = NULL;
9708 if (r->in.logon_server) {
9709 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
9710 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
9711 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
9712 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
9713 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
9714 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.logon_server), ndr_get_array_length(ndr, &r->in.logon_server));
9716 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
9717 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t), CH_UTF16));
9718 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
9720 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
9721 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
9722 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
9723 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computername), ndr_get_array_length(ndr, &r->in.computername));
9725 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
9726 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
9727 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
9728 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9729 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
9731 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9732 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
9733 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9734 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
9735 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.reference));
9736 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
9737 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buffersize));
9738 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9739 NDR_PULL_ALLOC(ndr, r->in.recordid);
9741 _mem_save_recordid_0 = NDR_PULL_GET_MEM_CTX(ndr);
9742 NDR_PULL_SET_MEM_CTX(ndr, r->in.recordid, LIBNDR_FLAG_REF_ALLOC);
9743 NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->in.recordid));
9744 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_recordid_0, LIBNDR_FLAG_REF_ALLOC);
9745 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9746 *r->out.return_authenticator = *r->in.return_authenticator;
9747 NDR_PULL_ALLOC(ndr, r->out.buffer);
9748 ZERO_STRUCTP(r->out.buffer);
9749 NDR_PULL_ALLOC(ndr, r->out.count_returned);
9750 ZERO_STRUCTP(r->out.count_returned);
9751 NDR_PULL_ALLOC(ndr, r->out.total_entries);
9752 ZERO_STRUCTP(r->out.total_entries);
9753 NDR_PULL_ALLOC(ndr, r->out.next_reference);
9754 ZERO_STRUCTP(r->out.next_reference);
9755 NDR_PULL_ALLOC(ndr, r->out.recordid);
9756 *r->out.recordid = *r->in.recordid;
9758 if (flags & NDR_OUT) {
9759 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9760 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9762 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9763 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
9764 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9765 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
9766 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9767 NDR_PULL_ALLOC(ndr, r->out.buffer);
9769 _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
9770 NDR_PULL_SET_MEM_CTX(ndr, r->out.buffer, LIBNDR_FLAG_REF_ALLOC);
9772 struct ndr_pull *_ndr_buffer;
9773 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_buffer, 4, -1));
9774 NDR_CHECK(ndr_pull_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer));
9775 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_buffer, 4, -1));
9777 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, LIBNDR_FLAG_REF_ALLOC);
9778 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9779 NDR_PULL_ALLOC(ndr, r->out.count_returned);
9781 _mem_save_count_returned_0 = NDR_PULL_GET_MEM_CTX(ndr);
9782 NDR_PULL_SET_MEM_CTX(ndr, r->out.count_returned, LIBNDR_FLAG_REF_ALLOC);
9783 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count_returned));
9784 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_returned_0, LIBNDR_FLAG_REF_ALLOC);
9785 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9786 NDR_PULL_ALLOC(ndr, r->out.total_entries);
9788 _mem_save_total_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
9789 NDR_PULL_SET_MEM_CTX(ndr, r->out.total_entries, LIBNDR_FLAG_REF_ALLOC);
9790 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.total_entries));
9791 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_total_entries_0, LIBNDR_FLAG_REF_ALLOC);
9792 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9793 NDR_PULL_ALLOC(ndr, r->out.next_reference);
9795 _mem_save_next_reference_0 = NDR_PULL_GET_MEM_CTX(ndr);
9796 NDR_PULL_SET_MEM_CTX(ndr, r->out.next_reference, LIBNDR_FLAG_REF_ALLOC);
9797 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.next_reference));
9798 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_reference_0, LIBNDR_FLAG_REF_ALLOC);
9799 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9800 NDR_PULL_ALLOC(ndr, r->out.recordid);
9802 _mem_save_recordid_0 = NDR_PULL_GET_MEM_CTX(ndr);
9803 NDR_PULL_SET_MEM_CTX(ndr, r->out.recordid, LIBNDR_FLAG_REF_ALLOC);
9804 NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid));
9805 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_recordid_0, LIBNDR_FLAG_REF_ALLOC);
9806 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9808 return NDR_ERR_SUCCESS;
9811 _PUBLIC_ void ndr_print_netr_AccountSync(struct ndr_print *ndr, const char *name, int flags, const struct netr_AccountSync *r)
9813 ndr_print_struct(ndr, name, "netr_AccountSync");
9815 if (flags & NDR_SET_VALUES) {
9816 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9818 if (flags & NDR_IN) {
9819 ndr_print_struct(ndr, "in", "netr_AccountSync");
9821 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
9823 if (r->in.logon_server) {
9824 ndr_print_string(ndr, "logon_server", r->in.logon_server);
9827 ndr_print_string(ndr, "computername", r->in.computername);
9828 ndr_print_netr_Authenticator(ndr, "credential", &r->in.credential);
9829 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
9831 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
9833 ndr_print_uint32(ndr, "reference", r->in.reference);
9834 ndr_print_uint32(ndr, "level", r->in.level);
9835 ndr_print_uint32(ndr, "buffersize", r->in.buffersize);
9836 ndr_print_ptr(ndr, "recordid", r->in.recordid);
9838 ndr_print_netr_UAS_INFO_0(ndr, "recordid", r->in.recordid);
9842 if (flags & NDR_OUT) {
9843 ndr_print_struct(ndr, "out", "netr_AccountSync");
9845 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
9847 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
9849 ndr_print_ptr(ndr, "buffer", r->out.buffer);
9851 ndr_print_netr_AccountBuffer(ndr, "buffer", r->out.buffer);
9853 ndr_print_ptr(ndr, "count_returned", r->out.count_returned);
9855 ndr_print_uint32(ndr, "count_returned", *r->out.count_returned);
9857 ndr_print_ptr(ndr, "total_entries", r->out.total_entries);
9859 ndr_print_uint32(ndr, "total_entries", *r->out.total_entries);
9861 ndr_print_ptr(ndr, "next_reference", r->out.next_reference);
9863 ndr_print_uint32(ndr, "next_reference", *r->out.next_reference);
9865 ndr_print_ptr(ndr, "recordid", r->out.recordid);
9867 ndr_print_netr_UAS_INFO_0(ndr, "recordid", r->out.recordid);
9869 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9875 static enum ndr_err_code ndr_push_netr_GetDcName(struct ndr_push *ndr, int flags, const struct netr_GetDcName *r)
9877 if (flags & NDR_IN) {
9878 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9879 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9880 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9881 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.logon_server, ndr_charset_length(r->in.logon_server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9882 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domainname));
9883 if (r->in.domainname) {
9884 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16)));
9885 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9886 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16)));
9887 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domainname, ndr_charset_length(r->in.domainname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9890 if (flags & NDR_OUT) {
9891 if (r->out.dcname == NULL) {
9892 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9894 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.dcname));
9895 if (*r->out.dcname) {
9896 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16)));
9897 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9898 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16)));
9899 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.dcname, ndr_charset_length(*r->out.dcname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9901 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
9903 return NDR_ERR_SUCCESS;
9906 static enum ndr_err_code ndr_pull_netr_GetDcName(struct ndr_pull *ndr, int flags, struct netr_GetDcName *r)
9908 uint32_t _ptr_domainname;
9909 uint32_t _ptr_dcname;
9910 TALLOC_CTX *_mem_save_domainname_0;
9911 TALLOC_CTX *_mem_save_dcname_0;
9912 TALLOC_CTX *_mem_save_dcname_1;
9913 if (flags & NDR_IN) {
9914 ZERO_STRUCT(r->out);
9916 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
9917 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
9918 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
9919 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.logon_server), ndr_get_array_length(ndr, &r->in.logon_server));
9921 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
9922 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t), CH_UTF16));
9923 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domainname));
9924 if (_ptr_domainname) {
9925 NDR_PULL_ALLOC(ndr, r->in.domainname);
9927 r->in.domainname = NULL;
9929 if (r->in.domainname) {
9930 _mem_save_domainname_0 = NDR_PULL_GET_MEM_CTX(ndr);
9931 NDR_PULL_SET_MEM_CTX(ndr, r->in.domainname, 0);
9932 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domainname));
9933 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domainname));
9934 if (ndr_get_array_length(ndr, &r->in.domainname) > ndr_get_array_size(ndr, &r->in.domainname)) {
9935 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.domainname), ndr_get_array_length(ndr, &r->in.domainname));
9937 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domainname), sizeof(uint16_t)));
9938 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domainname, ndr_get_array_length(ndr, &r->in.domainname), sizeof(uint16_t), CH_UTF16));
9939 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domainname_0, 0);
9941 NDR_PULL_ALLOC(ndr, r->out.dcname);
9942 ZERO_STRUCTP(r->out.dcname);
9944 if (flags & NDR_OUT) {
9945 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9946 NDR_PULL_ALLOC(ndr, r->out.dcname);
9948 _mem_save_dcname_0 = NDR_PULL_GET_MEM_CTX(ndr);
9949 NDR_PULL_SET_MEM_CTX(ndr, r->out.dcname, LIBNDR_FLAG_REF_ALLOC);
9950 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dcname));
9952 NDR_PULL_ALLOC(ndr, *r->out.dcname);
9954 *r->out.dcname = NULL;
9956 if (*r->out.dcname) {
9957 _mem_save_dcname_1 = NDR_PULL_GET_MEM_CTX(ndr);
9958 NDR_PULL_SET_MEM_CTX(ndr, *r->out.dcname, 0);
9959 NDR_CHECK(ndr_pull_array_size(ndr, r->out.dcname));
9960 NDR_CHECK(ndr_pull_array_length(ndr, r->out.dcname));
9961 if (ndr_get_array_length(ndr, r->out.dcname) > ndr_get_array_size(ndr, r->out.dcname)) {
9962 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, r->out.dcname), ndr_get_array_length(ndr, r->out.dcname));
9964 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.dcname), sizeof(uint16_t)));
9965 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.dcname, ndr_get_array_length(ndr, r->out.dcname), sizeof(uint16_t), CH_UTF16));
9966 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_1, 0);
9968 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_0, LIBNDR_FLAG_REF_ALLOC);
9969 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
9971 return NDR_ERR_SUCCESS;
9974 _PUBLIC_ void ndr_print_netr_GetDcName(struct ndr_print *ndr, const char *name, int flags, const struct netr_GetDcName *r)
9976 ndr_print_struct(ndr, name, "netr_GetDcName");
9978 if (flags & NDR_SET_VALUES) {
9979 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9981 if (flags & NDR_IN) {
9982 ndr_print_struct(ndr, "in", "netr_GetDcName");
9984 ndr_print_string(ndr, "logon_server", r->in.logon_server);
9985 ndr_print_ptr(ndr, "domainname", r->in.domainname);
9987 if (r->in.domainname) {
9988 ndr_print_string(ndr, "domainname", r->in.domainname);
9993 if (flags & NDR_OUT) {
9994 ndr_print_struct(ndr, "out", "netr_GetDcName");
9996 ndr_print_ptr(ndr, "dcname", r->out.dcname);
9998 ndr_print_ptr(ndr, "dcname", *r->out.dcname);
10000 if (*r->out.dcname) {
10001 ndr_print_string(ndr, "dcname", *r->out.dcname);
10005 ndr_print_WERROR(ndr, "result", r->out.result);
10011 static enum ndr_err_code ndr_push_netr_LogonControl(struct ndr_push *ndr, int flags, const struct netr_LogonControl *r)
10013 if (flags & NDR_IN) {
10014 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
10015 if (r->in.logon_server) {
10016 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10017 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10018 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10019 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.logon_server, ndr_charset_length(r->in.logon_server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10021 NDR_CHECK(ndr_push_netr_LogonControlCode(ndr, NDR_SCALARS, r->in.function_code));
10022 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
10024 if (flags & NDR_OUT) {
10025 if (r->out.info == NULL) {
10026 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10028 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level));
10029 NDR_CHECK(ndr_push_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
10030 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
10032 return NDR_ERR_SUCCESS;
10035 static enum ndr_err_code ndr_pull_netr_LogonControl(struct ndr_pull *ndr, int flags, struct netr_LogonControl *r)
10037 uint32_t _ptr_logon_server;
10038 TALLOC_CTX *_mem_save_logon_server_0;
10039 TALLOC_CTX *_mem_save_info_0;
10040 if (flags & NDR_IN) {
10041 ZERO_STRUCT(r->out);
10043 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
10044 if (_ptr_logon_server) {
10045 NDR_PULL_ALLOC(ndr, r->in.logon_server);
10047 r->in.logon_server = NULL;
10049 if (r->in.logon_server) {
10050 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
10051 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
10052 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
10053 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
10054 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
10055 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.logon_server), ndr_get_array_length(ndr, &r->in.logon_server));
10057 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
10058 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t), CH_UTF16));
10059 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
10061 NDR_CHECK(ndr_pull_netr_LogonControlCode(ndr, NDR_SCALARS, &r->in.function_code));
10062 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
10063 NDR_PULL_ALLOC(ndr, r->out.info);
10064 ZERO_STRUCTP(r->out.info);
10066 if (flags & NDR_OUT) {
10067 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10068 NDR_PULL_ALLOC(ndr, r->out.info);
10070 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
10071 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
10072 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level));
10073 NDR_CHECK(ndr_pull_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
10074 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
10075 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
10077 return NDR_ERR_SUCCESS;
10080 _PUBLIC_ void ndr_print_netr_LogonControl(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonControl *r)
10082 ndr_print_struct(ndr, name, "netr_LogonControl");
10084 if (flags & NDR_SET_VALUES) {
10085 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10087 if (flags & NDR_IN) {
10088 ndr_print_struct(ndr, "in", "netr_LogonControl");
10090 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
10092 if (r->in.logon_server) {
10093 ndr_print_string(ndr, "logon_server", r->in.logon_server);
10096 ndr_print_netr_LogonControlCode(ndr, "function_code", r->in.function_code);
10097 ndr_print_uint32(ndr, "level", r->in.level);
10100 if (flags & NDR_OUT) {
10101 ndr_print_struct(ndr, "out", "netr_LogonControl");
10103 ndr_print_ptr(ndr, "info", r->out.info);
10105 ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
10106 ndr_print_netr_CONTROL_QUERY_INFORMATION(ndr, "info", r->out.info);
10108 ndr_print_WERROR(ndr, "result", r->out.result);
10114 static enum ndr_err_code ndr_push_netr_GetAnyDCName(struct ndr_push *ndr, int flags, const struct netr_GetAnyDCName *r)
10116 if (flags & NDR_IN) {
10117 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
10118 if (r->in.logon_server) {
10119 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10120 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10121 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10122 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.logon_server, ndr_charset_length(r->in.logon_server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10124 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domainname));
10125 if (r->in.domainname) {
10126 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16)));
10127 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10128 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16)));
10129 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domainname, ndr_charset_length(r->in.domainname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10132 if (flags & NDR_OUT) {
10133 if (r->out.dcname == NULL) {
10134 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10136 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.dcname));
10137 if (*r->out.dcname) {
10138 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16)));
10139 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10140 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16)));
10141 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.dcname, ndr_charset_length(*r->out.dcname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10143 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
10145 return NDR_ERR_SUCCESS;
10148 static enum ndr_err_code ndr_pull_netr_GetAnyDCName(struct ndr_pull *ndr, int flags, struct netr_GetAnyDCName *r)
10150 uint32_t _ptr_logon_server;
10151 uint32_t _ptr_domainname;
10152 uint32_t _ptr_dcname;
10153 TALLOC_CTX *_mem_save_logon_server_0;
10154 TALLOC_CTX *_mem_save_domainname_0;
10155 TALLOC_CTX *_mem_save_dcname_0;
10156 TALLOC_CTX *_mem_save_dcname_1;
10157 if (flags & NDR_IN) {
10158 ZERO_STRUCT(r->out);
10160 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
10161 if (_ptr_logon_server) {
10162 NDR_PULL_ALLOC(ndr, r->in.logon_server);
10164 r->in.logon_server = NULL;
10166 if (r->in.logon_server) {
10167 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
10168 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
10169 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
10170 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
10171 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
10172 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.logon_server), ndr_get_array_length(ndr, &r->in.logon_server));
10174 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
10175 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t), CH_UTF16));
10176 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
10178 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domainname));
10179 if (_ptr_domainname) {
10180 NDR_PULL_ALLOC(ndr, r->in.domainname);
10182 r->in.domainname = NULL;
10184 if (r->in.domainname) {
10185 _mem_save_domainname_0 = NDR_PULL_GET_MEM_CTX(ndr);
10186 NDR_PULL_SET_MEM_CTX(ndr, r->in.domainname, 0);
10187 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domainname));
10188 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domainname));
10189 if (ndr_get_array_length(ndr, &r->in.domainname) > ndr_get_array_size(ndr, &r->in.domainname)) {
10190 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.domainname), ndr_get_array_length(ndr, &r->in.domainname));
10192 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domainname), sizeof(uint16_t)));
10193 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domainname, ndr_get_array_length(ndr, &r->in.domainname), sizeof(uint16_t), CH_UTF16));
10194 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domainname_0, 0);
10196 NDR_PULL_ALLOC(ndr, r->out.dcname);
10197 ZERO_STRUCTP(r->out.dcname);
10199 if (flags & NDR_OUT) {
10200 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10201 NDR_PULL_ALLOC(ndr, r->out.dcname);
10203 _mem_save_dcname_0 = NDR_PULL_GET_MEM_CTX(ndr);
10204 NDR_PULL_SET_MEM_CTX(ndr, r->out.dcname, LIBNDR_FLAG_REF_ALLOC);
10205 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dcname));
10207 NDR_PULL_ALLOC(ndr, *r->out.dcname);
10209 *r->out.dcname = NULL;
10211 if (*r->out.dcname) {
10212 _mem_save_dcname_1 = NDR_PULL_GET_MEM_CTX(ndr);
10213 NDR_PULL_SET_MEM_CTX(ndr, *r->out.dcname, 0);
10214 NDR_CHECK(ndr_pull_array_size(ndr, r->out.dcname));
10215 NDR_CHECK(ndr_pull_array_length(ndr, r->out.dcname));
10216 if (ndr_get_array_length(ndr, r->out.dcname) > ndr_get_array_size(ndr, r->out.dcname)) {
10217 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, r->out.dcname), ndr_get_array_length(ndr, r->out.dcname));
10219 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.dcname), sizeof(uint16_t)));
10220 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.dcname, ndr_get_array_length(ndr, r->out.dcname), sizeof(uint16_t), CH_UTF16));
10221 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_1, 0);
10223 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_0, LIBNDR_FLAG_REF_ALLOC);
10224 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
10226 return NDR_ERR_SUCCESS;
10229 _PUBLIC_ void ndr_print_netr_GetAnyDCName(struct ndr_print *ndr, const char *name, int flags, const struct netr_GetAnyDCName *r)
10231 ndr_print_struct(ndr, name, "netr_GetAnyDCName");
10233 if (flags & NDR_SET_VALUES) {
10234 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10236 if (flags & NDR_IN) {
10237 ndr_print_struct(ndr, "in", "netr_GetAnyDCName");
10239 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
10241 if (r->in.logon_server) {
10242 ndr_print_string(ndr, "logon_server", r->in.logon_server);
10245 ndr_print_ptr(ndr, "domainname", r->in.domainname);
10247 if (r->in.domainname) {
10248 ndr_print_string(ndr, "domainname", r->in.domainname);
10253 if (flags & NDR_OUT) {
10254 ndr_print_struct(ndr, "out", "netr_GetAnyDCName");
10256 ndr_print_ptr(ndr, "dcname", r->out.dcname);
10258 ndr_print_ptr(ndr, "dcname", *r->out.dcname);
10260 if (*r->out.dcname) {
10261 ndr_print_string(ndr, "dcname", *r->out.dcname);
10265 ndr_print_WERROR(ndr, "result", r->out.result);
10271 static enum ndr_err_code ndr_push_netr_LogonControl2(struct ndr_push *ndr, int flags, const struct netr_LogonControl2 *r)
10273 if (flags & NDR_IN) {
10274 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
10275 if (r->in.logon_server) {
10276 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10277 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10278 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10279 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.logon_server, ndr_charset_length(r->in.logon_server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10281 NDR_CHECK(ndr_push_netr_LogonControlCode(ndr, NDR_SCALARS, r->in.function_code));
10282 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
10283 if (r->in.data == NULL) {
10284 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10286 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.data, r->in.function_code));
10287 NDR_CHECK(ndr_push_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.data));
10289 if (flags & NDR_OUT) {
10290 if (r->out.query == NULL) {
10291 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10293 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.query, r->in.level));
10294 NDR_CHECK(ndr_push_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
10295 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
10297 return NDR_ERR_SUCCESS;
10300 static enum ndr_err_code ndr_pull_netr_LogonControl2(struct ndr_pull *ndr, int flags, struct netr_LogonControl2 *r)
10302 uint32_t _ptr_logon_server;
10303 TALLOC_CTX *_mem_save_logon_server_0;
10304 TALLOC_CTX *_mem_save_data_0;
10305 TALLOC_CTX *_mem_save_query_0;
10306 if (flags & NDR_IN) {
10307 ZERO_STRUCT(r->out);
10309 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
10310 if (_ptr_logon_server) {
10311 NDR_PULL_ALLOC(ndr, r->in.logon_server);
10313 r->in.logon_server = NULL;
10315 if (r->in.logon_server) {
10316 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
10317 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
10318 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
10319 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
10320 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
10321 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.logon_server), ndr_get_array_length(ndr, &r->in.logon_server));
10323 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
10324 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t), CH_UTF16));
10325 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
10327 NDR_CHECK(ndr_pull_netr_LogonControlCode(ndr, NDR_SCALARS, &r->in.function_code));
10328 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
10329 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10330 NDR_PULL_ALLOC(ndr, r->in.data);
10332 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
10333 NDR_PULL_SET_MEM_CTX(ndr, r->in.data, LIBNDR_FLAG_REF_ALLOC);
10334 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.data, r->in.function_code));
10335 NDR_CHECK(ndr_pull_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.data));
10336 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, LIBNDR_FLAG_REF_ALLOC);
10337 NDR_PULL_ALLOC(ndr, r->out.query);
10338 ZERO_STRUCTP(r->out.query);
10340 if (flags & NDR_OUT) {
10341 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10342 NDR_PULL_ALLOC(ndr, r->out.query);
10344 _mem_save_query_0 = NDR_PULL_GET_MEM_CTX(ndr);
10345 NDR_PULL_SET_MEM_CTX(ndr, r->out.query, LIBNDR_FLAG_REF_ALLOC);
10346 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.query, r->in.level));
10347 NDR_CHECK(ndr_pull_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
10348 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query_0, LIBNDR_FLAG_REF_ALLOC);
10349 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
10351 return NDR_ERR_SUCCESS;
10354 _PUBLIC_ void ndr_print_netr_LogonControl2(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonControl2 *r)
10356 ndr_print_struct(ndr, name, "netr_LogonControl2");
10358 if (flags & NDR_SET_VALUES) {
10359 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10361 if (flags & NDR_IN) {
10362 ndr_print_struct(ndr, "in", "netr_LogonControl2");
10364 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
10366 if (r->in.logon_server) {
10367 ndr_print_string(ndr, "logon_server", r->in.logon_server);
10370 ndr_print_netr_LogonControlCode(ndr, "function_code", r->in.function_code);
10371 ndr_print_uint32(ndr, "level", r->in.level);
10372 ndr_print_ptr(ndr, "data", r->in.data);
10374 ndr_print_set_switch_value(ndr, r->in.data, r->in.function_code);
10375 ndr_print_netr_CONTROL_DATA_INFORMATION(ndr, "data", r->in.data);
10379 if (flags & NDR_OUT) {
10380 ndr_print_struct(ndr, "out", "netr_LogonControl2");
10382 ndr_print_ptr(ndr, "query", r->out.query);
10384 ndr_print_set_switch_value(ndr, r->out.query, r->in.level);
10385 ndr_print_netr_CONTROL_QUERY_INFORMATION(ndr, "query", r->out.query);
10387 ndr_print_WERROR(ndr, "result", r->out.result);
10393 static enum ndr_err_code ndr_push_netr_ServerAuthenticate2(struct ndr_push *ndr, int flags, const struct netr_ServerAuthenticate2 *r)
10395 if (flags & NDR_IN) {
10396 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
10397 if (r->in.server_name) {
10398 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
10399 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10400 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
10401 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10403 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
10404 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10405 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
10406 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.account_name, ndr_charset_length(r->in.account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10407 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
10408 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
10409 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10410 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
10411 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10412 if (r->in.credentials == NULL) {
10413 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10415 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
10416 if (r->in.negotiate_flags == NULL) {
10417 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10419 NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, *r->in.negotiate_flags));
10421 if (flags & NDR_OUT) {
10422 if (r->out.return_credentials == NULL) {
10423 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10425 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
10426 if (r->out.negotiate_flags == NULL) {
10427 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10429 NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, *r->out.negotiate_flags));
10430 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10432 return NDR_ERR_SUCCESS;
10435 static enum ndr_err_code ndr_pull_netr_ServerAuthenticate2(struct ndr_pull *ndr, int flags, struct netr_ServerAuthenticate2 *r)
10437 uint32_t _ptr_server_name;
10438 TALLOC_CTX *_mem_save_server_name_0;
10439 TALLOC_CTX *_mem_save_credentials_0;
10440 TALLOC_CTX *_mem_save_return_credentials_0;
10441 TALLOC_CTX *_mem_save_negotiate_flags_0;
10442 if (flags & NDR_IN) {
10443 ZERO_STRUCT(r->out);
10445 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
10446 if (_ptr_server_name) {
10447 NDR_PULL_ALLOC(ndr, r->in.server_name);
10449 r->in.server_name = NULL;
10451 if (r->in.server_name) {
10452 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10453 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
10454 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
10455 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
10456 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
10457 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
10459 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
10460 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
10461 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
10463 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
10464 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
10465 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
10466 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.account_name), ndr_get_array_length(ndr, &r->in.account_name));
10468 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
10469 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t), CH_UTF16));
10470 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
10471 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
10472 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
10473 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
10474 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computer_name), ndr_get_array_length(ndr, &r->in.computer_name));
10476 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
10477 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t), CH_UTF16));
10478 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10479 NDR_PULL_ALLOC(ndr, r->in.credentials);
10481 _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
10482 NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC);
10483 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
10484 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
10485 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10486 NDR_PULL_ALLOC(ndr, r->in.negotiate_flags);
10488 _mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
10489 NDR_PULL_SET_MEM_CTX(ndr, r->in.negotiate_flags, LIBNDR_FLAG_REF_ALLOC);
10490 NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, r->in.negotiate_flags));
10491 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC);
10492 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
10493 ZERO_STRUCTP(r->out.return_credentials);
10494 NDR_PULL_ALLOC(ndr, r->out.negotiate_flags);
10495 *r->out.negotiate_flags = *r->in.negotiate_flags;
10497 if (flags & NDR_OUT) {
10498 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10499 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
10501 _mem_save_return_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
10502 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_credentials, LIBNDR_FLAG_REF_ALLOC);
10503 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
10504 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_credentials_0, LIBNDR_FLAG_REF_ALLOC);
10505 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10506 NDR_PULL_ALLOC(ndr, r->out.negotiate_flags);
10508 _mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
10509 NDR_PULL_SET_MEM_CTX(ndr, r->out.negotiate_flags, LIBNDR_FLAG_REF_ALLOC);
10510 NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, r->out.negotiate_flags));
10511 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC);
10512 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10514 return NDR_ERR_SUCCESS;
10517 _PUBLIC_ void ndr_print_netr_ServerAuthenticate2(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerAuthenticate2 *r)
10519 ndr_print_struct(ndr, name, "netr_ServerAuthenticate2");
10521 if (flags & NDR_SET_VALUES) {
10522 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10524 if (flags & NDR_IN) {
10525 ndr_print_struct(ndr, "in", "netr_ServerAuthenticate2");
10527 ndr_print_ptr(ndr, "server_name", r->in.server_name);
10529 if (r->in.server_name) {
10530 ndr_print_string(ndr, "server_name", r->in.server_name);
10533 ndr_print_string(ndr, "account_name", r->in.account_name);
10534 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
10535 ndr_print_string(ndr, "computer_name", r->in.computer_name);
10536 ndr_print_ptr(ndr, "credentials", r->in.credentials);
10538 ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
10540 ndr_print_ptr(ndr, "negotiate_flags", r->in.negotiate_flags);
10542 ndr_print_netr_NegotiateFlags(ndr, "negotiate_flags", *r->in.negotiate_flags);
10546 if (flags & NDR_OUT) {
10547 ndr_print_struct(ndr, "out", "netr_ServerAuthenticate2");
10549 ndr_print_ptr(ndr, "return_credentials", r->out.return_credentials);
10551 ndr_print_netr_Credential(ndr, "return_credentials", r->out.return_credentials);
10553 ndr_print_ptr(ndr, "negotiate_flags", r->out.negotiate_flags);
10555 ndr_print_netr_NegotiateFlags(ndr, "negotiate_flags", *r->out.negotiate_flags);
10557 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10563 static enum ndr_err_code ndr_push_netr_DatabaseSync2(struct ndr_push *ndr, int flags, const struct netr_DatabaseSync2 *r)
10565 if (flags & NDR_IN) {
10566 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10567 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10568 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10569 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.logon_server, ndr_charset_length(r->in.logon_server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10570 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
10571 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10572 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
10573 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10574 if (r->in.credential == NULL) {
10575 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10577 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
10578 if (r->in.return_authenticator == NULL) {
10579 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10581 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10582 NDR_CHECK(ndr_push_netr_SamDatabaseID(ndr, NDR_SCALARS, r->in.database_id));
10583 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.restart_state));
10584 if (r->in.sync_context == NULL) {
10585 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10587 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.sync_context));
10588 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.preferredmaximumlength));
10590 if (flags & NDR_OUT) {
10591 if (r->out.return_authenticator == NULL) {
10592 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10594 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10595 if (r->out.sync_context == NULL) {
10596 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10598 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.sync_context));
10599 if (r->out.delta_enum_array == NULL) {
10600 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10602 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.delta_enum_array));
10603 if (*r->out.delta_enum_array) {
10604 NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
10606 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10608 return NDR_ERR_SUCCESS;
10611 static enum ndr_err_code ndr_pull_netr_DatabaseSync2(struct ndr_pull *ndr, int flags, struct netr_DatabaseSync2 *r)
10613 uint32_t _ptr_delta_enum_array;
10614 TALLOC_CTX *_mem_save_credential_0;
10615 TALLOC_CTX *_mem_save_return_authenticator_0;
10616 TALLOC_CTX *_mem_save_sync_context_0;
10617 TALLOC_CTX *_mem_save_delta_enum_array_0;
10618 TALLOC_CTX *_mem_save_delta_enum_array_1;
10619 if (flags & NDR_IN) {
10620 ZERO_STRUCT(r->out);
10622 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
10623 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
10624 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
10625 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.logon_server), ndr_get_array_length(ndr, &r->in.logon_server));
10627 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
10628 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t), CH_UTF16));
10629 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
10630 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
10631 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
10632 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computername), ndr_get_array_length(ndr, &r->in.computername));
10634 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
10635 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
10636 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10637 NDR_PULL_ALLOC(ndr, r->in.credential);
10639 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
10640 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
10641 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
10642 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
10643 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10644 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
10646 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10647 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10648 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10649 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10650 NDR_CHECK(ndr_pull_netr_SamDatabaseID(ndr, NDR_SCALARS, &r->in.database_id));
10651 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.restart_state));
10652 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10653 NDR_PULL_ALLOC(ndr, r->in.sync_context);
10655 _mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
10656 NDR_PULL_SET_MEM_CTX(ndr, r->in.sync_context, LIBNDR_FLAG_REF_ALLOC);
10657 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.sync_context));
10658 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC);
10659 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.preferredmaximumlength));
10660 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10661 *r->out.return_authenticator = *r->in.return_authenticator;
10662 NDR_PULL_ALLOC(ndr, r->out.sync_context);
10663 *r->out.sync_context = *r->in.sync_context;
10664 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
10665 ZERO_STRUCTP(r->out.delta_enum_array);
10667 if (flags & NDR_OUT) {
10668 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10669 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10671 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10672 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10673 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10674 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10675 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10676 NDR_PULL_ALLOC(ndr, r->out.sync_context);
10678 _mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
10679 NDR_PULL_SET_MEM_CTX(ndr, r->out.sync_context, LIBNDR_FLAG_REF_ALLOC);
10680 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.sync_context));
10681 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC);
10682 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10683 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
10685 _mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10686 NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC);
10687 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum_array));
10688 if (_ptr_delta_enum_array) {
10689 NDR_PULL_ALLOC(ndr, *r->out.delta_enum_array);
10691 *r->out.delta_enum_array = NULL;
10693 if (*r->out.delta_enum_array) {
10694 _mem_save_delta_enum_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
10695 NDR_PULL_SET_MEM_CTX(ndr, *r->out.delta_enum_array, 0);
10696 NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
10697 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_1, 0);
10699 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC);
10700 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10702 return NDR_ERR_SUCCESS;
10705 _PUBLIC_ void ndr_print_netr_DatabaseSync2(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseSync2 *r)
10707 ndr_print_struct(ndr, name, "netr_DatabaseSync2");
10709 if (flags & NDR_SET_VALUES) {
10710 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10712 if (flags & NDR_IN) {
10713 ndr_print_struct(ndr, "in", "netr_DatabaseSync2");
10715 ndr_print_string(ndr, "logon_server", r->in.logon_server);
10716 ndr_print_string(ndr, "computername", r->in.computername);
10717 ndr_print_ptr(ndr, "credential", r->in.credential);
10719 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
10721 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
10723 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
10725 ndr_print_netr_SamDatabaseID(ndr, "database_id", r->in.database_id);
10726 ndr_print_uint16(ndr, "restart_state", r->in.restart_state);
10727 ndr_print_ptr(ndr, "sync_context", r->in.sync_context);
10729 ndr_print_uint32(ndr, "sync_context", *r->in.sync_context);
10731 ndr_print_uint32(ndr, "preferredmaximumlength", r->in.preferredmaximumlength);
10734 if (flags & NDR_OUT) {
10735 ndr_print_struct(ndr, "out", "netr_DatabaseSync2");
10737 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
10739 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
10741 ndr_print_ptr(ndr, "sync_context", r->out.sync_context);
10743 ndr_print_uint32(ndr, "sync_context", *r->out.sync_context);
10745 ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array);
10747 ndr_print_ptr(ndr, "delta_enum_array", *r->out.delta_enum_array);
10749 if (*r->out.delta_enum_array) {
10750 ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", *r->out.delta_enum_array);
10754 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10760 static enum ndr_err_code ndr_push_netr_DatabaseRedo(struct ndr_push *ndr, int flags, const struct netr_DatabaseRedo *r)
10762 if (flags & NDR_IN) {
10763 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10764 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10765 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10766 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.logon_server, ndr_charset_length(r->in.logon_server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10767 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
10768 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10769 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
10770 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10771 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
10772 if (r->in.return_authenticator == NULL) {
10773 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10775 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10776 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.change_log_entry));
10777 if (r->in.change_log_entry) {
10778 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.change_log_entry_size));
10779 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->in.change_log_entry, r->in.change_log_entry_size));
10781 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.change_log_entry_size));
10783 if (flags & NDR_OUT) {
10784 if (r->out.return_authenticator == NULL) {
10785 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10787 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10788 if (r->out.delta_enum_array == NULL) {
10789 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10791 NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.delta_enum_array));
10792 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10794 return NDR_ERR_SUCCESS;
10797 static enum ndr_err_code ndr_pull_netr_DatabaseRedo(struct ndr_pull *ndr, int flags, struct netr_DatabaseRedo *r)
10799 uint32_t _ptr_change_log_entry;
10800 TALLOC_CTX *_mem_save_return_authenticator_0;
10801 TALLOC_CTX *_mem_save_change_log_entry_0;
10802 TALLOC_CTX *_mem_save_delta_enum_array_0;
10803 if (flags & NDR_IN) {
10804 ZERO_STRUCT(r->out);
10806 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
10807 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
10808 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
10809 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.logon_server), ndr_get_array_length(ndr, &r->in.logon_server));
10811 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
10812 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t), CH_UTF16));
10813 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
10814 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
10815 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
10816 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computername), ndr_get_array_length(ndr, &r->in.computername));
10818 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
10819 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
10820 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
10821 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10822 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
10824 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10825 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10826 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10827 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10828 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_change_log_entry));
10829 if (_ptr_change_log_entry) {
10830 NDR_PULL_ALLOC(ndr, r->in.change_log_entry);
10832 r->in.change_log_entry = NULL;
10834 if (r->in.change_log_entry) {
10835 _mem_save_change_log_entry_0 = NDR_PULL_GET_MEM_CTX(ndr);
10836 NDR_PULL_SET_MEM_CTX(ndr, r->in.change_log_entry, 0);
10837 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.change_log_entry));
10838 NDR_PULL_ALLOC_N(ndr, r->in.change_log_entry, ndr_get_array_size(ndr, &r->in.change_log_entry));
10839 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.change_log_entry, ndr_get_array_size(ndr, &r->in.change_log_entry)));
10840 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_change_log_entry_0, 0);
10842 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.change_log_entry_size));
10843 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10844 *r->out.return_authenticator = *r->in.return_authenticator;
10845 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
10846 ZERO_STRUCTP(r->out.delta_enum_array);
10847 if (r->in.change_log_entry) {
10848 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.change_log_entry, r->in.change_log_entry_size));
10851 if (flags & NDR_OUT) {
10852 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10853 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10855 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10856 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10857 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10858 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10859 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10860 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
10862 _mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10863 NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC);
10864 NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.delta_enum_array));
10865 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC);
10866 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10868 return NDR_ERR_SUCCESS;
10871 _PUBLIC_ void ndr_print_netr_DatabaseRedo(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseRedo *r)
10873 ndr_print_struct(ndr, name, "netr_DatabaseRedo");
10875 if (flags & NDR_SET_VALUES) {
10876 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10878 if (flags & NDR_IN) {
10879 ndr_print_struct(ndr, "in", "netr_DatabaseRedo");
10881 ndr_print_string(ndr, "logon_server", r->in.logon_server);
10882 ndr_print_string(ndr, "computername", r->in.computername);
10883 ndr_print_netr_Authenticator(ndr, "credential", &r->in.credential);
10884 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
10886 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
10888 ndr_print_ptr(ndr, "change_log_entry", r->in.change_log_entry);
10890 if (r->in.change_log_entry) {
10891 ndr_print_array_uint8(ndr, "change_log_entry", r->in.change_log_entry, r->in.change_log_entry_size);
10894 ndr_print_uint32(ndr, "change_log_entry_size", r->in.change_log_entry_size);
10897 if (flags & NDR_OUT) {
10898 ndr_print_struct(ndr, "out", "netr_DatabaseRedo");
10900 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
10902 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
10904 ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array);
10906 ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", r->out.delta_enum_array);
10908 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10914 static enum ndr_err_code ndr_push_netr_LogonControl2Ex(struct ndr_push *ndr, int flags, const struct netr_LogonControl2Ex *r)
10916 if (flags & NDR_IN) {
10917 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
10918 if (r->in.logon_server) {
10919 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10920 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10921 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10922 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.logon_server, ndr_charset_length(r->in.logon_server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10924 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.function_code));
10925 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
10926 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.data, r->in.function_code));
10927 NDR_CHECK(ndr_push_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.data));
10929 if (flags & NDR_OUT) {
10930 if (r->out.query == NULL) {
10931 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10933 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.query, r->in.level));
10934 NDR_CHECK(ndr_push_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
10935 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
10937 return NDR_ERR_SUCCESS;
10940 static enum ndr_err_code ndr_pull_netr_LogonControl2Ex(struct ndr_pull *ndr, int flags, struct netr_LogonControl2Ex *r)
10942 uint32_t _ptr_logon_server;
10943 TALLOC_CTX *_mem_save_logon_server_0;
10944 TALLOC_CTX *_mem_save_query_0;
10945 if (flags & NDR_IN) {
10946 ZERO_STRUCT(r->out);
10948 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
10949 if (_ptr_logon_server) {
10950 NDR_PULL_ALLOC(ndr, r->in.logon_server);
10952 r->in.logon_server = NULL;
10954 if (r->in.logon_server) {
10955 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
10956 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
10957 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
10958 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
10959 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
10960 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.logon_server), ndr_get_array_length(ndr, &r->in.logon_server));
10962 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
10963 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t), CH_UTF16));
10964 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
10966 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.function_code));
10967 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
10968 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.data, r->in.function_code));
10969 NDR_CHECK(ndr_pull_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.data));
10970 NDR_PULL_ALLOC(ndr, r->out.query);
10971 ZERO_STRUCTP(r->out.query);
10973 if (flags & NDR_OUT) {
10974 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10975 NDR_PULL_ALLOC(ndr, r->out.query);
10977 _mem_save_query_0 = NDR_PULL_GET_MEM_CTX(ndr);
10978 NDR_PULL_SET_MEM_CTX(ndr, r->out.query, LIBNDR_FLAG_REF_ALLOC);
10979 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.query, r->in.level));
10980 NDR_CHECK(ndr_pull_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
10981 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query_0, LIBNDR_FLAG_REF_ALLOC);
10982 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
10984 return NDR_ERR_SUCCESS;
10987 _PUBLIC_ void ndr_print_netr_LogonControl2Ex(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonControl2Ex *r)
10989 ndr_print_struct(ndr, name, "netr_LogonControl2Ex");
10991 if (flags & NDR_SET_VALUES) {
10992 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10994 if (flags & NDR_IN) {
10995 ndr_print_struct(ndr, "in", "netr_LogonControl2Ex");
10997 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
10999 if (r->in.logon_server) {
11000 ndr_print_string(ndr, "logon_server", r->in.logon_server);
11003 ndr_print_uint32(ndr, "function_code", r->in.function_code);
11004 ndr_print_uint32(ndr, "level", r->in.level);
11005 ndr_print_set_switch_value(ndr, &r->in.data, r->in.function_code);
11006 ndr_print_netr_CONTROL_DATA_INFORMATION(ndr, "data", &r->in.data);
11009 if (flags & NDR_OUT) {
11010 ndr_print_struct(ndr, "out", "netr_LogonControl2Ex");
11012 ndr_print_ptr(ndr, "query", r->out.query);
11014 ndr_print_set_switch_value(ndr, r->out.query, r->in.level);
11015 ndr_print_netr_CONTROL_QUERY_INFORMATION(ndr, "query", r->out.query);
11017 ndr_print_WERROR(ndr, "result", r->out.result);
11023 static enum ndr_err_code ndr_push_netr_NetrEnumerateTrustedDomains(struct ndr_push *ndr, int flags, const struct netr_NetrEnumerateTrustedDomains *r)
11025 if (flags & NDR_IN) {
11026 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
11027 if (r->in.server_name) {
11028 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
11029 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11030 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
11031 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11034 if (flags & NDR_OUT) {
11035 if (r->out.trusted_domains_blob == NULL) {
11036 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11038 NDR_CHECK(ndr_push_netr_Blob(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusted_domains_blob));
11039 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11041 return NDR_ERR_SUCCESS;
11044 static enum ndr_err_code ndr_pull_netr_NetrEnumerateTrustedDomains(struct ndr_pull *ndr, int flags, struct netr_NetrEnumerateTrustedDomains *r)
11046 uint32_t _ptr_server_name;
11047 TALLOC_CTX *_mem_save_server_name_0;
11048 TALLOC_CTX *_mem_save_trusted_domains_blob_0;
11049 if (flags & NDR_IN) {
11050 ZERO_STRUCT(r->out);
11052 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
11053 if (_ptr_server_name) {
11054 NDR_PULL_ALLOC(ndr, r->in.server_name);
11056 r->in.server_name = NULL;
11058 if (r->in.server_name) {
11059 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11060 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
11061 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
11062 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
11063 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
11064 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
11066 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
11067 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
11068 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
11070 NDR_PULL_ALLOC(ndr, r->out.trusted_domains_blob);
11071 ZERO_STRUCTP(r->out.trusted_domains_blob);
11073 if (flags & NDR_OUT) {
11074 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11075 NDR_PULL_ALLOC(ndr, r->out.trusted_domains_blob);
11077 _mem_save_trusted_domains_blob_0 = NDR_PULL_GET_MEM_CTX(ndr);
11078 NDR_PULL_SET_MEM_CTX(ndr, r->out.trusted_domains_blob, LIBNDR_FLAG_REF_ALLOC);
11079 NDR_CHECK(ndr_pull_netr_Blob(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusted_domains_blob));
11080 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domains_blob_0, LIBNDR_FLAG_REF_ALLOC);
11081 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11083 return NDR_ERR_SUCCESS;
11086 _PUBLIC_ void ndr_print_netr_NetrEnumerateTrustedDomains(struct ndr_print *ndr, const char *name, int flags, const struct netr_NetrEnumerateTrustedDomains *r)
11088 ndr_print_struct(ndr, name, "netr_NetrEnumerateTrustedDomains");
11090 if (flags & NDR_SET_VALUES) {
11091 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11093 if (flags & NDR_IN) {
11094 ndr_print_struct(ndr, "in", "netr_NetrEnumerateTrustedDomains");
11096 ndr_print_ptr(ndr, "server_name", r->in.server_name);
11098 if (r->in.server_name) {
11099 ndr_print_string(ndr, "server_name", r->in.server_name);
11104 if (flags & NDR_OUT) {
11105 ndr_print_struct(ndr, "out", "netr_NetrEnumerateTrustedDomains");
11107 ndr_print_ptr(ndr, "trusted_domains_blob", r->out.trusted_domains_blob);
11109 ndr_print_netr_Blob(ndr, "trusted_domains_blob", r->out.trusted_domains_blob);
11111 ndr_print_WERROR(ndr, "result", r->out.result);
11117 static enum ndr_err_code ndr_push_netr_DsRGetDCName(struct ndr_push *ndr, int flags, const struct netr_DsRGetDCName *r)
11119 if (flags & NDR_IN) {
11120 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc));
11121 if (r->in.server_unc) {
11122 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
11123 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11124 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
11125 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_unc, ndr_charset_length(r->in.server_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11127 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
11128 if (r->in.domain_name) {
11129 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
11130 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11131 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
11132 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domain_name, ndr_charset_length(r->in.domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11134 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
11135 if (r->in.domain_guid) {
11136 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domain_guid));
11138 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.site_guid));
11139 if (r->in.site_guid) {
11140 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.site_guid));
11142 NDR_CHECK(ndr_push_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, r->in.flags));
11144 if (flags & NDR_OUT) {
11145 if (r->out.info == NULL) {
11146 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11148 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
11149 if (*r->out.info) {
11150 NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
11152 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11154 return NDR_ERR_SUCCESS;
11157 static enum ndr_err_code ndr_pull_netr_DsRGetDCName(struct ndr_pull *ndr, int flags, struct netr_DsRGetDCName *r)
11159 uint32_t _ptr_server_unc;
11160 uint32_t _ptr_domain_name;
11161 uint32_t _ptr_domain_guid;
11162 uint32_t _ptr_site_guid;
11163 uint32_t _ptr_info;
11164 TALLOC_CTX *_mem_save_server_unc_0;
11165 TALLOC_CTX *_mem_save_domain_name_0;
11166 TALLOC_CTX *_mem_save_domain_guid_0;
11167 TALLOC_CTX *_mem_save_site_guid_0;
11168 TALLOC_CTX *_mem_save_info_0;
11169 TALLOC_CTX *_mem_save_info_1;
11170 if (flags & NDR_IN) {
11171 ZERO_STRUCT(r->out);
11173 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc));
11174 if (_ptr_server_unc) {
11175 NDR_PULL_ALLOC(ndr, r->in.server_unc);
11177 r->in.server_unc = NULL;
11179 if (r->in.server_unc) {
11180 _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr);
11181 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
11182 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
11183 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
11184 if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
11185 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc));
11187 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
11188 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16));
11189 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
11191 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
11192 if (_ptr_domain_name) {
11193 NDR_PULL_ALLOC(ndr, r->in.domain_name);
11195 r->in.domain_name = NULL;
11197 if (r->in.domain_name) {
11198 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11199 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
11200 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
11201 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
11202 if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
11203 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.domain_name), ndr_get_array_length(ndr, &r->in.domain_name));
11205 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
11206 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain_name, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t), CH_UTF16));
11207 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
11209 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
11210 if (_ptr_domain_guid) {
11211 NDR_PULL_ALLOC(ndr, r->in.domain_guid);
11213 r->in.domain_guid = NULL;
11215 if (r->in.domain_guid) {
11216 _mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
11217 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
11218 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domain_guid));
11219 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
11221 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_guid));
11222 if (_ptr_site_guid) {
11223 NDR_PULL_ALLOC(ndr, r->in.site_guid);
11225 r->in.site_guid = NULL;
11227 if (r->in.site_guid) {
11228 _mem_save_site_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
11229 NDR_PULL_SET_MEM_CTX(ndr, r->in.site_guid, 0);
11230 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.site_guid));
11231 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_guid_0, 0);
11233 NDR_CHECK(ndr_pull_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, &r->in.flags));
11234 NDR_PULL_ALLOC(ndr, r->out.info);
11235 ZERO_STRUCTP(r->out.info);
11237 if (flags & NDR_OUT) {
11238 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11239 NDR_PULL_ALLOC(ndr, r->out.info);
11241 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
11242 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
11243 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
11245 NDR_PULL_ALLOC(ndr, *r->out.info);
11247 *r->out.info = NULL;
11249 if (*r->out.info) {
11250 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
11251 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
11252 NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
11253 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
11255 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
11256 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11258 return NDR_ERR_SUCCESS;
11261 _PUBLIC_ void ndr_print_netr_DsRGetDCName(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetDCName *r)
11263 ndr_print_struct(ndr, name, "netr_DsRGetDCName");
11265 if (flags & NDR_SET_VALUES) {
11266 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11268 if (flags & NDR_IN) {
11269 ndr_print_struct(ndr, "in", "netr_DsRGetDCName");
11271 ndr_print_ptr(ndr, "server_unc", r->in.server_unc);
11273 if (r->in.server_unc) {
11274 ndr_print_string(ndr, "server_unc", r->in.server_unc);
11277 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
11279 if (r->in.domain_name) {
11280 ndr_print_string(ndr, "domain_name", r->in.domain_name);
11283 ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
11285 if (r->in.domain_guid) {
11286 ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
11289 ndr_print_ptr(ndr, "site_guid", r->in.site_guid);
11291 if (r->in.site_guid) {
11292 ndr_print_GUID(ndr, "site_guid", r->in.site_guid);
11295 ndr_print_netr_DsRGetDCName_flags(ndr, "flags", r->in.flags);
11298 if (flags & NDR_OUT) {
11299 ndr_print_struct(ndr, "out", "netr_DsRGetDCName");
11301 ndr_print_ptr(ndr, "info", r->out.info);
11303 ndr_print_ptr(ndr, "info", *r->out.info);
11305 if (*r->out.info) {
11306 ndr_print_netr_DsRGetDCNameInfo(ndr, "info", *r->out.info);
11310 ndr_print_WERROR(ndr, "result", r->out.result);
11316 static enum ndr_err_code ndr_push_netr_NETRLOGONDUMMYROUTINE1(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONDUMMYROUTINE1 *r)
11318 if (flags & NDR_IN) {
11320 if (flags & NDR_OUT) {
11321 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11323 return NDR_ERR_SUCCESS;
11326 static enum ndr_err_code ndr_pull_netr_NETRLOGONDUMMYROUTINE1(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONDUMMYROUTINE1 *r)
11328 if (flags & NDR_IN) {
11330 if (flags & NDR_OUT) {
11331 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11333 return NDR_ERR_SUCCESS;
11336 _PUBLIC_ void ndr_print_netr_NETRLOGONDUMMYROUTINE1(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONDUMMYROUTINE1 *r)
11338 ndr_print_struct(ndr, name, "netr_NETRLOGONDUMMYROUTINE1");
11340 if (flags & NDR_SET_VALUES) {
11341 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11343 if (flags & NDR_IN) {
11344 ndr_print_struct(ndr, "in", "netr_NETRLOGONDUMMYROUTINE1");
11348 if (flags & NDR_OUT) {
11349 ndr_print_struct(ndr, "out", "netr_NETRLOGONDUMMYROUTINE1");
11351 ndr_print_WERROR(ndr, "result", r->out.result);
11357 static enum ndr_err_code ndr_push_netr_NETRLOGONSETSERVICEBITS(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONSETSERVICEBITS *r)
11359 if (flags & NDR_IN) {
11361 if (flags & NDR_OUT) {
11362 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11364 return NDR_ERR_SUCCESS;
11367 static enum ndr_err_code ndr_pull_netr_NETRLOGONSETSERVICEBITS(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONSETSERVICEBITS *r)
11369 if (flags & NDR_IN) {
11371 if (flags & NDR_OUT) {
11372 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11374 return NDR_ERR_SUCCESS;
11377 _PUBLIC_ void ndr_print_netr_NETRLOGONSETSERVICEBITS(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONSETSERVICEBITS *r)
11379 ndr_print_struct(ndr, name, "netr_NETRLOGONSETSERVICEBITS");
11381 if (flags & NDR_SET_VALUES) {
11382 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11384 if (flags & NDR_IN) {
11385 ndr_print_struct(ndr, "in", "netr_NETRLOGONSETSERVICEBITS");
11389 if (flags & NDR_OUT) {
11390 ndr_print_struct(ndr, "out", "netr_NETRLOGONSETSERVICEBITS");
11392 ndr_print_WERROR(ndr, "result", r->out.result);
11398 static enum ndr_err_code ndr_push_netr_LogonGetTrustRid(struct ndr_push *ndr, int flags, const struct netr_LogonGetTrustRid *r)
11400 if (flags & NDR_IN) {
11401 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
11402 if (r->in.server_name) {
11403 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
11404 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11405 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
11406 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11408 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
11409 if (r->in.domain_name) {
11410 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
11411 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11412 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
11413 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domain_name, ndr_charset_length(r->in.domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11416 if (flags & NDR_OUT) {
11417 if (r->out.rid == NULL) {
11418 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11420 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.rid));
11421 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11423 return NDR_ERR_SUCCESS;
11426 static enum ndr_err_code ndr_pull_netr_LogonGetTrustRid(struct ndr_pull *ndr, int flags, struct netr_LogonGetTrustRid *r)
11428 uint32_t _ptr_server_name;
11429 uint32_t _ptr_domain_name;
11430 TALLOC_CTX *_mem_save_server_name_0;
11431 TALLOC_CTX *_mem_save_domain_name_0;
11432 TALLOC_CTX *_mem_save_rid_0;
11433 if (flags & NDR_IN) {
11434 ZERO_STRUCT(r->out);
11436 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
11437 if (_ptr_server_name) {
11438 NDR_PULL_ALLOC(ndr, r->in.server_name);
11440 r->in.server_name = NULL;
11442 if (r->in.server_name) {
11443 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11444 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
11445 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
11446 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
11447 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
11448 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
11450 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
11451 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
11452 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
11454 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
11455 if (_ptr_domain_name) {
11456 NDR_PULL_ALLOC(ndr, r->in.domain_name);
11458 r->in.domain_name = NULL;
11460 if (r->in.domain_name) {
11461 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11462 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
11463 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
11464 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
11465 if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
11466 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.domain_name), ndr_get_array_length(ndr, &r->in.domain_name));
11468 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
11469 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain_name, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t), CH_UTF16));
11470 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
11472 NDR_PULL_ALLOC(ndr, r->out.rid);
11473 ZERO_STRUCTP(r->out.rid);
11475 if (flags & NDR_OUT) {
11476 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11477 NDR_PULL_ALLOC(ndr, r->out.rid);
11479 _mem_save_rid_0 = NDR_PULL_GET_MEM_CTX(ndr);
11480 NDR_PULL_SET_MEM_CTX(ndr, r->out.rid, LIBNDR_FLAG_REF_ALLOC);
11481 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.rid));
11482 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rid_0, LIBNDR_FLAG_REF_ALLOC);
11483 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11485 return NDR_ERR_SUCCESS;
11488 _PUBLIC_ void ndr_print_netr_LogonGetTrustRid(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonGetTrustRid *r)
11490 ndr_print_struct(ndr, name, "netr_LogonGetTrustRid");
11492 if (flags & NDR_SET_VALUES) {
11493 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11495 if (flags & NDR_IN) {
11496 ndr_print_struct(ndr, "in", "netr_LogonGetTrustRid");
11498 ndr_print_ptr(ndr, "server_name", r->in.server_name);
11500 if (r->in.server_name) {
11501 ndr_print_string(ndr, "server_name", r->in.server_name);
11504 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
11506 if (r->in.domain_name) {
11507 ndr_print_string(ndr, "domain_name", r->in.domain_name);
11512 if (flags & NDR_OUT) {
11513 ndr_print_struct(ndr, "out", "netr_LogonGetTrustRid");
11515 ndr_print_ptr(ndr, "rid", r->out.rid);
11517 ndr_print_uint32(ndr, "rid", *r->out.rid);
11519 ndr_print_WERROR(ndr, "result", r->out.result);
11525 static enum ndr_err_code ndr_push_netr_NETRLOGONCOMPUTESERVERDIGEST(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONCOMPUTESERVERDIGEST *r)
11527 if (flags & NDR_IN) {
11529 if (flags & NDR_OUT) {
11530 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11532 return NDR_ERR_SUCCESS;
11535 static enum ndr_err_code ndr_pull_netr_NETRLOGONCOMPUTESERVERDIGEST(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONCOMPUTESERVERDIGEST *r)
11537 if (flags & NDR_IN) {
11539 if (flags & NDR_OUT) {
11540 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11542 return NDR_ERR_SUCCESS;
11545 _PUBLIC_ void ndr_print_netr_NETRLOGONCOMPUTESERVERDIGEST(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONCOMPUTESERVERDIGEST *r)
11547 ndr_print_struct(ndr, name, "netr_NETRLOGONCOMPUTESERVERDIGEST");
11549 if (flags & NDR_SET_VALUES) {
11550 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11552 if (flags & NDR_IN) {
11553 ndr_print_struct(ndr, "in", "netr_NETRLOGONCOMPUTESERVERDIGEST");
11557 if (flags & NDR_OUT) {
11558 ndr_print_struct(ndr, "out", "netr_NETRLOGONCOMPUTESERVERDIGEST");
11560 ndr_print_WERROR(ndr, "result", r->out.result);
11566 static enum ndr_err_code ndr_push_netr_NETRLOGONCOMPUTECLIENTDIGEST(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONCOMPUTECLIENTDIGEST *r)
11568 if (flags & NDR_IN) {
11570 if (flags & NDR_OUT) {
11571 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11573 return NDR_ERR_SUCCESS;
11576 static enum ndr_err_code ndr_pull_netr_NETRLOGONCOMPUTECLIENTDIGEST(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONCOMPUTECLIENTDIGEST *r)
11578 if (flags & NDR_IN) {
11580 if (flags & NDR_OUT) {
11581 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11583 return NDR_ERR_SUCCESS;
11586 _PUBLIC_ void ndr_print_netr_NETRLOGONCOMPUTECLIENTDIGEST(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONCOMPUTECLIENTDIGEST *r)
11588 ndr_print_struct(ndr, name, "netr_NETRLOGONCOMPUTECLIENTDIGEST");
11590 if (flags & NDR_SET_VALUES) {
11591 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11593 if (flags & NDR_IN) {
11594 ndr_print_struct(ndr, "in", "netr_NETRLOGONCOMPUTECLIENTDIGEST");
11598 if (flags & NDR_OUT) {
11599 ndr_print_struct(ndr, "out", "netr_NETRLOGONCOMPUTECLIENTDIGEST");
11601 ndr_print_WERROR(ndr, "result", r->out.result);
11607 static enum ndr_err_code ndr_push_netr_ServerAuthenticate3(struct ndr_push *ndr, int flags, const struct netr_ServerAuthenticate3 *r)
11609 if (flags & NDR_IN) {
11610 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
11611 if (r->in.server_name) {
11612 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
11613 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11614 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
11615 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11617 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
11618 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11619 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
11620 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.account_name, ndr_charset_length(r->in.account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11621 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
11622 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
11623 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11624 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
11625 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11626 if (r->in.credentials == NULL) {
11627 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11629 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
11630 if (r->in.negotiate_flags == NULL) {
11631 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11633 NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, *r->in.negotiate_flags));
11635 if (flags & NDR_OUT) {
11636 if (r->out.credentials == NULL) {
11637 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11639 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.credentials));
11640 if (r->out.negotiate_flags == NULL) {
11641 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11643 NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, *r->out.negotiate_flags));
11644 if (r->out.rid == NULL) {
11645 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11647 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.rid));
11648 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11650 return NDR_ERR_SUCCESS;
11653 static enum ndr_err_code ndr_pull_netr_ServerAuthenticate3(struct ndr_pull *ndr, int flags, struct netr_ServerAuthenticate3 *r)
11655 uint32_t _ptr_server_name;
11656 TALLOC_CTX *_mem_save_server_name_0;
11657 TALLOC_CTX *_mem_save_credentials_0;
11658 TALLOC_CTX *_mem_save_negotiate_flags_0;
11659 TALLOC_CTX *_mem_save_rid_0;
11660 if (flags & NDR_IN) {
11661 ZERO_STRUCT(r->out);
11663 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
11664 if (_ptr_server_name) {
11665 NDR_PULL_ALLOC(ndr, r->in.server_name);
11667 r->in.server_name = NULL;
11669 if (r->in.server_name) {
11670 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11671 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
11672 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
11673 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
11674 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
11675 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
11677 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
11678 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
11679 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
11681 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
11682 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
11683 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
11684 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.account_name), ndr_get_array_length(ndr, &r->in.account_name));
11686 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
11687 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t), CH_UTF16));
11688 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
11689 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
11690 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
11691 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
11692 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computer_name), ndr_get_array_length(ndr, &r->in.computer_name));
11694 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
11695 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t), CH_UTF16));
11696 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11697 NDR_PULL_ALLOC(ndr, r->in.credentials);
11699 _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
11700 NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC);
11701 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
11702 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
11703 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11704 NDR_PULL_ALLOC(ndr, r->in.negotiate_flags);
11706 _mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
11707 NDR_PULL_SET_MEM_CTX(ndr, r->in.negotiate_flags, LIBNDR_FLAG_REF_ALLOC);
11708 NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, r->in.negotiate_flags));
11709 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC);
11710 NDR_PULL_ALLOC(ndr, r->out.credentials);
11711 *r->out.credentials = *r->in.credentials;
11712 NDR_PULL_ALLOC(ndr, r->out.negotiate_flags);
11713 *r->out.negotiate_flags = *r->in.negotiate_flags;
11714 NDR_PULL_ALLOC(ndr, r->out.rid);
11715 ZERO_STRUCTP(r->out.rid);
11717 if (flags & NDR_OUT) {
11718 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11719 NDR_PULL_ALLOC(ndr, r->out.credentials);
11721 _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
11722 NDR_PULL_SET_MEM_CTX(ndr, r->out.credentials, LIBNDR_FLAG_REF_ALLOC);
11723 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.credentials));
11724 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
11725 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11726 NDR_PULL_ALLOC(ndr, r->out.negotiate_flags);
11728 _mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
11729 NDR_PULL_SET_MEM_CTX(ndr, r->out.negotiate_flags, LIBNDR_FLAG_REF_ALLOC);
11730 NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, r->out.negotiate_flags));
11731 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC);
11732 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11733 NDR_PULL_ALLOC(ndr, r->out.rid);
11735 _mem_save_rid_0 = NDR_PULL_GET_MEM_CTX(ndr);
11736 NDR_PULL_SET_MEM_CTX(ndr, r->out.rid, LIBNDR_FLAG_REF_ALLOC);
11737 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.rid));
11738 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rid_0, LIBNDR_FLAG_REF_ALLOC);
11739 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11741 return NDR_ERR_SUCCESS;
11744 _PUBLIC_ void ndr_print_netr_ServerAuthenticate3(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerAuthenticate3 *r)
11746 ndr_print_struct(ndr, name, "netr_ServerAuthenticate3");
11748 if (flags & NDR_SET_VALUES) {
11749 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11751 if (flags & NDR_IN) {
11752 ndr_print_struct(ndr, "in", "netr_ServerAuthenticate3");
11754 ndr_print_ptr(ndr, "server_name", r->in.server_name);
11756 if (r->in.server_name) {
11757 ndr_print_string(ndr, "server_name", r->in.server_name);
11760 ndr_print_string(ndr, "account_name", r->in.account_name);
11761 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
11762 ndr_print_string(ndr, "computer_name", r->in.computer_name);
11763 ndr_print_ptr(ndr, "credentials", r->in.credentials);
11765 ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
11767 ndr_print_ptr(ndr, "negotiate_flags", r->in.negotiate_flags);
11769 ndr_print_netr_NegotiateFlags(ndr, "negotiate_flags", *r->in.negotiate_flags);
11773 if (flags & NDR_OUT) {
11774 ndr_print_struct(ndr, "out", "netr_ServerAuthenticate3");
11776 ndr_print_ptr(ndr, "credentials", r->out.credentials);
11778 ndr_print_netr_Credential(ndr, "credentials", r->out.credentials);
11780 ndr_print_ptr(ndr, "negotiate_flags", r->out.negotiate_flags);
11782 ndr_print_netr_NegotiateFlags(ndr, "negotiate_flags", *r->out.negotiate_flags);
11784 ndr_print_ptr(ndr, "rid", r->out.rid);
11786 ndr_print_uint32(ndr, "rid", *r->out.rid);
11788 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11794 static enum ndr_err_code ndr_push_netr_DsRGetDCNameEx(struct ndr_push *ndr, int flags, const struct netr_DsRGetDCNameEx *r)
11796 if (flags & NDR_IN) {
11797 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc));
11798 if (r->in.server_unc) {
11799 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
11800 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11801 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
11802 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_unc, ndr_charset_length(r->in.server_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11804 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
11805 if (r->in.domain_name) {
11806 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
11807 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11808 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
11809 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domain_name, ndr_charset_length(r->in.domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11811 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
11812 if (r->in.domain_guid) {
11813 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domain_guid));
11815 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.site_name));
11816 if (r->in.site_name) {
11817 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
11818 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11819 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
11820 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.site_name, ndr_charset_length(r->in.site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11822 NDR_CHECK(ndr_push_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, r->in.flags));
11824 if (flags & NDR_OUT) {
11825 if (r->out.info == NULL) {
11826 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11828 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
11829 if (*r->out.info) {
11830 NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
11832 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11834 return NDR_ERR_SUCCESS;
11837 static enum ndr_err_code ndr_pull_netr_DsRGetDCNameEx(struct ndr_pull *ndr, int flags, struct netr_DsRGetDCNameEx *r)
11839 uint32_t _ptr_server_unc;
11840 uint32_t _ptr_domain_name;
11841 uint32_t _ptr_domain_guid;
11842 uint32_t _ptr_site_name;
11843 uint32_t _ptr_info;
11844 TALLOC_CTX *_mem_save_server_unc_0;
11845 TALLOC_CTX *_mem_save_domain_name_0;
11846 TALLOC_CTX *_mem_save_domain_guid_0;
11847 TALLOC_CTX *_mem_save_site_name_0;
11848 TALLOC_CTX *_mem_save_info_0;
11849 TALLOC_CTX *_mem_save_info_1;
11850 if (flags & NDR_IN) {
11851 ZERO_STRUCT(r->out);
11853 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc));
11854 if (_ptr_server_unc) {
11855 NDR_PULL_ALLOC(ndr, r->in.server_unc);
11857 r->in.server_unc = NULL;
11859 if (r->in.server_unc) {
11860 _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr);
11861 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
11862 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
11863 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
11864 if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
11865 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc));
11867 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
11868 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16));
11869 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
11871 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
11872 if (_ptr_domain_name) {
11873 NDR_PULL_ALLOC(ndr, r->in.domain_name);
11875 r->in.domain_name = NULL;
11877 if (r->in.domain_name) {
11878 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11879 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
11880 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
11881 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
11882 if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
11883 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.domain_name), ndr_get_array_length(ndr, &r->in.domain_name));
11885 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
11886 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain_name, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t), CH_UTF16));
11887 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
11889 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
11890 if (_ptr_domain_guid) {
11891 NDR_PULL_ALLOC(ndr, r->in.domain_guid);
11893 r->in.domain_guid = NULL;
11895 if (r->in.domain_guid) {
11896 _mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
11897 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
11898 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domain_guid));
11899 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
11901 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
11902 if (_ptr_site_name) {
11903 NDR_PULL_ALLOC(ndr, r->in.site_name);
11905 r->in.site_name = NULL;
11907 if (r->in.site_name) {
11908 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11909 NDR_PULL_SET_MEM_CTX(ndr, r->in.site_name, 0);
11910 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.site_name));
11911 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.site_name));
11912 if (ndr_get_array_length(ndr, &r->in.site_name) > ndr_get_array_size(ndr, &r->in.site_name)) {
11913 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.site_name), ndr_get_array_length(ndr, &r->in.site_name));
11915 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.site_name), sizeof(uint16_t)));
11916 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.site_name, ndr_get_array_length(ndr, &r->in.site_name), sizeof(uint16_t), CH_UTF16));
11917 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
11919 NDR_CHECK(ndr_pull_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, &r->in.flags));
11920 NDR_PULL_ALLOC(ndr, r->out.info);
11921 ZERO_STRUCTP(r->out.info);
11923 if (flags & NDR_OUT) {
11924 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11925 NDR_PULL_ALLOC(ndr, r->out.info);
11927 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
11928 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
11929 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
11931 NDR_PULL_ALLOC(ndr, *r->out.info);
11933 *r->out.info = NULL;
11935 if (*r->out.info) {
11936 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
11937 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
11938 NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
11939 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
11941 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
11942 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11944 return NDR_ERR_SUCCESS;
11947 _PUBLIC_ void ndr_print_netr_DsRGetDCNameEx(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetDCNameEx *r)
11949 ndr_print_struct(ndr, name, "netr_DsRGetDCNameEx");
11951 if (flags & NDR_SET_VALUES) {
11952 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11954 if (flags & NDR_IN) {
11955 ndr_print_struct(ndr, "in", "netr_DsRGetDCNameEx");
11957 ndr_print_ptr(ndr, "server_unc", r->in.server_unc);
11959 if (r->in.server_unc) {
11960 ndr_print_string(ndr, "server_unc", r->in.server_unc);
11963 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
11965 if (r->in.domain_name) {
11966 ndr_print_string(ndr, "domain_name", r->in.domain_name);
11969 ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
11971 if (r->in.domain_guid) {
11972 ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
11975 ndr_print_ptr(ndr, "site_name", r->in.site_name);
11977 if (r->in.site_name) {
11978 ndr_print_string(ndr, "site_name", r->in.site_name);
11981 ndr_print_netr_DsRGetDCName_flags(ndr, "flags", r->in.flags);
11984 if (flags & NDR_OUT) {
11985 ndr_print_struct(ndr, "out", "netr_DsRGetDCNameEx");
11987 ndr_print_ptr(ndr, "info", r->out.info);
11989 ndr_print_ptr(ndr, "info", *r->out.info);
11991 if (*r->out.info) {
11992 ndr_print_netr_DsRGetDCNameInfo(ndr, "info", *r->out.info);
11996 ndr_print_WERROR(ndr, "result", r->out.result);
12002 static enum ndr_err_code ndr_push_netr_DsRGetSiteName(struct ndr_push *ndr, int flags, const struct netr_DsRGetSiteName *r)
12004 if (flags & NDR_IN) {
12005 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
12006 if (r->in.computer_name) {
12007 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
12008 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12009 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
12010 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
12013 if (flags & NDR_OUT) {
12014 if (r->out.site == NULL) {
12015 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12017 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.site));
12018 if (*r->out.site) {
12019 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.site, CH_UTF16)));
12020 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12021 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.site, CH_UTF16)));
12022 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.site, ndr_charset_length(*r->out.site, CH_UTF16), sizeof(uint16_t), CH_UTF16));
12024 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12026 return NDR_ERR_SUCCESS;
12029 static enum ndr_err_code ndr_pull_netr_DsRGetSiteName(struct ndr_pull *ndr, int flags, struct netr_DsRGetSiteName *r)
12031 uint32_t _ptr_computer_name;
12032 uint32_t _ptr_site;
12033 TALLOC_CTX *_mem_save_computer_name_0;
12034 TALLOC_CTX *_mem_save_site_0;
12035 TALLOC_CTX *_mem_save_site_1;
12036 if (flags & NDR_IN) {
12037 ZERO_STRUCT(r->out);
12039 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
12040 if (_ptr_computer_name) {
12041 NDR_PULL_ALLOC(ndr, r->in.computer_name);
12043 r->in.computer_name = NULL;
12045 if (r->in.computer_name) {
12046 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12047 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
12048 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
12049 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
12050 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
12051 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computer_name), ndr_get_array_length(ndr, &r->in.computer_name));
12053 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
12054 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t), CH_UTF16));
12055 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
12057 NDR_PULL_ALLOC(ndr, r->out.site);
12058 ZERO_STRUCTP(r->out.site);
12060 if (flags & NDR_OUT) {
12061 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12062 NDR_PULL_ALLOC(ndr, r->out.site);
12064 _mem_save_site_0 = NDR_PULL_GET_MEM_CTX(ndr);
12065 NDR_PULL_SET_MEM_CTX(ndr, r->out.site, LIBNDR_FLAG_REF_ALLOC);
12066 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site));
12068 NDR_PULL_ALLOC(ndr, *r->out.site);
12070 *r->out.site = NULL;
12072 if (*r->out.site) {
12073 _mem_save_site_1 = NDR_PULL_GET_MEM_CTX(ndr);
12074 NDR_PULL_SET_MEM_CTX(ndr, *r->out.site, 0);
12075 NDR_CHECK(ndr_pull_array_size(ndr, r->out.site));
12076 NDR_CHECK(ndr_pull_array_length(ndr, r->out.site));
12077 if (ndr_get_array_length(ndr, r->out.site) > ndr_get_array_size(ndr, r->out.site)) {
12078 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, r->out.site), ndr_get_array_length(ndr, r->out.site));
12080 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.site), sizeof(uint16_t)));
12081 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.site, ndr_get_array_length(ndr, r->out.site), sizeof(uint16_t), CH_UTF16));
12082 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_1, 0);
12084 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_0, LIBNDR_FLAG_REF_ALLOC);
12085 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12087 return NDR_ERR_SUCCESS;
12090 _PUBLIC_ void ndr_print_netr_DsRGetSiteName(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetSiteName *r)
12092 ndr_print_struct(ndr, name, "netr_DsRGetSiteName");
12094 if (flags & NDR_SET_VALUES) {
12095 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12097 if (flags & NDR_IN) {
12098 ndr_print_struct(ndr, "in", "netr_DsRGetSiteName");
12100 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
12102 if (r->in.computer_name) {
12103 ndr_print_string(ndr, "computer_name", r->in.computer_name);
12108 if (flags & NDR_OUT) {
12109 ndr_print_struct(ndr, "out", "netr_DsRGetSiteName");
12111 ndr_print_ptr(ndr, "site", r->out.site);
12113 ndr_print_ptr(ndr, "site", *r->out.site);
12115 if (*r->out.site) {
12116 ndr_print_string(ndr, "site", *r->out.site);
12120 ndr_print_WERROR(ndr, "result", r->out.result);
12126 static enum ndr_err_code ndr_push_netr_LogonGetDomainInfo(struct ndr_push *ndr, int flags, const struct netr_LogonGetDomainInfo *r)
12128 if (flags & NDR_IN) {
12129 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12130 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12131 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12132 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
12133 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
12134 if (r->in.computer_name) {
12135 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
12136 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12137 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
12138 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
12140 if (r->in.credential == NULL) {
12141 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12143 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
12144 if (r->in.return_authenticator == NULL) {
12145 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12147 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
12148 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
12149 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.query, r->in.level));
12150 NDR_CHECK(ndr_push_netr_DomainQuery(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.query));
12152 if (flags & NDR_OUT) {
12153 if (r->out.return_authenticator == NULL) {
12154 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12156 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12157 if (r->out.info == NULL) {
12158 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12160 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level));
12161 NDR_CHECK(ndr_push_netr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
12162 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12164 return NDR_ERR_SUCCESS;
12167 static enum ndr_err_code ndr_pull_netr_LogonGetDomainInfo(struct ndr_pull *ndr, int flags, struct netr_LogonGetDomainInfo *r)
12169 uint32_t _ptr_computer_name;
12170 TALLOC_CTX *_mem_save_computer_name_0;
12171 TALLOC_CTX *_mem_save_credential_0;
12172 TALLOC_CTX *_mem_save_return_authenticator_0;
12173 TALLOC_CTX *_mem_save_info_0;
12174 if (flags & NDR_IN) {
12175 ZERO_STRUCT(r->out);
12177 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
12178 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
12179 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
12180 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
12182 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
12183 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
12184 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
12185 if (_ptr_computer_name) {
12186 NDR_PULL_ALLOC(ndr, r->in.computer_name);
12188 r->in.computer_name = NULL;
12190 if (r->in.computer_name) {
12191 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12192 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
12193 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
12194 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
12195 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
12196 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computer_name), ndr_get_array_length(ndr, &r->in.computer_name));
12198 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
12199 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t), CH_UTF16));
12200 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
12202 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12203 NDR_PULL_ALLOC(ndr, r->in.credential);
12205 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
12206 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
12207 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
12208 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
12209 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12210 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
12212 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
12213 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
12214 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
12215 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
12216 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
12217 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.query, r->in.level));
12218 NDR_CHECK(ndr_pull_netr_DomainQuery(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.query));
12219 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12220 *r->out.return_authenticator = *r->in.return_authenticator;
12221 NDR_PULL_ALLOC(ndr, r->out.info);
12222 ZERO_STRUCTP(r->out.info);
12224 if (flags & NDR_OUT) {
12225 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12226 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12228 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
12229 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
12230 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12231 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
12232 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12233 NDR_PULL_ALLOC(ndr, r->out.info);
12235 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
12236 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
12237 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level));
12238 NDR_CHECK(ndr_pull_netr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
12239 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
12240 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12242 return NDR_ERR_SUCCESS;
12245 _PUBLIC_ void ndr_print_netr_LogonGetDomainInfo(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonGetDomainInfo *r)
12247 ndr_print_struct(ndr, name, "netr_LogonGetDomainInfo");
12249 if (flags & NDR_SET_VALUES) {
12250 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12252 if (flags & NDR_IN) {
12253 ndr_print_struct(ndr, "in", "netr_LogonGetDomainInfo");
12255 ndr_print_string(ndr, "server_name", r->in.server_name);
12256 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
12258 if (r->in.computer_name) {
12259 ndr_print_string(ndr, "computer_name", r->in.computer_name);
12262 ndr_print_ptr(ndr, "credential", r->in.credential);
12264 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
12266 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
12268 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
12270 ndr_print_uint32(ndr, "level", r->in.level);
12271 ndr_print_set_switch_value(ndr, &r->in.query, r->in.level);
12272 ndr_print_netr_DomainQuery(ndr, "query", &r->in.query);
12275 if (flags & NDR_OUT) {
12276 ndr_print_struct(ndr, "out", "netr_LogonGetDomainInfo");
12278 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
12280 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
12282 ndr_print_ptr(ndr, "info", r->out.info);
12284 ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
12285 ndr_print_netr_DomainInfo(ndr, "info", r->out.info);
12287 ndr_print_NTSTATUS(ndr, "result", r->out.result);
12293 static enum ndr_err_code ndr_push_netr_ServerPasswordSet2(struct ndr_push *ndr, int flags, const struct netr_ServerPasswordSet2 *r)
12295 if (flags & NDR_IN) {
12296 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
12297 if (r->in.server_name) {
12298 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12299 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12300 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12301 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
12303 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
12304 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12305 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
12306 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.account_name, ndr_charset_length(r->in.account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
12307 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
12308 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
12309 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12310 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
12311 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
12312 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
12313 NDR_CHECK(ndr_push_netr_CryptPassword(ndr, NDR_SCALARS, &r->in.new_password));
12315 if (flags & NDR_OUT) {
12316 if (r->out.return_authenticator == NULL) {
12317 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12319 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12320 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12322 return NDR_ERR_SUCCESS;
12325 static enum ndr_err_code ndr_pull_netr_ServerPasswordSet2(struct ndr_pull *ndr, int flags, struct netr_ServerPasswordSet2 *r)
12327 uint32_t _ptr_server_name;
12328 TALLOC_CTX *_mem_save_server_name_0;
12329 TALLOC_CTX *_mem_save_return_authenticator_0;
12330 if (flags & NDR_IN) {
12331 ZERO_STRUCT(r->out);
12333 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
12334 if (_ptr_server_name) {
12335 NDR_PULL_ALLOC(ndr, r->in.server_name);
12337 r->in.server_name = NULL;
12339 if (r->in.server_name) {
12340 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12341 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
12342 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
12343 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
12344 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
12345 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
12347 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
12348 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
12349 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
12351 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
12352 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
12353 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
12354 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.account_name), ndr_get_array_length(ndr, &r->in.account_name));
12356 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
12357 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t), CH_UTF16));
12358 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
12359 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
12360 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
12361 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
12362 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computer_name), ndr_get_array_length(ndr, &r->in.computer_name));
12364 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
12365 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t), CH_UTF16));
12366 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
12367 NDR_CHECK(ndr_pull_netr_CryptPassword(ndr, NDR_SCALARS, &r->in.new_password));
12368 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12369 ZERO_STRUCTP(r->out.return_authenticator);
12371 if (flags & NDR_OUT) {
12372 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12373 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12375 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
12376 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
12377 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12378 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
12379 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12381 return NDR_ERR_SUCCESS;
12384 _PUBLIC_ void ndr_print_netr_ServerPasswordSet2(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerPasswordSet2 *r)
12386 ndr_print_struct(ndr, name, "netr_ServerPasswordSet2");
12388 if (flags & NDR_SET_VALUES) {
12389 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12391 if (flags & NDR_IN) {
12392 ndr_print_struct(ndr, "in", "netr_ServerPasswordSet2");
12394 ndr_print_ptr(ndr, "server_name", r->in.server_name);
12396 if (r->in.server_name) {
12397 ndr_print_string(ndr, "server_name", r->in.server_name);
12400 ndr_print_string(ndr, "account_name", r->in.account_name);
12401 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
12402 ndr_print_string(ndr, "computer_name", r->in.computer_name);
12403 ndr_print_netr_Authenticator(ndr, "credential", &r->in.credential);
12404 ndr_print_netr_CryptPassword(ndr, "new_password", &r->in.new_password);
12407 if (flags & NDR_OUT) {
12408 ndr_print_struct(ndr, "out", "netr_ServerPasswordSet2");
12410 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
12412 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
12414 ndr_print_NTSTATUS(ndr, "result", r->out.result);
12420 static enum ndr_err_code ndr_push_netr_ServerPasswordGet(struct ndr_push *ndr, int flags, const struct netr_ServerPasswordGet *r)
12422 if (flags & NDR_IN) {
12423 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
12424 if (r->in.server_name) {
12425 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12426 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12427 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12428 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
12430 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
12431 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12432 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
12433 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.account_name, ndr_charset_length(r->in.account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
12434 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
12435 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
12436 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12437 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
12438 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
12439 if (r->in.credential == NULL) {
12440 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12442 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
12444 if (flags & NDR_OUT) {
12445 if (r->out.return_authenticator == NULL) {
12446 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12448 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12449 if (r->out.password == NULL) {
12450 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12452 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.password));
12453 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12455 return NDR_ERR_SUCCESS;
12458 static enum ndr_err_code ndr_pull_netr_ServerPasswordGet(struct ndr_pull *ndr, int flags, struct netr_ServerPasswordGet *r)
12460 uint32_t _ptr_server_name;
12461 TALLOC_CTX *_mem_save_server_name_0;
12462 TALLOC_CTX *_mem_save_credential_0;
12463 TALLOC_CTX *_mem_save_return_authenticator_0;
12464 TALLOC_CTX *_mem_save_password_0;
12465 if (flags & NDR_IN) {
12466 ZERO_STRUCT(r->out);
12468 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
12469 if (_ptr_server_name) {
12470 NDR_PULL_ALLOC(ndr, r->in.server_name);
12472 r->in.server_name = NULL;
12474 if (r->in.server_name) {
12475 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12476 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
12477 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
12478 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
12479 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
12480 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
12482 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
12483 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
12484 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
12486 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
12487 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
12488 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
12489 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.account_name), ndr_get_array_length(ndr, &r->in.account_name));
12491 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
12492 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t), CH_UTF16));
12493 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
12494 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
12495 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
12496 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
12497 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computer_name), ndr_get_array_length(ndr, &r->in.computer_name));
12499 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
12500 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t), CH_UTF16));
12501 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12502 NDR_PULL_ALLOC(ndr, r->in.credential);
12504 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
12505 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
12506 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
12507 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
12508 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12509 ZERO_STRUCTP(r->out.return_authenticator);
12510 NDR_PULL_ALLOC(ndr, r->out.password);
12511 ZERO_STRUCTP(r->out.password);
12513 if (flags & NDR_OUT) {
12514 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12515 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12517 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
12518 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
12519 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12520 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
12521 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12522 NDR_PULL_ALLOC(ndr, r->out.password);
12524 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
12525 NDR_PULL_SET_MEM_CTX(ndr, r->out.password, LIBNDR_FLAG_REF_ALLOC);
12526 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.password));
12527 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, LIBNDR_FLAG_REF_ALLOC);
12528 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12530 return NDR_ERR_SUCCESS;
12533 _PUBLIC_ void ndr_print_netr_ServerPasswordGet(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerPasswordGet *r)
12535 ndr_print_struct(ndr, name, "netr_ServerPasswordGet");
12537 if (flags & NDR_SET_VALUES) {
12538 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12540 if (flags & NDR_IN) {
12541 ndr_print_struct(ndr, "in", "netr_ServerPasswordGet");
12543 ndr_print_ptr(ndr, "server_name", r->in.server_name);
12545 if (r->in.server_name) {
12546 ndr_print_string(ndr, "server_name", r->in.server_name);
12549 ndr_print_string(ndr, "account_name", r->in.account_name);
12550 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
12551 ndr_print_string(ndr, "computer_name", r->in.computer_name);
12552 ndr_print_ptr(ndr, "credential", r->in.credential);
12554 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
12558 if (flags & NDR_OUT) {
12559 ndr_print_struct(ndr, "out", "netr_ServerPasswordGet");
12561 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
12563 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
12565 ndr_print_ptr(ndr, "password", r->out.password);
12567 ndr_print_samr_Password(ndr, "password", r->out.password);
12569 ndr_print_WERROR(ndr, "result", r->out.result);
12575 static enum ndr_err_code ndr_push_netr_NETRLOGONSENDTOSAM(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONSENDTOSAM *r)
12577 if (flags & NDR_IN) {
12579 if (flags & NDR_OUT) {
12580 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12582 return NDR_ERR_SUCCESS;
12585 static enum ndr_err_code ndr_pull_netr_NETRLOGONSENDTOSAM(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONSENDTOSAM *r)
12587 if (flags & NDR_IN) {
12589 if (flags & NDR_OUT) {
12590 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12592 return NDR_ERR_SUCCESS;
12595 _PUBLIC_ void ndr_print_netr_NETRLOGONSENDTOSAM(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONSENDTOSAM *r)
12597 ndr_print_struct(ndr, name, "netr_NETRLOGONSENDTOSAM");
12599 if (flags & NDR_SET_VALUES) {
12600 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12602 if (flags & NDR_IN) {
12603 ndr_print_struct(ndr, "in", "netr_NETRLOGONSENDTOSAM");
12607 if (flags & NDR_OUT) {
12608 ndr_print_struct(ndr, "out", "netr_NETRLOGONSENDTOSAM");
12610 ndr_print_WERROR(ndr, "result", r->out.result);
12616 static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesW(struct ndr_push *ndr, int flags, const struct netr_DsRAddressToSitenamesW *r)
12618 uint32_t cntr_addresses_1;
12619 if (flags & NDR_IN) {
12620 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
12621 if (r->in.server_name) {
12622 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12623 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12624 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12625 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
12627 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
12628 if (r->in.addresses == NULL) {
12629 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12631 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
12632 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
12633 NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1]));
12635 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
12636 NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1]));
12639 if (flags & NDR_OUT) {
12640 if (r->out.ctr == NULL) {
12641 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12643 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.ctr));
12645 NDR_CHECK(ndr_push_netr_DsRAddressToSitenamesWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
12647 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12649 return NDR_ERR_SUCCESS;
12652 static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesW(struct ndr_pull *ndr, int flags, struct netr_DsRAddressToSitenamesW *r)
12654 uint32_t _ptr_server_name;
12655 uint32_t cntr_addresses_1;
12657 TALLOC_CTX *_mem_save_server_name_0;
12658 TALLOC_CTX *_mem_save_addresses_1;
12659 TALLOC_CTX *_mem_save_ctr_0;
12660 TALLOC_CTX *_mem_save_ctr_1;
12661 if (flags & NDR_IN) {
12662 ZERO_STRUCT(r->out);
12664 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
12665 if (_ptr_server_name) {
12666 NDR_PULL_ALLOC(ndr, r->in.server_name);
12668 r->in.server_name = NULL;
12670 if (r->in.server_name) {
12671 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12672 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
12673 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
12674 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
12675 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
12676 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
12678 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
12679 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
12680 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
12682 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
12683 if (r->in.count < 0 || r->in.count > 32000) {
12684 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
12686 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.addresses));
12687 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12688 NDR_PULL_ALLOC_N(ndr, r->in.addresses, ndr_get_array_size(ndr, &r->in.addresses));
12690 _mem_save_addresses_1 = NDR_PULL_GET_MEM_CTX(ndr);
12691 NDR_PULL_SET_MEM_CTX(ndr, r->in.addresses, 0);
12692 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
12693 NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1]));
12695 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
12696 NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1]));
12698 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_addresses_1, 0);
12699 NDR_PULL_ALLOC(ndr, r->out.ctr);
12700 ZERO_STRUCTP(r->out.ctr);
12701 if (r->in.addresses) {
12702 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.addresses, r->in.count));
12705 if (flags & NDR_OUT) {
12706 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12707 NDR_PULL_ALLOC(ndr, r->out.ctr);
12709 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
12710 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
12711 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr));
12713 NDR_PULL_ALLOC(ndr, *r->out.ctr);
12715 *r->out.ctr = NULL;
12718 _mem_save_ctr_1 = NDR_PULL_GET_MEM_CTX(ndr);
12719 NDR_PULL_SET_MEM_CTX(ndr, *r->out.ctr, 0);
12720 NDR_CHECK(ndr_pull_netr_DsRAddressToSitenamesWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
12721 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_1, 0);
12723 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
12724 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12726 return NDR_ERR_SUCCESS;
12729 _PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesW(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRAddressToSitenamesW *r)
12731 uint32_t cntr_addresses_1;
12732 ndr_print_struct(ndr, name, "netr_DsRAddressToSitenamesW");
12734 if (flags & NDR_SET_VALUES) {
12735 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12737 if (flags & NDR_IN) {
12738 ndr_print_struct(ndr, "in", "netr_DsRAddressToSitenamesW");
12740 ndr_print_ptr(ndr, "server_name", r->in.server_name);
12742 if (r->in.server_name) {
12743 ndr_print_string(ndr, "server_name", r->in.server_name);
12746 ndr_print_uint32(ndr, "count", r->in.count);
12747 ndr_print_ptr(ndr, "addresses", r->in.addresses);
12749 ndr->print(ndr, "%s: ARRAY(%d)", "addresses", r->in.count);
12751 for (cntr_addresses_1=0;cntr_addresses_1<r->in.count;cntr_addresses_1++) {
12753 if (asprintf(&idx_1, "[%d]", cntr_addresses_1) != -1) {
12754 ndr_print_netr_DsRAddress(ndr, "addresses", &r->in.addresses[cntr_addresses_1]);
12762 if (flags & NDR_OUT) {
12763 ndr_print_struct(ndr, "out", "netr_DsRAddressToSitenamesW");
12765 ndr_print_ptr(ndr, "ctr", r->out.ctr);
12767 ndr_print_ptr(ndr, "ctr", *r->out.ctr);
12770 ndr_print_netr_DsRAddressToSitenamesWCtr(ndr, "ctr", *r->out.ctr);
12774 ndr_print_WERROR(ndr, "result", r->out.result);
12780 static enum ndr_err_code ndr_push_netr_DsRGetDCNameEx2(struct ndr_push *ndr, int flags, const struct netr_DsRGetDCNameEx2 *r)
12782 if (flags & NDR_IN) {
12783 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc));
12784 if (r->in.server_unc) {
12785 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
12786 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12787 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
12788 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_unc, ndr_charset_length(r->in.server_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16));
12790 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.client_account));
12791 if (r->in.client_account) {
12792 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.client_account, CH_UTF16)));
12793 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12794 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.client_account, CH_UTF16)));
12795 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.client_account, ndr_charset_length(r->in.client_account, CH_UTF16), sizeof(uint16_t), CH_UTF16));
12797 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->in.mask));
12798 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
12799 if (r->in.domain_name) {
12800 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
12801 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12802 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
12803 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domain_name, ndr_charset_length(r->in.domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
12805 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
12806 if (r->in.domain_guid) {
12807 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domain_guid));
12809 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.site_name));
12810 if (r->in.site_name) {
12811 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
12812 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12813 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
12814 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.site_name, ndr_charset_length(r->in.site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
12816 NDR_CHECK(ndr_push_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, r->in.flags));
12818 if (flags & NDR_OUT) {
12819 if (r->out.info == NULL) {
12820 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12822 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
12823 if (*r->out.info) {
12824 NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
12826 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12828 return NDR_ERR_SUCCESS;
12831 static enum ndr_err_code ndr_pull_netr_DsRGetDCNameEx2(struct ndr_pull *ndr, int flags, struct netr_DsRGetDCNameEx2 *r)
12833 uint32_t _ptr_server_unc;
12834 uint32_t _ptr_client_account;
12835 uint32_t _ptr_domain_name;
12836 uint32_t _ptr_domain_guid;
12837 uint32_t _ptr_site_name;
12838 uint32_t _ptr_info;
12839 TALLOC_CTX *_mem_save_server_unc_0;
12840 TALLOC_CTX *_mem_save_client_account_0;
12841 TALLOC_CTX *_mem_save_domain_name_0;
12842 TALLOC_CTX *_mem_save_domain_guid_0;
12843 TALLOC_CTX *_mem_save_site_name_0;
12844 TALLOC_CTX *_mem_save_info_0;
12845 TALLOC_CTX *_mem_save_info_1;
12846 if (flags & NDR_IN) {
12847 ZERO_STRUCT(r->out);
12849 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc));
12850 if (_ptr_server_unc) {
12851 NDR_PULL_ALLOC(ndr, r->in.server_unc);
12853 r->in.server_unc = NULL;
12855 if (r->in.server_unc) {
12856 _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr);
12857 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
12858 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
12859 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
12860 if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
12861 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc));
12863 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
12864 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16));
12865 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
12867 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_account));
12868 if (_ptr_client_account) {
12869 NDR_PULL_ALLOC(ndr, r->in.client_account);
12871 r->in.client_account = NULL;
12873 if (r->in.client_account) {
12874 _mem_save_client_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
12875 NDR_PULL_SET_MEM_CTX(ndr, r->in.client_account, 0);
12876 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.client_account));
12877 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.client_account));
12878 if (ndr_get_array_length(ndr, &r->in.client_account) > ndr_get_array_size(ndr, &r->in.client_account)) {
12879 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.client_account), ndr_get_array_length(ndr, &r->in.client_account));
12881 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.client_account), sizeof(uint16_t)));
12882 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.client_account, ndr_get_array_length(ndr, &r->in.client_account), sizeof(uint16_t), CH_UTF16));
12883 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_account_0, 0);
12885 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->in.mask));
12886 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
12887 if (_ptr_domain_name) {
12888 NDR_PULL_ALLOC(ndr, r->in.domain_name);
12890 r->in.domain_name = NULL;
12892 if (r->in.domain_name) {
12893 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12894 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
12895 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
12896 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
12897 if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
12898 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.domain_name), ndr_get_array_length(ndr, &r->in.domain_name));
12900 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
12901 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain_name, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t), CH_UTF16));
12902 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
12904 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
12905 if (_ptr_domain_guid) {
12906 NDR_PULL_ALLOC(ndr, r->in.domain_guid);
12908 r->in.domain_guid = NULL;
12910 if (r->in.domain_guid) {
12911 _mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
12912 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
12913 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domain_guid));
12914 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
12916 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
12917 if (_ptr_site_name) {
12918 NDR_PULL_ALLOC(ndr, r->in.site_name);
12920 r->in.site_name = NULL;
12922 if (r->in.site_name) {
12923 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12924 NDR_PULL_SET_MEM_CTX(ndr, r->in.site_name, 0);
12925 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.site_name));
12926 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.site_name));
12927 if (ndr_get_array_length(ndr, &r->in.site_name) > ndr_get_array_size(ndr, &r->in.site_name)) {
12928 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.site_name), ndr_get_array_length(ndr, &r->in.site_name));
12930 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.site_name), sizeof(uint16_t)));
12931 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.site_name, ndr_get_array_length(ndr, &r->in.site_name), sizeof(uint16_t), CH_UTF16));
12932 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
12934 NDR_CHECK(ndr_pull_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, &r->in.flags));
12935 NDR_PULL_ALLOC(ndr, r->out.info);
12936 ZERO_STRUCTP(r->out.info);
12938 if (flags & NDR_OUT) {
12939 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12940 NDR_PULL_ALLOC(ndr, r->out.info);
12942 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
12943 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
12944 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
12946 NDR_PULL_ALLOC(ndr, *r->out.info);
12948 *r->out.info = NULL;
12950 if (*r->out.info) {
12951 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
12952 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
12953 NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
12954 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
12956 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
12957 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12959 return NDR_ERR_SUCCESS;
12962 _PUBLIC_ void ndr_print_netr_DsRGetDCNameEx2(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetDCNameEx2 *r)
12964 ndr_print_struct(ndr, name, "netr_DsRGetDCNameEx2");
12966 if (flags & NDR_SET_VALUES) {
12967 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12969 if (flags & NDR_IN) {
12970 ndr_print_struct(ndr, "in", "netr_DsRGetDCNameEx2");
12972 ndr_print_ptr(ndr, "server_unc", r->in.server_unc);
12974 if (r->in.server_unc) {
12975 ndr_print_string(ndr, "server_unc", r->in.server_unc);
12978 ndr_print_ptr(ndr, "client_account", r->in.client_account);
12980 if (r->in.client_account) {
12981 ndr_print_string(ndr, "client_account", r->in.client_account);
12984 ndr_print_samr_AcctFlags(ndr, "mask", r->in.mask);
12985 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
12987 if (r->in.domain_name) {
12988 ndr_print_string(ndr, "domain_name", r->in.domain_name);
12991 ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
12993 if (r->in.domain_guid) {
12994 ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
12997 ndr_print_ptr(ndr, "site_name", r->in.site_name);
12999 if (r->in.site_name) {
13000 ndr_print_string(ndr, "site_name", r->in.site_name);
13003 ndr_print_netr_DsRGetDCName_flags(ndr, "flags", r->in.flags);
13006 if (flags & NDR_OUT) {
13007 ndr_print_struct(ndr, "out", "netr_DsRGetDCNameEx2");
13009 ndr_print_ptr(ndr, "info", r->out.info);
13011 ndr_print_ptr(ndr, "info", *r->out.info);
13013 if (*r->out.info) {
13014 ndr_print_netr_DsRGetDCNameInfo(ndr, "info", *r->out.info);
13018 ndr_print_WERROR(ndr, "result", r->out.result);
13024 static enum ndr_err_code ndr_push_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN *r)
13026 if (flags & NDR_IN) {
13028 if (flags & NDR_OUT) {
13029 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13031 return NDR_ERR_SUCCESS;
13034 static enum ndr_err_code ndr_pull_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN *r)
13036 if (flags & NDR_IN) {
13038 if (flags & NDR_OUT) {
13039 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13041 return NDR_ERR_SUCCESS;
13044 _PUBLIC_ void ndr_print_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN *r)
13046 ndr_print_struct(ndr, name, "netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN");
13048 if (flags & NDR_SET_VALUES) {
13049 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13051 if (flags & NDR_IN) {
13052 ndr_print_struct(ndr, "in", "netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN");
13056 if (flags & NDR_OUT) {
13057 ndr_print_struct(ndr, "out", "netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN");
13059 ndr_print_WERROR(ndr, "result", r->out.result);
13065 static enum ndr_err_code ndr_push_netr_NetrEnumerateTrustedDomainsEx(struct ndr_push *ndr, int flags, const struct netr_NetrEnumerateTrustedDomainsEx *r)
13067 if (flags & NDR_IN) {
13068 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
13069 if (r->in.server_name) {
13070 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13071 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13072 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13073 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
13076 if (flags & NDR_OUT) {
13077 if (r->out.dom_trust_list == NULL) {
13078 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13080 NDR_CHECK(ndr_push_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.dom_trust_list));
13081 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13083 return NDR_ERR_SUCCESS;
13086 static enum ndr_err_code ndr_pull_netr_NetrEnumerateTrustedDomainsEx(struct ndr_pull *ndr, int flags, struct netr_NetrEnumerateTrustedDomainsEx *r)
13088 uint32_t _ptr_server_name;
13089 TALLOC_CTX *_mem_save_server_name_0;
13090 TALLOC_CTX *_mem_save_dom_trust_list_0;
13091 if (flags & NDR_IN) {
13092 ZERO_STRUCT(r->out);
13094 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
13095 if (_ptr_server_name) {
13096 NDR_PULL_ALLOC(ndr, r->in.server_name);
13098 r->in.server_name = NULL;
13100 if (r->in.server_name) {
13101 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13102 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
13103 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13104 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13105 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13106 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
13108 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13109 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
13110 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
13112 NDR_PULL_ALLOC(ndr, r->out.dom_trust_list);
13113 ZERO_STRUCTP(r->out.dom_trust_list);
13115 if (flags & NDR_OUT) {
13116 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13117 NDR_PULL_ALLOC(ndr, r->out.dom_trust_list);
13119 _mem_save_dom_trust_list_0 = NDR_PULL_GET_MEM_CTX(ndr);
13120 NDR_PULL_SET_MEM_CTX(ndr, r->out.dom_trust_list, LIBNDR_FLAG_REF_ALLOC);
13121 NDR_CHECK(ndr_pull_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.dom_trust_list));
13122 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dom_trust_list_0, LIBNDR_FLAG_REF_ALLOC);
13123 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13125 return NDR_ERR_SUCCESS;
13128 _PUBLIC_ void ndr_print_netr_NetrEnumerateTrustedDomainsEx(struct ndr_print *ndr, const char *name, int flags, const struct netr_NetrEnumerateTrustedDomainsEx *r)
13130 ndr_print_struct(ndr, name, "netr_NetrEnumerateTrustedDomainsEx");
13132 if (flags & NDR_SET_VALUES) {
13133 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13135 if (flags & NDR_IN) {
13136 ndr_print_struct(ndr, "in", "netr_NetrEnumerateTrustedDomainsEx");
13138 ndr_print_ptr(ndr, "server_name", r->in.server_name);
13140 if (r->in.server_name) {
13141 ndr_print_string(ndr, "server_name", r->in.server_name);
13146 if (flags & NDR_OUT) {
13147 ndr_print_struct(ndr, "out", "netr_NetrEnumerateTrustedDomainsEx");
13149 ndr_print_ptr(ndr, "dom_trust_list", r->out.dom_trust_list);
13151 ndr_print_netr_DomainTrustList(ndr, "dom_trust_list", r->out.dom_trust_list);
13153 ndr_print_WERROR(ndr, "result", r->out.result);
13159 static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesExW(struct ndr_push *ndr, int flags, const struct netr_DsRAddressToSitenamesExW *r)
13161 uint32_t cntr_addresses_1;
13162 if (flags & NDR_IN) {
13163 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
13164 if (r->in.server_name) {
13165 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13166 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13167 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13168 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
13170 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
13171 if (r->in.addresses == NULL) {
13172 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13174 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
13175 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
13176 NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1]));
13178 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
13179 NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1]));
13182 if (flags & NDR_OUT) {
13183 if (r->out.ctr == NULL) {
13184 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13186 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.ctr));
13188 NDR_CHECK(ndr_push_netr_DsRAddressToSitenamesExWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
13190 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13192 return NDR_ERR_SUCCESS;
13195 static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesExW(struct ndr_pull *ndr, int flags, struct netr_DsRAddressToSitenamesExW *r)
13197 uint32_t _ptr_server_name;
13198 uint32_t cntr_addresses_1;
13200 TALLOC_CTX *_mem_save_server_name_0;
13201 TALLOC_CTX *_mem_save_addresses_1;
13202 TALLOC_CTX *_mem_save_ctr_0;
13203 TALLOC_CTX *_mem_save_ctr_1;
13204 if (flags & NDR_IN) {
13205 ZERO_STRUCT(r->out);
13207 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
13208 if (_ptr_server_name) {
13209 NDR_PULL_ALLOC(ndr, r->in.server_name);
13211 r->in.server_name = NULL;
13213 if (r->in.server_name) {
13214 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13215 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
13216 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13217 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13218 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13219 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
13221 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13222 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
13223 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
13225 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
13226 if (r->in.count < 0 || r->in.count > 32000) {
13227 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
13229 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.addresses));
13230 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13231 NDR_PULL_ALLOC_N(ndr, r->in.addresses, ndr_get_array_size(ndr, &r->in.addresses));
13233 _mem_save_addresses_1 = NDR_PULL_GET_MEM_CTX(ndr);
13234 NDR_PULL_SET_MEM_CTX(ndr, r->in.addresses, 0);
13235 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
13236 NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1]));
13238 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
13239 NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1]));
13241 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_addresses_1, 0);
13242 NDR_PULL_ALLOC(ndr, r->out.ctr);
13243 ZERO_STRUCTP(r->out.ctr);
13244 if (r->in.addresses) {
13245 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.addresses, r->in.count));
13248 if (flags & NDR_OUT) {
13249 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13250 NDR_PULL_ALLOC(ndr, r->out.ctr);
13252 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
13253 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
13254 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr));
13256 NDR_PULL_ALLOC(ndr, *r->out.ctr);
13258 *r->out.ctr = NULL;
13261 _mem_save_ctr_1 = NDR_PULL_GET_MEM_CTX(ndr);
13262 NDR_PULL_SET_MEM_CTX(ndr, *r->out.ctr, 0);
13263 NDR_CHECK(ndr_pull_netr_DsRAddressToSitenamesExWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
13264 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_1, 0);
13266 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
13267 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13269 return NDR_ERR_SUCCESS;
13272 _PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesExW(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRAddressToSitenamesExW *r)
13274 uint32_t cntr_addresses_1;
13275 ndr_print_struct(ndr, name, "netr_DsRAddressToSitenamesExW");
13277 if (flags & NDR_SET_VALUES) {
13278 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13280 if (flags & NDR_IN) {
13281 ndr_print_struct(ndr, "in", "netr_DsRAddressToSitenamesExW");
13283 ndr_print_ptr(ndr, "server_name", r->in.server_name);
13285 if (r->in.server_name) {
13286 ndr_print_string(ndr, "server_name", r->in.server_name);
13289 ndr_print_uint32(ndr, "count", r->in.count);
13290 ndr_print_ptr(ndr, "addresses", r->in.addresses);
13292 ndr->print(ndr, "%s: ARRAY(%d)", "addresses", r->in.count);
13294 for (cntr_addresses_1=0;cntr_addresses_1<r->in.count;cntr_addresses_1++) {
13296 if (asprintf(&idx_1, "[%d]", cntr_addresses_1) != -1) {
13297 ndr_print_netr_DsRAddress(ndr, "addresses", &r->in.addresses[cntr_addresses_1]);
13305 if (flags & NDR_OUT) {
13306 ndr_print_struct(ndr, "out", "netr_DsRAddressToSitenamesExW");
13308 ndr_print_ptr(ndr, "ctr", r->out.ctr);
13310 ndr_print_ptr(ndr, "ctr", *r->out.ctr);
13313 ndr_print_netr_DsRAddressToSitenamesExWCtr(ndr, "ctr", *r->out.ctr);
13317 ndr_print_WERROR(ndr, "result", r->out.result);
13323 static enum ndr_err_code ndr_push_netr_DsrGetDcSiteCoverageW(struct ndr_push *ndr, int flags, const struct netr_DsrGetDcSiteCoverageW *r)
13325 if (flags & NDR_IN) {
13326 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
13327 if (r->in.server_name) {
13328 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13329 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13330 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13331 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
13334 if (flags & NDR_OUT) {
13335 if (r->out.ctr == NULL) {
13336 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13338 NDR_CHECK(ndr_push_DcSitesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
13339 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13341 return NDR_ERR_SUCCESS;
13344 static enum ndr_err_code ndr_pull_netr_DsrGetDcSiteCoverageW(struct ndr_pull *ndr, int flags, struct netr_DsrGetDcSiteCoverageW *r)
13346 uint32_t _ptr_server_name;
13347 TALLOC_CTX *_mem_save_server_name_0;
13348 TALLOC_CTX *_mem_save_ctr_0;
13349 if (flags & NDR_IN) {
13350 ZERO_STRUCT(r->out);
13352 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
13353 if (_ptr_server_name) {
13354 NDR_PULL_ALLOC(ndr, r->in.server_name);
13356 r->in.server_name = NULL;
13358 if (r->in.server_name) {
13359 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13360 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
13361 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13362 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13363 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13364 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
13366 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13367 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
13368 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
13370 NDR_PULL_ALLOC(ndr, r->out.ctr);
13371 ZERO_STRUCTP(r->out.ctr);
13373 if (flags & NDR_OUT) {
13374 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13375 NDR_PULL_ALLOC(ndr, r->out.ctr);
13377 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
13378 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
13379 NDR_CHECK(ndr_pull_DcSitesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
13380 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
13381 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13383 return NDR_ERR_SUCCESS;
13386 _PUBLIC_ void ndr_print_netr_DsrGetDcSiteCoverageW(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsrGetDcSiteCoverageW *r)
13388 ndr_print_struct(ndr, name, "netr_DsrGetDcSiteCoverageW");
13390 if (flags & NDR_SET_VALUES) {
13391 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13393 if (flags & NDR_IN) {
13394 ndr_print_struct(ndr, "in", "netr_DsrGetDcSiteCoverageW");
13396 ndr_print_ptr(ndr, "server_name", r->in.server_name);
13398 if (r->in.server_name) {
13399 ndr_print_string(ndr, "server_name", r->in.server_name);
13404 if (flags & NDR_OUT) {
13405 ndr_print_struct(ndr, "out", "netr_DsrGetDcSiteCoverageW");
13407 ndr_print_ptr(ndr, "ctr", r->out.ctr);
13409 ndr_print_DcSitesCtr(ndr, "ctr", r->out.ctr);
13411 ndr_print_WERROR(ndr, "result", r->out.result);
13417 static enum ndr_err_code ndr_push_netr_LogonSamLogonEx(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogonEx *r)
13419 if (flags & NDR_IN) {
13420 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
13421 if (r->in.server_name) {
13422 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13423 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13424 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13425 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
13427 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
13428 if (r->in.computer_name) {
13429 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13430 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13431 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13432 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
13434 NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS, r->in.logon_level));
13435 if (r->in.logon == NULL) {
13436 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13438 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.logon, r->in.logon_level));
13439 NDR_CHECK(ndr_push_netr_LogonInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
13440 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.validation_level));
13441 if (r->in.flags == NULL) {
13442 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13444 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.flags));
13446 if (flags & NDR_OUT) {
13447 if (r->out.validation == NULL) {
13448 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13450 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.validation, r->in.validation_level));
13451 NDR_CHECK(ndr_push_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
13452 if (r->out.authoritative == NULL) {
13453 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13455 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, *r->out.authoritative));
13456 if (r->out.flags == NULL) {
13457 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13459 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.flags));
13460 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
13462 return NDR_ERR_SUCCESS;
13465 static enum ndr_err_code ndr_pull_netr_LogonSamLogonEx(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogonEx *r)
13467 uint32_t _ptr_server_name;
13468 uint32_t _ptr_computer_name;
13469 TALLOC_CTX *_mem_save_server_name_0;
13470 TALLOC_CTX *_mem_save_computer_name_0;
13471 TALLOC_CTX *_mem_save_logon_0;
13472 TALLOC_CTX *_mem_save_validation_0;
13473 TALLOC_CTX *_mem_save_authoritative_0;
13474 TALLOC_CTX *_mem_save_flags_0;
13475 if (flags & NDR_IN) {
13476 ZERO_STRUCT(r->out);
13478 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
13479 if (_ptr_server_name) {
13480 NDR_PULL_ALLOC(ndr, r->in.server_name);
13482 r->in.server_name = NULL;
13484 if (r->in.server_name) {
13485 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13486 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
13487 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13488 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13489 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13490 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
13492 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13493 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
13494 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
13496 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
13497 if (_ptr_computer_name) {
13498 NDR_PULL_ALLOC(ndr, r->in.computer_name);
13500 r->in.computer_name = NULL;
13502 if (r->in.computer_name) {
13503 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13504 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
13505 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
13506 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
13507 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
13508 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computer_name), ndr_get_array_length(ndr, &r->in.computer_name));
13510 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
13511 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t), CH_UTF16));
13512 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
13514 NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS, &r->in.logon_level));
13515 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13516 NDR_PULL_ALLOC(ndr, r->in.logon);
13518 _mem_save_logon_0 = NDR_PULL_GET_MEM_CTX(ndr);
13519 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon, LIBNDR_FLAG_REF_ALLOC);
13520 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.logon, r->in.logon_level));
13521 NDR_CHECK(ndr_pull_netr_LogonInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
13522 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_0, LIBNDR_FLAG_REF_ALLOC);
13523 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.validation_level));
13524 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13525 NDR_PULL_ALLOC(ndr, r->in.flags);
13527 _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
13528 NDR_PULL_SET_MEM_CTX(ndr, r->in.flags, LIBNDR_FLAG_REF_ALLOC);
13529 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.flags));
13530 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
13531 NDR_PULL_ALLOC(ndr, r->out.validation);
13532 ZERO_STRUCTP(r->out.validation);
13533 NDR_PULL_ALLOC(ndr, r->out.authoritative);
13534 ZERO_STRUCTP(r->out.authoritative);
13535 NDR_PULL_ALLOC(ndr, r->out.flags);
13536 *r->out.flags = *r->in.flags;
13538 if (flags & NDR_OUT) {
13539 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13540 NDR_PULL_ALLOC(ndr, r->out.validation);
13542 _mem_save_validation_0 = NDR_PULL_GET_MEM_CTX(ndr);
13543 NDR_PULL_SET_MEM_CTX(ndr, r->out.validation, LIBNDR_FLAG_REF_ALLOC);
13544 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.validation, r->in.validation_level));
13545 NDR_CHECK(ndr_pull_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
13546 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_validation_0, LIBNDR_FLAG_REF_ALLOC);
13547 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13548 NDR_PULL_ALLOC(ndr, r->out.authoritative);
13550 _mem_save_authoritative_0 = NDR_PULL_GET_MEM_CTX(ndr);
13551 NDR_PULL_SET_MEM_CTX(ndr, r->out.authoritative, LIBNDR_FLAG_REF_ALLOC);
13552 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, r->out.authoritative));
13553 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_authoritative_0, LIBNDR_FLAG_REF_ALLOC);
13554 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13555 NDR_PULL_ALLOC(ndr, r->out.flags);
13557 _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
13558 NDR_PULL_SET_MEM_CTX(ndr, r->out.flags, LIBNDR_FLAG_REF_ALLOC);
13559 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.flags));
13560 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
13561 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
13563 return NDR_ERR_SUCCESS;
13566 _PUBLIC_ void ndr_print_netr_LogonSamLogonEx(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogonEx *r)
13568 ndr_print_struct(ndr, name, "netr_LogonSamLogonEx");
13570 if (flags & NDR_SET_VALUES) {
13571 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13573 if (flags & NDR_IN) {
13574 ndr_print_struct(ndr, "in", "netr_LogonSamLogonEx");
13576 ndr_print_ptr(ndr, "server_name", r->in.server_name);
13578 if (r->in.server_name) {
13579 ndr_print_string(ndr, "server_name", r->in.server_name);
13582 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
13584 if (r->in.computer_name) {
13585 ndr_print_string(ndr, "computer_name", r->in.computer_name);
13588 ndr_print_netr_LogonLevel(ndr, "logon_level", r->in.logon_level);
13589 ndr_print_ptr(ndr, "logon", r->in.logon);
13591 ndr_print_set_switch_value(ndr, r->in.logon, r->in.logon_level);
13592 ndr_print_netr_LogonInfo(ndr, "logon", r->in.logon);
13594 ndr_print_uint16(ndr, "validation_level", r->in.validation_level);
13595 ndr_print_ptr(ndr, "flags", r->in.flags);
13597 ndr_print_uint32(ndr, "flags", *r->in.flags);
13601 if (flags & NDR_OUT) {
13602 ndr_print_struct(ndr, "out", "netr_LogonSamLogonEx");
13604 ndr_print_ptr(ndr, "validation", r->out.validation);
13606 ndr_print_set_switch_value(ndr, r->out.validation, r->in.validation_level);
13607 ndr_print_netr_Validation(ndr, "validation", r->out.validation);
13609 ndr_print_ptr(ndr, "authoritative", r->out.authoritative);
13611 ndr_print_uint8(ndr, "authoritative", *r->out.authoritative);
13613 ndr_print_ptr(ndr, "flags", r->out.flags);
13615 ndr_print_uint32(ndr, "flags", *r->out.flags);
13617 ndr_print_NTSTATUS(ndr, "result", r->out.result);
13623 static enum ndr_err_code ndr_push_netr_DsrEnumerateDomainTrusts(struct ndr_push *ndr, int flags, const struct netr_DsrEnumerateDomainTrusts *r)
13625 if (flags & NDR_IN) {
13626 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
13627 if (r->in.server_name) {
13628 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13629 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13630 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13631 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
13633 NDR_CHECK(ndr_push_netr_TrustFlags(ndr, NDR_SCALARS, r->in.trust_flags));
13635 if (flags & NDR_OUT) {
13636 if (r->out.trusts == NULL) {
13637 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13639 NDR_CHECK(ndr_push_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusts));
13640 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13642 return NDR_ERR_SUCCESS;
13645 static enum ndr_err_code ndr_pull_netr_DsrEnumerateDomainTrusts(struct ndr_pull *ndr, int flags, struct netr_DsrEnumerateDomainTrusts *r)
13647 uint32_t _ptr_server_name;
13648 TALLOC_CTX *_mem_save_server_name_0;
13649 TALLOC_CTX *_mem_save_trusts_0;
13650 if (flags & NDR_IN) {
13651 ZERO_STRUCT(r->out);
13653 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
13654 if (_ptr_server_name) {
13655 NDR_PULL_ALLOC(ndr, r->in.server_name);
13657 r->in.server_name = NULL;
13659 if (r->in.server_name) {
13660 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13661 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
13662 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13663 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13664 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13665 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
13667 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13668 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
13669 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
13671 NDR_CHECK(ndr_pull_netr_TrustFlags(ndr, NDR_SCALARS, &r->in.trust_flags));
13672 NDR_PULL_ALLOC(ndr, r->out.trusts);
13673 ZERO_STRUCTP(r->out.trusts);
13675 if (flags & NDR_OUT) {
13676 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13677 NDR_PULL_ALLOC(ndr, r->out.trusts);
13679 _mem_save_trusts_0 = NDR_PULL_GET_MEM_CTX(ndr);
13680 NDR_PULL_SET_MEM_CTX(ndr, r->out.trusts, LIBNDR_FLAG_REF_ALLOC);
13681 NDR_CHECK(ndr_pull_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusts));
13682 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusts_0, LIBNDR_FLAG_REF_ALLOC);
13683 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13685 return NDR_ERR_SUCCESS;
13688 _PUBLIC_ void ndr_print_netr_DsrEnumerateDomainTrusts(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsrEnumerateDomainTrusts *r)
13690 ndr_print_struct(ndr, name, "netr_DsrEnumerateDomainTrusts");
13692 if (flags & NDR_SET_VALUES) {
13693 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13695 if (flags & NDR_IN) {
13696 ndr_print_struct(ndr, "in", "netr_DsrEnumerateDomainTrusts");
13698 ndr_print_ptr(ndr, "server_name", r->in.server_name);
13700 if (r->in.server_name) {
13701 ndr_print_string(ndr, "server_name", r->in.server_name);
13704 ndr_print_netr_TrustFlags(ndr, "trust_flags", r->in.trust_flags);
13707 if (flags & NDR_OUT) {
13708 ndr_print_struct(ndr, "out", "netr_DsrEnumerateDomainTrusts");
13710 ndr_print_ptr(ndr, "trusts", r->out.trusts);
13712 ndr_print_netr_DomainTrustList(ndr, "trusts", r->out.trusts);
13714 ndr_print_WERROR(ndr, "result", r->out.result);
13720 static enum ndr_err_code ndr_push_netr_DsrDeregisterDNSHostRecords(struct ndr_push *ndr, int flags, const struct netr_DsrDeregisterDNSHostRecords *r)
13722 if (flags & NDR_IN) {
13723 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
13724 if (r->in.server_name) {
13725 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13726 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13727 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13728 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
13730 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain));
13731 if (r->in.domain) {
13732 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain, CH_UTF16)));
13733 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13734 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain, CH_UTF16)));
13735 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domain, ndr_charset_length(r->in.domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
13737 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
13738 if (r->in.domain_guid) {
13739 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domain_guid));
13741 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.dsa_guid));
13742 if (r->in.dsa_guid) {
13743 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.dsa_guid));
13745 if (r->in.dns_host == NULL) {
13746 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13748 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.dns_host, CH_UTF16)));
13749 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13750 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.dns_host, CH_UTF16)));
13751 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.dns_host, ndr_charset_length(r->in.dns_host, CH_UTF16), sizeof(uint16_t), CH_UTF16));
13753 if (flags & NDR_OUT) {
13754 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13756 return NDR_ERR_SUCCESS;
13759 static enum ndr_err_code ndr_pull_netr_DsrDeregisterDNSHostRecords(struct ndr_pull *ndr, int flags, struct netr_DsrDeregisterDNSHostRecords *r)
13761 uint32_t _ptr_server_name;
13762 uint32_t _ptr_domain;
13763 uint32_t _ptr_domain_guid;
13764 uint32_t _ptr_dsa_guid;
13765 TALLOC_CTX *_mem_save_server_name_0;
13766 TALLOC_CTX *_mem_save_domain_0;
13767 TALLOC_CTX *_mem_save_domain_guid_0;
13768 TALLOC_CTX *_mem_save_dsa_guid_0;
13769 if (flags & NDR_IN) {
13770 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
13771 if (_ptr_server_name) {
13772 NDR_PULL_ALLOC(ndr, r->in.server_name);
13774 r->in.server_name = NULL;
13776 if (r->in.server_name) {
13777 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13778 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
13779 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13780 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13781 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13782 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
13784 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13785 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
13786 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
13788 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
13790 NDR_PULL_ALLOC(ndr, r->in.domain);
13792 r->in.domain = NULL;
13794 if (r->in.domain) {
13795 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
13796 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain, 0);
13797 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain));
13798 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain));
13799 if (ndr_get_array_length(ndr, &r->in.domain) > ndr_get_array_size(ndr, &r->in.domain)) {
13800 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.domain), ndr_get_array_length(ndr, &r->in.domain));
13802 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain), sizeof(uint16_t)));
13803 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain, ndr_get_array_length(ndr, &r->in.domain), sizeof(uint16_t), CH_UTF16));
13804 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
13806 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
13807 if (_ptr_domain_guid) {
13808 NDR_PULL_ALLOC(ndr, r->in.domain_guid);
13810 r->in.domain_guid = NULL;
13812 if (r->in.domain_guid) {
13813 _mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
13814 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
13815 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domain_guid));
13816 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
13818 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dsa_guid));
13819 if (_ptr_dsa_guid) {
13820 NDR_PULL_ALLOC(ndr, r->in.dsa_guid);
13822 r->in.dsa_guid = NULL;
13824 if (r->in.dsa_guid) {
13825 _mem_save_dsa_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
13826 NDR_PULL_SET_MEM_CTX(ndr, r->in.dsa_guid, 0);
13827 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.dsa_guid));
13828 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dsa_guid_0, 0);
13830 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.dns_host));
13831 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.dns_host));
13832 if (ndr_get_array_length(ndr, &r->in.dns_host) > ndr_get_array_size(ndr, &r->in.dns_host)) {
13833 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.dns_host), ndr_get_array_length(ndr, &r->in.dns_host));
13835 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.dns_host), sizeof(uint16_t)));
13836 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dns_host, ndr_get_array_length(ndr, &r->in.dns_host), sizeof(uint16_t), CH_UTF16));
13838 if (flags & NDR_OUT) {
13839 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13841 return NDR_ERR_SUCCESS;
13844 _PUBLIC_ void ndr_print_netr_DsrDeregisterDNSHostRecords(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsrDeregisterDNSHostRecords *r)
13846 ndr_print_struct(ndr, name, "netr_DsrDeregisterDNSHostRecords");
13848 if (flags & NDR_SET_VALUES) {
13849 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13851 if (flags & NDR_IN) {
13852 ndr_print_struct(ndr, "in", "netr_DsrDeregisterDNSHostRecords");
13854 ndr_print_ptr(ndr, "server_name", r->in.server_name);
13856 if (r->in.server_name) {
13857 ndr_print_string(ndr, "server_name", r->in.server_name);
13860 ndr_print_ptr(ndr, "domain", r->in.domain);
13862 if (r->in.domain) {
13863 ndr_print_string(ndr, "domain", r->in.domain);
13866 ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
13868 if (r->in.domain_guid) {
13869 ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
13872 ndr_print_ptr(ndr, "dsa_guid", r->in.dsa_guid);
13874 if (r->in.dsa_guid) {
13875 ndr_print_GUID(ndr, "dsa_guid", r->in.dsa_guid);
13878 ndr_print_ptr(ndr, "dns_host", r->in.dns_host);
13880 ndr_print_string(ndr, "dns_host", r->in.dns_host);
13884 if (flags & NDR_OUT) {
13885 ndr_print_struct(ndr, "out", "netr_DsrDeregisterDNSHostRecords");
13887 ndr_print_WERROR(ndr, "result", r->out.result);
13893 static enum ndr_err_code ndr_push_netr_ServerTrustPasswordsGet(struct ndr_push *ndr, int flags, const struct netr_ServerTrustPasswordsGet *r)
13895 if (flags & NDR_IN) {
13896 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
13897 if (r->in.server_name) {
13898 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13899 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13900 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13901 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
13903 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
13904 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13905 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
13906 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.account_name, ndr_charset_length(r->in.account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
13907 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
13908 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13909 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13910 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13911 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
13912 if (r->in.credential == NULL) {
13913 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13915 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
13917 if (flags & NDR_OUT) {
13918 if (r->out.return_authenticator == NULL) {
13919 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13921 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
13922 if (r->out.password == NULL) {
13923 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13925 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.password));
13926 if (r->out.password2 == NULL) {
13927 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13929 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.password2));
13930 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
13932 return NDR_ERR_SUCCESS;
13935 static enum ndr_err_code ndr_pull_netr_ServerTrustPasswordsGet(struct ndr_pull *ndr, int flags, struct netr_ServerTrustPasswordsGet *r)
13937 uint32_t _ptr_server_name;
13938 TALLOC_CTX *_mem_save_server_name_0;
13939 TALLOC_CTX *_mem_save_credential_0;
13940 TALLOC_CTX *_mem_save_return_authenticator_0;
13941 TALLOC_CTX *_mem_save_password_0;
13942 TALLOC_CTX *_mem_save_password2_0;
13943 if (flags & NDR_IN) {
13944 ZERO_STRUCT(r->out);
13946 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
13947 if (_ptr_server_name) {
13948 NDR_PULL_ALLOC(ndr, r->in.server_name);
13950 r->in.server_name = NULL;
13952 if (r->in.server_name) {
13953 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13954 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
13955 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13956 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13957 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13958 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
13960 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13961 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
13962 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
13964 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
13965 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
13966 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
13967 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.account_name), ndr_get_array_length(ndr, &r->in.account_name));
13969 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
13970 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t), CH_UTF16));
13971 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
13972 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
13973 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
13974 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
13975 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computer_name), ndr_get_array_length(ndr, &r->in.computer_name));
13977 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
13978 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t), CH_UTF16));
13979 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13980 NDR_PULL_ALLOC(ndr, r->in.credential);
13982 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
13983 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
13984 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
13985 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
13986 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
13987 ZERO_STRUCTP(r->out.return_authenticator);
13988 NDR_PULL_ALLOC(ndr, r->out.password);
13989 ZERO_STRUCTP(r->out.password);
13990 NDR_PULL_ALLOC(ndr, r->out.password2);
13991 ZERO_STRUCTP(r->out.password2);
13993 if (flags & NDR_OUT) {
13994 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13995 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
13997 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
13998 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
13999 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
14000 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
14001 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14002 NDR_PULL_ALLOC(ndr, r->out.password);
14004 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
14005 NDR_PULL_SET_MEM_CTX(ndr, r->out.password, LIBNDR_FLAG_REF_ALLOC);
14006 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.password));
14007 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, LIBNDR_FLAG_REF_ALLOC);
14008 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14009 NDR_PULL_ALLOC(ndr, r->out.password2);
14011 _mem_save_password2_0 = NDR_PULL_GET_MEM_CTX(ndr);
14012 NDR_PULL_SET_MEM_CTX(ndr, r->out.password2, LIBNDR_FLAG_REF_ALLOC);
14013 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.password2));
14014 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password2_0, LIBNDR_FLAG_REF_ALLOC);
14015 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
14017 return NDR_ERR_SUCCESS;
14020 _PUBLIC_ void ndr_print_netr_ServerTrustPasswordsGet(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerTrustPasswordsGet *r)
14022 ndr_print_struct(ndr, name, "netr_ServerTrustPasswordsGet");
14024 if (flags & NDR_SET_VALUES) {
14025 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14027 if (flags & NDR_IN) {
14028 ndr_print_struct(ndr, "in", "netr_ServerTrustPasswordsGet");
14030 ndr_print_ptr(ndr, "server_name", r->in.server_name);
14032 if (r->in.server_name) {
14033 ndr_print_string(ndr, "server_name", r->in.server_name);
14036 ndr_print_string(ndr, "account_name", r->in.account_name);
14037 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
14038 ndr_print_string(ndr, "computer_name", r->in.computer_name);
14039 ndr_print_ptr(ndr, "credential", r->in.credential);
14041 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
14045 if (flags & NDR_OUT) {
14046 ndr_print_struct(ndr, "out", "netr_ServerTrustPasswordsGet");
14048 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
14050 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
14052 ndr_print_ptr(ndr, "password", r->out.password);
14054 ndr_print_samr_Password(ndr, "password", r->out.password);
14056 ndr_print_ptr(ndr, "password2", r->out.password2);
14058 ndr_print_samr_Password(ndr, "password2", r->out.password2);
14060 ndr_print_NTSTATUS(ndr, "result", r->out.result);
14066 static enum ndr_err_code ndr_push_netr_DsRGetForestTrustInformation(struct ndr_push *ndr, int flags, const struct netr_DsRGetForestTrustInformation *r)
14068 if (flags & NDR_IN) {
14069 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
14070 if (r->in.server_name) {
14071 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14072 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14073 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14074 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
14076 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.trusted_domain_name));
14077 if (r->in.trusted_domain_name) {
14078 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16)));
14079 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14080 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16)));
14081 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.trusted_domain_name, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
14083 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags));
14085 if (flags & NDR_OUT) {
14086 if (r->out.forest_trust_info == NULL) {
14087 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14089 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.forest_trust_info));
14090 if (*r->out.forest_trust_info) {
14091 NDR_CHECK(ndr_push_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
14093 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14095 return NDR_ERR_SUCCESS;
14098 static enum ndr_err_code ndr_pull_netr_DsRGetForestTrustInformation(struct ndr_pull *ndr, int flags, struct netr_DsRGetForestTrustInformation *r)
14100 uint32_t _ptr_server_name;
14101 uint32_t _ptr_trusted_domain_name;
14102 uint32_t _ptr_forest_trust_info;
14103 TALLOC_CTX *_mem_save_server_name_0;
14104 TALLOC_CTX *_mem_save_trusted_domain_name_0;
14105 TALLOC_CTX *_mem_save_forest_trust_info_0;
14106 TALLOC_CTX *_mem_save_forest_trust_info_1;
14107 if (flags & NDR_IN) {
14108 ZERO_STRUCT(r->out);
14110 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
14111 if (_ptr_server_name) {
14112 NDR_PULL_ALLOC(ndr, r->in.server_name);
14114 r->in.server_name = NULL;
14116 if (r->in.server_name) {
14117 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14118 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
14119 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
14120 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
14121 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
14122 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
14124 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
14125 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
14126 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
14128 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_domain_name));
14129 if (_ptr_trusted_domain_name) {
14130 NDR_PULL_ALLOC(ndr, r->in.trusted_domain_name);
14132 r->in.trusted_domain_name = NULL;
14134 if (r->in.trusted_domain_name) {
14135 _mem_save_trusted_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14136 NDR_PULL_SET_MEM_CTX(ndr, r->in.trusted_domain_name, 0);
14137 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.trusted_domain_name));
14138 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.trusted_domain_name));
14139 if (ndr_get_array_length(ndr, &r->in.trusted_domain_name) > ndr_get_array_size(ndr, &r->in.trusted_domain_name)) {
14140 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.trusted_domain_name), ndr_get_array_length(ndr, &r->in.trusted_domain_name));
14142 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.trusted_domain_name), sizeof(uint16_t)));
14143 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.trusted_domain_name, ndr_get_array_length(ndr, &r->in.trusted_domain_name), sizeof(uint16_t), CH_UTF16));
14144 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domain_name_0, 0);
14146 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
14147 NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
14148 ZERO_STRUCTP(r->out.forest_trust_info);
14150 if (flags & NDR_OUT) {
14151 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14152 NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
14154 _mem_save_forest_trust_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
14155 NDR_PULL_SET_MEM_CTX(ndr, r->out.forest_trust_info, LIBNDR_FLAG_REF_ALLOC);
14156 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_forest_trust_info));
14157 if (_ptr_forest_trust_info) {
14158 NDR_PULL_ALLOC(ndr, *r->out.forest_trust_info);
14160 *r->out.forest_trust_info = NULL;
14162 if (*r->out.forest_trust_info) {
14163 _mem_save_forest_trust_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
14164 NDR_PULL_SET_MEM_CTX(ndr, *r->out.forest_trust_info, 0);
14165 NDR_CHECK(ndr_pull_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
14166 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_1, 0);
14168 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_0, LIBNDR_FLAG_REF_ALLOC);
14169 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14171 return NDR_ERR_SUCCESS;
14174 _PUBLIC_ void ndr_print_netr_DsRGetForestTrustInformation(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetForestTrustInformation *r)
14176 ndr_print_struct(ndr, name, "netr_DsRGetForestTrustInformation");
14178 if (flags & NDR_SET_VALUES) {
14179 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14181 if (flags & NDR_IN) {
14182 ndr_print_struct(ndr, "in", "netr_DsRGetForestTrustInformation");
14184 ndr_print_ptr(ndr, "server_name", r->in.server_name);
14186 if (r->in.server_name) {
14187 ndr_print_string(ndr, "server_name", r->in.server_name);
14190 ndr_print_ptr(ndr, "trusted_domain_name", r->in.trusted_domain_name);
14192 if (r->in.trusted_domain_name) {
14193 ndr_print_string(ndr, "trusted_domain_name", r->in.trusted_domain_name);
14196 ndr_print_uint32(ndr, "flags", r->in.flags);
14199 if (flags & NDR_OUT) {
14200 ndr_print_struct(ndr, "out", "netr_DsRGetForestTrustInformation");
14202 ndr_print_ptr(ndr, "forest_trust_info", r->out.forest_trust_info);
14204 ndr_print_ptr(ndr, "forest_trust_info", *r->out.forest_trust_info);
14206 if (*r->out.forest_trust_info) {
14207 ndr_print_lsa_ForestTrustInformation(ndr, "forest_trust_info", *r->out.forest_trust_info);
14211 ndr_print_WERROR(ndr, "result", r->out.result);
14217 static enum ndr_err_code ndr_push_netr_GetForestTrustInformation(struct ndr_push *ndr, int flags, const struct netr_GetForestTrustInformation *r)
14219 if (flags & NDR_IN) {
14220 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
14221 if (r->in.server_name) {
14222 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14223 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14224 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14225 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
14227 if (r->in.trusted_domain_name == NULL) {
14228 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14230 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16)));
14231 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14232 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16)));
14233 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.trusted_domain_name, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
14234 if (r->in.credential == NULL) {
14235 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14237 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
14238 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags));
14240 if (flags & NDR_OUT) {
14241 if (r->out.return_authenticator == NULL) {
14242 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14244 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
14245 if (r->out.forest_trust_info == NULL) {
14246 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14248 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.forest_trust_info));
14249 if (*r->out.forest_trust_info) {
14250 NDR_CHECK(ndr_push_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
14252 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14254 return NDR_ERR_SUCCESS;
14257 static enum ndr_err_code ndr_pull_netr_GetForestTrustInformation(struct ndr_pull *ndr, int flags, struct netr_GetForestTrustInformation *r)
14259 uint32_t _ptr_server_name;
14260 uint32_t _ptr_forest_trust_info;
14261 TALLOC_CTX *_mem_save_server_name_0;
14262 TALLOC_CTX *_mem_save_credential_0;
14263 TALLOC_CTX *_mem_save_return_authenticator_0;
14264 TALLOC_CTX *_mem_save_forest_trust_info_0;
14265 TALLOC_CTX *_mem_save_forest_trust_info_1;
14266 if (flags & NDR_IN) {
14267 ZERO_STRUCT(r->out);
14269 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
14270 if (_ptr_server_name) {
14271 NDR_PULL_ALLOC(ndr, r->in.server_name);
14273 r->in.server_name = NULL;
14275 if (r->in.server_name) {
14276 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14277 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
14278 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
14279 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
14280 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
14281 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
14283 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
14284 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
14285 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
14287 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.trusted_domain_name));
14288 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.trusted_domain_name));
14289 if (ndr_get_array_length(ndr, &r->in.trusted_domain_name) > ndr_get_array_size(ndr, &r->in.trusted_domain_name)) {
14290 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.trusted_domain_name), ndr_get_array_length(ndr, &r->in.trusted_domain_name));
14292 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.trusted_domain_name), sizeof(uint16_t)));
14293 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.trusted_domain_name, ndr_get_array_length(ndr, &r->in.trusted_domain_name), sizeof(uint16_t), CH_UTF16));
14294 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14295 NDR_PULL_ALLOC(ndr, r->in.credential);
14297 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
14298 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
14299 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
14300 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
14301 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
14302 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
14303 ZERO_STRUCTP(r->out.return_authenticator);
14304 NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
14305 ZERO_STRUCTP(r->out.forest_trust_info);
14307 if (flags & NDR_OUT) {
14308 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14309 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
14311 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
14312 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
14313 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
14314 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
14315 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14316 NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
14318 _mem_save_forest_trust_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
14319 NDR_PULL_SET_MEM_CTX(ndr, r->out.forest_trust_info, LIBNDR_FLAG_REF_ALLOC);
14320 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_forest_trust_info));
14321 if (_ptr_forest_trust_info) {
14322 NDR_PULL_ALLOC(ndr, *r->out.forest_trust_info);
14324 *r->out.forest_trust_info = NULL;
14326 if (*r->out.forest_trust_info) {
14327 _mem_save_forest_trust_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
14328 NDR_PULL_SET_MEM_CTX(ndr, *r->out.forest_trust_info, 0);
14329 NDR_CHECK(ndr_pull_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
14330 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_1, 0);
14332 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_0, LIBNDR_FLAG_REF_ALLOC);
14333 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14335 return NDR_ERR_SUCCESS;
14338 _PUBLIC_ void ndr_print_netr_GetForestTrustInformation(struct ndr_print *ndr, const char *name, int flags, const struct netr_GetForestTrustInformation *r)
14340 ndr_print_struct(ndr, name, "netr_GetForestTrustInformation");
14342 if (flags & NDR_SET_VALUES) {
14343 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14345 if (flags & NDR_IN) {
14346 ndr_print_struct(ndr, "in", "netr_GetForestTrustInformation");
14348 ndr_print_ptr(ndr, "server_name", r->in.server_name);
14350 if (r->in.server_name) {
14351 ndr_print_string(ndr, "server_name", r->in.server_name);
14354 ndr_print_ptr(ndr, "trusted_domain_name", r->in.trusted_domain_name);
14356 ndr_print_string(ndr, "trusted_domain_name", r->in.trusted_domain_name);
14358 ndr_print_ptr(ndr, "credential", r->in.credential);
14360 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
14362 ndr_print_uint32(ndr, "flags", r->in.flags);
14365 if (flags & NDR_OUT) {
14366 ndr_print_struct(ndr, "out", "netr_GetForestTrustInformation");
14368 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
14370 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
14372 ndr_print_ptr(ndr, "forest_trust_info", r->out.forest_trust_info);
14374 ndr_print_ptr(ndr, "forest_trust_info", *r->out.forest_trust_info);
14376 if (*r->out.forest_trust_info) {
14377 ndr_print_lsa_ForestTrustInformation(ndr, "forest_trust_info", *r->out.forest_trust_info);
14381 ndr_print_WERROR(ndr, "result", r->out.result);
14387 static enum ndr_err_code ndr_push_netr_LogonSamLogonWithFlags(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogonWithFlags *r)
14389 if (flags & NDR_IN) {
14390 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
14391 if (r->in.server_name) {
14392 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14393 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14394 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14395 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
14397 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
14398 if (r->in.computer_name) {
14399 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
14400 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14401 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
14402 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
14404 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.credential));
14405 if (r->in.credential) {
14406 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
14408 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.return_authenticator));
14409 if (r->in.return_authenticator) {
14410 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
14412 NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS, r->in.logon_level));
14413 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.logon, r->in.logon_level));
14414 NDR_CHECK(ndr_push_netr_LogonInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon));
14415 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.validation_level));
14416 if (r->in.flags == NULL) {
14417 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14419 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.flags));
14421 if (flags & NDR_OUT) {
14422 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.return_authenticator));
14423 if (r->out.return_authenticator) {
14424 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
14426 if (r->out.validation == NULL) {
14427 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14429 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.validation, r->in.validation_level));
14430 NDR_CHECK(ndr_push_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
14431 if (r->out.authoritative == NULL) {
14432 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14434 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, *r->out.authoritative));
14435 if (r->out.flags == NULL) {
14436 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14438 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.flags));
14439 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
14441 return NDR_ERR_SUCCESS;
14444 static enum ndr_err_code ndr_pull_netr_LogonSamLogonWithFlags(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogonWithFlags *r)
14446 uint32_t _ptr_server_name;
14447 uint32_t _ptr_computer_name;
14448 uint32_t _ptr_credential;
14449 uint32_t _ptr_return_authenticator;
14450 TALLOC_CTX *_mem_save_server_name_0;
14451 TALLOC_CTX *_mem_save_computer_name_0;
14452 TALLOC_CTX *_mem_save_credential_0;
14453 TALLOC_CTX *_mem_save_return_authenticator_0;
14454 TALLOC_CTX *_mem_save_validation_0;
14455 TALLOC_CTX *_mem_save_authoritative_0;
14456 TALLOC_CTX *_mem_save_flags_0;
14457 if (flags & NDR_IN) {
14458 ZERO_STRUCT(r->out);
14460 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
14461 if (_ptr_server_name) {
14462 NDR_PULL_ALLOC(ndr, r->in.server_name);
14464 r->in.server_name = NULL;
14466 if (r->in.server_name) {
14467 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14468 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
14469 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
14470 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
14471 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
14472 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
14474 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
14475 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
14476 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
14478 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
14479 if (_ptr_computer_name) {
14480 NDR_PULL_ALLOC(ndr, r->in.computer_name);
14482 r->in.computer_name = NULL;
14484 if (r->in.computer_name) {
14485 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14486 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
14487 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
14488 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
14489 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
14490 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computer_name), ndr_get_array_length(ndr, &r->in.computer_name));
14492 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
14493 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t), CH_UTF16));
14494 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
14496 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_credential));
14497 if (_ptr_credential) {
14498 NDR_PULL_ALLOC(ndr, r->in.credential);
14500 r->in.credential = NULL;
14502 if (r->in.credential) {
14503 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
14504 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, 0);
14505 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
14506 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, 0);
14508 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
14509 if (_ptr_return_authenticator) {
14510 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
14512 r->in.return_authenticator = NULL;
14514 if (r->in.return_authenticator) {
14515 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
14516 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, 0);
14517 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
14518 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
14520 NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS, &r->in.logon_level));
14521 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.logon, r->in.logon_level));
14522 NDR_CHECK(ndr_pull_netr_LogonInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon));
14523 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.validation_level));
14524 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14525 NDR_PULL_ALLOC(ndr, r->in.flags);
14527 _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
14528 NDR_PULL_SET_MEM_CTX(ndr, r->in.flags, LIBNDR_FLAG_REF_ALLOC);
14529 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.flags));
14530 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
14531 NDR_PULL_ALLOC(ndr, r->out.validation);
14532 ZERO_STRUCTP(r->out.validation);
14533 NDR_PULL_ALLOC(ndr, r->out.authoritative);
14534 ZERO_STRUCTP(r->out.authoritative);
14535 NDR_PULL_ALLOC(ndr, r->out.flags);
14536 *r->out.flags = *r->in.flags;
14538 if (flags & NDR_OUT) {
14539 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
14540 if (_ptr_return_authenticator) {
14541 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
14543 r->out.return_authenticator = NULL;
14545 if (r->out.return_authenticator) {
14546 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
14547 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, 0);
14548 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
14549 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
14551 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14552 NDR_PULL_ALLOC(ndr, r->out.validation);
14554 _mem_save_validation_0 = NDR_PULL_GET_MEM_CTX(ndr);
14555 NDR_PULL_SET_MEM_CTX(ndr, r->out.validation, LIBNDR_FLAG_REF_ALLOC);
14556 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.validation, r->in.validation_level));
14557 NDR_CHECK(ndr_pull_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
14558 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_validation_0, LIBNDR_FLAG_REF_ALLOC);
14559 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14560 NDR_PULL_ALLOC(ndr, r->out.authoritative);
14562 _mem_save_authoritative_0 = NDR_PULL_GET_MEM_CTX(ndr);
14563 NDR_PULL_SET_MEM_CTX(ndr, r->out.authoritative, LIBNDR_FLAG_REF_ALLOC);
14564 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, r->out.authoritative));
14565 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_authoritative_0, LIBNDR_FLAG_REF_ALLOC);
14566 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14567 NDR_PULL_ALLOC(ndr, r->out.flags);
14569 _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
14570 NDR_PULL_SET_MEM_CTX(ndr, r->out.flags, LIBNDR_FLAG_REF_ALLOC);
14571 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.flags));
14572 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
14573 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
14575 return NDR_ERR_SUCCESS;
14578 _PUBLIC_ void ndr_print_netr_LogonSamLogonWithFlags(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogonWithFlags *r)
14580 ndr_print_struct(ndr, name, "netr_LogonSamLogonWithFlags");
14582 if (flags & NDR_SET_VALUES) {
14583 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14585 if (flags & NDR_IN) {
14586 ndr_print_struct(ndr, "in", "netr_LogonSamLogonWithFlags");
14588 ndr_print_ptr(ndr, "server_name", r->in.server_name);
14590 if (r->in.server_name) {
14591 ndr_print_string(ndr, "server_name", r->in.server_name);
14594 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
14596 if (r->in.computer_name) {
14597 ndr_print_string(ndr, "computer_name", r->in.computer_name);
14600 ndr_print_ptr(ndr, "credential", r->in.credential);
14602 if (r->in.credential) {
14603 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
14606 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
14608 if (r->in.return_authenticator) {
14609 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
14612 ndr_print_netr_LogonLevel(ndr, "logon_level", r->in.logon_level);
14613 ndr_print_set_switch_value(ndr, &r->in.logon, r->in.logon_level);
14614 ndr_print_netr_LogonInfo(ndr, "logon", &r->in.logon);
14615 ndr_print_uint16(ndr, "validation_level", r->in.validation_level);
14616 ndr_print_ptr(ndr, "flags", r->in.flags);
14618 ndr_print_uint32(ndr, "flags", *r->in.flags);
14622 if (flags & NDR_OUT) {
14623 ndr_print_struct(ndr, "out", "netr_LogonSamLogonWithFlags");
14625 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
14627 if (r->out.return_authenticator) {
14628 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
14631 ndr_print_ptr(ndr, "validation", r->out.validation);
14633 ndr_print_set_switch_value(ndr, r->out.validation, r->in.validation_level);
14634 ndr_print_netr_Validation(ndr, "validation", r->out.validation);
14636 ndr_print_ptr(ndr, "authoritative", r->out.authoritative);
14638 ndr_print_uint8(ndr, "authoritative", *r->out.authoritative);
14640 ndr_print_ptr(ndr, "flags", r->out.flags);
14642 ndr_print_uint32(ndr, "flags", *r->out.flags);
14644 ndr_print_NTSTATUS(ndr, "result", r->out.result);
14650 static enum ndr_err_code ndr_push_netr_NETRSERVERGETTRUSTINFO(struct ndr_push *ndr, int flags, const struct netr_NETRSERVERGETTRUSTINFO *r)
14652 if (flags & NDR_IN) {
14654 if (flags & NDR_OUT) {
14655 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14657 return NDR_ERR_SUCCESS;
14660 static enum ndr_err_code ndr_pull_netr_NETRSERVERGETTRUSTINFO(struct ndr_pull *ndr, int flags, struct netr_NETRSERVERGETTRUSTINFO *r)
14662 if (flags & NDR_IN) {
14664 if (flags & NDR_OUT) {
14665 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14667 return NDR_ERR_SUCCESS;
14670 _PUBLIC_ void ndr_print_netr_NETRSERVERGETTRUSTINFO(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRSERVERGETTRUSTINFO *r)
14672 ndr_print_struct(ndr, name, "netr_NETRSERVERGETTRUSTINFO");
14674 if (flags & NDR_SET_VALUES) {
14675 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14677 if (flags & NDR_IN) {
14678 ndr_print_struct(ndr, "in", "netr_NETRSERVERGETTRUSTINFO");
14682 if (flags & NDR_OUT) {
14683 ndr_print_struct(ndr, "out", "netr_NETRSERVERGETTRUSTINFO");
14685 ndr_print_WERROR(ndr, "result", r->out.result);
14691 static const struct ndr_interface_call netlogon_calls[] = {
14693 "netr_LogonUasLogon",
14694 sizeof(struct netr_LogonUasLogon),
14695 (ndr_push_flags_fn_t) ndr_push_netr_LogonUasLogon,
14696 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonUasLogon,
14697 (ndr_print_function_t) ndr_print_netr_LogonUasLogon,
14701 "netr_LogonUasLogoff",
14702 sizeof(struct netr_LogonUasLogoff),
14703 (ndr_push_flags_fn_t) ndr_push_netr_LogonUasLogoff,
14704 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonUasLogoff,
14705 (ndr_print_function_t) ndr_print_netr_LogonUasLogoff,
14709 "netr_LogonSamLogon",
14710 sizeof(struct netr_LogonSamLogon),
14711 (ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogon,
14712 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogon,
14713 (ndr_print_function_t) ndr_print_netr_LogonSamLogon,
14717 "netr_LogonSamLogoff",
14718 sizeof(struct netr_LogonSamLogoff),
14719 (ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogoff,
14720 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogoff,
14721 (ndr_print_function_t) ndr_print_netr_LogonSamLogoff,
14725 "netr_ServerReqChallenge",
14726 sizeof(struct netr_ServerReqChallenge),
14727 (ndr_push_flags_fn_t) ndr_push_netr_ServerReqChallenge,
14728 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerReqChallenge,
14729 (ndr_print_function_t) ndr_print_netr_ServerReqChallenge,
14733 "netr_ServerAuthenticate",
14734 sizeof(struct netr_ServerAuthenticate),
14735 (ndr_push_flags_fn_t) ndr_push_netr_ServerAuthenticate,
14736 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerAuthenticate,
14737 (ndr_print_function_t) ndr_print_netr_ServerAuthenticate,
14741 "netr_ServerPasswordSet",
14742 sizeof(struct netr_ServerPasswordSet),
14743 (ndr_push_flags_fn_t) ndr_push_netr_ServerPasswordSet,
14744 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerPasswordSet,
14745 (ndr_print_function_t) ndr_print_netr_ServerPasswordSet,
14749 "netr_DatabaseDeltas",
14750 sizeof(struct netr_DatabaseDeltas),
14751 (ndr_push_flags_fn_t) ndr_push_netr_DatabaseDeltas,
14752 (ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseDeltas,
14753 (ndr_print_function_t) ndr_print_netr_DatabaseDeltas,
14757 "netr_DatabaseSync",
14758 sizeof(struct netr_DatabaseSync),
14759 (ndr_push_flags_fn_t) ndr_push_netr_DatabaseSync,
14760 (ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseSync,
14761 (ndr_print_function_t) ndr_print_netr_DatabaseSync,
14765 "netr_AccountDeltas",
14766 sizeof(struct netr_AccountDeltas),
14767 (ndr_push_flags_fn_t) ndr_push_netr_AccountDeltas,
14768 (ndr_pull_flags_fn_t) ndr_pull_netr_AccountDeltas,
14769 (ndr_print_function_t) ndr_print_netr_AccountDeltas,
14773 "netr_AccountSync",
14774 sizeof(struct netr_AccountSync),
14775 (ndr_push_flags_fn_t) ndr_push_netr_AccountSync,
14776 (ndr_pull_flags_fn_t) ndr_pull_netr_AccountSync,
14777 (ndr_print_function_t) ndr_print_netr_AccountSync,
14782 sizeof(struct netr_GetDcName),
14783 (ndr_push_flags_fn_t) ndr_push_netr_GetDcName,
14784 (ndr_pull_flags_fn_t) ndr_pull_netr_GetDcName,
14785 (ndr_print_function_t) ndr_print_netr_GetDcName,
14789 "netr_LogonControl",
14790 sizeof(struct netr_LogonControl),
14791 (ndr_push_flags_fn_t) ndr_push_netr_LogonControl,
14792 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonControl,
14793 (ndr_print_function_t) ndr_print_netr_LogonControl,
14797 "netr_GetAnyDCName",
14798 sizeof(struct netr_GetAnyDCName),
14799 (ndr_push_flags_fn_t) ndr_push_netr_GetAnyDCName,
14800 (ndr_pull_flags_fn_t) ndr_pull_netr_GetAnyDCName,
14801 (ndr_print_function_t) ndr_print_netr_GetAnyDCName,
14805 "netr_LogonControl2",
14806 sizeof(struct netr_LogonControl2),
14807 (ndr_push_flags_fn_t) ndr_push_netr_LogonControl2,
14808 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonControl2,
14809 (ndr_print_function_t) ndr_print_netr_LogonControl2,
14813 "netr_ServerAuthenticate2",
14814 sizeof(struct netr_ServerAuthenticate2),
14815 (ndr_push_flags_fn_t) ndr_push_netr_ServerAuthenticate2,
14816 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerAuthenticate2,
14817 (ndr_print_function_t) ndr_print_netr_ServerAuthenticate2,
14821 "netr_DatabaseSync2",
14822 sizeof(struct netr_DatabaseSync2),
14823 (ndr_push_flags_fn_t) ndr_push_netr_DatabaseSync2,
14824 (ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseSync2,
14825 (ndr_print_function_t) ndr_print_netr_DatabaseSync2,
14829 "netr_DatabaseRedo",
14830 sizeof(struct netr_DatabaseRedo),
14831 (ndr_push_flags_fn_t) ndr_push_netr_DatabaseRedo,
14832 (ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseRedo,
14833 (ndr_print_function_t) ndr_print_netr_DatabaseRedo,
14837 "netr_LogonControl2Ex",
14838 sizeof(struct netr_LogonControl2Ex),
14839 (ndr_push_flags_fn_t) ndr_push_netr_LogonControl2Ex,
14840 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonControl2Ex,
14841 (ndr_print_function_t) ndr_print_netr_LogonControl2Ex,
14845 "netr_NetrEnumerateTrustedDomains",
14846 sizeof(struct netr_NetrEnumerateTrustedDomains),
14847 (ndr_push_flags_fn_t) ndr_push_netr_NetrEnumerateTrustedDomains,
14848 (ndr_pull_flags_fn_t) ndr_pull_netr_NetrEnumerateTrustedDomains,
14849 (ndr_print_function_t) ndr_print_netr_NetrEnumerateTrustedDomains,
14853 "netr_DsRGetDCName",
14854 sizeof(struct netr_DsRGetDCName),
14855 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetDCName,
14856 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetDCName,
14857 (ndr_print_function_t) ndr_print_netr_DsRGetDCName,
14861 "netr_NETRLOGONDUMMYROUTINE1",
14862 sizeof(struct netr_NETRLOGONDUMMYROUTINE1),
14863 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONDUMMYROUTINE1,
14864 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONDUMMYROUTINE1,
14865 (ndr_print_function_t) ndr_print_netr_NETRLOGONDUMMYROUTINE1,
14869 "netr_NETRLOGONSETSERVICEBITS",
14870 sizeof(struct netr_NETRLOGONSETSERVICEBITS),
14871 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONSETSERVICEBITS,
14872 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONSETSERVICEBITS,
14873 (ndr_print_function_t) ndr_print_netr_NETRLOGONSETSERVICEBITS,
14877 "netr_LogonGetTrustRid",
14878 sizeof(struct netr_LogonGetTrustRid),
14879 (ndr_push_flags_fn_t) ndr_push_netr_LogonGetTrustRid,
14880 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonGetTrustRid,
14881 (ndr_print_function_t) ndr_print_netr_LogonGetTrustRid,
14885 "netr_NETRLOGONCOMPUTESERVERDIGEST",
14886 sizeof(struct netr_NETRLOGONCOMPUTESERVERDIGEST),
14887 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONCOMPUTESERVERDIGEST,
14888 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONCOMPUTESERVERDIGEST,
14889 (ndr_print_function_t) ndr_print_netr_NETRLOGONCOMPUTESERVERDIGEST,
14893 "netr_NETRLOGONCOMPUTECLIENTDIGEST",
14894 sizeof(struct netr_NETRLOGONCOMPUTECLIENTDIGEST),
14895 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONCOMPUTECLIENTDIGEST,
14896 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONCOMPUTECLIENTDIGEST,
14897 (ndr_print_function_t) ndr_print_netr_NETRLOGONCOMPUTECLIENTDIGEST,
14901 "netr_ServerAuthenticate3",
14902 sizeof(struct netr_ServerAuthenticate3),
14903 (ndr_push_flags_fn_t) ndr_push_netr_ServerAuthenticate3,
14904 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerAuthenticate3,
14905 (ndr_print_function_t) ndr_print_netr_ServerAuthenticate3,
14909 "netr_DsRGetDCNameEx",
14910 sizeof(struct netr_DsRGetDCNameEx),
14911 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetDCNameEx,
14912 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetDCNameEx,
14913 (ndr_print_function_t) ndr_print_netr_DsRGetDCNameEx,
14917 "netr_DsRGetSiteName",
14918 sizeof(struct netr_DsRGetSiteName),
14919 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetSiteName,
14920 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetSiteName,
14921 (ndr_print_function_t) ndr_print_netr_DsRGetSiteName,
14925 "netr_LogonGetDomainInfo",
14926 sizeof(struct netr_LogonGetDomainInfo),
14927 (ndr_push_flags_fn_t) ndr_push_netr_LogonGetDomainInfo,
14928 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonGetDomainInfo,
14929 (ndr_print_function_t) ndr_print_netr_LogonGetDomainInfo,
14933 "netr_ServerPasswordSet2",
14934 sizeof(struct netr_ServerPasswordSet2),
14935 (ndr_push_flags_fn_t) ndr_push_netr_ServerPasswordSet2,
14936 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerPasswordSet2,
14937 (ndr_print_function_t) ndr_print_netr_ServerPasswordSet2,
14941 "netr_ServerPasswordGet",
14942 sizeof(struct netr_ServerPasswordGet),
14943 (ndr_push_flags_fn_t) ndr_push_netr_ServerPasswordGet,
14944 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerPasswordGet,
14945 (ndr_print_function_t) ndr_print_netr_ServerPasswordGet,
14949 "netr_NETRLOGONSENDTOSAM",
14950 sizeof(struct netr_NETRLOGONSENDTOSAM),
14951 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONSENDTOSAM,
14952 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONSENDTOSAM,
14953 (ndr_print_function_t) ndr_print_netr_NETRLOGONSENDTOSAM,
14957 "netr_DsRAddressToSitenamesW",
14958 sizeof(struct netr_DsRAddressToSitenamesW),
14959 (ndr_push_flags_fn_t) ndr_push_netr_DsRAddressToSitenamesW,
14960 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRAddressToSitenamesW,
14961 (ndr_print_function_t) ndr_print_netr_DsRAddressToSitenamesW,
14965 "netr_DsRGetDCNameEx2",
14966 sizeof(struct netr_DsRGetDCNameEx2),
14967 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetDCNameEx2,
14968 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetDCNameEx2,
14969 (ndr_print_function_t) ndr_print_netr_DsRGetDCNameEx2,
14973 "netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN",
14974 sizeof(struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN),
14975 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN,
14976 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN,
14977 (ndr_print_function_t) ndr_print_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN,
14981 "netr_NetrEnumerateTrustedDomainsEx",
14982 sizeof(struct netr_NetrEnumerateTrustedDomainsEx),
14983 (ndr_push_flags_fn_t) ndr_push_netr_NetrEnumerateTrustedDomainsEx,
14984 (ndr_pull_flags_fn_t) ndr_pull_netr_NetrEnumerateTrustedDomainsEx,
14985 (ndr_print_function_t) ndr_print_netr_NetrEnumerateTrustedDomainsEx,
14989 "netr_DsRAddressToSitenamesExW",
14990 sizeof(struct netr_DsRAddressToSitenamesExW),
14991 (ndr_push_flags_fn_t) ndr_push_netr_DsRAddressToSitenamesExW,
14992 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRAddressToSitenamesExW,
14993 (ndr_print_function_t) ndr_print_netr_DsRAddressToSitenamesExW,
14997 "netr_DsrGetDcSiteCoverageW",
14998 sizeof(struct netr_DsrGetDcSiteCoverageW),
14999 (ndr_push_flags_fn_t) ndr_push_netr_DsrGetDcSiteCoverageW,
15000 (ndr_pull_flags_fn_t) ndr_pull_netr_DsrGetDcSiteCoverageW,
15001 (ndr_print_function_t) ndr_print_netr_DsrGetDcSiteCoverageW,
15005 "netr_LogonSamLogonEx",
15006 sizeof(struct netr_LogonSamLogonEx),
15007 (ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogonEx,
15008 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogonEx,
15009 (ndr_print_function_t) ndr_print_netr_LogonSamLogonEx,
15013 "netr_DsrEnumerateDomainTrusts",
15014 sizeof(struct netr_DsrEnumerateDomainTrusts),
15015 (ndr_push_flags_fn_t) ndr_push_netr_DsrEnumerateDomainTrusts,
15016 (ndr_pull_flags_fn_t) ndr_pull_netr_DsrEnumerateDomainTrusts,
15017 (ndr_print_function_t) ndr_print_netr_DsrEnumerateDomainTrusts,
15021 "netr_DsrDeregisterDNSHostRecords",
15022 sizeof(struct netr_DsrDeregisterDNSHostRecords),
15023 (ndr_push_flags_fn_t) ndr_push_netr_DsrDeregisterDNSHostRecords,
15024 (ndr_pull_flags_fn_t) ndr_pull_netr_DsrDeregisterDNSHostRecords,
15025 (ndr_print_function_t) ndr_print_netr_DsrDeregisterDNSHostRecords,
15029 "netr_ServerTrustPasswordsGet",
15030 sizeof(struct netr_ServerTrustPasswordsGet),
15031 (ndr_push_flags_fn_t) ndr_push_netr_ServerTrustPasswordsGet,
15032 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerTrustPasswordsGet,
15033 (ndr_print_function_t) ndr_print_netr_ServerTrustPasswordsGet,
15037 "netr_DsRGetForestTrustInformation",
15038 sizeof(struct netr_DsRGetForestTrustInformation),
15039 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetForestTrustInformation,
15040 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetForestTrustInformation,
15041 (ndr_print_function_t) ndr_print_netr_DsRGetForestTrustInformation,
15045 "netr_GetForestTrustInformation",
15046 sizeof(struct netr_GetForestTrustInformation),
15047 (ndr_push_flags_fn_t) ndr_push_netr_GetForestTrustInformation,
15048 (ndr_pull_flags_fn_t) ndr_pull_netr_GetForestTrustInformation,
15049 (ndr_print_function_t) ndr_print_netr_GetForestTrustInformation,
15053 "netr_LogonSamLogonWithFlags",
15054 sizeof(struct netr_LogonSamLogonWithFlags),
15055 (ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogonWithFlags,
15056 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogonWithFlags,
15057 (ndr_print_function_t) ndr_print_netr_LogonSamLogonWithFlags,
15061 "netr_NETRSERVERGETTRUSTINFO",
15062 sizeof(struct netr_NETRSERVERGETTRUSTINFO),
15063 (ndr_push_flags_fn_t) ndr_push_netr_NETRSERVERGETTRUSTINFO,
15064 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRSERVERGETTRUSTINFO,
15065 (ndr_print_function_t) ndr_print_netr_NETRSERVERGETTRUSTINFO,
15068 { NULL, 0, NULL, NULL, NULL, false }
15071 static const char * const netlogon_endpoint_strings[] = {
15072 "ncacn_np:[\\pipe\\netlogon]",
15077 static const struct ndr_interface_string_array netlogon_endpoints = {
15079 .names = netlogon_endpoint_strings
15082 static const char * const netlogon_authservice_strings[] = {
15086 static const struct ndr_interface_string_array netlogon_authservices = {
15088 .names = netlogon_authservice_strings
15092 const struct ndr_interface_table ndr_table_netlogon = {
15093 .name = "netlogon",
15095 {0x12345678,0x1234,0xabcd,{0xef,0x00},{0x01,0x23,0x45,0x67,0xcf,0xfb}},
15096 NDR_NETLOGON_VERSION
15098 .helpstring = NDR_NETLOGON_HELPSTRING,
15100 .calls = netlogon_calls,
15101 .endpoints = &netlogon_endpoints,
15102 .authservices = &netlogon_authservices