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_Blob(struct ndr_push *ndr, int ndr_flags, const struct netr_Blob *r)
5947 if (ndr_flags & NDR_SCALARS) {
5948 NDR_CHECK(ndr_push_align(ndr, 4));
5949 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
5950 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
5952 if (ndr_flags & NDR_BUFFERS) {
5954 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
5955 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
5958 return NDR_ERR_SUCCESS;
5961 static enum ndr_err_code ndr_pull_netr_Blob(struct ndr_pull *ndr, int ndr_flags, struct netr_Blob *r)
5964 TALLOC_CTX *_mem_save_data_0;
5965 if (ndr_flags & NDR_SCALARS) {
5966 NDR_CHECK(ndr_pull_align(ndr, 4));
5967 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
5968 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
5970 NDR_PULL_ALLOC(ndr, r->data);
5975 if (ndr_flags & NDR_BUFFERS) {
5977 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
5978 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
5979 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
5980 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
5981 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data)));
5982 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
5985 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length));
5988 return NDR_ERR_SUCCESS;
5991 _PUBLIC_ void ndr_print_netr_Blob(struct ndr_print *ndr, const char *name, const struct netr_Blob *r)
5993 ndr_print_struct(ndr, name, "netr_Blob");
5995 ndr_print_uint32(ndr, "length", r->length);
5996 ndr_print_ptr(ndr, "data", r->data);
5999 ndr_print_array_uint8(ndr, "data", r->data, r->length);
6005 static enum ndr_err_code ndr_push_netr_DsRGetDCName_flags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
6007 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
6008 return NDR_ERR_SUCCESS;
6011 static enum ndr_err_code ndr_pull_netr_DsRGetDCName_flags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
6014 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
6016 return NDR_ERR_SUCCESS;
6019 _PUBLIC_ void ndr_print_netr_DsRGetDCName_flags(struct ndr_print *ndr, const char *name, uint32_t r)
6021 ndr_print_uint32(ndr, name, r);
6023 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_FORCE_REDISCOVERY", DS_FORCE_REDISCOVERY, r);
6024 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DIRECTORY_SERVICE_REQUIRED", DS_DIRECTORY_SERVICE_REQUIRED, r);
6025 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DIRECTORY_SERVICE_PREFERRED", DS_DIRECTORY_SERVICE_PREFERRED, r);
6026 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_GC_SERVER_REQUIRED", DS_GC_SERVER_REQUIRED, r);
6027 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_PDC_REQUIRED", DS_PDC_REQUIRED, r);
6028 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_BACKGROUND_ONLY", DS_BACKGROUND_ONLY, r);
6029 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_IP_REQUIRED", DS_IP_REQUIRED, r);
6030 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_KDC_REQUIRED", DS_KDC_REQUIRED, r);
6031 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_TIMESERV_REQUIRED", DS_TIMESERV_REQUIRED, r);
6032 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_WRITABLE_REQUIRED", DS_WRITABLE_REQUIRED, r);
6033 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_GOOD_TIMESERV_PREFERRED", DS_GOOD_TIMESERV_PREFERRED, r);
6034 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_AVOID_SELF", DS_AVOID_SELF, r);
6035 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_ONLY_LDAP_NEEDED", DS_ONLY_LDAP_NEEDED, r);
6036 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_IS_FLAT_NAME", DS_IS_FLAT_NAME, r);
6037 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_IS_DNS_NAME", DS_IS_DNS_NAME, r);
6038 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_TRY_NEXTCLOSEST_SITE", DS_TRY_NEXTCLOSEST_SITE, r);
6039 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DIRECTORY_SERVICE_6_REQUIRED", DS_DIRECTORY_SERVICE_6_REQUIRED, r);
6040 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_RETURN_DNS_NAME", DS_RETURN_DNS_NAME, r);
6041 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_RETURN_FLAT_NAME", DS_RETURN_FLAT_NAME, r);
6045 static enum ndr_err_code ndr_push_netr_DsRGetDCNameInfo_AddressType(struct ndr_push *ndr, int ndr_flags, enum netr_DsRGetDCNameInfo_AddressType r)
6047 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
6048 return NDR_ERR_SUCCESS;
6051 static enum ndr_err_code ndr_pull_netr_DsRGetDCNameInfo_AddressType(struct ndr_pull *ndr, int ndr_flags, enum netr_DsRGetDCNameInfo_AddressType *r)
6054 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
6056 return NDR_ERR_SUCCESS;
6059 _PUBLIC_ void ndr_print_netr_DsRGetDCNameInfo_AddressType(struct ndr_print *ndr, const char *name, enum netr_DsRGetDCNameInfo_AddressType r)
6061 const char *val = NULL;
6064 case DS_ADDRESS_TYPE_INET: val = "DS_ADDRESS_TYPE_INET"; break;
6065 case DS_ADDRESS_TYPE_NETBIOS: val = "DS_ADDRESS_TYPE_NETBIOS"; break;
6067 ndr_print_enum(ndr, name, "ENUM", val, r);
6070 static enum ndr_err_code ndr_push_netr_DsR_DcFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
6072 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
6073 return NDR_ERR_SUCCESS;
6076 static enum ndr_err_code ndr_pull_netr_DsR_DcFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
6079 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
6081 return NDR_ERR_SUCCESS;
6084 _PUBLIC_ void ndr_print_netr_DsR_DcFlags(struct ndr_print *ndr, const char *name, uint32_t r)
6086 ndr_print_uint32(ndr, name, r);
6088 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_PDC", DS_SERVER_PDC, r);
6089 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_GC", DS_SERVER_GC, r);
6090 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_LDAP", DS_SERVER_LDAP, r);
6091 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_DS", DS_SERVER_DS, r);
6092 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_KDC", DS_SERVER_KDC, r);
6093 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_TIMESERV", DS_SERVER_TIMESERV, r);
6094 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_CLOSEST", DS_SERVER_CLOSEST, r);
6095 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_WRITABLE", DS_SERVER_WRITABLE, r);
6096 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_GOOD_TIMESERV", DS_SERVER_GOOD_TIMESERV, r);
6097 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_NDNC", DS_SERVER_NDNC, r);
6098 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_SELECT_SECRET_DOMAIN_6", DS_SERVER_SELECT_SECRET_DOMAIN_6, r);
6099 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_FULL_SECRET_DOMAIN_6", DS_SERVER_FULL_SECRET_DOMAIN_6, r);
6100 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DNS_CONTROLLER", DS_DNS_CONTROLLER, r);
6101 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DNS_DOMAIN", DS_DNS_DOMAIN, r);
6102 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DNS_FOREST", DS_DNS_FOREST, r);
6106 _PUBLIC_ enum ndr_err_code ndr_push_netr_DsRGetDCNameInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRGetDCNameInfo *r)
6108 if (ndr_flags & NDR_SCALARS) {
6109 NDR_CHECK(ndr_push_align(ndr, 4));
6110 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dc_unc));
6111 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dc_address));
6112 NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo_AddressType(ndr, NDR_SCALARS, r->dc_address_type));
6113 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->domain_guid));
6114 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_name));
6115 NDR_CHECK(ndr_push_unique_ptr(ndr, r->forest_name));
6116 NDR_CHECK(ndr_push_netr_DsR_DcFlags(ndr, NDR_SCALARS, r->dc_flags));
6117 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dc_site_name));
6118 NDR_CHECK(ndr_push_unique_ptr(ndr, r->client_site_name));
6120 if (ndr_flags & NDR_BUFFERS) {
6122 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_unc, CH_UTF16)));
6123 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6124 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_unc, CH_UTF16)));
6125 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dc_unc, ndr_charset_length(r->dc_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6127 if (r->dc_address) {
6128 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_address, CH_UTF16)));
6129 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6130 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_address, CH_UTF16)));
6131 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dc_address, ndr_charset_length(r->dc_address, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6133 NDR_CHECK(ndr_push_GUID(ndr, NDR_BUFFERS, &r->domain_guid));
6134 if (r->domain_name) {
6135 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
6136 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6137 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
6138 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_name, ndr_charset_length(r->domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6140 if (r->forest_name) {
6141 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->forest_name, CH_UTF16)));
6142 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6143 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->forest_name, CH_UTF16)));
6144 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->forest_name, ndr_charset_length(r->forest_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6146 if (r->dc_site_name) {
6147 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_site_name, CH_UTF16)));
6148 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6149 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_site_name, CH_UTF16)));
6150 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));
6152 if (r->client_site_name) {
6153 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->client_site_name, CH_UTF16)));
6154 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6155 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->client_site_name, CH_UTF16)));
6156 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));
6159 return NDR_ERR_SUCCESS;
6162 _PUBLIC_ enum ndr_err_code ndr_pull_netr_DsRGetDCNameInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRGetDCNameInfo *r)
6164 uint32_t _ptr_dc_unc;
6165 TALLOC_CTX *_mem_save_dc_unc_0;
6166 uint32_t _ptr_dc_address;
6167 TALLOC_CTX *_mem_save_dc_address_0;
6168 uint32_t _ptr_domain_name;
6169 TALLOC_CTX *_mem_save_domain_name_0;
6170 uint32_t _ptr_forest_name;
6171 TALLOC_CTX *_mem_save_forest_name_0;
6172 uint32_t _ptr_dc_site_name;
6173 TALLOC_CTX *_mem_save_dc_site_name_0;
6174 uint32_t _ptr_client_site_name;
6175 TALLOC_CTX *_mem_save_client_site_name_0;
6176 if (ndr_flags & NDR_SCALARS) {
6177 NDR_CHECK(ndr_pull_align(ndr, 4));
6178 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dc_unc));
6180 NDR_PULL_ALLOC(ndr, r->dc_unc);
6184 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dc_address));
6185 if (_ptr_dc_address) {
6186 NDR_PULL_ALLOC(ndr, r->dc_address);
6188 r->dc_address = NULL;
6190 NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo_AddressType(ndr, NDR_SCALARS, &r->dc_address_type));
6191 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->domain_guid));
6192 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
6193 if (_ptr_domain_name) {
6194 NDR_PULL_ALLOC(ndr, r->domain_name);
6196 r->domain_name = NULL;
6198 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_forest_name));
6199 if (_ptr_forest_name) {
6200 NDR_PULL_ALLOC(ndr, r->forest_name);
6202 r->forest_name = NULL;
6204 NDR_CHECK(ndr_pull_netr_DsR_DcFlags(ndr, NDR_SCALARS, &r->dc_flags));
6205 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dc_site_name));
6206 if (_ptr_dc_site_name) {
6207 NDR_PULL_ALLOC(ndr, r->dc_site_name);
6209 r->dc_site_name = NULL;
6211 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_site_name));
6212 if (_ptr_client_site_name) {
6213 NDR_PULL_ALLOC(ndr, r->client_site_name);
6215 r->client_site_name = NULL;
6218 if (ndr_flags & NDR_BUFFERS) {
6220 _mem_save_dc_unc_0 = NDR_PULL_GET_MEM_CTX(ndr);
6221 NDR_PULL_SET_MEM_CTX(ndr, r->dc_unc, 0);
6222 NDR_CHECK(ndr_pull_array_size(ndr, &r->dc_unc));
6223 NDR_CHECK(ndr_pull_array_length(ndr, &r->dc_unc));
6224 if (ndr_get_array_length(ndr, &r->dc_unc) > ndr_get_array_size(ndr, &r->dc_unc)) {
6225 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));
6227 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dc_unc), sizeof(uint16_t)));
6228 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dc_unc, ndr_get_array_length(ndr, &r->dc_unc), sizeof(uint16_t), CH_UTF16));
6229 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dc_unc_0, 0);
6231 if (r->dc_address) {
6232 _mem_save_dc_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
6233 NDR_PULL_SET_MEM_CTX(ndr, r->dc_address, 0);
6234 NDR_CHECK(ndr_pull_array_size(ndr, &r->dc_address));
6235 NDR_CHECK(ndr_pull_array_length(ndr, &r->dc_address));
6236 if (ndr_get_array_length(ndr, &r->dc_address) > ndr_get_array_size(ndr, &r->dc_address)) {
6237 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));
6239 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dc_address), sizeof(uint16_t)));
6240 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dc_address, ndr_get_array_length(ndr, &r->dc_address), sizeof(uint16_t), CH_UTF16));
6241 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dc_address_0, 0);
6243 NDR_CHECK(ndr_pull_GUID(ndr, NDR_BUFFERS, &r->domain_guid));
6244 if (r->domain_name) {
6245 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6246 NDR_PULL_SET_MEM_CTX(ndr, r->domain_name, 0);
6247 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_name));
6248 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_name));
6249 if (ndr_get_array_length(ndr, &r->domain_name) > ndr_get_array_size(ndr, &r->domain_name)) {
6250 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));
6252 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t)));
6253 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t), CH_UTF16));
6254 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
6256 if (r->forest_name) {
6257 _mem_save_forest_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6258 NDR_PULL_SET_MEM_CTX(ndr, r->forest_name, 0);
6259 NDR_CHECK(ndr_pull_array_size(ndr, &r->forest_name));
6260 NDR_CHECK(ndr_pull_array_length(ndr, &r->forest_name));
6261 if (ndr_get_array_length(ndr, &r->forest_name) > ndr_get_array_size(ndr, &r->forest_name)) {
6262 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));
6264 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->forest_name), sizeof(uint16_t)));
6265 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->forest_name, ndr_get_array_length(ndr, &r->forest_name), sizeof(uint16_t), CH_UTF16));
6266 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_name_0, 0);
6268 if (r->dc_site_name) {
6269 _mem_save_dc_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6270 NDR_PULL_SET_MEM_CTX(ndr, r->dc_site_name, 0);
6271 NDR_CHECK(ndr_pull_array_size(ndr, &r->dc_site_name));
6272 NDR_CHECK(ndr_pull_array_length(ndr, &r->dc_site_name));
6273 if (ndr_get_array_length(ndr, &r->dc_site_name) > ndr_get_array_size(ndr, &r->dc_site_name)) {
6274 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));
6276 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dc_site_name), sizeof(uint16_t)));
6277 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));
6278 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dc_site_name_0, 0);
6280 if (r->client_site_name) {
6281 _mem_save_client_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6282 NDR_PULL_SET_MEM_CTX(ndr, r->client_site_name, 0);
6283 NDR_CHECK(ndr_pull_array_size(ndr, &r->client_site_name));
6284 NDR_CHECK(ndr_pull_array_length(ndr, &r->client_site_name));
6285 if (ndr_get_array_length(ndr, &r->client_site_name) > ndr_get_array_size(ndr, &r->client_site_name)) {
6286 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));
6288 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->client_site_name), sizeof(uint16_t)));
6289 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));
6290 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_site_name_0, 0);
6293 return NDR_ERR_SUCCESS;
6296 _PUBLIC_ void ndr_print_netr_DsRGetDCNameInfo(struct ndr_print *ndr, const char *name, const struct netr_DsRGetDCNameInfo *r)
6298 ndr_print_struct(ndr, name, "netr_DsRGetDCNameInfo");
6300 ndr_print_ptr(ndr, "dc_unc", r->dc_unc);
6303 ndr_print_string(ndr, "dc_unc", r->dc_unc);
6306 ndr_print_ptr(ndr, "dc_address", r->dc_address);
6308 if (r->dc_address) {
6309 ndr_print_string(ndr, "dc_address", r->dc_address);
6312 ndr_print_netr_DsRGetDCNameInfo_AddressType(ndr, "dc_address_type", r->dc_address_type);
6313 ndr_print_GUID(ndr, "domain_guid", &r->domain_guid);
6314 ndr_print_ptr(ndr, "domain_name", r->domain_name);
6316 if (r->domain_name) {
6317 ndr_print_string(ndr, "domain_name", r->domain_name);
6320 ndr_print_ptr(ndr, "forest_name", r->forest_name);
6322 if (r->forest_name) {
6323 ndr_print_string(ndr, "forest_name", r->forest_name);
6326 ndr_print_netr_DsR_DcFlags(ndr, "dc_flags", r->dc_flags);
6327 ndr_print_ptr(ndr, "dc_site_name", r->dc_site_name);
6329 if (r->dc_site_name) {
6330 ndr_print_string(ndr, "dc_site_name", r->dc_site_name);
6333 ndr_print_ptr(ndr, "client_site_name", r->client_site_name);
6335 if (r->client_site_name) {
6336 ndr_print_string(ndr, "client_site_name", r->client_site_name);
6342 static enum ndr_err_code ndr_push_netr_BinaryString(struct ndr_push *ndr, int ndr_flags, const struct netr_BinaryString *r)
6344 uint32_t cntr_data_1;
6346 uint32_t _flags_save_STRUCT = ndr->flags;
6347 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
6348 if (ndr_flags & NDR_SCALARS) {
6349 NDR_CHECK(ndr_push_align(ndr, 4));
6350 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
6351 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->size));
6352 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
6354 if (ndr_flags & NDR_BUFFERS) {
6356 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size / 2));
6357 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6358 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length / 2));
6359 for (cntr_data_1 = 0; cntr_data_1 < r->length / 2; cntr_data_1++) {
6360 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->data[cntr_data_1]));
6364 ndr->flags = _flags_save_STRUCT;
6366 return NDR_ERR_SUCCESS;
6369 static enum ndr_err_code ndr_pull_netr_BinaryString(struct ndr_pull *ndr, int ndr_flags, struct netr_BinaryString *r)
6372 uint32_t cntr_data_1;
6373 TALLOC_CTX *_mem_save_data_0;
6374 TALLOC_CTX *_mem_save_data_1;
6376 uint32_t _flags_save_STRUCT = ndr->flags;
6377 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
6378 if (ndr_flags & NDR_SCALARS) {
6379 NDR_CHECK(ndr_pull_align(ndr, 4));
6380 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
6381 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
6382 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
6384 NDR_PULL_ALLOC(ndr, r->data);
6389 if (ndr_flags & NDR_BUFFERS) {
6391 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
6392 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
6393 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
6394 NDR_CHECK(ndr_pull_array_length(ndr, &r->data));
6395 if (ndr_get_array_length(ndr, &r->data) > ndr_get_array_size(ndr, &r->data)) {
6396 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));
6398 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
6399 _mem_save_data_1 = NDR_PULL_GET_MEM_CTX(ndr);
6400 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
6401 for (cntr_data_1 = 0; cntr_data_1 < r->length / 2; cntr_data_1++) {
6402 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->data[cntr_data_1]));
6404 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_1, 0);
6405 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
6408 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->size / 2));
6411 NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->data, r->length / 2));
6414 ndr->flags = _flags_save_STRUCT;
6416 return NDR_ERR_SUCCESS;
6419 _PUBLIC_ void ndr_print_netr_BinaryString(struct ndr_print *ndr, const char *name, const struct netr_BinaryString *r)
6421 uint32_t cntr_data_1;
6422 ndr_print_struct(ndr, name, "netr_BinaryString");
6424 uint32_t _flags_save_STRUCT = ndr->flags;
6425 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
6427 ndr_print_uint16(ndr, "length", r->length);
6428 ndr_print_uint16(ndr, "size", r->size);
6429 ndr_print_ptr(ndr, "data", r->data);
6432 ndr->print(ndr, "%s: ARRAY(%d)", "data", r->length / 2);
6434 for (cntr_data_1=0;cntr_data_1<r->length / 2;cntr_data_1++) {
6436 if (asprintf(&idx_1, "[%d]", cntr_data_1) != -1) {
6437 ndr_print_uint16(ndr, "data", r->data[cntr_data_1]);
6445 ndr->flags = _flags_save_STRUCT;
6449 static enum ndr_err_code ndr_push_netr_DomainQuery1(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainQuery1 *r)
6451 uint32_t cntr_unknown7_0;
6452 if (ndr_flags & NDR_SCALARS) {
6453 NDR_CHECK(ndr_push_align(ndr, 4));
6454 NDR_CHECK(ndr_push_netr_Blob(ndr, NDR_SCALARS, &r->blob));
6455 NDR_CHECK(ndr_push_unique_ptr(ndr, r->workstation_domain));
6456 NDR_CHECK(ndr_push_unique_ptr(ndr, r->workstation_site));
6457 NDR_CHECK(ndr_push_unique_ptr(ndr, r->unknown1));
6458 NDR_CHECK(ndr_push_unique_ptr(ndr, r->unknown2));
6459 NDR_CHECK(ndr_push_unique_ptr(ndr, r->unknown3));
6460 NDR_CHECK(ndr_push_unique_ptr(ndr, r->unknown4));
6461 NDR_CHECK(ndr_push_netr_BinaryString(ndr, NDR_SCALARS, &r->blob2));
6462 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->product));
6463 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown5));
6464 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown6));
6465 for (cntr_unknown7_0 = 0; cntr_unknown7_0 < 4; cntr_unknown7_0++) {
6466 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7[cntr_unknown7_0]));
6469 if (ndr_flags & NDR_BUFFERS) {
6470 NDR_CHECK(ndr_push_netr_Blob(ndr, NDR_BUFFERS, &r->blob));
6471 if (r->workstation_domain) {
6472 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->workstation_domain, CH_UTF16)));
6473 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6474 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->workstation_domain, CH_UTF16)));
6475 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->workstation_domain, ndr_charset_length(r->workstation_domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6477 if (r->workstation_site) {
6478 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->workstation_site, CH_UTF16)));
6479 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6480 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->workstation_site, CH_UTF16)));
6481 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->workstation_site, ndr_charset_length(r->workstation_site, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6484 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown1, CH_UTF16)));
6485 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6486 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown1, CH_UTF16)));
6487 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->unknown1, ndr_charset_length(r->unknown1, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6490 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown2, CH_UTF16)));
6491 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6492 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown2, CH_UTF16)));
6493 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->unknown2, ndr_charset_length(r->unknown2, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6496 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown3, CH_UTF16)));
6497 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6498 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown3, CH_UTF16)));
6499 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->unknown3, ndr_charset_length(r->unknown3, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6502 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown4, CH_UTF16)));
6503 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6504 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown4, CH_UTF16)));
6505 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->unknown4, ndr_charset_length(r->unknown4, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6507 NDR_CHECK(ndr_push_netr_BinaryString(ndr, NDR_BUFFERS, &r->blob2));
6508 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->product));
6509 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown5));
6510 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown6));
6512 return NDR_ERR_SUCCESS;
6515 static enum ndr_err_code ndr_pull_netr_DomainQuery1(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainQuery1 *r)
6517 uint32_t _ptr_workstation_domain;
6518 TALLOC_CTX *_mem_save_workstation_domain_0;
6519 uint32_t _ptr_workstation_site;
6520 TALLOC_CTX *_mem_save_workstation_site_0;
6521 uint32_t _ptr_unknown1;
6522 TALLOC_CTX *_mem_save_unknown1_0;
6523 uint32_t _ptr_unknown2;
6524 TALLOC_CTX *_mem_save_unknown2_0;
6525 uint32_t _ptr_unknown3;
6526 TALLOC_CTX *_mem_save_unknown3_0;
6527 uint32_t _ptr_unknown4;
6528 TALLOC_CTX *_mem_save_unknown4_0;
6529 uint32_t cntr_unknown7_0;
6530 if (ndr_flags & NDR_SCALARS) {
6531 NDR_CHECK(ndr_pull_align(ndr, 4));
6532 NDR_CHECK(ndr_pull_netr_Blob(ndr, NDR_SCALARS, &r->blob));
6533 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_workstation_domain));
6534 if (_ptr_workstation_domain) {
6535 NDR_PULL_ALLOC(ndr, r->workstation_domain);
6537 r->workstation_domain = NULL;
6539 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_workstation_site));
6540 if (_ptr_workstation_site) {
6541 NDR_PULL_ALLOC(ndr, r->workstation_site);
6543 r->workstation_site = NULL;
6545 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown1));
6546 if (_ptr_unknown1) {
6547 NDR_PULL_ALLOC(ndr, r->unknown1);
6551 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown2));
6552 if (_ptr_unknown2) {
6553 NDR_PULL_ALLOC(ndr, r->unknown2);
6557 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown3));
6558 if (_ptr_unknown3) {
6559 NDR_PULL_ALLOC(ndr, r->unknown3);
6563 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown4));
6564 if (_ptr_unknown4) {
6565 NDR_PULL_ALLOC(ndr, r->unknown4);
6569 NDR_CHECK(ndr_pull_netr_BinaryString(ndr, NDR_SCALARS, &r->blob2));
6570 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->product));
6571 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown5));
6572 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown6));
6573 for (cntr_unknown7_0 = 0; cntr_unknown7_0 < 4; cntr_unknown7_0++) {
6574 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7[cntr_unknown7_0]));
6577 if (ndr_flags & NDR_BUFFERS) {
6578 NDR_CHECK(ndr_pull_netr_Blob(ndr, NDR_BUFFERS, &r->blob));
6579 if (r->workstation_domain) {
6580 _mem_save_workstation_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
6581 NDR_PULL_SET_MEM_CTX(ndr, r->workstation_domain, 0);
6582 NDR_CHECK(ndr_pull_array_size(ndr, &r->workstation_domain));
6583 NDR_CHECK(ndr_pull_array_length(ndr, &r->workstation_domain));
6584 if (ndr_get_array_length(ndr, &r->workstation_domain) > ndr_get_array_size(ndr, &r->workstation_domain)) {
6585 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));
6587 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->workstation_domain), sizeof(uint16_t)));
6588 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->workstation_domain, ndr_get_array_length(ndr, &r->workstation_domain), sizeof(uint16_t), CH_UTF16));
6589 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_workstation_domain_0, 0);
6591 if (r->workstation_site) {
6592 _mem_save_workstation_site_0 = NDR_PULL_GET_MEM_CTX(ndr);
6593 NDR_PULL_SET_MEM_CTX(ndr, r->workstation_site, 0);
6594 NDR_CHECK(ndr_pull_array_size(ndr, &r->workstation_site));
6595 NDR_CHECK(ndr_pull_array_length(ndr, &r->workstation_site));
6596 if (ndr_get_array_length(ndr, &r->workstation_site) > ndr_get_array_size(ndr, &r->workstation_site)) {
6597 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));
6599 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->workstation_site), sizeof(uint16_t)));
6600 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->workstation_site, ndr_get_array_length(ndr, &r->workstation_site), sizeof(uint16_t), CH_UTF16));
6601 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_workstation_site_0, 0);
6604 _mem_save_unknown1_0 = NDR_PULL_GET_MEM_CTX(ndr);
6605 NDR_PULL_SET_MEM_CTX(ndr, r->unknown1, 0);
6606 NDR_CHECK(ndr_pull_array_size(ndr, &r->unknown1));
6607 NDR_CHECK(ndr_pull_array_length(ndr, &r->unknown1));
6608 if (ndr_get_array_length(ndr, &r->unknown1) > ndr_get_array_size(ndr, &r->unknown1)) {
6609 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));
6611 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->unknown1), sizeof(uint16_t)));
6612 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->unknown1, ndr_get_array_length(ndr, &r->unknown1), sizeof(uint16_t), CH_UTF16));
6613 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown1_0, 0);
6616 _mem_save_unknown2_0 = NDR_PULL_GET_MEM_CTX(ndr);
6617 NDR_PULL_SET_MEM_CTX(ndr, r->unknown2, 0);
6618 NDR_CHECK(ndr_pull_array_size(ndr, &r->unknown2));
6619 NDR_CHECK(ndr_pull_array_length(ndr, &r->unknown2));
6620 if (ndr_get_array_length(ndr, &r->unknown2) > ndr_get_array_size(ndr, &r->unknown2)) {
6621 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));
6623 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->unknown2), sizeof(uint16_t)));
6624 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->unknown2, ndr_get_array_length(ndr, &r->unknown2), sizeof(uint16_t), CH_UTF16));
6625 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown2_0, 0);
6628 _mem_save_unknown3_0 = NDR_PULL_GET_MEM_CTX(ndr);
6629 NDR_PULL_SET_MEM_CTX(ndr, r->unknown3, 0);
6630 NDR_CHECK(ndr_pull_array_size(ndr, &r->unknown3));
6631 NDR_CHECK(ndr_pull_array_length(ndr, &r->unknown3));
6632 if (ndr_get_array_length(ndr, &r->unknown3) > ndr_get_array_size(ndr, &r->unknown3)) {
6633 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));
6635 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->unknown3), sizeof(uint16_t)));
6636 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->unknown3, ndr_get_array_length(ndr, &r->unknown3), sizeof(uint16_t), CH_UTF16));
6637 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown3_0, 0);
6640 _mem_save_unknown4_0 = NDR_PULL_GET_MEM_CTX(ndr);
6641 NDR_PULL_SET_MEM_CTX(ndr, r->unknown4, 0);
6642 NDR_CHECK(ndr_pull_array_size(ndr, &r->unknown4));
6643 NDR_CHECK(ndr_pull_array_length(ndr, &r->unknown4));
6644 if (ndr_get_array_length(ndr, &r->unknown4) > ndr_get_array_size(ndr, &r->unknown4)) {
6645 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));
6647 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->unknown4), sizeof(uint16_t)));
6648 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->unknown4, ndr_get_array_length(ndr, &r->unknown4), sizeof(uint16_t), CH_UTF16));
6649 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown4_0, 0);
6651 NDR_CHECK(ndr_pull_netr_BinaryString(ndr, NDR_BUFFERS, &r->blob2));
6652 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->product));
6653 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown5));
6654 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown6));
6656 return NDR_ERR_SUCCESS;
6659 _PUBLIC_ void ndr_print_netr_DomainQuery1(struct ndr_print *ndr, const char *name, const struct netr_DomainQuery1 *r)
6661 uint32_t cntr_unknown7_0;
6662 ndr_print_struct(ndr, name, "netr_DomainQuery1");
6664 ndr_print_netr_Blob(ndr, "blob", &r->blob);
6665 ndr_print_ptr(ndr, "workstation_domain", r->workstation_domain);
6667 if (r->workstation_domain) {
6668 ndr_print_string(ndr, "workstation_domain", r->workstation_domain);
6671 ndr_print_ptr(ndr, "workstation_site", r->workstation_site);
6673 if (r->workstation_site) {
6674 ndr_print_string(ndr, "workstation_site", r->workstation_site);
6677 ndr_print_ptr(ndr, "unknown1", r->unknown1);
6680 ndr_print_string(ndr, "unknown1", r->unknown1);
6683 ndr_print_ptr(ndr, "unknown2", r->unknown2);
6686 ndr_print_string(ndr, "unknown2", r->unknown2);
6689 ndr_print_ptr(ndr, "unknown3", r->unknown3);
6692 ndr_print_string(ndr, "unknown3", r->unknown3);
6695 ndr_print_ptr(ndr, "unknown4", r->unknown4);
6698 ndr_print_string(ndr, "unknown4", r->unknown4);
6701 ndr_print_netr_BinaryString(ndr, "blob2", &r->blob2);
6702 ndr_print_lsa_String(ndr, "product", &r->product);
6703 ndr_print_lsa_String(ndr, "unknown5", &r->unknown5);
6704 ndr_print_lsa_String(ndr, "unknown6", &r->unknown6);
6705 ndr->print(ndr, "%s: ARRAY(%d)", "unknown7", 4);
6707 for (cntr_unknown7_0=0;cntr_unknown7_0<4;cntr_unknown7_0++) {
6709 if (asprintf(&idx_0, "[%d]", cntr_unknown7_0) != -1) {
6710 ndr_print_uint32(ndr, "unknown7", r->unknown7[cntr_unknown7_0]);
6718 static enum ndr_err_code ndr_push_netr_DomainQuery(struct ndr_push *ndr, int ndr_flags, const union netr_DomainQuery *r)
6720 if (ndr_flags & NDR_SCALARS) {
6721 int level = ndr_push_get_switch_value(ndr, r);
6722 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
6725 NDR_CHECK(ndr_push_unique_ptr(ndr, r->query1));
6729 NDR_CHECK(ndr_push_unique_ptr(ndr, r->query1));
6733 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
6736 if (ndr_flags & NDR_BUFFERS) {
6737 int level = ndr_push_get_switch_value(ndr, r);
6741 NDR_CHECK(ndr_push_netr_DomainQuery1(ndr, NDR_SCALARS|NDR_BUFFERS, r->query1));
6747 NDR_CHECK(ndr_push_netr_DomainQuery1(ndr, NDR_SCALARS|NDR_BUFFERS, r->query1));
6752 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
6755 return NDR_ERR_SUCCESS;
6758 static enum ndr_err_code ndr_pull_netr_DomainQuery(struct ndr_pull *ndr, int ndr_flags, union netr_DomainQuery *r)
6762 TALLOC_CTX *_mem_save_query1_0;
6763 level = ndr_pull_get_switch_value(ndr, r);
6764 if (ndr_flags & NDR_SCALARS) {
6765 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
6766 if (_level != level) {
6767 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
6771 uint32_t _ptr_query1;
6772 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_query1));
6774 NDR_PULL_ALLOC(ndr, r->query1);
6781 uint32_t _ptr_query1;
6782 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_query1));
6784 NDR_PULL_ALLOC(ndr, r->query1);
6791 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
6794 if (ndr_flags & NDR_BUFFERS) {
6798 _mem_save_query1_0 = NDR_PULL_GET_MEM_CTX(ndr);
6799 NDR_PULL_SET_MEM_CTX(ndr, r->query1, 0);
6800 NDR_CHECK(ndr_pull_netr_DomainQuery1(ndr, NDR_SCALARS|NDR_BUFFERS, r->query1));
6801 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query1_0, 0);
6807 _mem_save_query1_0 = NDR_PULL_GET_MEM_CTX(ndr);
6808 NDR_PULL_SET_MEM_CTX(ndr, r->query1, 0);
6809 NDR_CHECK(ndr_pull_netr_DomainQuery1(ndr, NDR_SCALARS|NDR_BUFFERS, r->query1));
6810 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query1_0, 0);
6815 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
6818 return NDR_ERR_SUCCESS;
6821 _PUBLIC_ void ndr_print_netr_DomainQuery(struct ndr_print *ndr, const char *name, const union netr_DomainQuery *r)
6824 level = ndr_print_get_switch_value(ndr, r);
6825 ndr_print_union(ndr, name, level, "netr_DomainQuery");
6828 ndr_print_ptr(ndr, "query1", r->query1);
6831 ndr_print_netr_DomainQuery1(ndr, "query1", r->query1);
6837 ndr_print_ptr(ndr, "query1", r->query1);
6840 ndr_print_netr_DomainQuery1(ndr, "query1", r->query1);
6846 ndr_print_bad_level(ndr, name, level);
6850 static enum ndr_err_code ndr_push_netr_DomainTrustInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainTrustInfo *r)
6852 uint32_t cntr_unknown1_0;
6853 uint32_t cntr_unknown_0;
6854 if (ndr_flags & NDR_SCALARS) {
6855 NDR_CHECK(ndr_push_align(ndr, 4));
6856 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domainname));
6857 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->fulldomainname));
6858 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->forest));
6859 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
6860 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
6861 for (cntr_unknown1_0 = 0; cntr_unknown1_0 < 4; cntr_unknown1_0++) {
6862 NDR_CHECK(ndr_push_netr_BinaryString(ndr, NDR_SCALARS, &r->unknown1[cntr_unknown1_0]));
6864 for (cntr_unknown_0 = 0; cntr_unknown_0 < 4; cntr_unknown_0++) {
6865 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown[cntr_unknown_0]));
6868 if (ndr_flags & NDR_BUFFERS) {
6869 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domainname));
6870 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->fulldomainname));
6871 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->forest));
6872 NDR_CHECK(ndr_push_GUID(ndr, NDR_BUFFERS, &r->guid));
6874 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
6876 for (cntr_unknown1_0 = 0; cntr_unknown1_0 < 4; cntr_unknown1_0++) {
6877 NDR_CHECK(ndr_push_netr_BinaryString(ndr, NDR_BUFFERS, &r->unknown1[cntr_unknown1_0]));
6880 return NDR_ERR_SUCCESS;
6883 static enum ndr_err_code ndr_pull_netr_DomainTrustInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainTrustInfo *r)
6886 TALLOC_CTX *_mem_save_sid_0;
6887 uint32_t cntr_unknown1_0;
6888 uint32_t cntr_unknown_0;
6889 if (ndr_flags & NDR_SCALARS) {
6890 NDR_CHECK(ndr_pull_align(ndr, 4));
6891 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domainname));
6892 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->fulldomainname));
6893 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->forest));
6894 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
6895 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
6897 NDR_PULL_ALLOC(ndr, r->sid);
6901 for (cntr_unknown1_0 = 0; cntr_unknown1_0 < 4; cntr_unknown1_0++) {
6902 NDR_CHECK(ndr_pull_netr_BinaryString(ndr, NDR_SCALARS, &r->unknown1[cntr_unknown1_0]));
6904 for (cntr_unknown_0 = 0; cntr_unknown_0 < 4; cntr_unknown_0++) {
6905 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown[cntr_unknown_0]));
6908 if (ndr_flags & NDR_BUFFERS) {
6909 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domainname));
6910 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->fulldomainname));
6911 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->forest));
6912 NDR_CHECK(ndr_pull_GUID(ndr, NDR_BUFFERS, &r->guid));
6914 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
6915 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
6916 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
6917 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
6919 for (cntr_unknown1_0 = 0; cntr_unknown1_0 < 4; cntr_unknown1_0++) {
6920 NDR_CHECK(ndr_pull_netr_BinaryString(ndr, NDR_BUFFERS, &r->unknown1[cntr_unknown1_0]));
6923 return NDR_ERR_SUCCESS;
6926 _PUBLIC_ void ndr_print_netr_DomainTrustInfo(struct ndr_print *ndr, const char *name, const struct netr_DomainTrustInfo *r)
6928 uint32_t cntr_unknown1_0;
6929 uint32_t cntr_unknown_0;
6930 ndr_print_struct(ndr, name, "netr_DomainTrustInfo");
6932 ndr_print_lsa_String(ndr, "domainname", &r->domainname);
6933 ndr_print_lsa_String(ndr, "fulldomainname", &r->fulldomainname);
6934 ndr_print_lsa_String(ndr, "forest", &r->forest);
6935 ndr_print_GUID(ndr, "guid", &r->guid);
6936 ndr_print_ptr(ndr, "sid", r->sid);
6939 ndr_print_dom_sid2(ndr, "sid", r->sid);
6942 ndr->print(ndr, "%s: ARRAY(%d)", "unknown1", 4);
6944 for (cntr_unknown1_0=0;cntr_unknown1_0<4;cntr_unknown1_0++) {
6946 if (asprintf(&idx_0, "[%d]", cntr_unknown1_0) != -1) {
6947 ndr_print_netr_BinaryString(ndr, "unknown1", &r->unknown1[cntr_unknown1_0]);
6952 ndr->print(ndr, "%s: ARRAY(%d)", "unknown", 4);
6954 for (cntr_unknown_0=0;cntr_unknown_0<4;cntr_unknown_0++) {
6956 if (asprintf(&idx_0, "[%d]", cntr_unknown_0) != -1) {
6957 ndr_print_uint32(ndr, "unknown", r->unknown[cntr_unknown_0]);
6965 static enum ndr_err_code ndr_push_netr_DomainInfo1(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainInfo1 *r)
6967 uint32_t cntr_trusts_1;
6968 uint32_t cntr_unknown_0;
6969 if (ndr_flags & NDR_SCALARS) {
6970 NDR_CHECK(ndr_push_align(ndr, 4));
6971 NDR_CHECK(ndr_push_netr_DomainTrustInfo(ndr, NDR_SCALARS, &r->domaininfo));
6972 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_trusts));
6973 NDR_CHECK(ndr_push_unique_ptr(ndr, r->trusts));
6974 for (cntr_unknown_0 = 0; cntr_unknown_0 < 14; cntr_unknown_0++) {
6975 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown[cntr_unknown_0]));
6978 if (ndr_flags & NDR_BUFFERS) {
6979 NDR_CHECK(ndr_push_netr_DomainTrustInfo(ndr, NDR_BUFFERS, &r->domaininfo));
6981 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_trusts));
6982 for (cntr_trusts_1 = 0; cntr_trusts_1 < r->num_trusts; cntr_trusts_1++) {
6983 NDR_CHECK(ndr_push_netr_DomainTrustInfo(ndr, NDR_SCALARS, &r->trusts[cntr_trusts_1]));
6985 for (cntr_trusts_1 = 0; cntr_trusts_1 < r->num_trusts; cntr_trusts_1++) {
6986 NDR_CHECK(ndr_push_netr_DomainTrustInfo(ndr, NDR_BUFFERS, &r->trusts[cntr_trusts_1]));
6990 return NDR_ERR_SUCCESS;
6993 static enum ndr_err_code ndr_pull_netr_DomainInfo1(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainInfo1 *r)
6995 uint32_t _ptr_trusts;
6996 uint32_t cntr_trusts_1;
6997 TALLOC_CTX *_mem_save_trusts_0;
6998 TALLOC_CTX *_mem_save_trusts_1;
6999 uint32_t cntr_unknown_0;
7000 if (ndr_flags & NDR_SCALARS) {
7001 NDR_CHECK(ndr_pull_align(ndr, 4));
7002 NDR_CHECK(ndr_pull_netr_DomainTrustInfo(ndr, NDR_SCALARS, &r->domaininfo));
7003 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_trusts));
7004 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusts));
7006 NDR_PULL_ALLOC(ndr, r->trusts);
7010 for (cntr_unknown_0 = 0; cntr_unknown_0 < 14; cntr_unknown_0++) {
7011 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown[cntr_unknown_0]));
7014 if (ndr_flags & NDR_BUFFERS) {
7015 NDR_CHECK(ndr_pull_netr_DomainTrustInfo(ndr, NDR_BUFFERS, &r->domaininfo));
7017 _mem_save_trusts_0 = NDR_PULL_GET_MEM_CTX(ndr);
7018 NDR_PULL_SET_MEM_CTX(ndr, r->trusts, 0);
7019 NDR_CHECK(ndr_pull_array_size(ndr, &r->trusts));
7020 NDR_PULL_ALLOC_N(ndr, r->trusts, ndr_get_array_size(ndr, &r->trusts));
7021 _mem_save_trusts_1 = NDR_PULL_GET_MEM_CTX(ndr);
7022 NDR_PULL_SET_MEM_CTX(ndr, r->trusts, 0);
7023 for (cntr_trusts_1 = 0; cntr_trusts_1 < r->num_trusts; cntr_trusts_1++) {
7024 NDR_CHECK(ndr_pull_netr_DomainTrustInfo(ndr, NDR_SCALARS, &r->trusts[cntr_trusts_1]));
7026 for (cntr_trusts_1 = 0; cntr_trusts_1 < r->num_trusts; cntr_trusts_1++) {
7027 NDR_CHECK(ndr_pull_netr_DomainTrustInfo(ndr, NDR_BUFFERS, &r->trusts[cntr_trusts_1]));
7029 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusts_1, 0);
7030 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusts_0, 0);
7033 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->trusts, r->num_trusts));
7036 return NDR_ERR_SUCCESS;
7039 _PUBLIC_ void ndr_print_netr_DomainInfo1(struct ndr_print *ndr, const char *name, const struct netr_DomainInfo1 *r)
7041 uint32_t cntr_trusts_1;
7042 uint32_t cntr_unknown_0;
7043 ndr_print_struct(ndr, name, "netr_DomainInfo1");
7045 ndr_print_netr_DomainTrustInfo(ndr, "domaininfo", &r->domaininfo);
7046 ndr_print_uint32(ndr, "num_trusts", r->num_trusts);
7047 ndr_print_ptr(ndr, "trusts", r->trusts);
7050 ndr->print(ndr, "%s: ARRAY(%d)", "trusts", r->num_trusts);
7052 for (cntr_trusts_1=0;cntr_trusts_1<r->num_trusts;cntr_trusts_1++) {
7054 if (asprintf(&idx_1, "[%d]", cntr_trusts_1) != -1) {
7055 ndr_print_netr_DomainTrustInfo(ndr, "trusts", &r->trusts[cntr_trusts_1]);
7062 ndr->print(ndr, "%s: ARRAY(%d)", "unknown", 14);
7064 for (cntr_unknown_0=0;cntr_unknown_0<14;cntr_unknown_0++) {
7066 if (asprintf(&idx_0, "[%d]", cntr_unknown_0) != -1) {
7067 ndr_print_uint32(ndr, "unknown", r->unknown[cntr_unknown_0]);
7075 static enum ndr_err_code ndr_push_netr_DomainInfo(struct ndr_push *ndr, int ndr_flags, const union netr_DomainInfo *r)
7077 if (ndr_flags & NDR_SCALARS) {
7078 int level = ndr_push_get_switch_value(ndr, r);
7079 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
7082 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1));
7086 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1));
7090 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7093 if (ndr_flags & NDR_BUFFERS) {
7094 int level = ndr_push_get_switch_value(ndr, r);
7098 NDR_CHECK(ndr_push_netr_DomainInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
7104 NDR_CHECK(ndr_push_netr_DomainInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
7109 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7112 return NDR_ERR_SUCCESS;
7115 static enum ndr_err_code ndr_pull_netr_DomainInfo(struct ndr_pull *ndr, int ndr_flags, union netr_DomainInfo *r)
7119 TALLOC_CTX *_mem_save_info1_0;
7120 level = ndr_pull_get_switch_value(ndr, r);
7121 if (ndr_flags & NDR_SCALARS) {
7122 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
7123 if (_level != level) {
7124 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
7128 uint32_t _ptr_info1;
7129 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1));
7131 NDR_PULL_ALLOC(ndr, r->info1);
7138 uint32_t _ptr_info1;
7139 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1));
7141 NDR_PULL_ALLOC(ndr, r->info1);
7148 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7151 if (ndr_flags & NDR_BUFFERS) {
7155 _mem_save_info1_0 = NDR_PULL_GET_MEM_CTX(ndr);
7156 NDR_PULL_SET_MEM_CTX(ndr, r->info1, 0);
7157 NDR_CHECK(ndr_pull_netr_DomainInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
7158 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1_0, 0);
7164 _mem_save_info1_0 = NDR_PULL_GET_MEM_CTX(ndr);
7165 NDR_PULL_SET_MEM_CTX(ndr, r->info1, 0);
7166 NDR_CHECK(ndr_pull_netr_DomainInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
7167 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1_0, 0);
7172 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7175 return NDR_ERR_SUCCESS;
7178 _PUBLIC_ void ndr_print_netr_DomainInfo(struct ndr_print *ndr, const char *name, const union netr_DomainInfo *r)
7181 level = ndr_print_get_switch_value(ndr, r);
7182 ndr_print_union(ndr, name, level, "netr_DomainInfo");
7185 ndr_print_ptr(ndr, "info1", r->info1);
7188 ndr_print_netr_DomainInfo1(ndr, "info1", r->info1);
7194 ndr_print_ptr(ndr, "info1", r->info1);
7197 ndr_print_netr_DomainInfo1(ndr, "info1", r->info1);
7203 ndr_print_bad_level(ndr, name, level);
7207 static enum ndr_err_code ndr_push_netr_CryptPassword(struct ndr_push *ndr, int ndr_flags, const struct netr_CryptPassword *r)
7210 uint32_t _flags_save_STRUCT = ndr->flags;
7211 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
7212 if (ndr_flags & NDR_SCALARS) {
7213 NDR_CHECK(ndr_push_align(ndr, 4));
7214 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, 512));
7215 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
7217 if (ndr_flags & NDR_BUFFERS) {
7219 ndr->flags = _flags_save_STRUCT;
7221 return NDR_ERR_SUCCESS;
7224 static enum ndr_err_code ndr_pull_netr_CryptPassword(struct ndr_pull *ndr, int ndr_flags, struct netr_CryptPassword *r)
7227 uint32_t _flags_save_STRUCT = ndr->flags;
7228 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
7229 if (ndr_flags & NDR_SCALARS) {
7230 NDR_CHECK(ndr_pull_align(ndr, 4));
7231 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, 512));
7232 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
7234 if (ndr_flags & NDR_BUFFERS) {
7236 ndr->flags = _flags_save_STRUCT;
7238 return NDR_ERR_SUCCESS;
7241 _PUBLIC_ void ndr_print_netr_CryptPassword(struct ndr_print *ndr, const char *name, const struct netr_CryptPassword *r)
7243 ndr_print_struct(ndr, name, "netr_CryptPassword");
7245 uint32_t _flags_save_STRUCT = ndr->flags;
7246 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
7248 ndr_print_array_uint8(ndr, "data", r->data, 512);
7249 ndr_print_uint32(ndr, "length", r->length);
7251 ndr->flags = _flags_save_STRUCT;
7255 static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesWCtr(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRAddressToSitenamesWCtr *r)
7257 uint32_t cntr_sitename_1;
7258 if (ndr_flags & NDR_SCALARS) {
7259 NDR_CHECK(ndr_push_align(ndr, 4));
7260 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7261 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sitename));
7263 if (ndr_flags & NDR_BUFFERS) {
7265 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7266 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
7267 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1]));
7269 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
7270 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1]));
7274 return NDR_ERR_SUCCESS;
7277 static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesWCtr(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRAddressToSitenamesWCtr *r)
7279 uint32_t _ptr_sitename;
7280 uint32_t cntr_sitename_1;
7281 TALLOC_CTX *_mem_save_sitename_0;
7282 TALLOC_CTX *_mem_save_sitename_1;
7283 if (ndr_flags & NDR_SCALARS) {
7284 NDR_CHECK(ndr_pull_align(ndr, 4));
7285 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
7286 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sitename));
7287 if (_ptr_sitename) {
7288 NDR_PULL_ALLOC(ndr, r->sitename);
7293 if (ndr_flags & NDR_BUFFERS) {
7295 _mem_save_sitename_0 = NDR_PULL_GET_MEM_CTX(ndr);
7296 NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
7297 NDR_CHECK(ndr_pull_array_size(ndr, &r->sitename));
7298 NDR_PULL_ALLOC_N(ndr, r->sitename, ndr_get_array_size(ndr, &r->sitename));
7299 _mem_save_sitename_1 = NDR_PULL_GET_MEM_CTX(ndr);
7300 NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
7301 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
7302 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1]));
7304 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
7305 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1]));
7307 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_1, 0);
7308 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_0, 0);
7311 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sitename, r->count));
7314 return NDR_ERR_SUCCESS;
7317 _PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesWCtr(struct ndr_print *ndr, const char *name, const struct netr_DsRAddressToSitenamesWCtr *r)
7319 uint32_t cntr_sitename_1;
7320 ndr_print_struct(ndr, name, "netr_DsRAddressToSitenamesWCtr");
7322 ndr_print_uint32(ndr, "count", r->count);
7323 ndr_print_ptr(ndr, "sitename", r->sitename);
7326 ndr->print(ndr, "%s: ARRAY(%d)", "sitename", r->count);
7328 for (cntr_sitename_1=0;cntr_sitename_1<r->count;cntr_sitename_1++) {
7330 if (asprintf(&idx_1, "[%d]", cntr_sitename_1) != -1) {
7331 ndr_print_lsa_String(ndr, "sitename", &r->sitename[cntr_sitename_1]);
7341 static enum ndr_err_code ndr_push_netr_DsRAddress(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRAddress *r)
7343 if (ndr_flags & NDR_SCALARS) {
7344 NDR_CHECK(ndr_push_align(ndr, 4));
7345 NDR_CHECK(ndr_push_unique_ptr(ndr, r->buffer));
7346 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
7348 if (ndr_flags & NDR_BUFFERS) {
7350 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
7351 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->buffer, r->size));
7354 return NDR_ERR_SUCCESS;
7357 static enum ndr_err_code ndr_pull_netr_DsRAddress(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRAddress *r)
7359 uint32_t _ptr_buffer;
7360 TALLOC_CTX *_mem_save_buffer_0;
7361 if (ndr_flags & NDR_SCALARS) {
7362 NDR_CHECK(ndr_pull_align(ndr, 4));
7363 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
7365 NDR_PULL_ALLOC(ndr, r->buffer);
7369 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
7371 if (ndr_flags & NDR_BUFFERS) {
7373 _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
7374 NDR_PULL_SET_MEM_CTX(ndr, r->buffer, 0);
7375 NDR_CHECK(ndr_pull_array_size(ndr, &r->buffer));
7376 NDR_PULL_ALLOC_N(ndr, r->buffer, ndr_get_array_size(ndr, &r->buffer));
7377 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->buffer, ndr_get_array_size(ndr, &r->buffer)));
7378 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
7381 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->buffer, r->size));
7384 return NDR_ERR_SUCCESS;
7387 _PUBLIC_ void ndr_print_netr_DsRAddress(struct ndr_print *ndr, const char *name, const struct netr_DsRAddress *r)
7389 ndr_print_struct(ndr, name, "netr_DsRAddress");
7391 ndr_print_ptr(ndr, "buffer", r->buffer);
7394 ndr_print_array_uint8(ndr, "buffer", r->buffer, r->size);
7397 ndr_print_uint32(ndr, "size", r->size);
7401 static enum ndr_err_code ndr_push_netr_TrustFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
7403 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
7404 return NDR_ERR_SUCCESS;
7407 static enum ndr_err_code ndr_pull_netr_TrustFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
7410 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
7412 return NDR_ERR_SUCCESS;
7415 _PUBLIC_ void ndr_print_netr_TrustFlags(struct ndr_print *ndr, const char *name, uint32_t r)
7417 ndr_print_uint32(ndr, name, r);
7419 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_IN_FOREST", NETR_TRUST_FLAG_IN_FOREST, r);
7420 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_OUTBOUND", NETR_TRUST_FLAG_OUTBOUND, r);
7421 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_TREEROOT", NETR_TRUST_FLAG_TREEROOT, r);
7422 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_PRIMARY", NETR_TRUST_FLAG_PRIMARY, r);
7423 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_NATIVE", NETR_TRUST_FLAG_NATIVE, r);
7424 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_INBOUND", NETR_TRUST_FLAG_INBOUND, r);
7428 static enum ndr_err_code ndr_push_netr_TrustType(struct ndr_push *ndr, int ndr_flags, enum netr_TrustType r)
7430 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
7431 return NDR_ERR_SUCCESS;
7434 static enum ndr_err_code ndr_pull_netr_TrustType(struct ndr_pull *ndr, int ndr_flags, enum netr_TrustType *r)
7437 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
7439 return NDR_ERR_SUCCESS;
7442 _PUBLIC_ void ndr_print_netr_TrustType(struct ndr_print *ndr, const char *name, enum netr_TrustType r)
7444 const char *val = NULL;
7447 case NETR_TRUST_TYPE_DOWNLEVEL: val = "NETR_TRUST_TYPE_DOWNLEVEL"; break;
7448 case NETR_TRUST_TYPE_UPLEVEL: val = "NETR_TRUST_TYPE_UPLEVEL"; break;
7449 case NETR_TRUST_TYPE_MIT: val = "NETR_TRUST_TYPE_MIT"; break;
7450 case NETR_TRUST_TYPE_DCE: val = "NETR_TRUST_TYPE_DCE"; break;
7452 ndr_print_enum(ndr, name, "ENUM", val, r);
7455 static enum ndr_err_code ndr_push_netr_TrustAttributes(struct ndr_push *ndr, int ndr_flags, uint32_t r)
7457 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
7458 return NDR_ERR_SUCCESS;
7461 static enum ndr_err_code ndr_pull_netr_TrustAttributes(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
7464 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
7466 return NDR_ERR_SUCCESS;
7469 _PUBLIC_ void ndr_print_netr_TrustAttributes(struct ndr_print *ndr, const char *name, uint32_t r)
7471 ndr_print_uint32(ndr, name, r);
7473 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_NON_TRANSITIVE", NETR_TRUST_ATTRIBUTE_NON_TRANSITIVE, r);
7474 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_UPLEVEL_ONLY", NETR_TRUST_ATTRIBUTE_UPLEVEL_ONLY, r);
7475 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN", NETR_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN, r);
7476 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_FOREST_TRANSITIVE", NETR_TRUST_ATTRIBUTE_FOREST_TRANSITIVE, r);
7477 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_CROSS_ORGANIZATION", NETR_TRUST_ATTRIBUTE_CROSS_ORGANIZATION, r);
7478 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_WITHIN_FOREST", NETR_TRUST_ATTRIBUTE_WITHIN_FOREST, r);
7479 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL", NETR_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL, r);
7483 static enum ndr_err_code ndr_push_netr_DomainTrust(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainTrust *r)
7485 if (ndr_flags & NDR_SCALARS) {
7486 NDR_CHECK(ndr_push_align(ndr, 4));
7487 NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
7488 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
7489 NDR_CHECK(ndr_push_netr_TrustFlags(ndr, NDR_SCALARS, r->trust_flags));
7490 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->parent_index));
7491 NDR_CHECK(ndr_push_netr_TrustType(ndr, NDR_SCALARS, r->trust_type));
7492 NDR_CHECK(ndr_push_netr_TrustAttributes(ndr, NDR_SCALARS, r->trust_attributes));
7493 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
7494 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
7496 if (ndr_flags & NDR_BUFFERS) {
7497 if (r->netbios_name) {
7498 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7499 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7500 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7501 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7504 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7505 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7506 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7507 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7510 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
7512 NDR_CHECK(ndr_push_GUID(ndr, NDR_BUFFERS, &r->guid));
7514 return NDR_ERR_SUCCESS;
7517 static enum ndr_err_code ndr_pull_netr_DomainTrust(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainTrust *r)
7519 uint32_t _ptr_netbios_name;
7520 TALLOC_CTX *_mem_save_netbios_name_0;
7521 uint32_t _ptr_dns_name;
7522 TALLOC_CTX *_mem_save_dns_name_0;
7524 TALLOC_CTX *_mem_save_sid_0;
7525 if (ndr_flags & NDR_SCALARS) {
7526 NDR_CHECK(ndr_pull_align(ndr, 4));
7527 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
7528 if (_ptr_netbios_name) {
7529 NDR_PULL_ALLOC(ndr, r->netbios_name);
7531 r->netbios_name = NULL;
7533 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
7534 if (_ptr_dns_name) {
7535 NDR_PULL_ALLOC(ndr, r->dns_name);
7539 NDR_CHECK(ndr_pull_netr_TrustFlags(ndr, NDR_SCALARS, &r->trust_flags));
7540 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->parent_index));
7541 NDR_CHECK(ndr_pull_netr_TrustType(ndr, NDR_SCALARS, &r->trust_type));
7542 NDR_CHECK(ndr_pull_netr_TrustAttributes(ndr, NDR_SCALARS, &r->trust_attributes));
7543 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
7545 NDR_PULL_ALLOC(ndr, r->sid);
7549 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
7551 if (ndr_flags & NDR_BUFFERS) {
7552 if (r->netbios_name) {
7553 _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7554 NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
7555 NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
7556 NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
7557 if (ndr_get_array_length(ndr, &r->netbios_name) > ndr_get_array_size(ndr, &r->netbios_name)) {
7558 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));
7560 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t)));
7561 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t), CH_UTF16));
7562 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
7565 _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7566 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
7567 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
7568 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
7569 if (ndr_get_array_length(ndr, &r->dns_name) > ndr_get_array_size(ndr, &r->dns_name)) {
7570 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));
7572 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t)));
7573 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t), CH_UTF16));
7574 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
7577 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
7578 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
7579 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
7580 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
7582 NDR_CHECK(ndr_pull_GUID(ndr, NDR_BUFFERS, &r->guid));
7584 return NDR_ERR_SUCCESS;
7587 _PUBLIC_ void ndr_print_netr_DomainTrust(struct ndr_print *ndr, const char *name, const struct netr_DomainTrust *r)
7589 ndr_print_struct(ndr, name, "netr_DomainTrust");
7591 ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
7593 if (r->netbios_name) {
7594 ndr_print_string(ndr, "netbios_name", r->netbios_name);
7597 ndr_print_ptr(ndr, "dns_name", r->dns_name);
7600 ndr_print_string(ndr, "dns_name", r->dns_name);
7603 ndr_print_netr_TrustFlags(ndr, "trust_flags", r->trust_flags);
7604 ndr_print_uint32(ndr, "parent_index", r->parent_index);
7605 ndr_print_netr_TrustType(ndr, "trust_type", r->trust_type);
7606 ndr_print_netr_TrustAttributes(ndr, "trust_attributes", r->trust_attributes);
7607 ndr_print_ptr(ndr, "sid", r->sid);
7610 ndr_print_dom_sid2(ndr, "sid", r->sid);
7613 ndr_print_GUID(ndr, "guid", &r->guid);
7617 static enum ndr_err_code ndr_push_netr_DomainTrustList(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainTrustList *r)
7619 uint32_t cntr_array_1;
7620 if (ndr_flags & NDR_SCALARS) {
7621 NDR_CHECK(ndr_push_align(ndr, 4));
7622 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7623 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
7625 if (ndr_flags & NDR_BUFFERS) {
7627 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7628 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7629 NDR_CHECK(ndr_push_netr_DomainTrust(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7631 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7632 NDR_CHECK(ndr_push_netr_DomainTrust(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7636 return NDR_ERR_SUCCESS;
7639 static enum ndr_err_code ndr_pull_netr_DomainTrustList(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainTrustList *r)
7641 uint32_t _ptr_array;
7642 uint32_t cntr_array_1;
7643 TALLOC_CTX *_mem_save_array_0;
7644 TALLOC_CTX *_mem_save_array_1;
7645 if (ndr_flags & NDR_SCALARS) {
7646 NDR_CHECK(ndr_pull_align(ndr, 4));
7647 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
7648 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
7650 NDR_PULL_ALLOC(ndr, r->array);
7655 if (ndr_flags & NDR_BUFFERS) {
7657 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
7658 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7659 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
7660 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
7661 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
7662 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7663 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7664 NDR_CHECK(ndr_pull_netr_DomainTrust(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7666 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7667 NDR_CHECK(ndr_pull_netr_DomainTrust(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7669 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
7670 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
7673 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
7676 return NDR_ERR_SUCCESS;
7679 _PUBLIC_ void ndr_print_netr_DomainTrustList(struct ndr_print *ndr, const char *name, const struct netr_DomainTrustList *r)
7681 uint32_t cntr_array_1;
7682 ndr_print_struct(ndr, name, "netr_DomainTrustList");
7684 ndr_print_uint32(ndr, "count", r->count);
7685 ndr_print_ptr(ndr, "array", r->array);
7688 ndr->print(ndr, "%s: ARRAY(%d)", "array", r->count);
7690 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
7692 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
7693 ndr_print_netr_DomainTrust(ndr, "array", &r->array[cntr_array_1]);
7703 static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesExWCtr(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRAddressToSitenamesExWCtr *r)
7705 uint32_t cntr_sitename_1;
7706 uint32_t cntr_subnetname_1;
7707 if (ndr_flags & NDR_SCALARS) {
7708 NDR_CHECK(ndr_push_align(ndr, 4));
7709 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7710 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sitename));
7711 NDR_CHECK(ndr_push_unique_ptr(ndr, r->subnetname));
7713 if (ndr_flags & NDR_BUFFERS) {
7715 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7716 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
7717 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1]));
7719 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
7720 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1]));
7723 if (r->subnetname) {
7724 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7725 for (cntr_subnetname_1 = 0; cntr_subnetname_1 < r->count; cntr_subnetname_1++) {
7726 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->subnetname[cntr_subnetname_1]));
7728 for (cntr_subnetname_1 = 0; cntr_subnetname_1 < r->count; cntr_subnetname_1++) {
7729 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->subnetname[cntr_subnetname_1]));
7733 return NDR_ERR_SUCCESS;
7736 static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesExWCtr(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRAddressToSitenamesExWCtr *r)
7738 uint32_t _ptr_sitename;
7739 uint32_t cntr_sitename_1;
7740 TALLOC_CTX *_mem_save_sitename_0;
7741 TALLOC_CTX *_mem_save_sitename_1;
7742 uint32_t _ptr_subnetname;
7743 uint32_t cntr_subnetname_1;
7744 TALLOC_CTX *_mem_save_subnetname_0;
7745 TALLOC_CTX *_mem_save_subnetname_1;
7746 if (ndr_flags & NDR_SCALARS) {
7747 NDR_CHECK(ndr_pull_align(ndr, 4));
7748 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
7749 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sitename));
7750 if (_ptr_sitename) {
7751 NDR_PULL_ALLOC(ndr, r->sitename);
7755 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_subnetname));
7756 if (_ptr_subnetname) {
7757 NDR_PULL_ALLOC(ndr, r->subnetname);
7759 r->subnetname = NULL;
7762 if (ndr_flags & NDR_BUFFERS) {
7764 _mem_save_sitename_0 = NDR_PULL_GET_MEM_CTX(ndr);
7765 NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
7766 NDR_CHECK(ndr_pull_array_size(ndr, &r->sitename));
7767 NDR_PULL_ALLOC_N(ndr, r->sitename, ndr_get_array_size(ndr, &r->sitename));
7768 _mem_save_sitename_1 = NDR_PULL_GET_MEM_CTX(ndr);
7769 NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
7770 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
7771 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1]));
7773 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
7774 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1]));
7776 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_1, 0);
7777 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_0, 0);
7779 if (r->subnetname) {
7780 _mem_save_subnetname_0 = NDR_PULL_GET_MEM_CTX(ndr);
7781 NDR_PULL_SET_MEM_CTX(ndr, r->subnetname, 0);
7782 NDR_CHECK(ndr_pull_array_size(ndr, &r->subnetname));
7783 NDR_PULL_ALLOC_N(ndr, r->subnetname, ndr_get_array_size(ndr, &r->subnetname));
7784 _mem_save_subnetname_1 = NDR_PULL_GET_MEM_CTX(ndr);
7785 NDR_PULL_SET_MEM_CTX(ndr, r->subnetname, 0);
7786 for (cntr_subnetname_1 = 0; cntr_subnetname_1 < r->count; cntr_subnetname_1++) {
7787 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->subnetname[cntr_subnetname_1]));
7789 for (cntr_subnetname_1 = 0; cntr_subnetname_1 < r->count; cntr_subnetname_1++) {
7790 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->subnetname[cntr_subnetname_1]));
7792 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_subnetname_1, 0);
7793 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_subnetname_0, 0);
7796 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sitename, r->count));
7798 if (r->subnetname) {
7799 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->subnetname, r->count));
7802 return NDR_ERR_SUCCESS;
7805 _PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesExWCtr(struct ndr_print *ndr, const char *name, const struct netr_DsRAddressToSitenamesExWCtr *r)
7807 uint32_t cntr_sitename_1;
7808 uint32_t cntr_subnetname_1;
7809 ndr_print_struct(ndr, name, "netr_DsRAddressToSitenamesExWCtr");
7811 ndr_print_uint32(ndr, "count", r->count);
7812 ndr_print_ptr(ndr, "sitename", r->sitename);
7815 ndr->print(ndr, "%s: ARRAY(%d)", "sitename", r->count);
7817 for (cntr_sitename_1=0;cntr_sitename_1<r->count;cntr_sitename_1++) {
7819 if (asprintf(&idx_1, "[%d]", cntr_sitename_1) != -1) {
7820 ndr_print_lsa_String(ndr, "sitename", &r->sitename[cntr_sitename_1]);
7827 ndr_print_ptr(ndr, "subnetname", r->subnetname);
7829 if (r->subnetname) {
7830 ndr->print(ndr, "%s: ARRAY(%d)", "subnetname", r->count);
7832 for (cntr_subnetname_1=0;cntr_subnetname_1<r->count;cntr_subnetname_1++) {
7834 if (asprintf(&idx_1, "[%d]", cntr_subnetname_1) != -1) {
7835 ndr_print_lsa_String(ndr, "subnetname", &r->subnetname[cntr_subnetname_1]);
7845 static enum ndr_err_code ndr_push_DcSitesCtr(struct ndr_push *ndr, int ndr_flags, const struct DcSitesCtr *r)
7847 uint32_t cntr_sites_1;
7848 if (ndr_flags & NDR_SCALARS) {
7849 NDR_CHECK(ndr_push_align(ndr, 4));
7850 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sites));
7851 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sites));
7853 if (ndr_flags & NDR_BUFFERS) {
7855 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sites));
7856 for (cntr_sites_1 = 0; cntr_sites_1 < r->num_sites; cntr_sites_1++) {
7857 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->sites[cntr_sites_1]));
7859 for (cntr_sites_1 = 0; cntr_sites_1 < r->num_sites; cntr_sites_1++) {
7860 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->sites[cntr_sites_1]));
7864 return NDR_ERR_SUCCESS;
7867 static enum ndr_err_code ndr_pull_DcSitesCtr(struct ndr_pull *ndr, int ndr_flags, struct DcSitesCtr *r)
7869 uint32_t _ptr_sites;
7870 uint32_t cntr_sites_1;
7871 TALLOC_CTX *_mem_save_sites_0;
7872 TALLOC_CTX *_mem_save_sites_1;
7873 if (ndr_flags & NDR_SCALARS) {
7874 NDR_CHECK(ndr_pull_align(ndr, 4));
7875 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_sites));
7876 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sites));
7878 NDR_PULL_ALLOC(ndr, r->sites);
7883 if (ndr_flags & NDR_BUFFERS) {
7885 _mem_save_sites_0 = NDR_PULL_GET_MEM_CTX(ndr);
7886 NDR_PULL_SET_MEM_CTX(ndr, r->sites, 0);
7887 NDR_CHECK(ndr_pull_array_size(ndr, &r->sites));
7888 NDR_PULL_ALLOC_N(ndr, r->sites, ndr_get_array_size(ndr, &r->sites));
7889 _mem_save_sites_1 = NDR_PULL_GET_MEM_CTX(ndr);
7890 NDR_PULL_SET_MEM_CTX(ndr, r->sites, 0);
7891 for (cntr_sites_1 = 0; cntr_sites_1 < r->num_sites; cntr_sites_1++) {
7892 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->sites[cntr_sites_1]));
7894 for (cntr_sites_1 = 0; cntr_sites_1 < r->num_sites; cntr_sites_1++) {
7895 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->sites[cntr_sites_1]));
7897 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sites_1, 0);
7898 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sites_0, 0);
7901 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sites, r->num_sites));
7904 return NDR_ERR_SUCCESS;
7907 _PUBLIC_ void ndr_print_DcSitesCtr(struct ndr_print *ndr, const char *name, const struct DcSitesCtr *r)
7909 uint32_t cntr_sites_1;
7910 ndr_print_struct(ndr, name, "DcSitesCtr");
7912 ndr_print_uint32(ndr, "num_sites", r->num_sites);
7913 ndr_print_ptr(ndr, "sites", r->sites);
7916 ndr->print(ndr, "%s: ARRAY(%d)", "sites", r->num_sites);
7918 for (cntr_sites_1=0;cntr_sites_1<r->num_sites;cntr_sites_1++) {
7920 if (asprintf(&idx_1, "[%d]", cntr_sites_1) != -1) {
7921 ndr_print_lsa_String(ndr, "sites", &r->sites[cntr_sites_1]);
7931 static enum ndr_err_code ndr_push_netr_LogonUasLogon(struct ndr_push *ndr, int flags, const struct netr_LogonUasLogon *r)
7933 if (flags & NDR_IN) {
7934 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
7935 if (r->in.server_name) {
7936 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
7937 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7938 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
7939 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));
7941 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
7942 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7943 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
7944 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));
7945 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
7946 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7947 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
7948 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.workstation, ndr_charset_length(r->in.workstation, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7950 if (flags & NDR_OUT) {
7951 if (r->out.info == NULL) {
7952 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7954 NDR_CHECK(ndr_push_netr_UasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
7955 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
7957 return NDR_ERR_SUCCESS;
7960 static enum ndr_err_code ndr_pull_netr_LogonUasLogon(struct ndr_pull *ndr, int flags, struct netr_LogonUasLogon *r)
7962 uint32_t _ptr_server_name;
7963 TALLOC_CTX *_mem_save_server_name_0;
7964 TALLOC_CTX *_mem_save_info_0;
7965 if (flags & NDR_IN) {
7966 ZERO_STRUCT(r->out);
7968 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
7969 if (_ptr_server_name) {
7970 NDR_PULL_ALLOC(ndr, r->in.server_name);
7972 r->in.server_name = NULL;
7974 if (r->in.server_name) {
7975 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7976 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
7977 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
7978 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
7979 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
7980 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));
7982 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
7983 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));
7984 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
7986 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
7987 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
7988 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
7989 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));
7991 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
7992 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));
7993 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.workstation));
7994 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.workstation));
7995 if (ndr_get_array_length(ndr, &r->in.workstation) > ndr_get_array_size(ndr, &r->in.workstation)) {
7996 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));
7998 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.workstation), sizeof(uint16_t)));
7999 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.workstation, ndr_get_array_length(ndr, &r->in.workstation), sizeof(uint16_t), CH_UTF16));
8000 NDR_PULL_ALLOC(ndr, r->out.info);
8001 ZERO_STRUCTP(r->out.info);
8003 if (flags & NDR_OUT) {
8004 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8005 NDR_PULL_ALLOC(ndr, r->out.info);
8007 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
8008 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
8009 NDR_CHECK(ndr_pull_netr_UasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
8010 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
8011 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
8013 return NDR_ERR_SUCCESS;
8016 _PUBLIC_ void ndr_print_netr_LogonUasLogon(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonUasLogon *r)
8018 ndr_print_struct(ndr, name, "netr_LogonUasLogon");
8020 if (flags & NDR_SET_VALUES) {
8021 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8023 if (flags & NDR_IN) {
8024 ndr_print_struct(ndr, "in", "netr_LogonUasLogon");
8026 ndr_print_ptr(ndr, "server_name", r->in.server_name);
8028 if (r->in.server_name) {
8029 ndr_print_string(ndr, "server_name", r->in.server_name);
8032 ndr_print_string(ndr, "account_name", r->in.account_name);
8033 ndr_print_string(ndr, "workstation", r->in.workstation);
8036 if (flags & NDR_OUT) {
8037 ndr_print_struct(ndr, "out", "netr_LogonUasLogon");
8039 ndr_print_ptr(ndr, "info", r->out.info);
8041 ndr_print_netr_UasInfo(ndr, "info", r->out.info);
8043 ndr_print_WERROR(ndr, "result", r->out.result);
8049 static enum ndr_err_code ndr_push_netr_LogonUasLogoff(struct ndr_push *ndr, int flags, const struct netr_LogonUasLogoff *r)
8051 if (flags & NDR_IN) {
8052 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
8053 if (r->in.server_name) {
8054 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8055 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8056 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8057 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));
8059 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
8060 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8061 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
8062 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));
8063 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
8064 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8065 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
8066 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.workstation, ndr_charset_length(r->in.workstation, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8068 if (flags & NDR_OUT) {
8069 if (r->out.info == NULL) {
8070 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8072 NDR_CHECK(ndr_push_netr_UasLogoffInfo(ndr, NDR_SCALARS, r->out.info));
8073 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
8075 return NDR_ERR_SUCCESS;
8078 static enum ndr_err_code ndr_pull_netr_LogonUasLogoff(struct ndr_pull *ndr, int flags, struct netr_LogonUasLogoff *r)
8080 uint32_t _ptr_server_name;
8081 TALLOC_CTX *_mem_save_server_name_0;
8082 TALLOC_CTX *_mem_save_info_0;
8083 if (flags & NDR_IN) {
8084 ZERO_STRUCT(r->out);
8086 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
8087 if (_ptr_server_name) {
8088 NDR_PULL_ALLOC(ndr, r->in.server_name);
8090 r->in.server_name = NULL;
8092 if (r->in.server_name) {
8093 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8094 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
8095 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
8096 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
8097 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
8098 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));
8100 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
8101 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));
8102 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
8104 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
8105 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
8106 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
8107 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));
8109 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
8110 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));
8111 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.workstation));
8112 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.workstation));
8113 if (ndr_get_array_length(ndr, &r->in.workstation) > ndr_get_array_size(ndr, &r->in.workstation)) {
8114 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));
8116 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.workstation), sizeof(uint16_t)));
8117 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.workstation, ndr_get_array_length(ndr, &r->in.workstation), sizeof(uint16_t), CH_UTF16));
8118 NDR_PULL_ALLOC(ndr, r->out.info);
8119 ZERO_STRUCTP(r->out.info);
8121 if (flags & NDR_OUT) {
8122 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8123 NDR_PULL_ALLOC(ndr, r->out.info);
8125 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
8126 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
8127 NDR_CHECK(ndr_pull_netr_UasLogoffInfo(ndr, NDR_SCALARS, r->out.info));
8128 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
8129 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
8131 return NDR_ERR_SUCCESS;
8134 _PUBLIC_ void ndr_print_netr_LogonUasLogoff(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonUasLogoff *r)
8136 ndr_print_struct(ndr, name, "netr_LogonUasLogoff");
8138 if (flags & NDR_SET_VALUES) {
8139 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8141 if (flags & NDR_IN) {
8142 ndr_print_struct(ndr, "in", "netr_LogonUasLogoff");
8144 ndr_print_ptr(ndr, "server_name", r->in.server_name);
8146 if (r->in.server_name) {
8147 ndr_print_string(ndr, "server_name", r->in.server_name);
8150 ndr_print_string(ndr, "account_name", r->in.account_name);
8151 ndr_print_string(ndr, "workstation", r->in.workstation);
8154 if (flags & NDR_OUT) {
8155 ndr_print_struct(ndr, "out", "netr_LogonUasLogoff");
8157 ndr_print_ptr(ndr, "info", r->out.info);
8159 ndr_print_netr_UasLogoffInfo(ndr, "info", r->out.info);
8161 ndr_print_WERROR(ndr, "result", r->out.result);
8167 static enum ndr_err_code ndr_push_netr_LogonSamLogon(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogon *r)
8169 if (flags & NDR_IN) {
8170 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
8171 if (r->in.server_name) {
8172 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8173 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8174 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8175 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));
8177 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
8178 if (r->in.computer_name) {
8179 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
8180 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8181 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
8182 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));
8184 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.credential));
8185 if (r->in.credential) {
8186 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
8188 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.return_authenticator));
8189 if (r->in.return_authenticator) {
8190 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
8192 NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS, r->in.logon_level));
8193 if (r->in.logon == NULL) {
8194 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8196 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.logon, r->in.logon_level));
8197 NDR_CHECK(ndr_push_netr_LogonInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
8198 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.validation_level));
8200 if (flags & NDR_OUT) {
8201 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.return_authenticator));
8202 if (r->out.return_authenticator) {
8203 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
8205 if (r->out.validation == NULL) {
8206 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8208 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.validation, r->in.validation_level));
8209 NDR_CHECK(ndr_push_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
8210 if (r->out.authoritative == NULL) {
8211 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8213 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, *r->out.authoritative));
8214 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8216 return NDR_ERR_SUCCESS;
8219 static enum ndr_err_code ndr_pull_netr_LogonSamLogon(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogon *r)
8221 uint32_t _ptr_server_name;
8222 uint32_t _ptr_computer_name;
8223 uint32_t _ptr_credential;
8224 uint32_t _ptr_return_authenticator;
8225 TALLOC_CTX *_mem_save_server_name_0;
8226 TALLOC_CTX *_mem_save_computer_name_0;
8227 TALLOC_CTX *_mem_save_credential_0;
8228 TALLOC_CTX *_mem_save_return_authenticator_0;
8229 TALLOC_CTX *_mem_save_logon_0;
8230 TALLOC_CTX *_mem_save_validation_0;
8231 TALLOC_CTX *_mem_save_authoritative_0;
8232 if (flags & NDR_IN) {
8233 ZERO_STRUCT(r->out);
8235 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
8236 if (_ptr_server_name) {
8237 NDR_PULL_ALLOC(ndr, r->in.server_name);
8239 r->in.server_name = NULL;
8241 if (r->in.server_name) {
8242 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8243 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
8244 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
8245 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
8246 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
8247 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));
8249 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
8250 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));
8251 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
8253 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
8254 if (_ptr_computer_name) {
8255 NDR_PULL_ALLOC(ndr, r->in.computer_name);
8257 r->in.computer_name = NULL;
8259 if (r->in.computer_name) {
8260 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8261 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
8262 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
8263 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
8264 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
8265 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));
8267 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
8268 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));
8269 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
8271 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_credential));
8272 if (_ptr_credential) {
8273 NDR_PULL_ALLOC(ndr, r->in.credential);
8275 r->in.credential = NULL;
8277 if (r->in.credential) {
8278 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
8279 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, 0);
8280 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
8281 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, 0);
8283 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
8284 if (_ptr_return_authenticator) {
8285 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
8287 r->in.return_authenticator = NULL;
8289 if (r->in.return_authenticator) {
8290 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
8291 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, 0);
8292 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
8293 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
8295 NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS, &r->in.logon_level));
8296 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8297 NDR_PULL_ALLOC(ndr, r->in.logon);
8299 _mem_save_logon_0 = NDR_PULL_GET_MEM_CTX(ndr);
8300 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon, LIBNDR_FLAG_REF_ALLOC);
8301 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.logon, r->in.logon_level));
8302 NDR_CHECK(ndr_pull_netr_LogonInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
8303 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_0, LIBNDR_FLAG_REF_ALLOC);
8304 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.validation_level));
8305 NDR_PULL_ALLOC(ndr, r->out.validation);
8306 ZERO_STRUCTP(r->out.validation);
8307 NDR_PULL_ALLOC(ndr, r->out.authoritative);
8308 ZERO_STRUCTP(r->out.authoritative);
8310 if (flags & NDR_OUT) {
8311 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
8312 if (_ptr_return_authenticator) {
8313 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
8315 r->out.return_authenticator = NULL;
8317 if (r->out.return_authenticator) {
8318 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
8319 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, 0);
8320 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
8321 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
8323 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8324 NDR_PULL_ALLOC(ndr, r->out.validation);
8326 _mem_save_validation_0 = NDR_PULL_GET_MEM_CTX(ndr);
8327 NDR_PULL_SET_MEM_CTX(ndr, r->out.validation, LIBNDR_FLAG_REF_ALLOC);
8328 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.validation, r->in.validation_level));
8329 NDR_CHECK(ndr_pull_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
8330 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_validation_0, LIBNDR_FLAG_REF_ALLOC);
8331 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8332 NDR_PULL_ALLOC(ndr, r->out.authoritative);
8334 _mem_save_authoritative_0 = NDR_PULL_GET_MEM_CTX(ndr);
8335 NDR_PULL_SET_MEM_CTX(ndr, r->out.authoritative, LIBNDR_FLAG_REF_ALLOC);
8336 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, r->out.authoritative));
8337 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_authoritative_0, LIBNDR_FLAG_REF_ALLOC);
8338 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8340 return NDR_ERR_SUCCESS;
8343 _PUBLIC_ void ndr_print_netr_LogonSamLogon(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogon *r)
8345 ndr_print_struct(ndr, name, "netr_LogonSamLogon");
8347 if (flags & NDR_SET_VALUES) {
8348 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8350 if (flags & NDR_IN) {
8351 ndr_print_struct(ndr, "in", "netr_LogonSamLogon");
8353 ndr_print_ptr(ndr, "server_name", r->in.server_name);
8355 if (r->in.server_name) {
8356 ndr_print_string(ndr, "server_name", r->in.server_name);
8359 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
8361 if (r->in.computer_name) {
8362 ndr_print_string(ndr, "computer_name", r->in.computer_name);
8365 ndr_print_ptr(ndr, "credential", r->in.credential);
8367 if (r->in.credential) {
8368 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
8371 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
8373 if (r->in.return_authenticator) {
8374 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
8377 ndr_print_netr_LogonLevel(ndr, "logon_level", r->in.logon_level);
8378 ndr_print_ptr(ndr, "logon", r->in.logon);
8380 ndr_print_set_switch_value(ndr, r->in.logon, r->in.logon_level);
8381 ndr_print_netr_LogonInfo(ndr, "logon", r->in.logon);
8383 ndr_print_uint16(ndr, "validation_level", r->in.validation_level);
8386 if (flags & NDR_OUT) {
8387 ndr_print_struct(ndr, "out", "netr_LogonSamLogon");
8389 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
8391 if (r->out.return_authenticator) {
8392 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
8395 ndr_print_ptr(ndr, "validation", r->out.validation);
8397 ndr_print_set_switch_value(ndr, r->out.validation, r->in.validation_level);
8398 ndr_print_netr_Validation(ndr, "validation", r->out.validation);
8400 ndr_print_ptr(ndr, "authoritative", r->out.authoritative);
8402 ndr_print_uint8(ndr, "authoritative", *r->out.authoritative);
8404 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8410 static enum ndr_err_code ndr_push_netr_LogonSamLogoff(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogoff *r)
8412 if (flags & NDR_IN) {
8413 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
8414 if (r->in.server_name) {
8415 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8416 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8417 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8418 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));
8420 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
8421 if (r->in.computer_name) {
8422 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
8423 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8424 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
8425 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));
8427 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.credential));
8428 if (r->in.credential) {
8429 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
8431 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.return_authenticator));
8432 if (r->in.return_authenticator) {
8433 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
8435 NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS, r->in.logon_level));
8436 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.logon, r->in.logon_level));
8437 NDR_CHECK(ndr_push_netr_LogonInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon));
8439 if (flags & NDR_OUT) {
8440 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.return_authenticator));
8441 if (r->out.return_authenticator) {
8442 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
8444 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8446 return NDR_ERR_SUCCESS;
8449 static enum ndr_err_code ndr_pull_netr_LogonSamLogoff(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogoff *r)
8451 uint32_t _ptr_server_name;
8452 uint32_t _ptr_computer_name;
8453 uint32_t _ptr_credential;
8454 uint32_t _ptr_return_authenticator;
8455 TALLOC_CTX *_mem_save_server_name_0;
8456 TALLOC_CTX *_mem_save_computer_name_0;
8457 TALLOC_CTX *_mem_save_credential_0;
8458 TALLOC_CTX *_mem_save_return_authenticator_0;
8459 if (flags & NDR_IN) {
8460 ZERO_STRUCT(r->out);
8462 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
8463 if (_ptr_server_name) {
8464 NDR_PULL_ALLOC(ndr, r->in.server_name);
8466 r->in.server_name = NULL;
8468 if (r->in.server_name) {
8469 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8470 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
8471 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
8472 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
8473 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
8474 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));
8476 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
8477 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));
8478 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
8480 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
8481 if (_ptr_computer_name) {
8482 NDR_PULL_ALLOC(ndr, r->in.computer_name);
8484 r->in.computer_name = NULL;
8486 if (r->in.computer_name) {
8487 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8488 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
8489 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
8490 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
8491 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
8492 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));
8494 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
8495 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));
8496 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
8498 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_credential));
8499 if (_ptr_credential) {
8500 NDR_PULL_ALLOC(ndr, r->in.credential);
8502 r->in.credential = NULL;
8504 if (r->in.credential) {
8505 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
8506 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, 0);
8507 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
8508 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, 0);
8510 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
8511 if (_ptr_return_authenticator) {
8512 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
8514 r->in.return_authenticator = NULL;
8516 if (r->in.return_authenticator) {
8517 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
8518 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, 0);
8519 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
8520 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
8522 NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS, &r->in.logon_level));
8523 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.logon, r->in.logon_level));
8524 NDR_CHECK(ndr_pull_netr_LogonInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon));
8526 if (flags & NDR_OUT) {
8527 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
8528 if (_ptr_return_authenticator) {
8529 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
8531 r->out.return_authenticator = NULL;
8533 if (r->out.return_authenticator) {
8534 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
8535 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, 0);
8536 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
8537 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
8539 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8541 return NDR_ERR_SUCCESS;
8544 _PUBLIC_ void ndr_print_netr_LogonSamLogoff(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogoff *r)
8546 ndr_print_struct(ndr, name, "netr_LogonSamLogoff");
8548 if (flags & NDR_SET_VALUES) {
8549 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8551 if (flags & NDR_IN) {
8552 ndr_print_struct(ndr, "in", "netr_LogonSamLogoff");
8554 ndr_print_ptr(ndr, "server_name", r->in.server_name);
8556 if (r->in.server_name) {
8557 ndr_print_string(ndr, "server_name", r->in.server_name);
8560 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
8562 if (r->in.computer_name) {
8563 ndr_print_string(ndr, "computer_name", r->in.computer_name);
8566 ndr_print_ptr(ndr, "credential", r->in.credential);
8568 if (r->in.credential) {
8569 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
8572 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
8574 if (r->in.return_authenticator) {
8575 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
8578 ndr_print_netr_LogonLevel(ndr, "logon_level", r->in.logon_level);
8579 ndr_print_set_switch_value(ndr, &r->in.logon, r->in.logon_level);
8580 ndr_print_netr_LogonInfo(ndr, "logon", &r->in.logon);
8583 if (flags & NDR_OUT) {
8584 ndr_print_struct(ndr, "out", "netr_LogonSamLogoff");
8586 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
8588 if (r->out.return_authenticator) {
8589 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
8592 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8598 static enum ndr_err_code ndr_push_netr_ServerReqChallenge(struct ndr_push *ndr, int flags, const struct netr_ServerReqChallenge *r)
8600 if (flags & NDR_IN) {
8601 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
8602 if (r->in.server_name) {
8603 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8604 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8605 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8606 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));
8608 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
8609 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8610 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
8611 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));
8612 if (r->in.credentials == NULL) {
8613 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8615 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
8617 if (flags & NDR_OUT) {
8618 if (r->out.return_credentials == NULL) {
8619 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8621 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
8622 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8624 return NDR_ERR_SUCCESS;
8627 static enum ndr_err_code ndr_pull_netr_ServerReqChallenge(struct ndr_pull *ndr, int flags, struct netr_ServerReqChallenge *r)
8629 uint32_t _ptr_server_name;
8630 TALLOC_CTX *_mem_save_server_name_0;
8631 TALLOC_CTX *_mem_save_credentials_0;
8632 TALLOC_CTX *_mem_save_return_credentials_0;
8633 if (flags & NDR_IN) {
8634 ZERO_STRUCT(r->out);
8636 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
8637 if (_ptr_server_name) {
8638 NDR_PULL_ALLOC(ndr, r->in.server_name);
8640 r->in.server_name = NULL;
8642 if (r->in.server_name) {
8643 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8644 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
8645 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
8646 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
8647 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
8648 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));
8650 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
8651 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));
8652 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
8654 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
8655 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
8656 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
8657 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));
8659 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
8660 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));
8661 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8662 NDR_PULL_ALLOC(ndr, r->in.credentials);
8664 _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
8665 NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC);
8666 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
8667 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
8668 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
8669 ZERO_STRUCTP(r->out.return_credentials);
8671 if (flags & NDR_OUT) {
8672 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8673 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
8675 _mem_save_return_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
8676 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_credentials, LIBNDR_FLAG_REF_ALLOC);
8677 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
8678 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_credentials_0, LIBNDR_FLAG_REF_ALLOC);
8679 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8681 return NDR_ERR_SUCCESS;
8684 _PUBLIC_ void ndr_print_netr_ServerReqChallenge(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerReqChallenge *r)
8686 ndr_print_struct(ndr, name, "netr_ServerReqChallenge");
8688 if (flags & NDR_SET_VALUES) {
8689 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8691 if (flags & NDR_IN) {
8692 ndr_print_struct(ndr, "in", "netr_ServerReqChallenge");
8694 ndr_print_ptr(ndr, "server_name", r->in.server_name);
8696 if (r->in.server_name) {
8697 ndr_print_string(ndr, "server_name", r->in.server_name);
8700 ndr_print_string(ndr, "computer_name", r->in.computer_name);
8701 ndr_print_ptr(ndr, "credentials", r->in.credentials);
8703 ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
8707 if (flags & NDR_OUT) {
8708 ndr_print_struct(ndr, "out", "netr_ServerReqChallenge");
8710 ndr_print_ptr(ndr, "return_credentials", r->out.return_credentials);
8712 ndr_print_netr_Credential(ndr, "return_credentials", r->out.return_credentials);
8714 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8720 static enum ndr_err_code ndr_push_netr_ServerAuthenticate(struct ndr_push *ndr, int flags, const struct netr_ServerAuthenticate *r)
8722 if (flags & NDR_IN) {
8723 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
8724 if (r->in.server_name) {
8725 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8726 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8727 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8728 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));
8730 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
8731 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8732 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
8733 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));
8734 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
8735 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
8736 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8737 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
8738 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));
8739 if (r->in.credentials == NULL) {
8740 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8742 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
8744 if (flags & NDR_OUT) {
8745 if (r->out.return_credentials == NULL) {
8746 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8748 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
8749 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8751 return NDR_ERR_SUCCESS;
8754 static enum ndr_err_code ndr_pull_netr_ServerAuthenticate(struct ndr_pull *ndr, int flags, struct netr_ServerAuthenticate *r)
8756 uint32_t _ptr_server_name;
8757 TALLOC_CTX *_mem_save_server_name_0;
8758 TALLOC_CTX *_mem_save_credentials_0;
8759 TALLOC_CTX *_mem_save_return_credentials_0;
8760 if (flags & NDR_IN) {
8761 ZERO_STRUCT(r->out);
8763 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
8764 if (_ptr_server_name) {
8765 NDR_PULL_ALLOC(ndr, r->in.server_name);
8767 r->in.server_name = NULL;
8769 if (r->in.server_name) {
8770 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8771 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
8772 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
8773 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
8774 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
8775 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));
8777 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
8778 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));
8779 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
8781 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
8782 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
8783 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
8784 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));
8786 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
8787 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));
8788 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
8789 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
8790 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
8791 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
8792 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));
8794 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
8795 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));
8796 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8797 NDR_PULL_ALLOC(ndr, r->in.credentials);
8799 _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
8800 NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC);
8801 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
8802 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
8803 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
8804 ZERO_STRUCTP(r->out.return_credentials);
8806 if (flags & NDR_OUT) {
8807 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8808 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
8810 _mem_save_return_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
8811 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_credentials, LIBNDR_FLAG_REF_ALLOC);
8812 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
8813 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_credentials_0, LIBNDR_FLAG_REF_ALLOC);
8814 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8816 return NDR_ERR_SUCCESS;
8819 _PUBLIC_ void ndr_print_netr_ServerAuthenticate(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerAuthenticate *r)
8821 ndr_print_struct(ndr, name, "netr_ServerAuthenticate");
8823 if (flags & NDR_SET_VALUES) {
8824 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8826 if (flags & NDR_IN) {
8827 ndr_print_struct(ndr, "in", "netr_ServerAuthenticate");
8829 ndr_print_ptr(ndr, "server_name", r->in.server_name);
8831 if (r->in.server_name) {
8832 ndr_print_string(ndr, "server_name", r->in.server_name);
8835 ndr_print_string(ndr, "account_name", r->in.account_name);
8836 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
8837 ndr_print_string(ndr, "computer_name", r->in.computer_name);
8838 ndr_print_ptr(ndr, "credentials", r->in.credentials);
8840 ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
8844 if (flags & NDR_OUT) {
8845 ndr_print_struct(ndr, "out", "netr_ServerAuthenticate");
8847 ndr_print_ptr(ndr, "return_credentials", r->out.return_credentials);
8849 ndr_print_netr_Credential(ndr, "return_credentials", r->out.return_credentials);
8851 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8857 static enum ndr_err_code ndr_push_netr_ServerPasswordSet(struct ndr_push *ndr, int flags, const struct netr_ServerPasswordSet *r)
8859 if (flags & NDR_IN) {
8860 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
8861 if (r->in.server_name) {
8862 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8863 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8864 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8865 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));
8867 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
8868 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8869 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
8870 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));
8871 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
8872 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
8873 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8874 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
8875 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));
8876 if (r->in.credential == NULL) {
8877 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8879 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
8880 if (r->in.new_password == NULL) {
8881 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8883 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.new_password));
8885 if (flags & NDR_OUT) {
8886 if (r->out.return_authenticator == NULL) {
8887 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8889 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
8890 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8892 return NDR_ERR_SUCCESS;
8895 static enum ndr_err_code ndr_pull_netr_ServerPasswordSet(struct ndr_pull *ndr, int flags, struct netr_ServerPasswordSet *r)
8897 uint32_t _ptr_server_name;
8898 TALLOC_CTX *_mem_save_server_name_0;
8899 TALLOC_CTX *_mem_save_credential_0;
8900 TALLOC_CTX *_mem_save_return_authenticator_0;
8901 TALLOC_CTX *_mem_save_new_password_0;
8902 if (flags & NDR_IN) {
8903 ZERO_STRUCT(r->out);
8905 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
8906 if (_ptr_server_name) {
8907 NDR_PULL_ALLOC(ndr, r->in.server_name);
8909 r->in.server_name = NULL;
8911 if (r->in.server_name) {
8912 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8913 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
8914 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
8915 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
8916 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
8917 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));
8919 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
8920 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));
8921 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
8923 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
8924 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
8925 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
8926 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));
8928 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
8929 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));
8930 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
8931 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
8932 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
8933 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
8934 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));
8936 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
8937 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));
8938 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8939 NDR_PULL_ALLOC(ndr, r->in.credential);
8941 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
8942 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
8943 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
8944 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
8945 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8946 NDR_PULL_ALLOC(ndr, r->in.new_password);
8948 _mem_save_new_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
8949 NDR_PULL_SET_MEM_CTX(ndr, r->in.new_password, LIBNDR_FLAG_REF_ALLOC);
8950 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.new_password));
8951 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_password_0, LIBNDR_FLAG_REF_ALLOC);
8952 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
8953 ZERO_STRUCTP(r->out.return_authenticator);
8955 if (flags & NDR_OUT) {
8956 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8957 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
8959 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
8960 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
8961 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
8962 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
8963 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8965 return NDR_ERR_SUCCESS;
8968 _PUBLIC_ void ndr_print_netr_ServerPasswordSet(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerPasswordSet *r)
8970 ndr_print_struct(ndr, name, "netr_ServerPasswordSet");
8972 if (flags & NDR_SET_VALUES) {
8973 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8975 if (flags & NDR_IN) {
8976 ndr_print_struct(ndr, "in", "netr_ServerPasswordSet");
8978 ndr_print_ptr(ndr, "server_name", r->in.server_name);
8980 if (r->in.server_name) {
8981 ndr_print_string(ndr, "server_name", r->in.server_name);
8984 ndr_print_string(ndr, "account_name", r->in.account_name);
8985 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
8986 ndr_print_string(ndr, "computer_name", r->in.computer_name);
8987 ndr_print_ptr(ndr, "credential", r->in.credential);
8989 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
8991 ndr_print_ptr(ndr, "new_password", r->in.new_password);
8993 ndr_print_samr_Password(ndr, "new_password", r->in.new_password);
8997 if (flags & NDR_OUT) {
8998 ndr_print_struct(ndr, "out", "netr_ServerPasswordSet");
9000 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
9002 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
9004 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9010 static enum ndr_err_code ndr_push_netr_DatabaseDeltas(struct ndr_push *ndr, int flags, const struct netr_DatabaseDeltas *r)
9012 if (flags & NDR_IN) {
9013 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9014 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9015 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9016 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));
9017 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
9018 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9019 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
9020 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9021 if (r->in.credential == NULL) {
9022 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9024 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
9025 if (r->in.return_authenticator == NULL) {
9026 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9028 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9029 NDR_CHECK(ndr_push_netr_SamDatabaseID(ndr, NDR_SCALARS, r->in.database_id));
9030 if (r->in.sequence_num == NULL) {
9031 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9033 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, *r->in.sequence_num));
9034 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.preferredmaximumlength));
9036 if (flags & NDR_OUT) {
9037 if (r->out.return_authenticator == NULL) {
9038 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9040 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9041 if (r->out.sequence_num == NULL) {
9042 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9044 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, *r->out.sequence_num));
9045 if (r->out.delta_enum_array == NULL) {
9046 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9048 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.delta_enum_array));
9049 if (*r->out.delta_enum_array) {
9050 NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
9052 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9054 return NDR_ERR_SUCCESS;
9057 static enum ndr_err_code ndr_pull_netr_DatabaseDeltas(struct ndr_pull *ndr, int flags, struct netr_DatabaseDeltas *r)
9059 uint32_t _ptr_delta_enum_array;
9060 TALLOC_CTX *_mem_save_credential_0;
9061 TALLOC_CTX *_mem_save_return_authenticator_0;
9062 TALLOC_CTX *_mem_save_sequence_num_0;
9063 TALLOC_CTX *_mem_save_delta_enum_array_0;
9064 TALLOC_CTX *_mem_save_delta_enum_array_1;
9065 if (flags & NDR_IN) {
9066 ZERO_STRUCT(r->out);
9068 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
9069 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
9070 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
9071 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));
9073 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
9074 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));
9075 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
9076 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
9077 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
9078 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));
9080 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
9081 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
9082 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9083 NDR_PULL_ALLOC(ndr, r->in.credential);
9085 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
9086 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
9087 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
9088 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
9089 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9090 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
9092 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9093 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
9094 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9095 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
9096 NDR_CHECK(ndr_pull_netr_SamDatabaseID(ndr, NDR_SCALARS, &r->in.database_id));
9097 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9098 NDR_PULL_ALLOC(ndr, r->in.sequence_num);
9100 _mem_save_sequence_num_0 = NDR_PULL_GET_MEM_CTX(ndr);
9101 NDR_PULL_SET_MEM_CTX(ndr, r->in.sequence_num, LIBNDR_FLAG_REF_ALLOC);
9102 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, r->in.sequence_num));
9103 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sequence_num_0, LIBNDR_FLAG_REF_ALLOC);
9104 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.preferredmaximumlength));
9105 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9106 *r->out.return_authenticator = *r->in.return_authenticator;
9107 NDR_PULL_ALLOC(ndr, r->out.sequence_num);
9108 *r->out.sequence_num = *r->in.sequence_num;
9109 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
9110 ZERO_STRUCTP(r->out.delta_enum_array);
9112 if (flags & NDR_OUT) {
9113 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9114 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9116 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9117 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
9118 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9119 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
9120 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9121 NDR_PULL_ALLOC(ndr, r->out.sequence_num);
9123 _mem_save_sequence_num_0 = NDR_PULL_GET_MEM_CTX(ndr);
9124 NDR_PULL_SET_MEM_CTX(ndr, r->out.sequence_num, LIBNDR_FLAG_REF_ALLOC);
9125 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, r->out.sequence_num));
9126 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sequence_num_0, LIBNDR_FLAG_REF_ALLOC);
9127 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9128 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
9130 _mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
9131 NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC);
9132 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum_array));
9133 if (_ptr_delta_enum_array) {
9134 NDR_PULL_ALLOC(ndr, *r->out.delta_enum_array);
9136 *r->out.delta_enum_array = NULL;
9138 if (*r->out.delta_enum_array) {
9139 _mem_save_delta_enum_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
9140 NDR_PULL_SET_MEM_CTX(ndr, *r->out.delta_enum_array, 0);
9141 NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
9142 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_1, 0);
9144 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC);
9145 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9147 return NDR_ERR_SUCCESS;
9150 _PUBLIC_ void ndr_print_netr_DatabaseDeltas(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseDeltas *r)
9152 ndr_print_struct(ndr, name, "netr_DatabaseDeltas");
9154 if (flags & NDR_SET_VALUES) {
9155 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9157 if (flags & NDR_IN) {
9158 ndr_print_struct(ndr, "in", "netr_DatabaseDeltas");
9160 ndr_print_string(ndr, "logon_server", r->in.logon_server);
9161 ndr_print_string(ndr, "computername", r->in.computername);
9162 ndr_print_ptr(ndr, "credential", r->in.credential);
9164 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
9166 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
9168 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
9170 ndr_print_netr_SamDatabaseID(ndr, "database_id", r->in.database_id);
9171 ndr_print_ptr(ndr, "sequence_num", r->in.sequence_num);
9173 ndr_print_udlong(ndr, "sequence_num", *r->in.sequence_num);
9175 ndr_print_uint32(ndr, "preferredmaximumlength", r->in.preferredmaximumlength);
9178 if (flags & NDR_OUT) {
9179 ndr_print_struct(ndr, "out", "netr_DatabaseDeltas");
9181 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
9183 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
9185 ndr_print_ptr(ndr, "sequence_num", r->out.sequence_num);
9187 ndr_print_udlong(ndr, "sequence_num", *r->out.sequence_num);
9189 ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array);
9191 ndr_print_ptr(ndr, "delta_enum_array", *r->out.delta_enum_array);
9193 if (*r->out.delta_enum_array) {
9194 ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", *r->out.delta_enum_array);
9198 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9204 static enum ndr_err_code ndr_push_netr_DatabaseSync(struct ndr_push *ndr, int flags, const struct netr_DatabaseSync *r)
9206 if (flags & NDR_IN) {
9207 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9208 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9209 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9210 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));
9211 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
9212 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9213 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
9214 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9215 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
9216 if (r->in.return_authenticator == NULL) {
9217 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9219 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9220 NDR_CHECK(ndr_push_netr_SamDatabaseID(ndr, NDR_SCALARS, r->in.database_id));
9221 if (r->in.sync_context == NULL) {
9222 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9224 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.sync_context));
9225 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.preferredmaximumlength));
9227 if (flags & NDR_OUT) {
9228 if (r->out.return_authenticator == NULL) {
9229 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9231 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9232 if (r->out.sync_context == NULL) {
9233 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9235 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.sync_context));
9236 if (r->out.delta_enum_array == NULL) {
9237 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9239 NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.delta_enum_array));
9240 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9242 return NDR_ERR_SUCCESS;
9245 static enum ndr_err_code ndr_pull_netr_DatabaseSync(struct ndr_pull *ndr, int flags, struct netr_DatabaseSync *r)
9247 TALLOC_CTX *_mem_save_return_authenticator_0;
9248 TALLOC_CTX *_mem_save_sync_context_0;
9249 TALLOC_CTX *_mem_save_delta_enum_array_0;
9250 if (flags & NDR_IN) {
9251 ZERO_STRUCT(r->out);
9253 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
9254 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
9255 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
9256 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));
9258 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
9259 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));
9260 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
9261 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
9262 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
9263 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));
9265 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
9266 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
9267 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
9268 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9269 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
9271 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9272 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
9273 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9274 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
9275 NDR_CHECK(ndr_pull_netr_SamDatabaseID(ndr, NDR_SCALARS, &r->in.database_id));
9276 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9277 NDR_PULL_ALLOC(ndr, r->in.sync_context);
9279 _mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
9280 NDR_PULL_SET_MEM_CTX(ndr, r->in.sync_context, LIBNDR_FLAG_REF_ALLOC);
9281 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.sync_context));
9282 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC);
9283 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.preferredmaximumlength));
9284 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9285 *r->out.return_authenticator = *r->in.return_authenticator;
9286 NDR_PULL_ALLOC(ndr, r->out.sync_context);
9287 *r->out.sync_context = *r->in.sync_context;
9288 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
9289 ZERO_STRUCTP(r->out.delta_enum_array);
9291 if (flags & NDR_OUT) {
9292 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9293 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9295 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9296 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
9297 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9298 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
9299 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9300 NDR_PULL_ALLOC(ndr, r->out.sync_context);
9302 _mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
9303 NDR_PULL_SET_MEM_CTX(ndr, r->out.sync_context, LIBNDR_FLAG_REF_ALLOC);
9304 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.sync_context));
9305 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC);
9306 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9307 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
9309 _mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
9310 NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC);
9311 NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.delta_enum_array));
9312 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC);
9313 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9315 return NDR_ERR_SUCCESS;
9318 _PUBLIC_ void ndr_print_netr_DatabaseSync(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseSync *r)
9320 ndr_print_struct(ndr, name, "netr_DatabaseSync");
9322 if (flags & NDR_SET_VALUES) {
9323 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9325 if (flags & NDR_IN) {
9326 ndr_print_struct(ndr, "in", "netr_DatabaseSync");
9328 ndr_print_string(ndr, "logon_server", r->in.logon_server);
9329 ndr_print_string(ndr, "computername", r->in.computername);
9330 ndr_print_netr_Authenticator(ndr, "credential", &r->in.credential);
9331 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
9333 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
9335 ndr_print_netr_SamDatabaseID(ndr, "database_id", r->in.database_id);
9336 ndr_print_ptr(ndr, "sync_context", r->in.sync_context);
9338 ndr_print_uint32(ndr, "sync_context", *r->in.sync_context);
9340 ndr_print_uint32(ndr, "preferredmaximumlength", r->in.preferredmaximumlength);
9343 if (flags & NDR_OUT) {
9344 ndr_print_struct(ndr, "out", "netr_DatabaseSync");
9346 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
9348 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
9350 ndr_print_ptr(ndr, "sync_context", r->out.sync_context);
9352 ndr_print_uint32(ndr, "sync_context", *r->out.sync_context);
9354 ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array);
9356 ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", r->out.delta_enum_array);
9358 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9364 static enum ndr_err_code ndr_push_netr_AccountDeltas(struct ndr_push *ndr, int flags, const struct netr_AccountDeltas *r)
9366 if (flags & NDR_IN) {
9367 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
9368 if (r->in.logon_server) {
9369 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9370 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9371 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9372 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));
9374 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
9375 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9376 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
9377 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9378 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
9379 if (r->in.return_authenticator == NULL) {
9380 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9382 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9383 NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, &r->in.uas));
9384 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
9385 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
9386 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buffersize));
9388 if (flags & NDR_OUT) {
9389 if (r->out.return_authenticator == NULL) {
9390 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9392 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9393 if (r->out.buffer == NULL) {
9394 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9397 struct ndr_push *_ndr_buffer;
9398 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_buffer, 4, -1));
9399 NDR_CHECK(ndr_push_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer));
9400 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_buffer, 4, -1));
9402 if (r->out.count_returned == NULL) {
9403 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9405 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count_returned));
9406 if (r->out.total_entries == NULL) {
9407 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9409 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.total_entries));
9410 if (r->out.recordid == NULL) {
9411 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9413 NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid));
9414 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9416 return NDR_ERR_SUCCESS;
9419 static enum ndr_err_code ndr_pull_netr_AccountDeltas(struct ndr_pull *ndr, int flags, struct netr_AccountDeltas *r)
9421 uint32_t _ptr_logon_server;
9422 TALLOC_CTX *_mem_save_logon_server_0;
9423 TALLOC_CTX *_mem_save_return_authenticator_0;
9424 TALLOC_CTX *_mem_save_buffer_0;
9425 TALLOC_CTX *_mem_save_count_returned_0;
9426 TALLOC_CTX *_mem_save_total_entries_0;
9427 TALLOC_CTX *_mem_save_recordid_0;
9428 if (flags & NDR_IN) {
9429 ZERO_STRUCT(r->out);
9431 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
9432 if (_ptr_logon_server) {
9433 NDR_PULL_ALLOC(ndr, r->in.logon_server);
9435 r->in.logon_server = NULL;
9437 if (r->in.logon_server) {
9438 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
9439 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
9440 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
9441 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
9442 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
9443 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));
9445 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
9446 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));
9447 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
9449 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
9450 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
9451 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
9452 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));
9454 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
9455 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
9456 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
9457 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9458 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
9460 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9461 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
9462 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9463 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
9464 NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, &r->in.uas));
9465 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
9466 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
9467 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buffersize));
9468 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9469 *r->out.return_authenticator = *r->in.return_authenticator;
9470 NDR_PULL_ALLOC(ndr, r->out.buffer);
9471 ZERO_STRUCTP(r->out.buffer);
9472 NDR_PULL_ALLOC(ndr, r->out.count_returned);
9473 ZERO_STRUCTP(r->out.count_returned);
9474 NDR_PULL_ALLOC(ndr, r->out.total_entries);
9475 ZERO_STRUCTP(r->out.total_entries);
9476 NDR_PULL_ALLOC(ndr, r->out.recordid);
9477 ZERO_STRUCTP(r->out.recordid);
9479 if (flags & NDR_OUT) {
9480 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9481 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9483 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9484 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
9485 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9486 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
9487 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9488 NDR_PULL_ALLOC(ndr, r->out.buffer);
9490 _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
9491 NDR_PULL_SET_MEM_CTX(ndr, r->out.buffer, LIBNDR_FLAG_REF_ALLOC);
9493 struct ndr_pull *_ndr_buffer;
9494 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_buffer, 4, -1));
9495 NDR_CHECK(ndr_pull_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer));
9496 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_buffer, 4, -1));
9498 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, LIBNDR_FLAG_REF_ALLOC);
9499 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9500 NDR_PULL_ALLOC(ndr, r->out.count_returned);
9502 _mem_save_count_returned_0 = NDR_PULL_GET_MEM_CTX(ndr);
9503 NDR_PULL_SET_MEM_CTX(ndr, r->out.count_returned, LIBNDR_FLAG_REF_ALLOC);
9504 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count_returned));
9505 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_returned_0, LIBNDR_FLAG_REF_ALLOC);
9506 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9507 NDR_PULL_ALLOC(ndr, r->out.total_entries);
9509 _mem_save_total_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
9510 NDR_PULL_SET_MEM_CTX(ndr, r->out.total_entries, LIBNDR_FLAG_REF_ALLOC);
9511 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.total_entries));
9512 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_total_entries_0, LIBNDR_FLAG_REF_ALLOC);
9513 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9514 NDR_PULL_ALLOC(ndr, r->out.recordid);
9516 _mem_save_recordid_0 = NDR_PULL_GET_MEM_CTX(ndr);
9517 NDR_PULL_SET_MEM_CTX(ndr, r->out.recordid, LIBNDR_FLAG_REF_ALLOC);
9518 NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid));
9519 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_recordid_0, LIBNDR_FLAG_REF_ALLOC);
9520 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9522 return NDR_ERR_SUCCESS;
9525 _PUBLIC_ void ndr_print_netr_AccountDeltas(struct ndr_print *ndr, const char *name, int flags, const struct netr_AccountDeltas *r)
9527 ndr_print_struct(ndr, name, "netr_AccountDeltas");
9529 if (flags & NDR_SET_VALUES) {
9530 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9532 if (flags & NDR_IN) {
9533 ndr_print_struct(ndr, "in", "netr_AccountDeltas");
9535 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
9537 if (r->in.logon_server) {
9538 ndr_print_string(ndr, "logon_server", r->in.logon_server);
9541 ndr_print_string(ndr, "computername", r->in.computername);
9542 ndr_print_netr_Authenticator(ndr, "credential", &r->in.credential);
9543 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
9545 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
9547 ndr_print_netr_UAS_INFO_0(ndr, "uas", &r->in.uas);
9548 ndr_print_uint32(ndr, "count", r->in.count);
9549 ndr_print_uint32(ndr, "level", r->in.level);
9550 ndr_print_uint32(ndr, "buffersize", r->in.buffersize);
9553 if (flags & NDR_OUT) {
9554 ndr_print_struct(ndr, "out", "netr_AccountDeltas");
9556 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
9558 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
9560 ndr_print_ptr(ndr, "buffer", r->out.buffer);
9562 ndr_print_netr_AccountBuffer(ndr, "buffer", r->out.buffer);
9564 ndr_print_ptr(ndr, "count_returned", r->out.count_returned);
9566 ndr_print_uint32(ndr, "count_returned", *r->out.count_returned);
9568 ndr_print_ptr(ndr, "total_entries", r->out.total_entries);
9570 ndr_print_uint32(ndr, "total_entries", *r->out.total_entries);
9572 ndr_print_ptr(ndr, "recordid", r->out.recordid);
9574 ndr_print_netr_UAS_INFO_0(ndr, "recordid", r->out.recordid);
9576 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9582 static enum ndr_err_code ndr_push_netr_AccountSync(struct ndr_push *ndr, int flags, const struct netr_AccountSync *r)
9584 if (flags & NDR_IN) {
9585 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
9586 if (r->in.logon_server) {
9587 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9588 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9589 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9590 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));
9592 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
9593 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9594 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
9595 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9596 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
9597 if (r->in.return_authenticator == NULL) {
9598 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9600 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9601 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.reference));
9602 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
9603 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buffersize));
9604 if (r->in.recordid == NULL) {
9605 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9607 NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->in.recordid));
9609 if (flags & NDR_OUT) {
9610 if (r->out.return_authenticator == NULL) {
9611 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9613 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9614 if (r->out.buffer == NULL) {
9615 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9618 struct ndr_push *_ndr_buffer;
9619 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_buffer, 4, -1));
9620 NDR_CHECK(ndr_push_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer));
9621 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_buffer, 4, -1));
9623 if (r->out.count_returned == NULL) {
9624 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9626 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count_returned));
9627 if (r->out.total_entries == NULL) {
9628 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9630 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.total_entries));
9631 if (r->out.next_reference == NULL) {
9632 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9634 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.next_reference));
9635 if (r->out.recordid == NULL) {
9636 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9638 NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid));
9639 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9641 return NDR_ERR_SUCCESS;
9644 static enum ndr_err_code ndr_pull_netr_AccountSync(struct ndr_pull *ndr, int flags, struct netr_AccountSync *r)
9646 uint32_t _ptr_logon_server;
9647 TALLOC_CTX *_mem_save_logon_server_0;
9648 TALLOC_CTX *_mem_save_return_authenticator_0;
9649 TALLOC_CTX *_mem_save_buffer_0;
9650 TALLOC_CTX *_mem_save_count_returned_0;
9651 TALLOC_CTX *_mem_save_total_entries_0;
9652 TALLOC_CTX *_mem_save_next_reference_0;
9653 TALLOC_CTX *_mem_save_recordid_0;
9654 if (flags & NDR_IN) {
9655 ZERO_STRUCT(r->out);
9657 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
9658 if (_ptr_logon_server) {
9659 NDR_PULL_ALLOC(ndr, r->in.logon_server);
9661 r->in.logon_server = NULL;
9663 if (r->in.logon_server) {
9664 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
9665 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
9666 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
9667 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
9668 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
9669 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));
9671 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
9672 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));
9673 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
9675 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
9676 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
9677 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
9678 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));
9680 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
9681 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
9682 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
9683 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9684 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
9686 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9687 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
9688 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9689 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
9690 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.reference));
9691 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
9692 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buffersize));
9693 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9694 NDR_PULL_ALLOC(ndr, r->in.recordid);
9696 _mem_save_recordid_0 = NDR_PULL_GET_MEM_CTX(ndr);
9697 NDR_PULL_SET_MEM_CTX(ndr, r->in.recordid, LIBNDR_FLAG_REF_ALLOC);
9698 NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->in.recordid));
9699 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_recordid_0, LIBNDR_FLAG_REF_ALLOC);
9700 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9701 *r->out.return_authenticator = *r->in.return_authenticator;
9702 NDR_PULL_ALLOC(ndr, r->out.buffer);
9703 ZERO_STRUCTP(r->out.buffer);
9704 NDR_PULL_ALLOC(ndr, r->out.count_returned);
9705 ZERO_STRUCTP(r->out.count_returned);
9706 NDR_PULL_ALLOC(ndr, r->out.total_entries);
9707 ZERO_STRUCTP(r->out.total_entries);
9708 NDR_PULL_ALLOC(ndr, r->out.next_reference);
9709 ZERO_STRUCTP(r->out.next_reference);
9710 NDR_PULL_ALLOC(ndr, r->out.recordid);
9711 *r->out.recordid = *r->in.recordid;
9713 if (flags & NDR_OUT) {
9714 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9715 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9717 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9718 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
9719 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9720 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
9721 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9722 NDR_PULL_ALLOC(ndr, r->out.buffer);
9724 _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
9725 NDR_PULL_SET_MEM_CTX(ndr, r->out.buffer, LIBNDR_FLAG_REF_ALLOC);
9727 struct ndr_pull *_ndr_buffer;
9728 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_buffer, 4, -1));
9729 NDR_CHECK(ndr_pull_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer));
9730 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_buffer, 4, -1));
9732 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, LIBNDR_FLAG_REF_ALLOC);
9733 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9734 NDR_PULL_ALLOC(ndr, r->out.count_returned);
9736 _mem_save_count_returned_0 = NDR_PULL_GET_MEM_CTX(ndr);
9737 NDR_PULL_SET_MEM_CTX(ndr, r->out.count_returned, LIBNDR_FLAG_REF_ALLOC);
9738 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count_returned));
9739 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_returned_0, LIBNDR_FLAG_REF_ALLOC);
9740 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9741 NDR_PULL_ALLOC(ndr, r->out.total_entries);
9743 _mem_save_total_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
9744 NDR_PULL_SET_MEM_CTX(ndr, r->out.total_entries, LIBNDR_FLAG_REF_ALLOC);
9745 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.total_entries));
9746 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_total_entries_0, LIBNDR_FLAG_REF_ALLOC);
9747 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9748 NDR_PULL_ALLOC(ndr, r->out.next_reference);
9750 _mem_save_next_reference_0 = NDR_PULL_GET_MEM_CTX(ndr);
9751 NDR_PULL_SET_MEM_CTX(ndr, r->out.next_reference, LIBNDR_FLAG_REF_ALLOC);
9752 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.next_reference));
9753 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_reference_0, LIBNDR_FLAG_REF_ALLOC);
9754 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9755 NDR_PULL_ALLOC(ndr, r->out.recordid);
9757 _mem_save_recordid_0 = NDR_PULL_GET_MEM_CTX(ndr);
9758 NDR_PULL_SET_MEM_CTX(ndr, r->out.recordid, LIBNDR_FLAG_REF_ALLOC);
9759 NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid));
9760 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_recordid_0, LIBNDR_FLAG_REF_ALLOC);
9761 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9763 return NDR_ERR_SUCCESS;
9766 _PUBLIC_ void ndr_print_netr_AccountSync(struct ndr_print *ndr, const char *name, int flags, const struct netr_AccountSync *r)
9768 ndr_print_struct(ndr, name, "netr_AccountSync");
9770 if (flags & NDR_SET_VALUES) {
9771 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9773 if (flags & NDR_IN) {
9774 ndr_print_struct(ndr, "in", "netr_AccountSync");
9776 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
9778 if (r->in.logon_server) {
9779 ndr_print_string(ndr, "logon_server", r->in.logon_server);
9782 ndr_print_string(ndr, "computername", r->in.computername);
9783 ndr_print_netr_Authenticator(ndr, "credential", &r->in.credential);
9784 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
9786 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
9788 ndr_print_uint32(ndr, "reference", r->in.reference);
9789 ndr_print_uint32(ndr, "level", r->in.level);
9790 ndr_print_uint32(ndr, "buffersize", r->in.buffersize);
9791 ndr_print_ptr(ndr, "recordid", r->in.recordid);
9793 ndr_print_netr_UAS_INFO_0(ndr, "recordid", r->in.recordid);
9797 if (flags & NDR_OUT) {
9798 ndr_print_struct(ndr, "out", "netr_AccountSync");
9800 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
9802 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
9804 ndr_print_ptr(ndr, "buffer", r->out.buffer);
9806 ndr_print_netr_AccountBuffer(ndr, "buffer", r->out.buffer);
9808 ndr_print_ptr(ndr, "count_returned", r->out.count_returned);
9810 ndr_print_uint32(ndr, "count_returned", *r->out.count_returned);
9812 ndr_print_ptr(ndr, "total_entries", r->out.total_entries);
9814 ndr_print_uint32(ndr, "total_entries", *r->out.total_entries);
9816 ndr_print_ptr(ndr, "next_reference", r->out.next_reference);
9818 ndr_print_uint32(ndr, "next_reference", *r->out.next_reference);
9820 ndr_print_ptr(ndr, "recordid", r->out.recordid);
9822 ndr_print_netr_UAS_INFO_0(ndr, "recordid", r->out.recordid);
9824 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9830 static enum ndr_err_code ndr_push_netr_GetDcName(struct ndr_push *ndr, int flags, const struct netr_GetDcName *r)
9832 if (flags & NDR_IN) {
9833 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9834 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9835 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9836 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));
9837 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domainname));
9838 if (r->in.domainname) {
9839 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16)));
9840 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9841 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16)));
9842 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domainname, ndr_charset_length(r->in.domainname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9845 if (flags & NDR_OUT) {
9846 if (r->out.dcname == NULL) {
9847 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9849 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.dcname));
9850 if (*r->out.dcname) {
9851 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16)));
9852 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9853 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16)));
9854 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.dcname, ndr_charset_length(*r->out.dcname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9856 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
9858 return NDR_ERR_SUCCESS;
9861 static enum ndr_err_code ndr_pull_netr_GetDcName(struct ndr_pull *ndr, int flags, struct netr_GetDcName *r)
9863 uint32_t _ptr_domainname;
9864 uint32_t _ptr_dcname;
9865 TALLOC_CTX *_mem_save_domainname_0;
9866 TALLOC_CTX *_mem_save_dcname_0;
9867 TALLOC_CTX *_mem_save_dcname_1;
9868 if (flags & NDR_IN) {
9869 ZERO_STRUCT(r->out);
9871 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
9872 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
9873 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
9874 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));
9876 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
9877 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));
9878 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domainname));
9879 if (_ptr_domainname) {
9880 NDR_PULL_ALLOC(ndr, r->in.domainname);
9882 r->in.domainname = NULL;
9884 if (r->in.domainname) {
9885 _mem_save_domainname_0 = NDR_PULL_GET_MEM_CTX(ndr);
9886 NDR_PULL_SET_MEM_CTX(ndr, r->in.domainname, 0);
9887 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domainname));
9888 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domainname));
9889 if (ndr_get_array_length(ndr, &r->in.domainname) > ndr_get_array_size(ndr, &r->in.domainname)) {
9890 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));
9892 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domainname), sizeof(uint16_t)));
9893 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domainname, ndr_get_array_length(ndr, &r->in.domainname), sizeof(uint16_t), CH_UTF16));
9894 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domainname_0, 0);
9896 NDR_PULL_ALLOC(ndr, r->out.dcname);
9897 ZERO_STRUCTP(r->out.dcname);
9899 if (flags & NDR_OUT) {
9900 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9901 NDR_PULL_ALLOC(ndr, r->out.dcname);
9903 _mem_save_dcname_0 = NDR_PULL_GET_MEM_CTX(ndr);
9904 NDR_PULL_SET_MEM_CTX(ndr, r->out.dcname, LIBNDR_FLAG_REF_ALLOC);
9905 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dcname));
9907 NDR_PULL_ALLOC(ndr, *r->out.dcname);
9909 *r->out.dcname = NULL;
9911 if (*r->out.dcname) {
9912 _mem_save_dcname_1 = NDR_PULL_GET_MEM_CTX(ndr);
9913 NDR_PULL_SET_MEM_CTX(ndr, *r->out.dcname, 0);
9914 NDR_CHECK(ndr_pull_array_size(ndr, r->out.dcname));
9915 NDR_CHECK(ndr_pull_array_length(ndr, r->out.dcname));
9916 if (ndr_get_array_length(ndr, r->out.dcname) > ndr_get_array_size(ndr, r->out.dcname)) {
9917 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));
9919 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.dcname), sizeof(uint16_t)));
9920 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.dcname, ndr_get_array_length(ndr, r->out.dcname), sizeof(uint16_t), CH_UTF16));
9921 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_1, 0);
9923 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_0, LIBNDR_FLAG_REF_ALLOC);
9924 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
9926 return NDR_ERR_SUCCESS;
9929 _PUBLIC_ void ndr_print_netr_GetDcName(struct ndr_print *ndr, const char *name, int flags, const struct netr_GetDcName *r)
9931 ndr_print_struct(ndr, name, "netr_GetDcName");
9933 if (flags & NDR_SET_VALUES) {
9934 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9936 if (flags & NDR_IN) {
9937 ndr_print_struct(ndr, "in", "netr_GetDcName");
9939 ndr_print_string(ndr, "logon_server", r->in.logon_server);
9940 ndr_print_ptr(ndr, "domainname", r->in.domainname);
9942 if (r->in.domainname) {
9943 ndr_print_string(ndr, "domainname", r->in.domainname);
9948 if (flags & NDR_OUT) {
9949 ndr_print_struct(ndr, "out", "netr_GetDcName");
9951 ndr_print_ptr(ndr, "dcname", r->out.dcname);
9953 ndr_print_ptr(ndr, "dcname", *r->out.dcname);
9955 if (*r->out.dcname) {
9956 ndr_print_string(ndr, "dcname", *r->out.dcname);
9960 ndr_print_WERROR(ndr, "result", r->out.result);
9966 static enum ndr_err_code ndr_push_netr_LogonControl(struct ndr_push *ndr, int flags, const struct netr_LogonControl *r)
9968 if (flags & NDR_IN) {
9969 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
9970 if (r->in.logon_server) {
9971 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9972 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9973 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9974 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));
9976 NDR_CHECK(ndr_push_netr_LogonControlCode(ndr, NDR_SCALARS, r->in.function_code));
9977 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
9979 if (flags & NDR_OUT) {
9980 if (r->out.info == NULL) {
9981 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9983 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level));
9984 NDR_CHECK(ndr_push_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
9985 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
9987 return NDR_ERR_SUCCESS;
9990 static enum ndr_err_code ndr_pull_netr_LogonControl(struct ndr_pull *ndr, int flags, struct netr_LogonControl *r)
9992 uint32_t _ptr_logon_server;
9993 TALLOC_CTX *_mem_save_logon_server_0;
9994 TALLOC_CTX *_mem_save_info_0;
9995 if (flags & NDR_IN) {
9996 ZERO_STRUCT(r->out);
9998 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
9999 if (_ptr_logon_server) {
10000 NDR_PULL_ALLOC(ndr, r->in.logon_server);
10002 r->in.logon_server = NULL;
10004 if (r->in.logon_server) {
10005 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
10006 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
10007 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
10008 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
10009 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
10010 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));
10012 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
10013 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));
10014 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
10016 NDR_CHECK(ndr_pull_netr_LogonControlCode(ndr, NDR_SCALARS, &r->in.function_code));
10017 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
10018 NDR_PULL_ALLOC(ndr, r->out.info);
10019 ZERO_STRUCTP(r->out.info);
10021 if (flags & NDR_OUT) {
10022 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10023 NDR_PULL_ALLOC(ndr, r->out.info);
10025 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
10026 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
10027 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level));
10028 NDR_CHECK(ndr_pull_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
10029 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
10030 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
10032 return NDR_ERR_SUCCESS;
10035 _PUBLIC_ void ndr_print_netr_LogonControl(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonControl *r)
10037 ndr_print_struct(ndr, name, "netr_LogonControl");
10039 if (flags & NDR_SET_VALUES) {
10040 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10042 if (flags & NDR_IN) {
10043 ndr_print_struct(ndr, "in", "netr_LogonControl");
10045 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
10047 if (r->in.logon_server) {
10048 ndr_print_string(ndr, "logon_server", r->in.logon_server);
10051 ndr_print_netr_LogonControlCode(ndr, "function_code", r->in.function_code);
10052 ndr_print_uint32(ndr, "level", r->in.level);
10055 if (flags & NDR_OUT) {
10056 ndr_print_struct(ndr, "out", "netr_LogonControl");
10058 ndr_print_ptr(ndr, "info", r->out.info);
10060 ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
10061 ndr_print_netr_CONTROL_QUERY_INFORMATION(ndr, "info", r->out.info);
10063 ndr_print_WERROR(ndr, "result", r->out.result);
10069 static enum ndr_err_code ndr_push_netr_GetAnyDCName(struct ndr_push *ndr, int flags, const struct netr_GetAnyDCName *r)
10071 if (flags & NDR_IN) {
10072 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
10073 if (r->in.logon_server) {
10074 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10075 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10076 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10077 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));
10079 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domainname));
10080 if (r->in.domainname) {
10081 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16)));
10082 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10083 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16)));
10084 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domainname, ndr_charset_length(r->in.domainname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10087 if (flags & NDR_OUT) {
10088 if (r->out.dcname == NULL) {
10089 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10091 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.dcname));
10092 if (*r->out.dcname) {
10093 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16)));
10094 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10095 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16)));
10096 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.dcname, ndr_charset_length(*r->out.dcname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10098 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
10100 return NDR_ERR_SUCCESS;
10103 static enum ndr_err_code ndr_pull_netr_GetAnyDCName(struct ndr_pull *ndr, int flags, struct netr_GetAnyDCName *r)
10105 uint32_t _ptr_logon_server;
10106 uint32_t _ptr_domainname;
10107 uint32_t _ptr_dcname;
10108 TALLOC_CTX *_mem_save_logon_server_0;
10109 TALLOC_CTX *_mem_save_domainname_0;
10110 TALLOC_CTX *_mem_save_dcname_0;
10111 TALLOC_CTX *_mem_save_dcname_1;
10112 if (flags & NDR_IN) {
10113 ZERO_STRUCT(r->out);
10115 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
10116 if (_ptr_logon_server) {
10117 NDR_PULL_ALLOC(ndr, r->in.logon_server);
10119 r->in.logon_server = NULL;
10121 if (r->in.logon_server) {
10122 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
10123 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
10124 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
10125 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
10126 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
10127 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));
10129 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
10130 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));
10131 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
10133 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domainname));
10134 if (_ptr_domainname) {
10135 NDR_PULL_ALLOC(ndr, r->in.domainname);
10137 r->in.domainname = NULL;
10139 if (r->in.domainname) {
10140 _mem_save_domainname_0 = NDR_PULL_GET_MEM_CTX(ndr);
10141 NDR_PULL_SET_MEM_CTX(ndr, r->in.domainname, 0);
10142 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domainname));
10143 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domainname));
10144 if (ndr_get_array_length(ndr, &r->in.domainname) > ndr_get_array_size(ndr, &r->in.domainname)) {
10145 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));
10147 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domainname), sizeof(uint16_t)));
10148 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domainname, ndr_get_array_length(ndr, &r->in.domainname), sizeof(uint16_t), CH_UTF16));
10149 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domainname_0, 0);
10151 NDR_PULL_ALLOC(ndr, r->out.dcname);
10152 ZERO_STRUCTP(r->out.dcname);
10154 if (flags & NDR_OUT) {
10155 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10156 NDR_PULL_ALLOC(ndr, r->out.dcname);
10158 _mem_save_dcname_0 = NDR_PULL_GET_MEM_CTX(ndr);
10159 NDR_PULL_SET_MEM_CTX(ndr, r->out.dcname, LIBNDR_FLAG_REF_ALLOC);
10160 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dcname));
10162 NDR_PULL_ALLOC(ndr, *r->out.dcname);
10164 *r->out.dcname = NULL;
10166 if (*r->out.dcname) {
10167 _mem_save_dcname_1 = NDR_PULL_GET_MEM_CTX(ndr);
10168 NDR_PULL_SET_MEM_CTX(ndr, *r->out.dcname, 0);
10169 NDR_CHECK(ndr_pull_array_size(ndr, r->out.dcname));
10170 NDR_CHECK(ndr_pull_array_length(ndr, r->out.dcname));
10171 if (ndr_get_array_length(ndr, r->out.dcname) > ndr_get_array_size(ndr, r->out.dcname)) {
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->out.dcname), ndr_get_array_length(ndr, r->out.dcname));
10174 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.dcname), sizeof(uint16_t)));
10175 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.dcname, ndr_get_array_length(ndr, r->out.dcname), sizeof(uint16_t), CH_UTF16));
10176 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_1, 0);
10178 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_0, LIBNDR_FLAG_REF_ALLOC);
10179 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
10181 return NDR_ERR_SUCCESS;
10184 _PUBLIC_ void ndr_print_netr_GetAnyDCName(struct ndr_print *ndr, const char *name, int flags, const struct netr_GetAnyDCName *r)
10186 ndr_print_struct(ndr, name, "netr_GetAnyDCName");
10188 if (flags & NDR_SET_VALUES) {
10189 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10191 if (flags & NDR_IN) {
10192 ndr_print_struct(ndr, "in", "netr_GetAnyDCName");
10194 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
10196 if (r->in.logon_server) {
10197 ndr_print_string(ndr, "logon_server", r->in.logon_server);
10200 ndr_print_ptr(ndr, "domainname", r->in.domainname);
10202 if (r->in.domainname) {
10203 ndr_print_string(ndr, "domainname", r->in.domainname);
10208 if (flags & NDR_OUT) {
10209 ndr_print_struct(ndr, "out", "netr_GetAnyDCName");
10211 ndr_print_ptr(ndr, "dcname", r->out.dcname);
10213 ndr_print_ptr(ndr, "dcname", *r->out.dcname);
10215 if (*r->out.dcname) {
10216 ndr_print_string(ndr, "dcname", *r->out.dcname);
10220 ndr_print_WERROR(ndr, "result", r->out.result);
10226 static enum ndr_err_code ndr_push_netr_LogonControl2(struct ndr_push *ndr, int flags, const struct netr_LogonControl2 *r)
10228 if (flags & NDR_IN) {
10229 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
10230 if (r->in.logon_server) {
10231 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10232 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10233 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10234 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));
10236 NDR_CHECK(ndr_push_netr_LogonControlCode(ndr, NDR_SCALARS, r->in.function_code));
10237 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
10238 if (r->in.data == NULL) {
10239 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10241 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.data, r->in.function_code));
10242 NDR_CHECK(ndr_push_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.data));
10244 if (flags & NDR_OUT) {
10245 if (r->out.query == NULL) {
10246 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10248 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.query, r->in.level));
10249 NDR_CHECK(ndr_push_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
10250 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
10252 return NDR_ERR_SUCCESS;
10255 static enum ndr_err_code ndr_pull_netr_LogonControl2(struct ndr_pull *ndr, int flags, struct netr_LogonControl2 *r)
10257 uint32_t _ptr_logon_server;
10258 TALLOC_CTX *_mem_save_logon_server_0;
10259 TALLOC_CTX *_mem_save_data_0;
10260 TALLOC_CTX *_mem_save_query_0;
10261 if (flags & NDR_IN) {
10262 ZERO_STRUCT(r->out);
10264 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
10265 if (_ptr_logon_server) {
10266 NDR_PULL_ALLOC(ndr, r->in.logon_server);
10268 r->in.logon_server = NULL;
10270 if (r->in.logon_server) {
10271 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
10272 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
10273 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
10274 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
10275 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
10276 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));
10278 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
10279 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));
10280 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
10282 NDR_CHECK(ndr_pull_netr_LogonControlCode(ndr, NDR_SCALARS, &r->in.function_code));
10283 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
10284 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10285 NDR_PULL_ALLOC(ndr, r->in.data);
10287 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
10288 NDR_PULL_SET_MEM_CTX(ndr, r->in.data, LIBNDR_FLAG_REF_ALLOC);
10289 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.data, r->in.function_code));
10290 NDR_CHECK(ndr_pull_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.data));
10291 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, LIBNDR_FLAG_REF_ALLOC);
10292 NDR_PULL_ALLOC(ndr, r->out.query);
10293 ZERO_STRUCTP(r->out.query);
10295 if (flags & NDR_OUT) {
10296 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10297 NDR_PULL_ALLOC(ndr, r->out.query);
10299 _mem_save_query_0 = NDR_PULL_GET_MEM_CTX(ndr);
10300 NDR_PULL_SET_MEM_CTX(ndr, r->out.query, LIBNDR_FLAG_REF_ALLOC);
10301 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.query, r->in.level));
10302 NDR_CHECK(ndr_pull_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
10303 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query_0, LIBNDR_FLAG_REF_ALLOC);
10304 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
10306 return NDR_ERR_SUCCESS;
10309 _PUBLIC_ void ndr_print_netr_LogonControl2(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonControl2 *r)
10311 ndr_print_struct(ndr, name, "netr_LogonControl2");
10313 if (flags & NDR_SET_VALUES) {
10314 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10316 if (flags & NDR_IN) {
10317 ndr_print_struct(ndr, "in", "netr_LogonControl2");
10319 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
10321 if (r->in.logon_server) {
10322 ndr_print_string(ndr, "logon_server", r->in.logon_server);
10325 ndr_print_netr_LogonControlCode(ndr, "function_code", r->in.function_code);
10326 ndr_print_uint32(ndr, "level", r->in.level);
10327 ndr_print_ptr(ndr, "data", r->in.data);
10329 ndr_print_set_switch_value(ndr, r->in.data, r->in.function_code);
10330 ndr_print_netr_CONTROL_DATA_INFORMATION(ndr, "data", r->in.data);
10334 if (flags & NDR_OUT) {
10335 ndr_print_struct(ndr, "out", "netr_LogonControl2");
10337 ndr_print_ptr(ndr, "query", r->out.query);
10339 ndr_print_set_switch_value(ndr, r->out.query, r->in.level);
10340 ndr_print_netr_CONTROL_QUERY_INFORMATION(ndr, "query", r->out.query);
10342 ndr_print_WERROR(ndr, "result", r->out.result);
10348 static enum ndr_err_code ndr_push_netr_ServerAuthenticate2(struct ndr_push *ndr, int flags, const struct netr_ServerAuthenticate2 *r)
10350 if (flags & NDR_IN) {
10351 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
10352 if (r->in.server_name) {
10353 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
10354 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10355 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
10356 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));
10358 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
10359 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10360 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
10361 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));
10362 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
10363 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
10364 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10365 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
10366 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));
10367 if (r->in.credentials == NULL) {
10368 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10370 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
10371 if (r->in.negotiate_flags == NULL) {
10372 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10374 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.negotiate_flags));
10376 if (flags & NDR_OUT) {
10377 if (r->out.return_credentials == NULL) {
10378 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10380 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
10381 if (r->out.negotiate_flags == NULL) {
10382 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10384 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.negotiate_flags));
10385 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10387 return NDR_ERR_SUCCESS;
10390 static enum ndr_err_code ndr_pull_netr_ServerAuthenticate2(struct ndr_pull *ndr, int flags, struct netr_ServerAuthenticate2 *r)
10392 uint32_t _ptr_server_name;
10393 TALLOC_CTX *_mem_save_server_name_0;
10394 TALLOC_CTX *_mem_save_credentials_0;
10395 TALLOC_CTX *_mem_save_return_credentials_0;
10396 TALLOC_CTX *_mem_save_negotiate_flags_0;
10397 if (flags & NDR_IN) {
10398 ZERO_STRUCT(r->out);
10400 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
10401 if (_ptr_server_name) {
10402 NDR_PULL_ALLOC(ndr, r->in.server_name);
10404 r->in.server_name = NULL;
10406 if (r->in.server_name) {
10407 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10408 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
10409 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
10410 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
10411 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
10412 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));
10414 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
10415 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));
10416 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
10418 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
10419 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
10420 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
10421 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));
10423 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
10424 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));
10425 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
10426 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
10427 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
10428 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
10429 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));
10431 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
10432 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));
10433 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10434 NDR_PULL_ALLOC(ndr, r->in.credentials);
10436 _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
10437 NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC);
10438 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
10439 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
10440 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10441 NDR_PULL_ALLOC(ndr, r->in.negotiate_flags);
10443 _mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
10444 NDR_PULL_SET_MEM_CTX(ndr, r->in.negotiate_flags, LIBNDR_FLAG_REF_ALLOC);
10445 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.negotiate_flags));
10446 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC);
10447 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
10448 ZERO_STRUCTP(r->out.return_credentials);
10449 NDR_PULL_ALLOC(ndr, r->out.negotiate_flags);
10450 *r->out.negotiate_flags = *r->in.negotiate_flags;
10452 if (flags & NDR_OUT) {
10453 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10454 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
10456 _mem_save_return_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
10457 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_credentials, LIBNDR_FLAG_REF_ALLOC);
10458 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
10459 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_credentials_0, LIBNDR_FLAG_REF_ALLOC);
10460 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10461 NDR_PULL_ALLOC(ndr, r->out.negotiate_flags);
10463 _mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
10464 NDR_PULL_SET_MEM_CTX(ndr, r->out.negotiate_flags, LIBNDR_FLAG_REF_ALLOC);
10465 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.negotiate_flags));
10466 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC);
10467 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10469 return NDR_ERR_SUCCESS;
10472 _PUBLIC_ void ndr_print_netr_ServerAuthenticate2(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerAuthenticate2 *r)
10474 ndr_print_struct(ndr, name, "netr_ServerAuthenticate2");
10476 if (flags & NDR_SET_VALUES) {
10477 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10479 if (flags & NDR_IN) {
10480 ndr_print_struct(ndr, "in", "netr_ServerAuthenticate2");
10482 ndr_print_ptr(ndr, "server_name", r->in.server_name);
10484 if (r->in.server_name) {
10485 ndr_print_string(ndr, "server_name", r->in.server_name);
10488 ndr_print_string(ndr, "account_name", r->in.account_name);
10489 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
10490 ndr_print_string(ndr, "computer_name", r->in.computer_name);
10491 ndr_print_ptr(ndr, "credentials", r->in.credentials);
10493 ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
10495 ndr_print_ptr(ndr, "negotiate_flags", r->in.negotiate_flags);
10497 ndr_print_uint32(ndr, "negotiate_flags", *r->in.negotiate_flags);
10501 if (flags & NDR_OUT) {
10502 ndr_print_struct(ndr, "out", "netr_ServerAuthenticate2");
10504 ndr_print_ptr(ndr, "return_credentials", r->out.return_credentials);
10506 ndr_print_netr_Credential(ndr, "return_credentials", r->out.return_credentials);
10508 ndr_print_ptr(ndr, "negotiate_flags", r->out.negotiate_flags);
10510 ndr_print_uint32(ndr, "negotiate_flags", *r->out.negotiate_flags);
10512 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10518 static enum ndr_err_code ndr_push_netr_DatabaseSync2(struct ndr_push *ndr, int flags, const struct netr_DatabaseSync2 *r)
10520 if (flags & NDR_IN) {
10521 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10522 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10523 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10524 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));
10525 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
10526 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10527 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
10528 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10529 if (r->in.credential == NULL) {
10530 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10532 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
10533 if (r->in.return_authenticator == NULL) {
10534 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10536 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10537 NDR_CHECK(ndr_push_netr_SamDatabaseID(ndr, NDR_SCALARS, r->in.database_id));
10538 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.restart_state));
10539 if (r->in.sync_context == NULL) {
10540 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10542 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.sync_context));
10543 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.preferredmaximumlength));
10545 if (flags & NDR_OUT) {
10546 if (r->out.return_authenticator == NULL) {
10547 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10549 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10550 if (r->out.sync_context == NULL) {
10551 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10553 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.sync_context));
10554 if (r->out.delta_enum_array == NULL) {
10555 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10557 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.delta_enum_array));
10558 if (*r->out.delta_enum_array) {
10559 NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
10561 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10563 return NDR_ERR_SUCCESS;
10566 static enum ndr_err_code ndr_pull_netr_DatabaseSync2(struct ndr_pull *ndr, int flags, struct netr_DatabaseSync2 *r)
10568 uint32_t _ptr_delta_enum_array;
10569 TALLOC_CTX *_mem_save_credential_0;
10570 TALLOC_CTX *_mem_save_return_authenticator_0;
10571 TALLOC_CTX *_mem_save_sync_context_0;
10572 TALLOC_CTX *_mem_save_delta_enum_array_0;
10573 TALLOC_CTX *_mem_save_delta_enum_array_1;
10574 if (flags & NDR_IN) {
10575 ZERO_STRUCT(r->out);
10577 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
10578 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
10579 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
10580 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));
10582 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
10583 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));
10584 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
10585 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
10586 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
10587 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));
10589 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
10590 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
10591 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10592 NDR_PULL_ALLOC(ndr, r->in.credential);
10594 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
10595 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
10596 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
10597 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
10598 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10599 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
10601 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10602 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10603 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10604 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10605 NDR_CHECK(ndr_pull_netr_SamDatabaseID(ndr, NDR_SCALARS, &r->in.database_id));
10606 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.restart_state));
10607 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10608 NDR_PULL_ALLOC(ndr, r->in.sync_context);
10610 _mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
10611 NDR_PULL_SET_MEM_CTX(ndr, r->in.sync_context, LIBNDR_FLAG_REF_ALLOC);
10612 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.sync_context));
10613 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC);
10614 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.preferredmaximumlength));
10615 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10616 *r->out.return_authenticator = *r->in.return_authenticator;
10617 NDR_PULL_ALLOC(ndr, r->out.sync_context);
10618 *r->out.sync_context = *r->in.sync_context;
10619 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
10620 ZERO_STRUCTP(r->out.delta_enum_array);
10622 if (flags & NDR_OUT) {
10623 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10624 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10626 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10627 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10628 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10629 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10630 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10631 NDR_PULL_ALLOC(ndr, r->out.sync_context);
10633 _mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
10634 NDR_PULL_SET_MEM_CTX(ndr, r->out.sync_context, LIBNDR_FLAG_REF_ALLOC);
10635 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.sync_context));
10636 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC);
10637 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10638 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
10640 _mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10641 NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC);
10642 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum_array));
10643 if (_ptr_delta_enum_array) {
10644 NDR_PULL_ALLOC(ndr, *r->out.delta_enum_array);
10646 *r->out.delta_enum_array = NULL;
10648 if (*r->out.delta_enum_array) {
10649 _mem_save_delta_enum_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
10650 NDR_PULL_SET_MEM_CTX(ndr, *r->out.delta_enum_array, 0);
10651 NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
10652 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_1, 0);
10654 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC);
10655 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10657 return NDR_ERR_SUCCESS;
10660 _PUBLIC_ void ndr_print_netr_DatabaseSync2(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseSync2 *r)
10662 ndr_print_struct(ndr, name, "netr_DatabaseSync2");
10664 if (flags & NDR_SET_VALUES) {
10665 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10667 if (flags & NDR_IN) {
10668 ndr_print_struct(ndr, "in", "netr_DatabaseSync2");
10670 ndr_print_string(ndr, "logon_server", r->in.logon_server);
10671 ndr_print_string(ndr, "computername", r->in.computername);
10672 ndr_print_ptr(ndr, "credential", r->in.credential);
10674 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
10676 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
10678 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
10680 ndr_print_netr_SamDatabaseID(ndr, "database_id", r->in.database_id);
10681 ndr_print_uint16(ndr, "restart_state", r->in.restart_state);
10682 ndr_print_ptr(ndr, "sync_context", r->in.sync_context);
10684 ndr_print_uint32(ndr, "sync_context", *r->in.sync_context);
10686 ndr_print_uint32(ndr, "preferredmaximumlength", r->in.preferredmaximumlength);
10689 if (flags & NDR_OUT) {
10690 ndr_print_struct(ndr, "out", "netr_DatabaseSync2");
10692 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
10694 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
10696 ndr_print_ptr(ndr, "sync_context", r->out.sync_context);
10698 ndr_print_uint32(ndr, "sync_context", *r->out.sync_context);
10700 ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array);
10702 ndr_print_ptr(ndr, "delta_enum_array", *r->out.delta_enum_array);
10704 if (*r->out.delta_enum_array) {
10705 ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", *r->out.delta_enum_array);
10709 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10715 static enum ndr_err_code ndr_push_netr_DatabaseRedo(struct ndr_push *ndr, int flags, const struct netr_DatabaseRedo *r)
10717 if (flags & NDR_IN) {
10718 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10719 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10720 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10721 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));
10722 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
10723 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10724 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
10725 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10726 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
10727 if (r->in.return_authenticator == NULL) {
10728 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10730 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10731 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.change_log_entry));
10732 if (r->in.change_log_entry) {
10733 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.change_log_entry_size));
10734 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->in.change_log_entry, r->in.change_log_entry_size));
10736 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.change_log_entry_size));
10738 if (flags & NDR_OUT) {
10739 if (r->out.return_authenticator == NULL) {
10740 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10742 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10743 if (r->out.delta_enum_array == NULL) {
10744 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10746 NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.delta_enum_array));
10747 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10749 return NDR_ERR_SUCCESS;
10752 static enum ndr_err_code ndr_pull_netr_DatabaseRedo(struct ndr_pull *ndr, int flags, struct netr_DatabaseRedo *r)
10754 uint32_t _ptr_change_log_entry;
10755 TALLOC_CTX *_mem_save_return_authenticator_0;
10756 TALLOC_CTX *_mem_save_change_log_entry_0;
10757 TALLOC_CTX *_mem_save_delta_enum_array_0;
10758 if (flags & NDR_IN) {
10759 ZERO_STRUCT(r->out);
10761 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
10762 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
10763 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
10764 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));
10766 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
10767 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));
10768 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
10769 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
10770 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
10771 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));
10773 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
10774 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
10775 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
10776 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10777 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
10779 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10780 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10781 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10782 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10783 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_change_log_entry));
10784 if (_ptr_change_log_entry) {
10785 NDR_PULL_ALLOC(ndr, r->in.change_log_entry);
10787 r->in.change_log_entry = NULL;
10789 if (r->in.change_log_entry) {
10790 _mem_save_change_log_entry_0 = NDR_PULL_GET_MEM_CTX(ndr);
10791 NDR_PULL_SET_MEM_CTX(ndr, r->in.change_log_entry, 0);
10792 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.change_log_entry));
10793 NDR_PULL_ALLOC_N(ndr, r->in.change_log_entry, ndr_get_array_size(ndr, &r->in.change_log_entry));
10794 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.change_log_entry, ndr_get_array_size(ndr, &r->in.change_log_entry)));
10795 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_change_log_entry_0, 0);
10797 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.change_log_entry_size));
10798 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10799 *r->out.return_authenticator = *r->in.return_authenticator;
10800 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
10801 ZERO_STRUCTP(r->out.delta_enum_array);
10802 if (r->in.change_log_entry) {
10803 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.change_log_entry, r->in.change_log_entry_size));
10806 if (flags & NDR_OUT) {
10807 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10808 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10810 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10811 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10812 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10813 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10814 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10815 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
10817 _mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10818 NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC);
10819 NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.delta_enum_array));
10820 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC);
10821 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10823 return NDR_ERR_SUCCESS;
10826 _PUBLIC_ void ndr_print_netr_DatabaseRedo(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseRedo *r)
10828 ndr_print_struct(ndr, name, "netr_DatabaseRedo");
10830 if (flags & NDR_SET_VALUES) {
10831 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10833 if (flags & NDR_IN) {
10834 ndr_print_struct(ndr, "in", "netr_DatabaseRedo");
10836 ndr_print_string(ndr, "logon_server", r->in.logon_server);
10837 ndr_print_string(ndr, "computername", r->in.computername);
10838 ndr_print_netr_Authenticator(ndr, "credential", &r->in.credential);
10839 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
10841 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
10843 ndr_print_ptr(ndr, "change_log_entry", r->in.change_log_entry);
10845 if (r->in.change_log_entry) {
10846 ndr_print_array_uint8(ndr, "change_log_entry", r->in.change_log_entry, r->in.change_log_entry_size);
10849 ndr_print_uint32(ndr, "change_log_entry_size", r->in.change_log_entry_size);
10852 if (flags & NDR_OUT) {
10853 ndr_print_struct(ndr, "out", "netr_DatabaseRedo");
10855 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
10857 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
10859 ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array);
10861 ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", r->out.delta_enum_array);
10863 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10869 static enum ndr_err_code ndr_push_netr_LogonControl2Ex(struct ndr_push *ndr, int flags, const struct netr_LogonControl2Ex *r)
10871 if (flags & NDR_IN) {
10872 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
10873 if (r->in.logon_server) {
10874 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10875 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10876 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10877 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));
10879 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.function_code));
10880 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
10881 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.data, r->in.function_code));
10882 NDR_CHECK(ndr_push_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.data));
10884 if (flags & NDR_OUT) {
10885 if (r->out.query == NULL) {
10886 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10888 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.query, r->in.level));
10889 NDR_CHECK(ndr_push_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
10890 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
10892 return NDR_ERR_SUCCESS;
10895 static enum ndr_err_code ndr_pull_netr_LogonControl2Ex(struct ndr_pull *ndr, int flags, struct netr_LogonControl2Ex *r)
10897 uint32_t _ptr_logon_server;
10898 TALLOC_CTX *_mem_save_logon_server_0;
10899 TALLOC_CTX *_mem_save_query_0;
10900 if (flags & NDR_IN) {
10901 ZERO_STRUCT(r->out);
10903 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
10904 if (_ptr_logon_server) {
10905 NDR_PULL_ALLOC(ndr, r->in.logon_server);
10907 r->in.logon_server = NULL;
10909 if (r->in.logon_server) {
10910 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
10911 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
10912 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
10913 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
10914 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
10915 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));
10917 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
10918 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));
10919 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
10921 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.function_code));
10922 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
10923 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.data, r->in.function_code));
10924 NDR_CHECK(ndr_pull_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.data));
10925 NDR_PULL_ALLOC(ndr, r->out.query);
10926 ZERO_STRUCTP(r->out.query);
10928 if (flags & NDR_OUT) {
10929 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10930 NDR_PULL_ALLOC(ndr, r->out.query);
10932 _mem_save_query_0 = NDR_PULL_GET_MEM_CTX(ndr);
10933 NDR_PULL_SET_MEM_CTX(ndr, r->out.query, LIBNDR_FLAG_REF_ALLOC);
10934 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.query, r->in.level));
10935 NDR_CHECK(ndr_pull_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
10936 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query_0, LIBNDR_FLAG_REF_ALLOC);
10937 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
10939 return NDR_ERR_SUCCESS;
10942 _PUBLIC_ void ndr_print_netr_LogonControl2Ex(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonControl2Ex *r)
10944 ndr_print_struct(ndr, name, "netr_LogonControl2Ex");
10946 if (flags & NDR_SET_VALUES) {
10947 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10949 if (flags & NDR_IN) {
10950 ndr_print_struct(ndr, "in", "netr_LogonControl2Ex");
10952 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
10954 if (r->in.logon_server) {
10955 ndr_print_string(ndr, "logon_server", r->in.logon_server);
10958 ndr_print_uint32(ndr, "function_code", r->in.function_code);
10959 ndr_print_uint32(ndr, "level", r->in.level);
10960 ndr_print_set_switch_value(ndr, &r->in.data, r->in.function_code);
10961 ndr_print_netr_CONTROL_DATA_INFORMATION(ndr, "data", &r->in.data);
10964 if (flags & NDR_OUT) {
10965 ndr_print_struct(ndr, "out", "netr_LogonControl2Ex");
10967 ndr_print_ptr(ndr, "query", r->out.query);
10969 ndr_print_set_switch_value(ndr, r->out.query, r->in.level);
10970 ndr_print_netr_CONTROL_QUERY_INFORMATION(ndr, "query", r->out.query);
10972 ndr_print_WERROR(ndr, "result", r->out.result);
10978 static enum ndr_err_code ndr_push_netr_NetrEnumerateTrustedDomains(struct ndr_push *ndr, int flags, const struct netr_NetrEnumerateTrustedDomains *r)
10980 if (flags & NDR_IN) {
10981 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
10982 if (r->in.server_name) {
10983 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
10984 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10985 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
10986 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));
10989 if (flags & NDR_OUT) {
10990 if (r->out.trusted_domains_blob == NULL) {
10991 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10993 NDR_CHECK(ndr_push_netr_Blob(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusted_domains_blob));
10994 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
10996 return NDR_ERR_SUCCESS;
10999 static enum ndr_err_code ndr_pull_netr_NetrEnumerateTrustedDomains(struct ndr_pull *ndr, int flags, struct netr_NetrEnumerateTrustedDomains *r)
11001 uint32_t _ptr_server_name;
11002 TALLOC_CTX *_mem_save_server_name_0;
11003 TALLOC_CTX *_mem_save_trusted_domains_blob_0;
11004 if (flags & NDR_IN) {
11005 ZERO_STRUCT(r->out);
11007 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
11008 if (_ptr_server_name) {
11009 NDR_PULL_ALLOC(ndr, r->in.server_name);
11011 r->in.server_name = NULL;
11013 if (r->in.server_name) {
11014 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11015 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
11016 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
11017 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
11018 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
11019 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));
11021 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
11022 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));
11023 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
11025 NDR_PULL_ALLOC(ndr, r->out.trusted_domains_blob);
11026 ZERO_STRUCTP(r->out.trusted_domains_blob);
11028 if (flags & NDR_OUT) {
11029 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11030 NDR_PULL_ALLOC(ndr, r->out.trusted_domains_blob);
11032 _mem_save_trusted_domains_blob_0 = NDR_PULL_GET_MEM_CTX(ndr);
11033 NDR_PULL_SET_MEM_CTX(ndr, r->out.trusted_domains_blob, LIBNDR_FLAG_REF_ALLOC);
11034 NDR_CHECK(ndr_pull_netr_Blob(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusted_domains_blob));
11035 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domains_blob_0, LIBNDR_FLAG_REF_ALLOC);
11036 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11038 return NDR_ERR_SUCCESS;
11041 _PUBLIC_ void ndr_print_netr_NetrEnumerateTrustedDomains(struct ndr_print *ndr, const char *name, int flags, const struct netr_NetrEnumerateTrustedDomains *r)
11043 ndr_print_struct(ndr, name, "netr_NetrEnumerateTrustedDomains");
11045 if (flags & NDR_SET_VALUES) {
11046 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11048 if (flags & NDR_IN) {
11049 ndr_print_struct(ndr, "in", "netr_NetrEnumerateTrustedDomains");
11051 ndr_print_ptr(ndr, "server_name", r->in.server_name);
11053 if (r->in.server_name) {
11054 ndr_print_string(ndr, "server_name", r->in.server_name);
11059 if (flags & NDR_OUT) {
11060 ndr_print_struct(ndr, "out", "netr_NetrEnumerateTrustedDomains");
11062 ndr_print_ptr(ndr, "trusted_domains_blob", r->out.trusted_domains_blob);
11064 ndr_print_netr_Blob(ndr, "trusted_domains_blob", r->out.trusted_domains_blob);
11066 ndr_print_WERROR(ndr, "result", r->out.result);
11072 static enum ndr_err_code ndr_push_netr_DsRGetDCName(struct ndr_push *ndr, int flags, const struct netr_DsRGetDCName *r)
11074 if (flags & NDR_IN) {
11075 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc));
11076 if (r->in.server_unc) {
11077 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
11078 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11079 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
11080 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));
11082 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
11083 if (r->in.domain_name) {
11084 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
11085 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11086 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
11087 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));
11089 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
11090 if (r->in.domain_guid) {
11091 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domain_guid));
11093 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.site_guid));
11094 if (r->in.site_guid) {
11095 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.site_guid));
11097 NDR_CHECK(ndr_push_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, r->in.flags));
11099 if (flags & NDR_OUT) {
11100 if (r->out.info == NULL) {
11101 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11103 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
11104 if (*r->out.info) {
11105 NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
11107 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11109 return NDR_ERR_SUCCESS;
11112 static enum ndr_err_code ndr_pull_netr_DsRGetDCName(struct ndr_pull *ndr, int flags, struct netr_DsRGetDCName *r)
11114 uint32_t _ptr_server_unc;
11115 uint32_t _ptr_domain_name;
11116 uint32_t _ptr_domain_guid;
11117 uint32_t _ptr_site_guid;
11118 uint32_t _ptr_info;
11119 TALLOC_CTX *_mem_save_server_unc_0;
11120 TALLOC_CTX *_mem_save_domain_name_0;
11121 TALLOC_CTX *_mem_save_domain_guid_0;
11122 TALLOC_CTX *_mem_save_site_guid_0;
11123 TALLOC_CTX *_mem_save_info_0;
11124 TALLOC_CTX *_mem_save_info_1;
11125 if (flags & NDR_IN) {
11126 ZERO_STRUCT(r->out);
11128 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc));
11129 if (_ptr_server_unc) {
11130 NDR_PULL_ALLOC(ndr, r->in.server_unc);
11132 r->in.server_unc = NULL;
11134 if (r->in.server_unc) {
11135 _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr);
11136 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
11137 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
11138 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
11139 if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
11140 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));
11142 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
11143 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));
11144 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
11146 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
11147 if (_ptr_domain_name) {
11148 NDR_PULL_ALLOC(ndr, r->in.domain_name);
11150 r->in.domain_name = NULL;
11152 if (r->in.domain_name) {
11153 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11154 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
11155 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
11156 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
11157 if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
11158 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));
11160 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
11161 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));
11162 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
11164 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
11165 if (_ptr_domain_guid) {
11166 NDR_PULL_ALLOC(ndr, r->in.domain_guid);
11168 r->in.domain_guid = NULL;
11170 if (r->in.domain_guid) {
11171 _mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
11172 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
11173 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domain_guid));
11174 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
11176 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_guid));
11177 if (_ptr_site_guid) {
11178 NDR_PULL_ALLOC(ndr, r->in.site_guid);
11180 r->in.site_guid = NULL;
11182 if (r->in.site_guid) {
11183 _mem_save_site_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
11184 NDR_PULL_SET_MEM_CTX(ndr, r->in.site_guid, 0);
11185 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.site_guid));
11186 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_guid_0, 0);
11188 NDR_CHECK(ndr_pull_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, &r->in.flags));
11189 NDR_PULL_ALLOC(ndr, r->out.info);
11190 ZERO_STRUCTP(r->out.info);
11192 if (flags & NDR_OUT) {
11193 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11194 NDR_PULL_ALLOC(ndr, r->out.info);
11196 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
11197 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
11198 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
11200 NDR_PULL_ALLOC(ndr, *r->out.info);
11202 *r->out.info = NULL;
11204 if (*r->out.info) {
11205 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
11206 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
11207 NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
11208 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
11210 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
11211 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11213 return NDR_ERR_SUCCESS;
11216 _PUBLIC_ void ndr_print_netr_DsRGetDCName(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetDCName *r)
11218 ndr_print_struct(ndr, name, "netr_DsRGetDCName");
11220 if (flags & NDR_SET_VALUES) {
11221 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11223 if (flags & NDR_IN) {
11224 ndr_print_struct(ndr, "in", "netr_DsRGetDCName");
11226 ndr_print_ptr(ndr, "server_unc", r->in.server_unc);
11228 if (r->in.server_unc) {
11229 ndr_print_string(ndr, "server_unc", r->in.server_unc);
11232 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
11234 if (r->in.domain_name) {
11235 ndr_print_string(ndr, "domain_name", r->in.domain_name);
11238 ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
11240 if (r->in.domain_guid) {
11241 ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
11244 ndr_print_ptr(ndr, "site_guid", r->in.site_guid);
11246 if (r->in.site_guid) {
11247 ndr_print_GUID(ndr, "site_guid", r->in.site_guid);
11250 ndr_print_netr_DsRGetDCName_flags(ndr, "flags", r->in.flags);
11253 if (flags & NDR_OUT) {
11254 ndr_print_struct(ndr, "out", "netr_DsRGetDCName");
11256 ndr_print_ptr(ndr, "info", r->out.info);
11258 ndr_print_ptr(ndr, "info", *r->out.info);
11260 if (*r->out.info) {
11261 ndr_print_netr_DsRGetDCNameInfo(ndr, "info", *r->out.info);
11265 ndr_print_WERROR(ndr, "result", r->out.result);
11271 static enum ndr_err_code ndr_push_netr_NETRLOGONDUMMYROUTINE1(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONDUMMYROUTINE1 *r)
11273 if (flags & NDR_IN) {
11275 if (flags & NDR_OUT) {
11276 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11278 return NDR_ERR_SUCCESS;
11281 static enum ndr_err_code ndr_pull_netr_NETRLOGONDUMMYROUTINE1(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONDUMMYROUTINE1 *r)
11283 if (flags & NDR_IN) {
11285 if (flags & NDR_OUT) {
11286 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11288 return NDR_ERR_SUCCESS;
11291 _PUBLIC_ void ndr_print_netr_NETRLOGONDUMMYROUTINE1(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONDUMMYROUTINE1 *r)
11293 ndr_print_struct(ndr, name, "netr_NETRLOGONDUMMYROUTINE1");
11295 if (flags & NDR_SET_VALUES) {
11296 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11298 if (flags & NDR_IN) {
11299 ndr_print_struct(ndr, "in", "netr_NETRLOGONDUMMYROUTINE1");
11303 if (flags & NDR_OUT) {
11304 ndr_print_struct(ndr, "out", "netr_NETRLOGONDUMMYROUTINE1");
11306 ndr_print_WERROR(ndr, "result", r->out.result);
11312 static enum ndr_err_code ndr_push_netr_NETRLOGONSETSERVICEBITS(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONSETSERVICEBITS *r)
11314 if (flags & NDR_IN) {
11316 if (flags & NDR_OUT) {
11317 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11319 return NDR_ERR_SUCCESS;
11322 static enum ndr_err_code ndr_pull_netr_NETRLOGONSETSERVICEBITS(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONSETSERVICEBITS *r)
11324 if (flags & NDR_IN) {
11326 if (flags & NDR_OUT) {
11327 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11329 return NDR_ERR_SUCCESS;
11332 _PUBLIC_ void ndr_print_netr_NETRLOGONSETSERVICEBITS(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONSETSERVICEBITS *r)
11334 ndr_print_struct(ndr, name, "netr_NETRLOGONSETSERVICEBITS");
11336 if (flags & NDR_SET_VALUES) {
11337 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11339 if (flags & NDR_IN) {
11340 ndr_print_struct(ndr, "in", "netr_NETRLOGONSETSERVICEBITS");
11344 if (flags & NDR_OUT) {
11345 ndr_print_struct(ndr, "out", "netr_NETRLOGONSETSERVICEBITS");
11347 ndr_print_WERROR(ndr, "result", r->out.result);
11353 static enum ndr_err_code ndr_push_netr_LogonGetTrustRid(struct ndr_push *ndr, int flags, const struct netr_LogonGetTrustRid *r)
11355 if (flags & NDR_IN) {
11356 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
11357 if (r->in.server_name) {
11358 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
11359 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11360 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
11361 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));
11363 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
11364 if (r->in.domain_name) {
11365 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
11366 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11367 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
11368 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));
11371 if (flags & NDR_OUT) {
11372 if (r->out.rid == NULL) {
11373 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11375 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.rid));
11376 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11378 return NDR_ERR_SUCCESS;
11381 static enum ndr_err_code ndr_pull_netr_LogonGetTrustRid(struct ndr_pull *ndr, int flags, struct netr_LogonGetTrustRid *r)
11383 uint32_t _ptr_server_name;
11384 uint32_t _ptr_domain_name;
11385 TALLOC_CTX *_mem_save_server_name_0;
11386 TALLOC_CTX *_mem_save_domain_name_0;
11387 TALLOC_CTX *_mem_save_rid_0;
11388 if (flags & NDR_IN) {
11389 ZERO_STRUCT(r->out);
11391 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
11392 if (_ptr_server_name) {
11393 NDR_PULL_ALLOC(ndr, r->in.server_name);
11395 r->in.server_name = NULL;
11397 if (r->in.server_name) {
11398 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11399 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
11400 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
11401 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
11402 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
11403 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));
11405 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
11406 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));
11407 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
11409 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
11410 if (_ptr_domain_name) {
11411 NDR_PULL_ALLOC(ndr, r->in.domain_name);
11413 r->in.domain_name = NULL;
11415 if (r->in.domain_name) {
11416 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11417 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
11418 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
11419 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
11420 if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
11421 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));
11423 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
11424 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));
11425 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
11427 NDR_PULL_ALLOC(ndr, r->out.rid);
11428 ZERO_STRUCTP(r->out.rid);
11430 if (flags & NDR_OUT) {
11431 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11432 NDR_PULL_ALLOC(ndr, r->out.rid);
11434 _mem_save_rid_0 = NDR_PULL_GET_MEM_CTX(ndr);
11435 NDR_PULL_SET_MEM_CTX(ndr, r->out.rid, LIBNDR_FLAG_REF_ALLOC);
11436 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.rid));
11437 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rid_0, LIBNDR_FLAG_REF_ALLOC);
11438 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11440 return NDR_ERR_SUCCESS;
11443 _PUBLIC_ void ndr_print_netr_LogonGetTrustRid(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonGetTrustRid *r)
11445 ndr_print_struct(ndr, name, "netr_LogonGetTrustRid");
11447 if (flags & NDR_SET_VALUES) {
11448 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11450 if (flags & NDR_IN) {
11451 ndr_print_struct(ndr, "in", "netr_LogonGetTrustRid");
11453 ndr_print_ptr(ndr, "server_name", r->in.server_name);
11455 if (r->in.server_name) {
11456 ndr_print_string(ndr, "server_name", r->in.server_name);
11459 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
11461 if (r->in.domain_name) {
11462 ndr_print_string(ndr, "domain_name", r->in.domain_name);
11467 if (flags & NDR_OUT) {
11468 ndr_print_struct(ndr, "out", "netr_LogonGetTrustRid");
11470 ndr_print_ptr(ndr, "rid", r->out.rid);
11472 ndr_print_uint32(ndr, "rid", *r->out.rid);
11474 ndr_print_WERROR(ndr, "result", r->out.result);
11480 static enum ndr_err_code ndr_push_netr_NETRLOGONCOMPUTESERVERDIGEST(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONCOMPUTESERVERDIGEST *r)
11482 if (flags & NDR_IN) {
11484 if (flags & NDR_OUT) {
11485 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11487 return NDR_ERR_SUCCESS;
11490 static enum ndr_err_code ndr_pull_netr_NETRLOGONCOMPUTESERVERDIGEST(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONCOMPUTESERVERDIGEST *r)
11492 if (flags & NDR_IN) {
11494 if (flags & NDR_OUT) {
11495 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11497 return NDR_ERR_SUCCESS;
11500 _PUBLIC_ void ndr_print_netr_NETRLOGONCOMPUTESERVERDIGEST(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONCOMPUTESERVERDIGEST *r)
11502 ndr_print_struct(ndr, name, "netr_NETRLOGONCOMPUTESERVERDIGEST");
11504 if (flags & NDR_SET_VALUES) {
11505 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11507 if (flags & NDR_IN) {
11508 ndr_print_struct(ndr, "in", "netr_NETRLOGONCOMPUTESERVERDIGEST");
11512 if (flags & NDR_OUT) {
11513 ndr_print_struct(ndr, "out", "netr_NETRLOGONCOMPUTESERVERDIGEST");
11515 ndr_print_WERROR(ndr, "result", r->out.result);
11521 static enum ndr_err_code ndr_push_netr_NETRLOGONCOMPUTECLIENTDIGEST(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONCOMPUTECLIENTDIGEST *r)
11523 if (flags & NDR_IN) {
11525 if (flags & NDR_OUT) {
11526 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11528 return NDR_ERR_SUCCESS;
11531 static enum ndr_err_code ndr_pull_netr_NETRLOGONCOMPUTECLIENTDIGEST(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONCOMPUTECLIENTDIGEST *r)
11533 if (flags & NDR_IN) {
11535 if (flags & NDR_OUT) {
11536 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11538 return NDR_ERR_SUCCESS;
11541 _PUBLIC_ void ndr_print_netr_NETRLOGONCOMPUTECLIENTDIGEST(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONCOMPUTECLIENTDIGEST *r)
11543 ndr_print_struct(ndr, name, "netr_NETRLOGONCOMPUTECLIENTDIGEST");
11545 if (flags & NDR_SET_VALUES) {
11546 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11548 if (flags & NDR_IN) {
11549 ndr_print_struct(ndr, "in", "netr_NETRLOGONCOMPUTECLIENTDIGEST");
11553 if (flags & NDR_OUT) {
11554 ndr_print_struct(ndr, "out", "netr_NETRLOGONCOMPUTECLIENTDIGEST");
11556 ndr_print_WERROR(ndr, "result", r->out.result);
11562 static enum ndr_err_code ndr_push_netr_ServerAuthenticate3(struct ndr_push *ndr, int flags, const struct netr_ServerAuthenticate3 *r)
11564 if (flags & NDR_IN) {
11565 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
11566 if (r->in.server_name) {
11567 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
11568 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11569 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
11570 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));
11572 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
11573 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11574 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
11575 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));
11576 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
11577 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
11578 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11579 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
11580 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));
11581 if (r->in.credentials == NULL) {
11582 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11584 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
11585 if (r->in.negotiate_flags == NULL) {
11586 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11588 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.negotiate_flags));
11590 if (flags & NDR_OUT) {
11591 if (r->out.credentials == NULL) {
11592 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11594 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.credentials));
11595 if (r->out.negotiate_flags == NULL) {
11596 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11598 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.negotiate_flags));
11599 if (r->out.rid == NULL) {
11600 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11602 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.rid));
11603 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11605 return NDR_ERR_SUCCESS;
11608 static enum ndr_err_code ndr_pull_netr_ServerAuthenticate3(struct ndr_pull *ndr, int flags, struct netr_ServerAuthenticate3 *r)
11610 uint32_t _ptr_server_name;
11611 TALLOC_CTX *_mem_save_server_name_0;
11612 TALLOC_CTX *_mem_save_credentials_0;
11613 TALLOC_CTX *_mem_save_negotiate_flags_0;
11614 TALLOC_CTX *_mem_save_rid_0;
11615 if (flags & NDR_IN) {
11616 ZERO_STRUCT(r->out);
11618 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
11619 if (_ptr_server_name) {
11620 NDR_PULL_ALLOC(ndr, r->in.server_name);
11622 r->in.server_name = NULL;
11624 if (r->in.server_name) {
11625 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11626 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
11627 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
11628 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
11629 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
11630 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));
11632 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
11633 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));
11634 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
11636 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
11637 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
11638 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
11639 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));
11641 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
11642 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));
11643 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
11644 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
11645 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
11646 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
11647 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));
11649 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
11650 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));
11651 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11652 NDR_PULL_ALLOC(ndr, r->in.credentials);
11654 _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
11655 NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC);
11656 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
11657 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
11658 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11659 NDR_PULL_ALLOC(ndr, r->in.negotiate_flags);
11661 _mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
11662 NDR_PULL_SET_MEM_CTX(ndr, r->in.negotiate_flags, LIBNDR_FLAG_REF_ALLOC);
11663 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.negotiate_flags));
11664 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC);
11665 NDR_PULL_ALLOC(ndr, r->out.credentials);
11666 *r->out.credentials = *r->in.credentials;
11667 NDR_PULL_ALLOC(ndr, r->out.negotiate_flags);
11668 *r->out.negotiate_flags = *r->in.negotiate_flags;
11669 NDR_PULL_ALLOC(ndr, r->out.rid);
11670 ZERO_STRUCTP(r->out.rid);
11672 if (flags & NDR_OUT) {
11673 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11674 NDR_PULL_ALLOC(ndr, r->out.credentials);
11676 _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
11677 NDR_PULL_SET_MEM_CTX(ndr, r->out.credentials, LIBNDR_FLAG_REF_ALLOC);
11678 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.credentials));
11679 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
11680 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11681 NDR_PULL_ALLOC(ndr, r->out.negotiate_flags);
11683 _mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
11684 NDR_PULL_SET_MEM_CTX(ndr, r->out.negotiate_flags, LIBNDR_FLAG_REF_ALLOC);
11685 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.negotiate_flags));
11686 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC);
11687 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11688 NDR_PULL_ALLOC(ndr, r->out.rid);
11690 _mem_save_rid_0 = NDR_PULL_GET_MEM_CTX(ndr);
11691 NDR_PULL_SET_MEM_CTX(ndr, r->out.rid, LIBNDR_FLAG_REF_ALLOC);
11692 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.rid));
11693 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rid_0, LIBNDR_FLAG_REF_ALLOC);
11694 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11696 return NDR_ERR_SUCCESS;
11699 _PUBLIC_ void ndr_print_netr_ServerAuthenticate3(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerAuthenticate3 *r)
11701 ndr_print_struct(ndr, name, "netr_ServerAuthenticate3");
11703 if (flags & NDR_SET_VALUES) {
11704 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11706 if (flags & NDR_IN) {
11707 ndr_print_struct(ndr, "in", "netr_ServerAuthenticate3");
11709 ndr_print_ptr(ndr, "server_name", r->in.server_name);
11711 if (r->in.server_name) {
11712 ndr_print_string(ndr, "server_name", r->in.server_name);
11715 ndr_print_string(ndr, "account_name", r->in.account_name);
11716 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
11717 ndr_print_string(ndr, "computer_name", r->in.computer_name);
11718 ndr_print_ptr(ndr, "credentials", r->in.credentials);
11720 ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
11722 ndr_print_ptr(ndr, "negotiate_flags", r->in.negotiate_flags);
11724 ndr_print_uint32(ndr, "negotiate_flags", *r->in.negotiate_flags);
11728 if (flags & NDR_OUT) {
11729 ndr_print_struct(ndr, "out", "netr_ServerAuthenticate3");
11731 ndr_print_ptr(ndr, "credentials", r->out.credentials);
11733 ndr_print_netr_Credential(ndr, "credentials", r->out.credentials);
11735 ndr_print_ptr(ndr, "negotiate_flags", r->out.negotiate_flags);
11737 ndr_print_uint32(ndr, "negotiate_flags", *r->out.negotiate_flags);
11739 ndr_print_ptr(ndr, "rid", r->out.rid);
11741 ndr_print_uint32(ndr, "rid", *r->out.rid);
11743 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11749 static enum ndr_err_code ndr_push_netr_DsRGetDCNameEx(struct ndr_push *ndr, int flags, const struct netr_DsRGetDCNameEx *r)
11751 if (flags & NDR_IN) {
11752 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc));
11753 if (r->in.server_unc) {
11754 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
11755 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11756 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
11757 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));
11759 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
11760 if (r->in.domain_name) {
11761 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
11762 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11763 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
11764 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));
11766 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
11767 if (r->in.domain_guid) {
11768 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domain_guid));
11770 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.site_name));
11771 if (r->in.site_name) {
11772 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
11773 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11774 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
11775 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));
11777 NDR_CHECK(ndr_push_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, r->in.flags));
11779 if (flags & NDR_OUT) {
11780 if (r->out.info == NULL) {
11781 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11783 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
11784 if (*r->out.info) {
11785 NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
11787 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11789 return NDR_ERR_SUCCESS;
11792 static enum ndr_err_code ndr_pull_netr_DsRGetDCNameEx(struct ndr_pull *ndr, int flags, struct netr_DsRGetDCNameEx *r)
11794 uint32_t _ptr_server_unc;
11795 uint32_t _ptr_domain_name;
11796 uint32_t _ptr_domain_guid;
11797 uint32_t _ptr_site_name;
11798 uint32_t _ptr_info;
11799 TALLOC_CTX *_mem_save_server_unc_0;
11800 TALLOC_CTX *_mem_save_domain_name_0;
11801 TALLOC_CTX *_mem_save_domain_guid_0;
11802 TALLOC_CTX *_mem_save_site_name_0;
11803 TALLOC_CTX *_mem_save_info_0;
11804 TALLOC_CTX *_mem_save_info_1;
11805 if (flags & NDR_IN) {
11806 ZERO_STRUCT(r->out);
11808 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc));
11809 if (_ptr_server_unc) {
11810 NDR_PULL_ALLOC(ndr, r->in.server_unc);
11812 r->in.server_unc = NULL;
11814 if (r->in.server_unc) {
11815 _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr);
11816 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
11817 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
11818 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
11819 if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
11820 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));
11822 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
11823 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));
11824 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
11826 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
11827 if (_ptr_domain_name) {
11828 NDR_PULL_ALLOC(ndr, r->in.domain_name);
11830 r->in.domain_name = NULL;
11832 if (r->in.domain_name) {
11833 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11834 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
11835 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
11836 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
11837 if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
11838 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));
11840 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
11841 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));
11842 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
11844 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
11845 if (_ptr_domain_guid) {
11846 NDR_PULL_ALLOC(ndr, r->in.domain_guid);
11848 r->in.domain_guid = NULL;
11850 if (r->in.domain_guid) {
11851 _mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
11852 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
11853 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domain_guid));
11854 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
11856 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
11857 if (_ptr_site_name) {
11858 NDR_PULL_ALLOC(ndr, r->in.site_name);
11860 r->in.site_name = NULL;
11862 if (r->in.site_name) {
11863 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11864 NDR_PULL_SET_MEM_CTX(ndr, r->in.site_name, 0);
11865 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.site_name));
11866 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.site_name));
11867 if (ndr_get_array_length(ndr, &r->in.site_name) > ndr_get_array_size(ndr, &r->in.site_name)) {
11868 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));
11870 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.site_name), sizeof(uint16_t)));
11871 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));
11872 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
11874 NDR_CHECK(ndr_pull_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, &r->in.flags));
11875 NDR_PULL_ALLOC(ndr, r->out.info);
11876 ZERO_STRUCTP(r->out.info);
11878 if (flags & NDR_OUT) {
11879 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11880 NDR_PULL_ALLOC(ndr, r->out.info);
11882 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
11883 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
11884 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
11886 NDR_PULL_ALLOC(ndr, *r->out.info);
11888 *r->out.info = NULL;
11890 if (*r->out.info) {
11891 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
11892 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
11893 NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
11894 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
11896 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
11897 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11899 return NDR_ERR_SUCCESS;
11902 _PUBLIC_ void ndr_print_netr_DsRGetDCNameEx(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetDCNameEx *r)
11904 ndr_print_struct(ndr, name, "netr_DsRGetDCNameEx");
11906 if (flags & NDR_SET_VALUES) {
11907 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11909 if (flags & NDR_IN) {
11910 ndr_print_struct(ndr, "in", "netr_DsRGetDCNameEx");
11912 ndr_print_ptr(ndr, "server_unc", r->in.server_unc);
11914 if (r->in.server_unc) {
11915 ndr_print_string(ndr, "server_unc", r->in.server_unc);
11918 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
11920 if (r->in.domain_name) {
11921 ndr_print_string(ndr, "domain_name", r->in.domain_name);
11924 ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
11926 if (r->in.domain_guid) {
11927 ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
11930 ndr_print_ptr(ndr, "site_name", r->in.site_name);
11932 if (r->in.site_name) {
11933 ndr_print_string(ndr, "site_name", r->in.site_name);
11936 ndr_print_netr_DsRGetDCName_flags(ndr, "flags", r->in.flags);
11939 if (flags & NDR_OUT) {
11940 ndr_print_struct(ndr, "out", "netr_DsRGetDCNameEx");
11942 ndr_print_ptr(ndr, "info", r->out.info);
11944 ndr_print_ptr(ndr, "info", *r->out.info);
11946 if (*r->out.info) {
11947 ndr_print_netr_DsRGetDCNameInfo(ndr, "info", *r->out.info);
11951 ndr_print_WERROR(ndr, "result", r->out.result);
11957 static enum ndr_err_code ndr_push_netr_DsRGetSiteName(struct ndr_push *ndr, int flags, const struct netr_DsRGetSiteName *r)
11959 if (flags & NDR_IN) {
11960 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
11961 if (r->in.computer_name) {
11962 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
11963 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11964 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
11965 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));
11968 if (flags & NDR_OUT) {
11969 if (r->out.site == NULL) {
11970 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11972 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.site));
11973 if (*r->out.site) {
11974 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.site, CH_UTF16)));
11975 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11976 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.site, CH_UTF16)));
11977 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.site, ndr_charset_length(*r->out.site, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11979 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11981 return NDR_ERR_SUCCESS;
11984 static enum ndr_err_code ndr_pull_netr_DsRGetSiteName(struct ndr_pull *ndr, int flags, struct netr_DsRGetSiteName *r)
11986 uint32_t _ptr_computer_name;
11987 uint32_t _ptr_site;
11988 TALLOC_CTX *_mem_save_computer_name_0;
11989 TALLOC_CTX *_mem_save_site_0;
11990 TALLOC_CTX *_mem_save_site_1;
11991 if (flags & NDR_IN) {
11992 ZERO_STRUCT(r->out);
11994 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
11995 if (_ptr_computer_name) {
11996 NDR_PULL_ALLOC(ndr, r->in.computer_name);
11998 r->in.computer_name = NULL;
12000 if (r->in.computer_name) {
12001 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12002 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
12003 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
12004 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
12005 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
12006 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));
12008 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
12009 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));
12010 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
12012 NDR_PULL_ALLOC(ndr, r->out.site);
12013 ZERO_STRUCTP(r->out.site);
12015 if (flags & NDR_OUT) {
12016 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12017 NDR_PULL_ALLOC(ndr, r->out.site);
12019 _mem_save_site_0 = NDR_PULL_GET_MEM_CTX(ndr);
12020 NDR_PULL_SET_MEM_CTX(ndr, r->out.site, LIBNDR_FLAG_REF_ALLOC);
12021 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site));
12023 NDR_PULL_ALLOC(ndr, *r->out.site);
12025 *r->out.site = NULL;
12027 if (*r->out.site) {
12028 _mem_save_site_1 = NDR_PULL_GET_MEM_CTX(ndr);
12029 NDR_PULL_SET_MEM_CTX(ndr, *r->out.site, 0);
12030 NDR_CHECK(ndr_pull_array_size(ndr, r->out.site));
12031 NDR_CHECK(ndr_pull_array_length(ndr, r->out.site));
12032 if (ndr_get_array_length(ndr, r->out.site) > ndr_get_array_size(ndr, r->out.site)) {
12033 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));
12035 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.site), sizeof(uint16_t)));
12036 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.site, ndr_get_array_length(ndr, r->out.site), sizeof(uint16_t), CH_UTF16));
12037 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_1, 0);
12039 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_0, LIBNDR_FLAG_REF_ALLOC);
12040 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12042 return NDR_ERR_SUCCESS;
12045 _PUBLIC_ void ndr_print_netr_DsRGetSiteName(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetSiteName *r)
12047 ndr_print_struct(ndr, name, "netr_DsRGetSiteName");
12049 if (flags & NDR_SET_VALUES) {
12050 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12052 if (flags & NDR_IN) {
12053 ndr_print_struct(ndr, "in", "netr_DsRGetSiteName");
12055 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
12057 if (r->in.computer_name) {
12058 ndr_print_string(ndr, "computer_name", r->in.computer_name);
12063 if (flags & NDR_OUT) {
12064 ndr_print_struct(ndr, "out", "netr_DsRGetSiteName");
12066 ndr_print_ptr(ndr, "site", r->out.site);
12068 ndr_print_ptr(ndr, "site", *r->out.site);
12070 if (*r->out.site) {
12071 ndr_print_string(ndr, "site", *r->out.site);
12075 ndr_print_WERROR(ndr, "result", r->out.result);
12081 static enum ndr_err_code ndr_push_netr_LogonGetDomainInfo(struct ndr_push *ndr, int flags, const struct netr_LogonGetDomainInfo *r)
12083 if (flags & NDR_IN) {
12084 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12085 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12086 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12087 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));
12088 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
12089 if (r->in.computer_name) {
12090 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
12091 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12092 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
12093 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));
12095 if (r->in.credential == NULL) {
12096 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12098 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
12099 if (r->in.return_authenticator == NULL) {
12100 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12102 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
12103 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
12104 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.query, r->in.level));
12105 NDR_CHECK(ndr_push_netr_DomainQuery(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.query));
12107 if (flags & NDR_OUT) {
12108 if (r->out.return_authenticator == NULL) {
12109 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12111 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12112 if (r->out.info == NULL) {
12113 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12115 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level));
12116 NDR_CHECK(ndr_push_netr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
12117 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12119 return NDR_ERR_SUCCESS;
12122 static enum ndr_err_code ndr_pull_netr_LogonGetDomainInfo(struct ndr_pull *ndr, int flags, struct netr_LogonGetDomainInfo *r)
12124 uint32_t _ptr_computer_name;
12125 TALLOC_CTX *_mem_save_computer_name_0;
12126 TALLOC_CTX *_mem_save_credential_0;
12127 TALLOC_CTX *_mem_save_return_authenticator_0;
12128 TALLOC_CTX *_mem_save_info_0;
12129 if (flags & NDR_IN) {
12130 ZERO_STRUCT(r->out);
12132 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
12133 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
12134 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
12135 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));
12137 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
12138 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));
12139 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
12140 if (_ptr_computer_name) {
12141 NDR_PULL_ALLOC(ndr, r->in.computer_name);
12143 r->in.computer_name = NULL;
12145 if (r->in.computer_name) {
12146 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12147 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
12148 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
12149 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
12150 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
12151 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));
12153 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
12154 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));
12155 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
12157 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12158 NDR_PULL_ALLOC(ndr, r->in.credential);
12160 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
12161 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
12162 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
12163 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
12164 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12165 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
12167 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
12168 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
12169 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
12170 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
12171 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
12172 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.query, r->in.level));
12173 NDR_CHECK(ndr_pull_netr_DomainQuery(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.query));
12174 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12175 *r->out.return_authenticator = *r->in.return_authenticator;
12176 NDR_PULL_ALLOC(ndr, r->out.info);
12177 ZERO_STRUCTP(r->out.info);
12179 if (flags & NDR_OUT) {
12180 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12181 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12183 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
12184 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
12185 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12186 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
12187 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12188 NDR_PULL_ALLOC(ndr, r->out.info);
12190 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
12191 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
12192 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level));
12193 NDR_CHECK(ndr_pull_netr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
12194 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
12195 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12197 return NDR_ERR_SUCCESS;
12200 _PUBLIC_ void ndr_print_netr_LogonGetDomainInfo(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonGetDomainInfo *r)
12202 ndr_print_struct(ndr, name, "netr_LogonGetDomainInfo");
12204 if (flags & NDR_SET_VALUES) {
12205 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12207 if (flags & NDR_IN) {
12208 ndr_print_struct(ndr, "in", "netr_LogonGetDomainInfo");
12210 ndr_print_string(ndr, "server_name", r->in.server_name);
12211 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
12213 if (r->in.computer_name) {
12214 ndr_print_string(ndr, "computer_name", r->in.computer_name);
12217 ndr_print_ptr(ndr, "credential", r->in.credential);
12219 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
12221 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
12223 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
12225 ndr_print_uint32(ndr, "level", r->in.level);
12226 ndr_print_set_switch_value(ndr, &r->in.query, r->in.level);
12227 ndr_print_netr_DomainQuery(ndr, "query", &r->in.query);
12230 if (flags & NDR_OUT) {
12231 ndr_print_struct(ndr, "out", "netr_LogonGetDomainInfo");
12233 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
12235 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
12237 ndr_print_ptr(ndr, "info", r->out.info);
12239 ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
12240 ndr_print_netr_DomainInfo(ndr, "info", r->out.info);
12242 ndr_print_NTSTATUS(ndr, "result", r->out.result);
12248 static enum ndr_err_code ndr_push_netr_ServerPasswordSet2(struct ndr_push *ndr, int flags, const struct netr_ServerPasswordSet2 *r)
12250 if (flags & NDR_IN) {
12251 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
12252 if (r->in.server_name) {
12253 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12254 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12255 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12256 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));
12258 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
12259 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12260 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
12261 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));
12262 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
12263 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
12264 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12265 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
12266 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));
12267 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
12268 NDR_CHECK(ndr_push_netr_CryptPassword(ndr, NDR_SCALARS, &r->in.new_password));
12270 if (flags & NDR_OUT) {
12271 if (r->out.return_authenticator == NULL) {
12272 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12274 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12275 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12277 return NDR_ERR_SUCCESS;
12280 static enum ndr_err_code ndr_pull_netr_ServerPasswordSet2(struct ndr_pull *ndr, int flags, struct netr_ServerPasswordSet2 *r)
12282 uint32_t _ptr_server_name;
12283 TALLOC_CTX *_mem_save_server_name_0;
12284 TALLOC_CTX *_mem_save_return_authenticator_0;
12285 if (flags & NDR_IN) {
12286 ZERO_STRUCT(r->out);
12288 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
12289 if (_ptr_server_name) {
12290 NDR_PULL_ALLOC(ndr, r->in.server_name);
12292 r->in.server_name = NULL;
12294 if (r->in.server_name) {
12295 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12296 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
12297 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
12298 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
12299 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
12300 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));
12302 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
12303 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));
12304 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
12306 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
12307 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
12308 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
12309 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));
12311 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
12312 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));
12313 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
12314 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
12315 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
12316 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
12317 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));
12319 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
12320 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));
12321 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
12322 NDR_CHECK(ndr_pull_netr_CryptPassword(ndr, NDR_SCALARS, &r->in.new_password));
12323 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12324 ZERO_STRUCTP(r->out.return_authenticator);
12326 if (flags & NDR_OUT) {
12327 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12328 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12330 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
12331 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
12332 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12333 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
12334 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12336 return NDR_ERR_SUCCESS;
12339 _PUBLIC_ void ndr_print_netr_ServerPasswordSet2(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerPasswordSet2 *r)
12341 ndr_print_struct(ndr, name, "netr_ServerPasswordSet2");
12343 if (flags & NDR_SET_VALUES) {
12344 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12346 if (flags & NDR_IN) {
12347 ndr_print_struct(ndr, "in", "netr_ServerPasswordSet2");
12349 ndr_print_ptr(ndr, "server_name", r->in.server_name);
12351 if (r->in.server_name) {
12352 ndr_print_string(ndr, "server_name", r->in.server_name);
12355 ndr_print_string(ndr, "account_name", r->in.account_name);
12356 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
12357 ndr_print_string(ndr, "computer_name", r->in.computer_name);
12358 ndr_print_netr_Authenticator(ndr, "credential", &r->in.credential);
12359 ndr_print_netr_CryptPassword(ndr, "new_password", &r->in.new_password);
12362 if (flags & NDR_OUT) {
12363 ndr_print_struct(ndr, "out", "netr_ServerPasswordSet2");
12365 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
12367 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
12369 ndr_print_NTSTATUS(ndr, "result", r->out.result);
12375 static enum ndr_err_code ndr_push_netr_ServerPasswordGet(struct ndr_push *ndr, int flags, const struct netr_ServerPasswordGet *r)
12377 if (flags & NDR_IN) {
12378 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
12379 if (r->in.server_name) {
12380 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12381 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12382 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12383 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));
12385 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
12386 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12387 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
12388 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));
12389 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
12390 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
12391 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12392 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
12393 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));
12394 if (r->in.credential == NULL) {
12395 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12397 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
12399 if (flags & NDR_OUT) {
12400 if (r->out.return_authenticator == NULL) {
12401 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12403 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12404 if (r->out.password == NULL) {
12405 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12407 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.password));
12408 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12410 return NDR_ERR_SUCCESS;
12413 static enum ndr_err_code ndr_pull_netr_ServerPasswordGet(struct ndr_pull *ndr, int flags, struct netr_ServerPasswordGet *r)
12415 uint32_t _ptr_server_name;
12416 TALLOC_CTX *_mem_save_server_name_0;
12417 TALLOC_CTX *_mem_save_credential_0;
12418 TALLOC_CTX *_mem_save_return_authenticator_0;
12419 TALLOC_CTX *_mem_save_password_0;
12420 if (flags & NDR_IN) {
12421 ZERO_STRUCT(r->out);
12423 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
12424 if (_ptr_server_name) {
12425 NDR_PULL_ALLOC(ndr, r->in.server_name);
12427 r->in.server_name = NULL;
12429 if (r->in.server_name) {
12430 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12431 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
12432 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
12433 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
12434 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
12435 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));
12437 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
12438 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));
12439 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
12441 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
12442 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
12443 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
12444 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));
12446 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
12447 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));
12448 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
12449 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
12450 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
12451 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
12452 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));
12454 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
12455 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));
12456 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12457 NDR_PULL_ALLOC(ndr, r->in.credential);
12459 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
12460 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
12461 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
12462 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
12463 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12464 ZERO_STRUCTP(r->out.return_authenticator);
12465 NDR_PULL_ALLOC(ndr, r->out.password);
12466 ZERO_STRUCTP(r->out.password);
12468 if (flags & NDR_OUT) {
12469 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12470 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12472 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
12473 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
12474 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12475 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
12476 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12477 NDR_PULL_ALLOC(ndr, r->out.password);
12479 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
12480 NDR_PULL_SET_MEM_CTX(ndr, r->out.password, LIBNDR_FLAG_REF_ALLOC);
12481 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.password));
12482 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, LIBNDR_FLAG_REF_ALLOC);
12483 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12485 return NDR_ERR_SUCCESS;
12488 _PUBLIC_ void ndr_print_netr_ServerPasswordGet(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerPasswordGet *r)
12490 ndr_print_struct(ndr, name, "netr_ServerPasswordGet");
12492 if (flags & NDR_SET_VALUES) {
12493 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12495 if (flags & NDR_IN) {
12496 ndr_print_struct(ndr, "in", "netr_ServerPasswordGet");
12498 ndr_print_ptr(ndr, "server_name", r->in.server_name);
12500 if (r->in.server_name) {
12501 ndr_print_string(ndr, "server_name", r->in.server_name);
12504 ndr_print_string(ndr, "account_name", r->in.account_name);
12505 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
12506 ndr_print_string(ndr, "computer_name", r->in.computer_name);
12507 ndr_print_ptr(ndr, "credential", r->in.credential);
12509 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
12513 if (flags & NDR_OUT) {
12514 ndr_print_struct(ndr, "out", "netr_ServerPasswordGet");
12516 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
12518 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
12520 ndr_print_ptr(ndr, "password", r->out.password);
12522 ndr_print_samr_Password(ndr, "password", r->out.password);
12524 ndr_print_WERROR(ndr, "result", r->out.result);
12530 static enum ndr_err_code ndr_push_netr_NETRLOGONSENDTOSAM(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONSENDTOSAM *r)
12532 if (flags & NDR_IN) {
12534 if (flags & NDR_OUT) {
12535 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12537 return NDR_ERR_SUCCESS;
12540 static enum ndr_err_code ndr_pull_netr_NETRLOGONSENDTOSAM(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONSENDTOSAM *r)
12542 if (flags & NDR_IN) {
12544 if (flags & NDR_OUT) {
12545 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12547 return NDR_ERR_SUCCESS;
12550 _PUBLIC_ void ndr_print_netr_NETRLOGONSENDTOSAM(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONSENDTOSAM *r)
12552 ndr_print_struct(ndr, name, "netr_NETRLOGONSENDTOSAM");
12554 if (flags & NDR_SET_VALUES) {
12555 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12557 if (flags & NDR_IN) {
12558 ndr_print_struct(ndr, "in", "netr_NETRLOGONSENDTOSAM");
12562 if (flags & NDR_OUT) {
12563 ndr_print_struct(ndr, "out", "netr_NETRLOGONSENDTOSAM");
12565 ndr_print_WERROR(ndr, "result", r->out.result);
12571 static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesW(struct ndr_push *ndr, int flags, const struct netr_DsRAddressToSitenamesW *r)
12573 uint32_t cntr_addresses_1;
12574 if (flags & NDR_IN) {
12575 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
12576 if (r->in.server_name) {
12577 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12578 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12579 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12580 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));
12582 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
12583 if (r->in.addresses == NULL) {
12584 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12586 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
12587 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
12588 NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1]));
12590 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
12591 NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1]));
12594 if (flags & NDR_OUT) {
12595 if (r->out.ctr == NULL) {
12596 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12598 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.ctr));
12600 NDR_CHECK(ndr_push_netr_DsRAddressToSitenamesWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
12602 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12604 return NDR_ERR_SUCCESS;
12607 static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesW(struct ndr_pull *ndr, int flags, struct netr_DsRAddressToSitenamesW *r)
12609 uint32_t _ptr_server_name;
12610 uint32_t cntr_addresses_1;
12612 TALLOC_CTX *_mem_save_server_name_0;
12613 TALLOC_CTX *_mem_save_addresses_1;
12614 TALLOC_CTX *_mem_save_ctr_0;
12615 TALLOC_CTX *_mem_save_ctr_1;
12616 if (flags & NDR_IN) {
12617 ZERO_STRUCT(r->out);
12619 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
12620 if (_ptr_server_name) {
12621 NDR_PULL_ALLOC(ndr, r->in.server_name);
12623 r->in.server_name = NULL;
12625 if (r->in.server_name) {
12626 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12627 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
12628 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
12629 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
12630 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
12631 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));
12633 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
12634 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));
12635 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
12637 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
12638 if (r->in.count < 0 || r->in.count > 32000) {
12639 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
12641 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.addresses));
12642 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12643 NDR_PULL_ALLOC_N(ndr, r->in.addresses, ndr_get_array_size(ndr, &r->in.addresses));
12645 _mem_save_addresses_1 = NDR_PULL_GET_MEM_CTX(ndr);
12646 NDR_PULL_SET_MEM_CTX(ndr, r->in.addresses, 0);
12647 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
12648 NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1]));
12650 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
12651 NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1]));
12653 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_addresses_1, 0);
12654 NDR_PULL_ALLOC(ndr, r->out.ctr);
12655 ZERO_STRUCTP(r->out.ctr);
12656 if (r->in.addresses) {
12657 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.addresses, r->in.count));
12660 if (flags & NDR_OUT) {
12661 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12662 NDR_PULL_ALLOC(ndr, r->out.ctr);
12664 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
12665 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
12666 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr));
12668 NDR_PULL_ALLOC(ndr, *r->out.ctr);
12670 *r->out.ctr = NULL;
12673 _mem_save_ctr_1 = NDR_PULL_GET_MEM_CTX(ndr);
12674 NDR_PULL_SET_MEM_CTX(ndr, *r->out.ctr, 0);
12675 NDR_CHECK(ndr_pull_netr_DsRAddressToSitenamesWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
12676 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_1, 0);
12678 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
12679 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12681 return NDR_ERR_SUCCESS;
12684 _PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesW(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRAddressToSitenamesW *r)
12686 uint32_t cntr_addresses_1;
12687 ndr_print_struct(ndr, name, "netr_DsRAddressToSitenamesW");
12689 if (flags & NDR_SET_VALUES) {
12690 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12692 if (flags & NDR_IN) {
12693 ndr_print_struct(ndr, "in", "netr_DsRAddressToSitenamesW");
12695 ndr_print_ptr(ndr, "server_name", r->in.server_name);
12697 if (r->in.server_name) {
12698 ndr_print_string(ndr, "server_name", r->in.server_name);
12701 ndr_print_uint32(ndr, "count", r->in.count);
12702 ndr_print_ptr(ndr, "addresses", r->in.addresses);
12704 ndr->print(ndr, "%s: ARRAY(%d)", "addresses", r->in.count);
12706 for (cntr_addresses_1=0;cntr_addresses_1<r->in.count;cntr_addresses_1++) {
12708 if (asprintf(&idx_1, "[%d]", cntr_addresses_1) != -1) {
12709 ndr_print_netr_DsRAddress(ndr, "addresses", &r->in.addresses[cntr_addresses_1]);
12717 if (flags & NDR_OUT) {
12718 ndr_print_struct(ndr, "out", "netr_DsRAddressToSitenamesW");
12720 ndr_print_ptr(ndr, "ctr", r->out.ctr);
12722 ndr_print_ptr(ndr, "ctr", *r->out.ctr);
12725 ndr_print_netr_DsRAddressToSitenamesWCtr(ndr, "ctr", *r->out.ctr);
12729 ndr_print_WERROR(ndr, "result", r->out.result);
12735 static enum ndr_err_code ndr_push_netr_DsRGetDCNameEx2(struct ndr_push *ndr, int flags, const struct netr_DsRGetDCNameEx2 *r)
12737 if (flags & NDR_IN) {
12738 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc));
12739 if (r->in.server_unc) {
12740 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
12741 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12742 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
12743 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));
12745 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.client_account));
12746 if (r->in.client_account) {
12747 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.client_account, CH_UTF16)));
12748 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12749 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.client_account, CH_UTF16)));
12750 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));
12752 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->in.mask));
12753 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
12754 if (r->in.domain_name) {
12755 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
12756 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12757 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
12758 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));
12760 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
12761 if (r->in.domain_guid) {
12762 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domain_guid));
12764 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.site_name));
12765 if (r->in.site_name) {
12766 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
12767 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12768 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
12769 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));
12771 NDR_CHECK(ndr_push_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, r->in.flags));
12773 if (flags & NDR_OUT) {
12774 if (r->out.info == NULL) {
12775 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12777 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
12778 if (*r->out.info) {
12779 NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
12781 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12783 return NDR_ERR_SUCCESS;
12786 static enum ndr_err_code ndr_pull_netr_DsRGetDCNameEx2(struct ndr_pull *ndr, int flags, struct netr_DsRGetDCNameEx2 *r)
12788 uint32_t _ptr_server_unc;
12789 uint32_t _ptr_client_account;
12790 uint32_t _ptr_domain_name;
12791 uint32_t _ptr_domain_guid;
12792 uint32_t _ptr_site_name;
12793 uint32_t _ptr_info;
12794 TALLOC_CTX *_mem_save_server_unc_0;
12795 TALLOC_CTX *_mem_save_client_account_0;
12796 TALLOC_CTX *_mem_save_domain_name_0;
12797 TALLOC_CTX *_mem_save_domain_guid_0;
12798 TALLOC_CTX *_mem_save_site_name_0;
12799 TALLOC_CTX *_mem_save_info_0;
12800 TALLOC_CTX *_mem_save_info_1;
12801 if (flags & NDR_IN) {
12802 ZERO_STRUCT(r->out);
12804 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc));
12805 if (_ptr_server_unc) {
12806 NDR_PULL_ALLOC(ndr, r->in.server_unc);
12808 r->in.server_unc = NULL;
12810 if (r->in.server_unc) {
12811 _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr);
12812 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
12813 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
12814 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
12815 if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
12816 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));
12818 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
12819 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));
12820 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
12822 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_account));
12823 if (_ptr_client_account) {
12824 NDR_PULL_ALLOC(ndr, r->in.client_account);
12826 r->in.client_account = NULL;
12828 if (r->in.client_account) {
12829 _mem_save_client_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
12830 NDR_PULL_SET_MEM_CTX(ndr, r->in.client_account, 0);
12831 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.client_account));
12832 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.client_account));
12833 if (ndr_get_array_length(ndr, &r->in.client_account) > ndr_get_array_size(ndr, &r->in.client_account)) {
12834 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));
12836 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.client_account), sizeof(uint16_t)));
12837 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));
12838 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_account_0, 0);
12840 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->in.mask));
12841 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
12842 if (_ptr_domain_name) {
12843 NDR_PULL_ALLOC(ndr, r->in.domain_name);
12845 r->in.domain_name = NULL;
12847 if (r->in.domain_name) {
12848 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12849 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
12850 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
12851 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
12852 if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
12853 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));
12855 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
12856 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));
12857 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
12859 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
12860 if (_ptr_domain_guid) {
12861 NDR_PULL_ALLOC(ndr, r->in.domain_guid);
12863 r->in.domain_guid = NULL;
12865 if (r->in.domain_guid) {
12866 _mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
12867 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
12868 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domain_guid));
12869 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
12871 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
12872 if (_ptr_site_name) {
12873 NDR_PULL_ALLOC(ndr, r->in.site_name);
12875 r->in.site_name = NULL;
12877 if (r->in.site_name) {
12878 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12879 NDR_PULL_SET_MEM_CTX(ndr, r->in.site_name, 0);
12880 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.site_name));
12881 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.site_name));
12882 if (ndr_get_array_length(ndr, &r->in.site_name) > ndr_get_array_size(ndr, &r->in.site_name)) {
12883 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));
12885 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.site_name), sizeof(uint16_t)));
12886 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));
12887 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
12889 NDR_CHECK(ndr_pull_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, &r->in.flags));
12890 NDR_PULL_ALLOC(ndr, r->out.info);
12891 ZERO_STRUCTP(r->out.info);
12893 if (flags & NDR_OUT) {
12894 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12895 NDR_PULL_ALLOC(ndr, r->out.info);
12897 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
12898 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
12899 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
12901 NDR_PULL_ALLOC(ndr, *r->out.info);
12903 *r->out.info = NULL;
12905 if (*r->out.info) {
12906 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
12907 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
12908 NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
12909 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
12911 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
12912 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12914 return NDR_ERR_SUCCESS;
12917 _PUBLIC_ void ndr_print_netr_DsRGetDCNameEx2(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetDCNameEx2 *r)
12919 ndr_print_struct(ndr, name, "netr_DsRGetDCNameEx2");
12921 if (flags & NDR_SET_VALUES) {
12922 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12924 if (flags & NDR_IN) {
12925 ndr_print_struct(ndr, "in", "netr_DsRGetDCNameEx2");
12927 ndr_print_ptr(ndr, "server_unc", r->in.server_unc);
12929 if (r->in.server_unc) {
12930 ndr_print_string(ndr, "server_unc", r->in.server_unc);
12933 ndr_print_ptr(ndr, "client_account", r->in.client_account);
12935 if (r->in.client_account) {
12936 ndr_print_string(ndr, "client_account", r->in.client_account);
12939 ndr_print_samr_AcctFlags(ndr, "mask", r->in.mask);
12940 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
12942 if (r->in.domain_name) {
12943 ndr_print_string(ndr, "domain_name", r->in.domain_name);
12946 ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
12948 if (r->in.domain_guid) {
12949 ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
12952 ndr_print_ptr(ndr, "site_name", r->in.site_name);
12954 if (r->in.site_name) {
12955 ndr_print_string(ndr, "site_name", r->in.site_name);
12958 ndr_print_netr_DsRGetDCName_flags(ndr, "flags", r->in.flags);
12961 if (flags & NDR_OUT) {
12962 ndr_print_struct(ndr, "out", "netr_DsRGetDCNameEx2");
12964 ndr_print_ptr(ndr, "info", r->out.info);
12966 ndr_print_ptr(ndr, "info", *r->out.info);
12968 if (*r->out.info) {
12969 ndr_print_netr_DsRGetDCNameInfo(ndr, "info", *r->out.info);
12973 ndr_print_WERROR(ndr, "result", r->out.result);
12979 static enum ndr_err_code ndr_push_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN *r)
12981 if (flags & NDR_IN) {
12983 if (flags & NDR_OUT) {
12984 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12986 return NDR_ERR_SUCCESS;
12989 static enum ndr_err_code ndr_pull_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN *r)
12991 if (flags & NDR_IN) {
12993 if (flags & NDR_OUT) {
12994 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12996 return NDR_ERR_SUCCESS;
12999 _PUBLIC_ void ndr_print_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN *r)
13001 ndr_print_struct(ndr, name, "netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN");
13003 if (flags & NDR_SET_VALUES) {
13004 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13006 if (flags & NDR_IN) {
13007 ndr_print_struct(ndr, "in", "netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN");
13011 if (flags & NDR_OUT) {
13012 ndr_print_struct(ndr, "out", "netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN");
13014 ndr_print_WERROR(ndr, "result", r->out.result);
13020 static enum ndr_err_code ndr_push_netr_NetrEnumerateTrustedDomainsEx(struct ndr_push *ndr, int flags, const struct netr_NetrEnumerateTrustedDomainsEx *r)
13022 if (flags & NDR_IN) {
13023 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
13024 if (r->in.server_name) {
13025 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13026 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13027 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13028 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));
13031 if (flags & NDR_OUT) {
13032 if (r->out.dom_trust_list == NULL) {
13033 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13035 NDR_CHECK(ndr_push_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.dom_trust_list));
13036 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13038 return NDR_ERR_SUCCESS;
13041 static enum ndr_err_code ndr_pull_netr_NetrEnumerateTrustedDomainsEx(struct ndr_pull *ndr, int flags, struct netr_NetrEnumerateTrustedDomainsEx *r)
13043 uint32_t _ptr_server_name;
13044 TALLOC_CTX *_mem_save_server_name_0;
13045 TALLOC_CTX *_mem_save_dom_trust_list_0;
13046 if (flags & NDR_IN) {
13047 ZERO_STRUCT(r->out);
13049 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
13050 if (_ptr_server_name) {
13051 NDR_PULL_ALLOC(ndr, r->in.server_name);
13053 r->in.server_name = NULL;
13055 if (r->in.server_name) {
13056 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13057 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
13058 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13059 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13060 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13061 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));
13063 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13064 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));
13065 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
13067 NDR_PULL_ALLOC(ndr, r->out.dom_trust_list);
13068 ZERO_STRUCTP(r->out.dom_trust_list);
13070 if (flags & NDR_OUT) {
13071 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13072 NDR_PULL_ALLOC(ndr, r->out.dom_trust_list);
13074 _mem_save_dom_trust_list_0 = NDR_PULL_GET_MEM_CTX(ndr);
13075 NDR_PULL_SET_MEM_CTX(ndr, r->out.dom_trust_list, LIBNDR_FLAG_REF_ALLOC);
13076 NDR_CHECK(ndr_pull_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.dom_trust_list));
13077 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dom_trust_list_0, LIBNDR_FLAG_REF_ALLOC);
13078 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13080 return NDR_ERR_SUCCESS;
13083 _PUBLIC_ void ndr_print_netr_NetrEnumerateTrustedDomainsEx(struct ndr_print *ndr, const char *name, int flags, const struct netr_NetrEnumerateTrustedDomainsEx *r)
13085 ndr_print_struct(ndr, name, "netr_NetrEnumerateTrustedDomainsEx");
13087 if (flags & NDR_SET_VALUES) {
13088 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13090 if (flags & NDR_IN) {
13091 ndr_print_struct(ndr, "in", "netr_NetrEnumerateTrustedDomainsEx");
13093 ndr_print_ptr(ndr, "server_name", r->in.server_name);
13095 if (r->in.server_name) {
13096 ndr_print_string(ndr, "server_name", r->in.server_name);
13101 if (flags & NDR_OUT) {
13102 ndr_print_struct(ndr, "out", "netr_NetrEnumerateTrustedDomainsEx");
13104 ndr_print_ptr(ndr, "dom_trust_list", r->out.dom_trust_list);
13106 ndr_print_netr_DomainTrustList(ndr, "dom_trust_list", r->out.dom_trust_list);
13108 ndr_print_WERROR(ndr, "result", r->out.result);
13114 static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesExW(struct ndr_push *ndr, int flags, const struct netr_DsRAddressToSitenamesExW *r)
13116 uint32_t cntr_addresses_1;
13117 if (flags & NDR_IN) {
13118 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
13119 if (r->in.server_name) {
13120 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13121 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13122 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13123 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));
13125 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
13126 if (r->in.addresses == NULL) {
13127 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13129 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
13130 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
13131 NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1]));
13133 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
13134 NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1]));
13137 if (flags & NDR_OUT) {
13138 if (r->out.ctr == NULL) {
13139 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13141 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.ctr));
13143 NDR_CHECK(ndr_push_netr_DsRAddressToSitenamesExWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
13145 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13147 return NDR_ERR_SUCCESS;
13150 static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesExW(struct ndr_pull *ndr, int flags, struct netr_DsRAddressToSitenamesExW *r)
13152 uint32_t _ptr_server_name;
13153 uint32_t cntr_addresses_1;
13155 TALLOC_CTX *_mem_save_server_name_0;
13156 TALLOC_CTX *_mem_save_addresses_1;
13157 TALLOC_CTX *_mem_save_ctr_0;
13158 TALLOC_CTX *_mem_save_ctr_1;
13159 if (flags & NDR_IN) {
13160 ZERO_STRUCT(r->out);
13162 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
13163 if (_ptr_server_name) {
13164 NDR_PULL_ALLOC(ndr, r->in.server_name);
13166 r->in.server_name = NULL;
13168 if (r->in.server_name) {
13169 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13170 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
13171 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13172 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13173 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13174 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));
13176 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13177 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));
13178 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
13180 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
13181 if (r->in.count < 0 || r->in.count > 32000) {
13182 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
13184 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.addresses));
13185 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13186 NDR_PULL_ALLOC_N(ndr, r->in.addresses, ndr_get_array_size(ndr, &r->in.addresses));
13188 _mem_save_addresses_1 = NDR_PULL_GET_MEM_CTX(ndr);
13189 NDR_PULL_SET_MEM_CTX(ndr, r->in.addresses, 0);
13190 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
13191 NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1]));
13193 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
13194 NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1]));
13196 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_addresses_1, 0);
13197 NDR_PULL_ALLOC(ndr, r->out.ctr);
13198 ZERO_STRUCTP(r->out.ctr);
13199 if (r->in.addresses) {
13200 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.addresses, r->in.count));
13203 if (flags & NDR_OUT) {
13204 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13205 NDR_PULL_ALLOC(ndr, r->out.ctr);
13207 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
13208 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
13209 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr));
13211 NDR_PULL_ALLOC(ndr, *r->out.ctr);
13213 *r->out.ctr = NULL;
13216 _mem_save_ctr_1 = NDR_PULL_GET_MEM_CTX(ndr);
13217 NDR_PULL_SET_MEM_CTX(ndr, *r->out.ctr, 0);
13218 NDR_CHECK(ndr_pull_netr_DsRAddressToSitenamesExWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
13219 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_1, 0);
13221 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
13222 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13224 return NDR_ERR_SUCCESS;
13227 _PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesExW(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRAddressToSitenamesExW *r)
13229 uint32_t cntr_addresses_1;
13230 ndr_print_struct(ndr, name, "netr_DsRAddressToSitenamesExW");
13232 if (flags & NDR_SET_VALUES) {
13233 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13235 if (flags & NDR_IN) {
13236 ndr_print_struct(ndr, "in", "netr_DsRAddressToSitenamesExW");
13238 ndr_print_ptr(ndr, "server_name", r->in.server_name);
13240 if (r->in.server_name) {
13241 ndr_print_string(ndr, "server_name", r->in.server_name);
13244 ndr_print_uint32(ndr, "count", r->in.count);
13245 ndr_print_ptr(ndr, "addresses", r->in.addresses);
13247 ndr->print(ndr, "%s: ARRAY(%d)", "addresses", r->in.count);
13249 for (cntr_addresses_1=0;cntr_addresses_1<r->in.count;cntr_addresses_1++) {
13251 if (asprintf(&idx_1, "[%d]", cntr_addresses_1) != -1) {
13252 ndr_print_netr_DsRAddress(ndr, "addresses", &r->in.addresses[cntr_addresses_1]);
13260 if (flags & NDR_OUT) {
13261 ndr_print_struct(ndr, "out", "netr_DsRAddressToSitenamesExW");
13263 ndr_print_ptr(ndr, "ctr", r->out.ctr);
13265 ndr_print_ptr(ndr, "ctr", *r->out.ctr);
13268 ndr_print_netr_DsRAddressToSitenamesExWCtr(ndr, "ctr", *r->out.ctr);
13272 ndr_print_WERROR(ndr, "result", r->out.result);
13278 static enum ndr_err_code ndr_push_netr_DsrGetDcSiteCoverageW(struct ndr_push *ndr, int flags, const struct netr_DsrGetDcSiteCoverageW *r)
13280 if (flags & NDR_IN) {
13281 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
13282 if (r->in.server_name) {
13283 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13284 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13285 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13286 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));
13289 if (flags & NDR_OUT) {
13290 if (r->out.ctr == NULL) {
13291 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13293 NDR_CHECK(ndr_push_DcSitesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
13294 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13296 return NDR_ERR_SUCCESS;
13299 static enum ndr_err_code ndr_pull_netr_DsrGetDcSiteCoverageW(struct ndr_pull *ndr, int flags, struct netr_DsrGetDcSiteCoverageW *r)
13301 uint32_t _ptr_server_name;
13302 TALLOC_CTX *_mem_save_server_name_0;
13303 TALLOC_CTX *_mem_save_ctr_0;
13304 if (flags & NDR_IN) {
13305 ZERO_STRUCT(r->out);
13307 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
13308 if (_ptr_server_name) {
13309 NDR_PULL_ALLOC(ndr, r->in.server_name);
13311 r->in.server_name = NULL;
13313 if (r->in.server_name) {
13314 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13315 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
13316 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13317 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13318 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13319 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));
13321 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13322 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));
13323 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
13325 NDR_PULL_ALLOC(ndr, r->out.ctr);
13326 ZERO_STRUCTP(r->out.ctr);
13328 if (flags & NDR_OUT) {
13329 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13330 NDR_PULL_ALLOC(ndr, r->out.ctr);
13332 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
13333 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
13334 NDR_CHECK(ndr_pull_DcSitesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
13335 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
13336 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13338 return NDR_ERR_SUCCESS;
13341 _PUBLIC_ void ndr_print_netr_DsrGetDcSiteCoverageW(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsrGetDcSiteCoverageW *r)
13343 ndr_print_struct(ndr, name, "netr_DsrGetDcSiteCoverageW");
13345 if (flags & NDR_SET_VALUES) {
13346 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13348 if (flags & NDR_IN) {
13349 ndr_print_struct(ndr, "in", "netr_DsrGetDcSiteCoverageW");
13351 ndr_print_ptr(ndr, "server_name", r->in.server_name);
13353 if (r->in.server_name) {
13354 ndr_print_string(ndr, "server_name", r->in.server_name);
13359 if (flags & NDR_OUT) {
13360 ndr_print_struct(ndr, "out", "netr_DsrGetDcSiteCoverageW");
13362 ndr_print_ptr(ndr, "ctr", r->out.ctr);
13364 ndr_print_DcSitesCtr(ndr, "ctr", r->out.ctr);
13366 ndr_print_WERROR(ndr, "result", r->out.result);
13372 static enum ndr_err_code ndr_push_netr_LogonSamLogonEx(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogonEx *r)
13374 if (flags & NDR_IN) {
13375 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
13376 if (r->in.server_name) {
13377 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13378 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13379 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13380 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));
13382 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
13383 if (r->in.computer_name) {
13384 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13385 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13386 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13387 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));
13389 NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS, r->in.logon_level));
13390 if (r->in.logon == NULL) {
13391 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13393 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.logon, r->in.logon_level));
13394 NDR_CHECK(ndr_push_netr_LogonInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
13395 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.validation_level));
13396 if (r->in.flags == NULL) {
13397 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13399 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.flags));
13401 if (flags & NDR_OUT) {
13402 if (r->out.validation == NULL) {
13403 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13405 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.validation, r->in.validation_level));
13406 NDR_CHECK(ndr_push_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
13407 if (r->out.authoritative == NULL) {
13408 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13410 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, *r->out.authoritative));
13411 if (r->out.flags == NULL) {
13412 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13414 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.flags));
13415 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
13417 return NDR_ERR_SUCCESS;
13420 static enum ndr_err_code ndr_pull_netr_LogonSamLogonEx(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogonEx *r)
13422 uint32_t _ptr_server_name;
13423 uint32_t _ptr_computer_name;
13424 TALLOC_CTX *_mem_save_server_name_0;
13425 TALLOC_CTX *_mem_save_computer_name_0;
13426 TALLOC_CTX *_mem_save_logon_0;
13427 TALLOC_CTX *_mem_save_validation_0;
13428 TALLOC_CTX *_mem_save_authoritative_0;
13429 TALLOC_CTX *_mem_save_flags_0;
13430 if (flags & NDR_IN) {
13431 ZERO_STRUCT(r->out);
13433 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
13434 if (_ptr_server_name) {
13435 NDR_PULL_ALLOC(ndr, r->in.server_name);
13437 r->in.server_name = NULL;
13439 if (r->in.server_name) {
13440 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13441 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
13442 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13443 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13444 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13445 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));
13447 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13448 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));
13449 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
13451 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
13452 if (_ptr_computer_name) {
13453 NDR_PULL_ALLOC(ndr, r->in.computer_name);
13455 r->in.computer_name = NULL;
13457 if (r->in.computer_name) {
13458 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13459 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
13460 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
13461 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
13462 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
13463 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));
13465 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
13466 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));
13467 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
13469 NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS, &r->in.logon_level));
13470 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13471 NDR_PULL_ALLOC(ndr, r->in.logon);
13473 _mem_save_logon_0 = NDR_PULL_GET_MEM_CTX(ndr);
13474 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon, LIBNDR_FLAG_REF_ALLOC);
13475 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.logon, r->in.logon_level));
13476 NDR_CHECK(ndr_pull_netr_LogonInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
13477 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_0, LIBNDR_FLAG_REF_ALLOC);
13478 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.validation_level));
13479 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13480 NDR_PULL_ALLOC(ndr, r->in.flags);
13482 _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
13483 NDR_PULL_SET_MEM_CTX(ndr, r->in.flags, LIBNDR_FLAG_REF_ALLOC);
13484 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.flags));
13485 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
13486 NDR_PULL_ALLOC(ndr, r->out.validation);
13487 ZERO_STRUCTP(r->out.validation);
13488 NDR_PULL_ALLOC(ndr, r->out.authoritative);
13489 ZERO_STRUCTP(r->out.authoritative);
13490 NDR_PULL_ALLOC(ndr, r->out.flags);
13491 *r->out.flags = *r->in.flags;
13493 if (flags & NDR_OUT) {
13494 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13495 NDR_PULL_ALLOC(ndr, r->out.validation);
13497 _mem_save_validation_0 = NDR_PULL_GET_MEM_CTX(ndr);
13498 NDR_PULL_SET_MEM_CTX(ndr, r->out.validation, LIBNDR_FLAG_REF_ALLOC);
13499 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.validation, r->in.validation_level));
13500 NDR_CHECK(ndr_pull_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
13501 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_validation_0, LIBNDR_FLAG_REF_ALLOC);
13502 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13503 NDR_PULL_ALLOC(ndr, r->out.authoritative);
13505 _mem_save_authoritative_0 = NDR_PULL_GET_MEM_CTX(ndr);
13506 NDR_PULL_SET_MEM_CTX(ndr, r->out.authoritative, LIBNDR_FLAG_REF_ALLOC);
13507 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, r->out.authoritative));
13508 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_authoritative_0, LIBNDR_FLAG_REF_ALLOC);
13509 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13510 NDR_PULL_ALLOC(ndr, r->out.flags);
13512 _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
13513 NDR_PULL_SET_MEM_CTX(ndr, r->out.flags, LIBNDR_FLAG_REF_ALLOC);
13514 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.flags));
13515 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
13516 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
13518 return NDR_ERR_SUCCESS;
13521 _PUBLIC_ void ndr_print_netr_LogonSamLogonEx(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogonEx *r)
13523 ndr_print_struct(ndr, name, "netr_LogonSamLogonEx");
13525 if (flags & NDR_SET_VALUES) {
13526 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13528 if (flags & NDR_IN) {
13529 ndr_print_struct(ndr, "in", "netr_LogonSamLogonEx");
13531 ndr_print_ptr(ndr, "server_name", r->in.server_name);
13533 if (r->in.server_name) {
13534 ndr_print_string(ndr, "server_name", r->in.server_name);
13537 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
13539 if (r->in.computer_name) {
13540 ndr_print_string(ndr, "computer_name", r->in.computer_name);
13543 ndr_print_netr_LogonLevel(ndr, "logon_level", r->in.logon_level);
13544 ndr_print_ptr(ndr, "logon", r->in.logon);
13546 ndr_print_set_switch_value(ndr, r->in.logon, r->in.logon_level);
13547 ndr_print_netr_LogonInfo(ndr, "logon", r->in.logon);
13549 ndr_print_uint16(ndr, "validation_level", r->in.validation_level);
13550 ndr_print_ptr(ndr, "flags", r->in.flags);
13552 ndr_print_uint32(ndr, "flags", *r->in.flags);
13556 if (flags & NDR_OUT) {
13557 ndr_print_struct(ndr, "out", "netr_LogonSamLogonEx");
13559 ndr_print_ptr(ndr, "validation", r->out.validation);
13561 ndr_print_set_switch_value(ndr, r->out.validation, r->in.validation_level);
13562 ndr_print_netr_Validation(ndr, "validation", r->out.validation);
13564 ndr_print_ptr(ndr, "authoritative", r->out.authoritative);
13566 ndr_print_uint8(ndr, "authoritative", *r->out.authoritative);
13568 ndr_print_ptr(ndr, "flags", r->out.flags);
13570 ndr_print_uint32(ndr, "flags", *r->out.flags);
13572 ndr_print_NTSTATUS(ndr, "result", r->out.result);
13578 static enum ndr_err_code ndr_push_netr_DsrEnumerateDomainTrusts(struct ndr_push *ndr, int flags, const struct netr_DsrEnumerateDomainTrusts *r)
13580 if (flags & NDR_IN) {
13581 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
13582 if (r->in.server_name) {
13583 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13584 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13585 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13586 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));
13588 NDR_CHECK(ndr_push_netr_TrustFlags(ndr, NDR_SCALARS, r->in.trust_flags));
13590 if (flags & NDR_OUT) {
13591 if (r->out.trusts == NULL) {
13592 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13594 NDR_CHECK(ndr_push_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusts));
13595 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13597 return NDR_ERR_SUCCESS;
13600 static enum ndr_err_code ndr_pull_netr_DsrEnumerateDomainTrusts(struct ndr_pull *ndr, int flags, struct netr_DsrEnumerateDomainTrusts *r)
13602 uint32_t _ptr_server_name;
13603 TALLOC_CTX *_mem_save_server_name_0;
13604 TALLOC_CTX *_mem_save_trusts_0;
13605 if (flags & NDR_IN) {
13606 ZERO_STRUCT(r->out);
13608 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
13609 if (_ptr_server_name) {
13610 NDR_PULL_ALLOC(ndr, r->in.server_name);
13612 r->in.server_name = NULL;
13614 if (r->in.server_name) {
13615 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13616 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
13617 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13618 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13619 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13620 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));
13622 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13623 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));
13624 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
13626 NDR_CHECK(ndr_pull_netr_TrustFlags(ndr, NDR_SCALARS, &r->in.trust_flags));
13627 NDR_PULL_ALLOC(ndr, r->out.trusts);
13628 ZERO_STRUCTP(r->out.trusts);
13630 if (flags & NDR_OUT) {
13631 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13632 NDR_PULL_ALLOC(ndr, r->out.trusts);
13634 _mem_save_trusts_0 = NDR_PULL_GET_MEM_CTX(ndr);
13635 NDR_PULL_SET_MEM_CTX(ndr, r->out.trusts, LIBNDR_FLAG_REF_ALLOC);
13636 NDR_CHECK(ndr_pull_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusts));
13637 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusts_0, LIBNDR_FLAG_REF_ALLOC);
13638 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13640 return NDR_ERR_SUCCESS;
13643 _PUBLIC_ void ndr_print_netr_DsrEnumerateDomainTrusts(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsrEnumerateDomainTrusts *r)
13645 ndr_print_struct(ndr, name, "netr_DsrEnumerateDomainTrusts");
13647 if (flags & NDR_SET_VALUES) {
13648 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13650 if (flags & NDR_IN) {
13651 ndr_print_struct(ndr, "in", "netr_DsrEnumerateDomainTrusts");
13653 ndr_print_ptr(ndr, "server_name", r->in.server_name);
13655 if (r->in.server_name) {
13656 ndr_print_string(ndr, "server_name", r->in.server_name);
13659 ndr_print_netr_TrustFlags(ndr, "trust_flags", r->in.trust_flags);
13662 if (flags & NDR_OUT) {
13663 ndr_print_struct(ndr, "out", "netr_DsrEnumerateDomainTrusts");
13665 ndr_print_ptr(ndr, "trusts", r->out.trusts);
13667 ndr_print_netr_DomainTrustList(ndr, "trusts", r->out.trusts);
13669 ndr_print_WERROR(ndr, "result", r->out.result);
13675 static enum ndr_err_code ndr_push_netr_DsrDeregisterDNSHostRecords(struct ndr_push *ndr, int flags, const struct netr_DsrDeregisterDNSHostRecords *r)
13677 if (flags & NDR_IN) {
13678 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
13679 if (r->in.server_name) {
13680 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13681 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13682 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13683 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));
13685 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain));
13686 if (r->in.domain) {
13687 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain, CH_UTF16)));
13688 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13689 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain, CH_UTF16)));
13690 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domain, ndr_charset_length(r->in.domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
13692 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
13693 if (r->in.domain_guid) {
13694 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domain_guid));
13696 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.dsa_guid));
13697 if (r->in.dsa_guid) {
13698 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.dsa_guid));
13700 if (r->in.dns_host == NULL) {
13701 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13703 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.dns_host, CH_UTF16)));
13704 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13705 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.dns_host, CH_UTF16)));
13706 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));
13708 if (flags & NDR_OUT) {
13709 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13711 return NDR_ERR_SUCCESS;
13714 static enum ndr_err_code ndr_pull_netr_DsrDeregisterDNSHostRecords(struct ndr_pull *ndr, int flags, struct netr_DsrDeregisterDNSHostRecords *r)
13716 uint32_t _ptr_server_name;
13717 uint32_t _ptr_domain;
13718 uint32_t _ptr_domain_guid;
13719 uint32_t _ptr_dsa_guid;
13720 TALLOC_CTX *_mem_save_server_name_0;
13721 TALLOC_CTX *_mem_save_domain_0;
13722 TALLOC_CTX *_mem_save_domain_guid_0;
13723 TALLOC_CTX *_mem_save_dsa_guid_0;
13724 if (flags & NDR_IN) {
13725 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
13726 if (_ptr_server_name) {
13727 NDR_PULL_ALLOC(ndr, r->in.server_name);
13729 r->in.server_name = NULL;
13731 if (r->in.server_name) {
13732 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13733 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
13734 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13735 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13736 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13737 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));
13739 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13740 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));
13741 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
13743 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
13745 NDR_PULL_ALLOC(ndr, r->in.domain);
13747 r->in.domain = NULL;
13749 if (r->in.domain) {
13750 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
13751 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain, 0);
13752 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain));
13753 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain));
13754 if (ndr_get_array_length(ndr, &r->in.domain) > ndr_get_array_size(ndr, &r->in.domain)) {
13755 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));
13757 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain), sizeof(uint16_t)));
13758 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain, ndr_get_array_length(ndr, &r->in.domain), sizeof(uint16_t), CH_UTF16));
13759 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
13761 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
13762 if (_ptr_domain_guid) {
13763 NDR_PULL_ALLOC(ndr, r->in.domain_guid);
13765 r->in.domain_guid = NULL;
13767 if (r->in.domain_guid) {
13768 _mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
13769 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
13770 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domain_guid));
13771 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
13773 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dsa_guid));
13774 if (_ptr_dsa_guid) {
13775 NDR_PULL_ALLOC(ndr, r->in.dsa_guid);
13777 r->in.dsa_guid = NULL;
13779 if (r->in.dsa_guid) {
13780 _mem_save_dsa_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
13781 NDR_PULL_SET_MEM_CTX(ndr, r->in.dsa_guid, 0);
13782 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.dsa_guid));
13783 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dsa_guid_0, 0);
13785 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.dns_host));
13786 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.dns_host));
13787 if (ndr_get_array_length(ndr, &r->in.dns_host) > ndr_get_array_size(ndr, &r->in.dns_host)) {
13788 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));
13790 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.dns_host), sizeof(uint16_t)));
13791 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));
13793 if (flags & NDR_OUT) {
13794 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13796 return NDR_ERR_SUCCESS;
13799 _PUBLIC_ void ndr_print_netr_DsrDeregisterDNSHostRecords(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsrDeregisterDNSHostRecords *r)
13801 ndr_print_struct(ndr, name, "netr_DsrDeregisterDNSHostRecords");
13803 if (flags & NDR_SET_VALUES) {
13804 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13806 if (flags & NDR_IN) {
13807 ndr_print_struct(ndr, "in", "netr_DsrDeregisterDNSHostRecords");
13809 ndr_print_ptr(ndr, "server_name", r->in.server_name);
13811 if (r->in.server_name) {
13812 ndr_print_string(ndr, "server_name", r->in.server_name);
13815 ndr_print_ptr(ndr, "domain", r->in.domain);
13817 if (r->in.domain) {
13818 ndr_print_string(ndr, "domain", r->in.domain);
13821 ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
13823 if (r->in.domain_guid) {
13824 ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
13827 ndr_print_ptr(ndr, "dsa_guid", r->in.dsa_guid);
13829 if (r->in.dsa_guid) {
13830 ndr_print_GUID(ndr, "dsa_guid", r->in.dsa_guid);
13833 ndr_print_ptr(ndr, "dns_host", r->in.dns_host);
13835 ndr_print_string(ndr, "dns_host", r->in.dns_host);
13839 if (flags & NDR_OUT) {
13840 ndr_print_struct(ndr, "out", "netr_DsrDeregisterDNSHostRecords");
13842 ndr_print_WERROR(ndr, "result", r->out.result);
13848 static enum ndr_err_code ndr_push_netr_ServerTrustPasswordsGet(struct ndr_push *ndr, int flags, const struct netr_ServerTrustPasswordsGet *r)
13850 if (flags & NDR_IN) {
13851 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
13852 if (r->in.server_name) {
13853 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13854 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13855 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13856 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));
13858 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
13859 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13860 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
13861 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));
13862 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
13863 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13864 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13865 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13866 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));
13867 if (r->in.credential == NULL) {
13868 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13870 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
13872 if (flags & NDR_OUT) {
13873 if (r->out.return_authenticator == NULL) {
13874 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13876 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
13877 if (r->out.password == NULL) {
13878 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13880 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.password));
13881 if (r->out.password2 == NULL) {
13882 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13884 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.password2));
13885 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
13887 return NDR_ERR_SUCCESS;
13890 static enum ndr_err_code ndr_pull_netr_ServerTrustPasswordsGet(struct ndr_pull *ndr, int flags, struct netr_ServerTrustPasswordsGet *r)
13892 uint32_t _ptr_server_name;
13893 TALLOC_CTX *_mem_save_server_name_0;
13894 TALLOC_CTX *_mem_save_credential_0;
13895 TALLOC_CTX *_mem_save_return_authenticator_0;
13896 TALLOC_CTX *_mem_save_password_0;
13897 TALLOC_CTX *_mem_save_password2_0;
13898 if (flags & NDR_IN) {
13899 ZERO_STRUCT(r->out);
13901 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
13902 if (_ptr_server_name) {
13903 NDR_PULL_ALLOC(ndr, r->in.server_name);
13905 r->in.server_name = NULL;
13907 if (r->in.server_name) {
13908 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13909 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
13910 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13911 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13912 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13913 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));
13915 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13916 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));
13917 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
13919 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
13920 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
13921 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
13922 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));
13924 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
13925 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));
13926 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
13927 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
13928 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
13929 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
13930 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));
13932 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
13933 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));
13934 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13935 NDR_PULL_ALLOC(ndr, r->in.credential);
13937 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
13938 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
13939 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
13940 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
13941 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
13942 ZERO_STRUCTP(r->out.return_authenticator);
13943 NDR_PULL_ALLOC(ndr, r->out.password);
13944 ZERO_STRUCTP(r->out.password);
13945 NDR_PULL_ALLOC(ndr, r->out.password2);
13946 ZERO_STRUCTP(r->out.password2);
13948 if (flags & NDR_OUT) {
13949 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13950 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
13952 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
13953 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
13954 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
13955 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
13956 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13957 NDR_PULL_ALLOC(ndr, r->out.password);
13959 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
13960 NDR_PULL_SET_MEM_CTX(ndr, r->out.password, LIBNDR_FLAG_REF_ALLOC);
13961 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.password));
13962 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, LIBNDR_FLAG_REF_ALLOC);
13963 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13964 NDR_PULL_ALLOC(ndr, r->out.password2);
13966 _mem_save_password2_0 = NDR_PULL_GET_MEM_CTX(ndr);
13967 NDR_PULL_SET_MEM_CTX(ndr, r->out.password2, LIBNDR_FLAG_REF_ALLOC);
13968 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.password2));
13969 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password2_0, LIBNDR_FLAG_REF_ALLOC);
13970 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
13972 return NDR_ERR_SUCCESS;
13975 _PUBLIC_ void ndr_print_netr_ServerTrustPasswordsGet(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerTrustPasswordsGet *r)
13977 ndr_print_struct(ndr, name, "netr_ServerTrustPasswordsGet");
13979 if (flags & NDR_SET_VALUES) {
13980 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13982 if (flags & NDR_IN) {
13983 ndr_print_struct(ndr, "in", "netr_ServerTrustPasswordsGet");
13985 ndr_print_ptr(ndr, "server_name", r->in.server_name);
13987 if (r->in.server_name) {
13988 ndr_print_string(ndr, "server_name", r->in.server_name);
13991 ndr_print_string(ndr, "account_name", r->in.account_name);
13992 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
13993 ndr_print_string(ndr, "computer_name", r->in.computer_name);
13994 ndr_print_ptr(ndr, "credential", r->in.credential);
13996 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
14000 if (flags & NDR_OUT) {
14001 ndr_print_struct(ndr, "out", "netr_ServerTrustPasswordsGet");
14003 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
14005 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
14007 ndr_print_ptr(ndr, "password", r->out.password);
14009 ndr_print_samr_Password(ndr, "password", r->out.password);
14011 ndr_print_ptr(ndr, "password2", r->out.password2);
14013 ndr_print_samr_Password(ndr, "password2", r->out.password2);
14015 ndr_print_NTSTATUS(ndr, "result", r->out.result);
14021 static enum ndr_err_code ndr_push_netr_DsRGetForestTrustInformation(struct ndr_push *ndr, int flags, const struct netr_DsRGetForestTrustInformation *r)
14023 if (flags & NDR_IN) {
14024 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
14025 if (r->in.server_name) {
14026 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14027 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14028 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14029 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));
14031 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.trusted_domain_name));
14032 if (r->in.trusted_domain_name) {
14033 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16)));
14034 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14035 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16)));
14036 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));
14038 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags));
14040 if (flags & NDR_OUT) {
14041 if (r->out.forest_trust_info == NULL) {
14042 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14044 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.forest_trust_info));
14045 if (*r->out.forest_trust_info) {
14046 NDR_CHECK(ndr_push_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
14048 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14050 return NDR_ERR_SUCCESS;
14053 static enum ndr_err_code ndr_pull_netr_DsRGetForestTrustInformation(struct ndr_pull *ndr, int flags, struct netr_DsRGetForestTrustInformation *r)
14055 uint32_t _ptr_server_name;
14056 uint32_t _ptr_trusted_domain_name;
14057 uint32_t _ptr_forest_trust_info;
14058 TALLOC_CTX *_mem_save_server_name_0;
14059 TALLOC_CTX *_mem_save_trusted_domain_name_0;
14060 TALLOC_CTX *_mem_save_forest_trust_info_0;
14061 TALLOC_CTX *_mem_save_forest_trust_info_1;
14062 if (flags & NDR_IN) {
14063 ZERO_STRUCT(r->out);
14065 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
14066 if (_ptr_server_name) {
14067 NDR_PULL_ALLOC(ndr, r->in.server_name);
14069 r->in.server_name = NULL;
14071 if (r->in.server_name) {
14072 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14073 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
14074 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
14075 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
14076 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
14077 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));
14079 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
14080 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));
14081 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
14083 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_domain_name));
14084 if (_ptr_trusted_domain_name) {
14085 NDR_PULL_ALLOC(ndr, r->in.trusted_domain_name);
14087 r->in.trusted_domain_name = NULL;
14089 if (r->in.trusted_domain_name) {
14090 _mem_save_trusted_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14091 NDR_PULL_SET_MEM_CTX(ndr, r->in.trusted_domain_name, 0);
14092 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.trusted_domain_name));
14093 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.trusted_domain_name));
14094 if (ndr_get_array_length(ndr, &r->in.trusted_domain_name) > ndr_get_array_size(ndr, &r->in.trusted_domain_name)) {
14095 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));
14097 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.trusted_domain_name), sizeof(uint16_t)));
14098 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));
14099 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domain_name_0, 0);
14101 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
14102 NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
14103 ZERO_STRUCTP(r->out.forest_trust_info);
14105 if (flags & NDR_OUT) {
14106 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14107 NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
14109 _mem_save_forest_trust_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
14110 NDR_PULL_SET_MEM_CTX(ndr, r->out.forest_trust_info, LIBNDR_FLAG_REF_ALLOC);
14111 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_forest_trust_info));
14112 if (_ptr_forest_trust_info) {
14113 NDR_PULL_ALLOC(ndr, *r->out.forest_trust_info);
14115 *r->out.forest_trust_info = NULL;
14117 if (*r->out.forest_trust_info) {
14118 _mem_save_forest_trust_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
14119 NDR_PULL_SET_MEM_CTX(ndr, *r->out.forest_trust_info, 0);
14120 NDR_CHECK(ndr_pull_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
14121 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_1, 0);
14123 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_0, LIBNDR_FLAG_REF_ALLOC);
14124 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14126 return NDR_ERR_SUCCESS;
14129 _PUBLIC_ void ndr_print_netr_DsRGetForestTrustInformation(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetForestTrustInformation *r)
14131 ndr_print_struct(ndr, name, "netr_DsRGetForestTrustInformation");
14133 if (flags & NDR_SET_VALUES) {
14134 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14136 if (flags & NDR_IN) {
14137 ndr_print_struct(ndr, "in", "netr_DsRGetForestTrustInformation");
14139 ndr_print_ptr(ndr, "server_name", r->in.server_name);
14141 if (r->in.server_name) {
14142 ndr_print_string(ndr, "server_name", r->in.server_name);
14145 ndr_print_ptr(ndr, "trusted_domain_name", r->in.trusted_domain_name);
14147 if (r->in.trusted_domain_name) {
14148 ndr_print_string(ndr, "trusted_domain_name", r->in.trusted_domain_name);
14151 ndr_print_uint32(ndr, "flags", r->in.flags);
14154 if (flags & NDR_OUT) {
14155 ndr_print_struct(ndr, "out", "netr_DsRGetForestTrustInformation");
14157 ndr_print_ptr(ndr, "forest_trust_info", r->out.forest_trust_info);
14159 ndr_print_ptr(ndr, "forest_trust_info", *r->out.forest_trust_info);
14161 if (*r->out.forest_trust_info) {
14162 ndr_print_lsa_ForestTrustInformation(ndr, "forest_trust_info", *r->out.forest_trust_info);
14166 ndr_print_WERROR(ndr, "result", r->out.result);
14172 static enum ndr_err_code ndr_push_netr_GetForestTrustInformation(struct ndr_push *ndr, int flags, const struct netr_GetForestTrustInformation *r)
14174 if (flags & NDR_IN) {
14175 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
14176 if (r->in.server_name) {
14177 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14178 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14179 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14180 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));
14182 if (r->in.trusted_domain_name == NULL) {
14183 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14185 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16)));
14186 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14187 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16)));
14188 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));
14189 if (r->in.credential == NULL) {
14190 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14192 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
14193 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags));
14195 if (flags & NDR_OUT) {
14196 if (r->out.return_authenticator == NULL) {
14197 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14199 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
14200 if (r->out.forest_trust_info == NULL) {
14201 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14203 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.forest_trust_info));
14204 if (*r->out.forest_trust_info) {
14205 NDR_CHECK(ndr_push_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
14207 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14209 return NDR_ERR_SUCCESS;
14212 static enum ndr_err_code ndr_pull_netr_GetForestTrustInformation(struct ndr_pull *ndr, int flags, struct netr_GetForestTrustInformation *r)
14214 uint32_t _ptr_server_name;
14215 uint32_t _ptr_forest_trust_info;
14216 TALLOC_CTX *_mem_save_server_name_0;
14217 TALLOC_CTX *_mem_save_credential_0;
14218 TALLOC_CTX *_mem_save_return_authenticator_0;
14219 TALLOC_CTX *_mem_save_forest_trust_info_0;
14220 TALLOC_CTX *_mem_save_forest_trust_info_1;
14221 if (flags & NDR_IN) {
14222 ZERO_STRUCT(r->out);
14224 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
14225 if (_ptr_server_name) {
14226 NDR_PULL_ALLOC(ndr, r->in.server_name);
14228 r->in.server_name = NULL;
14230 if (r->in.server_name) {
14231 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14232 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
14233 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
14234 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
14235 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
14236 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));
14238 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
14239 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));
14240 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
14242 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.trusted_domain_name));
14243 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.trusted_domain_name));
14244 if (ndr_get_array_length(ndr, &r->in.trusted_domain_name) > ndr_get_array_size(ndr, &r->in.trusted_domain_name)) {
14245 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));
14247 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.trusted_domain_name), sizeof(uint16_t)));
14248 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));
14249 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14250 NDR_PULL_ALLOC(ndr, r->in.credential);
14252 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
14253 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
14254 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
14255 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
14256 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
14257 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
14258 ZERO_STRUCTP(r->out.return_authenticator);
14259 NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
14260 ZERO_STRUCTP(r->out.forest_trust_info);
14262 if (flags & NDR_OUT) {
14263 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14264 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
14266 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
14267 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
14268 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
14269 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
14270 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14271 NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
14273 _mem_save_forest_trust_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
14274 NDR_PULL_SET_MEM_CTX(ndr, r->out.forest_trust_info, LIBNDR_FLAG_REF_ALLOC);
14275 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_forest_trust_info));
14276 if (_ptr_forest_trust_info) {
14277 NDR_PULL_ALLOC(ndr, *r->out.forest_trust_info);
14279 *r->out.forest_trust_info = NULL;
14281 if (*r->out.forest_trust_info) {
14282 _mem_save_forest_trust_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
14283 NDR_PULL_SET_MEM_CTX(ndr, *r->out.forest_trust_info, 0);
14284 NDR_CHECK(ndr_pull_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
14285 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_1, 0);
14287 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_0, LIBNDR_FLAG_REF_ALLOC);
14288 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14290 return NDR_ERR_SUCCESS;
14293 _PUBLIC_ void ndr_print_netr_GetForestTrustInformation(struct ndr_print *ndr, const char *name, int flags, const struct netr_GetForestTrustInformation *r)
14295 ndr_print_struct(ndr, name, "netr_GetForestTrustInformation");
14297 if (flags & NDR_SET_VALUES) {
14298 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14300 if (flags & NDR_IN) {
14301 ndr_print_struct(ndr, "in", "netr_GetForestTrustInformation");
14303 ndr_print_ptr(ndr, "server_name", r->in.server_name);
14305 if (r->in.server_name) {
14306 ndr_print_string(ndr, "server_name", r->in.server_name);
14309 ndr_print_ptr(ndr, "trusted_domain_name", r->in.trusted_domain_name);
14311 ndr_print_string(ndr, "trusted_domain_name", r->in.trusted_domain_name);
14313 ndr_print_ptr(ndr, "credential", r->in.credential);
14315 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
14317 ndr_print_uint32(ndr, "flags", r->in.flags);
14320 if (flags & NDR_OUT) {
14321 ndr_print_struct(ndr, "out", "netr_GetForestTrustInformation");
14323 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
14325 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
14327 ndr_print_ptr(ndr, "forest_trust_info", r->out.forest_trust_info);
14329 ndr_print_ptr(ndr, "forest_trust_info", *r->out.forest_trust_info);
14331 if (*r->out.forest_trust_info) {
14332 ndr_print_lsa_ForestTrustInformation(ndr, "forest_trust_info", *r->out.forest_trust_info);
14336 ndr_print_WERROR(ndr, "result", r->out.result);
14342 static enum ndr_err_code ndr_push_netr_LogonSamLogonWithFlags(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogonWithFlags *r)
14344 if (flags & NDR_IN) {
14345 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
14346 if (r->in.server_name) {
14347 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14348 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14349 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14350 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));
14352 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
14353 if (r->in.computer_name) {
14354 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
14355 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14356 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
14357 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));
14359 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.credential));
14360 if (r->in.credential) {
14361 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
14363 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.return_authenticator));
14364 if (r->in.return_authenticator) {
14365 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
14367 NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS, r->in.logon_level));
14368 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.logon, r->in.logon_level));
14369 NDR_CHECK(ndr_push_netr_LogonInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon));
14370 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.validation_level));
14371 if (r->in.flags == NULL) {
14372 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14374 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.flags));
14376 if (flags & NDR_OUT) {
14377 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.return_authenticator));
14378 if (r->out.return_authenticator) {
14379 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
14381 if (r->out.validation == NULL) {
14382 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14384 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.validation, r->in.validation_level));
14385 NDR_CHECK(ndr_push_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
14386 if (r->out.authoritative == NULL) {
14387 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14389 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, *r->out.authoritative));
14390 if (r->out.flags == NULL) {
14391 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14393 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.flags));
14394 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
14396 return NDR_ERR_SUCCESS;
14399 static enum ndr_err_code ndr_pull_netr_LogonSamLogonWithFlags(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogonWithFlags *r)
14401 uint32_t _ptr_server_name;
14402 uint32_t _ptr_computer_name;
14403 uint32_t _ptr_credential;
14404 uint32_t _ptr_return_authenticator;
14405 TALLOC_CTX *_mem_save_server_name_0;
14406 TALLOC_CTX *_mem_save_computer_name_0;
14407 TALLOC_CTX *_mem_save_credential_0;
14408 TALLOC_CTX *_mem_save_return_authenticator_0;
14409 TALLOC_CTX *_mem_save_validation_0;
14410 TALLOC_CTX *_mem_save_authoritative_0;
14411 TALLOC_CTX *_mem_save_flags_0;
14412 if (flags & NDR_IN) {
14413 ZERO_STRUCT(r->out);
14415 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
14416 if (_ptr_server_name) {
14417 NDR_PULL_ALLOC(ndr, r->in.server_name);
14419 r->in.server_name = NULL;
14421 if (r->in.server_name) {
14422 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14423 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
14424 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
14425 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
14426 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
14427 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));
14429 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
14430 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));
14431 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
14433 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
14434 if (_ptr_computer_name) {
14435 NDR_PULL_ALLOC(ndr, r->in.computer_name);
14437 r->in.computer_name = NULL;
14439 if (r->in.computer_name) {
14440 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14441 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
14442 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
14443 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
14444 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
14445 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));
14447 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
14448 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));
14449 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
14451 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_credential));
14452 if (_ptr_credential) {
14453 NDR_PULL_ALLOC(ndr, r->in.credential);
14455 r->in.credential = NULL;
14457 if (r->in.credential) {
14458 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
14459 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, 0);
14460 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
14461 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, 0);
14463 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
14464 if (_ptr_return_authenticator) {
14465 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
14467 r->in.return_authenticator = NULL;
14469 if (r->in.return_authenticator) {
14470 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
14471 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, 0);
14472 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
14473 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
14475 NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS, &r->in.logon_level));
14476 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.logon, r->in.logon_level));
14477 NDR_CHECK(ndr_pull_netr_LogonInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon));
14478 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.validation_level));
14479 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14480 NDR_PULL_ALLOC(ndr, r->in.flags);
14482 _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
14483 NDR_PULL_SET_MEM_CTX(ndr, r->in.flags, LIBNDR_FLAG_REF_ALLOC);
14484 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.flags));
14485 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
14486 NDR_PULL_ALLOC(ndr, r->out.validation);
14487 ZERO_STRUCTP(r->out.validation);
14488 NDR_PULL_ALLOC(ndr, r->out.authoritative);
14489 ZERO_STRUCTP(r->out.authoritative);
14490 NDR_PULL_ALLOC(ndr, r->out.flags);
14491 *r->out.flags = *r->in.flags;
14493 if (flags & NDR_OUT) {
14494 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
14495 if (_ptr_return_authenticator) {
14496 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
14498 r->out.return_authenticator = NULL;
14500 if (r->out.return_authenticator) {
14501 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
14502 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, 0);
14503 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
14504 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
14506 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14507 NDR_PULL_ALLOC(ndr, r->out.validation);
14509 _mem_save_validation_0 = NDR_PULL_GET_MEM_CTX(ndr);
14510 NDR_PULL_SET_MEM_CTX(ndr, r->out.validation, LIBNDR_FLAG_REF_ALLOC);
14511 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.validation, r->in.validation_level));
14512 NDR_CHECK(ndr_pull_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
14513 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_validation_0, LIBNDR_FLAG_REF_ALLOC);
14514 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14515 NDR_PULL_ALLOC(ndr, r->out.authoritative);
14517 _mem_save_authoritative_0 = NDR_PULL_GET_MEM_CTX(ndr);
14518 NDR_PULL_SET_MEM_CTX(ndr, r->out.authoritative, LIBNDR_FLAG_REF_ALLOC);
14519 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, r->out.authoritative));
14520 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_authoritative_0, LIBNDR_FLAG_REF_ALLOC);
14521 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14522 NDR_PULL_ALLOC(ndr, r->out.flags);
14524 _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
14525 NDR_PULL_SET_MEM_CTX(ndr, r->out.flags, LIBNDR_FLAG_REF_ALLOC);
14526 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.flags));
14527 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
14528 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
14530 return NDR_ERR_SUCCESS;
14533 _PUBLIC_ void ndr_print_netr_LogonSamLogonWithFlags(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogonWithFlags *r)
14535 ndr_print_struct(ndr, name, "netr_LogonSamLogonWithFlags");
14537 if (flags & NDR_SET_VALUES) {
14538 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14540 if (flags & NDR_IN) {
14541 ndr_print_struct(ndr, "in", "netr_LogonSamLogonWithFlags");
14543 ndr_print_ptr(ndr, "server_name", r->in.server_name);
14545 if (r->in.server_name) {
14546 ndr_print_string(ndr, "server_name", r->in.server_name);
14549 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
14551 if (r->in.computer_name) {
14552 ndr_print_string(ndr, "computer_name", r->in.computer_name);
14555 ndr_print_ptr(ndr, "credential", r->in.credential);
14557 if (r->in.credential) {
14558 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
14561 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
14563 if (r->in.return_authenticator) {
14564 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
14567 ndr_print_netr_LogonLevel(ndr, "logon_level", r->in.logon_level);
14568 ndr_print_set_switch_value(ndr, &r->in.logon, r->in.logon_level);
14569 ndr_print_netr_LogonInfo(ndr, "logon", &r->in.logon);
14570 ndr_print_uint16(ndr, "validation_level", r->in.validation_level);
14571 ndr_print_ptr(ndr, "flags", r->in.flags);
14573 ndr_print_uint32(ndr, "flags", *r->in.flags);
14577 if (flags & NDR_OUT) {
14578 ndr_print_struct(ndr, "out", "netr_LogonSamLogonWithFlags");
14580 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
14582 if (r->out.return_authenticator) {
14583 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
14586 ndr_print_ptr(ndr, "validation", r->out.validation);
14588 ndr_print_set_switch_value(ndr, r->out.validation, r->in.validation_level);
14589 ndr_print_netr_Validation(ndr, "validation", r->out.validation);
14591 ndr_print_ptr(ndr, "authoritative", r->out.authoritative);
14593 ndr_print_uint8(ndr, "authoritative", *r->out.authoritative);
14595 ndr_print_ptr(ndr, "flags", r->out.flags);
14597 ndr_print_uint32(ndr, "flags", *r->out.flags);
14599 ndr_print_NTSTATUS(ndr, "result", r->out.result);
14605 static enum ndr_err_code ndr_push_netr_NETRSERVERGETTRUSTINFO(struct ndr_push *ndr, int flags, const struct netr_NETRSERVERGETTRUSTINFO *r)
14607 if (flags & NDR_IN) {
14609 if (flags & NDR_OUT) {
14610 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14612 return NDR_ERR_SUCCESS;
14615 static enum ndr_err_code ndr_pull_netr_NETRSERVERGETTRUSTINFO(struct ndr_pull *ndr, int flags, struct netr_NETRSERVERGETTRUSTINFO *r)
14617 if (flags & NDR_IN) {
14619 if (flags & NDR_OUT) {
14620 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14622 return NDR_ERR_SUCCESS;
14625 _PUBLIC_ void ndr_print_netr_NETRSERVERGETTRUSTINFO(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRSERVERGETTRUSTINFO *r)
14627 ndr_print_struct(ndr, name, "netr_NETRSERVERGETTRUSTINFO");
14629 if (flags & NDR_SET_VALUES) {
14630 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14632 if (flags & NDR_IN) {
14633 ndr_print_struct(ndr, "in", "netr_NETRSERVERGETTRUSTINFO");
14637 if (flags & NDR_OUT) {
14638 ndr_print_struct(ndr, "out", "netr_NETRSERVERGETTRUSTINFO");
14640 ndr_print_WERROR(ndr, "result", r->out.result);
14646 static const struct ndr_interface_call netlogon_calls[] = {
14648 "netr_LogonUasLogon",
14649 sizeof(struct netr_LogonUasLogon),
14650 (ndr_push_flags_fn_t) ndr_push_netr_LogonUasLogon,
14651 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonUasLogon,
14652 (ndr_print_function_t) ndr_print_netr_LogonUasLogon,
14656 "netr_LogonUasLogoff",
14657 sizeof(struct netr_LogonUasLogoff),
14658 (ndr_push_flags_fn_t) ndr_push_netr_LogonUasLogoff,
14659 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonUasLogoff,
14660 (ndr_print_function_t) ndr_print_netr_LogonUasLogoff,
14664 "netr_LogonSamLogon",
14665 sizeof(struct netr_LogonSamLogon),
14666 (ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogon,
14667 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogon,
14668 (ndr_print_function_t) ndr_print_netr_LogonSamLogon,
14672 "netr_LogonSamLogoff",
14673 sizeof(struct netr_LogonSamLogoff),
14674 (ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogoff,
14675 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogoff,
14676 (ndr_print_function_t) ndr_print_netr_LogonSamLogoff,
14680 "netr_ServerReqChallenge",
14681 sizeof(struct netr_ServerReqChallenge),
14682 (ndr_push_flags_fn_t) ndr_push_netr_ServerReqChallenge,
14683 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerReqChallenge,
14684 (ndr_print_function_t) ndr_print_netr_ServerReqChallenge,
14688 "netr_ServerAuthenticate",
14689 sizeof(struct netr_ServerAuthenticate),
14690 (ndr_push_flags_fn_t) ndr_push_netr_ServerAuthenticate,
14691 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerAuthenticate,
14692 (ndr_print_function_t) ndr_print_netr_ServerAuthenticate,
14696 "netr_ServerPasswordSet",
14697 sizeof(struct netr_ServerPasswordSet),
14698 (ndr_push_flags_fn_t) ndr_push_netr_ServerPasswordSet,
14699 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerPasswordSet,
14700 (ndr_print_function_t) ndr_print_netr_ServerPasswordSet,
14704 "netr_DatabaseDeltas",
14705 sizeof(struct netr_DatabaseDeltas),
14706 (ndr_push_flags_fn_t) ndr_push_netr_DatabaseDeltas,
14707 (ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseDeltas,
14708 (ndr_print_function_t) ndr_print_netr_DatabaseDeltas,
14712 "netr_DatabaseSync",
14713 sizeof(struct netr_DatabaseSync),
14714 (ndr_push_flags_fn_t) ndr_push_netr_DatabaseSync,
14715 (ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseSync,
14716 (ndr_print_function_t) ndr_print_netr_DatabaseSync,
14720 "netr_AccountDeltas",
14721 sizeof(struct netr_AccountDeltas),
14722 (ndr_push_flags_fn_t) ndr_push_netr_AccountDeltas,
14723 (ndr_pull_flags_fn_t) ndr_pull_netr_AccountDeltas,
14724 (ndr_print_function_t) ndr_print_netr_AccountDeltas,
14728 "netr_AccountSync",
14729 sizeof(struct netr_AccountSync),
14730 (ndr_push_flags_fn_t) ndr_push_netr_AccountSync,
14731 (ndr_pull_flags_fn_t) ndr_pull_netr_AccountSync,
14732 (ndr_print_function_t) ndr_print_netr_AccountSync,
14737 sizeof(struct netr_GetDcName),
14738 (ndr_push_flags_fn_t) ndr_push_netr_GetDcName,
14739 (ndr_pull_flags_fn_t) ndr_pull_netr_GetDcName,
14740 (ndr_print_function_t) ndr_print_netr_GetDcName,
14744 "netr_LogonControl",
14745 sizeof(struct netr_LogonControl),
14746 (ndr_push_flags_fn_t) ndr_push_netr_LogonControl,
14747 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonControl,
14748 (ndr_print_function_t) ndr_print_netr_LogonControl,
14752 "netr_GetAnyDCName",
14753 sizeof(struct netr_GetAnyDCName),
14754 (ndr_push_flags_fn_t) ndr_push_netr_GetAnyDCName,
14755 (ndr_pull_flags_fn_t) ndr_pull_netr_GetAnyDCName,
14756 (ndr_print_function_t) ndr_print_netr_GetAnyDCName,
14760 "netr_LogonControl2",
14761 sizeof(struct netr_LogonControl2),
14762 (ndr_push_flags_fn_t) ndr_push_netr_LogonControl2,
14763 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonControl2,
14764 (ndr_print_function_t) ndr_print_netr_LogonControl2,
14768 "netr_ServerAuthenticate2",
14769 sizeof(struct netr_ServerAuthenticate2),
14770 (ndr_push_flags_fn_t) ndr_push_netr_ServerAuthenticate2,
14771 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerAuthenticate2,
14772 (ndr_print_function_t) ndr_print_netr_ServerAuthenticate2,
14776 "netr_DatabaseSync2",
14777 sizeof(struct netr_DatabaseSync2),
14778 (ndr_push_flags_fn_t) ndr_push_netr_DatabaseSync2,
14779 (ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseSync2,
14780 (ndr_print_function_t) ndr_print_netr_DatabaseSync2,
14784 "netr_DatabaseRedo",
14785 sizeof(struct netr_DatabaseRedo),
14786 (ndr_push_flags_fn_t) ndr_push_netr_DatabaseRedo,
14787 (ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseRedo,
14788 (ndr_print_function_t) ndr_print_netr_DatabaseRedo,
14792 "netr_LogonControl2Ex",
14793 sizeof(struct netr_LogonControl2Ex),
14794 (ndr_push_flags_fn_t) ndr_push_netr_LogonControl2Ex,
14795 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonControl2Ex,
14796 (ndr_print_function_t) ndr_print_netr_LogonControl2Ex,
14800 "netr_NetrEnumerateTrustedDomains",
14801 sizeof(struct netr_NetrEnumerateTrustedDomains),
14802 (ndr_push_flags_fn_t) ndr_push_netr_NetrEnumerateTrustedDomains,
14803 (ndr_pull_flags_fn_t) ndr_pull_netr_NetrEnumerateTrustedDomains,
14804 (ndr_print_function_t) ndr_print_netr_NetrEnumerateTrustedDomains,
14808 "netr_DsRGetDCName",
14809 sizeof(struct netr_DsRGetDCName),
14810 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetDCName,
14811 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetDCName,
14812 (ndr_print_function_t) ndr_print_netr_DsRGetDCName,
14816 "netr_NETRLOGONDUMMYROUTINE1",
14817 sizeof(struct netr_NETRLOGONDUMMYROUTINE1),
14818 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONDUMMYROUTINE1,
14819 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONDUMMYROUTINE1,
14820 (ndr_print_function_t) ndr_print_netr_NETRLOGONDUMMYROUTINE1,
14824 "netr_NETRLOGONSETSERVICEBITS",
14825 sizeof(struct netr_NETRLOGONSETSERVICEBITS),
14826 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONSETSERVICEBITS,
14827 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONSETSERVICEBITS,
14828 (ndr_print_function_t) ndr_print_netr_NETRLOGONSETSERVICEBITS,
14832 "netr_LogonGetTrustRid",
14833 sizeof(struct netr_LogonGetTrustRid),
14834 (ndr_push_flags_fn_t) ndr_push_netr_LogonGetTrustRid,
14835 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonGetTrustRid,
14836 (ndr_print_function_t) ndr_print_netr_LogonGetTrustRid,
14840 "netr_NETRLOGONCOMPUTESERVERDIGEST",
14841 sizeof(struct netr_NETRLOGONCOMPUTESERVERDIGEST),
14842 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONCOMPUTESERVERDIGEST,
14843 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONCOMPUTESERVERDIGEST,
14844 (ndr_print_function_t) ndr_print_netr_NETRLOGONCOMPUTESERVERDIGEST,
14848 "netr_NETRLOGONCOMPUTECLIENTDIGEST",
14849 sizeof(struct netr_NETRLOGONCOMPUTECLIENTDIGEST),
14850 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONCOMPUTECLIENTDIGEST,
14851 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONCOMPUTECLIENTDIGEST,
14852 (ndr_print_function_t) ndr_print_netr_NETRLOGONCOMPUTECLIENTDIGEST,
14856 "netr_ServerAuthenticate3",
14857 sizeof(struct netr_ServerAuthenticate3),
14858 (ndr_push_flags_fn_t) ndr_push_netr_ServerAuthenticate3,
14859 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerAuthenticate3,
14860 (ndr_print_function_t) ndr_print_netr_ServerAuthenticate3,
14864 "netr_DsRGetDCNameEx",
14865 sizeof(struct netr_DsRGetDCNameEx),
14866 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetDCNameEx,
14867 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetDCNameEx,
14868 (ndr_print_function_t) ndr_print_netr_DsRGetDCNameEx,
14872 "netr_DsRGetSiteName",
14873 sizeof(struct netr_DsRGetSiteName),
14874 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetSiteName,
14875 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetSiteName,
14876 (ndr_print_function_t) ndr_print_netr_DsRGetSiteName,
14880 "netr_LogonGetDomainInfo",
14881 sizeof(struct netr_LogonGetDomainInfo),
14882 (ndr_push_flags_fn_t) ndr_push_netr_LogonGetDomainInfo,
14883 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonGetDomainInfo,
14884 (ndr_print_function_t) ndr_print_netr_LogonGetDomainInfo,
14888 "netr_ServerPasswordSet2",
14889 sizeof(struct netr_ServerPasswordSet2),
14890 (ndr_push_flags_fn_t) ndr_push_netr_ServerPasswordSet2,
14891 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerPasswordSet2,
14892 (ndr_print_function_t) ndr_print_netr_ServerPasswordSet2,
14896 "netr_ServerPasswordGet",
14897 sizeof(struct netr_ServerPasswordGet),
14898 (ndr_push_flags_fn_t) ndr_push_netr_ServerPasswordGet,
14899 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerPasswordGet,
14900 (ndr_print_function_t) ndr_print_netr_ServerPasswordGet,
14904 "netr_NETRLOGONSENDTOSAM",
14905 sizeof(struct netr_NETRLOGONSENDTOSAM),
14906 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONSENDTOSAM,
14907 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONSENDTOSAM,
14908 (ndr_print_function_t) ndr_print_netr_NETRLOGONSENDTOSAM,
14912 "netr_DsRAddressToSitenamesW",
14913 sizeof(struct netr_DsRAddressToSitenamesW),
14914 (ndr_push_flags_fn_t) ndr_push_netr_DsRAddressToSitenamesW,
14915 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRAddressToSitenamesW,
14916 (ndr_print_function_t) ndr_print_netr_DsRAddressToSitenamesW,
14920 "netr_DsRGetDCNameEx2",
14921 sizeof(struct netr_DsRGetDCNameEx2),
14922 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetDCNameEx2,
14923 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetDCNameEx2,
14924 (ndr_print_function_t) ndr_print_netr_DsRGetDCNameEx2,
14928 "netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN",
14929 sizeof(struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN),
14930 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN,
14931 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN,
14932 (ndr_print_function_t) ndr_print_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN,
14936 "netr_NetrEnumerateTrustedDomainsEx",
14937 sizeof(struct netr_NetrEnumerateTrustedDomainsEx),
14938 (ndr_push_flags_fn_t) ndr_push_netr_NetrEnumerateTrustedDomainsEx,
14939 (ndr_pull_flags_fn_t) ndr_pull_netr_NetrEnumerateTrustedDomainsEx,
14940 (ndr_print_function_t) ndr_print_netr_NetrEnumerateTrustedDomainsEx,
14944 "netr_DsRAddressToSitenamesExW",
14945 sizeof(struct netr_DsRAddressToSitenamesExW),
14946 (ndr_push_flags_fn_t) ndr_push_netr_DsRAddressToSitenamesExW,
14947 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRAddressToSitenamesExW,
14948 (ndr_print_function_t) ndr_print_netr_DsRAddressToSitenamesExW,
14952 "netr_DsrGetDcSiteCoverageW",
14953 sizeof(struct netr_DsrGetDcSiteCoverageW),
14954 (ndr_push_flags_fn_t) ndr_push_netr_DsrGetDcSiteCoverageW,
14955 (ndr_pull_flags_fn_t) ndr_pull_netr_DsrGetDcSiteCoverageW,
14956 (ndr_print_function_t) ndr_print_netr_DsrGetDcSiteCoverageW,
14960 "netr_LogonSamLogonEx",
14961 sizeof(struct netr_LogonSamLogonEx),
14962 (ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogonEx,
14963 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogonEx,
14964 (ndr_print_function_t) ndr_print_netr_LogonSamLogonEx,
14968 "netr_DsrEnumerateDomainTrusts",
14969 sizeof(struct netr_DsrEnumerateDomainTrusts),
14970 (ndr_push_flags_fn_t) ndr_push_netr_DsrEnumerateDomainTrusts,
14971 (ndr_pull_flags_fn_t) ndr_pull_netr_DsrEnumerateDomainTrusts,
14972 (ndr_print_function_t) ndr_print_netr_DsrEnumerateDomainTrusts,
14976 "netr_DsrDeregisterDNSHostRecords",
14977 sizeof(struct netr_DsrDeregisterDNSHostRecords),
14978 (ndr_push_flags_fn_t) ndr_push_netr_DsrDeregisterDNSHostRecords,
14979 (ndr_pull_flags_fn_t) ndr_pull_netr_DsrDeregisterDNSHostRecords,
14980 (ndr_print_function_t) ndr_print_netr_DsrDeregisterDNSHostRecords,
14984 "netr_ServerTrustPasswordsGet",
14985 sizeof(struct netr_ServerTrustPasswordsGet),
14986 (ndr_push_flags_fn_t) ndr_push_netr_ServerTrustPasswordsGet,
14987 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerTrustPasswordsGet,
14988 (ndr_print_function_t) ndr_print_netr_ServerTrustPasswordsGet,
14992 "netr_DsRGetForestTrustInformation",
14993 sizeof(struct netr_DsRGetForestTrustInformation),
14994 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetForestTrustInformation,
14995 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetForestTrustInformation,
14996 (ndr_print_function_t) ndr_print_netr_DsRGetForestTrustInformation,
15000 "netr_GetForestTrustInformation",
15001 sizeof(struct netr_GetForestTrustInformation),
15002 (ndr_push_flags_fn_t) ndr_push_netr_GetForestTrustInformation,
15003 (ndr_pull_flags_fn_t) ndr_pull_netr_GetForestTrustInformation,
15004 (ndr_print_function_t) ndr_print_netr_GetForestTrustInformation,
15008 "netr_LogonSamLogonWithFlags",
15009 sizeof(struct netr_LogonSamLogonWithFlags),
15010 (ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogonWithFlags,
15011 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogonWithFlags,
15012 (ndr_print_function_t) ndr_print_netr_LogonSamLogonWithFlags,
15016 "netr_NETRSERVERGETTRUSTINFO",
15017 sizeof(struct netr_NETRSERVERGETTRUSTINFO),
15018 (ndr_push_flags_fn_t) ndr_push_netr_NETRSERVERGETTRUSTINFO,
15019 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRSERVERGETTRUSTINFO,
15020 (ndr_print_function_t) ndr_print_netr_NETRSERVERGETTRUSTINFO,
15023 { NULL, 0, NULL, NULL, NULL, false }
15026 static const char * const netlogon_endpoint_strings[] = {
15027 "ncacn_np:[\\pipe\\netlogon]",
15032 static const struct ndr_interface_string_array netlogon_endpoints = {
15034 .names = netlogon_endpoint_strings
15037 static const char * const netlogon_authservice_strings[] = {
15041 static const struct ndr_interface_string_array netlogon_authservices = {
15043 .names = netlogon_authservice_strings
15047 const struct ndr_interface_table ndr_table_netlogon = {
15048 .name = "netlogon",
15050 {0x12345678,0x1234,0xabcd,{0xef,0x00},{0x01,0x23,0x45,0x67,0xcf,0xfb}},
15051 NDR_NETLOGON_VERSION
15053 .helpstring = NDR_NETLOGON_HELPSTRING,
15055 .calls = netlogon_calls,
15056 .endpoints = &netlogon_endpoints,
15057 .authservices = &netlogon_authservices