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 static enum ndr_err_code ndr_push_netr_GenericInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_GenericInfo *r)
544 uint32_t _flags_save_STRUCT = ndr->flags;
545 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
546 if (ndr_flags & NDR_SCALARS) {
547 NDR_CHECK(ndr_push_align(ndr, 4));
548 NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info));
549 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->package_name));
550 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
551 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
553 if (ndr_flags & NDR_BUFFERS) {
554 NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info));
555 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->package_name));
557 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
558 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
561 ndr->flags = _flags_save_STRUCT;
563 return NDR_ERR_SUCCESS;
566 static enum ndr_err_code ndr_pull_netr_GenericInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_GenericInfo *r)
569 TALLOC_CTX *_mem_save_data_0;
571 uint32_t _flags_save_STRUCT = ndr->flags;
572 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
573 if (ndr_flags & NDR_SCALARS) {
574 NDR_CHECK(ndr_pull_align(ndr, 4));
575 NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info));
576 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->package_name));
577 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
578 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
580 NDR_PULL_ALLOC(ndr, r->data);
585 if (ndr_flags & NDR_BUFFERS) {
586 NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info));
587 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->package_name));
589 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
590 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
591 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
592 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
593 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data)));
594 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
597 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length));
600 ndr->flags = _flags_save_STRUCT;
602 return NDR_ERR_SUCCESS;
605 _PUBLIC_ void ndr_print_netr_GenericInfo(struct ndr_print *ndr, const char *name, const struct netr_GenericInfo *r)
607 ndr_print_struct(ndr, name, "netr_GenericInfo");
609 uint32_t _flags_save_STRUCT = ndr->flags;
610 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
612 ndr_print_netr_IdentityInfo(ndr, "identity_info", &r->identity_info);
613 ndr_print_lsa_String(ndr, "package_name", &r->package_name);
614 ndr_print_uint32(ndr, "length", r->length);
615 ndr_print_ptr(ndr, "data", r->data);
618 ndr_print_array_uint8(ndr, "data", r->data, r->length);
622 ndr->flags = _flags_save_STRUCT;
626 static enum ndr_err_code ndr_push_netr_LogonInfoClass(struct ndr_push *ndr, int ndr_flags, enum netr_LogonInfoClass r)
628 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
629 return NDR_ERR_SUCCESS;
632 static enum ndr_err_code ndr_pull_netr_LogonInfoClass(struct ndr_pull *ndr, int ndr_flags, enum netr_LogonInfoClass *r)
635 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
637 return NDR_ERR_SUCCESS;
640 _PUBLIC_ void ndr_print_netr_LogonInfoClass(struct ndr_print *ndr, const char *name, enum netr_LogonInfoClass r)
642 const char *val = NULL;
645 case NetlogonInteractiveInformation: val = "NetlogonInteractiveInformation"; break;
646 case NetlogonNetworkInformation: val = "NetlogonNetworkInformation"; break;
647 case NetlogonServiceInformation: val = "NetlogonServiceInformation"; break;
648 case NetlogonGenericInformation: val = "NetlogonGenericInformation"; break;
649 case NetlogonInteractiveTransitiveInformation: val = "NetlogonInteractiveTransitiveInformation"; break;
650 case NetlogonNetworkTransitiveInformation: val = "NetlogonNetworkTransitiveInformation"; break;
651 case NetlogonServiceTransitiveInformation: val = "NetlogonServiceTransitiveInformation"; break;
653 ndr_print_enum(ndr, name, "ENUM", val, r);
656 _PUBLIC_ enum ndr_err_code ndr_push_netr_LogonLevel(struct ndr_push *ndr, int ndr_flags, const union netr_LogonLevel *r)
658 if (ndr_flags & NDR_SCALARS) {
659 int level = ndr_push_get_switch_value(ndr, r);
660 NDR_CHECK(ndr_push_netr_LogonInfoClass(ndr, NDR_SCALARS, level));
662 case NetlogonInteractiveInformation: {
663 NDR_CHECK(ndr_push_unique_ptr(ndr, r->password));
666 case NetlogonNetworkInformation: {
667 NDR_CHECK(ndr_push_unique_ptr(ndr, r->network));
670 case NetlogonServiceInformation: {
671 NDR_CHECK(ndr_push_unique_ptr(ndr, r->password));
674 case NetlogonGenericInformation: {
675 NDR_CHECK(ndr_push_unique_ptr(ndr, r->generic));
678 case NetlogonInteractiveTransitiveInformation: {
679 NDR_CHECK(ndr_push_unique_ptr(ndr, r->password));
682 case NetlogonNetworkTransitiveInformation: {
683 NDR_CHECK(ndr_push_unique_ptr(ndr, r->network));
686 case NetlogonServiceTransitiveInformation: {
687 NDR_CHECK(ndr_push_unique_ptr(ndr, r->password));
691 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
694 if (ndr_flags & NDR_BUFFERS) {
695 int level = ndr_push_get_switch_value(ndr, r);
697 case NetlogonInteractiveInformation:
699 NDR_CHECK(ndr_push_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
703 case NetlogonNetworkInformation:
705 NDR_CHECK(ndr_push_netr_NetworkInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->network));
709 case NetlogonServiceInformation:
711 NDR_CHECK(ndr_push_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
715 case NetlogonGenericInformation:
717 NDR_CHECK(ndr_push_netr_GenericInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->generic));
721 case NetlogonInteractiveTransitiveInformation:
723 NDR_CHECK(ndr_push_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
727 case NetlogonNetworkTransitiveInformation:
729 NDR_CHECK(ndr_push_netr_NetworkInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->network));
733 case NetlogonServiceTransitiveInformation:
735 NDR_CHECK(ndr_push_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
740 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
743 return NDR_ERR_SUCCESS;
746 _PUBLIC_ enum ndr_err_code ndr_pull_netr_LogonLevel(struct ndr_pull *ndr, int ndr_flags, union netr_LogonLevel *r)
750 TALLOC_CTX *_mem_save_password_0;
751 TALLOC_CTX *_mem_save_network_0;
752 TALLOC_CTX *_mem_save_generic_0;
753 level = ndr_pull_get_switch_value(ndr, r);
754 if (ndr_flags & NDR_SCALARS) {
755 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
756 if (_level != level) {
757 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
760 case NetlogonInteractiveInformation: {
761 uint32_t _ptr_password;
762 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
764 NDR_PULL_ALLOC(ndr, r->password);
770 case NetlogonNetworkInformation: {
771 uint32_t _ptr_network;
772 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_network));
774 NDR_PULL_ALLOC(ndr, r->network);
780 case NetlogonServiceInformation: {
781 uint32_t _ptr_password;
782 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
784 NDR_PULL_ALLOC(ndr, r->password);
790 case NetlogonGenericInformation: {
791 uint32_t _ptr_generic;
792 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_generic));
794 NDR_PULL_ALLOC(ndr, r->generic);
800 case NetlogonInteractiveTransitiveInformation: {
801 uint32_t _ptr_password;
802 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
804 NDR_PULL_ALLOC(ndr, r->password);
810 case NetlogonNetworkTransitiveInformation: {
811 uint32_t _ptr_network;
812 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_network));
814 NDR_PULL_ALLOC(ndr, r->network);
820 case NetlogonServiceTransitiveInformation: {
821 uint32_t _ptr_password;
822 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
824 NDR_PULL_ALLOC(ndr, r->password);
831 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
834 if (ndr_flags & NDR_BUFFERS) {
836 case NetlogonInteractiveInformation:
838 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
839 NDR_PULL_SET_MEM_CTX(ndr, r->password, 0);
840 NDR_CHECK(ndr_pull_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
841 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
845 case NetlogonNetworkInformation:
847 _mem_save_network_0 = NDR_PULL_GET_MEM_CTX(ndr);
848 NDR_PULL_SET_MEM_CTX(ndr, r->network, 0);
849 NDR_CHECK(ndr_pull_netr_NetworkInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->network));
850 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_network_0, 0);
854 case NetlogonServiceInformation:
856 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
857 NDR_PULL_SET_MEM_CTX(ndr, r->password, 0);
858 NDR_CHECK(ndr_pull_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
859 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
863 case NetlogonGenericInformation:
865 _mem_save_generic_0 = NDR_PULL_GET_MEM_CTX(ndr);
866 NDR_PULL_SET_MEM_CTX(ndr, r->generic, 0);
867 NDR_CHECK(ndr_pull_netr_GenericInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->generic));
868 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_generic_0, 0);
872 case NetlogonInteractiveTransitiveInformation:
874 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
875 NDR_PULL_SET_MEM_CTX(ndr, r->password, 0);
876 NDR_CHECK(ndr_pull_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
877 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
881 case NetlogonNetworkTransitiveInformation:
883 _mem_save_network_0 = NDR_PULL_GET_MEM_CTX(ndr);
884 NDR_PULL_SET_MEM_CTX(ndr, r->network, 0);
885 NDR_CHECK(ndr_pull_netr_NetworkInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->network));
886 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_network_0, 0);
890 case NetlogonServiceTransitiveInformation:
892 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
893 NDR_PULL_SET_MEM_CTX(ndr, r->password, 0);
894 NDR_CHECK(ndr_pull_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
895 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
900 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
903 return NDR_ERR_SUCCESS;
906 _PUBLIC_ void ndr_print_netr_LogonLevel(struct ndr_print *ndr, const char *name, const union netr_LogonLevel *r)
909 level = ndr_print_get_switch_value(ndr, r);
910 ndr_print_union(ndr, name, level, "netr_LogonLevel");
912 case NetlogonInteractiveInformation:
913 ndr_print_ptr(ndr, "password", r->password);
916 ndr_print_netr_PasswordInfo(ndr, "password", r->password);
921 case NetlogonNetworkInformation:
922 ndr_print_ptr(ndr, "network", r->network);
925 ndr_print_netr_NetworkInfo(ndr, "network", r->network);
930 case NetlogonServiceInformation:
931 ndr_print_ptr(ndr, "password", r->password);
934 ndr_print_netr_PasswordInfo(ndr, "password", r->password);
939 case NetlogonGenericInformation:
940 ndr_print_ptr(ndr, "generic", r->generic);
943 ndr_print_netr_GenericInfo(ndr, "generic", r->generic);
948 case NetlogonInteractiveTransitiveInformation:
949 ndr_print_ptr(ndr, "password", r->password);
952 ndr_print_netr_PasswordInfo(ndr, "password", r->password);
957 case NetlogonNetworkTransitiveInformation:
958 ndr_print_ptr(ndr, "network", r->network);
961 ndr_print_netr_NetworkInfo(ndr, "network", r->network);
966 case NetlogonServiceTransitiveInformation:
967 ndr_print_ptr(ndr, "password", r->password);
970 ndr_print_netr_PasswordInfo(ndr, "password", r->password);
976 ndr_print_bad_level(ndr, name, level);
980 _PUBLIC_ enum ndr_err_code ndr_push_netr_UserSessionKey(struct ndr_push *ndr, int ndr_flags, const struct netr_UserSessionKey *r)
983 uint32_t _flags_save_STRUCT = ndr->flags;
984 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
985 if (ndr_flags & NDR_SCALARS) {
986 NDR_CHECK(ndr_push_align(ndr, 1));
987 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->key, 16));
989 if (ndr_flags & NDR_BUFFERS) {
991 ndr->flags = _flags_save_STRUCT;
993 return NDR_ERR_SUCCESS;
996 _PUBLIC_ enum ndr_err_code ndr_pull_netr_UserSessionKey(struct ndr_pull *ndr, int ndr_flags, struct netr_UserSessionKey *r)
999 uint32_t _flags_save_STRUCT = ndr->flags;
1000 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1001 if (ndr_flags & NDR_SCALARS) {
1002 NDR_CHECK(ndr_pull_align(ndr, 1));
1003 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->key, 16));
1005 if (ndr_flags & NDR_BUFFERS) {
1007 ndr->flags = _flags_save_STRUCT;
1009 return NDR_ERR_SUCCESS;
1012 _PUBLIC_ void ndr_print_netr_UserSessionKey(struct ndr_print *ndr, const char *name, const struct netr_UserSessionKey *r)
1014 ndr_print_struct(ndr, name, "netr_UserSessionKey");
1016 uint32_t _flags_save_STRUCT = ndr->flags;
1017 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1019 ndr_print_array_uint8(ndr, "key", r->key, 16);
1021 ndr->flags = _flags_save_STRUCT;
1025 _PUBLIC_ enum ndr_err_code ndr_push_netr_LMSessionKey(struct ndr_push *ndr, int ndr_flags, const struct netr_LMSessionKey *r)
1028 uint32_t _flags_save_STRUCT = ndr->flags;
1029 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1030 if (ndr_flags & NDR_SCALARS) {
1031 NDR_CHECK(ndr_push_align(ndr, 1));
1032 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->key, 8));
1034 if (ndr_flags & NDR_BUFFERS) {
1036 ndr->flags = _flags_save_STRUCT;
1038 return NDR_ERR_SUCCESS;
1041 _PUBLIC_ enum ndr_err_code ndr_pull_netr_LMSessionKey(struct ndr_pull *ndr, int ndr_flags, struct netr_LMSessionKey *r)
1044 uint32_t _flags_save_STRUCT = ndr->flags;
1045 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1046 if (ndr_flags & NDR_SCALARS) {
1047 NDR_CHECK(ndr_pull_align(ndr, 1));
1048 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->key, 8));
1050 if (ndr_flags & NDR_BUFFERS) {
1052 ndr->flags = _flags_save_STRUCT;
1054 return NDR_ERR_SUCCESS;
1057 _PUBLIC_ void ndr_print_netr_LMSessionKey(struct ndr_print *ndr, const char *name, const struct netr_LMSessionKey *r)
1059 ndr_print_struct(ndr, name, "netr_LMSessionKey");
1061 uint32_t _flags_save_STRUCT = ndr->flags;
1062 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1064 ndr_print_array_uint8(ndr, "key", r->key, 8);
1066 ndr->flags = _flags_save_STRUCT;
1070 _PUBLIC_ enum ndr_err_code ndr_push_netr_UserFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
1072 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
1073 return NDR_ERR_SUCCESS;
1076 _PUBLIC_ enum ndr_err_code ndr_pull_netr_UserFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
1079 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
1081 return NDR_ERR_SUCCESS;
1084 _PUBLIC_ void ndr_print_netr_UserFlags(struct ndr_print *ndr, const char *name, uint32_t r)
1086 ndr_print_uint32(ndr, name, r);
1088 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_GUEST", NETLOGON_GUEST, r);
1089 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NOENCRYPTION", NETLOGON_NOENCRYPTION, r);
1090 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_CACHED_ACCOUNT", NETLOGON_CACHED_ACCOUNT, r);
1091 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_USED_LM_PASSWORD", NETLOGON_USED_LM_PASSWORD, r);
1092 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_EXTRA_SIDS", NETLOGON_EXTRA_SIDS, r);
1093 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_SUBAUTH_SESSION_KEY", NETLOGON_SUBAUTH_SESSION_KEY, r);
1094 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_SERVER_TRUST_ACCOUNT", NETLOGON_SERVER_TRUST_ACCOUNT, r);
1095 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NTLMV2_ENABLED", NETLOGON_NTLMV2_ENABLED, r);
1096 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_RESOURCE_GROUPS", NETLOGON_RESOURCE_GROUPS, r);
1097 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_PROFILE_PATH_RETURNED", NETLOGON_PROFILE_PATH_RETURNED, r);
1098 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_GRACE_LOGON", NETLOGON_GRACE_LOGON, r);
1102 static enum ndr_err_code ndr_push_netr_SamBaseInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_SamBaseInfo *r)
1104 uint32_t cntr_unknown_0;
1105 if (ndr_flags & NDR_SCALARS) {
1106 NDR_CHECK(ndr_push_align(ndr, 4));
1107 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logon));
1108 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logoff));
1109 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->acct_expiry));
1110 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_password_change));
1111 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->allow_password_change));
1112 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->force_password_change));
1113 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
1114 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
1115 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
1116 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
1117 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
1118 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
1119 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count));
1120 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->bad_password_count));
1121 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
1122 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid));
1123 NDR_CHECK(ndr_push_samr_RidWithAttributeArray(ndr, NDR_SCALARS, &r->groups));
1124 NDR_CHECK(ndr_push_netr_UserFlags(ndr, NDR_SCALARS, r->user_flags));
1125 NDR_CHECK(ndr_push_netr_UserSessionKey(ndr, NDR_SCALARS, &r->key));
1126 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->logon_server));
1127 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->domain));
1128 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_sid));
1129 NDR_CHECK(ndr_push_netr_LMSessionKey(ndr, NDR_SCALARS, &r->LMSessKey));
1130 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
1131 for (cntr_unknown_0 = 0; cntr_unknown_0 < 7; cntr_unknown_0++) {
1132 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown[cntr_unknown_0]));
1135 if (ndr_flags & NDR_BUFFERS) {
1136 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
1137 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
1138 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
1139 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
1140 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
1141 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
1142 NDR_CHECK(ndr_push_samr_RidWithAttributeArray(ndr, NDR_BUFFERS, &r->groups));
1143 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->logon_server));
1144 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->domain));
1145 if (r->domain_sid) {
1146 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid));
1149 return NDR_ERR_SUCCESS;
1152 static enum ndr_err_code ndr_pull_netr_SamBaseInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_SamBaseInfo *r)
1154 uint32_t _ptr_domain_sid;
1155 TALLOC_CTX *_mem_save_domain_sid_0;
1156 uint32_t cntr_unknown_0;
1157 if (ndr_flags & NDR_SCALARS) {
1158 NDR_CHECK(ndr_pull_align(ndr, 4));
1159 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logon));
1160 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logoff));
1161 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->acct_expiry));
1162 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_password_change));
1163 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->allow_password_change));
1164 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->force_password_change));
1165 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
1166 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
1167 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
1168 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
1169 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
1170 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
1171 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count));
1172 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->bad_password_count));
1173 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
1174 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid));
1175 NDR_CHECK(ndr_pull_samr_RidWithAttributeArray(ndr, NDR_SCALARS, &r->groups));
1176 NDR_CHECK(ndr_pull_netr_UserFlags(ndr, NDR_SCALARS, &r->user_flags));
1177 NDR_CHECK(ndr_pull_netr_UserSessionKey(ndr, NDR_SCALARS, &r->key));
1178 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->logon_server));
1179 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->domain));
1180 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_sid));
1181 if (_ptr_domain_sid) {
1182 NDR_PULL_ALLOC(ndr, r->domain_sid);
1184 r->domain_sid = NULL;
1186 NDR_CHECK(ndr_pull_netr_LMSessionKey(ndr, NDR_SCALARS, &r->LMSessKey));
1187 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
1188 for (cntr_unknown_0 = 0; cntr_unknown_0 < 7; cntr_unknown_0++) {
1189 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown[cntr_unknown_0]));
1192 if (ndr_flags & NDR_BUFFERS) {
1193 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
1194 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
1195 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
1196 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
1197 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
1198 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
1199 NDR_CHECK(ndr_pull_samr_RidWithAttributeArray(ndr, NDR_BUFFERS, &r->groups));
1200 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->logon_server));
1201 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->domain));
1202 if (r->domain_sid) {
1203 _mem_save_domain_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
1204 NDR_PULL_SET_MEM_CTX(ndr, r->domain_sid, 0);
1205 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid));
1206 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_sid_0, 0);
1209 return NDR_ERR_SUCCESS;
1212 _PUBLIC_ void ndr_print_netr_SamBaseInfo(struct ndr_print *ndr, const char *name, const struct netr_SamBaseInfo *r)
1214 uint32_t cntr_unknown_0;
1215 ndr_print_struct(ndr, name, "netr_SamBaseInfo");
1217 ndr_print_NTTIME(ndr, "last_logon", r->last_logon);
1218 ndr_print_NTTIME(ndr, "last_logoff", r->last_logoff);
1219 ndr_print_NTTIME(ndr, "acct_expiry", r->acct_expiry);
1220 ndr_print_NTTIME(ndr, "last_password_change", r->last_password_change);
1221 ndr_print_NTTIME(ndr, "allow_password_change", r->allow_password_change);
1222 ndr_print_NTTIME(ndr, "force_password_change", r->force_password_change);
1223 ndr_print_lsa_String(ndr, "account_name", &r->account_name);
1224 ndr_print_lsa_String(ndr, "full_name", &r->full_name);
1225 ndr_print_lsa_String(ndr, "logon_script", &r->logon_script);
1226 ndr_print_lsa_String(ndr, "profile_path", &r->profile_path);
1227 ndr_print_lsa_String(ndr, "home_directory", &r->home_directory);
1228 ndr_print_lsa_String(ndr, "home_drive", &r->home_drive);
1229 ndr_print_uint16(ndr, "logon_count", r->logon_count);
1230 ndr_print_uint16(ndr, "bad_password_count", r->bad_password_count);
1231 ndr_print_uint32(ndr, "rid", r->rid);
1232 ndr_print_uint32(ndr, "primary_gid", r->primary_gid);
1233 ndr_print_samr_RidWithAttributeArray(ndr, "groups", &r->groups);
1234 ndr_print_netr_UserFlags(ndr, "user_flags", r->user_flags);
1235 ndr_print_netr_UserSessionKey(ndr, "key", &r->key);
1236 ndr_print_lsa_StringLarge(ndr, "logon_server", &r->logon_server);
1237 ndr_print_lsa_StringLarge(ndr, "domain", &r->domain);
1238 ndr_print_ptr(ndr, "domain_sid", r->domain_sid);
1240 if (r->domain_sid) {
1241 ndr_print_dom_sid2(ndr, "domain_sid", r->domain_sid);
1244 ndr_print_netr_LMSessionKey(ndr, "LMSessKey", &r->LMSessKey);
1245 ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
1246 ndr->print(ndr, "%s: ARRAY(%d)", "unknown", (int)7);
1248 for (cntr_unknown_0=0;cntr_unknown_0<7;cntr_unknown_0++) {
1250 if (asprintf(&idx_0, "[%d]", cntr_unknown_0) != -1) {
1251 ndr_print_uint32(ndr, "unknown", r->unknown[cntr_unknown_0]);
1259 static enum ndr_err_code ndr_push_netr_SamInfo2(struct ndr_push *ndr, int ndr_flags, const struct netr_SamInfo2 *r)
1261 if (ndr_flags & NDR_SCALARS) {
1262 NDR_CHECK(ndr_push_align(ndr, 4));
1263 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1265 if (ndr_flags & NDR_BUFFERS) {
1266 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1268 return NDR_ERR_SUCCESS;
1271 static enum ndr_err_code ndr_pull_netr_SamInfo2(struct ndr_pull *ndr, int ndr_flags, struct netr_SamInfo2 *r)
1273 if (ndr_flags & NDR_SCALARS) {
1274 NDR_CHECK(ndr_pull_align(ndr, 4));
1275 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1277 if (ndr_flags & NDR_BUFFERS) {
1278 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1280 return NDR_ERR_SUCCESS;
1283 _PUBLIC_ void ndr_print_netr_SamInfo2(struct ndr_print *ndr, const char *name, const struct netr_SamInfo2 *r)
1285 ndr_print_struct(ndr, name, "netr_SamInfo2");
1287 ndr_print_netr_SamBaseInfo(ndr, "base", &r->base);
1291 static enum ndr_err_code ndr_push_netr_SidAttr(struct ndr_push *ndr, int ndr_flags, const struct netr_SidAttr *r)
1293 if (ndr_flags & NDR_SCALARS) {
1294 NDR_CHECK(ndr_push_align(ndr, 4));
1295 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
1296 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr, NDR_SCALARS, r->attributes));
1298 if (ndr_flags & NDR_BUFFERS) {
1300 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
1303 return NDR_ERR_SUCCESS;
1306 static enum ndr_err_code ndr_pull_netr_SidAttr(struct ndr_pull *ndr, int ndr_flags, struct netr_SidAttr *r)
1309 TALLOC_CTX *_mem_save_sid_0;
1310 if (ndr_flags & NDR_SCALARS) {
1311 NDR_CHECK(ndr_pull_align(ndr, 4));
1312 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
1314 NDR_PULL_ALLOC(ndr, r->sid);
1318 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr, NDR_SCALARS, &r->attributes));
1320 if (ndr_flags & NDR_BUFFERS) {
1322 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
1323 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
1324 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
1325 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
1328 return NDR_ERR_SUCCESS;
1331 _PUBLIC_ void ndr_print_netr_SidAttr(struct ndr_print *ndr, const char *name, const struct netr_SidAttr *r)
1333 ndr_print_struct(ndr, name, "netr_SidAttr");
1335 ndr_print_ptr(ndr, "sid", r->sid);
1338 ndr_print_dom_sid2(ndr, "sid", r->sid);
1341 ndr_print_samr_GroupAttrs(ndr, "attributes", r->attributes);
1345 _PUBLIC_ enum ndr_err_code ndr_push_netr_SamInfo3(struct ndr_push *ndr, int ndr_flags, const struct netr_SamInfo3 *r)
1347 uint32_t cntr_sids_1;
1348 if (ndr_flags & NDR_SCALARS) {
1349 NDR_CHECK(ndr_push_align(ndr, 4));
1350 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1351 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sidcount));
1352 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids));
1354 if (ndr_flags & NDR_BUFFERS) {
1355 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1357 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sidcount));
1358 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1359 NDR_CHECK(ndr_push_netr_SidAttr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
1361 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1362 NDR_CHECK(ndr_push_netr_SidAttr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
1366 return NDR_ERR_SUCCESS;
1369 _PUBLIC_ enum ndr_err_code ndr_pull_netr_SamInfo3(struct ndr_pull *ndr, int ndr_flags, struct netr_SamInfo3 *r)
1372 uint32_t cntr_sids_1;
1373 TALLOC_CTX *_mem_save_sids_0;
1374 TALLOC_CTX *_mem_save_sids_1;
1375 if (ndr_flags & NDR_SCALARS) {
1376 NDR_CHECK(ndr_pull_align(ndr, 4));
1377 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1378 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sidcount));
1379 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
1381 NDR_PULL_ALLOC(ndr, r->sids);
1386 if (ndr_flags & NDR_BUFFERS) {
1387 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1389 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1390 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
1391 NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
1392 NDR_PULL_ALLOC_N(ndr, r->sids, ndr_get_array_size(ndr, &r->sids));
1393 _mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr);
1394 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
1395 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1396 NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
1398 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1399 NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
1401 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_1, 0);
1402 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
1405 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sids, r->sidcount));
1408 return NDR_ERR_SUCCESS;
1411 _PUBLIC_ void ndr_print_netr_SamInfo3(struct ndr_print *ndr, const char *name, const struct netr_SamInfo3 *r)
1413 uint32_t cntr_sids_1;
1414 ndr_print_struct(ndr, name, "netr_SamInfo3");
1416 ndr_print_netr_SamBaseInfo(ndr, "base", &r->base);
1417 ndr_print_uint32(ndr, "sidcount", r->sidcount);
1418 ndr_print_ptr(ndr, "sids", r->sids);
1421 ndr->print(ndr, "%s: ARRAY(%d)", "sids", (int)r->sidcount);
1423 for (cntr_sids_1=0;cntr_sids_1<r->sidcount;cntr_sids_1++) {
1425 if (asprintf(&idx_1, "[%d]", cntr_sids_1) != -1) {
1426 ndr_print_netr_SidAttr(ndr, "sids", &r->sids[cntr_sids_1]);
1436 static enum ndr_err_code ndr_push_netr_SamInfo6(struct ndr_push *ndr, int ndr_flags, const struct netr_SamInfo6 *r)
1438 uint32_t cntr_sids_1;
1439 uint32_t cntr_unknown4_0;
1440 if (ndr_flags & NDR_SCALARS) {
1441 NDR_CHECK(ndr_push_align(ndr, 4));
1442 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1443 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sidcount));
1444 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids));
1445 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->forest));
1446 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->principle));
1447 for (cntr_unknown4_0 = 0; cntr_unknown4_0 < 20; cntr_unknown4_0++) {
1448 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4[cntr_unknown4_0]));
1451 if (ndr_flags & NDR_BUFFERS) {
1452 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1454 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sidcount));
1455 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1456 NDR_CHECK(ndr_push_netr_SidAttr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
1458 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1459 NDR_CHECK(ndr_push_netr_SidAttr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
1462 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->forest));
1463 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->principle));
1465 return NDR_ERR_SUCCESS;
1468 static enum ndr_err_code ndr_pull_netr_SamInfo6(struct ndr_pull *ndr, int ndr_flags, struct netr_SamInfo6 *r)
1471 uint32_t cntr_sids_1;
1472 TALLOC_CTX *_mem_save_sids_0;
1473 TALLOC_CTX *_mem_save_sids_1;
1474 uint32_t cntr_unknown4_0;
1475 if (ndr_flags & NDR_SCALARS) {
1476 NDR_CHECK(ndr_pull_align(ndr, 4));
1477 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1478 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sidcount));
1479 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
1481 NDR_PULL_ALLOC(ndr, r->sids);
1485 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->forest));
1486 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->principle));
1487 for (cntr_unknown4_0 = 0; cntr_unknown4_0 < 20; cntr_unknown4_0++) {
1488 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4[cntr_unknown4_0]));
1491 if (ndr_flags & NDR_BUFFERS) {
1492 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1494 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1495 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
1496 NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
1497 NDR_PULL_ALLOC_N(ndr, r->sids, ndr_get_array_size(ndr, &r->sids));
1498 _mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr);
1499 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
1500 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1501 NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
1503 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1504 NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
1506 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_1, 0);
1507 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
1509 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->forest));
1510 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->principle));
1512 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sids, r->sidcount));
1515 return NDR_ERR_SUCCESS;
1518 _PUBLIC_ void ndr_print_netr_SamInfo6(struct ndr_print *ndr, const char *name, const struct netr_SamInfo6 *r)
1520 uint32_t cntr_sids_1;
1521 uint32_t cntr_unknown4_0;
1522 ndr_print_struct(ndr, name, "netr_SamInfo6");
1524 ndr_print_netr_SamBaseInfo(ndr, "base", &r->base);
1525 ndr_print_uint32(ndr, "sidcount", r->sidcount);
1526 ndr_print_ptr(ndr, "sids", r->sids);
1529 ndr->print(ndr, "%s: ARRAY(%d)", "sids", (int)r->sidcount);
1531 for (cntr_sids_1=0;cntr_sids_1<r->sidcount;cntr_sids_1++) {
1533 if (asprintf(&idx_1, "[%d]", cntr_sids_1) != -1) {
1534 ndr_print_netr_SidAttr(ndr, "sids", &r->sids[cntr_sids_1]);
1541 ndr_print_lsa_String(ndr, "forest", &r->forest);
1542 ndr_print_lsa_String(ndr, "principle", &r->principle);
1543 ndr->print(ndr, "%s: ARRAY(%d)", "unknown4", (int)20);
1545 for (cntr_unknown4_0=0;cntr_unknown4_0<20;cntr_unknown4_0++) {
1547 if (asprintf(&idx_0, "[%d]", cntr_unknown4_0) != -1) {
1548 ndr_print_uint32(ndr, "unknown4", r->unknown4[cntr_unknown4_0]);
1556 static enum ndr_err_code ndr_push_netr_PacInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_PacInfo *r)
1558 uint32_t cntr_expansionroom_0;
1559 if (ndr_flags & NDR_SCALARS) {
1560 NDR_CHECK(ndr_push_align(ndr, 4));
1561 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pac_size));
1562 NDR_CHECK(ndr_push_unique_ptr(ndr, r->pac));
1563 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_domain));
1564 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_server));
1565 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->principal_name));
1566 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->auth_size));
1567 NDR_CHECK(ndr_push_unique_ptr(ndr, r->auth));
1568 NDR_CHECK(ndr_push_netr_UserSessionKey(ndr, NDR_SCALARS, &r->user_session_key));
1569 for (cntr_expansionroom_0 = 0; cntr_expansionroom_0 < 10; cntr_expansionroom_0++) {
1570 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->expansionroom[cntr_expansionroom_0]));
1572 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
1573 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
1574 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
1575 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
1577 if (ndr_flags & NDR_BUFFERS) {
1579 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pac_size));
1580 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->pac, r->pac_size));
1582 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_domain));
1583 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_server));
1584 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->principal_name));
1586 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->auth_size));
1587 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->auth, r->auth_size));
1589 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
1590 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
1591 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
1592 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
1594 return NDR_ERR_SUCCESS;
1597 static enum ndr_err_code ndr_pull_netr_PacInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_PacInfo *r)
1600 TALLOC_CTX *_mem_save_pac_0;
1602 TALLOC_CTX *_mem_save_auth_0;
1603 uint32_t cntr_expansionroom_0;
1604 if (ndr_flags & NDR_SCALARS) {
1605 NDR_CHECK(ndr_pull_align(ndr, 4));
1606 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pac_size));
1607 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pac));
1609 NDR_PULL_ALLOC(ndr, r->pac);
1613 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_domain));
1614 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_server));
1615 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->principal_name));
1616 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->auth_size));
1617 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_auth));
1619 NDR_PULL_ALLOC(ndr, r->auth);
1623 NDR_CHECK(ndr_pull_netr_UserSessionKey(ndr, NDR_SCALARS, &r->user_session_key));
1624 for (cntr_expansionroom_0 = 0; cntr_expansionroom_0 < 10; cntr_expansionroom_0++) {
1625 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->expansionroom[cntr_expansionroom_0]));
1627 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
1628 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
1629 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
1630 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
1632 if (ndr_flags & NDR_BUFFERS) {
1634 _mem_save_pac_0 = NDR_PULL_GET_MEM_CTX(ndr);
1635 NDR_PULL_SET_MEM_CTX(ndr, r->pac, 0);
1636 NDR_CHECK(ndr_pull_array_size(ndr, &r->pac));
1637 NDR_PULL_ALLOC_N(ndr, r->pac, ndr_get_array_size(ndr, &r->pac));
1638 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->pac, ndr_get_array_size(ndr, &r->pac)));
1639 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pac_0, 0);
1641 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_domain));
1642 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_server));
1643 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->principal_name));
1645 _mem_save_auth_0 = NDR_PULL_GET_MEM_CTX(ndr);
1646 NDR_PULL_SET_MEM_CTX(ndr, r->auth, 0);
1647 NDR_CHECK(ndr_pull_array_size(ndr, &r->auth));
1648 NDR_PULL_ALLOC_N(ndr, r->auth, ndr_get_array_size(ndr, &r->auth));
1649 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->auth, ndr_get_array_size(ndr, &r->auth)));
1650 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_auth_0, 0);
1652 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
1653 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
1654 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
1655 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
1657 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->pac, r->pac_size));
1660 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->auth, r->auth_size));
1663 return NDR_ERR_SUCCESS;
1666 _PUBLIC_ void ndr_print_netr_PacInfo(struct ndr_print *ndr, const char *name, const struct netr_PacInfo *r)
1668 uint32_t cntr_expansionroom_0;
1669 ndr_print_struct(ndr, name, "netr_PacInfo");
1671 ndr_print_uint32(ndr, "pac_size", r->pac_size);
1672 ndr_print_ptr(ndr, "pac", r->pac);
1675 ndr_print_array_uint8(ndr, "pac", r->pac, r->pac_size);
1678 ndr_print_lsa_String(ndr, "logon_domain", &r->logon_domain);
1679 ndr_print_lsa_String(ndr, "logon_server", &r->logon_server);
1680 ndr_print_lsa_String(ndr, "principal_name", &r->principal_name);
1681 ndr_print_uint32(ndr, "auth_size", r->auth_size);
1682 ndr_print_ptr(ndr, "auth", r->auth);
1685 ndr_print_array_uint8(ndr, "auth", r->auth, r->auth_size);
1688 ndr_print_netr_UserSessionKey(ndr, "user_session_key", &r->user_session_key);
1689 ndr->print(ndr, "%s: ARRAY(%d)", "expansionroom", (int)10);
1691 for (cntr_expansionroom_0=0;cntr_expansionroom_0<10;cntr_expansionroom_0++) {
1693 if (asprintf(&idx_0, "[%d]", cntr_expansionroom_0) != -1) {
1694 ndr_print_uint32(ndr, "expansionroom", r->expansionroom[cntr_expansionroom_0]);
1699 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
1700 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
1701 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
1702 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
1706 static enum ndr_err_code ndr_push_netr_GenericInfo2(struct ndr_push *ndr, int ndr_flags, const struct netr_GenericInfo2 *r)
1709 uint32_t _flags_save_STRUCT = ndr->flags;
1710 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1711 if (ndr_flags & NDR_SCALARS) {
1712 NDR_CHECK(ndr_push_align(ndr, 4));
1713 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
1714 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
1716 if (ndr_flags & NDR_BUFFERS) {
1718 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
1719 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
1722 ndr->flags = _flags_save_STRUCT;
1724 return NDR_ERR_SUCCESS;
1727 static enum ndr_err_code ndr_pull_netr_GenericInfo2(struct ndr_pull *ndr, int ndr_flags, struct netr_GenericInfo2 *r)
1730 TALLOC_CTX *_mem_save_data_0;
1732 uint32_t _flags_save_STRUCT = ndr->flags;
1733 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1734 if (ndr_flags & NDR_SCALARS) {
1735 NDR_CHECK(ndr_pull_align(ndr, 4));
1736 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
1737 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
1739 NDR_PULL_ALLOC(ndr, r->data);
1744 if (ndr_flags & NDR_BUFFERS) {
1746 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
1747 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
1748 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
1749 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
1750 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data)));
1751 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
1754 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length));
1757 ndr->flags = _flags_save_STRUCT;
1759 return NDR_ERR_SUCCESS;
1762 _PUBLIC_ void ndr_print_netr_GenericInfo2(struct ndr_print *ndr, const char *name, const struct netr_GenericInfo2 *r)
1764 ndr_print_struct(ndr, name, "netr_GenericInfo2");
1766 uint32_t _flags_save_STRUCT = ndr->flags;
1767 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1769 ndr_print_uint32(ndr, "length", r->length);
1770 ndr_print_ptr(ndr, "data", r->data);
1773 ndr_print_array_uint8(ndr, "data", r->data, r->length);
1777 ndr->flags = _flags_save_STRUCT;
1781 _PUBLIC_ enum ndr_err_code ndr_push_netr_Validation(struct ndr_push *ndr, int ndr_flags, const union netr_Validation *r)
1783 if (ndr_flags & NDR_SCALARS) {
1784 int level = ndr_push_get_switch_value(ndr, r);
1785 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level));
1787 case NetlogonValidationSamInfo: {
1788 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sam2));
1791 case NetlogonValidationSamInfo2: {
1792 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sam3));
1796 NDR_CHECK(ndr_push_unique_ptr(ndr, r->pac));
1799 case NetlogonValidationGenericInfo2: {
1800 NDR_CHECK(ndr_push_unique_ptr(ndr, r->generic));
1803 case NetlogonValidationSamInfo4: {
1804 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sam6));
1808 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1811 if (ndr_flags & NDR_BUFFERS) {
1812 int level = ndr_push_get_switch_value(ndr, r);
1814 case NetlogonValidationSamInfo:
1816 NDR_CHECK(ndr_push_netr_SamInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam2));
1820 case NetlogonValidationSamInfo2:
1822 NDR_CHECK(ndr_push_netr_SamInfo3(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam3));
1828 NDR_CHECK(ndr_push_netr_PacInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->pac));
1832 case NetlogonValidationGenericInfo2:
1834 NDR_CHECK(ndr_push_netr_GenericInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->generic));
1838 case NetlogonValidationSamInfo4:
1840 NDR_CHECK(ndr_push_netr_SamInfo6(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam6));
1845 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1848 return NDR_ERR_SUCCESS;
1851 _PUBLIC_ enum ndr_err_code ndr_pull_netr_Validation(struct ndr_pull *ndr, int ndr_flags, union netr_Validation *r)
1855 TALLOC_CTX *_mem_save_sam2_0;
1856 TALLOC_CTX *_mem_save_sam3_0;
1857 TALLOC_CTX *_mem_save_pac_0;
1858 TALLOC_CTX *_mem_save_generic_0;
1859 TALLOC_CTX *_mem_save_sam6_0;
1860 level = ndr_pull_get_switch_value(ndr, r);
1861 if (ndr_flags & NDR_SCALARS) {
1862 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
1863 if (_level != level) {
1864 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
1867 case NetlogonValidationSamInfo: {
1869 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam2));
1871 NDR_PULL_ALLOC(ndr, r->sam2);
1877 case NetlogonValidationSamInfo2: {
1879 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam3));
1881 NDR_PULL_ALLOC(ndr, r->sam3);
1889 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pac));
1891 NDR_PULL_ALLOC(ndr, r->pac);
1897 case NetlogonValidationGenericInfo2: {
1898 uint32_t _ptr_generic;
1899 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_generic));
1901 NDR_PULL_ALLOC(ndr, r->generic);
1907 case NetlogonValidationSamInfo4: {
1909 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam6));
1911 NDR_PULL_ALLOC(ndr, r->sam6);
1918 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1921 if (ndr_flags & NDR_BUFFERS) {
1923 case NetlogonValidationSamInfo:
1925 _mem_save_sam2_0 = NDR_PULL_GET_MEM_CTX(ndr);
1926 NDR_PULL_SET_MEM_CTX(ndr, r->sam2, 0);
1927 NDR_CHECK(ndr_pull_netr_SamInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam2));
1928 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam2_0, 0);
1932 case NetlogonValidationSamInfo2:
1934 _mem_save_sam3_0 = NDR_PULL_GET_MEM_CTX(ndr);
1935 NDR_PULL_SET_MEM_CTX(ndr, r->sam3, 0);
1936 NDR_CHECK(ndr_pull_netr_SamInfo3(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam3));
1937 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam3_0, 0);
1943 _mem_save_pac_0 = NDR_PULL_GET_MEM_CTX(ndr);
1944 NDR_PULL_SET_MEM_CTX(ndr, r->pac, 0);
1945 NDR_CHECK(ndr_pull_netr_PacInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->pac));
1946 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pac_0, 0);
1950 case NetlogonValidationGenericInfo2:
1952 _mem_save_generic_0 = NDR_PULL_GET_MEM_CTX(ndr);
1953 NDR_PULL_SET_MEM_CTX(ndr, r->generic, 0);
1954 NDR_CHECK(ndr_pull_netr_GenericInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->generic));
1955 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_generic_0, 0);
1959 case NetlogonValidationSamInfo4:
1961 _mem_save_sam6_0 = NDR_PULL_GET_MEM_CTX(ndr);
1962 NDR_PULL_SET_MEM_CTX(ndr, r->sam6, 0);
1963 NDR_CHECK(ndr_pull_netr_SamInfo6(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam6));
1964 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam6_0, 0);
1969 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1972 return NDR_ERR_SUCCESS;
1975 _PUBLIC_ void ndr_print_netr_Validation(struct ndr_print *ndr, const char *name, const union netr_Validation *r)
1978 level = ndr_print_get_switch_value(ndr, r);
1979 ndr_print_union(ndr, name, level, "netr_Validation");
1981 case NetlogonValidationSamInfo:
1982 ndr_print_ptr(ndr, "sam2", r->sam2);
1985 ndr_print_netr_SamInfo2(ndr, "sam2", r->sam2);
1990 case NetlogonValidationSamInfo2:
1991 ndr_print_ptr(ndr, "sam3", r->sam3);
1994 ndr_print_netr_SamInfo3(ndr, "sam3", r->sam3);
2000 ndr_print_ptr(ndr, "pac", r->pac);
2003 ndr_print_netr_PacInfo(ndr, "pac", r->pac);
2008 case NetlogonValidationGenericInfo2:
2009 ndr_print_ptr(ndr, "generic", r->generic);
2012 ndr_print_netr_GenericInfo2(ndr, "generic", r->generic);
2017 case NetlogonValidationSamInfo4:
2018 ndr_print_ptr(ndr, "sam6", r->sam6);
2021 ndr_print_netr_SamInfo6(ndr, "sam6", r->sam6);
2027 ndr_print_bad_level(ndr, name, level);
2031 _PUBLIC_ enum ndr_err_code ndr_push_netr_Credential(struct ndr_push *ndr, int ndr_flags, const struct netr_Credential *r)
2034 uint32_t _flags_save_STRUCT = ndr->flags;
2035 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2036 if (ndr_flags & NDR_SCALARS) {
2037 NDR_CHECK(ndr_push_align(ndr, 1));
2038 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, 8));
2040 if (ndr_flags & NDR_BUFFERS) {
2042 ndr->flags = _flags_save_STRUCT;
2044 return NDR_ERR_SUCCESS;
2047 _PUBLIC_ enum ndr_err_code ndr_pull_netr_Credential(struct ndr_pull *ndr, int ndr_flags, struct netr_Credential *r)
2050 uint32_t _flags_save_STRUCT = ndr->flags;
2051 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2052 if (ndr_flags & NDR_SCALARS) {
2053 NDR_CHECK(ndr_pull_align(ndr, 1));
2054 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, 8));
2056 if (ndr_flags & NDR_BUFFERS) {
2058 ndr->flags = _flags_save_STRUCT;
2060 return NDR_ERR_SUCCESS;
2063 _PUBLIC_ void ndr_print_netr_Credential(struct ndr_print *ndr, const char *name, const struct netr_Credential *r)
2065 ndr_print_struct(ndr, name, "netr_Credential");
2067 uint32_t _flags_save_STRUCT = ndr->flags;
2068 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2070 ndr_print_array_uint8(ndr, "data", r->data, 8);
2072 ndr->flags = _flags_save_STRUCT;
2076 _PUBLIC_ enum ndr_err_code ndr_push_netr_Authenticator(struct ndr_push *ndr, int ndr_flags, const struct netr_Authenticator *r)
2078 if (ndr_flags & NDR_SCALARS) {
2079 NDR_CHECK(ndr_push_align(ndr, 4));
2080 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, &r->cred));
2081 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->timestamp));
2083 if (ndr_flags & NDR_BUFFERS) {
2085 return NDR_ERR_SUCCESS;
2088 _PUBLIC_ enum ndr_err_code ndr_pull_netr_Authenticator(struct ndr_pull *ndr, int ndr_flags, struct netr_Authenticator *r)
2090 if (ndr_flags & NDR_SCALARS) {
2091 NDR_CHECK(ndr_pull_align(ndr, 4));
2092 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, &r->cred));
2093 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->timestamp));
2095 if (ndr_flags & NDR_BUFFERS) {
2097 return NDR_ERR_SUCCESS;
2100 _PUBLIC_ void ndr_print_netr_Authenticator(struct ndr_print *ndr, const char *name, const struct netr_Authenticator *r)
2102 ndr_print_struct(ndr, name, "netr_Authenticator");
2104 ndr_print_netr_Credential(ndr, "cred", &r->cred);
2105 ndr_print_time_t(ndr, "timestamp", r->timestamp);
2109 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)
2111 if (ndr_flags & NDR_SCALARS) {
2112 NDR_CHECK(ndr_push_align(ndr, 4));
2113 NDR_CHECK(ndr_push_unique_ptr(ndr, r->account_name));
2114 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2115 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2116 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2117 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2118 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
2119 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
2120 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
2121 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
2123 if (ndr_flags & NDR_BUFFERS) {
2124 if (r->account_name) {
2125 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF16)));
2126 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
2127 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF16)));
2128 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->account_name, ndr_charset_length(r->account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
2130 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
2131 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2132 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2133 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2135 return NDR_ERR_SUCCESS;
2138 static enum ndr_err_code ndr_pull_netr_DELTA_DELETE_USER(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_DELETE_USER *r)
2140 uint32_t _ptr_account_name;
2141 TALLOC_CTX *_mem_save_account_name_0;
2142 if (ndr_flags & NDR_SCALARS) {
2143 NDR_CHECK(ndr_pull_align(ndr, 4));
2144 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_account_name));
2145 if (_ptr_account_name) {
2146 NDR_PULL_ALLOC(ndr, r->account_name);
2148 r->account_name = NULL;
2150 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2151 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2152 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2153 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2154 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
2155 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
2156 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
2157 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
2159 if (ndr_flags & NDR_BUFFERS) {
2160 if (r->account_name) {
2161 _mem_save_account_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
2162 NDR_PULL_SET_MEM_CTX(ndr, r->account_name, 0);
2163 NDR_CHECK(ndr_pull_array_size(ndr, &r->account_name));
2164 NDR_CHECK(ndr_pull_array_length(ndr, &r->account_name));
2165 if (ndr_get_array_length(ndr, &r->account_name) > ndr_get_array_size(ndr, &r->account_name)) {
2166 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));
2168 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->account_name), sizeof(uint16_t)));
2169 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->account_name, ndr_get_array_length(ndr, &r->account_name), sizeof(uint16_t), CH_UTF16));
2170 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_name_0, 0);
2172 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
2173 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2174 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2175 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2177 return NDR_ERR_SUCCESS;
2180 _PUBLIC_ void ndr_print_netr_DELTA_DELETE_USER(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DELETE_USER *r)
2182 ndr_print_struct(ndr, name, "netr_DELTA_DELETE_USER");
2184 ndr_print_ptr(ndr, "account_name", r->account_name);
2186 if (r->account_name) {
2187 ndr_print_string(ndr, "account_name", r->account_name);
2190 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
2191 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
2192 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
2193 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
2194 ndr_print_uint32(ndr, "unknown5", r->unknown5);
2195 ndr_print_uint32(ndr, "unknown6", r->unknown6);
2196 ndr_print_uint32(ndr, "unknown7", r->unknown7);
2197 ndr_print_uint32(ndr, "unknown8", r->unknown8);
2201 static enum ndr_err_code ndr_push_netr_USER_KEY16(struct ndr_push *ndr, int ndr_flags, const struct netr_USER_KEY16 *r)
2203 if (ndr_flags & NDR_SCALARS) {
2204 NDR_CHECK(ndr_push_align(ndr, 4));
2205 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
2206 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
2207 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
2208 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->pwd));
2210 if (ndr_flags & NDR_BUFFERS) {
2212 return NDR_ERR_SUCCESS;
2215 static enum ndr_err_code ndr_pull_netr_USER_KEY16(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_KEY16 *r)
2217 if (ndr_flags & NDR_SCALARS) {
2218 NDR_CHECK(ndr_pull_align(ndr, 4));
2219 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
2220 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
2221 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
2222 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->pwd));
2224 if (ndr_flags & NDR_BUFFERS) {
2226 return NDR_ERR_SUCCESS;
2229 _PUBLIC_ void ndr_print_netr_USER_KEY16(struct ndr_print *ndr, const char *name, const struct netr_USER_KEY16 *r)
2231 ndr_print_struct(ndr, name, "netr_USER_KEY16");
2233 ndr_print_uint16(ndr, "length", r->length);
2234 ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->length:r->size);
2235 ndr_print_uint32(ndr, "flags", r->flags);
2236 ndr_print_samr_Password(ndr, "pwd", &r->pwd);
2240 static enum ndr_err_code ndr_push_netr_PasswordHistory(struct ndr_push *ndr, int ndr_flags, const struct netr_PasswordHistory *r)
2242 if (ndr_flags & NDR_SCALARS) {
2243 NDR_CHECK(ndr_push_align(ndr, 4));
2244 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->nt_length));
2245 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->nt_length));
2246 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nt_flags));
2247 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lm_length));
2248 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lm_length));
2249 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->lm_flags));
2250 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->nt_history, r->nt_length));
2251 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->lm_history, r->lm_length));
2253 if (ndr_flags & NDR_BUFFERS) {
2255 return NDR_ERR_SUCCESS;
2258 static enum ndr_err_code ndr_pull_netr_PasswordHistory(struct ndr_pull *ndr, int ndr_flags, struct netr_PasswordHistory *r)
2260 if (ndr_flags & NDR_SCALARS) {
2261 NDR_CHECK(ndr_pull_align(ndr, 4));
2262 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->nt_length));
2263 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->nt_size));
2264 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nt_flags));
2265 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lm_length));
2266 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lm_size));
2267 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->lm_flags));
2268 NDR_PULL_ALLOC_N(ndr, r->nt_history, r->nt_length);
2269 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->nt_history, r->nt_length));
2270 NDR_PULL_ALLOC_N(ndr, r->lm_history, r->lm_length);
2271 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->lm_history, r->lm_length));
2273 if (ndr_flags & NDR_BUFFERS) {
2275 return NDR_ERR_SUCCESS;
2278 _PUBLIC_ void ndr_print_netr_PasswordHistory(struct ndr_print *ndr, const char *name, const struct netr_PasswordHistory *r)
2280 ndr_print_struct(ndr, name, "netr_PasswordHistory");
2282 ndr_print_uint16(ndr, "nt_length", r->nt_length);
2283 ndr_print_uint16(ndr, "nt_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->nt_length:r->nt_size);
2284 ndr_print_uint32(ndr, "nt_flags", r->nt_flags);
2285 ndr_print_uint16(ndr, "lm_length", r->lm_length);
2286 ndr_print_uint16(ndr, "lm_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->lm_length:r->lm_size);
2287 ndr_print_uint32(ndr, "lm_flags", r->lm_flags);
2288 ndr_print_array_uint8(ndr, "nt_history", r->nt_history, r->nt_length);
2289 ndr_print_array_uint8(ndr, "lm_history", r->lm_history, r->lm_length);
2293 static enum ndr_err_code ndr_push_netr_USER_KEYS2(struct ndr_push *ndr, int ndr_flags, const struct netr_USER_KEYS2 *r)
2295 if (ndr_flags & NDR_SCALARS) {
2296 NDR_CHECK(ndr_push_align(ndr, 4));
2297 NDR_CHECK(ndr_push_netr_USER_KEY16(ndr, NDR_SCALARS, &r->lmpassword));
2298 NDR_CHECK(ndr_push_netr_USER_KEY16(ndr, NDR_SCALARS, &r->ntpassword));
2299 NDR_CHECK(ndr_push_netr_PasswordHistory(ndr, NDR_SCALARS, &r->history));
2301 if (ndr_flags & NDR_BUFFERS) {
2303 return NDR_ERR_SUCCESS;
2306 static enum ndr_err_code ndr_pull_netr_USER_KEYS2(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_KEYS2 *r)
2308 if (ndr_flags & NDR_SCALARS) {
2309 NDR_CHECK(ndr_pull_align(ndr, 4));
2310 NDR_CHECK(ndr_pull_netr_USER_KEY16(ndr, NDR_SCALARS, &r->lmpassword));
2311 NDR_CHECK(ndr_pull_netr_USER_KEY16(ndr, NDR_SCALARS, &r->ntpassword));
2312 NDR_CHECK(ndr_pull_netr_PasswordHistory(ndr, NDR_SCALARS, &r->history));
2314 if (ndr_flags & NDR_BUFFERS) {
2316 return NDR_ERR_SUCCESS;
2319 _PUBLIC_ void ndr_print_netr_USER_KEYS2(struct ndr_print *ndr, const char *name, const struct netr_USER_KEYS2 *r)
2321 ndr_print_struct(ndr, name, "netr_USER_KEYS2");
2323 ndr_print_netr_USER_KEY16(ndr, "lmpassword", &r->lmpassword);
2324 ndr_print_netr_USER_KEY16(ndr, "ntpassword", &r->ntpassword);
2325 ndr_print_netr_PasswordHistory(ndr, "history", &r->history);
2329 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)
2331 if (ndr_flags & NDR_SCALARS) {
2332 NDR_CHECK(ndr_push_align(ndr, 4));
2333 NDR_CHECK(ndr_push_netr_USER_KEYS2(ndr, NDR_SCALARS, &r->keys2));
2335 if (ndr_flags & NDR_BUFFERS) {
2337 return NDR_ERR_SUCCESS;
2340 static enum ndr_err_code ndr_pull_netr_USER_KEY_UNION(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_KEY_UNION *r)
2342 if (ndr_flags & NDR_SCALARS) {
2343 NDR_CHECK(ndr_pull_align(ndr, 4));
2344 NDR_CHECK(ndr_pull_netr_USER_KEYS2(ndr, NDR_SCALARS, &r->keys2));
2346 if (ndr_flags & NDR_BUFFERS) {
2348 return NDR_ERR_SUCCESS;
2351 _PUBLIC_ void ndr_print_netr_USER_KEY_UNION(struct ndr_print *ndr, const char *name, const struct netr_USER_KEY_UNION *r)
2353 ndr_print_struct(ndr, name, "netr_USER_KEY_UNION");
2355 ndr_print_netr_USER_KEYS2(ndr, "keys2", &r->keys2);
2359 _PUBLIC_ enum ndr_err_code ndr_push_netr_USER_KEYS(struct ndr_push *ndr, int ndr_flags, const struct netr_USER_KEYS *r)
2361 if (ndr_flags & NDR_SCALARS) {
2362 NDR_CHECK(ndr_push_align(ndr, 4));
2363 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
2364 NDR_CHECK(ndr_push_netr_USER_KEY_UNION(ndr, NDR_SCALARS, &r->keys));
2366 if (ndr_flags & NDR_BUFFERS) {
2368 return NDR_ERR_SUCCESS;
2371 _PUBLIC_ enum ndr_err_code ndr_pull_netr_USER_KEYS(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_KEYS *r)
2373 if (ndr_flags & NDR_SCALARS) {
2374 NDR_CHECK(ndr_pull_align(ndr, 4));
2375 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
2376 NDR_CHECK(ndr_pull_netr_USER_KEY_UNION(ndr, NDR_SCALARS, &r->keys));
2378 if (ndr_flags & NDR_BUFFERS) {
2380 return NDR_ERR_SUCCESS;
2383 _PUBLIC_ void ndr_print_netr_USER_KEYS(struct ndr_print *ndr, const char *name, const struct netr_USER_KEYS *r)
2385 ndr_print_struct(ndr, name, "netr_USER_KEYS");
2387 ndr_print_uint32(ndr, "version", r->version);
2388 ndr_print_netr_USER_KEY_UNION(ndr, "keys", &r->keys);
2392 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)
2394 if (ndr_flags & NDR_SCALARS) {
2395 NDR_CHECK(ndr_push_align(ndr, 4));
2396 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->SensitiveDataFlag));
2397 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->DataLength));
2399 uint32_t _flags_save_uint8 = ndr->flags;
2400 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2401 NDR_CHECK(ndr_push_unique_ptr(ndr, r->SensitiveData));
2402 ndr->flags = _flags_save_uint8;
2405 if (ndr_flags & NDR_BUFFERS) {
2407 uint32_t _flags_save_uint8 = ndr->flags;
2408 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2409 if (r->SensitiveData) {
2410 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->DataLength));
2411 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->SensitiveData, r->DataLength));
2413 ndr->flags = _flags_save_uint8;
2416 return NDR_ERR_SUCCESS;
2419 static enum ndr_err_code ndr_pull_netr_USER_PRIVATE_INFO(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_PRIVATE_INFO *r)
2421 uint32_t _ptr_SensitiveData;
2422 TALLOC_CTX *_mem_save_SensitiveData_0;
2423 if (ndr_flags & NDR_SCALARS) {
2424 NDR_CHECK(ndr_pull_align(ndr, 4));
2425 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->SensitiveDataFlag));
2426 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->DataLength));
2428 uint32_t _flags_save_uint8 = ndr->flags;
2429 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2430 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_SensitiveData));
2431 if (_ptr_SensitiveData) {
2432 NDR_PULL_ALLOC(ndr, r->SensitiveData);
2434 r->SensitiveData = NULL;
2436 ndr->flags = _flags_save_uint8;
2439 if (ndr_flags & NDR_BUFFERS) {
2441 uint32_t _flags_save_uint8 = ndr->flags;
2442 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2443 if (r->SensitiveData) {
2444 _mem_save_SensitiveData_0 = NDR_PULL_GET_MEM_CTX(ndr);
2445 NDR_PULL_SET_MEM_CTX(ndr, r->SensitiveData, 0);
2446 NDR_CHECK(ndr_pull_array_size(ndr, &r->SensitiveData));
2447 NDR_PULL_ALLOC_N(ndr, r->SensitiveData, ndr_get_array_size(ndr, &r->SensitiveData));
2448 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->SensitiveData, ndr_get_array_size(ndr, &r->SensitiveData)));
2449 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_SensitiveData_0, 0);
2451 ndr->flags = _flags_save_uint8;
2453 if (r->SensitiveData) {
2454 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->SensitiveData, r->DataLength));
2457 return NDR_ERR_SUCCESS;
2460 _PUBLIC_ void ndr_print_netr_USER_PRIVATE_INFO(struct ndr_print *ndr, const char *name, const struct netr_USER_PRIVATE_INFO *r)
2462 ndr_print_struct(ndr, name, "netr_USER_PRIVATE_INFO");
2464 ndr_print_uint8(ndr, "SensitiveDataFlag", r->SensitiveDataFlag);
2465 ndr_print_uint32(ndr, "DataLength", r->DataLength);
2466 ndr_print_ptr(ndr, "SensitiveData", r->SensitiveData);
2468 if (r->SensitiveData) {
2469 ndr_print_array_uint8(ndr, "SensitiveData", r->SensitiveData, r->DataLength);
2475 static enum ndr_err_code ndr_push_netr_DELTA_USER(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_USER *r)
2477 if (ndr_flags & NDR_SCALARS) {
2478 NDR_CHECK(ndr_push_align(ndr, 4));
2479 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2480 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2481 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
2482 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid));
2483 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
2484 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
2485 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
2486 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
2487 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->workstations));
2488 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logon));
2489 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logoff));
2490 NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
2491 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->bad_password_count));
2492 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count));
2493 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_password_change));
2494 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->acct_expiry));
2495 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
2496 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->lmpassword));
2497 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->ntpassword));
2498 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->nt_password_present));
2499 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->lm_password_present));
2500 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->password_expired));
2501 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->comment));
2502 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_SCALARS, &r->parameters));
2503 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->country_code));
2504 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->code_page));
2505 NDR_CHECK(ndr_push_netr_USER_PRIVATE_INFO(ndr, NDR_SCALARS, &r->user_private_info));
2506 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
2507 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2508 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
2509 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2510 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2511 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2512 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
2513 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
2514 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
2515 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
2517 if (ndr_flags & NDR_BUFFERS) {
2518 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2519 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2520 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
2521 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
2522 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
2523 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
2524 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
2525 NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
2526 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->comment));
2527 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_BUFFERS, &r->parameters));
2528 NDR_CHECK(ndr_push_netr_USER_PRIVATE_INFO(ndr, NDR_BUFFERS, &r->user_private_info));
2529 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2530 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
2531 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2532 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2533 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2535 return NDR_ERR_SUCCESS;
2538 static enum ndr_err_code ndr_pull_netr_DELTA_USER(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_USER *r)
2540 if (ndr_flags & NDR_SCALARS) {
2541 NDR_CHECK(ndr_pull_align(ndr, 4));
2542 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2543 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2544 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
2545 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid));
2546 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
2547 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
2548 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
2549 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
2550 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->workstations));
2551 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logon));
2552 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logoff));
2553 NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
2554 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->bad_password_count));
2555 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count));
2556 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_password_change));
2557 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->acct_expiry));
2558 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
2559 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->lmpassword));
2560 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->ntpassword));
2561 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->nt_password_present));
2562 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->lm_password_present));
2563 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->password_expired));
2564 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->comment));
2565 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_SCALARS, &r->parameters));
2566 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->country_code));
2567 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->code_page));
2568 NDR_CHECK(ndr_pull_netr_USER_PRIVATE_INFO(ndr, NDR_SCALARS, &r->user_private_info));
2569 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
2570 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2571 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
2572 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2573 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2574 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2575 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
2576 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
2577 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
2578 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
2580 if (ndr_flags & NDR_BUFFERS) {
2581 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2582 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2583 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
2584 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
2585 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
2586 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
2587 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
2588 NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
2589 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->comment));
2590 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_BUFFERS, &r->parameters));
2591 NDR_CHECK(ndr_pull_netr_USER_PRIVATE_INFO(ndr, NDR_BUFFERS, &r->user_private_info));
2592 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2593 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
2594 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2595 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2596 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2598 return NDR_ERR_SUCCESS;
2601 _PUBLIC_ void ndr_print_netr_DELTA_USER(struct ndr_print *ndr, const char *name, const struct netr_DELTA_USER *r)
2603 ndr_print_struct(ndr, name, "netr_DELTA_USER");
2605 ndr_print_lsa_String(ndr, "account_name", &r->account_name);
2606 ndr_print_lsa_String(ndr, "full_name", &r->full_name);
2607 ndr_print_uint32(ndr, "rid", r->rid);
2608 ndr_print_uint32(ndr, "primary_gid", r->primary_gid);
2609 ndr_print_lsa_String(ndr, "home_directory", &r->home_directory);
2610 ndr_print_lsa_String(ndr, "home_drive", &r->home_drive);
2611 ndr_print_lsa_String(ndr, "logon_script", &r->logon_script);
2612 ndr_print_lsa_String(ndr, "description", &r->description);
2613 ndr_print_lsa_String(ndr, "workstations", &r->workstations);
2614 ndr_print_NTTIME(ndr, "last_logon", r->last_logon);
2615 ndr_print_NTTIME(ndr, "last_logoff", r->last_logoff);
2616 ndr_print_samr_LogonHours(ndr, "logon_hours", &r->logon_hours);
2617 ndr_print_uint16(ndr, "bad_password_count", r->bad_password_count);
2618 ndr_print_uint16(ndr, "logon_count", r->logon_count);
2619 ndr_print_NTTIME(ndr, "last_password_change", r->last_password_change);
2620 ndr_print_NTTIME(ndr, "acct_expiry", r->acct_expiry);
2621 ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
2622 ndr_print_samr_Password(ndr, "lmpassword", &r->lmpassword);
2623 ndr_print_samr_Password(ndr, "ntpassword", &r->ntpassword);
2624 ndr_print_uint8(ndr, "nt_password_present", r->nt_password_present);
2625 ndr_print_uint8(ndr, "lm_password_present", r->lm_password_present);
2626 ndr_print_uint8(ndr, "password_expired", r->password_expired);
2627 ndr_print_lsa_String(ndr, "comment", &r->comment);
2628 ndr_print_lsa_BinaryString(ndr, "parameters", &r->parameters);
2629 ndr_print_uint16(ndr, "country_code", r->country_code);
2630 ndr_print_uint16(ndr, "code_page", r->code_page);
2631 ndr_print_netr_USER_PRIVATE_INFO(ndr, "user_private_info", &r->user_private_info);
2632 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
2633 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
2634 ndr_print_lsa_String(ndr, "profile_path", &r->profile_path);
2635 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
2636 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
2637 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
2638 ndr_print_uint32(ndr, "unknown5", r->unknown5);
2639 ndr_print_uint32(ndr, "unknown6", r->unknown6);
2640 ndr_print_uint32(ndr, "unknown7", r->unknown7);
2641 ndr_print_uint32(ndr, "unknown8", r->unknown8);
2645 static enum ndr_err_code ndr_push_netr_DELTA_DOMAIN(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_DOMAIN *r)
2647 if (ndr_flags & NDR_SCALARS) {
2648 NDR_CHECK(ndr_push_align(ndr, 4));
2649 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
2650 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->oem_information));
2651 NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->force_logoff_time));
2652 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->min_password_length));
2653 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->password_history_length));
2654 NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->max_password_age));
2655 NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->min_password_age));
2656 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->sequence_num));
2657 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->domain_create_time));
2658 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
2659 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2660 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_SCALARS, &r->account_lockout));
2661 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2662 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2663 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2664 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logon_to_chgpass));
2665 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
2666 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
2667 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
2669 if (ndr_flags & NDR_BUFFERS) {
2670 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
2671 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->oem_information));
2672 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2673 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_BUFFERS, &r->account_lockout));
2674 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2675 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2676 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2678 return NDR_ERR_SUCCESS;
2681 static enum ndr_err_code ndr_pull_netr_DELTA_DOMAIN(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_DOMAIN *r)
2683 if (ndr_flags & NDR_SCALARS) {
2684 NDR_CHECK(ndr_pull_align(ndr, 4));
2685 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
2686 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->oem_information));
2687 NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->force_logoff_time));
2688 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->min_password_length));
2689 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->password_history_length));
2690 NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->max_password_age));
2691 NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->min_password_age));
2692 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->sequence_num));
2693 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->domain_create_time));
2694 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
2695 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2696 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_SCALARS, &r->account_lockout));
2697 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2698 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2699 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2700 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logon_to_chgpass));
2701 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
2702 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
2703 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
2705 if (ndr_flags & NDR_BUFFERS) {
2706 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
2707 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->oem_information));
2708 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2709 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_BUFFERS, &r->account_lockout));
2710 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2711 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2712 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2714 return NDR_ERR_SUCCESS;
2717 _PUBLIC_ void ndr_print_netr_DELTA_DOMAIN(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DOMAIN *r)
2719 ndr_print_struct(ndr, name, "netr_DELTA_DOMAIN");
2721 ndr_print_lsa_String(ndr, "domain_name", &r->domain_name);
2722 ndr_print_lsa_String(ndr, "oem_information", &r->oem_information);
2723 ndr_print_dlong(ndr, "force_logoff_time", r->force_logoff_time);
2724 ndr_print_uint16(ndr, "min_password_length", r->min_password_length);
2725 ndr_print_uint16(ndr, "password_history_length", r->password_history_length);
2726 ndr_print_dlong(ndr, "max_password_age", r->max_password_age);
2727 ndr_print_dlong(ndr, "min_password_age", r->min_password_age);
2728 ndr_print_udlong(ndr, "sequence_num", r->sequence_num);
2729 ndr_print_NTTIME(ndr, "domain_create_time", r->domain_create_time);
2730 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
2731 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
2732 ndr_print_lsa_BinaryString(ndr, "account_lockout", &r->account_lockout);
2733 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
2734 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
2735 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
2736 ndr_print_uint32(ndr, "logon_to_chgpass", r->logon_to_chgpass);
2737 ndr_print_uint32(ndr, "unknown6", r->unknown6);
2738 ndr_print_uint32(ndr, "unknown7", r->unknown7);
2739 ndr_print_uint32(ndr, "unknown8", r->unknown8);
2743 static enum ndr_err_code ndr_push_netr_DELTA_GROUP(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_GROUP *r)
2745 if (ndr_flags & NDR_SCALARS) {
2746 NDR_CHECK(ndr_push_align(ndr, 4));
2747 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->group_name));
2748 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
2749 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->attributes));
2750 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
2751 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
2752 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2753 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2754 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2755 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2756 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2757 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
2758 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
2759 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
2760 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
2762 if (ndr_flags & NDR_BUFFERS) {
2763 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->group_name));
2764 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
2765 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2766 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
2767 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2768 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2769 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2771 return NDR_ERR_SUCCESS;
2774 static enum ndr_err_code ndr_pull_netr_DELTA_GROUP(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_GROUP *r)
2776 if (ndr_flags & NDR_SCALARS) {
2777 NDR_CHECK(ndr_pull_align(ndr, 4));
2778 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->group_name));
2779 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
2780 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->attributes));
2781 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
2782 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
2783 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2784 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2785 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2786 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2787 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2788 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
2789 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
2790 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
2791 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
2793 if (ndr_flags & NDR_BUFFERS) {
2794 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->group_name));
2795 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
2796 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2797 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
2798 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2799 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2800 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2802 return NDR_ERR_SUCCESS;
2805 _PUBLIC_ void ndr_print_netr_DELTA_GROUP(struct ndr_print *ndr, const char *name, const struct netr_DELTA_GROUP *r)
2807 ndr_print_struct(ndr, name, "netr_DELTA_GROUP");
2809 ndr_print_lsa_String(ndr, "group_name", &r->group_name);
2810 ndr_print_uint32(ndr, "rid", r->rid);
2811 ndr_print_uint32(ndr, "attributes", r->attributes);
2812 ndr_print_lsa_String(ndr, "description", &r->description);
2813 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
2814 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
2815 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
2816 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
2817 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
2818 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
2819 ndr_print_uint32(ndr, "unknown5", r->unknown5);
2820 ndr_print_uint32(ndr, "unknown6", r->unknown6);
2821 ndr_print_uint32(ndr, "unknown7", r->unknown7);
2822 ndr_print_uint32(ndr, "unknown8", r->unknown8);
2826 static enum ndr_err_code ndr_push_netr_DELTA_RENAME(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_RENAME *r)
2828 if (ndr_flags & NDR_SCALARS) {
2829 NDR_CHECK(ndr_push_align(ndr, 4));
2830 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->OldName));
2831 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->NewName));
2832 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2833 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2834 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2835 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2836 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
2837 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
2838 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
2839 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
2841 if (ndr_flags & NDR_BUFFERS) {
2842 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->OldName));
2843 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->NewName));
2844 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
2845 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2846 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2847 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2849 return NDR_ERR_SUCCESS;
2852 static enum ndr_err_code ndr_pull_netr_DELTA_RENAME(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_RENAME *r)
2854 if (ndr_flags & NDR_SCALARS) {
2855 NDR_CHECK(ndr_pull_align(ndr, 4));
2856 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->OldName));
2857 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->NewName));
2858 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2859 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2860 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2861 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2862 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
2863 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
2864 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
2865 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
2867 if (ndr_flags & NDR_BUFFERS) {
2868 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->OldName));
2869 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->NewName));
2870 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
2871 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2872 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2873 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2875 return NDR_ERR_SUCCESS;
2878 _PUBLIC_ void ndr_print_netr_DELTA_RENAME(struct ndr_print *ndr, const char *name, const struct netr_DELTA_RENAME *r)
2880 ndr_print_struct(ndr, name, "netr_DELTA_RENAME");
2882 ndr_print_lsa_String(ndr, "OldName", &r->OldName);
2883 ndr_print_lsa_String(ndr, "NewName", &r->NewName);
2884 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
2885 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
2886 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
2887 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
2888 ndr_print_uint32(ndr, "unknown5", r->unknown5);
2889 ndr_print_uint32(ndr, "unknown6", r->unknown6);
2890 ndr_print_uint32(ndr, "unknown7", r->unknown7);
2891 ndr_print_uint32(ndr, "unknown8", r->unknown8);
2895 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)
2897 uint32_t cntr_rids_1;
2898 uint32_t cntr_attribs_1;
2899 if (ndr_flags & NDR_SCALARS) {
2900 NDR_CHECK(ndr_push_align(ndr, 4));
2901 NDR_CHECK(ndr_push_unique_ptr(ndr, r->rids));
2902 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribs));
2903 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_rids));
2904 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
2905 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
2906 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown3));
2907 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4));
2909 if (ndr_flags & NDR_BUFFERS) {
2911 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_rids));
2912 for (cntr_rids_1 = 0; cntr_rids_1 < r->num_rids; cntr_rids_1++) {
2913 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rids[cntr_rids_1]));
2917 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_rids));
2918 for (cntr_attribs_1 = 0; cntr_attribs_1 < r->num_rids; cntr_attribs_1++) {
2919 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->attribs[cntr_attribs_1]));
2923 return NDR_ERR_SUCCESS;
2926 static enum ndr_err_code ndr_pull_netr_DELTA_GROUP_MEMBER(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_GROUP_MEMBER *r)
2929 uint32_t cntr_rids_1;
2930 TALLOC_CTX *_mem_save_rids_0;
2931 TALLOC_CTX *_mem_save_rids_1;
2932 uint32_t _ptr_attribs;
2933 uint32_t cntr_attribs_1;
2934 TALLOC_CTX *_mem_save_attribs_0;
2935 TALLOC_CTX *_mem_save_attribs_1;
2936 if (ndr_flags & NDR_SCALARS) {
2937 NDR_CHECK(ndr_pull_align(ndr, 4));
2938 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rids));
2940 NDR_PULL_ALLOC(ndr, r->rids);
2944 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribs));
2946 NDR_PULL_ALLOC(ndr, r->attribs);
2950 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_rids));
2951 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
2952 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
2953 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown3));
2954 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4));
2956 if (ndr_flags & NDR_BUFFERS) {
2958 _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
2959 NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0);
2960 NDR_CHECK(ndr_pull_array_size(ndr, &r->rids));
2961 NDR_PULL_ALLOC_N(ndr, r->rids, ndr_get_array_size(ndr, &r->rids));
2962 _mem_save_rids_1 = NDR_PULL_GET_MEM_CTX(ndr);
2963 NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0);
2964 for (cntr_rids_1 = 0; cntr_rids_1 < r->num_rids; cntr_rids_1++) {
2965 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rids[cntr_rids_1]));
2967 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_1, 0);
2968 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, 0);
2971 _mem_save_attribs_0 = NDR_PULL_GET_MEM_CTX(ndr);
2972 NDR_PULL_SET_MEM_CTX(ndr, r->attribs, 0);
2973 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribs));
2974 NDR_PULL_ALLOC_N(ndr, r->attribs, ndr_get_array_size(ndr, &r->attribs));
2975 _mem_save_attribs_1 = NDR_PULL_GET_MEM_CTX(ndr);
2976 NDR_PULL_SET_MEM_CTX(ndr, r->attribs, 0);
2977 for (cntr_attribs_1 = 0; cntr_attribs_1 < r->num_rids; cntr_attribs_1++) {
2978 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->attribs[cntr_attribs_1]));
2980 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribs_1, 0);
2981 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribs_0, 0);
2984 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->rids, r->num_rids));
2987 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->attribs, r->num_rids));
2990 return NDR_ERR_SUCCESS;
2993 _PUBLIC_ void ndr_print_netr_DELTA_GROUP_MEMBER(struct ndr_print *ndr, const char *name, const struct netr_DELTA_GROUP_MEMBER *r)
2995 uint32_t cntr_rids_1;
2996 uint32_t cntr_attribs_1;
2997 ndr_print_struct(ndr, name, "netr_DELTA_GROUP_MEMBER");
2999 ndr_print_ptr(ndr, "rids", r->rids);
3002 ndr->print(ndr, "%s: ARRAY(%d)", "rids", (int)r->num_rids);
3004 for (cntr_rids_1=0;cntr_rids_1<r->num_rids;cntr_rids_1++) {
3006 if (asprintf(&idx_1, "[%d]", cntr_rids_1) != -1) {
3007 ndr_print_uint32(ndr, "rids", r->rids[cntr_rids_1]);
3014 ndr_print_ptr(ndr, "attribs", r->attribs);
3017 ndr->print(ndr, "%s: ARRAY(%d)", "attribs", (int)r->num_rids);
3019 for (cntr_attribs_1=0;cntr_attribs_1<r->num_rids;cntr_attribs_1++) {
3021 if (asprintf(&idx_1, "[%d]", cntr_attribs_1) != -1) {
3022 ndr_print_uint32(ndr, "attribs", r->attribs[cntr_attribs_1]);
3029 ndr_print_uint32(ndr, "num_rids", r->num_rids);
3030 ndr_print_uint32(ndr, "unknown1", r->unknown1);
3031 ndr_print_uint32(ndr, "unknown2", r->unknown2);
3032 ndr_print_uint32(ndr, "unknown3", r->unknown3);
3033 ndr_print_uint32(ndr, "unknown4", r->unknown4);
3037 static enum ndr_err_code ndr_push_netr_DELTA_ALIAS(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_ALIAS *r)
3039 if (ndr_flags & NDR_SCALARS) {
3040 NDR_CHECK(ndr_push_align(ndr, 4));
3041 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->alias_name));
3042 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
3043 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
3044 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3045 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
3046 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3047 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3048 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3049 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
3050 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
3051 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
3052 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
3054 if (ndr_flags & NDR_BUFFERS) {
3055 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->alias_name));
3056 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3057 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
3058 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3059 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3060 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3062 return NDR_ERR_SUCCESS;
3065 static enum ndr_err_code ndr_pull_netr_DELTA_ALIAS(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ALIAS *r)
3067 if (ndr_flags & NDR_SCALARS) {
3068 NDR_CHECK(ndr_pull_align(ndr, 4));
3069 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->alias_name));
3070 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
3071 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
3072 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3073 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
3074 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3075 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3076 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3077 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
3078 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
3079 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
3080 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
3082 if (ndr_flags & NDR_BUFFERS) {
3083 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->alias_name));
3084 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3085 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
3086 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3087 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3088 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3090 return NDR_ERR_SUCCESS;
3093 _PUBLIC_ void ndr_print_netr_DELTA_ALIAS(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ALIAS *r)
3095 ndr_print_struct(ndr, name, "netr_DELTA_ALIAS");
3097 ndr_print_lsa_String(ndr, "alias_name", &r->alias_name);
3098 ndr_print_uint32(ndr, "rid", r->rid);
3099 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
3100 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
3101 ndr_print_lsa_String(ndr, "description", &r->description);
3102 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
3103 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
3104 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
3105 ndr_print_uint32(ndr, "unknown5", r->unknown5);
3106 ndr_print_uint32(ndr, "unknown6", r->unknown6);
3107 ndr_print_uint32(ndr, "unknown7", r->unknown7);
3108 ndr_print_uint32(ndr, "unknown8", r->unknown8);
3112 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)
3114 if (ndr_flags & NDR_SCALARS) {
3115 NDR_CHECK(ndr_push_align(ndr, 4));
3116 NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_SCALARS, &r->sids));
3117 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
3118 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
3119 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown3));
3120 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4));
3122 if (ndr_flags & NDR_BUFFERS) {
3123 NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_BUFFERS, &r->sids));
3125 return NDR_ERR_SUCCESS;
3128 static enum ndr_err_code ndr_pull_netr_DELTA_ALIAS_MEMBER(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ALIAS_MEMBER *r)
3130 if (ndr_flags & NDR_SCALARS) {
3131 NDR_CHECK(ndr_pull_align(ndr, 4));
3132 NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_SCALARS, &r->sids));
3133 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
3134 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
3135 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown3));
3136 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4));
3138 if (ndr_flags & NDR_BUFFERS) {
3139 NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_BUFFERS, &r->sids));
3141 return NDR_ERR_SUCCESS;
3144 _PUBLIC_ void ndr_print_netr_DELTA_ALIAS_MEMBER(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ALIAS_MEMBER *r)
3146 ndr_print_struct(ndr, name, "netr_DELTA_ALIAS_MEMBER");
3148 ndr_print_lsa_SidArray(ndr, "sids", &r->sids);
3149 ndr_print_uint32(ndr, "unknown1", r->unknown1);
3150 ndr_print_uint32(ndr, "unknown2", r->unknown2);
3151 ndr_print_uint32(ndr, "unknown3", r->unknown3);
3152 ndr_print_uint32(ndr, "unknown4", r->unknown4);
3156 static enum ndr_err_code ndr_push_netr_QUOTA_LIMITS(struct ndr_push *ndr, int ndr_flags, const struct netr_QUOTA_LIMITS *r)
3158 if (ndr_flags & NDR_SCALARS) {
3159 NDR_CHECK(ndr_push_align(ndr, 4));
3160 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pagedpoollimit));
3161 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nonpagedpoollimit));
3162 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->minimumworkingsetsize));
3163 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maximumworkingsetsize));
3164 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pagefilelimit));
3165 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->timelimit));
3167 if (ndr_flags & NDR_BUFFERS) {
3169 return NDR_ERR_SUCCESS;
3172 static enum ndr_err_code ndr_pull_netr_QUOTA_LIMITS(struct ndr_pull *ndr, int ndr_flags, struct netr_QUOTA_LIMITS *r)
3174 if (ndr_flags & NDR_SCALARS) {
3175 NDR_CHECK(ndr_pull_align(ndr, 4));
3176 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pagedpoollimit));
3177 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nonpagedpoollimit));
3178 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->minimumworkingsetsize));
3179 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maximumworkingsetsize));
3180 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pagefilelimit));
3181 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->timelimit));
3183 if (ndr_flags & NDR_BUFFERS) {
3185 return NDR_ERR_SUCCESS;
3188 _PUBLIC_ void ndr_print_netr_QUOTA_LIMITS(struct ndr_print *ndr, const char *name, const struct netr_QUOTA_LIMITS *r)
3190 ndr_print_struct(ndr, name, "netr_QUOTA_LIMITS");
3192 ndr_print_uint32(ndr, "pagedpoollimit", r->pagedpoollimit);
3193 ndr_print_uint32(ndr, "nonpagedpoollimit", r->nonpagedpoollimit);
3194 ndr_print_uint32(ndr, "minimumworkingsetsize", r->minimumworkingsetsize);
3195 ndr_print_uint32(ndr, "maximumworkingsetsize", r->maximumworkingsetsize);
3196 ndr_print_uint32(ndr, "pagefilelimit", r->pagefilelimit);
3197 ndr_print_NTTIME(ndr, "timelimit", r->timelimit);
3201 static enum ndr_err_code ndr_push_netr_DELTA_POLICY(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_POLICY *r)
3203 uint32_t cntr_eventauditoptions_1;
3204 if (ndr_flags & NDR_SCALARS) {
3205 NDR_CHECK(ndr_push_align(ndr, 4));
3206 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxlogsize));
3207 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->auditretentionperiod));
3208 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->auditingmode));
3209 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxauditeventcount));
3210 NDR_CHECK(ndr_push_unique_ptr(ndr, r->eventauditoptions));
3211 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->primary_domain_name));
3212 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
3213 NDR_CHECK(ndr_push_netr_QUOTA_LIMITS(ndr, NDR_SCALARS, &r->quota_limits));
3214 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->sequence_num));
3215 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->db_create_time));
3216 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
3217 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3218 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3219 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3220 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3221 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3222 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
3223 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
3224 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
3225 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
3227 if (ndr_flags & NDR_BUFFERS) {
3228 if (r->eventauditoptions) {
3229 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxauditeventcount + 1));
3230 for (cntr_eventauditoptions_1 = 0; cntr_eventauditoptions_1 < r->maxauditeventcount + 1; cntr_eventauditoptions_1++) {
3231 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->eventauditoptions[cntr_eventauditoptions_1]));
3234 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->primary_domain_name));
3236 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
3238 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3239 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3240 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3241 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3242 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3244 return NDR_ERR_SUCCESS;
3247 static enum ndr_err_code ndr_pull_netr_DELTA_POLICY(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_POLICY *r)
3249 uint32_t _ptr_eventauditoptions;
3250 uint32_t cntr_eventauditoptions_1;
3251 TALLOC_CTX *_mem_save_eventauditoptions_0;
3252 TALLOC_CTX *_mem_save_eventauditoptions_1;
3254 TALLOC_CTX *_mem_save_sid_0;
3255 if (ndr_flags & NDR_SCALARS) {
3256 NDR_CHECK(ndr_pull_align(ndr, 4));
3257 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxlogsize));
3258 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->auditretentionperiod));
3259 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->auditingmode));
3260 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxauditeventcount));
3261 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_eventauditoptions));
3262 if (_ptr_eventauditoptions) {
3263 NDR_PULL_ALLOC(ndr, r->eventauditoptions);
3265 r->eventauditoptions = NULL;
3267 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->primary_domain_name));
3268 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
3270 NDR_PULL_ALLOC(ndr, r->sid);
3274 NDR_CHECK(ndr_pull_netr_QUOTA_LIMITS(ndr, NDR_SCALARS, &r->quota_limits));
3275 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->sequence_num));
3276 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->db_create_time));
3277 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
3278 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3279 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3280 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3281 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3282 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3283 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
3284 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
3285 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
3286 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
3288 if (ndr_flags & NDR_BUFFERS) {
3289 if (r->eventauditoptions) {
3290 _mem_save_eventauditoptions_0 = NDR_PULL_GET_MEM_CTX(ndr);
3291 NDR_PULL_SET_MEM_CTX(ndr, r->eventauditoptions, 0);
3292 NDR_CHECK(ndr_pull_array_size(ndr, &r->eventauditoptions));
3293 NDR_PULL_ALLOC_N(ndr, r->eventauditoptions, ndr_get_array_size(ndr, &r->eventauditoptions));
3294 _mem_save_eventauditoptions_1 = NDR_PULL_GET_MEM_CTX(ndr);
3295 NDR_PULL_SET_MEM_CTX(ndr, r->eventauditoptions, 0);
3296 for (cntr_eventauditoptions_1 = 0; cntr_eventauditoptions_1 < r->maxauditeventcount + 1; cntr_eventauditoptions_1++) {
3297 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->eventauditoptions[cntr_eventauditoptions_1]));
3299 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_eventauditoptions_1, 0);
3300 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_eventauditoptions_0, 0);
3302 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->primary_domain_name));
3304 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
3305 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
3306 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
3307 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
3309 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3310 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3311 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3312 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3313 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3314 if (r->eventauditoptions) {
3315 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->eventauditoptions, r->maxauditeventcount + 1));
3318 return NDR_ERR_SUCCESS;
3321 _PUBLIC_ void ndr_print_netr_DELTA_POLICY(struct ndr_print *ndr, const char *name, const struct netr_DELTA_POLICY *r)
3323 uint32_t cntr_eventauditoptions_1;
3324 ndr_print_struct(ndr, name, "netr_DELTA_POLICY");
3326 ndr_print_uint32(ndr, "maxlogsize", r->maxlogsize);
3327 ndr_print_NTTIME(ndr, "auditretentionperiod", r->auditretentionperiod);
3328 ndr_print_uint8(ndr, "auditingmode", r->auditingmode);
3329 ndr_print_uint32(ndr, "maxauditeventcount", r->maxauditeventcount);
3330 ndr_print_ptr(ndr, "eventauditoptions", r->eventauditoptions);
3332 if (r->eventauditoptions) {
3333 ndr->print(ndr, "%s: ARRAY(%d)", "eventauditoptions", (int)r->maxauditeventcount + 1);
3335 for (cntr_eventauditoptions_1=0;cntr_eventauditoptions_1<r->maxauditeventcount + 1;cntr_eventauditoptions_1++) {
3337 if (asprintf(&idx_1, "[%d]", cntr_eventauditoptions_1) != -1) {
3338 ndr_print_uint32(ndr, "eventauditoptions", r->eventauditoptions[cntr_eventauditoptions_1]);
3345 ndr_print_lsa_String(ndr, "primary_domain_name", &r->primary_domain_name);
3346 ndr_print_ptr(ndr, "sid", r->sid);
3349 ndr_print_dom_sid2(ndr, "sid", r->sid);
3352 ndr_print_netr_QUOTA_LIMITS(ndr, "quota_limits", &r->quota_limits);
3353 ndr_print_udlong(ndr, "sequence_num", r->sequence_num);
3354 ndr_print_NTTIME(ndr, "db_create_time", r->db_create_time);
3355 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
3356 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
3357 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
3358 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
3359 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
3360 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
3361 ndr_print_uint32(ndr, "unknown5", r->unknown5);
3362 ndr_print_uint32(ndr, "unknown6", r->unknown6);
3363 ndr_print_uint32(ndr, "unknown7", r->unknown7);
3364 ndr_print_uint32(ndr, "unknown8", r->unknown8);
3368 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)
3370 uint32_t cntr_controller_names_1;
3371 if (ndr_flags & NDR_SCALARS) {
3372 NDR_CHECK(ndr_push_align(ndr, 4));
3373 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
3374 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_controllers));
3375 NDR_CHECK(ndr_push_unique_ptr(ndr, r->controller_names));
3376 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
3377 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3378 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3379 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3380 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3381 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3382 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->posix_offset));
3383 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
3384 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
3385 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
3387 if (ndr_flags & NDR_BUFFERS) {
3388 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
3389 if (r->controller_names) {
3390 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_controllers));
3391 for (cntr_controller_names_1 = 0; cntr_controller_names_1 < r->num_controllers; cntr_controller_names_1++) {
3392 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->controller_names[cntr_controller_names_1]));
3394 for (cntr_controller_names_1 = 0; cntr_controller_names_1 < r->num_controllers; cntr_controller_names_1++) {
3395 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->controller_names[cntr_controller_names_1]));
3398 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3399 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3400 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3401 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3402 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3404 return NDR_ERR_SUCCESS;
3407 static enum ndr_err_code ndr_pull_netr_DELTA_TRUSTED_DOMAIN(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_TRUSTED_DOMAIN *r)
3409 uint32_t _ptr_controller_names;
3410 uint32_t cntr_controller_names_1;
3411 TALLOC_CTX *_mem_save_controller_names_0;
3412 TALLOC_CTX *_mem_save_controller_names_1;
3413 if (ndr_flags & NDR_SCALARS) {
3414 NDR_CHECK(ndr_pull_align(ndr, 4));
3415 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
3416 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_controllers));
3417 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_controller_names));
3418 if (_ptr_controller_names) {
3419 NDR_PULL_ALLOC(ndr, r->controller_names);
3421 r->controller_names = NULL;
3423 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
3424 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3425 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3426 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3427 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3428 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3429 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->posix_offset));
3430 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
3431 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
3432 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
3434 if (ndr_flags & NDR_BUFFERS) {
3435 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
3436 if (r->controller_names) {
3437 _mem_save_controller_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
3438 NDR_PULL_SET_MEM_CTX(ndr, r->controller_names, 0);
3439 NDR_CHECK(ndr_pull_array_size(ndr, &r->controller_names));
3440 NDR_PULL_ALLOC_N(ndr, r->controller_names, ndr_get_array_size(ndr, &r->controller_names));
3441 _mem_save_controller_names_1 = NDR_PULL_GET_MEM_CTX(ndr);
3442 NDR_PULL_SET_MEM_CTX(ndr, r->controller_names, 0);
3443 for (cntr_controller_names_1 = 0; cntr_controller_names_1 < r->num_controllers; cntr_controller_names_1++) {
3444 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->controller_names[cntr_controller_names_1]));
3446 for (cntr_controller_names_1 = 0; cntr_controller_names_1 < r->num_controllers; cntr_controller_names_1++) {
3447 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->controller_names[cntr_controller_names_1]));
3449 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_controller_names_1, 0);
3450 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_controller_names_0, 0);
3452 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3453 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3454 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3455 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3456 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3457 if (r->controller_names) {
3458 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->controller_names, r->num_controllers));
3461 return NDR_ERR_SUCCESS;
3464 _PUBLIC_ void ndr_print_netr_DELTA_TRUSTED_DOMAIN(struct ndr_print *ndr, const char *name, const struct netr_DELTA_TRUSTED_DOMAIN *r)
3466 uint32_t cntr_controller_names_1;
3467 ndr_print_struct(ndr, name, "netr_DELTA_TRUSTED_DOMAIN");
3469 ndr_print_lsa_String(ndr, "domain_name", &r->domain_name);
3470 ndr_print_uint32(ndr, "num_controllers", r->num_controllers);
3471 ndr_print_ptr(ndr, "controller_names", r->controller_names);
3473 if (r->controller_names) {
3474 ndr->print(ndr, "%s: ARRAY(%d)", "controller_names", (int)r->num_controllers);
3476 for (cntr_controller_names_1=0;cntr_controller_names_1<r->num_controllers;cntr_controller_names_1++) {
3478 if (asprintf(&idx_1, "[%d]", cntr_controller_names_1) != -1) {
3479 ndr_print_lsa_String(ndr, "controller_names", &r->controller_names[cntr_controller_names_1]);
3486 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
3487 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
3488 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
3489 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
3490 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
3491 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
3492 ndr_print_uint32(ndr, "posix_offset", r->posix_offset);
3493 ndr_print_uint32(ndr, "unknown6", r->unknown6);
3494 ndr_print_uint32(ndr, "unknown7", r->unknown7);
3495 ndr_print_uint32(ndr, "unknown8", r->unknown8);
3499 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)
3501 if (ndr_flags & NDR_SCALARS) {
3502 NDR_CHECK(ndr_push_align(ndr, 2));
3503 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->unknown));
3505 if (ndr_flags & NDR_BUFFERS) {
3507 return NDR_ERR_SUCCESS;
3510 static enum ndr_err_code ndr_pull_netr_DELTA_DELETE_TRUST(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_DELETE_TRUST *r)
3512 if (ndr_flags & NDR_SCALARS) {
3513 NDR_CHECK(ndr_pull_align(ndr, 2));
3514 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->unknown));
3516 if (ndr_flags & NDR_BUFFERS) {
3518 return NDR_ERR_SUCCESS;
3521 _PUBLIC_ void ndr_print_netr_DELTA_DELETE_TRUST(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DELETE_TRUST *r)
3523 ndr_print_struct(ndr, name, "netr_DELTA_DELETE_TRUST");
3525 ndr_print_uint16(ndr, "unknown", r->unknown);
3529 static enum ndr_err_code ndr_push_netr_DELTA_ACCOUNT(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_ACCOUNT *r)
3531 uint32_t cntr_privilege_attrib_1;
3532 uint32_t cntr_privilege_name_1;
3533 if (ndr_flags & NDR_SCALARS) {
3534 NDR_CHECK(ndr_push_align(ndr, 4));
3535 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->privilege_entries));
3536 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->privilege_control));
3537 NDR_CHECK(ndr_push_unique_ptr(ndr, r->privilege_attrib));
3538 NDR_CHECK(ndr_push_unique_ptr(ndr, r->privilege_name));
3539 NDR_CHECK(ndr_push_netr_QUOTA_LIMITS(ndr, NDR_SCALARS, &r->quotalimits));
3540 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->system_flags));
3541 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
3542 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3543 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3544 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3545 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3546 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3547 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
3548 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
3549 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
3550 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
3552 if (ndr_flags & NDR_BUFFERS) {
3553 if (r->privilege_attrib) {
3554 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->privilege_entries));
3555 for (cntr_privilege_attrib_1 = 0; cntr_privilege_attrib_1 < r->privilege_entries; cntr_privilege_attrib_1++) {
3556 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->privilege_attrib[cntr_privilege_attrib_1]));
3559 if (r->privilege_name) {
3560 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->privilege_entries));
3561 for (cntr_privilege_name_1 = 0; cntr_privilege_name_1 < r->privilege_entries; cntr_privilege_name_1++) {
3562 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->privilege_name[cntr_privilege_name_1]));
3564 for (cntr_privilege_name_1 = 0; cntr_privilege_name_1 < r->privilege_entries; cntr_privilege_name_1++) {
3565 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->privilege_name[cntr_privilege_name_1]));
3568 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3569 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3570 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3571 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3572 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3574 return NDR_ERR_SUCCESS;
3577 static enum ndr_err_code ndr_pull_netr_DELTA_ACCOUNT(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ACCOUNT *r)
3579 uint32_t _ptr_privilege_attrib;
3580 uint32_t cntr_privilege_attrib_1;
3581 TALLOC_CTX *_mem_save_privilege_attrib_0;
3582 TALLOC_CTX *_mem_save_privilege_attrib_1;
3583 uint32_t _ptr_privilege_name;
3584 uint32_t cntr_privilege_name_1;
3585 TALLOC_CTX *_mem_save_privilege_name_0;
3586 TALLOC_CTX *_mem_save_privilege_name_1;
3587 if (ndr_flags & NDR_SCALARS) {
3588 NDR_CHECK(ndr_pull_align(ndr, 4));
3589 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->privilege_entries));
3590 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->privilege_control));
3591 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_privilege_attrib));
3592 if (_ptr_privilege_attrib) {
3593 NDR_PULL_ALLOC(ndr, r->privilege_attrib);
3595 r->privilege_attrib = NULL;
3597 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_privilege_name));
3598 if (_ptr_privilege_name) {
3599 NDR_PULL_ALLOC(ndr, r->privilege_name);
3601 r->privilege_name = NULL;
3603 NDR_CHECK(ndr_pull_netr_QUOTA_LIMITS(ndr, NDR_SCALARS, &r->quotalimits));
3604 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->system_flags));
3605 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
3606 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3607 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3608 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3609 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3610 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3611 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
3612 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
3613 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
3614 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
3616 if (ndr_flags & NDR_BUFFERS) {
3617 if (r->privilege_attrib) {
3618 _mem_save_privilege_attrib_0 = NDR_PULL_GET_MEM_CTX(ndr);
3619 NDR_PULL_SET_MEM_CTX(ndr, r->privilege_attrib, 0);
3620 NDR_CHECK(ndr_pull_array_size(ndr, &r->privilege_attrib));
3621 NDR_PULL_ALLOC_N(ndr, r->privilege_attrib, ndr_get_array_size(ndr, &r->privilege_attrib));
3622 _mem_save_privilege_attrib_1 = NDR_PULL_GET_MEM_CTX(ndr);
3623 NDR_PULL_SET_MEM_CTX(ndr, r->privilege_attrib, 0);
3624 for (cntr_privilege_attrib_1 = 0; cntr_privilege_attrib_1 < r->privilege_entries; cntr_privilege_attrib_1++) {
3625 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->privilege_attrib[cntr_privilege_attrib_1]));
3627 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privilege_attrib_1, 0);
3628 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privilege_attrib_0, 0);
3630 if (r->privilege_name) {
3631 _mem_save_privilege_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
3632 NDR_PULL_SET_MEM_CTX(ndr, r->privilege_name, 0);
3633 NDR_CHECK(ndr_pull_array_size(ndr, &r->privilege_name));
3634 NDR_PULL_ALLOC_N(ndr, r->privilege_name, ndr_get_array_size(ndr, &r->privilege_name));
3635 _mem_save_privilege_name_1 = NDR_PULL_GET_MEM_CTX(ndr);
3636 NDR_PULL_SET_MEM_CTX(ndr, r->privilege_name, 0);
3637 for (cntr_privilege_name_1 = 0; cntr_privilege_name_1 < r->privilege_entries; cntr_privilege_name_1++) {
3638 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->privilege_name[cntr_privilege_name_1]));
3640 for (cntr_privilege_name_1 = 0; cntr_privilege_name_1 < r->privilege_entries; cntr_privilege_name_1++) {
3641 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->privilege_name[cntr_privilege_name_1]));
3643 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privilege_name_1, 0);
3644 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privilege_name_0, 0);
3646 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3647 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3648 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3649 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3650 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3651 if (r->privilege_attrib) {
3652 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->privilege_attrib, r->privilege_entries));
3654 if (r->privilege_name) {
3655 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->privilege_name, r->privilege_entries));
3658 return NDR_ERR_SUCCESS;
3661 _PUBLIC_ void ndr_print_netr_DELTA_ACCOUNT(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ACCOUNT *r)
3663 uint32_t cntr_privilege_attrib_1;
3664 uint32_t cntr_privilege_name_1;
3665 ndr_print_struct(ndr, name, "netr_DELTA_ACCOUNT");
3667 ndr_print_uint32(ndr, "privilege_entries", r->privilege_entries);
3668 ndr_print_uint32(ndr, "privilege_control", r->privilege_control);
3669 ndr_print_ptr(ndr, "privilege_attrib", r->privilege_attrib);
3671 if (r->privilege_attrib) {
3672 ndr->print(ndr, "%s: ARRAY(%d)", "privilege_attrib", (int)r->privilege_entries);
3674 for (cntr_privilege_attrib_1=0;cntr_privilege_attrib_1<r->privilege_entries;cntr_privilege_attrib_1++) {
3676 if (asprintf(&idx_1, "[%d]", cntr_privilege_attrib_1) != -1) {
3677 ndr_print_uint32(ndr, "privilege_attrib", r->privilege_attrib[cntr_privilege_attrib_1]);
3684 ndr_print_ptr(ndr, "privilege_name", r->privilege_name);
3686 if (r->privilege_name) {
3687 ndr->print(ndr, "%s: ARRAY(%d)", "privilege_name", (int)r->privilege_entries);
3689 for (cntr_privilege_name_1=0;cntr_privilege_name_1<r->privilege_entries;cntr_privilege_name_1++) {
3691 if (asprintf(&idx_1, "[%d]", cntr_privilege_name_1) != -1) {
3692 ndr_print_lsa_String(ndr, "privilege_name", &r->privilege_name[cntr_privilege_name_1]);
3699 ndr_print_netr_QUOTA_LIMITS(ndr, "quotalimits", &r->quotalimits);
3700 ndr_print_uint32(ndr, "system_flags", r->system_flags);
3701 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
3702 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
3703 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
3704 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
3705 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
3706 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
3707 ndr_print_uint32(ndr, "unknown5", r->unknown5);
3708 ndr_print_uint32(ndr, "unknown6", r->unknown6);
3709 ndr_print_uint32(ndr, "unknown7", r->unknown7);
3710 ndr_print_uint32(ndr, "unknown8", r->unknown8);
3714 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)
3716 if (ndr_flags & NDR_SCALARS) {
3717 NDR_CHECK(ndr_push_align(ndr, 2));
3718 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->unknown));
3720 if (ndr_flags & NDR_BUFFERS) {
3722 return NDR_ERR_SUCCESS;
3725 static enum ndr_err_code ndr_pull_netr_DELTA_DELETE_ACCOUNT(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_DELETE_ACCOUNT *r)
3727 if (ndr_flags & NDR_SCALARS) {
3728 NDR_CHECK(ndr_pull_align(ndr, 2));
3729 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->unknown));
3731 if (ndr_flags & NDR_BUFFERS) {
3733 return NDR_ERR_SUCCESS;
3736 _PUBLIC_ void ndr_print_netr_DELTA_DELETE_ACCOUNT(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DELETE_ACCOUNT *r)
3738 ndr_print_struct(ndr, name, "netr_DELTA_DELETE_ACCOUNT");
3740 ndr_print_uint16(ndr, "unknown", r->unknown);
3744 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)
3746 if (ndr_flags & NDR_SCALARS) {
3747 NDR_CHECK(ndr_push_align(ndr, 2));
3748 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->unknown));
3750 if (ndr_flags & NDR_BUFFERS) {
3752 return NDR_ERR_SUCCESS;
3755 static enum ndr_err_code ndr_pull_netr_DELTA_DELETE_SECRET(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_DELETE_SECRET *r)
3757 if (ndr_flags & NDR_SCALARS) {
3758 NDR_CHECK(ndr_pull_align(ndr, 2));
3759 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->unknown));
3761 if (ndr_flags & NDR_BUFFERS) {
3763 return NDR_ERR_SUCCESS;
3766 _PUBLIC_ void ndr_print_netr_DELTA_DELETE_SECRET(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DELETE_SECRET *r)
3768 ndr_print_struct(ndr, name, "netr_DELTA_DELETE_SECRET");
3770 ndr_print_uint16(ndr, "unknown", r->unknown);
3774 static enum ndr_err_code ndr_push_netr_CIPHER_VALUE(struct ndr_push *ndr, int ndr_flags, const struct netr_CIPHER_VALUE *r)
3776 if (ndr_flags & NDR_SCALARS) {
3777 NDR_CHECK(ndr_push_align(ndr, 4));
3778 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->len));
3779 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxlen));
3780 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cipher_data));
3782 if (ndr_flags & NDR_BUFFERS) {
3783 if (r->cipher_data) {
3784 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxlen));
3785 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
3786 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->len));
3787 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->cipher_data, r->len));
3790 return NDR_ERR_SUCCESS;
3793 static enum ndr_err_code ndr_pull_netr_CIPHER_VALUE(struct ndr_pull *ndr, int ndr_flags, struct netr_CIPHER_VALUE *r)
3795 uint32_t _ptr_cipher_data;
3796 TALLOC_CTX *_mem_save_cipher_data_0;
3797 if (ndr_flags & NDR_SCALARS) {
3798 NDR_CHECK(ndr_pull_align(ndr, 4));
3799 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->len));
3800 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxlen));
3801 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cipher_data));
3802 if (_ptr_cipher_data) {
3803 NDR_PULL_ALLOC(ndr, r->cipher_data);
3805 r->cipher_data = NULL;
3808 if (ndr_flags & NDR_BUFFERS) {
3809 if (r->cipher_data) {
3810 _mem_save_cipher_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
3811 NDR_PULL_SET_MEM_CTX(ndr, r->cipher_data, 0);
3812 NDR_CHECK(ndr_pull_array_size(ndr, &r->cipher_data));
3813 NDR_CHECK(ndr_pull_array_length(ndr, &r->cipher_data));
3814 if (ndr_get_array_length(ndr, &r->cipher_data) > ndr_get_array_size(ndr, &r->cipher_data)) {
3815 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));
3817 NDR_PULL_ALLOC_N(ndr, r->cipher_data, ndr_get_array_size(ndr, &r->cipher_data));
3818 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->cipher_data, ndr_get_array_length(ndr, &r->cipher_data)));
3819 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cipher_data_0, 0);
3821 if (r->cipher_data) {
3822 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->cipher_data, r->maxlen));
3824 if (r->cipher_data) {
3825 NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->cipher_data, r->len));
3828 return NDR_ERR_SUCCESS;
3831 _PUBLIC_ void ndr_print_netr_CIPHER_VALUE(struct ndr_print *ndr, const char *name, const struct netr_CIPHER_VALUE *r)
3833 ndr_print_struct(ndr, name, "netr_CIPHER_VALUE");
3835 ndr_print_uint32(ndr, "len", r->len);
3836 ndr_print_uint32(ndr, "maxlen", r->maxlen);
3837 ndr_print_ptr(ndr, "cipher_data", r->cipher_data);
3839 if (r->cipher_data) {
3840 ndr_print_array_uint8(ndr, "cipher_data", r->cipher_data, r->len);
3846 static enum ndr_err_code ndr_push_netr_DELTA_SECRET(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_SECRET *r)
3848 if (ndr_flags & NDR_SCALARS) {
3849 NDR_CHECK(ndr_push_align(ndr, 4));
3850 NDR_CHECK(ndr_push_netr_CIPHER_VALUE(ndr, NDR_SCALARS, &r->current_cipher));
3851 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->current_cipher_set_time));
3852 NDR_CHECK(ndr_push_netr_CIPHER_VALUE(ndr, NDR_SCALARS, &r->old_cipher));
3853 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->old_cipher_set_time));
3854 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
3855 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3856 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3857 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3858 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3859 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3860 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
3861 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
3862 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
3863 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
3865 if (ndr_flags & NDR_BUFFERS) {
3866 NDR_CHECK(ndr_push_netr_CIPHER_VALUE(ndr, NDR_BUFFERS, &r->current_cipher));
3867 NDR_CHECK(ndr_push_netr_CIPHER_VALUE(ndr, NDR_BUFFERS, &r->old_cipher));
3868 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3869 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3870 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3871 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3872 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3874 return NDR_ERR_SUCCESS;
3877 static enum ndr_err_code ndr_pull_netr_DELTA_SECRET(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_SECRET *r)
3879 if (ndr_flags & NDR_SCALARS) {
3880 NDR_CHECK(ndr_pull_align(ndr, 4));
3881 NDR_CHECK(ndr_pull_netr_CIPHER_VALUE(ndr, NDR_SCALARS, &r->current_cipher));
3882 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->current_cipher_set_time));
3883 NDR_CHECK(ndr_pull_netr_CIPHER_VALUE(ndr, NDR_SCALARS, &r->old_cipher));
3884 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->old_cipher_set_time));
3885 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
3886 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3887 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3888 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3889 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3890 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3891 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
3892 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
3893 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
3894 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
3896 if (ndr_flags & NDR_BUFFERS) {
3897 NDR_CHECK(ndr_pull_netr_CIPHER_VALUE(ndr, NDR_BUFFERS, &r->current_cipher));
3898 NDR_CHECK(ndr_pull_netr_CIPHER_VALUE(ndr, NDR_BUFFERS, &r->old_cipher));
3899 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3900 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3901 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3902 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3903 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3905 return NDR_ERR_SUCCESS;
3908 _PUBLIC_ void ndr_print_netr_DELTA_SECRET(struct ndr_print *ndr, const char *name, const struct netr_DELTA_SECRET *r)
3910 ndr_print_struct(ndr, name, "netr_DELTA_SECRET");
3912 ndr_print_netr_CIPHER_VALUE(ndr, "current_cipher", &r->current_cipher);
3913 ndr_print_NTTIME(ndr, "current_cipher_set_time", r->current_cipher_set_time);
3914 ndr_print_netr_CIPHER_VALUE(ndr, "old_cipher", &r->old_cipher);
3915 ndr_print_NTTIME(ndr, "old_cipher_set_time", r->old_cipher_set_time);
3916 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
3917 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
3918 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
3919 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
3920 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
3921 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
3922 ndr_print_uint32(ndr, "unknown5", r->unknown5);
3923 ndr_print_uint32(ndr, "unknown6", r->unknown6);
3924 ndr_print_uint32(ndr, "unknown7", r->unknown7);
3925 ndr_print_uint32(ndr, "unknown8", r->unknown8);
3929 static enum ndr_err_code ndr_push_netr_DeltaEnum(struct ndr_push *ndr, int ndr_flags, enum netr_DeltaEnum r)
3931 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
3932 return NDR_ERR_SUCCESS;
3935 static enum ndr_err_code ndr_pull_netr_DeltaEnum(struct ndr_pull *ndr, int ndr_flags, enum netr_DeltaEnum *r)
3938 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
3940 return NDR_ERR_SUCCESS;
3943 _PUBLIC_ void ndr_print_netr_DeltaEnum(struct ndr_print *ndr, const char *name, enum netr_DeltaEnum r)
3945 const char *val = NULL;
3948 case NETR_DELTA_DOMAIN: val = "NETR_DELTA_DOMAIN"; break;
3949 case NETR_DELTA_GROUP: val = "NETR_DELTA_GROUP"; break;
3950 case NETR_DELTA_DELETE_GROUP: val = "NETR_DELTA_DELETE_GROUP"; break;
3951 case NETR_DELTA_RENAME_GROUP: val = "NETR_DELTA_RENAME_GROUP"; break;
3952 case NETR_DELTA_USER: val = "NETR_DELTA_USER"; break;
3953 case NETR_DELTA_DELETE_USER: val = "NETR_DELTA_DELETE_USER"; break;
3954 case NETR_DELTA_RENAME_USER: val = "NETR_DELTA_RENAME_USER"; break;
3955 case NETR_DELTA_GROUP_MEMBER: val = "NETR_DELTA_GROUP_MEMBER"; break;
3956 case NETR_DELTA_ALIAS: val = "NETR_DELTA_ALIAS"; break;
3957 case NETR_DELTA_DELETE_ALIAS: val = "NETR_DELTA_DELETE_ALIAS"; break;
3958 case NETR_DELTA_RENAME_ALIAS: val = "NETR_DELTA_RENAME_ALIAS"; break;
3959 case NETR_DELTA_ALIAS_MEMBER: val = "NETR_DELTA_ALIAS_MEMBER"; break;
3960 case NETR_DELTA_POLICY: val = "NETR_DELTA_POLICY"; break;
3961 case NETR_DELTA_TRUSTED_DOMAIN: val = "NETR_DELTA_TRUSTED_DOMAIN"; break;
3962 case NETR_DELTA_DELETE_TRUST: val = "NETR_DELTA_DELETE_TRUST"; break;
3963 case NETR_DELTA_ACCOUNT: val = "NETR_DELTA_ACCOUNT"; break;
3964 case NETR_DELTA_DELETE_ACCOUNT: val = "NETR_DELTA_DELETE_ACCOUNT"; break;
3965 case NETR_DELTA_SECRET: val = "NETR_DELTA_SECRET"; break;
3966 case NETR_DELTA_DELETE_SECRET: val = "NETR_DELTA_DELETE_SECRET"; break;
3967 case NETR_DELTA_DELETE_GROUP2: val = "NETR_DELTA_DELETE_GROUP2"; break;
3968 case NETR_DELTA_DELETE_USER2: val = "NETR_DELTA_DELETE_USER2"; break;
3969 case NETR_DELTA_MODIFY_COUNT: val = "NETR_DELTA_MODIFY_COUNT"; break;
3971 ndr_print_enum(ndr, name, "ENUM", val, r);
3974 static enum ndr_err_code ndr_push_netr_DELTA_UNION(struct ndr_push *ndr, int ndr_flags, const union netr_DELTA_UNION *r)
3976 if (ndr_flags & NDR_SCALARS) {
3977 int level = ndr_push_get_switch_value(ndr, r);
3978 NDR_CHECK(ndr_push_netr_DeltaEnum(ndr, NDR_SCALARS, level));
3980 case NETR_DELTA_DOMAIN: {
3981 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
3984 case NETR_DELTA_GROUP: {
3985 NDR_CHECK(ndr_push_unique_ptr(ndr, r->group));
3988 case NETR_DELTA_DELETE_GROUP: {
3991 case NETR_DELTA_RENAME_GROUP: {
3992 NDR_CHECK(ndr_push_unique_ptr(ndr, r->rename_group));
3995 case NETR_DELTA_USER: {
3996 NDR_CHECK(ndr_push_unique_ptr(ndr, r->user));
3999 case NETR_DELTA_DELETE_USER: {
4002 case NETR_DELTA_RENAME_USER: {
4003 NDR_CHECK(ndr_push_unique_ptr(ndr, r->rename_user));
4006 case NETR_DELTA_GROUP_MEMBER: {
4007 NDR_CHECK(ndr_push_unique_ptr(ndr, r->group_member));
4010 case NETR_DELTA_ALIAS: {
4011 NDR_CHECK(ndr_push_unique_ptr(ndr, r->alias));
4014 case NETR_DELTA_DELETE_ALIAS: {
4017 case NETR_DELTA_RENAME_ALIAS: {
4018 NDR_CHECK(ndr_push_unique_ptr(ndr, r->rename_alias));
4021 case NETR_DELTA_ALIAS_MEMBER: {
4022 NDR_CHECK(ndr_push_unique_ptr(ndr, r->alias_member));
4025 case NETR_DELTA_POLICY: {
4026 NDR_CHECK(ndr_push_unique_ptr(ndr, r->policy));
4029 case NETR_DELTA_TRUSTED_DOMAIN: {
4030 NDR_CHECK(ndr_push_unique_ptr(ndr, r->trusted_domain));
4033 case NETR_DELTA_DELETE_TRUST: {
4034 NDR_CHECK(ndr_push_netr_DELTA_DELETE_TRUST(ndr, NDR_SCALARS, &r->delete_trust));
4037 case NETR_DELTA_ACCOUNT: {
4038 NDR_CHECK(ndr_push_unique_ptr(ndr, r->account));
4041 case NETR_DELTA_DELETE_ACCOUNT: {
4042 NDR_CHECK(ndr_push_netr_DELTA_DELETE_ACCOUNT(ndr, NDR_SCALARS, &r->delete_account));
4045 case NETR_DELTA_SECRET: {
4046 NDR_CHECK(ndr_push_unique_ptr(ndr, r->secret));
4049 case NETR_DELTA_DELETE_SECRET: {
4050 NDR_CHECK(ndr_push_netr_DELTA_DELETE_SECRET(ndr, NDR_SCALARS, &r->delete_secret));
4053 case NETR_DELTA_DELETE_GROUP2: {
4054 NDR_CHECK(ndr_push_unique_ptr(ndr, r->delete_group));
4057 case NETR_DELTA_DELETE_USER2: {
4058 NDR_CHECK(ndr_push_unique_ptr(ndr, r->delete_user));
4061 case NETR_DELTA_MODIFY_COUNT: {
4062 NDR_CHECK(ndr_push_unique_ptr(ndr, r->modified_count));
4066 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4069 if (ndr_flags & NDR_BUFFERS) {
4070 int level = ndr_push_get_switch_value(ndr, r);
4072 case NETR_DELTA_DOMAIN:
4074 NDR_CHECK(ndr_push_netr_DELTA_DOMAIN(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain));
4078 case NETR_DELTA_GROUP:
4080 NDR_CHECK(ndr_push_netr_DELTA_GROUP(ndr, NDR_SCALARS|NDR_BUFFERS, r->group));
4084 case NETR_DELTA_DELETE_GROUP:
4087 case NETR_DELTA_RENAME_GROUP:
4088 if (r->rename_group) {
4089 NDR_CHECK(ndr_push_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_group));
4093 case NETR_DELTA_USER:
4095 NDR_CHECK(ndr_push_netr_DELTA_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->user));
4099 case NETR_DELTA_DELETE_USER:
4102 case NETR_DELTA_RENAME_USER:
4103 if (r->rename_user) {
4104 NDR_CHECK(ndr_push_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_user));
4108 case NETR_DELTA_GROUP_MEMBER:
4109 if (r->group_member) {
4110 NDR_CHECK(ndr_push_netr_DELTA_GROUP_MEMBER(ndr, NDR_SCALARS|NDR_BUFFERS, r->group_member));
4114 case NETR_DELTA_ALIAS:
4116 NDR_CHECK(ndr_push_netr_DELTA_ALIAS(ndr, NDR_SCALARS|NDR_BUFFERS, r->alias));
4120 case NETR_DELTA_DELETE_ALIAS:
4123 case NETR_DELTA_RENAME_ALIAS:
4124 if (r->rename_alias) {
4125 NDR_CHECK(ndr_push_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_alias));
4129 case NETR_DELTA_ALIAS_MEMBER:
4130 if (r->alias_member) {
4131 NDR_CHECK(ndr_push_netr_DELTA_ALIAS_MEMBER(ndr, NDR_SCALARS|NDR_BUFFERS, r->alias_member));
4135 case NETR_DELTA_POLICY:
4137 NDR_CHECK(ndr_push_netr_DELTA_POLICY(ndr, NDR_SCALARS|NDR_BUFFERS, r->policy));
4141 case NETR_DELTA_TRUSTED_DOMAIN:
4142 if (r->trusted_domain) {
4143 NDR_CHECK(ndr_push_netr_DELTA_TRUSTED_DOMAIN(ndr, NDR_SCALARS|NDR_BUFFERS, r->trusted_domain));
4147 case NETR_DELTA_DELETE_TRUST:
4150 case NETR_DELTA_ACCOUNT:
4152 NDR_CHECK(ndr_push_netr_DELTA_ACCOUNT(ndr, NDR_SCALARS|NDR_BUFFERS, r->account));
4156 case NETR_DELTA_DELETE_ACCOUNT:
4159 case NETR_DELTA_SECRET:
4161 NDR_CHECK(ndr_push_netr_DELTA_SECRET(ndr, NDR_SCALARS|NDR_BUFFERS, r->secret));
4165 case NETR_DELTA_DELETE_SECRET:
4168 case NETR_DELTA_DELETE_GROUP2:
4169 if (r->delete_group) {
4170 NDR_CHECK(ndr_push_netr_DELTA_DELETE_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->delete_group));
4174 case NETR_DELTA_DELETE_USER2:
4175 if (r->delete_user) {
4176 NDR_CHECK(ndr_push_netr_DELTA_DELETE_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->delete_user));
4180 case NETR_DELTA_MODIFY_COUNT:
4181 if (r->modified_count) {
4182 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, *r->modified_count));
4187 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4190 return NDR_ERR_SUCCESS;
4193 static enum ndr_err_code ndr_pull_netr_DELTA_UNION(struct ndr_pull *ndr, int ndr_flags, union netr_DELTA_UNION *r)
4197 TALLOC_CTX *_mem_save_domain_0;
4198 TALLOC_CTX *_mem_save_group_0;
4199 TALLOC_CTX *_mem_save_rename_group_0;
4200 TALLOC_CTX *_mem_save_user_0;
4201 TALLOC_CTX *_mem_save_rename_user_0;
4202 TALLOC_CTX *_mem_save_group_member_0;
4203 TALLOC_CTX *_mem_save_alias_0;
4204 TALLOC_CTX *_mem_save_rename_alias_0;
4205 TALLOC_CTX *_mem_save_alias_member_0;
4206 TALLOC_CTX *_mem_save_policy_0;
4207 TALLOC_CTX *_mem_save_trusted_domain_0;
4208 TALLOC_CTX *_mem_save_account_0;
4209 TALLOC_CTX *_mem_save_secret_0;
4210 TALLOC_CTX *_mem_save_delete_group_0;
4211 TALLOC_CTX *_mem_save_delete_user_0;
4212 TALLOC_CTX *_mem_save_modified_count_0;
4213 level = ndr_pull_get_switch_value(ndr, r);
4214 if (ndr_flags & NDR_SCALARS) {
4215 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
4216 if (_level != level) {
4217 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
4220 case NETR_DELTA_DOMAIN: {
4221 uint32_t _ptr_domain;
4222 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
4224 NDR_PULL_ALLOC(ndr, r->domain);
4230 case NETR_DELTA_GROUP: {
4231 uint32_t _ptr_group;
4232 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_group));
4234 NDR_PULL_ALLOC(ndr, r->group);
4240 case NETR_DELTA_DELETE_GROUP: {
4243 case NETR_DELTA_RENAME_GROUP: {
4244 uint32_t _ptr_rename_group;
4245 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rename_group));
4246 if (_ptr_rename_group) {
4247 NDR_PULL_ALLOC(ndr, r->rename_group);
4249 r->rename_group = NULL;
4253 case NETR_DELTA_USER: {
4255 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user));
4257 NDR_PULL_ALLOC(ndr, r->user);
4263 case NETR_DELTA_DELETE_USER: {
4266 case NETR_DELTA_RENAME_USER: {
4267 uint32_t _ptr_rename_user;
4268 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rename_user));
4269 if (_ptr_rename_user) {
4270 NDR_PULL_ALLOC(ndr, r->rename_user);
4272 r->rename_user = NULL;
4276 case NETR_DELTA_GROUP_MEMBER: {
4277 uint32_t _ptr_group_member;
4278 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_group_member));
4279 if (_ptr_group_member) {
4280 NDR_PULL_ALLOC(ndr, r->group_member);
4282 r->group_member = NULL;
4286 case NETR_DELTA_ALIAS: {
4287 uint32_t _ptr_alias;
4288 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_alias));
4290 NDR_PULL_ALLOC(ndr, r->alias);
4296 case NETR_DELTA_DELETE_ALIAS: {
4299 case NETR_DELTA_RENAME_ALIAS: {
4300 uint32_t _ptr_rename_alias;
4301 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rename_alias));
4302 if (_ptr_rename_alias) {
4303 NDR_PULL_ALLOC(ndr, r->rename_alias);
4305 r->rename_alias = NULL;
4309 case NETR_DELTA_ALIAS_MEMBER: {
4310 uint32_t _ptr_alias_member;
4311 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_alias_member));
4312 if (_ptr_alias_member) {
4313 NDR_PULL_ALLOC(ndr, r->alias_member);
4315 r->alias_member = NULL;
4319 case NETR_DELTA_POLICY: {
4320 uint32_t _ptr_policy;
4321 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_policy));
4323 NDR_PULL_ALLOC(ndr, r->policy);
4329 case NETR_DELTA_TRUSTED_DOMAIN: {
4330 uint32_t _ptr_trusted_domain;
4331 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_domain));
4332 if (_ptr_trusted_domain) {
4333 NDR_PULL_ALLOC(ndr, r->trusted_domain);
4335 r->trusted_domain = NULL;
4339 case NETR_DELTA_DELETE_TRUST: {
4340 NDR_CHECK(ndr_pull_netr_DELTA_DELETE_TRUST(ndr, NDR_SCALARS, &r->delete_trust));
4343 case NETR_DELTA_ACCOUNT: {
4344 uint32_t _ptr_account;
4345 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_account));
4347 NDR_PULL_ALLOC(ndr, r->account);
4353 case NETR_DELTA_DELETE_ACCOUNT: {
4354 NDR_CHECK(ndr_pull_netr_DELTA_DELETE_ACCOUNT(ndr, NDR_SCALARS, &r->delete_account));
4357 case NETR_DELTA_SECRET: {
4358 uint32_t _ptr_secret;
4359 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_secret));
4361 NDR_PULL_ALLOC(ndr, r->secret);
4367 case NETR_DELTA_DELETE_SECRET: {
4368 NDR_CHECK(ndr_pull_netr_DELTA_DELETE_SECRET(ndr, NDR_SCALARS, &r->delete_secret));
4371 case NETR_DELTA_DELETE_GROUP2: {
4372 uint32_t _ptr_delete_group;
4373 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delete_group));
4374 if (_ptr_delete_group) {
4375 NDR_PULL_ALLOC(ndr, r->delete_group);
4377 r->delete_group = NULL;
4381 case NETR_DELTA_DELETE_USER2: {
4382 uint32_t _ptr_delete_user;
4383 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delete_user));
4384 if (_ptr_delete_user) {
4385 NDR_PULL_ALLOC(ndr, r->delete_user);
4387 r->delete_user = NULL;
4391 case NETR_DELTA_MODIFY_COUNT: {
4392 uint32_t _ptr_modified_count;
4393 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_modified_count));
4394 if (_ptr_modified_count) {
4395 NDR_PULL_ALLOC(ndr, r->modified_count);
4397 r->modified_count = NULL;
4402 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4405 if (ndr_flags & NDR_BUFFERS) {
4407 case NETR_DELTA_DOMAIN:
4409 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
4410 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
4411 NDR_CHECK(ndr_pull_netr_DELTA_DOMAIN(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain));
4412 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
4416 case NETR_DELTA_GROUP:
4418 _mem_save_group_0 = NDR_PULL_GET_MEM_CTX(ndr);
4419 NDR_PULL_SET_MEM_CTX(ndr, r->group, 0);
4420 NDR_CHECK(ndr_pull_netr_DELTA_GROUP(ndr, NDR_SCALARS|NDR_BUFFERS, r->group));
4421 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_0, 0);
4425 case NETR_DELTA_DELETE_GROUP:
4428 case NETR_DELTA_RENAME_GROUP:
4429 if (r->rename_group) {
4430 _mem_save_rename_group_0 = NDR_PULL_GET_MEM_CTX(ndr);
4431 NDR_PULL_SET_MEM_CTX(ndr, r->rename_group, 0);
4432 NDR_CHECK(ndr_pull_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_group));
4433 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rename_group_0, 0);
4437 case NETR_DELTA_USER:
4439 _mem_save_user_0 = NDR_PULL_GET_MEM_CTX(ndr);
4440 NDR_PULL_SET_MEM_CTX(ndr, r->user, 0);
4441 NDR_CHECK(ndr_pull_netr_DELTA_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->user));
4442 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_0, 0);
4446 case NETR_DELTA_DELETE_USER:
4449 case NETR_DELTA_RENAME_USER:
4450 if (r->rename_user) {
4451 _mem_save_rename_user_0 = NDR_PULL_GET_MEM_CTX(ndr);
4452 NDR_PULL_SET_MEM_CTX(ndr, r->rename_user, 0);
4453 NDR_CHECK(ndr_pull_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_user));
4454 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rename_user_0, 0);
4458 case NETR_DELTA_GROUP_MEMBER:
4459 if (r->group_member) {
4460 _mem_save_group_member_0 = NDR_PULL_GET_MEM_CTX(ndr);
4461 NDR_PULL_SET_MEM_CTX(ndr, r->group_member, 0);
4462 NDR_CHECK(ndr_pull_netr_DELTA_GROUP_MEMBER(ndr, NDR_SCALARS|NDR_BUFFERS, r->group_member));
4463 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_member_0, 0);
4467 case NETR_DELTA_ALIAS:
4469 _mem_save_alias_0 = NDR_PULL_GET_MEM_CTX(ndr);
4470 NDR_PULL_SET_MEM_CTX(ndr, r->alias, 0);
4471 NDR_CHECK(ndr_pull_netr_DELTA_ALIAS(ndr, NDR_SCALARS|NDR_BUFFERS, r->alias));
4472 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_0, 0);
4476 case NETR_DELTA_DELETE_ALIAS:
4479 case NETR_DELTA_RENAME_ALIAS:
4480 if (r->rename_alias) {
4481 _mem_save_rename_alias_0 = NDR_PULL_GET_MEM_CTX(ndr);
4482 NDR_PULL_SET_MEM_CTX(ndr, r->rename_alias, 0);
4483 NDR_CHECK(ndr_pull_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_alias));
4484 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rename_alias_0, 0);
4488 case NETR_DELTA_ALIAS_MEMBER:
4489 if (r->alias_member) {
4490 _mem_save_alias_member_0 = NDR_PULL_GET_MEM_CTX(ndr);
4491 NDR_PULL_SET_MEM_CTX(ndr, r->alias_member, 0);
4492 NDR_CHECK(ndr_pull_netr_DELTA_ALIAS_MEMBER(ndr, NDR_SCALARS|NDR_BUFFERS, r->alias_member));
4493 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_member_0, 0);
4497 case NETR_DELTA_POLICY:
4499 _mem_save_policy_0 = NDR_PULL_GET_MEM_CTX(ndr);
4500 NDR_PULL_SET_MEM_CTX(ndr, r->policy, 0);
4501 NDR_CHECK(ndr_pull_netr_DELTA_POLICY(ndr, NDR_SCALARS|NDR_BUFFERS, r->policy));
4502 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_policy_0, 0);
4506 case NETR_DELTA_TRUSTED_DOMAIN:
4507 if (r->trusted_domain) {
4508 _mem_save_trusted_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
4509 NDR_PULL_SET_MEM_CTX(ndr, r->trusted_domain, 0);
4510 NDR_CHECK(ndr_pull_netr_DELTA_TRUSTED_DOMAIN(ndr, NDR_SCALARS|NDR_BUFFERS, r->trusted_domain));
4511 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domain_0, 0);
4515 case NETR_DELTA_DELETE_TRUST:
4518 case NETR_DELTA_ACCOUNT:
4520 _mem_save_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
4521 NDR_PULL_SET_MEM_CTX(ndr, r->account, 0);
4522 NDR_CHECK(ndr_pull_netr_DELTA_ACCOUNT(ndr, NDR_SCALARS|NDR_BUFFERS, r->account));
4523 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_0, 0);
4527 case NETR_DELTA_DELETE_ACCOUNT:
4530 case NETR_DELTA_SECRET:
4532 _mem_save_secret_0 = NDR_PULL_GET_MEM_CTX(ndr);
4533 NDR_PULL_SET_MEM_CTX(ndr, r->secret, 0);
4534 NDR_CHECK(ndr_pull_netr_DELTA_SECRET(ndr, NDR_SCALARS|NDR_BUFFERS, r->secret));
4535 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_secret_0, 0);
4539 case NETR_DELTA_DELETE_SECRET:
4542 case NETR_DELTA_DELETE_GROUP2:
4543 if (r->delete_group) {
4544 _mem_save_delete_group_0 = NDR_PULL_GET_MEM_CTX(ndr);
4545 NDR_PULL_SET_MEM_CTX(ndr, r->delete_group, 0);
4546 NDR_CHECK(ndr_pull_netr_DELTA_DELETE_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->delete_group));
4547 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delete_group_0, 0);
4551 case NETR_DELTA_DELETE_USER2:
4552 if (r->delete_user) {
4553 _mem_save_delete_user_0 = NDR_PULL_GET_MEM_CTX(ndr);
4554 NDR_PULL_SET_MEM_CTX(ndr, r->delete_user, 0);
4555 NDR_CHECK(ndr_pull_netr_DELTA_DELETE_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->delete_user));
4556 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delete_user_0, 0);
4560 case NETR_DELTA_MODIFY_COUNT:
4561 if (r->modified_count) {
4562 _mem_save_modified_count_0 = NDR_PULL_GET_MEM_CTX(ndr);
4563 NDR_PULL_SET_MEM_CTX(ndr, r->modified_count, 0);
4564 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, r->modified_count));
4565 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_modified_count_0, 0);
4570 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4573 return NDR_ERR_SUCCESS;
4576 _PUBLIC_ void ndr_print_netr_DELTA_UNION(struct ndr_print *ndr, const char *name, const union netr_DELTA_UNION *r)
4579 level = ndr_print_get_switch_value(ndr, r);
4580 ndr_print_union(ndr, name, level, "netr_DELTA_UNION");
4582 case NETR_DELTA_DOMAIN:
4583 ndr_print_ptr(ndr, "domain", r->domain);
4586 ndr_print_netr_DELTA_DOMAIN(ndr, "domain", r->domain);
4591 case NETR_DELTA_GROUP:
4592 ndr_print_ptr(ndr, "group", r->group);
4595 ndr_print_netr_DELTA_GROUP(ndr, "group", r->group);
4600 case NETR_DELTA_DELETE_GROUP:
4603 case NETR_DELTA_RENAME_GROUP:
4604 ndr_print_ptr(ndr, "rename_group", r->rename_group);
4606 if (r->rename_group) {
4607 ndr_print_netr_DELTA_RENAME(ndr, "rename_group", r->rename_group);
4612 case NETR_DELTA_USER:
4613 ndr_print_ptr(ndr, "user", r->user);
4616 ndr_print_netr_DELTA_USER(ndr, "user", r->user);
4621 case NETR_DELTA_DELETE_USER:
4624 case NETR_DELTA_RENAME_USER:
4625 ndr_print_ptr(ndr, "rename_user", r->rename_user);
4627 if (r->rename_user) {
4628 ndr_print_netr_DELTA_RENAME(ndr, "rename_user", r->rename_user);
4633 case NETR_DELTA_GROUP_MEMBER:
4634 ndr_print_ptr(ndr, "group_member", r->group_member);
4636 if (r->group_member) {
4637 ndr_print_netr_DELTA_GROUP_MEMBER(ndr, "group_member", r->group_member);
4642 case NETR_DELTA_ALIAS:
4643 ndr_print_ptr(ndr, "alias", r->alias);
4646 ndr_print_netr_DELTA_ALIAS(ndr, "alias", r->alias);
4651 case NETR_DELTA_DELETE_ALIAS:
4654 case NETR_DELTA_RENAME_ALIAS:
4655 ndr_print_ptr(ndr, "rename_alias", r->rename_alias);
4657 if (r->rename_alias) {
4658 ndr_print_netr_DELTA_RENAME(ndr, "rename_alias", r->rename_alias);
4663 case NETR_DELTA_ALIAS_MEMBER:
4664 ndr_print_ptr(ndr, "alias_member", r->alias_member);
4666 if (r->alias_member) {
4667 ndr_print_netr_DELTA_ALIAS_MEMBER(ndr, "alias_member", r->alias_member);
4672 case NETR_DELTA_POLICY:
4673 ndr_print_ptr(ndr, "policy", r->policy);
4676 ndr_print_netr_DELTA_POLICY(ndr, "policy", r->policy);
4681 case NETR_DELTA_TRUSTED_DOMAIN:
4682 ndr_print_ptr(ndr, "trusted_domain", r->trusted_domain);
4684 if (r->trusted_domain) {
4685 ndr_print_netr_DELTA_TRUSTED_DOMAIN(ndr, "trusted_domain", r->trusted_domain);
4690 case NETR_DELTA_DELETE_TRUST:
4691 ndr_print_netr_DELTA_DELETE_TRUST(ndr, "delete_trust", &r->delete_trust);
4694 case NETR_DELTA_ACCOUNT:
4695 ndr_print_ptr(ndr, "account", r->account);
4698 ndr_print_netr_DELTA_ACCOUNT(ndr, "account", r->account);
4703 case NETR_DELTA_DELETE_ACCOUNT:
4704 ndr_print_netr_DELTA_DELETE_ACCOUNT(ndr, "delete_account", &r->delete_account);
4707 case NETR_DELTA_SECRET:
4708 ndr_print_ptr(ndr, "secret", r->secret);
4711 ndr_print_netr_DELTA_SECRET(ndr, "secret", r->secret);
4716 case NETR_DELTA_DELETE_SECRET:
4717 ndr_print_netr_DELTA_DELETE_SECRET(ndr, "delete_secret", &r->delete_secret);
4720 case NETR_DELTA_DELETE_GROUP2:
4721 ndr_print_ptr(ndr, "delete_group", r->delete_group);
4723 if (r->delete_group) {
4724 ndr_print_netr_DELTA_DELETE_USER(ndr, "delete_group", r->delete_group);
4729 case NETR_DELTA_DELETE_USER2:
4730 ndr_print_ptr(ndr, "delete_user", r->delete_user);
4732 if (r->delete_user) {
4733 ndr_print_netr_DELTA_DELETE_USER(ndr, "delete_user", r->delete_user);
4738 case NETR_DELTA_MODIFY_COUNT:
4739 ndr_print_ptr(ndr, "modified_count", r->modified_count);
4741 if (r->modified_count) {
4742 ndr_print_udlong(ndr, "modified_count", *r->modified_count);
4748 ndr_print_bad_level(ndr, name, level);
4752 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)
4754 if (ndr_flags & NDR_SCALARS) {
4755 int level = ndr_push_get_switch_value(ndr, r);
4756 NDR_CHECK(ndr_push_netr_DeltaEnum(ndr, NDR_SCALARS, level));
4758 case NETR_DELTA_DOMAIN: {
4759 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4762 case NETR_DELTA_GROUP: {
4763 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4766 case NETR_DELTA_DELETE_GROUP: {
4767 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4770 case NETR_DELTA_RENAME_GROUP: {
4771 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4774 case NETR_DELTA_USER: {
4775 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4778 case NETR_DELTA_DELETE_USER: {
4779 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4782 case NETR_DELTA_RENAME_USER: {
4783 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4786 case NETR_DELTA_GROUP_MEMBER: {
4787 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4790 case NETR_DELTA_ALIAS: {
4791 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4794 case NETR_DELTA_DELETE_ALIAS: {
4795 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4798 case NETR_DELTA_RENAME_ALIAS: {
4799 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4802 case NETR_DELTA_ALIAS_MEMBER: {
4803 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4806 case NETR_DELTA_POLICY: {
4807 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
4810 case NETR_DELTA_TRUSTED_DOMAIN: {
4811 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
4814 case NETR_DELTA_DELETE_TRUST: {
4815 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
4818 case NETR_DELTA_ACCOUNT: {
4819 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
4822 case NETR_DELTA_DELETE_ACCOUNT: {
4823 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
4826 case NETR_DELTA_SECRET: {
4827 NDR_CHECK(ndr_push_unique_ptr(ndr, r->name));
4830 case NETR_DELTA_DELETE_SECRET: {
4831 NDR_CHECK(ndr_push_unique_ptr(ndr, r->name));
4834 case NETR_DELTA_DELETE_GROUP2: {
4835 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4838 case NETR_DELTA_DELETE_USER2: {
4839 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4842 case NETR_DELTA_MODIFY_COUNT: {
4846 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4849 if (ndr_flags & NDR_BUFFERS) {
4850 int level = ndr_push_get_switch_value(ndr, r);
4852 case NETR_DELTA_DOMAIN:
4855 case NETR_DELTA_GROUP:
4858 case NETR_DELTA_DELETE_GROUP:
4861 case NETR_DELTA_RENAME_GROUP:
4864 case NETR_DELTA_USER:
4867 case NETR_DELTA_DELETE_USER:
4870 case NETR_DELTA_RENAME_USER:
4873 case NETR_DELTA_GROUP_MEMBER:
4876 case NETR_DELTA_ALIAS:
4879 case NETR_DELTA_DELETE_ALIAS:
4882 case NETR_DELTA_RENAME_ALIAS:
4885 case NETR_DELTA_ALIAS_MEMBER:
4888 case NETR_DELTA_POLICY:
4890 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4894 case NETR_DELTA_TRUSTED_DOMAIN:
4896 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4900 case NETR_DELTA_DELETE_TRUST:
4902 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4906 case NETR_DELTA_ACCOUNT:
4908 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4912 case NETR_DELTA_DELETE_ACCOUNT:
4914 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4918 case NETR_DELTA_SECRET:
4920 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16)));
4921 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
4922 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16)));
4923 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, ndr_charset_length(r->name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
4927 case NETR_DELTA_DELETE_SECRET:
4929 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16)));
4930 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
4931 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16)));
4932 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, ndr_charset_length(r->name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
4936 case NETR_DELTA_DELETE_GROUP2:
4939 case NETR_DELTA_DELETE_USER2:
4942 case NETR_DELTA_MODIFY_COUNT:
4946 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4949 return NDR_ERR_SUCCESS;
4952 static enum ndr_err_code ndr_pull_netr_DELTA_ID_UNION(struct ndr_pull *ndr, int ndr_flags, union netr_DELTA_ID_UNION *r)
4956 TALLOC_CTX *_mem_save_sid_0;
4957 TALLOC_CTX *_mem_save_name_0;
4958 level = ndr_pull_get_switch_value(ndr, r);
4959 if (ndr_flags & NDR_SCALARS) {
4960 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
4961 if (_level != level) {
4962 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
4965 case NETR_DELTA_DOMAIN: {
4966 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4969 case NETR_DELTA_GROUP: {
4970 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4973 case NETR_DELTA_DELETE_GROUP: {
4974 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4977 case NETR_DELTA_RENAME_GROUP: {
4978 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4981 case NETR_DELTA_USER: {
4982 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4985 case NETR_DELTA_DELETE_USER: {
4986 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4989 case NETR_DELTA_RENAME_USER: {
4990 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4993 case NETR_DELTA_GROUP_MEMBER: {
4994 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4997 case NETR_DELTA_ALIAS: {
4998 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5001 case NETR_DELTA_DELETE_ALIAS: {
5002 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5005 case NETR_DELTA_RENAME_ALIAS: {
5006 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5009 case NETR_DELTA_ALIAS_MEMBER: {
5010 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5013 case NETR_DELTA_POLICY: {
5015 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
5017 NDR_PULL_ALLOC(ndr, r->sid);
5023 case NETR_DELTA_TRUSTED_DOMAIN: {
5025 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
5027 NDR_PULL_ALLOC(ndr, r->sid);
5033 case NETR_DELTA_DELETE_TRUST: {
5035 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
5037 NDR_PULL_ALLOC(ndr, r->sid);
5043 case NETR_DELTA_ACCOUNT: {
5045 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
5047 NDR_PULL_ALLOC(ndr, r->sid);
5053 case NETR_DELTA_DELETE_ACCOUNT: {
5055 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
5057 NDR_PULL_ALLOC(ndr, r->sid);
5063 case NETR_DELTA_SECRET: {
5065 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
5067 NDR_PULL_ALLOC(ndr, r->name);
5073 case NETR_DELTA_DELETE_SECRET: {
5075 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
5077 NDR_PULL_ALLOC(ndr, r->name);
5083 case NETR_DELTA_DELETE_GROUP2: {
5084 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5087 case NETR_DELTA_DELETE_USER2: {
5088 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5091 case NETR_DELTA_MODIFY_COUNT: {
5095 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5098 if (ndr_flags & NDR_BUFFERS) {
5100 case NETR_DELTA_DOMAIN:
5103 case NETR_DELTA_GROUP:
5106 case NETR_DELTA_DELETE_GROUP:
5109 case NETR_DELTA_RENAME_GROUP:
5112 case NETR_DELTA_USER:
5115 case NETR_DELTA_DELETE_USER:
5118 case NETR_DELTA_RENAME_USER:
5121 case NETR_DELTA_GROUP_MEMBER:
5124 case NETR_DELTA_ALIAS:
5127 case NETR_DELTA_DELETE_ALIAS:
5130 case NETR_DELTA_RENAME_ALIAS:
5133 case NETR_DELTA_ALIAS_MEMBER:
5136 case NETR_DELTA_POLICY:
5138 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
5139 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
5140 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
5141 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
5145 case NETR_DELTA_TRUSTED_DOMAIN:
5147 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
5148 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
5149 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
5150 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
5154 case NETR_DELTA_DELETE_TRUST:
5156 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
5157 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
5158 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
5159 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
5163 case NETR_DELTA_ACCOUNT:
5165 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
5166 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
5167 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
5168 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
5172 case NETR_DELTA_DELETE_ACCOUNT:
5174 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
5175 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
5176 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
5177 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
5181 case NETR_DELTA_SECRET:
5183 _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5184 NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
5185 NDR_CHECK(ndr_pull_array_size(ndr, &r->name));
5186 NDR_CHECK(ndr_pull_array_length(ndr, &r->name));
5187 if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) {
5188 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));
5190 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t)));
5191 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t), CH_UTF16));
5192 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
5196 case NETR_DELTA_DELETE_SECRET:
5198 _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5199 NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
5200 NDR_CHECK(ndr_pull_array_size(ndr, &r->name));
5201 NDR_CHECK(ndr_pull_array_length(ndr, &r->name));
5202 if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) {
5203 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));
5205 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t)));
5206 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t), CH_UTF16));
5207 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
5211 case NETR_DELTA_DELETE_GROUP2:
5214 case NETR_DELTA_DELETE_USER2:
5217 case NETR_DELTA_MODIFY_COUNT:
5221 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5224 return NDR_ERR_SUCCESS;
5227 _PUBLIC_ void ndr_print_netr_DELTA_ID_UNION(struct ndr_print *ndr, const char *name, const union netr_DELTA_ID_UNION *r)
5230 level = ndr_print_get_switch_value(ndr, r);
5231 ndr_print_union(ndr, name, level, "netr_DELTA_ID_UNION");
5233 case NETR_DELTA_DOMAIN:
5234 ndr_print_uint32(ndr, "rid", r->rid);
5237 case NETR_DELTA_GROUP:
5238 ndr_print_uint32(ndr, "rid", r->rid);
5241 case NETR_DELTA_DELETE_GROUP:
5242 ndr_print_uint32(ndr, "rid", r->rid);
5245 case NETR_DELTA_RENAME_GROUP:
5246 ndr_print_uint32(ndr, "rid", r->rid);
5249 case NETR_DELTA_USER:
5250 ndr_print_uint32(ndr, "rid", r->rid);
5253 case NETR_DELTA_DELETE_USER:
5254 ndr_print_uint32(ndr, "rid", r->rid);
5257 case NETR_DELTA_RENAME_USER:
5258 ndr_print_uint32(ndr, "rid", r->rid);
5261 case NETR_DELTA_GROUP_MEMBER:
5262 ndr_print_uint32(ndr, "rid", r->rid);
5265 case NETR_DELTA_ALIAS:
5266 ndr_print_uint32(ndr, "rid", r->rid);
5269 case NETR_DELTA_DELETE_ALIAS:
5270 ndr_print_uint32(ndr, "rid", r->rid);
5273 case NETR_DELTA_RENAME_ALIAS:
5274 ndr_print_uint32(ndr, "rid", r->rid);
5277 case NETR_DELTA_ALIAS_MEMBER:
5278 ndr_print_uint32(ndr, "rid", r->rid);
5281 case NETR_DELTA_POLICY:
5282 ndr_print_ptr(ndr, "sid", r->sid);
5285 ndr_print_dom_sid2(ndr, "sid", r->sid);
5290 case NETR_DELTA_TRUSTED_DOMAIN:
5291 ndr_print_ptr(ndr, "sid", r->sid);
5294 ndr_print_dom_sid2(ndr, "sid", r->sid);
5299 case NETR_DELTA_DELETE_TRUST:
5300 ndr_print_ptr(ndr, "sid", r->sid);
5303 ndr_print_dom_sid2(ndr, "sid", r->sid);
5308 case NETR_DELTA_ACCOUNT:
5309 ndr_print_ptr(ndr, "sid", r->sid);
5312 ndr_print_dom_sid2(ndr, "sid", r->sid);
5317 case NETR_DELTA_DELETE_ACCOUNT:
5318 ndr_print_ptr(ndr, "sid", r->sid);
5321 ndr_print_dom_sid2(ndr, "sid", r->sid);
5326 case NETR_DELTA_SECRET:
5327 ndr_print_ptr(ndr, "name", r->name);
5330 ndr_print_string(ndr, "name", r->name);
5335 case NETR_DELTA_DELETE_SECRET:
5336 ndr_print_ptr(ndr, "name", r->name);
5339 ndr_print_string(ndr, "name", r->name);
5344 case NETR_DELTA_DELETE_GROUP2:
5345 ndr_print_uint32(ndr, "rid", r->rid);
5348 case NETR_DELTA_DELETE_USER2:
5349 ndr_print_uint32(ndr, "rid", r->rid);
5352 case NETR_DELTA_MODIFY_COUNT:
5356 ndr_print_bad_level(ndr, name, level);
5360 static enum ndr_err_code ndr_push_netr_DELTA_ENUM(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_ENUM *r)
5362 if (ndr_flags & NDR_SCALARS) {
5363 NDR_CHECK(ndr_push_align(ndr, 4));
5364 NDR_CHECK(ndr_push_netr_DeltaEnum(ndr, NDR_SCALARS, r->delta_type));
5365 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->delta_id_union, r->delta_type));
5366 NDR_CHECK(ndr_push_netr_DELTA_ID_UNION(ndr, NDR_SCALARS, &r->delta_id_union));
5367 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->delta_union, r->delta_type));
5368 NDR_CHECK(ndr_push_netr_DELTA_UNION(ndr, NDR_SCALARS, &r->delta_union));
5370 if (ndr_flags & NDR_BUFFERS) {
5371 NDR_CHECK(ndr_push_netr_DELTA_ID_UNION(ndr, NDR_BUFFERS, &r->delta_id_union));
5372 NDR_CHECK(ndr_push_netr_DELTA_UNION(ndr, NDR_BUFFERS, &r->delta_union));
5374 return NDR_ERR_SUCCESS;
5377 static enum ndr_err_code ndr_pull_netr_DELTA_ENUM(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ENUM *r)
5379 if (ndr_flags & NDR_SCALARS) {
5380 NDR_CHECK(ndr_pull_align(ndr, 4));
5381 NDR_CHECK(ndr_pull_netr_DeltaEnum(ndr, NDR_SCALARS, &r->delta_type));
5382 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->delta_id_union, r->delta_type));
5383 NDR_CHECK(ndr_pull_netr_DELTA_ID_UNION(ndr, NDR_SCALARS, &r->delta_id_union));
5384 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->delta_union, r->delta_type));
5385 NDR_CHECK(ndr_pull_netr_DELTA_UNION(ndr, NDR_SCALARS, &r->delta_union));
5387 if (ndr_flags & NDR_BUFFERS) {
5388 NDR_CHECK(ndr_pull_netr_DELTA_ID_UNION(ndr, NDR_BUFFERS, &r->delta_id_union));
5389 NDR_CHECK(ndr_pull_netr_DELTA_UNION(ndr, NDR_BUFFERS, &r->delta_union));
5391 return NDR_ERR_SUCCESS;
5394 _PUBLIC_ void ndr_print_netr_DELTA_ENUM(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ENUM *r)
5396 ndr_print_struct(ndr, name, "netr_DELTA_ENUM");
5398 ndr_print_netr_DeltaEnum(ndr, "delta_type", r->delta_type);
5399 ndr_print_set_switch_value(ndr, &r->delta_id_union, r->delta_type);
5400 ndr_print_netr_DELTA_ID_UNION(ndr, "delta_id_union", &r->delta_id_union);
5401 ndr_print_set_switch_value(ndr, &r->delta_union, r->delta_type);
5402 ndr_print_netr_DELTA_UNION(ndr, "delta_union", &r->delta_union);
5406 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)
5408 uint32_t cntr_delta_enum_1;
5409 if (ndr_flags & NDR_SCALARS) {
5410 NDR_CHECK(ndr_push_align(ndr, 4));
5411 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_deltas));
5412 NDR_CHECK(ndr_push_unique_ptr(ndr, r->delta_enum));
5414 if (ndr_flags & NDR_BUFFERS) {
5415 if (r->delta_enum) {
5416 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_deltas));
5417 for (cntr_delta_enum_1 = 0; cntr_delta_enum_1 < r->num_deltas; cntr_delta_enum_1++) {
5418 NDR_CHECK(ndr_push_netr_DELTA_ENUM(ndr, NDR_SCALARS, &r->delta_enum[cntr_delta_enum_1]));
5420 for (cntr_delta_enum_1 = 0; cntr_delta_enum_1 < r->num_deltas; cntr_delta_enum_1++) {
5421 NDR_CHECK(ndr_push_netr_DELTA_ENUM(ndr, NDR_BUFFERS, &r->delta_enum[cntr_delta_enum_1]));
5425 return NDR_ERR_SUCCESS;
5428 static enum ndr_err_code ndr_pull_netr_DELTA_ENUM_ARRAY(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ENUM_ARRAY *r)
5430 uint32_t _ptr_delta_enum;
5431 uint32_t cntr_delta_enum_1;
5432 TALLOC_CTX *_mem_save_delta_enum_0;
5433 TALLOC_CTX *_mem_save_delta_enum_1;
5434 if (ndr_flags & NDR_SCALARS) {
5435 NDR_CHECK(ndr_pull_align(ndr, 4));
5436 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_deltas));
5437 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum));
5438 if (_ptr_delta_enum) {
5439 NDR_PULL_ALLOC(ndr, r->delta_enum);
5441 r->delta_enum = NULL;
5444 if (ndr_flags & NDR_BUFFERS) {
5445 if (r->delta_enum) {
5446 _mem_save_delta_enum_0 = NDR_PULL_GET_MEM_CTX(ndr);
5447 NDR_PULL_SET_MEM_CTX(ndr, r->delta_enum, 0);
5448 NDR_CHECK(ndr_pull_array_size(ndr, &r->delta_enum));
5449 NDR_PULL_ALLOC_N(ndr, r->delta_enum, ndr_get_array_size(ndr, &r->delta_enum));
5450 _mem_save_delta_enum_1 = NDR_PULL_GET_MEM_CTX(ndr);
5451 NDR_PULL_SET_MEM_CTX(ndr, r->delta_enum, 0);
5452 for (cntr_delta_enum_1 = 0; cntr_delta_enum_1 < r->num_deltas; cntr_delta_enum_1++) {
5453 NDR_CHECK(ndr_pull_netr_DELTA_ENUM(ndr, NDR_SCALARS, &r->delta_enum[cntr_delta_enum_1]));
5455 for (cntr_delta_enum_1 = 0; cntr_delta_enum_1 < r->num_deltas; cntr_delta_enum_1++) {
5456 NDR_CHECK(ndr_pull_netr_DELTA_ENUM(ndr, NDR_BUFFERS, &r->delta_enum[cntr_delta_enum_1]));
5458 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_1, 0);
5459 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_0, 0);
5461 if (r->delta_enum) {
5462 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->delta_enum, r->num_deltas));
5465 return NDR_ERR_SUCCESS;
5468 _PUBLIC_ void ndr_print_netr_DELTA_ENUM_ARRAY(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ENUM_ARRAY *r)
5470 uint32_t cntr_delta_enum_1;
5471 ndr_print_struct(ndr, name, "netr_DELTA_ENUM_ARRAY");
5473 ndr_print_uint32(ndr, "num_deltas", r->num_deltas);
5474 ndr_print_ptr(ndr, "delta_enum", r->delta_enum);
5476 if (r->delta_enum) {
5477 ndr->print(ndr, "%s: ARRAY(%d)", "delta_enum", (int)r->num_deltas);
5479 for (cntr_delta_enum_1=0;cntr_delta_enum_1<r->num_deltas;cntr_delta_enum_1++) {
5481 if (asprintf(&idx_1, "[%d]", cntr_delta_enum_1) != -1) {
5482 ndr_print_netr_DELTA_ENUM(ndr, "delta_enum", &r->delta_enum[cntr_delta_enum_1]);
5492 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)
5495 uint32_t _flags_save_STRUCT = ndr->flags;
5496 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
5497 if (ndr_flags & NDR_SCALARS) {
5498 NDR_CHECK(ndr_push_align(ndr, 4));
5499 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->computer_name, 16));
5500 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->timecreated));
5501 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->serial_number));
5503 if (ndr_flags & NDR_BUFFERS) {
5505 ndr->flags = _flags_save_STRUCT;
5507 return NDR_ERR_SUCCESS;
5510 static enum ndr_err_code ndr_pull_netr_UAS_INFO_0(struct ndr_pull *ndr, int ndr_flags, struct netr_UAS_INFO_0 *r)
5513 uint32_t _flags_save_STRUCT = ndr->flags;
5514 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
5515 if (ndr_flags & NDR_SCALARS) {
5516 NDR_CHECK(ndr_pull_align(ndr, 4));
5517 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->computer_name, 16));
5518 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->timecreated));
5519 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->serial_number));
5521 if (ndr_flags & NDR_BUFFERS) {
5523 ndr->flags = _flags_save_STRUCT;
5525 return NDR_ERR_SUCCESS;
5528 _PUBLIC_ void ndr_print_netr_UAS_INFO_0(struct ndr_print *ndr, const char *name, const struct netr_UAS_INFO_0 *r)
5530 ndr_print_struct(ndr, name, "netr_UAS_INFO_0");
5532 uint32_t _flags_save_STRUCT = ndr->flags;
5533 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
5535 ndr_print_array_uint8(ndr, "computer_name", r->computer_name, 16);
5536 ndr_print_uint32(ndr, "timecreated", r->timecreated);
5537 ndr_print_uint32(ndr, "serial_number", r->serial_number);
5539 ndr->flags = _flags_save_STRUCT;
5543 static enum ndr_err_code ndr_push_netr_AccountBuffer(struct ndr_push *ndr, int ndr_flags, const struct netr_AccountBuffer *r)
5545 if (ndr_flags & NDR_SCALARS) {
5546 NDR_CHECK(ndr_push_align(ndr, 4));
5548 uint32_t _flags_save_DATA_BLOB = ndr->flags;
5549 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
5550 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->blob));
5551 ndr->flags = _flags_save_DATA_BLOB;
5554 if (ndr_flags & NDR_BUFFERS) {
5556 return NDR_ERR_SUCCESS;
5559 static enum ndr_err_code ndr_pull_netr_AccountBuffer(struct ndr_pull *ndr, int ndr_flags, struct netr_AccountBuffer *r)
5561 if (ndr_flags & NDR_SCALARS) {
5562 NDR_CHECK(ndr_pull_align(ndr, 4));
5564 uint32_t _flags_save_DATA_BLOB = ndr->flags;
5565 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
5566 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->blob));
5567 ndr->flags = _flags_save_DATA_BLOB;
5570 if (ndr_flags & NDR_BUFFERS) {
5572 return NDR_ERR_SUCCESS;
5575 _PUBLIC_ void ndr_print_netr_AccountBuffer(struct ndr_print *ndr, const char *name, const struct netr_AccountBuffer *r)
5577 ndr_print_struct(ndr, name, "netr_AccountBuffer");
5579 ndr_print_DATA_BLOB(ndr, "blob", r->blob);
5583 static enum ndr_err_code ndr_push_netr_InfoFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
5585 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
5586 return NDR_ERR_SUCCESS;
5589 static enum ndr_err_code ndr_pull_netr_InfoFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
5592 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
5594 return NDR_ERR_SUCCESS;
5597 _PUBLIC_ void ndr_print_netr_InfoFlags(struct ndr_print *ndr, const char *name, uint32_t r)
5599 ndr_print_uint32(ndr, name, r);
5601 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_CTRL_REPL_NEEDED", NETLOGON_CTRL_REPL_NEEDED, r);
5602 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_CTRL_REPL_IN_PROGRESS", NETLOGON_CTRL_REPL_IN_PROGRESS, r);
5603 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_CTRL_REPL_FULL_SYNC", NETLOGON_CTRL_REPL_FULL_SYNC, r);
5607 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)
5609 if (ndr_flags & NDR_SCALARS) {
5610 NDR_CHECK(ndr_push_align(ndr, 4));
5611 NDR_CHECK(ndr_push_netr_InfoFlags(ndr, NDR_SCALARS, r->flags));
5612 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pdc_connection_status));
5614 if (ndr_flags & NDR_BUFFERS) {
5616 return NDR_ERR_SUCCESS;
5619 static enum ndr_err_code ndr_pull_netr_NETLOGON_INFO_1(struct ndr_pull *ndr, int ndr_flags, struct netr_NETLOGON_INFO_1 *r)
5621 if (ndr_flags & NDR_SCALARS) {
5622 NDR_CHECK(ndr_pull_align(ndr, 4));
5623 NDR_CHECK(ndr_pull_netr_InfoFlags(ndr, NDR_SCALARS, &r->flags));
5624 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pdc_connection_status));
5626 if (ndr_flags & NDR_BUFFERS) {
5628 return NDR_ERR_SUCCESS;
5631 _PUBLIC_ void ndr_print_netr_NETLOGON_INFO_1(struct ndr_print *ndr, const char *name, const struct netr_NETLOGON_INFO_1 *r)
5633 ndr_print_struct(ndr, name, "netr_NETLOGON_INFO_1");
5635 ndr_print_netr_InfoFlags(ndr, "flags", r->flags);
5636 ndr_print_uint32(ndr, "pdc_connection_status", r->pdc_connection_status);
5640 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)
5642 if (ndr_flags & NDR_SCALARS) {
5643 NDR_CHECK(ndr_push_align(ndr, 4));
5644 NDR_CHECK(ndr_push_netr_InfoFlags(ndr, NDR_SCALARS, r->flags));
5645 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pdc_connection_status));
5646 NDR_CHECK(ndr_push_unique_ptr(ndr, r->trusted_dc_name));
5647 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->tc_connection_status));
5649 if (ndr_flags & NDR_BUFFERS) {
5650 if (r->trusted_dc_name) {
5651 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->trusted_dc_name, CH_UTF16)));
5652 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
5653 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->trusted_dc_name, CH_UTF16)));
5654 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));
5657 return NDR_ERR_SUCCESS;
5660 static enum ndr_err_code ndr_pull_netr_NETLOGON_INFO_2(struct ndr_pull *ndr, int ndr_flags, struct netr_NETLOGON_INFO_2 *r)
5662 uint32_t _ptr_trusted_dc_name;
5663 TALLOC_CTX *_mem_save_trusted_dc_name_0;
5664 if (ndr_flags & NDR_SCALARS) {
5665 NDR_CHECK(ndr_pull_align(ndr, 4));
5666 NDR_CHECK(ndr_pull_netr_InfoFlags(ndr, NDR_SCALARS, &r->flags));
5667 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pdc_connection_status));
5668 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_dc_name));
5669 if (_ptr_trusted_dc_name) {
5670 NDR_PULL_ALLOC(ndr, r->trusted_dc_name);
5672 r->trusted_dc_name = NULL;
5674 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->tc_connection_status));
5676 if (ndr_flags & NDR_BUFFERS) {
5677 if (r->trusted_dc_name) {
5678 _mem_save_trusted_dc_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5679 NDR_PULL_SET_MEM_CTX(ndr, r->trusted_dc_name, 0);
5680 NDR_CHECK(ndr_pull_array_size(ndr, &r->trusted_dc_name));
5681 NDR_CHECK(ndr_pull_array_length(ndr, &r->trusted_dc_name));
5682 if (ndr_get_array_length(ndr, &r->trusted_dc_name) > ndr_get_array_size(ndr, &r->trusted_dc_name)) {
5683 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));
5685 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->trusted_dc_name), sizeof(uint16_t)));
5686 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));
5687 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_dc_name_0, 0);
5690 return NDR_ERR_SUCCESS;
5693 _PUBLIC_ void ndr_print_netr_NETLOGON_INFO_2(struct ndr_print *ndr, const char *name, const struct netr_NETLOGON_INFO_2 *r)
5695 ndr_print_struct(ndr, name, "netr_NETLOGON_INFO_2");
5697 ndr_print_netr_InfoFlags(ndr, "flags", r->flags);
5698 ndr_print_uint32(ndr, "pdc_connection_status", r->pdc_connection_status);
5699 ndr_print_ptr(ndr, "trusted_dc_name", r->trusted_dc_name);
5701 if (r->trusted_dc_name) {
5702 ndr_print_string(ndr, "trusted_dc_name", r->trusted_dc_name);
5705 ndr_print_uint32(ndr, "tc_connection_status", r->tc_connection_status);
5709 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)
5711 if (ndr_flags & NDR_SCALARS) {
5712 NDR_CHECK(ndr_push_align(ndr, 4));
5713 NDR_CHECK(ndr_push_netr_InfoFlags(ndr, NDR_SCALARS, r->flags));
5714 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logon_attempts));
5715 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
5716 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
5717 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown3));
5718 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4));
5719 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
5721 if (ndr_flags & NDR_BUFFERS) {
5723 return NDR_ERR_SUCCESS;
5726 static enum ndr_err_code ndr_pull_netr_NETLOGON_INFO_3(struct ndr_pull *ndr, int ndr_flags, struct netr_NETLOGON_INFO_3 *r)
5728 if (ndr_flags & NDR_SCALARS) {
5729 NDR_CHECK(ndr_pull_align(ndr, 4));
5730 NDR_CHECK(ndr_pull_netr_InfoFlags(ndr, NDR_SCALARS, &r->flags));
5731 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logon_attempts));
5732 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
5733 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
5734 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown3));
5735 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4));
5736 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
5738 if (ndr_flags & NDR_BUFFERS) {
5740 return NDR_ERR_SUCCESS;
5743 _PUBLIC_ void ndr_print_netr_NETLOGON_INFO_3(struct ndr_print *ndr, const char *name, const struct netr_NETLOGON_INFO_3 *r)
5745 ndr_print_struct(ndr, name, "netr_NETLOGON_INFO_3");
5747 ndr_print_netr_InfoFlags(ndr, "flags", r->flags);
5748 ndr_print_uint32(ndr, "logon_attempts", r->logon_attempts);
5749 ndr_print_uint32(ndr, "unknown1", r->unknown1);
5750 ndr_print_uint32(ndr, "unknown2", r->unknown2);
5751 ndr_print_uint32(ndr, "unknown3", r->unknown3);
5752 ndr_print_uint32(ndr, "unknown4", r->unknown4);
5753 ndr_print_uint32(ndr, "unknown5", r->unknown5);
5757 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)
5759 if (ndr_flags & NDR_SCALARS) {
5760 int level = ndr_push_get_switch_value(ndr, r);
5761 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
5764 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1));
5768 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info2));
5772 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info3));
5776 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5779 if (ndr_flags & NDR_BUFFERS) {
5780 int level = ndr_push_get_switch_value(ndr, r);
5784 NDR_CHECK(ndr_push_netr_NETLOGON_INFO_1(ndr, NDR_SCALARS, r->info1));
5790 NDR_CHECK(ndr_push_netr_NETLOGON_INFO_2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2));
5796 NDR_CHECK(ndr_push_netr_NETLOGON_INFO_3(ndr, NDR_SCALARS, r->info3));
5801 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5804 return NDR_ERR_SUCCESS;
5807 static enum ndr_err_code ndr_pull_netr_CONTROL_QUERY_INFORMATION(struct ndr_pull *ndr, int ndr_flags, union netr_CONTROL_QUERY_INFORMATION *r)
5811 TALLOC_CTX *_mem_save_info1_0;
5812 TALLOC_CTX *_mem_save_info2_0;
5813 TALLOC_CTX *_mem_save_info3_0;
5814 level = ndr_pull_get_switch_value(ndr, r);
5815 if (ndr_flags & NDR_SCALARS) {
5816 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
5817 if (_level != level) {
5818 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
5822 uint32_t _ptr_info1;
5823 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1));
5825 NDR_PULL_ALLOC(ndr, r->info1);
5832 uint32_t _ptr_info2;
5833 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info2));
5835 NDR_PULL_ALLOC(ndr, r->info2);
5842 uint32_t _ptr_info3;
5843 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info3));
5845 NDR_PULL_ALLOC(ndr, r->info3);
5852 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5855 if (ndr_flags & NDR_BUFFERS) {
5859 _mem_save_info1_0 = NDR_PULL_GET_MEM_CTX(ndr);
5860 NDR_PULL_SET_MEM_CTX(ndr, r->info1, 0);
5861 NDR_CHECK(ndr_pull_netr_NETLOGON_INFO_1(ndr, NDR_SCALARS, r->info1));
5862 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1_0, 0);
5868 _mem_save_info2_0 = NDR_PULL_GET_MEM_CTX(ndr);
5869 NDR_PULL_SET_MEM_CTX(ndr, r->info2, 0);
5870 NDR_CHECK(ndr_pull_netr_NETLOGON_INFO_2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2));
5871 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info2_0, 0);
5877 _mem_save_info3_0 = NDR_PULL_GET_MEM_CTX(ndr);
5878 NDR_PULL_SET_MEM_CTX(ndr, r->info3, 0);
5879 NDR_CHECK(ndr_pull_netr_NETLOGON_INFO_3(ndr, NDR_SCALARS, r->info3));
5880 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info3_0, 0);
5885 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5888 return NDR_ERR_SUCCESS;
5891 _PUBLIC_ void ndr_print_netr_CONTROL_QUERY_INFORMATION(struct ndr_print *ndr, const char *name, const union netr_CONTROL_QUERY_INFORMATION *r)
5894 level = ndr_print_get_switch_value(ndr, r);
5895 ndr_print_union(ndr, name, level, "netr_CONTROL_QUERY_INFORMATION");
5898 ndr_print_ptr(ndr, "info1", r->info1);
5901 ndr_print_netr_NETLOGON_INFO_1(ndr, "info1", r->info1);
5907 ndr_print_ptr(ndr, "info2", r->info2);
5910 ndr_print_netr_NETLOGON_INFO_2(ndr, "info2", r->info2);
5916 ndr_print_ptr(ndr, "info3", r->info3);
5919 ndr_print_netr_NETLOGON_INFO_3(ndr, "info3", r->info3);
5925 ndr_print_bad_level(ndr, name, level);
5929 static enum ndr_err_code ndr_push_netr_LogonControlCode(struct ndr_push *ndr, int ndr_flags, enum netr_LogonControlCode 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_LogonControlCode(struct ndr_pull *ndr, int ndr_flags, enum netr_LogonControlCode *r)
5938 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
5940 return NDR_ERR_SUCCESS;
5943 _PUBLIC_ void ndr_print_netr_LogonControlCode(struct ndr_print *ndr, const char *name, enum netr_LogonControlCode r)
5945 const char *val = NULL;
5948 case NETLOGON_CONTROL_SYNC: val = "NETLOGON_CONTROL_SYNC"; break;
5949 case NETLOGON_CONTROL_REDISCOVER: val = "NETLOGON_CONTROL_REDISCOVER"; break;
5950 case NETLOGON_CONTROL_TC_QUERY: val = "NETLOGON_CONTROL_TC_QUERY"; break;
5951 case NETLOGON_CONTROL_TRANSPORT_NOTIFY: val = "NETLOGON_CONTROL_TRANSPORT_NOTIFY"; break;
5952 case NETLOGON_CONTROL_SET_DBFLAG: val = "NETLOGON_CONTROL_SET_DBFLAG"; break;
5954 ndr_print_enum(ndr, name, "ENUM", val, r);
5957 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)
5959 if (ndr_flags & NDR_SCALARS) {
5960 int level = ndr_push_get_switch_value(ndr, r);
5961 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
5963 case NETLOGON_CONTROL_REDISCOVER: {
5964 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
5967 case NETLOGON_CONTROL_TC_QUERY: {
5968 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
5971 case NETLOGON_CONTROL_TRANSPORT_NOTIFY: {
5972 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
5975 case NETLOGON_CONTROL_SET_DBFLAG: {
5976 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->debug_level));
5980 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5983 if (ndr_flags & NDR_BUFFERS) {
5984 int level = ndr_push_get_switch_value(ndr, r);
5986 case NETLOGON_CONTROL_REDISCOVER:
5988 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
5989 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
5990 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
5991 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5995 case NETLOGON_CONTROL_TC_QUERY:
5997 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
5998 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
5999 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6000 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6004 case NETLOGON_CONTROL_TRANSPORT_NOTIFY:
6006 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6007 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6008 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6009 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6013 case NETLOGON_CONTROL_SET_DBFLAG:
6017 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
6020 return NDR_ERR_SUCCESS;
6023 static enum ndr_err_code ndr_pull_netr_CONTROL_DATA_INFORMATION(struct ndr_pull *ndr, int ndr_flags, union netr_CONTROL_DATA_INFORMATION *r)
6027 TALLOC_CTX *_mem_save_domain_0;
6028 level = ndr_pull_get_switch_value(ndr, r);
6029 if (ndr_flags & NDR_SCALARS) {
6030 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
6031 if (_level != level) {
6032 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
6035 case NETLOGON_CONTROL_REDISCOVER: {
6036 uint32_t _ptr_domain;
6037 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
6039 NDR_PULL_ALLOC(ndr, r->domain);
6045 case NETLOGON_CONTROL_TC_QUERY: {
6046 uint32_t _ptr_domain;
6047 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
6049 NDR_PULL_ALLOC(ndr, r->domain);
6055 case NETLOGON_CONTROL_TRANSPORT_NOTIFY: {
6056 uint32_t _ptr_domain;
6057 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
6059 NDR_PULL_ALLOC(ndr, r->domain);
6065 case NETLOGON_CONTROL_SET_DBFLAG: {
6066 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->debug_level));
6070 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
6073 if (ndr_flags & NDR_BUFFERS) {
6075 case NETLOGON_CONTROL_REDISCOVER:
6077 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
6078 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
6079 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
6080 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
6081 if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) {
6082 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));
6084 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t)));
6085 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16));
6086 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
6090 case NETLOGON_CONTROL_TC_QUERY:
6092 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
6093 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
6094 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
6095 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
6096 if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) {
6097 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));
6099 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t)));
6100 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16));
6101 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
6105 case NETLOGON_CONTROL_TRANSPORT_NOTIFY:
6107 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
6108 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
6109 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
6110 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
6111 if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) {
6112 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));
6114 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t)));
6115 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16));
6116 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
6120 case NETLOGON_CONTROL_SET_DBFLAG:
6124 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
6127 return NDR_ERR_SUCCESS;
6130 _PUBLIC_ void ndr_print_netr_CONTROL_DATA_INFORMATION(struct ndr_print *ndr, const char *name, const union netr_CONTROL_DATA_INFORMATION *r)
6133 level = ndr_print_get_switch_value(ndr, r);
6134 ndr_print_union(ndr, name, level, "netr_CONTROL_DATA_INFORMATION");
6136 case NETLOGON_CONTROL_REDISCOVER:
6137 ndr_print_ptr(ndr, "domain", r->domain);
6140 ndr_print_string(ndr, "domain", r->domain);
6145 case NETLOGON_CONTROL_TC_QUERY:
6146 ndr_print_ptr(ndr, "domain", r->domain);
6149 ndr_print_string(ndr, "domain", r->domain);
6154 case NETLOGON_CONTROL_TRANSPORT_NOTIFY:
6155 ndr_print_ptr(ndr, "domain", r->domain);
6158 ndr_print_string(ndr, "domain", r->domain);
6163 case NETLOGON_CONTROL_SET_DBFLAG:
6164 ndr_print_uint32(ndr, "debug_level", r->debug_level);
6168 ndr_print_bad_level(ndr, name, level);
6172 static enum ndr_err_code ndr_push_netr_NegotiateFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
6174 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
6175 return NDR_ERR_SUCCESS;
6178 static enum ndr_err_code ndr_pull_netr_NegotiateFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
6181 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
6183 return NDR_ERR_SUCCESS;
6186 _PUBLIC_ void ndr_print_netr_NegotiateFlags(struct ndr_print *ndr, const char *name, uint32_t r)
6188 ndr_print_uint32(ndr, name, r);
6190 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_ACCOUNT_LOCKOUT", NETLOGON_NEG_ACCOUNT_LOCKOUT, r);
6191 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_PERSISTENT_SAMREPL", NETLOGON_NEG_PERSISTENT_SAMREPL, r);
6192 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_ARCFOUR", NETLOGON_NEG_ARCFOUR, r);
6193 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_PROMOTION_COUNT", NETLOGON_NEG_PROMOTION_COUNT, r);
6194 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_CHANGELOG_BDC", NETLOGON_NEG_CHANGELOG_BDC, r);
6195 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_FULL_SYNC_REPL", NETLOGON_NEG_FULL_SYNC_REPL, r);
6196 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_MULTIPLE_SIDS", NETLOGON_NEG_MULTIPLE_SIDS, r);
6197 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_REDO", NETLOGON_NEG_REDO, r);
6198 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_PASSWORD_CHANGE_REFUSAL", NETLOGON_NEG_PASSWORD_CHANGE_REFUSAL, r);
6199 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_SEND_PASSWORD_INFO_PDC", NETLOGON_NEG_SEND_PASSWORD_INFO_PDC, r);
6200 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_GENERIC_PASSTHROUGH", NETLOGON_NEG_GENERIC_PASSTHROUGH, r);
6201 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_CONCURRENT_RPC", NETLOGON_NEG_CONCURRENT_RPC, r);
6202 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_AVOID_ACCOUNT_DB_REPL", NETLOGON_NEG_AVOID_ACCOUNT_DB_REPL, r);
6203 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_AVOID_SECURITYAUTH_DB_REPL", NETLOGON_NEG_AVOID_SECURITYAUTH_DB_REPL, r);
6204 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_128BIT", NETLOGON_NEG_128BIT, r);
6205 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_TRANSITIVE_TRUSTS", NETLOGON_NEG_TRANSITIVE_TRUSTS, r);
6206 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_DNS_DOMAIN_TRUSTS", NETLOGON_NEG_DNS_DOMAIN_TRUSTS, r);
6207 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_PASSWORD_SET2", NETLOGON_NEG_PASSWORD_SET2, r);
6208 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_GETDOMAININFO", NETLOGON_NEG_GETDOMAININFO, r);
6209 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_CROSS_FOREST_TRUSTS", NETLOGON_NEG_CROSS_FOREST_TRUSTS, r);
6210 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_NEUTRALIZE_NT4_EMULATION", NETLOGON_NEG_NEUTRALIZE_NT4_EMULATION, r);
6211 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_RODC_PASSTHROUGH", NETLOGON_NEG_RODC_PASSTHROUGH, r);
6212 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_AUTHENTICATED_RPC_LSASS", NETLOGON_NEG_AUTHENTICATED_RPC_LSASS, r);
6213 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_SCHANNEL", NETLOGON_NEG_SCHANNEL, r);
6217 static enum ndr_err_code ndr_push_netr_ChangeLogFlags(struct ndr_push *ndr, int ndr_flags, uint16_t r)
6219 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
6220 return NDR_ERR_SUCCESS;
6223 static enum ndr_err_code ndr_pull_netr_ChangeLogFlags(struct ndr_pull *ndr, int ndr_flags, uint16_t *r)
6226 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
6228 return NDR_ERR_SUCCESS;
6231 _PUBLIC_ void ndr_print_netr_ChangeLogFlags(struct ndr_print *ndr, const char *name, uint16_t r)
6233 ndr_print_uint16(ndr, name, r);
6235 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_CHANGELOG_IMMEDIATE_REPL_REQUIRED", NETR_CHANGELOG_IMMEDIATE_REPL_REQUIRED, r);
6236 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_CHANGELOG_CHANGED_PASSWORD", NETR_CHANGELOG_CHANGED_PASSWORD, r);
6237 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_CHANGELOG_SID_INCLUDED", NETR_CHANGELOG_SID_INCLUDED, r);
6238 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_CHANGELOG_NAME_INCLUDED", NETR_CHANGELOG_NAME_INCLUDED, r);
6239 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_CHANGELOG_FIRST_PROMOTION_OBJ", NETR_CHANGELOG_FIRST_PROMOTION_OBJ, r);
6243 static enum ndr_err_code ndr_push_netr_ChangeLogObject(struct ndr_push *ndr, int ndr_flags, const union netr_ChangeLogObject *r)
6245 if (ndr_flags & NDR_SCALARS) {
6246 int level = ndr_push_get_switch_value(ndr, r);
6248 case NETR_CHANGELOG_SID_INCLUDED: {
6249 NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, &r->object_sid));
6252 case NETR_CHANGELOG_NAME_INCLUDED: {
6254 uint32_t _flags_save_string = ndr->flags;
6255 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
6256 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->object_name));
6257 ndr->flags = _flags_save_string;
6266 if (ndr_flags & NDR_BUFFERS) {
6267 int level = ndr_push_get_switch_value(ndr, r);
6269 case NETR_CHANGELOG_SID_INCLUDED:
6270 NDR_CHECK(ndr_push_dom_sid(ndr, NDR_BUFFERS, &r->object_sid));
6273 case NETR_CHANGELOG_NAME_INCLUDED:
6281 return NDR_ERR_SUCCESS;
6284 static enum ndr_err_code ndr_pull_netr_ChangeLogObject(struct ndr_pull *ndr, int ndr_flags, union netr_ChangeLogObject *r)
6287 level = ndr_pull_get_switch_value(ndr, r);
6288 if (ndr_flags & NDR_SCALARS) {
6290 case NETR_CHANGELOG_SID_INCLUDED: {
6291 NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, &r->object_sid));
6294 case NETR_CHANGELOG_NAME_INCLUDED: {
6296 uint32_t _flags_save_string = ndr->flags;
6297 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
6298 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->object_name));
6299 ndr->flags = _flags_save_string;
6308 if (ndr_flags & NDR_BUFFERS) {
6310 case NETR_CHANGELOG_SID_INCLUDED:
6311 NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_BUFFERS, &r->object_sid));
6314 case NETR_CHANGELOG_NAME_INCLUDED:
6322 return NDR_ERR_SUCCESS;
6325 _PUBLIC_ void ndr_print_netr_ChangeLogObject(struct ndr_print *ndr, const char *name, const union netr_ChangeLogObject *r)
6328 level = ndr_print_get_switch_value(ndr, r);
6329 ndr_print_union(ndr, name, level, "netr_ChangeLogObject");
6331 case NETR_CHANGELOG_SID_INCLUDED:
6332 ndr_print_dom_sid(ndr, "object_sid", &r->object_sid);
6335 case NETR_CHANGELOG_NAME_INCLUDED:
6336 ndr_print_string(ndr, "object_name", r->object_name);
6345 _PUBLIC_ enum ndr_err_code ndr_push_netr_ChangeLogEntry(struct ndr_push *ndr, int ndr_flags, const struct netr_ChangeLogEntry *r)
6347 if (ndr_flags & NDR_SCALARS) {
6348 NDR_CHECK(ndr_push_align(ndr, 4));
6349 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->serial_number1));
6350 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->serial_number2));
6351 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->object_rid));
6352 NDR_CHECK(ndr_push_netr_ChangeLogFlags(ndr, NDR_SCALARS, r->flags));
6353 NDR_CHECK(ndr_push_netr_SamDatabaseID8Bit(ndr, NDR_SCALARS, r->db_index));
6354 NDR_CHECK(ndr_push_netr_DeltaEnum8Bit(ndr, NDR_SCALARS, r->delta_type));
6355 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->object, r->flags & (NETR_CHANGELOG_SID_INCLUDED | NETR_CHANGELOG_NAME_INCLUDED)));
6356 NDR_CHECK(ndr_push_netr_ChangeLogObject(ndr, NDR_SCALARS, &r->object));
6358 if (ndr_flags & NDR_BUFFERS) {
6359 NDR_CHECK(ndr_push_netr_ChangeLogObject(ndr, NDR_BUFFERS, &r->object));
6361 return NDR_ERR_SUCCESS;
6364 _PUBLIC_ enum ndr_err_code ndr_pull_netr_ChangeLogEntry(struct ndr_pull *ndr, int ndr_flags, struct netr_ChangeLogEntry *r)
6366 if (ndr_flags & NDR_SCALARS) {
6367 NDR_CHECK(ndr_pull_align(ndr, 4));
6368 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->serial_number1));
6369 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->serial_number2));
6370 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->object_rid));
6371 NDR_CHECK(ndr_pull_netr_ChangeLogFlags(ndr, NDR_SCALARS, &r->flags));
6372 NDR_CHECK(ndr_pull_netr_SamDatabaseID8Bit(ndr, NDR_SCALARS, &r->db_index));
6373 NDR_CHECK(ndr_pull_netr_DeltaEnum8Bit(ndr, NDR_SCALARS, &r->delta_type));
6374 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->object, r->flags & (NETR_CHANGELOG_SID_INCLUDED | NETR_CHANGELOG_NAME_INCLUDED)));
6375 NDR_CHECK(ndr_pull_netr_ChangeLogObject(ndr, NDR_SCALARS, &r->object));
6377 if (ndr_flags & NDR_BUFFERS) {
6378 NDR_CHECK(ndr_pull_netr_ChangeLogObject(ndr, NDR_BUFFERS, &r->object));
6380 return NDR_ERR_SUCCESS;
6383 _PUBLIC_ void ndr_print_netr_ChangeLogEntry(struct ndr_print *ndr, const char *name, const struct netr_ChangeLogEntry *r)
6385 ndr_print_struct(ndr, name, "netr_ChangeLogEntry");
6387 ndr_print_uint32(ndr, "serial_number1", r->serial_number1);
6388 ndr_print_uint32(ndr, "serial_number2", r->serial_number2);
6389 ndr_print_uint32(ndr, "object_rid", r->object_rid);
6390 ndr_print_netr_ChangeLogFlags(ndr, "flags", r->flags);
6391 ndr_print_netr_SamDatabaseID8Bit(ndr, "db_index", r->db_index);
6392 ndr_print_netr_DeltaEnum8Bit(ndr, "delta_type", r->delta_type);
6393 ndr_print_set_switch_value(ndr, &r->object, r->flags & (NETR_CHANGELOG_SID_INCLUDED | NETR_CHANGELOG_NAME_INCLUDED));
6394 ndr_print_netr_ChangeLogObject(ndr, "object", &r->object);
6398 _PUBLIC_ size_t ndr_size_netr_ChangeLogEntry(const struct netr_ChangeLogEntry *r, int flags)
6400 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_netr_ChangeLogEntry);
6403 static enum ndr_err_code ndr_push_netr_Blob(struct ndr_push *ndr, int ndr_flags, const struct netr_Blob *r)
6405 if (ndr_flags & NDR_SCALARS) {
6406 NDR_CHECK(ndr_push_align(ndr, 4));
6407 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
6408 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
6410 if (ndr_flags & NDR_BUFFERS) {
6412 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
6413 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
6416 return NDR_ERR_SUCCESS;
6419 static enum ndr_err_code ndr_pull_netr_Blob(struct ndr_pull *ndr, int ndr_flags, struct netr_Blob *r)
6422 TALLOC_CTX *_mem_save_data_0;
6423 if (ndr_flags & NDR_SCALARS) {
6424 NDR_CHECK(ndr_pull_align(ndr, 4));
6425 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
6426 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
6428 NDR_PULL_ALLOC(ndr, r->data);
6433 if (ndr_flags & NDR_BUFFERS) {
6435 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
6436 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
6437 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
6438 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
6439 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data)));
6440 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
6443 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length));
6446 return NDR_ERR_SUCCESS;
6449 _PUBLIC_ void ndr_print_netr_Blob(struct ndr_print *ndr, const char *name, const struct netr_Blob *r)
6451 ndr_print_struct(ndr, name, "netr_Blob");
6453 ndr_print_uint32(ndr, "length", r->length);
6454 ndr_print_ptr(ndr, "data", r->data);
6457 ndr_print_array_uint8(ndr, "data", r->data, r->length);
6463 static enum ndr_err_code ndr_push_netr_DsRGetDCName_flags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
6465 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
6466 return NDR_ERR_SUCCESS;
6469 static enum ndr_err_code ndr_pull_netr_DsRGetDCName_flags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
6472 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
6474 return NDR_ERR_SUCCESS;
6477 _PUBLIC_ void ndr_print_netr_DsRGetDCName_flags(struct ndr_print *ndr, const char *name, uint32_t r)
6479 ndr_print_uint32(ndr, name, r);
6481 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_FORCE_REDISCOVERY", DS_FORCE_REDISCOVERY, r);
6482 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DIRECTORY_SERVICE_REQUIRED", DS_DIRECTORY_SERVICE_REQUIRED, r);
6483 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DIRECTORY_SERVICE_PREFERRED", DS_DIRECTORY_SERVICE_PREFERRED, r);
6484 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_GC_SERVER_REQUIRED", DS_GC_SERVER_REQUIRED, r);
6485 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_PDC_REQUIRED", DS_PDC_REQUIRED, r);
6486 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_BACKGROUND_ONLY", DS_BACKGROUND_ONLY, r);
6487 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_IP_REQUIRED", DS_IP_REQUIRED, r);
6488 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_KDC_REQUIRED", DS_KDC_REQUIRED, r);
6489 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_TIMESERV_REQUIRED", DS_TIMESERV_REQUIRED, r);
6490 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_WRITABLE_REQUIRED", DS_WRITABLE_REQUIRED, r);
6491 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_GOOD_TIMESERV_PREFERRED", DS_GOOD_TIMESERV_PREFERRED, r);
6492 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_AVOID_SELF", DS_AVOID_SELF, r);
6493 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_ONLY_LDAP_NEEDED", DS_ONLY_LDAP_NEEDED, r);
6494 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_IS_FLAT_NAME", DS_IS_FLAT_NAME, r);
6495 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_IS_DNS_NAME", DS_IS_DNS_NAME, r);
6496 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_TRY_NEXTCLOSEST_SITE", DS_TRY_NEXTCLOSEST_SITE, r);
6497 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DIRECTORY_SERVICE_6_REQUIRED", DS_DIRECTORY_SERVICE_6_REQUIRED, r);
6498 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_RETURN_DNS_NAME", DS_RETURN_DNS_NAME, r);
6499 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_RETURN_FLAT_NAME", DS_RETURN_FLAT_NAME, r);
6503 static enum ndr_err_code ndr_push_netr_DsRGetDCNameInfo_AddressType(struct ndr_push *ndr, int ndr_flags, enum netr_DsRGetDCNameInfo_AddressType r)
6505 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
6506 return NDR_ERR_SUCCESS;
6509 static enum ndr_err_code ndr_pull_netr_DsRGetDCNameInfo_AddressType(struct ndr_pull *ndr, int ndr_flags, enum netr_DsRGetDCNameInfo_AddressType *r)
6512 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
6514 return NDR_ERR_SUCCESS;
6517 _PUBLIC_ void ndr_print_netr_DsRGetDCNameInfo_AddressType(struct ndr_print *ndr, const char *name, enum netr_DsRGetDCNameInfo_AddressType r)
6519 const char *val = NULL;
6522 case DS_ADDRESS_TYPE_INET: val = "DS_ADDRESS_TYPE_INET"; break;
6523 case DS_ADDRESS_TYPE_NETBIOS: val = "DS_ADDRESS_TYPE_NETBIOS"; break;
6525 ndr_print_enum(ndr, name, "ENUM", val, r);
6528 static enum ndr_err_code ndr_push_netr_DsR_DcFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
6530 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
6531 return NDR_ERR_SUCCESS;
6534 static enum ndr_err_code ndr_pull_netr_DsR_DcFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
6537 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
6539 return NDR_ERR_SUCCESS;
6542 _PUBLIC_ void ndr_print_netr_DsR_DcFlags(struct ndr_print *ndr, const char *name, uint32_t r)
6544 ndr_print_uint32(ndr, name, r);
6546 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_PDC", DS_SERVER_PDC, r);
6547 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_GC", DS_SERVER_GC, r);
6548 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_LDAP", DS_SERVER_LDAP, r);
6549 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_DS", DS_SERVER_DS, r);
6550 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_KDC", DS_SERVER_KDC, r);
6551 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_TIMESERV", DS_SERVER_TIMESERV, r);
6552 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_CLOSEST", DS_SERVER_CLOSEST, r);
6553 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_WRITABLE", DS_SERVER_WRITABLE, r);
6554 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_GOOD_TIMESERV", DS_SERVER_GOOD_TIMESERV, r);
6555 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_NDNC", DS_SERVER_NDNC, r);
6556 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_SELECT_SECRET_DOMAIN_6", DS_SERVER_SELECT_SECRET_DOMAIN_6, r);
6557 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_FULL_SECRET_DOMAIN_6", DS_SERVER_FULL_SECRET_DOMAIN_6, r);
6558 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DNS_CONTROLLER", DS_DNS_CONTROLLER, r);
6559 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DNS_DOMAIN", DS_DNS_DOMAIN, r);
6560 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DNS_FOREST", DS_DNS_FOREST, r);
6564 _PUBLIC_ enum ndr_err_code ndr_push_netr_DsRGetDCNameInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRGetDCNameInfo *r)
6566 if (ndr_flags & NDR_SCALARS) {
6567 NDR_CHECK(ndr_push_align(ndr, 4));
6568 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dc_unc));
6569 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dc_address));
6570 NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo_AddressType(ndr, NDR_SCALARS, r->dc_address_type));
6571 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->domain_guid));
6572 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_name));
6573 NDR_CHECK(ndr_push_unique_ptr(ndr, r->forest_name));
6574 NDR_CHECK(ndr_push_netr_DsR_DcFlags(ndr, NDR_SCALARS, r->dc_flags));
6575 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dc_site_name));
6576 NDR_CHECK(ndr_push_unique_ptr(ndr, r->client_site_name));
6578 if (ndr_flags & NDR_BUFFERS) {
6580 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_unc, CH_UTF16)));
6581 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6582 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_unc, CH_UTF16)));
6583 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dc_unc, ndr_charset_length(r->dc_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6585 if (r->dc_address) {
6586 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_address, CH_UTF16)));
6587 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6588 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_address, CH_UTF16)));
6589 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dc_address, ndr_charset_length(r->dc_address, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6591 if (r->domain_name) {
6592 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
6593 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6594 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
6595 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_name, ndr_charset_length(r->domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6597 if (r->forest_name) {
6598 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->forest_name, CH_UTF16)));
6599 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6600 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->forest_name, CH_UTF16)));
6601 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->forest_name, ndr_charset_length(r->forest_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6603 if (r->dc_site_name) {
6604 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_site_name, CH_UTF16)));
6605 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6606 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_site_name, CH_UTF16)));
6607 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));
6609 if (r->client_site_name) {
6610 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->client_site_name, CH_UTF16)));
6611 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6612 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->client_site_name, CH_UTF16)));
6613 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));
6616 return NDR_ERR_SUCCESS;
6619 _PUBLIC_ enum ndr_err_code ndr_pull_netr_DsRGetDCNameInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRGetDCNameInfo *r)
6621 uint32_t _ptr_dc_unc;
6622 TALLOC_CTX *_mem_save_dc_unc_0;
6623 uint32_t _ptr_dc_address;
6624 TALLOC_CTX *_mem_save_dc_address_0;
6625 uint32_t _ptr_domain_name;
6626 TALLOC_CTX *_mem_save_domain_name_0;
6627 uint32_t _ptr_forest_name;
6628 TALLOC_CTX *_mem_save_forest_name_0;
6629 uint32_t _ptr_dc_site_name;
6630 TALLOC_CTX *_mem_save_dc_site_name_0;
6631 uint32_t _ptr_client_site_name;
6632 TALLOC_CTX *_mem_save_client_site_name_0;
6633 if (ndr_flags & NDR_SCALARS) {
6634 NDR_CHECK(ndr_pull_align(ndr, 4));
6635 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dc_unc));
6637 NDR_PULL_ALLOC(ndr, r->dc_unc);
6641 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dc_address));
6642 if (_ptr_dc_address) {
6643 NDR_PULL_ALLOC(ndr, r->dc_address);
6645 r->dc_address = NULL;
6647 NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo_AddressType(ndr, NDR_SCALARS, &r->dc_address_type));
6648 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->domain_guid));
6649 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
6650 if (_ptr_domain_name) {
6651 NDR_PULL_ALLOC(ndr, r->domain_name);
6653 r->domain_name = NULL;
6655 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_forest_name));
6656 if (_ptr_forest_name) {
6657 NDR_PULL_ALLOC(ndr, r->forest_name);
6659 r->forest_name = NULL;
6661 NDR_CHECK(ndr_pull_netr_DsR_DcFlags(ndr, NDR_SCALARS, &r->dc_flags));
6662 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dc_site_name));
6663 if (_ptr_dc_site_name) {
6664 NDR_PULL_ALLOC(ndr, r->dc_site_name);
6666 r->dc_site_name = NULL;
6668 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_site_name));
6669 if (_ptr_client_site_name) {
6670 NDR_PULL_ALLOC(ndr, r->client_site_name);
6672 r->client_site_name = NULL;
6675 if (ndr_flags & NDR_BUFFERS) {
6677 _mem_save_dc_unc_0 = NDR_PULL_GET_MEM_CTX(ndr);
6678 NDR_PULL_SET_MEM_CTX(ndr, r->dc_unc, 0);
6679 NDR_CHECK(ndr_pull_array_size(ndr, &r->dc_unc));
6680 NDR_CHECK(ndr_pull_array_length(ndr, &r->dc_unc));
6681 if (ndr_get_array_length(ndr, &r->dc_unc) > ndr_get_array_size(ndr, &r->dc_unc)) {
6682 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));
6684 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dc_unc), sizeof(uint16_t)));
6685 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dc_unc, ndr_get_array_length(ndr, &r->dc_unc), sizeof(uint16_t), CH_UTF16));
6686 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dc_unc_0, 0);
6688 if (r->dc_address) {
6689 _mem_save_dc_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
6690 NDR_PULL_SET_MEM_CTX(ndr, r->dc_address, 0);
6691 NDR_CHECK(ndr_pull_array_size(ndr, &r->dc_address));
6692 NDR_CHECK(ndr_pull_array_length(ndr, &r->dc_address));
6693 if (ndr_get_array_length(ndr, &r->dc_address) > ndr_get_array_size(ndr, &r->dc_address)) {
6694 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));
6696 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dc_address), sizeof(uint16_t)));
6697 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dc_address, ndr_get_array_length(ndr, &r->dc_address), sizeof(uint16_t), CH_UTF16));
6698 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dc_address_0, 0);
6700 if (r->domain_name) {
6701 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6702 NDR_PULL_SET_MEM_CTX(ndr, r->domain_name, 0);
6703 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_name));
6704 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_name));
6705 if (ndr_get_array_length(ndr, &r->domain_name) > ndr_get_array_size(ndr, &r->domain_name)) {
6706 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));
6708 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t)));
6709 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t), CH_UTF16));
6710 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
6712 if (r->forest_name) {
6713 _mem_save_forest_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6714 NDR_PULL_SET_MEM_CTX(ndr, r->forest_name, 0);
6715 NDR_CHECK(ndr_pull_array_size(ndr, &r->forest_name));
6716 NDR_CHECK(ndr_pull_array_length(ndr, &r->forest_name));
6717 if (ndr_get_array_length(ndr, &r->forest_name) > ndr_get_array_size(ndr, &r->forest_name)) {
6718 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));
6720 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->forest_name), sizeof(uint16_t)));
6721 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->forest_name, ndr_get_array_length(ndr, &r->forest_name), sizeof(uint16_t), CH_UTF16));
6722 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_name_0, 0);
6724 if (r->dc_site_name) {
6725 _mem_save_dc_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6726 NDR_PULL_SET_MEM_CTX(ndr, r->dc_site_name, 0);
6727 NDR_CHECK(ndr_pull_array_size(ndr, &r->dc_site_name));
6728 NDR_CHECK(ndr_pull_array_length(ndr, &r->dc_site_name));
6729 if (ndr_get_array_length(ndr, &r->dc_site_name) > ndr_get_array_size(ndr, &r->dc_site_name)) {
6730 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));
6732 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dc_site_name), sizeof(uint16_t)));
6733 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));
6734 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dc_site_name_0, 0);
6736 if (r->client_site_name) {
6737 _mem_save_client_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6738 NDR_PULL_SET_MEM_CTX(ndr, r->client_site_name, 0);
6739 NDR_CHECK(ndr_pull_array_size(ndr, &r->client_site_name));
6740 NDR_CHECK(ndr_pull_array_length(ndr, &r->client_site_name));
6741 if (ndr_get_array_length(ndr, &r->client_site_name) > ndr_get_array_size(ndr, &r->client_site_name)) {
6742 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));
6744 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->client_site_name), sizeof(uint16_t)));
6745 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));
6746 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_site_name_0, 0);
6749 return NDR_ERR_SUCCESS;
6752 _PUBLIC_ void ndr_print_netr_DsRGetDCNameInfo(struct ndr_print *ndr, const char *name, const struct netr_DsRGetDCNameInfo *r)
6754 ndr_print_struct(ndr, name, "netr_DsRGetDCNameInfo");
6756 ndr_print_ptr(ndr, "dc_unc", r->dc_unc);
6759 ndr_print_string(ndr, "dc_unc", r->dc_unc);
6762 ndr_print_ptr(ndr, "dc_address", r->dc_address);
6764 if (r->dc_address) {
6765 ndr_print_string(ndr, "dc_address", r->dc_address);
6768 ndr_print_netr_DsRGetDCNameInfo_AddressType(ndr, "dc_address_type", r->dc_address_type);
6769 ndr_print_GUID(ndr, "domain_guid", &r->domain_guid);
6770 ndr_print_ptr(ndr, "domain_name", r->domain_name);
6772 if (r->domain_name) {
6773 ndr_print_string(ndr, "domain_name", r->domain_name);
6776 ndr_print_ptr(ndr, "forest_name", r->forest_name);
6778 if (r->forest_name) {
6779 ndr_print_string(ndr, "forest_name", r->forest_name);
6782 ndr_print_netr_DsR_DcFlags(ndr, "dc_flags", r->dc_flags);
6783 ndr_print_ptr(ndr, "dc_site_name", r->dc_site_name);
6785 if (r->dc_site_name) {
6786 ndr_print_string(ndr, "dc_site_name", r->dc_site_name);
6789 ndr_print_ptr(ndr, "client_site_name", r->client_site_name);
6791 if (r->client_site_name) {
6792 ndr_print_string(ndr, "client_site_name", r->client_site_name);
6798 static enum ndr_err_code ndr_push_netr_TrustFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
6800 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
6801 return NDR_ERR_SUCCESS;
6804 static enum ndr_err_code ndr_pull_netr_TrustFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
6807 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
6809 return NDR_ERR_SUCCESS;
6812 _PUBLIC_ void ndr_print_netr_TrustFlags(struct ndr_print *ndr, const char *name, uint32_t r)
6814 ndr_print_uint32(ndr, name, r);
6816 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_IN_FOREST", NETR_TRUST_FLAG_IN_FOREST, r);
6817 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_OUTBOUND", NETR_TRUST_FLAG_OUTBOUND, r);
6818 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_TREEROOT", NETR_TRUST_FLAG_TREEROOT, r);
6819 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_PRIMARY", NETR_TRUST_FLAG_PRIMARY, r);
6820 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_NATIVE", NETR_TRUST_FLAG_NATIVE, r);
6821 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_INBOUND", NETR_TRUST_FLAG_INBOUND, r);
6822 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_MIT_KRB5", NETR_TRUST_FLAG_MIT_KRB5, r);
6823 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_AES", NETR_TRUST_FLAG_AES, r);
6827 static enum ndr_err_code ndr_push_netr_BinaryString(struct ndr_push *ndr, int ndr_flags, const struct netr_BinaryString *r)
6829 uint32_t cntr_data_1;
6831 uint32_t _flags_save_STRUCT = ndr->flags;
6832 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
6833 if (ndr_flags & NDR_SCALARS) {
6834 NDR_CHECK(ndr_push_align(ndr, 4));
6835 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
6836 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->size));
6837 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
6839 if (ndr_flags & NDR_BUFFERS) {
6841 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size / 2));
6842 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6843 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length / 2));
6844 for (cntr_data_1 = 0; cntr_data_1 < r->length / 2; cntr_data_1++) {
6845 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->data[cntr_data_1]));
6849 ndr->flags = _flags_save_STRUCT;
6851 return NDR_ERR_SUCCESS;
6854 static enum ndr_err_code ndr_pull_netr_BinaryString(struct ndr_pull *ndr, int ndr_flags, struct netr_BinaryString *r)
6857 uint32_t cntr_data_1;
6858 TALLOC_CTX *_mem_save_data_0;
6859 TALLOC_CTX *_mem_save_data_1;
6861 uint32_t _flags_save_STRUCT = ndr->flags;
6862 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
6863 if (ndr_flags & NDR_SCALARS) {
6864 NDR_CHECK(ndr_pull_align(ndr, 4));
6865 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
6866 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
6867 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
6869 NDR_PULL_ALLOC(ndr, r->data);
6874 if (ndr_flags & NDR_BUFFERS) {
6876 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
6877 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
6878 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
6879 NDR_CHECK(ndr_pull_array_length(ndr, &r->data));
6880 if (ndr_get_array_length(ndr, &r->data) > ndr_get_array_size(ndr, &r->data)) {
6881 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));
6883 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
6884 _mem_save_data_1 = NDR_PULL_GET_MEM_CTX(ndr);
6885 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
6886 for (cntr_data_1 = 0; cntr_data_1 < r->length / 2; cntr_data_1++) {
6887 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->data[cntr_data_1]));
6889 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_1, 0);
6890 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
6893 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->size / 2));
6896 NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->data, r->length / 2));
6899 ndr->flags = _flags_save_STRUCT;
6901 return NDR_ERR_SUCCESS;
6904 _PUBLIC_ void ndr_print_netr_BinaryString(struct ndr_print *ndr, const char *name, const struct netr_BinaryString *r)
6906 uint32_t cntr_data_1;
6907 ndr_print_struct(ndr, name, "netr_BinaryString");
6909 uint32_t _flags_save_STRUCT = ndr->flags;
6910 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
6912 ndr_print_uint16(ndr, "length", r->length);
6913 ndr_print_uint16(ndr, "size", r->size);
6914 ndr_print_ptr(ndr, "data", r->data);
6917 ndr->print(ndr, "%s: ARRAY(%d)", "data", (int)r->length / 2);
6919 for (cntr_data_1=0;cntr_data_1<r->length / 2;cntr_data_1++) {
6921 if (asprintf(&idx_1, "[%d]", cntr_data_1) != -1) {
6922 ndr_print_uint16(ndr, "data", r->data[cntr_data_1]);
6930 ndr->flags = _flags_save_STRUCT;
6934 static enum ndr_err_code ndr_push_netr_DomainQuery1(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainQuery1 *r)
6936 uint32_t cntr_unknown7_0;
6937 if (ndr_flags & NDR_SCALARS) {
6938 NDR_CHECK(ndr_push_align(ndr, 4));
6939 NDR_CHECK(ndr_push_netr_Blob(ndr, NDR_SCALARS, &r->blob));
6940 NDR_CHECK(ndr_push_unique_ptr(ndr, r->workstation_domain));
6941 NDR_CHECK(ndr_push_unique_ptr(ndr, r->workstation_site));
6942 NDR_CHECK(ndr_push_unique_ptr(ndr, r->unknown1));
6943 NDR_CHECK(ndr_push_unique_ptr(ndr, r->unknown2));
6944 NDR_CHECK(ndr_push_unique_ptr(ndr, r->unknown3));
6945 NDR_CHECK(ndr_push_unique_ptr(ndr, r->unknown4));
6946 NDR_CHECK(ndr_push_netr_BinaryString(ndr, NDR_SCALARS, &r->blob2));
6947 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->product));
6948 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown5));
6949 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown6));
6950 for (cntr_unknown7_0 = 0; cntr_unknown7_0 < 4; cntr_unknown7_0++) {
6951 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7[cntr_unknown7_0]));
6954 if (ndr_flags & NDR_BUFFERS) {
6955 NDR_CHECK(ndr_push_netr_Blob(ndr, NDR_BUFFERS, &r->blob));
6956 if (r->workstation_domain) {
6957 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->workstation_domain, CH_UTF16)));
6958 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6959 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->workstation_domain, CH_UTF16)));
6960 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->workstation_domain, ndr_charset_length(r->workstation_domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6962 if (r->workstation_site) {
6963 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->workstation_site, CH_UTF16)));
6964 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6965 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->workstation_site, CH_UTF16)));
6966 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->workstation_site, ndr_charset_length(r->workstation_site, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6969 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown1, CH_UTF16)));
6970 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6971 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown1, CH_UTF16)));
6972 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->unknown1, ndr_charset_length(r->unknown1, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6975 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown2, CH_UTF16)));
6976 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6977 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown2, CH_UTF16)));
6978 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->unknown2, ndr_charset_length(r->unknown2, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6981 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown3, CH_UTF16)));
6982 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6983 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown3, CH_UTF16)));
6984 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->unknown3, ndr_charset_length(r->unknown3, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6987 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown4, CH_UTF16)));
6988 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6989 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown4, CH_UTF16)));
6990 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->unknown4, ndr_charset_length(r->unknown4, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6992 NDR_CHECK(ndr_push_netr_BinaryString(ndr, NDR_BUFFERS, &r->blob2));
6993 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->product));
6994 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown5));
6995 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown6));
6997 return NDR_ERR_SUCCESS;
7000 static enum ndr_err_code ndr_pull_netr_DomainQuery1(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainQuery1 *r)
7002 uint32_t _ptr_workstation_domain;
7003 TALLOC_CTX *_mem_save_workstation_domain_0;
7004 uint32_t _ptr_workstation_site;
7005 TALLOC_CTX *_mem_save_workstation_site_0;
7006 uint32_t _ptr_unknown1;
7007 TALLOC_CTX *_mem_save_unknown1_0;
7008 uint32_t _ptr_unknown2;
7009 TALLOC_CTX *_mem_save_unknown2_0;
7010 uint32_t _ptr_unknown3;
7011 TALLOC_CTX *_mem_save_unknown3_0;
7012 uint32_t _ptr_unknown4;
7013 TALLOC_CTX *_mem_save_unknown4_0;
7014 uint32_t cntr_unknown7_0;
7015 if (ndr_flags & NDR_SCALARS) {
7016 NDR_CHECK(ndr_pull_align(ndr, 4));
7017 NDR_CHECK(ndr_pull_netr_Blob(ndr, NDR_SCALARS, &r->blob));
7018 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_workstation_domain));
7019 if (_ptr_workstation_domain) {
7020 NDR_PULL_ALLOC(ndr, r->workstation_domain);
7022 r->workstation_domain = NULL;
7024 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_workstation_site));
7025 if (_ptr_workstation_site) {
7026 NDR_PULL_ALLOC(ndr, r->workstation_site);
7028 r->workstation_site = NULL;
7030 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown1));
7031 if (_ptr_unknown1) {
7032 NDR_PULL_ALLOC(ndr, r->unknown1);
7036 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown2));
7037 if (_ptr_unknown2) {
7038 NDR_PULL_ALLOC(ndr, r->unknown2);
7042 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown3));
7043 if (_ptr_unknown3) {
7044 NDR_PULL_ALLOC(ndr, r->unknown3);
7048 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown4));
7049 if (_ptr_unknown4) {
7050 NDR_PULL_ALLOC(ndr, r->unknown4);
7054 NDR_CHECK(ndr_pull_netr_BinaryString(ndr, NDR_SCALARS, &r->blob2));
7055 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->product));
7056 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown5));
7057 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown6));
7058 for (cntr_unknown7_0 = 0; cntr_unknown7_0 < 4; cntr_unknown7_0++) {
7059 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7[cntr_unknown7_0]));
7062 if (ndr_flags & NDR_BUFFERS) {
7063 NDR_CHECK(ndr_pull_netr_Blob(ndr, NDR_BUFFERS, &r->blob));
7064 if (r->workstation_domain) {
7065 _mem_save_workstation_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
7066 NDR_PULL_SET_MEM_CTX(ndr, r->workstation_domain, 0);
7067 NDR_CHECK(ndr_pull_array_size(ndr, &r->workstation_domain));
7068 NDR_CHECK(ndr_pull_array_length(ndr, &r->workstation_domain));
7069 if (ndr_get_array_length(ndr, &r->workstation_domain) > ndr_get_array_size(ndr, &r->workstation_domain)) {
7070 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));
7072 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->workstation_domain), sizeof(uint16_t)));
7073 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->workstation_domain, ndr_get_array_length(ndr, &r->workstation_domain), sizeof(uint16_t), CH_UTF16));
7074 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_workstation_domain_0, 0);
7076 if (r->workstation_site) {
7077 _mem_save_workstation_site_0 = NDR_PULL_GET_MEM_CTX(ndr);
7078 NDR_PULL_SET_MEM_CTX(ndr, r->workstation_site, 0);
7079 NDR_CHECK(ndr_pull_array_size(ndr, &r->workstation_site));
7080 NDR_CHECK(ndr_pull_array_length(ndr, &r->workstation_site));
7081 if (ndr_get_array_length(ndr, &r->workstation_site) > ndr_get_array_size(ndr, &r->workstation_site)) {
7082 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));
7084 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->workstation_site), sizeof(uint16_t)));
7085 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->workstation_site, ndr_get_array_length(ndr, &r->workstation_site), sizeof(uint16_t), CH_UTF16));
7086 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_workstation_site_0, 0);
7089 _mem_save_unknown1_0 = NDR_PULL_GET_MEM_CTX(ndr);
7090 NDR_PULL_SET_MEM_CTX(ndr, r->unknown1, 0);
7091 NDR_CHECK(ndr_pull_array_size(ndr, &r->unknown1));
7092 NDR_CHECK(ndr_pull_array_length(ndr, &r->unknown1));
7093 if (ndr_get_array_length(ndr, &r->unknown1) > ndr_get_array_size(ndr, &r->unknown1)) {
7094 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));
7096 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->unknown1), sizeof(uint16_t)));
7097 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->unknown1, ndr_get_array_length(ndr, &r->unknown1), sizeof(uint16_t), CH_UTF16));
7098 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown1_0, 0);
7101 _mem_save_unknown2_0 = NDR_PULL_GET_MEM_CTX(ndr);
7102 NDR_PULL_SET_MEM_CTX(ndr, r->unknown2, 0);
7103 NDR_CHECK(ndr_pull_array_size(ndr, &r->unknown2));
7104 NDR_CHECK(ndr_pull_array_length(ndr, &r->unknown2));
7105 if (ndr_get_array_length(ndr, &r->unknown2) > ndr_get_array_size(ndr, &r->unknown2)) {
7106 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));
7108 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->unknown2), sizeof(uint16_t)));
7109 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->unknown2, ndr_get_array_length(ndr, &r->unknown2), sizeof(uint16_t), CH_UTF16));
7110 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown2_0, 0);
7113 _mem_save_unknown3_0 = NDR_PULL_GET_MEM_CTX(ndr);
7114 NDR_PULL_SET_MEM_CTX(ndr, r->unknown3, 0);
7115 NDR_CHECK(ndr_pull_array_size(ndr, &r->unknown3));
7116 NDR_CHECK(ndr_pull_array_length(ndr, &r->unknown3));
7117 if (ndr_get_array_length(ndr, &r->unknown3) > ndr_get_array_size(ndr, &r->unknown3)) {
7118 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));
7120 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->unknown3), sizeof(uint16_t)));
7121 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->unknown3, ndr_get_array_length(ndr, &r->unknown3), sizeof(uint16_t), CH_UTF16));
7122 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown3_0, 0);
7125 _mem_save_unknown4_0 = NDR_PULL_GET_MEM_CTX(ndr);
7126 NDR_PULL_SET_MEM_CTX(ndr, r->unknown4, 0);
7127 NDR_CHECK(ndr_pull_array_size(ndr, &r->unknown4));
7128 NDR_CHECK(ndr_pull_array_length(ndr, &r->unknown4));
7129 if (ndr_get_array_length(ndr, &r->unknown4) > ndr_get_array_size(ndr, &r->unknown4)) {
7130 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));
7132 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->unknown4), sizeof(uint16_t)));
7133 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->unknown4, ndr_get_array_length(ndr, &r->unknown4), sizeof(uint16_t), CH_UTF16));
7134 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown4_0, 0);
7136 NDR_CHECK(ndr_pull_netr_BinaryString(ndr, NDR_BUFFERS, &r->blob2));
7137 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->product));
7138 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown5));
7139 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown6));
7141 return NDR_ERR_SUCCESS;
7144 _PUBLIC_ void ndr_print_netr_DomainQuery1(struct ndr_print *ndr, const char *name, const struct netr_DomainQuery1 *r)
7146 uint32_t cntr_unknown7_0;
7147 ndr_print_struct(ndr, name, "netr_DomainQuery1");
7149 ndr_print_netr_Blob(ndr, "blob", &r->blob);
7150 ndr_print_ptr(ndr, "workstation_domain", r->workstation_domain);
7152 if (r->workstation_domain) {
7153 ndr_print_string(ndr, "workstation_domain", r->workstation_domain);
7156 ndr_print_ptr(ndr, "workstation_site", r->workstation_site);
7158 if (r->workstation_site) {
7159 ndr_print_string(ndr, "workstation_site", r->workstation_site);
7162 ndr_print_ptr(ndr, "unknown1", r->unknown1);
7165 ndr_print_string(ndr, "unknown1", r->unknown1);
7168 ndr_print_ptr(ndr, "unknown2", r->unknown2);
7171 ndr_print_string(ndr, "unknown2", r->unknown2);
7174 ndr_print_ptr(ndr, "unknown3", r->unknown3);
7177 ndr_print_string(ndr, "unknown3", r->unknown3);
7180 ndr_print_ptr(ndr, "unknown4", r->unknown4);
7183 ndr_print_string(ndr, "unknown4", r->unknown4);
7186 ndr_print_netr_BinaryString(ndr, "blob2", &r->blob2);
7187 ndr_print_lsa_String(ndr, "product", &r->product);
7188 ndr_print_lsa_String(ndr, "unknown5", &r->unknown5);
7189 ndr_print_lsa_String(ndr, "unknown6", &r->unknown6);
7190 ndr->print(ndr, "%s: ARRAY(%d)", "unknown7", (int)4);
7192 for (cntr_unknown7_0=0;cntr_unknown7_0<4;cntr_unknown7_0++) {
7194 if (asprintf(&idx_0, "[%d]", cntr_unknown7_0) != -1) {
7195 ndr_print_uint32(ndr, "unknown7", r->unknown7[cntr_unknown7_0]);
7203 static enum ndr_err_code ndr_push_netr_DomainQuery(struct ndr_push *ndr, int ndr_flags, const union netr_DomainQuery *r)
7205 if (ndr_flags & NDR_SCALARS) {
7206 int level = ndr_push_get_switch_value(ndr, r);
7207 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
7210 NDR_CHECK(ndr_push_unique_ptr(ndr, r->query1));
7214 NDR_CHECK(ndr_push_unique_ptr(ndr, r->query1));
7218 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7221 if (ndr_flags & NDR_BUFFERS) {
7222 int level = ndr_push_get_switch_value(ndr, r);
7226 NDR_CHECK(ndr_push_netr_DomainQuery1(ndr, NDR_SCALARS|NDR_BUFFERS, r->query1));
7232 NDR_CHECK(ndr_push_netr_DomainQuery1(ndr, NDR_SCALARS|NDR_BUFFERS, r->query1));
7237 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7240 return NDR_ERR_SUCCESS;
7243 static enum ndr_err_code ndr_pull_netr_DomainQuery(struct ndr_pull *ndr, int ndr_flags, union netr_DomainQuery *r)
7247 TALLOC_CTX *_mem_save_query1_0;
7248 level = ndr_pull_get_switch_value(ndr, r);
7249 if (ndr_flags & NDR_SCALARS) {
7250 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
7251 if (_level != level) {
7252 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
7256 uint32_t _ptr_query1;
7257 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_query1));
7259 NDR_PULL_ALLOC(ndr, r->query1);
7266 uint32_t _ptr_query1;
7267 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_query1));
7269 NDR_PULL_ALLOC(ndr, r->query1);
7276 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7279 if (ndr_flags & NDR_BUFFERS) {
7283 _mem_save_query1_0 = NDR_PULL_GET_MEM_CTX(ndr);
7284 NDR_PULL_SET_MEM_CTX(ndr, r->query1, 0);
7285 NDR_CHECK(ndr_pull_netr_DomainQuery1(ndr, NDR_SCALARS|NDR_BUFFERS, r->query1));
7286 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query1_0, 0);
7292 _mem_save_query1_0 = NDR_PULL_GET_MEM_CTX(ndr);
7293 NDR_PULL_SET_MEM_CTX(ndr, r->query1, 0);
7294 NDR_CHECK(ndr_pull_netr_DomainQuery1(ndr, NDR_SCALARS|NDR_BUFFERS, r->query1));
7295 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query1_0, 0);
7300 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7303 return NDR_ERR_SUCCESS;
7306 _PUBLIC_ void ndr_print_netr_DomainQuery(struct ndr_print *ndr, const char *name, const union netr_DomainQuery *r)
7309 level = ndr_print_get_switch_value(ndr, r);
7310 ndr_print_union(ndr, name, level, "netr_DomainQuery");
7313 ndr_print_ptr(ndr, "query1", r->query1);
7316 ndr_print_netr_DomainQuery1(ndr, "query1", r->query1);
7322 ndr_print_ptr(ndr, "query1", r->query1);
7325 ndr_print_netr_DomainQuery1(ndr, "query1", r->query1);
7331 ndr_print_bad_level(ndr, name, level);
7335 static enum ndr_err_code ndr_push_netr_trust_extension(struct ndr_push *ndr, int ndr_flags, const struct netr_trust_extension *r)
7337 if (ndr_flags & NDR_SCALARS) {
7338 NDR_CHECK(ndr_push_align(ndr, 4));
7339 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 8));
7340 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7341 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 8));
7342 NDR_CHECK(ndr_push_netr_TrustFlags(ndr, NDR_SCALARS, r->flags));
7343 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->parent_index));
7344 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->trust_type));
7345 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->trust_attributes));
7347 if (ndr_flags & NDR_BUFFERS) {
7349 return NDR_ERR_SUCCESS;
7352 static enum ndr_err_code ndr_pull_netr_trust_extension(struct ndr_pull *ndr, int ndr_flags, struct netr_trust_extension *r)
7354 if (ndr_flags & NDR_SCALARS) {
7355 NDR_CHECK(ndr_pull_align(ndr, 4));
7356 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
7357 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy));
7358 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
7359 NDR_CHECK(ndr_pull_netr_TrustFlags(ndr, NDR_SCALARS, &r->flags));
7360 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->parent_index));
7361 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->trust_type));
7362 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->trust_attributes));
7364 if (ndr_flags & NDR_BUFFERS) {
7366 return NDR_ERR_SUCCESS;
7369 _PUBLIC_ void ndr_print_netr_trust_extension(struct ndr_print *ndr, const char *name, const struct netr_trust_extension *r)
7371 ndr_print_struct(ndr, name, "netr_trust_extension");
7373 ndr_print_uint32(ndr, "length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?8:r->length);
7374 ndr_print_uint32(ndr, "dummy", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->dummy);
7375 ndr_print_uint32(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?8:r->size);
7376 ndr_print_netr_TrustFlags(ndr, "flags", r->flags);
7377 ndr_print_uint32(ndr, "parent_index", r->parent_index);
7378 ndr_print_uint32(ndr, "trust_type", r->trust_type);
7379 ndr_print_uint32(ndr, "trust_attributes", r->trust_attributes);
7383 static enum ndr_err_code ndr_push_netr_trust_extension_container(struct ndr_push *ndr, int ndr_flags, const struct netr_trust_extension_container *r)
7385 if (ndr_flags & NDR_SCALARS) {
7386 NDR_CHECK(ndr_push_align(ndr, 4));
7387 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
7388 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
7389 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info));
7391 if (ndr_flags & NDR_BUFFERS) {
7393 NDR_CHECK(ndr_push_netr_trust_extension(ndr, NDR_SCALARS, r->info));
7396 return NDR_ERR_SUCCESS;
7399 static enum ndr_err_code ndr_pull_netr_trust_extension_container(struct ndr_pull *ndr, int ndr_flags, struct netr_trust_extension_container *r)
7402 TALLOC_CTX *_mem_save_info_0;
7403 if (ndr_flags & NDR_SCALARS) {
7404 NDR_CHECK(ndr_pull_align(ndr, 4));
7405 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
7406 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
7407 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
7409 NDR_PULL_ALLOC(ndr, r->info);
7414 if (ndr_flags & NDR_BUFFERS) {
7416 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
7417 NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
7418 NDR_CHECK(ndr_pull_netr_trust_extension(ndr, NDR_SCALARS, r->info));
7419 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
7422 return NDR_ERR_SUCCESS;
7425 _PUBLIC_ void ndr_print_netr_trust_extension_container(struct ndr_print *ndr, const char *name, const struct netr_trust_extension_container *r)
7427 ndr_print_struct(ndr, name, "netr_trust_extension_container");
7429 ndr_print_uint16(ndr, "length", r->length);
7430 ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->length:r->size);
7431 ndr_print_ptr(ndr, "info", r->info);
7434 ndr_print_netr_trust_extension(ndr, "info", r->info);
7440 static enum ndr_err_code ndr_push_netr_DomainTrustInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainTrustInfo *r)
7442 uint32_t cntr_dummystring_0;
7443 uint32_t cntr_dummy_0;
7444 if (ndr_flags & NDR_SCALARS) {
7445 NDR_CHECK(ndr_push_align(ndr, 4));
7446 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domainname));
7447 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->fulldomainname));
7448 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->forest));
7449 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
7450 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
7451 NDR_CHECK(ndr_push_netr_trust_extension_container(ndr, NDR_SCALARS, &r->trust_extension));
7452 for (cntr_dummystring_0 = 0; cntr_dummystring_0 < 3; cntr_dummystring_0++) {
7453 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->dummystring[cntr_dummystring_0]));
7455 for (cntr_dummy_0 = 0; cntr_dummy_0 < 4; cntr_dummy_0++) {
7456 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy[cntr_dummy_0]));
7459 if (ndr_flags & NDR_BUFFERS) {
7460 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domainname));
7461 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->fulldomainname));
7462 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->forest));
7464 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
7466 NDR_CHECK(ndr_push_netr_trust_extension_container(ndr, NDR_BUFFERS, &r->trust_extension));
7467 for (cntr_dummystring_0 = 0; cntr_dummystring_0 < 3; cntr_dummystring_0++) {
7468 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->dummystring[cntr_dummystring_0]));
7471 return NDR_ERR_SUCCESS;
7474 static enum ndr_err_code ndr_pull_netr_DomainTrustInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainTrustInfo *r)
7477 TALLOC_CTX *_mem_save_sid_0;
7478 uint32_t cntr_dummystring_0;
7479 uint32_t cntr_dummy_0;
7480 if (ndr_flags & NDR_SCALARS) {
7481 NDR_CHECK(ndr_pull_align(ndr, 4));
7482 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domainname));
7483 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->fulldomainname));
7484 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->forest));
7485 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
7486 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
7488 NDR_PULL_ALLOC(ndr, r->sid);
7492 NDR_CHECK(ndr_pull_netr_trust_extension_container(ndr, NDR_SCALARS, &r->trust_extension));
7493 for (cntr_dummystring_0 = 0; cntr_dummystring_0 < 3; cntr_dummystring_0++) {
7494 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->dummystring[cntr_dummystring_0]));
7496 for (cntr_dummy_0 = 0; cntr_dummy_0 < 4; cntr_dummy_0++) {
7497 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy[cntr_dummy_0]));
7500 if (ndr_flags & NDR_BUFFERS) {
7501 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domainname));
7502 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->fulldomainname));
7503 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->forest));
7505 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
7506 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
7507 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
7508 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
7510 NDR_CHECK(ndr_pull_netr_trust_extension_container(ndr, NDR_BUFFERS, &r->trust_extension));
7511 for (cntr_dummystring_0 = 0; cntr_dummystring_0 < 3; cntr_dummystring_0++) {
7512 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->dummystring[cntr_dummystring_0]));
7515 return NDR_ERR_SUCCESS;
7518 _PUBLIC_ void ndr_print_netr_DomainTrustInfo(struct ndr_print *ndr, const char *name, const struct netr_DomainTrustInfo *r)
7520 uint32_t cntr_dummystring_0;
7521 uint32_t cntr_dummy_0;
7522 ndr_print_struct(ndr, name, "netr_DomainTrustInfo");
7524 ndr_print_lsa_String(ndr, "domainname", &r->domainname);
7525 ndr_print_lsa_String(ndr, "fulldomainname", &r->fulldomainname);
7526 ndr_print_lsa_String(ndr, "forest", &r->forest);
7527 ndr_print_GUID(ndr, "guid", &r->guid);
7528 ndr_print_ptr(ndr, "sid", r->sid);
7531 ndr_print_dom_sid2(ndr, "sid", r->sid);
7534 ndr_print_netr_trust_extension_container(ndr, "trust_extension", &r->trust_extension);
7535 ndr->print(ndr, "%s: ARRAY(%d)", "dummystring", (int)3);
7537 for (cntr_dummystring_0=0;cntr_dummystring_0<3;cntr_dummystring_0++) {
7539 if (asprintf(&idx_0, "[%d]", cntr_dummystring_0) != -1) {
7540 ndr_print_lsa_String(ndr, "dummystring", &r->dummystring[cntr_dummystring_0]);
7545 ndr->print(ndr, "%s: ARRAY(%d)", "dummy", (int)4);
7547 for (cntr_dummy_0=0;cntr_dummy_0<4;cntr_dummy_0++) {
7549 if (asprintf(&idx_0, "[%d]", cntr_dummy_0) != -1) {
7550 ndr_print_uint32(ndr, "dummy", r->dummy[cntr_dummy_0]);
7558 static enum ndr_err_code ndr_push_netr_LsaPolicyInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_LsaPolicyInfo *r)
7560 if (ndr_flags & NDR_SCALARS) {
7561 NDR_CHECK(ndr_push_align(ndr, 4));
7562 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->policy_size));
7563 NDR_CHECK(ndr_push_unique_ptr(ndr, r->policy));
7565 if (ndr_flags & NDR_BUFFERS) {
7567 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->policy_size));
7568 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->policy, r->policy_size));
7571 return NDR_ERR_SUCCESS;
7574 static enum ndr_err_code ndr_pull_netr_LsaPolicyInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_LsaPolicyInfo *r)
7576 uint32_t _ptr_policy;
7577 TALLOC_CTX *_mem_save_policy_0;
7578 if (ndr_flags & NDR_SCALARS) {
7579 NDR_CHECK(ndr_pull_align(ndr, 4));
7580 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->policy_size));
7581 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_policy));
7583 NDR_PULL_ALLOC(ndr, r->policy);
7588 if (ndr_flags & NDR_BUFFERS) {
7590 _mem_save_policy_0 = NDR_PULL_GET_MEM_CTX(ndr);
7591 NDR_PULL_SET_MEM_CTX(ndr, r->policy, 0);
7592 NDR_CHECK(ndr_pull_array_size(ndr, &r->policy));
7593 NDR_PULL_ALLOC_N(ndr, r->policy, ndr_get_array_size(ndr, &r->policy));
7594 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->policy, ndr_get_array_size(ndr, &r->policy)));
7595 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_policy_0, 0);
7598 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->policy, r->policy_size));
7601 return NDR_ERR_SUCCESS;
7604 _PUBLIC_ void ndr_print_netr_LsaPolicyInfo(struct ndr_print *ndr, const char *name, const struct netr_LsaPolicyInfo *r)
7606 ndr_print_struct(ndr, name, "netr_LsaPolicyInfo");
7608 ndr_print_uint32(ndr, "policy_size", r->policy_size);
7609 ndr_print_ptr(ndr, "policy", r->policy);
7612 ndr_print_array_uint8(ndr, "policy", r->policy, r->policy_size);
7618 _PUBLIC_ enum ndr_err_code ndr_push_netr_WorkstationFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
7620 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
7621 return NDR_ERR_SUCCESS;
7624 _PUBLIC_ enum ndr_err_code ndr_pull_netr_WorkstationFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
7627 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
7629 return NDR_ERR_SUCCESS;
7632 _PUBLIC_ void ndr_print_netr_WorkstationFlags(struct ndr_print *ndr, const char *name, uint32_t r)
7634 ndr_print_uint32(ndr, name, r);
7636 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_WS_FLAG_HANDLES_INBOUND_TRUSTS", NETR_WS_FLAG_HANDLES_INBOUND_TRUSTS, r);
7637 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_WS_FLAG_HANDLES_SPN_UPDATE", NETR_WS_FLAG_HANDLES_SPN_UPDATE, r);
7641 static enum ndr_err_code ndr_push_netr_DomainInfo1(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainInfo1 *r)
7643 uint32_t cntr_trusts_1;
7644 uint32_t cntr_dummystring_0;
7645 uint32_t cntr_dummy_0;
7646 if (ndr_flags & NDR_SCALARS) {
7647 NDR_CHECK(ndr_push_align(ndr, 4));
7648 NDR_CHECK(ndr_push_netr_DomainTrustInfo(ndr, NDR_SCALARS, &r->domaininfo));
7649 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_trusts));
7650 NDR_CHECK(ndr_push_unique_ptr(ndr, r->trusts));
7651 NDR_CHECK(ndr_push_netr_LsaPolicyInfo(ndr, NDR_SCALARS, &r->lsa_policy));
7652 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->dns_hostname));
7653 for (cntr_dummystring_0 = 0; cntr_dummystring_0 < 3; cntr_dummystring_0++) {
7654 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->dummystring[cntr_dummystring_0]));
7656 NDR_CHECK(ndr_push_netr_WorkstationFlags(ndr, NDR_SCALARS, r->workstation_flags));
7657 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->supported_enc_types));
7658 for (cntr_dummy_0 = 0; cntr_dummy_0 < 2; cntr_dummy_0++) {
7659 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy[cntr_dummy_0]));
7662 if (ndr_flags & NDR_BUFFERS) {
7663 NDR_CHECK(ndr_push_netr_DomainTrustInfo(ndr, NDR_BUFFERS, &r->domaininfo));
7665 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_trusts));
7666 for (cntr_trusts_1 = 0; cntr_trusts_1 < r->num_trusts; cntr_trusts_1++) {
7667 NDR_CHECK(ndr_push_netr_DomainTrustInfo(ndr, NDR_SCALARS, &r->trusts[cntr_trusts_1]));
7669 for (cntr_trusts_1 = 0; cntr_trusts_1 < r->num_trusts; cntr_trusts_1++) {
7670 NDR_CHECK(ndr_push_netr_DomainTrustInfo(ndr, NDR_BUFFERS, &r->trusts[cntr_trusts_1]));
7673 NDR_CHECK(ndr_push_netr_LsaPolicyInfo(ndr, NDR_BUFFERS, &r->lsa_policy));
7674 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->dns_hostname));
7675 for (cntr_dummystring_0 = 0; cntr_dummystring_0 < 3; cntr_dummystring_0++) {
7676 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->dummystring[cntr_dummystring_0]));
7679 return NDR_ERR_SUCCESS;
7682 static enum ndr_err_code ndr_pull_netr_DomainInfo1(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainInfo1 *r)
7684 uint32_t _ptr_trusts;
7685 uint32_t cntr_trusts_1;
7686 TALLOC_CTX *_mem_save_trusts_0;
7687 TALLOC_CTX *_mem_save_trusts_1;
7688 uint32_t cntr_dummystring_0;
7689 uint32_t cntr_dummy_0;
7690 if (ndr_flags & NDR_SCALARS) {
7691 NDR_CHECK(ndr_pull_align(ndr, 4));
7692 NDR_CHECK(ndr_pull_netr_DomainTrustInfo(ndr, NDR_SCALARS, &r->domaininfo));
7693 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_trusts));
7694 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusts));
7696 NDR_PULL_ALLOC(ndr, r->trusts);
7700 NDR_CHECK(ndr_pull_netr_LsaPolicyInfo(ndr, NDR_SCALARS, &r->lsa_policy));
7701 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->dns_hostname));
7702 for (cntr_dummystring_0 = 0; cntr_dummystring_0 < 3; cntr_dummystring_0++) {
7703 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->dummystring[cntr_dummystring_0]));
7705 NDR_CHECK(ndr_pull_netr_WorkstationFlags(ndr, NDR_SCALARS, &r->workstation_flags));
7706 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->supported_enc_types));
7707 for (cntr_dummy_0 = 0; cntr_dummy_0 < 2; cntr_dummy_0++) {
7708 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy[cntr_dummy_0]));
7711 if (ndr_flags & NDR_BUFFERS) {
7712 NDR_CHECK(ndr_pull_netr_DomainTrustInfo(ndr, NDR_BUFFERS, &r->domaininfo));
7714 _mem_save_trusts_0 = NDR_PULL_GET_MEM_CTX(ndr);
7715 NDR_PULL_SET_MEM_CTX(ndr, r->trusts, 0);
7716 NDR_CHECK(ndr_pull_array_size(ndr, &r->trusts));
7717 NDR_PULL_ALLOC_N(ndr, r->trusts, ndr_get_array_size(ndr, &r->trusts));
7718 _mem_save_trusts_1 = NDR_PULL_GET_MEM_CTX(ndr);
7719 NDR_PULL_SET_MEM_CTX(ndr, r->trusts, 0);
7720 for (cntr_trusts_1 = 0; cntr_trusts_1 < r->num_trusts; cntr_trusts_1++) {
7721 NDR_CHECK(ndr_pull_netr_DomainTrustInfo(ndr, NDR_SCALARS, &r->trusts[cntr_trusts_1]));
7723 for (cntr_trusts_1 = 0; cntr_trusts_1 < r->num_trusts; cntr_trusts_1++) {
7724 NDR_CHECK(ndr_pull_netr_DomainTrustInfo(ndr, NDR_BUFFERS, &r->trusts[cntr_trusts_1]));
7726 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusts_1, 0);
7727 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusts_0, 0);
7729 NDR_CHECK(ndr_pull_netr_LsaPolicyInfo(ndr, NDR_BUFFERS, &r->lsa_policy));
7730 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->dns_hostname));
7731 for (cntr_dummystring_0 = 0; cntr_dummystring_0 < 3; cntr_dummystring_0++) {
7732 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->dummystring[cntr_dummystring_0]));
7735 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->trusts, r->num_trusts));
7738 return NDR_ERR_SUCCESS;
7741 _PUBLIC_ void ndr_print_netr_DomainInfo1(struct ndr_print *ndr, const char *name, const struct netr_DomainInfo1 *r)
7743 uint32_t cntr_trusts_1;
7744 uint32_t cntr_dummystring_0;
7745 uint32_t cntr_dummy_0;
7746 ndr_print_struct(ndr, name, "netr_DomainInfo1");
7748 ndr_print_netr_DomainTrustInfo(ndr, "domaininfo", &r->domaininfo);
7749 ndr_print_uint32(ndr, "num_trusts", r->num_trusts);
7750 ndr_print_ptr(ndr, "trusts", r->trusts);
7753 ndr->print(ndr, "%s: ARRAY(%d)", "trusts", (int)r->num_trusts);
7755 for (cntr_trusts_1=0;cntr_trusts_1<r->num_trusts;cntr_trusts_1++) {
7757 if (asprintf(&idx_1, "[%d]", cntr_trusts_1) != -1) {
7758 ndr_print_netr_DomainTrustInfo(ndr, "trusts", &r->trusts[cntr_trusts_1]);
7765 ndr_print_netr_LsaPolicyInfo(ndr, "lsa_policy", &r->lsa_policy);
7766 ndr_print_lsa_String(ndr, "dns_hostname", &r->dns_hostname);
7767 ndr->print(ndr, "%s: ARRAY(%d)", "dummystring", (int)3);
7769 for (cntr_dummystring_0=0;cntr_dummystring_0<3;cntr_dummystring_0++) {
7771 if (asprintf(&idx_0, "[%d]", cntr_dummystring_0) != -1) {
7772 ndr_print_lsa_String(ndr, "dummystring", &r->dummystring[cntr_dummystring_0]);
7777 ndr_print_netr_WorkstationFlags(ndr, "workstation_flags", r->workstation_flags);
7778 ndr_print_uint32(ndr, "supported_enc_types", r->supported_enc_types);
7779 ndr->print(ndr, "%s: ARRAY(%d)", "dummy", (int)2);
7781 for (cntr_dummy_0=0;cntr_dummy_0<2;cntr_dummy_0++) {
7783 if (asprintf(&idx_0, "[%d]", cntr_dummy_0) != -1) {
7784 ndr_print_uint32(ndr, "dummy", r->dummy[cntr_dummy_0]);
7792 static enum ndr_err_code ndr_push_netr_DomainInfo(struct ndr_push *ndr, int ndr_flags, const union netr_DomainInfo *r)
7794 if (ndr_flags & NDR_SCALARS) {
7795 int level = ndr_push_get_switch_value(ndr, r);
7796 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
7799 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1));
7803 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info2));
7807 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7810 if (ndr_flags & NDR_BUFFERS) {
7811 int level = ndr_push_get_switch_value(ndr, r);
7815 NDR_CHECK(ndr_push_netr_DomainInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
7821 NDR_CHECK(ndr_push_netr_DomainInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2));
7826 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7829 return NDR_ERR_SUCCESS;
7832 static enum ndr_err_code ndr_pull_netr_DomainInfo(struct ndr_pull *ndr, int ndr_flags, union netr_DomainInfo *r)
7836 TALLOC_CTX *_mem_save_info1_0;
7837 TALLOC_CTX *_mem_save_info2_0;
7838 level = ndr_pull_get_switch_value(ndr, r);
7839 if (ndr_flags & NDR_SCALARS) {
7840 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
7841 if (_level != level) {
7842 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
7846 uint32_t _ptr_info1;
7847 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1));
7849 NDR_PULL_ALLOC(ndr, r->info1);
7856 uint32_t _ptr_info2;
7857 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info2));
7859 NDR_PULL_ALLOC(ndr, r->info2);
7866 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7869 if (ndr_flags & NDR_BUFFERS) {
7873 _mem_save_info1_0 = NDR_PULL_GET_MEM_CTX(ndr);
7874 NDR_PULL_SET_MEM_CTX(ndr, r->info1, 0);
7875 NDR_CHECK(ndr_pull_netr_DomainInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
7876 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1_0, 0);
7882 _mem_save_info2_0 = NDR_PULL_GET_MEM_CTX(ndr);
7883 NDR_PULL_SET_MEM_CTX(ndr, r->info2, 0);
7884 NDR_CHECK(ndr_pull_netr_DomainInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2));
7885 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info2_0, 0);
7890 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7893 return NDR_ERR_SUCCESS;
7896 _PUBLIC_ void ndr_print_netr_DomainInfo(struct ndr_print *ndr, const char *name, const union netr_DomainInfo *r)
7899 level = ndr_print_get_switch_value(ndr, r);
7900 ndr_print_union(ndr, name, level, "netr_DomainInfo");
7903 ndr_print_ptr(ndr, "info1", r->info1);
7906 ndr_print_netr_DomainInfo1(ndr, "info1", r->info1);
7912 ndr_print_ptr(ndr, "info2", r->info2);
7915 ndr_print_netr_DomainInfo1(ndr, "info2", r->info2);
7921 ndr_print_bad_level(ndr, name, level);
7925 static enum ndr_err_code ndr_push_netr_CryptPassword(struct ndr_push *ndr, int ndr_flags, const struct netr_CryptPassword *r)
7928 uint32_t _flags_save_STRUCT = ndr->flags;
7929 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
7930 if (ndr_flags & NDR_SCALARS) {
7931 NDR_CHECK(ndr_push_align(ndr, 4));
7932 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, 512));
7933 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
7935 if (ndr_flags & NDR_BUFFERS) {
7937 ndr->flags = _flags_save_STRUCT;
7939 return NDR_ERR_SUCCESS;
7942 static enum ndr_err_code ndr_pull_netr_CryptPassword(struct ndr_pull *ndr, int ndr_flags, struct netr_CryptPassword *r)
7945 uint32_t _flags_save_STRUCT = ndr->flags;
7946 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
7947 if (ndr_flags & NDR_SCALARS) {
7948 NDR_CHECK(ndr_pull_align(ndr, 4));
7949 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, 512));
7950 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
7952 if (ndr_flags & NDR_BUFFERS) {
7954 ndr->flags = _flags_save_STRUCT;
7956 return NDR_ERR_SUCCESS;
7959 _PUBLIC_ void ndr_print_netr_CryptPassword(struct ndr_print *ndr, const char *name, const struct netr_CryptPassword *r)
7961 ndr_print_struct(ndr, name, "netr_CryptPassword");
7963 uint32_t _flags_save_STRUCT = ndr->flags;
7964 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
7966 ndr_print_array_uint8(ndr, "data", r->data, 512);
7967 ndr_print_uint32(ndr, "length", r->length);
7969 ndr->flags = _flags_save_STRUCT;
7973 static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesWCtr(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRAddressToSitenamesWCtr *r)
7975 uint32_t cntr_sitename_1;
7976 if (ndr_flags & NDR_SCALARS) {
7977 NDR_CHECK(ndr_push_align(ndr, 4));
7978 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7979 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sitename));
7981 if (ndr_flags & NDR_BUFFERS) {
7983 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7984 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
7985 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1]));
7987 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
7988 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1]));
7992 return NDR_ERR_SUCCESS;
7995 static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesWCtr(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRAddressToSitenamesWCtr *r)
7997 uint32_t _ptr_sitename;
7998 uint32_t cntr_sitename_1;
7999 TALLOC_CTX *_mem_save_sitename_0;
8000 TALLOC_CTX *_mem_save_sitename_1;
8001 if (ndr_flags & NDR_SCALARS) {
8002 NDR_CHECK(ndr_pull_align(ndr, 4));
8003 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
8004 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sitename));
8005 if (_ptr_sitename) {
8006 NDR_PULL_ALLOC(ndr, r->sitename);
8011 if (ndr_flags & NDR_BUFFERS) {
8013 _mem_save_sitename_0 = NDR_PULL_GET_MEM_CTX(ndr);
8014 NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
8015 NDR_CHECK(ndr_pull_array_size(ndr, &r->sitename));
8016 NDR_PULL_ALLOC_N(ndr, r->sitename, ndr_get_array_size(ndr, &r->sitename));
8017 _mem_save_sitename_1 = NDR_PULL_GET_MEM_CTX(ndr);
8018 NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
8019 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
8020 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1]));
8022 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
8023 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1]));
8025 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_1, 0);
8026 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_0, 0);
8029 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sitename, r->count));
8032 return NDR_ERR_SUCCESS;
8035 _PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesWCtr(struct ndr_print *ndr, const char *name, const struct netr_DsRAddressToSitenamesWCtr *r)
8037 uint32_t cntr_sitename_1;
8038 ndr_print_struct(ndr, name, "netr_DsRAddressToSitenamesWCtr");
8040 ndr_print_uint32(ndr, "count", r->count);
8041 ndr_print_ptr(ndr, "sitename", r->sitename);
8044 ndr->print(ndr, "%s: ARRAY(%d)", "sitename", (int)r->count);
8046 for (cntr_sitename_1=0;cntr_sitename_1<r->count;cntr_sitename_1++) {
8048 if (asprintf(&idx_1, "[%d]", cntr_sitename_1) != -1) {
8049 ndr_print_lsa_String(ndr, "sitename", &r->sitename[cntr_sitename_1]);
8059 static enum ndr_err_code ndr_push_netr_DsRAddress(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRAddress *r)
8061 if (ndr_flags & NDR_SCALARS) {
8062 NDR_CHECK(ndr_push_align(ndr, 4));
8063 NDR_CHECK(ndr_push_unique_ptr(ndr, r->buffer));
8064 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
8066 if (ndr_flags & NDR_BUFFERS) {
8068 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
8069 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->buffer, r->size));
8072 return NDR_ERR_SUCCESS;
8075 static enum ndr_err_code ndr_pull_netr_DsRAddress(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRAddress *r)
8077 uint32_t _ptr_buffer;
8078 TALLOC_CTX *_mem_save_buffer_0;
8079 if (ndr_flags & NDR_SCALARS) {
8080 NDR_CHECK(ndr_pull_align(ndr, 4));
8081 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
8083 NDR_PULL_ALLOC(ndr, r->buffer);
8087 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
8089 if (ndr_flags & NDR_BUFFERS) {
8091 _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
8092 NDR_PULL_SET_MEM_CTX(ndr, r->buffer, 0);
8093 NDR_CHECK(ndr_pull_array_size(ndr, &r->buffer));
8094 NDR_PULL_ALLOC_N(ndr, r->buffer, ndr_get_array_size(ndr, &r->buffer));
8095 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->buffer, ndr_get_array_size(ndr, &r->buffer)));
8096 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
8099 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->buffer, r->size));
8102 return NDR_ERR_SUCCESS;
8105 _PUBLIC_ void ndr_print_netr_DsRAddress(struct ndr_print *ndr, const char *name, const struct netr_DsRAddress *r)
8107 ndr_print_struct(ndr, name, "netr_DsRAddress");
8109 ndr_print_ptr(ndr, "buffer", r->buffer);
8112 ndr_print_array_uint8(ndr, "buffer", r->buffer, r->size);
8115 ndr_print_uint32(ndr, "size", r->size);
8119 static enum ndr_err_code ndr_push_netr_TrustType(struct ndr_push *ndr, int ndr_flags, enum netr_TrustType r)
8121 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
8122 return NDR_ERR_SUCCESS;
8125 static enum ndr_err_code ndr_pull_netr_TrustType(struct ndr_pull *ndr, int ndr_flags, enum netr_TrustType *r)
8128 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
8130 return NDR_ERR_SUCCESS;
8133 _PUBLIC_ void ndr_print_netr_TrustType(struct ndr_print *ndr, const char *name, enum netr_TrustType r)
8135 const char *val = NULL;
8138 case NETR_TRUST_TYPE_DOWNLEVEL: val = "NETR_TRUST_TYPE_DOWNLEVEL"; break;
8139 case NETR_TRUST_TYPE_UPLEVEL: val = "NETR_TRUST_TYPE_UPLEVEL"; break;
8140 case NETR_TRUST_TYPE_MIT: val = "NETR_TRUST_TYPE_MIT"; break;
8141 case NETR_TRUST_TYPE_DCE: val = "NETR_TRUST_TYPE_DCE"; break;
8143 ndr_print_enum(ndr, name, "ENUM", val, r);
8146 static enum ndr_err_code ndr_push_netr_TrustAttributes(struct ndr_push *ndr, int ndr_flags, uint32_t r)
8148 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
8149 return NDR_ERR_SUCCESS;
8152 static enum ndr_err_code ndr_pull_netr_TrustAttributes(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
8155 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
8157 return NDR_ERR_SUCCESS;
8160 _PUBLIC_ void ndr_print_netr_TrustAttributes(struct ndr_print *ndr, const char *name, uint32_t r)
8162 ndr_print_uint32(ndr, name, r);
8164 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_NON_TRANSITIVE", NETR_TRUST_ATTRIBUTE_NON_TRANSITIVE, r);
8165 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_UPLEVEL_ONLY", NETR_TRUST_ATTRIBUTE_UPLEVEL_ONLY, r);
8166 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN", NETR_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN, r);
8167 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_FOREST_TRANSITIVE", NETR_TRUST_ATTRIBUTE_FOREST_TRANSITIVE, r);
8168 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_CROSS_ORGANIZATION", NETR_TRUST_ATTRIBUTE_CROSS_ORGANIZATION, r);
8169 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_WITHIN_FOREST", NETR_TRUST_ATTRIBUTE_WITHIN_FOREST, r);
8170 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL", NETR_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL, r);
8174 static enum ndr_err_code ndr_push_netr_DomainTrust(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainTrust *r)
8176 if (ndr_flags & NDR_SCALARS) {
8177 NDR_CHECK(ndr_push_align(ndr, 4));
8178 NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
8179 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
8180 NDR_CHECK(ndr_push_netr_TrustFlags(ndr, NDR_SCALARS, r->trust_flags));
8181 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->parent_index));
8182 NDR_CHECK(ndr_push_netr_TrustType(ndr, NDR_SCALARS, r->trust_type));
8183 NDR_CHECK(ndr_push_netr_TrustAttributes(ndr, NDR_SCALARS, r->trust_attributes));
8184 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
8185 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
8187 if (ndr_flags & NDR_BUFFERS) {
8188 if (r->netbios_name) {
8189 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
8190 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8191 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
8192 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8195 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dns_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->dns_name, CH_UTF16)));
8198 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8201 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
8204 return NDR_ERR_SUCCESS;
8207 static enum ndr_err_code ndr_pull_netr_DomainTrust(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainTrust *r)
8209 uint32_t _ptr_netbios_name;
8210 TALLOC_CTX *_mem_save_netbios_name_0;
8211 uint32_t _ptr_dns_name;
8212 TALLOC_CTX *_mem_save_dns_name_0;
8214 TALLOC_CTX *_mem_save_sid_0;
8215 if (ndr_flags & NDR_SCALARS) {
8216 NDR_CHECK(ndr_pull_align(ndr, 4));
8217 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
8218 if (_ptr_netbios_name) {
8219 NDR_PULL_ALLOC(ndr, r->netbios_name);
8221 r->netbios_name = NULL;
8223 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
8224 if (_ptr_dns_name) {
8225 NDR_PULL_ALLOC(ndr, r->dns_name);
8229 NDR_CHECK(ndr_pull_netr_TrustFlags(ndr, NDR_SCALARS, &r->trust_flags));
8230 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->parent_index));
8231 NDR_CHECK(ndr_pull_netr_TrustType(ndr, NDR_SCALARS, &r->trust_type));
8232 NDR_CHECK(ndr_pull_netr_TrustAttributes(ndr, NDR_SCALARS, &r->trust_attributes));
8233 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
8235 NDR_PULL_ALLOC(ndr, r->sid);
8239 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
8241 if (ndr_flags & NDR_BUFFERS) {
8242 if (r->netbios_name) {
8243 _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8244 NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
8245 NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
8246 NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
8247 if (ndr_get_array_length(ndr, &r->netbios_name) > ndr_get_array_size(ndr, &r->netbios_name)) {
8248 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));
8250 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t)));
8251 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t), CH_UTF16));
8252 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
8255 _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8256 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
8257 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
8258 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
8259 if (ndr_get_array_length(ndr, &r->dns_name) > ndr_get_array_size(ndr, &r->dns_name)) {
8260 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));
8262 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t)));
8263 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t), CH_UTF16));
8264 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
8267 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
8268 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
8269 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
8270 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
8273 return NDR_ERR_SUCCESS;
8276 _PUBLIC_ void ndr_print_netr_DomainTrust(struct ndr_print *ndr, const char *name, const struct netr_DomainTrust *r)
8278 ndr_print_struct(ndr, name, "netr_DomainTrust");
8280 ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
8282 if (r->netbios_name) {
8283 ndr_print_string(ndr, "netbios_name", r->netbios_name);
8286 ndr_print_ptr(ndr, "dns_name", r->dns_name);
8289 ndr_print_string(ndr, "dns_name", r->dns_name);
8292 ndr_print_netr_TrustFlags(ndr, "trust_flags", r->trust_flags);
8293 ndr_print_uint32(ndr, "parent_index", r->parent_index);
8294 ndr_print_netr_TrustType(ndr, "trust_type", r->trust_type);
8295 ndr_print_netr_TrustAttributes(ndr, "trust_attributes", r->trust_attributes);
8296 ndr_print_ptr(ndr, "sid", r->sid);
8299 ndr_print_dom_sid2(ndr, "sid", r->sid);
8302 ndr_print_GUID(ndr, "guid", &r->guid);
8306 static enum ndr_err_code ndr_push_netr_DomainTrustList(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainTrustList *r)
8308 uint32_t cntr_array_1;
8309 if (ndr_flags & NDR_SCALARS) {
8310 NDR_CHECK(ndr_push_align(ndr, 4));
8311 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8312 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
8314 if (ndr_flags & NDR_BUFFERS) {
8316 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8317 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8318 NDR_CHECK(ndr_push_netr_DomainTrust(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
8320 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8321 NDR_CHECK(ndr_push_netr_DomainTrust(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
8325 return NDR_ERR_SUCCESS;
8328 static enum ndr_err_code ndr_pull_netr_DomainTrustList(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainTrustList *r)
8330 uint32_t _ptr_array;
8331 uint32_t cntr_array_1;
8332 TALLOC_CTX *_mem_save_array_0;
8333 TALLOC_CTX *_mem_save_array_1;
8334 if (ndr_flags & NDR_SCALARS) {
8335 NDR_CHECK(ndr_pull_align(ndr, 4));
8336 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
8337 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
8339 NDR_PULL_ALLOC(ndr, r->array);
8344 if (ndr_flags & NDR_BUFFERS) {
8346 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
8347 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
8348 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
8349 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
8350 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
8351 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
8352 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8353 NDR_CHECK(ndr_pull_netr_DomainTrust(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
8355 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8356 NDR_CHECK(ndr_pull_netr_DomainTrust(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
8358 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
8359 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
8362 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
8365 return NDR_ERR_SUCCESS;
8368 _PUBLIC_ void ndr_print_netr_DomainTrustList(struct ndr_print *ndr, const char *name, const struct netr_DomainTrustList *r)
8370 uint32_t cntr_array_1;
8371 ndr_print_struct(ndr, name, "netr_DomainTrustList");
8373 ndr_print_uint32(ndr, "count", r->count);
8374 ndr_print_ptr(ndr, "array", r->array);
8377 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
8379 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
8381 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
8382 ndr_print_netr_DomainTrust(ndr, "array", &r->array[cntr_array_1]);
8392 static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesExWCtr(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRAddressToSitenamesExWCtr *r)
8394 uint32_t cntr_sitename_1;
8395 uint32_t cntr_subnetname_1;
8396 if (ndr_flags & NDR_SCALARS) {
8397 NDR_CHECK(ndr_push_align(ndr, 4));
8398 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8399 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sitename));
8400 NDR_CHECK(ndr_push_unique_ptr(ndr, r->subnetname));
8402 if (ndr_flags & NDR_BUFFERS) {
8404 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8405 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
8406 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1]));
8408 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
8409 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1]));
8412 if (r->subnetname) {
8413 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8414 for (cntr_subnetname_1 = 0; cntr_subnetname_1 < r->count; cntr_subnetname_1++) {
8415 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->subnetname[cntr_subnetname_1]));
8417 for (cntr_subnetname_1 = 0; cntr_subnetname_1 < r->count; cntr_subnetname_1++) {
8418 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->subnetname[cntr_subnetname_1]));
8422 return NDR_ERR_SUCCESS;
8425 static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesExWCtr(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRAddressToSitenamesExWCtr *r)
8427 uint32_t _ptr_sitename;
8428 uint32_t cntr_sitename_1;
8429 TALLOC_CTX *_mem_save_sitename_0;
8430 TALLOC_CTX *_mem_save_sitename_1;
8431 uint32_t _ptr_subnetname;
8432 uint32_t cntr_subnetname_1;
8433 TALLOC_CTX *_mem_save_subnetname_0;
8434 TALLOC_CTX *_mem_save_subnetname_1;
8435 if (ndr_flags & NDR_SCALARS) {
8436 NDR_CHECK(ndr_pull_align(ndr, 4));
8437 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
8438 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sitename));
8439 if (_ptr_sitename) {
8440 NDR_PULL_ALLOC(ndr, r->sitename);
8444 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_subnetname));
8445 if (_ptr_subnetname) {
8446 NDR_PULL_ALLOC(ndr, r->subnetname);
8448 r->subnetname = NULL;
8451 if (ndr_flags & NDR_BUFFERS) {
8453 _mem_save_sitename_0 = NDR_PULL_GET_MEM_CTX(ndr);
8454 NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
8455 NDR_CHECK(ndr_pull_array_size(ndr, &r->sitename));
8456 NDR_PULL_ALLOC_N(ndr, r->sitename, ndr_get_array_size(ndr, &r->sitename));
8457 _mem_save_sitename_1 = NDR_PULL_GET_MEM_CTX(ndr);
8458 NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
8459 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
8460 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1]));
8462 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
8463 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1]));
8465 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_1, 0);
8466 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_0, 0);
8468 if (r->subnetname) {
8469 _mem_save_subnetname_0 = NDR_PULL_GET_MEM_CTX(ndr);
8470 NDR_PULL_SET_MEM_CTX(ndr, r->subnetname, 0);
8471 NDR_CHECK(ndr_pull_array_size(ndr, &r->subnetname));
8472 NDR_PULL_ALLOC_N(ndr, r->subnetname, ndr_get_array_size(ndr, &r->subnetname));
8473 _mem_save_subnetname_1 = NDR_PULL_GET_MEM_CTX(ndr);
8474 NDR_PULL_SET_MEM_CTX(ndr, r->subnetname, 0);
8475 for (cntr_subnetname_1 = 0; cntr_subnetname_1 < r->count; cntr_subnetname_1++) {
8476 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->subnetname[cntr_subnetname_1]));
8478 for (cntr_subnetname_1 = 0; cntr_subnetname_1 < r->count; cntr_subnetname_1++) {
8479 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->subnetname[cntr_subnetname_1]));
8481 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_subnetname_1, 0);
8482 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_subnetname_0, 0);
8485 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sitename, r->count));
8487 if (r->subnetname) {
8488 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->subnetname, r->count));
8491 return NDR_ERR_SUCCESS;
8494 _PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesExWCtr(struct ndr_print *ndr, const char *name, const struct netr_DsRAddressToSitenamesExWCtr *r)
8496 uint32_t cntr_sitename_1;
8497 uint32_t cntr_subnetname_1;
8498 ndr_print_struct(ndr, name, "netr_DsRAddressToSitenamesExWCtr");
8500 ndr_print_uint32(ndr, "count", r->count);
8501 ndr_print_ptr(ndr, "sitename", r->sitename);
8504 ndr->print(ndr, "%s: ARRAY(%d)", "sitename", (int)r->count);
8506 for (cntr_sitename_1=0;cntr_sitename_1<r->count;cntr_sitename_1++) {
8508 if (asprintf(&idx_1, "[%d]", cntr_sitename_1) != -1) {
8509 ndr_print_lsa_String(ndr, "sitename", &r->sitename[cntr_sitename_1]);
8516 ndr_print_ptr(ndr, "subnetname", r->subnetname);
8518 if (r->subnetname) {
8519 ndr->print(ndr, "%s: ARRAY(%d)", "subnetname", (int)r->count);
8521 for (cntr_subnetname_1=0;cntr_subnetname_1<r->count;cntr_subnetname_1++) {
8523 if (asprintf(&idx_1, "[%d]", cntr_subnetname_1) != -1) {
8524 ndr_print_lsa_String(ndr, "subnetname", &r->subnetname[cntr_subnetname_1]);
8534 static enum ndr_err_code ndr_push_DcSitesCtr(struct ndr_push *ndr, int ndr_flags, const struct DcSitesCtr *r)
8536 uint32_t cntr_sites_1;
8537 if (ndr_flags & NDR_SCALARS) {
8538 NDR_CHECK(ndr_push_align(ndr, 4));
8539 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sites));
8540 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sites));
8542 if (ndr_flags & NDR_BUFFERS) {
8544 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sites));
8545 for (cntr_sites_1 = 0; cntr_sites_1 < r->num_sites; cntr_sites_1++) {
8546 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->sites[cntr_sites_1]));
8548 for (cntr_sites_1 = 0; cntr_sites_1 < r->num_sites; cntr_sites_1++) {
8549 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->sites[cntr_sites_1]));
8553 return NDR_ERR_SUCCESS;
8556 static enum ndr_err_code ndr_pull_DcSitesCtr(struct ndr_pull *ndr, int ndr_flags, struct DcSitesCtr *r)
8558 uint32_t _ptr_sites;
8559 uint32_t cntr_sites_1;
8560 TALLOC_CTX *_mem_save_sites_0;
8561 TALLOC_CTX *_mem_save_sites_1;
8562 if (ndr_flags & NDR_SCALARS) {
8563 NDR_CHECK(ndr_pull_align(ndr, 4));
8564 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_sites));
8565 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sites));
8567 NDR_PULL_ALLOC(ndr, r->sites);
8572 if (ndr_flags & NDR_BUFFERS) {
8574 _mem_save_sites_0 = NDR_PULL_GET_MEM_CTX(ndr);
8575 NDR_PULL_SET_MEM_CTX(ndr, r->sites, 0);
8576 NDR_CHECK(ndr_pull_array_size(ndr, &r->sites));
8577 NDR_PULL_ALLOC_N(ndr, r->sites, ndr_get_array_size(ndr, &r->sites));
8578 _mem_save_sites_1 = NDR_PULL_GET_MEM_CTX(ndr);
8579 NDR_PULL_SET_MEM_CTX(ndr, r->sites, 0);
8580 for (cntr_sites_1 = 0; cntr_sites_1 < r->num_sites; cntr_sites_1++) {
8581 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->sites[cntr_sites_1]));
8583 for (cntr_sites_1 = 0; cntr_sites_1 < r->num_sites; cntr_sites_1++) {
8584 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->sites[cntr_sites_1]));
8586 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sites_1, 0);
8587 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sites_0, 0);
8590 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sites, r->num_sites));
8593 return NDR_ERR_SUCCESS;
8596 _PUBLIC_ void ndr_print_DcSitesCtr(struct ndr_print *ndr, const char *name, const struct DcSitesCtr *r)
8598 uint32_t cntr_sites_1;
8599 ndr_print_struct(ndr, name, "DcSitesCtr");
8601 ndr_print_uint32(ndr, "num_sites", r->num_sites);
8602 ndr_print_ptr(ndr, "sites", r->sites);
8605 ndr->print(ndr, "%s: ARRAY(%d)", "sites", (int)r->num_sites);
8607 for (cntr_sites_1=0;cntr_sites_1<r->num_sites;cntr_sites_1++) {
8609 if (asprintf(&idx_1, "[%d]", cntr_sites_1) != -1) {
8610 ndr_print_lsa_String(ndr, "sites", &r->sites[cntr_sites_1]);
8620 static enum ndr_err_code ndr_push_netr_TrustInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_TrustInfo *r)
8622 uint32_t cntr_data_1;
8623 uint32_t cntr_entries_1;
8624 if (ndr_flags & NDR_SCALARS) {
8625 NDR_CHECK(ndr_push_align(ndr, 4));
8626 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8627 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
8628 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->entry_count));
8629 NDR_CHECK(ndr_push_unique_ptr(ndr, r->entries));
8631 if (ndr_flags & NDR_BUFFERS) {
8633 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8634 for (cntr_data_1 = 0; cntr_data_1 < r->count; cntr_data_1++) {
8635 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->data[cntr_data_1]));
8639 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8640 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
8641 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
8643 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
8644 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
8648 return NDR_ERR_SUCCESS;
8651 static enum ndr_err_code ndr_pull_netr_TrustInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_TrustInfo *r)
8654 uint32_t cntr_data_1;
8655 TALLOC_CTX *_mem_save_data_0;
8656 TALLOC_CTX *_mem_save_data_1;
8657 uint32_t _ptr_entries;
8658 uint32_t cntr_entries_1;
8659 TALLOC_CTX *_mem_save_entries_0;
8660 TALLOC_CTX *_mem_save_entries_1;
8661 if (ndr_flags & NDR_SCALARS) {
8662 NDR_CHECK(ndr_pull_align(ndr, 4));
8663 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
8664 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
8666 NDR_PULL_ALLOC(ndr, r->data);
8670 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->entry_count));
8671 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_entries));
8673 NDR_PULL_ALLOC(ndr, r->entries);
8678 if (ndr_flags & NDR_BUFFERS) {
8680 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
8681 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
8682 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
8683 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
8684 _mem_save_data_1 = NDR_PULL_GET_MEM_CTX(ndr);
8685 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
8686 for (cntr_data_1 = 0; cntr_data_1 < r->count; cntr_data_1++) {
8687 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->data[cntr_data_1]));
8689 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_1, 0);
8690 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
8693 _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
8694 NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
8695 NDR_CHECK(ndr_pull_array_size(ndr, &r->entries));
8696 NDR_PULL_ALLOC_N(ndr, r->entries, ndr_get_array_size(ndr, &r->entries));
8697 _mem_save_entries_1 = NDR_PULL_GET_MEM_CTX(ndr);
8698 NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
8699 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
8700 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
8702 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
8703 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
8705 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_1, 0);
8706 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0);
8709 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->count));
8712 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->entries, r->count));
8715 return NDR_ERR_SUCCESS;
8718 _PUBLIC_ void ndr_print_netr_TrustInfo(struct ndr_print *ndr, const char *name, const struct netr_TrustInfo *r)
8720 uint32_t cntr_data_1;
8721 uint32_t cntr_entries_1;
8722 ndr_print_struct(ndr, name, "netr_TrustInfo");
8724 ndr_print_uint32(ndr, "count", r->count);
8725 ndr_print_ptr(ndr, "data", r->data);
8728 ndr->print(ndr, "%s: ARRAY(%d)", "data", (int)r->count);
8730 for (cntr_data_1=0;cntr_data_1<r->count;cntr_data_1++) {
8732 if (asprintf(&idx_1, "[%d]", cntr_data_1) != -1) {
8733 ndr_print_uint32(ndr, "data", r->data[cntr_data_1]);
8740 ndr_print_uint32(ndr, "entry_count", r->entry_count);
8741 ndr_print_ptr(ndr, "entries", r->entries);
8744 ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)r->count);
8746 for (cntr_entries_1=0;cntr_entries_1<r->count;cntr_entries_1++) {
8748 if (asprintf(&idx_1, "[%d]", cntr_entries_1) != -1) {
8749 ndr_print_lsa_String(ndr, "entries", &r->entries[cntr_entries_1]);
8759 static enum ndr_err_code ndr_push_netr_LogonUasLogon(struct ndr_push *ndr, int flags, const struct netr_LogonUasLogon *r)
8761 if (flags & NDR_IN) {
8762 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
8763 if (r->in.server_name) {
8764 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8765 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8766 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8767 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));
8769 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
8770 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8771 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
8772 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));
8773 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
8774 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8775 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
8776 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.workstation, ndr_charset_length(r->in.workstation, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8778 if (flags & NDR_OUT) {
8779 if (r->out.info == NULL) {
8780 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8782 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
8784 NDR_CHECK(ndr_push_netr_UasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
8786 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
8788 return NDR_ERR_SUCCESS;
8791 static enum ndr_err_code ndr_pull_netr_LogonUasLogon(struct ndr_pull *ndr, int flags, struct netr_LogonUasLogon *r)
8793 uint32_t _ptr_server_name;
8795 TALLOC_CTX *_mem_save_server_name_0;
8796 TALLOC_CTX *_mem_save_info_0;
8797 TALLOC_CTX *_mem_save_info_1;
8798 if (flags & NDR_IN) {
8799 ZERO_STRUCT(r->out);
8801 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
8802 if (_ptr_server_name) {
8803 NDR_PULL_ALLOC(ndr, r->in.server_name);
8805 r->in.server_name = NULL;
8807 if (r->in.server_name) {
8808 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8809 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
8810 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
8811 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
8812 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
8813 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));
8815 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
8816 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));
8817 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
8819 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
8820 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
8821 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
8822 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));
8824 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
8825 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));
8826 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.workstation));
8827 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.workstation));
8828 if (ndr_get_array_length(ndr, &r->in.workstation) > ndr_get_array_size(ndr, &r->in.workstation)) {
8829 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.workstation), ndr_get_array_length(ndr, &r->in.workstation));
8831 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.workstation), sizeof(uint16_t)));
8832 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.workstation, ndr_get_array_length(ndr, &r->in.workstation), sizeof(uint16_t), CH_UTF16));
8833 NDR_PULL_ALLOC(ndr, r->out.info);
8834 ZERO_STRUCTP(r->out.info);
8836 if (flags & NDR_OUT) {
8837 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8838 NDR_PULL_ALLOC(ndr, r->out.info);
8840 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
8841 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
8842 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
8844 NDR_PULL_ALLOC(ndr, *r->out.info);
8846 *r->out.info = NULL;
8849 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
8850 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
8851 NDR_CHECK(ndr_pull_netr_UasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
8852 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
8854 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
8855 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
8857 return NDR_ERR_SUCCESS;
8860 _PUBLIC_ void ndr_print_netr_LogonUasLogon(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonUasLogon *r)
8862 ndr_print_struct(ndr, name, "netr_LogonUasLogon");
8864 if (flags & NDR_SET_VALUES) {
8865 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8867 if (flags & NDR_IN) {
8868 ndr_print_struct(ndr, "in", "netr_LogonUasLogon");
8870 ndr_print_ptr(ndr, "server_name", r->in.server_name);
8872 if (r->in.server_name) {
8873 ndr_print_string(ndr, "server_name", r->in.server_name);
8876 ndr_print_string(ndr, "account_name", r->in.account_name);
8877 ndr_print_string(ndr, "workstation", r->in.workstation);
8880 if (flags & NDR_OUT) {
8881 ndr_print_struct(ndr, "out", "netr_LogonUasLogon");
8883 ndr_print_ptr(ndr, "info", r->out.info);
8885 ndr_print_ptr(ndr, "info", *r->out.info);
8888 ndr_print_netr_UasInfo(ndr, "info", *r->out.info);
8892 ndr_print_WERROR(ndr, "result", r->out.result);
8898 static enum ndr_err_code ndr_push_netr_LogonUasLogoff(struct ndr_push *ndr, int flags, const struct netr_LogonUasLogoff *r)
8900 if (flags & NDR_IN) {
8901 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
8902 if (r->in.server_name) {
8903 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8904 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8905 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8906 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));
8908 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
8909 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8910 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
8911 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));
8912 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
8913 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8914 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
8915 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.workstation, ndr_charset_length(r->in.workstation, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8917 if (flags & NDR_OUT) {
8918 if (r->out.info == NULL) {
8919 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8921 NDR_CHECK(ndr_push_netr_UasLogoffInfo(ndr, NDR_SCALARS, r->out.info));
8922 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
8924 return NDR_ERR_SUCCESS;
8927 static enum ndr_err_code ndr_pull_netr_LogonUasLogoff(struct ndr_pull *ndr, int flags, struct netr_LogonUasLogoff *r)
8929 uint32_t _ptr_server_name;
8930 TALLOC_CTX *_mem_save_server_name_0;
8931 TALLOC_CTX *_mem_save_info_0;
8932 if (flags & NDR_IN) {
8933 ZERO_STRUCT(r->out);
8935 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
8936 if (_ptr_server_name) {
8937 NDR_PULL_ALLOC(ndr, r->in.server_name);
8939 r->in.server_name = NULL;
8941 if (r->in.server_name) {
8942 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8943 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
8944 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
8945 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
8946 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
8947 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));
8949 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
8950 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));
8951 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
8953 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
8954 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
8955 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
8956 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));
8958 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
8959 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));
8960 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.workstation));
8961 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.workstation));
8962 if (ndr_get_array_length(ndr, &r->in.workstation) > ndr_get_array_size(ndr, &r->in.workstation)) {
8963 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));
8965 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.workstation), sizeof(uint16_t)));
8966 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.workstation, ndr_get_array_length(ndr, &r->in.workstation), sizeof(uint16_t), CH_UTF16));
8967 NDR_PULL_ALLOC(ndr, r->out.info);
8968 ZERO_STRUCTP(r->out.info);
8970 if (flags & NDR_OUT) {
8971 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8972 NDR_PULL_ALLOC(ndr, r->out.info);
8974 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
8975 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
8976 NDR_CHECK(ndr_pull_netr_UasLogoffInfo(ndr, NDR_SCALARS, r->out.info));
8977 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
8978 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
8980 return NDR_ERR_SUCCESS;
8983 _PUBLIC_ void ndr_print_netr_LogonUasLogoff(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonUasLogoff *r)
8985 ndr_print_struct(ndr, name, "netr_LogonUasLogoff");
8987 if (flags & NDR_SET_VALUES) {
8988 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8990 if (flags & NDR_IN) {
8991 ndr_print_struct(ndr, "in", "netr_LogonUasLogoff");
8993 ndr_print_ptr(ndr, "server_name", r->in.server_name);
8995 if (r->in.server_name) {
8996 ndr_print_string(ndr, "server_name", r->in.server_name);
8999 ndr_print_string(ndr, "account_name", r->in.account_name);
9000 ndr_print_string(ndr, "workstation", r->in.workstation);
9003 if (flags & NDR_OUT) {
9004 ndr_print_struct(ndr, "out", "netr_LogonUasLogoff");
9006 ndr_print_ptr(ndr, "info", r->out.info);
9008 ndr_print_netr_UasLogoffInfo(ndr, "info", r->out.info);
9010 ndr_print_WERROR(ndr, "result", r->out.result);
9016 static enum ndr_err_code ndr_push_netr_LogonSamLogon(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogon *r)
9018 if (flags & NDR_IN) {
9019 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
9020 if (r->in.server_name) {
9021 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9022 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9023 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9024 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));
9026 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
9027 if (r->in.computer_name) {
9028 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
9029 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9030 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
9031 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));
9033 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.credential));
9034 if (r->in.credential) {
9035 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
9037 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.return_authenticator));
9038 if (r->in.return_authenticator) {
9039 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9041 NDR_CHECK(ndr_push_netr_LogonInfoClass(ndr, NDR_SCALARS, r->in.logon_level));
9042 if (r->in.logon == NULL) {
9043 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9045 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.logon, r->in.logon_level));
9046 NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
9047 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.validation_level));
9049 if (flags & NDR_OUT) {
9050 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.return_authenticator));
9051 if (r->out.return_authenticator) {
9052 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9054 if (r->out.validation == NULL) {
9055 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9057 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.validation, r->in.validation_level));
9058 NDR_CHECK(ndr_push_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
9059 if (r->out.authoritative == NULL) {
9060 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9062 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, *r->out.authoritative));
9063 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9065 return NDR_ERR_SUCCESS;
9068 static enum ndr_err_code ndr_pull_netr_LogonSamLogon(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogon *r)
9070 uint32_t _ptr_server_name;
9071 uint32_t _ptr_computer_name;
9072 uint32_t _ptr_credential;
9073 uint32_t _ptr_return_authenticator;
9074 TALLOC_CTX *_mem_save_server_name_0;
9075 TALLOC_CTX *_mem_save_computer_name_0;
9076 TALLOC_CTX *_mem_save_credential_0;
9077 TALLOC_CTX *_mem_save_return_authenticator_0;
9078 TALLOC_CTX *_mem_save_logon_0;
9079 TALLOC_CTX *_mem_save_validation_0;
9080 TALLOC_CTX *_mem_save_authoritative_0;
9081 if (flags & NDR_IN) {
9082 ZERO_STRUCT(r->out);
9084 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
9085 if (_ptr_server_name) {
9086 NDR_PULL_ALLOC(ndr, r->in.server_name);
9088 r->in.server_name = NULL;
9090 if (r->in.server_name) {
9091 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9092 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
9093 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
9094 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
9095 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
9096 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));
9098 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
9099 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));
9100 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
9102 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
9103 if (_ptr_computer_name) {
9104 NDR_PULL_ALLOC(ndr, r->in.computer_name);
9106 r->in.computer_name = NULL;
9108 if (r->in.computer_name) {
9109 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9110 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
9111 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
9112 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
9113 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
9114 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));
9116 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
9117 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));
9118 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
9120 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_credential));
9121 if (_ptr_credential) {
9122 NDR_PULL_ALLOC(ndr, r->in.credential);
9124 r->in.credential = NULL;
9126 if (r->in.credential) {
9127 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
9128 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, 0);
9129 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
9130 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, 0);
9132 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
9133 if (_ptr_return_authenticator) {
9134 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
9136 r->in.return_authenticator = NULL;
9138 if (r->in.return_authenticator) {
9139 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9140 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, 0);
9141 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9142 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
9144 NDR_CHECK(ndr_pull_netr_LogonInfoClass(ndr, NDR_SCALARS, &r->in.logon_level));
9145 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9146 NDR_PULL_ALLOC(ndr, r->in.logon);
9148 _mem_save_logon_0 = NDR_PULL_GET_MEM_CTX(ndr);
9149 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon, LIBNDR_FLAG_REF_ALLOC);
9150 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.logon, r->in.logon_level));
9151 NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
9152 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_0, LIBNDR_FLAG_REF_ALLOC);
9153 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.validation_level));
9154 NDR_PULL_ALLOC(ndr, r->out.validation);
9155 ZERO_STRUCTP(r->out.validation);
9156 NDR_PULL_ALLOC(ndr, r->out.authoritative);
9157 ZERO_STRUCTP(r->out.authoritative);
9159 if (flags & NDR_OUT) {
9160 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
9161 if (_ptr_return_authenticator) {
9162 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9164 r->out.return_authenticator = NULL;
9166 if (r->out.return_authenticator) {
9167 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9168 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, 0);
9169 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9170 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
9172 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9173 NDR_PULL_ALLOC(ndr, r->out.validation);
9175 _mem_save_validation_0 = NDR_PULL_GET_MEM_CTX(ndr);
9176 NDR_PULL_SET_MEM_CTX(ndr, r->out.validation, LIBNDR_FLAG_REF_ALLOC);
9177 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.validation, r->in.validation_level));
9178 NDR_CHECK(ndr_pull_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
9179 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_validation_0, LIBNDR_FLAG_REF_ALLOC);
9180 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9181 NDR_PULL_ALLOC(ndr, r->out.authoritative);
9183 _mem_save_authoritative_0 = NDR_PULL_GET_MEM_CTX(ndr);
9184 NDR_PULL_SET_MEM_CTX(ndr, r->out.authoritative, LIBNDR_FLAG_REF_ALLOC);
9185 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, r->out.authoritative));
9186 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_authoritative_0, LIBNDR_FLAG_REF_ALLOC);
9187 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9189 return NDR_ERR_SUCCESS;
9192 _PUBLIC_ void ndr_print_netr_LogonSamLogon(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogon *r)
9194 ndr_print_struct(ndr, name, "netr_LogonSamLogon");
9196 if (flags & NDR_SET_VALUES) {
9197 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9199 if (flags & NDR_IN) {
9200 ndr_print_struct(ndr, "in", "netr_LogonSamLogon");
9202 ndr_print_ptr(ndr, "server_name", r->in.server_name);
9204 if (r->in.server_name) {
9205 ndr_print_string(ndr, "server_name", r->in.server_name);
9208 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
9210 if (r->in.computer_name) {
9211 ndr_print_string(ndr, "computer_name", r->in.computer_name);
9214 ndr_print_ptr(ndr, "credential", r->in.credential);
9216 if (r->in.credential) {
9217 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
9220 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
9222 if (r->in.return_authenticator) {
9223 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
9226 ndr_print_netr_LogonInfoClass(ndr, "logon_level", r->in.logon_level);
9227 ndr_print_ptr(ndr, "logon", r->in.logon);
9229 ndr_print_set_switch_value(ndr, r->in.logon, r->in.logon_level);
9230 ndr_print_netr_LogonLevel(ndr, "logon", r->in.logon);
9232 ndr_print_uint16(ndr, "validation_level", r->in.validation_level);
9235 if (flags & NDR_OUT) {
9236 ndr_print_struct(ndr, "out", "netr_LogonSamLogon");
9238 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
9240 if (r->out.return_authenticator) {
9241 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
9244 ndr_print_ptr(ndr, "validation", r->out.validation);
9246 ndr_print_set_switch_value(ndr, r->out.validation, r->in.validation_level);
9247 ndr_print_netr_Validation(ndr, "validation", r->out.validation);
9249 ndr_print_ptr(ndr, "authoritative", r->out.authoritative);
9251 ndr_print_uint8(ndr, "authoritative", *r->out.authoritative);
9253 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9259 static enum ndr_err_code ndr_push_netr_LogonSamLogoff(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogoff *r)
9261 if (flags & NDR_IN) {
9262 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
9263 if (r->in.server_name) {
9264 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9265 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9266 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9267 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));
9269 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
9270 if (r->in.computer_name) {
9271 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
9272 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9273 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
9274 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));
9276 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.credential));
9277 if (r->in.credential) {
9278 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
9280 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.return_authenticator));
9281 if (r->in.return_authenticator) {
9282 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9284 NDR_CHECK(ndr_push_netr_LogonInfoClass(ndr, NDR_SCALARS, r->in.logon_level));
9285 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.logon, r->in.logon_level));
9286 NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon));
9288 if (flags & NDR_OUT) {
9289 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.return_authenticator));
9290 if (r->out.return_authenticator) {
9291 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9293 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9295 return NDR_ERR_SUCCESS;
9298 static enum ndr_err_code ndr_pull_netr_LogonSamLogoff(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogoff *r)
9300 uint32_t _ptr_server_name;
9301 uint32_t _ptr_computer_name;
9302 uint32_t _ptr_credential;
9303 uint32_t _ptr_return_authenticator;
9304 TALLOC_CTX *_mem_save_server_name_0;
9305 TALLOC_CTX *_mem_save_computer_name_0;
9306 TALLOC_CTX *_mem_save_credential_0;
9307 TALLOC_CTX *_mem_save_return_authenticator_0;
9308 if (flags & NDR_IN) {
9309 ZERO_STRUCT(r->out);
9311 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
9312 if (_ptr_server_name) {
9313 NDR_PULL_ALLOC(ndr, r->in.server_name);
9315 r->in.server_name = NULL;
9317 if (r->in.server_name) {
9318 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9319 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
9320 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
9321 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
9322 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
9323 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));
9325 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
9326 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));
9327 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
9329 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
9330 if (_ptr_computer_name) {
9331 NDR_PULL_ALLOC(ndr, r->in.computer_name);
9333 r->in.computer_name = NULL;
9335 if (r->in.computer_name) {
9336 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9337 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
9338 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
9339 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
9340 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
9341 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));
9343 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
9344 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));
9345 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
9347 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_credential));
9348 if (_ptr_credential) {
9349 NDR_PULL_ALLOC(ndr, r->in.credential);
9351 r->in.credential = NULL;
9353 if (r->in.credential) {
9354 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
9355 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, 0);
9356 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
9357 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, 0);
9359 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
9360 if (_ptr_return_authenticator) {
9361 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
9363 r->in.return_authenticator = NULL;
9365 if (r->in.return_authenticator) {
9366 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9367 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, 0);
9368 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9369 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
9371 NDR_CHECK(ndr_pull_netr_LogonInfoClass(ndr, NDR_SCALARS, &r->in.logon_level));
9372 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.logon, r->in.logon_level));
9373 NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon));
9375 if (flags & NDR_OUT) {
9376 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
9377 if (_ptr_return_authenticator) {
9378 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9380 r->out.return_authenticator = NULL;
9382 if (r->out.return_authenticator) {
9383 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9384 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, 0);
9385 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9386 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
9388 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9390 return NDR_ERR_SUCCESS;
9393 _PUBLIC_ void ndr_print_netr_LogonSamLogoff(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogoff *r)
9395 ndr_print_struct(ndr, name, "netr_LogonSamLogoff");
9397 if (flags & NDR_SET_VALUES) {
9398 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9400 if (flags & NDR_IN) {
9401 ndr_print_struct(ndr, "in", "netr_LogonSamLogoff");
9403 ndr_print_ptr(ndr, "server_name", r->in.server_name);
9405 if (r->in.server_name) {
9406 ndr_print_string(ndr, "server_name", r->in.server_name);
9409 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
9411 if (r->in.computer_name) {
9412 ndr_print_string(ndr, "computer_name", r->in.computer_name);
9415 ndr_print_ptr(ndr, "credential", r->in.credential);
9417 if (r->in.credential) {
9418 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
9421 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
9423 if (r->in.return_authenticator) {
9424 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
9427 ndr_print_netr_LogonInfoClass(ndr, "logon_level", r->in.logon_level);
9428 ndr_print_set_switch_value(ndr, &r->in.logon, r->in.logon_level);
9429 ndr_print_netr_LogonLevel(ndr, "logon", &r->in.logon);
9432 if (flags & NDR_OUT) {
9433 ndr_print_struct(ndr, "out", "netr_LogonSamLogoff");
9435 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
9437 if (r->out.return_authenticator) {
9438 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
9441 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9447 _PUBLIC_ enum ndr_err_code ndr_push_netr_ServerReqChallenge(struct ndr_push *ndr, int flags, const struct netr_ServerReqChallenge *r)
9449 if (flags & NDR_IN) {
9450 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
9451 if (r->in.server_name) {
9452 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9453 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9454 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9455 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));
9457 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
9458 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9459 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
9460 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));
9461 if (r->in.credentials == NULL) {
9462 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9464 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
9466 if (flags & NDR_OUT) {
9467 if (r->out.return_credentials == NULL) {
9468 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9470 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
9471 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9473 return NDR_ERR_SUCCESS;
9476 _PUBLIC_ enum ndr_err_code ndr_pull_netr_ServerReqChallenge(struct ndr_pull *ndr, int flags, struct netr_ServerReqChallenge *r)
9478 uint32_t _ptr_server_name;
9479 TALLOC_CTX *_mem_save_server_name_0;
9480 TALLOC_CTX *_mem_save_credentials_0;
9481 TALLOC_CTX *_mem_save_return_credentials_0;
9482 if (flags & NDR_IN) {
9483 ZERO_STRUCT(r->out);
9485 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
9486 if (_ptr_server_name) {
9487 NDR_PULL_ALLOC(ndr, r->in.server_name);
9489 r->in.server_name = NULL;
9491 if (r->in.server_name) {
9492 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9493 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
9494 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
9495 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
9496 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
9497 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
9499 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
9500 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));
9501 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
9503 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
9504 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
9505 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
9506 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));
9508 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
9509 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));
9510 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9511 NDR_PULL_ALLOC(ndr, r->in.credentials);
9513 _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
9514 NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC);
9515 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
9516 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
9517 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
9518 ZERO_STRUCTP(r->out.return_credentials);
9520 if (flags & NDR_OUT) {
9521 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9522 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
9524 _mem_save_return_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
9525 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_credentials, LIBNDR_FLAG_REF_ALLOC);
9526 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
9527 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_credentials_0, LIBNDR_FLAG_REF_ALLOC);
9528 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9530 return NDR_ERR_SUCCESS;
9533 _PUBLIC_ void ndr_print_netr_ServerReqChallenge(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerReqChallenge *r)
9535 ndr_print_struct(ndr, name, "netr_ServerReqChallenge");
9537 if (flags & NDR_SET_VALUES) {
9538 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9540 if (flags & NDR_IN) {
9541 ndr_print_struct(ndr, "in", "netr_ServerReqChallenge");
9543 ndr_print_ptr(ndr, "server_name", r->in.server_name);
9545 if (r->in.server_name) {
9546 ndr_print_string(ndr, "server_name", r->in.server_name);
9549 ndr_print_string(ndr, "computer_name", r->in.computer_name);
9550 ndr_print_ptr(ndr, "credentials", r->in.credentials);
9552 ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
9556 if (flags & NDR_OUT) {
9557 ndr_print_struct(ndr, "out", "netr_ServerReqChallenge");
9559 ndr_print_ptr(ndr, "return_credentials", r->out.return_credentials);
9561 ndr_print_netr_Credential(ndr, "return_credentials", r->out.return_credentials);
9563 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9569 static enum ndr_err_code ndr_push_netr_ServerAuthenticate(struct ndr_push *ndr, int flags, const struct netr_ServerAuthenticate *r)
9571 if (flags & NDR_IN) {
9572 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
9573 if (r->in.server_name) {
9574 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9575 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9576 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9577 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));
9579 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
9580 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9581 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
9582 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));
9583 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
9584 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
9585 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9586 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
9587 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));
9588 if (r->in.credentials == NULL) {
9589 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9591 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
9593 if (flags & NDR_OUT) {
9594 if (r->out.return_credentials == NULL) {
9595 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9597 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
9598 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9600 return NDR_ERR_SUCCESS;
9603 static enum ndr_err_code ndr_pull_netr_ServerAuthenticate(struct ndr_pull *ndr, int flags, struct netr_ServerAuthenticate *r)
9605 uint32_t _ptr_server_name;
9606 TALLOC_CTX *_mem_save_server_name_0;
9607 TALLOC_CTX *_mem_save_credentials_0;
9608 TALLOC_CTX *_mem_save_return_credentials_0;
9609 if (flags & NDR_IN) {
9610 ZERO_STRUCT(r->out);
9612 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
9613 if (_ptr_server_name) {
9614 NDR_PULL_ALLOC(ndr, r->in.server_name);
9616 r->in.server_name = NULL;
9618 if (r->in.server_name) {
9619 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9620 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
9621 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
9622 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
9623 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
9624 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));
9626 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
9627 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));
9628 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
9630 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
9631 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
9632 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
9633 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));
9635 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
9636 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));
9637 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
9638 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
9639 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
9640 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
9641 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));
9643 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
9644 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));
9645 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9646 NDR_PULL_ALLOC(ndr, r->in.credentials);
9648 _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
9649 NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC);
9650 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
9651 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
9652 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
9653 ZERO_STRUCTP(r->out.return_credentials);
9655 if (flags & NDR_OUT) {
9656 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9657 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
9659 _mem_save_return_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
9660 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_credentials, LIBNDR_FLAG_REF_ALLOC);
9661 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
9662 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_credentials_0, LIBNDR_FLAG_REF_ALLOC);
9663 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9665 return NDR_ERR_SUCCESS;
9668 _PUBLIC_ void ndr_print_netr_ServerAuthenticate(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerAuthenticate *r)
9670 ndr_print_struct(ndr, name, "netr_ServerAuthenticate");
9672 if (flags & NDR_SET_VALUES) {
9673 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9675 if (flags & NDR_IN) {
9676 ndr_print_struct(ndr, "in", "netr_ServerAuthenticate");
9678 ndr_print_ptr(ndr, "server_name", r->in.server_name);
9680 if (r->in.server_name) {
9681 ndr_print_string(ndr, "server_name", r->in.server_name);
9684 ndr_print_string(ndr, "account_name", r->in.account_name);
9685 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
9686 ndr_print_string(ndr, "computer_name", r->in.computer_name);
9687 ndr_print_ptr(ndr, "credentials", r->in.credentials);
9689 ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
9693 if (flags & NDR_OUT) {
9694 ndr_print_struct(ndr, "out", "netr_ServerAuthenticate");
9696 ndr_print_ptr(ndr, "return_credentials", r->out.return_credentials);
9698 ndr_print_netr_Credential(ndr, "return_credentials", r->out.return_credentials);
9700 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9706 static enum ndr_err_code ndr_push_netr_ServerPasswordSet(struct ndr_push *ndr, int flags, const struct netr_ServerPasswordSet *r)
9708 if (flags & NDR_IN) {
9709 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
9710 if (r->in.server_name) {
9711 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9712 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9713 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9714 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));
9716 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
9717 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9718 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
9719 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));
9720 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
9721 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
9722 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9723 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
9724 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));
9725 if (r->in.credential == NULL) {
9726 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9728 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
9729 if (r->in.new_password == NULL) {
9730 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9732 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.new_password));
9734 if (flags & NDR_OUT) {
9735 if (r->out.return_authenticator == NULL) {
9736 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9738 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9739 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9741 return NDR_ERR_SUCCESS;
9744 static enum ndr_err_code ndr_pull_netr_ServerPasswordSet(struct ndr_pull *ndr, int flags, struct netr_ServerPasswordSet *r)
9746 uint32_t _ptr_server_name;
9747 TALLOC_CTX *_mem_save_server_name_0;
9748 TALLOC_CTX *_mem_save_credential_0;
9749 TALLOC_CTX *_mem_save_return_authenticator_0;
9750 TALLOC_CTX *_mem_save_new_password_0;
9751 if (flags & NDR_IN) {
9752 ZERO_STRUCT(r->out);
9754 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
9755 if (_ptr_server_name) {
9756 NDR_PULL_ALLOC(ndr, r->in.server_name);
9758 r->in.server_name = NULL;
9760 if (r->in.server_name) {
9761 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9762 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
9763 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
9764 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
9765 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
9766 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));
9768 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
9769 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));
9770 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
9772 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
9773 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
9774 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
9775 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));
9777 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
9778 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));
9779 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
9780 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
9781 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
9782 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
9783 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));
9785 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
9786 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));
9787 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9788 NDR_PULL_ALLOC(ndr, r->in.credential);
9790 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
9791 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
9792 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
9793 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
9794 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9795 NDR_PULL_ALLOC(ndr, r->in.new_password);
9797 _mem_save_new_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
9798 NDR_PULL_SET_MEM_CTX(ndr, r->in.new_password, LIBNDR_FLAG_REF_ALLOC);
9799 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.new_password));
9800 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_password_0, LIBNDR_FLAG_REF_ALLOC);
9801 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9802 ZERO_STRUCTP(r->out.return_authenticator);
9804 if (flags & NDR_OUT) {
9805 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9806 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9808 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9809 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
9810 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9811 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
9812 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9814 return NDR_ERR_SUCCESS;
9817 _PUBLIC_ void ndr_print_netr_ServerPasswordSet(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerPasswordSet *r)
9819 ndr_print_struct(ndr, name, "netr_ServerPasswordSet");
9821 if (flags & NDR_SET_VALUES) {
9822 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9824 if (flags & NDR_IN) {
9825 ndr_print_struct(ndr, "in", "netr_ServerPasswordSet");
9827 ndr_print_ptr(ndr, "server_name", r->in.server_name);
9829 if (r->in.server_name) {
9830 ndr_print_string(ndr, "server_name", r->in.server_name);
9833 ndr_print_string(ndr, "account_name", r->in.account_name);
9834 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
9835 ndr_print_string(ndr, "computer_name", r->in.computer_name);
9836 ndr_print_ptr(ndr, "credential", r->in.credential);
9838 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
9840 ndr_print_ptr(ndr, "new_password", r->in.new_password);
9842 ndr_print_samr_Password(ndr, "new_password", r->in.new_password);
9846 if (flags & NDR_OUT) {
9847 ndr_print_struct(ndr, "out", "netr_ServerPasswordSet");
9849 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
9851 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
9853 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9859 static enum ndr_err_code ndr_push_netr_DatabaseDeltas(struct ndr_push *ndr, int flags, const struct netr_DatabaseDeltas *r)
9861 if (flags & NDR_IN) {
9862 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, 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.logon_server, CH_UTF16)));
9865 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));
9866 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
9867 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9868 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
9869 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9870 if (r->in.credential == NULL) {
9871 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9873 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
9874 if (r->in.return_authenticator == NULL) {
9875 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9877 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9878 NDR_CHECK(ndr_push_netr_SamDatabaseID(ndr, NDR_SCALARS, r->in.database_id));
9879 if (r->in.sequence_num == NULL) {
9880 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9882 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, *r->in.sequence_num));
9883 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.preferredmaximumlength));
9885 if (flags & NDR_OUT) {
9886 if (r->out.return_authenticator == NULL) {
9887 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9889 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9890 if (r->out.sequence_num == NULL) {
9891 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9893 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, *r->out.sequence_num));
9894 if (r->out.delta_enum_array == NULL) {
9895 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9897 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.delta_enum_array));
9898 if (*r->out.delta_enum_array) {
9899 NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
9901 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9903 return NDR_ERR_SUCCESS;
9906 static enum ndr_err_code ndr_pull_netr_DatabaseDeltas(struct ndr_pull *ndr, int flags, struct netr_DatabaseDeltas *r)
9908 uint32_t _ptr_delta_enum_array;
9909 TALLOC_CTX *_mem_save_credential_0;
9910 TALLOC_CTX *_mem_save_return_authenticator_0;
9911 TALLOC_CTX *_mem_save_sequence_num_0;
9912 TALLOC_CTX *_mem_save_delta_enum_array_0;
9913 TALLOC_CTX *_mem_save_delta_enum_array_1;
9914 if (flags & NDR_IN) {
9915 ZERO_STRUCT(r->out);
9917 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
9918 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
9919 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
9920 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));
9922 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
9923 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));
9924 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
9925 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
9926 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
9927 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));
9929 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
9930 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
9931 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9932 NDR_PULL_ALLOC(ndr, r->in.credential);
9934 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
9935 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
9936 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
9937 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
9938 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9939 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
9941 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9942 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
9943 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9944 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
9945 NDR_CHECK(ndr_pull_netr_SamDatabaseID(ndr, NDR_SCALARS, &r->in.database_id));
9946 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9947 NDR_PULL_ALLOC(ndr, r->in.sequence_num);
9949 _mem_save_sequence_num_0 = NDR_PULL_GET_MEM_CTX(ndr);
9950 NDR_PULL_SET_MEM_CTX(ndr, r->in.sequence_num, LIBNDR_FLAG_REF_ALLOC);
9951 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, r->in.sequence_num));
9952 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sequence_num_0, LIBNDR_FLAG_REF_ALLOC);
9953 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.preferredmaximumlength));
9954 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9955 *r->out.return_authenticator = *r->in.return_authenticator;
9956 NDR_PULL_ALLOC(ndr, r->out.sequence_num);
9957 *r->out.sequence_num = *r->in.sequence_num;
9958 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
9959 ZERO_STRUCTP(r->out.delta_enum_array);
9961 if (flags & NDR_OUT) {
9962 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9963 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9965 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9966 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
9967 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9968 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
9969 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9970 NDR_PULL_ALLOC(ndr, r->out.sequence_num);
9972 _mem_save_sequence_num_0 = NDR_PULL_GET_MEM_CTX(ndr);
9973 NDR_PULL_SET_MEM_CTX(ndr, r->out.sequence_num, LIBNDR_FLAG_REF_ALLOC);
9974 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, r->out.sequence_num));
9975 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sequence_num_0, LIBNDR_FLAG_REF_ALLOC);
9976 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9977 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
9979 _mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
9980 NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC);
9981 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum_array));
9982 if (_ptr_delta_enum_array) {
9983 NDR_PULL_ALLOC(ndr, *r->out.delta_enum_array);
9985 *r->out.delta_enum_array = NULL;
9987 if (*r->out.delta_enum_array) {
9988 _mem_save_delta_enum_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
9989 NDR_PULL_SET_MEM_CTX(ndr, *r->out.delta_enum_array, 0);
9990 NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
9991 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_1, 0);
9993 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC);
9994 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9996 return NDR_ERR_SUCCESS;
9999 _PUBLIC_ void ndr_print_netr_DatabaseDeltas(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseDeltas *r)
10001 ndr_print_struct(ndr, name, "netr_DatabaseDeltas");
10003 if (flags & NDR_SET_VALUES) {
10004 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10006 if (flags & NDR_IN) {
10007 ndr_print_struct(ndr, "in", "netr_DatabaseDeltas");
10009 ndr_print_string(ndr, "logon_server", r->in.logon_server);
10010 ndr_print_string(ndr, "computername", r->in.computername);
10011 ndr_print_ptr(ndr, "credential", r->in.credential);
10013 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
10015 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
10017 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
10019 ndr_print_netr_SamDatabaseID(ndr, "database_id", r->in.database_id);
10020 ndr_print_ptr(ndr, "sequence_num", r->in.sequence_num);
10022 ndr_print_udlong(ndr, "sequence_num", *r->in.sequence_num);
10024 ndr_print_uint32(ndr, "preferredmaximumlength", r->in.preferredmaximumlength);
10027 if (flags & NDR_OUT) {
10028 ndr_print_struct(ndr, "out", "netr_DatabaseDeltas");
10030 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
10032 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
10034 ndr_print_ptr(ndr, "sequence_num", r->out.sequence_num);
10036 ndr_print_udlong(ndr, "sequence_num", *r->out.sequence_num);
10038 ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array);
10040 ndr_print_ptr(ndr, "delta_enum_array", *r->out.delta_enum_array);
10042 if (*r->out.delta_enum_array) {
10043 ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", *r->out.delta_enum_array);
10047 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10053 static enum ndr_err_code ndr_push_netr_DatabaseSync(struct ndr_push *ndr, int flags, const struct netr_DatabaseSync *r)
10055 if (flags & NDR_IN) {
10056 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10057 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10058 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10059 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));
10060 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
10061 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10062 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
10063 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10064 if (r->in.credential == NULL) {
10065 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10067 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
10068 if (r->in.return_authenticator == NULL) {
10069 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10071 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10072 NDR_CHECK(ndr_push_netr_SamDatabaseID(ndr, NDR_SCALARS, r->in.database_id));
10073 if (r->in.sync_context == NULL) {
10074 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10076 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.sync_context));
10077 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.preferredmaximumlength));
10079 if (flags & NDR_OUT) {
10080 if (r->out.return_authenticator == NULL) {
10081 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10083 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10084 if (r->out.sync_context == NULL) {
10085 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10087 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.sync_context));
10088 if (r->out.delta_enum_array == NULL) {
10089 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10091 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.delta_enum_array));
10092 if (*r->out.delta_enum_array) {
10093 NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
10095 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10097 return NDR_ERR_SUCCESS;
10100 static enum ndr_err_code ndr_pull_netr_DatabaseSync(struct ndr_pull *ndr, int flags, struct netr_DatabaseSync *r)
10102 uint32_t _ptr_delta_enum_array;
10103 TALLOC_CTX *_mem_save_credential_0;
10104 TALLOC_CTX *_mem_save_return_authenticator_0;
10105 TALLOC_CTX *_mem_save_sync_context_0;
10106 TALLOC_CTX *_mem_save_delta_enum_array_0;
10107 TALLOC_CTX *_mem_save_delta_enum_array_1;
10108 if (flags & NDR_IN) {
10109 ZERO_STRUCT(r->out);
10111 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
10112 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
10113 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
10114 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));
10116 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
10117 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));
10118 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
10119 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
10120 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
10121 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));
10123 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
10124 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
10125 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10126 NDR_PULL_ALLOC(ndr, r->in.credential);
10128 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
10129 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
10130 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
10131 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
10132 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10133 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
10135 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10136 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10137 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10138 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10139 NDR_CHECK(ndr_pull_netr_SamDatabaseID(ndr, NDR_SCALARS, &r->in.database_id));
10140 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10141 NDR_PULL_ALLOC(ndr, r->in.sync_context);
10143 _mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
10144 NDR_PULL_SET_MEM_CTX(ndr, r->in.sync_context, LIBNDR_FLAG_REF_ALLOC);
10145 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.sync_context));
10146 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC);
10147 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.preferredmaximumlength));
10148 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10149 *r->out.return_authenticator = *r->in.return_authenticator;
10150 NDR_PULL_ALLOC(ndr, r->out.sync_context);
10151 *r->out.sync_context = *r->in.sync_context;
10152 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
10153 ZERO_STRUCTP(r->out.delta_enum_array);
10155 if (flags & NDR_OUT) {
10156 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10157 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10159 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10160 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10161 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10162 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10163 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10164 NDR_PULL_ALLOC(ndr, r->out.sync_context);
10166 _mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
10167 NDR_PULL_SET_MEM_CTX(ndr, r->out.sync_context, LIBNDR_FLAG_REF_ALLOC);
10168 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.sync_context));
10169 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC);
10170 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10171 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
10173 _mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10174 NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC);
10175 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum_array));
10176 if (_ptr_delta_enum_array) {
10177 NDR_PULL_ALLOC(ndr, *r->out.delta_enum_array);
10179 *r->out.delta_enum_array = NULL;
10181 if (*r->out.delta_enum_array) {
10182 _mem_save_delta_enum_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
10183 NDR_PULL_SET_MEM_CTX(ndr, *r->out.delta_enum_array, 0);
10184 NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
10185 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_1, 0);
10187 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC);
10188 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10190 return NDR_ERR_SUCCESS;
10193 _PUBLIC_ void ndr_print_netr_DatabaseSync(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseSync *r)
10195 ndr_print_struct(ndr, name, "netr_DatabaseSync");
10197 if (flags & NDR_SET_VALUES) {
10198 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10200 if (flags & NDR_IN) {
10201 ndr_print_struct(ndr, "in", "netr_DatabaseSync");
10203 ndr_print_string(ndr, "logon_server", r->in.logon_server);
10204 ndr_print_string(ndr, "computername", r->in.computername);
10205 ndr_print_ptr(ndr, "credential", r->in.credential);
10207 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
10209 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
10211 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
10213 ndr_print_netr_SamDatabaseID(ndr, "database_id", r->in.database_id);
10214 ndr_print_ptr(ndr, "sync_context", r->in.sync_context);
10216 ndr_print_uint32(ndr, "sync_context", *r->in.sync_context);
10218 ndr_print_uint32(ndr, "preferredmaximumlength", r->in.preferredmaximumlength);
10221 if (flags & NDR_OUT) {
10222 ndr_print_struct(ndr, "out", "netr_DatabaseSync");
10224 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
10226 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
10228 ndr_print_ptr(ndr, "sync_context", r->out.sync_context);
10230 ndr_print_uint32(ndr, "sync_context", *r->out.sync_context);
10232 ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array);
10234 ndr_print_ptr(ndr, "delta_enum_array", *r->out.delta_enum_array);
10236 if (*r->out.delta_enum_array) {
10237 ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", *r->out.delta_enum_array);
10241 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10247 static enum ndr_err_code ndr_push_netr_AccountDeltas(struct ndr_push *ndr, int flags, const struct netr_AccountDeltas *r)
10249 if (flags & NDR_IN) {
10250 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
10251 if (r->in.logon_server) {
10252 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10253 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10254 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10255 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));
10257 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
10258 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10259 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
10260 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10261 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
10262 if (r->in.return_authenticator == NULL) {
10263 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10265 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10266 NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, &r->in.uas));
10267 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
10268 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
10269 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buffersize));
10271 if (flags & NDR_OUT) {
10272 if (r->out.return_authenticator == NULL) {
10273 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10275 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10276 if (r->out.buffer == NULL) {
10277 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10280 struct ndr_push *_ndr_buffer;
10281 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_buffer, 4, -1));
10282 NDR_CHECK(ndr_push_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer));
10283 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_buffer, 4, -1));
10285 if (r->out.count_returned == NULL) {
10286 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10288 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count_returned));
10289 if (r->out.total_entries == NULL) {
10290 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10292 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.total_entries));
10293 if (r->out.recordid == NULL) {
10294 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10296 NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid));
10297 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10299 return NDR_ERR_SUCCESS;
10302 static enum ndr_err_code ndr_pull_netr_AccountDeltas(struct ndr_pull *ndr, int flags, struct netr_AccountDeltas *r)
10304 uint32_t _ptr_logon_server;
10305 TALLOC_CTX *_mem_save_logon_server_0;
10306 TALLOC_CTX *_mem_save_return_authenticator_0;
10307 TALLOC_CTX *_mem_save_buffer_0;
10308 TALLOC_CTX *_mem_save_count_returned_0;
10309 TALLOC_CTX *_mem_save_total_entries_0;
10310 TALLOC_CTX *_mem_save_recordid_0;
10311 if (flags & NDR_IN) {
10312 ZERO_STRUCT(r->out);
10314 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
10315 if (_ptr_logon_server) {
10316 NDR_PULL_ALLOC(ndr, r->in.logon_server);
10318 r->in.logon_server = NULL;
10320 if (r->in.logon_server) {
10321 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
10322 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
10323 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
10324 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
10325 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
10326 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));
10328 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
10329 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));
10330 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
10332 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
10333 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
10334 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
10335 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));
10337 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
10338 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
10339 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
10340 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10341 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
10343 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10344 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10345 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10346 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10347 NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, &r->in.uas));
10348 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
10349 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
10350 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buffersize));
10351 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10352 *r->out.return_authenticator = *r->in.return_authenticator;
10353 NDR_PULL_ALLOC(ndr, r->out.buffer);
10354 ZERO_STRUCTP(r->out.buffer);
10355 NDR_PULL_ALLOC(ndr, r->out.count_returned);
10356 ZERO_STRUCTP(r->out.count_returned);
10357 NDR_PULL_ALLOC(ndr, r->out.total_entries);
10358 ZERO_STRUCTP(r->out.total_entries);
10359 NDR_PULL_ALLOC(ndr, r->out.recordid);
10360 ZERO_STRUCTP(r->out.recordid);
10362 if (flags & NDR_OUT) {
10363 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10364 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10366 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10367 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10368 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10369 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10370 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10371 NDR_PULL_ALLOC(ndr, r->out.buffer);
10373 _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
10374 NDR_PULL_SET_MEM_CTX(ndr, r->out.buffer, LIBNDR_FLAG_REF_ALLOC);
10376 struct ndr_pull *_ndr_buffer;
10377 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_buffer, 4, -1));
10378 NDR_CHECK(ndr_pull_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer));
10379 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_buffer, 4, -1));
10381 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, LIBNDR_FLAG_REF_ALLOC);
10382 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10383 NDR_PULL_ALLOC(ndr, r->out.count_returned);
10385 _mem_save_count_returned_0 = NDR_PULL_GET_MEM_CTX(ndr);
10386 NDR_PULL_SET_MEM_CTX(ndr, r->out.count_returned, LIBNDR_FLAG_REF_ALLOC);
10387 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count_returned));
10388 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_returned_0, LIBNDR_FLAG_REF_ALLOC);
10389 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10390 NDR_PULL_ALLOC(ndr, r->out.total_entries);
10392 _mem_save_total_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
10393 NDR_PULL_SET_MEM_CTX(ndr, r->out.total_entries, LIBNDR_FLAG_REF_ALLOC);
10394 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.total_entries));
10395 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_total_entries_0, LIBNDR_FLAG_REF_ALLOC);
10396 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10397 NDR_PULL_ALLOC(ndr, r->out.recordid);
10399 _mem_save_recordid_0 = NDR_PULL_GET_MEM_CTX(ndr);
10400 NDR_PULL_SET_MEM_CTX(ndr, r->out.recordid, LIBNDR_FLAG_REF_ALLOC);
10401 NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid));
10402 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_recordid_0, LIBNDR_FLAG_REF_ALLOC);
10403 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10405 return NDR_ERR_SUCCESS;
10408 _PUBLIC_ void ndr_print_netr_AccountDeltas(struct ndr_print *ndr, const char *name, int flags, const struct netr_AccountDeltas *r)
10410 ndr_print_struct(ndr, name, "netr_AccountDeltas");
10412 if (flags & NDR_SET_VALUES) {
10413 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10415 if (flags & NDR_IN) {
10416 ndr_print_struct(ndr, "in", "netr_AccountDeltas");
10418 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
10420 if (r->in.logon_server) {
10421 ndr_print_string(ndr, "logon_server", r->in.logon_server);
10424 ndr_print_string(ndr, "computername", r->in.computername);
10425 ndr_print_netr_Authenticator(ndr, "credential", &r->in.credential);
10426 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
10428 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
10430 ndr_print_netr_UAS_INFO_0(ndr, "uas", &r->in.uas);
10431 ndr_print_uint32(ndr, "count", r->in.count);
10432 ndr_print_uint32(ndr, "level", r->in.level);
10433 ndr_print_uint32(ndr, "buffersize", r->in.buffersize);
10436 if (flags & NDR_OUT) {
10437 ndr_print_struct(ndr, "out", "netr_AccountDeltas");
10439 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
10441 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
10443 ndr_print_ptr(ndr, "buffer", r->out.buffer);
10445 ndr_print_netr_AccountBuffer(ndr, "buffer", r->out.buffer);
10447 ndr_print_ptr(ndr, "count_returned", r->out.count_returned);
10449 ndr_print_uint32(ndr, "count_returned", *r->out.count_returned);
10451 ndr_print_ptr(ndr, "total_entries", r->out.total_entries);
10453 ndr_print_uint32(ndr, "total_entries", *r->out.total_entries);
10455 ndr_print_ptr(ndr, "recordid", r->out.recordid);
10457 ndr_print_netr_UAS_INFO_0(ndr, "recordid", r->out.recordid);
10459 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10465 static enum ndr_err_code ndr_push_netr_AccountSync(struct ndr_push *ndr, int flags, const struct netr_AccountSync *r)
10467 if (flags & NDR_IN) {
10468 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
10469 if (r->in.logon_server) {
10470 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10471 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10472 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10473 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));
10475 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
10476 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10477 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
10478 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10479 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
10480 if (r->in.return_authenticator == NULL) {
10481 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10483 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10484 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.reference));
10485 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
10486 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buffersize));
10487 if (r->in.recordid == NULL) {
10488 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10490 NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->in.recordid));
10492 if (flags & NDR_OUT) {
10493 if (r->out.return_authenticator == NULL) {
10494 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10496 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10497 if (r->out.buffer == NULL) {
10498 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10501 struct ndr_push *_ndr_buffer;
10502 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_buffer, 4, -1));
10503 NDR_CHECK(ndr_push_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer));
10504 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_buffer, 4, -1));
10506 if (r->out.count_returned == NULL) {
10507 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10509 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count_returned));
10510 if (r->out.total_entries == NULL) {
10511 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10513 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.total_entries));
10514 if (r->out.next_reference == NULL) {
10515 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10517 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.next_reference));
10518 if (r->out.recordid == NULL) {
10519 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10521 NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid));
10522 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10524 return NDR_ERR_SUCCESS;
10527 static enum ndr_err_code ndr_pull_netr_AccountSync(struct ndr_pull *ndr, int flags, struct netr_AccountSync *r)
10529 uint32_t _ptr_logon_server;
10530 TALLOC_CTX *_mem_save_logon_server_0;
10531 TALLOC_CTX *_mem_save_return_authenticator_0;
10532 TALLOC_CTX *_mem_save_buffer_0;
10533 TALLOC_CTX *_mem_save_count_returned_0;
10534 TALLOC_CTX *_mem_save_total_entries_0;
10535 TALLOC_CTX *_mem_save_next_reference_0;
10536 TALLOC_CTX *_mem_save_recordid_0;
10537 if (flags & NDR_IN) {
10538 ZERO_STRUCT(r->out);
10540 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
10541 if (_ptr_logon_server) {
10542 NDR_PULL_ALLOC(ndr, r->in.logon_server);
10544 r->in.logon_server = NULL;
10546 if (r->in.logon_server) {
10547 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
10548 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
10549 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
10550 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
10551 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
10552 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));
10554 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
10555 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));
10556 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
10558 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
10559 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
10560 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
10561 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));
10563 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
10564 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
10565 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
10566 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10567 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
10569 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10570 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10571 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10572 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10573 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.reference));
10574 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
10575 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buffersize));
10576 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10577 NDR_PULL_ALLOC(ndr, r->in.recordid);
10579 _mem_save_recordid_0 = NDR_PULL_GET_MEM_CTX(ndr);
10580 NDR_PULL_SET_MEM_CTX(ndr, r->in.recordid, LIBNDR_FLAG_REF_ALLOC);
10581 NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->in.recordid));
10582 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_recordid_0, LIBNDR_FLAG_REF_ALLOC);
10583 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10584 *r->out.return_authenticator = *r->in.return_authenticator;
10585 NDR_PULL_ALLOC(ndr, r->out.buffer);
10586 ZERO_STRUCTP(r->out.buffer);
10587 NDR_PULL_ALLOC(ndr, r->out.count_returned);
10588 ZERO_STRUCTP(r->out.count_returned);
10589 NDR_PULL_ALLOC(ndr, r->out.total_entries);
10590 ZERO_STRUCTP(r->out.total_entries);
10591 NDR_PULL_ALLOC(ndr, r->out.next_reference);
10592 ZERO_STRUCTP(r->out.next_reference);
10593 NDR_PULL_ALLOC(ndr, r->out.recordid);
10594 *r->out.recordid = *r->in.recordid;
10596 if (flags & NDR_OUT) {
10597 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10598 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10600 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10601 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10602 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10603 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10604 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10605 NDR_PULL_ALLOC(ndr, r->out.buffer);
10607 _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
10608 NDR_PULL_SET_MEM_CTX(ndr, r->out.buffer, LIBNDR_FLAG_REF_ALLOC);
10610 struct ndr_pull *_ndr_buffer;
10611 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_buffer, 4, -1));
10612 NDR_CHECK(ndr_pull_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer));
10613 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_buffer, 4, -1));
10615 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, LIBNDR_FLAG_REF_ALLOC);
10616 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10617 NDR_PULL_ALLOC(ndr, r->out.count_returned);
10619 _mem_save_count_returned_0 = NDR_PULL_GET_MEM_CTX(ndr);
10620 NDR_PULL_SET_MEM_CTX(ndr, r->out.count_returned, LIBNDR_FLAG_REF_ALLOC);
10621 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count_returned));
10622 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_returned_0, LIBNDR_FLAG_REF_ALLOC);
10623 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10624 NDR_PULL_ALLOC(ndr, r->out.total_entries);
10626 _mem_save_total_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
10627 NDR_PULL_SET_MEM_CTX(ndr, r->out.total_entries, LIBNDR_FLAG_REF_ALLOC);
10628 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.total_entries));
10629 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_total_entries_0, LIBNDR_FLAG_REF_ALLOC);
10630 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10631 NDR_PULL_ALLOC(ndr, r->out.next_reference);
10633 _mem_save_next_reference_0 = NDR_PULL_GET_MEM_CTX(ndr);
10634 NDR_PULL_SET_MEM_CTX(ndr, r->out.next_reference, LIBNDR_FLAG_REF_ALLOC);
10635 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.next_reference));
10636 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_reference_0, LIBNDR_FLAG_REF_ALLOC);
10637 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10638 NDR_PULL_ALLOC(ndr, r->out.recordid);
10640 _mem_save_recordid_0 = NDR_PULL_GET_MEM_CTX(ndr);
10641 NDR_PULL_SET_MEM_CTX(ndr, r->out.recordid, LIBNDR_FLAG_REF_ALLOC);
10642 NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid));
10643 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_recordid_0, LIBNDR_FLAG_REF_ALLOC);
10644 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10646 return NDR_ERR_SUCCESS;
10649 _PUBLIC_ void ndr_print_netr_AccountSync(struct ndr_print *ndr, const char *name, int flags, const struct netr_AccountSync *r)
10651 ndr_print_struct(ndr, name, "netr_AccountSync");
10653 if (flags & NDR_SET_VALUES) {
10654 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10656 if (flags & NDR_IN) {
10657 ndr_print_struct(ndr, "in", "netr_AccountSync");
10659 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
10661 if (r->in.logon_server) {
10662 ndr_print_string(ndr, "logon_server", r->in.logon_server);
10665 ndr_print_string(ndr, "computername", r->in.computername);
10666 ndr_print_netr_Authenticator(ndr, "credential", &r->in.credential);
10667 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
10669 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
10671 ndr_print_uint32(ndr, "reference", r->in.reference);
10672 ndr_print_uint32(ndr, "level", r->in.level);
10673 ndr_print_uint32(ndr, "buffersize", r->in.buffersize);
10674 ndr_print_ptr(ndr, "recordid", r->in.recordid);
10676 ndr_print_netr_UAS_INFO_0(ndr, "recordid", r->in.recordid);
10680 if (flags & NDR_OUT) {
10681 ndr_print_struct(ndr, "out", "netr_AccountSync");
10683 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
10685 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
10687 ndr_print_ptr(ndr, "buffer", r->out.buffer);
10689 ndr_print_netr_AccountBuffer(ndr, "buffer", r->out.buffer);
10691 ndr_print_ptr(ndr, "count_returned", r->out.count_returned);
10693 ndr_print_uint32(ndr, "count_returned", *r->out.count_returned);
10695 ndr_print_ptr(ndr, "total_entries", r->out.total_entries);
10697 ndr_print_uint32(ndr, "total_entries", *r->out.total_entries);
10699 ndr_print_ptr(ndr, "next_reference", r->out.next_reference);
10701 ndr_print_uint32(ndr, "next_reference", *r->out.next_reference);
10703 ndr_print_ptr(ndr, "recordid", r->out.recordid);
10705 ndr_print_netr_UAS_INFO_0(ndr, "recordid", r->out.recordid);
10707 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10713 static enum ndr_err_code ndr_push_netr_GetDcName(struct ndr_push *ndr, int flags, const struct netr_GetDcName *r)
10715 if (flags & NDR_IN) {
10716 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10717 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10718 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10719 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));
10720 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domainname));
10721 if (r->in.domainname) {
10722 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16)));
10723 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10724 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16)));
10725 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domainname, ndr_charset_length(r->in.domainname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10728 if (flags & NDR_OUT) {
10729 if (r->out.dcname == NULL) {
10730 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10732 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.dcname));
10733 if (*r->out.dcname) {
10734 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16)));
10735 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10736 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16)));
10737 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.dcname, ndr_charset_length(*r->out.dcname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10739 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
10741 return NDR_ERR_SUCCESS;
10744 static enum ndr_err_code ndr_pull_netr_GetDcName(struct ndr_pull *ndr, int flags, struct netr_GetDcName *r)
10746 uint32_t _ptr_domainname;
10747 uint32_t _ptr_dcname;
10748 TALLOC_CTX *_mem_save_domainname_0;
10749 TALLOC_CTX *_mem_save_dcname_0;
10750 TALLOC_CTX *_mem_save_dcname_1;
10751 if (flags & NDR_IN) {
10752 ZERO_STRUCT(r->out);
10754 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
10755 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
10756 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
10757 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));
10759 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
10760 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));
10761 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domainname));
10762 if (_ptr_domainname) {
10763 NDR_PULL_ALLOC(ndr, r->in.domainname);
10765 r->in.domainname = NULL;
10767 if (r->in.domainname) {
10768 _mem_save_domainname_0 = NDR_PULL_GET_MEM_CTX(ndr);
10769 NDR_PULL_SET_MEM_CTX(ndr, r->in.domainname, 0);
10770 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domainname));
10771 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domainname));
10772 if (ndr_get_array_length(ndr, &r->in.domainname) > ndr_get_array_size(ndr, &r->in.domainname)) {
10773 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));
10775 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domainname), sizeof(uint16_t)));
10776 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domainname, ndr_get_array_length(ndr, &r->in.domainname), sizeof(uint16_t), CH_UTF16));
10777 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domainname_0, 0);
10779 NDR_PULL_ALLOC(ndr, r->out.dcname);
10780 ZERO_STRUCTP(r->out.dcname);
10782 if (flags & NDR_OUT) {
10783 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10784 NDR_PULL_ALLOC(ndr, r->out.dcname);
10786 _mem_save_dcname_0 = NDR_PULL_GET_MEM_CTX(ndr);
10787 NDR_PULL_SET_MEM_CTX(ndr, r->out.dcname, LIBNDR_FLAG_REF_ALLOC);
10788 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dcname));
10790 NDR_PULL_ALLOC(ndr, *r->out.dcname);
10792 *r->out.dcname = NULL;
10794 if (*r->out.dcname) {
10795 _mem_save_dcname_1 = NDR_PULL_GET_MEM_CTX(ndr);
10796 NDR_PULL_SET_MEM_CTX(ndr, *r->out.dcname, 0);
10797 NDR_CHECK(ndr_pull_array_size(ndr, r->out.dcname));
10798 NDR_CHECK(ndr_pull_array_length(ndr, r->out.dcname));
10799 if (ndr_get_array_length(ndr, r->out.dcname) > ndr_get_array_size(ndr, r->out.dcname)) {
10800 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));
10802 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.dcname), sizeof(uint16_t)));
10803 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.dcname, ndr_get_array_length(ndr, r->out.dcname), sizeof(uint16_t), CH_UTF16));
10804 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_1, 0);
10806 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_0, LIBNDR_FLAG_REF_ALLOC);
10807 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
10809 return NDR_ERR_SUCCESS;
10812 _PUBLIC_ void ndr_print_netr_GetDcName(struct ndr_print *ndr, const char *name, int flags, const struct netr_GetDcName *r)
10814 ndr_print_struct(ndr, name, "netr_GetDcName");
10816 if (flags & NDR_SET_VALUES) {
10817 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10819 if (flags & NDR_IN) {
10820 ndr_print_struct(ndr, "in", "netr_GetDcName");
10822 ndr_print_string(ndr, "logon_server", r->in.logon_server);
10823 ndr_print_ptr(ndr, "domainname", r->in.domainname);
10825 if (r->in.domainname) {
10826 ndr_print_string(ndr, "domainname", r->in.domainname);
10831 if (flags & NDR_OUT) {
10832 ndr_print_struct(ndr, "out", "netr_GetDcName");
10834 ndr_print_ptr(ndr, "dcname", r->out.dcname);
10836 ndr_print_ptr(ndr, "dcname", *r->out.dcname);
10838 if (*r->out.dcname) {
10839 ndr_print_string(ndr, "dcname", *r->out.dcname);
10843 ndr_print_WERROR(ndr, "result", r->out.result);
10849 static enum ndr_err_code ndr_push_netr_LogonControl(struct ndr_push *ndr, int flags, const struct netr_LogonControl *r)
10851 if (flags & NDR_IN) {
10852 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
10853 if (r->in.logon_server) {
10854 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10855 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10856 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10857 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));
10859 NDR_CHECK(ndr_push_netr_LogonControlCode(ndr, NDR_SCALARS, r->in.function_code));
10860 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
10862 if (flags & NDR_OUT) {
10863 if (r->out.info == NULL) {
10864 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10866 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level));
10867 NDR_CHECK(ndr_push_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
10868 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
10870 return NDR_ERR_SUCCESS;
10873 static enum ndr_err_code ndr_pull_netr_LogonControl(struct ndr_pull *ndr, int flags, struct netr_LogonControl *r)
10875 uint32_t _ptr_logon_server;
10876 TALLOC_CTX *_mem_save_logon_server_0;
10877 TALLOC_CTX *_mem_save_info_0;
10878 if (flags & NDR_IN) {
10879 ZERO_STRUCT(r->out);
10881 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
10882 if (_ptr_logon_server) {
10883 NDR_PULL_ALLOC(ndr, r->in.logon_server);
10885 r->in.logon_server = NULL;
10887 if (r->in.logon_server) {
10888 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
10889 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
10890 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
10891 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
10892 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
10893 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));
10895 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
10896 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));
10897 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
10899 NDR_CHECK(ndr_pull_netr_LogonControlCode(ndr, NDR_SCALARS, &r->in.function_code));
10900 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
10901 NDR_PULL_ALLOC(ndr, r->out.info);
10902 ZERO_STRUCTP(r->out.info);
10904 if (flags & NDR_OUT) {
10905 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10906 NDR_PULL_ALLOC(ndr, r->out.info);
10908 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
10909 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
10910 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level));
10911 NDR_CHECK(ndr_pull_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
10912 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
10913 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
10915 return NDR_ERR_SUCCESS;
10918 _PUBLIC_ void ndr_print_netr_LogonControl(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonControl *r)
10920 ndr_print_struct(ndr, name, "netr_LogonControl");
10922 if (flags & NDR_SET_VALUES) {
10923 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10925 if (flags & NDR_IN) {
10926 ndr_print_struct(ndr, "in", "netr_LogonControl");
10928 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
10930 if (r->in.logon_server) {
10931 ndr_print_string(ndr, "logon_server", r->in.logon_server);
10934 ndr_print_netr_LogonControlCode(ndr, "function_code", r->in.function_code);
10935 ndr_print_uint32(ndr, "level", r->in.level);
10938 if (flags & NDR_OUT) {
10939 ndr_print_struct(ndr, "out", "netr_LogonControl");
10941 ndr_print_ptr(ndr, "info", r->out.info);
10943 ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
10944 ndr_print_netr_CONTROL_QUERY_INFORMATION(ndr, "info", r->out.info);
10946 ndr_print_WERROR(ndr, "result", r->out.result);
10952 static enum ndr_err_code ndr_push_netr_GetAnyDCName(struct ndr_push *ndr, int flags, const struct netr_GetAnyDCName *r)
10954 if (flags & NDR_IN) {
10955 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
10956 if (r->in.logon_server) {
10957 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10958 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10959 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10960 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));
10962 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domainname));
10963 if (r->in.domainname) {
10964 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16)));
10965 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10966 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16)));
10967 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domainname, ndr_charset_length(r->in.domainname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10970 if (flags & NDR_OUT) {
10971 if (r->out.dcname == NULL) {
10972 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10974 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.dcname));
10975 if (*r->out.dcname) {
10976 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16)));
10977 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10978 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16)));
10979 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.dcname, ndr_charset_length(*r->out.dcname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10981 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
10983 return NDR_ERR_SUCCESS;
10986 static enum ndr_err_code ndr_pull_netr_GetAnyDCName(struct ndr_pull *ndr, int flags, struct netr_GetAnyDCName *r)
10988 uint32_t _ptr_logon_server;
10989 uint32_t _ptr_domainname;
10990 uint32_t _ptr_dcname;
10991 TALLOC_CTX *_mem_save_logon_server_0;
10992 TALLOC_CTX *_mem_save_domainname_0;
10993 TALLOC_CTX *_mem_save_dcname_0;
10994 TALLOC_CTX *_mem_save_dcname_1;
10995 if (flags & NDR_IN) {
10996 ZERO_STRUCT(r->out);
10998 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
10999 if (_ptr_logon_server) {
11000 NDR_PULL_ALLOC(ndr, r->in.logon_server);
11002 r->in.logon_server = NULL;
11004 if (r->in.logon_server) {
11005 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
11006 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
11007 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
11008 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
11009 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
11010 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));
11012 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
11013 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));
11014 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
11016 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domainname));
11017 if (_ptr_domainname) {
11018 NDR_PULL_ALLOC(ndr, r->in.domainname);
11020 r->in.domainname = NULL;
11022 if (r->in.domainname) {
11023 _mem_save_domainname_0 = NDR_PULL_GET_MEM_CTX(ndr);
11024 NDR_PULL_SET_MEM_CTX(ndr, r->in.domainname, 0);
11025 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domainname));
11026 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domainname));
11027 if (ndr_get_array_length(ndr, &r->in.domainname) > ndr_get_array_size(ndr, &r->in.domainname)) {
11028 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));
11030 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domainname), sizeof(uint16_t)));
11031 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domainname, ndr_get_array_length(ndr, &r->in.domainname), sizeof(uint16_t), CH_UTF16));
11032 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domainname_0, 0);
11034 NDR_PULL_ALLOC(ndr, r->out.dcname);
11035 ZERO_STRUCTP(r->out.dcname);
11037 if (flags & NDR_OUT) {
11038 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11039 NDR_PULL_ALLOC(ndr, r->out.dcname);
11041 _mem_save_dcname_0 = NDR_PULL_GET_MEM_CTX(ndr);
11042 NDR_PULL_SET_MEM_CTX(ndr, r->out.dcname, LIBNDR_FLAG_REF_ALLOC);
11043 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dcname));
11045 NDR_PULL_ALLOC(ndr, *r->out.dcname);
11047 *r->out.dcname = NULL;
11049 if (*r->out.dcname) {
11050 _mem_save_dcname_1 = NDR_PULL_GET_MEM_CTX(ndr);
11051 NDR_PULL_SET_MEM_CTX(ndr, *r->out.dcname, 0);
11052 NDR_CHECK(ndr_pull_array_size(ndr, r->out.dcname));
11053 NDR_CHECK(ndr_pull_array_length(ndr, r->out.dcname));
11054 if (ndr_get_array_length(ndr, r->out.dcname) > ndr_get_array_size(ndr, r->out.dcname)) {
11055 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));
11057 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.dcname), sizeof(uint16_t)));
11058 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.dcname, ndr_get_array_length(ndr, r->out.dcname), sizeof(uint16_t), CH_UTF16));
11059 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_1, 0);
11061 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_0, LIBNDR_FLAG_REF_ALLOC);
11062 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11064 return NDR_ERR_SUCCESS;
11067 _PUBLIC_ void ndr_print_netr_GetAnyDCName(struct ndr_print *ndr, const char *name, int flags, const struct netr_GetAnyDCName *r)
11069 ndr_print_struct(ndr, name, "netr_GetAnyDCName");
11071 if (flags & NDR_SET_VALUES) {
11072 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11074 if (flags & NDR_IN) {
11075 ndr_print_struct(ndr, "in", "netr_GetAnyDCName");
11077 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
11079 if (r->in.logon_server) {
11080 ndr_print_string(ndr, "logon_server", r->in.logon_server);
11083 ndr_print_ptr(ndr, "domainname", r->in.domainname);
11085 if (r->in.domainname) {
11086 ndr_print_string(ndr, "domainname", r->in.domainname);
11091 if (flags & NDR_OUT) {
11092 ndr_print_struct(ndr, "out", "netr_GetAnyDCName");
11094 ndr_print_ptr(ndr, "dcname", r->out.dcname);
11096 ndr_print_ptr(ndr, "dcname", *r->out.dcname);
11098 if (*r->out.dcname) {
11099 ndr_print_string(ndr, "dcname", *r->out.dcname);
11103 ndr_print_WERROR(ndr, "result", r->out.result);
11109 static enum ndr_err_code ndr_push_netr_LogonControl2(struct ndr_push *ndr, int flags, const struct netr_LogonControl2 *r)
11111 if (flags & NDR_IN) {
11112 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
11113 if (r->in.logon_server) {
11114 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11115 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11116 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11117 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));
11119 NDR_CHECK(ndr_push_netr_LogonControlCode(ndr, NDR_SCALARS, r->in.function_code));
11120 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
11121 if (r->in.data == NULL) {
11122 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11124 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.data, r->in.function_code));
11125 NDR_CHECK(ndr_push_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.data));
11127 if (flags & NDR_OUT) {
11128 if (r->out.query == NULL) {
11129 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11131 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.query, r->in.level));
11132 NDR_CHECK(ndr_push_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
11133 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11135 return NDR_ERR_SUCCESS;
11138 static enum ndr_err_code ndr_pull_netr_LogonControl2(struct ndr_pull *ndr, int flags, struct netr_LogonControl2 *r)
11140 uint32_t _ptr_logon_server;
11141 TALLOC_CTX *_mem_save_logon_server_0;
11142 TALLOC_CTX *_mem_save_data_0;
11143 TALLOC_CTX *_mem_save_query_0;
11144 if (flags & NDR_IN) {
11145 ZERO_STRUCT(r->out);
11147 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
11148 if (_ptr_logon_server) {
11149 NDR_PULL_ALLOC(ndr, r->in.logon_server);
11151 r->in.logon_server = NULL;
11153 if (r->in.logon_server) {
11154 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
11155 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
11156 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
11157 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
11158 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
11159 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));
11161 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
11162 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));
11163 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
11165 NDR_CHECK(ndr_pull_netr_LogonControlCode(ndr, NDR_SCALARS, &r->in.function_code));
11166 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
11167 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11168 NDR_PULL_ALLOC(ndr, r->in.data);
11170 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
11171 NDR_PULL_SET_MEM_CTX(ndr, r->in.data, LIBNDR_FLAG_REF_ALLOC);
11172 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.data, r->in.function_code));
11173 NDR_CHECK(ndr_pull_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.data));
11174 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, LIBNDR_FLAG_REF_ALLOC);
11175 NDR_PULL_ALLOC(ndr, r->out.query);
11176 ZERO_STRUCTP(r->out.query);
11178 if (flags & NDR_OUT) {
11179 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11180 NDR_PULL_ALLOC(ndr, r->out.query);
11182 _mem_save_query_0 = NDR_PULL_GET_MEM_CTX(ndr);
11183 NDR_PULL_SET_MEM_CTX(ndr, r->out.query, LIBNDR_FLAG_REF_ALLOC);
11184 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.query, r->in.level));
11185 NDR_CHECK(ndr_pull_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
11186 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query_0, LIBNDR_FLAG_REF_ALLOC);
11187 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11189 return NDR_ERR_SUCCESS;
11192 _PUBLIC_ void ndr_print_netr_LogonControl2(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonControl2 *r)
11194 ndr_print_struct(ndr, name, "netr_LogonControl2");
11196 if (flags & NDR_SET_VALUES) {
11197 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11199 if (flags & NDR_IN) {
11200 ndr_print_struct(ndr, "in", "netr_LogonControl2");
11202 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
11204 if (r->in.logon_server) {
11205 ndr_print_string(ndr, "logon_server", r->in.logon_server);
11208 ndr_print_netr_LogonControlCode(ndr, "function_code", r->in.function_code);
11209 ndr_print_uint32(ndr, "level", r->in.level);
11210 ndr_print_ptr(ndr, "data", r->in.data);
11212 ndr_print_set_switch_value(ndr, r->in.data, r->in.function_code);
11213 ndr_print_netr_CONTROL_DATA_INFORMATION(ndr, "data", r->in.data);
11217 if (flags & NDR_OUT) {
11218 ndr_print_struct(ndr, "out", "netr_LogonControl2");
11220 ndr_print_ptr(ndr, "query", r->out.query);
11222 ndr_print_set_switch_value(ndr, r->out.query, r->in.level);
11223 ndr_print_netr_CONTROL_QUERY_INFORMATION(ndr, "query", r->out.query);
11225 ndr_print_WERROR(ndr, "result", r->out.result);
11231 static enum ndr_err_code ndr_push_netr_ServerAuthenticate2(struct ndr_push *ndr, int flags, const struct netr_ServerAuthenticate2 *r)
11233 if (flags & NDR_IN) {
11234 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
11235 if (r->in.server_name) {
11236 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
11237 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11238 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
11239 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));
11241 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
11242 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11243 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
11244 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));
11245 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
11246 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
11247 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11248 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
11249 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));
11250 if (r->in.credentials == NULL) {
11251 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11253 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
11254 if (r->in.negotiate_flags == NULL) {
11255 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11257 NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, *r->in.negotiate_flags));
11259 if (flags & NDR_OUT) {
11260 if (r->out.return_credentials == NULL) {
11261 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11263 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
11264 if (r->out.negotiate_flags == NULL) {
11265 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11267 NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, *r->out.negotiate_flags));
11268 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11270 return NDR_ERR_SUCCESS;
11273 static enum ndr_err_code ndr_pull_netr_ServerAuthenticate2(struct ndr_pull *ndr, int flags, struct netr_ServerAuthenticate2 *r)
11275 uint32_t _ptr_server_name;
11276 TALLOC_CTX *_mem_save_server_name_0;
11277 TALLOC_CTX *_mem_save_credentials_0;
11278 TALLOC_CTX *_mem_save_return_credentials_0;
11279 TALLOC_CTX *_mem_save_negotiate_flags_0;
11280 if (flags & NDR_IN) {
11281 ZERO_STRUCT(r->out);
11283 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
11284 if (_ptr_server_name) {
11285 NDR_PULL_ALLOC(ndr, r->in.server_name);
11287 r->in.server_name = NULL;
11289 if (r->in.server_name) {
11290 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11291 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
11292 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
11293 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
11294 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
11295 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));
11297 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
11298 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));
11299 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
11301 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
11302 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
11303 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
11304 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));
11306 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
11307 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));
11308 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
11309 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
11310 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
11311 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
11312 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));
11314 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
11315 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));
11316 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11317 NDR_PULL_ALLOC(ndr, r->in.credentials);
11319 _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
11320 NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC);
11321 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
11322 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
11323 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11324 NDR_PULL_ALLOC(ndr, r->in.negotiate_flags);
11326 _mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
11327 NDR_PULL_SET_MEM_CTX(ndr, r->in.negotiate_flags, LIBNDR_FLAG_REF_ALLOC);
11328 NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, r->in.negotiate_flags));
11329 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC);
11330 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
11331 ZERO_STRUCTP(r->out.return_credentials);
11332 NDR_PULL_ALLOC(ndr, r->out.negotiate_flags);
11333 *r->out.negotiate_flags = *r->in.negotiate_flags;
11335 if (flags & NDR_OUT) {
11336 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11337 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
11339 _mem_save_return_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
11340 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_credentials, LIBNDR_FLAG_REF_ALLOC);
11341 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
11342 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_credentials_0, LIBNDR_FLAG_REF_ALLOC);
11343 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11344 NDR_PULL_ALLOC(ndr, r->out.negotiate_flags);
11346 _mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
11347 NDR_PULL_SET_MEM_CTX(ndr, r->out.negotiate_flags, LIBNDR_FLAG_REF_ALLOC);
11348 NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, r->out.negotiate_flags));
11349 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC);
11350 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11352 return NDR_ERR_SUCCESS;
11355 _PUBLIC_ void ndr_print_netr_ServerAuthenticate2(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerAuthenticate2 *r)
11357 ndr_print_struct(ndr, name, "netr_ServerAuthenticate2");
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_ServerAuthenticate2");
11365 ndr_print_ptr(ndr, "server_name", r->in.server_name);
11367 if (r->in.server_name) {
11368 ndr_print_string(ndr, "server_name", r->in.server_name);
11371 ndr_print_string(ndr, "account_name", r->in.account_name);
11372 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
11373 ndr_print_string(ndr, "computer_name", r->in.computer_name);
11374 ndr_print_ptr(ndr, "credentials", r->in.credentials);
11376 ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
11378 ndr_print_ptr(ndr, "negotiate_flags", r->in.negotiate_flags);
11380 ndr_print_netr_NegotiateFlags(ndr, "negotiate_flags", *r->in.negotiate_flags);
11384 if (flags & NDR_OUT) {
11385 ndr_print_struct(ndr, "out", "netr_ServerAuthenticate2");
11387 ndr_print_ptr(ndr, "return_credentials", r->out.return_credentials);
11389 ndr_print_netr_Credential(ndr, "return_credentials", r->out.return_credentials);
11391 ndr_print_ptr(ndr, "negotiate_flags", r->out.negotiate_flags);
11393 ndr_print_netr_NegotiateFlags(ndr, "negotiate_flags", *r->out.negotiate_flags);
11395 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11401 static enum ndr_err_code ndr_push_netr_DatabaseSync2(struct ndr_push *ndr, int flags, const struct netr_DatabaseSync2 *r)
11403 if (flags & NDR_IN) {
11404 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11405 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11406 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11407 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));
11408 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
11409 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11410 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
11411 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11412 if (r->in.credential == NULL) {
11413 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11415 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
11416 if (r->in.return_authenticator == NULL) {
11417 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11419 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
11420 NDR_CHECK(ndr_push_netr_SamDatabaseID(ndr, NDR_SCALARS, r->in.database_id));
11421 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.restart_state));
11422 if (r->in.sync_context == NULL) {
11423 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11425 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.sync_context));
11426 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.preferredmaximumlength));
11428 if (flags & NDR_OUT) {
11429 if (r->out.return_authenticator == NULL) {
11430 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11432 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
11433 if (r->out.sync_context == NULL) {
11434 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11436 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.sync_context));
11437 if (r->out.delta_enum_array == NULL) {
11438 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11440 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.delta_enum_array));
11441 if (*r->out.delta_enum_array) {
11442 NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
11444 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11446 return NDR_ERR_SUCCESS;
11449 static enum ndr_err_code ndr_pull_netr_DatabaseSync2(struct ndr_pull *ndr, int flags, struct netr_DatabaseSync2 *r)
11451 uint32_t _ptr_delta_enum_array;
11452 TALLOC_CTX *_mem_save_credential_0;
11453 TALLOC_CTX *_mem_save_return_authenticator_0;
11454 TALLOC_CTX *_mem_save_sync_context_0;
11455 TALLOC_CTX *_mem_save_delta_enum_array_0;
11456 TALLOC_CTX *_mem_save_delta_enum_array_1;
11457 if (flags & NDR_IN) {
11458 ZERO_STRUCT(r->out);
11460 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
11461 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
11462 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
11463 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));
11465 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
11466 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));
11467 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
11468 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
11469 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
11470 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));
11472 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
11473 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
11474 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11475 NDR_PULL_ALLOC(ndr, r->in.credential);
11477 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
11478 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
11479 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
11480 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
11481 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11482 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
11484 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
11485 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
11486 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
11487 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
11488 NDR_CHECK(ndr_pull_netr_SamDatabaseID(ndr, NDR_SCALARS, &r->in.database_id));
11489 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.restart_state));
11490 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11491 NDR_PULL_ALLOC(ndr, r->in.sync_context);
11493 _mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
11494 NDR_PULL_SET_MEM_CTX(ndr, r->in.sync_context, LIBNDR_FLAG_REF_ALLOC);
11495 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.sync_context));
11496 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC);
11497 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.preferredmaximumlength));
11498 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
11499 *r->out.return_authenticator = *r->in.return_authenticator;
11500 NDR_PULL_ALLOC(ndr, r->out.sync_context);
11501 *r->out.sync_context = *r->in.sync_context;
11502 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
11503 ZERO_STRUCTP(r->out.delta_enum_array);
11505 if (flags & NDR_OUT) {
11506 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11507 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
11509 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
11510 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
11511 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
11512 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
11513 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11514 NDR_PULL_ALLOC(ndr, r->out.sync_context);
11516 _mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
11517 NDR_PULL_SET_MEM_CTX(ndr, r->out.sync_context, LIBNDR_FLAG_REF_ALLOC);
11518 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.sync_context));
11519 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC);
11520 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11521 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
11523 _mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11524 NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC);
11525 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum_array));
11526 if (_ptr_delta_enum_array) {
11527 NDR_PULL_ALLOC(ndr, *r->out.delta_enum_array);
11529 *r->out.delta_enum_array = NULL;
11531 if (*r->out.delta_enum_array) {
11532 _mem_save_delta_enum_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
11533 NDR_PULL_SET_MEM_CTX(ndr, *r->out.delta_enum_array, 0);
11534 NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
11535 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_1, 0);
11537 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC);
11538 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11540 return NDR_ERR_SUCCESS;
11543 _PUBLIC_ void ndr_print_netr_DatabaseSync2(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseSync2 *r)
11545 ndr_print_struct(ndr, name, "netr_DatabaseSync2");
11547 if (flags & NDR_SET_VALUES) {
11548 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11550 if (flags & NDR_IN) {
11551 ndr_print_struct(ndr, "in", "netr_DatabaseSync2");
11553 ndr_print_string(ndr, "logon_server", r->in.logon_server);
11554 ndr_print_string(ndr, "computername", r->in.computername);
11555 ndr_print_ptr(ndr, "credential", r->in.credential);
11557 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
11559 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
11561 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
11563 ndr_print_netr_SamDatabaseID(ndr, "database_id", r->in.database_id);
11564 ndr_print_uint16(ndr, "restart_state", r->in.restart_state);
11565 ndr_print_ptr(ndr, "sync_context", r->in.sync_context);
11567 ndr_print_uint32(ndr, "sync_context", *r->in.sync_context);
11569 ndr_print_uint32(ndr, "preferredmaximumlength", r->in.preferredmaximumlength);
11572 if (flags & NDR_OUT) {
11573 ndr_print_struct(ndr, "out", "netr_DatabaseSync2");
11575 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
11577 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
11579 ndr_print_ptr(ndr, "sync_context", r->out.sync_context);
11581 ndr_print_uint32(ndr, "sync_context", *r->out.sync_context);
11583 ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array);
11585 ndr_print_ptr(ndr, "delta_enum_array", *r->out.delta_enum_array);
11587 if (*r->out.delta_enum_array) {
11588 ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", *r->out.delta_enum_array);
11592 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11598 static enum ndr_err_code ndr_push_netr_DatabaseRedo(struct ndr_push *ndr, int flags, const struct netr_DatabaseRedo *r)
11600 if (flags & NDR_IN) {
11601 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11602 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11603 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11604 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));
11605 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
11606 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11607 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
11608 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11609 if (r->in.credential == NULL) {
11610 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11612 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
11613 if (r->in.return_authenticator == NULL) {
11614 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11616 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
11618 struct ndr_push *_ndr_change_log_entry;
11619 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_change_log_entry, 4, ndr_size_netr_ChangeLogEntry(&r->in.change_log_entry, ndr->flags)));
11620 NDR_CHECK(ndr_push_netr_ChangeLogEntry(_ndr_change_log_entry, NDR_SCALARS|NDR_BUFFERS, &r->in.change_log_entry));
11621 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_change_log_entry, 4, ndr_size_netr_ChangeLogEntry(&r->in.change_log_entry, ndr->flags)));
11623 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_netr_ChangeLogEntry(&r->in.change_log_entry, ndr->flags)));
11625 if (flags & NDR_OUT) {
11626 if (r->out.return_authenticator == NULL) {
11627 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11629 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
11630 if (r->out.delta_enum_array == NULL) {
11631 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11633 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.delta_enum_array));
11634 if (*r->out.delta_enum_array) {
11635 NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
11637 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11639 return NDR_ERR_SUCCESS;
11642 static enum ndr_err_code ndr_pull_netr_DatabaseRedo(struct ndr_pull *ndr, int flags, struct netr_DatabaseRedo *r)
11644 uint32_t _ptr_delta_enum_array;
11645 TALLOC_CTX *_mem_save_credential_0;
11646 TALLOC_CTX *_mem_save_return_authenticator_0;
11647 TALLOC_CTX *_mem_save_delta_enum_array_0;
11648 TALLOC_CTX *_mem_save_delta_enum_array_1;
11649 if (flags & NDR_IN) {
11650 ZERO_STRUCT(r->out);
11652 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
11653 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
11654 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
11655 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));
11657 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
11658 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));
11659 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
11660 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
11661 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
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.computername), ndr_get_array_length(ndr, &r->in.computername));
11664 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
11665 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
11666 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11667 NDR_PULL_ALLOC(ndr, r->in.credential);
11669 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
11670 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
11671 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
11672 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
11673 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11674 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
11676 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
11677 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
11678 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
11679 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
11681 struct ndr_pull *_ndr_change_log_entry;
11682 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_change_log_entry, 4, r->in.change_log_entry_size));
11683 NDR_CHECK(ndr_pull_netr_ChangeLogEntry(_ndr_change_log_entry, NDR_SCALARS|NDR_BUFFERS, &r->in.change_log_entry));
11684 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_change_log_entry, 4, r->in.change_log_entry_size));
11686 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.change_log_entry_size));
11687 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
11688 *r->out.return_authenticator = *r->in.return_authenticator;
11689 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
11690 ZERO_STRUCTP(r->out.delta_enum_array);
11692 if (flags & NDR_OUT) {
11693 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11694 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
11696 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
11697 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
11698 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
11699 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
11700 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11701 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
11703 _mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11704 NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC);
11705 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum_array));
11706 if (_ptr_delta_enum_array) {
11707 NDR_PULL_ALLOC(ndr, *r->out.delta_enum_array);
11709 *r->out.delta_enum_array = NULL;
11711 if (*r->out.delta_enum_array) {
11712 _mem_save_delta_enum_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
11713 NDR_PULL_SET_MEM_CTX(ndr, *r->out.delta_enum_array, 0);
11714 NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
11715 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_1, 0);
11717 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC);
11718 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11720 return NDR_ERR_SUCCESS;
11723 _PUBLIC_ void ndr_print_netr_DatabaseRedo(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseRedo *r)
11725 ndr_print_struct(ndr, name, "netr_DatabaseRedo");
11727 if (flags & NDR_SET_VALUES) {
11728 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11730 if (flags & NDR_IN) {
11731 ndr_print_struct(ndr, "in", "netr_DatabaseRedo");
11733 ndr_print_string(ndr, "logon_server", r->in.logon_server);
11734 ndr_print_string(ndr, "computername", r->in.computername);
11735 ndr_print_ptr(ndr, "credential", r->in.credential);
11737 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
11739 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
11741 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
11743 ndr_print_netr_ChangeLogEntry(ndr, "change_log_entry", &r->in.change_log_entry);
11744 ndr_print_uint32(ndr, "change_log_entry_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_netr_ChangeLogEntry(&r->in.change_log_entry, ndr->flags):r->in.change_log_entry_size);
11747 if (flags & NDR_OUT) {
11748 ndr_print_struct(ndr, "out", "netr_DatabaseRedo");
11750 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
11752 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
11754 ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array);
11756 ndr_print_ptr(ndr, "delta_enum_array", *r->out.delta_enum_array);
11758 if (*r->out.delta_enum_array) {
11759 ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", *r->out.delta_enum_array);
11763 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11769 static enum ndr_err_code ndr_push_netr_LogonControl2Ex(struct ndr_push *ndr, int flags, const struct netr_LogonControl2Ex *r)
11771 if (flags & NDR_IN) {
11772 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
11773 if (r->in.logon_server) {
11774 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11775 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11776 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11777 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));
11779 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.function_code));
11780 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
11781 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.data, r->in.function_code));
11782 NDR_CHECK(ndr_push_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.data));
11784 if (flags & NDR_OUT) {
11785 if (r->out.query == NULL) {
11786 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11788 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.query, r->in.level));
11789 NDR_CHECK(ndr_push_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
11790 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11792 return NDR_ERR_SUCCESS;
11795 static enum ndr_err_code ndr_pull_netr_LogonControl2Ex(struct ndr_pull *ndr, int flags, struct netr_LogonControl2Ex *r)
11797 uint32_t _ptr_logon_server;
11798 TALLOC_CTX *_mem_save_logon_server_0;
11799 TALLOC_CTX *_mem_save_query_0;
11800 if (flags & NDR_IN) {
11801 ZERO_STRUCT(r->out);
11803 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
11804 if (_ptr_logon_server) {
11805 NDR_PULL_ALLOC(ndr, r->in.logon_server);
11807 r->in.logon_server = NULL;
11809 if (r->in.logon_server) {
11810 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
11811 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
11812 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
11813 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
11814 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
11815 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));
11817 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
11818 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));
11819 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
11821 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.function_code));
11822 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
11823 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.data, r->in.function_code));
11824 NDR_CHECK(ndr_pull_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.data));
11825 NDR_PULL_ALLOC(ndr, r->out.query);
11826 ZERO_STRUCTP(r->out.query);
11828 if (flags & NDR_OUT) {
11829 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11830 NDR_PULL_ALLOC(ndr, r->out.query);
11832 _mem_save_query_0 = NDR_PULL_GET_MEM_CTX(ndr);
11833 NDR_PULL_SET_MEM_CTX(ndr, r->out.query, LIBNDR_FLAG_REF_ALLOC);
11834 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.query, r->in.level));
11835 NDR_CHECK(ndr_pull_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
11836 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query_0, LIBNDR_FLAG_REF_ALLOC);
11837 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11839 return NDR_ERR_SUCCESS;
11842 _PUBLIC_ void ndr_print_netr_LogonControl2Ex(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonControl2Ex *r)
11844 ndr_print_struct(ndr, name, "netr_LogonControl2Ex");
11846 if (flags & NDR_SET_VALUES) {
11847 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11849 if (flags & NDR_IN) {
11850 ndr_print_struct(ndr, "in", "netr_LogonControl2Ex");
11852 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
11854 if (r->in.logon_server) {
11855 ndr_print_string(ndr, "logon_server", r->in.logon_server);
11858 ndr_print_uint32(ndr, "function_code", r->in.function_code);
11859 ndr_print_uint32(ndr, "level", r->in.level);
11860 ndr_print_set_switch_value(ndr, &r->in.data, r->in.function_code);
11861 ndr_print_netr_CONTROL_DATA_INFORMATION(ndr, "data", &r->in.data);
11864 if (flags & NDR_OUT) {
11865 ndr_print_struct(ndr, "out", "netr_LogonControl2Ex");
11867 ndr_print_ptr(ndr, "query", r->out.query);
11869 ndr_print_set_switch_value(ndr, r->out.query, r->in.level);
11870 ndr_print_netr_CONTROL_QUERY_INFORMATION(ndr, "query", r->out.query);
11872 ndr_print_WERROR(ndr, "result", r->out.result);
11878 static enum ndr_err_code ndr_push_netr_NetrEnumerateTrustedDomains(struct ndr_push *ndr, int flags, const struct netr_NetrEnumerateTrustedDomains *r)
11880 if (flags & NDR_IN) {
11881 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
11882 if (r->in.server_name) {
11883 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
11884 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11885 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
11886 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));
11889 if (flags & NDR_OUT) {
11890 if (r->out.trusted_domains_blob == NULL) {
11891 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11893 NDR_CHECK(ndr_push_netr_Blob(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusted_domains_blob));
11894 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11896 return NDR_ERR_SUCCESS;
11899 static enum ndr_err_code ndr_pull_netr_NetrEnumerateTrustedDomains(struct ndr_pull *ndr, int flags, struct netr_NetrEnumerateTrustedDomains *r)
11901 uint32_t _ptr_server_name;
11902 TALLOC_CTX *_mem_save_server_name_0;
11903 TALLOC_CTX *_mem_save_trusted_domains_blob_0;
11904 if (flags & NDR_IN) {
11905 ZERO_STRUCT(r->out);
11907 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
11908 if (_ptr_server_name) {
11909 NDR_PULL_ALLOC(ndr, r->in.server_name);
11911 r->in.server_name = NULL;
11913 if (r->in.server_name) {
11914 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11915 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
11916 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
11917 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
11918 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
11919 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));
11921 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
11922 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));
11923 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
11925 NDR_PULL_ALLOC(ndr, r->out.trusted_domains_blob);
11926 ZERO_STRUCTP(r->out.trusted_domains_blob);
11928 if (flags & NDR_OUT) {
11929 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11930 NDR_PULL_ALLOC(ndr, r->out.trusted_domains_blob);
11932 _mem_save_trusted_domains_blob_0 = NDR_PULL_GET_MEM_CTX(ndr);
11933 NDR_PULL_SET_MEM_CTX(ndr, r->out.trusted_domains_blob, LIBNDR_FLAG_REF_ALLOC);
11934 NDR_CHECK(ndr_pull_netr_Blob(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusted_domains_blob));
11935 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domains_blob_0, LIBNDR_FLAG_REF_ALLOC);
11936 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11938 return NDR_ERR_SUCCESS;
11941 _PUBLIC_ void ndr_print_netr_NetrEnumerateTrustedDomains(struct ndr_print *ndr, const char *name, int flags, const struct netr_NetrEnumerateTrustedDomains *r)
11943 ndr_print_struct(ndr, name, "netr_NetrEnumerateTrustedDomains");
11945 if (flags & NDR_SET_VALUES) {
11946 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11948 if (flags & NDR_IN) {
11949 ndr_print_struct(ndr, "in", "netr_NetrEnumerateTrustedDomains");
11951 ndr_print_ptr(ndr, "server_name", r->in.server_name);
11953 if (r->in.server_name) {
11954 ndr_print_string(ndr, "server_name", r->in.server_name);
11959 if (flags & NDR_OUT) {
11960 ndr_print_struct(ndr, "out", "netr_NetrEnumerateTrustedDomains");
11962 ndr_print_ptr(ndr, "trusted_domains_blob", r->out.trusted_domains_blob);
11964 ndr_print_netr_Blob(ndr, "trusted_domains_blob", r->out.trusted_domains_blob);
11966 ndr_print_WERROR(ndr, "result", r->out.result);
11972 static enum ndr_err_code ndr_push_netr_DsRGetDCName(struct ndr_push *ndr, int flags, const struct netr_DsRGetDCName *r)
11974 if (flags & NDR_IN) {
11975 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc));
11976 if (r->in.server_unc) {
11977 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
11978 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11979 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
11980 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));
11982 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
11983 if (r->in.domain_name) {
11984 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
11985 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11986 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
11987 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));
11989 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
11990 if (r->in.domain_guid) {
11991 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
11993 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.site_guid));
11994 if (r->in.site_guid) {
11995 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.site_guid));
11997 NDR_CHECK(ndr_push_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, r->in.flags));
11999 if (flags & NDR_OUT) {
12000 if (r->out.info == NULL) {
12001 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12003 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
12004 if (*r->out.info) {
12005 NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
12007 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12009 return NDR_ERR_SUCCESS;
12012 static enum ndr_err_code ndr_pull_netr_DsRGetDCName(struct ndr_pull *ndr, int flags, struct netr_DsRGetDCName *r)
12014 uint32_t _ptr_server_unc;
12015 uint32_t _ptr_domain_name;
12016 uint32_t _ptr_domain_guid;
12017 uint32_t _ptr_site_guid;
12018 uint32_t _ptr_info;
12019 TALLOC_CTX *_mem_save_server_unc_0;
12020 TALLOC_CTX *_mem_save_domain_name_0;
12021 TALLOC_CTX *_mem_save_domain_guid_0;
12022 TALLOC_CTX *_mem_save_site_guid_0;
12023 TALLOC_CTX *_mem_save_info_0;
12024 TALLOC_CTX *_mem_save_info_1;
12025 if (flags & NDR_IN) {
12026 ZERO_STRUCT(r->out);
12028 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc));
12029 if (_ptr_server_unc) {
12030 NDR_PULL_ALLOC(ndr, r->in.server_unc);
12032 r->in.server_unc = NULL;
12034 if (r->in.server_unc) {
12035 _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr);
12036 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
12037 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
12038 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
12039 if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
12040 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));
12042 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
12043 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));
12044 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
12046 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
12047 if (_ptr_domain_name) {
12048 NDR_PULL_ALLOC(ndr, r->in.domain_name);
12050 r->in.domain_name = NULL;
12052 if (r->in.domain_name) {
12053 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12054 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
12055 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
12056 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
12057 if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
12058 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));
12060 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
12061 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));
12062 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
12064 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
12065 if (_ptr_domain_guid) {
12066 NDR_PULL_ALLOC(ndr, r->in.domain_guid);
12068 r->in.domain_guid = NULL;
12070 if (r->in.domain_guid) {
12071 _mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
12072 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
12073 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
12074 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
12076 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_guid));
12077 if (_ptr_site_guid) {
12078 NDR_PULL_ALLOC(ndr, r->in.site_guid);
12080 r->in.site_guid = NULL;
12082 if (r->in.site_guid) {
12083 _mem_save_site_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
12084 NDR_PULL_SET_MEM_CTX(ndr, r->in.site_guid, 0);
12085 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.site_guid));
12086 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_guid_0, 0);
12088 NDR_CHECK(ndr_pull_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, &r->in.flags));
12089 NDR_PULL_ALLOC(ndr, r->out.info);
12090 ZERO_STRUCTP(r->out.info);
12092 if (flags & NDR_OUT) {
12093 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12094 NDR_PULL_ALLOC(ndr, r->out.info);
12096 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
12097 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
12098 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
12100 NDR_PULL_ALLOC(ndr, *r->out.info);
12102 *r->out.info = NULL;
12104 if (*r->out.info) {
12105 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
12106 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
12107 NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
12108 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
12110 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
12111 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12113 return NDR_ERR_SUCCESS;
12116 _PUBLIC_ void ndr_print_netr_DsRGetDCName(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetDCName *r)
12118 ndr_print_struct(ndr, name, "netr_DsRGetDCName");
12120 if (flags & NDR_SET_VALUES) {
12121 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12123 if (flags & NDR_IN) {
12124 ndr_print_struct(ndr, "in", "netr_DsRGetDCName");
12126 ndr_print_ptr(ndr, "server_unc", r->in.server_unc);
12128 if (r->in.server_unc) {
12129 ndr_print_string(ndr, "server_unc", r->in.server_unc);
12132 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
12134 if (r->in.domain_name) {
12135 ndr_print_string(ndr, "domain_name", r->in.domain_name);
12138 ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
12140 if (r->in.domain_guid) {
12141 ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
12144 ndr_print_ptr(ndr, "site_guid", r->in.site_guid);
12146 if (r->in.site_guid) {
12147 ndr_print_GUID(ndr, "site_guid", r->in.site_guid);
12150 ndr_print_netr_DsRGetDCName_flags(ndr, "flags", r->in.flags);
12153 if (flags & NDR_OUT) {
12154 ndr_print_struct(ndr, "out", "netr_DsRGetDCName");
12156 ndr_print_ptr(ndr, "info", r->out.info);
12158 ndr_print_ptr(ndr, "info", *r->out.info);
12160 if (*r->out.info) {
12161 ndr_print_netr_DsRGetDCNameInfo(ndr, "info", *r->out.info);
12165 ndr_print_WERROR(ndr, "result", r->out.result);
12171 static enum ndr_err_code ndr_push_netr_NETRLOGONDUMMYROUTINE1(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONDUMMYROUTINE1 *r)
12173 if (flags & NDR_IN) {
12175 if (flags & NDR_OUT) {
12176 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12178 return NDR_ERR_SUCCESS;
12181 static enum ndr_err_code ndr_pull_netr_NETRLOGONDUMMYROUTINE1(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONDUMMYROUTINE1 *r)
12183 if (flags & NDR_IN) {
12185 if (flags & NDR_OUT) {
12186 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12188 return NDR_ERR_SUCCESS;
12191 _PUBLIC_ void ndr_print_netr_NETRLOGONDUMMYROUTINE1(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONDUMMYROUTINE1 *r)
12193 ndr_print_struct(ndr, name, "netr_NETRLOGONDUMMYROUTINE1");
12195 if (flags & NDR_SET_VALUES) {
12196 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12198 if (flags & NDR_IN) {
12199 ndr_print_struct(ndr, "in", "netr_NETRLOGONDUMMYROUTINE1");
12203 if (flags & NDR_OUT) {
12204 ndr_print_struct(ndr, "out", "netr_NETRLOGONDUMMYROUTINE1");
12206 ndr_print_WERROR(ndr, "result", r->out.result);
12212 static enum ndr_err_code ndr_push_netr_NETRLOGONSETSERVICEBITS(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONSETSERVICEBITS *r)
12214 if (flags & NDR_IN) {
12216 if (flags & NDR_OUT) {
12217 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12219 return NDR_ERR_SUCCESS;
12222 static enum ndr_err_code ndr_pull_netr_NETRLOGONSETSERVICEBITS(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONSETSERVICEBITS *r)
12224 if (flags & NDR_IN) {
12226 if (flags & NDR_OUT) {
12227 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12229 return NDR_ERR_SUCCESS;
12232 _PUBLIC_ void ndr_print_netr_NETRLOGONSETSERVICEBITS(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONSETSERVICEBITS *r)
12234 ndr_print_struct(ndr, name, "netr_NETRLOGONSETSERVICEBITS");
12236 if (flags & NDR_SET_VALUES) {
12237 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12239 if (flags & NDR_IN) {
12240 ndr_print_struct(ndr, "in", "netr_NETRLOGONSETSERVICEBITS");
12244 if (flags & NDR_OUT) {
12245 ndr_print_struct(ndr, "out", "netr_NETRLOGONSETSERVICEBITS");
12247 ndr_print_WERROR(ndr, "result", r->out.result);
12253 static enum ndr_err_code ndr_push_netr_LogonGetTrustRid(struct ndr_push *ndr, int flags, const struct netr_LogonGetTrustRid *r)
12255 if (flags & NDR_IN) {
12256 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
12257 if (r->in.server_name) {
12258 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12259 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12260 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12261 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));
12263 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
12264 if (r->in.domain_name) {
12265 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
12266 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12267 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
12268 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));
12271 if (flags & NDR_OUT) {
12272 if (r->out.rid == NULL) {
12273 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12275 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.rid));
12276 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12278 return NDR_ERR_SUCCESS;
12281 static enum ndr_err_code ndr_pull_netr_LogonGetTrustRid(struct ndr_pull *ndr, int flags, struct netr_LogonGetTrustRid *r)
12283 uint32_t _ptr_server_name;
12284 uint32_t _ptr_domain_name;
12285 TALLOC_CTX *_mem_save_server_name_0;
12286 TALLOC_CTX *_mem_save_domain_name_0;
12287 TALLOC_CTX *_mem_save_rid_0;
12288 if (flags & NDR_IN) {
12289 ZERO_STRUCT(r->out);
12291 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
12292 if (_ptr_server_name) {
12293 NDR_PULL_ALLOC(ndr, r->in.server_name);
12295 r->in.server_name = NULL;
12297 if (r->in.server_name) {
12298 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12299 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
12300 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
12301 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
12302 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
12303 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));
12305 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
12306 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));
12307 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
12309 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
12310 if (_ptr_domain_name) {
12311 NDR_PULL_ALLOC(ndr, r->in.domain_name);
12313 r->in.domain_name = NULL;
12315 if (r->in.domain_name) {
12316 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12317 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
12318 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
12319 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
12320 if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
12321 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));
12323 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
12324 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));
12325 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
12327 NDR_PULL_ALLOC(ndr, r->out.rid);
12328 ZERO_STRUCTP(r->out.rid);
12330 if (flags & NDR_OUT) {
12331 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12332 NDR_PULL_ALLOC(ndr, r->out.rid);
12334 _mem_save_rid_0 = NDR_PULL_GET_MEM_CTX(ndr);
12335 NDR_PULL_SET_MEM_CTX(ndr, r->out.rid, LIBNDR_FLAG_REF_ALLOC);
12336 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.rid));
12337 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rid_0, LIBNDR_FLAG_REF_ALLOC);
12338 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12340 return NDR_ERR_SUCCESS;
12343 _PUBLIC_ void ndr_print_netr_LogonGetTrustRid(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonGetTrustRid *r)
12345 ndr_print_struct(ndr, name, "netr_LogonGetTrustRid");
12347 if (flags & NDR_SET_VALUES) {
12348 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12350 if (flags & NDR_IN) {
12351 ndr_print_struct(ndr, "in", "netr_LogonGetTrustRid");
12353 ndr_print_ptr(ndr, "server_name", r->in.server_name);
12355 if (r->in.server_name) {
12356 ndr_print_string(ndr, "server_name", r->in.server_name);
12359 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
12361 if (r->in.domain_name) {
12362 ndr_print_string(ndr, "domain_name", r->in.domain_name);
12367 if (flags & NDR_OUT) {
12368 ndr_print_struct(ndr, "out", "netr_LogonGetTrustRid");
12370 ndr_print_ptr(ndr, "rid", r->out.rid);
12372 ndr_print_uint32(ndr, "rid", *r->out.rid);
12374 ndr_print_WERROR(ndr, "result", r->out.result);
12380 static enum ndr_err_code ndr_push_netr_NETRLOGONCOMPUTESERVERDIGEST(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONCOMPUTESERVERDIGEST *r)
12382 if (flags & NDR_IN) {
12384 if (flags & NDR_OUT) {
12385 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12387 return NDR_ERR_SUCCESS;
12390 static enum ndr_err_code ndr_pull_netr_NETRLOGONCOMPUTESERVERDIGEST(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONCOMPUTESERVERDIGEST *r)
12392 if (flags & NDR_IN) {
12394 if (flags & NDR_OUT) {
12395 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12397 return NDR_ERR_SUCCESS;
12400 _PUBLIC_ void ndr_print_netr_NETRLOGONCOMPUTESERVERDIGEST(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONCOMPUTESERVERDIGEST *r)
12402 ndr_print_struct(ndr, name, "netr_NETRLOGONCOMPUTESERVERDIGEST");
12404 if (flags & NDR_SET_VALUES) {
12405 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12407 if (flags & NDR_IN) {
12408 ndr_print_struct(ndr, "in", "netr_NETRLOGONCOMPUTESERVERDIGEST");
12412 if (flags & NDR_OUT) {
12413 ndr_print_struct(ndr, "out", "netr_NETRLOGONCOMPUTESERVERDIGEST");
12415 ndr_print_WERROR(ndr, "result", r->out.result);
12421 static enum ndr_err_code ndr_push_netr_NETRLOGONCOMPUTECLIENTDIGEST(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONCOMPUTECLIENTDIGEST *r)
12423 if (flags & NDR_IN) {
12425 if (flags & NDR_OUT) {
12426 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12428 return NDR_ERR_SUCCESS;
12431 static enum ndr_err_code ndr_pull_netr_NETRLOGONCOMPUTECLIENTDIGEST(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONCOMPUTECLIENTDIGEST *r)
12433 if (flags & NDR_IN) {
12435 if (flags & NDR_OUT) {
12436 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12438 return NDR_ERR_SUCCESS;
12441 _PUBLIC_ void ndr_print_netr_NETRLOGONCOMPUTECLIENTDIGEST(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONCOMPUTECLIENTDIGEST *r)
12443 ndr_print_struct(ndr, name, "netr_NETRLOGONCOMPUTECLIENTDIGEST");
12445 if (flags & NDR_SET_VALUES) {
12446 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12448 if (flags & NDR_IN) {
12449 ndr_print_struct(ndr, "in", "netr_NETRLOGONCOMPUTECLIENTDIGEST");
12453 if (flags & NDR_OUT) {
12454 ndr_print_struct(ndr, "out", "netr_NETRLOGONCOMPUTECLIENTDIGEST");
12456 ndr_print_WERROR(ndr, "result", r->out.result);
12462 _PUBLIC_ enum ndr_err_code ndr_push_netr_ServerAuthenticate3(struct ndr_push *ndr, int flags, const struct netr_ServerAuthenticate3 *r)
12464 if (flags & NDR_IN) {
12465 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
12466 if (r->in.server_name) {
12467 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12468 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12469 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12470 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));
12472 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
12473 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12474 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
12475 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));
12476 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
12477 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
12478 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12479 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
12480 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));
12481 if (r->in.credentials == NULL) {
12482 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12484 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
12485 if (r->in.negotiate_flags == NULL) {
12486 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12488 NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, *r->in.negotiate_flags));
12490 if (flags & NDR_OUT) {
12491 if (r->out.return_credentials == NULL) {
12492 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12494 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
12495 if (r->out.negotiate_flags == NULL) {
12496 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12498 NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, *r->out.negotiate_flags));
12499 if (r->out.rid == NULL) {
12500 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12502 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.rid));
12503 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12505 return NDR_ERR_SUCCESS;
12508 _PUBLIC_ enum ndr_err_code ndr_pull_netr_ServerAuthenticate3(struct ndr_pull *ndr, int flags, struct netr_ServerAuthenticate3 *r)
12510 uint32_t _ptr_server_name;
12511 TALLOC_CTX *_mem_save_server_name_0;
12512 TALLOC_CTX *_mem_save_credentials_0;
12513 TALLOC_CTX *_mem_save_return_credentials_0;
12514 TALLOC_CTX *_mem_save_negotiate_flags_0;
12515 TALLOC_CTX *_mem_save_rid_0;
12516 if (flags & NDR_IN) {
12517 ZERO_STRUCT(r->out);
12519 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
12520 if (_ptr_server_name) {
12521 NDR_PULL_ALLOC(ndr, r->in.server_name);
12523 r->in.server_name = NULL;
12525 if (r->in.server_name) {
12526 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12527 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
12528 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
12529 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
12530 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
12531 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));
12533 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
12534 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));
12535 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
12537 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
12538 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
12539 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
12540 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));
12542 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
12543 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));
12544 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
12545 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
12546 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
12547 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
12548 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));
12550 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
12551 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));
12552 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12553 NDR_PULL_ALLOC(ndr, r->in.credentials);
12555 _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
12556 NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC);
12557 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
12558 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
12559 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12560 NDR_PULL_ALLOC(ndr, r->in.negotiate_flags);
12562 _mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
12563 NDR_PULL_SET_MEM_CTX(ndr, r->in.negotiate_flags, LIBNDR_FLAG_REF_ALLOC);
12564 NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, r->in.negotiate_flags));
12565 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC);
12566 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
12567 ZERO_STRUCTP(r->out.return_credentials);
12568 NDR_PULL_ALLOC(ndr, r->out.negotiate_flags);
12569 *r->out.negotiate_flags = *r->in.negotiate_flags;
12570 NDR_PULL_ALLOC(ndr, r->out.rid);
12571 ZERO_STRUCTP(r->out.rid);
12573 if (flags & NDR_OUT) {
12574 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12575 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
12577 _mem_save_return_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
12578 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_credentials, LIBNDR_FLAG_REF_ALLOC);
12579 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
12580 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_credentials_0, LIBNDR_FLAG_REF_ALLOC);
12581 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12582 NDR_PULL_ALLOC(ndr, r->out.negotiate_flags);
12584 _mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
12585 NDR_PULL_SET_MEM_CTX(ndr, r->out.negotiate_flags, LIBNDR_FLAG_REF_ALLOC);
12586 NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, r->out.negotiate_flags));
12587 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC);
12588 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12589 NDR_PULL_ALLOC(ndr, r->out.rid);
12591 _mem_save_rid_0 = NDR_PULL_GET_MEM_CTX(ndr);
12592 NDR_PULL_SET_MEM_CTX(ndr, r->out.rid, LIBNDR_FLAG_REF_ALLOC);
12593 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.rid));
12594 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rid_0, LIBNDR_FLAG_REF_ALLOC);
12595 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12597 return NDR_ERR_SUCCESS;
12600 _PUBLIC_ void ndr_print_netr_ServerAuthenticate3(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerAuthenticate3 *r)
12602 ndr_print_struct(ndr, name, "netr_ServerAuthenticate3");
12604 if (flags & NDR_SET_VALUES) {
12605 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12607 if (flags & NDR_IN) {
12608 ndr_print_struct(ndr, "in", "netr_ServerAuthenticate3");
12610 ndr_print_ptr(ndr, "server_name", r->in.server_name);
12612 if (r->in.server_name) {
12613 ndr_print_string(ndr, "server_name", r->in.server_name);
12616 ndr_print_string(ndr, "account_name", r->in.account_name);
12617 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
12618 ndr_print_string(ndr, "computer_name", r->in.computer_name);
12619 ndr_print_ptr(ndr, "credentials", r->in.credentials);
12621 ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
12623 ndr_print_ptr(ndr, "negotiate_flags", r->in.negotiate_flags);
12625 ndr_print_netr_NegotiateFlags(ndr, "negotiate_flags", *r->in.negotiate_flags);
12629 if (flags & NDR_OUT) {
12630 ndr_print_struct(ndr, "out", "netr_ServerAuthenticate3");
12632 ndr_print_ptr(ndr, "return_credentials", r->out.return_credentials);
12634 ndr_print_netr_Credential(ndr, "return_credentials", r->out.return_credentials);
12636 ndr_print_ptr(ndr, "negotiate_flags", r->out.negotiate_flags);
12638 ndr_print_netr_NegotiateFlags(ndr, "negotiate_flags", *r->out.negotiate_flags);
12640 ndr_print_ptr(ndr, "rid", r->out.rid);
12642 ndr_print_uint32(ndr, "rid", *r->out.rid);
12644 ndr_print_NTSTATUS(ndr, "result", r->out.result);
12650 static enum ndr_err_code ndr_push_netr_DsRGetDCNameEx(struct ndr_push *ndr, int flags, const struct netr_DsRGetDCNameEx *r)
12652 if (flags & NDR_IN) {
12653 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc));
12654 if (r->in.server_unc) {
12655 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
12656 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12657 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
12658 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));
12660 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
12661 if (r->in.domain_name) {
12662 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
12663 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12664 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
12665 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));
12667 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
12668 if (r->in.domain_guid) {
12669 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
12671 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.site_name));
12672 if (r->in.site_name) {
12673 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
12674 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12675 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
12676 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));
12678 NDR_CHECK(ndr_push_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, r->in.flags));
12680 if (flags & NDR_OUT) {
12681 if (r->out.info == NULL) {
12682 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12684 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
12685 if (*r->out.info) {
12686 NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
12688 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12690 return NDR_ERR_SUCCESS;
12693 static enum ndr_err_code ndr_pull_netr_DsRGetDCNameEx(struct ndr_pull *ndr, int flags, struct netr_DsRGetDCNameEx *r)
12695 uint32_t _ptr_server_unc;
12696 uint32_t _ptr_domain_name;
12697 uint32_t _ptr_domain_guid;
12698 uint32_t _ptr_site_name;
12699 uint32_t _ptr_info;
12700 TALLOC_CTX *_mem_save_server_unc_0;
12701 TALLOC_CTX *_mem_save_domain_name_0;
12702 TALLOC_CTX *_mem_save_domain_guid_0;
12703 TALLOC_CTX *_mem_save_site_name_0;
12704 TALLOC_CTX *_mem_save_info_0;
12705 TALLOC_CTX *_mem_save_info_1;
12706 if (flags & NDR_IN) {
12707 ZERO_STRUCT(r->out);
12709 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc));
12710 if (_ptr_server_unc) {
12711 NDR_PULL_ALLOC(ndr, r->in.server_unc);
12713 r->in.server_unc = NULL;
12715 if (r->in.server_unc) {
12716 _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr);
12717 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
12718 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
12719 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
12720 if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
12721 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));
12723 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
12724 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));
12725 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
12727 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
12728 if (_ptr_domain_name) {
12729 NDR_PULL_ALLOC(ndr, r->in.domain_name);
12731 r->in.domain_name = NULL;
12733 if (r->in.domain_name) {
12734 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12735 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
12736 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
12737 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
12738 if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
12739 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));
12741 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
12742 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));
12743 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
12745 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
12746 if (_ptr_domain_guid) {
12747 NDR_PULL_ALLOC(ndr, r->in.domain_guid);
12749 r->in.domain_guid = NULL;
12751 if (r->in.domain_guid) {
12752 _mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
12753 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
12754 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
12755 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
12757 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
12758 if (_ptr_site_name) {
12759 NDR_PULL_ALLOC(ndr, r->in.site_name);
12761 r->in.site_name = NULL;
12763 if (r->in.site_name) {
12764 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12765 NDR_PULL_SET_MEM_CTX(ndr, r->in.site_name, 0);
12766 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.site_name));
12767 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.site_name));
12768 if (ndr_get_array_length(ndr, &r->in.site_name) > ndr_get_array_size(ndr, &r->in.site_name)) {
12769 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));
12771 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.site_name), sizeof(uint16_t)));
12772 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));
12773 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
12775 NDR_CHECK(ndr_pull_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, &r->in.flags));
12776 NDR_PULL_ALLOC(ndr, r->out.info);
12777 ZERO_STRUCTP(r->out.info);
12779 if (flags & NDR_OUT) {
12780 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12781 NDR_PULL_ALLOC(ndr, r->out.info);
12783 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
12784 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
12785 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
12787 NDR_PULL_ALLOC(ndr, *r->out.info);
12789 *r->out.info = NULL;
12791 if (*r->out.info) {
12792 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
12793 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
12794 NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
12795 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
12797 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
12798 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12800 return NDR_ERR_SUCCESS;
12803 _PUBLIC_ void ndr_print_netr_DsRGetDCNameEx(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetDCNameEx *r)
12805 ndr_print_struct(ndr, name, "netr_DsRGetDCNameEx");
12807 if (flags & NDR_SET_VALUES) {
12808 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12810 if (flags & NDR_IN) {
12811 ndr_print_struct(ndr, "in", "netr_DsRGetDCNameEx");
12813 ndr_print_ptr(ndr, "server_unc", r->in.server_unc);
12815 if (r->in.server_unc) {
12816 ndr_print_string(ndr, "server_unc", r->in.server_unc);
12819 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
12821 if (r->in.domain_name) {
12822 ndr_print_string(ndr, "domain_name", r->in.domain_name);
12825 ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
12827 if (r->in.domain_guid) {
12828 ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
12831 ndr_print_ptr(ndr, "site_name", r->in.site_name);
12833 if (r->in.site_name) {
12834 ndr_print_string(ndr, "site_name", r->in.site_name);
12837 ndr_print_netr_DsRGetDCName_flags(ndr, "flags", r->in.flags);
12840 if (flags & NDR_OUT) {
12841 ndr_print_struct(ndr, "out", "netr_DsRGetDCNameEx");
12843 ndr_print_ptr(ndr, "info", r->out.info);
12845 ndr_print_ptr(ndr, "info", *r->out.info);
12847 if (*r->out.info) {
12848 ndr_print_netr_DsRGetDCNameInfo(ndr, "info", *r->out.info);
12852 ndr_print_WERROR(ndr, "result", r->out.result);
12858 static enum ndr_err_code ndr_push_netr_DsRGetSiteName(struct ndr_push *ndr, int flags, const struct netr_DsRGetSiteName *r)
12860 if (flags & NDR_IN) {
12861 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
12862 if (r->in.computer_name) {
12863 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
12864 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12865 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
12866 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));
12869 if (flags & NDR_OUT) {
12870 if (r->out.site == NULL) {
12871 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12873 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.site));
12874 if (*r->out.site) {
12875 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.site, CH_UTF16)));
12876 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12877 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.site, CH_UTF16)));
12878 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.site, ndr_charset_length(*r->out.site, CH_UTF16), sizeof(uint16_t), CH_UTF16));
12880 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12882 return NDR_ERR_SUCCESS;
12885 static enum ndr_err_code ndr_pull_netr_DsRGetSiteName(struct ndr_pull *ndr, int flags, struct netr_DsRGetSiteName *r)
12887 uint32_t _ptr_computer_name;
12888 uint32_t _ptr_site;
12889 TALLOC_CTX *_mem_save_computer_name_0;
12890 TALLOC_CTX *_mem_save_site_0;
12891 TALLOC_CTX *_mem_save_site_1;
12892 if (flags & NDR_IN) {
12893 ZERO_STRUCT(r->out);
12895 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
12896 if (_ptr_computer_name) {
12897 NDR_PULL_ALLOC(ndr, r->in.computer_name);
12899 r->in.computer_name = NULL;
12901 if (r->in.computer_name) {
12902 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12903 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
12904 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
12905 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
12906 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
12907 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));
12909 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
12910 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));
12911 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
12913 NDR_PULL_ALLOC(ndr, r->out.site);
12914 ZERO_STRUCTP(r->out.site);
12916 if (flags & NDR_OUT) {
12917 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12918 NDR_PULL_ALLOC(ndr, r->out.site);
12920 _mem_save_site_0 = NDR_PULL_GET_MEM_CTX(ndr);
12921 NDR_PULL_SET_MEM_CTX(ndr, r->out.site, LIBNDR_FLAG_REF_ALLOC);
12922 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site));
12924 NDR_PULL_ALLOC(ndr, *r->out.site);
12926 *r->out.site = NULL;
12928 if (*r->out.site) {
12929 _mem_save_site_1 = NDR_PULL_GET_MEM_CTX(ndr);
12930 NDR_PULL_SET_MEM_CTX(ndr, *r->out.site, 0);
12931 NDR_CHECK(ndr_pull_array_size(ndr, r->out.site));
12932 NDR_CHECK(ndr_pull_array_length(ndr, r->out.site));
12933 if (ndr_get_array_length(ndr, r->out.site) > ndr_get_array_size(ndr, r->out.site)) {
12934 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));
12936 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.site), sizeof(uint16_t)));
12937 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.site, ndr_get_array_length(ndr, r->out.site), sizeof(uint16_t), CH_UTF16));
12938 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_1, 0);
12940 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_0, LIBNDR_FLAG_REF_ALLOC);
12941 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12943 return NDR_ERR_SUCCESS;
12946 _PUBLIC_ void ndr_print_netr_DsRGetSiteName(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetSiteName *r)
12948 ndr_print_struct(ndr, name, "netr_DsRGetSiteName");
12950 if (flags & NDR_SET_VALUES) {
12951 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12953 if (flags & NDR_IN) {
12954 ndr_print_struct(ndr, "in", "netr_DsRGetSiteName");
12956 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
12958 if (r->in.computer_name) {
12959 ndr_print_string(ndr, "computer_name", r->in.computer_name);
12964 if (flags & NDR_OUT) {
12965 ndr_print_struct(ndr, "out", "netr_DsRGetSiteName");
12967 ndr_print_ptr(ndr, "site", r->out.site);
12969 ndr_print_ptr(ndr, "site", *r->out.site);
12971 if (*r->out.site) {
12972 ndr_print_string(ndr, "site", *r->out.site);
12976 ndr_print_WERROR(ndr, "result", r->out.result);
12982 static enum ndr_err_code ndr_push_netr_LogonGetDomainInfo(struct ndr_push *ndr, int flags, const struct netr_LogonGetDomainInfo *r)
12984 if (flags & NDR_IN) {
12985 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12986 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12987 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12988 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));
12989 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
12990 if (r->in.computer_name) {
12991 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
12992 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12993 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
12994 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));
12996 if (r->in.credential == NULL) {
12997 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12999 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
13000 if (r->in.return_authenticator == NULL) {
13001 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13003 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
13004 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
13005 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.query, r->in.level));
13006 NDR_CHECK(ndr_push_netr_DomainQuery(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.query));
13008 if (flags & NDR_OUT) {
13009 if (r->out.return_authenticator == NULL) {
13010 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13012 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
13013 if (r->out.info == NULL) {
13014 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13016 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level));
13017 NDR_CHECK(ndr_push_netr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
13018 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
13020 return NDR_ERR_SUCCESS;
13023 static enum ndr_err_code ndr_pull_netr_LogonGetDomainInfo(struct ndr_pull *ndr, int flags, struct netr_LogonGetDomainInfo *r)
13025 uint32_t _ptr_computer_name;
13026 TALLOC_CTX *_mem_save_computer_name_0;
13027 TALLOC_CTX *_mem_save_credential_0;
13028 TALLOC_CTX *_mem_save_return_authenticator_0;
13029 TALLOC_CTX *_mem_save_info_0;
13030 if (flags & NDR_IN) {
13031 ZERO_STRUCT(r->out);
13033 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13034 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13035 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13036 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));
13038 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13039 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));
13040 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
13041 if (_ptr_computer_name) {
13042 NDR_PULL_ALLOC(ndr, r->in.computer_name);
13044 r->in.computer_name = NULL;
13046 if (r->in.computer_name) {
13047 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13048 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
13049 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
13050 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
13051 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
13052 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));
13054 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
13055 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));
13056 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
13058 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13059 NDR_PULL_ALLOC(ndr, r->in.credential);
13061 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
13062 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
13063 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
13064 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
13065 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13066 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
13068 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
13069 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
13070 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
13071 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
13072 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
13073 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.query, r->in.level));
13074 NDR_CHECK(ndr_pull_netr_DomainQuery(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.query));
13075 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
13076 *r->out.return_authenticator = *r->in.return_authenticator;
13077 NDR_PULL_ALLOC(ndr, r->out.info);
13078 ZERO_STRUCTP(r->out.info);
13080 if (flags & NDR_OUT) {
13081 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13082 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
13084 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
13085 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
13086 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
13087 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
13088 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13089 NDR_PULL_ALLOC(ndr, r->out.info);
13091 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
13092 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
13093 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level));
13094 NDR_CHECK(ndr_pull_netr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
13095 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
13096 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
13098 return NDR_ERR_SUCCESS;
13101 _PUBLIC_ void ndr_print_netr_LogonGetDomainInfo(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonGetDomainInfo *r)
13103 ndr_print_struct(ndr, name, "netr_LogonGetDomainInfo");
13105 if (flags & NDR_SET_VALUES) {
13106 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13108 if (flags & NDR_IN) {
13109 ndr_print_struct(ndr, "in", "netr_LogonGetDomainInfo");
13111 ndr_print_string(ndr, "server_name", r->in.server_name);
13112 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
13114 if (r->in.computer_name) {
13115 ndr_print_string(ndr, "computer_name", r->in.computer_name);
13118 ndr_print_ptr(ndr, "credential", r->in.credential);
13120 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
13122 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
13124 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
13126 ndr_print_uint32(ndr, "level", r->in.level);
13127 ndr_print_set_switch_value(ndr, &r->in.query, r->in.level);
13128 ndr_print_netr_DomainQuery(ndr, "query", &r->in.query);
13131 if (flags & NDR_OUT) {
13132 ndr_print_struct(ndr, "out", "netr_LogonGetDomainInfo");
13134 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
13136 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
13138 ndr_print_ptr(ndr, "info", r->out.info);
13140 ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
13141 ndr_print_netr_DomainInfo(ndr, "info", r->out.info);
13143 ndr_print_NTSTATUS(ndr, "result", r->out.result);
13149 static enum ndr_err_code ndr_push_netr_ServerPasswordSet2(struct ndr_push *ndr, int flags, const struct netr_ServerPasswordSet2 *r)
13151 if (flags & NDR_IN) {
13152 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
13153 if (r->in.server_name) {
13154 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13155 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13156 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13157 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));
13159 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
13160 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13161 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
13162 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));
13163 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
13164 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13165 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13166 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13167 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));
13168 if (r->in.credential == NULL) {
13169 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13171 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
13172 if (r->in.new_password == NULL) {
13173 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13175 NDR_CHECK(ndr_push_netr_CryptPassword(ndr, NDR_SCALARS, r->in.new_password));
13177 if (flags & NDR_OUT) {
13178 if (r->out.return_authenticator == NULL) {
13179 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13181 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
13182 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
13184 return NDR_ERR_SUCCESS;
13187 static enum ndr_err_code ndr_pull_netr_ServerPasswordSet2(struct ndr_pull *ndr, int flags, struct netr_ServerPasswordSet2 *r)
13189 uint32_t _ptr_server_name;
13190 TALLOC_CTX *_mem_save_server_name_0;
13191 TALLOC_CTX *_mem_save_credential_0;
13192 TALLOC_CTX *_mem_save_return_authenticator_0;
13193 TALLOC_CTX *_mem_save_new_password_0;
13194 if (flags & NDR_IN) {
13195 ZERO_STRUCT(r->out);
13197 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
13198 if (_ptr_server_name) {
13199 NDR_PULL_ALLOC(ndr, r->in.server_name);
13201 r->in.server_name = NULL;
13203 if (r->in.server_name) {
13204 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13205 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
13206 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13207 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13208 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13209 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));
13211 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13212 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));
13213 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
13215 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
13216 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
13217 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
13218 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));
13220 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
13221 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));
13222 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
13223 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
13224 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
13225 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
13226 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));
13228 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
13229 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));
13230 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13231 NDR_PULL_ALLOC(ndr, r->in.credential);
13233 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
13234 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
13235 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
13236 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
13237 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13238 NDR_PULL_ALLOC(ndr, r->in.new_password);
13240 _mem_save_new_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
13241 NDR_PULL_SET_MEM_CTX(ndr, r->in.new_password, LIBNDR_FLAG_REF_ALLOC);
13242 NDR_CHECK(ndr_pull_netr_CryptPassword(ndr, NDR_SCALARS, r->in.new_password));
13243 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_password_0, LIBNDR_FLAG_REF_ALLOC);
13244 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
13245 ZERO_STRUCTP(r->out.return_authenticator);
13247 if (flags & NDR_OUT) {
13248 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13249 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
13251 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
13252 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
13253 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
13254 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
13255 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
13257 return NDR_ERR_SUCCESS;
13260 _PUBLIC_ void ndr_print_netr_ServerPasswordSet2(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerPasswordSet2 *r)
13262 ndr_print_struct(ndr, name, "netr_ServerPasswordSet2");
13264 if (flags & NDR_SET_VALUES) {
13265 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13267 if (flags & NDR_IN) {
13268 ndr_print_struct(ndr, "in", "netr_ServerPasswordSet2");
13270 ndr_print_ptr(ndr, "server_name", r->in.server_name);
13272 if (r->in.server_name) {
13273 ndr_print_string(ndr, "server_name", r->in.server_name);
13276 ndr_print_string(ndr, "account_name", r->in.account_name);
13277 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
13278 ndr_print_string(ndr, "computer_name", r->in.computer_name);
13279 ndr_print_ptr(ndr, "credential", r->in.credential);
13281 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
13283 ndr_print_ptr(ndr, "new_password", r->in.new_password);
13285 ndr_print_netr_CryptPassword(ndr, "new_password", r->in.new_password);
13289 if (flags & NDR_OUT) {
13290 ndr_print_struct(ndr, "out", "netr_ServerPasswordSet2");
13292 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
13294 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
13296 ndr_print_NTSTATUS(ndr, "result", r->out.result);
13302 static enum ndr_err_code ndr_push_netr_ServerPasswordGet(struct ndr_push *ndr, int flags, const struct netr_ServerPasswordGet *r)
13304 if (flags & NDR_IN) {
13305 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
13306 if (r->in.server_name) {
13307 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13308 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13309 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13310 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));
13312 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
13313 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13314 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
13315 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));
13316 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
13317 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13318 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13319 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13320 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));
13321 if (r->in.credential == NULL) {
13322 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13324 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
13326 if (flags & NDR_OUT) {
13327 if (r->out.return_authenticator == NULL) {
13328 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13330 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
13331 if (r->out.password == NULL) {
13332 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13334 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->out.password));
13335 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13337 return NDR_ERR_SUCCESS;
13340 static enum ndr_err_code ndr_pull_netr_ServerPasswordGet(struct ndr_pull *ndr, int flags, struct netr_ServerPasswordGet *r)
13342 uint32_t _ptr_server_name;
13343 TALLOC_CTX *_mem_save_server_name_0;
13344 TALLOC_CTX *_mem_save_credential_0;
13345 TALLOC_CTX *_mem_save_return_authenticator_0;
13346 TALLOC_CTX *_mem_save_password_0;
13347 if (flags & NDR_IN) {
13348 ZERO_STRUCT(r->out);
13350 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
13351 if (_ptr_server_name) {
13352 NDR_PULL_ALLOC(ndr, r->in.server_name);
13354 r->in.server_name = NULL;
13356 if (r->in.server_name) {
13357 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13358 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
13359 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13360 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13361 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13362 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));
13364 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13365 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));
13366 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
13368 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
13369 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
13370 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
13371 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));
13373 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
13374 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));
13375 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
13376 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
13377 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
13378 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
13379 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));
13381 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
13382 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));
13383 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13384 NDR_PULL_ALLOC(ndr, r->in.credential);
13386 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
13387 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
13388 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
13389 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
13390 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
13391 ZERO_STRUCTP(r->out.return_authenticator);
13392 NDR_PULL_ALLOC(ndr, r->out.password);
13393 ZERO_STRUCTP(r->out.password);
13395 if (flags & NDR_OUT) {
13396 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13397 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
13399 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
13400 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
13401 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
13402 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
13403 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13404 NDR_PULL_ALLOC(ndr, r->out.password);
13406 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
13407 NDR_PULL_SET_MEM_CTX(ndr, r->out.password, LIBNDR_FLAG_REF_ALLOC);
13408 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->out.password));
13409 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, LIBNDR_FLAG_REF_ALLOC);
13410 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13412 return NDR_ERR_SUCCESS;
13415 _PUBLIC_ void ndr_print_netr_ServerPasswordGet(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerPasswordGet *r)
13417 ndr_print_struct(ndr, name, "netr_ServerPasswordGet");
13419 if (flags & NDR_SET_VALUES) {
13420 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13422 if (flags & NDR_IN) {
13423 ndr_print_struct(ndr, "in", "netr_ServerPasswordGet");
13425 ndr_print_ptr(ndr, "server_name", r->in.server_name);
13427 if (r->in.server_name) {
13428 ndr_print_string(ndr, "server_name", r->in.server_name);
13431 ndr_print_string(ndr, "account_name", r->in.account_name);
13432 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
13433 ndr_print_string(ndr, "computer_name", r->in.computer_name);
13434 ndr_print_ptr(ndr, "credential", r->in.credential);
13436 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
13440 if (flags & NDR_OUT) {
13441 ndr_print_struct(ndr, "out", "netr_ServerPasswordGet");
13443 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
13445 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
13447 ndr_print_ptr(ndr, "password", r->out.password);
13449 ndr_print_samr_Password(ndr, "password", r->out.password);
13451 ndr_print_WERROR(ndr, "result", r->out.result);
13457 static enum ndr_err_code ndr_push_netr_NETRLOGONSENDTOSAM(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONSENDTOSAM *r)
13459 if (flags & NDR_IN) {
13461 if (flags & NDR_OUT) {
13462 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13464 return NDR_ERR_SUCCESS;
13467 static enum ndr_err_code ndr_pull_netr_NETRLOGONSENDTOSAM(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONSENDTOSAM *r)
13469 if (flags & NDR_IN) {
13471 if (flags & NDR_OUT) {
13472 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13474 return NDR_ERR_SUCCESS;
13477 _PUBLIC_ void ndr_print_netr_NETRLOGONSENDTOSAM(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONSENDTOSAM *r)
13479 ndr_print_struct(ndr, name, "netr_NETRLOGONSENDTOSAM");
13481 if (flags & NDR_SET_VALUES) {
13482 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13484 if (flags & NDR_IN) {
13485 ndr_print_struct(ndr, "in", "netr_NETRLOGONSENDTOSAM");
13489 if (flags & NDR_OUT) {
13490 ndr_print_struct(ndr, "out", "netr_NETRLOGONSENDTOSAM");
13492 ndr_print_WERROR(ndr, "result", r->out.result);
13498 static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesW(struct ndr_push *ndr, int flags, const struct netr_DsRAddressToSitenamesW *r)
13500 uint32_t cntr_addresses_1;
13501 if (flags & NDR_IN) {
13502 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
13503 if (r->in.server_name) {
13504 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13505 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13506 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13507 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));
13509 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
13510 if (r->in.addresses == NULL) {
13511 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13513 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
13514 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
13515 NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1]));
13517 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
13518 NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1]));
13521 if (flags & NDR_OUT) {
13522 if (r->out.ctr == NULL) {
13523 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13525 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.ctr));
13527 NDR_CHECK(ndr_push_netr_DsRAddressToSitenamesWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
13529 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13531 return NDR_ERR_SUCCESS;
13534 static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesW(struct ndr_pull *ndr, int flags, struct netr_DsRAddressToSitenamesW *r)
13536 uint32_t _ptr_server_name;
13537 uint32_t cntr_addresses_1;
13539 TALLOC_CTX *_mem_save_server_name_0;
13540 TALLOC_CTX *_mem_save_addresses_1;
13541 TALLOC_CTX *_mem_save_ctr_0;
13542 TALLOC_CTX *_mem_save_ctr_1;
13543 if (flags & NDR_IN) {
13544 ZERO_STRUCT(r->out);
13546 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
13547 if (_ptr_server_name) {
13548 NDR_PULL_ALLOC(ndr, r->in.server_name);
13550 r->in.server_name = NULL;
13552 if (r->in.server_name) {
13553 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13554 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
13555 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13556 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13557 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13558 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));
13560 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13561 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));
13562 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
13564 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
13565 if (r->in.count < 0 || r->in.count > 32000) {
13566 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
13568 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.addresses));
13569 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13570 NDR_PULL_ALLOC_N(ndr, r->in.addresses, ndr_get_array_size(ndr, &r->in.addresses));
13572 _mem_save_addresses_1 = NDR_PULL_GET_MEM_CTX(ndr);
13573 NDR_PULL_SET_MEM_CTX(ndr, r->in.addresses, 0);
13574 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
13575 NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1]));
13577 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
13578 NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1]));
13580 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_addresses_1, 0);
13581 NDR_PULL_ALLOC(ndr, r->out.ctr);
13582 ZERO_STRUCTP(r->out.ctr);
13583 if (r->in.addresses) {
13584 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.addresses, r->in.count));
13587 if (flags & NDR_OUT) {
13588 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13589 NDR_PULL_ALLOC(ndr, r->out.ctr);
13591 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
13592 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
13593 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr));
13595 NDR_PULL_ALLOC(ndr, *r->out.ctr);
13597 *r->out.ctr = NULL;
13600 _mem_save_ctr_1 = NDR_PULL_GET_MEM_CTX(ndr);
13601 NDR_PULL_SET_MEM_CTX(ndr, *r->out.ctr, 0);
13602 NDR_CHECK(ndr_pull_netr_DsRAddressToSitenamesWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
13603 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_1, 0);
13605 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
13606 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13608 return NDR_ERR_SUCCESS;
13611 _PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesW(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRAddressToSitenamesW *r)
13613 uint32_t cntr_addresses_1;
13614 ndr_print_struct(ndr, name, "netr_DsRAddressToSitenamesW");
13616 if (flags & NDR_SET_VALUES) {
13617 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13619 if (flags & NDR_IN) {
13620 ndr_print_struct(ndr, "in", "netr_DsRAddressToSitenamesW");
13622 ndr_print_ptr(ndr, "server_name", r->in.server_name);
13624 if (r->in.server_name) {
13625 ndr_print_string(ndr, "server_name", r->in.server_name);
13628 ndr_print_uint32(ndr, "count", r->in.count);
13629 ndr_print_ptr(ndr, "addresses", r->in.addresses);
13631 ndr->print(ndr, "%s: ARRAY(%d)", "addresses", (int)r->in.count);
13633 for (cntr_addresses_1=0;cntr_addresses_1<r->in.count;cntr_addresses_1++) {
13635 if (asprintf(&idx_1, "[%d]", cntr_addresses_1) != -1) {
13636 ndr_print_netr_DsRAddress(ndr, "addresses", &r->in.addresses[cntr_addresses_1]);
13644 if (flags & NDR_OUT) {
13645 ndr_print_struct(ndr, "out", "netr_DsRAddressToSitenamesW");
13647 ndr_print_ptr(ndr, "ctr", r->out.ctr);
13649 ndr_print_ptr(ndr, "ctr", *r->out.ctr);
13652 ndr_print_netr_DsRAddressToSitenamesWCtr(ndr, "ctr", *r->out.ctr);
13656 ndr_print_WERROR(ndr, "result", r->out.result);
13662 static enum ndr_err_code ndr_push_netr_DsRGetDCNameEx2(struct ndr_push *ndr, int flags, const struct netr_DsRGetDCNameEx2 *r)
13664 if (flags & NDR_IN) {
13665 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc));
13666 if (r->in.server_unc) {
13667 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
13668 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13669 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
13670 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));
13672 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.client_account));
13673 if (r->in.client_account) {
13674 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.client_account, CH_UTF16)));
13675 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13676 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.client_account, CH_UTF16)));
13677 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));
13679 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->in.mask));
13680 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
13681 if (r->in.domain_name) {
13682 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
13683 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13684 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
13685 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));
13687 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
13688 if (r->in.domain_guid) {
13689 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
13691 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.site_name));
13692 if (r->in.site_name) {
13693 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
13694 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13695 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
13696 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));
13698 NDR_CHECK(ndr_push_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, r->in.flags));
13700 if (flags & NDR_OUT) {
13701 if (r->out.info == NULL) {
13702 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13704 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
13705 if (*r->out.info) {
13706 NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
13708 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13710 return NDR_ERR_SUCCESS;
13713 static enum ndr_err_code ndr_pull_netr_DsRGetDCNameEx2(struct ndr_pull *ndr, int flags, struct netr_DsRGetDCNameEx2 *r)
13715 uint32_t _ptr_server_unc;
13716 uint32_t _ptr_client_account;
13717 uint32_t _ptr_domain_name;
13718 uint32_t _ptr_domain_guid;
13719 uint32_t _ptr_site_name;
13720 uint32_t _ptr_info;
13721 TALLOC_CTX *_mem_save_server_unc_0;
13722 TALLOC_CTX *_mem_save_client_account_0;
13723 TALLOC_CTX *_mem_save_domain_name_0;
13724 TALLOC_CTX *_mem_save_domain_guid_0;
13725 TALLOC_CTX *_mem_save_site_name_0;
13726 TALLOC_CTX *_mem_save_info_0;
13727 TALLOC_CTX *_mem_save_info_1;
13728 if (flags & NDR_IN) {
13729 ZERO_STRUCT(r->out);
13731 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc));
13732 if (_ptr_server_unc) {
13733 NDR_PULL_ALLOC(ndr, r->in.server_unc);
13735 r->in.server_unc = NULL;
13737 if (r->in.server_unc) {
13738 _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr);
13739 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
13740 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
13741 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
13742 if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
13743 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));
13745 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
13746 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));
13747 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
13749 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_account));
13750 if (_ptr_client_account) {
13751 NDR_PULL_ALLOC(ndr, r->in.client_account);
13753 r->in.client_account = NULL;
13755 if (r->in.client_account) {
13756 _mem_save_client_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
13757 NDR_PULL_SET_MEM_CTX(ndr, r->in.client_account, 0);
13758 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.client_account));
13759 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.client_account));
13760 if (ndr_get_array_length(ndr, &r->in.client_account) > ndr_get_array_size(ndr, &r->in.client_account)) {
13761 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));
13763 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.client_account), sizeof(uint16_t)));
13764 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));
13765 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_account_0, 0);
13767 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->in.mask));
13768 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
13769 if (_ptr_domain_name) {
13770 NDR_PULL_ALLOC(ndr, r->in.domain_name);
13772 r->in.domain_name = NULL;
13774 if (r->in.domain_name) {
13775 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13776 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
13777 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
13778 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
13779 if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
13780 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));
13782 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
13783 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));
13784 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
13786 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
13787 if (_ptr_domain_guid) {
13788 NDR_PULL_ALLOC(ndr, r->in.domain_guid);
13790 r->in.domain_guid = NULL;
13792 if (r->in.domain_guid) {
13793 _mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
13794 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
13795 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
13796 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
13798 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
13799 if (_ptr_site_name) {
13800 NDR_PULL_ALLOC(ndr, r->in.site_name);
13802 r->in.site_name = NULL;
13804 if (r->in.site_name) {
13805 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13806 NDR_PULL_SET_MEM_CTX(ndr, r->in.site_name, 0);
13807 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.site_name));
13808 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.site_name));
13809 if (ndr_get_array_length(ndr, &r->in.site_name) > ndr_get_array_size(ndr, &r->in.site_name)) {
13810 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));
13812 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.site_name), sizeof(uint16_t)));
13813 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));
13814 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
13816 NDR_CHECK(ndr_pull_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, &r->in.flags));
13817 NDR_PULL_ALLOC(ndr, r->out.info);
13818 ZERO_STRUCTP(r->out.info);
13820 if (flags & NDR_OUT) {
13821 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13822 NDR_PULL_ALLOC(ndr, r->out.info);
13824 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
13825 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
13826 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
13828 NDR_PULL_ALLOC(ndr, *r->out.info);
13830 *r->out.info = NULL;
13832 if (*r->out.info) {
13833 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
13834 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
13835 NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
13836 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
13838 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
13839 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13841 return NDR_ERR_SUCCESS;
13844 _PUBLIC_ void ndr_print_netr_DsRGetDCNameEx2(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetDCNameEx2 *r)
13846 ndr_print_struct(ndr, name, "netr_DsRGetDCNameEx2");
13848 if (flags & NDR_SET_VALUES) {
13849 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13851 if (flags & NDR_IN) {
13852 ndr_print_struct(ndr, "in", "netr_DsRGetDCNameEx2");
13854 ndr_print_ptr(ndr, "server_unc", r->in.server_unc);
13856 if (r->in.server_unc) {
13857 ndr_print_string(ndr, "server_unc", r->in.server_unc);
13860 ndr_print_ptr(ndr, "client_account", r->in.client_account);
13862 if (r->in.client_account) {
13863 ndr_print_string(ndr, "client_account", r->in.client_account);
13866 ndr_print_samr_AcctFlags(ndr, "mask", r->in.mask);
13867 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
13869 if (r->in.domain_name) {
13870 ndr_print_string(ndr, "domain_name", r->in.domain_name);
13873 ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
13875 if (r->in.domain_guid) {
13876 ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
13879 ndr_print_ptr(ndr, "site_name", r->in.site_name);
13881 if (r->in.site_name) {
13882 ndr_print_string(ndr, "site_name", r->in.site_name);
13885 ndr_print_netr_DsRGetDCName_flags(ndr, "flags", r->in.flags);
13888 if (flags & NDR_OUT) {
13889 ndr_print_struct(ndr, "out", "netr_DsRGetDCNameEx2");
13891 ndr_print_ptr(ndr, "info", r->out.info);
13893 ndr_print_ptr(ndr, "info", *r->out.info);
13895 if (*r->out.info) {
13896 ndr_print_netr_DsRGetDCNameInfo(ndr, "info", *r->out.info);
13900 ndr_print_WERROR(ndr, "result", r->out.result);
13906 static enum ndr_err_code ndr_push_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN *r)
13908 if (flags & NDR_IN) {
13910 if (flags & NDR_OUT) {
13911 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13913 return NDR_ERR_SUCCESS;
13916 static enum ndr_err_code ndr_pull_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN *r)
13918 if (flags & NDR_IN) {
13920 if (flags & NDR_OUT) {
13921 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13923 return NDR_ERR_SUCCESS;
13926 _PUBLIC_ void ndr_print_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN *r)
13928 ndr_print_struct(ndr, name, "netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN");
13930 if (flags & NDR_SET_VALUES) {
13931 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13933 if (flags & NDR_IN) {
13934 ndr_print_struct(ndr, "in", "netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN");
13938 if (flags & NDR_OUT) {
13939 ndr_print_struct(ndr, "out", "netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN");
13941 ndr_print_WERROR(ndr, "result", r->out.result);
13947 static enum ndr_err_code ndr_push_netr_NetrEnumerateTrustedDomainsEx(struct ndr_push *ndr, int flags, const struct netr_NetrEnumerateTrustedDomainsEx *r)
13949 if (flags & NDR_IN) {
13950 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
13951 if (r->in.server_name) {
13952 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13953 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13954 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13955 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));
13958 if (flags & NDR_OUT) {
13959 if (r->out.dom_trust_list == NULL) {
13960 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13962 NDR_CHECK(ndr_push_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.dom_trust_list));
13963 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13965 return NDR_ERR_SUCCESS;
13968 static enum ndr_err_code ndr_pull_netr_NetrEnumerateTrustedDomainsEx(struct ndr_pull *ndr, int flags, struct netr_NetrEnumerateTrustedDomainsEx *r)
13970 uint32_t _ptr_server_name;
13971 TALLOC_CTX *_mem_save_server_name_0;
13972 TALLOC_CTX *_mem_save_dom_trust_list_0;
13973 if (flags & NDR_IN) {
13974 ZERO_STRUCT(r->out);
13976 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
13977 if (_ptr_server_name) {
13978 NDR_PULL_ALLOC(ndr, r->in.server_name);
13980 r->in.server_name = NULL;
13982 if (r->in.server_name) {
13983 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13984 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
13985 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13986 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13987 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13988 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));
13990 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13991 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));
13992 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
13994 NDR_PULL_ALLOC(ndr, r->out.dom_trust_list);
13995 ZERO_STRUCTP(r->out.dom_trust_list);
13997 if (flags & NDR_OUT) {
13998 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13999 NDR_PULL_ALLOC(ndr, r->out.dom_trust_list);
14001 _mem_save_dom_trust_list_0 = NDR_PULL_GET_MEM_CTX(ndr);
14002 NDR_PULL_SET_MEM_CTX(ndr, r->out.dom_trust_list, LIBNDR_FLAG_REF_ALLOC);
14003 NDR_CHECK(ndr_pull_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.dom_trust_list));
14004 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dom_trust_list_0, LIBNDR_FLAG_REF_ALLOC);
14005 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14007 return NDR_ERR_SUCCESS;
14010 _PUBLIC_ void ndr_print_netr_NetrEnumerateTrustedDomainsEx(struct ndr_print *ndr, const char *name, int flags, const struct netr_NetrEnumerateTrustedDomainsEx *r)
14012 ndr_print_struct(ndr, name, "netr_NetrEnumerateTrustedDomainsEx");
14014 if (flags & NDR_SET_VALUES) {
14015 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14017 if (flags & NDR_IN) {
14018 ndr_print_struct(ndr, "in", "netr_NetrEnumerateTrustedDomainsEx");
14020 ndr_print_ptr(ndr, "server_name", r->in.server_name);
14022 if (r->in.server_name) {
14023 ndr_print_string(ndr, "server_name", r->in.server_name);
14028 if (flags & NDR_OUT) {
14029 ndr_print_struct(ndr, "out", "netr_NetrEnumerateTrustedDomainsEx");
14031 ndr_print_ptr(ndr, "dom_trust_list", r->out.dom_trust_list);
14033 ndr_print_netr_DomainTrustList(ndr, "dom_trust_list", r->out.dom_trust_list);
14035 ndr_print_WERROR(ndr, "result", r->out.result);
14041 static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesExW(struct ndr_push *ndr, int flags, const struct netr_DsRAddressToSitenamesExW *r)
14043 uint32_t cntr_addresses_1;
14044 if (flags & NDR_IN) {
14045 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
14046 if (r->in.server_name) {
14047 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14048 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14049 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14050 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));
14052 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
14053 if (r->in.addresses == NULL) {
14054 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14056 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
14057 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
14058 NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1]));
14060 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
14061 NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1]));
14064 if (flags & NDR_OUT) {
14065 if (r->out.ctr == NULL) {
14066 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14068 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.ctr));
14070 NDR_CHECK(ndr_push_netr_DsRAddressToSitenamesExWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
14072 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14074 return NDR_ERR_SUCCESS;
14077 static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesExW(struct ndr_pull *ndr, int flags, struct netr_DsRAddressToSitenamesExW *r)
14079 uint32_t _ptr_server_name;
14080 uint32_t cntr_addresses_1;
14082 TALLOC_CTX *_mem_save_server_name_0;
14083 TALLOC_CTX *_mem_save_addresses_1;
14084 TALLOC_CTX *_mem_save_ctr_0;
14085 TALLOC_CTX *_mem_save_ctr_1;
14086 if (flags & NDR_IN) {
14087 ZERO_STRUCT(r->out);
14089 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
14090 if (_ptr_server_name) {
14091 NDR_PULL_ALLOC(ndr, r->in.server_name);
14093 r->in.server_name = NULL;
14095 if (r->in.server_name) {
14096 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14097 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
14098 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
14099 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
14100 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
14101 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));
14103 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
14104 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));
14105 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
14107 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
14108 if (r->in.count < 0 || r->in.count > 32000) {
14109 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
14111 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.addresses));
14112 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14113 NDR_PULL_ALLOC_N(ndr, r->in.addresses, ndr_get_array_size(ndr, &r->in.addresses));
14115 _mem_save_addresses_1 = NDR_PULL_GET_MEM_CTX(ndr);
14116 NDR_PULL_SET_MEM_CTX(ndr, r->in.addresses, 0);
14117 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
14118 NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1]));
14120 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
14121 NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1]));
14123 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_addresses_1, 0);
14124 NDR_PULL_ALLOC(ndr, r->out.ctr);
14125 ZERO_STRUCTP(r->out.ctr);
14126 if (r->in.addresses) {
14127 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.addresses, r->in.count));
14130 if (flags & NDR_OUT) {
14131 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14132 NDR_PULL_ALLOC(ndr, r->out.ctr);
14134 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
14135 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
14136 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr));
14138 NDR_PULL_ALLOC(ndr, *r->out.ctr);
14140 *r->out.ctr = NULL;
14143 _mem_save_ctr_1 = NDR_PULL_GET_MEM_CTX(ndr);
14144 NDR_PULL_SET_MEM_CTX(ndr, *r->out.ctr, 0);
14145 NDR_CHECK(ndr_pull_netr_DsRAddressToSitenamesExWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
14146 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_1, 0);
14148 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
14149 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14151 return NDR_ERR_SUCCESS;
14154 _PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesExW(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRAddressToSitenamesExW *r)
14156 uint32_t cntr_addresses_1;
14157 ndr_print_struct(ndr, name, "netr_DsRAddressToSitenamesExW");
14159 if (flags & NDR_SET_VALUES) {
14160 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14162 if (flags & NDR_IN) {
14163 ndr_print_struct(ndr, "in", "netr_DsRAddressToSitenamesExW");
14165 ndr_print_ptr(ndr, "server_name", r->in.server_name);
14167 if (r->in.server_name) {
14168 ndr_print_string(ndr, "server_name", r->in.server_name);
14171 ndr_print_uint32(ndr, "count", r->in.count);
14172 ndr_print_ptr(ndr, "addresses", r->in.addresses);
14174 ndr->print(ndr, "%s: ARRAY(%d)", "addresses", (int)r->in.count);
14176 for (cntr_addresses_1=0;cntr_addresses_1<r->in.count;cntr_addresses_1++) {
14178 if (asprintf(&idx_1, "[%d]", cntr_addresses_1) != -1) {
14179 ndr_print_netr_DsRAddress(ndr, "addresses", &r->in.addresses[cntr_addresses_1]);
14187 if (flags & NDR_OUT) {
14188 ndr_print_struct(ndr, "out", "netr_DsRAddressToSitenamesExW");
14190 ndr_print_ptr(ndr, "ctr", r->out.ctr);
14192 ndr_print_ptr(ndr, "ctr", *r->out.ctr);
14195 ndr_print_netr_DsRAddressToSitenamesExWCtr(ndr, "ctr", *r->out.ctr);
14199 ndr_print_WERROR(ndr, "result", r->out.result);
14205 static enum ndr_err_code ndr_push_netr_DsrGetDcSiteCoverageW(struct ndr_push *ndr, int flags, const struct netr_DsrGetDcSiteCoverageW *r)
14207 if (flags & NDR_IN) {
14208 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
14209 if (r->in.server_name) {
14210 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14211 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14212 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14213 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));
14216 if (flags & NDR_OUT) {
14217 if (r->out.ctr == NULL) {
14218 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14220 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.ctr));
14222 NDR_CHECK(ndr_push_DcSitesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
14224 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14226 return NDR_ERR_SUCCESS;
14229 static enum ndr_err_code ndr_pull_netr_DsrGetDcSiteCoverageW(struct ndr_pull *ndr, int flags, struct netr_DsrGetDcSiteCoverageW *r)
14231 uint32_t _ptr_server_name;
14233 TALLOC_CTX *_mem_save_server_name_0;
14234 TALLOC_CTX *_mem_save_ctr_0;
14235 TALLOC_CTX *_mem_save_ctr_1;
14236 if (flags & NDR_IN) {
14237 ZERO_STRUCT(r->out);
14239 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
14240 if (_ptr_server_name) {
14241 NDR_PULL_ALLOC(ndr, r->in.server_name);
14243 r->in.server_name = NULL;
14245 if (r->in.server_name) {
14246 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14247 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
14248 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
14249 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
14250 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
14251 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));
14253 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
14254 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));
14255 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
14257 NDR_PULL_ALLOC(ndr, r->out.ctr);
14258 ZERO_STRUCTP(r->out.ctr);
14260 if (flags & NDR_OUT) {
14261 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14262 NDR_PULL_ALLOC(ndr, r->out.ctr);
14264 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
14265 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
14266 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr));
14268 NDR_PULL_ALLOC(ndr, *r->out.ctr);
14270 *r->out.ctr = NULL;
14273 _mem_save_ctr_1 = NDR_PULL_GET_MEM_CTX(ndr);
14274 NDR_PULL_SET_MEM_CTX(ndr, *r->out.ctr, 0);
14275 NDR_CHECK(ndr_pull_DcSitesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
14276 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_1, 0);
14278 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
14279 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14281 return NDR_ERR_SUCCESS;
14284 _PUBLIC_ void ndr_print_netr_DsrGetDcSiteCoverageW(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsrGetDcSiteCoverageW *r)
14286 ndr_print_struct(ndr, name, "netr_DsrGetDcSiteCoverageW");
14288 if (flags & NDR_SET_VALUES) {
14289 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14291 if (flags & NDR_IN) {
14292 ndr_print_struct(ndr, "in", "netr_DsrGetDcSiteCoverageW");
14294 ndr_print_ptr(ndr, "server_name", r->in.server_name);
14296 if (r->in.server_name) {
14297 ndr_print_string(ndr, "server_name", r->in.server_name);
14302 if (flags & NDR_OUT) {
14303 ndr_print_struct(ndr, "out", "netr_DsrGetDcSiteCoverageW");
14305 ndr_print_ptr(ndr, "ctr", r->out.ctr);
14307 ndr_print_ptr(ndr, "ctr", *r->out.ctr);
14310 ndr_print_DcSitesCtr(ndr, "ctr", *r->out.ctr);
14314 ndr_print_WERROR(ndr, "result", r->out.result);
14320 static enum ndr_err_code ndr_push_netr_LogonSamLogonEx(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogonEx *r)
14322 if (flags & NDR_IN) {
14323 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
14324 if (r->in.server_name) {
14325 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14326 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14327 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14328 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));
14330 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
14331 if (r->in.computer_name) {
14332 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
14333 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14334 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
14335 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));
14337 NDR_CHECK(ndr_push_netr_LogonInfoClass(ndr, NDR_SCALARS, r->in.logon_level));
14338 if (r->in.logon == NULL) {
14339 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14341 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.logon, r->in.logon_level));
14342 NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
14343 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.validation_level));
14344 if (r->in.flags == NULL) {
14345 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14347 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.flags));
14349 if (flags & NDR_OUT) {
14350 if (r->out.validation == NULL) {
14351 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14353 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.validation, r->in.validation_level));
14354 NDR_CHECK(ndr_push_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
14355 if (r->out.authoritative == NULL) {
14356 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14358 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, *r->out.authoritative));
14359 if (r->out.flags == NULL) {
14360 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14362 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.flags));
14363 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
14365 return NDR_ERR_SUCCESS;
14368 static enum ndr_err_code ndr_pull_netr_LogonSamLogonEx(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogonEx *r)
14370 uint32_t _ptr_server_name;
14371 uint32_t _ptr_computer_name;
14372 TALLOC_CTX *_mem_save_server_name_0;
14373 TALLOC_CTX *_mem_save_computer_name_0;
14374 TALLOC_CTX *_mem_save_logon_0;
14375 TALLOC_CTX *_mem_save_validation_0;
14376 TALLOC_CTX *_mem_save_authoritative_0;
14377 TALLOC_CTX *_mem_save_flags_0;
14378 if (flags & NDR_IN) {
14379 ZERO_STRUCT(r->out);
14381 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
14382 if (_ptr_server_name) {
14383 NDR_PULL_ALLOC(ndr, r->in.server_name);
14385 r->in.server_name = NULL;
14387 if (r->in.server_name) {
14388 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14389 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
14390 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
14391 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
14392 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
14393 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));
14395 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
14396 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));
14397 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
14399 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
14400 if (_ptr_computer_name) {
14401 NDR_PULL_ALLOC(ndr, r->in.computer_name);
14403 r->in.computer_name = NULL;
14405 if (r->in.computer_name) {
14406 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14407 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
14408 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
14409 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
14410 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
14411 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));
14413 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
14414 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));
14415 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
14417 NDR_CHECK(ndr_pull_netr_LogonInfoClass(ndr, NDR_SCALARS, &r->in.logon_level));
14418 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14419 NDR_PULL_ALLOC(ndr, r->in.logon);
14421 _mem_save_logon_0 = NDR_PULL_GET_MEM_CTX(ndr);
14422 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon, LIBNDR_FLAG_REF_ALLOC);
14423 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.logon, r->in.logon_level));
14424 NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
14425 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_0, LIBNDR_FLAG_REF_ALLOC);
14426 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.validation_level));
14427 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14428 NDR_PULL_ALLOC(ndr, r->in.flags);
14430 _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
14431 NDR_PULL_SET_MEM_CTX(ndr, r->in.flags, LIBNDR_FLAG_REF_ALLOC);
14432 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.flags));
14433 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
14434 NDR_PULL_ALLOC(ndr, r->out.validation);
14435 ZERO_STRUCTP(r->out.validation);
14436 NDR_PULL_ALLOC(ndr, r->out.authoritative);
14437 ZERO_STRUCTP(r->out.authoritative);
14438 NDR_PULL_ALLOC(ndr, r->out.flags);
14439 *r->out.flags = *r->in.flags;
14441 if (flags & NDR_OUT) {
14442 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14443 NDR_PULL_ALLOC(ndr, r->out.validation);
14445 _mem_save_validation_0 = NDR_PULL_GET_MEM_CTX(ndr);
14446 NDR_PULL_SET_MEM_CTX(ndr, r->out.validation, LIBNDR_FLAG_REF_ALLOC);
14447 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.validation, r->in.validation_level));
14448 NDR_CHECK(ndr_pull_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
14449 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_validation_0, LIBNDR_FLAG_REF_ALLOC);
14450 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14451 NDR_PULL_ALLOC(ndr, r->out.authoritative);
14453 _mem_save_authoritative_0 = NDR_PULL_GET_MEM_CTX(ndr);
14454 NDR_PULL_SET_MEM_CTX(ndr, r->out.authoritative, LIBNDR_FLAG_REF_ALLOC);
14455 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, r->out.authoritative));
14456 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_authoritative_0, LIBNDR_FLAG_REF_ALLOC);
14457 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14458 NDR_PULL_ALLOC(ndr, r->out.flags);
14460 _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
14461 NDR_PULL_SET_MEM_CTX(ndr, r->out.flags, LIBNDR_FLAG_REF_ALLOC);
14462 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.flags));
14463 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
14464 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
14466 return NDR_ERR_SUCCESS;
14469 _PUBLIC_ void ndr_print_netr_LogonSamLogonEx(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogonEx *r)
14471 ndr_print_struct(ndr, name, "netr_LogonSamLogonEx");
14473 if (flags & NDR_SET_VALUES) {
14474 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14476 if (flags & NDR_IN) {
14477 ndr_print_struct(ndr, "in", "netr_LogonSamLogonEx");
14479 ndr_print_ptr(ndr, "server_name", r->in.server_name);
14481 if (r->in.server_name) {
14482 ndr_print_string(ndr, "server_name", r->in.server_name);
14485 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
14487 if (r->in.computer_name) {
14488 ndr_print_string(ndr, "computer_name", r->in.computer_name);
14491 ndr_print_netr_LogonInfoClass(ndr, "logon_level", r->in.logon_level);
14492 ndr_print_ptr(ndr, "logon", r->in.logon);
14494 ndr_print_set_switch_value(ndr, r->in.logon, r->in.logon_level);
14495 ndr_print_netr_LogonLevel(ndr, "logon", r->in.logon);
14497 ndr_print_uint16(ndr, "validation_level", r->in.validation_level);
14498 ndr_print_ptr(ndr, "flags", r->in.flags);
14500 ndr_print_uint32(ndr, "flags", *r->in.flags);
14504 if (flags & NDR_OUT) {
14505 ndr_print_struct(ndr, "out", "netr_LogonSamLogonEx");
14507 ndr_print_ptr(ndr, "validation", r->out.validation);
14509 ndr_print_set_switch_value(ndr, r->out.validation, r->in.validation_level);
14510 ndr_print_netr_Validation(ndr, "validation", r->out.validation);
14512 ndr_print_ptr(ndr, "authoritative", r->out.authoritative);
14514 ndr_print_uint8(ndr, "authoritative", *r->out.authoritative);
14516 ndr_print_ptr(ndr, "flags", r->out.flags);
14518 ndr_print_uint32(ndr, "flags", *r->out.flags);
14520 ndr_print_NTSTATUS(ndr, "result", r->out.result);
14526 static enum ndr_err_code ndr_push_netr_DsrEnumerateDomainTrusts(struct ndr_push *ndr, int flags, const struct netr_DsrEnumerateDomainTrusts *r)
14528 if (flags & NDR_IN) {
14529 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
14530 if (r->in.server_name) {
14531 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14532 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14533 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14534 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));
14536 NDR_CHECK(ndr_push_netr_TrustFlags(ndr, NDR_SCALARS, r->in.trust_flags));
14538 if (flags & NDR_OUT) {
14539 if (r->out.trusts == NULL) {
14540 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14542 NDR_CHECK(ndr_push_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusts));
14543 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14545 return NDR_ERR_SUCCESS;
14548 static enum ndr_err_code ndr_pull_netr_DsrEnumerateDomainTrusts(struct ndr_pull *ndr, int flags, struct netr_DsrEnumerateDomainTrusts *r)
14550 uint32_t _ptr_server_name;
14551 TALLOC_CTX *_mem_save_server_name_0;
14552 TALLOC_CTX *_mem_save_trusts_0;
14553 if (flags & NDR_IN) {
14554 ZERO_STRUCT(r->out);
14556 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
14557 if (_ptr_server_name) {
14558 NDR_PULL_ALLOC(ndr, r->in.server_name);
14560 r->in.server_name = NULL;
14562 if (r->in.server_name) {
14563 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14564 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
14565 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
14566 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
14567 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
14568 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));
14570 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
14571 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));
14572 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
14574 NDR_CHECK(ndr_pull_netr_TrustFlags(ndr, NDR_SCALARS, &r->in.trust_flags));
14575 NDR_PULL_ALLOC(ndr, r->out.trusts);
14576 ZERO_STRUCTP(r->out.trusts);
14578 if (flags & NDR_OUT) {
14579 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14580 NDR_PULL_ALLOC(ndr, r->out.trusts);
14582 _mem_save_trusts_0 = NDR_PULL_GET_MEM_CTX(ndr);
14583 NDR_PULL_SET_MEM_CTX(ndr, r->out.trusts, LIBNDR_FLAG_REF_ALLOC);
14584 NDR_CHECK(ndr_pull_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusts));
14585 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusts_0, LIBNDR_FLAG_REF_ALLOC);
14586 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14588 return NDR_ERR_SUCCESS;
14591 _PUBLIC_ void ndr_print_netr_DsrEnumerateDomainTrusts(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsrEnumerateDomainTrusts *r)
14593 ndr_print_struct(ndr, name, "netr_DsrEnumerateDomainTrusts");
14595 if (flags & NDR_SET_VALUES) {
14596 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14598 if (flags & NDR_IN) {
14599 ndr_print_struct(ndr, "in", "netr_DsrEnumerateDomainTrusts");
14601 ndr_print_ptr(ndr, "server_name", r->in.server_name);
14603 if (r->in.server_name) {
14604 ndr_print_string(ndr, "server_name", r->in.server_name);
14607 ndr_print_netr_TrustFlags(ndr, "trust_flags", r->in.trust_flags);
14610 if (flags & NDR_OUT) {
14611 ndr_print_struct(ndr, "out", "netr_DsrEnumerateDomainTrusts");
14613 ndr_print_ptr(ndr, "trusts", r->out.trusts);
14615 ndr_print_netr_DomainTrustList(ndr, "trusts", r->out.trusts);
14617 ndr_print_WERROR(ndr, "result", r->out.result);
14623 static enum ndr_err_code ndr_push_netr_DsrDeregisterDNSHostRecords(struct ndr_push *ndr, int flags, const struct netr_DsrDeregisterDNSHostRecords *r)
14625 if (flags & NDR_IN) {
14626 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
14627 if (r->in.server_name) {
14628 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14629 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14630 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14631 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));
14633 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain));
14634 if (r->in.domain) {
14635 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain, CH_UTF16)));
14636 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14637 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain, CH_UTF16)));
14638 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domain, ndr_charset_length(r->in.domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
14640 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
14641 if (r->in.domain_guid) {
14642 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
14644 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.dsa_guid));
14645 if (r->in.dsa_guid) {
14646 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.dsa_guid));
14648 if (r->in.dns_host == NULL) {
14649 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14651 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.dns_host, CH_UTF16)));
14652 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14653 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.dns_host, CH_UTF16)));
14654 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));
14656 if (flags & NDR_OUT) {
14657 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14659 return NDR_ERR_SUCCESS;
14662 static enum ndr_err_code ndr_pull_netr_DsrDeregisterDNSHostRecords(struct ndr_pull *ndr, int flags, struct netr_DsrDeregisterDNSHostRecords *r)
14664 uint32_t _ptr_server_name;
14665 uint32_t _ptr_domain;
14666 uint32_t _ptr_domain_guid;
14667 uint32_t _ptr_dsa_guid;
14668 TALLOC_CTX *_mem_save_server_name_0;
14669 TALLOC_CTX *_mem_save_domain_0;
14670 TALLOC_CTX *_mem_save_domain_guid_0;
14671 TALLOC_CTX *_mem_save_dsa_guid_0;
14672 if (flags & NDR_IN) {
14673 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
14674 if (_ptr_server_name) {
14675 NDR_PULL_ALLOC(ndr, r->in.server_name);
14677 r->in.server_name = NULL;
14679 if (r->in.server_name) {
14680 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14681 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
14682 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
14683 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
14684 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
14685 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));
14687 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
14688 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));
14689 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
14691 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
14693 NDR_PULL_ALLOC(ndr, r->in.domain);
14695 r->in.domain = NULL;
14697 if (r->in.domain) {
14698 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
14699 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain, 0);
14700 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain));
14701 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain));
14702 if (ndr_get_array_length(ndr, &r->in.domain) > ndr_get_array_size(ndr, &r->in.domain)) {
14703 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));
14705 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain), sizeof(uint16_t)));
14706 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain, ndr_get_array_length(ndr, &r->in.domain), sizeof(uint16_t), CH_UTF16));
14707 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
14709 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
14710 if (_ptr_domain_guid) {
14711 NDR_PULL_ALLOC(ndr, r->in.domain_guid);
14713 r->in.domain_guid = NULL;
14715 if (r->in.domain_guid) {
14716 _mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
14717 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
14718 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
14719 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
14721 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dsa_guid));
14722 if (_ptr_dsa_guid) {
14723 NDR_PULL_ALLOC(ndr, r->in.dsa_guid);
14725 r->in.dsa_guid = NULL;
14727 if (r->in.dsa_guid) {
14728 _mem_save_dsa_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
14729 NDR_PULL_SET_MEM_CTX(ndr, r->in.dsa_guid, 0);
14730 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.dsa_guid));
14731 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dsa_guid_0, 0);
14733 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.dns_host));
14734 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.dns_host));
14735 if (ndr_get_array_length(ndr, &r->in.dns_host) > ndr_get_array_size(ndr, &r->in.dns_host)) {
14736 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));
14738 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.dns_host), sizeof(uint16_t)));
14739 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));
14741 if (flags & NDR_OUT) {
14742 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14744 return NDR_ERR_SUCCESS;
14747 _PUBLIC_ void ndr_print_netr_DsrDeregisterDNSHostRecords(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsrDeregisterDNSHostRecords *r)
14749 ndr_print_struct(ndr, name, "netr_DsrDeregisterDNSHostRecords");
14751 if (flags & NDR_SET_VALUES) {
14752 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14754 if (flags & NDR_IN) {
14755 ndr_print_struct(ndr, "in", "netr_DsrDeregisterDNSHostRecords");
14757 ndr_print_ptr(ndr, "server_name", r->in.server_name);
14759 if (r->in.server_name) {
14760 ndr_print_string(ndr, "server_name", r->in.server_name);
14763 ndr_print_ptr(ndr, "domain", r->in.domain);
14765 if (r->in.domain) {
14766 ndr_print_string(ndr, "domain", r->in.domain);
14769 ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
14771 if (r->in.domain_guid) {
14772 ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
14775 ndr_print_ptr(ndr, "dsa_guid", r->in.dsa_guid);
14777 if (r->in.dsa_guid) {
14778 ndr_print_GUID(ndr, "dsa_guid", r->in.dsa_guid);
14781 ndr_print_ptr(ndr, "dns_host", r->in.dns_host);
14783 ndr_print_string(ndr, "dns_host", r->in.dns_host);
14787 if (flags & NDR_OUT) {
14788 ndr_print_struct(ndr, "out", "netr_DsrDeregisterDNSHostRecords");
14790 ndr_print_WERROR(ndr, "result", r->out.result);
14796 static enum ndr_err_code ndr_push_netr_ServerTrustPasswordsGet(struct ndr_push *ndr, int flags, const struct netr_ServerTrustPasswordsGet *r)
14798 if (flags & NDR_IN) {
14799 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
14800 if (r->in.server_name) {
14801 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14802 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14803 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14804 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));
14806 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
14807 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14808 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
14809 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));
14810 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
14811 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
14812 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14813 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
14814 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));
14815 if (r->in.credential == NULL) {
14816 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14818 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
14820 if (flags & NDR_OUT) {
14821 if (r->out.return_authenticator == NULL) {
14822 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14824 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
14825 if (r->out.password == NULL) {
14826 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14828 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->out.password));
14829 if (r->out.password2 == NULL) {
14830 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14832 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->out.password2));
14833 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
14835 return NDR_ERR_SUCCESS;
14838 static enum ndr_err_code ndr_pull_netr_ServerTrustPasswordsGet(struct ndr_pull *ndr, int flags, struct netr_ServerTrustPasswordsGet *r)
14840 uint32_t _ptr_server_name;
14841 TALLOC_CTX *_mem_save_server_name_0;
14842 TALLOC_CTX *_mem_save_credential_0;
14843 TALLOC_CTX *_mem_save_return_authenticator_0;
14844 TALLOC_CTX *_mem_save_password_0;
14845 TALLOC_CTX *_mem_save_password2_0;
14846 if (flags & NDR_IN) {
14847 ZERO_STRUCT(r->out);
14849 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
14850 if (_ptr_server_name) {
14851 NDR_PULL_ALLOC(ndr, r->in.server_name);
14853 r->in.server_name = NULL;
14855 if (r->in.server_name) {
14856 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14857 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
14858 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
14859 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
14860 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
14861 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));
14863 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
14864 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));
14865 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
14867 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
14868 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
14869 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
14870 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));
14872 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
14873 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));
14874 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
14875 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
14876 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
14877 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
14878 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));
14880 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
14881 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));
14882 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14883 NDR_PULL_ALLOC(ndr, r->in.credential);
14885 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
14886 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
14887 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
14888 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
14889 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
14890 ZERO_STRUCTP(r->out.return_authenticator);
14891 NDR_PULL_ALLOC(ndr, r->out.password);
14892 ZERO_STRUCTP(r->out.password);
14893 NDR_PULL_ALLOC(ndr, r->out.password2);
14894 ZERO_STRUCTP(r->out.password2);
14896 if (flags & NDR_OUT) {
14897 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14898 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
14900 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
14901 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
14902 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
14903 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
14904 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14905 NDR_PULL_ALLOC(ndr, r->out.password);
14907 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
14908 NDR_PULL_SET_MEM_CTX(ndr, r->out.password, LIBNDR_FLAG_REF_ALLOC);
14909 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->out.password));
14910 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, LIBNDR_FLAG_REF_ALLOC);
14911 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14912 NDR_PULL_ALLOC(ndr, r->out.password2);
14914 _mem_save_password2_0 = NDR_PULL_GET_MEM_CTX(ndr);
14915 NDR_PULL_SET_MEM_CTX(ndr, r->out.password2, LIBNDR_FLAG_REF_ALLOC);
14916 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->out.password2));
14917 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password2_0, LIBNDR_FLAG_REF_ALLOC);
14918 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
14920 return NDR_ERR_SUCCESS;
14923 _PUBLIC_ void ndr_print_netr_ServerTrustPasswordsGet(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerTrustPasswordsGet *r)
14925 ndr_print_struct(ndr, name, "netr_ServerTrustPasswordsGet");
14927 if (flags & NDR_SET_VALUES) {
14928 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14930 if (flags & NDR_IN) {
14931 ndr_print_struct(ndr, "in", "netr_ServerTrustPasswordsGet");
14933 ndr_print_ptr(ndr, "server_name", r->in.server_name);
14935 if (r->in.server_name) {
14936 ndr_print_string(ndr, "server_name", r->in.server_name);
14939 ndr_print_string(ndr, "account_name", r->in.account_name);
14940 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
14941 ndr_print_string(ndr, "computer_name", r->in.computer_name);
14942 ndr_print_ptr(ndr, "credential", r->in.credential);
14944 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
14948 if (flags & NDR_OUT) {
14949 ndr_print_struct(ndr, "out", "netr_ServerTrustPasswordsGet");
14951 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
14953 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
14955 ndr_print_ptr(ndr, "password", r->out.password);
14957 ndr_print_samr_Password(ndr, "password", r->out.password);
14959 ndr_print_ptr(ndr, "password2", r->out.password2);
14961 ndr_print_samr_Password(ndr, "password2", r->out.password2);
14963 ndr_print_NTSTATUS(ndr, "result", r->out.result);
14969 static enum ndr_err_code ndr_push_netr_DsRGetForestTrustInformation(struct ndr_push *ndr, int flags, const struct netr_DsRGetForestTrustInformation *r)
14971 if (flags & NDR_IN) {
14972 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
14973 if (r->in.server_name) {
14974 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14975 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14976 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14977 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));
14979 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.trusted_domain_name));
14980 if (r->in.trusted_domain_name) {
14981 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16)));
14982 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14983 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16)));
14984 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));
14986 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags));
14988 if (flags & NDR_OUT) {
14989 if (r->out.forest_trust_info == NULL) {
14990 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14992 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.forest_trust_info));
14993 if (*r->out.forest_trust_info) {
14994 NDR_CHECK(ndr_push_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
14996 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14998 return NDR_ERR_SUCCESS;
15001 static enum ndr_err_code ndr_pull_netr_DsRGetForestTrustInformation(struct ndr_pull *ndr, int flags, struct netr_DsRGetForestTrustInformation *r)
15003 uint32_t _ptr_server_name;
15004 uint32_t _ptr_trusted_domain_name;
15005 uint32_t _ptr_forest_trust_info;
15006 TALLOC_CTX *_mem_save_server_name_0;
15007 TALLOC_CTX *_mem_save_trusted_domain_name_0;
15008 TALLOC_CTX *_mem_save_forest_trust_info_0;
15009 TALLOC_CTX *_mem_save_forest_trust_info_1;
15010 if (flags & NDR_IN) {
15011 ZERO_STRUCT(r->out);
15013 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
15014 if (_ptr_server_name) {
15015 NDR_PULL_ALLOC(ndr, r->in.server_name);
15017 r->in.server_name = NULL;
15019 if (r->in.server_name) {
15020 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15021 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
15022 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
15023 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
15024 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
15025 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));
15027 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
15028 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));
15029 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
15031 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_domain_name));
15032 if (_ptr_trusted_domain_name) {
15033 NDR_PULL_ALLOC(ndr, r->in.trusted_domain_name);
15035 r->in.trusted_domain_name = NULL;
15037 if (r->in.trusted_domain_name) {
15038 _mem_save_trusted_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15039 NDR_PULL_SET_MEM_CTX(ndr, r->in.trusted_domain_name, 0);
15040 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.trusted_domain_name));
15041 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.trusted_domain_name));
15042 if (ndr_get_array_length(ndr, &r->in.trusted_domain_name) > ndr_get_array_size(ndr, &r->in.trusted_domain_name)) {
15043 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));
15045 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.trusted_domain_name), sizeof(uint16_t)));
15046 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));
15047 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domain_name_0, 0);
15049 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
15050 NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
15051 ZERO_STRUCTP(r->out.forest_trust_info);
15053 if (flags & NDR_OUT) {
15054 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15055 NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
15057 _mem_save_forest_trust_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
15058 NDR_PULL_SET_MEM_CTX(ndr, r->out.forest_trust_info, LIBNDR_FLAG_REF_ALLOC);
15059 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_forest_trust_info));
15060 if (_ptr_forest_trust_info) {
15061 NDR_PULL_ALLOC(ndr, *r->out.forest_trust_info);
15063 *r->out.forest_trust_info = NULL;
15065 if (*r->out.forest_trust_info) {
15066 _mem_save_forest_trust_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
15067 NDR_PULL_SET_MEM_CTX(ndr, *r->out.forest_trust_info, 0);
15068 NDR_CHECK(ndr_pull_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
15069 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_1, 0);
15071 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_0, LIBNDR_FLAG_REF_ALLOC);
15072 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15074 return NDR_ERR_SUCCESS;
15077 _PUBLIC_ void ndr_print_netr_DsRGetForestTrustInformation(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetForestTrustInformation *r)
15079 ndr_print_struct(ndr, name, "netr_DsRGetForestTrustInformation");
15081 if (flags & NDR_SET_VALUES) {
15082 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15084 if (flags & NDR_IN) {
15085 ndr_print_struct(ndr, "in", "netr_DsRGetForestTrustInformation");
15087 ndr_print_ptr(ndr, "server_name", r->in.server_name);
15089 if (r->in.server_name) {
15090 ndr_print_string(ndr, "server_name", r->in.server_name);
15093 ndr_print_ptr(ndr, "trusted_domain_name", r->in.trusted_domain_name);
15095 if (r->in.trusted_domain_name) {
15096 ndr_print_string(ndr, "trusted_domain_name", r->in.trusted_domain_name);
15099 ndr_print_uint32(ndr, "flags", r->in.flags);
15102 if (flags & NDR_OUT) {
15103 ndr_print_struct(ndr, "out", "netr_DsRGetForestTrustInformation");
15105 ndr_print_ptr(ndr, "forest_trust_info", r->out.forest_trust_info);
15107 ndr_print_ptr(ndr, "forest_trust_info", *r->out.forest_trust_info);
15109 if (*r->out.forest_trust_info) {
15110 ndr_print_lsa_ForestTrustInformation(ndr, "forest_trust_info", *r->out.forest_trust_info);
15114 ndr_print_WERROR(ndr, "result", r->out.result);
15120 static enum ndr_err_code ndr_push_netr_GetForestTrustInformation(struct ndr_push *ndr, int flags, const struct netr_GetForestTrustInformation *r)
15122 if (flags & NDR_IN) {
15123 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
15124 if (r->in.server_name) {
15125 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15126 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15127 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15128 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));
15130 if (r->in.trusted_domain_name == NULL) {
15131 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15133 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16)));
15134 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15135 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16)));
15136 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));
15137 if (r->in.credential == NULL) {
15138 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15140 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
15141 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags));
15143 if (flags & NDR_OUT) {
15144 if (r->out.return_authenticator == NULL) {
15145 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15147 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
15148 if (r->out.forest_trust_info == NULL) {
15149 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15151 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.forest_trust_info));
15152 if (*r->out.forest_trust_info) {
15153 NDR_CHECK(ndr_push_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
15155 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15157 return NDR_ERR_SUCCESS;
15160 static enum ndr_err_code ndr_pull_netr_GetForestTrustInformation(struct ndr_pull *ndr, int flags, struct netr_GetForestTrustInformation *r)
15162 uint32_t _ptr_server_name;
15163 uint32_t _ptr_forest_trust_info;
15164 TALLOC_CTX *_mem_save_server_name_0;
15165 TALLOC_CTX *_mem_save_credential_0;
15166 TALLOC_CTX *_mem_save_return_authenticator_0;
15167 TALLOC_CTX *_mem_save_forest_trust_info_0;
15168 TALLOC_CTX *_mem_save_forest_trust_info_1;
15169 if (flags & NDR_IN) {
15170 ZERO_STRUCT(r->out);
15172 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
15173 if (_ptr_server_name) {
15174 NDR_PULL_ALLOC(ndr, r->in.server_name);
15176 r->in.server_name = NULL;
15178 if (r->in.server_name) {
15179 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15180 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
15181 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
15182 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
15183 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
15184 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));
15186 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
15187 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));
15188 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
15190 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.trusted_domain_name));
15191 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.trusted_domain_name));
15192 if (ndr_get_array_length(ndr, &r->in.trusted_domain_name) > ndr_get_array_size(ndr, &r->in.trusted_domain_name)) {
15193 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));
15195 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.trusted_domain_name), sizeof(uint16_t)));
15196 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));
15197 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15198 NDR_PULL_ALLOC(ndr, r->in.credential);
15200 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
15201 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
15202 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
15203 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
15204 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
15205 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
15206 ZERO_STRUCTP(r->out.return_authenticator);
15207 NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
15208 ZERO_STRUCTP(r->out.forest_trust_info);
15210 if (flags & NDR_OUT) {
15211 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15212 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
15214 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
15215 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
15216 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
15217 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
15218 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15219 NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
15221 _mem_save_forest_trust_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
15222 NDR_PULL_SET_MEM_CTX(ndr, r->out.forest_trust_info, LIBNDR_FLAG_REF_ALLOC);
15223 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_forest_trust_info));
15224 if (_ptr_forest_trust_info) {
15225 NDR_PULL_ALLOC(ndr, *r->out.forest_trust_info);
15227 *r->out.forest_trust_info = NULL;
15229 if (*r->out.forest_trust_info) {
15230 _mem_save_forest_trust_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
15231 NDR_PULL_SET_MEM_CTX(ndr, *r->out.forest_trust_info, 0);
15232 NDR_CHECK(ndr_pull_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
15233 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_1, 0);
15235 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_0, LIBNDR_FLAG_REF_ALLOC);
15236 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15238 return NDR_ERR_SUCCESS;
15241 _PUBLIC_ void ndr_print_netr_GetForestTrustInformation(struct ndr_print *ndr, const char *name, int flags, const struct netr_GetForestTrustInformation *r)
15243 ndr_print_struct(ndr, name, "netr_GetForestTrustInformation");
15245 if (flags & NDR_SET_VALUES) {
15246 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15248 if (flags & NDR_IN) {
15249 ndr_print_struct(ndr, "in", "netr_GetForestTrustInformation");
15251 ndr_print_ptr(ndr, "server_name", r->in.server_name);
15253 if (r->in.server_name) {
15254 ndr_print_string(ndr, "server_name", r->in.server_name);
15257 ndr_print_ptr(ndr, "trusted_domain_name", r->in.trusted_domain_name);
15259 ndr_print_string(ndr, "trusted_domain_name", r->in.trusted_domain_name);
15261 ndr_print_ptr(ndr, "credential", r->in.credential);
15263 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
15265 ndr_print_uint32(ndr, "flags", r->in.flags);
15268 if (flags & NDR_OUT) {
15269 ndr_print_struct(ndr, "out", "netr_GetForestTrustInformation");
15271 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
15273 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
15275 ndr_print_ptr(ndr, "forest_trust_info", r->out.forest_trust_info);
15277 ndr_print_ptr(ndr, "forest_trust_info", *r->out.forest_trust_info);
15279 if (*r->out.forest_trust_info) {
15280 ndr_print_lsa_ForestTrustInformation(ndr, "forest_trust_info", *r->out.forest_trust_info);
15284 ndr_print_WERROR(ndr, "result", r->out.result);
15290 static enum ndr_err_code ndr_push_netr_LogonSamLogonWithFlags(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogonWithFlags *r)
15292 if (flags & NDR_IN) {
15293 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
15294 if (r->in.server_name) {
15295 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15296 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15297 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15298 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));
15300 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
15301 if (r->in.computer_name) {
15302 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
15303 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15304 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
15305 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));
15307 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.credential));
15308 if (r->in.credential) {
15309 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
15311 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.return_authenticator));
15312 if (r->in.return_authenticator) {
15313 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
15315 NDR_CHECK(ndr_push_netr_LogonInfoClass(ndr, NDR_SCALARS, r->in.logon_level));
15316 if (r->in.logon == NULL) {
15317 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15319 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.logon, r->in.logon_level));
15320 NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
15321 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.validation_level));
15322 if (r->in.flags == NULL) {
15323 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15325 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.flags));
15327 if (flags & NDR_OUT) {
15328 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.return_authenticator));
15329 if (r->out.return_authenticator) {
15330 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
15332 if (r->out.validation == NULL) {
15333 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15335 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.validation, r->in.validation_level));
15336 NDR_CHECK(ndr_push_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
15337 if (r->out.authoritative == NULL) {
15338 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15340 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, *r->out.authoritative));
15341 if (r->out.flags == NULL) {
15342 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15344 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.flags));
15345 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
15347 return NDR_ERR_SUCCESS;
15350 static enum ndr_err_code ndr_pull_netr_LogonSamLogonWithFlags(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogonWithFlags *r)
15352 uint32_t _ptr_server_name;
15353 uint32_t _ptr_computer_name;
15354 uint32_t _ptr_credential;
15355 uint32_t _ptr_return_authenticator;
15356 TALLOC_CTX *_mem_save_server_name_0;
15357 TALLOC_CTX *_mem_save_computer_name_0;
15358 TALLOC_CTX *_mem_save_credential_0;
15359 TALLOC_CTX *_mem_save_return_authenticator_0;
15360 TALLOC_CTX *_mem_save_logon_0;
15361 TALLOC_CTX *_mem_save_validation_0;
15362 TALLOC_CTX *_mem_save_authoritative_0;
15363 TALLOC_CTX *_mem_save_flags_0;
15364 if (flags & NDR_IN) {
15365 ZERO_STRUCT(r->out);
15367 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
15368 if (_ptr_server_name) {
15369 NDR_PULL_ALLOC(ndr, r->in.server_name);
15371 r->in.server_name = NULL;
15373 if (r->in.server_name) {
15374 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15375 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
15376 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
15377 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
15378 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
15379 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));
15381 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
15382 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));
15383 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
15385 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
15386 if (_ptr_computer_name) {
15387 NDR_PULL_ALLOC(ndr, r->in.computer_name);
15389 r->in.computer_name = NULL;
15391 if (r->in.computer_name) {
15392 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15393 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
15394 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
15395 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
15396 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
15397 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));
15399 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
15400 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));
15401 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
15403 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_credential));
15404 if (_ptr_credential) {
15405 NDR_PULL_ALLOC(ndr, r->in.credential);
15407 r->in.credential = NULL;
15409 if (r->in.credential) {
15410 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
15411 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, 0);
15412 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
15413 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, 0);
15415 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
15416 if (_ptr_return_authenticator) {
15417 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
15419 r->in.return_authenticator = NULL;
15421 if (r->in.return_authenticator) {
15422 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
15423 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, 0);
15424 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
15425 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
15427 NDR_CHECK(ndr_pull_netr_LogonInfoClass(ndr, NDR_SCALARS, &r->in.logon_level));
15428 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15429 NDR_PULL_ALLOC(ndr, r->in.logon);
15431 _mem_save_logon_0 = NDR_PULL_GET_MEM_CTX(ndr);
15432 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon, LIBNDR_FLAG_REF_ALLOC);
15433 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.logon, r->in.logon_level));
15434 NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
15435 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_0, LIBNDR_FLAG_REF_ALLOC);
15436 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.validation_level));
15437 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15438 NDR_PULL_ALLOC(ndr, r->in.flags);
15440 _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
15441 NDR_PULL_SET_MEM_CTX(ndr, r->in.flags, LIBNDR_FLAG_REF_ALLOC);
15442 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.flags));
15443 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
15444 NDR_PULL_ALLOC(ndr, r->out.validation);
15445 ZERO_STRUCTP(r->out.validation);
15446 NDR_PULL_ALLOC(ndr, r->out.authoritative);
15447 ZERO_STRUCTP(r->out.authoritative);
15448 NDR_PULL_ALLOC(ndr, r->out.flags);
15449 *r->out.flags = *r->in.flags;
15451 if (flags & NDR_OUT) {
15452 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
15453 if (_ptr_return_authenticator) {
15454 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
15456 r->out.return_authenticator = NULL;
15458 if (r->out.return_authenticator) {
15459 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
15460 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, 0);
15461 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
15462 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
15464 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15465 NDR_PULL_ALLOC(ndr, r->out.validation);
15467 _mem_save_validation_0 = NDR_PULL_GET_MEM_CTX(ndr);
15468 NDR_PULL_SET_MEM_CTX(ndr, r->out.validation, LIBNDR_FLAG_REF_ALLOC);
15469 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.validation, r->in.validation_level));
15470 NDR_CHECK(ndr_pull_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
15471 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_validation_0, LIBNDR_FLAG_REF_ALLOC);
15472 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15473 NDR_PULL_ALLOC(ndr, r->out.authoritative);
15475 _mem_save_authoritative_0 = NDR_PULL_GET_MEM_CTX(ndr);
15476 NDR_PULL_SET_MEM_CTX(ndr, r->out.authoritative, LIBNDR_FLAG_REF_ALLOC);
15477 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, r->out.authoritative));
15478 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_authoritative_0, LIBNDR_FLAG_REF_ALLOC);
15479 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15480 NDR_PULL_ALLOC(ndr, r->out.flags);
15482 _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
15483 NDR_PULL_SET_MEM_CTX(ndr, r->out.flags, LIBNDR_FLAG_REF_ALLOC);
15484 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.flags));
15485 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
15486 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
15488 return NDR_ERR_SUCCESS;
15491 _PUBLIC_ void ndr_print_netr_LogonSamLogonWithFlags(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogonWithFlags *r)
15493 ndr_print_struct(ndr, name, "netr_LogonSamLogonWithFlags");
15495 if (flags & NDR_SET_VALUES) {
15496 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15498 if (flags & NDR_IN) {
15499 ndr_print_struct(ndr, "in", "netr_LogonSamLogonWithFlags");
15501 ndr_print_ptr(ndr, "server_name", r->in.server_name);
15503 if (r->in.server_name) {
15504 ndr_print_string(ndr, "server_name", r->in.server_name);
15507 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
15509 if (r->in.computer_name) {
15510 ndr_print_string(ndr, "computer_name", r->in.computer_name);
15513 ndr_print_ptr(ndr, "credential", r->in.credential);
15515 if (r->in.credential) {
15516 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
15519 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
15521 if (r->in.return_authenticator) {
15522 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
15525 ndr_print_netr_LogonInfoClass(ndr, "logon_level", r->in.logon_level);
15526 ndr_print_ptr(ndr, "logon", r->in.logon);
15528 ndr_print_set_switch_value(ndr, r->in.logon, r->in.logon_level);
15529 ndr_print_netr_LogonLevel(ndr, "logon", r->in.logon);
15531 ndr_print_uint16(ndr, "validation_level", r->in.validation_level);
15532 ndr_print_ptr(ndr, "flags", r->in.flags);
15534 ndr_print_uint32(ndr, "flags", *r->in.flags);
15538 if (flags & NDR_OUT) {
15539 ndr_print_struct(ndr, "out", "netr_LogonSamLogonWithFlags");
15541 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
15543 if (r->out.return_authenticator) {
15544 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
15547 ndr_print_ptr(ndr, "validation", r->out.validation);
15549 ndr_print_set_switch_value(ndr, r->out.validation, r->in.validation_level);
15550 ndr_print_netr_Validation(ndr, "validation", r->out.validation);
15552 ndr_print_ptr(ndr, "authoritative", r->out.authoritative);
15554 ndr_print_uint8(ndr, "authoritative", *r->out.authoritative);
15556 ndr_print_ptr(ndr, "flags", r->out.flags);
15558 ndr_print_uint32(ndr, "flags", *r->out.flags);
15560 ndr_print_NTSTATUS(ndr, "result", r->out.result);
15566 static enum ndr_err_code ndr_push_netr_ServerGetTrustInfo(struct ndr_push *ndr, int flags, const struct netr_ServerGetTrustInfo *r)
15568 if (flags & NDR_IN) {
15569 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
15570 if (r->in.server_name) {
15571 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15572 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15573 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15574 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));
15576 if (r->in.account_name == NULL) {
15577 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15579 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
15580 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15581 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
15582 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));
15583 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
15584 if (r->in.computer_name == NULL) {
15585 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15587 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
15588 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15589 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
15590 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));
15591 if (r->in.credential == NULL) {
15592 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15594 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
15596 if (flags & NDR_OUT) {
15597 if (r->out.return_authenticator == NULL) {
15598 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15600 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
15601 if (r->out.new_owf_password == NULL) {
15602 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15604 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->out.new_owf_password));
15605 if (r->out.old_owf_password == NULL) {
15606 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15608 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->out.old_owf_password));
15609 if (r->out.trust_info == NULL) {
15610 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15612 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.trust_info));
15613 if (*r->out.trust_info) {
15614 NDR_CHECK(ndr_push_netr_TrustInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.trust_info));
15616 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
15618 return NDR_ERR_SUCCESS;
15621 static enum ndr_err_code ndr_pull_netr_ServerGetTrustInfo(struct ndr_pull *ndr, int flags, struct netr_ServerGetTrustInfo *r)
15623 uint32_t _ptr_server_name;
15624 uint32_t _ptr_trust_info;
15625 TALLOC_CTX *_mem_save_server_name_0;
15626 TALLOC_CTX *_mem_save_credential_0;
15627 TALLOC_CTX *_mem_save_return_authenticator_0;
15628 TALLOC_CTX *_mem_save_new_owf_password_0;
15629 TALLOC_CTX *_mem_save_old_owf_password_0;
15630 TALLOC_CTX *_mem_save_trust_info_0;
15631 TALLOC_CTX *_mem_save_trust_info_1;
15632 if (flags & NDR_IN) {
15633 ZERO_STRUCT(r->out);
15635 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
15636 if (_ptr_server_name) {
15637 NDR_PULL_ALLOC(ndr, r->in.server_name);
15639 r->in.server_name = NULL;
15641 if (r->in.server_name) {
15642 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15643 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
15644 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
15645 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
15646 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
15647 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));
15649 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
15650 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));
15651 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
15653 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
15654 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
15655 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
15656 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));
15658 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
15659 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));
15660 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
15661 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
15662 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
15663 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
15664 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));
15666 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
15667 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));
15668 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15669 NDR_PULL_ALLOC(ndr, r->in.credential);
15671 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
15672 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
15673 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
15674 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
15675 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
15676 ZERO_STRUCTP(r->out.return_authenticator);
15677 NDR_PULL_ALLOC(ndr, r->out.new_owf_password);
15678 ZERO_STRUCTP(r->out.new_owf_password);
15679 NDR_PULL_ALLOC(ndr, r->out.old_owf_password);
15680 ZERO_STRUCTP(r->out.old_owf_password);
15681 NDR_PULL_ALLOC(ndr, r->out.trust_info);
15682 ZERO_STRUCTP(r->out.trust_info);
15684 if (flags & NDR_OUT) {
15685 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15686 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
15688 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
15689 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
15690 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
15691 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
15692 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15693 NDR_PULL_ALLOC(ndr, r->out.new_owf_password);
15695 _mem_save_new_owf_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
15696 NDR_PULL_SET_MEM_CTX(ndr, r->out.new_owf_password, LIBNDR_FLAG_REF_ALLOC);
15697 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->out.new_owf_password));
15698 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_owf_password_0, LIBNDR_FLAG_REF_ALLOC);
15699 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15700 NDR_PULL_ALLOC(ndr, r->out.old_owf_password);
15702 _mem_save_old_owf_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
15703 NDR_PULL_SET_MEM_CTX(ndr, r->out.old_owf_password, LIBNDR_FLAG_REF_ALLOC);
15704 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->out.old_owf_password));
15705 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_owf_password_0, LIBNDR_FLAG_REF_ALLOC);
15706 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15707 NDR_PULL_ALLOC(ndr, r->out.trust_info);
15709 _mem_save_trust_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
15710 NDR_PULL_SET_MEM_CTX(ndr, r->out.trust_info, LIBNDR_FLAG_REF_ALLOC);
15711 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trust_info));
15712 if (_ptr_trust_info) {
15713 NDR_PULL_ALLOC(ndr, *r->out.trust_info);
15715 *r->out.trust_info = NULL;
15717 if (*r->out.trust_info) {
15718 _mem_save_trust_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
15719 NDR_PULL_SET_MEM_CTX(ndr, *r->out.trust_info, 0);
15720 NDR_CHECK(ndr_pull_netr_TrustInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.trust_info));
15721 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trust_info_1, 0);
15723 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trust_info_0, LIBNDR_FLAG_REF_ALLOC);
15724 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
15726 return NDR_ERR_SUCCESS;
15729 _PUBLIC_ void ndr_print_netr_ServerGetTrustInfo(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerGetTrustInfo *r)
15731 ndr_print_struct(ndr, name, "netr_ServerGetTrustInfo");
15733 if (flags & NDR_SET_VALUES) {
15734 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15736 if (flags & NDR_IN) {
15737 ndr_print_struct(ndr, "in", "netr_ServerGetTrustInfo");
15739 ndr_print_ptr(ndr, "server_name", r->in.server_name);
15741 if (r->in.server_name) {
15742 ndr_print_string(ndr, "server_name", r->in.server_name);
15745 ndr_print_ptr(ndr, "account_name", r->in.account_name);
15747 ndr_print_string(ndr, "account_name", r->in.account_name);
15749 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
15750 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
15752 ndr_print_string(ndr, "computer_name", r->in.computer_name);
15754 ndr_print_ptr(ndr, "credential", r->in.credential);
15756 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
15760 if (flags & NDR_OUT) {
15761 ndr_print_struct(ndr, "out", "netr_ServerGetTrustInfo");
15763 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
15765 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
15767 ndr_print_ptr(ndr, "new_owf_password", r->out.new_owf_password);
15769 ndr_print_samr_Password(ndr, "new_owf_password", r->out.new_owf_password);
15771 ndr_print_ptr(ndr, "old_owf_password", r->out.old_owf_password);
15773 ndr_print_samr_Password(ndr, "old_owf_password", r->out.old_owf_password);
15775 ndr_print_ptr(ndr, "trust_info", r->out.trust_info);
15777 ndr_print_ptr(ndr, "trust_info", *r->out.trust_info);
15779 if (*r->out.trust_info) {
15780 ndr_print_netr_TrustInfo(ndr, "trust_info", *r->out.trust_info);
15784 ndr_print_NTSTATUS(ndr, "result", r->out.result);
15790 static const struct ndr_interface_call netlogon_calls[] = {
15792 "netr_LogonUasLogon",
15793 sizeof(struct netr_LogonUasLogon),
15794 (ndr_push_flags_fn_t) ndr_push_netr_LogonUasLogon,
15795 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonUasLogon,
15796 (ndr_print_function_t) ndr_print_netr_LogonUasLogon,
15800 "netr_LogonUasLogoff",
15801 sizeof(struct netr_LogonUasLogoff),
15802 (ndr_push_flags_fn_t) ndr_push_netr_LogonUasLogoff,
15803 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonUasLogoff,
15804 (ndr_print_function_t) ndr_print_netr_LogonUasLogoff,
15808 "netr_LogonSamLogon",
15809 sizeof(struct netr_LogonSamLogon),
15810 (ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogon,
15811 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogon,
15812 (ndr_print_function_t) ndr_print_netr_LogonSamLogon,
15816 "netr_LogonSamLogoff",
15817 sizeof(struct netr_LogonSamLogoff),
15818 (ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogoff,
15819 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogoff,
15820 (ndr_print_function_t) ndr_print_netr_LogonSamLogoff,
15824 "netr_ServerReqChallenge",
15825 sizeof(struct netr_ServerReqChallenge),
15826 (ndr_push_flags_fn_t) ndr_push_netr_ServerReqChallenge,
15827 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerReqChallenge,
15828 (ndr_print_function_t) ndr_print_netr_ServerReqChallenge,
15832 "netr_ServerAuthenticate",
15833 sizeof(struct netr_ServerAuthenticate),
15834 (ndr_push_flags_fn_t) ndr_push_netr_ServerAuthenticate,
15835 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerAuthenticate,
15836 (ndr_print_function_t) ndr_print_netr_ServerAuthenticate,
15840 "netr_ServerPasswordSet",
15841 sizeof(struct netr_ServerPasswordSet),
15842 (ndr_push_flags_fn_t) ndr_push_netr_ServerPasswordSet,
15843 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerPasswordSet,
15844 (ndr_print_function_t) ndr_print_netr_ServerPasswordSet,
15848 "netr_DatabaseDeltas",
15849 sizeof(struct netr_DatabaseDeltas),
15850 (ndr_push_flags_fn_t) ndr_push_netr_DatabaseDeltas,
15851 (ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseDeltas,
15852 (ndr_print_function_t) ndr_print_netr_DatabaseDeltas,
15856 "netr_DatabaseSync",
15857 sizeof(struct netr_DatabaseSync),
15858 (ndr_push_flags_fn_t) ndr_push_netr_DatabaseSync,
15859 (ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseSync,
15860 (ndr_print_function_t) ndr_print_netr_DatabaseSync,
15864 "netr_AccountDeltas",
15865 sizeof(struct netr_AccountDeltas),
15866 (ndr_push_flags_fn_t) ndr_push_netr_AccountDeltas,
15867 (ndr_pull_flags_fn_t) ndr_pull_netr_AccountDeltas,
15868 (ndr_print_function_t) ndr_print_netr_AccountDeltas,
15872 "netr_AccountSync",
15873 sizeof(struct netr_AccountSync),
15874 (ndr_push_flags_fn_t) ndr_push_netr_AccountSync,
15875 (ndr_pull_flags_fn_t) ndr_pull_netr_AccountSync,
15876 (ndr_print_function_t) ndr_print_netr_AccountSync,
15881 sizeof(struct netr_GetDcName),
15882 (ndr_push_flags_fn_t) ndr_push_netr_GetDcName,
15883 (ndr_pull_flags_fn_t) ndr_pull_netr_GetDcName,
15884 (ndr_print_function_t) ndr_print_netr_GetDcName,
15888 "netr_LogonControl",
15889 sizeof(struct netr_LogonControl),
15890 (ndr_push_flags_fn_t) ndr_push_netr_LogonControl,
15891 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonControl,
15892 (ndr_print_function_t) ndr_print_netr_LogonControl,
15896 "netr_GetAnyDCName",
15897 sizeof(struct netr_GetAnyDCName),
15898 (ndr_push_flags_fn_t) ndr_push_netr_GetAnyDCName,
15899 (ndr_pull_flags_fn_t) ndr_pull_netr_GetAnyDCName,
15900 (ndr_print_function_t) ndr_print_netr_GetAnyDCName,
15904 "netr_LogonControl2",
15905 sizeof(struct netr_LogonControl2),
15906 (ndr_push_flags_fn_t) ndr_push_netr_LogonControl2,
15907 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonControl2,
15908 (ndr_print_function_t) ndr_print_netr_LogonControl2,
15912 "netr_ServerAuthenticate2",
15913 sizeof(struct netr_ServerAuthenticate2),
15914 (ndr_push_flags_fn_t) ndr_push_netr_ServerAuthenticate2,
15915 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerAuthenticate2,
15916 (ndr_print_function_t) ndr_print_netr_ServerAuthenticate2,
15920 "netr_DatabaseSync2",
15921 sizeof(struct netr_DatabaseSync2),
15922 (ndr_push_flags_fn_t) ndr_push_netr_DatabaseSync2,
15923 (ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseSync2,
15924 (ndr_print_function_t) ndr_print_netr_DatabaseSync2,
15928 "netr_DatabaseRedo",
15929 sizeof(struct netr_DatabaseRedo),
15930 (ndr_push_flags_fn_t) ndr_push_netr_DatabaseRedo,
15931 (ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseRedo,
15932 (ndr_print_function_t) ndr_print_netr_DatabaseRedo,
15936 "netr_LogonControl2Ex",
15937 sizeof(struct netr_LogonControl2Ex),
15938 (ndr_push_flags_fn_t) ndr_push_netr_LogonControl2Ex,
15939 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonControl2Ex,
15940 (ndr_print_function_t) ndr_print_netr_LogonControl2Ex,
15944 "netr_NetrEnumerateTrustedDomains",
15945 sizeof(struct netr_NetrEnumerateTrustedDomains),
15946 (ndr_push_flags_fn_t) ndr_push_netr_NetrEnumerateTrustedDomains,
15947 (ndr_pull_flags_fn_t) ndr_pull_netr_NetrEnumerateTrustedDomains,
15948 (ndr_print_function_t) ndr_print_netr_NetrEnumerateTrustedDomains,
15952 "netr_DsRGetDCName",
15953 sizeof(struct netr_DsRGetDCName),
15954 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetDCName,
15955 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetDCName,
15956 (ndr_print_function_t) ndr_print_netr_DsRGetDCName,
15960 "netr_NETRLOGONDUMMYROUTINE1",
15961 sizeof(struct netr_NETRLOGONDUMMYROUTINE1),
15962 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONDUMMYROUTINE1,
15963 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONDUMMYROUTINE1,
15964 (ndr_print_function_t) ndr_print_netr_NETRLOGONDUMMYROUTINE1,
15968 "netr_NETRLOGONSETSERVICEBITS",
15969 sizeof(struct netr_NETRLOGONSETSERVICEBITS),
15970 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONSETSERVICEBITS,
15971 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONSETSERVICEBITS,
15972 (ndr_print_function_t) ndr_print_netr_NETRLOGONSETSERVICEBITS,
15976 "netr_LogonGetTrustRid",
15977 sizeof(struct netr_LogonGetTrustRid),
15978 (ndr_push_flags_fn_t) ndr_push_netr_LogonGetTrustRid,
15979 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonGetTrustRid,
15980 (ndr_print_function_t) ndr_print_netr_LogonGetTrustRid,
15984 "netr_NETRLOGONCOMPUTESERVERDIGEST",
15985 sizeof(struct netr_NETRLOGONCOMPUTESERVERDIGEST),
15986 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONCOMPUTESERVERDIGEST,
15987 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONCOMPUTESERVERDIGEST,
15988 (ndr_print_function_t) ndr_print_netr_NETRLOGONCOMPUTESERVERDIGEST,
15992 "netr_NETRLOGONCOMPUTECLIENTDIGEST",
15993 sizeof(struct netr_NETRLOGONCOMPUTECLIENTDIGEST),
15994 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONCOMPUTECLIENTDIGEST,
15995 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONCOMPUTECLIENTDIGEST,
15996 (ndr_print_function_t) ndr_print_netr_NETRLOGONCOMPUTECLIENTDIGEST,
16000 "netr_ServerAuthenticate3",
16001 sizeof(struct netr_ServerAuthenticate3),
16002 (ndr_push_flags_fn_t) ndr_push_netr_ServerAuthenticate3,
16003 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerAuthenticate3,
16004 (ndr_print_function_t) ndr_print_netr_ServerAuthenticate3,
16008 "netr_DsRGetDCNameEx",
16009 sizeof(struct netr_DsRGetDCNameEx),
16010 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetDCNameEx,
16011 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetDCNameEx,
16012 (ndr_print_function_t) ndr_print_netr_DsRGetDCNameEx,
16016 "netr_DsRGetSiteName",
16017 sizeof(struct netr_DsRGetSiteName),
16018 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetSiteName,
16019 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetSiteName,
16020 (ndr_print_function_t) ndr_print_netr_DsRGetSiteName,
16024 "netr_LogonGetDomainInfo",
16025 sizeof(struct netr_LogonGetDomainInfo),
16026 (ndr_push_flags_fn_t) ndr_push_netr_LogonGetDomainInfo,
16027 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonGetDomainInfo,
16028 (ndr_print_function_t) ndr_print_netr_LogonGetDomainInfo,
16032 "netr_ServerPasswordSet2",
16033 sizeof(struct netr_ServerPasswordSet2),
16034 (ndr_push_flags_fn_t) ndr_push_netr_ServerPasswordSet2,
16035 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerPasswordSet2,
16036 (ndr_print_function_t) ndr_print_netr_ServerPasswordSet2,
16040 "netr_ServerPasswordGet",
16041 sizeof(struct netr_ServerPasswordGet),
16042 (ndr_push_flags_fn_t) ndr_push_netr_ServerPasswordGet,
16043 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerPasswordGet,
16044 (ndr_print_function_t) ndr_print_netr_ServerPasswordGet,
16048 "netr_NETRLOGONSENDTOSAM",
16049 sizeof(struct netr_NETRLOGONSENDTOSAM),
16050 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONSENDTOSAM,
16051 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONSENDTOSAM,
16052 (ndr_print_function_t) ndr_print_netr_NETRLOGONSENDTOSAM,
16056 "netr_DsRAddressToSitenamesW",
16057 sizeof(struct netr_DsRAddressToSitenamesW),
16058 (ndr_push_flags_fn_t) ndr_push_netr_DsRAddressToSitenamesW,
16059 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRAddressToSitenamesW,
16060 (ndr_print_function_t) ndr_print_netr_DsRAddressToSitenamesW,
16064 "netr_DsRGetDCNameEx2",
16065 sizeof(struct netr_DsRGetDCNameEx2),
16066 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetDCNameEx2,
16067 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetDCNameEx2,
16068 (ndr_print_function_t) ndr_print_netr_DsRGetDCNameEx2,
16072 "netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN",
16073 sizeof(struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN),
16074 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN,
16075 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN,
16076 (ndr_print_function_t) ndr_print_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN,
16080 "netr_NetrEnumerateTrustedDomainsEx",
16081 sizeof(struct netr_NetrEnumerateTrustedDomainsEx),
16082 (ndr_push_flags_fn_t) ndr_push_netr_NetrEnumerateTrustedDomainsEx,
16083 (ndr_pull_flags_fn_t) ndr_pull_netr_NetrEnumerateTrustedDomainsEx,
16084 (ndr_print_function_t) ndr_print_netr_NetrEnumerateTrustedDomainsEx,
16088 "netr_DsRAddressToSitenamesExW",
16089 sizeof(struct netr_DsRAddressToSitenamesExW),
16090 (ndr_push_flags_fn_t) ndr_push_netr_DsRAddressToSitenamesExW,
16091 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRAddressToSitenamesExW,
16092 (ndr_print_function_t) ndr_print_netr_DsRAddressToSitenamesExW,
16096 "netr_DsrGetDcSiteCoverageW",
16097 sizeof(struct netr_DsrGetDcSiteCoverageW),
16098 (ndr_push_flags_fn_t) ndr_push_netr_DsrGetDcSiteCoverageW,
16099 (ndr_pull_flags_fn_t) ndr_pull_netr_DsrGetDcSiteCoverageW,
16100 (ndr_print_function_t) ndr_print_netr_DsrGetDcSiteCoverageW,
16104 "netr_LogonSamLogonEx",
16105 sizeof(struct netr_LogonSamLogonEx),
16106 (ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogonEx,
16107 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogonEx,
16108 (ndr_print_function_t) ndr_print_netr_LogonSamLogonEx,
16112 "netr_DsrEnumerateDomainTrusts",
16113 sizeof(struct netr_DsrEnumerateDomainTrusts),
16114 (ndr_push_flags_fn_t) ndr_push_netr_DsrEnumerateDomainTrusts,
16115 (ndr_pull_flags_fn_t) ndr_pull_netr_DsrEnumerateDomainTrusts,
16116 (ndr_print_function_t) ndr_print_netr_DsrEnumerateDomainTrusts,
16120 "netr_DsrDeregisterDNSHostRecords",
16121 sizeof(struct netr_DsrDeregisterDNSHostRecords),
16122 (ndr_push_flags_fn_t) ndr_push_netr_DsrDeregisterDNSHostRecords,
16123 (ndr_pull_flags_fn_t) ndr_pull_netr_DsrDeregisterDNSHostRecords,
16124 (ndr_print_function_t) ndr_print_netr_DsrDeregisterDNSHostRecords,
16128 "netr_ServerTrustPasswordsGet",
16129 sizeof(struct netr_ServerTrustPasswordsGet),
16130 (ndr_push_flags_fn_t) ndr_push_netr_ServerTrustPasswordsGet,
16131 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerTrustPasswordsGet,
16132 (ndr_print_function_t) ndr_print_netr_ServerTrustPasswordsGet,
16136 "netr_DsRGetForestTrustInformation",
16137 sizeof(struct netr_DsRGetForestTrustInformation),
16138 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetForestTrustInformation,
16139 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetForestTrustInformation,
16140 (ndr_print_function_t) ndr_print_netr_DsRGetForestTrustInformation,
16144 "netr_GetForestTrustInformation",
16145 sizeof(struct netr_GetForestTrustInformation),
16146 (ndr_push_flags_fn_t) ndr_push_netr_GetForestTrustInformation,
16147 (ndr_pull_flags_fn_t) ndr_pull_netr_GetForestTrustInformation,
16148 (ndr_print_function_t) ndr_print_netr_GetForestTrustInformation,
16152 "netr_LogonSamLogonWithFlags",
16153 sizeof(struct netr_LogonSamLogonWithFlags),
16154 (ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogonWithFlags,
16155 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogonWithFlags,
16156 (ndr_print_function_t) ndr_print_netr_LogonSamLogonWithFlags,
16160 "netr_ServerGetTrustInfo",
16161 sizeof(struct netr_ServerGetTrustInfo),
16162 (ndr_push_flags_fn_t) ndr_push_netr_ServerGetTrustInfo,
16163 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerGetTrustInfo,
16164 (ndr_print_function_t) ndr_print_netr_ServerGetTrustInfo,
16167 { NULL, 0, NULL, NULL, NULL, false }
16170 static const char * const netlogon_endpoint_strings[] = {
16171 "ncacn_np:[\\pipe\\netlogon]",
16176 static const struct ndr_interface_string_array netlogon_endpoints = {
16178 .names = netlogon_endpoint_strings
16181 static const char * const netlogon_authservice_strings[] = {
16185 static const struct ndr_interface_string_array netlogon_authservices = {
16187 .names = netlogon_authservice_strings
16191 const struct ndr_interface_table ndr_table_netlogon = {
16192 .name = "netlogon",
16194 {0x12345678,0x1234,0xabcd,{0xef,0x00},{0x01,0x23,0x45,0x67,0xcf,0xfb}},
16195 NDR_NETLOGON_VERSION
16197 .helpstring = NDR_NETLOGON_HELPSTRING,
16199 .calls = netlogon_calls,
16200 .endpoints = &netlogon_endpoints,
16201 .authservices = &netlogon_authservices