1 /* parser auto-generated by pidl */
4 #include "librpc/gen_ndr/ndr_netlogon.h"
6 #include "librpc/gen_ndr/ndr_misc.h"
7 #include "librpc/gen_ndr/ndr_lsa.h"
8 #include "librpc/gen_ndr/ndr_samr.h"
9 #include "librpc/gen_ndr/ndr_security.h"
10 #include "librpc/gen_ndr/ndr_nbt.h"
11 static enum ndr_err_code ndr_push_netr_UasInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_UasInfo *r)
13 if (ndr_flags & NDR_SCALARS) {
14 NDR_CHECK(ndr_push_align(ndr, 4));
15 NDR_CHECK(ndr_push_unique_ptr(ndr, r->account_name));
16 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priv));
17 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->auth_flags));
18 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logon_count));
19 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->bad_pw_count));
20 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->last_logon));
21 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->last_logoff));
22 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->logoff_time));
23 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->kickoff_time));
24 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->password_age));
25 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->pw_can_change));
26 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->pw_must_change));
27 NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer));
28 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
29 NDR_CHECK(ndr_push_unique_ptr(ndr, r->script_path));
30 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown));
32 if (ndr_flags & NDR_BUFFERS) {
33 if (r->account_name) {
34 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF16)));
35 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
36 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF16)));
37 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->account_name, ndr_charset_length(r->account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
40 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->computer, CH_UTF16)));
41 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
42 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->computer, CH_UTF16)));
43 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer, ndr_charset_length(r->computer, CH_UTF16), sizeof(uint16_t), CH_UTF16));
46 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
47 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
48 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
49 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
52 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->script_path, CH_UTF16)));
53 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
54 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->script_path, CH_UTF16)));
55 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->script_path, ndr_charset_length(r->script_path, CH_UTF16), sizeof(uint16_t), CH_UTF16));
58 return NDR_ERR_SUCCESS;
61 static enum ndr_err_code ndr_pull_netr_UasInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_UasInfo *r)
63 uint32_t _ptr_account_name;
64 TALLOC_CTX *_mem_save_account_name_0;
65 uint32_t _ptr_computer;
66 TALLOC_CTX *_mem_save_computer_0;
68 TALLOC_CTX *_mem_save_domain_0;
69 uint32_t _ptr_script_path;
70 TALLOC_CTX *_mem_save_script_path_0;
71 if (ndr_flags & NDR_SCALARS) {
72 NDR_CHECK(ndr_pull_align(ndr, 4));
73 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_account_name));
74 if (_ptr_account_name) {
75 NDR_PULL_ALLOC(ndr, r->account_name);
77 r->account_name = NULL;
79 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priv));
80 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->auth_flags));
81 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logon_count));
82 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->bad_pw_count));
83 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->last_logon));
84 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->last_logoff));
85 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->logoff_time));
86 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->kickoff_time));
87 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->password_age));
88 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->pw_can_change));
89 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->pw_must_change));
90 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer));
92 NDR_PULL_ALLOC(ndr, r->computer);
96 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
98 NDR_PULL_ALLOC(ndr, r->domain);
102 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_script_path));
103 if (_ptr_script_path) {
104 NDR_PULL_ALLOC(ndr, r->script_path);
106 r->script_path = NULL;
108 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown));
110 if (ndr_flags & NDR_BUFFERS) {
111 if (r->account_name) {
112 _mem_save_account_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
113 NDR_PULL_SET_MEM_CTX(ndr, r->account_name, 0);
114 NDR_CHECK(ndr_pull_array_size(ndr, &r->account_name));
115 NDR_CHECK(ndr_pull_array_length(ndr, &r->account_name));
116 if (ndr_get_array_length(ndr, &r->account_name) > ndr_get_array_size(ndr, &r->account_name)) {
117 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->account_name), ndr_get_array_length(ndr, &r->account_name));
119 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->account_name), sizeof(uint16_t)));
120 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->account_name, ndr_get_array_length(ndr, &r->account_name), sizeof(uint16_t), CH_UTF16));
121 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_name_0, 0);
124 _mem_save_computer_0 = NDR_PULL_GET_MEM_CTX(ndr);
125 NDR_PULL_SET_MEM_CTX(ndr, r->computer, 0);
126 NDR_CHECK(ndr_pull_array_size(ndr, &r->computer));
127 NDR_CHECK(ndr_pull_array_length(ndr, &r->computer));
128 if (ndr_get_array_length(ndr, &r->computer) > ndr_get_array_size(ndr, &r->computer)) {
129 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->computer), ndr_get_array_length(ndr, &r->computer));
131 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->computer), sizeof(uint16_t)));
132 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer, ndr_get_array_length(ndr, &r->computer), sizeof(uint16_t), CH_UTF16));
133 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_0, 0);
136 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
137 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
138 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
139 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
140 if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) {
141 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->domain), ndr_get_array_length(ndr, &r->domain));
143 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t)));
144 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16));
145 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
147 if (r->script_path) {
148 _mem_save_script_path_0 = NDR_PULL_GET_MEM_CTX(ndr);
149 NDR_PULL_SET_MEM_CTX(ndr, r->script_path, 0);
150 NDR_CHECK(ndr_pull_array_size(ndr, &r->script_path));
151 NDR_CHECK(ndr_pull_array_length(ndr, &r->script_path));
152 if (ndr_get_array_length(ndr, &r->script_path) > ndr_get_array_size(ndr, &r->script_path)) {
153 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->script_path), ndr_get_array_length(ndr, &r->script_path));
155 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->script_path), sizeof(uint16_t)));
156 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->script_path, ndr_get_array_length(ndr, &r->script_path), sizeof(uint16_t), CH_UTF16));
157 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_script_path_0, 0);
160 return NDR_ERR_SUCCESS;
163 _PUBLIC_ void ndr_print_netr_UasInfo(struct ndr_print *ndr, const char *name, const struct netr_UasInfo *r)
165 ndr_print_struct(ndr, name, "netr_UasInfo");
167 ndr_print_ptr(ndr, "account_name", r->account_name);
169 if (r->account_name) {
170 ndr_print_string(ndr, "account_name", r->account_name);
173 ndr_print_uint32(ndr, "priv", r->priv);
174 ndr_print_uint32(ndr, "auth_flags", r->auth_flags);
175 ndr_print_uint32(ndr, "logon_count", r->logon_count);
176 ndr_print_uint32(ndr, "bad_pw_count", r->bad_pw_count);
177 ndr_print_time_t(ndr, "last_logon", r->last_logon);
178 ndr_print_time_t(ndr, "last_logoff", r->last_logoff);
179 ndr_print_time_t(ndr, "logoff_time", r->logoff_time);
180 ndr_print_time_t(ndr, "kickoff_time", r->kickoff_time);
181 ndr_print_uint32(ndr, "password_age", r->password_age);
182 ndr_print_time_t(ndr, "pw_can_change", r->pw_can_change);
183 ndr_print_time_t(ndr, "pw_must_change", r->pw_must_change);
184 ndr_print_ptr(ndr, "computer", r->computer);
187 ndr_print_string(ndr, "computer", r->computer);
190 ndr_print_ptr(ndr, "domain", r->domain);
193 ndr_print_string(ndr, "domain", r->domain);
196 ndr_print_ptr(ndr, "script_path", r->script_path);
198 if (r->script_path) {
199 ndr_print_string(ndr, "script_path", r->script_path);
202 ndr_print_uint32(ndr, "unknown", r->unknown);
206 static enum ndr_err_code ndr_push_netr_UasLogoffInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_UasLogoffInfo *r)
208 if (ndr_flags & NDR_SCALARS) {
209 NDR_CHECK(ndr_push_align(ndr, 4));
210 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->duration));
211 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count));
213 if (ndr_flags & NDR_BUFFERS) {
215 return NDR_ERR_SUCCESS;
218 static enum ndr_err_code ndr_pull_netr_UasLogoffInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_UasLogoffInfo *r)
220 if (ndr_flags & NDR_SCALARS) {
221 NDR_CHECK(ndr_pull_align(ndr, 4));
222 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->duration));
223 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count));
225 if (ndr_flags & NDR_BUFFERS) {
227 return NDR_ERR_SUCCESS;
230 _PUBLIC_ void ndr_print_netr_UasLogoffInfo(struct ndr_print *ndr, const char *name, const struct netr_UasLogoffInfo *r)
232 ndr_print_struct(ndr, name, "netr_UasLogoffInfo");
234 ndr_print_uint32(ndr, "duration", r->duration);
235 ndr_print_uint16(ndr, "logon_count", r->logon_count);
239 _PUBLIC_ enum ndr_err_code ndr_push_netr_AcctLockStr(struct ndr_push *ndr, int ndr_flags, const struct netr_AcctLockStr *r)
241 if (ndr_flags & NDR_SCALARS) {
242 NDR_CHECK(ndr_push_align(ndr, 4));
243 NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->lockout_duration));
244 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->reset_count));
245 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->bad_attempt_lockout));
246 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy));
248 if (ndr_flags & NDR_BUFFERS) {
250 return NDR_ERR_SUCCESS;
253 _PUBLIC_ enum ndr_err_code ndr_pull_netr_AcctLockStr(struct ndr_pull *ndr, int ndr_flags, struct netr_AcctLockStr *r)
255 if (ndr_flags & NDR_SCALARS) {
256 NDR_CHECK(ndr_pull_align(ndr, 4));
257 NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->lockout_duration));
258 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->reset_count));
259 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->bad_attempt_lockout));
260 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy));
262 if (ndr_flags & NDR_BUFFERS) {
264 return NDR_ERR_SUCCESS;
267 _PUBLIC_ void ndr_print_netr_AcctLockStr(struct ndr_print *ndr, const char *name, const struct netr_AcctLockStr *r)
269 ndr_print_struct(ndr, name, "netr_AcctLockStr");
271 ndr_print_dlong(ndr, "lockout_duration", r->lockout_duration);
272 ndr_print_udlong(ndr, "reset_count", r->reset_count);
273 ndr_print_uint32(ndr, "bad_attempt_lockout", r->bad_attempt_lockout);
274 ndr_print_uint32(ndr, "dummy", r->dummy);
278 _PUBLIC_ enum ndr_err_code ndr_push_netr_LogonParameterControl(struct ndr_push *ndr, int ndr_flags, uint32_t r)
280 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
281 return NDR_ERR_SUCCESS;
284 _PUBLIC_ enum ndr_err_code ndr_pull_netr_LogonParameterControl(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
287 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
289 return NDR_ERR_SUCCESS;
292 _PUBLIC_ void ndr_print_netr_LogonParameterControl(struct ndr_print *ndr, const char *name, uint32_t r)
294 ndr_print_uint32(ndr, name, r);
296 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_CLEARTEXT_PASSWORD_ALLOWED", MSV1_0_CLEARTEXT_PASSWORD_ALLOWED, r);
297 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_UPDATE_LOGON_STATISTICS", MSV1_0_UPDATE_LOGON_STATISTICS, r);
298 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_RETURN_USER_PARAMETERS", MSV1_0_RETURN_USER_PARAMETERS, r);
299 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_ALLOW_SERVER_TRUST_ACCOUNT", MSV1_0_ALLOW_SERVER_TRUST_ACCOUNT, r);
300 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_RETURN_PROFILE_PATH", MSV1_0_RETURN_PROFILE_PATH, r);
301 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_ALLOW_WORKSTATION_TRUST_ACCOUNT", MSV1_0_ALLOW_WORKSTATION_TRUST_ACCOUNT, r);
305 static enum ndr_err_code ndr_push_netr_IdentityInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_IdentityInfo *r)
307 if (ndr_flags & NDR_SCALARS) {
308 NDR_CHECK(ndr_push_align(ndr, 4));
309 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
310 NDR_CHECK(ndr_push_netr_LogonParameterControl(ndr, NDR_SCALARS, r->parameter_control));
311 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logon_id_low));
312 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logon_id_high));
313 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
314 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->workstation));
316 if (ndr_flags & NDR_BUFFERS) {
317 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
318 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
319 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->workstation));
321 return NDR_ERR_SUCCESS;
324 static enum ndr_err_code ndr_pull_netr_IdentityInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_IdentityInfo *r)
326 if (ndr_flags & NDR_SCALARS) {
327 NDR_CHECK(ndr_pull_align(ndr, 4));
328 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
329 NDR_CHECK(ndr_pull_netr_LogonParameterControl(ndr, NDR_SCALARS, &r->parameter_control));
330 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logon_id_low));
331 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logon_id_high));
332 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
333 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->workstation));
335 if (ndr_flags & NDR_BUFFERS) {
336 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
337 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
338 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->workstation));
340 return NDR_ERR_SUCCESS;
343 _PUBLIC_ void ndr_print_netr_IdentityInfo(struct ndr_print *ndr, const char *name, const struct netr_IdentityInfo *r)
345 ndr_print_struct(ndr, name, "netr_IdentityInfo");
347 ndr_print_lsa_String(ndr, "domain_name", &r->domain_name);
348 ndr_print_netr_LogonParameterControl(ndr, "parameter_control", r->parameter_control);
349 ndr_print_uint32(ndr, "logon_id_low", r->logon_id_low);
350 ndr_print_uint32(ndr, "logon_id_high", r->logon_id_high);
351 ndr_print_lsa_String(ndr, "account_name", &r->account_name);
352 ndr_print_lsa_String(ndr, "workstation", &r->workstation);
356 static enum ndr_err_code ndr_push_netr_PasswordInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_PasswordInfo *r)
358 if (ndr_flags & NDR_SCALARS) {
359 NDR_CHECK(ndr_push_align(ndr, 4));
360 NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info));
361 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->lmpassword));
362 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->ntpassword));
364 if (ndr_flags & NDR_BUFFERS) {
365 NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info));
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));
381 return NDR_ERR_SUCCESS;
384 _PUBLIC_ void ndr_print_netr_PasswordInfo(struct ndr_print *ndr, const char *name, const struct netr_PasswordInfo *r)
386 ndr_print_struct(ndr, name, "netr_PasswordInfo");
388 ndr_print_netr_IdentityInfo(ndr, "identity_info", &r->identity_info);
389 ndr_print_samr_Password(ndr, "lmpassword", &r->lmpassword);
390 ndr_print_samr_Password(ndr, "ntpassword", &r->ntpassword);
394 static enum ndr_err_code ndr_push_netr_ChallengeResponse(struct ndr_push *ndr, int ndr_flags, const struct netr_ChallengeResponse *r)
397 uint32_t _flags_save_STRUCT = ndr->flags;
398 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
399 if (ndr_flags & NDR_SCALARS) {
400 NDR_CHECK(ndr_push_align(ndr, 4));
401 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
402 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
403 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
405 if (ndr_flags & NDR_BUFFERS) {
407 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
408 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
409 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
410 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
413 ndr->flags = _flags_save_STRUCT;
415 return NDR_ERR_SUCCESS;
418 static enum ndr_err_code ndr_pull_netr_ChallengeResponse(struct ndr_pull *ndr, int ndr_flags, struct netr_ChallengeResponse *r)
421 TALLOC_CTX *_mem_save_data_0;
423 uint32_t _flags_save_STRUCT = ndr->flags;
424 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
425 if (ndr_flags & NDR_SCALARS) {
426 NDR_CHECK(ndr_pull_align(ndr, 4));
427 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
428 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
429 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
431 NDR_PULL_ALLOC(ndr, r->data);
436 if (ndr_flags & NDR_BUFFERS) {
438 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
439 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
440 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
441 NDR_CHECK(ndr_pull_array_length(ndr, &r->data));
442 if (ndr_get_array_length(ndr, &r->data) > ndr_get_array_size(ndr, &r->data)) {
443 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));
445 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
446 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_length(ndr, &r->data)));
447 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
450 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length));
453 NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->data, r->length));
456 ndr->flags = _flags_save_STRUCT;
458 return NDR_ERR_SUCCESS;
461 _PUBLIC_ void ndr_print_netr_ChallengeResponse(struct ndr_print *ndr, const char *name, const struct netr_ChallengeResponse *r)
463 ndr_print_struct(ndr, name, "netr_ChallengeResponse");
465 uint32_t _flags_save_STRUCT = ndr->flags;
466 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
468 ndr_print_uint16(ndr, "length", r->length);
469 ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->length:r->size);
470 ndr_print_ptr(ndr, "data", r->data);
473 ndr_print_array_uint8(ndr, "data", r->data, r->length);
477 ndr->flags = _flags_save_STRUCT;
481 static enum ndr_err_code ndr_push_netr_NetworkInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_NetworkInfo *r)
484 uint32_t _flags_save_STRUCT = ndr->flags;
485 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
486 if (ndr_flags & NDR_SCALARS) {
487 NDR_CHECK(ndr_push_align(ndr, 4));
488 NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info));
489 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->challenge, 8));
490 NDR_CHECK(ndr_push_netr_ChallengeResponse(ndr, NDR_SCALARS, &r->nt));
491 NDR_CHECK(ndr_push_netr_ChallengeResponse(ndr, NDR_SCALARS, &r->lm));
493 if (ndr_flags & NDR_BUFFERS) {
494 NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info));
495 NDR_CHECK(ndr_push_netr_ChallengeResponse(ndr, NDR_BUFFERS, &r->nt));
496 NDR_CHECK(ndr_push_netr_ChallengeResponse(ndr, NDR_BUFFERS, &r->lm));
498 ndr->flags = _flags_save_STRUCT;
500 return NDR_ERR_SUCCESS;
503 static enum ndr_err_code ndr_pull_netr_NetworkInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_NetworkInfo *r)
506 uint32_t _flags_save_STRUCT = ndr->flags;
507 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
508 if (ndr_flags & NDR_SCALARS) {
509 NDR_CHECK(ndr_pull_align(ndr, 4));
510 NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info));
511 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->challenge, 8));
512 NDR_CHECK(ndr_pull_netr_ChallengeResponse(ndr, NDR_SCALARS, &r->nt));
513 NDR_CHECK(ndr_pull_netr_ChallengeResponse(ndr, NDR_SCALARS, &r->lm));
515 if (ndr_flags & NDR_BUFFERS) {
516 NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info));
517 NDR_CHECK(ndr_pull_netr_ChallengeResponse(ndr, NDR_BUFFERS, &r->nt));
518 NDR_CHECK(ndr_pull_netr_ChallengeResponse(ndr, NDR_BUFFERS, &r->lm));
520 ndr->flags = _flags_save_STRUCT;
522 return NDR_ERR_SUCCESS;
525 _PUBLIC_ void ndr_print_netr_NetworkInfo(struct ndr_print *ndr, const char *name, const struct netr_NetworkInfo *r)
527 ndr_print_struct(ndr, name, "netr_NetworkInfo");
529 uint32_t _flags_save_STRUCT = ndr->flags;
530 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
532 ndr_print_netr_IdentityInfo(ndr, "identity_info", &r->identity_info);
533 ndr_print_array_uint8(ndr, "challenge", r->challenge, 8);
534 ndr_print_netr_ChallengeResponse(ndr, "nt", &r->nt);
535 ndr_print_netr_ChallengeResponse(ndr, "lm", &r->lm);
537 ndr->flags = _flags_save_STRUCT;
541 _PUBLIC_ enum ndr_err_code ndr_push_netr_LogonInfo(struct ndr_push *ndr, int ndr_flags, const union netr_LogonInfo *r)
543 if (ndr_flags & NDR_SCALARS) {
544 int level = ndr_push_get_switch_value(ndr, r);
545 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level));
548 NDR_CHECK(ndr_push_unique_ptr(ndr, r->password));
552 NDR_CHECK(ndr_push_unique_ptr(ndr, r->network));
556 NDR_CHECK(ndr_push_unique_ptr(ndr, r->password));
560 NDR_CHECK(ndr_push_unique_ptr(ndr, r->password));
564 NDR_CHECK(ndr_push_unique_ptr(ndr, r->network));
568 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
571 if (ndr_flags & NDR_BUFFERS) {
572 int level = ndr_push_get_switch_value(ndr, r);
576 NDR_CHECK(ndr_push_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
582 NDR_CHECK(ndr_push_netr_NetworkInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->network));
588 NDR_CHECK(ndr_push_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
594 NDR_CHECK(ndr_push_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
600 NDR_CHECK(ndr_push_netr_NetworkInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->network));
605 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
608 return NDR_ERR_SUCCESS;
611 _PUBLIC_ enum ndr_err_code ndr_pull_netr_LogonInfo(struct ndr_pull *ndr, int ndr_flags, union netr_LogonInfo *r)
615 TALLOC_CTX *_mem_save_password_0;
616 TALLOC_CTX *_mem_save_network_0;
617 level = ndr_pull_get_switch_value(ndr, r);
618 if (ndr_flags & NDR_SCALARS) {
619 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
620 if (_level != level) {
621 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
625 uint32_t _ptr_password;
626 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
628 NDR_PULL_ALLOC(ndr, r->password);
635 uint32_t _ptr_network;
636 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_network));
638 NDR_PULL_ALLOC(ndr, r->network);
645 uint32_t _ptr_password;
646 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
648 NDR_PULL_ALLOC(ndr, r->password);
655 uint32_t _ptr_password;
656 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
658 NDR_PULL_ALLOC(ndr, r->password);
665 uint32_t _ptr_network;
666 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_network));
668 NDR_PULL_ALLOC(ndr, r->network);
675 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
678 if (ndr_flags & NDR_BUFFERS) {
682 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
683 NDR_PULL_SET_MEM_CTX(ndr, r->password, 0);
684 NDR_CHECK(ndr_pull_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
685 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
691 _mem_save_network_0 = NDR_PULL_GET_MEM_CTX(ndr);
692 NDR_PULL_SET_MEM_CTX(ndr, r->network, 0);
693 NDR_CHECK(ndr_pull_netr_NetworkInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->network));
694 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_network_0, 0);
700 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
701 NDR_PULL_SET_MEM_CTX(ndr, r->password, 0);
702 NDR_CHECK(ndr_pull_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
703 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
709 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
710 NDR_PULL_SET_MEM_CTX(ndr, r->password, 0);
711 NDR_CHECK(ndr_pull_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
712 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
718 _mem_save_network_0 = NDR_PULL_GET_MEM_CTX(ndr);
719 NDR_PULL_SET_MEM_CTX(ndr, r->network, 0);
720 NDR_CHECK(ndr_pull_netr_NetworkInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->network));
721 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_network_0, 0);
726 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
729 return NDR_ERR_SUCCESS;
732 _PUBLIC_ void ndr_print_netr_LogonInfo(struct ndr_print *ndr, const char *name, const union netr_LogonInfo *r)
735 level = ndr_print_get_switch_value(ndr, r);
736 ndr_print_union(ndr, name, level, "netr_LogonInfo");
739 ndr_print_ptr(ndr, "password", r->password);
742 ndr_print_netr_PasswordInfo(ndr, "password", r->password);
748 ndr_print_ptr(ndr, "network", r->network);
751 ndr_print_netr_NetworkInfo(ndr, "network", r->network);
757 ndr_print_ptr(ndr, "password", r->password);
760 ndr_print_netr_PasswordInfo(ndr, "password", r->password);
766 ndr_print_ptr(ndr, "password", r->password);
769 ndr_print_netr_PasswordInfo(ndr, "password", r->password);
775 ndr_print_ptr(ndr, "network", r->network);
778 ndr_print_netr_NetworkInfo(ndr, "network", r->network);
784 ndr_print_bad_level(ndr, name, level);
788 _PUBLIC_ enum ndr_err_code ndr_push_netr_UserSessionKey(struct ndr_push *ndr, int ndr_flags, const struct netr_UserSessionKey *r)
791 uint32_t _flags_save_STRUCT = ndr->flags;
792 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
793 if (ndr_flags & NDR_SCALARS) {
794 NDR_CHECK(ndr_push_align(ndr, 1));
795 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->key, 16));
797 if (ndr_flags & NDR_BUFFERS) {
799 ndr->flags = _flags_save_STRUCT;
801 return NDR_ERR_SUCCESS;
804 _PUBLIC_ enum ndr_err_code ndr_pull_netr_UserSessionKey(struct ndr_pull *ndr, int ndr_flags, struct netr_UserSessionKey *r)
807 uint32_t _flags_save_STRUCT = ndr->flags;
808 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
809 if (ndr_flags & NDR_SCALARS) {
810 NDR_CHECK(ndr_pull_align(ndr, 1));
811 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->key, 16));
813 if (ndr_flags & NDR_BUFFERS) {
815 ndr->flags = _flags_save_STRUCT;
817 return NDR_ERR_SUCCESS;
820 _PUBLIC_ void ndr_print_netr_UserSessionKey(struct ndr_print *ndr, const char *name, const struct netr_UserSessionKey *r)
822 ndr_print_struct(ndr, name, "netr_UserSessionKey");
824 uint32_t _flags_save_STRUCT = ndr->flags;
825 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
827 ndr_print_array_uint8(ndr, "key", r->key, 16);
829 ndr->flags = _flags_save_STRUCT;
833 _PUBLIC_ enum ndr_err_code ndr_push_netr_LMSessionKey(struct ndr_push *ndr, int ndr_flags, const struct netr_LMSessionKey *r)
836 uint32_t _flags_save_STRUCT = ndr->flags;
837 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
838 if (ndr_flags & NDR_SCALARS) {
839 NDR_CHECK(ndr_push_align(ndr, 1));
840 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->key, 8));
842 if (ndr_flags & NDR_BUFFERS) {
844 ndr->flags = _flags_save_STRUCT;
846 return NDR_ERR_SUCCESS;
849 _PUBLIC_ enum ndr_err_code ndr_pull_netr_LMSessionKey(struct ndr_pull *ndr, int ndr_flags, struct netr_LMSessionKey *r)
852 uint32_t _flags_save_STRUCT = ndr->flags;
853 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
854 if (ndr_flags & NDR_SCALARS) {
855 NDR_CHECK(ndr_pull_align(ndr, 1));
856 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->key, 8));
858 if (ndr_flags & NDR_BUFFERS) {
860 ndr->flags = _flags_save_STRUCT;
862 return NDR_ERR_SUCCESS;
865 _PUBLIC_ void ndr_print_netr_LMSessionKey(struct ndr_print *ndr, const char *name, const struct netr_LMSessionKey *r)
867 ndr_print_struct(ndr, name, "netr_LMSessionKey");
869 uint32_t _flags_save_STRUCT = ndr->flags;
870 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
872 ndr_print_array_uint8(ndr, "key", r->key, 8);
874 ndr->flags = _flags_save_STRUCT;
878 _PUBLIC_ enum ndr_err_code ndr_push_netr_UserFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
880 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
881 return NDR_ERR_SUCCESS;
884 _PUBLIC_ enum ndr_err_code ndr_pull_netr_UserFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
887 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
889 return NDR_ERR_SUCCESS;
892 _PUBLIC_ void ndr_print_netr_UserFlags(struct ndr_print *ndr, const char *name, uint32_t r)
894 ndr_print_uint32(ndr, name, r);
896 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_GUEST", NETLOGON_GUEST, r);
897 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NOENCRYPTION", NETLOGON_NOENCRYPTION, r);
898 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_CACHED_ACCOUNT", NETLOGON_CACHED_ACCOUNT, r);
899 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_USED_LM_PASSWORD", NETLOGON_USED_LM_PASSWORD, r);
900 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_EXTRA_SIDS", NETLOGON_EXTRA_SIDS, r);
901 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_SUBAUTH_SESSION_KEY", NETLOGON_SUBAUTH_SESSION_KEY, r);
902 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_SERVER_TRUST_ACCOUNT", NETLOGON_SERVER_TRUST_ACCOUNT, r);
903 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NTLMV2_ENABLED", NETLOGON_NTLMV2_ENABLED, r);
904 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_RESOURCE_GROUPS", NETLOGON_RESOURCE_GROUPS, r);
905 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_PROFILE_PATH_RETURNED", NETLOGON_PROFILE_PATH_RETURNED, r);
906 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_GRACE_LOGON", NETLOGON_GRACE_LOGON, r);
910 static enum ndr_err_code ndr_push_netr_SamBaseInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_SamBaseInfo *r)
912 uint32_t cntr_unknown_0;
913 if (ndr_flags & NDR_SCALARS) {
914 NDR_CHECK(ndr_push_align(ndr, 4));
915 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logon));
916 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logoff));
917 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->acct_expiry));
918 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_password_change));
919 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->allow_password_change));
920 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->force_password_change));
921 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
922 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
923 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
924 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
925 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
926 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
927 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count));
928 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->bad_password_count));
929 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
930 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid));
931 NDR_CHECK(ndr_push_samr_RidWithAttributeArray(ndr, NDR_SCALARS, &r->groups));
932 NDR_CHECK(ndr_push_netr_UserFlags(ndr, NDR_SCALARS, r->user_flags));
933 NDR_CHECK(ndr_push_netr_UserSessionKey(ndr, NDR_SCALARS, &r->key));
934 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->logon_server));
935 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->domain));
936 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_sid));
937 NDR_CHECK(ndr_push_netr_LMSessionKey(ndr, NDR_SCALARS, &r->LMSessKey));
938 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
939 for (cntr_unknown_0 = 0; cntr_unknown_0 < 7; cntr_unknown_0++) {
940 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown[cntr_unknown_0]));
943 if (ndr_flags & NDR_BUFFERS) {
944 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
945 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
946 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
947 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
948 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
949 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
950 NDR_CHECK(ndr_push_samr_RidWithAttributeArray(ndr, NDR_BUFFERS, &r->groups));
951 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->logon_server));
952 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->domain));
954 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid));
957 return NDR_ERR_SUCCESS;
960 static enum ndr_err_code ndr_pull_netr_SamBaseInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_SamBaseInfo *r)
962 uint32_t _ptr_domain_sid;
963 TALLOC_CTX *_mem_save_domain_sid_0;
964 uint32_t cntr_unknown_0;
965 if (ndr_flags & NDR_SCALARS) {
966 NDR_CHECK(ndr_pull_align(ndr, 4));
967 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logon));
968 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logoff));
969 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->acct_expiry));
970 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_password_change));
971 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->allow_password_change));
972 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->force_password_change));
973 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
974 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
975 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
976 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
977 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
978 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
979 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count));
980 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->bad_password_count));
981 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
982 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid));
983 NDR_CHECK(ndr_pull_samr_RidWithAttributeArray(ndr, NDR_SCALARS, &r->groups));
984 NDR_CHECK(ndr_pull_netr_UserFlags(ndr, NDR_SCALARS, &r->user_flags));
985 NDR_CHECK(ndr_pull_netr_UserSessionKey(ndr, NDR_SCALARS, &r->key));
986 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->logon_server));
987 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->domain));
988 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_sid));
989 if (_ptr_domain_sid) {
990 NDR_PULL_ALLOC(ndr, r->domain_sid);
992 r->domain_sid = NULL;
994 NDR_CHECK(ndr_pull_netr_LMSessionKey(ndr, NDR_SCALARS, &r->LMSessKey));
995 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
996 for (cntr_unknown_0 = 0; cntr_unknown_0 < 7; cntr_unknown_0++) {
997 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown[cntr_unknown_0]));
1000 if (ndr_flags & NDR_BUFFERS) {
1001 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
1002 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
1003 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
1004 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
1005 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
1006 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
1007 NDR_CHECK(ndr_pull_samr_RidWithAttributeArray(ndr, NDR_BUFFERS, &r->groups));
1008 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->logon_server));
1009 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->domain));
1010 if (r->domain_sid) {
1011 _mem_save_domain_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
1012 NDR_PULL_SET_MEM_CTX(ndr, r->domain_sid, 0);
1013 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid));
1014 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_sid_0, 0);
1017 return NDR_ERR_SUCCESS;
1020 _PUBLIC_ void ndr_print_netr_SamBaseInfo(struct ndr_print *ndr, const char *name, const struct netr_SamBaseInfo *r)
1022 uint32_t cntr_unknown_0;
1023 ndr_print_struct(ndr, name, "netr_SamBaseInfo");
1025 ndr_print_NTTIME(ndr, "last_logon", r->last_logon);
1026 ndr_print_NTTIME(ndr, "last_logoff", r->last_logoff);
1027 ndr_print_NTTIME(ndr, "acct_expiry", r->acct_expiry);
1028 ndr_print_NTTIME(ndr, "last_password_change", r->last_password_change);
1029 ndr_print_NTTIME(ndr, "allow_password_change", r->allow_password_change);
1030 ndr_print_NTTIME(ndr, "force_password_change", r->force_password_change);
1031 ndr_print_lsa_String(ndr, "account_name", &r->account_name);
1032 ndr_print_lsa_String(ndr, "full_name", &r->full_name);
1033 ndr_print_lsa_String(ndr, "logon_script", &r->logon_script);
1034 ndr_print_lsa_String(ndr, "profile_path", &r->profile_path);
1035 ndr_print_lsa_String(ndr, "home_directory", &r->home_directory);
1036 ndr_print_lsa_String(ndr, "home_drive", &r->home_drive);
1037 ndr_print_uint16(ndr, "logon_count", r->logon_count);
1038 ndr_print_uint16(ndr, "bad_password_count", r->bad_password_count);
1039 ndr_print_uint32(ndr, "rid", r->rid);
1040 ndr_print_uint32(ndr, "primary_gid", r->primary_gid);
1041 ndr_print_samr_RidWithAttributeArray(ndr, "groups", &r->groups);
1042 ndr_print_netr_UserFlags(ndr, "user_flags", r->user_flags);
1043 ndr_print_netr_UserSessionKey(ndr, "key", &r->key);
1044 ndr_print_lsa_StringLarge(ndr, "logon_server", &r->logon_server);
1045 ndr_print_lsa_StringLarge(ndr, "domain", &r->domain);
1046 ndr_print_ptr(ndr, "domain_sid", r->domain_sid);
1048 if (r->domain_sid) {
1049 ndr_print_dom_sid2(ndr, "domain_sid", r->domain_sid);
1052 ndr_print_netr_LMSessionKey(ndr, "LMSessKey", &r->LMSessKey);
1053 ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
1054 ndr->print(ndr, "%s: ARRAY(%d)", "unknown", (int)7);
1056 for (cntr_unknown_0=0;cntr_unknown_0<7;cntr_unknown_0++) {
1058 if (asprintf(&idx_0, "[%d]", cntr_unknown_0) != -1) {
1059 ndr_print_uint32(ndr, "unknown", r->unknown[cntr_unknown_0]);
1067 static enum ndr_err_code ndr_push_netr_SamInfo2(struct ndr_push *ndr, int ndr_flags, const struct netr_SamInfo2 *r)
1069 if (ndr_flags & NDR_SCALARS) {
1070 NDR_CHECK(ndr_push_align(ndr, 4));
1071 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1073 if (ndr_flags & NDR_BUFFERS) {
1074 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1076 return NDR_ERR_SUCCESS;
1079 static enum ndr_err_code ndr_pull_netr_SamInfo2(struct ndr_pull *ndr, int ndr_flags, struct netr_SamInfo2 *r)
1081 if (ndr_flags & NDR_SCALARS) {
1082 NDR_CHECK(ndr_pull_align(ndr, 4));
1083 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1085 if (ndr_flags & NDR_BUFFERS) {
1086 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1088 return NDR_ERR_SUCCESS;
1091 _PUBLIC_ void ndr_print_netr_SamInfo2(struct ndr_print *ndr, const char *name, const struct netr_SamInfo2 *r)
1093 ndr_print_struct(ndr, name, "netr_SamInfo2");
1095 ndr_print_netr_SamBaseInfo(ndr, "base", &r->base);
1099 static enum ndr_err_code ndr_push_netr_SidAttr(struct ndr_push *ndr, int ndr_flags, const struct netr_SidAttr *r)
1101 if (ndr_flags & NDR_SCALARS) {
1102 NDR_CHECK(ndr_push_align(ndr, 4));
1103 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
1104 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr, NDR_SCALARS, r->attributes));
1106 if (ndr_flags & NDR_BUFFERS) {
1108 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
1111 return NDR_ERR_SUCCESS;
1114 static enum ndr_err_code ndr_pull_netr_SidAttr(struct ndr_pull *ndr, int ndr_flags, struct netr_SidAttr *r)
1117 TALLOC_CTX *_mem_save_sid_0;
1118 if (ndr_flags & NDR_SCALARS) {
1119 NDR_CHECK(ndr_pull_align(ndr, 4));
1120 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
1122 NDR_PULL_ALLOC(ndr, r->sid);
1126 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr, NDR_SCALARS, &r->attributes));
1128 if (ndr_flags & NDR_BUFFERS) {
1130 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
1131 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
1132 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
1133 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
1136 return NDR_ERR_SUCCESS;
1139 _PUBLIC_ void ndr_print_netr_SidAttr(struct ndr_print *ndr, const char *name, const struct netr_SidAttr *r)
1141 ndr_print_struct(ndr, name, "netr_SidAttr");
1143 ndr_print_ptr(ndr, "sid", r->sid);
1146 ndr_print_dom_sid2(ndr, "sid", r->sid);
1149 ndr_print_samr_GroupAttrs(ndr, "attributes", r->attributes);
1153 _PUBLIC_ enum ndr_err_code ndr_push_netr_SamInfo3(struct ndr_push *ndr, int ndr_flags, const struct netr_SamInfo3 *r)
1155 uint32_t cntr_sids_1;
1156 if (ndr_flags & NDR_SCALARS) {
1157 NDR_CHECK(ndr_push_align(ndr, 4));
1158 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1159 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sidcount));
1160 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids));
1162 if (ndr_flags & NDR_BUFFERS) {
1163 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1165 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sidcount));
1166 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1167 NDR_CHECK(ndr_push_netr_SidAttr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
1169 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1170 NDR_CHECK(ndr_push_netr_SidAttr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
1174 return NDR_ERR_SUCCESS;
1177 _PUBLIC_ enum ndr_err_code ndr_pull_netr_SamInfo3(struct ndr_pull *ndr, int ndr_flags, struct netr_SamInfo3 *r)
1180 uint32_t cntr_sids_1;
1181 TALLOC_CTX *_mem_save_sids_0;
1182 TALLOC_CTX *_mem_save_sids_1;
1183 if (ndr_flags & NDR_SCALARS) {
1184 NDR_CHECK(ndr_pull_align(ndr, 4));
1185 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1186 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sidcount));
1187 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
1189 NDR_PULL_ALLOC(ndr, r->sids);
1194 if (ndr_flags & NDR_BUFFERS) {
1195 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1197 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1198 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
1199 NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
1200 NDR_PULL_ALLOC_N(ndr, r->sids, ndr_get_array_size(ndr, &r->sids));
1201 _mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr);
1202 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
1203 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1204 NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
1206 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1207 NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
1209 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_1, 0);
1210 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
1213 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sids, r->sidcount));
1216 return NDR_ERR_SUCCESS;
1219 _PUBLIC_ void ndr_print_netr_SamInfo3(struct ndr_print *ndr, const char *name, const struct netr_SamInfo3 *r)
1221 uint32_t cntr_sids_1;
1222 ndr_print_struct(ndr, name, "netr_SamInfo3");
1224 ndr_print_netr_SamBaseInfo(ndr, "base", &r->base);
1225 ndr_print_uint32(ndr, "sidcount", r->sidcount);
1226 ndr_print_ptr(ndr, "sids", r->sids);
1229 ndr->print(ndr, "%s: ARRAY(%d)", "sids", (int)r->sidcount);
1231 for (cntr_sids_1=0;cntr_sids_1<r->sidcount;cntr_sids_1++) {
1233 if (asprintf(&idx_1, "[%d]", cntr_sids_1) != -1) {
1234 ndr_print_netr_SidAttr(ndr, "sids", &r->sids[cntr_sids_1]);
1244 static enum ndr_err_code ndr_push_netr_SamInfo6(struct ndr_push *ndr, int ndr_flags, const struct netr_SamInfo6 *r)
1246 uint32_t cntr_sids_1;
1247 uint32_t cntr_unknown4_0;
1248 if (ndr_flags & NDR_SCALARS) {
1249 NDR_CHECK(ndr_push_align(ndr, 4));
1250 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1251 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sidcount));
1252 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids));
1253 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->forest));
1254 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->principle));
1255 for (cntr_unknown4_0 = 0; cntr_unknown4_0 < 20; cntr_unknown4_0++) {
1256 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4[cntr_unknown4_0]));
1259 if (ndr_flags & NDR_BUFFERS) {
1260 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1262 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sidcount));
1263 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1264 NDR_CHECK(ndr_push_netr_SidAttr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
1266 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1267 NDR_CHECK(ndr_push_netr_SidAttr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
1270 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->forest));
1271 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->principle));
1273 return NDR_ERR_SUCCESS;
1276 static enum ndr_err_code ndr_pull_netr_SamInfo6(struct ndr_pull *ndr, int ndr_flags, struct netr_SamInfo6 *r)
1279 uint32_t cntr_sids_1;
1280 TALLOC_CTX *_mem_save_sids_0;
1281 TALLOC_CTX *_mem_save_sids_1;
1282 uint32_t cntr_unknown4_0;
1283 if (ndr_flags & NDR_SCALARS) {
1284 NDR_CHECK(ndr_pull_align(ndr, 4));
1285 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1286 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sidcount));
1287 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
1289 NDR_PULL_ALLOC(ndr, r->sids);
1293 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->forest));
1294 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->principle));
1295 for (cntr_unknown4_0 = 0; cntr_unknown4_0 < 20; cntr_unknown4_0++) {
1296 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4[cntr_unknown4_0]));
1299 if (ndr_flags & NDR_BUFFERS) {
1300 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1302 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1303 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
1304 NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
1305 NDR_PULL_ALLOC_N(ndr, r->sids, ndr_get_array_size(ndr, &r->sids));
1306 _mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr);
1307 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
1308 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1309 NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
1311 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1312 NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
1314 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_1, 0);
1315 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
1317 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->forest));
1318 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->principle));
1320 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sids, r->sidcount));
1323 return NDR_ERR_SUCCESS;
1326 _PUBLIC_ void ndr_print_netr_SamInfo6(struct ndr_print *ndr, const char *name, const struct netr_SamInfo6 *r)
1328 uint32_t cntr_sids_1;
1329 uint32_t cntr_unknown4_0;
1330 ndr_print_struct(ndr, name, "netr_SamInfo6");
1332 ndr_print_netr_SamBaseInfo(ndr, "base", &r->base);
1333 ndr_print_uint32(ndr, "sidcount", r->sidcount);
1334 ndr_print_ptr(ndr, "sids", r->sids);
1337 ndr->print(ndr, "%s: ARRAY(%d)", "sids", (int)r->sidcount);
1339 for (cntr_sids_1=0;cntr_sids_1<r->sidcount;cntr_sids_1++) {
1341 if (asprintf(&idx_1, "[%d]", cntr_sids_1) != -1) {
1342 ndr_print_netr_SidAttr(ndr, "sids", &r->sids[cntr_sids_1]);
1349 ndr_print_lsa_String(ndr, "forest", &r->forest);
1350 ndr_print_lsa_String(ndr, "principle", &r->principle);
1351 ndr->print(ndr, "%s: ARRAY(%d)", "unknown4", (int)20);
1353 for (cntr_unknown4_0=0;cntr_unknown4_0<20;cntr_unknown4_0++) {
1355 if (asprintf(&idx_0, "[%d]", cntr_unknown4_0) != -1) {
1356 ndr_print_uint32(ndr, "unknown4", r->unknown4[cntr_unknown4_0]);
1364 static enum ndr_err_code ndr_push_netr_PacInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_PacInfo *r)
1366 uint32_t cntr_expansionroom_0;
1367 if (ndr_flags & NDR_SCALARS) {
1368 NDR_CHECK(ndr_push_align(ndr, 4));
1369 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pac_size));
1370 NDR_CHECK(ndr_push_unique_ptr(ndr, r->pac));
1371 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_domain));
1372 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_server));
1373 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->principal_name));
1374 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->auth_size));
1375 NDR_CHECK(ndr_push_unique_ptr(ndr, r->auth));
1376 NDR_CHECK(ndr_push_netr_UserSessionKey(ndr, NDR_SCALARS, &r->user_session_key));
1377 for (cntr_expansionroom_0 = 0; cntr_expansionroom_0 < 10; cntr_expansionroom_0++) {
1378 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->expansionroom[cntr_expansionroom_0]));
1380 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
1381 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
1382 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
1383 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
1385 if (ndr_flags & NDR_BUFFERS) {
1387 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pac_size));
1388 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->pac, r->pac_size));
1390 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_domain));
1391 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_server));
1392 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->principal_name));
1394 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->auth_size));
1395 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->auth, r->auth_size));
1397 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
1398 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
1399 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
1400 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
1402 return NDR_ERR_SUCCESS;
1405 static enum ndr_err_code ndr_pull_netr_PacInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_PacInfo *r)
1408 TALLOC_CTX *_mem_save_pac_0;
1410 TALLOC_CTX *_mem_save_auth_0;
1411 uint32_t cntr_expansionroom_0;
1412 if (ndr_flags & NDR_SCALARS) {
1413 NDR_CHECK(ndr_pull_align(ndr, 4));
1414 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pac_size));
1415 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pac));
1417 NDR_PULL_ALLOC(ndr, r->pac);
1421 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_domain));
1422 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_server));
1423 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->principal_name));
1424 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->auth_size));
1425 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_auth));
1427 NDR_PULL_ALLOC(ndr, r->auth);
1431 NDR_CHECK(ndr_pull_netr_UserSessionKey(ndr, NDR_SCALARS, &r->user_session_key));
1432 for (cntr_expansionroom_0 = 0; cntr_expansionroom_0 < 10; cntr_expansionroom_0++) {
1433 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->expansionroom[cntr_expansionroom_0]));
1435 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
1436 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
1437 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
1438 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
1440 if (ndr_flags & NDR_BUFFERS) {
1442 _mem_save_pac_0 = NDR_PULL_GET_MEM_CTX(ndr);
1443 NDR_PULL_SET_MEM_CTX(ndr, r->pac, 0);
1444 NDR_CHECK(ndr_pull_array_size(ndr, &r->pac));
1445 NDR_PULL_ALLOC_N(ndr, r->pac, ndr_get_array_size(ndr, &r->pac));
1446 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->pac, ndr_get_array_size(ndr, &r->pac)));
1447 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pac_0, 0);
1449 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_domain));
1450 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_server));
1451 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->principal_name));
1453 _mem_save_auth_0 = NDR_PULL_GET_MEM_CTX(ndr);
1454 NDR_PULL_SET_MEM_CTX(ndr, r->auth, 0);
1455 NDR_CHECK(ndr_pull_array_size(ndr, &r->auth));
1456 NDR_PULL_ALLOC_N(ndr, r->auth, ndr_get_array_size(ndr, &r->auth));
1457 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->auth, ndr_get_array_size(ndr, &r->auth)));
1458 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_auth_0, 0);
1460 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
1461 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
1462 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
1463 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
1465 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->pac, r->pac_size));
1468 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->auth, r->auth_size));
1471 return NDR_ERR_SUCCESS;
1474 _PUBLIC_ void ndr_print_netr_PacInfo(struct ndr_print *ndr, const char *name, const struct netr_PacInfo *r)
1476 uint32_t cntr_expansionroom_0;
1477 ndr_print_struct(ndr, name, "netr_PacInfo");
1479 ndr_print_uint32(ndr, "pac_size", r->pac_size);
1480 ndr_print_ptr(ndr, "pac", r->pac);
1483 ndr_print_array_uint8(ndr, "pac", r->pac, r->pac_size);
1486 ndr_print_lsa_String(ndr, "logon_domain", &r->logon_domain);
1487 ndr_print_lsa_String(ndr, "logon_server", &r->logon_server);
1488 ndr_print_lsa_String(ndr, "principal_name", &r->principal_name);
1489 ndr_print_uint32(ndr, "auth_size", r->auth_size);
1490 ndr_print_ptr(ndr, "auth", r->auth);
1493 ndr_print_array_uint8(ndr, "auth", r->auth, r->auth_size);
1496 ndr_print_netr_UserSessionKey(ndr, "user_session_key", &r->user_session_key);
1497 ndr->print(ndr, "%s: ARRAY(%d)", "expansionroom", (int)10);
1499 for (cntr_expansionroom_0=0;cntr_expansionroom_0<10;cntr_expansionroom_0++) {
1501 if (asprintf(&idx_0, "[%d]", cntr_expansionroom_0) != -1) {
1502 ndr_print_uint32(ndr, "expansionroom", r->expansionroom[cntr_expansionroom_0]);
1507 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
1508 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
1509 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
1510 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
1514 _PUBLIC_ enum ndr_err_code ndr_push_netr_Validation(struct ndr_push *ndr, int ndr_flags, const union netr_Validation *r)
1516 if (ndr_flags & NDR_SCALARS) {
1517 int level = ndr_push_get_switch_value(ndr, r);
1518 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level));
1521 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sam2));
1525 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sam3));
1529 NDR_CHECK(ndr_push_unique_ptr(ndr, r->pac));
1533 NDR_CHECK(ndr_push_unique_ptr(ndr, r->pac));
1537 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sam6));
1541 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1544 if (ndr_flags & NDR_BUFFERS) {
1545 int level = ndr_push_get_switch_value(ndr, r);
1549 NDR_CHECK(ndr_push_netr_SamInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam2));
1555 NDR_CHECK(ndr_push_netr_SamInfo3(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam3));
1561 NDR_CHECK(ndr_push_netr_PacInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->pac));
1567 NDR_CHECK(ndr_push_netr_PacInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->pac));
1573 NDR_CHECK(ndr_push_netr_SamInfo6(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam6));
1578 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1581 return NDR_ERR_SUCCESS;
1584 _PUBLIC_ enum ndr_err_code ndr_pull_netr_Validation(struct ndr_pull *ndr, int ndr_flags, union netr_Validation *r)
1588 TALLOC_CTX *_mem_save_sam2_0;
1589 TALLOC_CTX *_mem_save_sam3_0;
1590 TALLOC_CTX *_mem_save_pac_0;
1591 TALLOC_CTX *_mem_save_sam6_0;
1592 level = ndr_pull_get_switch_value(ndr, r);
1593 if (ndr_flags & NDR_SCALARS) {
1594 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
1595 if (_level != level) {
1596 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
1601 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam2));
1603 NDR_PULL_ALLOC(ndr, r->sam2);
1611 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam3));
1613 NDR_PULL_ALLOC(ndr, r->sam3);
1621 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pac));
1623 NDR_PULL_ALLOC(ndr, r->pac);
1631 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pac));
1633 NDR_PULL_ALLOC(ndr, r->pac);
1641 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam6));
1643 NDR_PULL_ALLOC(ndr, r->sam6);
1650 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1653 if (ndr_flags & NDR_BUFFERS) {
1657 _mem_save_sam2_0 = NDR_PULL_GET_MEM_CTX(ndr);
1658 NDR_PULL_SET_MEM_CTX(ndr, r->sam2, 0);
1659 NDR_CHECK(ndr_pull_netr_SamInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam2));
1660 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam2_0, 0);
1666 _mem_save_sam3_0 = NDR_PULL_GET_MEM_CTX(ndr);
1667 NDR_PULL_SET_MEM_CTX(ndr, r->sam3, 0);
1668 NDR_CHECK(ndr_pull_netr_SamInfo3(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam3));
1669 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam3_0, 0);
1675 _mem_save_pac_0 = NDR_PULL_GET_MEM_CTX(ndr);
1676 NDR_PULL_SET_MEM_CTX(ndr, r->pac, 0);
1677 NDR_CHECK(ndr_pull_netr_PacInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->pac));
1678 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pac_0, 0);
1684 _mem_save_pac_0 = NDR_PULL_GET_MEM_CTX(ndr);
1685 NDR_PULL_SET_MEM_CTX(ndr, r->pac, 0);
1686 NDR_CHECK(ndr_pull_netr_PacInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->pac));
1687 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pac_0, 0);
1693 _mem_save_sam6_0 = NDR_PULL_GET_MEM_CTX(ndr);
1694 NDR_PULL_SET_MEM_CTX(ndr, r->sam6, 0);
1695 NDR_CHECK(ndr_pull_netr_SamInfo6(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam6));
1696 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam6_0, 0);
1701 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1704 return NDR_ERR_SUCCESS;
1707 _PUBLIC_ void ndr_print_netr_Validation(struct ndr_print *ndr, const char *name, const union netr_Validation *r)
1710 level = ndr_print_get_switch_value(ndr, r);
1711 ndr_print_union(ndr, name, level, "netr_Validation");
1714 ndr_print_ptr(ndr, "sam2", r->sam2);
1717 ndr_print_netr_SamInfo2(ndr, "sam2", r->sam2);
1723 ndr_print_ptr(ndr, "sam3", r->sam3);
1726 ndr_print_netr_SamInfo3(ndr, "sam3", r->sam3);
1732 ndr_print_ptr(ndr, "pac", r->pac);
1735 ndr_print_netr_PacInfo(ndr, "pac", r->pac);
1741 ndr_print_ptr(ndr, "pac", r->pac);
1744 ndr_print_netr_PacInfo(ndr, "pac", r->pac);
1750 ndr_print_ptr(ndr, "sam6", r->sam6);
1753 ndr_print_netr_SamInfo6(ndr, "sam6", r->sam6);
1759 ndr_print_bad_level(ndr, name, level);
1763 _PUBLIC_ enum ndr_err_code ndr_push_netr_Credential(struct ndr_push *ndr, int ndr_flags, const struct netr_Credential *r)
1766 uint32_t _flags_save_STRUCT = ndr->flags;
1767 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1768 if (ndr_flags & NDR_SCALARS) {
1769 NDR_CHECK(ndr_push_align(ndr, 1));
1770 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, 8));
1772 if (ndr_flags & NDR_BUFFERS) {
1774 ndr->flags = _flags_save_STRUCT;
1776 return NDR_ERR_SUCCESS;
1779 _PUBLIC_ enum ndr_err_code ndr_pull_netr_Credential(struct ndr_pull *ndr, int ndr_flags, struct netr_Credential *r)
1782 uint32_t _flags_save_STRUCT = ndr->flags;
1783 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1784 if (ndr_flags & NDR_SCALARS) {
1785 NDR_CHECK(ndr_pull_align(ndr, 1));
1786 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, 8));
1788 if (ndr_flags & NDR_BUFFERS) {
1790 ndr->flags = _flags_save_STRUCT;
1792 return NDR_ERR_SUCCESS;
1795 _PUBLIC_ void ndr_print_netr_Credential(struct ndr_print *ndr, const char *name, const struct netr_Credential *r)
1797 ndr_print_struct(ndr, name, "netr_Credential");
1799 uint32_t _flags_save_STRUCT = ndr->flags;
1800 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1802 ndr_print_array_uint8(ndr, "data", r->data, 8);
1804 ndr->flags = _flags_save_STRUCT;
1808 _PUBLIC_ enum ndr_err_code ndr_push_netr_Authenticator(struct ndr_push *ndr, int ndr_flags, const struct netr_Authenticator *r)
1810 if (ndr_flags & NDR_SCALARS) {
1811 NDR_CHECK(ndr_push_align(ndr, 4));
1812 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, &r->cred));
1813 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->timestamp));
1815 if (ndr_flags & NDR_BUFFERS) {
1817 return NDR_ERR_SUCCESS;
1820 _PUBLIC_ enum ndr_err_code ndr_pull_netr_Authenticator(struct ndr_pull *ndr, int ndr_flags, struct netr_Authenticator *r)
1822 if (ndr_flags & NDR_SCALARS) {
1823 NDR_CHECK(ndr_pull_align(ndr, 4));
1824 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, &r->cred));
1825 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->timestamp));
1827 if (ndr_flags & NDR_BUFFERS) {
1829 return NDR_ERR_SUCCESS;
1832 _PUBLIC_ void ndr_print_netr_Authenticator(struct ndr_print *ndr, const char *name, const struct netr_Authenticator *r)
1834 ndr_print_struct(ndr, name, "netr_Authenticator");
1836 ndr_print_netr_Credential(ndr, "cred", &r->cred);
1837 ndr_print_time_t(ndr, "timestamp", r->timestamp);
1841 static enum ndr_err_code ndr_push_netr_LogonLevel(struct ndr_push *ndr, int ndr_flags, enum netr_LogonLevel r)
1843 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
1844 return NDR_ERR_SUCCESS;
1847 static enum ndr_err_code ndr_pull_netr_LogonLevel(struct ndr_pull *ndr, int ndr_flags, enum netr_LogonLevel *r)
1850 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
1852 return NDR_ERR_SUCCESS;
1855 _PUBLIC_ void ndr_print_netr_LogonLevel(struct ndr_print *ndr, const char *name, enum netr_LogonLevel r)
1857 const char *val = NULL;
1860 case INTERACTIVE_LOGON_TYPE: val = "INTERACTIVE_LOGON_TYPE"; break;
1861 case NET_LOGON_TYPE: val = "NET_LOGON_TYPE"; break;
1863 ndr_print_enum(ndr, name, "ENUM", val, r);
1866 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)
1868 if (ndr_flags & NDR_SCALARS) {
1869 NDR_CHECK(ndr_push_align(ndr, 4));
1870 NDR_CHECK(ndr_push_unique_ptr(ndr, r->account_name));
1871 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
1872 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
1873 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
1874 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
1875 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
1876 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
1877 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
1878 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
1880 if (ndr_flags & NDR_BUFFERS) {
1881 if (r->account_name) {
1882 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF16)));
1883 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1884 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF16)));
1885 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->account_name, ndr_charset_length(r->account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
1887 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
1888 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
1889 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
1890 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
1892 return NDR_ERR_SUCCESS;
1895 static enum ndr_err_code ndr_pull_netr_DELTA_DELETE_USER(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_DELETE_USER *r)
1897 uint32_t _ptr_account_name;
1898 TALLOC_CTX *_mem_save_account_name_0;
1899 if (ndr_flags & NDR_SCALARS) {
1900 NDR_CHECK(ndr_pull_align(ndr, 4));
1901 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_account_name));
1902 if (_ptr_account_name) {
1903 NDR_PULL_ALLOC(ndr, r->account_name);
1905 r->account_name = NULL;
1907 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
1908 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
1909 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
1910 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
1911 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
1912 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
1913 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
1914 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
1916 if (ndr_flags & NDR_BUFFERS) {
1917 if (r->account_name) {
1918 _mem_save_account_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
1919 NDR_PULL_SET_MEM_CTX(ndr, r->account_name, 0);
1920 NDR_CHECK(ndr_pull_array_size(ndr, &r->account_name));
1921 NDR_CHECK(ndr_pull_array_length(ndr, &r->account_name));
1922 if (ndr_get_array_length(ndr, &r->account_name) > ndr_get_array_size(ndr, &r->account_name)) {
1923 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));
1925 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->account_name), sizeof(uint16_t)));
1926 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->account_name, ndr_get_array_length(ndr, &r->account_name), sizeof(uint16_t), CH_UTF16));
1927 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_name_0, 0);
1929 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
1930 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
1931 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
1932 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
1934 return NDR_ERR_SUCCESS;
1937 _PUBLIC_ void ndr_print_netr_DELTA_DELETE_USER(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DELETE_USER *r)
1939 ndr_print_struct(ndr, name, "netr_DELTA_DELETE_USER");
1941 ndr_print_ptr(ndr, "account_name", r->account_name);
1943 if (r->account_name) {
1944 ndr_print_string(ndr, "account_name", r->account_name);
1947 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
1948 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
1949 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
1950 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
1951 ndr_print_uint32(ndr, "unknown5", r->unknown5);
1952 ndr_print_uint32(ndr, "unknown6", r->unknown6);
1953 ndr_print_uint32(ndr, "unknown7", r->unknown7);
1954 ndr_print_uint32(ndr, "unknown8", r->unknown8);
1958 static enum ndr_err_code ndr_push_netr_USER_KEY16(struct ndr_push *ndr, int ndr_flags, const struct netr_USER_KEY16 *r)
1960 if (ndr_flags & NDR_SCALARS) {
1961 NDR_CHECK(ndr_push_align(ndr, 4));
1962 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
1963 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
1964 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
1965 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->pwd));
1967 if (ndr_flags & NDR_BUFFERS) {
1969 return NDR_ERR_SUCCESS;
1972 static enum ndr_err_code ndr_pull_netr_USER_KEY16(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_KEY16 *r)
1974 if (ndr_flags & NDR_SCALARS) {
1975 NDR_CHECK(ndr_pull_align(ndr, 4));
1976 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
1977 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
1978 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
1979 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->pwd));
1981 if (ndr_flags & NDR_BUFFERS) {
1983 return NDR_ERR_SUCCESS;
1986 _PUBLIC_ void ndr_print_netr_USER_KEY16(struct ndr_print *ndr, const char *name, const struct netr_USER_KEY16 *r)
1988 ndr_print_struct(ndr, name, "netr_USER_KEY16");
1990 ndr_print_uint16(ndr, "length", r->length);
1991 ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->length:r->size);
1992 ndr_print_uint32(ndr, "flags", r->flags);
1993 ndr_print_samr_Password(ndr, "pwd", &r->pwd);
1997 static enum ndr_err_code ndr_push_netr_PasswordHistory(struct ndr_push *ndr, int ndr_flags, const struct netr_PasswordHistory *r)
1999 if (ndr_flags & NDR_SCALARS) {
2000 NDR_CHECK(ndr_push_align(ndr, 4));
2001 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->nt_length));
2002 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->nt_length));
2003 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nt_flags));
2004 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lm_length));
2005 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lm_length));
2006 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->lm_flags));
2007 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->nt_history, r->nt_length));
2008 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->lm_history, r->lm_length));
2010 if (ndr_flags & NDR_BUFFERS) {
2012 return NDR_ERR_SUCCESS;
2015 static enum ndr_err_code ndr_pull_netr_PasswordHistory(struct ndr_pull *ndr, int ndr_flags, struct netr_PasswordHistory *r)
2017 if (ndr_flags & NDR_SCALARS) {
2018 NDR_CHECK(ndr_pull_align(ndr, 4));
2019 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->nt_length));
2020 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->nt_size));
2021 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nt_flags));
2022 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lm_length));
2023 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lm_size));
2024 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->lm_flags));
2025 NDR_PULL_ALLOC_N(ndr, r->nt_history, r->nt_length);
2026 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->nt_history, r->nt_length));
2027 NDR_PULL_ALLOC_N(ndr, r->lm_history, r->lm_length);
2028 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->lm_history, r->lm_length));
2030 if (ndr_flags & NDR_BUFFERS) {
2032 return NDR_ERR_SUCCESS;
2035 _PUBLIC_ void ndr_print_netr_PasswordHistory(struct ndr_print *ndr, const char *name, const struct netr_PasswordHistory *r)
2037 ndr_print_struct(ndr, name, "netr_PasswordHistory");
2039 ndr_print_uint16(ndr, "nt_length", r->nt_length);
2040 ndr_print_uint16(ndr, "nt_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->nt_length:r->nt_size);
2041 ndr_print_uint32(ndr, "nt_flags", r->nt_flags);
2042 ndr_print_uint16(ndr, "lm_length", r->lm_length);
2043 ndr_print_uint16(ndr, "lm_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->lm_length:r->lm_size);
2044 ndr_print_uint32(ndr, "lm_flags", r->lm_flags);
2045 ndr_print_array_uint8(ndr, "nt_history", r->nt_history, r->nt_length);
2046 ndr_print_array_uint8(ndr, "lm_history", r->lm_history, r->lm_length);
2050 static enum ndr_err_code ndr_push_netr_USER_KEYS2(struct ndr_push *ndr, int ndr_flags, const struct netr_USER_KEYS2 *r)
2052 if (ndr_flags & NDR_SCALARS) {
2053 NDR_CHECK(ndr_push_align(ndr, 4));
2054 NDR_CHECK(ndr_push_netr_USER_KEY16(ndr, NDR_SCALARS, &r->lmpassword));
2055 NDR_CHECK(ndr_push_netr_USER_KEY16(ndr, NDR_SCALARS, &r->ntpassword));
2056 NDR_CHECK(ndr_push_netr_PasswordHistory(ndr, NDR_SCALARS, &r->history));
2058 if (ndr_flags & NDR_BUFFERS) {
2060 return NDR_ERR_SUCCESS;
2063 static enum ndr_err_code ndr_pull_netr_USER_KEYS2(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_KEYS2 *r)
2065 if (ndr_flags & NDR_SCALARS) {
2066 NDR_CHECK(ndr_pull_align(ndr, 4));
2067 NDR_CHECK(ndr_pull_netr_USER_KEY16(ndr, NDR_SCALARS, &r->lmpassword));
2068 NDR_CHECK(ndr_pull_netr_USER_KEY16(ndr, NDR_SCALARS, &r->ntpassword));
2069 NDR_CHECK(ndr_pull_netr_PasswordHistory(ndr, NDR_SCALARS, &r->history));
2071 if (ndr_flags & NDR_BUFFERS) {
2073 return NDR_ERR_SUCCESS;
2076 _PUBLIC_ void ndr_print_netr_USER_KEYS2(struct ndr_print *ndr, const char *name, const struct netr_USER_KEYS2 *r)
2078 ndr_print_struct(ndr, name, "netr_USER_KEYS2");
2080 ndr_print_netr_USER_KEY16(ndr, "lmpassword", &r->lmpassword);
2081 ndr_print_netr_USER_KEY16(ndr, "ntpassword", &r->ntpassword);
2082 ndr_print_netr_PasswordHistory(ndr, "history", &r->history);
2086 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)
2088 if (ndr_flags & NDR_SCALARS) {
2089 NDR_CHECK(ndr_push_align(ndr, 4));
2090 NDR_CHECK(ndr_push_netr_USER_KEYS2(ndr, NDR_SCALARS, &r->keys2));
2092 if (ndr_flags & NDR_BUFFERS) {
2094 return NDR_ERR_SUCCESS;
2097 static enum ndr_err_code ndr_pull_netr_USER_KEY_UNION(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_KEY_UNION *r)
2099 if (ndr_flags & NDR_SCALARS) {
2100 NDR_CHECK(ndr_pull_align(ndr, 4));
2101 NDR_CHECK(ndr_pull_netr_USER_KEYS2(ndr, NDR_SCALARS, &r->keys2));
2103 if (ndr_flags & NDR_BUFFERS) {
2105 return NDR_ERR_SUCCESS;
2108 _PUBLIC_ void ndr_print_netr_USER_KEY_UNION(struct ndr_print *ndr, const char *name, const struct netr_USER_KEY_UNION *r)
2110 ndr_print_struct(ndr, name, "netr_USER_KEY_UNION");
2112 ndr_print_netr_USER_KEYS2(ndr, "keys2", &r->keys2);
2116 _PUBLIC_ enum ndr_err_code ndr_push_netr_USER_KEYS(struct ndr_push *ndr, int ndr_flags, const struct netr_USER_KEYS *r)
2118 if (ndr_flags & NDR_SCALARS) {
2119 NDR_CHECK(ndr_push_align(ndr, 4));
2120 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
2121 NDR_CHECK(ndr_push_netr_USER_KEY_UNION(ndr, NDR_SCALARS, &r->keys));
2123 if (ndr_flags & NDR_BUFFERS) {
2125 return NDR_ERR_SUCCESS;
2128 _PUBLIC_ enum ndr_err_code ndr_pull_netr_USER_KEYS(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_KEYS *r)
2130 if (ndr_flags & NDR_SCALARS) {
2131 NDR_CHECK(ndr_pull_align(ndr, 4));
2132 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
2133 NDR_CHECK(ndr_pull_netr_USER_KEY_UNION(ndr, NDR_SCALARS, &r->keys));
2135 if (ndr_flags & NDR_BUFFERS) {
2137 return NDR_ERR_SUCCESS;
2140 _PUBLIC_ void ndr_print_netr_USER_KEYS(struct ndr_print *ndr, const char *name, const struct netr_USER_KEYS *r)
2142 ndr_print_struct(ndr, name, "netr_USER_KEYS");
2144 ndr_print_uint32(ndr, "version", r->version);
2145 ndr_print_netr_USER_KEY_UNION(ndr, "keys", &r->keys);
2149 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)
2151 if (ndr_flags & NDR_SCALARS) {
2152 NDR_CHECK(ndr_push_align(ndr, 4));
2153 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->SensitiveDataFlag));
2154 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->DataLength));
2156 uint32_t _flags_save_uint8 = ndr->flags;
2157 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2158 NDR_CHECK(ndr_push_unique_ptr(ndr, r->SensitiveData));
2159 ndr->flags = _flags_save_uint8;
2162 if (ndr_flags & NDR_BUFFERS) {
2164 uint32_t _flags_save_uint8 = ndr->flags;
2165 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2166 if (r->SensitiveData) {
2167 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->DataLength));
2168 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->SensitiveData, r->DataLength));
2170 ndr->flags = _flags_save_uint8;
2173 return NDR_ERR_SUCCESS;
2176 static enum ndr_err_code ndr_pull_netr_USER_PRIVATE_INFO(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_PRIVATE_INFO *r)
2178 uint32_t _ptr_SensitiveData;
2179 TALLOC_CTX *_mem_save_SensitiveData_0;
2180 if (ndr_flags & NDR_SCALARS) {
2181 NDR_CHECK(ndr_pull_align(ndr, 4));
2182 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->SensitiveDataFlag));
2183 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->DataLength));
2185 uint32_t _flags_save_uint8 = ndr->flags;
2186 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2187 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_SensitiveData));
2188 if (_ptr_SensitiveData) {
2189 NDR_PULL_ALLOC(ndr, r->SensitiveData);
2191 r->SensitiveData = NULL;
2193 ndr->flags = _flags_save_uint8;
2196 if (ndr_flags & NDR_BUFFERS) {
2198 uint32_t _flags_save_uint8 = ndr->flags;
2199 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2200 if (r->SensitiveData) {
2201 _mem_save_SensitiveData_0 = NDR_PULL_GET_MEM_CTX(ndr);
2202 NDR_PULL_SET_MEM_CTX(ndr, r->SensitiveData, 0);
2203 NDR_CHECK(ndr_pull_array_size(ndr, &r->SensitiveData));
2204 NDR_PULL_ALLOC_N(ndr, r->SensitiveData, ndr_get_array_size(ndr, &r->SensitiveData));
2205 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->SensitiveData, ndr_get_array_size(ndr, &r->SensitiveData)));
2206 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_SensitiveData_0, 0);
2208 ndr->flags = _flags_save_uint8;
2210 if (r->SensitiveData) {
2211 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->SensitiveData, r->DataLength));
2214 return NDR_ERR_SUCCESS;
2217 _PUBLIC_ void ndr_print_netr_USER_PRIVATE_INFO(struct ndr_print *ndr, const char *name, const struct netr_USER_PRIVATE_INFO *r)
2219 ndr_print_struct(ndr, name, "netr_USER_PRIVATE_INFO");
2221 ndr_print_uint8(ndr, "SensitiveDataFlag", r->SensitiveDataFlag);
2222 ndr_print_uint32(ndr, "DataLength", r->DataLength);
2223 ndr_print_ptr(ndr, "SensitiveData", r->SensitiveData);
2225 if (r->SensitiveData) {
2226 ndr_print_array_uint8(ndr, "SensitiveData", r->SensitiveData, r->DataLength);
2232 static enum ndr_err_code ndr_push_netr_DELTA_USER(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_USER *r)
2234 if (ndr_flags & NDR_SCALARS) {
2235 NDR_CHECK(ndr_push_align(ndr, 4));
2236 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2237 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2238 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
2239 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid));
2240 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
2241 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
2242 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
2243 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
2244 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->workstations));
2245 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logon));
2246 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logoff));
2247 NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
2248 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->bad_password_count));
2249 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count));
2250 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_password_change));
2251 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->acct_expiry));
2252 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
2253 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->lmpassword));
2254 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->ntpassword));
2255 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->nt_password_present));
2256 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->lm_password_present));
2257 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->password_expired));
2258 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->comment));
2259 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->parameters));
2260 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->country_code));
2261 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->code_page));
2262 NDR_CHECK(ndr_push_netr_USER_PRIVATE_INFO(ndr, NDR_SCALARS, &r->user_private_info));
2263 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
2264 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2265 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
2266 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2267 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2268 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2269 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
2270 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
2271 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
2272 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
2274 if (ndr_flags & NDR_BUFFERS) {
2275 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2276 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2277 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
2278 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
2279 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
2280 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
2281 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
2282 NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
2283 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->comment));
2284 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->parameters));
2285 NDR_CHECK(ndr_push_netr_USER_PRIVATE_INFO(ndr, NDR_BUFFERS, &r->user_private_info));
2286 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2287 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
2288 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2289 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2290 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2292 return NDR_ERR_SUCCESS;
2295 static enum ndr_err_code ndr_pull_netr_DELTA_USER(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_USER *r)
2297 if (ndr_flags & NDR_SCALARS) {
2298 NDR_CHECK(ndr_pull_align(ndr, 4));
2299 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2300 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2301 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
2302 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid));
2303 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
2304 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
2305 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
2306 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
2307 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->workstations));
2308 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logon));
2309 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logoff));
2310 NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
2311 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->bad_password_count));
2312 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count));
2313 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_password_change));
2314 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->acct_expiry));
2315 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
2316 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->lmpassword));
2317 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->ntpassword));
2318 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->nt_password_present));
2319 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->lm_password_present));
2320 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->password_expired));
2321 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->comment));
2322 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->parameters));
2323 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->country_code));
2324 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->code_page));
2325 NDR_CHECK(ndr_pull_netr_USER_PRIVATE_INFO(ndr, NDR_SCALARS, &r->user_private_info));
2326 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
2327 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2328 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
2329 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2330 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2331 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2332 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
2333 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
2334 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
2335 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
2337 if (ndr_flags & NDR_BUFFERS) {
2338 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2339 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2340 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
2341 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
2342 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
2343 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
2344 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
2345 NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
2346 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->comment));
2347 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->parameters));
2348 NDR_CHECK(ndr_pull_netr_USER_PRIVATE_INFO(ndr, NDR_BUFFERS, &r->user_private_info));
2349 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2350 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
2351 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2352 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2353 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2355 return NDR_ERR_SUCCESS;
2358 _PUBLIC_ void ndr_print_netr_DELTA_USER(struct ndr_print *ndr, const char *name, const struct netr_DELTA_USER *r)
2360 ndr_print_struct(ndr, name, "netr_DELTA_USER");
2362 ndr_print_lsa_String(ndr, "account_name", &r->account_name);
2363 ndr_print_lsa_String(ndr, "full_name", &r->full_name);
2364 ndr_print_uint32(ndr, "rid", r->rid);
2365 ndr_print_uint32(ndr, "primary_gid", r->primary_gid);
2366 ndr_print_lsa_String(ndr, "home_directory", &r->home_directory);
2367 ndr_print_lsa_String(ndr, "home_drive", &r->home_drive);
2368 ndr_print_lsa_String(ndr, "logon_script", &r->logon_script);
2369 ndr_print_lsa_String(ndr, "description", &r->description);
2370 ndr_print_lsa_String(ndr, "workstations", &r->workstations);
2371 ndr_print_NTTIME(ndr, "last_logon", r->last_logon);
2372 ndr_print_NTTIME(ndr, "last_logoff", r->last_logoff);
2373 ndr_print_samr_LogonHours(ndr, "logon_hours", &r->logon_hours);
2374 ndr_print_uint16(ndr, "bad_password_count", r->bad_password_count);
2375 ndr_print_uint16(ndr, "logon_count", r->logon_count);
2376 ndr_print_NTTIME(ndr, "last_password_change", r->last_password_change);
2377 ndr_print_NTTIME(ndr, "acct_expiry", r->acct_expiry);
2378 ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
2379 ndr_print_samr_Password(ndr, "lmpassword", &r->lmpassword);
2380 ndr_print_samr_Password(ndr, "ntpassword", &r->ntpassword);
2381 ndr_print_uint8(ndr, "nt_password_present", r->nt_password_present);
2382 ndr_print_uint8(ndr, "lm_password_present", r->lm_password_present);
2383 ndr_print_uint8(ndr, "password_expired", r->password_expired);
2384 ndr_print_lsa_String(ndr, "comment", &r->comment);
2385 ndr_print_lsa_String(ndr, "parameters", &r->parameters);
2386 ndr_print_uint16(ndr, "country_code", r->country_code);
2387 ndr_print_uint16(ndr, "code_page", r->code_page);
2388 ndr_print_netr_USER_PRIVATE_INFO(ndr, "user_private_info", &r->user_private_info);
2389 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
2390 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
2391 ndr_print_lsa_String(ndr, "profile_path", &r->profile_path);
2392 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
2393 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
2394 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
2395 ndr_print_uint32(ndr, "unknown5", r->unknown5);
2396 ndr_print_uint32(ndr, "unknown6", r->unknown6);
2397 ndr_print_uint32(ndr, "unknown7", r->unknown7);
2398 ndr_print_uint32(ndr, "unknown8", r->unknown8);
2402 static enum ndr_err_code ndr_push_netr_DELTA_DOMAIN(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_DOMAIN *r)
2404 if (ndr_flags & NDR_SCALARS) {
2405 NDR_CHECK(ndr_push_align(ndr, 4));
2406 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
2407 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->comment));
2408 NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->force_logoff_time));
2409 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->min_password_length));
2410 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->password_history_length));
2411 NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->max_password_age));
2412 NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->min_password_age));
2413 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->sequence_num));
2414 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->domain_create_time));
2415 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
2416 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2417 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_SCALARS, &r->account_lockout));
2418 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2419 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2420 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2421 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logon_to_chgpass));
2422 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
2423 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
2424 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
2426 if (ndr_flags & NDR_BUFFERS) {
2427 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
2428 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->comment));
2429 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2430 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_BUFFERS, &r->account_lockout));
2431 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2432 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2433 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2435 return NDR_ERR_SUCCESS;
2438 static enum ndr_err_code ndr_pull_netr_DELTA_DOMAIN(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_DOMAIN *r)
2440 if (ndr_flags & NDR_SCALARS) {
2441 NDR_CHECK(ndr_pull_align(ndr, 4));
2442 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
2443 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->comment));
2444 NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->force_logoff_time));
2445 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->min_password_length));
2446 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->password_history_length));
2447 NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->max_password_age));
2448 NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->min_password_age));
2449 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->sequence_num));
2450 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->domain_create_time));
2451 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
2452 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2453 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_SCALARS, &r->account_lockout));
2454 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2455 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2456 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2457 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logon_to_chgpass));
2458 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
2459 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
2460 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
2462 if (ndr_flags & NDR_BUFFERS) {
2463 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
2464 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->comment));
2465 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2466 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_BUFFERS, &r->account_lockout));
2467 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2468 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2469 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2471 return NDR_ERR_SUCCESS;
2474 _PUBLIC_ void ndr_print_netr_DELTA_DOMAIN(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DOMAIN *r)
2476 ndr_print_struct(ndr, name, "netr_DELTA_DOMAIN");
2478 ndr_print_lsa_String(ndr, "domain_name", &r->domain_name);
2479 ndr_print_lsa_String(ndr, "comment", &r->comment);
2480 ndr_print_dlong(ndr, "force_logoff_time", r->force_logoff_time);
2481 ndr_print_uint16(ndr, "min_password_length", r->min_password_length);
2482 ndr_print_uint16(ndr, "password_history_length", r->password_history_length);
2483 ndr_print_dlong(ndr, "max_password_age", r->max_password_age);
2484 ndr_print_dlong(ndr, "min_password_age", r->min_password_age);
2485 ndr_print_udlong(ndr, "sequence_num", r->sequence_num);
2486 ndr_print_NTTIME(ndr, "domain_create_time", r->domain_create_time);
2487 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
2488 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
2489 ndr_print_lsa_BinaryString(ndr, "account_lockout", &r->account_lockout);
2490 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
2491 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
2492 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
2493 ndr_print_uint32(ndr, "logon_to_chgpass", r->logon_to_chgpass);
2494 ndr_print_uint32(ndr, "unknown6", r->unknown6);
2495 ndr_print_uint32(ndr, "unknown7", r->unknown7);
2496 ndr_print_uint32(ndr, "unknown8", r->unknown8);
2500 static enum ndr_err_code ndr_push_netr_DELTA_GROUP(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_GROUP *r)
2502 if (ndr_flags & NDR_SCALARS) {
2503 NDR_CHECK(ndr_push_align(ndr, 4));
2504 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->group_name));
2505 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
2506 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->attributes));
2507 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
2508 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
2509 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2510 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2511 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2512 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2513 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2514 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
2515 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
2516 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
2517 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
2519 if (ndr_flags & NDR_BUFFERS) {
2520 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->group_name));
2521 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
2522 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2523 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
2524 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2525 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2526 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2528 return NDR_ERR_SUCCESS;
2531 static enum ndr_err_code ndr_pull_netr_DELTA_GROUP(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_GROUP *r)
2533 if (ndr_flags & NDR_SCALARS) {
2534 NDR_CHECK(ndr_pull_align(ndr, 4));
2535 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->group_name));
2536 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
2537 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->attributes));
2538 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
2539 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
2540 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2541 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2542 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2543 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2544 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2545 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
2546 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
2547 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
2548 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
2550 if (ndr_flags & NDR_BUFFERS) {
2551 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->group_name));
2552 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
2553 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2554 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
2555 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2556 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2557 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2559 return NDR_ERR_SUCCESS;
2562 _PUBLIC_ void ndr_print_netr_DELTA_GROUP(struct ndr_print *ndr, const char *name, const struct netr_DELTA_GROUP *r)
2564 ndr_print_struct(ndr, name, "netr_DELTA_GROUP");
2566 ndr_print_lsa_String(ndr, "group_name", &r->group_name);
2567 ndr_print_uint32(ndr, "rid", r->rid);
2568 ndr_print_uint32(ndr, "attributes", r->attributes);
2569 ndr_print_lsa_String(ndr, "description", &r->description);
2570 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
2571 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
2572 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
2573 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
2574 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
2575 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
2576 ndr_print_uint32(ndr, "unknown5", r->unknown5);
2577 ndr_print_uint32(ndr, "unknown6", r->unknown6);
2578 ndr_print_uint32(ndr, "unknown7", r->unknown7);
2579 ndr_print_uint32(ndr, "unknown8", r->unknown8);
2583 static enum ndr_err_code ndr_push_netr_DELTA_RENAME(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_RENAME *r)
2585 if (ndr_flags & NDR_SCALARS) {
2586 NDR_CHECK(ndr_push_align(ndr, 4));
2587 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->OldName));
2588 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->NewName));
2589 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2590 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2591 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2592 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2593 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
2594 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
2595 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
2596 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
2598 if (ndr_flags & NDR_BUFFERS) {
2599 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->OldName));
2600 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->NewName));
2601 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
2602 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2603 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2604 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2606 return NDR_ERR_SUCCESS;
2609 static enum ndr_err_code ndr_pull_netr_DELTA_RENAME(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_RENAME *r)
2611 if (ndr_flags & NDR_SCALARS) {
2612 NDR_CHECK(ndr_pull_align(ndr, 4));
2613 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->OldName));
2614 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->NewName));
2615 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2616 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2617 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2618 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2619 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
2620 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
2621 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
2622 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
2624 if (ndr_flags & NDR_BUFFERS) {
2625 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->OldName));
2626 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->NewName));
2627 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
2628 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2629 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2630 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2632 return NDR_ERR_SUCCESS;
2635 _PUBLIC_ void ndr_print_netr_DELTA_RENAME(struct ndr_print *ndr, const char *name, const struct netr_DELTA_RENAME *r)
2637 ndr_print_struct(ndr, name, "netr_DELTA_RENAME");
2639 ndr_print_lsa_String(ndr, "OldName", &r->OldName);
2640 ndr_print_lsa_String(ndr, "NewName", &r->NewName);
2641 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
2642 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
2643 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
2644 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
2645 ndr_print_uint32(ndr, "unknown5", r->unknown5);
2646 ndr_print_uint32(ndr, "unknown6", r->unknown6);
2647 ndr_print_uint32(ndr, "unknown7", r->unknown7);
2648 ndr_print_uint32(ndr, "unknown8", r->unknown8);
2652 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)
2654 uint32_t cntr_rids_1;
2655 uint32_t cntr_attribs_1;
2656 if (ndr_flags & NDR_SCALARS) {
2657 NDR_CHECK(ndr_push_align(ndr, 4));
2658 NDR_CHECK(ndr_push_unique_ptr(ndr, r->rids));
2659 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribs));
2660 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_rids));
2661 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
2662 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
2663 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown3));
2664 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4));
2666 if (ndr_flags & NDR_BUFFERS) {
2668 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_rids));
2669 for (cntr_rids_1 = 0; cntr_rids_1 < r->num_rids; cntr_rids_1++) {
2670 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rids[cntr_rids_1]));
2674 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_rids));
2675 for (cntr_attribs_1 = 0; cntr_attribs_1 < r->num_rids; cntr_attribs_1++) {
2676 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->attribs[cntr_attribs_1]));
2680 return NDR_ERR_SUCCESS;
2683 static enum ndr_err_code ndr_pull_netr_DELTA_GROUP_MEMBER(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_GROUP_MEMBER *r)
2686 uint32_t cntr_rids_1;
2687 TALLOC_CTX *_mem_save_rids_0;
2688 TALLOC_CTX *_mem_save_rids_1;
2689 uint32_t _ptr_attribs;
2690 uint32_t cntr_attribs_1;
2691 TALLOC_CTX *_mem_save_attribs_0;
2692 TALLOC_CTX *_mem_save_attribs_1;
2693 if (ndr_flags & NDR_SCALARS) {
2694 NDR_CHECK(ndr_pull_align(ndr, 4));
2695 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rids));
2697 NDR_PULL_ALLOC(ndr, r->rids);
2701 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribs));
2703 NDR_PULL_ALLOC(ndr, r->attribs);
2707 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_rids));
2708 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
2709 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
2710 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown3));
2711 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4));
2713 if (ndr_flags & NDR_BUFFERS) {
2715 _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
2716 NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0);
2717 NDR_CHECK(ndr_pull_array_size(ndr, &r->rids));
2718 NDR_PULL_ALLOC_N(ndr, r->rids, ndr_get_array_size(ndr, &r->rids));
2719 _mem_save_rids_1 = NDR_PULL_GET_MEM_CTX(ndr);
2720 NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0);
2721 for (cntr_rids_1 = 0; cntr_rids_1 < r->num_rids; cntr_rids_1++) {
2722 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rids[cntr_rids_1]));
2724 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_1, 0);
2725 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, 0);
2728 _mem_save_attribs_0 = NDR_PULL_GET_MEM_CTX(ndr);
2729 NDR_PULL_SET_MEM_CTX(ndr, r->attribs, 0);
2730 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribs));
2731 NDR_PULL_ALLOC_N(ndr, r->attribs, ndr_get_array_size(ndr, &r->attribs));
2732 _mem_save_attribs_1 = NDR_PULL_GET_MEM_CTX(ndr);
2733 NDR_PULL_SET_MEM_CTX(ndr, r->attribs, 0);
2734 for (cntr_attribs_1 = 0; cntr_attribs_1 < r->num_rids; cntr_attribs_1++) {
2735 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->attribs[cntr_attribs_1]));
2737 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribs_1, 0);
2738 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribs_0, 0);
2741 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->rids, r->num_rids));
2744 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->attribs, r->num_rids));
2747 return NDR_ERR_SUCCESS;
2750 _PUBLIC_ void ndr_print_netr_DELTA_GROUP_MEMBER(struct ndr_print *ndr, const char *name, const struct netr_DELTA_GROUP_MEMBER *r)
2752 uint32_t cntr_rids_1;
2753 uint32_t cntr_attribs_1;
2754 ndr_print_struct(ndr, name, "netr_DELTA_GROUP_MEMBER");
2756 ndr_print_ptr(ndr, "rids", r->rids);
2759 ndr->print(ndr, "%s: ARRAY(%d)", "rids", (int)r->num_rids);
2761 for (cntr_rids_1=0;cntr_rids_1<r->num_rids;cntr_rids_1++) {
2763 if (asprintf(&idx_1, "[%d]", cntr_rids_1) != -1) {
2764 ndr_print_uint32(ndr, "rids", r->rids[cntr_rids_1]);
2771 ndr_print_ptr(ndr, "attribs", r->attribs);
2774 ndr->print(ndr, "%s: ARRAY(%d)", "attribs", (int)r->num_rids);
2776 for (cntr_attribs_1=0;cntr_attribs_1<r->num_rids;cntr_attribs_1++) {
2778 if (asprintf(&idx_1, "[%d]", cntr_attribs_1) != -1) {
2779 ndr_print_uint32(ndr, "attribs", r->attribs[cntr_attribs_1]);
2786 ndr_print_uint32(ndr, "num_rids", r->num_rids);
2787 ndr_print_uint32(ndr, "unknown1", r->unknown1);
2788 ndr_print_uint32(ndr, "unknown2", r->unknown2);
2789 ndr_print_uint32(ndr, "unknown3", r->unknown3);
2790 ndr_print_uint32(ndr, "unknown4", r->unknown4);
2794 static enum ndr_err_code ndr_push_netr_DELTA_ALIAS(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_ALIAS *r)
2796 if (ndr_flags & NDR_SCALARS) {
2797 NDR_CHECK(ndr_push_align(ndr, 4));
2798 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->alias_name));
2799 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
2800 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
2801 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2802 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
2803 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2804 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2805 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2806 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
2807 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
2808 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
2809 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
2811 if (ndr_flags & NDR_BUFFERS) {
2812 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->alias_name));
2813 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2814 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
2815 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2816 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2817 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2819 return NDR_ERR_SUCCESS;
2822 static enum ndr_err_code ndr_pull_netr_DELTA_ALIAS(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ALIAS *r)
2824 if (ndr_flags & NDR_SCALARS) {
2825 NDR_CHECK(ndr_pull_align(ndr, 4));
2826 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->alias_name));
2827 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
2828 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
2829 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2830 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
2831 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2832 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2833 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2834 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
2835 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
2836 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
2837 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
2839 if (ndr_flags & NDR_BUFFERS) {
2840 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->alias_name));
2841 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2842 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
2843 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2844 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2845 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2847 return NDR_ERR_SUCCESS;
2850 _PUBLIC_ void ndr_print_netr_DELTA_ALIAS(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ALIAS *r)
2852 ndr_print_struct(ndr, name, "netr_DELTA_ALIAS");
2854 ndr_print_lsa_String(ndr, "alias_name", &r->alias_name);
2855 ndr_print_uint32(ndr, "rid", r->rid);
2856 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
2857 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
2858 ndr_print_lsa_String(ndr, "description", &r->description);
2859 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
2860 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
2861 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
2862 ndr_print_uint32(ndr, "unknown5", r->unknown5);
2863 ndr_print_uint32(ndr, "unknown6", r->unknown6);
2864 ndr_print_uint32(ndr, "unknown7", r->unknown7);
2865 ndr_print_uint32(ndr, "unknown8", r->unknown8);
2869 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)
2871 if (ndr_flags & NDR_SCALARS) {
2872 NDR_CHECK(ndr_push_align(ndr, 4));
2873 NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_SCALARS, &r->sids));
2874 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
2875 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
2876 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown3));
2877 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4));
2879 if (ndr_flags & NDR_BUFFERS) {
2880 NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_BUFFERS, &r->sids));
2882 return NDR_ERR_SUCCESS;
2885 static enum ndr_err_code ndr_pull_netr_DELTA_ALIAS_MEMBER(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ALIAS_MEMBER *r)
2887 if (ndr_flags & NDR_SCALARS) {
2888 NDR_CHECK(ndr_pull_align(ndr, 4));
2889 NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_SCALARS, &r->sids));
2890 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
2891 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
2892 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown3));
2893 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4));
2895 if (ndr_flags & NDR_BUFFERS) {
2896 NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_BUFFERS, &r->sids));
2898 return NDR_ERR_SUCCESS;
2901 _PUBLIC_ void ndr_print_netr_DELTA_ALIAS_MEMBER(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ALIAS_MEMBER *r)
2903 ndr_print_struct(ndr, name, "netr_DELTA_ALIAS_MEMBER");
2905 ndr_print_lsa_SidArray(ndr, "sids", &r->sids);
2906 ndr_print_uint32(ndr, "unknown1", r->unknown1);
2907 ndr_print_uint32(ndr, "unknown2", r->unknown2);
2908 ndr_print_uint32(ndr, "unknown3", r->unknown3);
2909 ndr_print_uint32(ndr, "unknown4", r->unknown4);
2913 static enum ndr_err_code ndr_push_netr_QUOTA_LIMITS(struct ndr_push *ndr, int ndr_flags, const struct netr_QUOTA_LIMITS *r)
2915 if (ndr_flags & NDR_SCALARS) {
2916 NDR_CHECK(ndr_push_align(ndr, 4));
2917 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pagedpoollimit));
2918 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nonpagedpoollimit));
2919 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->minimumworkingsetsize));
2920 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maximumworkingsetsize));
2921 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pagefilelimit));
2922 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->timelimit));
2924 if (ndr_flags & NDR_BUFFERS) {
2926 return NDR_ERR_SUCCESS;
2929 static enum ndr_err_code ndr_pull_netr_QUOTA_LIMITS(struct ndr_pull *ndr, int ndr_flags, struct netr_QUOTA_LIMITS *r)
2931 if (ndr_flags & NDR_SCALARS) {
2932 NDR_CHECK(ndr_pull_align(ndr, 4));
2933 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pagedpoollimit));
2934 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nonpagedpoollimit));
2935 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->minimumworkingsetsize));
2936 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maximumworkingsetsize));
2937 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pagefilelimit));
2938 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->timelimit));
2940 if (ndr_flags & NDR_BUFFERS) {
2942 return NDR_ERR_SUCCESS;
2945 _PUBLIC_ void ndr_print_netr_QUOTA_LIMITS(struct ndr_print *ndr, const char *name, const struct netr_QUOTA_LIMITS *r)
2947 ndr_print_struct(ndr, name, "netr_QUOTA_LIMITS");
2949 ndr_print_uint32(ndr, "pagedpoollimit", r->pagedpoollimit);
2950 ndr_print_uint32(ndr, "nonpagedpoollimit", r->nonpagedpoollimit);
2951 ndr_print_uint32(ndr, "minimumworkingsetsize", r->minimumworkingsetsize);
2952 ndr_print_uint32(ndr, "maximumworkingsetsize", r->maximumworkingsetsize);
2953 ndr_print_uint32(ndr, "pagefilelimit", r->pagefilelimit);
2954 ndr_print_NTTIME(ndr, "timelimit", r->timelimit);
2958 static enum ndr_err_code ndr_push_netr_DELTA_POLICY(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_POLICY *r)
2960 uint32_t cntr_eventauditoptions_1;
2961 if (ndr_flags & NDR_SCALARS) {
2962 NDR_CHECK(ndr_push_align(ndr, 4));
2963 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxlogsize));
2964 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->auditretentionperiod));
2965 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->auditingmode));
2966 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxauditeventcount));
2967 NDR_CHECK(ndr_push_unique_ptr(ndr, r->eventauditoptions));
2968 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->primary_domain_name));
2969 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
2970 NDR_CHECK(ndr_push_netr_QUOTA_LIMITS(ndr, NDR_SCALARS, &r->quota_limits));
2971 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->sequence_num));
2972 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->db_create_time));
2973 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
2974 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2975 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2976 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2977 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2978 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2979 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
2980 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
2981 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
2982 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
2984 if (ndr_flags & NDR_BUFFERS) {
2985 if (r->eventauditoptions) {
2986 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxauditeventcount + 1));
2987 for (cntr_eventauditoptions_1 = 0; cntr_eventauditoptions_1 < r->maxauditeventcount + 1; cntr_eventauditoptions_1++) {
2988 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->eventauditoptions[cntr_eventauditoptions_1]));
2991 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->primary_domain_name));
2993 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
2995 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2996 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
2997 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2998 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2999 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3001 return NDR_ERR_SUCCESS;
3004 static enum ndr_err_code ndr_pull_netr_DELTA_POLICY(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_POLICY *r)
3006 uint32_t _ptr_eventauditoptions;
3007 uint32_t cntr_eventauditoptions_1;
3008 TALLOC_CTX *_mem_save_eventauditoptions_0;
3009 TALLOC_CTX *_mem_save_eventauditoptions_1;
3011 TALLOC_CTX *_mem_save_sid_0;
3012 if (ndr_flags & NDR_SCALARS) {
3013 NDR_CHECK(ndr_pull_align(ndr, 4));
3014 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxlogsize));
3015 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->auditretentionperiod));
3016 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->auditingmode));
3017 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxauditeventcount));
3018 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_eventauditoptions));
3019 if (_ptr_eventauditoptions) {
3020 NDR_PULL_ALLOC(ndr, r->eventauditoptions);
3022 r->eventauditoptions = NULL;
3024 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->primary_domain_name));
3025 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
3027 NDR_PULL_ALLOC(ndr, r->sid);
3031 NDR_CHECK(ndr_pull_netr_QUOTA_LIMITS(ndr, NDR_SCALARS, &r->quota_limits));
3032 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->sequence_num));
3033 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->db_create_time));
3034 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
3035 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3036 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3037 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3038 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3039 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3040 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
3041 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
3042 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
3043 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
3045 if (ndr_flags & NDR_BUFFERS) {
3046 if (r->eventauditoptions) {
3047 _mem_save_eventauditoptions_0 = NDR_PULL_GET_MEM_CTX(ndr);
3048 NDR_PULL_SET_MEM_CTX(ndr, r->eventauditoptions, 0);
3049 NDR_CHECK(ndr_pull_array_size(ndr, &r->eventauditoptions));
3050 NDR_PULL_ALLOC_N(ndr, r->eventauditoptions, ndr_get_array_size(ndr, &r->eventauditoptions));
3051 _mem_save_eventauditoptions_1 = NDR_PULL_GET_MEM_CTX(ndr);
3052 NDR_PULL_SET_MEM_CTX(ndr, r->eventauditoptions, 0);
3053 for (cntr_eventauditoptions_1 = 0; cntr_eventauditoptions_1 < r->maxauditeventcount + 1; cntr_eventauditoptions_1++) {
3054 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->eventauditoptions[cntr_eventauditoptions_1]));
3056 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_eventauditoptions_1, 0);
3057 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_eventauditoptions_0, 0);
3059 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->primary_domain_name));
3061 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
3062 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
3063 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
3064 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
3066 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3067 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3068 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3069 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3070 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3071 if (r->eventauditoptions) {
3072 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->eventauditoptions, r->maxauditeventcount + 1));
3075 return NDR_ERR_SUCCESS;
3078 _PUBLIC_ void ndr_print_netr_DELTA_POLICY(struct ndr_print *ndr, const char *name, const struct netr_DELTA_POLICY *r)
3080 uint32_t cntr_eventauditoptions_1;
3081 ndr_print_struct(ndr, name, "netr_DELTA_POLICY");
3083 ndr_print_uint32(ndr, "maxlogsize", r->maxlogsize);
3084 ndr_print_NTTIME(ndr, "auditretentionperiod", r->auditretentionperiod);
3085 ndr_print_uint8(ndr, "auditingmode", r->auditingmode);
3086 ndr_print_uint32(ndr, "maxauditeventcount", r->maxauditeventcount);
3087 ndr_print_ptr(ndr, "eventauditoptions", r->eventauditoptions);
3089 if (r->eventauditoptions) {
3090 ndr->print(ndr, "%s: ARRAY(%d)", "eventauditoptions", (int)r->maxauditeventcount + 1);
3092 for (cntr_eventauditoptions_1=0;cntr_eventauditoptions_1<r->maxauditeventcount + 1;cntr_eventauditoptions_1++) {
3094 if (asprintf(&idx_1, "[%d]", cntr_eventauditoptions_1) != -1) {
3095 ndr_print_uint32(ndr, "eventauditoptions", r->eventauditoptions[cntr_eventauditoptions_1]);
3102 ndr_print_lsa_String(ndr, "primary_domain_name", &r->primary_domain_name);
3103 ndr_print_ptr(ndr, "sid", r->sid);
3106 ndr_print_dom_sid2(ndr, "sid", r->sid);
3109 ndr_print_netr_QUOTA_LIMITS(ndr, "quota_limits", &r->quota_limits);
3110 ndr_print_udlong(ndr, "sequence_num", r->sequence_num);
3111 ndr_print_NTTIME(ndr, "db_create_time", r->db_create_time);
3112 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
3113 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
3114 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
3115 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
3116 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
3117 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
3118 ndr_print_uint32(ndr, "unknown5", r->unknown5);
3119 ndr_print_uint32(ndr, "unknown6", r->unknown6);
3120 ndr_print_uint32(ndr, "unknown7", r->unknown7);
3121 ndr_print_uint32(ndr, "unknown8", r->unknown8);
3125 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)
3127 uint32_t cntr_controller_names_1;
3128 if (ndr_flags & NDR_SCALARS) {
3129 NDR_CHECK(ndr_push_align(ndr, 4));
3130 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
3131 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_controllers));
3132 NDR_CHECK(ndr_push_unique_ptr(ndr, r->controller_names));
3133 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
3134 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3135 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3136 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3137 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3138 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3139 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->posix_offset));
3140 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
3141 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
3142 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
3144 if (ndr_flags & NDR_BUFFERS) {
3145 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
3146 if (r->controller_names) {
3147 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_controllers));
3148 for (cntr_controller_names_1 = 0; cntr_controller_names_1 < r->num_controllers; cntr_controller_names_1++) {
3149 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->controller_names[cntr_controller_names_1]));
3151 for (cntr_controller_names_1 = 0; cntr_controller_names_1 < r->num_controllers; cntr_controller_names_1++) {
3152 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->controller_names[cntr_controller_names_1]));
3155 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3156 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3157 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3158 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3159 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3161 return NDR_ERR_SUCCESS;
3164 static enum ndr_err_code ndr_pull_netr_DELTA_TRUSTED_DOMAIN(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_TRUSTED_DOMAIN *r)
3166 uint32_t _ptr_controller_names;
3167 uint32_t cntr_controller_names_1;
3168 TALLOC_CTX *_mem_save_controller_names_0;
3169 TALLOC_CTX *_mem_save_controller_names_1;
3170 if (ndr_flags & NDR_SCALARS) {
3171 NDR_CHECK(ndr_pull_align(ndr, 4));
3172 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
3173 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_controllers));
3174 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_controller_names));
3175 if (_ptr_controller_names) {
3176 NDR_PULL_ALLOC(ndr, r->controller_names);
3178 r->controller_names = NULL;
3180 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
3181 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3182 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3183 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3184 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3185 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3186 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->posix_offset));
3187 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
3188 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
3189 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
3191 if (ndr_flags & NDR_BUFFERS) {
3192 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
3193 if (r->controller_names) {
3194 _mem_save_controller_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
3195 NDR_PULL_SET_MEM_CTX(ndr, r->controller_names, 0);
3196 NDR_CHECK(ndr_pull_array_size(ndr, &r->controller_names));
3197 NDR_PULL_ALLOC_N(ndr, r->controller_names, ndr_get_array_size(ndr, &r->controller_names));
3198 _mem_save_controller_names_1 = NDR_PULL_GET_MEM_CTX(ndr);
3199 NDR_PULL_SET_MEM_CTX(ndr, r->controller_names, 0);
3200 for (cntr_controller_names_1 = 0; cntr_controller_names_1 < r->num_controllers; cntr_controller_names_1++) {
3201 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->controller_names[cntr_controller_names_1]));
3203 for (cntr_controller_names_1 = 0; cntr_controller_names_1 < r->num_controllers; cntr_controller_names_1++) {
3204 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->controller_names[cntr_controller_names_1]));
3206 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_controller_names_1, 0);
3207 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_controller_names_0, 0);
3209 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3210 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3211 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3212 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3213 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3214 if (r->controller_names) {
3215 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->controller_names, r->num_controllers));
3218 return NDR_ERR_SUCCESS;
3221 _PUBLIC_ void ndr_print_netr_DELTA_TRUSTED_DOMAIN(struct ndr_print *ndr, const char *name, const struct netr_DELTA_TRUSTED_DOMAIN *r)
3223 uint32_t cntr_controller_names_1;
3224 ndr_print_struct(ndr, name, "netr_DELTA_TRUSTED_DOMAIN");
3226 ndr_print_lsa_String(ndr, "domain_name", &r->domain_name);
3227 ndr_print_uint32(ndr, "num_controllers", r->num_controllers);
3228 ndr_print_ptr(ndr, "controller_names", r->controller_names);
3230 if (r->controller_names) {
3231 ndr->print(ndr, "%s: ARRAY(%d)", "controller_names", (int)r->num_controllers);
3233 for (cntr_controller_names_1=0;cntr_controller_names_1<r->num_controllers;cntr_controller_names_1++) {
3235 if (asprintf(&idx_1, "[%d]", cntr_controller_names_1) != -1) {
3236 ndr_print_lsa_String(ndr, "controller_names", &r->controller_names[cntr_controller_names_1]);
3243 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
3244 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
3245 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
3246 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
3247 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
3248 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
3249 ndr_print_uint32(ndr, "posix_offset", r->posix_offset);
3250 ndr_print_uint32(ndr, "unknown6", r->unknown6);
3251 ndr_print_uint32(ndr, "unknown7", r->unknown7);
3252 ndr_print_uint32(ndr, "unknown8", r->unknown8);
3256 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)
3258 if (ndr_flags & NDR_SCALARS) {
3259 NDR_CHECK(ndr_push_align(ndr, 2));
3260 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->unknown));
3262 if (ndr_flags & NDR_BUFFERS) {
3264 return NDR_ERR_SUCCESS;
3267 static enum ndr_err_code ndr_pull_netr_DELTA_DELETE_TRUST(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_DELETE_TRUST *r)
3269 if (ndr_flags & NDR_SCALARS) {
3270 NDR_CHECK(ndr_pull_align(ndr, 2));
3271 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->unknown));
3273 if (ndr_flags & NDR_BUFFERS) {
3275 return NDR_ERR_SUCCESS;
3278 _PUBLIC_ void ndr_print_netr_DELTA_DELETE_TRUST(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DELETE_TRUST *r)
3280 ndr_print_struct(ndr, name, "netr_DELTA_DELETE_TRUST");
3282 ndr_print_uint16(ndr, "unknown", r->unknown);
3286 static enum ndr_err_code ndr_push_netr_DELTA_ACCOUNT(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_ACCOUNT *r)
3288 uint32_t cntr_privilege_attrib_1;
3289 uint32_t cntr_privilege_name_1;
3290 if (ndr_flags & NDR_SCALARS) {
3291 NDR_CHECK(ndr_push_align(ndr, 4));
3292 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->privilege_entries));
3293 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->privilege_control));
3294 NDR_CHECK(ndr_push_unique_ptr(ndr, r->privilege_attrib));
3295 NDR_CHECK(ndr_push_unique_ptr(ndr, r->privilege_name));
3296 NDR_CHECK(ndr_push_netr_QUOTA_LIMITS(ndr, NDR_SCALARS, &r->quotalimits));
3297 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->system_flags));
3298 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
3299 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3300 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3301 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3302 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3303 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3304 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
3305 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
3306 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
3307 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
3309 if (ndr_flags & NDR_BUFFERS) {
3310 if (r->privilege_attrib) {
3311 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->privilege_entries));
3312 for (cntr_privilege_attrib_1 = 0; cntr_privilege_attrib_1 < r->privilege_entries; cntr_privilege_attrib_1++) {
3313 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->privilege_attrib[cntr_privilege_attrib_1]));
3316 if (r->privilege_name) {
3317 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->privilege_entries));
3318 for (cntr_privilege_name_1 = 0; cntr_privilege_name_1 < r->privilege_entries; cntr_privilege_name_1++) {
3319 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->privilege_name[cntr_privilege_name_1]));
3321 for (cntr_privilege_name_1 = 0; cntr_privilege_name_1 < r->privilege_entries; cntr_privilege_name_1++) {
3322 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->privilege_name[cntr_privilege_name_1]));
3325 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3326 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3327 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3328 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3329 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3331 return NDR_ERR_SUCCESS;
3334 static enum ndr_err_code ndr_pull_netr_DELTA_ACCOUNT(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ACCOUNT *r)
3336 uint32_t _ptr_privilege_attrib;
3337 uint32_t cntr_privilege_attrib_1;
3338 TALLOC_CTX *_mem_save_privilege_attrib_0;
3339 TALLOC_CTX *_mem_save_privilege_attrib_1;
3340 uint32_t _ptr_privilege_name;
3341 uint32_t cntr_privilege_name_1;
3342 TALLOC_CTX *_mem_save_privilege_name_0;
3343 TALLOC_CTX *_mem_save_privilege_name_1;
3344 if (ndr_flags & NDR_SCALARS) {
3345 NDR_CHECK(ndr_pull_align(ndr, 4));
3346 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->privilege_entries));
3347 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->privilege_control));
3348 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_privilege_attrib));
3349 if (_ptr_privilege_attrib) {
3350 NDR_PULL_ALLOC(ndr, r->privilege_attrib);
3352 r->privilege_attrib = NULL;
3354 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_privilege_name));
3355 if (_ptr_privilege_name) {
3356 NDR_PULL_ALLOC(ndr, r->privilege_name);
3358 r->privilege_name = NULL;
3360 NDR_CHECK(ndr_pull_netr_QUOTA_LIMITS(ndr, NDR_SCALARS, &r->quotalimits));
3361 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->system_flags));
3362 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
3363 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3364 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3365 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3366 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3367 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3368 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
3369 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
3370 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
3371 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
3373 if (ndr_flags & NDR_BUFFERS) {
3374 if (r->privilege_attrib) {
3375 _mem_save_privilege_attrib_0 = NDR_PULL_GET_MEM_CTX(ndr);
3376 NDR_PULL_SET_MEM_CTX(ndr, r->privilege_attrib, 0);
3377 NDR_CHECK(ndr_pull_array_size(ndr, &r->privilege_attrib));
3378 NDR_PULL_ALLOC_N(ndr, r->privilege_attrib, ndr_get_array_size(ndr, &r->privilege_attrib));
3379 _mem_save_privilege_attrib_1 = NDR_PULL_GET_MEM_CTX(ndr);
3380 NDR_PULL_SET_MEM_CTX(ndr, r->privilege_attrib, 0);
3381 for (cntr_privilege_attrib_1 = 0; cntr_privilege_attrib_1 < r->privilege_entries; cntr_privilege_attrib_1++) {
3382 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->privilege_attrib[cntr_privilege_attrib_1]));
3384 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privilege_attrib_1, 0);
3385 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privilege_attrib_0, 0);
3387 if (r->privilege_name) {
3388 _mem_save_privilege_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
3389 NDR_PULL_SET_MEM_CTX(ndr, r->privilege_name, 0);
3390 NDR_CHECK(ndr_pull_array_size(ndr, &r->privilege_name));
3391 NDR_PULL_ALLOC_N(ndr, r->privilege_name, ndr_get_array_size(ndr, &r->privilege_name));
3392 _mem_save_privilege_name_1 = NDR_PULL_GET_MEM_CTX(ndr);
3393 NDR_PULL_SET_MEM_CTX(ndr, r->privilege_name, 0);
3394 for (cntr_privilege_name_1 = 0; cntr_privilege_name_1 < r->privilege_entries; cntr_privilege_name_1++) {
3395 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->privilege_name[cntr_privilege_name_1]));
3397 for (cntr_privilege_name_1 = 0; cntr_privilege_name_1 < r->privilege_entries; cntr_privilege_name_1++) {
3398 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->privilege_name[cntr_privilege_name_1]));
3400 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privilege_name_1, 0);
3401 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privilege_name_0, 0);
3403 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3404 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3405 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3406 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3407 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3408 if (r->privilege_attrib) {
3409 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->privilege_attrib, r->privilege_entries));
3411 if (r->privilege_name) {
3412 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->privilege_name, r->privilege_entries));
3415 return NDR_ERR_SUCCESS;
3418 _PUBLIC_ void ndr_print_netr_DELTA_ACCOUNT(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ACCOUNT *r)
3420 uint32_t cntr_privilege_attrib_1;
3421 uint32_t cntr_privilege_name_1;
3422 ndr_print_struct(ndr, name, "netr_DELTA_ACCOUNT");
3424 ndr_print_uint32(ndr, "privilege_entries", r->privilege_entries);
3425 ndr_print_uint32(ndr, "privilege_control", r->privilege_control);
3426 ndr_print_ptr(ndr, "privilege_attrib", r->privilege_attrib);
3428 if (r->privilege_attrib) {
3429 ndr->print(ndr, "%s: ARRAY(%d)", "privilege_attrib", (int)r->privilege_entries);
3431 for (cntr_privilege_attrib_1=0;cntr_privilege_attrib_1<r->privilege_entries;cntr_privilege_attrib_1++) {
3433 if (asprintf(&idx_1, "[%d]", cntr_privilege_attrib_1) != -1) {
3434 ndr_print_uint32(ndr, "privilege_attrib", r->privilege_attrib[cntr_privilege_attrib_1]);
3441 ndr_print_ptr(ndr, "privilege_name", r->privilege_name);
3443 if (r->privilege_name) {
3444 ndr->print(ndr, "%s: ARRAY(%d)", "privilege_name", (int)r->privilege_entries);
3446 for (cntr_privilege_name_1=0;cntr_privilege_name_1<r->privilege_entries;cntr_privilege_name_1++) {
3448 if (asprintf(&idx_1, "[%d]", cntr_privilege_name_1) != -1) {
3449 ndr_print_lsa_String(ndr, "privilege_name", &r->privilege_name[cntr_privilege_name_1]);
3456 ndr_print_netr_QUOTA_LIMITS(ndr, "quotalimits", &r->quotalimits);
3457 ndr_print_uint32(ndr, "system_flags", r->system_flags);
3458 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
3459 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
3460 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
3461 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
3462 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
3463 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
3464 ndr_print_uint32(ndr, "unknown5", r->unknown5);
3465 ndr_print_uint32(ndr, "unknown6", r->unknown6);
3466 ndr_print_uint32(ndr, "unknown7", r->unknown7);
3467 ndr_print_uint32(ndr, "unknown8", r->unknown8);
3471 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)
3473 if (ndr_flags & NDR_SCALARS) {
3474 NDR_CHECK(ndr_push_align(ndr, 2));
3475 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->unknown));
3477 if (ndr_flags & NDR_BUFFERS) {
3479 return NDR_ERR_SUCCESS;
3482 static enum ndr_err_code ndr_pull_netr_DELTA_DELETE_ACCOUNT(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_DELETE_ACCOUNT *r)
3484 if (ndr_flags & NDR_SCALARS) {
3485 NDR_CHECK(ndr_pull_align(ndr, 2));
3486 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->unknown));
3488 if (ndr_flags & NDR_BUFFERS) {
3490 return NDR_ERR_SUCCESS;
3493 _PUBLIC_ void ndr_print_netr_DELTA_DELETE_ACCOUNT(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DELETE_ACCOUNT *r)
3495 ndr_print_struct(ndr, name, "netr_DELTA_DELETE_ACCOUNT");
3497 ndr_print_uint16(ndr, "unknown", r->unknown);
3501 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)
3503 if (ndr_flags & NDR_SCALARS) {
3504 NDR_CHECK(ndr_push_align(ndr, 2));
3505 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->unknown));
3507 if (ndr_flags & NDR_BUFFERS) {
3509 return NDR_ERR_SUCCESS;
3512 static enum ndr_err_code ndr_pull_netr_DELTA_DELETE_SECRET(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_DELETE_SECRET *r)
3514 if (ndr_flags & NDR_SCALARS) {
3515 NDR_CHECK(ndr_pull_align(ndr, 2));
3516 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->unknown));
3518 if (ndr_flags & NDR_BUFFERS) {
3520 return NDR_ERR_SUCCESS;
3523 _PUBLIC_ void ndr_print_netr_DELTA_DELETE_SECRET(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DELETE_SECRET *r)
3525 ndr_print_struct(ndr, name, "netr_DELTA_DELETE_SECRET");
3527 ndr_print_uint16(ndr, "unknown", r->unknown);
3531 static enum ndr_err_code ndr_push_netr_CIPHER_VALUE(struct ndr_push *ndr, int ndr_flags, const struct netr_CIPHER_VALUE *r)
3533 if (ndr_flags & NDR_SCALARS) {
3534 NDR_CHECK(ndr_push_align(ndr, 4));
3535 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->len));
3536 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxlen));
3537 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cipher_data));
3539 if (ndr_flags & NDR_BUFFERS) {
3540 if (r->cipher_data) {
3541 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxlen));
3542 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
3543 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->len));
3544 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->cipher_data, r->len));
3547 return NDR_ERR_SUCCESS;
3550 static enum ndr_err_code ndr_pull_netr_CIPHER_VALUE(struct ndr_pull *ndr, int ndr_flags, struct netr_CIPHER_VALUE *r)
3552 uint32_t _ptr_cipher_data;
3553 TALLOC_CTX *_mem_save_cipher_data_0;
3554 if (ndr_flags & NDR_SCALARS) {
3555 NDR_CHECK(ndr_pull_align(ndr, 4));
3556 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->len));
3557 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxlen));
3558 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cipher_data));
3559 if (_ptr_cipher_data) {
3560 NDR_PULL_ALLOC(ndr, r->cipher_data);
3562 r->cipher_data = NULL;
3565 if (ndr_flags & NDR_BUFFERS) {
3566 if (r->cipher_data) {
3567 _mem_save_cipher_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
3568 NDR_PULL_SET_MEM_CTX(ndr, r->cipher_data, 0);
3569 NDR_CHECK(ndr_pull_array_size(ndr, &r->cipher_data));
3570 NDR_CHECK(ndr_pull_array_length(ndr, &r->cipher_data));
3571 if (ndr_get_array_length(ndr, &r->cipher_data) > ndr_get_array_size(ndr, &r->cipher_data)) {
3572 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));
3574 NDR_PULL_ALLOC_N(ndr, r->cipher_data, ndr_get_array_size(ndr, &r->cipher_data));
3575 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->cipher_data, ndr_get_array_length(ndr, &r->cipher_data)));
3576 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cipher_data_0, 0);
3578 if (r->cipher_data) {
3579 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->cipher_data, r->maxlen));
3581 if (r->cipher_data) {
3582 NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->cipher_data, r->len));
3585 return NDR_ERR_SUCCESS;
3588 _PUBLIC_ void ndr_print_netr_CIPHER_VALUE(struct ndr_print *ndr, const char *name, const struct netr_CIPHER_VALUE *r)
3590 ndr_print_struct(ndr, name, "netr_CIPHER_VALUE");
3592 ndr_print_uint32(ndr, "len", r->len);
3593 ndr_print_uint32(ndr, "maxlen", r->maxlen);
3594 ndr_print_ptr(ndr, "cipher_data", r->cipher_data);
3596 if (r->cipher_data) {
3597 ndr_print_array_uint8(ndr, "cipher_data", r->cipher_data, r->len);
3603 static enum ndr_err_code ndr_push_netr_DELTA_SECRET(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_SECRET *r)
3605 if (ndr_flags & NDR_SCALARS) {
3606 NDR_CHECK(ndr_push_align(ndr, 4));
3607 NDR_CHECK(ndr_push_netr_CIPHER_VALUE(ndr, NDR_SCALARS, &r->current_cipher));
3608 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->current_cipher_set_time));
3609 NDR_CHECK(ndr_push_netr_CIPHER_VALUE(ndr, NDR_SCALARS, &r->old_cipher));
3610 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->old_cipher_set_time));
3611 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
3612 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3613 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3614 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3615 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3616 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3617 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
3618 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
3619 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
3620 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
3622 if (ndr_flags & NDR_BUFFERS) {
3623 NDR_CHECK(ndr_push_netr_CIPHER_VALUE(ndr, NDR_BUFFERS, &r->current_cipher));
3624 NDR_CHECK(ndr_push_netr_CIPHER_VALUE(ndr, NDR_BUFFERS, &r->old_cipher));
3625 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3626 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3627 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3628 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3629 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3631 return NDR_ERR_SUCCESS;
3634 static enum ndr_err_code ndr_pull_netr_DELTA_SECRET(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_SECRET *r)
3636 if (ndr_flags & NDR_SCALARS) {
3637 NDR_CHECK(ndr_pull_align(ndr, 4));
3638 NDR_CHECK(ndr_pull_netr_CIPHER_VALUE(ndr, NDR_SCALARS, &r->current_cipher));
3639 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->current_cipher_set_time));
3640 NDR_CHECK(ndr_pull_netr_CIPHER_VALUE(ndr, NDR_SCALARS, &r->old_cipher));
3641 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->old_cipher_set_time));
3642 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
3643 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3644 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3645 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3646 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3647 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3648 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
3649 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
3650 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
3651 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
3653 if (ndr_flags & NDR_BUFFERS) {
3654 NDR_CHECK(ndr_pull_netr_CIPHER_VALUE(ndr, NDR_BUFFERS, &r->current_cipher));
3655 NDR_CHECK(ndr_pull_netr_CIPHER_VALUE(ndr, NDR_BUFFERS, &r->old_cipher));
3656 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3657 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3658 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3659 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3660 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3662 return NDR_ERR_SUCCESS;
3665 _PUBLIC_ void ndr_print_netr_DELTA_SECRET(struct ndr_print *ndr, const char *name, const struct netr_DELTA_SECRET *r)
3667 ndr_print_struct(ndr, name, "netr_DELTA_SECRET");
3669 ndr_print_netr_CIPHER_VALUE(ndr, "current_cipher", &r->current_cipher);
3670 ndr_print_NTTIME(ndr, "current_cipher_set_time", r->current_cipher_set_time);
3671 ndr_print_netr_CIPHER_VALUE(ndr, "old_cipher", &r->old_cipher);
3672 ndr_print_NTTIME(ndr, "old_cipher_set_time", r->old_cipher_set_time);
3673 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
3674 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
3675 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
3676 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
3677 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
3678 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
3679 ndr_print_uint32(ndr, "unknown5", r->unknown5);
3680 ndr_print_uint32(ndr, "unknown6", r->unknown6);
3681 ndr_print_uint32(ndr, "unknown7", r->unknown7);
3682 ndr_print_uint32(ndr, "unknown8", r->unknown8);
3686 static enum ndr_err_code ndr_push_netr_DeltaEnum(struct ndr_push *ndr, int ndr_flags, enum netr_DeltaEnum r)
3688 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
3689 return NDR_ERR_SUCCESS;
3692 static enum ndr_err_code ndr_pull_netr_DeltaEnum(struct ndr_pull *ndr, int ndr_flags, enum netr_DeltaEnum *r)
3695 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
3697 return NDR_ERR_SUCCESS;
3700 _PUBLIC_ void ndr_print_netr_DeltaEnum(struct ndr_print *ndr, const char *name, enum netr_DeltaEnum r)
3702 const char *val = NULL;
3705 case NETR_DELTA_DOMAIN: val = "NETR_DELTA_DOMAIN"; break;
3706 case NETR_DELTA_GROUP: val = "NETR_DELTA_GROUP"; break;
3707 case NETR_DELTA_DELETE_GROUP: val = "NETR_DELTA_DELETE_GROUP"; break;
3708 case NETR_DELTA_RENAME_GROUP: val = "NETR_DELTA_RENAME_GROUP"; break;
3709 case NETR_DELTA_USER: val = "NETR_DELTA_USER"; break;
3710 case NETR_DELTA_DELETE_USER: val = "NETR_DELTA_DELETE_USER"; break;
3711 case NETR_DELTA_RENAME_USER: val = "NETR_DELTA_RENAME_USER"; break;
3712 case NETR_DELTA_GROUP_MEMBER: val = "NETR_DELTA_GROUP_MEMBER"; break;
3713 case NETR_DELTA_ALIAS: val = "NETR_DELTA_ALIAS"; break;
3714 case NETR_DELTA_DELETE_ALIAS: val = "NETR_DELTA_DELETE_ALIAS"; break;
3715 case NETR_DELTA_RENAME_ALIAS: val = "NETR_DELTA_RENAME_ALIAS"; break;
3716 case NETR_DELTA_ALIAS_MEMBER: val = "NETR_DELTA_ALIAS_MEMBER"; break;
3717 case NETR_DELTA_POLICY: val = "NETR_DELTA_POLICY"; break;
3718 case NETR_DELTA_TRUSTED_DOMAIN: val = "NETR_DELTA_TRUSTED_DOMAIN"; break;
3719 case NETR_DELTA_DELETE_TRUST: val = "NETR_DELTA_DELETE_TRUST"; break;
3720 case NETR_DELTA_ACCOUNT: val = "NETR_DELTA_ACCOUNT"; break;
3721 case NETR_DELTA_DELETE_ACCOUNT: val = "NETR_DELTA_DELETE_ACCOUNT"; break;
3722 case NETR_DELTA_SECRET: val = "NETR_DELTA_SECRET"; break;
3723 case NETR_DELTA_DELETE_SECRET: val = "NETR_DELTA_DELETE_SECRET"; break;
3724 case NETR_DELTA_DELETE_GROUP2: val = "NETR_DELTA_DELETE_GROUP2"; break;
3725 case NETR_DELTA_DELETE_USER2: val = "NETR_DELTA_DELETE_USER2"; break;
3726 case NETR_DELTA_MODIFY_COUNT: val = "NETR_DELTA_MODIFY_COUNT"; break;
3728 ndr_print_enum(ndr, name, "ENUM", val, r);
3731 static enum ndr_err_code ndr_push_netr_DELTA_UNION(struct ndr_push *ndr, int ndr_flags, const union netr_DELTA_UNION *r)
3733 if (ndr_flags & NDR_SCALARS) {
3734 int level = ndr_push_get_switch_value(ndr, r);
3735 NDR_CHECK(ndr_push_netr_DeltaEnum(ndr, NDR_SCALARS, level));
3737 case NETR_DELTA_DOMAIN: {
3738 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
3741 case NETR_DELTA_GROUP: {
3742 NDR_CHECK(ndr_push_unique_ptr(ndr, r->group));
3745 case NETR_DELTA_DELETE_GROUP: {
3748 case NETR_DELTA_RENAME_GROUP: {
3749 NDR_CHECK(ndr_push_unique_ptr(ndr, r->rename_group));
3752 case NETR_DELTA_USER: {
3753 NDR_CHECK(ndr_push_unique_ptr(ndr, r->user));
3756 case NETR_DELTA_DELETE_USER: {
3759 case NETR_DELTA_RENAME_USER: {
3760 NDR_CHECK(ndr_push_unique_ptr(ndr, r->rename_user));
3763 case NETR_DELTA_GROUP_MEMBER: {
3764 NDR_CHECK(ndr_push_unique_ptr(ndr, r->group_member));
3767 case NETR_DELTA_ALIAS: {
3768 NDR_CHECK(ndr_push_unique_ptr(ndr, r->alias));
3771 case NETR_DELTA_DELETE_ALIAS: {
3774 case NETR_DELTA_RENAME_ALIAS: {
3775 NDR_CHECK(ndr_push_unique_ptr(ndr, r->rename_alias));
3778 case NETR_DELTA_ALIAS_MEMBER: {
3779 NDR_CHECK(ndr_push_unique_ptr(ndr, r->alias_member));
3782 case NETR_DELTA_POLICY: {
3783 NDR_CHECK(ndr_push_unique_ptr(ndr, r->policy));
3786 case NETR_DELTA_TRUSTED_DOMAIN: {
3787 NDR_CHECK(ndr_push_unique_ptr(ndr, r->trusted_domain));
3790 case NETR_DELTA_DELETE_TRUST: {
3791 NDR_CHECK(ndr_push_netr_DELTA_DELETE_TRUST(ndr, NDR_SCALARS, &r->delete_trust));
3794 case NETR_DELTA_ACCOUNT: {
3795 NDR_CHECK(ndr_push_unique_ptr(ndr, r->account));
3798 case NETR_DELTA_DELETE_ACCOUNT: {
3799 NDR_CHECK(ndr_push_netr_DELTA_DELETE_ACCOUNT(ndr, NDR_SCALARS, &r->delete_account));
3802 case NETR_DELTA_SECRET: {
3803 NDR_CHECK(ndr_push_unique_ptr(ndr, r->secret));
3806 case NETR_DELTA_DELETE_SECRET: {
3807 NDR_CHECK(ndr_push_netr_DELTA_DELETE_SECRET(ndr, NDR_SCALARS, &r->delete_secret));
3810 case NETR_DELTA_DELETE_GROUP2: {
3811 NDR_CHECK(ndr_push_unique_ptr(ndr, r->delete_group));
3814 case NETR_DELTA_DELETE_USER2: {
3815 NDR_CHECK(ndr_push_unique_ptr(ndr, r->delete_user));
3818 case NETR_DELTA_MODIFY_COUNT: {
3819 NDR_CHECK(ndr_push_unique_ptr(ndr, r->modified_count));
3823 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
3826 if (ndr_flags & NDR_BUFFERS) {
3827 int level = ndr_push_get_switch_value(ndr, r);
3829 case NETR_DELTA_DOMAIN:
3831 NDR_CHECK(ndr_push_netr_DELTA_DOMAIN(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain));
3835 case NETR_DELTA_GROUP:
3837 NDR_CHECK(ndr_push_netr_DELTA_GROUP(ndr, NDR_SCALARS|NDR_BUFFERS, r->group));
3841 case NETR_DELTA_DELETE_GROUP:
3844 case NETR_DELTA_RENAME_GROUP:
3845 if (r->rename_group) {
3846 NDR_CHECK(ndr_push_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_group));
3850 case NETR_DELTA_USER:
3852 NDR_CHECK(ndr_push_netr_DELTA_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->user));
3856 case NETR_DELTA_DELETE_USER:
3859 case NETR_DELTA_RENAME_USER:
3860 if (r->rename_user) {
3861 NDR_CHECK(ndr_push_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_user));
3865 case NETR_DELTA_GROUP_MEMBER:
3866 if (r->group_member) {
3867 NDR_CHECK(ndr_push_netr_DELTA_GROUP_MEMBER(ndr, NDR_SCALARS|NDR_BUFFERS, r->group_member));
3871 case NETR_DELTA_ALIAS:
3873 NDR_CHECK(ndr_push_netr_DELTA_ALIAS(ndr, NDR_SCALARS|NDR_BUFFERS, r->alias));
3877 case NETR_DELTA_DELETE_ALIAS:
3880 case NETR_DELTA_RENAME_ALIAS:
3881 if (r->rename_alias) {
3882 NDR_CHECK(ndr_push_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_alias));
3886 case NETR_DELTA_ALIAS_MEMBER:
3887 if (r->alias_member) {
3888 NDR_CHECK(ndr_push_netr_DELTA_ALIAS_MEMBER(ndr, NDR_SCALARS|NDR_BUFFERS, r->alias_member));
3892 case NETR_DELTA_POLICY:
3894 NDR_CHECK(ndr_push_netr_DELTA_POLICY(ndr, NDR_SCALARS|NDR_BUFFERS, r->policy));
3898 case NETR_DELTA_TRUSTED_DOMAIN:
3899 if (r->trusted_domain) {
3900 NDR_CHECK(ndr_push_netr_DELTA_TRUSTED_DOMAIN(ndr, NDR_SCALARS|NDR_BUFFERS, r->trusted_domain));
3904 case NETR_DELTA_DELETE_TRUST:
3907 case NETR_DELTA_ACCOUNT:
3909 NDR_CHECK(ndr_push_netr_DELTA_ACCOUNT(ndr, NDR_SCALARS|NDR_BUFFERS, r->account));
3913 case NETR_DELTA_DELETE_ACCOUNT:
3916 case NETR_DELTA_SECRET:
3918 NDR_CHECK(ndr_push_netr_DELTA_SECRET(ndr, NDR_SCALARS|NDR_BUFFERS, r->secret));
3922 case NETR_DELTA_DELETE_SECRET:
3925 case NETR_DELTA_DELETE_GROUP2:
3926 if (r->delete_group) {
3927 NDR_CHECK(ndr_push_netr_DELTA_DELETE_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->delete_group));
3931 case NETR_DELTA_DELETE_USER2:
3932 if (r->delete_user) {
3933 NDR_CHECK(ndr_push_netr_DELTA_DELETE_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->delete_user));
3937 case NETR_DELTA_MODIFY_COUNT:
3938 if (r->modified_count) {
3939 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, *r->modified_count));
3944 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
3947 return NDR_ERR_SUCCESS;
3950 static enum ndr_err_code ndr_pull_netr_DELTA_UNION(struct ndr_pull *ndr, int ndr_flags, union netr_DELTA_UNION *r)
3954 TALLOC_CTX *_mem_save_domain_0;
3955 TALLOC_CTX *_mem_save_group_0;
3956 TALLOC_CTX *_mem_save_rename_group_0;
3957 TALLOC_CTX *_mem_save_user_0;
3958 TALLOC_CTX *_mem_save_rename_user_0;
3959 TALLOC_CTX *_mem_save_group_member_0;
3960 TALLOC_CTX *_mem_save_alias_0;
3961 TALLOC_CTX *_mem_save_rename_alias_0;
3962 TALLOC_CTX *_mem_save_alias_member_0;
3963 TALLOC_CTX *_mem_save_policy_0;
3964 TALLOC_CTX *_mem_save_trusted_domain_0;
3965 TALLOC_CTX *_mem_save_account_0;
3966 TALLOC_CTX *_mem_save_secret_0;
3967 TALLOC_CTX *_mem_save_delete_group_0;
3968 TALLOC_CTX *_mem_save_delete_user_0;
3969 TALLOC_CTX *_mem_save_modified_count_0;
3970 level = ndr_pull_get_switch_value(ndr, r);
3971 if (ndr_flags & NDR_SCALARS) {
3972 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
3973 if (_level != level) {
3974 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
3977 case NETR_DELTA_DOMAIN: {
3978 uint32_t _ptr_domain;
3979 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
3981 NDR_PULL_ALLOC(ndr, r->domain);
3987 case NETR_DELTA_GROUP: {
3988 uint32_t _ptr_group;
3989 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_group));
3991 NDR_PULL_ALLOC(ndr, r->group);
3997 case NETR_DELTA_DELETE_GROUP: {
4000 case NETR_DELTA_RENAME_GROUP: {
4001 uint32_t _ptr_rename_group;
4002 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rename_group));
4003 if (_ptr_rename_group) {
4004 NDR_PULL_ALLOC(ndr, r->rename_group);
4006 r->rename_group = NULL;
4010 case NETR_DELTA_USER: {
4012 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user));
4014 NDR_PULL_ALLOC(ndr, r->user);
4020 case NETR_DELTA_DELETE_USER: {
4023 case NETR_DELTA_RENAME_USER: {
4024 uint32_t _ptr_rename_user;
4025 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rename_user));
4026 if (_ptr_rename_user) {
4027 NDR_PULL_ALLOC(ndr, r->rename_user);
4029 r->rename_user = NULL;
4033 case NETR_DELTA_GROUP_MEMBER: {
4034 uint32_t _ptr_group_member;
4035 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_group_member));
4036 if (_ptr_group_member) {
4037 NDR_PULL_ALLOC(ndr, r->group_member);
4039 r->group_member = NULL;
4043 case NETR_DELTA_ALIAS: {
4044 uint32_t _ptr_alias;
4045 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_alias));
4047 NDR_PULL_ALLOC(ndr, r->alias);
4053 case NETR_DELTA_DELETE_ALIAS: {
4056 case NETR_DELTA_RENAME_ALIAS: {
4057 uint32_t _ptr_rename_alias;
4058 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rename_alias));
4059 if (_ptr_rename_alias) {
4060 NDR_PULL_ALLOC(ndr, r->rename_alias);
4062 r->rename_alias = NULL;
4066 case NETR_DELTA_ALIAS_MEMBER: {
4067 uint32_t _ptr_alias_member;
4068 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_alias_member));
4069 if (_ptr_alias_member) {
4070 NDR_PULL_ALLOC(ndr, r->alias_member);
4072 r->alias_member = NULL;
4076 case NETR_DELTA_POLICY: {
4077 uint32_t _ptr_policy;
4078 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_policy));
4080 NDR_PULL_ALLOC(ndr, r->policy);
4086 case NETR_DELTA_TRUSTED_DOMAIN: {
4087 uint32_t _ptr_trusted_domain;
4088 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_domain));
4089 if (_ptr_trusted_domain) {
4090 NDR_PULL_ALLOC(ndr, r->trusted_domain);
4092 r->trusted_domain = NULL;
4096 case NETR_DELTA_DELETE_TRUST: {
4097 NDR_CHECK(ndr_pull_netr_DELTA_DELETE_TRUST(ndr, NDR_SCALARS, &r->delete_trust));
4100 case NETR_DELTA_ACCOUNT: {
4101 uint32_t _ptr_account;
4102 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_account));
4104 NDR_PULL_ALLOC(ndr, r->account);
4110 case NETR_DELTA_DELETE_ACCOUNT: {
4111 NDR_CHECK(ndr_pull_netr_DELTA_DELETE_ACCOUNT(ndr, NDR_SCALARS, &r->delete_account));
4114 case NETR_DELTA_SECRET: {
4115 uint32_t _ptr_secret;
4116 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_secret));
4118 NDR_PULL_ALLOC(ndr, r->secret);
4124 case NETR_DELTA_DELETE_SECRET: {
4125 NDR_CHECK(ndr_pull_netr_DELTA_DELETE_SECRET(ndr, NDR_SCALARS, &r->delete_secret));
4128 case NETR_DELTA_DELETE_GROUP2: {
4129 uint32_t _ptr_delete_group;
4130 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delete_group));
4131 if (_ptr_delete_group) {
4132 NDR_PULL_ALLOC(ndr, r->delete_group);
4134 r->delete_group = NULL;
4138 case NETR_DELTA_DELETE_USER2: {
4139 uint32_t _ptr_delete_user;
4140 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delete_user));
4141 if (_ptr_delete_user) {
4142 NDR_PULL_ALLOC(ndr, r->delete_user);
4144 r->delete_user = NULL;
4148 case NETR_DELTA_MODIFY_COUNT: {
4149 uint32_t _ptr_modified_count;
4150 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_modified_count));
4151 if (_ptr_modified_count) {
4152 NDR_PULL_ALLOC(ndr, r->modified_count);
4154 r->modified_count = NULL;
4159 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4162 if (ndr_flags & NDR_BUFFERS) {
4164 case NETR_DELTA_DOMAIN:
4166 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
4167 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
4168 NDR_CHECK(ndr_pull_netr_DELTA_DOMAIN(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain));
4169 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
4173 case NETR_DELTA_GROUP:
4175 _mem_save_group_0 = NDR_PULL_GET_MEM_CTX(ndr);
4176 NDR_PULL_SET_MEM_CTX(ndr, r->group, 0);
4177 NDR_CHECK(ndr_pull_netr_DELTA_GROUP(ndr, NDR_SCALARS|NDR_BUFFERS, r->group));
4178 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_0, 0);
4182 case NETR_DELTA_DELETE_GROUP:
4185 case NETR_DELTA_RENAME_GROUP:
4186 if (r->rename_group) {
4187 _mem_save_rename_group_0 = NDR_PULL_GET_MEM_CTX(ndr);
4188 NDR_PULL_SET_MEM_CTX(ndr, r->rename_group, 0);
4189 NDR_CHECK(ndr_pull_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_group));
4190 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rename_group_0, 0);
4194 case NETR_DELTA_USER:
4196 _mem_save_user_0 = NDR_PULL_GET_MEM_CTX(ndr);
4197 NDR_PULL_SET_MEM_CTX(ndr, r->user, 0);
4198 NDR_CHECK(ndr_pull_netr_DELTA_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->user));
4199 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_0, 0);
4203 case NETR_DELTA_DELETE_USER:
4206 case NETR_DELTA_RENAME_USER:
4207 if (r->rename_user) {
4208 _mem_save_rename_user_0 = NDR_PULL_GET_MEM_CTX(ndr);
4209 NDR_PULL_SET_MEM_CTX(ndr, r->rename_user, 0);
4210 NDR_CHECK(ndr_pull_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_user));
4211 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rename_user_0, 0);
4215 case NETR_DELTA_GROUP_MEMBER:
4216 if (r->group_member) {
4217 _mem_save_group_member_0 = NDR_PULL_GET_MEM_CTX(ndr);
4218 NDR_PULL_SET_MEM_CTX(ndr, r->group_member, 0);
4219 NDR_CHECK(ndr_pull_netr_DELTA_GROUP_MEMBER(ndr, NDR_SCALARS|NDR_BUFFERS, r->group_member));
4220 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_member_0, 0);
4224 case NETR_DELTA_ALIAS:
4226 _mem_save_alias_0 = NDR_PULL_GET_MEM_CTX(ndr);
4227 NDR_PULL_SET_MEM_CTX(ndr, r->alias, 0);
4228 NDR_CHECK(ndr_pull_netr_DELTA_ALIAS(ndr, NDR_SCALARS|NDR_BUFFERS, r->alias));
4229 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_0, 0);
4233 case NETR_DELTA_DELETE_ALIAS:
4236 case NETR_DELTA_RENAME_ALIAS:
4237 if (r->rename_alias) {
4238 _mem_save_rename_alias_0 = NDR_PULL_GET_MEM_CTX(ndr);
4239 NDR_PULL_SET_MEM_CTX(ndr, r->rename_alias, 0);
4240 NDR_CHECK(ndr_pull_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_alias));
4241 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rename_alias_0, 0);
4245 case NETR_DELTA_ALIAS_MEMBER:
4246 if (r->alias_member) {
4247 _mem_save_alias_member_0 = NDR_PULL_GET_MEM_CTX(ndr);
4248 NDR_PULL_SET_MEM_CTX(ndr, r->alias_member, 0);
4249 NDR_CHECK(ndr_pull_netr_DELTA_ALIAS_MEMBER(ndr, NDR_SCALARS|NDR_BUFFERS, r->alias_member));
4250 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_member_0, 0);
4254 case NETR_DELTA_POLICY:
4256 _mem_save_policy_0 = NDR_PULL_GET_MEM_CTX(ndr);
4257 NDR_PULL_SET_MEM_CTX(ndr, r->policy, 0);
4258 NDR_CHECK(ndr_pull_netr_DELTA_POLICY(ndr, NDR_SCALARS|NDR_BUFFERS, r->policy));
4259 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_policy_0, 0);
4263 case NETR_DELTA_TRUSTED_DOMAIN:
4264 if (r->trusted_domain) {
4265 _mem_save_trusted_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
4266 NDR_PULL_SET_MEM_CTX(ndr, r->trusted_domain, 0);
4267 NDR_CHECK(ndr_pull_netr_DELTA_TRUSTED_DOMAIN(ndr, NDR_SCALARS|NDR_BUFFERS, r->trusted_domain));
4268 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domain_0, 0);
4272 case NETR_DELTA_DELETE_TRUST:
4275 case NETR_DELTA_ACCOUNT:
4277 _mem_save_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
4278 NDR_PULL_SET_MEM_CTX(ndr, r->account, 0);
4279 NDR_CHECK(ndr_pull_netr_DELTA_ACCOUNT(ndr, NDR_SCALARS|NDR_BUFFERS, r->account));
4280 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_0, 0);
4284 case NETR_DELTA_DELETE_ACCOUNT:
4287 case NETR_DELTA_SECRET:
4289 _mem_save_secret_0 = NDR_PULL_GET_MEM_CTX(ndr);
4290 NDR_PULL_SET_MEM_CTX(ndr, r->secret, 0);
4291 NDR_CHECK(ndr_pull_netr_DELTA_SECRET(ndr, NDR_SCALARS|NDR_BUFFERS, r->secret));
4292 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_secret_0, 0);
4296 case NETR_DELTA_DELETE_SECRET:
4299 case NETR_DELTA_DELETE_GROUP2:
4300 if (r->delete_group) {
4301 _mem_save_delete_group_0 = NDR_PULL_GET_MEM_CTX(ndr);
4302 NDR_PULL_SET_MEM_CTX(ndr, r->delete_group, 0);
4303 NDR_CHECK(ndr_pull_netr_DELTA_DELETE_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->delete_group));
4304 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delete_group_0, 0);
4308 case NETR_DELTA_DELETE_USER2:
4309 if (r->delete_user) {
4310 _mem_save_delete_user_0 = NDR_PULL_GET_MEM_CTX(ndr);
4311 NDR_PULL_SET_MEM_CTX(ndr, r->delete_user, 0);
4312 NDR_CHECK(ndr_pull_netr_DELTA_DELETE_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->delete_user));
4313 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delete_user_0, 0);
4317 case NETR_DELTA_MODIFY_COUNT:
4318 if (r->modified_count) {
4319 _mem_save_modified_count_0 = NDR_PULL_GET_MEM_CTX(ndr);
4320 NDR_PULL_SET_MEM_CTX(ndr, r->modified_count, 0);
4321 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, r->modified_count));
4322 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_modified_count_0, 0);
4327 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4330 return NDR_ERR_SUCCESS;
4333 _PUBLIC_ void ndr_print_netr_DELTA_UNION(struct ndr_print *ndr, const char *name, const union netr_DELTA_UNION *r)
4336 level = ndr_print_get_switch_value(ndr, r);
4337 ndr_print_union(ndr, name, level, "netr_DELTA_UNION");
4339 case NETR_DELTA_DOMAIN:
4340 ndr_print_ptr(ndr, "domain", r->domain);
4343 ndr_print_netr_DELTA_DOMAIN(ndr, "domain", r->domain);
4348 case NETR_DELTA_GROUP:
4349 ndr_print_ptr(ndr, "group", r->group);
4352 ndr_print_netr_DELTA_GROUP(ndr, "group", r->group);
4357 case NETR_DELTA_DELETE_GROUP:
4360 case NETR_DELTA_RENAME_GROUP:
4361 ndr_print_ptr(ndr, "rename_group", r->rename_group);
4363 if (r->rename_group) {
4364 ndr_print_netr_DELTA_RENAME(ndr, "rename_group", r->rename_group);
4369 case NETR_DELTA_USER:
4370 ndr_print_ptr(ndr, "user", r->user);
4373 ndr_print_netr_DELTA_USER(ndr, "user", r->user);
4378 case NETR_DELTA_DELETE_USER:
4381 case NETR_DELTA_RENAME_USER:
4382 ndr_print_ptr(ndr, "rename_user", r->rename_user);
4384 if (r->rename_user) {
4385 ndr_print_netr_DELTA_RENAME(ndr, "rename_user", r->rename_user);
4390 case NETR_DELTA_GROUP_MEMBER:
4391 ndr_print_ptr(ndr, "group_member", r->group_member);
4393 if (r->group_member) {
4394 ndr_print_netr_DELTA_GROUP_MEMBER(ndr, "group_member", r->group_member);
4399 case NETR_DELTA_ALIAS:
4400 ndr_print_ptr(ndr, "alias", r->alias);
4403 ndr_print_netr_DELTA_ALIAS(ndr, "alias", r->alias);
4408 case NETR_DELTA_DELETE_ALIAS:
4411 case NETR_DELTA_RENAME_ALIAS:
4412 ndr_print_ptr(ndr, "rename_alias", r->rename_alias);
4414 if (r->rename_alias) {
4415 ndr_print_netr_DELTA_RENAME(ndr, "rename_alias", r->rename_alias);
4420 case NETR_DELTA_ALIAS_MEMBER:
4421 ndr_print_ptr(ndr, "alias_member", r->alias_member);
4423 if (r->alias_member) {
4424 ndr_print_netr_DELTA_ALIAS_MEMBER(ndr, "alias_member", r->alias_member);
4429 case NETR_DELTA_POLICY:
4430 ndr_print_ptr(ndr, "policy", r->policy);
4433 ndr_print_netr_DELTA_POLICY(ndr, "policy", r->policy);
4438 case NETR_DELTA_TRUSTED_DOMAIN:
4439 ndr_print_ptr(ndr, "trusted_domain", r->trusted_domain);
4441 if (r->trusted_domain) {
4442 ndr_print_netr_DELTA_TRUSTED_DOMAIN(ndr, "trusted_domain", r->trusted_domain);
4447 case NETR_DELTA_DELETE_TRUST:
4448 ndr_print_netr_DELTA_DELETE_TRUST(ndr, "delete_trust", &r->delete_trust);
4451 case NETR_DELTA_ACCOUNT:
4452 ndr_print_ptr(ndr, "account", r->account);
4455 ndr_print_netr_DELTA_ACCOUNT(ndr, "account", r->account);
4460 case NETR_DELTA_DELETE_ACCOUNT:
4461 ndr_print_netr_DELTA_DELETE_ACCOUNT(ndr, "delete_account", &r->delete_account);
4464 case NETR_DELTA_SECRET:
4465 ndr_print_ptr(ndr, "secret", r->secret);
4468 ndr_print_netr_DELTA_SECRET(ndr, "secret", r->secret);
4473 case NETR_DELTA_DELETE_SECRET:
4474 ndr_print_netr_DELTA_DELETE_SECRET(ndr, "delete_secret", &r->delete_secret);
4477 case NETR_DELTA_DELETE_GROUP2:
4478 ndr_print_ptr(ndr, "delete_group", r->delete_group);
4480 if (r->delete_group) {
4481 ndr_print_netr_DELTA_DELETE_USER(ndr, "delete_group", r->delete_group);
4486 case NETR_DELTA_DELETE_USER2:
4487 ndr_print_ptr(ndr, "delete_user", r->delete_user);
4489 if (r->delete_user) {
4490 ndr_print_netr_DELTA_DELETE_USER(ndr, "delete_user", r->delete_user);
4495 case NETR_DELTA_MODIFY_COUNT:
4496 ndr_print_ptr(ndr, "modified_count", r->modified_count);
4498 if (r->modified_count) {
4499 ndr_print_udlong(ndr, "modified_count", *r->modified_count);
4505 ndr_print_bad_level(ndr, name, level);
4509 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)
4511 if (ndr_flags & NDR_SCALARS) {
4512 int level = ndr_push_get_switch_value(ndr, r);
4513 NDR_CHECK(ndr_push_netr_DeltaEnum(ndr, NDR_SCALARS, level));
4515 case NETR_DELTA_DOMAIN: {
4516 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4519 case NETR_DELTA_GROUP: {
4520 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4523 case NETR_DELTA_DELETE_GROUP: {
4524 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4527 case NETR_DELTA_RENAME_GROUP: {
4528 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4531 case NETR_DELTA_USER: {
4532 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4535 case NETR_DELTA_DELETE_USER: {
4536 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4539 case NETR_DELTA_RENAME_USER: {
4540 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4543 case NETR_DELTA_GROUP_MEMBER: {
4544 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4547 case NETR_DELTA_ALIAS: {
4548 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4551 case NETR_DELTA_DELETE_ALIAS: {
4552 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4555 case NETR_DELTA_RENAME_ALIAS: {
4556 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4559 case NETR_DELTA_ALIAS_MEMBER: {
4560 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4563 case NETR_DELTA_POLICY: {
4564 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
4567 case NETR_DELTA_TRUSTED_DOMAIN: {
4568 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
4571 case NETR_DELTA_DELETE_TRUST: {
4572 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
4575 case NETR_DELTA_ACCOUNT: {
4576 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
4579 case NETR_DELTA_DELETE_ACCOUNT: {
4580 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
4583 case NETR_DELTA_SECRET: {
4584 NDR_CHECK(ndr_push_unique_ptr(ndr, r->name));
4587 case NETR_DELTA_DELETE_SECRET: {
4588 NDR_CHECK(ndr_push_unique_ptr(ndr, r->name));
4591 case NETR_DELTA_DELETE_GROUP2: {
4592 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4595 case NETR_DELTA_DELETE_USER2: {
4596 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4599 case NETR_DELTA_MODIFY_COUNT: {
4603 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4606 if (ndr_flags & NDR_BUFFERS) {
4607 int level = ndr_push_get_switch_value(ndr, r);
4609 case NETR_DELTA_DOMAIN:
4612 case NETR_DELTA_GROUP:
4615 case NETR_DELTA_DELETE_GROUP:
4618 case NETR_DELTA_RENAME_GROUP:
4621 case NETR_DELTA_USER:
4624 case NETR_DELTA_DELETE_USER:
4627 case NETR_DELTA_RENAME_USER:
4630 case NETR_DELTA_GROUP_MEMBER:
4633 case NETR_DELTA_ALIAS:
4636 case NETR_DELTA_DELETE_ALIAS:
4639 case NETR_DELTA_RENAME_ALIAS:
4642 case NETR_DELTA_ALIAS_MEMBER:
4645 case NETR_DELTA_POLICY:
4647 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4651 case NETR_DELTA_TRUSTED_DOMAIN:
4653 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4657 case NETR_DELTA_DELETE_TRUST:
4659 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4663 case NETR_DELTA_ACCOUNT:
4665 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4669 case NETR_DELTA_DELETE_ACCOUNT:
4671 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4675 case NETR_DELTA_SECRET:
4677 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16)));
4678 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
4679 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16)));
4680 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, ndr_charset_length(r->name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
4684 case NETR_DELTA_DELETE_SECRET:
4686 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16)));
4687 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
4688 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16)));
4689 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, ndr_charset_length(r->name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
4693 case NETR_DELTA_DELETE_GROUP2:
4696 case NETR_DELTA_DELETE_USER2:
4699 case NETR_DELTA_MODIFY_COUNT:
4703 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4706 return NDR_ERR_SUCCESS;
4709 static enum ndr_err_code ndr_pull_netr_DELTA_ID_UNION(struct ndr_pull *ndr, int ndr_flags, union netr_DELTA_ID_UNION *r)
4713 TALLOC_CTX *_mem_save_sid_0;
4714 TALLOC_CTX *_mem_save_name_0;
4715 level = ndr_pull_get_switch_value(ndr, r);
4716 if (ndr_flags & NDR_SCALARS) {
4717 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
4718 if (_level != level) {
4719 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
4722 case NETR_DELTA_DOMAIN: {
4723 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4726 case NETR_DELTA_GROUP: {
4727 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4730 case NETR_DELTA_DELETE_GROUP: {
4731 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4734 case NETR_DELTA_RENAME_GROUP: {
4735 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4738 case NETR_DELTA_USER: {
4739 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4742 case NETR_DELTA_DELETE_USER: {
4743 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4746 case NETR_DELTA_RENAME_USER: {
4747 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4750 case NETR_DELTA_GROUP_MEMBER: {
4751 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4754 case NETR_DELTA_ALIAS: {
4755 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4758 case NETR_DELTA_DELETE_ALIAS: {
4759 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4762 case NETR_DELTA_RENAME_ALIAS: {
4763 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4766 case NETR_DELTA_ALIAS_MEMBER: {
4767 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4770 case NETR_DELTA_POLICY: {
4772 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
4774 NDR_PULL_ALLOC(ndr, r->sid);
4780 case NETR_DELTA_TRUSTED_DOMAIN: {
4782 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
4784 NDR_PULL_ALLOC(ndr, r->sid);
4790 case NETR_DELTA_DELETE_TRUST: {
4792 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
4794 NDR_PULL_ALLOC(ndr, r->sid);
4800 case NETR_DELTA_ACCOUNT: {
4802 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
4804 NDR_PULL_ALLOC(ndr, r->sid);
4810 case NETR_DELTA_DELETE_ACCOUNT: {
4812 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
4814 NDR_PULL_ALLOC(ndr, r->sid);
4820 case NETR_DELTA_SECRET: {
4822 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
4824 NDR_PULL_ALLOC(ndr, r->name);
4830 case NETR_DELTA_DELETE_SECRET: {
4832 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
4834 NDR_PULL_ALLOC(ndr, r->name);
4840 case NETR_DELTA_DELETE_GROUP2: {
4841 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4844 case NETR_DELTA_DELETE_USER2: {
4845 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4848 case NETR_DELTA_MODIFY_COUNT: {
4852 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4855 if (ndr_flags & NDR_BUFFERS) {
4857 case NETR_DELTA_DOMAIN:
4860 case NETR_DELTA_GROUP:
4863 case NETR_DELTA_DELETE_GROUP:
4866 case NETR_DELTA_RENAME_GROUP:
4869 case NETR_DELTA_USER:
4872 case NETR_DELTA_DELETE_USER:
4875 case NETR_DELTA_RENAME_USER:
4878 case NETR_DELTA_GROUP_MEMBER:
4881 case NETR_DELTA_ALIAS:
4884 case NETR_DELTA_DELETE_ALIAS:
4887 case NETR_DELTA_RENAME_ALIAS:
4890 case NETR_DELTA_ALIAS_MEMBER:
4893 case NETR_DELTA_POLICY:
4895 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
4896 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
4897 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4898 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
4902 case NETR_DELTA_TRUSTED_DOMAIN:
4904 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
4905 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
4906 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4907 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
4911 case NETR_DELTA_DELETE_TRUST:
4913 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
4914 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
4915 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4916 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
4920 case NETR_DELTA_ACCOUNT:
4922 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
4923 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
4924 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4925 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
4929 case NETR_DELTA_DELETE_ACCOUNT:
4931 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
4932 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
4933 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4934 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
4938 case NETR_DELTA_SECRET:
4940 _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
4941 NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
4942 NDR_CHECK(ndr_pull_array_size(ndr, &r->name));
4943 NDR_CHECK(ndr_pull_array_length(ndr, &r->name));
4944 if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) {
4945 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));
4947 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t)));
4948 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t), CH_UTF16));
4949 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
4953 case NETR_DELTA_DELETE_SECRET:
4955 _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
4956 NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
4957 NDR_CHECK(ndr_pull_array_size(ndr, &r->name));
4958 NDR_CHECK(ndr_pull_array_length(ndr, &r->name));
4959 if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) {
4960 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));
4962 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t)));
4963 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t), CH_UTF16));
4964 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
4968 case NETR_DELTA_DELETE_GROUP2:
4971 case NETR_DELTA_DELETE_USER2:
4974 case NETR_DELTA_MODIFY_COUNT:
4978 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4981 return NDR_ERR_SUCCESS;
4984 _PUBLIC_ void ndr_print_netr_DELTA_ID_UNION(struct ndr_print *ndr, const char *name, const union netr_DELTA_ID_UNION *r)
4987 level = ndr_print_get_switch_value(ndr, r);
4988 ndr_print_union(ndr, name, level, "netr_DELTA_ID_UNION");
4990 case NETR_DELTA_DOMAIN:
4991 ndr_print_uint32(ndr, "rid", r->rid);
4994 case NETR_DELTA_GROUP:
4995 ndr_print_uint32(ndr, "rid", r->rid);
4998 case NETR_DELTA_DELETE_GROUP:
4999 ndr_print_uint32(ndr, "rid", r->rid);
5002 case NETR_DELTA_RENAME_GROUP:
5003 ndr_print_uint32(ndr, "rid", r->rid);
5006 case NETR_DELTA_USER:
5007 ndr_print_uint32(ndr, "rid", r->rid);
5010 case NETR_DELTA_DELETE_USER:
5011 ndr_print_uint32(ndr, "rid", r->rid);
5014 case NETR_DELTA_RENAME_USER:
5015 ndr_print_uint32(ndr, "rid", r->rid);
5018 case NETR_DELTA_GROUP_MEMBER:
5019 ndr_print_uint32(ndr, "rid", r->rid);
5022 case NETR_DELTA_ALIAS:
5023 ndr_print_uint32(ndr, "rid", r->rid);
5026 case NETR_DELTA_DELETE_ALIAS:
5027 ndr_print_uint32(ndr, "rid", r->rid);
5030 case NETR_DELTA_RENAME_ALIAS:
5031 ndr_print_uint32(ndr, "rid", r->rid);
5034 case NETR_DELTA_ALIAS_MEMBER:
5035 ndr_print_uint32(ndr, "rid", r->rid);
5038 case NETR_DELTA_POLICY:
5039 ndr_print_ptr(ndr, "sid", r->sid);
5042 ndr_print_dom_sid2(ndr, "sid", r->sid);
5047 case NETR_DELTA_TRUSTED_DOMAIN:
5048 ndr_print_ptr(ndr, "sid", r->sid);
5051 ndr_print_dom_sid2(ndr, "sid", r->sid);
5056 case NETR_DELTA_DELETE_TRUST:
5057 ndr_print_ptr(ndr, "sid", r->sid);
5060 ndr_print_dom_sid2(ndr, "sid", r->sid);
5065 case NETR_DELTA_ACCOUNT:
5066 ndr_print_ptr(ndr, "sid", r->sid);
5069 ndr_print_dom_sid2(ndr, "sid", r->sid);
5074 case NETR_DELTA_DELETE_ACCOUNT:
5075 ndr_print_ptr(ndr, "sid", r->sid);
5078 ndr_print_dom_sid2(ndr, "sid", r->sid);
5083 case NETR_DELTA_SECRET:
5084 ndr_print_ptr(ndr, "name", r->name);
5087 ndr_print_string(ndr, "name", r->name);
5092 case NETR_DELTA_DELETE_SECRET:
5093 ndr_print_ptr(ndr, "name", r->name);
5096 ndr_print_string(ndr, "name", r->name);
5101 case NETR_DELTA_DELETE_GROUP2:
5102 ndr_print_uint32(ndr, "rid", r->rid);
5105 case NETR_DELTA_DELETE_USER2:
5106 ndr_print_uint32(ndr, "rid", r->rid);
5109 case NETR_DELTA_MODIFY_COUNT:
5113 ndr_print_bad_level(ndr, name, level);
5117 static enum ndr_err_code ndr_push_netr_DELTA_ENUM(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_ENUM *r)
5119 if (ndr_flags & NDR_SCALARS) {
5120 NDR_CHECK(ndr_push_align(ndr, 4));
5121 NDR_CHECK(ndr_push_netr_DeltaEnum(ndr, NDR_SCALARS, r->delta_type));
5122 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->delta_id_union, r->delta_type));
5123 NDR_CHECK(ndr_push_netr_DELTA_ID_UNION(ndr, NDR_SCALARS, &r->delta_id_union));
5124 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->delta_union, r->delta_type));
5125 NDR_CHECK(ndr_push_netr_DELTA_UNION(ndr, NDR_SCALARS, &r->delta_union));
5127 if (ndr_flags & NDR_BUFFERS) {
5128 NDR_CHECK(ndr_push_netr_DELTA_ID_UNION(ndr, NDR_BUFFERS, &r->delta_id_union));
5129 NDR_CHECK(ndr_push_netr_DELTA_UNION(ndr, NDR_BUFFERS, &r->delta_union));
5131 return NDR_ERR_SUCCESS;
5134 static enum ndr_err_code ndr_pull_netr_DELTA_ENUM(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ENUM *r)
5136 if (ndr_flags & NDR_SCALARS) {
5137 NDR_CHECK(ndr_pull_align(ndr, 4));
5138 NDR_CHECK(ndr_pull_netr_DeltaEnum(ndr, NDR_SCALARS, &r->delta_type));
5139 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->delta_id_union, r->delta_type));
5140 NDR_CHECK(ndr_pull_netr_DELTA_ID_UNION(ndr, NDR_SCALARS, &r->delta_id_union));
5141 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->delta_union, r->delta_type));
5142 NDR_CHECK(ndr_pull_netr_DELTA_UNION(ndr, NDR_SCALARS, &r->delta_union));
5144 if (ndr_flags & NDR_BUFFERS) {
5145 NDR_CHECK(ndr_pull_netr_DELTA_ID_UNION(ndr, NDR_BUFFERS, &r->delta_id_union));
5146 NDR_CHECK(ndr_pull_netr_DELTA_UNION(ndr, NDR_BUFFERS, &r->delta_union));
5148 return NDR_ERR_SUCCESS;
5151 _PUBLIC_ void ndr_print_netr_DELTA_ENUM(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ENUM *r)
5153 ndr_print_struct(ndr, name, "netr_DELTA_ENUM");
5155 ndr_print_netr_DeltaEnum(ndr, "delta_type", r->delta_type);
5156 ndr_print_set_switch_value(ndr, &r->delta_id_union, r->delta_type);
5157 ndr_print_netr_DELTA_ID_UNION(ndr, "delta_id_union", &r->delta_id_union);
5158 ndr_print_set_switch_value(ndr, &r->delta_union, r->delta_type);
5159 ndr_print_netr_DELTA_UNION(ndr, "delta_union", &r->delta_union);
5163 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)
5165 uint32_t cntr_delta_enum_1;
5166 if (ndr_flags & NDR_SCALARS) {
5167 NDR_CHECK(ndr_push_align(ndr, 4));
5168 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_deltas));
5169 NDR_CHECK(ndr_push_unique_ptr(ndr, r->delta_enum));
5171 if (ndr_flags & NDR_BUFFERS) {
5172 if (r->delta_enum) {
5173 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_deltas));
5174 for (cntr_delta_enum_1 = 0; cntr_delta_enum_1 < r->num_deltas; cntr_delta_enum_1++) {
5175 NDR_CHECK(ndr_push_netr_DELTA_ENUM(ndr, NDR_SCALARS, &r->delta_enum[cntr_delta_enum_1]));
5177 for (cntr_delta_enum_1 = 0; cntr_delta_enum_1 < r->num_deltas; cntr_delta_enum_1++) {
5178 NDR_CHECK(ndr_push_netr_DELTA_ENUM(ndr, NDR_BUFFERS, &r->delta_enum[cntr_delta_enum_1]));
5182 return NDR_ERR_SUCCESS;
5185 static enum ndr_err_code ndr_pull_netr_DELTA_ENUM_ARRAY(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ENUM_ARRAY *r)
5187 uint32_t _ptr_delta_enum;
5188 uint32_t cntr_delta_enum_1;
5189 TALLOC_CTX *_mem_save_delta_enum_0;
5190 TALLOC_CTX *_mem_save_delta_enum_1;
5191 if (ndr_flags & NDR_SCALARS) {
5192 NDR_CHECK(ndr_pull_align(ndr, 4));
5193 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_deltas));
5194 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum));
5195 if (_ptr_delta_enum) {
5196 NDR_PULL_ALLOC(ndr, r->delta_enum);
5198 r->delta_enum = NULL;
5201 if (ndr_flags & NDR_BUFFERS) {
5202 if (r->delta_enum) {
5203 _mem_save_delta_enum_0 = NDR_PULL_GET_MEM_CTX(ndr);
5204 NDR_PULL_SET_MEM_CTX(ndr, r->delta_enum, 0);
5205 NDR_CHECK(ndr_pull_array_size(ndr, &r->delta_enum));
5206 NDR_PULL_ALLOC_N(ndr, r->delta_enum, ndr_get_array_size(ndr, &r->delta_enum));
5207 _mem_save_delta_enum_1 = NDR_PULL_GET_MEM_CTX(ndr);
5208 NDR_PULL_SET_MEM_CTX(ndr, r->delta_enum, 0);
5209 for (cntr_delta_enum_1 = 0; cntr_delta_enum_1 < r->num_deltas; cntr_delta_enum_1++) {
5210 NDR_CHECK(ndr_pull_netr_DELTA_ENUM(ndr, NDR_SCALARS, &r->delta_enum[cntr_delta_enum_1]));
5212 for (cntr_delta_enum_1 = 0; cntr_delta_enum_1 < r->num_deltas; cntr_delta_enum_1++) {
5213 NDR_CHECK(ndr_pull_netr_DELTA_ENUM(ndr, NDR_BUFFERS, &r->delta_enum[cntr_delta_enum_1]));
5215 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_1, 0);
5216 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_0, 0);
5218 if (r->delta_enum) {
5219 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->delta_enum, r->num_deltas));
5222 return NDR_ERR_SUCCESS;
5225 _PUBLIC_ void ndr_print_netr_DELTA_ENUM_ARRAY(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ENUM_ARRAY *r)
5227 uint32_t cntr_delta_enum_1;
5228 ndr_print_struct(ndr, name, "netr_DELTA_ENUM_ARRAY");
5230 ndr_print_uint32(ndr, "num_deltas", r->num_deltas);
5231 ndr_print_ptr(ndr, "delta_enum", r->delta_enum);
5233 if (r->delta_enum) {
5234 ndr->print(ndr, "%s: ARRAY(%d)", "delta_enum", (int)r->num_deltas);
5236 for (cntr_delta_enum_1=0;cntr_delta_enum_1<r->num_deltas;cntr_delta_enum_1++) {
5238 if (asprintf(&idx_1, "[%d]", cntr_delta_enum_1) != -1) {
5239 ndr_print_netr_DELTA_ENUM(ndr, "delta_enum", &r->delta_enum[cntr_delta_enum_1]);
5249 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)
5252 uint32_t _flags_save_STRUCT = ndr->flags;
5253 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
5254 if (ndr_flags & NDR_SCALARS) {
5255 NDR_CHECK(ndr_push_align(ndr, 4));
5256 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->computer_name, 16));
5257 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->timecreated));
5258 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->serial_number));
5260 if (ndr_flags & NDR_BUFFERS) {
5262 ndr->flags = _flags_save_STRUCT;
5264 return NDR_ERR_SUCCESS;
5267 static enum ndr_err_code ndr_pull_netr_UAS_INFO_0(struct ndr_pull *ndr, int ndr_flags, struct netr_UAS_INFO_0 *r)
5270 uint32_t _flags_save_STRUCT = ndr->flags;
5271 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
5272 if (ndr_flags & NDR_SCALARS) {
5273 NDR_CHECK(ndr_pull_align(ndr, 4));
5274 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->computer_name, 16));
5275 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->timecreated));
5276 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->serial_number));
5278 if (ndr_flags & NDR_BUFFERS) {
5280 ndr->flags = _flags_save_STRUCT;
5282 return NDR_ERR_SUCCESS;
5285 _PUBLIC_ void ndr_print_netr_UAS_INFO_0(struct ndr_print *ndr, const char *name, const struct netr_UAS_INFO_0 *r)
5287 ndr_print_struct(ndr, name, "netr_UAS_INFO_0");
5289 uint32_t _flags_save_STRUCT = ndr->flags;
5290 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
5292 ndr_print_array_uint8(ndr, "computer_name", r->computer_name, 16);
5293 ndr_print_uint32(ndr, "timecreated", r->timecreated);
5294 ndr_print_uint32(ndr, "serial_number", r->serial_number);
5296 ndr->flags = _flags_save_STRUCT;
5300 static enum ndr_err_code ndr_push_netr_AccountBuffer(struct ndr_push *ndr, int ndr_flags, const struct netr_AccountBuffer *r)
5302 if (ndr_flags & NDR_SCALARS) {
5303 NDR_CHECK(ndr_push_align(ndr, 4));
5305 uint32_t _flags_save_DATA_BLOB = ndr->flags;
5306 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
5307 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->blob));
5308 ndr->flags = _flags_save_DATA_BLOB;
5311 if (ndr_flags & NDR_BUFFERS) {
5313 return NDR_ERR_SUCCESS;
5316 static enum ndr_err_code ndr_pull_netr_AccountBuffer(struct ndr_pull *ndr, int ndr_flags, struct netr_AccountBuffer *r)
5318 if (ndr_flags & NDR_SCALARS) {
5319 NDR_CHECK(ndr_pull_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_pull_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 _PUBLIC_ void ndr_print_netr_AccountBuffer(struct ndr_print *ndr, const char *name, const struct netr_AccountBuffer *r)
5334 ndr_print_struct(ndr, name, "netr_AccountBuffer");
5336 ndr_print_DATA_BLOB(ndr, "blob", r->blob);
5340 static enum ndr_err_code ndr_push_netr_InfoFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
5342 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
5343 return NDR_ERR_SUCCESS;
5346 static enum ndr_err_code ndr_pull_netr_InfoFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
5349 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
5351 return NDR_ERR_SUCCESS;
5354 _PUBLIC_ void ndr_print_netr_InfoFlags(struct ndr_print *ndr, const char *name, uint32_t r)
5356 ndr_print_uint32(ndr, name, r);
5358 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_CTRL_REPL_NEEDED", NETLOGON_CTRL_REPL_NEEDED, r);
5359 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_CTRL_REPL_IN_PROGRESS", NETLOGON_CTRL_REPL_IN_PROGRESS, r);
5360 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_CTRL_REPL_FULL_SYNC", NETLOGON_CTRL_REPL_FULL_SYNC, r);
5364 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)
5366 if (ndr_flags & NDR_SCALARS) {
5367 NDR_CHECK(ndr_push_align(ndr, 4));
5368 NDR_CHECK(ndr_push_netr_InfoFlags(ndr, NDR_SCALARS, r->flags));
5369 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pdc_connection_status));
5371 if (ndr_flags & NDR_BUFFERS) {
5373 return NDR_ERR_SUCCESS;
5376 static enum ndr_err_code ndr_pull_netr_NETLOGON_INFO_1(struct ndr_pull *ndr, int ndr_flags, struct netr_NETLOGON_INFO_1 *r)
5378 if (ndr_flags & NDR_SCALARS) {
5379 NDR_CHECK(ndr_pull_align(ndr, 4));
5380 NDR_CHECK(ndr_pull_netr_InfoFlags(ndr, NDR_SCALARS, &r->flags));
5381 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pdc_connection_status));
5383 if (ndr_flags & NDR_BUFFERS) {
5385 return NDR_ERR_SUCCESS;
5388 _PUBLIC_ void ndr_print_netr_NETLOGON_INFO_1(struct ndr_print *ndr, const char *name, const struct netr_NETLOGON_INFO_1 *r)
5390 ndr_print_struct(ndr, name, "netr_NETLOGON_INFO_1");
5392 ndr_print_netr_InfoFlags(ndr, "flags", r->flags);
5393 ndr_print_uint32(ndr, "pdc_connection_status", r->pdc_connection_status);
5397 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)
5399 if (ndr_flags & NDR_SCALARS) {
5400 NDR_CHECK(ndr_push_align(ndr, 4));
5401 NDR_CHECK(ndr_push_netr_InfoFlags(ndr, NDR_SCALARS, r->flags));
5402 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pdc_connection_status));
5403 NDR_CHECK(ndr_push_unique_ptr(ndr, r->trusted_dc_name));
5404 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->tc_connection_status));
5406 if (ndr_flags & NDR_BUFFERS) {
5407 if (r->trusted_dc_name) {
5408 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->trusted_dc_name, CH_UTF16)));
5409 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
5410 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->trusted_dc_name, CH_UTF16)));
5411 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));
5414 return NDR_ERR_SUCCESS;
5417 static enum ndr_err_code ndr_pull_netr_NETLOGON_INFO_2(struct ndr_pull *ndr, int ndr_flags, struct netr_NETLOGON_INFO_2 *r)
5419 uint32_t _ptr_trusted_dc_name;
5420 TALLOC_CTX *_mem_save_trusted_dc_name_0;
5421 if (ndr_flags & NDR_SCALARS) {
5422 NDR_CHECK(ndr_pull_align(ndr, 4));
5423 NDR_CHECK(ndr_pull_netr_InfoFlags(ndr, NDR_SCALARS, &r->flags));
5424 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pdc_connection_status));
5425 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_dc_name));
5426 if (_ptr_trusted_dc_name) {
5427 NDR_PULL_ALLOC(ndr, r->trusted_dc_name);
5429 r->trusted_dc_name = NULL;
5431 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->tc_connection_status));
5433 if (ndr_flags & NDR_BUFFERS) {
5434 if (r->trusted_dc_name) {
5435 _mem_save_trusted_dc_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5436 NDR_PULL_SET_MEM_CTX(ndr, r->trusted_dc_name, 0);
5437 NDR_CHECK(ndr_pull_array_size(ndr, &r->trusted_dc_name));
5438 NDR_CHECK(ndr_pull_array_length(ndr, &r->trusted_dc_name));
5439 if (ndr_get_array_length(ndr, &r->trusted_dc_name) > ndr_get_array_size(ndr, &r->trusted_dc_name)) {
5440 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));
5442 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->trusted_dc_name), sizeof(uint16_t)));
5443 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));
5444 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_dc_name_0, 0);
5447 return NDR_ERR_SUCCESS;
5450 _PUBLIC_ void ndr_print_netr_NETLOGON_INFO_2(struct ndr_print *ndr, const char *name, const struct netr_NETLOGON_INFO_2 *r)
5452 ndr_print_struct(ndr, name, "netr_NETLOGON_INFO_2");
5454 ndr_print_netr_InfoFlags(ndr, "flags", r->flags);
5455 ndr_print_uint32(ndr, "pdc_connection_status", r->pdc_connection_status);
5456 ndr_print_ptr(ndr, "trusted_dc_name", r->trusted_dc_name);
5458 if (r->trusted_dc_name) {
5459 ndr_print_string(ndr, "trusted_dc_name", r->trusted_dc_name);
5462 ndr_print_uint32(ndr, "tc_connection_status", r->tc_connection_status);
5466 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)
5468 if (ndr_flags & NDR_SCALARS) {
5469 NDR_CHECK(ndr_push_align(ndr, 4));
5470 NDR_CHECK(ndr_push_netr_InfoFlags(ndr, NDR_SCALARS, r->flags));
5471 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logon_attempts));
5472 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
5473 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
5474 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown3));
5475 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4));
5476 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
5478 if (ndr_flags & NDR_BUFFERS) {
5480 return NDR_ERR_SUCCESS;
5483 static enum ndr_err_code ndr_pull_netr_NETLOGON_INFO_3(struct ndr_pull *ndr, int ndr_flags, struct netr_NETLOGON_INFO_3 *r)
5485 if (ndr_flags & NDR_SCALARS) {
5486 NDR_CHECK(ndr_pull_align(ndr, 4));
5487 NDR_CHECK(ndr_pull_netr_InfoFlags(ndr, NDR_SCALARS, &r->flags));
5488 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logon_attempts));
5489 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
5490 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
5491 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown3));
5492 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4));
5493 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
5495 if (ndr_flags & NDR_BUFFERS) {
5497 return NDR_ERR_SUCCESS;
5500 _PUBLIC_ void ndr_print_netr_NETLOGON_INFO_3(struct ndr_print *ndr, const char *name, const struct netr_NETLOGON_INFO_3 *r)
5502 ndr_print_struct(ndr, name, "netr_NETLOGON_INFO_3");
5504 ndr_print_netr_InfoFlags(ndr, "flags", r->flags);
5505 ndr_print_uint32(ndr, "logon_attempts", r->logon_attempts);
5506 ndr_print_uint32(ndr, "unknown1", r->unknown1);
5507 ndr_print_uint32(ndr, "unknown2", r->unknown2);
5508 ndr_print_uint32(ndr, "unknown3", r->unknown3);
5509 ndr_print_uint32(ndr, "unknown4", r->unknown4);
5510 ndr_print_uint32(ndr, "unknown5", r->unknown5);
5514 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)
5516 if (ndr_flags & NDR_SCALARS) {
5517 int level = ndr_push_get_switch_value(ndr, r);
5518 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
5521 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1));
5525 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info2));
5529 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info3));
5533 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5536 if (ndr_flags & NDR_BUFFERS) {
5537 int level = ndr_push_get_switch_value(ndr, r);
5541 NDR_CHECK(ndr_push_netr_NETLOGON_INFO_1(ndr, NDR_SCALARS, r->info1));
5547 NDR_CHECK(ndr_push_netr_NETLOGON_INFO_2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2));
5553 NDR_CHECK(ndr_push_netr_NETLOGON_INFO_3(ndr, NDR_SCALARS, r->info3));
5558 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5561 return NDR_ERR_SUCCESS;
5564 static enum ndr_err_code ndr_pull_netr_CONTROL_QUERY_INFORMATION(struct ndr_pull *ndr, int ndr_flags, union netr_CONTROL_QUERY_INFORMATION *r)
5568 TALLOC_CTX *_mem_save_info1_0;
5569 TALLOC_CTX *_mem_save_info2_0;
5570 TALLOC_CTX *_mem_save_info3_0;
5571 level = ndr_pull_get_switch_value(ndr, r);
5572 if (ndr_flags & NDR_SCALARS) {
5573 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
5574 if (_level != level) {
5575 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
5579 uint32_t _ptr_info1;
5580 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1));
5582 NDR_PULL_ALLOC(ndr, r->info1);
5589 uint32_t _ptr_info2;
5590 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info2));
5592 NDR_PULL_ALLOC(ndr, r->info2);
5599 uint32_t _ptr_info3;
5600 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info3));
5602 NDR_PULL_ALLOC(ndr, r->info3);
5609 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5612 if (ndr_flags & NDR_BUFFERS) {
5616 _mem_save_info1_0 = NDR_PULL_GET_MEM_CTX(ndr);
5617 NDR_PULL_SET_MEM_CTX(ndr, r->info1, 0);
5618 NDR_CHECK(ndr_pull_netr_NETLOGON_INFO_1(ndr, NDR_SCALARS, r->info1));
5619 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1_0, 0);
5625 _mem_save_info2_0 = NDR_PULL_GET_MEM_CTX(ndr);
5626 NDR_PULL_SET_MEM_CTX(ndr, r->info2, 0);
5627 NDR_CHECK(ndr_pull_netr_NETLOGON_INFO_2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2));
5628 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info2_0, 0);
5634 _mem_save_info3_0 = NDR_PULL_GET_MEM_CTX(ndr);
5635 NDR_PULL_SET_MEM_CTX(ndr, r->info3, 0);
5636 NDR_CHECK(ndr_pull_netr_NETLOGON_INFO_3(ndr, NDR_SCALARS, r->info3));
5637 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info3_0, 0);
5642 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5645 return NDR_ERR_SUCCESS;
5648 _PUBLIC_ void ndr_print_netr_CONTROL_QUERY_INFORMATION(struct ndr_print *ndr, const char *name, const union netr_CONTROL_QUERY_INFORMATION *r)
5651 level = ndr_print_get_switch_value(ndr, r);
5652 ndr_print_union(ndr, name, level, "netr_CONTROL_QUERY_INFORMATION");
5655 ndr_print_ptr(ndr, "info1", r->info1);
5658 ndr_print_netr_NETLOGON_INFO_1(ndr, "info1", r->info1);
5664 ndr_print_ptr(ndr, "info2", r->info2);
5667 ndr_print_netr_NETLOGON_INFO_2(ndr, "info2", r->info2);
5673 ndr_print_ptr(ndr, "info3", r->info3);
5676 ndr_print_netr_NETLOGON_INFO_3(ndr, "info3", r->info3);
5682 ndr_print_bad_level(ndr, name, level);
5686 static enum ndr_err_code ndr_push_netr_LogonControlCode(struct ndr_push *ndr, int ndr_flags, enum netr_LogonControlCode r)
5688 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
5689 return NDR_ERR_SUCCESS;
5692 static enum ndr_err_code ndr_pull_netr_LogonControlCode(struct ndr_pull *ndr, int ndr_flags, enum netr_LogonControlCode *r)
5695 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
5697 return NDR_ERR_SUCCESS;
5700 _PUBLIC_ void ndr_print_netr_LogonControlCode(struct ndr_print *ndr, const char *name, enum netr_LogonControlCode r)
5702 const char *val = NULL;
5705 case NETLOGON_CONTROL_SYNC: val = "NETLOGON_CONTROL_SYNC"; break;
5706 case NETLOGON_CONTROL_REDISCOVER: val = "NETLOGON_CONTROL_REDISCOVER"; break;
5707 case NETLOGON_CONTROL_TC_QUERY: val = "NETLOGON_CONTROL_TC_QUERY"; break;
5708 case NETLOGON_CONTROL_TRANSPORT_NOTIFY: val = "NETLOGON_CONTROL_TRANSPORT_NOTIFY"; break;
5709 case NETLOGON_CONTROL_SET_DBFLAG: val = "NETLOGON_CONTROL_SET_DBFLAG"; break;
5711 ndr_print_enum(ndr, name, "ENUM", val, r);
5714 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)
5716 if (ndr_flags & NDR_SCALARS) {
5717 int level = ndr_push_get_switch_value(ndr, r);
5718 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
5720 case NETLOGON_CONTROL_REDISCOVER: {
5721 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
5724 case NETLOGON_CONTROL_TC_QUERY: {
5725 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
5728 case NETLOGON_CONTROL_TRANSPORT_NOTIFY: {
5729 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
5732 case NETLOGON_CONTROL_SET_DBFLAG: {
5733 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->debug_level));
5737 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5740 if (ndr_flags & NDR_BUFFERS) {
5741 int level = ndr_push_get_switch_value(ndr, r);
5743 case NETLOGON_CONTROL_REDISCOVER:
5745 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
5746 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
5747 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
5748 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5752 case NETLOGON_CONTROL_TC_QUERY:
5754 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
5755 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
5756 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
5757 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5761 case NETLOGON_CONTROL_TRANSPORT_NOTIFY:
5763 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
5764 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
5765 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
5766 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5770 case NETLOGON_CONTROL_SET_DBFLAG:
5774 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5777 return NDR_ERR_SUCCESS;
5780 static enum ndr_err_code ndr_pull_netr_CONTROL_DATA_INFORMATION(struct ndr_pull *ndr, int ndr_flags, union netr_CONTROL_DATA_INFORMATION *r)
5784 TALLOC_CTX *_mem_save_domain_0;
5785 level = ndr_pull_get_switch_value(ndr, r);
5786 if (ndr_flags & NDR_SCALARS) {
5787 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
5788 if (_level != level) {
5789 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
5792 case NETLOGON_CONTROL_REDISCOVER: {
5793 uint32_t _ptr_domain;
5794 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
5796 NDR_PULL_ALLOC(ndr, r->domain);
5802 case NETLOGON_CONTROL_TC_QUERY: {
5803 uint32_t _ptr_domain;
5804 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
5806 NDR_PULL_ALLOC(ndr, r->domain);
5812 case NETLOGON_CONTROL_TRANSPORT_NOTIFY: {
5813 uint32_t _ptr_domain;
5814 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
5816 NDR_PULL_ALLOC(ndr, r->domain);
5822 case NETLOGON_CONTROL_SET_DBFLAG: {
5823 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->debug_level));
5827 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5830 if (ndr_flags & NDR_BUFFERS) {
5832 case NETLOGON_CONTROL_REDISCOVER:
5834 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
5835 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
5836 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
5837 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
5838 if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) {
5839 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));
5841 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t)));
5842 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16));
5843 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
5847 case NETLOGON_CONTROL_TC_QUERY:
5849 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
5850 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
5851 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
5852 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
5853 if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) {
5854 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));
5856 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t)));
5857 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16));
5858 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
5862 case NETLOGON_CONTROL_TRANSPORT_NOTIFY:
5864 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
5865 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
5866 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
5867 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
5868 if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) {
5869 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));
5871 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t)));
5872 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16));
5873 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
5877 case NETLOGON_CONTROL_SET_DBFLAG:
5881 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5884 return NDR_ERR_SUCCESS;
5887 _PUBLIC_ void ndr_print_netr_CONTROL_DATA_INFORMATION(struct ndr_print *ndr, const char *name, const union netr_CONTROL_DATA_INFORMATION *r)
5890 level = ndr_print_get_switch_value(ndr, r);
5891 ndr_print_union(ndr, name, level, "netr_CONTROL_DATA_INFORMATION");
5893 case NETLOGON_CONTROL_REDISCOVER:
5894 ndr_print_ptr(ndr, "domain", r->domain);
5897 ndr_print_string(ndr, "domain", r->domain);
5902 case NETLOGON_CONTROL_TC_QUERY:
5903 ndr_print_ptr(ndr, "domain", r->domain);
5906 ndr_print_string(ndr, "domain", r->domain);
5911 case NETLOGON_CONTROL_TRANSPORT_NOTIFY:
5912 ndr_print_ptr(ndr, "domain", r->domain);
5915 ndr_print_string(ndr, "domain", r->domain);
5920 case NETLOGON_CONTROL_SET_DBFLAG:
5921 ndr_print_uint32(ndr, "debug_level", r->debug_level);
5925 ndr_print_bad_level(ndr, name, level);
5929 static enum ndr_err_code ndr_push_netr_NegotiateFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
5931 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
5932 return NDR_ERR_SUCCESS;
5935 static enum ndr_err_code ndr_pull_netr_NegotiateFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
5938 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
5940 return NDR_ERR_SUCCESS;
5943 _PUBLIC_ void ndr_print_netr_NegotiateFlags(struct ndr_print *ndr, const char *name, uint32_t r)
5945 ndr_print_uint32(ndr, name, r);
5947 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_ACCOUNT_LOCKOUT", NETLOGON_NEG_ACCOUNT_LOCKOUT, r);
5948 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_PERSISTENT_SAMREPL", NETLOGON_NEG_PERSISTENT_SAMREPL, r);
5949 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_ARCFOUR", NETLOGON_NEG_ARCFOUR, r);
5950 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_PROMOTION_COUNT", NETLOGON_NEG_PROMOTION_COUNT, r);
5951 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_CHANGELOG_BDC", NETLOGON_NEG_CHANGELOG_BDC, r);
5952 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_FULL_SYNC_REPL", NETLOGON_NEG_FULL_SYNC_REPL, r);
5953 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_MULTIPLE_SIDS", NETLOGON_NEG_MULTIPLE_SIDS, r);
5954 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_REDO", NETLOGON_NEG_REDO, r);
5955 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_PASSWORD_CHANGE_REFUSAL", NETLOGON_NEG_PASSWORD_CHANGE_REFUSAL, r);
5956 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_SEND_PASSWORD_INFO_PDC", NETLOGON_NEG_SEND_PASSWORD_INFO_PDC, r);
5957 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_GENERIC_PASSTHROUGH", NETLOGON_NEG_GENERIC_PASSTHROUGH, r);
5958 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_CONCURRENT_RPC", NETLOGON_NEG_CONCURRENT_RPC, r);
5959 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_AVOID_ACCOUNT_DB_REPL", NETLOGON_NEG_AVOID_ACCOUNT_DB_REPL, r);
5960 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_AVOID_SECURITYAUTH_DB_REPL", NETLOGON_NEG_AVOID_SECURITYAUTH_DB_REPL, r);
5961 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_128BIT", NETLOGON_NEG_128BIT, r);
5962 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_TRANSITIVE_TRUSTS", NETLOGON_NEG_TRANSITIVE_TRUSTS, r);
5963 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_DNS_DOMAIN_TRUSTS", NETLOGON_NEG_DNS_DOMAIN_TRUSTS, r);
5964 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_PASSWORD_SET2", NETLOGON_NEG_PASSWORD_SET2, r);
5965 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_GETDOMAININFO", NETLOGON_NEG_GETDOMAININFO, r);
5966 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_CROSS_FOREST_TRUSTS", NETLOGON_NEG_CROSS_FOREST_TRUSTS, r);
5967 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_NEUTRALIZE_NT4_EMULATION", NETLOGON_NEG_NEUTRALIZE_NT4_EMULATION, r);
5968 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_RODC_PASSTHROUGH", NETLOGON_NEG_RODC_PASSTHROUGH, r);
5969 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_AUTHENTICATED_RPC_LSASS", NETLOGON_NEG_AUTHENTICATED_RPC_LSASS, r);
5970 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_SCHANNEL", NETLOGON_NEG_SCHANNEL, r);
5974 static enum ndr_err_code ndr_push_netr_Blob(struct ndr_push *ndr, int ndr_flags, const struct netr_Blob *r)
5976 if (ndr_flags & NDR_SCALARS) {
5977 NDR_CHECK(ndr_push_align(ndr, 4));
5978 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
5979 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
5981 if (ndr_flags & NDR_BUFFERS) {
5983 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
5984 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
5987 return NDR_ERR_SUCCESS;
5990 static enum ndr_err_code ndr_pull_netr_Blob(struct ndr_pull *ndr, int ndr_flags, struct netr_Blob *r)
5993 TALLOC_CTX *_mem_save_data_0;
5994 if (ndr_flags & NDR_SCALARS) {
5995 NDR_CHECK(ndr_pull_align(ndr, 4));
5996 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
5997 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
5999 NDR_PULL_ALLOC(ndr, r->data);
6004 if (ndr_flags & NDR_BUFFERS) {
6006 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
6007 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
6008 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
6009 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
6010 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data)));
6011 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
6014 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length));
6017 return NDR_ERR_SUCCESS;
6020 _PUBLIC_ void ndr_print_netr_Blob(struct ndr_print *ndr, const char *name, const struct netr_Blob *r)
6022 ndr_print_struct(ndr, name, "netr_Blob");
6024 ndr_print_uint32(ndr, "length", r->length);
6025 ndr_print_ptr(ndr, "data", r->data);
6028 ndr_print_array_uint8(ndr, "data", r->data, r->length);
6034 static enum ndr_err_code ndr_push_netr_DsRGetDCName_flags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
6036 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
6037 return NDR_ERR_SUCCESS;
6040 static enum ndr_err_code ndr_pull_netr_DsRGetDCName_flags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
6043 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
6045 return NDR_ERR_SUCCESS;
6048 _PUBLIC_ void ndr_print_netr_DsRGetDCName_flags(struct ndr_print *ndr, const char *name, uint32_t r)
6050 ndr_print_uint32(ndr, name, r);
6052 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_FORCE_REDISCOVERY", DS_FORCE_REDISCOVERY, r);
6053 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DIRECTORY_SERVICE_REQUIRED", DS_DIRECTORY_SERVICE_REQUIRED, r);
6054 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DIRECTORY_SERVICE_PREFERRED", DS_DIRECTORY_SERVICE_PREFERRED, r);
6055 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_GC_SERVER_REQUIRED", DS_GC_SERVER_REQUIRED, r);
6056 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_PDC_REQUIRED", DS_PDC_REQUIRED, r);
6057 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_BACKGROUND_ONLY", DS_BACKGROUND_ONLY, r);
6058 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_IP_REQUIRED", DS_IP_REQUIRED, r);
6059 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_KDC_REQUIRED", DS_KDC_REQUIRED, r);
6060 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_TIMESERV_REQUIRED", DS_TIMESERV_REQUIRED, r);
6061 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_WRITABLE_REQUIRED", DS_WRITABLE_REQUIRED, r);
6062 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_GOOD_TIMESERV_PREFERRED", DS_GOOD_TIMESERV_PREFERRED, r);
6063 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_AVOID_SELF", DS_AVOID_SELF, r);
6064 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_ONLY_LDAP_NEEDED", DS_ONLY_LDAP_NEEDED, r);
6065 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_IS_FLAT_NAME", DS_IS_FLAT_NAME, r);
6066 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_IS_DNS_NAME", DS_IS_DNS_NAME, r);
6067 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_TRY_NEXTCLOSEST_SITE", DS_TRY_NEXTCLOSEST_SITE, r);
6068 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DIRECTORY_SERVICE_6_REQUIRED", DS_DIRECTORY_SERVICE_6_REQUIRED, r);
6069 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_RETURN_DNS_NAME", DS_RETURN_DNS_NAME, r);
6070 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_RETURN_FLAT_NAME", DS_RETURN_FLAT_NAME, r);
6074 static enum ndr_err_code ndr_push_netr_DsRGetDCNameInfo_AddressType(struct ndr_push *ndr, int ndr_flags, enum netr_DsRGetDCNameInfo_AddressType r)
6076 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
6077 return NDR_ERR_SUCCESS;
6080 static enum ndr_err_code ndr_pull_netr_DsRGetDCNameInfo_AddressType(struct ndr_pull *ndr, int ndr_flags, enum netr_DsRGetDCNameInfo_AddressType *r)
6083 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
6085 return NDR_ERR_SUCCESS;
6088 _PUBLIC_ void ndr_print_netr_DsRGetDCNameInfo_AddressType(struct ndr_print *ndr, const char *name, enum netr_DsRGetDCNameInfo_AddressType r)
6090 const char *val = NULL;
6093 case DS_ADDRESS_TYPE_INET: val = "DS_ADDRESS_TYPE_INET"; break;
6094 case DS_ADDRESS_TYPE_NETBIOS: val = "DS_ADDRESS_TYPE_NETBIOS"; break;
6096 ndr_print_enum(ndr, name, "ENUM", val, r);
6099 static enum ndr_err_code ndr_push_netr_DsR_DcFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
6101 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
6102 return NDR_ERR_SUCCESS;
6105 static enum ndr_err_code ndr_pull_netr_DsR_DcFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
6108 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
6110 return NDR_ERR_SUCCESS;
6113 _PUBLIC_ void ndr_print_netr_DsR_DcFlags(struct ndr_print *ndr, const char *name, uint32_t r)
6115 ndr_print_uint32(ndr, name, r);
6117 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_PDC", DS_SERVER_PDC, r);
6118 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_GC", DS_SERVER_GC, r);
6119 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_LDAP", DS_SERVER_LDAP, r);
6120 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_DS", DS_SERVER_DS, r);
6121 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_KDC", DS_SERVER_KDC, r);
6122 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_TIMESERV", DS_SERVER_TIMESERV, r);
6123 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_CLOSEST", DS_SERVER_CLOSEST, r);
6124 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_WRITABLE", DS_SERVER_WRITABLE, r);
6125 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_GOOD_TIMESERV", DS_SERVER_GOOD_TIMESERV, r);
6126 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_NDNC", DS_SERVER_NDNC, r);
6127 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_SELECT_SECRET_DOMAIN_6", DS_SERVER_SELECT_SECRET_DOMAIN_6, r);
6128 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_FULL_SECRET_DOMAIN_6", DS_SERVER_FULL_SECRET_DOMAIN_6, r);
6129 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DNS_CONTROLLER", DS_DNS_CONTROLLER, r);
6130 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DNS_DOMAIN", DS_DNS_DOMAIN, r);
6131 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DNS_FOREST", DS_DNS_FOREST, r);
6135 _PUBLIC_ enum ndr_err_code ndr_push_netr_DsRGetDCNameInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRGetDCNameInfo *r)
6137 if (ndr_flags & NDR_SCALARS) {
6138 NDR_CHECK(ndr_push_align(ndr, 4));
6139 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dc_unc));
6140 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dc_address));
6141 NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo_AddressType(ndr, NDR_SCALARS, r->dc_address_type));
6142 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->domain_guid));
6143 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_name));
6144 NDR_CHECK(ndr_push_unique_ptr(ndr, r->forest_name));
6145 NDR_CHECK(ndr_push_netr_DsR_DcFlags(ndr, NDR_SCALARS, r->dc_flags));
6146 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dc_site_name));
6147 NDR_CHECK(ndr_push_unique_ptr(ndr, r->client_site_name));
6149 if (ndr_flags & NDR_BUFFERS) {
6151 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_unc, CH_UTF16)));
6152 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6153 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_unc, CH_UTF16)));
6154 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dc_unc, ndr_charset_length(r->dc_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6156 if (r->dc_address) {
6157 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_address, CH_UTF16)));
6158 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6159 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_address, CH_UTF16)));
6160 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dc_address, ndr_charset_length(r->dc_address, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6162 if (r->domain_name) {
6163 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
6164 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6165 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
6166 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_name, ndr_charset_length(r->domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6168 if (r->forest_name) {
6169 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->forest_name, CH_UTF16)));
6170 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6171 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->forest_name, CH_UTF16)));
6172 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->forest_name, ndr_charset_length(r->forest_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6174 if (r->dc_site_name) {
6175 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_site_name, CH_UTF16)));
6176 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6177 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_site_name, CH_UTF16)));
6178 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));
6180 if (r->client_site_name) {
6181 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->client_site_name, CH_UTF16)));
6182 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6183 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->client_site_name, CH_UTF16)));
6184 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));
6187 return NDR_ERR_SUCCESS;
6190 _PUBLIC_ enum ndr_err_code ndr_pull_netr_DsRGetDCNameInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRGetDCNameInfo *r)
6192 uint32_t _ptr_dc_unc;
6193 TALLOC_CTX *_mem_save_dc_unc_0;
6194 uint32_t _ptr_dc_address;
6195 TALLOC_CTX *_mem_save_dc_address_0;
6196 uint32_t _ptr_domain_name;
6197 TALLOC_CTX *_mem_save_domain_name_0;
6198 uint32_t _ptr_forest_name;
6199 TALLOC_CTX *_mem_save_forest_name_0;
6200 uint32_t _ptr_dc_site_name;
6201 TALLOC_CTX *_mem_save_dc_site_name_0;
6202 uint32_t _ptr_client_site_name;
6203 TALLOC_CTX *_mem_save_client_site_name_0;
6204 if (ndr_flags & NDR_SCALARS) {
6205 NDR_CHECK(ndr_pull_align(ndr, 4));
6206 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dc_unc));
6208 NDR_PULL_ALLOC(ndr, r->dc_unc);
6212 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dc_address));
6213 if (_ptr_dc_address) {
6214 NDR_PULL_ALLOC(ndr, r->dc_address);
6216 r->dc_address = NULL;
6218 NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo_AddressType(ndr, NDR_SCALARS, &r->dc_address_type));
6219 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->domain_guid));
6220 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
6221 if (_ptr_domain_name) {
6222 NDR_PULL_ALLOC(ndr, r->domain_name);
6224 r->domain_name = NULL;
6226 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_forest_name));
6227 if (_ptr_forest_name) {
6228 NDR_PULL_ALLOC(ndr, r->forest_name);
6230 r->forest_name = NULL;
6232 NDR_CHECK(ndr_pull_netr_DsR_DcFlags(ndr, NDR_SCALARS, &r->dc_flags));
6233 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dc_site_name));
6234 if (_ptr_dc_site_name) {
6235 NDR_PULL_ALLOC(ndr, r->dc_site_name);
6237 r->dc_site_name = NULL;
6239 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_site_name));
6240 if (_ptr_client_site_name) {
6241 NDR_PULL_ALLOC(ndr, r->client_site_name);
6243 r->client_site_name = NULL;
6246 if (ndr_flags & NDR_BUFFERS) {
6248 _mem_save_dc_unc_0 = NDR_PULL_GET_MEM_CTX(ndr);
6249 NDR_PULL_SET_MEM_CTX(ndr, r->dc_unc, 0);
6250 NDR_CHECK(ndr_pull_array_size(ndr, &r->dc_unc));
6251 NDR_CHECK(ndr_pull_array_length(ndr, &r->dc_unc));
6252 if (ndr_get_array_length(ndr, &r->dc_unc) > ndr_get_array_size(ndr, &r->dc_unc)) {
6253 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));
6255 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dc_unc), sizeof(uint16_t)));
6256 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dc_unc, ndr_get_array_length(ndr, &r->dc_unc), sizeof(uint16_t), CH_UTF16));
6257 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dc_unc_0, 0);
6259 if (r->dc_address) {
6260 _mem_save_dc_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
6261 NDR_PULL_SET_MEM_CTX(ndr, r->dc_address, 0);
6262 NDR_CHECK(ndr_pull_array_size(ndr, &r->dc_address));
6263 NDR_CHECK(ndr_pull_array_length(ndr, &r->dc_address));
6264 if (ndr_get_array_length(ndr, &r->dc_address) > ndr_get_array_size(ndr, &r->dc_address)) {
6265 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));
6267 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dc_address), sizeof(uint16_t)));
6268 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dc_address, ndr_get_array_length(ndr, &r->dc_address), sizeof(uint16_t), CH_UTF16));
6269 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dc_address_0, 0);
6271 if (r->domain_name) {
6272 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6273 NDR_PULL_SET_MEM_CTX(ndr, r->domain_name, 0);
6274 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_name));
6275 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_name));
6276 if (ndr_get_array_length(ndr, &r->domain_name) > ndr_get_array_size(ndr, &r->domain_name)) {
6277 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));
6279 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t)));
6280 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t), CH_UTF16));
6281 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
6283 if (r->forest_name) {
6284 _mem_save_forest_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6285 NDR_PULL_SET_MEM_CTX(ndr, r->forest_name, 0);
6286 NDR_CHECK(ndr_pull_array_size(ndr, &r->forest_name));
6287 NDR_CHECK(ndr_pull_array_length(ndr, &r->forest_name));
6288 if (ndr_get_array_length(ndr, &r->forest_name) > ndr_get_array_size(ndr, &r->forest_name)) {
6289 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));
6291 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->forest_name), sizeof(uint16_t)));
6292 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->forest_name, ndr_get_array_length(ndr, &r->forest_name), sizeof(uint16_t), CH_UTF16));
6293 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_name_0, 0);
6295 if (r->dc_site_name) {
6296 _mem_save_dc_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6297 NDR_PULL_SET_MEM_CTX(ndr, r->dc_site_name, 0);
6298 NDR_CHECK(ndr_pull_array_size(ndr, &r->dc_site_name));
6299 NDR_CHECK(ndr_pull_array_length(ndr, &r->dc_site_name));
6300 if (ndr_get_array_length(ndr, &r->dc_site_name) > ndr_get_array_size(ndr, &r->dc_site_name)) {
6301 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));
6303 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dc_site_name), sizeof(uint16_t)));
6304 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));
6305 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dc_site_name_0, 0);
6307 if (r->client_site_name) {
6308 _mem_save_client_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6309 NDR_PULL_SET_MEM_CTX(ndr, r->client_site_name, 0);
6310 NDR_CHECK(ndr_pull_array_size(ndr, &r->client_site_name));
6311 NDR_CHECK(ndr_pull_array_length(ndr, &r->client_site_name));
6312 if (ndr_get_array_length(ndr, &r->client_site_name) > ndr_get_array_size(ndr, &r->client_site_name)) {
6313 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));
6315 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->client_site_name), sizeof(uint16_t)));
6316 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));
6317 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_site_name_0, 0);
6320 return NDR_ERR_SUCCESS;
6323 _PUBLIC_ void ndr_print_netr_DsRGetDCNameInfo(struct ndr_print *ndr, const char *name, const struct netr_DsRGetDCNameInfo *r)
6325 ndr_print_struct(ndr, name, "netr_DsRGetDCNameInfo");
6327 ndr_print_ptr(ndr, "dc_unc", r->dc_unc);
6330 ndr_print_string(ndr, "dc_unc", r->dc_unc);
6333 ndr_print_ptr(ndr, "dc_address", r->dc_address);
6335 if (r->dc_address) {
6336 ndr_print_string(ndr, "dc_address", r->dc_address);
6339 ndr_print_netr_DsRGetDCNameInfo_AddressType(ndr, "dc_address_type", r->dc_address_type);
6340 ndr_print_GUID(ndr, "domain_guid", &r->domain_guid);
6341 ndr_print_ptr(ndr, "domain_name", r->domain_name);
6343 if (r->domain_name) {
6344 ndr_print_string(ndr, "domain_name", r->domain_name);
6347 ndr_print_ptr(ndr, "forest_name", r->forest_name);
6349 if (r->forest_name) {
6350 ndr_print_string(ndr, "forest_name", r->forest_name);
6353 ndr_print_netr_DsR_DcFlags(ndr, "dc_flags", r->dc_flags);
6354 ndr_print_ptr(ndr, "dc_site_name", r->dc_site_name);
6356 if (r->dc_site_name) {
6357 ndr_print_string(ndr, "dc_site_name", r->dc_site_name);
6360 ndr_print_ptr(ndr, "client_site_name", r->client_site_name);
6362 if (r->client_site_name) {
6363 ndr_print_string(ndr, "client_site_name", r->client_site_name);
6369 static enum ndr_err_code ndr_push_netr_BinaryString(struct ndr_push *ndr, int ndr_flags, const struct netr_BinaryString *r)
6371 uint32_t cntr_data_1;
6373 uint32_t _flags_save_STRUCT = ndr->flags;
6374 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
6375 if (ndr_flags & NDR_SCALARS) {
6376 NDR_CHECK(ndr_push_align(ndr, 4));
6377 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
6378 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->size));
6379 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
6381 if (ndr_flags & NDR_BUFFERS) {
6383 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size / 2));
6384 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6385 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length / 2));
6386 for (cntr_data_1 = 0; cntr_data_1 < r->length / 2; cntr_data_1++) {
6387 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->data[cntr_data_1]));
6391 ndr->flags = _flags_save_STRUCT;
6393 return NDR_ERR_SUCCESS;
6396 static enum ndr_err_code ndr_pull_netr_BinaryString(struct ndr_pull *ndr, int ndr_flags, struct netr_BinaryString *r)
6399 uint32_t cntr_data_1;
6400 TALLOC_CTX *_mem_save_data_0;
6401 TALLOC_CTX *_mem_save_data_1;
6403 uint32_t _flags_save_STRUCT = ndr->flags;
6404 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
6405 if (ndr_flags & NDR_SCALARS) {
6406 NDR_CHECK(ndr_pull_align(ndr, 4));
6407 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
6408 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
6409 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
6411 NDR_PULL_ALLOC(ndr, r->data);
6416 if (ndr_flags & NDR_BUFFERS) {
6418 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
6419 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
6420 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
6421 NDR_CHECK(ndr_pull_array_length(ndr, &r->data));
6422 if (ndr_get_array_length(ndr, &r->data) > ndr_get_array_size(ndr, &r->data)) {
6423 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));
6425 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
6426 _mem_save_data_1 = NDR_PULL_GET_MEM_CTX(ndr);
6427 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
6428 for (cntr_data_1 = 0; cntr_data_1 < r->length / 2; cntr_data_1++) {
6429 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->data[cntr_data_1]));
6431 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_1, 0);
6432 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
6435 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->size / 2));
6438 NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->data, r->length / 2));
6441 ndr->flags = _flags_save_STRUCT;
6443 return NDR_ERR_SUCCESS;
6446 _PUBLIC_ void ndr_print_netr_BinaryString(struct ndr_print *ndr, const char *name, const struct netr_BinaryString *r)
6448 uint32_t cntr_data_1;
6449 ndr_print_struct(ndr, name, "netr_BinaryString");
6451 uint32_t _flags_save_STRUCT = ndr->flags;
6452 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
6454 ndr_print_uint16(ndr, "length", r->length);
6455 ndr_print_uint16(ndr, "size", r->size);
6456 ndr_print_ptr(ndr, "data", r->data);
6459 ndr->print(ndr, "%s: ARRAY(%d)", "data", (int)r->length / 2);
6461 for (cntr_data_1=0;cntr_data_1<r->length / 2;cntr_data_1++) {
6463 if (asprintf(&idx_1, "[%d]", cntr_data_1) != -1) {
6464 ndr_print_uint16(ndr, "data", r->data[cntr_data_1]);
6472 ndr->flags = _flags_save_STRUCT;
6476 static enum ndr_err_code ndr_push_netr_DomainQuery1(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainQuery1 *r)
6478 uint32_t cntr_unknown7_0;
6479 if (ndr_flags & NDR_SCALARS) {
6480 NDR_CHECK(ndr_push_align(ndr, 4));
6481 NDR_CHECK(ndr_push_netr_Blob(ndr, NDR_SCALARS, &r->blob));
6482 NDR_CHECK(ndr_push_unique_ptr(ndr, r->workstation_domain));
6483 NDR_CHECK(ndr_push_unique_ptr(ndr, r->workstation_site));
6484 NDR_CHECK(ndr_push_unique_ptr(ndr, r->unknown1));
6485 NDR_CHECK(ndr_push_unique_ptr(ndr, r->unknown2));
6486 NDR_CHECK(ndr_push_unique_ptr(ndr, r->unknown3));
6487 NDR_CHECK(ndr_push_unique_ptr(ndr, r->unknown4));
6488 NDR_CHECK(ndr_push_netr_BinaryString(ndr, NDR_SCALARS, &r->blob2));
6489 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->product));
6490 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown5));
6491 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown6));
6492 for (cntr_unknown7_0 = 0; cntr_unknown7_0 < 4; cntr_unknown7_0++) {
6493 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7[cntr_unknown7_0]));
6496 if (ndr_flags & NDR_BUFFERS) {
6497 NDR_CHECK(ndr_push_netr_Blob(ndr, NDR_BUFFERS, &r->blob));
6498 if (r->workstation_domain) {
6499 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->workstation_domain, CH_UTF16)));
6500 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6501 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->workstation_domain, CH_UTF16)));
6502 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->workstation_domain, ndr_charset_length(r->workstation_domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6504 if (r->workstation_site) {
6505 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->workstation_site, CH_UTF16)));
6506 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6507 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->workstation_site, CH_UTF16)));
6508 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->workstation_site, ndr_charset_length(r->workstation_site, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6511 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown1, CH_UTF16)));
6512 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6513 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown1, CH_UTF16)));
6514 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->unknown1, ndr_charset_length(r->unknown1, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6517 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown2, CH_UTF16)));
6518 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6519 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown2, CH_UTF16)));
6520 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->unknown2, ndr_charset_length(r->unknown2, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6523 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown3, CH_UTF16)));
6524 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6525 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown3, CH_UTF16)));
6526 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->unknown3, ndr_charset_length(r->unknown3, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6529 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown4, CH_UTF16)));
6530 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6531 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown4, CH_UTF16)));
6532 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->unknown4, ndr_charset_length(r->unknown4, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6534 NDR_CHECK(ndr_push_netr_BinaryString(ndr, NDR_BUFFERS, &r->blob2));
6535 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->product));
6536 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown5));
6537 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown6));
6539 return NDR_ERR_SUCCESS;
6542 static enum ndr_err_code ndr_pull_netr_DomainQuery1(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainQuery1 *r)
6544 uint32_t _ptr_workstation_domain;
6545 TALLOC_CTX *_mem_save_workstation_domain_0;
6546 uint32_t _ptr_workstation_site;
6547 TALLOC_CTX *_mem_save_workstation_site_0;
6548 uint32_t _ptr_unknown1;
6549 TALLOC_CTX *_mem_save_unknown1_0;
6550 uint32_t _ptr_unknown2;
6551 TALLOC_CTX *_mem_save_unknown2_0;
6552 uint32_t _ptr_unknown3;
6553 TALLOC_CTX *_mem_save_unknown3_0;
6554 uint32_t _ptr_unknown4;
6555 TALLOC_CTX *_mem_save_unknown4_0;
6556 uint32_t cntr_unknown7_0;
6557 if (ndr_flags & NDR_SCALARS) {
6558 NDR_CHECK(ndr_pull_align(ndr, 4));
6559 NDR_CHECK(ndr_pull_netr_Blob(ndr, NDR_SCALARS, &r->blob));
6560 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_workstation_domain));
6561 if (_ptr_workstation_domain) {
6562 NDR_PULL_ALLOC(ndr, r->workstation_domain);
6564 r->workstation_domain = NULL;
6566 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_workstation_site));
6567 if (_ptr_workstation_site) {
6568 NDR_PULL_ALLOC(ndr, r->workstation_site);
6570 r->workstation_site = NULL;
6572 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown1));
6573 if (_ptr_unknown1) {
6574 NDR_PULL_ALLOC(ndr, r->unknown1);
6578 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown2));
6579 if (_ptr_unknown2) {
6580 NDR_PULL_ALLOC(ndr, r->unknown2);
6584 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown3));
6585 if (_ptr_unknown3) {
6586 NDR_PULL_ALLOC(ndr, r->unknown3);
6590 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown4));
6591 if (_ptr_unknown4) {
6592 NDR_PULL_ALLOC(ndr, r->unknown4);
6596 NDR_CHECK(ndr_pull_netr_BinaryString(ndr, NDR_SCALARS, &r->blob2));
6597 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->product));
6598 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown5));
6599 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown6));
6600 for (cntr_unknown7_0 = 0; cntr_unknown7_0 < 4; cntr_unknown7_0++) {
6601 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7[cntr_unknown7_0]));
6604 if (ndr_flags & NDR_BUFFERS) {
6605 NDR_CHECK(ndr_pull_netr_Blob(ndr, NDR_BUFFERS, &r->blob));
6606 if (r->workstation_domain) {
6607 _mem_save_workstation_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
6608 NDR_PULL_SET_MEM_CTX(ndr, r->workstation_domain, 0);
6609 NDR_CHECK(ndr_pull_array_size(ndr, &r->workstation_domain));
6610 NDR_CHECK(ndr_pull_array_length(ndr, &r->workstation_domain));
6611 if (ndr_get_array_length(ndr, &r->workstation_domain) > ndr_get_array_size(ndr, &r->workstation_domain)) {
6612 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));
6614 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->workstation_domain), sizeof(uint16_t)));
6615 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->workstation_domain, ndr_get_array_length(ndr, &r->workstation_domain), sizeof(uint16_t), CH_UTF16));
6616 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_workstation_domain_0, 0);
6618 if (r->workstation_site) {
6619 _mem_save_workstation_site_0 = NDR_PULL_GET_MEM_CTX(ndr);
6620 NDR_PULL_SET_MEM_CTX(ndr, r->workstation_site, 0);
6621 NDR_CHECK(ndr_pull_array_size(ndr, &r->workstation_site));
6622 NDR_CHECK(ndr_pull_array_length(ndr, &r->workstation_site));
6623 if (ndr_get_array_length(ndr, &r->workstation_site) > ndr_get_array_size(ndr, &r->workstation_site)) {
6624 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));
6626 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->workstation_site), sizeof(uint16_t)));
6627 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->workstation_site, ndr_get_array_length(ndr, &r->workstation_site), sizeof(uint16_t), CH_UTF16));
6628 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_workstation_site_0, 0);
6631 _mem_save_unknown1_0 = NDR_PULL_GET_MEM_CTX(ndr);
6632 NDR_PULL_SET_MEM_CTX(ndr, r->unknown1, 0);
6633 NDR_CHECK(ndr_pull_array_size(ndr, &r->unknown1));
6634 NDR_CHECK(ndr_pull_array_length(ndr, &r->unknown1));
6635 if (ndr_get_array_length(ndr, &r->unknown1) > ndr_get_array_size(ndr, &r->unknown1)) {
6636 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));
6638 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->unknown1), sizeof(uint16_t)));
6639 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->unknown1, ndr_get_array_length(ndr, &r->unknown1), sizeof(uint16_t), CH_UTF16));
6640 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown1_0, 0);
6643 _mem_save_unknown2_0 = NDR_PULL_GET_MEM_CTX(ndr);
6644 NDR_PULL_SET_MEM_CTX(ndr, r->unknown2, 0);
6645 NDR_CHECK(ndr_pull_array_size(ndr, &r->unknown2));
6646 NDR_CHECK(ndr_pull_array_length(ndr, &r->unknown2));
6647 if (ndr_get_array_length(ndr, &r->unknown2) > ndr_get_array_size(ndr, &r->unknown2)) {
6648 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));
6650 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->unknown2), sizeof(uint16_t)));
6651 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->unknown2, ndr_get_array_length(ndr, &r->unknown2), sizeof(uint16_t), CH_UTF16));
6652 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown2_0, 0);
6655 _mem_save_unknown3_0 = NDR_PULL_GET_MEM_CTX(ndr);
6656 NDR_PULL_SET_MEM_CTX(ndr, r->unknown3, 0);
6657 NDR_CHECK(ndr_pull_array_size(ndr, &r->unknown3));
6658 NDR_CHECK(ndr_pull_array_length(ndr, &r->unknown3));
6659 if (ndr_get_array_length(ndr, &r->unknown3) > ndr_get_array_size(ndr, &r->unknown3)) {
6660 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));
6662 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->unknown3), sizeof(uint16_t)));
6663 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->unknown3, ndr_get_array_length(ndr, &r->unknown3), sizeof(uint16_t), CH_UTF16));
6664 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown3_0, 0);
6667 _mem_save_unknown4_0 = NDR_PULL_GET_MEM_CTX(ndr);
6668 NDR_PULL_SET_MEM_CTX(ndr, r->unknown4, 0);
6669 NDR_CHECK(ndr_pull_array_size(ndr, &r->unknown4));
6670 NDR_CHECK(ndr_pull_array_length(ndr, &r->unknown4));
6671 if (ndr_get_array_length(ndr, &r->unknown4) > ndr_get_array_size(ndr, &r->unknown4)) {
6672 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));
6674 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->unknown4), sizeof(uint16_t)));
6675 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->unknown4, ndr_get_array_length(ndr, &r->unknown4), sizeof(uint16_t), CH_UTF16));
6676 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown4_0, 0);
6678 NDR_CHECK(ndr_pull_netr_BinaryString(ndr, NDR_BUFFERS, &r->blob2));
6679 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->product));
6680 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown5));
6681 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown6));
6683 return NDR_ERR_SUCCESS;
6686 _PUBLIC_ void ndr_print_netr_DomainQuery1(struct ndr_print *ndr, const char *name, const struct netr_DomainQuery1 *r)
6688 uint32_t cntr_unknown7_0;
6689 ndr_print_struct(ndr, name, "netr_DomainQuery1");
6691 ndr_print_netr_Blob(ndr, "blob", &r->blob);
6692 ndr_print_ptr(ndr, "workstation_domain", r->workstation_domain);
6694 if (r->workstation_domain) {
6695 ndr_print_string(ndr, "workstation_domain", r->workstation_domain);
6698 ndr_print_ptr(ndr, "workstation_site", r->workstation_site);
6700 if (r->workstation_site) {
6701 ndr_print_string(ndr, "workstation_site", r->workstation_site);
6704 ndr_print_ptr(ndr, "unknown1", r->unknown1);
6707 ndr_print_string(ndr, "unknown1", r->unknown1);
6710 ndr_print_ptr(ndr, "unknown2", r->unknown2);
6713 ndr_print_string(ndr, "unknown2", r->unknown2);
6716 ndr_print_ptr(ndr, "unknown3", r->unknown3);
6719 ndr_print_string(ndr, "unknown3", r->unknown3);
6722 ndr_print_ptr(ndr, "unknown4", r->unknown4);
6725 ndr_print_string(ndr, "unknown4", r->unknown4);
6728 ndr_print_netr_BinaryString(ndr, "blob2", &r->blob2);
6729 ndr_print_lsa_String(ndr, "product", &r->product);
6730 ndr_print_lsa_String(ndr, "unknown5", &r->unknown5);
6731 ndr_print_lsa_String(ndr, "unknown6", &r->unknown6);
6732 ndr->print(ndr, "%s: ARRAY(%d)", "unknown7", (int)4);
6734 for (cntr_unknown7_0=0;cntr_unknown7_0<4;cntr_unknown7_0++) {
6736 if (asprintf(&idx_0, "[%d]", cntr_unknown7_0) != -1) {
6737 ndr_print_uint32(ndr, "unknown7", r->unknown7[cntr_unknown7_0]);
6745 static enum ndr_err_code ndr_push_netr_DomainQuery(struct ndr_push *ndr, int ndr_flags, const union netr_DomainQuery *r)
6747 if (ndr_flags & NDR_SCALARS) {
6748 int level = ndr_push_get_switch_value(ndr, r);
6749 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
6752 NDR_CHECK(ndr_push_unique_ptr(ndr, r->query1));
6756 NDR_CHECK(ndr_push_unique_ptr(ndr, r->query1));
6760 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
6763 if (ndr_flags & NDR_BUFFERS) {
6764 int level = ndr_push_get_switch_value(ndr, r);
6768 NDR_CHECK(ndr_push_netr_DomainQuery1(ndr, NDR_SCALARS|NDR_BUFFERS, r->query1));
6774 NDR_CHECK(ndr_push_netr_DomainQuery1(ndr, NDR_SCALARS|NDR_BUFFERS, r->query1));
6779 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
6782 return NDR_ERR_SUCCESS;
6785 static enum ndr_err_code ndr_pull_netr_DomainQuery(struct ndr_pull *ndr, int ndr_flags, union netr_DomainQuery *r)
6789 TALLOC_CTX *_mem_save_query1_0;
6790 level = ndr_pull_get_switch_value(ndr, r);
6791 if (ndr_flags & NDR_SCALARS) {
6792 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
6793 if (_level != level) {
6794 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
6798 uint32_t _ptr_query1;
6799 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_query1));
6801 NDR_PULL_ALLOC(ndr, r->query1);
6808 uint32_t _ptr_query1;
6809 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_query1));
6811 NDR_PULL_ALLOC(ndr, r->query1);
6818 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
6821 if (ndr_flags & NDR_BUFFERS) {
6825 _mem_save_query1_0 = NDR_PULL_GET_MEM_CTX(ndr);
6826 NDR_PULL_SET_MEM_CTX(ndr, r->query1, 0);
6827 NDR_CHECK(ndr_pull_netr_DomainQuery1(ndr, NDR_SCALARS|NDR_BUFFERS, r->query1));
6828 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query1_0, 0);
6834 _mem_save_query1_0 = NDR_PULL_GET_MEM_CTX(ndr);
6835 NDR_PULL_SET_MEM_CTX(ndr, r->query1, 0);
6836 NDR_CHECK(ndr_pull_netr_DomainQuery1(ndr, NDR_SCALARS|NDR_BUFFERS, r->query1));
6837 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query1_0, 0);
6842 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
6845 return NDR_ERR_SUCCESS;
6848 _PUBLIC_ void ndr_print_netr_DomainQuery(struct ndr_print *ndr, const char *name, const union netr_DomainQuery *r)
6851 level = ndr_print_get_switch_value(ndr, r);
6852 ndr_print_union(ndr, name, level, "netr_DomainQuery");
6855 ndr_print_ptr(ndr, "query1", r->query1);
6858 ndr_print_netr_DomainQuery1(ndr, "query1", r->query1);
6864 ndr_print_ptr(ndr, "query1", r->query1);
6867 ndr_print_netr_DomainQuery1(ndr, "query1", r->query1);
6873 ndr_print_bad_level(ndr, name, level);
6877 static enum ndr_err_code ndr_push_netr_DomainTrustInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainTrustInfo *r)
6879 uint32_t cntr_unknown1_0;
6880 uint32_t cntr_unknown_0;
6881 if (ndr_flags & NDR_SCALARS) {
6882 NDR_CHECK(ndr_push_align(ndr, 4));
6883 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domainname));
6884 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->fulldomainname));
6885 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->forest));
6886 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
6887 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
6888 for (cntr_unknown1_0 = 0; cntr_unknown1_0 < 4; cntr_unknown1_0++) {
6889 NDR_CHECK(ndr_push_netr_BinaryString(ndr, NDR_SCALARS, &r->unknown1[cntr_unknown1_0]));
6891 for (cntr_unknown_0 = 0; cntr_unknown_0 < 4; cntr_unknown_0++) {
6892 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown[cntr_unknown_0]));
6895 if (ndr_flags & NDR_BUFFERS) {
6896 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domainname));
6897 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->fulldomainname));
6898 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->forest));
6900 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
6902 for (cntr_unknown1_0 = 0; cntr_unknown1_0 < 4; cntr_unknown1_0++) {
6903 NDR_CHECK(ndr_push_netr_BinaryString(ndr, NDR_BUFFERS, &r->unknown1[cntr_unknown1_0]));
6906 return NDR_ERR_SUCCESS;
6909 static enum ndr_err_code ndr_pull_netr_DomainTrustInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainTrustInfo *r)
6912 TALLOC_CTX *_mem_save_sid_0;
6913 uint32_t cntr_unknown1_0;
6914 uint32_t cntr_unknown_0;
6915 if (ndr_flags & NDR_SCALARS) {
6916 NDR_CHECK(ndr_pull_align(ndr, 4));
6917 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domainname));
6918 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->fulldomainname));
6919 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->forest));
6920 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
6921 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
6923 NDR_PULL_ALLOC(ndr, r->sid);
6927 for (cntr_unknown1_0 = 0; cntr_unknown1_0 < 4; cntr_unknown1_0++) {
6928 NDR_CHECK(ndr_pull_netr_BinaryString(ndr, NDR_SCALARS, &r->unknown1[cntr_unknown1_0]));
6930 for (cntr_unknown_0 = 0; cntr_unknown_0 < 4; cntr_unknown_0++) {
6931 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown[cntr_unknown_0]));
6934 if (ndr_flags & NDR_BUFFERS) {
6935 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domainname));
6936 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->fulldomainname));
6937 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->forest));
6939 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
6940 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
6941 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
6942 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
6944 for (cntr_unknown1_0 = 0; cntr_unknown1_0 < 4; cntr_unknown1_0++) {
6945 NDR_CHECK(ndr_pull_netr_BinaryString(ndr, NDR_BUFFERS, &r->unknown1[cntr_unknown1_0]));
6948 return NDR_ERR_SUCCESS;
6951 _PUBLIC_ void ndr_print_netr_DomainTrustInfo(struct ndr_print *ndr, const char *name, const struct netr_DomainTrustInfo *r)
6953 uint32_t cntr_unknown1_0;
6954 uint32_t cntr_unknown_0;
6955 ndr_print_struct(ndr, name, "netr_DomainTrustInfo");
6957 ndr_print_lsa_String(ndr, "domainname", &r->domainname);
6958 ndr_print_lsa_String(ndr, "fulldomainname", &r->fulldomainname);
6959 ndr_print_lsa_String(ndr, "forest", &r->forest);
6960 ndr_print_GUID(ndr, "guid", &r->guid);
6961 ndr_print_ptr(ndr, "sid", r->sid);
6964 ndr_print_dom_sid2(ndr, "sid", r->sid);
6967 ndr->print(ndr, "%s: ARRAY(%d)", "unknown1", (int)4);
6969 for (cntr_unknown1_0=0;cntr_unknown1_0<4;cntr_unknown1_0++) {
6971 if (asprintf(&idx_0, "[%d]", cntr_unknown1_0) != -1) {
6972 ndr_print_netr_BinaryString(ndr, "unknown1", &r->unknown1[cntr_unknown1_0]);
6977 ndr->print(ndr, "%s: ARRAY(%d)", "unknown", (int)4);
6979 for (cntr_unknown_0=0;cntr_unknown_0<4;cntr_unknown_0++) {
6981 if (asprintf(&idx_0, "[%d]", cntr_unknown_0) != -1) {
6982 ndr_print_uint32(ndr, "unknown", r->unknown[cntr_unknown_0]);
6990 static enum ndr_err_code ndr_push_netr_DomainInfo1(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainInfo1 *r)
6992 uint32_t cntr_trusts_1;
6993 uint32_t cntr_unknown_0;
6994 if (ndr_flags & NDR_SCALARS) {
6995 NDR_CHECK(ndr_push_align(ndr, 4));
6996 NDR_CHECK(ndr_push_netr_DomainTrustInfo(ndr, NDR_SCALARS, &r->domaininfo));
6997 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_trusts));
6998 NDR_CHECK(ndr_push_unique_ptr(ndr, r->trusts));
6999 for (cntr_unknown_0 = 0; cntr_unknown_0 < 14; cntr_unknown_0++) {
7000 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown[cntr_unknown_0]));
7003 if (ndr_flags & NDR_BUFFERS) {
7004 NDR_CHECK(ndr_push_netr_DomainTrustInfo(ndr, NDR_BUFFERS, &r->domaininfo));
7006 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_trusts));
7007 for (cntr_trusts_1 = 0; cntr_trusts_1 < r->num_trusts; cntr_trusts_1++) {
7008 NDR_CHECK(ndr_push_netr_DomainTrustInfo(ndr, NDR_SCALARS, &r->trusts[cntr_trusts_1]));
7010 for (cntr_trusts_1 = 0; cntr_trusts_1 < r->num_trusts; cntr_trusts_1++) {
7011 NDR_CHECK(ndr_push_netr_DomainTrustInfo(ndr, NDR_BUFFERS, &r->trusts[cntr_trusts_1]));
7015 return NDR_ERR_SUCCESS;
7018 static enum ndr_err_code ndr_pull_netr_DomainInfo1(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainInfo1 *r)
7020 uint32_t _ptr_trusts;
7021 uint32_t cntr_trusts_1;
7022 TALLOC_CTX *_mem_save_trusts_0;
7023 TALLOC_CTX *_mem_save_trusts_1;
7024 uint32_t cntr_unknown_0;
7025 if (ndr_flags & NDR_SCALARS) {
7026 NDR_CHECK(ndr_pull_align(ndr, 4));
7027 NDR_CHECK(ndr_pull_netr_DomainTrustInfo(ndr, NDR_SCALARS, &r->domaininfo));
7028 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_trusts));
7029 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusts));
7031 NDR_PULL_ALLOC(ndr, r->trusts);
7035 for (cntr_unknown_0 = 0; cntr_unknown_0 < 14; cntr_unknown_0++) {
7036 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown[cntr_unknown_0]));
7039 if (ndr_flags & NDR_BUFFERS) {
7040 NDR_CHECK(ndr_pull_netr_DomainTrustInfo(ndr, NDR_BUFFERS, &r->domaininfo));
7042 _mem_save_trusts_0 = NDR_PULL_GET_MEM_CTX(ndr);
7043 NDR_PULL_SET_MEM_CTX(ndr, r->trusts, 0);
7044 NDR_CHECK(ndr_pull_array_size(ndr, &r->trusts));
7045 NDR_PULL_ALLOC_N(ndr, r->trusts, ndr_get_array_size(ndr, &r->trusts));
7046 _mem_save_trusts_1 = NDR_PULL_GET_MEM_CTX(ndr);
7047 NDR_PULL_SET_MEM_CTX(ndr, r->trusts, 0);
7048 for (cntr_trusts_1 = 0; cntr_trusts_1 < r->num_trusts; cntr_trusts_1++) {
7049 NDR_CHECK(ndr_pull_netr_DomainTrustInfo(ndr, NDR_SCALARS, &r->trusts[cntr_trusts_1]));
7051 for (cntr_trusts_1 = 0; cntr_trusts_1 < r->num_trusts; cntr_trusts_1++) {
7052 NDR_CHECK(ndr_pull_netr_DomainTrustInfo(ndr, NDR_BUFFERS, &r->trusts[cntr_trusts_1]));
7054 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusts_1, 0);
7055 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusts_0, 0);
7058 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->trusts, r->num_trusts));
7061 return NDR_ERR_SUCCESS;
7064 _PUBLIC_ void ndr_print_netr_DomainInfo1(struct ndr_print *ndr, const char *name, const struct netr_DomainInfo1 *r)
7066 uint32_t cntr_trusts_1;
7067 uint32_t cntr_unknown_0;
7068 ndr_print_struct(ndr, name, "netr_DomainInfo1");
7070 ndr_print_netr_DomainTrustInfo(ndr, "domaininfo", &r->domaininfo);
7071 ndr_print_uint32(ndr, "num_trusts", r->num_trusts);
7072 ndr_print_ptr(ndr, "trusts", r->trusts);
7075 ndr->print(ndr, "%s: ARRAY(%d)", "trusts", (int)r->num_trusts);
7077 for (cntr_trusts_1=0;cntr_trusts_1<r->num_trusts;cntr_trusts_1++) {
7079 if (asprintf(&idx_1, "[%d]", cntr_trusts_1) != -1) {
7080 ndr_print_netr_DomainTrustInfo(ndr, "trusts", &r->trusts[cntr_trusts_1]);
7087 ndr->print(ndr, "%s: ARRAY(%d)", "unknown", (int)14);
7089 for (cntr_unknown_0=0;cntr_unknown_0<14;cntr_unknown_0++) {
7091 if (asprintf(&idx_0, "[%d]", cntr_unknown_0) != -1) {
7092 ndr_print_uint32(ndr, "unknown", r->unknown[cntr_unknown_0]);
7100 static enum ndr_err_code ndr_push_netr_DomainInfo(struct ndr_push *ndr, int ndr_flags, const union netr_DomainInfo *r)
7102 if (ndr_flags & NDR_SCALARS) {
7103 int level = ndr_push_get_switch_value(ndr, r);
7104 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
7107 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1));
7111 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1));
7115 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7118 if (ndr_flags & NDR_BUFFERS) {
7119 int level = ndr_push_get_switch_value(ndr, r);
7123 NDR_CHECK(ndr_push_netr_DomainInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
7129 NDR_CHECK(ndr_push_netr_DomainInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
7134 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7137 return NDR_ERR_SUCCESS;
7140 static enum ndr_err_code ndr_pull_netr_DomainInfo(struct ndr_pull *ndr, int ndr_flags, union netr_DomainInfo *r)
7144 TALLOC_CTX *_mem_save_info1_0;
7145 level = ndr_pull_get_switch_value(ndr, r);
7146 if (ndr_flags & NDR_SCALARS) {
7147 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
7148 if (_level != level) {
7149 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
7153 uint32_t _ptr_info1;
7154 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1));
7156 NDR_PULL_ALLOC(ndr, r->info1);
7163 uint32_t _ptr_info1;
7164 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1));
7166 NDR_PULL_ALLOC(ndr, r->info1);
7173 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7176 if (ndr_flags & NDR_BUFFERS) {
7180 _mem_save_info1_0 = NDR_PULL_GET_MEM_CTX(ndr);
7181 NDR_PULL_SET_MEM_CTX(ndr, r->info1, 0);
7182 NDR_CHECK(ndr_pull_netr_DomainInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
7183 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1_0, 0);
7189 _mem_save_info1_0 = NDR_PULL_GET_MEM_CTX(ndr);
7190 NDR_PULL_SET_MEM_CTX(ndr, r->info1, 0);
7191 NDR_CHECK(ndr_pull_netr_DomainInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
7192 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1_0, 0);
7197 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7200 return NDR_ERR_SUCCESS;
7203 _PUBLIC_ void ndr_print_netr_DomainInfo(struct ndr_print *ndr, const char *name, const union netr_DomainInfo *r)
7206 level = ndr_print_get_switch_value(ndr, r);
7207 ndr_print_union(ndr, name, level, "netr_DomainInfo");
7210 ndr_print_ptr(ndr, "info1", r->info1);
7213 ndr_print_netr_DomainInfo1(ndr, "info1", r->info1);
7219 ndr_print_ptr(ndr, "info1", r->info1);
7222 ndr_print_netr_DomainInfo1(ndr, "info1", r->info1);
7228 ndr_print_bad_level(ndr, name, level);
7232 static enum ndr_err_code ndr_push_netr_CryptPassword(struct ndr_push *ndr, int ndr_flags, const struct netr_CryptPassword *r)
7235 uint32_t _flags_save_STRUCT = ndr->flags;
7236 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
7237 if (ndr_flags & NDR_SCALARS) {
7238 NDR_CHECK(ndr_push_align(ndr, 4));
7239 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, 512));
7240 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
7242 if (ndr_flags & NDR_BUFFERS) {
7244 ndr->flags = _flags_save_STRUCT;
7246 return NDR_ERR_SUCCESS;
7249 static enum ndr_err_code ndr_pull_netr_CryptPassword(struct ndr_pull *ndr, int ndr_flags, struct netr_CryptPassword *r)
7252 uint32_t _flags_save_STRUCT = ndr->flags;
7253 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
7254 if (ndr_flags & NDR_SCALARS) {
7255 NDR_CHECK(ndr_pull_align(ndr, 4));
7256 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, 512));
7257 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
7259 if (ndr_flags & NDR_BUFFERS) {
7261 ndr->flags = _flags_save_STRUCT;
7263 return NDR_ERR_SUCCESS;
7266 _PUBLIC_ void ndr_print_netr_CryptPassword(struct ndr_print *ndr, const char *name, const struct netr_CryptPassword *r)
7268 ndr_print_struct(ndr, name, "netr_CryptPassword");
7270 uint32_t _flags_save_STRUCT = ndr->flags;
7271 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
7273 ndr_print_array_uint8(ndr, "data", r->data, 512);
7274 ndr_print_uint32(ndr, "length", r->length);
7276 ndr->flags = _flags_save_STRUCT;
7280 static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesWCtr(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRAddressToSitenamesWCtr *r)
7282 uint32_t cntr_sitename_1;
7283 if (ndr_flags & NDR_SCALARS) {
7284 NDR_CHECK(ndr_push_align(ndr, 4));
7285 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7286 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sitename));
7288 if (ndr_flags & NDR_BUFFERS) {
7290 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7291 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
7292 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1]));
7294 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
7295 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1]));
7299 return NDR_ERR_SUCCESS;
7302 static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesWCtr(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRAddressToSitenamesWCtr *r)
7304 uint32_t _ptr_sitename;
7305 uint32_t cntr_sitename_1;
7306 TALLOC_CTX *_mem_save_sitename_0;
7307 TALLOC_CTX *_mem_save_sitename_1;
7308 if (ndr_flags & NDR_SCALARS) {
7309 NDR_CHECK(ndr_pull_align(ndr, 4));
7310 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
7311 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sitename));
7312 if (_ptr_sitename) {
7313 NDR_PULL_ALLOC(ndr, r->sitename);
7318 if (ndr_flags & NDR_BUFFERS) {
7320 _mem_save_sitename_0 = NDR_PULL_GET_MEM_CTX(ndr);
7321 NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
7322 NDR_CHECK(ndr_pull_array_size(ndr, &r->sitename));
7323 NDR_PULL_ALLOC_N(ndr, r->sitename, ndr_get_array_size(ndr, &r->sitename));
7324 _mem_save_sitename_1 = NDR_PULL_GET_MEM_CTX(ndr);
7325 NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
7326 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
7327 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1]));
7329 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
7330 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1]));
7332 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_1, 0);
7333 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_0, 0);
7336 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sitename, r->count));
7339 return NDR_ERR_SUCCESS;
7342 _PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesWCtr(struct ndr_print *ndr, const char *name, const struct netr_DsRAddressToSitenamesWCtr *r)
7344 uint32_t cntr_sitename_1;
7345 ndr_print_struct(ndr, name, "netr_DsRAddressToSitenamesWCtr");
7347 ndr_print_uint32(ndr, "count", r->count);
7348 ndr_print_ptr(ndr, "sitename", r->sitename);
7351 ndr->print(ndr, "%s: ARRAY(%d)", "sitename", (int)r->count);
7353 for (cntr_sitename_1=0;cntr_sitename_1<r->count;cntr_sitename_1++) {
7355 if (asprintf(&idx_1, "[%d]", cntr_sitename_1) != -1) {
7356 ndr_print_lsa_String(ndr, "sitename", &r->sitename[cntr_sitename_1]);
7366 static enum ndr_err_code ndr_push_netr_DsRAddress(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRAddress *r)
7368 if (ndr_flags & NDR_SCALARS) {
7369 NDR_CHECK(ndr_push_align(ndr, 4));
7370 NDR_CHECK(ndr_push_unique_ptr(ndr, r->buffer));
7371 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
7373 if (ndr_flags & NDR_BUFFERS) {
7375 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
7376 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->buffer, r->size));
7379 return NDR_ERR_SUCCESS;
7382 static enum ndr_err_code ndr_pull_netr_DsRAddress(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRAddress *r)
7384 uint32_t _ptr_buffer;
7385 TALLOC_CTX *_mem_save_buffer_0;
7386 if (ndr_flags & NDR_SCALARS) {
7387 NDR_CHECK(ndr_pull_align(ndr, 4));
7388 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
7390 NDR_PULL_ALLOC(ndr, r->buffer);
7394 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
7396 if (ndr_flags & NDR_BUFFERS) {
7398 _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
7399 NDR_PULL_SET_MEM_CTX(ndr, r->buffer, 0);
7400 NDR_CHECK(ndr_pull_array_size(ndr, &r->buffer));
7401 NDR_PULL_ALLOC_N(ndr, r->buffer, ndr_get_array_size(ndr, &r->buffer));
7402 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->buffer, ndr_get_array_size(ndr, &r->buffer)));
7403 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
7406 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->buffer, r->size));
7409 return NDR_ERR_SUCCESS;
7412 _PUBLIC_ void ndr_print_netr_DsRAddress(struct ndr_print *ndr, const char *name, const struct netr_DsRAddress *r)
7414 ndr_print_struct(ndr, name, "netr_DsRAddress");
7416 ndr_print_ptr(ndr, "buffer", r->buffer);
7419 ndr_print_array_uint8(ndr, "buffer", r->buffer, r->size);
7422 ndr_print_uint32(ndr, "size", r->size);
7426 static enum ndr_err_code ndr_push_netr_TrustFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
7428 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
7429 return NDR_ERR_SUCCESS;
7432 static enum ndr_err_code ndr_pull_netr_TrustFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
7435 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
7437 return NDR_ERR_SUCCESS;
7440 _PUBLIC_ void ndr_print_netr_TrustFlags(struct ndr_print *ndr, const char *name, uint32_t r)
7442 ndr_print_uint32(ndr, name, r);
7444 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_IN_FOREST", NETR_TRUST_FLAG_IN_FOREST, r);
7445 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_OUTBOUND", NETR_TRUST_FLAG_OUTBOUND, r);
7446 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_TREEROOT", NETR_TRUST_FLAG_TREEROOT, r);
7447 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_PRIMARY", NETR_TRUST_FLAG_PRIMARY, r);
7448 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_NATIVE", NETR_TRUST_FLAG_NATIVE, r);
7449 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_INBOUND", NETR_TRUST_FLAG_INBOUND, r);
7453 static enum ndr_err_code ndr_push_netr_TrustType(struct ndr_push *ndr, int ndr_flags, enum netr_TrustType r)
7455 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
7456 return NDR_ERR_SUCCESS;
7459 static enum ndr_err_code ndr_pull_netr_TrustType(struct ndr_pull *ndr, int ndr_flags, enum netr_TrustType *r)
7462 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
7464 return NDR_ERR_SUCCESS;
7467 _PUBLIC_ void ndr_print_netr_TrustType(struct ndr_print *ndr, const char *name, enum netr_TrustType r)
7469 const char *val = NULL;
7472 case NETR_TRUST_TYPE_DOWNLEVEL: val = "NETR_TRUST_TYPE_DOWNLEVEL"; break;
7473 case NETR_TRUST_TYPE_UPLEVEL: val = "NETR_TRUST_TYPE_UPLEVEL"; break;
7474 case NETR_TRUST_TYPE_MIT: val = "NETR_TRUST_TYPE_MIT"; break;
7475 case NETR_TRUST_TYPE_DCE: val = "NETR_TRUST_TYPE_DCE"; break;
7477 ndr_print_enum(ndr, name, "ENUM", val, r);
7480 static enum ndr_err_code ndr_push_netr_TrustAttributes(struct ndr_push *ndr, int ndr_flags, uint32_t r)
7482 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
7483 return NDR_ERR_SUCCESS;
7486 static enum ndr_err_code ndr_pull_netr_TrustAttributes(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
7489 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
7491 return NDR_ERR_SUCCESS;
7494 _PUBLIC_ void ndr_print_netr_TrustAttributes(struct ndr_print *ndr, const char *name, uint32_t r)
7496 ndr_print_uint32(ndr, name, r);
7498 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_NON_TRANSITIVE", NETR_TRUST_ATTRIBUTE_NON_TRANSITIVE, r);
7499 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_UPLEVEL_ONLY", NETR_TRUST_ATTRIBUTE_UPLEVEL_ONLY, r);
7500 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN", NETR_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN, r);
7501 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_FOREST_TRANSITIVE", NETR_TRUST_ATTRIBUTE_FOREST_TRANSITIVE, r);
7502 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_CROSS_ORGANIZATION", NETR_TRUST_ATTRIBUTE_CROSS_ORGANIZATION, r);
7503 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_WITHIN_FOREST", NETR_TRUST_ATTRIBUTE_WITHIN_FOREST, r);
7504 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL", NETR_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL, r);
7508 static enum ndr_err_code ndr_push_netr_DomainTrust(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainTrust *r)
7510 if (ndr_flags & NDR_SCALARS) {
7511 NDR_CHECK(ndr_push_align(ndr, 4));
7512 NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
7513 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
7514 NDR_CHECK(ndr_push_netr_TrustFlags(ndr, NDR_SCALARS, r->trust_flags));
7515 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->parent_index));
7516 NDR_CHECK(ndr_push_netr_TrustType(ndr, NDR_SCALARS, r->trust_type));
7517 NDR_CHECK(ndr_push_netr_TrustAttributes(ndr, NDR_SCALARS, r->trust_attributes));
7518 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
7519 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
7521 if (ndr_flags & NDR_BUFFERS) {
7522 if (r->netbios_name) {
7523 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7524 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7525 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7526 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7529 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7530 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7531 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7532 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7535 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
7538 return NDR_ERR_SUCCESS;
7541 static enum ndr_err_code ndr_pull_netr_DomainTrust(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainTrust *r)
7543 uint32_t _ptr_netbios_name;
7544 TALLOC_CTX *_mem_save_netbios_name_0;
7545 uint32_t _ptr_dns_name;
7546 TALLOC_CTX *_mem_save_dns_name_0;
7548 TALLOC_CTX *_mem_save_sid_0;
7549 if (ndr_flags & NDR_SCALARS) {
7550 NDR_CHECK(ndr_pull_align(ndr, 4));
7551 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
7552 if (_ptr_netbios_name) {
7553 NDR_PULL_ALLOC(ndr, r->netbios_name);
7555 r->netbios_name = NULL;
7557 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
7558 if (_ptr_dns_name) {
7559 NDR_PULL_ALLOC(ndr, r->dns_name);
7563 NDR_CHECK(ndr_pull_netr_TrustFlags(ndr, NDR_SCALARS, &r->trust_flags));
7564 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->parent_index));
7565 NDR_CHECK(ndr_pull_netr_TrustType(ndr, NDR_SCALARS, &r->trust_type));
7566 NDR_CHECK(ndr_pull_netr_TrustAttributes(ndr, NDR_SCALARS, &r->trust_attributes));
7567 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
7569 NDR_PULL_ALLOC(ndr, r->sid);
7573 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
7575 if (ndr_flags & NDR_BUFFERS) {
7576 if (r->netbios_name) {
7577 _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7578 NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
7579 NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
7580 NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
7581 if (ndr_get_array_length(ndr, &r->netbios_name) > ndr_get_array_size(ndr, &r->netbios_name)) {
7582 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));
7584 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t)));
7585 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t), CH_UTF16));
7586 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
7589 _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7590 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
7591 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
7592 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
7593 if (ndr_get_array_length(ndr, &r->dns_name) > ndr_get_array_size(ndr, &r->dns_name)) {
7594 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));
7596 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t)));
7597 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t), CH_UTF16));
7598 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
7601 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
7602 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
7603 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
7604 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
7607 return NDR_ERR_SUCCESS;
7610 _PUBLIC_ void ndr_print_netr_DomainTrust(struct ndr_print *ndr, const char *name, const struct netr_DomainTrust *r)
7612 ndr_print_struct(ndr, name, "netr_DomainTrust");
7614 ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
7616 if (r->netbios_name) {
7617 ndr_print_string(ndr, "netbios_name", r->netbios_name);
7620 ndr_print_ptr(ndr, "dns_name", r->dns_name);
7623 ndr_print_string(ndr, "dns_name", r->dns_name);
7626 ndr_print_netr_TrustFlags(ndr, "trust_flags", r->trust_flags);
7627 ndr_print_uint32(ndr, "parent_index", r->parent_index);
7628 ndr_print_netr_TrustType(ndr, "trust_type", r->trust_type);
7629 ndr_print_netr_TrustAttributes(ndr, "trust_attributes", r->trust_attributes);
7630 ndr_print_ptr(ndr, "sid", r->sid);
7633 ndr_print_dom_sid2(ndr, "sid", r->sid);
7636 ndr_print_GUID(ndr, "guid", &r->guid);
7640 static enum ndr_err_code ndr_push_netr_DomainTrustList(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainTrustList *r)
7642 uint32_t cntr_array_1;
7643 if (ndr_flags & NDR_SCALARS) {
7644 NDR_CHECK(ndr_push_align(ndr, 4));
7645 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7646 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
7648 if (ndr_flags & NDR_BUFFERS) {
7650 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7651 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7652 NDR_CHECK(ndr_push_netr_DomainTrust(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7654 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7655 NDR_CHECK(ndr_push_netr_DomainTrust(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7659 return NDR_ERR_SUCCESS;
7662 static enum ndr_err_code ndr_pull_netr_DomainTrustList(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainTrustList *r)
7664 uint32_t _ptr_array;
7665 uint32_t cntr_array_1;
7666 TALLOC_CTX *_mem_save_array_0;
7667 TALLOC_CTX *_mem_save_array_1;
7668 if (ndr_flags & NDR_SCALARS) {
7669 NDR_CHECK(ndr_pull_align(ndr, 4));
7670 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
7671 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
7673 NDR_PULL_ALLOC(ndr, r->array);
7678 if (ndr_flags & NDR_BUFFERS) {
7680 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
7681 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7682 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
7683 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
7684 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
7685 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7686 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7687 NDR_CHECK(ndr_pull_netr_DomainTrust(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7689 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7690 NDR_CHECK(ndr_pull_netr_DomainTrust(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7692 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
7693 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
7696 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
7699 return NDR_ERR_SUCCESS;
7702 _PUBLIC_ void ndr_print_netr_DomainTrustList(struct ndr_print *ndr, const char *name, const struct netr_DomainTrustList *r)
7704 uint32_t cntr_array_1;
7705 ndr_print_struct(ndr, name, "netr_DomainTrustList");
7707 ndr_print_uint32(ndr, "count", r->count);
7708 ndr_print_ptr(ndr, "array", r->array);
7711 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
7713 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
7715 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
7716 ndr_print_netr_DomainTrust(ndr, "array", &r->array[cntr_array_1]);
7726 static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesExWCtr(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRAddressToSitenamesExWCtr *r)
7728 uint32_t cntr_sitename_1;
7729 uint32_t cntr_subnetname_1;
7730 if (ndr_flags & NDR_SCALARS) {
7731 NDR_CHECK(ndr_push_align(ndr, 4));
7732 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7733 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sitename));
7734 NDR_CHECK(ndr_push_unique_ptr(ndr, r->subnetname));
7736 if (ndr_flags & NDR_BUFFERS) {
7738 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7739 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
7740 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1]));
7742 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
7743 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1]));
7746 if (r->subnetname) {
7747 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7748 for (cntr_subnetname_1 = 0; cntr_subnetname_1 < r->count; cntr_subnetname_1++) {
7749 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->subnetname[cntr_subnetname_1]));
7751 for (cntr_subnetname_1 = 0; cntr_subnetname_1 < r->count; cntr_subnetname_1++) {
7752 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->subnetname[cntr_subnetname_1]));
7756 return NDR_ERR_SUCCESS;
7759 static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesExWCtr(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRAddressToSitenamesExWCtr *r)
7761 uint32_t _ptr_sitename;
7762 uint32_t cntr_sitename_1;
7763 TALLOC_CTX *_mem_save_sitename_0;
7764 TALLOC_CTX *_mem_save_sitename_1;
7765 uint32_t _ptr_subnetname;
7766 uint32_t cntr_subnetname_1;
7767 TALLOC_CTX *_mem_save_subnetname_0;
7768 TALLOC_CTX *_mem_save_subnetname_1;
7769 if (ndr_flags & NDR_SCALARS) {
7770 NDR_CHECK(ndr_pull_align(ndr, 4));
7771 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
7772 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sitename));
7773 if (_ptr_sitename) {
7774 NDR_PULL_ALLOC(ndr, r->sitename);
7778 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_subnetname));
7779 if (_ptr_subnetname) {
7780 NDR_PULL_ALLOC(ndr, r->subnetname);
7782 r->subnetname = NULL;
7785 if (ndr_flags & NDR_BUFFERS) {
7787 _mem_save_sitename_0 = NDR_PULL_GET_MEM_CTX(ndr);
7788 NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
7789 NDR_CHECK(ndr_pull_array_size(ndr, &r->sitename));
7790 NDR_PULL_ALLOC_N(ndr, r->sitename, ndr_get_array_size(ndr, &r->sitename));
7791 _mem_save_sitename_1 = NDR_PULL_GET_MEM_CTX(ndr);
7792 NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
7793 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
7794 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1]));
7796 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
7797 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1]));
7799 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_1, 0);
7800 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_0, 0);
7802 if (r->subnetname) {
7803 _mem_save_subnetname_0 = NDR_PULL_GET_MEM_CTX(ndr);
7804 NDR_PULL_SET_MEM_CTX(ndr, r->subnetname, 0);
7805 NDR_CHECK(ndr_pull_array_size(ndr, &r->subnetname));
7806 NDR_PULL_ALLOC_N(ndr, r->subnetname, ndr_get_array_size(ndr, &r->subnetname));
7807 _mem_save_subnetname_1 = NDR_PULL_GET_MEM_CTX(ndr);
7808 NDR_PULL_SET_MEM_CTX(ndr, r->subnetname, 0);
7809 for (cntr_subnetname_1 = 0; cntr_subnetname_1 < r->count; cntr_subnetname_1++) {
7810 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->subnetname[cntr_subnetname_1]));
7812 for (cntr_subnetname_1 = 0; cntr_subnetname_1 < r->count; cntr_subnetname_1++) {
7813 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->subnetname[cntr_subnetname_1]));
7815 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_subnetname_1, 0);
7816 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_subnetname_0, 0);
7819 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sitename, r->count));
7821 if (r->subnetname) {
7822 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->subnetname, r->count));
7825 return NDR_ERR_SUCCESS;
7828 _PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesExWCtr(struct ndr_print *ndr, const char *name, const struct netr_DsRAddressToSitenamesExWCtr *r)
7830 uint32_t cntr_sitename_1;
7831 uint32_t cntr_subnetname_1;
7832 ndr_print_struct(ndr, name, "netr_DsRAddressToSitenamesExWCtr");
7834 ndr_print_uint32(ndr, "count", r->count);
7835 ndr_print_ptr(ndr, "sitename", r->sitename);
7838 ndr->print(ndr, "%s: ARRAY(%d)", "sitename", (int)r->count);
7840 for (cntr_sitename_1=0;cntr_sitename_1<r->count;cntr_sitename_1++) {
7842 if (asprintf(&idx_1, "[%d]", cntr_sitename_1) != -1) {
7843 ndr_print_lsa_String(ndr, "sitename", &r->sitename[cntr_sitename_1]);
7850 ndr_print_ptr(ndr, "subnetname", r->subnetname);
7852 if (r->subnetname) {
7853 ndr->print(ndr, "%s: ARRAY(%d)", "subnetname", (int)r->count);
7855 for (cntr_subnetname_1=0;cntr_subnetname_1<r->count;cntr_subnetname_1++) {
7857 if (asprintf(&idx_1, "[%d]", cntr_subnetname_1) != -1) {
7858 ndr_print_lsa_String(ndr, "subnetname", &r->subnetname[cntr_subnetname_1]);
7868 static enum ndr_err_code ndr_push_DcSitesCtr(struct ndr_push *ndr, int ndr_flags, const struct DcSitesCtr *r)
7870 uint32_t cntr_sites_1;
7871 if (ndr_flags & NDR_SCALARS) {
7872 NDR_CHECK(ndr_push_align(ndr, 4));
7873 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sites));
7874 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sites));
7876 if (ndr_flags & NDR_BUFFERS) {
7878 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sites));
7879 for (cntr_sites_1 = 0; cntr_sites_1 < r->num_sites; cntr_sites_1++) {
7880 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->sites[cntr_sites_1]));
7882 for (cntr_sites_1 = 0; cntr_sites_1 < r->num_sites; cntr_sites_1++) {
7883 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->sites[cntr_sites_1]));
7887 return NDR_ERR_SUCCESS;
7890 static enum ndr_err_code ndr_pull_DcSitesCtr(struct ndr_pull *ndr, int ndr_flags, struct DcSitesCtr *r)
7892 uint32_t _ptr_sites;
7893 uint32_t cntr_sites_1;
7894 TALLOC_CTX *_mem_save_sites_0;
7895 TALLOC_CTX *_mem_save_sites_1;
7896 if (ndr_flags & NDR_SCALARS) {
7897 NDR_CHECK(ndr_pull_align(ndr, 4));
7898 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_sites));
7899 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sites));
7901 NDR_PULL_ALLOC(ndr, r->sites);
7906 if (ndr_flags & NDR_BUFFERS) {
7908 _mem_save_sites_0 = NDR_PULL_GET_MEM_CTX(ndr);
7909 NDR_PULL_SET_MEM_CTX(ndr, r->sites, 0);
7910 NDR_CHECK(ndr_pull_array_size(ndr, &r->sites));
7911 NDR_PULL_ALLOC_N(ndr, r->sites, ndr_get_array_size(ndr, &r->sites));
7912 _mem_save_sites_1 = NDR_PULL_GET_MEM_CTX(ndr);
7913 NDR_PULL_SET_MEM_CTX(ndr, r->sites, 0);
7914 for (cntr_sites_1 = 0; cntr_sites_1 < r->num_sites; cntr_sites_1++) {
7915 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->sites[cntr_sites_1]));
7917 for (cntr_sites_1 = 0; cntr_sites_1 < r->num_sites; cntr_sites_1++) {
7918 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->sites[cntr_sites_1]));
7920 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sites_1, 0);
7921 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sites_0, 0);
7924 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sites, r->num_sites));
7927 return NDR_ERR_SUCCESS;
7930 _PUBLIC_ void ndr_print_DcSitesCtr(struct ndr_print *ndr, const char *name, const struct DcSitesCtr *r)
7932 uint32_t cntr_sites_1;
7933 ndr_print_struct(ndr, name, "DcSitesCtr");
7935 ndr_print_uint32(ndr, "num_sites", r->num_sites);
7936 ndr_print_ptr(ndr, "sites", r->sites);
7939 ndr->print(ndr, "%s: ARRAY(%d)", "sites", (int)r->num_sites);
7941 for (cntr_sites_1=0;cntr_sites_1<r->num_sites;cntr_sites_1++) {
7943 if (asprintf(&idx_1, "[%d]", cntr_sites_1) != -1) {
7944 ndr_print_lsa_String(ndr, "sites", &r->sites[cntr_sites_1]);
7954 static enum ndr_err_code ndr_push_netr_LogonUasLogon(struct ndr_push *ndr, int flags, const struct netr_LogonUasLogon *r)
7956 if (flags & NDR_IN) {
7957 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
7958 if (r->in.server_name) {
7959 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
7960 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7961 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
7962 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));
7964 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
7965 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7966 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
7967 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));
7968 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
7969 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7970 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
7971 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.workstation, ndr_charset_length(r->in.workstation, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7973 if (flags & NDR_OUT) {
7974 if (r->out.info == NULL) {
7975 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7977 NDR_CHECK(ndr_push_netr_UasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
7978 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
7980 return NDR_ERR_SUCCESS;
7983 static enum ndr_err_code ndr_pull_netr_LogonUasLogon(struct ndr_pull *ndr, int flags, struct netr_LogonUasLogon *r)
7985 uint32_t _ptr_server_name;
7986 TALLOC_CTX *_mem_save_server_name_0;
7987 TALLOC_CTX *_mem_save_info_0;
7988 if (flags & NDR_IN) {
7989 ZERO_STRUCT(r->out);
7991 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
7992 if (_ptr_server_name) {
7993 NDR_PULL_ALLOC(ndr, r->in.server_name);
7995 r->in.server_name = NULL;
7997 if (r->in.server_name) {
7998 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7999 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
8000 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
8001 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
8002 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
8003 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));
8005 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
8006 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));
8007 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
8009 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
8010 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
8011 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
8012 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));
8014 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
8015 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));
8016 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.workstation));
8017 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.workstation));
8018 if (ndr_get_array_length(ndr, &r->in.workstation) > ndr_get_array_size(ndr, &r->in.workstation)) {
8019 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));
8021 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.workstation), sizeof(uint16_t)));
8022 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.workstation, ndr_get_array_length(ndr, &r->in.workstation), sizeof(uint16_t), CH_UTF16));
8023 NDR_PULL_ALLOC(ndr, r->out.info);
8024 ZERO_STRUCTP(r->out.info);
8026 if (flags & NDR_OUT) {
8027 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8028 NDR_PULL_ALLOC(ndr, r->out.info);
8030 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
8031 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
8032 NDR_CHECK(ndr_pull_netr_UasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
8033 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
8034 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
8036 return NDR_ERR_SUCCESS;
8039 _PUBLIC_ void ndr_print_netr_LogonUasLogon(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonUasLogon *r)
8041 ndr_print_struct(ndr, name, "netr_LogonUasLogon");
8043 if (flags & NDR_SET_VALUES) {
8044 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8046 if (flags & NDR_IN) {
8047 ndr_print_struct(ndr, "in", "netr_LogonUasLogon");
8049 ndr_print_ptr(ndr, "server_name", r->in.server_name);
8051 if (r->in.server_name) {
8052 ndr_print_string(ndr, "server_name", r->in.server_name);
8055 ndr_print_string(ndr, "account_name", r->in.account_name);
8056 ndr_print_string(ndr, "workstation", r->in.workstation);
8059 if (flags & NDR_OUT) {
8060 ndr_print_struct(ndr, "out", "netr_LogonUasLogon");
8062 ndr_print_ptr(ndr, "info", r->out.info);
8064 ndr_print_netr_UasInfo(ndr, "info", r->out.info);
8066 ndr_print_WERROR(ndr, "result", r->out.result);
8072 static enum ndr_err_code ndr_push_netr_LogonUasLogoff(struct ndr_push *ndr, int flags, const struct netr_LogonUasLogoff *r)
8074 if (flags & NDR_IN) {
8075 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
8076 if (r->in.server_name) {
8077 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8078 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8079 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8080 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));
8082 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
8083 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8084 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
8085 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));
8086 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
8087 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8088 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
8089 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.workstation, ndr_charset_length(r->in.workstation, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8091 if (flags & NDR_OUT) {
8092 if (r->out.info == NULL) {
8093 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8095 NDR_CHECK(ndr_push_netr_UasLogoffInfo(ndr, NDR_SCALARS, r->out.info));
8096 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
8098 return NDR_ERR_SUCCESS;
8101 static enum ndr_err_code ndr_pull_netr_LogonUasLogoff(struct ndr_pull *ndr, int flags, struct netr_LogonUasLogoff *r)
8103 uint32_t _ptr_server_name;
8104 TALLOC_CTX *_mem_save_server_name_0;
8105 TALLOC_CTX *_mem_save_info_0;
8106 if (flags & NDR_IN) {
8107 ZERO_STRUCT(r->out);
8109 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
8110 if (_ptr_server_name) {
8111 NDR_PULL_ALLOC(ndr, r->in.server_name);
8113 r->in.server_name = NULL;
8115 if (r->in.server_name) {
8116 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8117 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
8118 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
8119 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
8120 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
8121 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));
8123 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
8124 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));
8125 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
8127 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
8128 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
8129 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
8130 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));
8132 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
8133 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));
8134 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.workstation));
8135 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.workstation));
8136 if (ndr_get_array_length(ndr, &r->in.workstation) > ndr_get_array_size(ndr, &r->in.workstation)) {
8137 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));
8139 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.workstation), sizeof(uint16_t)));
8140 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.workstation, ndr_get_array_length(ndr, &r->in.workstation), sizeof(uint16_t), CH_UTF16));
8141 NDR_PULL_ALLOC(ndr, r->out.info);
8142 ZERO_STRUCTP(r->out.info);
8144 if (flags & NDR_OUT) {
8145 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8146 NDR_PULL_ALLOC(ndr, r->out.info);
8148 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
8149 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
8150 NDR_CHECK(ndr_pull_netr_UasLogoffInfo(ndr, NDR_SCALARS, r->out.info));
8151 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
8152 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
8154 return NDR_ERR_SUCCESS;
8157 _PUBLIC_ void ndr_print_netr_LogonUasLogoff(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonUasLogoff *r)
8159 ndr_print_struct(ndr, name, "netr_LogonUasLogoff");
8161 if (flags & NDR_SET_VALUES) {
8162 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8164 if (flags & NDR_IN) {
8165 ndr_print_struct(ndr, "in", "netr_LogonUasLogoff");
8167 ndr_print_ptr(ndr, "server_name", r->in.server_name);
8169 if (r->in.server_name) {
8170 ndr_print_string(ndr, "server_name", r->in.server_name);
8173 ndr_print_string(ndr, "account_name", r->in.account_name);
8174 ndr_print_string(ndr, "workstation", r->in.workstation);
8177 if (flags & NDR_OUT) {
8178 ndr_print_struct(ndr, "out", "netr_LogonUasLogoff");
8180 ndr_print_ptr(ndr, "info", r->out.info);
8182 ndr_print_netr_UasLogoffInfo(ndr, "info", r->out.info);
8184 ndr_print_WERROR(ndr, "result", r->out.result);
8190 static enum ndr_err_code ndr_push_netr_LogonSamLogon(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogon *r)
8192 if (flags & NDR_IN) {
8193 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
8194 if (r->in.server_name) {
8195 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8196 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8197 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8198 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));
8200 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
8201 if (r->in.computer_name) {
8202 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
8203 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8204 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
8205 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));
8207 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.credential));
8208 if (r->in.credential) {
8209 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
8211 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.return_authenticator));
8212 if (r->in.return_authenticator) {
8213 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
8215 NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS, r->in.logon_level));
8216 if (r->in.logon == NULL) {
8217 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8219 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.logon, r->in.logon_level));
8220 NDR_CHECK(ndr_push_netr_LogonInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
8221 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.validation_level));
8223 if (flags & NDR_OUT) {
8224 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.return_authenticator));
8225 if (r->out.return_authenticator) {
8226 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
8228 if (r->out.validation == NULL) {
8229 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8231 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.validation, r->in.validation_level));
8232 NDR_CHECK(ndr_push_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
8233 if (r->out.authoritative == NULL) {
8234 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8236 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, *r->out.authoritative));
8237 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8239 return NDR_ERR_SUCCESS;
8242 static enum ndr_err_code ndr_pull_netr_LogonSamLogon(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogon *r)
8244 uint32_t _ptr_server_name;
8245 uint32_t _ptr_computer_name;
8246 uint32_t _ptr_credential;
8247 uint32_t _ptr_return_authenticator;
8248 TALLOC_CTX *_mem_save_server_name_0;
8249 TALLOC_CTX *_mem_save_computer_name_0;
8250 TALLOC_CTX *_mem_save_credential_0;
8251 TALLOC_CTX *_mem_save_return_authenticator_0;
8252 TALLOC_CTX *_mem_save_logon_0;
8253 TALLOC_CTX *_mem_save_validation_0;
8254 TALLOC_CTX *_mem_save_authoritative_0;
8255 if (flags & NDR_IN) {
8256 ZERO_STRUCT(r->out);
8258 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
8259 if (_ptr_server_name) {
8260 NDR_PULL_ALLOC(ndr, r->in.server_name);
8262 r->in.server_name = NULL;
8264 if (r->in.server_name) {
8265 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8266 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
8267 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
8268 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
8269 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
8270 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));
8272 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
8273 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));
8274 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
8276 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
8277 if (_ptr_computer_name) {
8278 NDR_PULL_ALLOC(ndr, r->in.computer_name);
8280 r->in.computer_name = NULL;
8282 if (r->in.computer_name) {
8283 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8284 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
8285 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
8286 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
8287 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
8288 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));
8290 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
8291 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));
8292 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
8294 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_credential));
8295 if (_ptr_credential) {
8296 NDR_PULL_ALLOC(ndr, r->in.credential);
8298 r->in.credential = NULL;
8300 if (r->in.credential) {
8301 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
8302 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, 0);
8303 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
8304 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, 0);
8306 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
8307 if (_ptr_return_authenticator) {
8308 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
8310 r->in.return_authenticator = NULL;
8312 if (r->in.return_authenticator) {
8313 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
8314 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, 0);
8315 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
8316 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
8318 NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS, &r->in.logon_level));
8319 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8320 NDR_PULL_ALLOC(ndr, r->in.logon);
8322 _mem_save_logon_0 = NDR_PULL_GET_MEM_CTX(ndr);
8323 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon, LIBNDR_FLAG_REF_ALLOC);
8324 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.logon, r->in.logon_level));
8325 NDR_CHECK(ndr_pull_netr_LogonInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
8326 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_0, LIBNDR_FLAG_REF_ALLOC);
8327 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.validation_level));
8328 NDR_PULL_ALLOC(ndr, r->out.validation);
8329 ZERO_STRUCTP(r->out.validation);
8330 NDR_PULL_ALLOC(ndr, r->out.authoritative);
8331 ZERO_STRUCTP(r->out.authoritative);
8333 if (flags & NDR_OUT) {
8334 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
8335 if (_ptr_return_authenticator) {
8336 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
8338 r->out.return_authenticator = NULL;
8340 if (r->out.return_authenticator) {
8341 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
8342 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, 0);
8343 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
8344 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
8346 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8347 NDR_PULL_ALLOC(ndr, r->out.validation);
8349 _mem_save_validation_0 = NDR_PULL_GET_MEM_CTX(ndr);
8350 NDR_PULL_SET_MEM_CTX(ndr, r->out.validation, LIBNDR_FLAG_REF_ALLOC);
8351 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.validation, r->in.validation_level));
8352 NDR_CHECK(ndr_pull_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
8353 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_validation_0, LIBNDR_FLAG_REF_ALLOC);
8354 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8355 NDR_PULL_ALLOC(ndr, r->out.authoritative);
8357 _mem_save_authoritative_0 = NDR_PULL_GET_MEM_CTX(ndr);
8358 NDR_PULL_SET_MEM_CTX(ndr, r->out.authoritative, LIBNDR_FLAG_REF_ALLOC);
8359 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, r->out.authoritative));
8360 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_authoritative_0, LIBNDR_FLAG_REF_ALLOC);
8361 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8363 return NDR_ERR_SUCCESS;
8366 _PUBLIC_ void ndr_print_netr_LogonSamLogon(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogon *r)
8368 ndr_print_struct(ndr, name, "netr_LogonSamLogon");
8370 if (flags & NDR_SET_VALUES) {
8371 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8373 if (flags & NDR_IN) {
8374 ndr_print_struct(ndr, "in", "netr_LogonSamLogon");
8376 ndr_print_ptr(ndr, "server_name", r->in.server_name);
8378 if (r->in.server_name) {
8379 ndr_print_string(ndr, "server_name", r->in.server_name);
8382 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
8384 if (r->in.computer_name) {
8385 ndr_print_string(ndr, "computer_name", r->in.computer_name);
8388 ndr_print_ptr(ndr, "credential", r->in.credential);
8390 if (r->in.credential) {
8391 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
8394 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
8396 if (r->in.return_authenticator) {
8397 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
8400 ndr_print_netr_LogonLevel(ndr, "logon_level", r->in.logon_level);
8401 ndr_print_ptr(ndr, "logon", r->in.logon);
8403 ndr_print_set_switch_value(ndr, r->in.logon, r->in.logon_level);
8404 ndr_print_netr_LogonInfo(ndr, "logon", r->in.logon);
8406 ndr_print_uint16(ndr, "validation_level", r->in.validation_level);
8409 if (flags & NDR_OUT) {
8410 ndr_print_struct(ndr, "out", "netr_LogonSamLogon");
8412 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
8414 if (r->out.return_authenticator) {
8415 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
8418 ndr_print_ptr(ndr, "validation", r->out.validation);
8420 ndr_print_set_switch_value(ndr, r->out.validation, r->in.validation_level);
8421 ndr_print_netr_Validation(ndr, "validation", r->out.validation);
8423 ndr_print_ptr(ndr, "authoritative", r->out.authoritative);
8425 ndr_print_uint8(ndr, "authoritative", *r->out.authoritative);
8427 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8433 static enum ndr_err_code ndr_push_netr_LogonSamLogoff(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogoff *r)
8435 if (flags & NDR_IN) {
8436 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
8437 if (r->in.server_name) {
8438 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8439 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8440 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8441 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));
8443 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
8444 if (r->in.computer_name) {
8445 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
8446 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8447 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
8448 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));
8450 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.credential));
8451 if (r->in.credential) {
8452 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
8454 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.return_authenticator));
8455 if (r->in.return_authenticator) {
8456 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
8458 NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS, r->in.logon_level));
8459 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.logon, r->in.logon_level));
8460 NDR_CHECK(ndr_push_netr_LogonInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon));
8462 if (flags & NDR_OUT) {
8463 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.return_authenticator));
8464 if (r->out.return_authenticator) {
8465 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
8467 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8469 return NDR_ERR_SUCCESS;
8472 static enum ndr_err_code ndr_pull_netr_LogonSamLogoff(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogoff *r)
8474 uint32_t _ptr_server_name;
8475 uint32_t _ptr_computer_name;
8476 uint32_t _ptr_credential;
8477 uint32_t _ptr_return_authenticator;
8478 TALLOC_CTX *_mem_save_server_name_0;
8479 TALLOC_CTX *_mem_save_computer_name_0;
8480 TALLOC_CTX *_mem_save_credential_0;
8481 TALLOC_CTX *_mem_save_return_authenticator_0;
8482 if (flags & NDR_IN) {
8483 ZERO_STRUCT(r->out);
8485 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
8486 if (_ptr_server_name) {
8487 NDR_PULL_ALLOC(ndr, r->in.server_name);
8489 r->in.server_name = NULL;
8491 if (r->in.server_name) {
8492 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8493 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
8494 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
8495 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
8496 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
8497 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));
8499 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
8500 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));
8501 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
8503 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
8504 if (_ptr_computer_name) {
8505 NDR_PULL_ALLOC(ndr, r->in.computer_name);
8507 r->in.computer_name = NULL;
8509 if (r->in.computer_name) {
8510 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8511 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
8512 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
8513 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
8514 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
8515 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));
8517 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
8518 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));
8519 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
8521 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_credential));
8522 if (_ptr_credential) {
8523 NDR_PULL_ALLOC(ndr, r->in.credential);
8525 r->in.credential = NULL;
8527 if (r->in.credential) {
8528 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
8529 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, 0);
8530 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
8531 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, 0);
8533 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
8534 if (_ptr_return_authenticator) {
8535 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
8537 r->in.return_authenticator = NULL;
8539 if (r->in.return_authenticator) {
8540 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
8541 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, 0);
8542 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
8543 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
8545 NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS, &r->in.logon_level));
8546 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.logon, r->in.logon_level));
8547 NDR_CHECK(ndr_pull_netr_LogonInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon));
8549 if (flags & NDR_OUT) {
8550 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
8551 if (_ptr_return_authenticator) {
8552 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
8554 r->out.return_authenticator = NULL;
8556 if (r->out.return_authenticator) {
8557 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
8558 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, 0);
8559 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
8560 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
8562 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8564 return NDR_ERR_SUCCESS;
8567 _PUBLIC_ void ndr_print_netr_LogonSamLogoff(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogoff *r)
8569 ndr_print_struct(ndr, name, "netr_LogonSamLogoff");
8571 if (flags & NDR_SET_VALUES) {
8572 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8574 if (flags & NDR_IN) {
8575 ndr_print_struct(ndr, "in", "netr_LogonSamLogoff");
8577 ndr_print_ptr(ndr, "server_name", r->in.server_name);
8579 if (r->in.server_name) {
8580 ndr_print_string(ndr, "server_name", r->in.server_name);
8583 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
8585 if (r->in.computer_name) {
8586 ndr_print_string(ndr, "computer_name", r->in.computer_name);
8589 ndr_print_ptr(ndr, "credential", r->in.credential);
8591 if (r->in.credential) {
8592 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
8595 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
8597 if (r->in.return_authenticator) {
8598 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
8601 ndr_print_netr_LogonLevel(ndr, "logon_level", r->in.logon_level);
8602 ndr_print_set_switch_value(ndr, &r->in.logon, r->in.logon_level);
8603 ndr_print_netr_LogonInfo(ndr, "logon", &r->in.logon);
8606 if (flags & NDR_OUT) {
8607 ndr_print_struct(ndr, "out", "netr_LogonSamLogoff");
8609 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
8611 if (r->out.return_authenticator) {
8612 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
8615 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8621 static enum ndr_err_code ndr_push_netr_ServerReqChallenge(struct ndr_push *ndr, int flags, const struct netr_ServerReqChallenge *r)
8623 if (flags & NDR_IN) {
8624 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
8625 if (r->in.server_name) {
8626 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8627 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8628 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8629 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));
8631 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
8632 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8633 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
8634 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));
8635 if (r->in.credentials == NULL) {
8636 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8638 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
8640 if (flags & NDR_OUT) {
8641 if (r->out.return_credentials == NULL) {
8642 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8644 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
8645 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8647 return NDR_ERR_SUCCESS;
8650 static enum ndr_err_code ndr_pull_netr_ServerReqChallenge(struct ndr_pull *ndr, int flags, struct netr_ServerReqChallenge *r)
8652 uint32_t _ptr_server_name;
8653 TALLOC_CTX *_mem_save_server_name_0;
8654 TALLOC_CTX *_mem_save_credentials_0;
8655 TALLOC_CTX *_mem_save_return_credentials_0;
8656 if (flags & NDR_IN) {
8657 ZERO_STRUCT(r->out);
8659 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
8660 if (_ptr_server_name) {
8661 NDR_PULL_ALLOC(ndr, r->in.server_name);
8663 r->in.server_name = NULL;
8665 if (r->in.server_name) {
8666 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8667 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
8668 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
8669 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
8670 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
8671 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));
8673 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
8674 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));
8675 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
8677 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
8678 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
8679 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
8680 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));
8682 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
8683 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));
8684 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8685 NDR_PULL_ALLOC(ndr, r->in.credentials);
8687 _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
8688 NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC);
8689 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
8690 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
8691 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
8692 ZERO_STRUCTP(r->out.return_credentials);
8694 if (flags & NDR_OUT) {
8695 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8696 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
8698 _mem_save_return_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
8699 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_credentials, LIBNDR_FLAG_REF_ALLOC);
8700 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
8701 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_credentials_0, LIBNDR_FLAG_REF_ALLOC);
8702 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8704 return NDR_ERR_SUCCESS;
8707 _PUBLIC_ void ndr_print_netr_ServerReqChallenge(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerReqChallenge *r)
8709 ndr_print_struct(ndr, name, "netr_ServerReqChallenge");
8711 if (flags & NDR_SET_VALUES) {
8712 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8714 if (flags & NDR_IN) {
8715 ndr_print_struct(ndr, "in", "netr_ServerReqChallenge");
8717 ndr_print_ptr(ndr, "server_name", r->in.server_name);
8719 if (r->in.server_name) {
8720 ndr_print_string(ndr, "server_name", r->in.server_name);
8723 ndr_print_string(ndr, "computer_name", r->in.computer_name);
8724 ndr_print_ptr(ndr, "credentials", r->in.credentials);
8726 ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
8730 if (flags & NDR_OUT) {
8731 ndr_print_struct(ndr, "out", "netr_ServerReqChallenge");
8733 ndr_print_ptr(ndr, "return_credentials", r->out.return_credentials);
8735 ndr_print_netr_Credential(ndr, "return_credentials", r->out.return_credentials);
8737 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8743 static enum ndr_err_code ndr_push_netr_ServerAuthenticate(struct ndr_push *ndr, int flags, const struct netr_ServerAuthenticate *r)
8745 if (flags & NDR_IN) {
8746 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
8747 if (r->in.server_name) {
8748 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8749 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8750 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8751 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));
8753 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
8754 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8755 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
8756 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));
8757 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
8758 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
8759 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8760 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
8761 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));
8762 if (r->in.credentials == NULL) {
8763 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8765 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
8767 if (flags & NDR_OUT) {
8768 if (r->out.return_credentials == NULL) {
8769 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8771 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
8772 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8774 return NDR_ERR_SUCCESS;
8777 static enum ndr_err_code ndr_pull_netr_ServerAuthenticate(struct ndr_pull *ndr, int flags, struct netr_ServerAuthenticate *r)
8779 uint32_t _ptr_server_name;
8780 TALLOC_CTX *_mem_save_server_name_0;
8781 TALLOC_CTX *_mem_save_credentials_0;
8782 TALLOC_CTX *_mem_save_return_credentials_0;
8783 if (flags & NDR_IN) {
8784 ZERO_STRUCT(r->out);
8786 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
8787 if (_ptr_server_name) {
8788 NDR_PULL_ALLOC(ndr, r->in.server_name);
8790 r->in.server_name = NULL;
8792 if (r->in.server_name) {
8793 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8794 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
8795 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
8796 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
8797 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
8798 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));
8800 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
8801 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));
8802 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
8804 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
8805 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
8806 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
8807 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));
8809 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
8810 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));
8811 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
8812 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
8813 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
8814 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
8815 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));
8817 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
8818 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));
8819 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8820 NDR_PULL_ALLOC(ndr, r->in.credentials);
8822 _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
8823 NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC);
8824 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
8825 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
8826 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
8827 ZERO_STRUCTP(r->out.return_credentials);
8829 if (flags & NDR_OUT) {
8830 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8831 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
8833 _mem_save_return_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
8834 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_credentials, LIBNDR_FLAG_REF_ALLOC);
8835 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
8836 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_credentials_0, LIBNDR_FLAG_REF_ALLOC);
8837 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8839 return NDR_ERR_SUCCESS;
8842 _PUBLIC_ void ndr_print_netr_ServerAuthenticate(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerAuthenticate *r)
8844 ndr_print_struct(ndr, name, "netr_ServerAuthenticate");
8846 if (flags & NDR_SET_VALUES) {
8847 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8849 if (flags & NDR_IN) {
8850 ndr_print_struct(ndr, "in", "netr_ServerAuthenticate");
8852 ndr_print_ptr(ndr, "server_name", r->in.server_name);
8854 if (r->in.server_name) {
8855 ndr_print_string(ndr, "server_name", r->in.server_name);
8858 ndr_print_string(ndr, "account_name", r->in.account_name);
8859 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
8860 ndr_print_string(ndr, "computer_name", r->in.computer_name);
8861 ndr_print_ptr(ndr, "credentials", r->in.credentials);
8863 ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
8867 if (flags & NDR_OUT) {
8868 ndr_print_struct(ndr, "out", "netr_ServerAuthenticate");
8870 ndr_print_ptr(ndr, "return_credentials", r->out.return_credentials);
8872 ndr_print_netr_Credential(ndr, "return_credentials", r->out.return_credentials);
8874 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8880 static enum ndr_err_code ndr_push_netr_ServerPasswordSet(struct ndr_push *ndr, int flags, const struct netr_ServerPasswordSet *r)
8882 if (flags & NDR_IN) {
8883 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
8884 if (r->in.server_name) {
8885 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8886 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8887 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8888 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));
8890 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
8891 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8892 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
8893 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));
8894 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
8895 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
8896 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8897 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
8898 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));
8899 if (r->in.credential == NULL) {
8900 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8902 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
8903 if (r->in.new_password == NULL) {
8904 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8906 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.new_password));
8908 if (flags & NDR_OUT) {
8909 if (r->out.return_authenticator == NULL) {
8910 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8912 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
8913 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8915 return NDR_ERR_SUCCESS;
8918 static enum ndr_err_code ndr_pull_netr_ServerPasswordSet(struct ndr_pull *ndr, int flags, struct netr_ServerPasswordSet *r)
8920 uint32_t _ptr_server_name;
8921 TALLOC_CTX *_mem_save_server_name_0;
8922 TALLOC_CTX *_mem_save_credential_0;
8923 TALLOC_CTX *_mem_save_return_authenticator_0;
8924 TALLOC_CTX *_mem_save_new_password_0;
8925 if (flags & NDR_IN) {
8926 ZERO_STRUCT(r->out);
8928 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
8929 if (_ptr_server_name) {
8930 NDR_PULL_ALLOC(ndr, r->in.server_name);
8932 r->in.server_name = NULL;
8934 if (r->in.server_name) {
8935 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8936 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
8937 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
8938 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
8939 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
8940 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));
8942 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
8943 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));
8944 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
8946 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
8947 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
8948 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
8949 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));
8951 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
8952 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));
8953 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
8954 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
8955 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
8956 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
8957 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));
8959 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
8960 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));
8961 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8962 NDR_PULL_ALLOC(ndr, r->in.credential);
8964 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
8965 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
8966 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
8967 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
8968 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8969 NDR_PULL_ALLOC(ndr, r->in.new_password);
8971 _mem_save_new_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
8972 NDR_PULL_SET_MEM_CTX(ndr, r->in.new_password, LIBNDR_FLAG_REF_ALLOC);
8973 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.new_password));
8974 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_password_0, LIBNDR_FLAG_REF_ALLOC);
8975 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
8976 ZERO_STRUCTP(r->out.return_authenticator);
8978 if (flags & NDR_OUT) {
8979 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8980 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
8982 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
8983 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
8984 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
8985 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
8986 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8988 return NDR_ERR_SUCCESS;
8991 _PUBLIC_ void ndr_print_netr_ServerPasswordSet(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerPasswordSet *r)
8993 ndr_print_struct(ndr, name, "netr_ServerPasswordSet");
8995 if (flags & NDR_SET_VALUES) {
8996 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8998 if (flags & NDR_IN) {
8999 ndr_print_struct(ndr, "in", "netr_ServerPasswordSet");
9001 ndr_print_ptr(ndr, "server_name", r->in.server_name);
9003 if (r->in.server_name) {
9004 ndr_print_string(ndr, "server_name", r->in.server_name);
9007 ndr_print_string(ndr, "account_name", r->in.account_name);
9008 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
9009 ndr_print_string(ndr, "computer_name", r->in.computer_name);
9010 ndr_print_ptr(ndr, "credential", r->in.credential);
9012 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
9014 ndr_print_ptr(ndr, "new_password", r->in.new_password);
9016 ndr_print_samr_Password(ndr, "new_password", r->in.new_password);
9020 if (flags & NDR_OUT) {
9021 ndr_print_struct(ndr, "out", "netr_ServerPasswordSet");
9023 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
9025 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
9027 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9033 static enum ndr_err_code ndr_push_netr_DatabaseDeltas(struct ndr_push *ndr, int flags, const struct netr_DatabaseDeltas *r)
9035 if (flags & NDR_IN) {
9036 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9037 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9038 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9039 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));
9040 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
9041 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9042 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
9043 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9044 if (r->in.credential == NULL) {
9045 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9047 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
9048 if (r->in.return_authenticator == NULL) {
9049 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9051 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9052 NDR_CHECK(ndr_push_netr_SamDatabaseID(ndr, NDR_SCALARS, r->in.database_id));
9053 if (r->in.sequence_num == NULL) {
9054 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9056 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, *r->in.sequence_num));
9057 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.preferredmaximumlength));
9059 if (flags & NDR_OUT) {
9060 if (r->out.return_authenticator == NULL) {
9061 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9063 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9064 if (r->out.sequence_num == NULL) {
9065 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9067 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, *r->out.sequence_num));
9068 if (r->out.delta_enum_array == NULL) {
9069 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9071 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.delta_enum_array));
9072 if (*r->out.delta_enum_array) {
9073 NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
9075 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9077 return NDR_ERR_SUCCESS;
9080 static enum ndr_err_code ndr_pull_netr_DatabaseDeltas(struct ndr_pull *ndr, int flags, struct netr_DatabaseDeltas *r)
9082 uint32_t _ptr_delta_enum_array;
9083 TALLOC_CTX *_mem_save_credential_0;
9084 TALLOC_CTX *_mem_save_return_authenticator_0;
9085 TALLOC_CTX *_mem_save_sequence_num_0;
9086 TALLOC_CTX *_mem_save_delta_enum_array_0;
9087 TALLOC_CTX *_mem_save_delta_enum_array_1;
9088 if (flags & NDR_IN) {
9089 ZERO_STRUCT(r->out);
9091 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
9092 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
9093 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
9094 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));
9096 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
9097 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));
9098 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
9099 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
9100 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
9101 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));
9103 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
9104 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
9105 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9106 NDR_PULL_ALLOC(ndr, r->in.credential);
9108 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
9109 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
9110 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
9111 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
9112 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9113 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
9115 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9116 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
9117 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9118 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
9119 NDR_CHECK(ndr_pull_netr_SamDatabaseID(ndr, NDR_SCALARS, &r->in.database_id));
9120 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9121 NDR_PULL_ALLOC(ndr, r->in.sequence_num);
9123 _mem_save_sequence_num_0 = NDR_PULL_GET_MEM_CTX(ndr);
9124 NDR_PULL_SET_MEM_CTX(ndr, r->in.sequence_num, LIBNDR_FLAG_REF_ALLOC);
9125 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, r->in.sequence_num));
9126 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sequence_num_0, LIBNDR_FLAG_REF_ALLOC);
9127 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.preferredmaximumlength));
9128 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9129 *r->out.return_authenticator = *r->in.return_authenticator;
9130 NDR_PULL_ALLOC(ndr, r->out.sequence_num);
9131 *r->out.sequence_num = *r->in.sequence_num;
9132 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
9133 ZERO_STRUCTP(r->out.delta_enum_array);
9135 if (flags & NDR_OUT) {
9136 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9137 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9139 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9140 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
9141 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9142 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
9143 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9144 NDR_PULL_ALLOC(ndr, r->out.sequence_num);
9146 _mem_save_sequence_num_0 = NDR_PULL_GET_MEM_CTX(ndr);
9147 NDR_PULL_SET_MEM_CTX(ndr, r->out.sequence_num, LIBNDR_FLAG_REF_ALLOC);
9148 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, r->out.sequence_num));
9149 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sequence_num_0, LIBNDR_FLAG_REF_ALLOC);
9150 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9151 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
9153 _mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
9154 NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC);
9155 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum_array));
9156 if (_ptr_delta_enum_array) {
9157 NDR_PULL_ALLOC(ndr, *r->out.delta_enum_array);
9159 *r->out.delta_enum_array = NULL;
9161 if (*r->out.delta_enum_array) {
9162 _mem_save_delta_enum_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
9163 NDR_PULL_SET_MEM_CTX(ndr, *r->out.delta_enum_array, 0);
9164 NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
9165 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_1, 0);
9167 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC);
9168 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9170 return NDR_ERR_SUCCESS;
9173 _PUBLIC_ void ndr_print_netr_DatabaseDeltas(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseDeltas *r)
9175 ndr_print_struct(ndr, name, "netr_DatabaseDeltas");
9177 if (flags & NDR_SET_VALUES) {
9178 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9180 if (flags & NDR_IN) {
9181 ndr_print_struct(ndr, "in", "netr_DatabaseDeltas");
9183 ndr_print_string(ndr, "logon_server", r->in.logon_server);
9184 ndr_print_string(ndr, "computername", r->in.computername);
9185 ndr_print_ptr(ndr, "credential", r->in.credential);
9187 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
9189 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
9191 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
9193 ndr_print_netr_SamDatabaseID(ndr, "database_id", r->in.database_id);
9194 ndr_print_ptr(ndr, "sequence_num", r->in.sequence_num);
9196 ndr_print_udlong(ndr, "sequence_num", *r->in.sequence_num);
9198 ndr_print_uint32(ndr, "preferredmaximumlength", r->in.preferredmaximumlength);
9201 if (flags & NDR_OUT) {
9202 ndr_print_struct(ndr, "out", "netr_DatabaseDeltas");
9204 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
9206 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
9208 ndr_print_ptr(ndr, "sequence_num", r->out.sequence_num);
9210 ndr_print_udlong(ndr, "sequence_num", *r->out.sequence_num);
9212 ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array);
9214 ndr_print_ptr(ndr, "delta_enum_array", *r->out.delta_enum_array);
9216 if (*r->out.delta_enum_array) {
9217 ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", *r->out.delta_enum_array);
9221 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9227 static enum ndr_err_code ndr_push_netr_DatabaseSync(struct ndr_push *ndr, int flags, const struct netr_DatabaseSync *r)
9229 if (flags & NDR_IN) {
9230 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9231 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9232 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9233 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));
9234 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
9235 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9236 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
9237 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9238 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
9239 if (r->in.return_authenticator == NULL) {
9240 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9242 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9243 NDR_CHECK(ndr_push_netr_SamDatabaseID(ndr, NDR_SCALARS, r->in.database_id));
9244 if (r->in.sync_context == NULL) {
9245 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9247 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.sync_context));
9248 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.preferredmaximumlength));
9250 if (flags & NDR_OUT) {
9251 if (r->out.return_authenticator == NULL) {
9252 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9254 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9255 if (r->out.sync_context == NULL) {
9256 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9258 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.sync_context));
9259 if (r->out.delta_enum_array == NULL) {
9260 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9262 NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.delta_enum_array));
9263 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9265 return NDR_ERR_SUCCESS;
9268 static enum ndr_err_code ndr_pull_netr_DatabaseSync(struct ndr_pull *ndr, int flags, struct netr_DatabaseSync *r)
9270 TALLOC_CTX *_mem_save_return_authenticator_0;
9271 TALLOC_CTX *_mem_save_sync_context_0;
9272 TALLOC_CTX *_mem_save_delta_enum_array_0;
9273 if (flags & NDR_IN) {
9274 ZERO_STRUCT(r->out);
9276 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
9277 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
9278 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
9279 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));
9281 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
9282 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));
9283 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
9284 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
9285 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
9286 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));
9288 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
9289 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
9290 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
9291 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9292 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
9294 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9295 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
9296 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9297 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
9298 NDR_CHECK(ndr_pull_netr_SamDatabaseID(ndr, NDR_SCALARS, &r->in.database_id));
9299 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9300 NDR_PULL_ALLOC(ndr, r->in.sync_context);
9302 _mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
9303 NDR_PULL_SET_MEM_CTX(ndr, r->in.sync_context, LIBNDR_FLAG_REF_ALLOC);
9304 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.sync_context));
9305 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC);
9306 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.preferredmaximumlength));
9307 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9308 *r->out.return_authenticator = *r->in.return_authenticator;
9309 NDR_PULL_ALLOC(ndr, r->out.sync_context);
9310 *r->out.sync_context = *r->in.sync_context;
9311 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
9312 ZERO_STRUCTP(r->out.delta_enum_array);
9314 if (flags & NDR_OUT) {
9315 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9316 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9318 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9319 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
9320 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9321 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
9322 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9323 NDR_PULL_ALLOC(ndr, r->out.sync_context);
9325 _mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
9326 NDR_PULL_SET_MEM_CTX(ndr, r->out.sync_context, LIBNDR_FLAG_REF_ALLOC);
9327 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.sync_context));
9328 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC);
9329 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9330 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
9332 _mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
9333 NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC);
9334 NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.delta_enum_array));
9335 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC);
9336 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9338 return NDR_ERR_SUCCESS;
9341 _PUBLIC_ void ndr_print_netr_DatabaseSync(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseSync *r)
9343 ndr_print_struct(ndr, name, "netr_DatabaseSync");
9345 if (flags & NDR_SET_VALUES) {
9346 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9348 if (flags & NDR_IN) {
9349 ndr_print_struct(ndr, "in", "netr_DatabaseSync");
9351 ndr_print_string(ndr, "logon_server", r->in.logon_server);
9352 ndr_print_string(ndr, "computername", r->in.computername);
9353 ndr_print_netr_Authenticator(ndr, "credential", &r->in.credential);
9354 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
9356 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
9358 ndr_print_netr_SamDatabaseID(ndr, "database_id", r->in.database_id);
9359 ndr_print_ptr(ndr, "sync_context", r->in.sync_context);
9361 ndr_print_uint32(ndr, "sync_context", *r->in.sync_context);
9363 ndr_print_uint32(ndr, "preferredmaximumlength", r->in.preferredmaximumlength);
9366 if (flags & NDR_OUT) {
9367 ndr_print_struct(ndr, "out", "netr_DatabaseSync");
9369 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
9371 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
9373 ndr_print_ptr(ndr, "sync_context", r->out.sync_context);
9375 ndr_print_uint32(ndr, "sync_context", *r->out.sync_context);
9377 ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array);
9379 ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", r->out.delta_enum_array);
9381 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9387 static enum ndr_err_code ndr_push_netr_AccountDeltas(struct ndr_push *ndr, int flags, const struct netr_AccountDeltas *r)
9389 if (flags & NDR_IN) {
9390 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
9391 if (r->in.logon_server) {
9392 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9393 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9394 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9395 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));
9397 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
9398 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9399 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
9400 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9401 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
9402 if (r->in.return_authenticator == NULL) {
9403 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9405 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9406 NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, &r->in.uas));
9407 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
9408 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
9409 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buffersize));
9411 if (flags & NDR_OUT) {
9412 if (r->out.return_authenticator == NULL) {
9413 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9415 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9416 if (r->out.buffer == NULL) {
9417 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9420 struct ndr_push *_ndr_buffer;
9421 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_buffer, 4, -1));
9422 NDR_CHECK(ndr_push_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer));
9423 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_buffer, 4, -1));
9425 if (r->out.count_returned == NULL) {
9426 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9428 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count_returned));
9429 if (r->out.total_entries == NULL) {
9430 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9432 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.total_entries));
9433 if (r->out.recordid == NULL) {
9434 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9436 NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid));
9437 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9439 return NDR_ERR_SUCCESS;
9442 static enum ndr_err_code ndr_pull_netr_AccountDeltas(struct ndr_pull *ndr, int flags, struct netr_AccountDeltas *r)
9444 uint32_t _ptr_logon_server;
9445 TALLOC_CTX *_mem_save_logon_server_0;
9446 TALLOC_CTX *_mem_save_return_authenticator_0;
9447 TALLOC_CTX *_mem_save_buffer_0;
9448 TALLOC_CTX *_mem_save_count_returned_0;
9449 TALLOC_CTX *_mem_save_total_entries_0;
9450 TALLOC_CTX *_mem_save_recordid_0;
9451 if (flags & NDR_IN) {
9452 ZERO_STRUCT(r->out);
9454 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
9455 if (_ptr_logon_server) {
9456 NDR_PULL_ALLOC(ndr, r->in.logon_server);
9458 r->in.logon_server = NULL;
9460 if (r->in.logon_server) {
9461 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
9462 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
9463 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
9464 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
9465 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
9466 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));
9468 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
9469 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));
9470 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
9472 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
9473 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
9474 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
9475 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));
9477 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
9478 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
9479 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
9480 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9481 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
9483 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9484 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
9485 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9486 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
9487 NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, &r->in.uas));
9488 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
9489 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
9490 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buffersize));
9491 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9492 *r->out.return_authenticator = *r->in.return_authenticator;
9493 NDR_PULL_ALLOC(ndr, r->out.buffer);
9494 ZERO_STRUCTP(r->out.buffer);
9495 NDR_PULL_ALLOC(ndr, r->out.count_returned);
9496 ZERO_STRUCTP(r->out.count_returned);
9497 NDR_PULL_ALLOC(ndr, r->out.total_entries);
9498 ZERO_STRUCTP(r->out.total_entries);
9499 NDR_PULL_ALLOC(ndr, r->out.recordid);
9500 ZERO_STRUCTP(r->out.recordid);
9502 if (flags & NDR_OUT) {
9503 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9504 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9506 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9507 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
9508 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9509 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
9510 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9511 NDR_PULL_ALLOC(ndr, r->out.buffer);
9513 _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
9514 NDR_PULL_SET_MEM_CTX(ndr, r->out.buffer, LIBNDR_FLAG_REF_ALLOC);
9516 struct ndr_pull *_ndr_buffer;
9517 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_buffer, 4, -1));
9518 NDR_CHECK(ndr_pull_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer));
9519 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_buffer, 4, -1));
9521 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, LIBNDR_FLAG_REF_ALLOC);
9522 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9523 NDR_PULL_ALLOC(ndr, r->out.count_returned);
9525 _mem_save_count_returned_0 = NDR_PULL_GET_MEM_CTX(ndr);
9526 NDR_PULL_SET_MEM_CTX(ndr, r->out.count_returned, LIBNDR_FLAG_REF_ALLOC);
9527 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count_returned));
9528 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_returned_0, LIBNDR_FLAG_REF_ALLOC);
9529 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9530 NDR_PULL_ALLOC(ndr, r->out.total_entries);
9532 _mem_save_total_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
9533 NDR_PULL_SET_MEM_CTX(ndr, r->out.total_entries, LIBNDR_FLAG_REF_ALLOC);
9534 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.total_entries));
9535 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_total_entries_0, LIBNDR_FLAG_REF_ALLOC);
9536 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9537 NDR_PULL_ALLOC(ndr, r->out.recordid);
9539 _mem_save_recordid_0 = NDR_PULL_GET_MEM_CTX(ndr);
9540 NDR_PULL_SET_MEM_CTX(ndr, r->out.recordid, LIBNDR_FLAG_REF_ALLOC);
9541 NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid));
9542 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_recordid_0, LIBNDR_FLAG_REF_ALLOC);
9543 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9545 return NDR_ERR_SUCCESS;
9548 _PUBLIC_ void ndr_print_netr_AccountDeltas(struct ndr_print *ndr, const char *name, int flags, const struct netr_AccountDeltas *r)
9550 ndr_print_struct(ndr, name, "netr_AccountDeltas");
9552 if (flags & NDR_SET_VALUES) {
9553 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9555 if (flags & NDR_IN) {
9556 ndr_print_struct(ndr, "in", "netr_AccountDeltas");
9558 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
9560 if (r->in.logon_server) {
9561 ndr_print_string(ndr, "logon_server", r->in.logon_server);
9564 ndr_print_string(ndr, "computername", r->in.computername);
9565 ndr_print_netr_Authenticator(ndr, "credential", &r->in.credential);
9566 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
9568 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
9570 ndr_print_netr_UAS_INFO_0(ndr, "uas", &r->in.uas);
9571 ndr_print_uint32(ndr, "count", r->in.count);
9572 ndr_print_uint32(ndr, "level", r->in.level);
9573 ndr_print_uint32(ndr, "buffersize", r->in.buffersize);
9576 if (flags & NDR_OUT) {
9577 ndr_print_struct(ndr, "out", "netr_AccountDeltas");
9579 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
9581 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
9583 ndr_print_ptr(ndr, "buffer", r->out.buffer);
9585 ndr_print_netr_AccountBuffer(ndr, "buffer", r->out.buffer);
9587 ndr_print_ptr(ndr, "count_returned", r->out.count_returned);
9589 ndr_print_uint32(ndr, "count_returned", *r->out.count_returned);
9591 ndr_print_ptr(ndr, "total_entries", r->out.total_entries);
9593 ndr_print_uint32(ndr, "total_entries", *r->out.total_entries);
9595 ndr_print_ptr(ndr, "recordid", r->out.recordid);
9597 ndr_print_netr_UAS_INFO_0(ndr, "recordid", r->out.recordid);
9599 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9605 static enum ndr_err_code ndr_push_netr_AccountSync(struct ndr_push *ndr, int flags, const struct netr_AccountSync *r)
9607 if (flags & NDR_IN) {
9608 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
9609 if (r->in.logon_server) {
9610 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9611 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9612 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9613 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));
9615 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
9616 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9617 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
9618 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9619 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
9620 if (r->in.return_authenticator == NULL) {
9621 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9623 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9624 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.reference));
9625 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
9626 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buffersize));
9627 if (r->in.recordid == NULL) {
9628 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9630 NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->in.recordid));
9632 if (flags & NDR_OUT) {
9633 if (r->out.return_authenticator == NULL) {
9634 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9636 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9637 if (r->out.buffer == NULL) {
9638 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9641 struct ndr_push *_ndr_buffer;
9642 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_buffer, 4, -1));
9643 NDR_CHECK(ndr_push_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer));
9644 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_buffer, 4, -1));
9646 if (r->out.count_returned == NULL) {
9647 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9649 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count_returned));
9650 if (r->out.total_entries == NULL) {
9651 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9653 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.total_entries));
9654 if (r->out.next_reference == NULL) {
9655 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9657 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.next_reference));
9658 if (r->out.recordid == NULL) {
9659 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9661 NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid));
9662 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9664 return NDR_ERR_SUCCESS;
9667 static enum ndr_err_code ndr_pull_netr_AccountSync(struct ndr_pull *ndr, int flags, struct netr_AccountSync *r)
9669 uint32_t _ptr_logon_server;
9670 TALLOC_CTX *_mem_save_logon_server_0;
9671 TALLOC_CTX *_mem_save_return_authenticator_0;
9672 TALLOC_CTX *_mem_save_buffer_0;
9673 TALLOC_CTX *_mem_save_count_returned_0;
9674 TALLOC_CTX *_mem_save_total_entries_0;
9675 TALLOC_CTX *_mem_save_next_reference_0;
9676 TALLOC_CTX *_mem_save_recordid_0;
9677 if (flags & NDR_IN) {
9678 ZERO_STRUCT(r->out);
9680 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
9681 if (_ptr_logon_server) {
9682 NDR_PULL_ALLOC(ndr, r->in.logon_server);
9684 r->in.logon_server = NULL;
9686 if (r->in.logon_server) {
9687 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
9688 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
9689 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
9690 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
9691 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
9692 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));
9694 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
9695 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));
9696 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
9698 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
9699 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
9700 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
9701 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));
9703 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
9704 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
9705 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
9706 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9707 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
9709 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9710 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
9711 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9712 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
9713 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.reference));
9714 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
9715 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buffersize));
9716 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9717 NDR_PULL_ALLOC(ndr, r->in.recordid);
9719 _mem_save_recordid_0 = NDR_PULL_GET_MEM_CTX(ndr);
9720 NDR_PULL_SET_MEM_CTX(ndr, r->in.recordid, LIBNDR_FLAG_REF_ALLOC);
9721 NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->in.recordid));
9722 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_recordid_0, LIBNDR_FLAG_REF_ALLOC);
9723 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9724 *r->out.return_authenticator = *r->in.return_authenticator;
9725 NDR_PULL_ALLOC(ndr, r->out.buffer);
9726 ZERO_STRUCTP(r->out.buffer);
9727 NDR_PULL_ALLOC(ndr, r->out.count_returned);
9728 ZERO_STRUCTP(r->out.count_returned);
9729 NDR_PULL_ALLOC(ndr, r->out.total_entries);
9730 ZERO_STRUCTP(r->out.total_entries);
9731 NDR_PULL_ALLOC(ndr, r->out.next_reference);
9732 ZERO_STRUCTP(r->out.next_reference);
9733 NDR_PULL_ALLOC(ndr, r->out.recordid);
9734 *r->out.recordid = *r->in.recordid;
9736 if (flags & NDR_OUT) {
9737 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9738 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9740 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9741 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
9742 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9743 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
9744 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9745 NDR_PULL_ALLOC(ndr, r->out.buffer);
9747 _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
9748 NDR_PULL_SET_MEM_CTX(ndr, r->out.buffer, LIBNDR_FLAG_REF_ALLOC);
9750 struct ndr_pull *_ndr_buffer;
9751 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_buffer, 4, -1));
9752 NDR_CHECK(ndr_pull_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer));
9753 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_buffer, 4, -1));
9755 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, LIBNDR_FLAG_REF_ALLOC);
9756 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9757 NDR_PULL_ALLOC(ndr, r->out.count_returned);
9759 _mem_save_count_returned_0 = NDR_PULL_GET_MEM_CTX(ndr);
9760 NDR_PULL_SET_MEM_CTX(ndr, r->out.count_returned, LIBNDR_FLAG_REF_ALLOC);
9761 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count_returned));
9762 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_returned_0, LIBNDR_FLAG_REF_ALLOC);
9763 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9764 NDR_PULL_ALLOC(ndr, r->out.total_entries);
9766 _mem_save_total_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
9767 NDR_PULL_SET_MEM_CTX(ndr, r->out.total_entries, LIBNDR_FLAG_REF_ALLOC);
9768 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.total_entries));
9769 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_total_entries_0, LIBNDR_FLAG_REF_ALLOC);
9770 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9771 NDR_PULL_ALLOC(ndr, r->out.next_reference);
9773 _mem_save_next_reference_0 = NDR_PULL_GET_MEM_CTX(ndr);
9774 NDR_PULL_SET_MEM_CTX(ndr, r->out.next_reference, LIBNDR_FLAG_REF_ALLOC);
9775 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.next_reference));
9776 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_reference_0, LIBNDR_FLAG_REF_ALLOC);
9777 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9778 NDR_PULL_ALLOC(ndr, r->out.recordid);
9780 _mem_save_recordid_0 = NDR_PULL_GET_MEM_CTX(ndr);
9781 NDR_PULL_SET_MEM_CTX(ndr, r->out.recordid, LIBNDR_FLAG_REF_ALLOC);
9782 NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid));
9783 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_recordid_0, LIBNDR_FLAG_REF_ALLOC);
9784 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9786 return NDR_ERR_SUCCESS;
9789 _PUBLIC_ void ndr_print_netr_AccountSync(struct ndr_print *ndr, const char *name, int flags, const struct netr_AccountSync *r)
9791 ndr_print_struct(ndr, name, "netr_AccountSync");
9793 if (flags & NDR_SET_VALUES) {
9794 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9796 if (flags & NDR_IN) {
9797 ndr_print_struct(ndr, "in", "netr_AccountSync");
9799 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
9801 if (r->in.logon_server) {
9802 ndr_print_string(ndr, "logon_server", r->in.logon_server);
9805 ndr_print_string(ndr, "computername", r->in.computername);
9806 ndr_print_netr_Authenticator(ndr, "credential", &r->in.credential);
9807 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
9809 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
9811 ndr_print_uint32(ndr, "reference", r->in.reference);
9812 ndr_print_uint32(ndr, "level", r->in.level);
9813 ndr_print_uint32(ndr, "buffersize", r->in.buffersize);
9814 ndr_print_ptr(ndr, "recordid", r->in.recordid);
9816 ndr_print_netr_UAS_INFO_0(ndr, "recordid", r->in.recordid);
9820 if (flags & NDR_OUT) {
9821 ndr_print_struct(ndr, "out", "netr_AccountSync");
9823 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
9825 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
9827 ndr_print_ptr(ndr, "buffer", r->out.buffer);
9829 ndr_print_netr_AccountBuffer(ndr, "buffer", r->out.buffer);
9831 ndr_print_ptr(ndr, "count_returned", r->out.count_returned);
9833 ndr_print_uint32(ndr, "count_returned", *r->out.count_returned);
9835 ndr_print_ptr(ndr, "total_entries", r->out.total_entries);
9837 ndr_print_uint32(ndr, "total_entries", *r->out.total_entries);
9839 ndr_print_ptr(ndr, "next_reference", r->out.next_reference);
9841 ndr_print_uint32(ndr, "next_reference", *r->out.next_reference);
9843 ndr_print_ptr(ndr, "recordid", r->out.recordid);
9845 ndr_print_netr_UAS_INFO_0(ndr, "recordid", r->out.recordid);
9847 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9853 static enum ndr_err_code ndr_push_netr_GetDcName(struct ndr_push *ndr, int flags, const struct netr_GetDcName *r)
9855 if (flags & NDR_IN) {
9856 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9857 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9858 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9859 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));
9860 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domainname));
9861 if (r->in.domainname) {
9862 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16)));
9863 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9864 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16)));
9865 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domainname, ndr_charset_length(r->in.domainname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9868 if (flags & NDR_OUT) {
9869 if (r->out.dcname == NULL) {
9870 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9872 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.dcname));
9873 if (*r->out.dcname) {
9874 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16)));
9875 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9876 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16)));
9877 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.dcname, ndr_charset_length(*r->out.dcname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9879 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
9881 return NDR_ERR_SUCCESS;
9884 static enum ndr_err_code ndr_pull_netr_GetDcName(struct ndr_pull *ndr, int flags, struct netr_GetDcName *r)
9886 uint32_t _ptr_domainname;
9887 uint32_t _ptr_dcname;
9888 TALLOC_CTX *_mem_save_domainname_0;
9889 TALLOC_CTX *_mem_save_dcname_0;
9890 TALLOC_CTX *_mem_save_dcname_1;
9891 if (flags & NDR_IN) {
9892 ZERO_STRUCT(r->out);
9894 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
9895 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
9896 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
9897 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));
9899 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
9900 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));
9901 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domainname));
9902 if (_ptr_domainname) {
9903 NDR_PULL_ALLOC(ndr, r->in.domainname);
9905 r->in.domainname = NULL;
9907 if (r->in.domainname) {
9908 _mem_save_domainname_0 = NDR_PULL_GET_MEM_CTX(ndr);
9909 NDR_PULL_SET_MEM_CTX(ndr, r->in.domainname, 0);
9910 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domainname));
9911 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domainname));
9912 if (ndr_get_array_length(ndr, &r->in.domainname) > ndr_get_array_size(ndr, &r->in.domainname)) {
9913 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));
9915 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domainname), sizeof(uint16_t)));
9916 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domainname, ndr_get_array_length(ndr, &r->in.domainname), sizeof(uint16_t), CH_UTF16));
9917 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domainname_0, 0);
9919 NDR_PULL_ALLOC(ndr, r->out.dcname);
9920 ZERO_STRUCTP(r->out.dcname);
9922 if (flags & NDR_OUT) {
9923 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9924 NDR_PULL_ALLOC(ndr, r->out.dcname);
9926 _mem_save_dcname_0 = NDR_PULL_GET_MEM_CTX(ndr);
9927 NDR_PULL_SET_MEM_CTX(ndr, r->out.dcname, LIBNDR_FLAG_REF_ALLOC);
9928 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dcname));
9930 NDR_PULL_ALLOC(ndr, *r->out.dcname);
9932 *r->out.dcname = NULL;
9934 if (*r->out.dcname) {
9935 _mem_save_dcname_1 = NDR_PULL_GET_MEM_CTX(ndr);
9936 NDR_PULL_SET_MEM_CTX(ndr, *r->out.dcname, 0);
9937 NDR_CHECK(ndr_pull_array_size(ndr, r->out.dcname));
9938 NDR_CHECK(ndr_pull_array_length(ndr, r->out.dcname));
9939 if (ndr_get_array_length(ndr, r->out.dcname) > ndr_get_array_size(ndr, r->out.dcname)) {
9940 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));
9942 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.dcname), sizeof(uint16_t)));
9943 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.dcname, ndr_get_array_length(ndr, r->out.dcname), sizeof(uint16_t), CH_UTF16));
9944 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_1, 0);
9946 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_0, LIBNDR_FLAG_REF_ALLOC);
9947 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
9949 return NDR_ERR_SUCCESS;
9952 _PUBLIC_ void ndr_print_netr_GetDcName(struct ndr_print *ndr, const char *name, int flags, const struct netr_GetDcName *r)
9954 ndr_print_struct(ndr, name, "netr_GetDcName");
9956 if (flags & NDR_SET_VALUES) {
9957 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9959 if (flags & NDR_IN) {
9960 ndr_print_struct(ndr, "in", "netr_GetDcName");
9962 ndr_print_string(ndr, "logon_server", r->in.logon_server);
9963 ndr_print_ptr(ndr, "domainname", r->in.domainname);
9965 if (r->in.domainname) {
9966 ndr_print_string(ndr, "domainname", r->in.domainname);
9971 if (flags & NDR_OUT) {
9972 ndr_print_struct(ndr, "out", "netr_GetDcName");
9974 ndr_print_ptr(ndr, "dcname", r->out.dcname);
9976 ndr_print_ptr(ndr, "dcname", *r->out.dcname);
9978 if (*r->out.dcname) {
9979 ndr_print_string(ndr, "dcname", *r->out.dcname);
9983 ndr_print_WERROR(ndr, "result", r->out.result);
9989 static enum ndr_err_code ndr_push_netr_LogonControl(struct ndr_push *ndr, int flags, const struct netr_LogonControl *r)
9991 if (flags & NDR_IN) {
9992 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
9993 if (r->in.logon_server) {
9994 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9995 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9996 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9997 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));
9999 NDR_CHECK(ndr_push_netr_LogonControlCode(ndr, NDR_SCALARS, r->in.function_code));
10000 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
10002 if (flags & NDR_OUT) {
10003 if (r->out.info == NULL) {
10004 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10006 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level));
10007 NDR_CHECK(ndr_push_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
10008 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
10010 return NDR_ERR_SUCCESS;
10013 static enum ndr_err_code ndr_pull_netr_LogonControl(struct ndr_pull *ndr, int flags, struct netr_LogonControl *r)
10015 uint32_t _ptr_logon_server;
10016 TALLOC_CTX *_mem_save_logon_server_0;
10017 TALLOC_CTX *_mem_save_info_0;
10018 if (flags & NDR_IN) {
10019 ZERO_STRUCT(r->out);
10021 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
10022 if (_ptr_logon_server) {
10023 NDR_PULL_ALLOC(ndr, r->in.logon_server);
10025 r->in.logon_server = NULL;
10027 if (r->in.logon_server) {
10028 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
10029 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
10030 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
10031 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
10032 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
10033 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));
10035 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
10036 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));
10037 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
10039 NDR_CHECK(ndr_pull_netr_LogonControlCode(ndr, NDR_SCALARS, &r->in.function_code));
10040 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
10041 NDR_PULL_ALLOC(ndr, r->out.info);
10042 ZERO_STRUCTP(r->out.info);
10044 if (flags & NDR_OUT) {
10045 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10046 NDR_PULL_ALLOC(ndr, r->out.info);
10048 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
10049 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
10050 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level));
10051 NDR_CHECK(ndr_pull_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
10052 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
10053 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
10055 return NDR_ERR_SUCCESS;
10058 _PUBLIC_ void ndr_print_netr_LogonControl(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonControl *r)
10060 ndr_print_struct(ndr, name, "netr_LogonControl");
10062 if (flags & NDR_SET_VALUES) {
10063 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10065 if (flags & NDR_IN) {
10066 ndr_print_struct(ndr, "in", "netr_LogonControl");
10068 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
10070 if (r->in.logon_server) {
10071 ndr_print_string(ndr, "logon_server", r->in.logon_server);
10074 ndr_print_netr_LogonControlCode(ndr, "function_code", r->in.function_code);
10075 ndr_print_uint32(ndr, "level", r->in.level);
10078 if (flags & NDR_OUT) {
10079 ndr_print_struct(ndr, "out", "netr_LogonControl");
10081 ndr_print_ptr(ndr, "info", r->out.info);
10083 ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
10084 ndr_print_netr_CONTROL_QUERY_INFORMATION(ndr, "info", r->out.info);
10086 ndr_print_WERROR(ndr, "result", r->out.result);
10092 static enum ndr_err_code ndr_push_netr_GetAnyDCName(struct ndr_push *ndr, int flags, const struct netr_GetAnyDCName *r)
10094 if (flags & NDR_IN) {
10095 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
10096 if (r->in.logon_server) {
10097 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10098 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10099 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10100 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));
10102 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domainname));
10103 if (r->in.domainname) {
10104 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16)));
10105 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10106 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16)));
10107 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domainname, ndr_charset_length(r->in.domainname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10110 if (flags & NDR_OUT) {
10111 if (r->out.dcname == NULL) {
10112 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10114 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.dcname));
10115 if (*r->out.dcname) {
10116 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16)));
10117 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10118 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16)));
10119 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.dcname, ndr_charset_length(*r->out.dcname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10121 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
10123 return NDR_ERR_SUCCESS;
10126 static enum ndr_err_code ndr_pull_netr_GetAnyDCName(struct ndr_pull *ndr, int flags, struct netr_GetAnyDCName *r)
10128 uint32_t _ptr_logon_server;
10129 uint32_t _ptr_domainname;
10130 uint32_t _ptr_dcname;
10131 TALLOC_CTX *_mem_save_logon_server_0;
10132 TALLOC_CTX *_mem_save_domainname_0;
10133 TALLOC_CTX *_mem_save_dcname_0;
10134 TALLOC_CTX *_mem_save_dcname_1;
10135 if (flags & NDR_IN) {
10136 ZERO_STRUCT(r->out);
10138 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
10139 if (_ptr_logon_server) {
10140 NDR_PULL_ALLOC(ndr, r->in.logon_server);
10142 r->in.logon_server = NULL;
10144 if (r->in.logon_server) {
10145 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
10146 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
10147 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
10148 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
10149 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
10150 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));
10152 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
10153 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));
10154 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
10156 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domainname));
10157 if (_ptr_domainname) {
10158 NDR_PULL_ALLOC(ndr, r->in.domainname);
10160 r->in.domainname = NULL;
10162 if (r->in.domainname) {
10163 _mem_save_domainname_0 = NDR_PULL_GET_MEM_CTX(ndr);
10164 NDR_PULL_SET_MEM_CTX(ndr, r->in.domainname, 0);
10165 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domainname));
10166 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domainname));
10167 if (ndr_get_array_length(ndr, &r->in.domainname) > ndr_get_array_size(ndr, &r->in.domainname)) {
10168 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));
10170 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domainname), sizeof(uint16_t)));
10171 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domainname, ndr_get_array_length(ndr, &r->in.domainname), sizeof(uint16_t), CH_UTF16));
10172 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domainname_0, 0);
10174 NDR_PULL_ALLOC(ndr, r->out.dcname);
10175 ZERO_STRUCTP(r->out.dcname);
10177 if (flags & NDR_OUT) {
10178 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10179 NDR_PULL_ALLOC(ndr, r->out.dcname);
10181 _mem_save_dcname_0 = NDR_PULL_GET_MEM_CTX(ndr);
10182 NDR_PULL_SET_MEM_CTX(ndr, r->out.dcname, LIBNDR_FLAG_REF_ALLOC);
10183 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dcname));
10185 NDR_PULL_ALLOC(ndr, *r->out.dcname);
10187 *r->out.dcname = NULL;
10189 if (*r->out.dcname) {
10190 _mem_save_dcname_1 = NDR_PULL_GET_MEM_CTX(ndr);
10191 NDR_PULL_SET_MEM_CTX(ndr, *r->out.dcname, 0);
10192 NDR_CHECK(ndr_pull_array_size(ndr, r->out.dcname));
10193 NDR_CHECK(ndr_pull_array_length(ndr, r->out.dcname));
10194 if (ndr_get_array_length(ndr, r->out.dcname) > ndr_get_array_size(ndr, r->out.dcname)) {
10195 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));
10197 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.dcname), sizeof(uint16_t)));
10198 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.dcname, ndr_get_array_length(ndr, r->out.dcname), sizeof(uint16_t), CH_UTF16));
10199 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_1, 0);
10201 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_0, LIBNDR_FLAG_REF_ALLOC);
10202 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
10204 return NDR_ERR_SUCCESS;
10207 _PUBLIC_ void ndr_print_netr_GetAnyDCName(struct ndr_print *ndr, const char *name, int flags, const struct netr_GetAnyDCName *r)
10209 ndr_print_struct(ndr, name, "netr_GetAnyDCName");
10211 if (flags & NDR_SET_VALUES) {
10212 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10214 if (flags & NDR_IN) {
10215 ndr_print_struct(ndr, "in", "netr_GetAnyDCName");
10217 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
10219 if (r->in.logon_server) {
10220 ndr_print_string(ndr, "logon_server", r->in.logon_server);
10223 ndr_print_ptr(ndr, "domainname", r->in.domainname);
10225 if (r->in.domainname) {
10226 ndr_print_string(ndr, "domainname", r->in.domainname);
10231 if (flags & NDR_OUT) {
10232 ndr_print_struct(ndr, "out", "netr_GetAnyDCName");
10234 ndr_print_ptr(ndr, "dcname", r->out.dcname);
10236 ndr_print_ptr(ndr, "dcname", *r->out.dcname);
10238 if (*r->out.dcname) {
10239 ndr_print_string(ndr, "dcname", *r->out.dcname);
10243 ndr_print_WERROR(ndr, "result", r->out.result);
10249 static enum ndr_err_code ndr_push_netr_LogonControl2(struct ndr_push *ndr, int flags, const struct netr_LogonControl2 *r)
10251 if (flags & NDR_IN) {
10252 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
10253 if (r->in.logon_server) {
10254 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10255 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10256 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10257 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));
10259 NDR_CHECK(ndr_push_netr_LogonControlCode(ndr, NDR_SCALARS, r->in.function_code));
10260 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
10261 if (r->in.data == NULL) {
10262 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10264 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.data, r->in.function_code));
10265 NDR_CHECK(ndr_push_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.data));
10267 if (flags & NDR_OUT) {
10268 if (r->out.query == NULL) {
10269 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10271 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.query, r->in.level));
10272 NDR_CHECK(ndr_push_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
10273 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
10275 return NDR_ERR_SUCCESS;
10278 static enum ndr_err_code ndr_pull_netr_LogonControl2(struct ndr_pull *ndr, int flags, struct netr_LogonControl2 *r)
10280 uint32_t _ptr_logon_server;
10281 TALLOC_CTX *_mem_save_logon_server_0;
10282 TALLOC_CTX *_mem_save_data_0;
10283 TALLOC_CTX *_mem_save_query_0;
10284 if (flags & NDR_IN) {
10285 ZERO_STRUCT(r->out);
10287 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
10288 if (_ptr_logon_server) {
10289 NDR_PULL_ALLOC(ndr, r->in.logon_server);
10291 r->in.logon_server = NULL;
10293 if (r->in.logon_server) {
10294 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
10295 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
10296 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
10297 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
10298 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
10299 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));
10301 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
10302 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));
10303 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
10305 NDR_CHECK(ndr_pull_netr_LogonControlCode(ndr, NDR_SCALARS, &r->in.function_code));
10306 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
10307 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10308 NDR_PULL_ALLOC(ndr, r->in.data);
10310 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
10311 NDR_PULL_SET_MEM_CTX(ndr, r->in.data, LIBNDR_FLAG_REF_ALLOC);
10312 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.data, r->in.function_code));
10313 NDR_CHECK(ndr_pull_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.data));
10314 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, LIBNDR_FLAG_REF_ALLOC);
10315 NDR_PULL_ALLOC(ndr, r->out.query);
10316 ZERO_STRUCTP(r->out.query);
10318 if (flags & NDR_OUT) {
10319 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10320 NDR_PULL_ALLOC(ndr, r->out.query);
10322 _mem_save_query_0 = NDR_PULL_GET_MEM_CTX(ndr);
10323 NDR_PULL_SET_MEM_CTX(ndr, r->out.query, LIBNDR_FLAG_REF_ALLOC);
10324 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.query, r->in.level));
10325 NDR_CHECK(ndr_pull_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
10326 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query_0, LIBNDR_FLAG_REF_ALLOC);
10327 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
10329 return NDR_ERR_SUCCESS;
10332 _PUBLIC_ void ndr_print_netr_LogonControl2(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonControl2 *r)
10334 ndr_print_struct(ndr, name, "netr_LogonControl2");
10336 if (flags & NDR_SET_VALUES) {
10337 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10339 if (flags & NDR_IN) {
10340 ndr_print_struct(ndr, "in", "netr_LogonControl2");
10342 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
10344 if (r->in.logon_server) {
10345 ndr_print_string(ndr, "logon_server", r->in.logon_server);
10348 ndr_print_netr_LogonControlCode(ndr, "function_code", r->in.function_code);
10349 ndr_print_uint32(ndr, "level", r->in.level);
10350 ndr_print_ptr(ndr, "data", r->in.data);
10352 ndr_print_set_switch_value(ndr, r->in.data, r->in.function_code);
10353 ndr_print_netr_CONTROL_DATA_INFORMATION(ndr, "data", r->in.data);
10357 if (flags & NDR_OUT) {
10358 ndr_print_struct(ndr, "out", "netr_LogonControl2");
10360 ndr_print_ptr(ndr, "query", r->out.query);
10362 ndr_print_set_switch_value(ndr, r->out.query, r->in.level);
10363 ndr_print_netr_CONTROL_QUERY_INFORMATION(ndr, "query", r->out.query);
10365 ndr_print_WERROR(ndr, "result", r->out.result);
10371 static enum ndr_err_code ndr_push_netr_ServerAuthenticate2(struct ndr_push *ndr, int flags, const struct netr_ServerAuthenticate2 *r)
10373 if (flags & NDR_IN) {
10374 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
10375 if (r->in.server_name) {
10376 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
10377 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10378 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
10379 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));
10381 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
10382 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10383 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
10384 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));
10385 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
10386 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
10387 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10388 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
10389 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));
10390 if (r->in.credentials == NULL) {
10391 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10393 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
10394 if (r->in.negotiate_flags == NULL) {
10395 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10397 NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, *r->in.negotiate_flags));
10399 if (flags & NDR_OUT) {
10400 if (r->out.return_credentials == NULL) {
10401 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10403 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
10404 if (r->out.negotiate_flags == NULL) {
10405 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10407 NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, *r->out.negotiate_flags));
10408 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10410 return NDR_ERR_SUCCESS;
10413 static enum ndr_err_code ndr_pull_netr_ServerAuthenticate2(struct ndr_pull *ndr, int flags, struct netr_ServerAuthenticate2 *r)
10415 uint32_t _ptr_server_name;
10416 TALLOC_CTX *_mem_save_server_name_0;
10417 TALLOC_CTX *_mem_save_credentials_0;
10418 TALLOC_CTX *_mem_save_return_credentials_0;
10419 TALLOC_CTX *_mem_save_negotiate_flags_0;
10420 if (flags & NDR_IN) {
10421 ZERO_STRUCT(r->out);
10423 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
10424 if (_ptr_server_name) {
10425 NDR_PULL_ALLOC(ndr, r->in.server_name);
10427 r->in.server_name = NULL;
10429 if (r->in.server_name) {
10430 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10431 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
10432 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
10433 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
10434 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
10435 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));
10437 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
10438 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));
10439 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
10441 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
10442 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
10443 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
10444 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));
10446 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
10447 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));
10448 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
10449 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
10450 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
10451 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
10452 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));
10454 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
10455 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));
10456 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10457 NDR_PULL_ALLOC(ndr, r->in.credentials);
10459 _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
10460 NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC);
10461 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
10462 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
10463 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10464 NDR_PULL_ALLOC(ndr, r->in.negotiate_flags);
10466 _mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
10467 NDR_PULL_SET_MEM_CTX(ndr, r->in.negotiate_flags, LIBNDR_FLAG_REF_ALLOC);
10468 NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, r->in.negotiate_flags));
10469 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC);
10470 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
10471 ZERO_STRUCTP(r->out.return_credentials);
10472 NDR_PULL_ALLOC(ndr, r->out.negotiate_flags);
10473 *r->out.negotiate_flags = *r->in.negotiate_flags;
10475 if (flags & NDR_OUT) {
10476 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10477 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
10479 _mem_save_return_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
10480 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_credentials, LIBNDR_FLAG_REF_ALLOC);
10481 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
10482 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_credentials_0, LIBNDR_FLAG_REF_ALLOC);
10483 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10484 NDR_PULL_ALLOC(ndr, r->out.negotiate_flags);
10486 _mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
10487 NDR_PULL_SET_MEM_CTX(ndr, r->out.negotiate_flags, LIBNDR_FLAG_REF_ALLOC);
10488 NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, r->out.negotiate_flags));
10489 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC);
10490 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10492 return NDR_ERR_SUCCESS;
10495 _PUBLIC_ void ndr_print_netr_ServerAuthenticate2(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerAuthenticate2 *r)
10497 ndr_print_struct(ndr, name, "netr_ServerAuthenticate2");
10499 if (flags & NDR_SET_VALUES) {
10500 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10502 if (flags & NDR_IN) {
10503 ndr_print_struct(ndr, "in", "netr_ServerAuthenticate2");
10505 ndr_print_ptr(ndr, "server_name", r->in.server_name);
10507 if (r->in.server_name) {
10508 ndr_print_string(ndr, "server_name", r->in.server_name);
10511 ndr_print_string(ndr, "account_name", r->in.account_name);
10512 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
10513 ndr_print_string(ndr, "computer_name", r->in.computer_name);
10514 ndr_print_ptr(ndr, "credentials", r->in.credentials);
10516 ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
10518 ndr_print_ptr(ndr, "negotiate_flags", r->in.negotiate_flags);
10520 ndr_print_netr_NegotiateFlags(ndr, "negotiate_flags", *r->in.negotiate_flags);
10524 if (flags & NDR_OUT) {
10525 ndr_print_struct(ndr, "out", "netr_ServerAuthenticate2");
10527 ndr_print_ptr(ndr, "return_credentials", r->out.return_credentials);
10529 ndr_print_netr_Credential(ndr, "return_credentials", r->out.return_credentials);
10531 ndr_print_ptr(ndr, "negotiate_flags", r->out.negotiate_flags);
10533 ndr_print_netr_NegotiateFlags(ndr, "negotiate_flags", *r->out.negotiate_flags);
10535 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10541 static enum ndr_err_code ndr_push_netr_DatabaseSync2(struct ndr_push *ndr, int flags, const struct netr_DatabaseSync2 *r)
10543 if (flags & NDR_IN) {
10544 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10545 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10546 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10547 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));
10548 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
10549 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10550 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
10551 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10552 if (r->in.credential == NULL) {
10553 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10555 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
10556 if (r->in.return_authenticator == NULL) {
10557 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10559 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10560 NDR_CHECK(ndr_push_netr_SamDatabaseID(ndr, NDR_SCALARS, r->in.database_id));
10561 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.restart_state));
10562 if (r->in.sync_context == NULL) {
10563 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10565 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.sync_context));
10566 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.preferredmaximumlength));
10568 if (flags & NDR_OUT) {
10569 if (r->out.return_authenticator == NULL) {
10570 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10572 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10573 if (r->out.sync_context == NULL) {
10574 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10576 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.sync_context));
10577 if (r->out.delta_enum_array == NULL) {
10578 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10580 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.delta_enum_array));
10581 if (*r->out.delta_enum_array) {
10582 NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
10584 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10586 return NDR_ERR_SUCCESS;
10589 static enum ndr_err_code ndr_pull_netr_DatabaseSync2(struct ndr_pull *ndr, int flags, struct netr_DatabaseSync2 *r)
10591 uint32_t _ptr_delta_enum_array;
10592 TALLOC_CTX *_mem_save_credential_0;
10593 TALLOC_CTX *_mem_save_return_authenticator_0;
10594 TALLOC_CTX *_mem_save_sync_context_0;
10595 TALLOC_CTX *_mem_save_delta_enum_array_0;
10596 TALLOC_CTX *_mem_save_delta_enum_array_1;
10597 if (flags & NDR_IN) {
10598 ZERO_STRUCT(r->out);
10600 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
10601 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
10602 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
10603 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));
10605 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
10606 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));
10607 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
10608 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
10609 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
10610 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));
10612 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
10613 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
10614 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10615 NDR_PULL_ALLOC(ndr, r->in.credential);
10617 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
10618 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
10619 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
10620 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
10621 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10622 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
10624 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10625 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10626 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10627 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10628 NDR_CHECK(ndr_pull_netr_SamDatabaseID(ndr, NDR_SCALARS, &r->in.database_id));
10629 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.restart_state));
10630 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10631 NDR_PULL_ALLOC(ndr, r->in.sync_context);
10633 _mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
10634 NDR_PULL_SET_MEM_CTX(ndr, r->in.sync_context, LIBNDR_FLAG_REF_ALLOC);
10635 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.sync_context));
10636 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC);
10637 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.preferredmaximumlength));
10638 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10639 *r->out.return_authenticator = *r->in.return_authenticator;
10640 NDR_PULL_ALLOC(ndr, r->out.sync_context);
10641 *r->out.sync_context = *r->in.sync_context;
10642 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
10643 ZERO_STRUCTP(r->out.delta_enum_array);
10645 if (flags & NDR_OUT) {
10646 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10647 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10649 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10650 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10651 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10652 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10653 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10654 NDR_PULL_ALLOC(ndr, r->out.sync_context);
10656 _mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
10657 NDR_PULL_SET_MEM_CTX(ndr, r->out.sync_context, LIBNDR_FLAG_REF_ALLOC);
10658 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.sync_context));
10659 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC);
10660 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10661 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
10663 _mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10664 NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC);
10665 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum_array));
10666 if (_ptr_delta_enum_array) {
10667 NDR_PULL_ALLOC(ndr, *r->out.delta_enum_array);
10669 *r->out.delta_enum_array = NULL;
10671 if (*r->out.delta_enum_array) {
10672 _mem_save_delta_enum_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
10673 NDR_PULL_SET_MEM_CTX(ndr, *r->out.delta_enum_array, 0);
10674 NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
10675 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_1, 0);
10677 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC);
10678 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10680 return NDR_ERR_SUCCESS;
10683 _PUBLIC_ void ndr_print_netr_DatabaseSync2(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseSync2 *r)
10685 ndr_print_struct(ndr, name, "netr_DatabaseSync2");
10687 if (flags & NDR_SET_VALUES) {
10688 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10690 if (flags & NDR_IN) {
10691 ndr_print_struct(ndr, "in", "netr_DatabaseSync2");
10693 ndr_print_string(ndr, "logon_server", r->in.logon_server);
10694 ndr_print_string(ndr, "computername", r->in.computername);
10695 ndr_print_ptr(ndr, "credential", r->in.credential);
10697 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
10699 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
10701 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
10703 ndr_print_netr_SamDatabaseID(ndr, "database_id", r->in.database_id);
10704 ndr_print_uint16(ndr, "restart_state", r->in.restart_state);
10705 ndr_print_ptr(ndr, "sync_context", r->in.sync_context);
10707 ndr_print_uint32(ndr, "sync_context", *r->in.sync_context);
10709 ndr_print_uint32(ndr, "preferredmaximumlength", r->in.preferredmaximumlength);
10712 if (flags & NDR_OUT) {
10713 ndr_print_struct(ndr, "out", "netr_DatabaseSync2");
10715 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
10717 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
10719 ndr_print_ptr(ndr, "sync_context", r->out.sync_context);
10721 ndr_print_uint32(ndr, "sync_context", *r->out.sync_context);
10723 ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array);
10725 ndr_print_ptr(ndr, "delta_enum_array", *r->out.delta_enum_array);
10727 if (*r->out.delta_enum_array) {
10728 ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", *r->out.delta_enum_array);
10732 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10738 static enum ndr_err_code ndr_push_netr_DatabaseRedo(struct ndr_push *ndr, int flags, const struct netr_DatabaseRedo *r)
10740 if (flags & NDR_IN) {
10741 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10742 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10743 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10744 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));
10745 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
10746 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10747 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
10748 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10749 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
10750 if (r->in.return_authenticator == NULL) {
10751 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10753 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10754 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.change_log_entry));
10755 if (r->in.change_log_entry) {
10756 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.change_log_entry_size));
10757 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->in.change_log_entry, r->in.change_log_entry_size));
10759 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.change_log_entry_size));
10761 if (flags & NDR_OUT) {
10762 if (r->out.return_authenticator == NULL) {
10763 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10765 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10766 if (r->out.delta_enum_array == NULL) {
10767 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10769 NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.delta_enum_array));
10770 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10772 return NDR_ERR_SUCCESS;
10775 static enum ndr_err_code ndr_pull_netr_DatabaseRedo(struct ndr_pull *ndr, int flags, struct netr_DatabaseRedo *r)
10777 uint32_t _ptr_change_log_entry;
10778 TALLOC_CTX *_mem_save_return_authenticator_0;
10779 TALLOC_CTX *_mem_save_change_log_entry_0;
10780 TALLOC_CTX *_mem_save_delta_enum_array_0;
10781 if (flags & NDR_IN) {
10782 ZERO_STRUCT(r->out);
10784 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
10785 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
10786 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
10787 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));
10789 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
10790 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));
10791 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
10792 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
10793 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
10794 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));
10796 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
10797 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
10798 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
10799 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10800 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
10802 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10803 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10804 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10805 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10806 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_change_log_entry));
10807 if (_ptr_change_log_entry) {
10808 NDR_PULL_ALLOC(ndr, r->in.change_log_entry);
10810 r->in.change_log_entry = NULL;
10812 if (r->in.change_log_entry) {
10813 _mem_save_change_log_entry_0 = NDR_PULL_GET_MEM_CTX(ndr);
10814 NDR_PULL_SET_MEM_CTX(ndr, r->in.change_log_entry, 0);
10815 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.change_log_entry));
10816 NDR_PULL_ALLOC_N(ndr, r->in.change_log_entry, ndr_get_array_size(ndr, &r->in.change_log_entry));
10817 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.change_log_entry, ndr_get_array_size(ndr, &r->in.change_log_entry)));
10818 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_change_log_entry_0, 0);
10820 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.change_log_entry_size));
10821 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10822 *r->out.return_authenticator = *r->in.return_authenticator;
10823 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
10824 ZERO_STRUCTP(r->out.delta_enum_array);
10825 if (r->in.change_log_entry) {
10826 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.change_log_entry, r->in.change_log_entry_size));
10829 if (flags & NDR_OUT) {
10830 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10831 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10833 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10834 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10835 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10836 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10837 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10838 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
10840 _mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10841 NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC);
10842 NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.delta_enum_array));
10843 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC);
10844 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10846 return NDR_ERR_SUCCESS;
10849 _PUBLIC_ void ndr_print_netr_DatabaseRedo(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseRedo *r)
10851 ndr_print_struct(ndr, name, "netr_DatabaseRedo");
10853 if (flags & NDR_SET_VALUES) {
10854 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10856 if (flags & NDR_IN) {
10857 ndr_print_struct(ndr, "in", "netr_DatabaseRedo");
10859 ndr_print_string(ndr, "logon_server", r->in.logon_server);
10860 ndr_print_string(ndr, "computername", r->in.computername);
10861 ndr_print_netr_Authenticator(ndr, "credential", &r->in.credential);
10862 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
10864 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
10866 ndr_print_ptr(ndr, "change_log_entry", r->in.change_log_entry);
10868 if (r->in.change_log_entry) {
10869 ndr_print_array_uint8(ndr, "change_log_entry", r->in.change_log_entry, r->in.change_log_entry_size);
10872 ndr_print_uint32(ndr, "change_log_entry_size", r->in.change_log_entry_size);
10875 if (flags & NDR_OUT) {
10876 ndr_print_struct(ndr, "out", "netr_DatabaseRedo");
10878 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
10880 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
10882 ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array);
10884 ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", r->out.delta_enum_array);
10886 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10892 static enum ndr_err_code ndr_push_netr_LogonControl2Ex(struct ndr_push *ndr, int flags, const struct netr_LogonControl2Ex *r)
10894 if (flags & NDR_IN) {
10895 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
10896 if (r->in.logon_server) {
10897 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10898 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10899 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10900 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));
10902 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.function_code));
10903 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
10904 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.data, r->in.function_code));
10905 NDR_CHECK(ndr_push_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.data));
10907 if (flags & NDR_OUT) {
10908 if (r->out.query == NULL) {
10909 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10911 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.query, r->in.level));
10912 NDR_CHECK(ndr_push_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
10913 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
10915 return NDR_ERR_SUCCESS;
10918 static enum ndr_err_code ndr_pull_netr_LogonControl2Ex(struct ndr_pull *ndr, int flags, struct netr_LogonControl2Ex *r)
10920 uint32_t _ptr_logon_server;
10921 TALLOC_CTX *_mem_save_logon_server_0;
10922 TALLOC_CTX *_mem_save_query_0;
10923 if (flags & NDR_IN) {
10924 ZERO_STRUCT(r->out);
10926 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
10927 if (_ptr_logon_server) {
10928 NDR_PULL_ALLOC(ndr, r->in.logon_server);
10930 r->in.logon_server = NULL;
10932 if (r->in.logon_server) {
10933 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
10934 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
10935 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
10936 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
10937 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
10938 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));
10940 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
10941 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));
10942 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
10944 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.function_code));
10945 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
10946 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.data, r->in.function_code));
10947 NDR_CHECK(ndr_pull_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.data));
10948 NDR_PULL_ALLOC(ndr, r->out.query);
10949 ZERO_STRUCTP(r->out.query);
10951 if (flags & NDR_OUT) {
10952 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10953 NDR_PULL_ALLOC(ndr, r->out.query);
10955 _mem_save_query_0 = NDR_PULL_GET_MEM_CTX(ndr);
10956 NDR_PULL_SET_MEM_CTX(ndr, r->out.query, LIBNDR_FLAG_REF_ALLOC);
10957 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.query, r->in.level));
10958 NDR_CHECK(ndr_pull_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
10959 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query_0, LIBNDR_FLAG_REF_ALLOC);
10960 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
10962 return NDR_ERR_SUCCESS;
10965 _PUBLIC_ void ndr_print_netr_LogonControl2Ex(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonControl2Ex *r)
10967 ndr_print_struct(ndr, name, "netr_LogonControl2Ex");
10969 if (flags & NDR_SET_VALUES) {
10970 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10972 if (flags & NDR_IN) {
10973 ndr_print_struct(ndr, "in", "netr_LogonControl2Ex");
10975 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
10977 if (r->in.logon_server) {
10978 ndr_print_string(ndr, "logon_server", r->in.logon_server);
10981 ndr_print_uint32(ndr, "function_code", r->in.function_code);
10982 ndr_print_uint32(ndr, "level", r->in.level);
10983 ndr_print_set_switch_value(ndr, &r->in.data, r->in.function_code);
10984 ndr_print_netr_CONTROL_DATA_INFORMATION(ndr, "data", &r->in.data);
10987 if (flags & NDR_OUT) {
10988 ndr_print_struct(ndr, "out", "netr_LogonControl2Ex");
10990 ndr_print_ptr(ndr, "query", r->out.query);
10992 ndr_print_set_switch_value(ndr, r->out.query, r->in.level);
10993 ndr_print_netr_CONTROL_QUERY_INFORMATION(ndr, "query", r->out.query);
10995 ndr_print_WERROR(ndr, "result", r->out.result);
11001 static enum ndr_err_code ndr_push_netr_NetrEnumerateTrustedDomains(struct ndr_push *ndr, int flags, const struct netr_NetrEnumerateTrustedDomains *r)
11003 if (flags & NDR_IN) {
11004 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
11005 if (r->in.server_name) {
11006 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
11007 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11008 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
11009 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));
11012 if (flags & NDR_OUT) {
11013 if (r->out.trusted_domains_blob == NULL) {
11014 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11016 NDR_CHECK(ndr_push_netr_Blob(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusted_domains_blob));
11017 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11019 return NDR_ERR_SUCCESS;
11022 static enum ndr_err_code ndr_pull_netr_NetrEnumerateTrustedDomains(struct ndr_pull *ndr, int flags, struct netr_NetrEnumerateTrustedDomains *r)
11024 uint32_t _ptr_server_name;
11025 TALLOC_CTX *_mem_save_server_name_0;
11026 TALLOC_CTX *_mem_save_trusted_domains_blob_0;
11027 if (flags & NDR_IN) {
11028 ZERO_STRUCT(r->out);
11030 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
11031 if (_ptr_server_name) {
11032 NDR_PULL_ALLOC(ndr, r->in.server_name);
11034 r->in.server_name = NULL;
11036 if (r->in.server_name) {
11037 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11038 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
11039 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
11040 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
11041 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
11042 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));
11044 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
11045 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));
11046 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
11048 NDR_PULL_ALLOC(ndr, r->out.trusted_domains_blob);
11049 ZERO_STRUCTP(r->out.trusted_domains_blob);
11051 if (flags & NDR_OUT) {
11052 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11053 NDR_PULL_ALLOC(ndr, r->out.trusted_domains_blob);
11055 _mem_save_trusted_domains_blob_0 = NDR_PULL_GET_MEM_CTX(ndr);
11056 NDR_PULL_SET_MEM_CTX(ndr, r->out.trusted_domains_blob, LIBNDR_FLAG_REF_ALLOC);
11057 NDR_CHECK(ndr_pull_netr_Blob(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusted_domains_blob));
11058 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domains_blob_0, LIBNDR_FLAG_REF_ALLOC);
11059 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11061 return NDR_ERR_SUCCESS;
11064 _PUBLIC_ void ndr_print_netr_NetrEnumerateTrustedDomains(struct ndr_print *ndr, const char *name, int flags, const struct netr_NetrEnumerateTrustedDomains *r)
11066 ndr_print_struct(ndr, name, "netr_NetrEnumerateTrustedDomains");
11068 if (flags & NDR_SET_VALUES) {
11069 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11071 if (flags & NDR_IN) {
11072 ndr_print_struct(ndr, "in", "netr_NetrEnumerateTrustedDomains");
11074 ndr_print_ptr(ndr, "server_name", r->in.server_name);
11076 if (r->in.server_name) {
11077 ndr_print_string(ndr, "server_name", r->in.server_name);
11082 if (flags & NDR_OUT) {
11083 ndr_print_struct(ndr, "out", "netr_NetrEnumerateTrustedDomains");
11085 ndr_print_ptr(ndr, "trusted_domains_blob", r->out.trusted_domains_blob);
11087 ndr_print_netr_Blob(ndr, "trusted_domains_blob", r->out.trusted_domains_blob);
11089 ndr_print_WERROR(ndr, "result", r->out.result);
11095 static enum ndr_err_code ndr_push_netr_DsRGetDCName(struct ndr_push *ndr, int flags, const struct netr_DsRGetDCName *r)
11097 if (flags & NDR_IN) {
11098 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc));
11099 if (r->in.server_unc) {
11100 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
11101 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11102 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
11103 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));
11105 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
11106 if (r->in.domain_name) {
11107 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
11108 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11109 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
11110 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));
11112 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
11113 if (r->in.domain_guid) {
11114 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
11116 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.site_guid));
11117 if (r->in.site_guid) {
11118 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.site_guid));
11120 NDR_CHECK(ndr_push_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, r->in.flags));
11122 if (flags & NDR_OUT) {
11123 if (r->out.info == NULL) {
11124 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11126 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
11127 if (*r->out.info) {
11128 NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
11130 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11132 return NDR_ERR_SUCCESS;
11135 static enum ndr_err_code ndr_pull_netr_DsRGetDCName(struct ndr_pull *ndr, int flags, struct netr_DsRGetDCName *r)
11137 uint32_t _ptr_server_unc;
11138 uint32_t _ptr_domain_name;
11139 uint32_t _ptr_domain_guid;
11140 uint32_t _ptr_site_guid;
11141 uint32_t _ptr_info;
11142 TALLOC_CTX *_mem_save_server_unc_0;
11143 TALLOC_CTX *_mem_save_domain_name_0;
11144 TALLOC_CTX *_mem_save_domain_guid_0;
11145 TALLOC_CTX *_mem_save_site_guid_0;
11146 TALLOC_CTX *_mem_save_info_0;
11147 TALLOC_CTX *_mem_save_info_1;
11148 if (flags & NDR_IN) {
11149 ZERO_STRUCT(r->out);
11151 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc));
11152 if (_ptr_server_unc) {
11153 NDR_PULL_ALLOC(ndr, r->in.server_unc);
11155 r->in.server_unc = NULL;
11157 if (r->in.server_unc) {
11158 _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr);
11159 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
11160 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
11161 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
11162 if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
11163 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));
11165 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
11166 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));
11167 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
11169 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
11170 if (_ptr_domain_name) {
11171 NDR_PULL_ALLOC(ndr, r->in.domain_name);
11173 r->in.domain_name = NULL;
11175 if (r->in.domain_name) {
11176 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11177 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
11178 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
11179 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
11180 if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
11181 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));
11183 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
11184 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));
11185 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
11187 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
11188 if (_ptr_domain_guid) {
11189 NDR_PULL_ALLOC(ndr, r->in.domain_guid);
11191 r->in.domain_guid = NULL;
11193 if (r->in.domain_guid) {
11194 _mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
11195 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
11196 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
11197 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
11199 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_guid));
11200 if (_ptr_site_guid) {
11201 NDR_PULL_ALLOC(ndr, r->in.site_guid);
11203 r->in.site_guid = NULL;
11205 if (r->in.site_guid) {
11206 _mem_save_site_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
11207 NDR_PULL_SET_MEM_CTX(ndr, r->in.site_guid, 0);
11208 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.site_guid));
11209 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_guid_0, 0);
11211 NDR_CHECK(ndr_pull_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, &r->in.flags));
11212 NDR_PULL_ALLOC(ndr, r->out.info);
11213 ZERO_STRUCTP(r->out.info);
11215 if (flags & NDR_OUT) {
11216 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11217 NDR_PULL_ALLOC(ndr, r->out.info);
11219 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
11220 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
11221 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
11223 NDR_PULL_ALLOC(ndr, *r->out.info);
11225 *r->out.info = NULL;
11227 if (*r->out.info) {
11228 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
11229 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
11230 NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
11231 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
11233 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
11234 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11236 return NDR_ERR_SUCCESS;
11239 _PUBLIC_ void ndr_print_netr_DsRGetDCName(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetDCName *r)
11241 ndr_print_struct(ndr, name, "netr_DsRGetDCName");
11243 if (flags & NDR_SET_VALUES) {
11244 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11246 if (flags & NDR_IN) {
11247 ndr_print_struct(ndr, "in", "netr_DsRGetDCName");
11249 ndr_print_ptr(ndr, "server_unc", r->in.server_unc);
11251 if (r->in.server_unc) {
11252 ndr_print_string(ndr, "server_unc", r->in.server_unc);
11255 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
11257 if (r->in.domain_name) {
11258 ndr_print_string(ndr, "domain_name", r->in.domain_name);
11261 ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
11263 if (r->in.domain_guid) {
11264 ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
11267 ndr_print_ptr(ndr, "site_guid", r->in.site_guid);
11269 if (r->in.site_guid) {
11270 ndr_print_GUID(ndr, "site_guid", r->in.site_guid);
11273 ndr_print_netr_DsRGetDCName_flags(ndr, "flags", r->in.flags);
11276 if (flags & NDR_OUT) {
11277 ndr_print_struct(ndr, "out", "netr_DsRGetDCName");
11279 ndr_print_ptr(ndr, "info", r->out.info);
11281 ndr_print_ptr(ndr, "info", *r->out.info);
11283 if (*r->out.info) {
11284 ndr_print_netr_DsRGetDCNameInfo(ndr, "info", *r->out.info);
11288 ndr_print_WERROR(ndr, "result", r->out.result);
11294 static enum ndr_err_code ndr_push_netr_NETRLOGONDUMMYROUTINE1(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONDUMMYROUTINE1 *r)
11296 if (flags & NDR_IN) {
11298 if (flags & NDR_OUT) {
11299 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11301 return NDR_ERR_SUCCESS;
11304 static enum ndr_err_code ndr_pull_netr_NETRLOGONDUMMYROUTINE1(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONDUMMYROUTINE1 *r)
11306 if (flags & NDR_IN) {
11308 if (flags & NDR_OUT) {
11309 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11311 return NDR_ERR_SUCCESS;
11314 _PUBLIC_ void ndr_print_netr_NETRLOGONDUMMYROUTINE1(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONDUMMYROUTINE1 *r)
11316 ndr_print_struct(ndr, name, "netr_NETRLOGONDUMMYROUTINE1");
11318 if (flags & NDR_SET_VALUES) {
11319 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11321 if (flags & NDR_IN) {
11322 ndr_print_struct(ndr, "in", "netr_NETRLOGONDUMMYROUTINE1");
11326 if (flags & NDR_OUT) {
11327 ndr_print_struct(ndr, "out", "netr_NETRLOGONDUMMYROUTINE1");
11329 ndr_print_WERROR(ndr, "result", r->out.result);
11335 static enum ndr_err_code ndr_push_netr_NETRLOGONSETSERVICEBITS(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONSETSERVICEBITS *r)
11337 if (flags & NDR_IN) {
11339 if (flags & NDR_OUT) {
11340 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11342 return NDR_ERR_SUCCESS;
11345 static enum ndr_err_code ndr_pull_netr_NETRLOGONSETSERVICEBITS(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONSETSERVICEBITS *r)
11347 if (flags & NDR_IN) {
11349 if (flags & NDR_OUT) {
11350 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11352 return NDR_ERR_SUCCESS;
11355 _PUBLIC_ void ndr_print_netr_NETRLOGONSETSERVICEBITS(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONSETSERVICEBITS *r)
11357 ndr_print_struct(ndr, name, "netr_NETRLOGONSETSERVICEBITS");
11359 if (flags & NDR_SET_VALUES) {
11360 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11362 if (flags & NDR_IN) {
11363 ndr_print_struct(ndr, "in", "netr_NETRLOGONSETSERVICEBITS");
11367 if (flags & NDR_OUT) {
11368 ndr_print_struct(ndr, "out", "netr_NETRLOGONSETSERVICEBITS");
11370 ndr_print_WERROR(ndr, "result", r->out.result);
11376 static enum ndr_err_code ndr_push_netr_LogonGetTrustRid(struct ndr_push *ndr, int flags, const struct netr_LogonGetTrustRid *r)
11378 if (flags & NDR_IN) {
11379 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
11380 if (r->in.server_name) {
11381 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
11382 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11383 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
11384 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));
11386 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
11387 if (r->in.domain_name) {
11388 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
11389 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11390 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
11391 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));
11394 if (flags & NDR_OUT) {
11395 if (r->out.rid == NULL) {
11396 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11398 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.rid));
11399 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11401 return NDR_ERR_SUCCESS;
11404 static enum ndr_err_code ndr_pull_netr_LogonGetTrustRid(struct ndr_pull *ndr, int flags, struct netr_LogonGetTrustRid *r)
11406 uint32_t _ptr_server_name;
11407 uint32_t _ptr_domain_name;
11408 TALLOC_CTX *_mem_save_server_name_0;
11409 TALLOC_CTX *_mem_save_domain_name_0;
11410 TALLOC_CTX *_mem_save_rid_0;
11411 if (flags & NDR_IN) {
11412 ZERO_STRUCT(r->out);
11414 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
11415 if (_ptr_server_name) {
11416 NDR_PULL_ALLOC(ndr, r->in.server_name);
11418 r->in.server_name = NULL;
11420 if (r->in.server_name) {
11421 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11422 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
11423 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
11424 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
11425 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
11426 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));
11428 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
11429 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));
11430 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
11432 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
11433 if (_ptr_domain_name) {
11434 NDR_PULL_ALLOC(ndr, r->in.domain_name);
11436 r->in.domain_name = NULL;
11438 if (r->in.domain_name) {
11439 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11440 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
11441 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
11442 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
11443 if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
11444 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));
11446 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
11447 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));
11448 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
11450 NDR_PULL_ALLOC(ndr, r->out.rid);
11451 ZERO_STRUCTP(r->out.rid);
11453 if (flags & NDR_OUT) {
11454 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11455 NDR_PULL_ALLOC(ndr, r->out.rid);
11457 _mem_save_rid_0 = NDR_PULL_GET_MEM_CTX(ndr);
11458 NDR_PULL_SET_MEM_CTX(ndr, r->out.rid, LIBNDR_FLAG_REF_ALLOC);
11459 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.rid));
11460 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rid_0, LIBNDR_FLAG_REF_ALLOC);
11461 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11463 return NDR_ERR_SUCCESS;
11466 _PUBLIC_ void ndr_print_netr_LogonGetTrustRid(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonGetTrustRid *r)
11468 ndr_print_struct(ndr, name, "netr_LogonGetTrustRid");
11470 if (flags & NDR_SET_VALUES) {
11471 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11473 if (flags & NDR_IN) {
11474 ndr_print_struct(ndr, "in", "netr_LogonGetTrustRid");
11476 ndr_print_ptr(ndr, "server_name", r->in.server_name);
11478 if (r->in.server_name) {
11479 ndr_print_string(ndr, "server_name", r->in.server_name);
11482 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
11484 if (r->in.domain_name) {
11485 ndr_print_string(ndr, "domain_name", r->in.domain_name);
11490 if (flags & NDR_OUT) {
11491 ndr_print_struct(ndr, "out", "netr_LogonGetTrustRid");
11493 ndr_print_ptr(ndr, "rid", r->out.rid);
11495 ndr_print_uint32(ndr, "rid", *r->out.rid);
11497 ndr_print_WERROR(ndr, "result", r->out.result);
11503 static enum ndr_err_code ndr_push_netr_NETRLOGONCOMPUTESERVERDIGEST(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONCOMPUTESERVERDIGEST *r)
11505 if (flags & NDR_IN) {
11507 if (flags & NDR_OUT) {
11508 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11510 return NDR_ERR_SUCCESS;
11513 static enum ndr_err_code ndr_pull_netr_NETRLOGONCOMPUTESERVERDIGEST(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONCOMPUTESERVERDIGEST *r)
11515 if (flags & NDR_IN) {
11517 if (flags & NDR_OUT) {
11518 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11520 return NDR_ERR_SUCCESS;
11523 _PUBLIC_ void ndr_print_netr_NETRLOGONCOMPUTESERVERDIGEST(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONCOMPUTESERVERDIGEST *r)
11525 ndr_print_struct(ndr, name, "netr_NETRLOGONCOMPUTESERVERDIGEST");
11527 if (flags & NDR_SET_VALUES) {
11528 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11530 if (flags & NDR_IN) {
11531 ndr_print_struct(ndr, "in", "netr_NETRLOGONCOMPUTESERVERDIGEST");
11535 if (flags & NDR_OUT) {
11536 ndr_print_struct(ndr, "out", "netr_NETRLOGONCOMPUTESERVERDIGEST");
11538 ndr_print_WERROR(ndr, "result", r->out.result);
11544 static enum ndr_err_code ndr_push_netr_NETRLOGONCOMPUTECLIENTDIGEST(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONCOMPUTECLIENTDIGEST *r)
11546 if (flags & NDR_IN) {
11548 if (flags & NDR_OUT) {
11549 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11551 return NDR_ERR_SUCCESS;
11554 static enum ndr_err_code ndr_pull_netr_NETRLOGONCOMPUTECLIENTDIGEST(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONCOMPUTECLIENTDIGEST *r)
11556 if (flags & NDR_IN) {
11558 if (flags & NDR_OUT) {
11559 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11561 return NDR_ERR_SUCCESS;
11564 _PUBLIC_ void ndr_print_netr_NETRLOGONCOMPUTECLIENTDIGEST(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONCOMPUTECLIENTDIGEST *r)
11566 ndr_print_struct(ndr, name, "netr_NETRLOGONCOMPUTECLIENTDIGEST");
11568 if (flags & NDR_SET_VALUES) {
11569 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11571 if (flags & NDR_IN) {
11572 ndr_print_struct(ndr, "in", "netr_NETRLOGONCOMPUTECLIENTDIGEST");
11576 if (flags & NDR_OUT) {
11577 ndr_print_struct(ndr, "out", "netr_NETRLOGONCOMPUTECLIENTDIGEST");
11579 ndr_print_WERROR(ndr, "result", r->out.result);
11585 static enum ndr_err_code ndr_push_netr_ServerAuthenticate3(struct ndr_push *ndr, int flags, const struct netr_ServerAuthenticate3 *r)
11587 if (flags & NDR_IN) {
11588 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
11589 if (r->in.server_name) {
11590 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
11591 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11592 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
11593 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));
11595 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
11596 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11597 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
11598 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));
11599 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
11600 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
11601 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11602 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
11603 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));
11604 if (r->in.credentials == NULL) {
11605 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11607 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
11608 if (r->in.negotiate_flags == NULL) {
11609 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11611 NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, *r->in.negotiate_flags));
11613 if (flags & NDR_OUT) {
11614 if (r->out.credentials == NULL) {
11615 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11617 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.credentials));
11618 if (r->out.negotiate_flags == NULL) {
11619 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11621 NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, *r->out.negotiate_flags));
11622 if (r->out.rid == NULL) {
11623 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11625 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.rid));
11626 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11628 return NDR_ERR_SUCCESS;
11631 static enum ndr_err_code ndr_pull_netr_ServerAuthenticate3(struct ndr_pull *ndr, int flags, struct netr_ServerAuthenticate3 *r)
11633 uint32_t _ptr_server_name;
11634 TALLOC_CTX *_mem_save_server_name_0;
11635 TALLOC_CTX *_mem_save_credentials_0;
11636 TALLOC_CTX *_mem_save_negotiate_flags_0;
11637 TALLOC_CTX *_mem_save_rid_0;
11638 if (flags & NDR_IN) {
11639 ZERO_STRUCT(r->out);
11641 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
11642 if (_ptr_server_name) {
11643 NDR_PULL_ALLOC(ndr, r->in.server_name);
11645 r->in.server_name = NULL;
11647 if (r->in.server_name) {
11648 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11649 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
11650 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
11651 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
11652 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
11653 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));
11655 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
11656 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));
11657 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
11659 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
11660 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
11661 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
11662 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));
11664 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
11665 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));
11666 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
11667 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
11668 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
11669 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
11670 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));
11672 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
11673 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));
11674 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11675 NDR_PULL_ALLOC(ndr, r->in.credentials);
11677 _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
11678 NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC);
11679 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
11680 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
11681 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11682 NDR_PULL_ALLOC(ndr, r->in.negotiate_flags);
11684 _mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
11685 NDR_PULL_SET_MEM_CTX(ndr, r->in.negotiate_flags, LIBNDR_FLAG_REF_ALLOC);
11686 NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, r->in.negotiate_flags));
11687 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC);
11688 NDR_PULL_ALLOC(ndr, r->out.credentials);
11689 *r->out.credentials = *r->in.credentials;
11690 NDR_PULL_ALLOC(ndr, r->out.negotiate_flags);
11691 *r->out.negotiate_flags = *r->in.negotiate_flags;
11692 NDR_PULL_ALLOC(ndr, r->out.rid);
11693 ZERO_STRUCTP(r->out.rid);
11695 if (flags & NDR_OUT) {
11696 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11697 NDR_PULL_ALLOC(ndr, r->out.credentials);
11699 _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
11700 NDR_PULL_SET_MEM_CTX(ndr, r->out.credentials, LIBNDR_FLAG_REF_ALLOC);
11701 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.credentials));
11702 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
11703 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11704 NDR_PULL_ALLOC(ndr, r->out.negotiate_flags);
11706 _mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
11707 NDR_PULL_SET_MEM_CTX(ndr, r->out.negotiate_flags, LIBNDR_FLAG_REF_ALLOC);
11708 NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, r->out.negotiate_flags));
11709 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC);
11710 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11711 NDR_PULL_ALLOC(ndr, r->out.rid);
11713 _mem_save_rid_0 = NDR_PULL_GET_MEM_CTX(ndr);
11714 NDR_PULL_SET_MEM_CTX(ndr, r->out.rid, LIBNDR_FLAG_REF_ALLOC);
11715 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.rid));
11716 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rid_0, LIBNDR_FLAG_REF_ALLOC);
11717 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11719 return NDR_ERR_SUCCESS;
11722 _PUBLIC_ void ndr_print_netr_ServerAuthenticate3(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerAuthenticate3 *r)
11724 ndr_print_struct(ndr, name, "netr_ServerAuthenticate3");
11726 if (flags & NDR_SET_VALUES) {
11727 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11729 if (flags & NDR_IN) {
11730 ndr_print_struct(ndr, "in", "netr_ServerAuthenticate3");
11732 ndr_print_ptr(ndr, "server_name", r->in.server_name);
11734 if (r->in.server_name) {
11735 ndr_print_string(ndr, "server_name", r->in.server_name);
11738 ndr_print_string(ndr, "account_name", r->in.account_name);
11739 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
11740 ndr_print_string(ndr, "computer_name", r->in.computer_name);
11741 ndr_print_ptr(ndr, "credentials", r->in.credentials);
11743 ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
11745 ndr_print_ptr(ndr, "negotiate_flags", r->in.negotiate_flags);
11747 ndr_print_netr_NegotiateFlags(ndr, "negotiate_flags", *r->in.negotiate_flags);
11751 if (flags & NDR_OUT) {
11752 ndr_print_struct(ndr, "out", "netr_ServerAuthenticate3");
11754 ndr_print_ptr(ndr, "credentials", r->out.credentials);
11756 ndr_print_netr_Credential(ndr, "credentials", r->out.credentials);
11758 ndr_print_ptr(ndr, "negotiate_flags", r->out.negotiate_flags);
11760 ndr_print_netr_NegotiateFlags(ndr, "negotiate_flags", *r->out.negotiate_flags);
11762 ndr_print_ptr(ndr, "rid", r->out.rid);
11764 ndr_print_uint32(ndr, "rid", *r->out.rid);
11766 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11772 static enum ndr_err_code ndr_push_netr_DsRGetDCNameEx(struct ndr_push *ndr, int flags, const struct netr_DsRGetDCNameEx *r)
11774 if (flags & NDR_IN) {
11775 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc));
11776 if (r->in.server_unc) {
11777 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
11778 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11779 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
11780 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));
11782 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
11783 if (r->in.domain_name) {
11784 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
11785 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11786 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
11787 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));
11789 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
11790 if (r->in.domain_guid) {
11791 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
11793 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.site_name));
11794 if (r->in.site_name) {
11795 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
11796 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11797 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
11798 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));
11800 NDR_CHECK(ndr_push_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, r->in.flags));
11802 if (flags & NDR_OUT) {
11803 if (r->out.info == NULL) {
11804 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11806 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
11807 if (*r->out.info) {
11808 NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
11810 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11812 return NDR_ERR_SUCCESS;
11815 static enum ndr_err_code ndr_pull_netr_DsRGetDCNameEx(struct ndr_pull *ndr, int flags, struct netr_DsRGetDCNameEx *r)
11817 uint32_t _ptr_server_unc;
11818 uint32_t _ptr_domain_name;
11819 uint32_t _ptr_domain_guid;
11820 uint32_t _ptr_site_name;
11821 uint32_t _ptr_info;
11822 TALLOC_CTX *_mem_save_server_unc_0;
11823 TALLOC_CTX *_mem_save_domain_name_0;
11824 TALLOC_CTX *_mem_save_domain_guid_0;
11825 TALLOC_CTX *_mem_save_site_name_0;
11826 TALLOC_CTX *_mem_save_info_0;
11827 TALLOC_CTX *_mem_save_info_1;
11828 if (flags & NDR_IN) {
11829 ZERO_STRUCT(r->out);
11831 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc));
11832 if (_ptr_server_unc) {
11833 NDR_PULL_ALLOC(ndr, r->in.server_unc);
11835 r->in.server_unc = NULL;
11837 if (r->in.server_unc) {
11838 _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr);
11839 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
11840 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
11841 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
11842 if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
11843 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));
11845 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
11846 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));
11847 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
11849 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
11850 if (_ptr_domain_name) {
11851 NDR_PULL_ALLOC(ndr, r->in.domain_name);
11853 r->in.domain_name = NULL;
11855 if (r->in.domain_name) {
11856 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11857 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
11858 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
11859 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
11860 if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
11861 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));
11863 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
11864 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));
11865 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
11867 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
11868 if (_ptr_domain_guid) {
11869 NDR_PULL_ALLOC(ndr, r->in.domain_guid);
11871 r->in.domain_guid = NULL;
11873 if (r->in.domain_guid) {
11874 _mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
11875 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
11876 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
11877 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
11879 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
11880 if (_ptr_site_name) {
11881 NDR_PULL_ALLOC(ndr, r->in.site_name);
11883 r->in.site_name = NULL;
11885 if (r->in.site_name) {
11886 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11887 NDR_PULL_SET_MEM_CTX(ndr, r->in.site_name, 0);
11888 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.site_name));
11889 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.site_name));
11890 if (ndr_get_array_length(ndr, &r->in.site_name) > ndr_get_array_size(ndr, &r->in.site_name)) {
11891 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));
11893 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.site_name), sizeof(uint16_t)));
11894 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));
11895 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
11897 NDR_CHECK(ndr_pull_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, &r->in.flags));
11898 NDR_PULL_ALLOC(ndr, r->out.info);
11899 ZERO_STRUCTP(r->out.info);
11901 if (flags & NDR_OUT) {
11902 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11903 NDR_PULL_ALLOC(ndr, r->out.info);
11905 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
11906 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
11907 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
11909 NDR_PULL_ALLOC(ndr, *r->out.info);
11911 *r->out.info = NULL;
11913 if (*r->out.info) {
11914 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
11915 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
11916 NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
11917 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
11919 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
11920 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11922 return NDR_ERR_SUCCESS;
11925 _PUBLIC_ void ndr_print_netr_DsRGetDCNameEx(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetDCNameEx *r)
11927 ndr_print_struct(ndr, name, "netr_DsRGetDCNameEx");
11929 if (flags & NDR_SET_VALUES) {
11930 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11932 if (flags & NDR_IN) {
11933 ndr_print_struct(ndr, "in", "netr_DsRGetDCNameEx");
11935 ndr_print_ptr(ndr, "server_unc", r->in.server_unc);
11937 if (r->in.server_unc) {
11938 ndr_print_string(ndr, "server_unc", r->in.server_unc);
11941 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
11943 if (r->in.domain_name) {
11944 ndr_print_string(ndr, "domain_name", r->in.domain_name);
11947 ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
11949 if (r->in.domain_guid) {
11950 ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
11953 ndr_print_ptr(ndr, "site_name", r->in.site_name);
11955 if (r->in.site_name) {
11956 ndr_print_string(ndr, "site_name", r->in.site_name);
11959 ndr_print_netr_DsRGetDCName_flags(ndr, "flags", r->in.flags);
11962 if (flags & NDR_OUT) {
11963 ndr_print_struct(ndr, "out", "netr_DsRGetDCNameEx");
11965 ndr_print_ptr(ndr, "info", r->out.info);
11967 ndr_print_ptr(ndr, "info", *r->out.info);
11969 if (*r->out.info) {
11970 ndr_print_netr_DsRGetDCNameInfo(ndr, "info", *r->out.info);
11974 ndr_print_WERROR(ndr, "result", r->out.result);
11980 static enum ndr_err_code ndr_push_netr_DsRGetSiteName(struct ndr_push *ndr, int flags, const struct netr_DsRGetSiteName *r)
11982 if (flags & NDR_IN) {
11983 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
11984 if (r->in.computer_name) {
11985 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
11986 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11987 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
11988 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));
11991 if (flags & NDR_OUT) {
11992 if (r->out.site == NULL) {
11993 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11995 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.site));
11996 if (*r->out.site) {
11997 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.site, CH_UTF16)));
11998 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11999 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.site, CH_UTF16)));
12000 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.site, ndr_charset_length(*r->out.site, CH_UTF16), sizeof(uint16_t), CH_UTF16));
12002 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12004 return NDR_ERR_SUCCESS;
12007 static enum ndr_err_code ndr_pull_netr_DsRGetSiteName(struct ndr_pull *ndr, int flags, struct netr_DsRGetSiteName *r)
12009 uint32_t _ptr_computer_name;
12010 uint32_t _ptr_site;
12011 TALLOC_CTX *_mem_save_computer_name_0;
12012 TALLOC_CTX *_mem_save_site_0;
12013 TALLOC_CTX *_mem_save_site_1;
12014 if (flags & NDR_IN) {
12015 ZERO_STRUCT(r->out);
12017 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
12018 if (_ptr_computer_name) {
12019 NDR_PULL_ALLOC(ndr, r->in.computer_name);
12021 r->in.computer_name = NULL;
12023 if (r->in.computer_name) {
12024 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12025 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
12026 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
12027 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
12028 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
12029 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));
12031 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
12032 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));
12033 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
12035 NDR_PULL_ALLOC(ndr, r->out.site);
12036 ZERO_STRUCTP(r->out.site);
12038 if (flags & NDR_OUT) {
12039 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12040 NDR_PULL_ALLOC(ndr, r->out.site);
12042 _mem_save_site_0 = NDR_PULL_GET_MEM_CTX(ndr);
12043 NDR_PULL_SET_MEM_CTX(ndr, r->out.site, LIBNDR_FLAG_REF_ALLOC);
12044 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site));
12046 NDR_PULL_ALLOC(ndr, *r->out.site);
12048 *r->out.site = NULL;
12050 if (*r->out.site) {
12051 _mem_save_site_1 = NDR_PULL_GET_MEM_CTX(ndr);
12052 NDR_PULL_SET_MEM_CTX(ndr, *r->out.site, 0);
12053 NDR_CHECK(ndr_pull_array_size(ndr, r->out.site));
12054 NDR_CHECK(ndr_pull_array_length(ndr, r->out.site));
12055 if (ndr_get_array_length(ndr, r->out.site) > ndr_get_array_size(ndr, r->out.site)) {
12056 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));
12058 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.site), sizeof(uint16_t)));
12059 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.site, ndr_get_array_length(ndr, r->out.site), sizeof(uint16_t), CH_UTF16));
12060 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_1, 0);
12062 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_0, LIBNDR_FLAG_REF_ALLOC);
12063 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12065 return NDR_ERR_SUCCESS;
12068 _PUBLIC_ void ndr_print_netr_DsRGetSiteName(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetSiteName *r)
12070 ndr_print_struct(ndr, name, "netr_DsRGetSiteName");
12072 if (flags & NDR_SET_VALUES) {
12073 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12075 if (flags & NDR_IN) {
12076 ndr_print_struct(ndr, "in", "netr_DsRGetSiteName");
12078 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
12080 if (r->in.computer_name) {
12081 ndr_print_string(ndr, "computer_name", r->in.computer_name);
12086 if (flags & NDR_OUT) {
12087 ndr_print_struct(ndr, "out", "netr_DsRGetSiteName");
12089 ndr_print_ptr(ndr, "site", r->out.site);
12091 ndr_print_ptr(ndr, "site", *r->out.site);
12093 if (*r->out.site) {
12094 ndr_print_string(ndr, "site", *r->out.site);
12098 ndr_print_WERROR(ndr, "result", r->out.result);
12104 static enum ndr_err_code ndr_push_netr_LogonGetDomainInfo(struct ndr_push *ndr, int flags, const struct netr_LogonGetDomainInfo *r)
12106 if (flags & NDR_IN) {
12107 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12108 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12109 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12110 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));
12111 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
12112 if (r->in.computer_name) {
12113 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
12114 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12115 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
12116 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));
12118 if (r->in.credential == NULL) {
12119 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12121 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
12122 if (r->in.return_authenticator == NULL) {
12123 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12125 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
12126 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
12127 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.query, r->in.level));
12128 NDR_CHECK(ndr_push_netr_DomainQuery(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.query));
12130 if (flags & NDR_OUT) {
12131 if (r->out.return_authenticator == NULL) {
12132 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12134 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12135 if (r->out.info == NULL) {
12136 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12138 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level));
12139 NDR_CHECK(ndr_push_netr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
12140 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12142 return NDR_ERR_SUCCESS;
12145 static enum ndr_err_code ndr_pull_netr_LogonGetDomainInfo(struct ndr_pull *ndr, int flags, struct netr_LogonGetDomainInfo *r)
12147 uint32_t _ptr_computer_name;
12148 TALLOC_CTX *_mem_save_computer_name_0;
12149 TALLOC_CTX *_mem_save_credential_0;
12150 TALLOC_CTX *_mem_save_return_authenticator_0;
12151 TALLOC_CTX *_mem_save_info_0;
12152 if (flags & NDR_IN) {
12153 ZERO_STRUCT(r->out);
12155 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
12156 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
12157 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
12158 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));
12160 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
12161 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));
12162 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
12163 if (_ptr_computer_name) {
12164 NDR_PULL_ALLOC(ndr, r->in.computer_name);
12166 r->in.computer_name = NULL;
12168 if (r->in.computer_name) {
12169 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12170 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
12171 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
12172 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
12173 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
12174 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));
12176 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
12177 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));
12178 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
12180 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12181 NDR_PULL_ALLOC(ndr, r->in.credential);
12183 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
12184 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
12185 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
12186 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
12187 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12188 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
12190 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
12191 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
12192 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
12193 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
12194 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
12195 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.query, r->in.level));
12196 NDR_CHECK(ndr_pull_netr_DomainQuery(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.query));
12197 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12198 *r->out.return_authenticator = *r->in.return_authenticator;
12199 NDR_PULL_ALLOC(ndr, r->out.info);
12200 ZERO_STRUCTP(r->out.info);
12202 if (flags & NDR_OUT) {
12203 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12204 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12206 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
12207 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
12208 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12209 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
12210 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12211 NDR_PULL_ALLOC(ndr, r->out.info);
12213 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
12214 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
12215 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level));
12216 NDR_CHECK(ndr_pull_netr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
12217 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
12218 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12220 return NDR_ERR_SUCCESS;
12223 _PUBLIC_ void ndr_print_netr_LogonGetDomainInfo(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonGetDomainInfo *r)
12225 ndr_print_struct(ndr, name, "netr_LogonGetDomainInfo");
12227 if (flags & NDR_SET_VALUES) {
12228 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12230 if (flags & NDR_IN) {
12231 ndr_print_struct(ndr, "in", "netr_LogonGetDomainInfo");
12233 ndr_print_string(ndr, "server_name", r->in.server_name);
12234 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
12236 if (r->in.computer_name) {
12237 ndr_print_string(ndr, "computer_name", r->in.computer_name);
12240 ndr_print_ptr(ndr, "credential", r->in.credential);
12242 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
12244 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
12246 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
12248 ndr_print_uint32(ndr, "level", r->in.level);
12249 ndr_print_set_switch_value(ndr, &r->in.query, r->in.level);
12250 ndr_print_netr_DomainQuery(ndr, "query", &r->in.query);
12253 if (flags & NDR_OUT) {
12254 ndr_print_struct(ndr, "out", "netr_LogonGetDomainInfo");
12256 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
12258 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
12260 ndr_print_ptr(ndr, "info", r->out.info);
12262 ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
12263 ndr_print_netr_DomainInfo(ndr, "info", r->out.info);
12265 ndr_print_NTSTATUS(ndr, "result", r->out.result);
12271 static enum ndr_err_code ndr_push_netr_ServerPasswordSet2(struct ndr_push *ndr, int flags, const struct netr_ServerPasswordSet2 *r)
12273 if (flags & NDR_IN) {
12274 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
12275 if (r->in.server_name) {
12276 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12277 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12278 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12279 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));
12281 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
12282 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12283 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
12284 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));
12285 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
12286 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
12287 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12288 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
12289 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));
12290 if (r->in.credential == NULL) {
12291 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12293 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
12294 if (r->in.new_password == NULL) {
12295 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12297 NDR_CHECK(ndr_push_netr_CryptPassword(ndr, NDR_SCALARS, r->in.new_password));
12299 if (flags & NDR_OUT) {
12300 if (r->out.return_authenticator == NULL) {
12301 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12303 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12304 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12306 return NDR_ERR_SUCCESS;
12309 static enum ndr_err_code ndr_pull_netr_ServerPasswordSet2(struct ndr_pull *ndr, int flags, struct netr_ServerPasswordSet2 *r)
12311 uint32_t _ptr_server_name;
12312 TALLOC_CTX *_mem_save_server_name_0;
12313 TALLOC_CTX *_mem_save_credential_0;
12314 TALLOC_CTX *_mem_save_return_authenticator_0;
12315 TALLOC_CTX *_mem_save_new_password_0;
12316 if (flags & NDR_IN) {
12317 ZERO_STRUCT(r->out);
12319 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
12320 if (_ptr_server_name) {
12321 NDR_PULL_ALLOC(ndr, r->in.server_name);
12323 r->in.server_name = NULL;
12325 if (r->in.server_name) {
12326 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12327 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
12328 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
12329 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
12330 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
12331 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));
12333 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
12334 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));
12335 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
12337 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
12338 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
12339 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
12340 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));
12342 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
12343 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));
12344 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
12345 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
12346 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
12347 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
12348 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));
12350 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
12351 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));
12352 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12353 NDR_PULL_ALLOC(ndr, r->in.credential);
12355 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
12356 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
12357 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
12358 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
12359 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12360 NDR_PULL_ALLOC(ndr, r->in.new_password);
12362 _mem_save_new_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
12363 NDR_PULL_SET_MEM_CTX(ndr, r->in.new_password, LIBNDR_FLAG_REF_ALLOC);
12364 NDR_CHECK(ndr_pull_netr_CryptPassword(ndr, NDR_SCALARS, r->in.new_password));
12365 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_password_0, LIBNDR_FLAG_REF_ALLOC);
12366 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12367 ZERO_STRUCTP(r->out.return_authenticator);
12369 if (flags & NDR_OUT) {
12370 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12371 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12373 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
12374 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
12375 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12376 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
12377 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12379 return NDR_ERR_SUCCESS;
12382 _PUBLIC_ void ndr_print_netr_ServerPasswordSet2(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerPasswordSet2 *r)
12384 ndr_print_struct(ndr, name, "netr_ServerPasswordSet2");
12386 if (flags & NDR_SET_VALUES) {
12387 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12389 if (flags & NDR_IN) {
12390 ndr_print_struct(ndr, "in", "netr_ServerPasswordSet2");
12392 ndr_print_ptr(ndr, "server_name", r->in.server_name);
12394 if (r->in.server_name) {
12395 ndr_print_string(ndr, "server_name", r->in.server_name);
12398 ndr_print_string(ndr, "account_name", r->in.account_name);
12399 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
12400 ndr_print_string(ndr, "computer_name", r->in.computer_name);
12401 ndr_print_ptr(ndr, "credential", r->in.credential);
12403 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
12405 ndr_print_ptr(ndr, "new_password", r->in.new_password);
12407 ndr_print_netr_CryptPassword(ndr, "new_password", r->in.new_password);
12411 if (flags & NDR_OUT) {
12412 ndr_print_struct(ndr, "out", "netr_ServerPasswordSet2");
12414 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
12416 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
12418 ndr_print_NTSTATUS(ndr, "result", r->out.result);
12424 static enum ndr_err_code ndr_push_netr_ServerPasswordGet(struct ndr_push *ndr, int flags, const struct netr_ServerPasswordGet *r)
12426 if (flags & NDR_IN) {
12427 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
12428 if (r->in.server_name) {
12429 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12430 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12431 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12432 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));
12434 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
12435 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12436 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
12437 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));
12438 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
12439 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
12440 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12441 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
12442 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));
12443 if (r->in.credential == NULL) {
12444 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12446 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
12448 if (flags & NDR_OUT) {
12449 if (r->out.return_authenticator == NULL) {
12450 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12452 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12453 if (r->out.password == NULL) {
12454 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12456 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->out.password));
12457 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12459 return NDR_ERR_SUCCESS;
12462 static enum ndr_err_code ndr_pull_netr_ServerPasswordGet(struct ndr_pull *ndr, int flags, struct netr_ServerPasswordGet *r)
12464 uint32_t _ptr_server_name;
12465 TALLOC_CTX *_mem_save_server_name_0;
12466 TALLOC_CTX *_mem_save_credential_0;
12467 TALLOC_CTX *_mem_save_return_authenticator_0;
12468 TALLOC_CTX *_mem_save_password_0;
12469 if (flags & NDR_IN) {
12470 ZERO_STRUCT(r->out);
12472 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
12473 if (_ptr_server_name) {
12474 NDR_PULL_ALLOC(ndr, r->in.server_name);
12476 r->in.server_name = NULL;
12478 if (r->in.server_name) {
12479 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12480 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
12481 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
12482 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
12483 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
12484 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));
12486 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
12487 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));
12488 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
12490 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
12491 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
12492 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
12493 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));
12495 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
12496 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));
12497 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
12498 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
12499 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
12500 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
12501 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));
12503 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
12504 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));
12505 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12506 NDR_PULL_ALLOC(ndr, r->in.credential);
12508 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
12509 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
12510 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
12511 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
12512 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12513 ZERO_STRUCTP(r->out.return_authenticator);
12514 NDR_PULL_ALLOC(ndr, r->out.password);
12515 ZERO_STRUCTP(r->out.password);
12517 if (flags & NDR_OUT) {
12518 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12519 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12521 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
12522 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
12523 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12524 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
12525 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12526 NDR_PULL_ALLOC(ndr, r->out.password);
12528 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
12529 NDR_PULL_SET_MEM_CTX(ndr, r->out.password, LIBNDR_FLAG_REF_ALLOC);
12530 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->out.password));
12531 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, LIBNDR_FLAG_REF_ALLOC);
12532 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12534 return NDR_ERR_SUCCESS;
12537 _PUBLIC_ void ndr_print_netr_ServerPasswordGet(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerPasswordGet *r)
12539 ndr_print_struct(ndr, name, "netr_ServerPasswordGet");
12541 if (flags & NDR_SET_VALUES) {
12542 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12544 if (flags & NDR_IN) {
12545 ndr_print_struct(ndr, "in", "netr_ServerPasswordGet");
12547 ndr_print_ptr(ndr, "server_name", r->in.server_name);
12549 if (r->in.server_name) {
12550 ndr_print_string(ndr, "server_name", r->in.server_name);
12553 ndr_print_string(ndr, "account_name", r->in.account_name);
12554 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
12555 ndr_print_string(ndr, "computer_name", r->in.computer_name);
12556 ndr_print_ptr(ndr, "credential", r->in.credential);
12558 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
12562 if (flags & NDR_OUT) {
12563 ndr_print_struct(ndr, "out", "netr_ServerPasswordGet");
12565 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
12567 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
12569 ndr_print_ptr(ndr, "password", r->out.password);
12571 ndr_print_samr_Password(ndr, "password", r->out.password);
12573 ndr_print_WERROR(ndr, "result", r->out.result);
12579 static enum ndr_err_code ndr_push_netr_NETRLOGONSENDTOSAM(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONSENDTOSAM *r)
12581 if (flags & NDR_IN) {
12583 if (flags & NDR_OUT) {
12584 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12586 return NDR_ERR_SUCCESS;
12589 static enum ndr_err_code ndr_pull_netr_NETRLOGONSENDTOSAM(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONSENDTOSAM *r)
12591 if (flags & NDR_IN) {
12593 if (flags & NDR_OUT) {
12594 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12596 return NDR_ERR_SUCCESS;
12599 _PUBLIC_ void ndr_print_netr_NETRLOGONSENDTOSAM(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONSENDTOSAM *r)
12601 ndr_print_struct(ndr, name, "netr_NETRLOGONSENDTOSAM");
12603 if (flags & NDR_SET_VALUES) {
12604 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12606 if (flags & NDR_IN) {
12607 ndr_print_struct(ndr, "in", "netr_NETRLOGONSENDTOSAM");
12611 if (flags & NDR_OUT) {
12612 ndr_print_struct(ndr, "out", "netr_NETRLOGONSENDTOSAM");
12614 ndr_print_WERROR(ndr, "result", r->out.result);
12620 static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesW(struct ndr_push *ndr, int flags, const struct netr_DsRAddressToSitenamesW *r)
12622 uint32_t cntr_addresses_1;
12623 if (flags & NDR_IN) {
12624 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
12625 if (r->in.server_name) {
12626 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12627 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12628 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12629 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));
12631 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
12632 if (r->in.addresses == NULL) {
12633 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12635 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
12636 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
12637 NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1]));
12639 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
12640 NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1]));
12643 if (flags & NDR_OUT) {
12644 if (r->out.ctr == NULL) {
12645 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12647 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.ctr));
12649 NDR_CHECK(ndr_push_netr_DsRAddressToSitenamesWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
12651 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12653 return NDR_ERR_SUCCESS;
12656 static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesW(struct ndr_pull *ndr, int flags, struct netr_DsRAddressToSitenamesW *r)
12658 uint32_t _ptr_server_name;
12659 uint32_t cntr_addresses_1;
12661 TALLOC_CTX *_mem_save_server_name_0;
12662 TALLOC_CTX *_mem_save_addresses_1;
12663 TALLOC_CTX *_mem_save_ctr_0;
12664 TALLOC_CTX *_mem_save_ctr_1;
12665 if (flags & NDR_IN) {
12666 ZERO_STRUCT(r->out);
12668 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
12669 if (_ptr_server_name) {
12670 NDR_PULL_ALLOC(ndr, r->in.server_name);
12672 r->in.server_name = NULL;
12674 if (r->in.server_name) {
12675 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12676 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
12677 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
12678 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
12679 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
12680 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));
12682 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
12683 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));
12684 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
12686 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
12687 if (r->in.count < 0 || r->in.count > 32000) {
12688 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
12690 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.addresses));
12691 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12692 NDR_PULL_ALLOC_N(ndr, r->in.addresses, ndr_get_array_size(ndr, &r->in.addresses));
12694 _mem_save_addresses_1 = NDR_PULL_GET_MEM_CTX(ndr);
12695 NDR_PULL_SET_MEM_CTX(ndr, r->in.addresses, 0);
12696 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
12697 NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1]));
12699 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
12700 NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1]));
12702 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_addresses_1, 0);
12703 NDR_PULL_ALLOC(ndr, r->out.ctr);
12704 ZERO_STRUCTP(r->out.ctr);
12705 if (r->in.addresses) {
12706 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.addresses, r->in.count));
12709 if (flags & NDR_OUT) {
12710 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12711 NDR_PULL_ALLOC(ndr, r->out.ctr);
12713 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
12714 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
12715 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr));
12717 NDR_PULL_ALLOC(ndr, *r->out.ctr);
12719 *r->out.ctr = NULL;
12722 _mem_save_ctr_1 = NDR_PULL_GET_MEM_CTX(ndr);
12723 NDR_PULL_SET_MEM_CTX(ndr, *r->out.ctr, 0);
12724 NDR_CHECK(ndr_pull_netr_DsRAddressToSitenamesWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
12725 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_1, 0);
12727 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
12728 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12730 return NDR_ERR_SUCCESS;
12733 _PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesW(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRAddressToSitenamesW *r)
12735 uint32_t cntr_addresses_1;
12736 ndr_print_struct(ndr, name, "netr_DsRAddressToSitenamesW");
12738 if (flags & NDR_SET_VALUES) {
12739 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12741 if (flags & NDR_IN) {
12742 ndr_print_struct(ndr, "in", "netr_DsRAddressToSitenamesW");
12744 ndr_print_ptr(ndr, "server_name", r->in.server_name);
12746 if (r->in.server_name) {
12747 ndr_print_string(ndr, "server_name", r->in.server_name);
12750 ndr_print_uint32(ndr, "count", r->in.count);
12751 ndr_print_ptr(ndr, "addresses", r->in.addresses);
12753 ndr->print(ndr, "%s: ARRAY(%d)", "addresses", (int)r->in.count);
12755 for (cntr_addresses_1=0;cntr_addresses_1<r->in.count;cntr_addresses_1++) {
12757 if (asprintf(&idx_1, "[%d]", cntr_addresses_1) != -1) {
12758 ndr_print_netr_DsRAddress(ndr, "addresses", &r->in.addresses[cntr_addresses_1]);
12766 if (flags & NDR_OUT) {
12767 ndr_print_struct(ndr, "out", "netr_DsRAddressToSitenamesW");
12769 ndr_print_ptr(ndr, "ctr", r->out.ctr);
12771 ndr_print_ptr(ndr, "ctr", *r->out.ctr);
12774 ndr_print_netr_DsRAddressToSitenamesWCtr(ndr, "ctr", *r->out.ctr);
12778 ndr_print_WERROR(ndr, "result", r->out.result);
12784 static enum ndr_err_code ndr_push_netr_DsRGetDCNameEx2(struct ndr_push *ndr, int flags, const struct netr_DsRGetDCNameEx2 *r)
12786 if (flags & NDR_IN) {
12787 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc));
12788 if (r->in.server_unc) {
12789 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
12790 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12791 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
12792 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));
12794 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.client_account));
12795 if (r->in.client_account) {
12796 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.client_account, CH_UTF16)));
12797 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12798 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.client_account, CH_UTF16)));
12799 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));
12801 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->in.mask));
12802 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
12803 if (r->in.domain_name) {
12804 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
12805 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12806 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
12807 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));
12809 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
12810 if (r->in.domain_guid) {
12811 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
12813 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.site_name));
12814 if (r->in.site_name) {
12815 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
12816 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12817 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
12818 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));
12820 NDR_CHECK(ndr_push_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, r->in.flags));
12822 if (flags & NDR_OUT) {
12823 if (r->out.info == NULL) {
12824 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12826 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
12827 if (*r->out.info) {
12828 NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
12830 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12832 return NDR_ERR_SUCCESS;
12835 static enum ndr_err_code ndr_pull_netr_DsRGetDCNameEx2(struct ndr_pull *ndr, int flags, struct netr_DsRGetDCNameEx2 *r)
12837 uint32_t _ptr_server_unc;
12838 uint32_t _ptr_client_account;
12839 uint32_t _ptr_domain_name;
12840 uint32_t _ptr_domain_guid;
12841 uint32_t _ptr_site_name;
12842 uint32_t _ptr_info;
12843 TALLOC_CTX *_mem_save_server_unc_0;
12844 TALLOC_CTX *_mem_save_client_account_0;
12845 TALLOC_CTX *_mem_save_domain_name_0;
12846 TALLOC_CTX *_mem_save_domain_guid_0;
12847 TALLOC_CTX *_mem_save_site_name_0;
12848 TALLOC_CTX *_mem_save_info_0;
12849 TALLOC_CTX *_mem_save_info_1;
12850 if (flags & NDR_IN) {
12851 ZERO_STRUCT(r->out);
12853 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc));
12854 if (_ptr_server_unc) {
12855 NDR_PULL_ALLOC(ndr, r->in.server_unc);
12857 r->in.server_unc = NULL;
12859 if (r->in.server_unc) {
12860 _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr);
12861 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
12862 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
12863 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
12864 if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
12865 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));
12867 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
12868 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));
12869 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
12871 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_account));
12872 if (_ptr_client_account) {
12873 NDR_PULL_ALLOC(ndr, r->in.client_account);
12875 r->in.client_account = NULL;
12877 if (r->in.client_account) {
12878 _mem_save_client_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
12879 NDR_PULL_SET_MEM_CTX(ndr, r->in.client_account, 0);
12880 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.client_account));
12881 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.client_account));
12882 if (ndr_get_array_length(ndr, &r->in.client_account) > ndr_get_array_size(ndr, &r->in.client_account)) {
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.client_account), ndr_get_array_length(ndr, &r->in.client_account));
12885 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.client_account), sizeof(uint16_t)));
12886 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));
12887 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_account_0, 0);
12889 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->in.mask));
12890 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
12891 if (_ptr_domain_name) {
12892 NDR_PULL_ALLOC(ndr, r->in.domain_name);
12894 r->in.domain_name = NULL;
12896 if (r->in.domain_name) {
12897 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12898 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
12899 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
12900 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
12901 if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
12902 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));
12904 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
12905 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));
12906 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
12908 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
12909 if (_ptr_domain_guid) {
12910 NDR_PULL_ALLOC(ndr, r->in.domain_guid);
12912 r->in.domain_guid = NULL;
12914 if (r->in.domain_guid) {
12915 _mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
12916 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
12917 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
12918 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
12920 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
12921 if (_ptr_site_name) {
12922 NDR_PULL_ALLOC(ndr, r->in.site_name);
12924 r->in.site_name = NULL;
12926 if (r->in.site_name) {
12927 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12928 NDR_PULL_SET_MEM_CTX(ndr, r->in.site_name, 0);
12929 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.site_name));
12930 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.site_name));
12931 if (ndr_get_array_length(ndr, &r->in.site_name) > ndr_get_array_size(ndr, &r->in.site_name)) {
12932 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));
12934 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.site_name), sizeof(uint16_t)));
12935 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));
12936 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
12938 NDR_CHECK(ndr_pull_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, &r->in.flags));
12939 NDR_PULL_ALLOC(ndr, r->out.info);
12940 ZERO_STRUCTP(r->out.info);
12942 if (flags & NDR_OUT) {
12943 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12944 NDR_PULL_ALLOC(ndr, r->out.info);
12946 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
12947 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
12948 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
12950 NDR_PULL_ALLOC(ndr, *r->out.info);
12952 *r->out.info = NULL;
12954 if (*r->out.info) {
12955 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
12956 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
12957 NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
12958 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
12960 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
12961 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12963 return NDR_ERR_SUCCESS;
12966 _PUBLIC_ void ndr_print_netr_DsRGetDCNameEx2(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetDCNameEx2 *r)
12968 ndr_print_struct(ndr, name, "netr_DsRGetDCNameEx2");
12970 if (flags & NDR_SET_VALUES) {
12971 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12973 if (flags & NDR_IN) {
12974 ndr_print_struct(ndr, "in", "netr_DsRGetDCNameEx2");
12976 ndr_print_ptr(ndr, "server_unc", r->in.server_unc);
12978 if (r->in.server_unc) {
12979 ndr_print_string(ndr, "server_unc", r->in.server_unc);
12982 ndr_print_ptr(ndr, "client_account", r->in.client_account);
12984 if (r->in.client_account) {
12985 ndr_print_string(ndr, "client_account", r->in.client_account);
12988 ndr_print_samr_AcctFlags(ndr, "mask", r->in.mask);
12989 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
12991 if (r->in.domain_name) {
12992 ndr_print_string(ndr, "domain_name", r->in.domain_name);
12995 ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
12997 if (r->in.domain_guid) {
12998 ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
13001 ndr_print_ptr(ndr, "site_name", r->in.site_name);
13003 if (r->in.site_name) {
13004 ndr_print_string(ndr, "site_name", r->in.site_name);
13007 ndr_print_netr_DsRGetDCName_flags(ndr, "flags", r->in.flags);
13010 if (flags & NDR_OUT) {
13011 ndr_print_struct(ndr, "out", "netr_DsRGetDCNameEx2");
13013 ndr_print_ptr(ndr, "info", r->out.info);
13015 ndr_print_ptr(ndr, "info", *r->out.info);
13017 if (*r->out.info) {
13018 ndr_print_netr_DsRGetDCNameInfo(ndr, "info", *r->out.info);
13022 ndr_print_WERROR(ndr, "result", r->out.result);
13028 static enum ndr_err_code ndr_push_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN *r)
13030 if (flags & NDR_IN) {
13032 if (flags & NDR_OUT) {
13033 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13035 return NDR_ERR_SUCCESS;
13038 static enum ndr_err_code ndr_pull_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN *r)
13040 if (flags & NDR_IN) {
13042 if (flags & NDR_OUT) {
13043 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13045 return NDR_ERR_SUCCESS;
13048 _PUBLIC_ void ndr_print_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN *r)
13050 ndr_print_struct(ndr, name, "netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN");
13052 if (flags & NDR_SET_VALUES) {
13053 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13055 if (flags & NDR_IN) {
13056 ndr_print_struct(ndr, "in", "netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN");
13060 if (flags & NDR_OUT) {
13061 ndr_print_struct(ndr, "out", "netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN");
13063 ndr_print_WERROR(ndr, "result", r->out.result);
13069 static enum ndr_err_code ndr_push_netr_NetrEnumerateTrustedDomainsEx(struct ndr_push *ndr, int flags, const struct netr_NetrEnumerateTrustedDomainsEx *r)
13071 if (flags & NDR_IN) {
13072 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
13073 if (r->in.server_name) {
13074 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13075 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13076 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13077 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));
13080 if (flags & NDR_OUT) {
13081 if (r->out.dom_trust_list == NULL) {
13082 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13084 NDR_CHECK(ndr_push_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.dom_trust_list));
13085 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13087 return NDR_ERR_SUCCESS;
13090 static enum ndr_err_code ndr_pull_netr_NetrEnumerateTrustedDomainsEx(struct ndr_pull *ndr, int flags, struct netr_NetrEnumerateTrustedDomainsEx *r)
13092 uint32_t _ptr_server_name;
13093 TALLOC_CTX *_mem_save_server_name_0;
13094 TALLOC_CTX *_mem_save_dom_trust_list_0;
13095 if (flags & NDR_IN) {
13096 ZERO_STRUCT(r->out);
13098 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
13099 if (_ptr_server_name) {
13100 NDR_PULL_ALLOC(ndr, r->in.server_name);
13102 r->in.server_name = NULL;
13104 if (r->in.server_name) {
13105 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13106 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
13107 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13108 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13109 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13110 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));
13112 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13113 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));
13114 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
13116 NDR_PULL_ALLOC(ndr, r->out.dom_trust_list);
13117 ZERO_STRUCTP(r->out.dom_trust_list);
13119 if (flags & NDR_OUT) {
13120 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13121 NDR_PULL_ALLOC(ndr, r->out.dom_trust_list);
13123 _mem_save_dom_trust_list_0 = NDR_PULL_GET_MEM_CTX(ndr);
13124 NDR_PULL_SET_MEM_CTX(ndr, r->out.dom_trust_list, LIBNDR_FLAG_REF_ALLOC);
13125 NDR_CHECK(ndr_pull_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.dom_trust_list));
13126 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dom_trust_list_0, LIBNDR_FLAG_REF_ALLOC);
13127 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13129 return NDR_ERR_SUCCESS;
13132 _PUBLIC_ void ndr_print_netr_NetrEnumerateTrustedDomainsEx(struct ndr_print *ndr, const char *name, int flags, const struct netr_NetrEnumerateTrustedDomainsEx *r)
13134 ndr_print_struct(ndr, name, "netr_NetrEnumerateTrustedDomainsEx");
13136 if (flags & NDR_SET_VALUES) {
13137 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13139 if (flags & NDR_IN) {
13140 ndr_print_struct(ndr, "in", "netr_NetrEnumerateTrustedDomainsEx");
13142 ndr_print_ptr(ndr, "server_name", r->in.server_name);
13144 if (r->in.server_name) {
13145 ndr_print_string(ndr, "server_name", r->in.server_name);
13150 if (flags & NDR_OUT) {
13151 ndr_print_struct(ndr, "out", "netr_NetrEnumerateTrustedDomainsEx");
13153 ndr_print_ptr(ndr, "dom_trust_list", r->out.dom_trust_list);
13155 ndr_print_netr_DomainTrustList(ndr, "dom_trust_list", r->out.dom_trust_list);
13157 ndr_print_WERROR(ndr, "result", r->out.result);
13163 static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesExW(struct ndr_push *ndr, int flags, const struct netr_DsRAddressToSitenamesExW *r)
13165 uint32_t cntr_addresses_1;
13166 if (flags & NDR_IN) {
13167 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
13168 if (r->in.server_name) {
13169 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13170 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13171 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13172 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));
13174 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
13175 if (r->in.addresses == NULL) {
13176 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13178 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
13179 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
13180 NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1]));
13182 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
13183 NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1]));
13186 if (flags & NDR_OUT) {
13187 if (r->out.ctr == NULL) {
13188 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13190 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.ctr));
13192 NDR_CHECK(ndr_push_netr_DsRAddressToSitenamesExWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
13194 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13196 return NDR_ERR_SUCCESS;
13199 static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesExW(struct ndr_pull *ndr, int flags, struct netr_DsRAddressToSitenamesExW *r)
13201 uint32_t _ptr_server_name;
13202 uint32_t cntr_addresses_1;
13204 TALLOC_CTX *_mem_save_server_name_0;
13205 TALLOC_CTX *_mem_save_addresses_1;
13206 TALLOC_CTX *_mem_save_ctr_0;
13207 TALLOC_CTX *_mem_save_ctr_1;
13208 if (flags & NDR_IN) {
13209 ZERO_STRUCT(r->out);
13211 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
13212 if (_ptr_server_name) {
13213 NDR_PULL_ALLOC(ndr, r->in.server_name);
13215 r->in.server_name = NULL;
13217 if (r->in.server_name) {
13218 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13219 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
13220 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13221 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13222 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13223 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));
13225 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13226 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));
13227 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
13229 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
13230 if (r->in.count < 0 || r->in.count > 32000) {
13231 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
13233 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.addresses));
13234 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13235 NDR_PULL_ALLOC_N(ndr, r->in.addresses, ndr_get_array_size(ndr, &r->in.addresses));
13237 _mem_save_addresses_1 = NDR_PULL_GET_MEM_CTX(ndr);
13238 NDR_PULL_SET_MEM_CTX(ndr, r->in.addresses, 0);
13239 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
13240 NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1]));
13242 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
13243 NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1]));
13245 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_addresses_1, 0);
13246 NDR_PULL_ALLOC(ndr, r->out.ctr);
13247 ZERO_STRUCTP(r->out.ctr);
13248 if (r->in.addresses) {
13249 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.addresses, r->in.count));
13252 if (flags & NDR_OUT) {
13253 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13254 NDR_PULL_ALLOC(ndr, r->out.ctr);
13256 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
13257 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
13258 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr));
13260 NDR_PULL_ALLOC(ndr, *r->out.ctr);
13262 *r->out.ctr = NULL;
13265 _mem_save_ctr_1 = NDR_PULL_GET_MEM_CTX(ndr);
13266 NDR_PULL_SET_MEM_CTX(ndr, *r->out.ctr, 0);
13267 NDR_CHECK(ndr_pull_netr_DsRAddressToSitenamesExWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
13268 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_1, 0);
13270 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
13271 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13273 return NDR_ERR_SUCCESS;
13276 _PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesExW(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRAddressToSitenamesExW *r)
13278 uint32_t cntr_addresses_1;
13279 ndr_print_struct(ndr, name, "netr_DsRAddressToSitenamesExW");
13281 if (flags & NDR_SET_VALUES) {
13282 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13284 if (flags & NDR_IN) {
13285 ndr_print_struct(ndr, "in", "netr_DsRAddressToSitenamesExW");
13287 ndr_print_ptr(ndr, "server_name", r->in.server_name);
13289 if (r->in.server_name) {
13290 ndr_print_string(ndr, "server_name", r->in.server_name);
13293 ndr_print_uint32(ndr, "count", r->in.count);
13294 ndr_print_ptr(ndr, "addresses", r->in.addresses);
13296 ndr->print(ndr, "%s: ARRAY(%d)", "addresses", (int)r->in.count);
13298 for (cntr_addresses_1=0;cntr_addresses_1<r->in.count;cntr_addresses_1++) {
13300 if (asprintf(&idx_1, "[%d]", cntr_addresses_1) != -1) {
13301 ndr_print_netr_DsRAddress(ndr, "addresses", &r->in.addresses[cntr_addresses_1]);
13309 if (flags & NDR_OUT) {
13310 ndr_print_struct(ndr, "out", "netr_DsRAddressToSitenamesExW");
13312 ndr_print_ptr(ndr, "ctr", r->out.ctr);
13314 ndr_print_ptr(ndr, "ctr", *r->out.ctr);
13317 ndr_print_netr_DsRAddressToSitenamesExWCtr(ndr, "ctr", *r->out.ctr);
13321 ndr_print_WERROR(ndr, "result", r->out.result);
13327 static enum ndr_err_code ndr_push_netr_DsrGetDcSiteCoverageW(struct ndr_push *ndr, int flags, const struct netr_DsrGetDcSiteCoverageW *r)
13329 if (flags & NDR_IN) {
13330 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
13331 if (r->in.server_name) {
13332 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13333 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13334 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13335 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));
13338 if (flags & NDR_OUT) {
13339 if (r->out.ctr == NULL) {
13340 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13342 NDR_CHECK(ndr_push_DcSitesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
13343 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13345 return NDR_ERR_SUCCESS;
13348 static enum ndr_err_code ndr_pull_netr_DsrGetDcSiteCoverageW(struct ndr_pull *ndr, int flags, struct netr_DsrGetDcSiteCoverageW *r)
13350 uint32_t _ptr_server_name;
13351 TALLOC_CTX *_mem_save_server_name_0;
13352 TALLOC_CTX *_mem_save_ctr_0;
13353 if (flags & NDR_IN) {
13354 ZERO_STRUCT(r->out);
13356 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
13357 if (_ptr_server_name) {
13358 NDR_PULL_ALLOC(ndr, r->in.server_name);
13360 r->in.server_name = NULL;
13362 if (r->in.server_name) {
13363 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13364 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
13365 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13366 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13367 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13368 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));
13370 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13371 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));
13372 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
13374 NDR_PULL_ALLOC(ndr, r->out.ctr);
13375 ZERO_STRUCTP(r->out.ctr);
13377 if (flags & NDR_OUT) {
13378 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13379 NDR_PULL_ALLOC(ndr, r->out.ctr);
13381 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
13382 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
13383 NDR_CHECK(ndr_pull_DcSitesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
13384 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
13385 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13387 return NDR_ERR_SUCCESS;
13390 _PUBLIC_ void ndr_print_netr_DsrGetDcSiteCoverageW(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsrGetDcSiteCoverageW *r)
13392 ndr_print_struct(ndr, name, "netr_DsrGetDcSiteCoverageW");
13394 if (flags & NDR_SET_VALUES) {
13395 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13397 if (flags & NDR_IN) {
13398 ndr_print_struct(ndr, "in", "netr_DsrGetDcSiteCoverageW");
13400 ndr_print_ptr(ndr, "server_name", r->in.server_name);
13402 if (r->in.server_name) {
13403 ndr_print_string(ndr, "server_name", r->in.server_name);
13408 if (flags & NDR_OUT) {
13409 ndr_print_struct(ndr, "out", "netr_DsrGetDcSiteCoverageW");
13411 ndr_print_ptr(ndr, "ctr", r->out.ctr);
13413 ndr_print_DcSitesCtr(ndr, "ctr", r->out.ctr);
13415 ndr_print_WERROR(ndr, "result", r->out.result);
13421 static enum ndr_err_code ndr_push_netr_LogonSamLogonEx(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogonEx *r)
13423 if (flags & NDR_IN) {
13424 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
13425 if (r->in.server_name) {
13426 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13427 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13428 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13429 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));
13431 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
13432 if (r->in.computer_name) {
13433 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13434 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13435 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13436 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));
13438 NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS, r->in.logon_level));
13439 if (r->in.logon == NULL) {
13440 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13442 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.logon, r->in.logon_level));
13443 NDR_CHECK(ndr_push_netr_LogonInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
13444 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.validation_level));
13445 if (r->in.flags == NULL) {
13446 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13448 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.flags));
13450 if (flags & NDR_OUT) {
13451 if (r->out.validation == NULL) {
13452 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13454 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.validation, r->in.validation_level));
13455 NDR_CHECK(ndr_push_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
13456 if (r->out.authoritative == NULL) {
13457 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13459 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, *r->out.authoritative));
13460 if (r->out.flags == NULL) {
13461 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13463 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.flags));
13464 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
13466 return NDR_ERR_SUCCESS;
13469 static enum ndr_err_code ndr_pull_netr_LogonSamLogonEx(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogonEx *r)
13471 uint32_t _ptr_server_name;
13472 uint32_t _ptr_computer_name;
13473 TALLOC_CTX *_mem_save_server_name_0;
13474 TALLOC_CTX *_mem_save_computer_name_0;
13475 TALLOC_CTX *_mem_save_logon_0;
13476 TALLOC_CTX *_mem_save_validation_0;
13477 TALLOC_CTX *_mem_save_authoritative_0;
13478 TALLOC_CTX *_mem_save_flags_0;
13479 if (flags & NDR_IN) {
13480 ZERO_STRUCT(r->out);
13482 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
13483 if (_ptr_server_name) {
13484 NDR_PULL_ALLOC(ndr, r->in.server_name);
13486 r->in.server_name = NULL;
13488 if (r->in.server_name) {
13489 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13490 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
13491 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13492 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13493 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13494 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));
13496 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13497 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));
13498 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
13500 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
13501 if (_ptr_computer_name) {
13502 NDR_PULL_ALLOC(ndr, r->in.computer_name);
13504 r->in.computer_name = NULL;
13506 if (r->in.computer_name) {
13507 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13508 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
13509 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
13510 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
13511 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
13512 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));
13514 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
13515 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));
13516 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
13518 NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS, &r->in.logon_level));
13519 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13520 NDR_PULL_ALLOC(ndr, r->in.logon);
13522 _mem_save_logon_0 = NDR_PULL_GET_MEM_CTX(ndr);
13523 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon, LIBNDR_FLAG_REF_ALLOC);
13524 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.logon, r->in.logon_level));
13525 NDR_CHECK(ndr_pull_netr_LogonInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
13526 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_0, LIBNDR_FLAG_REF_ALLOC);
13527 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.validation_level));
13528 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13529 NDR_PULL_ALLOC(ndr, r->in.flags);
13531 _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
13532 NDR_PULL_SET_MEM_CTX(ndr, r->in.flags, LIBNDR_FLAG_REF_ALLOC);
13533 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.flags));
13534 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
13535 NDR_PULL_ALLOC(ndr, r->out.validation);
13536 ZERO_STRUCTP(r->out.validation);
13537 NDR_PULL_ALLOC(ndr, r->out.authoritative);
13538 ZERO_STRUCTP(r->out.authoritative);
13539 NDR_PULL_ALLOC(ndr, r->out.flags);
13540 *r->out.flags = *r->in.flags;
13542 if (flags & NDR_OUT) {
13543 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13544 NDR_PULL_ALLOC(ndr, r->out.validation);
13546 _mem_save_validation_0 = NDR_PULL_GET_MEM_CTX(ndr);
13547 NDR_PULL_SET_MEM_CTX(ndr, r->out.validation, LIBNDR_FLAG_REF_ALLOC);
13548 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.validation, r->in.validation_level));
13549 NDR_CHECK(ndr_pull_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
13550 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_validation_0, LIBNDR_FLAG_REF_ALLOC);
13551 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13552 NDR_PULL_ALLOC(ndr, r->out.authoritative);
13554 _mem_save_authoritative_0 = NDR_PULL_GET_MEM_CTX(ndr);
13555 NDR_PULL_SET_MEM_CTX(ndr, r->out.authoritative, LIBNDR_FLAG_REF_ALLOC);
13556 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, r->out.authoritative));
13557 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_authoritative_0, LIBNDR_FLAG_REF_ALLOC);
13558 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13559 NDR_PULL_ALLOC(ndr, r->out.flags);
13561 _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
13562 NDR_PULL_SET_MEM_CTX(ndr, r->out.flags, LIBNDR_FLAG_REF_ALLOC);
13563 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.flags));
13564 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
13565 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
13567 return NDR_ERR_SUCCESS;
13570 _PUBLIC_ void ndr_print_netr_LogonSamLogonEx(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogonEx *r)
13572 ndr_print_struct(ndr, name, "netr_LogonSamLogonEx");
13574 if (flags & NDR_SET_VALUES) {
13575 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13577 if (flags & NDR_IN) {
13578 ndr_print_struct(ndr, "in", "netr_LogonSamLogonEx");
13580 ndr_print_ptr(ndr, "server_name", r->in.server_name);
13582 if (r->in.server_name) {
13583 ndr_print_string(ndr, "server_name", r->in.server_name);
13586 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
13588 if (r->in.computer_name) {
13589 ndr_print_string(ndr, "computer_name", r->in.computer_name);
13592 ndr_print_netr_LogonLevel(ndr, "logon_level", r->in.logon_level);
13593 ndr_print_ptr(ndr, "logon", r->in.logon);
13595 ndr_print_set_switch_value(ndr, r->in.logon, r->in.logon_level);
13596 ndr_print_netr_LogonInfo(ndr, "logon", r->in.logon);
13598 ndr_print_uint16(ndr, "validation_level", r->in.validation_level);
13599 ndr_print_ptr(ndr, "flags", r->in.flags);
13601 ndr_print_uint32(ndr, "flags", *r->in.flags);
13605 if (flags & NDR_OUT) {
13606 ndr_print_struct(ndr, "out", "netr_LogonSamLogonEx");
13608 ndr_print_ptr(ndr, "validation", r->out.validation);
13610 ndr_print_set_switch_value(ndr, r->out.validation, r->in.validation_level);
13611 ndr_print_netr_Validation(ndr, "validation", r->out.validation);
13613 ndr_print_ptr(ndr, "authoritative", r->out.authoritative);
13615 ndr_print_uint8(ndr, "authoritative", *r->out.authoritative);
13617 ndr_print_ptr(ndr, "flags", r->out.flags);
13619 ndr_print_uint32(ndr, "flags", *r->out.flags);
13621 ndr_print_NTSTATUS(ndr, "result", r->out.result);
13627 static enum ndr_err_code ndr_push_netr_DsrEnumerateDomainTrusts(struct ndr_push *ndr, int flags, const struct netr_DsrEnumerateDomainTrusts *r)
13629 if (flags & NDR_IN) {
13630 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
13631 if (r->in.server_name) {
13632 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13633 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13634 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13635 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));
13637 NDR_CHECK(ndr_push_netr_TrustFlags(ndr, NDR_SCALARS, r->in.trust_flags));
13639 if (flags & NDR_OUT) {
13640 if (r->out.trusts == NULL) {
13641 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13643 NDR_CHECK(ndr_push_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusts));
13644 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13646 return NDR_ERR_SUCCESS;
13649 static enum ndr_err_code ndr_pull_netr_DsrEnumerateDomainTrusts(struct ndr_pull *ndr, int flags, struct netr_DsrEnumerateDomainTrusts *r)
13651 uint32_t _ptr_server_name;
13652 TALLOC_CTX *_mem_save_server_name_0;
13653 TALLOC_CTX *_mem_save_trusts_0;
13654 if (flags & NDR_IN) {
13655 ZERO_STRUCT(r->out);
13657 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
13658 if (_ptr_server_name) {
13659 NDR_PULL_ALLOC(ndr, r->in.server_name);
13661 r->in.server_name = NULL;
13663 if (r->in.server_name) {
13664 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13665 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
13666 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13667 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13668 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13669 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));
13671 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13672 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));
13673 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
13675 NDR_CHECK(ndr_pull_netr_TrustFlags(ndr, NDR_SCALARS, &r->in.trust_flags));
13676 NDR_PULL_ALLOC(ndr, r->out.trusts);
13677 ZERO_STRUCTP(r->out.trusts);
13679 if (flags & NDR_OUT) {
13680 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13681 NDR_PULL_ALLOC(ndr, r->out.trusts);
13683 _mem_save_trusts_0 = NDR_PULL_GET_MEM_CTX(ndr);
13684 NDR_PULL_SET_MEM_CTX(ndr, r->out.trusts, LIBNDR_FLAG_REF_ALLOC);
13685 NDR_CHECK(ndr_pull_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusts));
13686 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusts_0, LIBNDR_FLAG_REF_ALLOC);
13687 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13689 return NDR_ERR_SUCCESS;
13692 _PUBLIC_ void ndr_print_netr_DsrEnumerateDomainTrusts(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsrEnumerateDomainTrusts *r)
13694 ndr_print_struct(ndr, name, "netr_DsrEnumerateDomainTrusts");
13696 if (flags & NDR_SET_VALUES) {
13697 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13699 if (flags & NDR_IN) {
13700 ndr_print_struct(ndr, "in", "netr_DsrEnumerateDomainTrusts");
13702 ndr_print_ptr(ndr, "server_name", r->in.server_name);
13704 if (r->in.server_name) {
13705 ndr_print_string(ndr, "server_name", r->in.server_name);
13708 ndr_print_netr_TrustFlags(ndr, "trust_flags", r->in.trust_flags);
13711 if (flags & NDR_OUT) {
13712 ndr_print_struct(ndr, "out", "netr_DsrEnumerateDomainTrusts");
13714 ndr_print_ptr(ndr, "trusts", r->out.trusts);
13716 ndr_print_netr_DomainTrustList(ndr, "trusts", r->out.trusts);
13718 ndr_print_WERROR(ndr, "result", r->out.result);
13724 static enum ndr_err_code ndr_push_netr_DsrDeregisterDNSHostRecords(struct ndr_push *ndr, int flags, const struct netr_DsrDeregisterDNSHostRecords *r)
13726 if (flags & NDR_IN) {
13727 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
13728 if (r->in.server_name) {
13729 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13730 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13731 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13732 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));
13734 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain));
13735 if (r->in.domain) {
13736 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain, CH_UTF16)));
13737 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13738 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain, CH_UTF16)));
13739 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domain, ndr_charset_length(r->in.domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
13741 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
13742 if (r->in.domain_guid) {
13743 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
13745 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.dsa_guid));
13746 if (r->in.dsa_guid) {
13747 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.dsa_guid));
13749 if (r->in.dns_host == NULL) {
13750 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13752 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.dns_host, CH_UTF16)));
13753 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13754 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.dns_host, CH_UTF16)));
13755 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));
13757 if (flags & NDR_OUT) {
13758 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13760 return NDR_ERR_SUCCESS;
13763 static enum ndr_err_code ndr_pull_netr_DsrDeregisterDNSHostRecords(struct ndr_pull *ndr, int flags, struct netr_DsrDeregisterDNSHostRecords *r)
13765 uint32_t _ptr_server_name;
13766 uint32_t _ptr_domain;
13767 uint32_t _ptr_domain_guid;
13768 uint32_t _ptr_dsa_guid;
13769 TALLOC_CTX *_mem_save_server_name_0;
13770 TALLOC_CTX *_mem_save_domain_0;
13771 TALLOC_CTX *_mem_save_domain_guid_0;
13772 TALLOC_CTX *_mem_save_dsa_guid_0;
13773 if (flags & NDR_IN) {
13774 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
13775 if (_ptr_server_name) {
13776 NDR_PULL_ALLOC(ndr, r->in.server_name);
13778 r->in.server_name = NULL;
13780 if (r->in.server_name) {
13781 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13782 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
13783 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13784 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13785 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13786 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));
13788 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13789 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));
13790 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
13792 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
13794 NDR_PULL_ALLOC(ndr, r->in.domain);
13796 r->in.domain = NULL;
13798 if (r->in.domain) {
13799 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
13800 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain, 0);
13801 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain));
13802 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain));
13803 if (ndr_get_array_length(ndr, &r->in.domain) > ndr_get_array_size(ndr, &r->in.domain)) {
13804 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));
13806 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain), sizeof(uint16_t)));
13807 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain, ndr_get_array_length(ndr, &r->in.domain), sizeof(uint16_t), CH_UTF16));
13808 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
13810 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
13811 if (_ptr_domain_guid) {
13812 NDR_PULL_ALLOC(ndr, r->in.domain_guid);
13814 r->in.domain_guid = NULL;
13816 if (r->in.domain_guid) {
13817 _mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
13818 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
13819 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
13820 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
13822 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dsa_guid));
13823 if (_ptr_dsa_guid) {
13824 NDR_PULL_ALLOC(ndr, r->in.dsa_guid);
13826 r->in.dsa_guid = NULL;
13828 if (r->in.dsa_guid) {
13829 _mem_save_dsa_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
13830 NDR_PULL_SET_MEM_CTX(ndr, r->in.dsa_guid, 0);
13831 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.dsa_guid));
13832 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dsa_guid_0, 0);
13834 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.dns_host));
13835 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.dns_host));
13836 if (ndr_get_array_length(ndr, &r->in.dns_host) > ndr_get_array_size(ndr, &r->in.dns_host)) {
13837 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));
13839 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.dns_host), sizeof(uint16_t)));
13840 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));
13842 if (flags & NDR_OUT) {
13843 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13845 return NDR_ERR_SUCCESS;
13848 _PUBLIC_ void ndr_print_netr_DsrDeregisterDNSHostRecords(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsrDeregisterDNSHostRecords *r)
13850 ndr_print_struct(ndr, name, "netr_DsrDeregisterDNSHostRecords");
13852 if (flags & NDR_SET_VALUES) {
13853 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13855 if (flags & NDR_IN) {
13856 ndr_print_struct(ndr, "in", "netr_DsrDeregisterDNSHostRecords");
13858 ndr_print_ptr(ndr, "server_name", r->in.server_name);
13860 if (r->in.server_name) {
13861 ndr_print_string(ndr, "server_name", r->in.server_name);
13864 ndr_print_ptr(ndr, "domain", r->in.domain);
13866 if (r->in.domain) {
13867 ndr_print_string(ndr, "domain", r->in.domain);
13870 ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
13872 if (r->in.domain_guid) {
13873 ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
13876 ndr_print_ptr(ndr, "dsa_guid", r->in.dsa_guid);
13878 if (r->in.dsa_guid) {
13879 ndr_print_GUID(ndr, "dsa_guid", r->in.dsa_guid);
13882 ndr_print_ptr(ndr, "dns_host", r->in.dns_host);
13884 ndr_print_string(ndr, "dns_host", r->in.dns_host);
13888 if (flags & NDR_OUT) {
13889 ndr_print_struct(ndr, "out", "netr_DsrDeregisterDNSHostRecords");
13891 ndr_print_WERROR(ndr, "result", r->out.result);
13897 static enum ndr_err_code ndr_push_netr_ServerTrustPasswordsGet(struct ndr_push *ndr, int flags, const struct netr_ServerTrustPasswordsGet *r)
13899 if (flags & NDR_IN) {
13900 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
13901 if (r->in.server_name) {
13902 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13903 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13904 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13905 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));
13907 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
13908 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13909 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
13910 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));
13911 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
13912 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13913 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13914 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13915 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));
13916 if (r->in.credential == NULL) {
13917 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13919 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
13921 if (flags & NDR_OUT) {
13922 if (r->out.return_authenticator == NULL) {
13923 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13925 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
13926 if (r->out.password == NULL) {
13927 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13929 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->out.password));
13930 if (r->out.password2 == NULL) {
13931 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13933 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->out.password2));
13934 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
13936 return NDR_ERR_SUCCESS;
13939 static enum ndr_err_code ndr_pull_netr_ServerTrustPasswordsGet(struct ndr_pull *ndr, int flags, struct netr_ServerTrustPasswordsGet *r)
13941 uint32_t _ptr_server_name;
13942 TALLOC_CTX *_mem_save_server_name_0;
13943 TALLOC_CTX *_mem_save_credential_0;
13944 TALLOC_CTX *_mem_save_return_authenticator_0;
13945 TALLOC_CTX *_mem_save_password_0;
13946 TALLOC_CTX *_mem_save_password2_0;
13947 if (flags & NDR_IN) {
13948 ZERO_STRUCT(r->out);
13950 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
13951 if (_ptr_server_name) {
13952 NDR_PULL_ALLOC(ndr, r->in.server_name);
13954 r->in.server_name = NULL;
13956 if (r->in.server_name) {
13957 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13958 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
13959 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13960 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13961 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13962 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));
13964 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13965 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));
13966 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
13968 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
13969 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
13970 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
13971 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));
13973 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
13974 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));
13975 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
13976 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
13977 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
13978 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
13979 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));
13981 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
13982 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));
13983 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13984 NDR_PULL_ALLOC(ndr, r->in.credential);
13986 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
13987 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
13988 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
13989 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
13990 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
13991 ZERO_STRUCTP(r->out.return_authenticator);
13992 NDR_PULL_ALLOC(ndr, r->out.password);
13993 ZERO_STRUCTP(r->out.password);
13994 NDR_PULL_ALLOC(ndr, r->out.password2);
13995 ZERO_STRUCTP(r->out.password2);
13997 if (flags & NDR_OUT) {
13998 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13999 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
14001 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
14002 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
14003 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
14004 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
14005 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14006 NDR_PULL_ALLOC(ndr, r->out.password);
14008 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
14009 NDR_PULL_SET_MEM_CTX(ndr, r->out.password, LIBNDR_FLAG_REF_ALLOC);
14010 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->out.password));
14011 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, LIBNDR_FLAG_REF_ALLOC);
14012 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14013 NDR_PULL_ALLOC(ndr, r->out.password2);
14015 _mem_save_password2_0 = NDR_PULL_GET_MEM_CTX(ndr);
14016 NDR_PULL_SET_MEM_CTX(ndr, r->out.password2, LIBNDR_FLAG_REF_ALLOC);
14017 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->out.password2));
14018 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password2_0, LIBNDR_FLAG_REF_ALLOC);
14019 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
14021 return NDR_ERR_SUCCESS;
14024 _PUBLIC_ void ndr_print_netr_ServerTrustPasswordsGet(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerTrustPasswordsGet *r)
14026 ndr_print_struct(ndr, name, "netr_ServerTrustPasswordsGet");
14028 if (flags & NDR_SET_VALUES) {
14029 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14031 if (flags & NDR_IN) {
14032 ndr_print_struct(ndr, "in", "netr_ServerTrustPasswordsGet");
14034 ndr_print_ptr(ndr, "server_name", r->in.server_name);
14036 if (r->in.server_name) {
14037 ndr_print_string(ndr, "server_name", r->in.server_name);
14040 ndr_print_string(ndr, "account_name", r->in.account_name);
14041 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
14042 ndr_print_string(ndr, "computer_name", r->in.computer_name);
14043 ndr_print_ptr(ndr, "credential", r->in.credential);
14045 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
14049 if (flags & NDR_OUT) {
14050 ndr_print_struct(ndr, "out", "netr_ServerTrustPasswordsGet");
14052 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
14054 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
14056 ndr_print_ptr(ndr, "password", r->out.password);
14058 ndr_print_samr_Password(ndr, "password", r->out.password);
14060 ndr_print_ptr(ndr, "password2", r->out.password2);
14062 ndr_print_samr_Password(ndr, "password2", r->out.password2);
14064 ndr_print_NTSTATUS(ndr, "result", r->out.result);
14070 static enum ndr_err_code ndr_push_netr_DsRGetForestTrustInformation(struct ndr_push *ndr, int flags, const struct netr_DsRGetForestTrustInformation *r)
14072 if (flags & NDR_IN) {
14073 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
14074 if (r->in.server_name) {
14075 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14076 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14077 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14078 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));
14080 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.trusted_domain_name));
14081 if (r->in.trusted_domain_name) {
14082 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16)));
14083 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14084 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16)));
14085 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));
14087 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags));
14089 if (flags & NDR_OUT) {
14090 if (r->out.forest_trust_info == NULL) {
14091 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14093 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.forest_trust_info));
14094 if (*r->out.forest_trust_info) {
14095 NDR_CHECK(ndr_push_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
14097 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14099 return NDR_ERR_SUCCESS;
14102 static enum ndr_err_code ndr_pull_netr_DsRGetForestTrustInformation(struct ndr_pull *ndr, int flags, struct netr_DsRGetForestTrustInformation *r)
14104 uint32_t _ptr_server_name;
14105 uint32_t _ptr_trusted_domain_name;
14106 uint32_t _ptr_forest_trust_info;
14107 TALLOC_CTX *_mem_save_server_name_0;
14108 TALLOC_CTX *_mem_save_trusted_domain_name_0;
14109 TALLOC_CTX *_mem_save_forest_trust_info_0;
14110 TALLOC_CTX *_mem_save_forest_trust_info_1;
14111 if (flags & NDR_IN) {
14112 ZERO_STRUCT(r->out);
14114 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
14115 if (_ptr_server_name) {
14116 NDR_PULL_ALLOC(ndr, r->in.server_name);
14118 r->in.server_name = NULL;
14120 if (r->in.server_name) {
14121 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14122 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
14123 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
14124 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
14125 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
14126 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));
14128 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
14129 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));
14130 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
14132 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_domain_name));
14133 if (_ptr_trusted_domain_name) {
14134 NDR_PULL_ALLOC(ndr, r->in.trusted_domain_name);
14136 r->in.trusted_domain_name = NULL;
14138 if (r->in.trusted_domain_name) {
14139 _mem_save_trusted_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14140 NDR_PULL_SET_MEM_CTX(ndr, r->in.trusted_domain_name, 0);
14141 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.trusted_domain_name));
14142 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.trusted_domain_name));
14143 if (ndr_get_array_length(ndr, &r->in.trusted_domain_name) > ndr_get_array_size(ndr, &r->in.trusted_domain_name)) {
14144 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));
14146 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.trusted_domain_name), sizeof(uint16_t)));
14147 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));
14148 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domain_name_0, 0);
14150 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
14151 NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
14152 ZERO_STRUCTP(r->out.forest_trust_info);
14154 if (flags & NDR_OUT) {
14155 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14156 NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
14158 _mem_save_forest_trust_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
14159 NDR_PULL_SET_MEM_CTX(ndr, r->out.forest_trust_info, LIBNDR_FLAG_REF_ALLOC);
14160 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_forest_trust_info));
14161 if (_ptr_forest_trust_info) {
14162 NDR_PULL_ALLOC(ndr, *r->out.forest_trust_info);
14164 *r->out.forest_trust_info = NULL;
14166 if (*r->out.forest_trust_info) {
14167 _mem_save_forest_trust_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
14168 NDR_PULL_SET_MEM_CTX(ndr, *r->out.forest_trust_info, 0);
14169 NDR_CHECK(ndr_pull_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
14170 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_1, 0);
14172 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_0, LIBNDR_FLAG_REF_ALLOC);
14173 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14175 return NDR_ERR_SUCCESS;
14178 _PUBLIC_ void ndr_print_netr_DsRGetForestTrustInformation(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetForestTrustInformation *r)
14180 ndr_print_struct(ndr, name, "netr_DsRGetForestTrustInformation");
14182 if (flags & NDR_SET_VALUES) {
14183 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14185 if (flags & NDR_IN) {
14186 ndr_print_struct(ndr, "in", "netr_DsRGetForestTrustInformation");
14188 ndr_print_ptr(ndr, "server_name", r->in.server_name);
14190 if (r->in.server_name) {
14191 ndr_print_string(ndr, "server_name", r->in.server_name);
14194 ndr_print_ptr(ndr, "trusted_domain_name", r->in.trusted_domain_name);
14196 if (r->in.trusted_domain_name) {
14197 ndr_print_string(ndr, "trusted_domain_name", r->in.trusted_domain_name);
14200 ndr_print_uint32(ndr, "flags", r->in.flags);
14203 if (flags & NDR_OUT) {
14204 ndr_print_struct(ndr, "out", "netr_DsRGetForestTrustInformation");
14206 ndr_print_ptr(ndr, "forest_trust_info", r->out.forest_trust_info);
14208 ndr_print_ptr(ndr, "forest_trust_info", *r->out.forest_trust_info);
14210 if (*r->out.forest_trust_info) {
14211 ndr_print_lsa_ForestTrustInformation(ndr, "forest_trust_info", *r->out.forest_trust_info);
14215 ndr_print_WERROR(ndr, "result", r->out.result);
14221 static enum ndr_err_code ndr_push_netr_GetForestTrustInformation(struct ndr_push *ndr, int flags, const struct netr_GetForestTrustInformation *r)
14223 if (flags & NDR_IN) {
14224 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
14225 if (r->in.server_name) {
14226 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14227 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14228 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14229 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));
14231 if (r->in.trusted_domain_name == NULL) {
14232 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14234 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16)));
14235 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14236 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16)));
14237 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));
14238 if (r->in.credential == NULL) {
14239 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14241 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
14242 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags));
14244 if (flags & NDR_OUT) {
14245 if (r->out.return_authenticator == NULL) {
14246 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14248 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
14249 if (r->out.forest_trust_info == NULL) {
14250 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14252 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.forest_trust_info));
14253 if (*r->out.forest_trust_info) {
14254 NDR_CHECK(ndr_push_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
14256 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14258 return NDR_ERR_SUCCESS;
14261 static enum ndr_err_code ndr_pull_netr_GetForestTrustInformation(struct ndr_pull *ndr, int flags, struct netr_GetForestTrustInformation *r)
14263 uint32_t _ptr_server_name;
14264 uint32_t _ptr_forest_trust_info;
14265 TALLOC_CTX *_mem_save_server_name_0;
14266 TALLOC_CTX *_mem_save_credential_0;
14267 TALLOC_CTX *_mem_save_return_authenticator_0;
14268 TALLOC_CTX *_mem_save_forest_trust_info_0;
14269 TALLOC_CTX *_mem_save_forest_trust_info_1;
14270 if (flags & NDR_IN) {
14271 ZERO_STRUCT(r->out);
14273 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
14274 if (_ptr_server_name) {
14275 NDR_PULL_ALLOC(ndr, r->in.server_name);
14277 r->in.server_name = NULL;
14279 if (r->in.server_name) {
14280 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14281 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
14282 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
14283 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
14284 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
14285 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));
14287 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
14288 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));
14289 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
14291 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.trusted_domain_name));
14292 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.trusted_domain_name));
14293 if (ndr_get_array_length(ndr, &r->in.trusted_domain_name) > ndr_get_array_size(ndr, &r->in.trusted_domain_name)) {
14294 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));
14296 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.trusted_domain_name), sizeof(uint16_t)));
14297 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));
14298 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14299 NDR_PULL_ALLOC(ndr, r->in.credential);
14301 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
14302 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
14303 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
14304 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
14305 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
14306 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
14307 ZERO_STRUCTP(r->out.return_authenticator);
14308 NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
14309 ZERO_STRUCTP(r->out.forest_trust_info);
14311 if (flags & NDR_OUT) {
14312 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14313 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
14315 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
14316 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
14317 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
14318 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
14319 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14320 NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
14322 _mem_save_forest_trust_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
14323 NDR_PULL_SET_MEM_CTX(ndr, r->out.forest_trust_info, LIBNDR_FLAG_REF_ALLOC);
14324 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_forest_trust_info));
14325 if (_ptr_forest_trust_info) {
14326 NDR_PULL_ALLOC(ndr, *r->out.forest_trust_info);
14328 *r->out.forest_trust_info = NULL;
14330 if (*r->out.forest_trust_info) {
14331 _mem_save_forest_trust_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
14332 NDR_PULL_SET_MEM_CTX(ndr, *r->out.forest_trust_info, 0);
14333 NDR_CHECK(ndr_pull_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
14334 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_1, 0);
14336 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_0, LIBNDR_FLAG_REF_ALLOC);
14337 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14339 return NDR_ERR_SUCCESS;
14342 _PUBLIC_ void ndr_print_netr_GetForestTrustInformation(struct ndr_print *ndr, const char *name, int flags, const struct netr_GetForestTrustInformation *r)
14344 ndr_print_struct(ndr, name, "netr_GetForestTrustInformation");
14346 if (flags & NDR_SET_VALUES) {
14347 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14349 if (flags & NDR_IN) {
14350 ndr_print_struct(ndr, "in", "netr_GetForestTrustInformation");
14352 ndr_print_ptr(ndr, "server_name", r->in.server_name);
14354 if (r->in.server_name) {
14355 ndr_print_string(ndr, "server_name", r->in.server_name);
14358 ndr_print_ptr(ndr, "trusted_domain_name", r->in.trusted_domain_name);
14360 ndr_print_string(ndr, "trusted_domain_name", r->in.trusted_domain_name);
14362 ndr_print_ptr(ndr, "credential", r->in.credential);
14364 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
14366 ndr_print_uint32(ndr, "flags", r->in.flags);
14369 if (flags & NDR_OUT) {
14370 ndr_print_struct(ndr, "out", "netr_GetForestTrustInformation");
14372 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
14374 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
14376 ndr_print_ptr(ndr, "forest_trust_info", r->out.forest_trust_info);
14378 ndr_print_ptr(ndr, "forest_trust_info", *r->out.forest_trust_info);
14380 if (*r->out.forest_trust_info) {
14381 ndr_print_lsa_ForestTrustInformation(ndr, "forest_trust_info", *r->out.forest_trust_info);
14385 ndr_print_WERROR(ndr, "result", r->out.result);
14391 static enum ndr_err_code ndr_push_netr_LogonSamLogonWithFlags(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogonWithFlags *r)
14393 if (flags & NDR_IN) {
14394 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
14395 if (r->in.server_name) {
14396 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14397 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14398 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14399 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));
14401 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
14402 if (r->in.computer_name) {
14403 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
14404 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14405 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
14406 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));
14408 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.credential));
14409 if (r->in.credential) {
14410 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
14412 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.return_authenticator));
14413 if (r->in.return_authenticator) {
14414 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
14416 NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS, r->in.logon_level));
14417 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.logon, r->in.logon_level));
14418 NDR_CHECK(ndr_push_netr_LogonInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon));
14419 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.validation_level));
14420 if (r->in.flags == NULL) {
14421 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14423 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.flags));
14425 if (flags & NDR_OUT) {
14426 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.return_authenticator));
14427 if (r->out.return_authenticator) {
14428 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
14430 if (r->out.validation == NULL) {
14431 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14433 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.validation, r->in.validation_level));
14434 NDR_CHECK(ndr_push_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
14435 if (r->out.authoritative == NULL) {
14436 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14438 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, *r->out.authoritative));
14439 if (r->out.flags == NULL) {
14440 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14442 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.flags));
14443 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
14445 return NDR_ERR_SUCCESS;
14448 static enum ndr_err_code ndr_pull_netr_LogonSamLogonWithFlags(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogonWithFlags *r)
14450 uint32_t _ptr_server_name;
14451 uint32_t _ptr_computer_name;
14452 uint32_t _ptr_credential;
14453 uint32_t _ptr_return_authenticator;
14454 TALLOC_CTX *_mem_save_server_name_0;
14455 TALLOC_CTX *_mem_save_computer_name_0;
14456 TALLOC_CTX *_mem_save_credential_0;
14457 TALLOC_CTX *_mem_save_return_authenticator_0;
14458 TALLOC_CTX *_mem_save_validation_0;
14459 TALLOC_CTX *_mem_save_authoritative_0;
14460 TALLOC_CTX *_mem_save_flags_0;
14461 if (flags & NDR_IN) {
14462 ZERO_STRUCT(r->out);
14464 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
14465 if (_ptr_server_name) {
14466 NDR_PULL_ALLOC(ndr, r->in.server_name);
14468 r->in.server_name = NULL;
14470 if (r->in.server_name) {
14471 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14472 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
14473 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
14474 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
14475 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
14476 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));
14478 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
14479 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));
14480 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
14482 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
14483 if (_ptr_computer_name) {
14484 NDR_PULL_ALLOC(ndr, r->in.computer_name);
14486 r->in.computer_name = NULL;
14488 if (r->in.computer_name) {
14489 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14490 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
14491 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
14492 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
14493 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
14494 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));
14496 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
14497 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));
14498 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
14500 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_credential));
14501 if (_ptr_credential) {
14502 NDR_PULL_ALLOC(ndr, r->in.credential);
14504 r->in.credential = NULL;
14506 if (r->in.credential) {
14507 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
14508 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, 0);
14509 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
14510 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, 0);
14512 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
14513 if (_ptr_return_authenticator) {
14514 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
14516 r->in.return_authenticator = NULL;
14518 if (r->in.return_authenticator) {
14519 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
14520 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, 0);
14521 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
14522 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
14524 NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS, &r->in.logon_level));
14525 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.logon, r->in.logon_level));
14526 NDR_CHECK(ndr_pull_netr_LogonInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon));
14527 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.validation_level));
14528 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14529 NDR_PULL_ALLOC(ndr, r->in.flags);
14531 _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
14532 NDR_PULL_SET_MEM_CTX(ndr, r->in.flags, LIBNDR_FLAG_REF_ALLOC);
14533 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.flags));
14534 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
14535 NDR_PULL_ALLOC(ndr, r->out.validation);
14536 ZERO_STRUCTP(r->out.validation);
14537 NDR_PULL_ALLOC(ndr, r->out.authoritative);
14538 ZERO_STRUCTP(r->out.authoritative);
14539 NDR_PULL_ALLOC(ndr, r->out.flags);
14540 *r->out.flags = *r->in.flags;
14542 if (flags & NDR_OUT) {
14543 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
14544 if (_ptr_return_authenticator) {
14545 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
14547 r->out.return_authenticator = NULL;
14549 if (r->out.return_authenticator) {
14550 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
14551 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, 0);
14552 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
14553 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
14555 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14556 NDR_PULL_ALLOC(ndr, r->out.validation);
14558 _mem_save_validation_0 = NDR_PULL_GET_MEM_CTX(ndr);
14559 NDR_PULL_SET_MEM_CTX(ndr, r->out.validation, LIBNDR_FLAG_REF_ALLOC);
14560 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.validation, r->in.validation_level));
14561 NDR_CHECK(ndr_pull_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
14562 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_validation_0, LIBNDR_FLAG_REF_ALLOC);
14563 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14564 NDR_PULL_ALLOC(ndr, r->out.authoritative);
14566 _mem_save_authoritative_0 = NDR_PULL_GET_MEM_CTX(ndr);
14567 NDR_PULL_SET_MEM_CTX(ndr, r->out.authoritative, LIBNDR_FLAG_REF_ALLOC);
14568 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, r->out.authoritative));
14569 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_authoritative_0, LIBNDR_FLAG_REF_ALLOC);
14570 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14571 NDR_PULL_ALLOC(ndr, r->out.flags);
14573 _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
14574 NDR_PULL_SET_MEM_CTX(ndr, r->out.flags, LIBNDR_FLAG_REF_ALLOC);
14575 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.flags));
14576 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
14577 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
14579 return NDR_ERR_SUCCESS;
14582 _PUBLIC_ void ndr_print_netr_LogonSamLogonWithFlags(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogonWithFlags *r)
14584 ndr_print_struct(ndr, name, "netr_LogonSamLogonWithFlags");
14586 if (flags & NDR_SET_VALUES) {
14587 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14589 if (flags & NDR_IN) {
14590 ndr_print_struct(ndr, "in", "netr_LogonSamLogonWithFlags");
14592 ndr_print_ptr(ndr, "server_name", r->in.server_name);
14594 if (r->in.server_name) {
14595 ndr_print_string(ndr, "server_name", r->in.server_name);
14598 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
14600 if (r->in.computer_name) {
14601 ndr_print_string(ndr, "computer_name", r->in.computer_name);
14604 ndr_print_ptr(ndr, "credential", r->in.credential);
14606 if (r->in.credential) {
14607 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
14610 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
14612 if (r->in.return_authenticator) {
14613 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
14616 ndr_print_netr_LogonLevel(ndr, "logon_level", r->in.logon_level);
14617 ndr_print_set_switch_value(ndr, &r->in.logon, r->in.logon_level);
14618 ndr_print_netr_LogonInfo(ndr, "logon", &r->in.logon);
14619 ndr_print_uint16(ndr, "validation_level", r->in.validation_level);
14620 ndr_print_ptr(ndr, "flags", r->in.flags);
14622 ndr_print_uint32(ndr, "flags", *r->in.flags);
14626 if (flags & NDR_OUT) {
14627 ndr_print_struct(ndr, "out", "netr_LogonSamLogonWithFlags");
14629 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
14631 if (r->out.return_authenticator) {
14632 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
14635 ndr_print_ptr(ndr, "validation", r->out.validation);
14637 ndr_print_set_switch_value(ndr, r->out.validation, r->in.validation_level);
14638 ndr_print_netr_Validation(ndr, "validation", r->out.validation);
14640 ndr_print_ptr(ndr, "authoritative", r->out.authoritative);
14642 ndr_print_uint8(ndr, "authoritative", *r->out.authoritative);
14644 ndr_print_ptr(ndr, "flags", r->out.flags);
14646 ndr_print_uint32(ndr, "flags", *r->out.flags);
14648 ndr_print_NTSTATUS(ndr, "result", r->out.result);
14654 static enum ndr_err_code ndr_push_netr_NETRSERVERGETTRUSTINFO(struct ndr_push *ndr, int flags, const struct netr_NETRSERVERGETTRUSTINFO *r)
14656 if (flags & NDR_IN) {
14658 if (flags & NDR_OUT) {
14659 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14661 return NDR_ERR_SUCCESS;
14664 static enum ndr_err_code ndr_pull_netr_NETRSERVERGETTRUSTINFO(struct ndr_pull *ndr, int flags, struct netr_NETRSERVERGETTRUSTINFO *r)
14666 if (flags & NDR_IN) {
14668 if (flags & NDR_OUT) {
14669 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14671 return NDR_ERR_SUCCESS;
14674 _PUBLIC_ void ndr_print_netr_NETRSERVERGETTRUSTINFO(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRSERVERGETTRUSTINFO *r)
14676 ndr_print_struct(ndr, name, "netr_NETRSERVERGETTRUSTINFO");
14678 if (flags & NDR_SET_VALUES) {
14679 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14681 if (flags & NDR_IN) {
14682 ndr_print_struct(ndr, "in", "netr_NETRSERVERGETTRUSTINFO");
14686 if (flags & NDR_OUT) {
14687 ndr_print_struct(ndr, "out", "netr_NETRSERVERGETTRUSTINFO");
14689 ndr_print_WERROR(ndr, "result", r->out.result);
14695 static const struct ndr_interface_call netlogon_calls[] = {
14697 "netr_LogonUasLogon",
14698 sizeof(struct netr_LogonUasLogon),
14699 (ndr_push_flags_fn_t) ndr_push_netr_LogonUasLogon,
14700 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonUasLogon,
14701 (ndr_print_function_t) ndr_print_netr_LogonUasLogon,
14705 "netr_LogonUasLogoff",
14706 sizeof(struct netr_LogonUasLogoff),
14707 (ndr_push_flags_fn_t) ndr_push_netr_LogonUasLogoff,
14708 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonUasLogoff,
14709 (ndr_print_function_t) ndr_print_netr_LogonUasLogoff,
14713 "netr_LogonSamLogon",
14714 sizeof(struct netr_LogonSamLogon),
14715 (ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogon,
14716 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogon,
14717 (ndr_print_function_t) ndr_print_netr_LogonSamLogon,
14721 "netr_LogonSamLogoff",
14722 sizeof(struct netr_LogonSamLogoff),
14723 (ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogoff,
14724 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogoff,
14725 (ndr_print_function_t) ndr_print_netr_LogonSamLogoff,
14729 "netr_ServerReqChallenge",
14730 sizeof(struct netr_ServerReqChallenge),
14731 (ndr_push_flags_fn_t) ndr_push_netr_ServerReqChallenge,
14732 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerReqChallenge,
14733 (ndr_print_function_t) ndr_print_netr_ServerReqChallenge,
14737 "netr_ServerAuthenticate",
14738 sizeof(struct netr_ServerAuthenticate),
14739 (ndr_push_flags_fn_t) ndr_push_netr_ServerAuthenticate,
14740 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerAuthenticate,
14741 (ndr_print_function_t) ndr_print_netr_ServerAuthenticate,
14745 "netr_ServerPasswordSet",
14746 sizeof(struct netr_ServerPasswordSet),
14747 (ndr_push_flags_fn_t) ndr_push_netr_ServerPasswordSet,
14748 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerPasswordSet,
14749 (ndr_print_function_t) ndr_print_netr_ServerPasswordSet,
14753 "netr_DatabaseDeltas",
14754 sizeof(struct netr_DatabaseDeltas),
14755 (ndr_push_flags_fn_t) ndr_push_netr_DatabaseDeltas,
14756 (ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseDeltas,
14757 (ndr_print_function_t) ndr_print_netr_DatabaseDeltas,
14761 "netr_DatabaseSync",
14762 sizeof(struct netr_DatabaseSync),
14763 (ndr_push_flags_fn_t) ndr_push_netr_DatabaseSync,
14764 (ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseSync,
14765 (ndr_print_function_t) ndr_print_netr_DatabaseSync,
14769 "netr_AccountDeltas",
14770 sizeof(struct netr_AccountDeltas),
14771 (ndr_push_flags_fn_t) ndr_push_netr_AccountDeltas,
14772 (ndr_pull_flags_fn_t) ndr_pull_netr_AccountDeltas,
14773 (ndr_print_function_t) ndr_print_netr_AccountDeltas,
14777 "netr_AccountSync",
14778 sizeof(struct netr_AccountSync),
14779 (ndr_push_flags_fn_t) ndr_push_netr_AccountSync,
14780 (ndr_pull_flags_fn_t) ndr_pull_netr_AccountSync,
14781 (ndr_print_function_t) ndr_print_netr_AccountSync,
14786 sizeof(struct netr_GetDcName),
14787 (ndr_push_flags_fn_t) ndr_push_netr_GetDcName,
14788 (ndr_pull_flags_fn_t) ndr_pull_netr_GetDcName,
14789 (ndr_print_function_t) ndr_print_netr_GetDcName,
14793 "netr_LogonControl",
14794 sizeof(struct netr_LogonControl),
14795 (ndr_push_flags_fn_t) ndr_push_netr_LogonControl,
14796 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonControl,
14797 (ndr_print_function_t) ndr_print_netr_LogonControl,
14801 "netr_GetAnyDCName",
14802 sizeof(struct netr_GetAnyDCName),
14803 (ndr_push_flags_fn_t) ndr_push_netr_GetAnyDCName,
14804 (ndr_pull_flags_fn_t) ndr_pull_netr_GetAnyDCName,
14805 (ndr_print_function_t) ndr_print_netr_GetAnyDCName,
14809 "netr_LogonControl2",
14810 sizeof(struct netr_LogonControl2),
14811 (ndr_push_flags_fn_t) ndr_push_netr_LogonControl2,
14812 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonControl2,
14813 (ndr_print_function_t) ndr_print_netr_LogonControl2,
14817 "netr_ServerAuthenticate2",
14818 sizeof(struct netr_ServerAuthenticate2),
14819 (ndr_push_flags_fn_t) ndr_push_netr_ServerAuthenticate2,
14820 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerAuthenticate2,
14821 (ndr_print_function_t) ndr_print_netr_ServerAuthenticate2,
14825 "netr_DatabaseSync2",
14826 sizeof(struct netr_DatabaseSync2),
14827 (ndr_push_flags_fn_t) ndr_push_netr_DatabaseSync2,
14828 (ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseSync2,
14829 (ndr_print_function_t) ndr_print_netr_DatabaseSync2,
14833 "netr_DatabaseRedo",
14834 sizeof(struct netr_DatabaseRedo),
14835 (ndr_push_flags_fn_t) ndr_push_netr_DatabaseRedo,
14836 (ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseRedo,
14837 (ndr_print_function_t) ndr_print_netr_DatabaseRedo,
14841 "netr_LogonControl2Ex",
14842 sizeof(struct netr_LogonControl2Ex),
14843 (ndr_push_flags_fn_t) ndr_push_netr_LogonControl2Ex,
14844 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonControl2Ex,
14845 (ndr_print_function_t) ndr_print_netr_LogonControl2Ex,
14849 "netr_NetrEnumerateTrustedDomains",
14850 sizeof(struct netr_NetrEnumerateTrustedDomains),
14851 (ndr_push_flags_fn_t) ndr_push_netr_NetrEnumerateTrustedDomains,
14852 (ndr_pull_flags_fn_t) ndr_pull_netr_NetrEnumerateTrustedDomains,
14853 (ndr_print_function_t) ndr_print_netr_NetrEnumerateTrustedDomains,
14857 "netr_DsRGetDCName",
14858 sizeof(struct netr_DsRGetDCName),
14859 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetDCName,
14860 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetDCName,
14861 (ndr_print_function_t) ndr_print_netr_DsRGetDCName,
14865 "netr_NETRLOGONDUMMYROUTINE1",
14866 sizeof(struct netr_NETRLOGONDUMMYROUTINE1),
14867 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONDUMMYROUTINE1,
14868 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONDUMMYROUTINE1,
14869 (ndr_print_function_t) ndr_print_netr_NETRLOGONDUMMYROUTINE1,
14873 "netr_NETRLOGONSETSERVICEBITS",
14874 sizeof(struct netr_NETRLOGONSETSERVICEBITS),
14875 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONSETSERVICEBITS,
14876 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONSETSERVICEBITS,
14877 (ndr_print_function_t) ndr_print_netr_NETRLOGONSETSERVICEBITS,
14881 "netr_LogonGetTrustRid",
14882 sizeof(struct netr_LogonGetTrustRid),
14883 (ndr_push_flags_fn_t) ndr_push_netr_LogonGetTrustRid,
14884 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonGetTrustRid,
14885 (ndr_print_function_t) ndr_print_netr_LogonGetTrustRid,
14889 "netr_NETRLOGONCOMPUTESERVERDIGEST",
14890 sizeof(struct netr_NETRLOGONCOMPUTESERVERDIGEST),
14891 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONCOMPUTESERVERDIGEST,
14892 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONCOMPUTESERVERDIGEST,
14893 (ndr_print_function_t) ndr_print_netr_NETRLOGONCOMPUTESERVERDIGEST,
14897 "netr_NETRLOGONCOMPUTECLIENTDIGEST",
14898 sizeof(struct netr_NETRLOGONCOMPUTECLIENTDIGEST),
14899 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONCOMPUTECLIENTDIGEST,
14900 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONCOMPUTECLIENTDIGEST,
14901 (ndr_print_function_t) ndr_print_netr_NETRLOGONCOMPUTECLIENTDIGEST,
14905 "netr_ServerAuthenticate3",
14906 sizeof(struct netr_ServerAuthenticate3),
14907 (ndr_push_flags_fn_t) ndr_push_netr_ServerAuthenticate3,
14908 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerAuthenticate3,
14909 (ndr_print_function_t) ndr_print_netr_ServerAuthenticate3,
14913 "netr_DsRGetDCNameEx",
14914 sizeof(struct netr_DsRGetDCNameEx),
14915 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetDCNameEx,
14916 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetDCNameEx,
14917 (ndr_print_function_t) ndr_print_netr_DsRGetDCNameEx,
14921 "netr_DsRGetSiteName",
14922 sizeof(struct netr_DsRGetSiteName),
14923 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetSiteName,
14924 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetSiteName,
14925 (ndr_print_function_t) ndr_print_netr_DsRGetSiteName,
14929 "netr_LogonGetDomainInfo",
14930 sizeof(struct netr_LogonGetDomainInfo),
14931 (ndr_push_flags_fn_t) ndr_push_netr_LogonGetDomainInfo,
14932 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonGetDomainInfo,
14933 (ndr_print_function_t) ndr_print_netr_LogonGetDomainInfo,
14937 "netr_ServerPasswordSet2",
14938 sizeof(struct netr_ServerPasswordSet2),
14939 (ndr_push_flags_fn_t) ndr_push_netr_ServerPasswordSet2,
14940 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerPasswordSet2,
14941 (ndr_print_function_t) ndr_print_netr_ServerPasswordSet2,
14945 "netr_ServerPasswordGet",
14946 sizeof(struct netr_ServerPasswordGet),
14947 (ndr_push_flags_fn_t) ndr_push_netr_ServerPasswordGet,
14948 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerPasswordGet,
14949 (ndr_print_function_t) ndr_print_netr_ServerPasswordGet,
14953 "netr_NETRLOGONSENDTOSAM",
14954 sizeof(struct netr_NETRLOGONSENDTOSAM),
14955 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONSENDTOSAM,
14956 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONSENDTOSAM,
14957 (ndr_print_function_t) ndr_print_netr_NETRLOGONSENDTOSAM,
14961 "netr_DsRAddressToSitenamesW",
14962 sizeof(struct netr_DsRAddressToSitenamesW),
14963 (ndr_push_flags_fn_t) ndr_push_netr_DsRAddressToSitenamesW,
14964 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRAddressToSitenamesW,
14965 (ndr_print_function_t) ndr_print_netr_DsRAddressToSitenamesW,
14969 "netr_DsRGetDCNameEx2",
14970 sizeof(struct netr_DsRGetDCNameEx2),
14971 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetDCNameEx2,
14972 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetDCNameEx2,
14973 (ndr_print_function_t) ndr_print_netr_DsRGetDCNameEx2,
14977 "netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN",
14978 sizeof(struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN),
14979 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN,
14980 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN,
14981 (ndr_print_function_t) ndr_print_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN,
14985 "netr_NetrEnumerateTrustedDomainsEx",
14986 sizeof(struct netr_NetrEnumerateTrustedDomainsEx),
14987 (ndr_push_flags_fn_t) ndr_push_netr_NetrEnumerateTrustedDomainsEx,
14988 (ndr_pull_flags_fn_t) ndr_pull_netr_NetrEnumerateTrustedDomainsEx,
14989 (ndr_print_function_t) ndr_print_netr_NetrEnumerateTrustedDomainsEx,
14993 "netr_DsRAddressToSitenamesExW",
14994 sizeof(struct netr_DsRAddressToSitenamesExW),
14995 (ndr_push_flags_fn_t) ndr_push_netr_DsRAddressToSitenamesExW,
14996 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRAddressToSitenamesExW,
14997 (ndr_print_function_t) ndr_print_netr_DsRAddressToSitenamesExW,
15001 "netr_DsrGetDcSiteCoverageW",
15002 sizeof(struct netr_DsrGetDcSiteCoverageW),
15003 (ndr_push_flags_fn_t) ndr_push_netr_DsrGetDcSiteCoverageW,
15004 (ndr_pull_flags_fn_t) ndr_pull_netr_DsrGetDcSiteCoverageW,
15005 (ndr_print_function_t) ndr_print_netr_DsrGetDcSiteCoverageW,
15009 "netr_LogonSamLogonEx",
15010 sizeof(struct netr_LogonSamLogonEx),
15011 (ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogonEx,
15012 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogonEx,
15013 (ndr_print_function_t) ndr_print_netr_LogonSamLogonEx,
15017 "netr_DsrEnumerateDomainTrusts",
15018 sizeof(struct netr_DsrEnumerateDomainTrusts),
15019 (ndr_push_flags_fn_t) ndr_push_netr_DsrEnumerateDomainTrusts,
15020 (ndr_pull_flags_fn_t) ndr_pull_netr_DsrEnumerateDomainTrusts,
15021 (ndr_print_function_t) ndr_print_netr_DsrEnumerateDomainTrusts,
15025 "netr_DsrDeregisterDNSHostRecords",
15026 sizeof(struct netr_DsrDeregisterDNSHostRecords),
15027 (ndr_push_flags_fn_t) ndr_push_netr_DsrDeregisterDNSHostRecords,
15028 (ndr_pull_flags_fn_t) ndr_pull_netr_DsrDeregisterDNSHostRecords,
15029 (ndr_print_function_t) ndr_print_netr_DsrDeregisterDNSHostRecords,
15033 "netr_ServerTrustPasswordsGet",
15034 sizeof(struct netr_ServerTrustPasswordsGet),
15035 (ndr_push_flags_fn_t) ndr_push_netr_ServerTrustPasswordsGet,
15036 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerTrustPasswordsGet,
15037 (ndr_print_function_t) ndr_print_netr_ServerTrustPasswordsGet,
15041 "netr_DsRGetForestTrustInformation",
15042 sizeof(struct netr_DsRGetForestTrustInformation),
15043 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetForestTrustInformation,
15044 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetForestTrustInformation,
15045 (ndr_print_function_t) ndr_print_netr_DsRGetForestTrustInformation,
15049 "netr_GetForestTrustInformation",
15050 sizeof(struct netr_GetForestTrustInformation),
15051 (ndr_push_flags_fn_t) ndr_push_netr_GetForestTrustInformation,
15052 (ndr_pull_flags_fn_t) ndr_pull_netr_GetForestTrustInformation,
15053 (ndr_print_function_t) ndr_print_netr_GetForestTrustInformation,
15057 "netr_LogonSamLogonWithFlags",
15058 sizeof(struct netr_LogonSamLogonWithFlags),
15059 (ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogonWithFlags,
15060 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogonWithFlags,
15061 (ndr_print_function_t) ndr_print_netr_LogonSamLogonWithFlags,
15065 "netr_NETRSERVERGETTRUSTINFO",
15066 sizeof(struct netr_NETRSERVERGETTRUSTINFO),
15067 (ndr_push_flags_fn_t) ndr_push_netr_NETRSERVERGETTRUSTINFO,
15068 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRSERVERGETTRUSTINFO,
15069 (ndr_print_function_t) ndr_print_netr_NETRSERVERGETTRUSTINFO,
15072 { NULL, 0, NULL, NULL, NULL, false }
15075 static const char * const netlogon_endpoint_strings[] = {
15076 "ncacn_np:[\\pipe\\netlogon]",
15081 static const struct ndr_interface_string_array netlogon_endpoints = {
15083 .names = netlogon_endpoint_strings
15086 static const char * const netlogon_authservice_strings[] = {
15090 static const struct ndr_interface_string_array netlogon_authservices = {
15092 .names = netlogon_authservice_strings
15096 const struct ndr_interface_table ndr_table_netlogon = {
15097 .name = "netlogon",
15099 {0x12345678,0x1234,0xabcd,{0xef,0x00},{0x01,0x23,0x45,0x67,0xcf,0xfb}},
15100 NDR_NETLOGON_VERSION
15102 .helpstring = NDR_NETLOGON_HELPSTRING,
15104 .calls = netlogon_calls,
15105 .endpoints = &netlogon_endpoints,
15106 .authservices = &netlogon_authservices