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_NETLOGON_INFO_4(struct ndr_push *ndr, int ndr_flags, const struct netr_NETLOGON_INFO_4 *r)
5759 if (ndr_flags & NDR_SCALARS) {
5760 NDR_CHECK(ndr_push_align(ndr, 4));
5761 NDR_CHECK(ndr_push_unique_ptr(ndr, r->trusted_dc_name));
5762 NDR_CHECK(ndr_push_unique_ptr(ndr, r->trusted_domain_name));
5764 if (ndr_flags & NDR_BUFFERS) {
5765 if (r->trusted_dc_name) {
5766 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->trusted_dc_name, CH_UTF16)));
5767 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
5768 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->trusted_dc_name, CH_UTF16)));
5769 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));
5771 if (r->trusted_domain_name) {
5772 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->trusted_domain_name, CH_UTF16)));
5773 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
5774 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->trusted_domain_name, CH_UTF16)));
5775 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->trusted_domain_name, ndr_charset_length(r->trusted_domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5778 return NDR_ERR_SUCCESS;
5781 static enum ndr_err_code ndr_pull_netr_NETLOGON_INFO_4(struct ndr_pull *ndr, int ndr_flags, struct netr_NETLOGON_INFO_4 *r)
5783 uint32_t _ptr_trusted_dc_name;
5784 TALLOC_CTX *_mem_save_trusted_dc_name_0;
5785 uint32_t _ptr_trusted_domain_name;
5786 TALLOC_CTX *_mem_save_trusted_domain_name_0;
5787 if (ndr_flags & NDR_SCALARS) {
5788 NDR_CHECK(ndr_pull_align(ndr, 4));
5789 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_dc_name));
5790 if (_ptr_trusted_dc_name) {
5791 NDR_PULL_ALLOC(ndr, r->trusted_dc_name);
5793 r->trusted_dc_name = NULL;
5795 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_domain_name));
5796 if (_ptr_trusted_domain_name) {
5797 NDR_PULL_ALLOC(ndr, r->trusted_domain_name);
5799 r->trusted_domain_name = NULL;
5802 if (ndr_flags & NDR_BUFFERS) {
5803 if (r->trusted_dc_name) {
5804 _mem_save_trusted_dc_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5805 NDR_PULL_SET_MEM_CTX(ndr, r->trusted_dc_name, 0);
5806 NDR_CHECK(ndr_pull_array_size(ndr, &r->trusted_dc_name));
5807 NDR_CHECK(ndr_pull_array_length(ndr, &r->trusted_dc_name));
5808 if (ndr_get_array_length(ndr, &r->trusted_dc_name) > ndr_get_array_size(ndr, &r->trusted_dc_name)) {
5809 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));
5811 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->trusted_dc_name), sizeof(uint16_t)));
5812 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));
5813 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_dc_name_0, 0);
5815 if (r->trusted_domain_name) {
5816 _mem_save_trusted_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5817 NDR_PULL_SET_MEM_CTX(ndr, r->trusted_domain_name, 0);
5818 NDR_CHECK(ndr_pull_array_size(ndr, &r->trusted_domain_name));
5819 NDR_CHECK(ndr_pull_array_length(ndr, &r->trusted_domain_name));
5820 if (ndr_get_array_length(ndr, &r->trusted_domain_name) > ndr_get_array_size(ndr, &r->trusted_domain_name)) {
5821 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_domain_name), ndr_get_array_length(ndr, &r->trusted_domain_name));
5823 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->trusted_domain_name), sizeof(uint16_t)));
5824 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->trusted_domain_name, ndr_get_array_length(ndr, &r->trusted_domain_name), sizeof(uint16_t), CH_UTF16));
5825 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domain_name_0, 0);
5828 return NDR_ERR_SUCCESS;
5831 _PUBLIC_ void ndr_print_netr_NETLOGON_INFO_4(struct ndr_print *ndr, const char *name, const struct netr_NETLOGON_INFO_4 *r)
5833 ndr_print_struct(ndr, name, "netr_NETLOGON_INFO_4");
5835 ndr_print_ptr(ndr, "trusted_dc_name", r->trusted_dc_name);
5837 if (r->trusted_dc_name) {
5838 ndr_print_string(ndr, "trusted_dc_name", r->trusted_dc_name);
5841 ndr_print_ptr(ndr, "trusted_domain_name", r->trusted_domain_name);
5843 if (r->trusted_domain_name) {
5844 ndr_print_string(ndr, "trusted_domain_name", r->trusted_domain_name);
5850 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)
5852 if (ndr_flags & NDR_SCALARS) {
5853 int level = ndr_push_get_switch_value(ndr, r);
5854 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
5857 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1));
5861 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info2));
5865 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info3));
5869 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info4));
5873 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5876 if (ndr_flags & NDR_BUFFERS) {
5877 int level = ndr_push_get_switch_value(ndr, r);
5881 NDR_CHECK(ndr_push_netr_NETLOGON_INFO_1(ndr, NDR_SCALARS, r->info1));
5887 NDR_CHECK(ndr_push_netr_NETLOGON_INFO_2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2));
5893 NDR_CHECK(ndr_push_netr_NETLOGON_INFO_3(ndr, NDR_SCALARS, r->info3));
5899 NDR_CHECK(ndr_push_netr_NETLOGON_INFO_4(ndr, NDR_SCALARS|NDR_BUFFERS, r->info4));
5904 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5907 return NDR_ERR_SUCCESS;
5910 static enum ndr_err_code ndr_pull_netr_CONTROL_QUERY_INFORMATION(struct ndr_pull *ndr, int ndr_flags, union netr_CONTROL_QUERY_INFORMATION *r)
5914 TALLOC_CTX *_mem_save_info1_0;
5915 TALLOC_CTX *_mem_save_info2_0;
5916 TALLOC_CTX *_mem_save_info3_0;
5917 TALLOC_CTX *_mem_save_info4_0;
5918 level = ndr_pull_get_switch_value(ndr, r);
5919 if (ndr_flags & NDR_SCALARS) {
5920 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
5921 if (_level != level) {
5922 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
5926 uint32_t _ptr_info1;
5927 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1));
5929 NDR_PULL_ALLOC(ndr, r->info1);
5936 uint32_t _ptr_info2;
5937 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info2));
5939 NDR_PULL_ALLOC(ndr, r->info2);
5946 uint32_t _ptr_info3;
5947 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info3));
5949 NDR_PULL_ALLOC(ndr, r->info3);
5956 uint32_t _ptr_info4;
5957 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info4));
5959 NDR_PULL_ALLOC(ndr, r->info4);
5966 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5969 if (ndr_flags & NDR_BUFFERS) {
5973 _mem_save_info1_0 = NDR_PULL_GET_MEM_CTX(ndr);
5974 NDR_PULL_SET_MEM_CTX(ndr, r->info1, 0);
5975 NDR_CHECK(ndr_pull_netr_NETLOGON_INFO_1(ndr, NDR_SCALARS, r->info1));
5976 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1_0, 0);
5982 _mem_save_info2_0 = NDR_PULL_GET_MEM_CTX(ndr);
5983 NDR_PULL_SET_MEM_CTX(ndr, r->info2, 0);
5984 NDR_CHECK(ndr_pull_netr_NETLOGON_INFO_2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2));
5985 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info2_0, 0);
5991 _mem_save_info3_0 = NDR_PULL_GET_MEM_CTX(ndr);
5992 NDR_PULL_SET_MEM_CTX(ndr, r->info3, 0);
5993 NDR_CHECK(ndr_pull_netr_NETLOGON_INFO_3(ndr, NDR_SCALARS, r->info3));
5994 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info3_0, 0);
6000 _mem_save_info4_0 = NDR_PULL_GET_MEM_CTX(ndr);
6001 NDR_PULL_SET_MEM_CTX(ndr, r->info4, 0);
6002 NDR_CHECK(ndr_pull_netr_NETLOGON_INFO_4(ndr, NDR_SCALARS|NDR_BUFFERS, r->info4));
6003 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info4_0, 0);
6008 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
6011 return NDR_ERR_SUCCESS;
6014 _PUBLIC_ void ndr_print_netr_CONTROL_QUERY_INFORMATION(struct ndr_print *ndr, const char *name, const union netr_CONTROL_QUERY_INFORMATION *r)
6017 level = ndr_print_get_switch_value(ndr, r);
6018 ndr_print_union(ndr, name, level, "netr_CONTROL_QUERY_INFORMATION");
6021 ndr_print_ptr(ndr, "info1", r->info1);
6024 ndr_print_netr_NETLOGON_INFO_1(ndr, "info1", r->info1);
6030 ndr_print_ptr(ndr, "info2", r->info2);
6033 ndr_print_netr_NETLOGON_INFO_2(ndr, "info2", r->info2);
6039 ndr_print_ptr(ndr, "info3", r->info3);
6042 ndr_print_netr_NETLOGON_INFO_3(ndr, "info3", r->info3);
6048 ndr_print_ptr(ndr, "info4", r->info4);
6051 ndr_print_netr_NETLOGON_INFO_4(ndr, "info4", r->info4);
6057 ndr_print_bad_level(ndr, name, level);
6061 static enum ndr_err_code ndr_push_netr_LogonControlCode(struct ndr_push *ndr, int ndr_flags, enum netr_LogonControlCode r)
6063 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
6064 return NDR_ERR_SUCCESS;
6067 static enum ndr_err_code ndr_pull_netr_LogonControlCode(struct ndr_pull *ndr, int ndr_flags, enum netr_LogonControlCode *r)
6070 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
6072 return NDR_ERR_SUCCESS;
6075 _PUBLIC_ void ndr_print_netr_LogonControlCode(struct ndr_print *ndr, const char *name, enum netr_LogonControlCode r)
6077 const char *val = NULL;
6080 case NETLOGON_CONTROL_QUERY: val = "NETLOGON_CONTROL_QUERY"; break;
6081 case NETLOGON_CONTROL_REPLICATE: val = "NETLOGON_CONTROL_REPLICATE"; break;
6082 case NETLOGON_CONTROL_SYNCHRONIZE: val = "NETLOGON_CONTROL_SYNCHRONIZE"; break;
6083 case NETLOGON_CONTROL_PDC_REPLICATE: val = "NETLOGON_CONTROL_PDC_REPLICATE"; break;
6084 case NETLOGON_CONTROL_REDISCOVER: val = "NETLOGON_CONTROL_REDISCOVER"; break;
6085 case NETLOGON_CONTROL_TC_QUERY: val = "NETLOGON_CONTROL_TC_QUERY"; break;
6086 case NETLOGON_CONTROL_TRANSPORT_NOTIFY: val = "NETLOGON_CONTROL_TRANSPORT_NOTIFY"; break;
6087 case NETLOGON_CONTROL_FIND_USER: val = "NETLOGON_CONTROL_FIND_USER"; break;
6088 case NETLOGON_CONTROL_CHANGE_PASSWORD: val = "NETLOGON_CONTROL_CHANGE_PASSWORD"; break;
6089 case NETLOGON_CONTROL_TC_VERIFY: val = "NETLOGON_CONTROL_TC_VERIFY"; break;
6090 case NETLOGON_CONTROL_FORCE_DNS_REG: val = "NETLOGON_CONTROL_FORCE_DNS_REG"; break;
6091 case NETLOGON_CONTROL_QUERY_DNS_REG: val = "NETLOGON_CONTROL_QUERY_DNS_REG"; break;
6092 case NETLOGON_CONTROL_BACKUP_CHANGE_LOG: val = "NETLOGON_CONTROL_BACKUP_CHANGE_LOG"; break;
6093 case NETLOGON_CONTROL_TRUNCATE_LOG: val = "NETLOGON_CONTROL_TRUNCATE_LOG"; break;
6094 case NETLOGON_CONTROL_SET_DBFLAG: val = "NETLOGON_CONTROL_SET_DBFLAG"; break;
6095 case NETLOGON_CONTROL_BREAKPOINT: val = "NETLOGON_CONTROL_BREAKPOINT"; break;
6097 ndr_print_enum(ndr, name, "ENUM", val, r);
6100 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)
6102 if (ndr_flags & NDR_SCALARS) {
6103 int level = ndr_push_get_switch_value(ndr, r);
6104 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
6106 case NETLOGON_CONTROL_REDISCOVER: {
6107 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
6110 case NETLOGON_CONTROL_TC_QUERY: {
6111 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
6114 case NETLOGON_CONTROL_TRANSPORT_NOTIFY: {
6115 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
6118 case NETLOGON_CONTROL_CHANGE_PASSWORD: {
6119 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
6122 case NETLOGON_CONTROL_TC_VERIFY: {
6123 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
6126 case NETLOGON_CONTROL_FIND_USER: {
6127 NDR_CHECK(ndr_push_unique_ptr(ndr, r->user));
6130 case NETLOGON_CONTROL_SET_DBFLAG: {
6131 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->debug_level));
6135 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
6138 if (ndr_flags & NDR_BUFFERS) {
6139 int level = ndr_push_get_switch_value(ndr, r);
6141 case NETLOGON_CONTROL_REDISCOVER:
6143 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6144 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6145 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6146 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6150 case NETLOGON_CONTROL_TC_QUERY:
6152 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6153 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6154 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6155 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6159 case NETLOGON_CONTROL_TRANSPORT_NOTIFY:
6161 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6162 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6163 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6164 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6168 case NETLOGON_CONTROL_CHANGE_PASSWORD:
6170 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6171 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6172 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6173 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6177 case NETLOGON_CONTROL_TC_VERIFY:
6179 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6180 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6181 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6182 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6186 case NETLOGON_CONTROL_FIND_USER:
6188 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->user, CH_UTF16)));
6189 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6190 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->user, CH_UTF16)));
6191 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->user, ndr_charset_length(r->user, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6195 case NETLOGON_CONTROL_SET_DBFLAG:
6199 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
6202 return NDR_ERR_SUCCESS;
6205 static enum ndr_err_code ndr_pull_netr_CONTROL_DATA_INFORMATION(struct ndr_pull *ndr, int ndr_flags, union netr_CONTROL_DATA_INFORMATION *r)
6209 TALLOC_CTX *_mem_save_domain_0;
6210 TALLOC_CTX *_mem_save_user_0;
6211 level = ndr_pull_get_switch_value(ndr, r);
6212 if (ndr_flags & NDR_SCALARS) {
6213 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
6214 if (_level != level) {
6215 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
6218 case NETLOGON_CONTROL_REDISCOVER: {
6219 uint32_t _ptr_domain;
6220 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
6222 NDR_PULL_ALLOC(ndr, r->domain);
6228 case NETLOGON_CONTROL_TC_QUERY: {
6229 uint32_t _ptr_domain;
6230 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
6232 NDR_PULL_ALLOC(ndr, r->domain);
6238 case NETLOGON_CONTROL_TRANSPORT_NOTIFY: {
6239 uint32_t _ptr_domain;
6240 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
6242 NDR_PULL_ALLOC(ndr, r->domain);
6248 case NETLOGON_CONTROL_CHANGE_PASSWORD: {
6249 uint32_t _ptr_domain;
6250 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
6252 NDR_PULL_ALLOC(ndr, r->domain);
6258 case NETLOGON_CONTROL_TC_VERIFY: {
6259 uint32_t _ptr_domain;
6260 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
6262 NDR_PULL_ALLOC(ndr, r->domain);
6268 case NETLOGON_CONTROL_FIND_USER: {
6270 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user));
6272 NDR_PULL_ALLOC(ndr, r->user);
6278 case NETLOGON_CONTROL_SET_DBFLAG: {
6279 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->debug_level));
6283 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
6286 if (ndr_flags & NDR_BUFFERS) {
6288 case NETLOGON_CONTROL_REDISCOVER:
6290 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
6291 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
6292 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
6293 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
6294 if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) {
6295 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->domain), ndr_get_array_length(ndr, &r->domain));
6297 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t)));
6298 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16));
6299 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
6303 case NETLOGON_CONTROL_TC_QUERY:
6305 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
6306 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
6307 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
6308 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
6309 if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) {
6310 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));
6312 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t)));
6313 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16));
6314 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
6318 case NETLOGON_CONTROL_TRANSPORT_NOTIFY:
6320 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
6321 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
6322 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
6323 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
6324 if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) {
6325 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));
6327 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t)));
6328 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16));
6329 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
6333 case NETLOGON_CONTROL_CHANGE_PASSWORD:
6335 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
6336 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
6337 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
6338 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
6339 if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) {
6340 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));
6342 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t)));
6343 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16));
6344 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
6348 case NETLOGON_CONTROL_TC_VERIFY:
6350 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
6351 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
6352 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
6353 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
6354 if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) {
6355 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));
6357 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t)));
6358 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16));
6359 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
6363 case NETLOGON_CONTROL_FIND_USER:
6365 _mem_save_user_0 = NDR_PULL_GET_MEM_CTX(ndr);
6366 NDR_PULL_SET_MEM_CTX(ndr, r->user, 0);
6367 NDR_CHECK(ndr_pull_array_size(ndr, &r->user));
6368 NDR_CHECK(ndr_pull_array_length(ndr, &r->user));
6369 if (ndr_get_array_length(ndr, &r->user) > ndr_get_array_size(ndr, &r->user)) {
6370 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->user), ndr_get_array_length(ndr, &r->user));
6372 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->user), sizeof(uint16_t)));
6373 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->user, ndr_get_array_length(ndr, &r->user), sizeof(uint16_t), CH_UTF16));
6374 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_0, 0);
6378 case NETLOGON_CONTROL_SET_DBFLAG:
6382 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
6385 return NDR_ERR_SUCCESS;
6388 _PUBLIC_ void ndr_print_netr_CONTROL_DATA_INFORMATION(struct ndr_print *ndr, const char *name, const union netr_CONTROL_DATA_INFORMATION *r)
6391 level = ndr_print_get_switch_value(ndr, r);
6392 ndr_print_union(ndr, name, level, "netr_CONTROL_DATA_INFORMATION");
6394 case NETLOGON_CONTROL_REDISCOVER:
6395 ndr_print_ptr(ndr, "domain", r->domain);
6398 ndr_print_string(ndr, "domain", r->domain);
6403 case NETLOGON_CONTROL_TC_QUERY:
6404 ndr_print_ptr(ndr, "domain", r->domain);
6407 ndr_print_string(ndr, "domain", r->domain);
6412 case NETLOGON_CONTROL_TRANSPORT_NOTIFY:
6413 ndr_print_ptr(ndr, "domain", r->domain);
6416 ndr_print_string(ndr, "domain", r->domain);
6421 case NETLOGON_CONTROL_CHANGE_PASSWORD:
6422 ndr_print_ptr(ndr, "domain", r->domain);
6425 ndr_print_string(ndr, "domain", r->domain);
6430 case NETLOGON_CONTROL_TC_VERIFY:
6431 ndr_print_ptr(ndr, "domain", r->domain);
6434 ndr_print_string(ndr, "domain", r->domain);
6439 case NETLOGON_CONTROL_FIND_USER:
6440 ndr_print_ptr(ndr, "user", r->user);
6443 ndr_print_string(ndr, "user", r->user);
6448 case NETLOGON_CONTROL_SET_DBFLAG:
6449 ndr_print_uint32(ndr, "debug_level", r->debug_level);
6453 ndr_print_bad_level(ndr, name, level);
6457 static enum ndr_err_code ndr_push_netr_NegotiateFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
6459 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
6460 return NDR_ERR_SUCCESS;
6463 static enum ndr_err_code ndr_pull_netr_NegotiateFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
6466 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
6468 return NDR_ERR_SUCCESS;
6471 _PUBLIC_ void ndr_print_netr_NegotiateFlags(struct ndr_print *ndr, const char *name, uint32_t r)
6473 ndr_print_uint32(ndr, name, r);
6475 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_ACCOUNT_LOCKOUT", NETLOGON_NEG_ACCOUNT_LOCKOUT, r);
6476 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_PERSISTENT_SAMREPL", NETLOGON_NEG_PERSISTENT_SAMREPL, r);
6477 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_ARCFOUR", NETLOGON_NEG_ARCFOUR, r);
6478 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_PROMOTION_COUNT", NETLOGON_NEG_PROMOTION_COUNT, r);
6479 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_CHANGELOG_BDC", NETLOGON_NEG_CHANGELOG_BDC, r);
6480 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_FULL_SYNC_REPL", NETLOGON_NEG_FULL_SYNC_REPL, r);
6481 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_MULTIPLE_SIDS", NETLOGON_NEG_MULTIPLE_SIDS, r);
6482 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_REDO", NETLOGON_NEG_REDO, r);
6483 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_PASSWORD_CHANGE_REFUSAL", NETLOGON_NEG_PASSWORD_CHANGE_REFUSAL, r);
6484 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_SEND_PASSWORD_INFO_PDC", NETLOGON_NEG_SEND_PASSWORD_INFO_PDC, r);
6485 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_GENERIC_PASSTHROUGH", NETLOGON_NEG_GENERIC_PASSTHROUGH, r);
6486 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_CONCURRENT_RPC", NETLOGON_NEG_CONCURRENT_RPC, r);
6487 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_AVOID_ACCOUNT_DB_REPL", NETLOGON_NEG_AVOID_ACCOUNT_DB_REPL, r);
6488 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_AVOID_SECURITYAUTH_DB_REPL", NETLOGON_NEG_AVOID_SECURITYAUTH_DB_REPL, r);
6489 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_STRONG_KEYS", NETLOGON_NEG_STRONG_KEYS, r);
6490 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_TRANSITIVE_TRUSTS", NETLOGON_NEG_TRANSITIVE_TRUSTS, r);
6491 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_DNS_DOMAIN_TRUSTS", NETLOGON_NEG_DNS_DOMAIN_TRUSTS, r);
6492 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_PASSWORD_SET2", NETLOGON_NEG_PASSWORD_SET2, r);
6493 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_GETDOMAININFO", NETLOGON_NEG_GETDOMAININFO, r);
6494 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_CROSS_FOREST_TRUSTS", NETLOGON_NEG_CROSS_FOREST_TRUSTS, r);
6495 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_NEUTRALIZE_NT4_EMULATION", NETLOGON_NEG_NEUTRALIZE_NT4_EMULATION, r);
6496 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_RODC_PASSTHROUGH", NETLOGON_NEG_RODC_PASSTHROUGH, r);
6497 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_SUPPORTS_AES_SHA2", NETLOGON_NEG_SUPPORTS_AES_SHA2, r);
6498 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_AUTHENTICATED_RPC_LSASS", NETLOGON_NEG_AUTHENTICATED_RPC_LSASS, r);
6499 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_AUTHENTICATED_RPC", NETLOGON_NEG_AUTHENTICATED_RPC, r);
6503 static enum ndr_err_code ndr_push_SyncStateEnum(struct ndr_push *ndr, int ndr_flags, enum SyncStateEnum r)
6505 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
6506 return NDR_ERR_SUCCESS;
6509 static enum ndr_err_code ndr_pull_SyncStateEnum(struct ndr_pull *ndr, int ndr_flags, enum SyncStateEnum *r)
6512 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
6514 return NDR_ERR_SUCCESS;
6517 _PUBLIC_ void ndr_print_SyncStateEnum(struct ndr_print *ndr, const char *name, enum SyncStateEnum r)
6519 const char *val = NULL;
6522 case SYNCSTATE_NORMAL_STATE: val = "SYNCSTATE_NORMAL_STATE"; break;
6523 case SYNCSTATE_DOMAIN_STATE: val = "SYNCSTATE_DOMAIN_STATE"; break;
6524 case SYNCSTATE_GROUP_STATE: val = "SYNCSTATE_GROUP_STATE"; break;
6525 case SYNCSTATE_UAS_BUILT_IN_GROUP_STATE: val = "SYNCSTATE_UAS_BUILT_IN_GROUP_STATE"; break;
6526 case SYNCSTATE_USER_STATE: val = "SYNCSTATE_USER_STATE"; break;
6527 case SYNCSTATE_GROUP_MEMBER_STATE: val = "SYNCSTATE_GROUP_MEMBER_STATE"; break;
6528 case SYNCSTATE_ALIAS_STATE: val = "SYNCSTATE_ALIAS_STATE"; break;
6529 case SYNCSTATE_ALIAS_MEMBER_STATE: val = "SYNCSTATE_ALIAS_MEMBER_STATE"; break;
6530 case SYNCSTATE_SAM_DONE_STATE: val = "SYNCSTATE_SAM_DONE_STATE"; break;
6532 ndr_print_enum(ndr, name, "ENUM", val, r);
6535 static enum ndr_err_code ndr_push_netr_ChangeLogFlags(struct ndr_push *ndr, int ndr_flags, uint16_t r)
6537 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
6538 return NDR_ERR_SUCCESS;
6541 static enum ndr_err_code ndr_pull_netr_ChangeLogFlags(struct ndr_pull *ndr, int ndr_flags, uint16_t *r)
6544 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
6546 return NDR_ERR_SUCCESS;
6549 _PUBLIC_ void ndr_print_netr_ChangeLogFlags(struct ndr_print *ndr, const char *name, uint16_t r)
6551 ndr_print_uint16(ndr, name, r);
6553 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_CHANGELOG_IMMEDIATE_REPL_REQUIRED", NETR_CHANGELOG_IMMEDIATE_REPL_REQUIRED, r);
6554 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_CHANGELOG_CHANGED_PASSWORD", NETR_CHANGELOG_CHANGED_PASSWORD, r);
6555 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_CHANGELOG_SID_INCLUDED", NETR_CHANGELOG_SID_INCLUDED, r);
6556 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_CHANGELOG_NAME_INCLUDED", NETR_CHANGELOG_NAME_INCLUDED, r);
6557 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_CHANGELOG_FIRST_PROMOTION_OBJ", NETR_CHANGELOG_FIRST_PROMOTION_OBJ, r);
6561 static enum ndr_err_code ndr_push_netr_ChangeLogObject(struct ndr_push *ndr, int ndr_flags, const union netr_ChangeLogObject *r)
6563 if (ndr_flags & NDR_SCALARS) {
6564 int level = ndr_push_get_switch_value(ndr, r);
6566 case NETR_CHANGELOG_SID_INCLUDED: {
6567 NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, &r->object_sid));
6570 case NETR_CHANGELOG_NAME_INCLUDED: {
6572 uint32_t _flags_save_string = ndr->flags;
6573 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
6574 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->object_name));
6575 ndr->flags = _flags_save_string;
6584 if (ndr_flags & NDR_BUFFERS) {
6585 int level = ndr_push_get_switch_value(ndr, r);
6587 case NETR_CHANGELOG_SID_INCLUDED:
6590 case NETR_CHANGELOG_NAME_INCLUDED:
6598 return NDR_ERR_SUCCESS;
6601 static enum ndr_err_code ndr_pull_netr_ChangeLogObject(struct ndr_pull *ndr, int ndr_flags, union netr_ChangeLogObject *r)
6604 level = ndr_pull_get_switch_value(ndr, r);
6605 if (ndr_flags & NDR_SCALARS) {
6607 case NETR_CHANGELOG_SID_INCLUDED: {
6608 NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, &r->object_sid));
6611 case NETR_CHANGELOG_NAME_INCLUDED: {
6613 uint32_t _flags_save_string = ndr->flags;
6614 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
6615 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->object_name));
6616 ndr->flags = _flags_save_string;
6625 if (ndr_flags & NDR_BUFFERS) {
6627 case NETR_CHANGELOG_SID_INCLUDED:
6630 case NETR_CHANGELOG_NAME_INCLUDED:
6638 return NDR_ERR_SUCCESS;
6641 _PUBLIC_ void ndr_print_netr_ChangeLogObject(struct ndr_print *ndr, const char *name, const union netr_ChangeLogObject *r)
6644 level = ndr_print_get_switch_value(ndr, r);
6645 ndr_print_union(ndr, name, level, "netr_ChangeLogObject");
6647 case NETR_CHANGELOG_SID_INCLUDED:
6648 ndr_print_dom_sid(ndr, "object_sid", &r->object_sid);
6651 case NETR_CHANGELOG_NAME_INCLUDED:
6652 ndr_print_string(ndr, "object_name", r->object_name);
6661 _PUBLIC_ enum ndr_err_code ndr_push_netr_ChangeLogEntry(struct ndr_push *ndr, int ndr_flags, const struct netr_ChangeLogEntry *r)
6663 if (ndr_flags & NDR_SCALARS) {
6664 NDR_CHECK(ndr_push_align(ndr, 4));
6665 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->serial_number1));
6666 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->serial_number2));
6667 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->object_rid));
6668 NDR_CHECK(ndr_push_netr_ChangeLogFlags(ndr, NDR_SCALARS, r->flags));
6669 NDR_CHECK(ndr_push_netr_SamDatabaseID8Bit(ndr, NDR_SCALARS, r->db_index));
6670 NDR_CHECK(ndr_push_netr_DeltaEnum8Bit(ndr, NDR_SCALARS, r->delta_type));
6671 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->object, r->flags & (NETR_CHANGELOG_SID_INCLUDED | NETR_CHANGELOG_NAME_INCLUDED)));
6672 NDR_CHECK(ndr_push_netr_ChangeLogObject(ndr, NDR_SCALARS, &r->object));
6674 if (ndr_flags & NDR_BUFFERS) {
6675 NDR_CHECK(ndr_push_netr_ChangeLogObject(ndr, NDR_BUFFERS, &r->object));
6677 return NDR_ERR_SUCCESS;
6680 _PUBLIC_ enum ndr_err_code ndr_pull_netr_ChangeLogEntry(struct ndr_pull *ndr, int ndr_flags, struct netr_ChangeLogEntry *r)
6682 if (ndr_flags & NDR_SCALARS) {
6683 NDR_CHECK(ndr_pull_align(ndr, 4));
6684 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->serial_number1));
6685 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->serial_number2));
6686 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->object_rid));
6687 NDR_CHECK(ndr_pull_netr_ChangeLogFlags(ndr, NDR_SCALARS, &r->flags));
6688 NDR_CHECK(ndr_pull_netr_SamDatabaseID8Bit(ndr, NDR_SCALARS, &r->db_index));
6689 NDR_CHECK(ndr_pull_netr_DeltaEnum8Bit(ndr, NDR_SCALARS, &r->delta_type));
6690 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->object, r->flags & (NETR_CHANGELOG_SID_INCLUDED | NETR_CHANGELOG_NAME_INCLUDED)));
6691 NDR_CHECK(ndr_pull_netr_ChangeLogObject(ndr, NDR_SCALARS, &r->object));
6693 if (ndr_flags & NDR_BUFFERS) {
6694 NDR_CHECK(ndr_pull_netr_ChangeLogObject(ndr, NDR_BUFFERS, &r->object));
6696 return NDR_ERR_SUCCESS;
6699 _PUBLIC_ void ndr_print_netr_ChangeLogEntry(struct ndr_print *ndr, const char *name, const struct netr_ChangeLogEntry *r)
6701 ndr_print_struct(ndr, name, "netr_ChangeLogEntry");
6703 ndr_print_uint32(ndr, "serial_number1", r->serial_number1);
6704 ndr_print_uint32(ndr, "serial_number2", r->serial_number2);
6705 ndr_print_uint32(ndr, "object_rid", r->object_rid);
6706 ndr_print_netr_ChangeLogFlags(ndr, "flags", r->flags);
6707 ndr_print_netr_SamDatabaseID8Bit(ndr, "db_index", r->db_index);
6708 ndr_print_netr_DeltaEnum8Bit(ndr, "delta_type", r->delta_type);
6709 ndr_print_set_switch_value(ndr, &r->object, r->flags & (NETR_CHANGELOG_SID_INCLUDED | NETR_CHANGELOG_NAME_INCLUDED));
6710 ndr_print_netr_ChangeLogObject(ndr, "object", &r->object);
6714 _PUBLIC_ size_t ndr_size_netr_ChangeLogEntry(const struct netr_ChangeLogEntry *r, struct smb_iconv_convenience *ic, int flags)
6716 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_netr_ChangeLogEntry, ic);
6719 static enum ndr_err_code ndr_push_netr_Blob(struct ndr_push *ndr, int ndr_flags, const struct netr_Blob *r)
6721 if (ndr_flags & NDR_SCALARS) {
6722 NDR_CHECK(ndr_push_align(ndr, 4));
6723 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
6724 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
6726 if (ndr_flags & NDR_BUFFERS) {
6728 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
6729 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
6732 return NDR_ERR_SUCCESS;
6735 static enum ndr_err_code ndr_pull_netr_Blob(struct ndr_pull *ndr, int ndr_flags, struct netr_Blob *r)
6738 TALLOC_CTX *_mem_save_data_0;
6739 if (ndr_flags & NDR_SCALARS) {
6740 NDR_CHECK(ndr_pull_align(ndr, 4));
6741 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
6742 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
6744 NDR_PULL_ALLOC(ndr, r->data);
6749 if (ndr_flags & NDR_BUFFERS) {
6751 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
6752 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
6753 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
6754 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
6755 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data)));
6756 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
6759 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length));
6762 return NDR_ERR_SUCCESS;
6765 _PUBLIC_ void ndr_print_netr_Blob(struct ndr_print *ndr, const char *name, const struct netr_Blob *r)
6767 ndr_print_struct(ndr, name, "netr_Blob");
6769 ndr_print_uint32(ndr, "length", r->length);
6770 ndr_print_ptr(ndr, "data", r->data);
6773 ndr_print_array_uint8(ndr, "data", r->data, r->length);
6779 static enum ndr_err_code ndr_push_netr_DsRGetDCName_flags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
6781 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
6782 return NDR_ERR_SUCCESS;
6785 static enum ndr_err_code ndr_pull_netr_DsRGetDCName_flags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
6788 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
6790 return NDR_ERR_SUCCESS;
6793 _PUBLIC_ void ndr_print_netr_DsRGetDCName_flags(struct ndr_print *ndr, const char *name, uint32_t r)
6795 ndr_print_uint32(ndr, name, r);
6797 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_FORCE_REDISCOVERY", DS_FORCE_REDISCOVERY, r);
6798 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DIRECTORY_SERVICE_REQUIRED", DS_DIRECTORY_SERVICE_REQUIRED, r);
6799 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DIRECTORY_SERVICE_PREFERRED", DS_DIRECTORY_SERVICE_PREFERRED, r);
6800 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_GC_SERVER_REQUIRED", DS_GC_SERVER_REQUIRED, r);
6801 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_PDC_REQUIRED", DS_PDC_REQUIRED, r);
6802 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_BACKGROUND_ONLY", DS_BACKGROUND_ONLY, r);
6803 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_IP_REQUIRED", DS_IP_REQUIRED, r);
6804 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_KDC_REQUIRED", DS_KDC_REQUIRED, r);
6805 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_TIMESERV_REQUIRED", DS_TIMESERV_REQUIRED, r);
6806 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_WRITABLE_REQUIRED", DS_WRITABLE_REQUIRED, r);
6807 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_GOOD_TIMESERV_PREFERRED", DS_GOOD_TIMESERV_PREFERRED, r);
6808 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_AVOID_SELF", DS_AVOID_SELF, r);
6809 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_ONLY_LDAP_NEEDED", DS_ONLY_LDAP_NEEDED, r);
6810 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_IS_FLAT_NAME", DS_IS_FLAT_NAME, r);
6811 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_IS_DNS_NAME", DS_IS_DNS_NAME, r);
6812 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_TRY_NEXTCLOSEST_SITE", DS_TRY_NEXTCLOSEST_SITE, r);
6813 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DIRECTORY_SERVICE_6_REQUIRED", DS_DIRECTORY_SERVICE_6_REQUIRED, r);
6814 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_RETURN_DNS_NAME", DS_RETURN_DNS_NAME, r);
6815 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_RETURN_FLAT_NAME", DS_RETURN_FLAT_NAME, r);
6819 static enum ndr_err_code ndr_push_netr_DsRGetDCNameInfo_AddressType(struct ndr_push *ndr, int ndr_flags, enum netr_DsRGetDCNameInfo_AddressType r)
6821 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
6822 return NDR_ERR_SUCCESS;
6825 static enum ndr_err_code ndr_pull_netr_DsRGetDCNameInfo_AddressType(struct ndr_pull *ndr, int ndr_flags, enum netr_DsRGetDCNameInfo_AddressType *r)
6828 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
6830 return NDR_ERR_SUCCESS;
6833 _PUBLIC_ void ndr_print_netr_DsRGetDCNameInfo_AddressType(struct ndr_print *ndr, const char *name, enum netr_DsRGetDCNameInfo_AddressType r)
6835 const char *val = NULL;
6838 case DS_ADDRESS_TYPE_INET: val = "DS_ADDRESS_TYPE_INET"; break;
6839 case DS_ADDRESS_TYPE_NETBIOS: val = "DS_ADDRESS_TYPE_NETBIOS"; break;
6841 ndr_print_enum(ndr, name, "ENUM", val, r);
6844 static enum ndr_err_code ndr_push_netr_DsR_DcFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
6846 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
6847 return NDR_ERR_SUCCESS;
6850 static enum ndr_err_code ndr_pull_netr_DsR_DcFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
6853 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
6855 return NDR_ERR_SUCCESS;
6858 _PUBLIC_ void ndr_print_netr_DsR_DcFlags(struct ndr_print *ndr, const char *name, uint32_t r)
6860 ndr_print_uint32(ndr, name, r);
6862 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_PDC", DS_SERVER_PDC, r);
6863 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_GC", DS_SERVER_GC, r);
6864 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_LDAP", DS_SERVER_LDAP, r);
6865 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_DS", DS_SERVER_DS, r);
6866 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_KDC", DS_SERVER_KDC, r);
6867 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_TIMESERV", DS_SERVER_TIMESERV, r);
6868 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_CLOSEST", DS_SERVER_CLOSEST, r);
6869 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_WRITABLE", DS_SERVER_WRITABLE, r);
6870 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_GOOD_TIMESERV", DS_SERVER_GOOD_TIMESERV, r);
6871 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_NDNC", DS_SERVER_NDNC, r);
6872 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_SELECT_SECRET_DOMAIN_6", DS_SERVER_SELECT_SECRET_DOMAIN_6, r);
6873 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_FULL_SECRET_DOMAIN_6", DS_SERVER_FULL_SECRET_DOMAIN_6, r);
6874 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DNS_CONTROLLER", DS_DNS_CONTROLLER, r);
6875 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DNS_DOMAIN", DS_DNS_DOMAIN, r);
6876 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DNS_FOREST", DS_DNS_FOREST, r);
6880 _PUBLIC_ enum ndr_err_code ndr_push_netr_DsRGetDCNameInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRGetDCNameInfo *r)
6882 if (ndr_flags & NDR_SCALARS) {
6883 NDR_CHECK(ndr_push_align(ndr, 4));
6884 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dc_unc));
6885 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dc_address));
6886 NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo_AddressType(ndr, NDR_SCALARS, r->dc_address_type));
6887 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->domain_guid));
6888 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_name));
6889 NDR_CHECK(ndr_push_unique_ptr(ndr, r->forest_name));
6890 NDR_CHECK(ndr_push_netr_DsR_DcFlags(ndr, NDR_SCALARS, r->dc_flags));
6891 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dc_site_name));
6892 NDR_CHECK(ndr_push_unique_ptr(ndr, r->client_site_name));
6894 if (ndr_flags & NDR_BUFFERS) {
6896 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_unc, CH_UTF16)));
6897 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6898 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_unc, CH_UTF16)));
6899 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dc_unc, ndr_charset_length(r->dc_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6901 if (r->dc_address) {
6902 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_address, CH_UTF16)));
6903 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6904 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_address, CH_UTF16)));
6905 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dc_address, ndr_charset_length(r->dc_address, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6907 if (r->domain_name) {
6908 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
6909 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6910 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
6911 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_name, ndr_charset_length(r->domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6913 if (r->forest_name) {
6914 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->forest_name, CH_UTF16)));
6915 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6916 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->forest_name, CH_UTF16)));
6917 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->forest_name, ndr_charset_length(r->forest_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6919 if (r->dc_site_name) {
6920 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_site_name, CH_UTF16)));
6921 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6922 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_site_name, CH_UTF16)));
6923 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));
6925 if (r->client_site_name) {
6926 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->client_site_name, CH_UTF16)));
6927 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6928 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->client_site_name, CH_UTF16)));
6929 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));
6932 return NDR_ERR_SUCCESS;
6935 _PUBLIC_ enum ndr_err_code ndr_pull_netr_DsRGetDCNameInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRGetDCNameInfo *r)
6937 uint32_t _ptr_dc_unc;
6938 TALLOC_CTX *_mem_save_dc_unc_0;
6939 uint32_t _ptr_dc_address;
6940 TALLOC_CTX *_mem_save_dc_address_0;
6941 uint32_t _ptr_domain_name;
6942 TALLOC_CTX *_mem_save_domain_name_0;
6943 uint32_t _ptr_forest_name;
6944 TALLOC_CTX *_mem_save_forest_name_0;
6945 uint32_t _ptr_dc_site_name;
6946 TALLOC_CTX *_mem_save_dc_site_name_0;
6947 uint32_t _ptr_client_site_name;
6948 TALLOC_CTX *_mem_save_client_site_name_0;
6949 if (ndr_flags & NDR_SCALARS) {
6950 NDR_CHECK(ndr_pull_align(ndr, 4));
6951 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dc_unc));
6953 NDR_PULL_ALLOC(ndr, r->dc_unc);
6957 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dc_address));
6958 if (_ptr_dc_address) {
6959 NDR_PULL_ALLOC(ndr, r->dc_address);
6961 r->dc_address = NULL;
6963 NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo_AddressType(ndr, NDR_SCALARS, &r->dc_address_type));
6964 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->domain_guid));
6965 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
6966 if (_ptr_domain_name) {
6967 NDR_PULL_ALLOC(ndr, r->domain_name);
6969 r->domain_name = NULL;
6971 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_forest_name));
6972 if (_ptr_forest_name) {
6973 NDR_PULL_ALLOC(ndr, r->forest_name);
6975 r->forest_name = NULL;
6977 NDR_CHECK(ndr_pull_netr_DsR_DcFlags(ndr, NDR_SCALARS, &r->dc_flags));
6978 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dc_site_name));
6979 if (_ptr_dc_site_name) {
6980 NDR_PULL_ALLOC(ndr, r->dc_site_name);
6982 r->dc_site_name = NULL;
6984 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_site_name));
6985 if (_ptr_client_site_name) {
6986 NDR_PULL_ALLOC(ndr, r->client_site_name);
6988 r->client_site_name = NULL;
6991 if (ndr_flags & NDR_BUFFERS) {
6993 _mem_save_dc_unc_0 = NDR_PULL_GET_MEM_CTX(ndr);
6994 NDR_PULL_SET_MEM_CTX(ndr, r->dc_unc, 0);
6995 NDR_CHECK(ndr_pull_array_size(ndr, &r->dc_unc));
6996 NDR_CHECK(ndr_pull_array_length(ndr, &r->dc_unc));
6997 if (ndr_get_array_length(ndr, &r->dc_unc) > ndr_get_array_size(ndr, &r->dc_unc)) {
6998 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));
7000 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dc_unc), sizeof(uint16_t)));
7001 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dc_unc, ndr_get_array_length(ndr, &r->dc_unc), sizeof(uint16_t), CH_UTF16));
7002 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dc_unc_0, 0);
7004 if (r->dc_address) {
7005 _mem_save_dc_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
7006 NDR_PULL_SET_MEM_CTX(ndr, r->dc_address, 0);
7007 NDR_CHECK(ndr_pull_array_size(ndr, &r->dc_address));
7008 NDR_CHECK(ndr_pull_array_length(ndr, &r->dc_address));
7009 if (ndr_get_array_length(ndr, &r->dc_address) > ndr_get_array_size(ndr, &r->dc_address)) {
7010 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));
7012 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dc_address), sizeof(uint16_t)));
7013 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dc_address, ndr_get_array_length(ndr, &r->dc_address), sizeof(uint16_t), CH_UTF16));
7014 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dc_address_0, 0);
7016 if (r->domain_name) {
7017 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7018 NDR_PULL_SET_MEM_CTX(ndr, r->domain_name, 0);
7019 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_name));
7020 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_name));
7021 if (ndr_get_array_length(ndr, &r->domain_name) > ndr_get_array_size(ndr, &r->domain_name)) {
7022 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));
7024 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t)));
7025 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t), CH_UTF16));
7026 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
7028 if (r->forest_name) {
7029 _mem_save_forest_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7030 NDR_PULL_SET_MEM_CTX(ndr, r->forest_name, 0);
7031 NDR_CHECK(ndr_pull_array_size(ndr, &r->forest_name));
7032 NDR_CHECK(ndr_pull_array_length(ndr, &r->forest_name));
7033 if (ndr_get_array_length(ndr, &r->forest_name) > ndr_get_array_size(ndr, &r->forest_name)) {
7034 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));
7036 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->forest_name), sizeof(uint16_t)));
7037 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->forest_name, ndr_get_array_length(ndr, &r->forest_name), sizeof(uint16_t), CH_UTF16));
7038 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_name_0, 0);
7040 if (r->dc_site_name) {
7041 _mem_save_dc_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7042 NDR_PULL_SET_MEM_CTX(ndr, r->dc_site_name, 0);
7043 NDR_CHECK(ndr_pull_array_size(ndr, &r->dc_site_name));
7044 NDR_CHECK(ndr_pull_array_length(ndr, &r->dc_site_name));
7045 if (ndr_get_array_length(ndr, &r->dc_site_name) > ndr_get_array_size(ndr, &r->dc_site_name)) {
7046 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));
7048 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dc_site_name), sizeof(uint16_t)));
7049 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));
7050 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dc_site_name_0, 0);
7052 if (r->client_site_name) {
7053 _mem_save_client_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7054 NDR_PULL_SET_MEM_CTX(ndr, r->client_site_name, 0);
7055 NDR_CHECK(ndr_pull_array_size(ndr, &r->client_site_name));
7056 NDR_CHECK(ndr_pull_array_length(ndr, &r->client_site_name));
7057 if (ndr_get_array_length(ndr, &r->client_site_name) > ndr_get_array_size(ndr, &r->client_site_name)) {
7058 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));
7060 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->client_site_name), sizeof(uint16_t)));
7061 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));
7062 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_site_name_0, 0);
7065 return NDR_ERR_SUCCESS;
7068 _PUBLIC_ void ndr_print_netr_DsRGetDCNameInfo(struct ndr_print *ndr, const char *name, const struct netr_DsRGetDCNameInfo *r)
7070 ndr_print_struct(ndr, name, "netr_DsRGetDCNameInfo");
7072 ndr_print_ptr(ndr, "dc_unc", r->dc_unc);
7075 ndr_print_string(ndr, "dc_unc", r->dc_unc);
7078 ndr_print_ptr(ndr, "dc_address", r->dc_address);
7080 if (r->dc_address) {
7081 ndr_print_string(ndr, "dc_address", r->dc_address);
7084 ndr_print_netr_DsRGetDCNameInfo_AddressType(ndr, "dc_address_type", r->dc_address_type);
7085 ndr_print_GUID(ndr, "domain_guid", &r->domain_guid);
7086 ndr_print_ptr(ndr, "domain_name", r->domain_name);
7088 if (r->domain_name) {
7089 ndr_print_string(ndr, "domain_name", r->domain_name);
7092 ndr_print_ptr(ndr, "forest_name", r->forest_name);
7094 if (r->forest_name) {
7095 ndr_print_string(ndr, "forest_name", r->forest_name);
7098 ndr_print_netr_DsR_DcFlags(ndr, "dc_flags", r->dc_flags);
7099 ndr_print_ptr(ndr, "dc_site_name", r->dc_site_name);
7101 if (r->dc_site_name) {
7102 ndr_print_string(ndr, "dc_site_name", r->dc_site_name);
7105 ndr_print_ptr(ndr, "client_site_name", r->client_site_name);
7107 if (r->client_site_name) {
7108 ndr_print_string(ndr, "client_site_name", r->client_site_name);
7114 static enum ndr_err_code ndr_push_netr_Capabilities(struct ndr_push *ndr, int ndr_flags, const union netr_Capabilities *r)
7116 if (ndr_flags & NDR_SCALARS) {
7117 int level = ndr_push_get_switch_value(ndr, r);
7118 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
7121 NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, r->server_capabilities));
7125 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7128 if (ndr_flags & NDR_BUFFERS) {
7129 int level = ndr_push_get_switch_value(ndr, r);
7135 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7138 return NDR_ERR_SUCCESS;
7141 static enum ndr_err_code ndr_pull_netr_Capabilities(struct ndr_pull *ndr, int ndr_flags, union netr_Capabilities *r)
7145 level = ndr_pull_get_switch_value(ndr, r);
7146 if (ndr_flags & NDR_SCALARS) {
7147 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
7148 if (_level != level) {
7149 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
7153 NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, &r->server_capabilities));
7157 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7160 if (ndr_flags & NDR_BUFFERS) {
7166 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7169 return NDR_ERR_SUCCESS;
7172 _PUBLIC_ void ndr_print_netr_Capabilities(struct ndr_print *ndr, const char *name, const union netr_Capabilities *r)
7175 level = ndr_print_get_switch_value(ndr, r);
7176 ndr_print_union(ndr, name, level, "netr_Capabilities");
7179 ndr_print_netr_NegotiateFlags(ndr, "server_capabilities", r->server_capabilities);
7183 ndr_print_bad_level(ndr, name, level);
7187 static enum ndr_err_code ndr_push_netr_TrustFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
7189 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
7190 return NDR_ERR_SUCCESS;
7193 static enum ndr_err_code ndr_pull_netr_TrustFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
7196 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
7198 return NDR_ERR_SUCCESS;
7201 _PUBLIC_ void ndr_print_netr_TrustFlags(struct ndr_print *ndr, const char *name, uint32_t r)
7203 ndr_print_uint32(ndr, name, r);
7205 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_IN_FOREST", NETR_TRUST_FLAG_IN_FOREST, r);
7206 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_OUTBOUND", NETR_TRUST_FLAG_OUTBOUND, r);
7207 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_TREEROOT", NETR_TRUST_FLAG_TREEROOT, r);
7208 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_PRIMARY", NETR_TRUST_FLAG_PRIMARY, r);
7209 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_NATIVE", NETR_TRUST_FLAG_NATIVE, r);
7210 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_INBOUND", NETR_TRUST_FLAG_INBOUND, r);
7211 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_MIT_KRB5", NETR_TRUST_FLAG_MIT_KRB5, r);
7212 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_AES", NETR_TRUST_FLAG_AES, r);
7216 static enum ndr_err_code ndr_push_netr_WorkstationFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
7218 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
7219 return NDR_ERR_SUCCESS;
7222 static enum ndr_err_code ndr_pull_netr_WorkstationFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
7225 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
7227 return NDR_ERR_SUCCESS;
7230 _PUBLIC_ void ndr_print_netr_WorkstationFlags(struct ndr_print *ndr, const char *name, uint32_t r)
7232 ndr_print_uint32(ndr, name, r);
7234 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_WS_FLAG_HANDLES_INBOUND_TRUSTS", NETR_WS_FLAG_HANDLES_INBOUND_TRUSTS, r);
7235 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_WS_FLAG_HANDLES_SPN_UPDATE", NETR_WS_FLAG_HANDLES_SPN_UPDATE, r);
7239 static enum ndr_err_code ndr_push_netr_SuiteMask(struct ndr_push *ndr, int ndr_flags, uint16_t r)
7241 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
7242 return NDR_ERR_SUCCESS;
7245 static enum ndr_err_code ndr_pull_netr_SuiteMask(struct ndr_pull *ndr, int ndr_flags, uint16_t *r)
7248 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
7250 return NDR_ERR_SUCCESS;
7253 _PUBLIC_ void ndr_print_netr_SuiteMask(struct ndr_print *ndr, const char *name, uint16_t r)
7255 ndr_print_uint16(ndr, name, r);
7257 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_BACKOFFICE", NETR_VER_SUITE_BACKOFFICE, r);
7258 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_BLADE", NETR_VER_SUITE_BLADE, r);
7259 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_COMPUTE_SERVER", NETR_VER_SUITE_COMPUTE_SERVER, r);
7260 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_DATACENTER", NETR_VER_SUITE_DATACENTER, r);
7261 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_ENTERPRISE", NETR_VER_SUITE_ENTERPRISE, r);
7262 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_EMBEDDEDNT", NETR_VER_SUITE_EMBEDDEDNT, r);
7263 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_PERSONAL", NETR_VER_SUITE_PERSONAL, r);
7264 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_SINGLEUSERTS", NETR_VER_SUITE_SINGLEUSERTS, r);
7265 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_SMALLBUSINESS", NETR_VER_SUITE_SMALLBUSINESS, r);
7266 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_SMALLBUSINESS_RESTRICTED", NETR_VER_SUITE_SMALLBUSINESS_RESTRICTED, r);
7267 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_STORAGE_SERVER", NETR_VER_SUITE_STORAGE_SERVER, r);
7268 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_TERMINAL", NETR_VER_SUITE_TERMINAL, r);
7269 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_WH_SERVER", NETR_VER_SUITE_WH_SERVER, r);
7273 static enum ndr_err_code ndr_push_netr_ProductType(struct ndr_push *ndr, int ndr_flags, uint8_t r)
7275 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r));
7276 return NDR_ERR_SUCCESS;
7279 static enum ndr_err_code ndr_pull_netr_ProductType(struct ndr_pull *ndr, int ndr_flags, uint8_t *r)
7282 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &v));
7284 return NDR_ERR_SUCCESS;
7287 _PUBLIC_ void ndr_print_netr_ProductType(struct ndr_print *ndr, const char *name, uint8_t r)
7289 ndr_print_uint8(ndr, name, r);
7291 ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "NETR_VER_NT_DOMAIN_CONTROLLER", NETR_VER_NT_DOMAIN_CONTROLLER, r);
7292 ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "NETR_VER_NT_SERVER", NETR_VER_NT_SERVER, r);
7293 ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "NETR_VER_NT_WORKSTATION", NETR_VER_NT_WORKSTATION, r);
7297 static enum ndr_err_code ndr_push_netr_LsaPolicyInformation(struct ndr_push *ndr, int ndr_flags, const struct netr_LsaPolicyInformation *r)
7299 if (ndr_flags & NDR_SCALARS) {
7300 NDR_CHECK(ndr_push_align(ndr, 4));
7301 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->policy_size));
7302 NDR_CHECK(ndr_push_unique_ptr(ndr, r->policy));
7304 if (ndr_flags & NDR_BUFFERS) {
7306 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->policy_size));
7307 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->policy, r->policy_size));
7310 return NDR_ERR_SUCCESS;
7313 static enum ndr_err_code ndr_pull_netr_LsaPolicyInformation(struct ndr_pull *ndr, int ndr_flags, struct netr_LsaPolicyInformation *r)
7315 uint32_t _ptr_policy;
7316 TALLOC_CTX *_mem_save_policy_0;
7317 if (ndr_flags & NDR_SCALARS) {
7318 NDR_CHECK(ndr_pull_align(ndr, 4));
7319 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->policy_size));
7320 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_policy));
7322 NDR_PULL_ALLOC(ndr, r->policy);
7327 if (ndr_flags & NDR_BUFFERS) {
7329 _mem_save_policy_0 = NDR_PULL_GET_MEM_CTX(ndr);
7330 NDR_PULL_SET_MEM_CTX(ndr, r->policy, 0);
7331 NDR_CHECK(ndr_pull_array_size(ndr, &r->policy));
7332 NDR_PULL_ALLOC_N(ndr, r->policy, ndr_get_array_size(ndr, &r->policy));
7333 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->policy, ndr_get_array_size(ndr, &r->policy)));
7334 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_policy_0, 0);
7337 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->policy, r->policy_size));
7340 return NDR_ERR_SUCCESS;
7343 _PUBLIC_ void ndr_print_netr_LsaPolicyInformation(struct ndr_print *ndr, const char *name, const struct netr_LsaPolicyInformation *r)
7345 ndr_print_struct(ndr, name, "netr_LsaPolicyInformation");
7347 ndr_print_uint32(ndr, "policy_size", r->policy_size);
7348 ndr_print_ptr(ndr, "policy", r->policy);
7351 ndr_print_array_uint8(ndr, "policy", r->policy, r->policy_size);
7357 static enum ndr_err_code ndr_push_netr_OsVersionInfoEx(struct ndr_push *ndr, int ndr_flags, const struct netr_OsVersionInfoEx *r)
7359 if (ndr_flags & NDR_SCALARS) {
7360 NDR_CHECK(ndr_push_align(ndr, 4));
7361 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 284));
7362 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->MajorVersion));
7363 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->MinorVersion));
7364 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->BuildNumber));
7365 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->PlatformId));
7366 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->CSDVersion, 128, sizeof(uint16_t), CH_UTF16));
7367 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->ServicePackMajor));
7368 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->ServicePackMinor));
7369 NDR_CHECK(ndr_push_netr_SuiteMask(ndr, NDR_SCALARS, r->SuiteMask));
7370 NDR_CHECK(ndr_push_netr_ProductType(ndr, NDR_SCALARS, r->ProductType));
7371 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->Reserved));
7373 if (ndr_flags & NDR_BUFFERS) {
7375 return NDR_ERR_SUCCESS;
7378 static enum ndr_err_code ndr_pull_netr_OsVersionInfoEx(struct ndr_pull *ndr, int ndr_flags, struct netr_OsVersionInfoEx *r)
7380 if (ndr_flags & NDR_SCALARS) {
7381 NDR_CHECK(ndr_pull_align(ndr, 4));
7382 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->OSVersionInfoSize));
7383 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->MajorVersion));
7384 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->MinorVersion));
7385 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->BuildNumber));
7386 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->PlatformId));
7387 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->CSDVersion, 128, sizeof(uint16_t), CH_UTF16));
7388 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->ServicePackMajor));
7389 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->ServicePackMinor));
7390 NDR_CHECK(ndr_pull_netr_SuiteMask(ndr, NDR_SCALARS, &r->SuiteMask));
7391 NDR_CHECK(ndr_pull_netr_ProductType(ndr, NDR_SCALARS, &r->ProductType));
7392 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->Reserved));
7394 if (ndr_flags & NDR_BUFFERS) {
7396 return NDR_ERR_SUCCESS;
7399 _PUBLIC_ void ndr_print_netr_OsVersionInfoEx(struct ndr_print *ndr, const char *name, const struct netr_OsVersionInfoEx *r)
7401 ndr_print_struct(ndr, name, "netr_OsVersionInfoEx");
7403 ndr_print_uint32(ndr, "OSVersionInfoSize", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?284:r->OSVersionInfoSize);
7404 ndr_print_uint32(ndr, "MajorVersion", r->MajorVersion);
7405 ndr_print_uint32(ndr, "MinorVersion", r->MinorVersion);
7406 ndr_print_uint32(ndr, "BuildNumber", r->BuildNumber);
7407 ndr_print_uint32(ndr, "PlatformId", r->PlatformId);
7408 ndr_print_string(ndr, "CSDVersion", r->CSDVersion);
7409 ndr_print_uint16(ndr, "ServicePackMajor", r->ServicePackMajor);
7410 ndr_print_uint16(ndr, "ServicePackMinor", r->ServicePackMinor);
7411 ndr_print_netr_SuiteMask(ndr, "SuiteMask", r->SuiteMask);
7412 ndr_print_netr_ProductType(ndr, "ProductType", r->ProductType);
7413 ndr_print_uint8(ndr, "Reserved", r->Reserved);
7417 static enum ndr_err_code ndr_push_netr_OsVersion(struct ndr_push *ndr, int ndr_flags, const struct netr_OsVersion *r)
7419 if (ndr_flags & NDR_SCALARS) {
7420 NDR_CHECK(ndr_push_align(ndr, 4));
7421 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 142));
7422 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7423 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 142));
7424 NDR_CHECK(ndr_push_netr_OsVersionInfoEx(ndr, NDR_SCALARS, &r->os));
7426 if (ndr_flags & NDR_BUFFERS) {
7428 return NDR_ERR_SUCCESS;
7431 static enum ndr_err_code ndr_pull_netr_OsVersion(struct ndr_pull *ndr, int ndr_flags, struct netr_OsVersion *r)
7433 if (ndr_flags & NDR_SCALARS) {
7434 NDR_CHECK(ndr_pull_align(ndr, 4));
7435 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
7436 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy));
7437 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
7438 NDR_CHECK(ndr_pull_netr_OsVersionInfoEx(ndr, NDR_SCALARS, &r->os));
7440 if (ndr_flags & NDR_BUFFERS) {
7442 return NDR_ERR_SUCCESS;
7445 _PUBLIC_ void ndr_print_netr_OsVersion(struct ndr_print *ndr, const char *name, const struct netr_OsVersion *r)
7447 ndr_print_struct(ndr, name, "netr_OsVersion");
7449 ndr_print_uint32(ndr, "length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?142:r->length);
7450 ndr_print_uint32(ndr, "dummy", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->dummy);
7451 ndr_print_uint32(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?142:r->size);
7452 ndr_print_netr_OsVersionInfoEx(ndr, "os", &r->os);
7456 static enum ndr_err_code ndr_push_netr_OsVersionContainer(struct ndr_push *ndr, int ndr_flags, const struct netr_OsVersionContainer *r)
7458 if (ndr_flags & NDR_SCALARS) {
7459 NDR_CHECK(ndr_push_align(ndr, 4));
7460 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->os == NULL?0:284));
7461 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->os == NULL?0:284));
7462 NDR_CHECK(ndr_push_unique_ptr(ndr, r->os));
7464 if (ndr_flags & NDR_BUFFERS) {
7466 NDR_CHECK(ndr_push_netr_OsVersion(ndr, NDR_SCALARS, r->os));
7469 return NDR_ERR_SUCCESS;
7472 static enum ndr_err_code ndr_pull_netr_OsVersionContainer(struct ndr_pull *ndr, int ndr_flags, struct netr_OsVersionContainer *r)
7475 TALLOC_CTX *_mem_save_os_0;
7476 if (ndr_flags & NDR_SCALARS) {
7477 NDR_CHECK(ndr_pull_align(ndr, 4));
7478 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
7479 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
7480 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_os));
7482 NDR_PULL_ALLOC(ndr, r->os);
7487 if (ndr_flags & NDR_BUFFERS) {
7489 _mem_save_os_0 = NDR_PULL_GET_MEM_CTX(ndr);
7490 NDR_PULL_SET_MEM_CTX(ndr, r->os, 0);
7491 NDR_CHECK(ndr_pull_netr_OsVersion(ndr, NDR_SCALARS, r->os));
7492 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_os_0, 0);
7495 return NDR_ERR_SUCCESS;
7498 _PUBLIC_ void ndr_print_netr_OsVersionContainer(struct ndr_print *ndr, const char *name, const struct netr_OsVersionContainer *r)
7500 ndr_print_struct(ndr, name, "netr_OsVersionContainer");
7502 ndr_print_uint16(ndr, "length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->os == NULL?0:284:r->length);
7503 ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->os == NULL?0:284:r->size);
7504 ndr_print_ptr(ndr, "os", r->os);
7507 ndr_print_netr_OsVersion(ndr, "os", r->os);
7513 static enum ndr_err_code ndr_push_netr_WorkstationInformation(struct ndr_push *ndr, int ndr_flags, const struct netr_WorkstationInformation *r)
7515 if (ndr_flags & NDR_SCALARS) {
7516 NDR_CHECK(ndr_push_align(ndr, 4));
7517 NDR_CHECK(ndr_push_netr_LsaPolicyInformation(ndr, NDR_SCALARS, &r->lsa_policy));
7518 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_hostname));
7519 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sitename));
7520 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dummy1));
7521 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dummy2));
7522 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dummy3));
7523 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dummy4));
7524 NDR_CHECK(ndr_push_netr_OsVersionContainer(ndr, NDR_SCALARS, &r->os_version));
7525 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->os_name));
7526 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->dummy_string3));
7527 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->dummy_string4));
7528 NDR_CHECK(ndr_push_netr_WorkstationFlags(ndr, NDR_SCALARS, r->workstation_flags));
7529 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long2));
7530 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long3));
7531 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long4));
7533 if (ndr_flags & NDR_BUFFERS) {
7534 NDR_CHECK(ndr_push_netr_LsaPolicyInformation(ndr, NDR_BUFFERS, &r->lsa_policy));
7535 if (r->dns_hostname) {
7536 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dns_hostname, CH_UTF16)));
7537 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7538 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dns_hostname, CH_UTF16)));
7539 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_hostname, ndr_charset_length(r->dns_hostname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7542 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->sitename, CH_UTF16)));
7543 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7544 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->sitename, CH_UTF16)));
7545 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->sitename, ndr_charset_length(r->sitename, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7548 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dummy1, CH_UTF16)));
7549 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7550 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dummy1, CH_UTF16)));
7551 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dummy1, ndr_charset_length(r->dummy1, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7554 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dummy2, CH_UTF16)));
7555 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7556 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dummy2, CH_UTF16)));
7557 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dummy2, ndr_charset_length(r->dummy2, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7560 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dummy3, CH_UTF16)));
7561 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7562 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dummy3, CH_UTF16)));
7563 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dummy3, ndr_charset_length(r->dummy3, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7566 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dummy4, CH_UTF16)));
7567 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7568 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dummy4, CH_UTF16)));
7569 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dummy4, ndr_charset_length(r->dummy4, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7571 NDR_CHECK(ndr_push_netr_OsVersionContainer(ndr, NDR_BUFFERS, &r->os_version));
7572 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->os_name));
7573 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string3));
7574 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string4));
7576 return NDR_ERR_SUCCESS;
7579 static enum ndr_err_code ndr_pull_netr_WorkstationInformation(struct ndr_pull *ndr, int ndr_flags, struct netr_WorkstationInformation *r)
7581 uint32_t _ptr_dns_hostname;
7582 TALLOC_CTX *_mem_save_dns_hostname_0;
7583 uint32_t _ptr_sitename;
7584 TALLOC_CTX *_mem_save_sitename_0;
7585 uint32_t _ptr_dummy1;
7586 TALLOC_CTX *_mem_save_dummy1_0;
7587 uint32_t _ptr_dummy2;
7588 TALLOC_CTX *_mem_save_dummy2_0;
7589 uint32_t _ptr_dummy3;
7590 TALLOC_CTX *_mem_save_dummy3_0;
7591 uint32_t _ptr_dummy4;
7592 TALLOC_CTX *_mem_save_dummy4_0;
7593 if (ndr_flags & NDR_SCALARS) {
7594 NDR_CHECK(ndr_pull_align(ndr, 4));
7595 NDR_CHECK(ndr_pull_netr_LsaPolicyInformation(ndr, NDR_SCALARS, &r->lsa_policy));
7596 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_hostname));
7597 if (_ptr_dns_hostname) {
7598 NDR_PULL_ALLOC(ndr, r->dns_hostname);
7600 r->dns_hostname = NULL;
7602 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sitename));
7603 if (_ptr_sitename) {
7604 NDR_PULL_ALLOC(ndr, r->sitename);
7608 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dummy1));
7610 NDR_PULL_ALLOC(ndr, r->dummy1);
7614 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dummy2));
7616 NDR_PULL_ALLOC(ndr, r->dummy2);
7620 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dummy3));
7622 NDR_PULL_ALLOC(ndr, r->dummy3);
7626 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dummy4));
7628 NDR_PULL_ALLOC(ndr, r->dummy4);
7632 NDR_CHECK(ndr_pull_netr_OsVersionContainer(ndr, NDR_SCALARS, &r->os_version));
7633 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->os_name));
7634 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->dummy_string3));
7635 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->dummy_string4));
7636 NDR_CHECK(ndr_pull_netr_WorkstationFlags(ndr, NDR_SCALARS, &r->workstation_flags));
7637 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long2));
7638 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long3));
7639 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long4));
7641 if (ndr_flags & NDR_BUFFERS) {
7642 NDR_CHECK(ndr_pull_netr_LsaPolicyInformation(ndr, NDR_BUFFERS, &r->lsa_policy));
7643 if (r->dns_hostname) {
7644 _mem_save_dns_hostname_0 = NDR_PULL_GET_MEM_CTX(ndr);
7645 NDR_PULL_SET_MEM_CTX(ndr, r->dns_hostname, 0);
7646 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_hostname));
7647 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_hostname));
7648 if (ndr_get_array_length(ndr, &r->dns_hostname) > ndr_get_array_size(ndr, &r->dns_hostname)) {
7649 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_hostname), ndr_get_array_length(ndr, &r->dns_hostname));
7651 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_hostname), sizeof(uint16_t)));
7652 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_hostname, ndr_get_array_length(ndr, &r->dns_hostname), sizeof(uint16_t), CH_UTF16));
7653 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_hostname_0, 0);
7656 _mem_save_sitename_0 = NDR_PULL_GET_MEM_CTX(ndr);
7657 NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
7658 NDR_CHECK(ndr_pull_array_size(ndr, &r->sitename));
7659 NDR_CHECK(ndr_pull_array_length(ndr, &r->sitename));
7660 if (ndr_get_array_length(ndr, &r->sitename) > ndr_get_array_size(ndr, &r->sitename)) {
7661 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->sitename), ndr_get_array_length(ndr, &r->sitename));
7663 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->sitename), sizeof(uint16_t)));
7664 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->sitename, ndr_get_array_length(ndr, &r->sitename), sizeof(uint16_t), CH_UTF16));
7665 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_0, 0);
7668 _mem_save_dummy1_0 = NDR_PULL_GET_MEM_CTX(ndr);
7669 NDR_PULL_SET_MEM_CTX(ndr, r->dummy1, 0);
7670 NDR_CHECK(ndr_pull_array_size(ndr, &r->dummy1));
7671 NDR_CHECK(ndr_pull_array_length(ndr, &r->dummy1));
7672 if (ndr_get_array_length(ndr, &r->dummy1) > ndr_get_array_size(ndr, &r->dummy1)) {
7673 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dummy1), ndr_get_array_length(ndr, &r->dummy1));
7675 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dummy1), sizeof(uint16_t)));
7676 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dummy1, ndr_get_array_length(ndr, &r->dummy1), sizeof(uint16_t), CH_UTF16));
7677 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dummy1_0, 0);
7680 _mem_save_dummy2_0 = NDR_PULL_GET_MEM_CTX(ndr);
7681 NDR_PULL_SET_MEM_CTX(ndr, r->dummy2, 0);
7682 NDR_CHECK(ndr_pull_array_size(ndr, &r->dummy2));
7683 NDR_CHECK(ndr_pull_array_length(ndr, &r->dummy2));
7684 if (ndr_get_array_length(ndr, &r->dummy2) > ndr_get_array_size(ndr, &r->dummy2)) {
7685 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dummy2), ndr_get_array_length(ndr, &r->dummy2));
7687 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dummy2), sizeof(uint16_t)));
7688 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dummy2, ndr_get_array_length(ndr, &r->dummy2), sizeof(uint16_t), CH_UTF16));
7689 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dummy2_0, 0);
7692 _mem_save_dummy3_0 = NDR_PULL_GET_MEM_CTX(ndr);
7693 NDR_PULL_SET_MEM_CTX(ndr, r->dummy3, 0);
7694 NDR_CHECK(ndr_pull_array_size(ndr, &r->dummy3));
7695 NDR_CHECK(ndr_pull_array_length(ndr, &r->dummy3));
7696 if (ndr_get_array_length(ndr, &r->dummy3) > ndr_get_array_size(ndr, &r->dummy3)) {
7697 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dummy3), ndr_get_array_length(ndr, &r->dummy3));
7699 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dummy3), sizeof(uint16_t)));
7700 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dummy3, ndr_get_array_length(ndr, &r->dummy3), sizeof(uint16_t), CH_UTF16));
7701 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dummy3_0, 0);
7704 _mem_save_dummy4_0 = NDR_PULL_GET_MEM_CTX(ndr);
7705 NDR_PULL_SET_MEM_CTX(ndr, r->dummy4, 0);
7706 NDR_CHECK(ndr_pull_array_size(ndr, &r->dummy4));
7707 NDR_CHECK(ndr_pull_array_length(ndr, &r->dummy4));
7708 if (ndr_get_array_length(ndr, &r->dummy4) > ndr_get_array_size(ndr, &r->dummy4)) {
7709 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dummy4), ndr_get_array_length(ndr, &r->dummy4));
7711 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dummy4), sizeof(uint16_t)));
7712 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dummy4, ndr_get_array_length(ndr, &r->dummy4), sizeof(uint16_t), CH_UTF16));
7713 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dummy4_0, 0);
7715 NDR_CHECK(ndr_pull_netr_OsVersionContainer(ndr, NDR_BUFFERS, &r->os_version));
7716 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->os_name));
7717 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string3));
7718 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string4));
7720 return NDR_ERR_SUCCESS;
7723 _PUBLIC_ void ndr_print_netr_WorkstationInformation(struct ndr_print *ndr, const char *name, const struct netr_WorkstationInformation *r)
7725 ndr_print_struct(ndr, name, "netr_WorkstationInformation");
7727 ndr_print_netr_LsaPolicyInformation(ndr, "lsa_policy", &r->lsa_policy);
7728 ndr_print_ptr(ndr, "dns_hostname", r->dns_hostname);
7730 if (r->dns_hostname) {
7731 ndr_print_string(ndr, "dns_hostname", r->dns_hostname);
7734 ndr_print_ptr(ndr, "sitename", r->sitename);
7737 ndr_print_string(ndr, "sitename", r->sitename);
7740 ndr_print_ptr(ndr, "dummy1", r->dummy1);
7743 ndr_print_string(ndr, "dummy1", r->dummy1);
7746 ndr_print_ptr(ndr, "dummy2", r->dummy2);
7749 ndr_print_string(ndr, "dummy2", r->dummy2);
7752 ndr_print_ptr(ndr, "dummy3", r->dummy3);
7755 ndr_print_string(ndr, "dummy3", r->dummy3);
7758 ndr_print_ptr(ndr, "dummy4", r->dummy4);
7761 ndr_print_string(ndr, "dummy4", r->dummy4);
7764 ndr_print_netr_OsVersionContainer(ndr, "os_version", &r->os_version);
7765 ndr_print_lsa_String(ndr, "os_name", &r->os_name);
7766 ndr_print_lsa_String(ndr, "dummy_string3", &r->dummy_string3);
7767 ndr_print_lsa_String(ndr, "dummy_string4", &r->dummy_string4);
7768 ndr_print_netr_WorkstationFlags(ndr, "workstation_flags", r->workstation_flags);
7769 ndr_print_uint32(ndr, "dummy_long2", r->dummy_long2);
7770 ndr_print_uint32(ndr, "dummy_long3", r->dummy_long3);
7771 ndr_print_uint32(ndr, "dummy_long4", r->dummy_long4);
7775 static enum ndr_err_code ndr_push_netr_WorkstationInfo(struct ndr_push *ndr, int ndr_flags, const union netr_WorkstationInfo *r)
7777 if (ndr_flags & NDR_SCALARS) {
7778 int level = ndr_push_get_switch_value(ndr, r);
7779 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
7782 NDR_CHECK(ndr_push_unique_ptr(ndr, r->workstation_info));
7786 NDR_CHECK(ndr_push_unique_ptr(ndr, r->lsa_policy_info));
7790 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7793 if (ndr_flags & NDR_BUFFERS) {
7794 int level = ndr_push_get_switch_value(ndr, r);
7797 if (r->workstation_info) {
7798 NDR_CHECK(ndr_push_netr_WorkstationInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->workstation_info));
7803 if (r->lsa_policy_info) {
7804 NDR_CHECK(ndr_push_netr_WorkstationInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->lsa_policy_info));
7809 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7812 return NDR_ERR_SUCCESS;
7815 static enum ndr_err_code ndr_pull_netr_WorkstationInfo(struct ndr_pull *ndr, int ndr_flags, union netr_WorkstationInfo *r)
7819 TALLOC_CTX *_mem_save_workstation_info_0;
7820 TALLOC_CTX *_mem_save_lsa_policy_info_0;
7821 level = ndr_pull_get_switch_value(ndr, r);
7822 if (ndr_flags & NDR_SCALARS) {
7823 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
7824 if (_level != level) {
7825 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
7829 uint32_t _ptr_workstation_info;
7830 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_workstation_info));
7831 if (_ptr_workstation_info) {
7832 NDR_PULL_ALLOC(ndr, r->workstation_info);
7834 r->workstation_info = NULL;
7839 uint32_t _ptr_lsa_policy_info;
7840 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_lsa_policy_info));
7841 if (_ptr_lsa_policy_info) {
7842 NDR_PULL_ALLOC(ndr, r->lsa_policy_info);
7844 r->lsa_policy_info = NULL;
7849 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7852 if (ndr_flags & NDR_BUFFERS) {
7855 if (r->workstation_info) {
7856 _mem_save_workstation_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
7857 NDR_PULL_SET_MEM_CTX(ndr, r->workstation_info, 0);
7858 NDR_CHECK(ndr_pull_netr_WorkstationInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->workstation_info));
7859 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_workstation_info_0, 0);
7864 if (r->lsa_policy_info) {
7865 _mem_save_lsa_policy_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
7866 NDR_PULL_SET_MEM_CTX(ndr, r->lsa_policy_info, 0);
7867 NDR_CHECK(ndr_pull_netr_WorkstationInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->lsa_policy_info));
7868 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lsa_policy_info_0, 0);
7873 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7876 return NDR_ERR_SUCCESS;
7879 _PUBLIC_ void ndr_print_netr_WorkstationInfo(struct ndr_print *ndr, const char *name, const union netr_WorkstationInfo *r)
7882 level = ndr_print_get_switch_value(ndr, r);
7883 ndr_print_union(ndr, name, level, "netr_WorkstationInfo");
7886 ndr_print_ptr(ndr, "workstation_info", r->workstation_info);
7888 if (r->workstation_info) {
7889 ndr_print_netr_WorkstationInformation(ndr, "workstation_info", r->workstation_info);
7895 ndr_print_ptr(ndr, "lsa_policy_info", r->lsa_policy_info);
7897 if (r->lsa_policy_info) {
7898 ndr_print_netr_WorkstationInformation(ndr, "lsa_policy_info", r->lsa_policy_info);
7904 ndr_print_bad_level(ndr, name, level);
7908 static enum ndr_err_code ndr_push_netr_trust_extension(struct ndr_push *ndr, int ndr_flags, const struct netr_trust_extension *r)
7910 if (ndr_flags & NDR_SCALARS) {
7911 NDR_CHECK(ndr_push_align(ndr, 4));
7912 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 8));
7913 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7914 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 8));
7915 NDR_CHECK(ndr_push_netr_TrustFlags(ndr, NDR_SCALARS, r->flags));
7916 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->parent_index));
7917 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->trust_type));
7918 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->trust_attributes));
7920 if (ndr_flags & NDR_BUFFERS) {
7922 return NDR_ERR_SUCCESS;
7925 static enum ndr_err_code ndr_pull_netr_trust_extension(struct ndr_pull *ndr, int ndr_flags, struct netr_trust_extension *r)
7927 if (ndr_flags & NDR_SCALARS) {
7928 NDR_CHECK(ndr_pull_align(ndr, 4));
7929 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
7930 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy));
7931 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
7932 NDR_CHECK(ndr_pull_netr_TrustFlags(ndr, NDR_SCALARS, &r->flags));
7933 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->parent_index));
7934 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->trust_type));
7935 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->trust_attributes));
7937 if (ndr_flags & NDR_BUFFERS) {
7939 return NDR_ERR_SUCCESS;
7942 _PUBLIC_ void ndr_print_netr_trust_extension(struct ndr_print *ndr, const char *name, const struct netr_trust_extension *r)
7944 ndr_print_struct(ndr, name, "netr_trust_extension");
7946 ndr_print_uint32(ndr, "length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?8:r->length);
7947 ndr_print_uint32(ndr, "dummy", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->dummy);
7948 ndr_print_uint32(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?8:r->size);
7949 ndr_print_netr_TrustFlags(ndr, "flags", r->flags);
7950 ndr_print_uint32(ndr, "parent_index", r->parent_index);
7951 ndr_print_uint32(ndr, "trust_type", r->trust_type);
7952 ndr_print_uint32(ndr, "trust_attributes", r->trust_attributes);
7956 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)
7958 if (ndr_flags & NDR_SCALARS) {
7959 NDR_CHECK(ndr_push_align(ndr, 4));
7960 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
7961 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
7962 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info));
7964 if (ndr_flags & NDR_BUFFERS) {
7966 NDR_CHECK(ndr_push_netr_trust_extension(ndr, NDR_SCALARS, r->info));
7969 return NDR_ERR_SUCCESS;
7972 static enum ndr_err_code ndr_pull_netr_trust_extension_container(struct ndr_pull *ndr, int ndr_flags, struct netr_trust_extension_container *r)
7975 TALLOC_CTX *_mem_save_info_0;
7976 if (ndr_flags & NDR_SCALARS) {
7977 NDR_CHECK(ndr_pull_align(ndr, 4));
7978 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
7979 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
7980 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
7982 NDR_PULL_ALLOC(ndr, r->info);
7987 if (ndr_flags & NDR_BUFFERS) {
7989 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
7990 NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
7991 NDR_CHECK(ndr_pull_netr_trust_extension(ndr, NDR_SCALARS, r->info));
7992 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
7995 return NDR_ERR_SUCCESS;
7998 _PUBLIC_ void ndr_print_netr_trust_extension_container(struct ndr_print *ndr, const char *name, const struct netr_trust_extension_container *r)
8000 ndr_print_struct(ndr, name, "netr_trust_extension_container");
8002 ndr_print_uint16(ndr, "length", r->length);
8003 ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->length:r->size);
8004 ndr_print_ptr(ndr, "info", r->info);
8007 ndr_print_netr_trust_extension(ndr, "info", r->info);
8013 static enum ndr_err_code ndr_push_netr_OneDomainInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_OneDomainInfo *r)
8015 if (ndr_flags & NDR_SCALARS) {
8016 NDR_CHECK(ndr_push_align(ndr, 4));
8017 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domainname));
8018 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->dns_domainname));
8019 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->dns_forestname));
8020 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->domain_guid));
8021 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_sid));
8022 NDR_CHECK(ndr_push_netr_trust_extension_container(ndr, NDR_SCALARS, &r->trust_extension));
8023 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->dummy_string2));
8024 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->dummy_string3));
8025 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->dummy_string4));
8026 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long1));
8027 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long2));
8028 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long3));
8029 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long4));
8031 if (ndr_flags & NDR_BUFFERS) {
8032 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domainname));
8033 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->dns_domainname));
8034 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->dns_forestname));
8035 if (r->domain_sid) {
8036 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid));
8038 NDR_CHECK(ndr_push_netr_trust_extension_container(ndr, NDR_BUFFERS, &r->trust_extension));
8039 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string2));
8040 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string3));
8041 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string4));
8043 return NDR_ERR_SUCCESS;
8046 static enum ndr_err_code ndr_pull_netr_OneDomainInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_OneDomainInfo *r)
8048 uint32_t _ptr_domain_sid;
8049 TALLOC_CTX *_mem_save_domain_sid_0;
8050 if (ndr_flags & NDR_SCALARS) {
8051 NDR_CHECK(ndr_pull_align(ndr, 4));
8052 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domainname));
8053 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->dns_domainname));
8054 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->dns_forestname));
8055 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->domain_guid));
8056 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_sid));
8057 if (_ptr_domain_sid) {
8058 NDR_PULL_ALLOC(ndr, r->domain_sid);
8060 r->domain_sid = NULL;
8062 NDR_CHECK(ndr_pull_netr_trust_extension_container(ndr, NDR_SCALARS, &r->trust_extension));
8063 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->dummy_string2));
8064 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->dummy_string3));
8065 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->dummy_string4));
8066 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long1));
8067 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long2));
8068 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long3));
8069 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long4));
8071 if (ndr_flags & NDR_BUFFERS) {
8072 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domainname));
8073 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->dns_domainname));
8074 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->dns_forestname));
8075 if (r->domain_sid) {
8076 _mem_save_domain_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
8077 NDR_PULL_SET_MEM_CTX(ndr, r->domain_sid, 0);
8078 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid));
8079 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_sid_0, 0);
8081 NDR_CHECK(ndr_pull_netr_trust_extension_container(ndr, NDR_BUFFERS, &r->trust_extension));
8082 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string2));
8083 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string3));
8084 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string4));
8086 return NDR_ERR_SUCCESS;
8089 _PUBLIC_ void ndr_print_netr_OneDomainInfo(struct ndr_print *ndr, const char *name, const struct netr_OneDomainInfo *r)
8091 ndr_print_struct(ndr, name, "netr_OneDomainInfo");
8093 ndr_print_lsa_String(ndr, "domainname", &r->domainname);
8094 ndr_print_lsa_String(ndr, "dns_domainname", &r->dns_domainname);
8095 ndr_print_lsa_String(ndr, "dns_forestname", &r->dns_forestname);
8096 ndr_print_GUID(ndr, "domain_guid", &r->domain_guid);
8097 ndr_print_ptr(ndr, "domain_sid", r->domain_sid);
8099 if (r->domain_sid) {
8100 ndr_print_dom_sid2(ndr, "domain_sid", r->domain_sid);
8103 ndr_print_netr_trust_extension_container(ndr, "trust_extension", &r->trust_extension);
8104 ndr_print_lsa_String(ndr, "dummy_string2", &r->dummy_string2);
8105 ndr_print_lsa_String(ndr, "dummy_string3", &r->dummy_string3);
8106 ndr_print_lsa_String(ndr, "dummy_string4", &r->dummy_string4);
8107 ndr_print_uint32(ndr, "dummy_long1", r->dummy_long1);
8108 ndr_print_uint32(ndr, "dummy_long2", r->dummy_long2);
8109 ndr_print_uint32(ndr, "dummy_long3", r->dummy_long3);
8110 ndr_print_uint32(ndr, "dummy_long4", r->dummy_long4);
8114 static enum ndr_err_code ndr_push_netr_DomainInformation(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainInformation *r)
8116 uint32_t cntr_trusted_domains_1;
8117 if (ndr_flags & NDR_SCALARS) {
8118 NDR_CHECK(ndr_push_align(ndr, 4));
8119 NDR_CHECK(ndr_push_netr_OneDomainInfo(ndr, NDR_SCALARS, &r->primary_domain));
8120 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->trusted_domain_count));
8121 NDR_CHECK(ndr_push_unique_ptr(ndr, r->trusted_domains));
8122 NDR_CHECK(ndr_push_netr_LsaPolicyInformation(ndr, NDR_SCALARS, &r->lsa_policy));
8123 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->dns_hostname));
8124 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->dummy_string2));
8125 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->dummy_string3));
8126 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->dummy_string4));
8127 NDR_CHECK(ndr_push_netr_WorkstationFlags(ndr, NDR_SCALARS, r->workstation_flags));
8128 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->supported_enc_types));
8129 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long3));
8130 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long4));
8132 if (ndr_flags & NDR_BUFFERS) {
8133 NDR_CHECK(ndr_push_netr_OneDomainInfo(ndr, NDR_BUFFERS, &r->primary_domain));
8134 if (r->trusted_domains) {
8135 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->trusted_domain_count));
8136 for (cntr_trusted_domains_1 = 0; cntr_trusted_domains_1 < r->trusted_domain_count; cntr_trusted_domains_1++) {
8137 NDR_CHECK(ndr_push_netr_OneDomainInfo(ndr, NDR_SCALARS, &r->trusted_domains[cntr_trusted_domains_1]));
8139 for (cntr_trusted_domains_1 = 0; cntr_trusted_domains_1 < r->trusted_domain_count; cntr_trusted_domains_1++) {
8140 NDR_CHECK(ndr_push_netr_OneDomainInfo(ndr, NDR_BUFFERS, &r->trusted_domains[cntr_trusted_domains_1]));
8143 NDR_CHECK(ndr_push_netr_LsaPolicyInformation(ndr, NDR_BUFFERS, &r->lsa_policy));
8144 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->dns_hostname));
8145 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string2));
8146 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string3));
8147 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string4));
8149 return NDR_ERR_SUCCESS;
8152 static enum ndr_err_code ndr_pull_netr_DomainInformation(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainInformation *r)
8154 uint32_t _ptr_trusted_domains;
8155 uint32_t cntr_trusted_domains_1;
8156 TALLOC_CTX *_mem_save_trusted_domains_0;
8157 TALLOC_CTX *_mem_save_trusted_domains_1;
8158 if (ndr_flags & NDR_SCALARS) {
8159 NDR_CHECK(ndr_pull_align(ndr, 4));
8160 NDR_CHECK(ndr_pull_netr_OneDomainInfo(ndr, NDR_SCALARS, &r->primary_domain));
8161 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->trusted_domain_count));
8162 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_domains));
8163 if (_ptr_trusted_domains) {
8164 NDR_PULL_ALLOC(ndr, r->trusted_domains);
8166 r->trusted_domains = NULL;
8168 NDR_CHECK(ndr_pull_netr_LsaPolicyInformation(ndr, NDR_SCALARS, &r->lsa_policy));
8169 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->dns_hostname));
8170 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->dummy_string2));
8171 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->dummy_string3));
8172 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->dummy_string4));
8173 NDR_CHECK(ndr_pull_netr_WorkstationFlags(ndr, NDR_SCALARS, &r->workstation_flags));
8174 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->supported_enc_types));
8175 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long3));
8176 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long4));
8178 if (ndr_flags & NDR_BUFFERS) {
8179 NDR_CHECK(ndr_pull_netr_OneDomainInfo(ndr, NDR_BUFFERS, &r->primary_domain));
8180 if (r->trusted_domains) {
8181 _mem_save_trusted_domains_0 = NDR_PULL_GET_MEM_CTX(ndr);
8182 NDR_PULL_SET_MEM_CTX(ndr, r->trusted_domains, 0);
8183 NDR_CHECK(ndr_pull_array_size(ndr, &r->trusted_domains));
8184 NDR_PULL_ALLOC_N(ndr, r->trusted_domains, ndr_get_array_size(ndr, &r->trusted_domains));
8185 _mem_save_trusted_domains_1 = NDR_PULL_GET_MEM_CTX(ndr);
8186 NDR_PULL_SET_MEM_CTX(ndr, r->trusted_domains, 0);
8187 for (cntr_trusted_domains_1 = 0; cntr_trusted_domains_1 < r->trusted_domain_count; cntr_trusted_domains_1++) {
8188 NDR_CHECK(ndr_pull_netr_OneDomainInfo(ndr, NDR_SCALARS, &r->trusted_domains[cntr_trusted_domains_1]));
8190 for (cntr_trusted_domains_1 = 0; cntr_trusted_domains_1 < r->trusted_domain_count; cntr_trusted_domains_1++) {
8191 NDR_CHECK(ndr_pull_netr_OneDomainInfo(ndr, NDR_BUFFERS, &r->trusted_domains[cntr_trusted_domains_1]));
8193 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domains_1, 0);
8194 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domains_0, 0);
8196 NDR_CHECK(ndr_pull_netr_LsaPolicyInformation(ndr, NDR_BUFFERS, &r->lsa_policy));
8197 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->dns_hostname));
8198 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string2));
8199 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string3));
8200 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string4));
8201 if (r->trusted_domains) {
8202 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->trusted_domains, r->trusted_domain_count));
8205 return NDR_ERR_SUCCESS;
8208 _PUBLIC_ void ndr_print_netr_DomainInformation(struct ndr_print *ndr, const char *name, const struct netr_DomainInformation *r)
8210 uint32_t cntr_trusted_domains_1;
8211 ndr_print_struct(ndr, name, "netr_DomainInformation");
8213 ndr_print_netr_OneDomainInfo(ndr, "primary_domain", &r->primary_domain);
8214 ndr_print_uint32(ndr, "trusted_domain_count", r->trusted_domain_count);
8215 ndr_print_ptr(ndr, "trusted_domains", r->trusted_domains);
8217 if (r->trusted_domains) {
8218 ndr->print(ndr, "%s: ARRAY(%d)", "trusted_domains", (int)r->trusted_domain_count);
8220 for (cntr_trusted_domains_1=0;cntr_trusted_domains_1<r->trusted_domain_count;cntr_trusted_domains_1++) {
8222 if (asprintf(&idx_1, "[%d]", cntr_trusted_domains_1) != -1) {
8223 ndr_print_netr_OneDomainInfo(ndr, "trusted_domains", &r->trusted_domains[cntr_trusted_domains_1]);
8230 ndr_print_netr_LsaPolicyInformation(ndr, "lsa_policy", &r->lsa_policy);
8231 ndr_print_lsa_String(ndr, "dns_hostname", &r->dns_hostname);
8232 ndr_print_lsa_String(ndr, "dummy_string2", &r->dummy_string2);
8233 ndr_print_lsa_String(ndr, "dummy_string3", &r->dummy_string3);
8234 ndr_print_lsa_String(ndr, "dummy_string4", &r->dummy_string4);
8235 ndr_print_netr_WorkstationFlags(ndr, "workstation_flags", r->workstation_flags);
8236 ndr_print_uint32(ndr, "supported_enc_types", r->supported_enc_types);
8237 ndr_print_uint32(ndr, "dummy_long3", r->dummy_long3);
8238 ndr_print_uint32(ndr, "dummy_long4", r->dummy_long4);
8242 static enum ndr_err_code ndr_push_netr_DomainInfo(struct ndr_push *ndr, int ndr_flags, const union netr_DomainInfo *r)
8244 if (ndr_flags & NDR_SCALARS) {
8245 int level = ndr_push_get_switch_value(ndr, r);
8246 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
8249 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_info));
8253 NDR_CHECK(ndr_push_unique_ptr(ndr, r->lsa_policy_info));
8257 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
8260 if (ndr_flags & NDR_BUFFERS) {
8261 int level = ndr_push_get_switch_value(ndr, r);
8264 if (r->domain_info) {
8265 NDR_CHECK(ndr_push_netr_DomainInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_info));
8270 if (r->lsa_policy_info) {
8271 NDR_CHECK(ndr_push_netr_LsaPolicyInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->lsa_policy_info));
8276 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
8279 return NDR_ERR_SUCCESS;
8282 static enum ndr_err_code ndr_pull_netr_DomainInfo(struct ndr_pull *ndr, int ndr_flags, union netr_DomainInfo *r)
8286 TALLOC_CTX *_mem_save_domain_info_0;
8287 TALLOC_CTX *_mem_save_lsa_policy_info_0;
8288 level = ndr_pull_get_switch_value(ndr, r);
8289 if (ndr_flags & NDR_SCALARS) {
8290 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
8291 if (_level != level) {
8292 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
8296 uint32_t _ptr_domain_info;
8297 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_info));
8298 if (_ptr_domain_info) {
8299 NDR_PULL_ALLOC(ndr, r->domain_info);
8301 r->domain_info = NULL;
8306 uint32_t _ptr_lsa_policy_info;
8307 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_lsa_policy_info));
8308 if (_ptr_lsa_policy_info) {
8309 NDR_PULL_ALLOC(ndr, r->lsa_policy_info);
8311 r->lsa_policy_info = NULL;
8316 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
8319 if (ndr_flags & NDR_BUFFERS) {
8322 if (r->domain_info) {
8323 _mem_save_domain_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
8324 NDR_PULL_SET_MEM_CTX(ndr, r->domain_info, 0);
8325 NDR_CHECK(ndr_pull_netr_DomainInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_info));
8326 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_info_0, 0);
8331 if (r->lsa_policy_info) {
8332 _mem_save_lsa_policy_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
8333 NDR_PULL_SET_MEM_CTX(ndr, r->lsa_policy_info, 0);
8334 NDR_CHECK(ndr_pull_netr_LsaPolicyInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->lsa_policy_info));
8335 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lsa_policy_info_0, 0);
8340 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
8343 return NDR_ERR_SUCCESS;
8346 _PUBLIC_ void ndr_print_netr_DomainInfo(struct ndr_print *ndr, const char *name, const union netr_DomainInfo *r)
8349 level = ndr_print_get_switch_value(ndr, r);
8350 ndr_print_union(ndr, name, level, "netr_DomainInfo");
8353 ndr_print_ptr(ndr, "domain_info", r->domain_info);
8355 if (r->domain_info) {
8356 ndr_print_netr_DomainInformation(ndr, "domain_info", r->domain_info);
8362 ndr_print_ptr(ndr, "lsa_policy_info", r->lsa_policy_info);
8364 if (r->lsa_policy_info) {
8365 ndr_print_netr_LsaPolicyInformation(ndr, "lsa_policy_info", r->lsa_policy_info);
8371 ndr_print_bad_level(ndr, name, level);
8375 static enum ndr_err_code ndr_push_netr_CryptPassword(struct ndr_push *ndr, int ndr_flags, const struct netr_CryptPassword *r)
8378 uint32_t _flags_save_STRUCT = ndr->flags;
8379 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
8380 if (ndr_flags & NDR_SCALARS) {
8381 NDR_CHECK(ndr_push_align(ndr, 4));
8382 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, 512));
8383 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
8385 if (ndr_flags & NDR_BUFFERS) {
8387 ndr->flags = _flags_save_STRUCT;
8389 return NDR_ERR_SUCCESS;
8392 static enum ndr_err_code ndr_pull_netr_CryptPassword(struct ndr_pull *ndr, int ndr_flags, struct netr_CryptPassword *r)
8395 uint32_t _flags_save_STRUCT = ndr->flags;
8396 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
8397 if (ndr_flags & NDR_SCALARS) {
8398 NDR_CHECK(ndr_pull_align(ndr, 4));
8399 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, 512));
8400 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
8402 if (ndr_flags & NDR_BUFFERS) {
8404 ndr->flags = _flags_save_STRUCT;
8406 return NDR_ERR_SUCCESS;
8409 _PUBLIC_ void ndr_print_netr_CryptPassword(struct ndr_print *ndr, const char *name, const struct netr_CryptPassword *r)
8411 ndr_print_struct(ndr, name, "netr_CryptPassword");
8413 uint32_t _flags_save_STRUCT = ndr->flags;
8414 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
8416 ndr_print_array_uint8(ndr, "data", r->data, 512);
8417 ndr_print_uint32(ndr, "length", r->length);
8419 ndr->flags = _flags_save_STRUCT;
8423 static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesWCtr(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRAddressToSitenamesWCtr *r)
8425 uint32_t cntr_sitename_1;
8426 if (ndr_flags & NDR_SCALARS) {
8427 NDR_CHECK(ndr_push_align(ndr, 4));
8428 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8429 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sitename));
8431 if (ndr_flags & NDR_BUFFERS) {
8433 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8434 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
8435 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1]));
8437 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
8438 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1]));
8442 return NDR_ERR_SUCCESS;
8445 static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesWCtr(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRAddressToSitenamesWCtr *r)
8447 uint32_t _ptr_sitename;
8448 uint32_t cntr_sitename_1;
8449 TALLOC_CTX *_mem_save_sitename_0;
8450 TALLOC_CTX *_mem_save_sitename_1;
8451 if (ndr_flags & NDR_SCALARS) {
8452 NDR_CHECK(ndr_pull_align(ndr, 4));
8453 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
8454 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sitename));
8455 if (_ptr_sitename) {
8456 NDR_PULL_ALLOC(ndr, r->sitename);
8461 if (ndr_flags & NDR_BUFFERS) {
8463 _mem_save_sitename_0 = NDR_PULL_GET_MEM_CTX(ndr);
8464 NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
8465 NDR_CHECK(ndr_pull_array_size(ndr, &r->sitename));
8466 NDR_PULL_ALLOC_N(ndr, r->sitename, ndr_get_array_size(ndr, &r->sitename));
8467 _mem_save_sitename_1 = NDR_PULL_GET_MEM_CTX(ndr);
8468 NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
8469 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
8470 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1]));
8472 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
8473 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1]));
8475 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_1, 0);
8476 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_0, 0);
8479 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sitename, r->count));
8482 return NDR_ERR_SUCCESS;
8485 _PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesWCtr(struct ndr_print *ndr, const char *name, const struct netr_DsRAddressToSitenamesWCtr *r)
8487 uint32_t cntr_sitename_1;
8488 ndr_print_struct(ndr, name, "netr_DsRAddressToSitenamesWCtr");
8490 ndr_print_uint32(ndr, "count", r->count);
8491 ndr_print_ptr(ndr, "sitename", r->sitename);
8494 ndr->print(ndr, "%s: ARRAY(%d)", "sitename", (int)r->count);
8496 for (cntr_sitename_1=0;cntr_sitename_1<r->count;cntr_sitename_1++) {
8498 if (asprintf(&idx_1, "[%d]", cntr_sitename_1) != -1) {
8499 ndr_print_lsa_String(ndr, "sitename", &r->sitename[cntr_sitename_1]);
8509 static enum ndr_err_code ndr_push_netr_DsRAddress(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRAddress *r)
8511 if (ndr_flags & NDR_SCALARS) {
8512 NDR_CHECK(ndr_push_align(ndr, 4));
8513 NDR_CHECK(ndr_push_unique_ptr(ndr, r->buffer));
8514 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
8516 if (ndr_flags & NDR_BUFFERS) {
8518 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
8519 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->buffer, r->size));
8522 return NDR_ERR_SUCCESS;
8525 static enum ndr_err_code ndr_pull_netr_DsRAddress(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRAddress *r)
8527 uint32_t _ptr_buffer;
8528 TALLOC_CTX *_mem_save_buffer_0;
8529 if (ndr_flags & NDR_SCALARS) {
8530 NDR_CHECK(ndr_pull_align(ndr, 4));
8531 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
8533 NDR_PULL_ALLOC(ndr, r->buffer);
8537 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
8539 if (ndr_flags & NDR_BUFFERS) {
8541 _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
8542 NDR_PULL_SET_MEM_CTX(ndr, r->buffer, 0);
8543 NDR_CHECK(ndr_pull_array_size(ndr, &r->buffer));
8544 NDR_PULL_ALLOC_N(ndr, r->buffer, ndr_get_array_size(ndr, &r->buffer));
8545 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->buffer, ndr_get_array_size(ndr, &r->buffer)));
8546 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
8549 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->buffer, r->size));
8552 return NDR_ERR_SUCCESS;
8555 _PUBLIC_ void ndr_print_netr_DsRAddress(struct ndr_print *ndr, const char *name, const struct netr_DsRAddress *r)
8557 ndr_print_struct(ndr, name, "netr_DsRAddress");
8559 ndr_print_ptr(ndr, "buffer", r->buffer);
8562 ndr_print_array_uint8(ndr, "buffer", r->buffer, r->size);
8565 ndr_print_uint32(ndr, "size", r->size);
8569 static enum ndr_err_code ndr_push_netr_TrustType(struct ndr_push *ndr, int ndr_flags, enum netr_TrustType r)
8571 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
8572 return NDR_ERR_SUCCESS;
8575 static enum ndr_err_code ndr_pull_netr_TrustType(struct ndr_pull *ndr, int ndr_flags, enum netr_TrustType *r)
8578 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
8580 return NDR_ERR_SUCCESS;
8583 _PUBLIC_ void ndr_print_netr_TrustType(struct ndr_print *ndr, const char *name, enum netr_TrustType r)
8585 const char *val = NULL;
8588 case NETR_TRUST_TYPE_DOWNLEVEL: val = "NETR_TRUST_TYPE_DOWNLEVEL"; break;
8589 case NETR_TRUST_TYPE_UPLEVEL: val = "NETR_TRUST_TYPE_UPLEVEL"; break;
8590 case NETR_TRUST_TYPE_MIT: val = "NETR_TRUST_TYPE_MIT"; break;
8591 case NETR_TRUST_TYPE_DCE: val = "NETR_TRUST_TYPE_DCE"; break;
8593 ndr_print_enum(ndr, name, "ENUM", val, r);
8596 static enum ndr_err_code ndr_push_netr_TrustAttributes(struct ndr_push *ndr, int ndr_flags, uint32_t r)
8598 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
8599 return NDR_ERR_SUCCESS;
8602 static enum ndr_err_code ndr_pull_netr_TrustAttributes(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
8605 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
8607 return NDR_ERR_SUCCESS;
8610 _PUBLIC_ void ndr_print_netr_TrustAttributes(struct ndr_print *ndr, const char *name, uint32_t r)
8612 ndr_print_uint32(ndr, name, r);
8614 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_NON_TRANSITIVE", NETR_TRUST_ATTRIBUTE_NON_TRANSITIVE, r);
8615 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_UPLEVEL_ONLY", NETR_TRUST_ATTRIBUTE_UPLEVEL_ONLY, r);
8616 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN", NETR_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN, r);
8617 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_FOREST_TRANSITIVE", NETR_TRUST_ATTRIBUTE_FOREST_TRANSITIVE, r);
8618 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_CROSS_ORGANIZATION", NETR_TRUST_ATTRIBUTE_CROSS_ORGANIZATION, r);
8619 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_WITHIN_FOREST", NETR_TRUST_ATTRIBUTE_WITHIN_FOREST, r);
8620 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL", NETR_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL, r);
8624 static enum ndr_err_code ndr_push_netr_DomainTrust(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainTrust *r)
8626 if (ndr_flags & NDR_SCALARS) {
8627 NDR_CHECK(ndr_push_align(ndr, 4));
8628 NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
8629 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
8630 NDR_CHECK(ndr_push_netr_TrustFlags(ndr, NDR_SCALARS, r->trust_flags));
8631 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->parent_index));
8632 NDR_CHECK(ndr_push_netr_TrustType(ndr, NDR_SCALARS, r->trust_type));
8633 NDR_CHECK(ndr_push_netr_TrustAttributes(ndr, NDR_SCALARS, r->trust_attributes));
8634 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
8635 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
8637 if (ndr_flags & NDR_BUFFERS) {
8638 if (r->netbios_name) {
8639 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
8640 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8641 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
8642 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8645 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
8646 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8647 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
8648 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8651 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
8654 return NDR_ERR_SUCCESS;
8657 static enum ndr_err_code ndr_pull_netr_DomainTrust(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainTrust *r)
8659 uint32_t _ptr_netbios_name;
8660 TALLOC_CTX *_mem_save_netbios_name_0;
8661 uint32_t _ptr_dns_name;
8662 TALLOC_CTX *_mem_save_dns_name_0;
8664 TALLOC_CTX *_mem_save_sid_0;
8665 if (ndr_flags & NDR_SCALARS) {
8666 NDR_CHECK(ndr_pull_align(ndr, 4));
8667 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
8668 if (_ptr_netbios_name) {
8669 NDR_PULL_ALLOC(ndr, r->netbios_name);
8671 r->netbios_name = NULL;
8673 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
8674 if (_ptr_dns_name) {
8675 NDR_PULL_ALLOC(ndr, r->dns_name);
8679 NDR_CHECK(ndr_pull_netr_TrustFlags(ndr, NDR_SCALARS, &r->trust_flags));
8680 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->parent_index));
8681 NDR_CHECK(ndr_pull_netr_TrustType(ndr, NDR_SCALARS, &r->trust_type));
8682 NDR_CHECK(ndr_pull_netr_TrustAttributes(ndr, NDR_SCALARS, &r->trust_attributes));
8683 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
8685 NDR_PULL_ALLOC(ndr, r->sid);
8689 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
8691 if (ndr_flags & NDR_BUFFERS) {
8692 if (r->netbios_name) {
8693 _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8694 NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
8695 NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
8696 NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
8697 if (ndr_get_array_length(ndr, &r->netbios_name) > ndr_get_array_size(ndr, &r->netbios_name)) {
8698 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));
8700 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t)));
8701 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t), CH_UTF16));
8702 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
8705 _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8706 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
8707 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
8708 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
8709 if (ndr_get_array_length(ndr, &r->dns_name) > ndr_get_array_size(ndr, &r->dns_name)) {
8710 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));
8712 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t)));
8713 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t), CH_UTF16));
8714 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
8717 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
8718 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
8719 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
8720 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
8723 return NDR_ERR_SUCCESS;
8726 _PUBLIC_ void ndr_print_netr_DomainTrust(struct ndr_print *ndr, const char *name, const struct netr_DomainTrust *r)
8728 ndr_print_struct(ndr, name, "netr_DomainTrust");
8730 ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
8732 if (r->netbios_name) {
8733 ndr_print_string(ndr, "netbios_name", r->netbios_name);
8736 ndr_print_ptr(ndr, "dns_name", r->dns_name);
8739 ndr_print_string(ndr, "dns_name", r->dns_name);
8742 ndr_print_netr_TrustFlags(ndr, "trust_flags", r->trust_flags);
8743 ndr_print_uint32(ndr, "parent_index", r->parent_index);
8744 ndr_print_netr_TrustType(ndr, "trust_type", r->trust_type);
8745 ndr_print_netr_TrustAttributes(ndr, "trust_attributes", r->trust_attributes);
8746 ndr_print_ptr(ndr, "sid", r->sid);
8749 ndr_print_dom_sid2(ndr, "sid", r->sid);
8752 ndr_print_GUID(ndr, "guid", &r->guid);
8756 static enum ndr_err_code ndr_push_netr_DomainTrustList(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainTrustList *r)
8758 uint32_t cntr_array_1;
8759 if (ndr_flags & NDR_SCALARS) {
8760 NDR_CHECK(ndr_push_align(ndr, 4));
8761 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8762 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
8764 if (ndr_flags & NDR_BUFFERS) {
8766 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8767 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8768 NDR_CHECK(ndr_push_netr_DomainTrust(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
8770 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8771 NDR_CHECK(ndr_push_netr_DomainTrust(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
8775 return NDR_ERR_SUCCESS;
8778 static enum ndr_err_code ndr_pull_netr_DomainTrustList(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainTrustList *r)
8780 uint32_t _ptr_array;
8781 uint32_t cntr_array_1;
8782 TALLOC_CTX *_mem_save_array_0;
8783 TALLOC_CTX *_mem_save_array_1;
8784 if (ndr_flags & NDR_SCALARS) {
8785 NDR_CHECK(ndr_pull_align(ndr, 4));
8786 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
8787 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
8789 NDR_PULL_ALLOC(ndr, r->array);
8794 if (ndr_flags & NDR_BUFFERS) {
8796 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
8797 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
8798 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
8799 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
8800 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
8801 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
8802 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8803 NDR_CHECK(ndr_pull_netr_DomainTrust(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
8805 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8806 NDR_CHECK(ndr_pull_netr_DomainTrust(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
8808 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
8809 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
8812 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
8815 return NDR_ERR_SUCCESS;
8818 _PUBLIC_ void ndr_print_netr_DomainTrustList(struct ndr_print *ndr, const char *name, const struct netr_DomainTrustList *r)
8820 uint32_t cntr_array_1;
8821 ndr_print_struct(ndr, name, "netr_DomainTrustList");
8823 ndr_print_uint32(ndr, "count", r->count);
8824 ndr_print_ptr(ndr, "array", r->array);
8827 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
8829 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
8831 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
8832 ndr_print_netr_DomainTrust(ndr, "array", &r->array[cntr_array_1]);
8842 static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesExWCtr(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRAddressToSitenamesExWCtr *r)
8844 uint32_t cntr_sitename_1;
8845 uint32_t cntr_subnetname_1;
8846 if (ndr_flags & NDR_SCALARS) {
8847 NDR_CHECK(ndr_push_align(ndr, 4));
8848 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8849 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sitename));
8850 NDR_CHECK(ndr_push_unique_ptr(ndr, r->subnetname));
8852 if (ndr_flags & NDR_BUFFERS) {
8854 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8855 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
8856 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1]));
8858 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
8859 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1]));
8862 if (r->subnetname) {
8863 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8864 for (cntr_subnetname_1 = 0; cntr_subnetname_1 < r->count; cntr_subnetname_1++) {
8865 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->subnetname[cntr_subnetname_1]));
8867 for (cntr_subnetname_1 = 0; cntr_subnetname_1 < r->count; cntr_subnetname_1++) {
8868 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->subnetname[cntr_subnetname_1]));
8872 return NDR_ERR_SUCCESS;
8875 static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesExWCtr(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRAddressToSitenamesExWCtr *r)
8877 uint32_t _ptr_sitename;
8878 uint32_t cntr_sitename_1;
8879 TALLOC_CTX *_mem_save_sitename_0;
8880 TALLOC_CTX *_mem_save_sitename_1;
8881 uint32_t _ptr_subnetname;
8882 uint32_t cntr_subnetname_1;
8883 TALLOC_CTX *_mem_save_subnetname_0;
8884 TALLOC_CTX *_mem_save_subnetname_1;
8885 if (ndr_flags & NDR_SCALARS) {
8886 NDR_CHECK(ndr_pull_align(ndr, 4));
8887 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
8888 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sitename));
8889 if (_ptr_sitename) {
8890 NDR_PULL_ALLOC(ndr, r->sitename);
8894 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_subnetname));
8895 if (_ptr_subnetname) {
8896 NDR_PULL_ALLOC(ndr, r->subnetname);
8898 r->subnetname = NULL;
8901 if (ndr_flags & NDR_BUFFERS) {
8903 _mem_save_sitename_0 = NDR_PULL_GET_MEM_CTX(ndr);
8904 NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
8905 NDR_CHECK(ndr_pull_array_size(ndr, &r->sitename));
8906 NDR_PULL_ALLOC_N(ndr, r->sitename, ndr_get_array_size(ndr, &r->sitename));
8907 _mem_save_sitename_1 = NDR_PULL_GET_MEM_CTX(ndr);
8908 NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
8909 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
8910 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1]));
8912 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
8913 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1]));
8915 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_1, 0);
8916 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_0, 0);
8918 if (r->subnetname) {
8919 _mem_save_subnetname_0 = NDR_PULL_GET_MEM_CTX(ndr);
8920 NDR_PULL_SET_MEM_CTX(ndr, r->subnetname, 0);
8921 NDR_CHECK(ndr_pull_array_size(ndr, &r->subnetname));
8922 NDR_PULL_ALLOC_N(ndr, r->subnetname, ndr_get_array_size(ndr, &r->subnetname));
8923 _mem_save_subnetname_1 = NDR_PULL_GET_MEM_CTX(ndr);
8924 NDR_PULL_SET_MEM_CTX(ndr, r->subnetname, 0);
8925 for (cntr_subnetname_1 = 0; cntr_subnetname_1 < r->count; cntr_subnetname_1++) {
8926 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->subnetname[cntr_subnetname_1]));
8928 for (cntr_subnetname_1 = 0; cntr_subnetname_1 < r->count; cntr_subnetname_1++) {
8929 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->subnetname[cntr_subnetname_1]));
8931 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_subnetname_1, 0);
8932 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_subnetname_0, 0);
8935 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sitename, r->count));
8937 if (r->subnetname) {
8938 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->subnetname, r->count));
8941 return NDR_ERR_SUCCESS;
8944 _PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesExWCtr(struct ndr_print *ndr, const char *name, const struct netr_DsRAddressToSitenamesExWCtr *r)
8946 uint32_t cntr_sitename_1;
8947 uint32_t cntr_subnetname_1;
8948 ndr_print_struct(ndr, name, "netr_DsRAddressToSitenamesExWCtr");
8950 ndr_print_uint32(ndr, "count", r->count);
8951 ndr_print_ptr(ndr, "sitename", r->sitename);
8954 ndr->print(ndr, "%s: ARRAY(%d)", "sitename", (int)r->count);
8956 for (cntr_sitename_1=0;cntr_sitename_1<r->count;cntr_sitename_1++) {
8958 if (asprintf(&idx_1, "[%d]", cntr_sitename_1) != -1) {
8959 ndr_print_lsa_String(ndr, "sitename", &r->sitename[cntr_sitename_1]);
8966 ndr_print_ptr(ndr, "subnetname", r->subnetname);
8968 if (r->subnetname) {
8969 ndr->print(ndr, "%s: ARRAY(%d)", "subnetname", (int)r->count);
8971 for (cntr_subnetname_1=0;cntr_subnetname_1<r->count;cntr_subnetname_1++) {
8973 if (asprintf(&idx_1, "[%d]", cntr_subnetname_1) != -1) {
8974 ndr_print_lsa_String(ndr, "subnetname", &r->subnetname[cntr_subnetname_1]);
8984 static enum ndr_err_code ndr_push_DcSitesCtr(struct ndr_push *ndr, int ndr_flags, const struct DcSitesCtr *r)
8986 uint32_t cntr_sites_1;
8987 if (ndr_flags & NDR_SCALARS) {
8988 NDR_CHECK(ndr_push_align(ndr, 4));
8989 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sites));
8990 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sites));
8992 if (ndr_flags & NDR_BUFFERS) {
8994 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sites));
8995 for (cntr_sites_1 = 0; cntr_sites_1 < r->num_sites; cntr_sites_1++) {
8996 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->sites[cntr_sites_1]));
8998 for (cntr_sites_1 = 0; cntr_sites_1 < r->num_sites; cntr_sites_1++) {
8999 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->sites[cntr_sites_1]));
9003 return NDR_ERR_SUCCESS;
9006 static enum ndr_err_code ndr_pull_DcSitesCtr(struct ndr_pull *ndr, int ndr_flags, struct DcSitesCtr *r)
9008 uint32_t _ptr_sites;
9009 uint32_t cntr_sites_1;
9010 TALLOC_CTX *_mem_save_sites_0;
9011 TALLOC_CTX *_mem_save_sites_1;
9012 if (ndr_flags & NDR_SCALARS) {
9013 NDR_CHECK(ndr_pull_align(ndr, 4));
9014 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_sites));
9015 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sites));
9017 NDR_PULL_ALLOC(ndr, r->sites);
9022 if (ndr_flags & NDR_BUFFERS) {
9024 _mem_save_sites_0 = NDR_PULL_GET_MEM_CTX(ndr);
9025 NDR_PULL_SET_MEM_CTX(ndr, r->sites, 0);
9026 NDR_CHECK(ndr_pull_array_size(ndr, &r->sites));
9027 NDR_PULL_ALLOC_N(ndr, r->sites, ndr_get_array_size(ndr, &r->sites));
9028 _mem_save_sites_1 = NDR_PULL_GET_MEM_CTX(ndr);
9029 NDR_PULL_SET_MEM_CTX(ndr, r->sites, 0);
9030 for (cntr_sites_1 = 0; cntr_sites_1 < r->num_sites; cntr_sites_1++) {
9031 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->sites[cntr_sites_1]));
9033 for (cntr_sites_1 = 0; cntr_sites_1 < r->num_sites; cntr_sites_1++) {
9034 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->sites[cntr_sites_1]));
9036 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sites_1, 0);
9037 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sites_0, 0);
9040 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sites, r->num_sites));
9043 return NDR_ERR_SUCCESS;
9046 _PUBLIC_ void ndr_print_DcSitesCtr(struct ndr_print *ndr, const char *name, const struct DcSitesCtr *r)
9048 uint32_t cntr_sites_1;
9049 ndr_print_struct(ndr, name, "DcSitesCtr");
9051 ndr_print_uint32(ndr, "num_sites", r->num_sites);
9052 ndr_print_ptr(ndr, "sites", r->sites);
9055 ndr->print(ndr, "%s: ARRAY(%d)", "sites", (int)r->num_sites);
9057 for (cntr_sites_1=0;cntr_sites_1<r->num_sites;cntr_sites_1++) {
9059 if (asprintf(&idx_1, "[%d]", cntr_sites_1) != -1) {
9060 ndr_print_lsa_String(ndr, "sites", &r->sites[cntr_sites_1]);
9070 static enum ndr_err_code ndr_push_netr_TrustInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_TrustInfo *r)
9072 uint32_t cntr_data_1;
9073 uint32_t cntr_entries_1;
9074 if (ndr_flags & NDR_SCALARS) {
9075 NDR_CHECK(ndr_push_align(ndr, 4));
9076 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9077 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
9078 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->entry_count));
9079 NDR_CHECK(ndr_push_unique_ptr(ndr, r->entries));
9081 if (ndr_flags & NDR_BUFFERS) {
9083 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9084 for (cntr_data_1 = 0; cntr_data_1 < r->count; cntr_data_1++) {
9085 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->data[cntr_data_1]));
9089 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9090 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
9091 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
9093 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
9094 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
9098 return NDR_ERR_SUCCESS;
9101 static enum ndr_err_code ndr_pull_netr_TrustInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_TrustInfo *r)
9104 uint32_t cntr_data_1;
9105 TALLOC_CTX *_mem_save_data_0;
9106 TALLOC_CTX *_mem_save_data_1;
9107 uint32_t _ptr_entries;
9108 uint32_t cntr_entries_1;
9109 TALLOC_CTX *_mem_save_entries_0;
9110 TALLOC_CTX *_mem_save_entries_1;
9111 if (ndr_flags & NDR_SCALARS) {
9112 NDR_CHECK(ndr_pull_align(ndr, 4));
9113 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
9114 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
9116 NDR_PULL_ALLOC(ndr, r->data);
9120 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->entry_count));
9121 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_entries));
9123 NDR_PULL_ALLOC(ndr, r->entries);
9128 if (ndr_flags & NDR_BUFFERS) {
9130 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
9131 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
9132 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
9133 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
9134 _mem_save_data_1 = NDR_PULL_GET_MEM_CTX(ndr);
9135 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
9136 for (cntr_data_1 = 0; cntr_data_1 < r->count; cntr_data_1++) {
9137 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->data[cntr_data_1]));
9139 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_1, 0);
9140 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
9143 _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
9144 NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
9145 NDR_CHECK(ndr_pull_array_size(ndr, &r->entries));
9146 NDR_PULL_ALLOC_N(ndr, r->entries, ndr_get_array_size(ndr, &r->entries));
9147 _mem_save_entries_1 = NDR_PULL_GET_MEM_CTX(ndr);
9148 NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
9149 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
9150 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
9152 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
9153 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
9155 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_1, 0);
9156 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0);
9159 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->count));
9162 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->entries, r->count));
9165 return NDR_ERR_SUCCESS;
9168 _PUBLIC_ void ndr_print_netr_TrustInfo(struct ndr_print *ndr, const char *name, const struct netr_TrustInfo *r)
9170 uint32_t cntr_data_1;
9171 uint32_t cntr_entries_1;
9172 ndr_print_struct(ndr, name, "netr_TrustInfo");
9174 ndr_print_uint32(ndr, "count", r->count);
9175 ndr_print_ptr(ndr, "data", r->data);
9178 ndr->print(ndr, "%s: ARRAY(%d)", "data", (int)r->count);
9180 for (cntr_data_1=0;cntr_data_1<r->count;cntr_data_1++) {
9182 if (asprintf(&idx_1, "[%d]", cntr_data_1) != -1) {
9183 ndr_print_uint32(ndr, "data", r->data[cntr_data_1]);
9190 ndr_print_uint32(ndr, "entry_count", r->entry_count);
9191 ndr_print_ptr(ndr, "entries", r->entries);
9194 ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)r->count);
9196 for (cntr_entries_1=0;cntr_entries_1<r->count;cntr_entries_1++) {
9198 if (asprintf(&idx_1, "[%d]", cntr_entries_1) != -1) {
9199 ndr_print_lsa_String(ndr, "entries", &r->entries[cntr_entries_1]);
9209 static enum ndr_err_code ndr_push_netr_LogonUasLogon(struct ndr_push *ndr, int flags, const struct netr_LogonUasLogon *r)
9211 if (flags & NDR_IN) {
9212 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
9213 if (r->in.server_name) {
9214 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9215 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9216 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9217 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));
9219 if (r->in.account_name == NULL) {
9220 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9222 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
9223 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9224 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
9225 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));
9226 if (r->in.workstation == NULL) {
9227 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9229 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
9230 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9231 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
9232 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.workstation, ndr_charset_length(r->in.workstation, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9234 if (flags & NDR_OUT) {
9235 if (r->out.info == NULL) {
9236 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9238 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
9240 NDR_CHECK(ndr_push_netr_UasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
9242 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
9244 return NDR_ERR_SUCCESS;
9247 static enum ndr_err_code ndr_pull_netr_LogonUasLogon(struct ndr_pull *ndr, int flags, struct netr_LogonUasLogon *r)
9249 uint32_t _ptr_server_name;
9251 TALLOC_CTX *_mem_save_server_name_0;
9252 TALLOC_CTX *_mem_save_info_0;
9253 TALLOC_CTX *_mem_save_info_1;
9254 if (flags & NDR_IN) {
9255 ZERO_STRUCT(r->out);
9257 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
9258 if (_ptr_server_name) {
9259 NDR_PULL_ALLOC(ndr, r->in.server_name);
9261 r->in.server_name = NULL;
9263 if (r->in.server_name) {
9264 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9265 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
9266 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
9267 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
9268 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
9269 return 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));
9271 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
9272 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));
9273 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
9275 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
9276 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
9277 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
9278 return 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));
9280 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
9281 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));
9282 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.workstation));
9283 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.workstation));
9284 if (ndr_get_array_length(ndr, &r->in.workstation) > ndr_get_array_size(ndr, &r->in.workstation)) {
9285 return 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));
9287 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.workstation), sizeof(uint16_t)));
9288 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.workstation, ndr_get_array_length(ndr, &r->in.workstation), sizeof(uint16_t), CH_UTF16));
9289 NDR_PULL_ALLOC(ndr, r->out.info);
9290 ZERO_STRUCTP(r->out.info);
9292 if (flags & NDR_OUT) {
9293 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9294 NDR_PULL_ALLOC(ndr, r->out.info);
9296 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
9297 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
9298 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
9300 NDR_PULL_ALLOC(ndr, *r->out.info);
9302 *r->out.info = NULL;
9305 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
9306 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
9307 NDR_CHECK(ndr_pull_netr_UasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
9308 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
9310 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
9311 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
9313 return NDR_ERR_SUCCESS;
9316 _PUBLIC_ void ndr_print_netr_LogonUasLogon(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonUasLogon *r)
9318 ndr_print_struct(ndr, name, "netr_LogonUasLogon");
9320 if (flags & NDR_SET_VALUES) {
9321 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9323 if (flags & NDR_IN) {
9324 ndr_print_struct(ndr, "in", "netr_LogonUasLogon");
9326 ndr_print_ptr(ndr, "server_name", r->in.server_name);
9328 if (r->in.server_name) {
9329 ndr_print_string(ndr, "server_name", r->in.server_name);
9332 ndr_print_ptr(ndr, "account_name", r->in.account_name);
9334 ndr_print_string(ndr, "account_name", r->in.account_name);
9336 ndr_print_ptr(ndr, "workstation", r->in.workstation);
9338 ndr_print_string(ndr, "workstation", r->in.workstation);
9342 if (flags & NDR_OUT) {
9343 ndr_print_struct(ndr, "out", "netr_LogonUasLogon");
9345 ndr_print_ptr(ndr, "info", r->out.info);
9347 ndr_print_ptr(ndr, "info", *r->out.info);
9350 ndr_print_netr_UasInfo(ndr, "info", *r->out.info);
9354 ndr_print_WERROR(ndr, "result", r->out.result);
9360 static enum ndr_err_code ndr_push_netr_LogonUasLogoff(struct ndr_push *ndr, int flags, const struct netr_LogonUasLogoff *r)
9362 if (flags & NDR_IN) {
9363 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
9364 if (r->in.server_name) {
9365 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9366 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9367 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9368 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));
9370 if (r->in.account_name == NULL) {
9371 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9373 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
9374 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9375 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
9376 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));
9377 if (r->in.workstation == NULL) {
9378 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9380 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
9381 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9382 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
9383 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.workstation, ndr_charset_length(r->in.workstation, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9385 if (flags & NDR_OUT) {
9386 if (r->out.info == NULL) {
9387 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9389 NDR_CHECK(ndr_push_netr_UasLogoffInfo(ndr, NDR_SCALARS, r->out.info));
9390 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
9392 return NDR_ERR_SUCCESS;
9395 static enum ndr_err_code ndr_pull_netr_LogonUasLogoff(struct ndr_pull *ndr, int flags, struct netr_LogonUasLogoff *r)
9397 uint32_t _ptr_server_name;
9398 TALLOC_CTX *_mem_save_server_name_0;
9399 TALLOC_CTX *_mem_save_info_0;
9400 if (flags & NDR_IN) {
9401 ZERO_STRUCT(r->out);
9403 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
9404 if (_ptr_server_name) {
9405 NDR_PULL_ALLOC(ndr, r->in.server_name);
9407 r->in.server_name = NULL;
9409 if (r->in.server_name) {
9410 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9411 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
9412 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
9413 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
9414 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
9415 return 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));
9417 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
9418 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));
9419 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
9421 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
9422 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
9423 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
9424 return 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));
9426 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
9427 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));
9428 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.workstation));
9429 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.workstation));
9430 if (ndr_get_array_length(ndr, &r->in.workstation) > ndr_get_array_size(ndr, &r->in.workstation)) {
9431 return 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));
9433 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.workstation), sizeof(uint16_t)));
9434 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.workstation, ndr_get_array_length(ndr, &r->in.workstation), sizeof(uint16_t), CH_UTF16));
9435 NDR_PULL_ALLOC(ndr, r->out.info);
9436 ZERO_STRUCTP(r->out.info);
9438 if (flags & NDR_OUT) {
9439 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9440 NDR_PULL_ALLOC(ndr, r->out.info);
9442 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
9443 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
9444 NDR_CHECK(ndr_pull_netr_UasLogoffInfo(ndr, NDR_SCALARS, r->out.info));
9445 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
9446 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
9448 return NDR_ERR_SUCCESS;
9451 _PUBLIC_ void ndr_print_netr_LogonUasLogoff(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonUasLogoff *r)
9453 ndr_print_struct(ndr, name, "netr_LogonUasLogoff");
9455 if (flags & NDR_SET_VALUES) {
9456 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9458 if (flags & NDR_IN) {
9459 ndr_print_struct(ndr, "in", "netr_LogonUasLogoff");
9461 ndr_print_ptr(ndr, "server_name", r->in.server_name);
9463 if (r->in.server_name) {
9464 ndr_print_string(ndr, "server_name", r->in.server_name);
9467 ndr_print_ptr(ndr, "account_name", r->in.account_name);
9469 ndr_print_string(ndr, "account_name", r->in.account_name);
9471 ndr_print_ptr(ndr, "workstation", r->in.workstation);
9473 ndr_print_string(ndr, "workstation", r->in.workstation);
9477 if (flags & NDR_OUT) {
9478 ndr_print_struct(ndr, "out", "netr_LogonUasLogoff");
9480 ndr_print_ptr(ndr, "info", r->out.info);
9482 ndr_print_netr_UasLogoffInfo(ndr, "info", r->out.info);
9484 ndr_print_WERROR(ndr, "result", r->out.result);
9490 static enum ndr_err_code ndr_push_netr_LogonSamLogon(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogon *r)
9492 if (flags & NDR_IN) {
9493 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
9494 if (r->in.server_name) {
9495 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9496 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9497 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9498 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));
9500 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
9501 if (r->in.computer_name) {
9502 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
9503 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9504 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
9505 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));
9507 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.credential));
9508 if (r->in.credential) {
9509 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
9511 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.return_authenticator));
9512 if (r->in.return_authenticator) {
9513 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9515 NDR_CHECK(ndr_push_netr_LogonInfoClass(ndr, NDR_SCALARS, r->in.logon_level));
9516 if (r->in.logon == NULL) {
9517 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9519 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.logon, r->in.logon_level));
9520 NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
9521 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.validation_level));
9523 if (flags & NDR_OUT) {
9524 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.return_authenticator));
9525 if (r->out.return_authenticator) {
9526 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9528 if (r->out.validation == NULL) {
9529 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9531 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.validation, r->in.validation_level));
9532 NDR_CHECK(ndr_push_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
9533 if (r->out.authoritative == NULL) {
9534 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9536 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, *r->out.authoritative));
9537 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9539 return NDR_ERR_SUCCESS;
9542 static enum ndr_err_code ndr_pull_netr_LogonSamLogon(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogon *r)
9544 uint32_t _ptr_server_name;
9545 uint32_t _ptr_computer_name;
9546 uint32_t _ptr_credential;
9547 uint32_t _ptr_return_authenticator;
9548 TALLOC_CTX *_mem_save_server_name_0;
9549 TALLOC_CTX *_mem_save_computer_name_0;
9550 TALLOC_CTX *_mem_save_credential_0;
9551 TALLOC_CTX *_mem_save_return_authenticator_0;
9552 TALLOC_CTX *_mem_save_logon_0;
9553 TALLOC_CTX *_mem_save_validation_0;
9554 TALLOC_CTX *_mem_save_authoritative_0;
9555 if (flags & NDR_IN) {
9556 ZERO_STRUCT(r->out);
9558 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
9559 if (_ptr_server_name) {
9560 NDR_PULL_ALLOC(ndr, r->in.server_name);
9562 r->in.server_name = NULL;
9564 if (r->in.server_name) {
9565 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9566 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
9567 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
9568 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
9569 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
9570 return 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));
9572 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
9573 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));
9574 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
9576 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
9577 if (_ptr_computer_name) {
9578 NDR_PULL_ALLOC(ndr, r->in.computer_name);
9580 r->in.computer_name = NULL;
9582 if (r->in.computer_name) {
9583 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9584 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
9585 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
9586 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
9587 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
9588 return 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));
9590 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
9591 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));
9592 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
9594 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_credential));
9595 if (_ptr_credential) {
9596 NDR_PULL_ALLOC(ndr, r->in.credential);
9598 r->in.credential = NULL;
9600 if (r->in.credential) {
9601 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
9602 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, 0);
9603 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
9604 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, 0);
9606 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
9607 if (_ptr_return_authenticator) {
9608 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
9610 r->in.return_authenticator = NULL;
9612 if (r->in.return_authenticator) {
9613 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9614 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, 0);
9615 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9616 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
9618 NDR_CHECK(ndr_pull_netr_LogonInfoClass(ndr, NDR_SCALARS, &r->in.logon_level));
9619 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9620 NDR_PULL_ALLOC(ndr, r->in.logon);
9622 _mem_save_logon_0 = NDR_PULL_GET_MEM_CTX(ndr);
9623 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon, LIBNDR_FLAG_REF_ALLOC);
9624 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.logon, r->in.logon_level));
9625 NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
9626 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_0, LIBNDR_FLAG_REF_ALLOC);
9627 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.validation_level));
9628 NDR_PULL_ALLOC(ndr, r->out.validation);
9629 ZERO_STRUCTP(r->out.validation);
9630 NDR_PULL_ALLOC(ndr, r->out.authoritative);
9631 ZERO_STRUCTP(r->out.authoritative);
9633 if (flags & NDR_OUT) {
9634 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
9635 if (_ptr_return_authenticator) {
9636 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9638 r->out.return_authenticator = NULL;
9640 if (r->out.return_authenticator) {
9641 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9642 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, 0);
9643 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9644 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
9646 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9647 NDR_PULL_ALLOC(ndr, r->out.validation);
9649 _mem_save_validation_0 = NDR_PULL_GET_MEM_CTX(ndr);
9650 NDR_PULL_SET_MEM_CTX(ndr, r->out.validation, LIBNDR_FLAG_REF_ALLOC);
9651 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.validation, r->in.validation_level));
9652 NDR_CHECK(ndr_pull_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
9653 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_validation_0, LIBNDR_FLAG_REF_ALLOC);
9654 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9655 NDR_PULL_ALLOC(ndr, r->out.authoritative);
9657 _mem_save_authoritative_0 = NDR_PULL_GET_MEM_CTX(ndr);
9658 NDR_PULL_SET_MEM_CTX(ndr, r->out.authoritative, LIBNDR_FLAG_REF_ALLOC);
9659 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, r->out.authoritative));
9660 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_authoritative_0, LIBNDR_FLAG_REF_ALLOC);
9661 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9663 return NDR_ERR_SUCCESS;
9666 _PUBLIC_ void ndr_print_netr_LogonSamLogon(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogon *r)
9668 ndr_print_struct(ndr, name, "netr_LogonSamLogon");
9670 if (flags & NDR_SET_VALUES) {
9671 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9673 if (flags & NDR_IN) {
9674 ndr_print_struct(ndr, "in", "netr_LogonSamLogon");
9676 ndr_print_ptr(ndr, "server_name", r->in.server_name);
9678 if (r->in.server_name) {
9679 ndr_print_string(ndr, "server_name", r->in.server_name);
9682 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
9684 if (r->in.computer_name) {
9685 ndr_print_string(ndr, "computer_name", r->in.computer_name);
9688 ndr_print_ptr(ndr, "credential", r->in.credential);
9690 if (r->in.credential) {
9691 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
9694 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
9696 if (r->in.return_authenticator) {
9697 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
9700 ndr_print_netr_LogonInfoClass(ndr, "logon_level", r->in.logon_level);
9701 ndr_print_ptr(ndr, "logon", r->in.logon);
9703 ndr_print_set_switch_value(ndr, r->in.logon, r->in.logon_level);
9704 ndr_print_netr_LogonLevel(ndr, "logon", r->in.logon);
9706 ndr_print_uint16(ndr, "validation_level", r->in.validation_level);
9709 if (flags & NDR_OUT) {
9710 ndr_print_struct(ndr, "out", "netr_LogonSamLogon");
9712 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
9714 if (r->out.return_authenticator) {
9715 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
9718 ndr_print_ptr(ndr, "validation", r->out.validation);
9720 ndr_print_set_switch_value(ndr, r->out.validation, r->in.validation_level);
9721 ndr_print_netr_Validation(ndr, "validation", r->out.validation);
9723 ndr_print_ptr(ndr, "authoritative", r->out.authoritative);
9725 ndr_print_uint8(ndr, "authoritative", *r->out.authoritative);
9727 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9733 static enum ndr_err_code ndr_push_netr_LogonSamLogoff(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogoff *r)
9735 if (flags & NDR_IN) {
9736 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
9737 if (r->in.server_name) {
9738 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9739 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9740 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9741 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));
9743 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
9744 if (r->in.computer_name) {
9745 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
9746 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9747 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
9748 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));
9750 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.credential));
9751 if (r->in.credential) {
9752 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
9754 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.return_authenticator));
9755 if (r->in.return_authenticator) {
9756 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9758 NDR_CHECK(ndr_push_netr_LogonInfoClass(ndr, NDR_SCALARS, r->in.logon_level));
9759 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.logon, r->in.logon_level));
9760 NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon));
9762 if (flags & NDR_OUT) {
9763 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.return_authenticator));
9764 if (r->out.return_authenticator) {
9765 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9767 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9769 return NDR_ERR_SUCCESS;
9772 static enum ndr_err_code ndr_pull_netr_LogonSamLogoff(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogoff *r)
9774 uint32_t _ptr_server_name;
9775 uint32_t _ptr_computer_name;
9776 uint32_t _ptr_credential;
9777 uint32_t _ptr_return_authenticator;
9778 TALLOC_CTX *_mem_save_server_name_0;
9779 TALLOC_CTX *_mem_save_computer_name_0;
9780 TALLOC_CTX *_mem_save_credential_0;
9781 TALLOC_CTX *_mem_save_return_authenticator_0;
9782 if (flags & NDR_IN) {
9783 ZERO_STRUCT(r->out);
9785 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
9786 if (_ptr_server_name) {
9787 NDR_PULL_ALLOC(ndr, r->in.server_name);
9789 r->in.server_name = NULL;
9791 if (r->in.server_name) {
9792 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9793 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
9794 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
9795 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
9796 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
9797 return 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));
9799 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
9800 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));
9801 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
9803 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
9804 if (_ptr_computer_name) {
9805 NDR_PULL_ALLOC(ndr, r->in.computer_name);
9807 r->in.computer_name = NULL;
9809 if (r->in.computer_name) {
9810 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9811 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
9812 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
9813 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
9814 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
9815 return 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));
9817 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
9818 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));
9819 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
9821 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_credential));
9822 if (_ptr_credential) {
9823 NDR_PULL_ALLOC(ndr, r->in.credential);
9825 r->in.credential = NULL;
9827 if (r->in.credential) {
9828 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
9829 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, 0);
9830 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
9831 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, 0);
9833 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
9834 if (_ptr_return_authenticator) {
9835 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
9837 r->in.return_authenticator = NULL;
9839 if (r->in.return_authenticator) {
9840 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9841 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, 0);
9842 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9843 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
9845 NDR_CHECK(ndr_pull_netr_LogonInfoClass(ndr, NDR_SCALARS, &r->in.logon_level));
9846 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.logon, r->in.logon_level));
9847 NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon));
9849 if (flags & NDR_OUT) {
9850 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
9851 if (_ptr_return_authenticator) {
9852 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9854 r->out.return_authenticator = NULL;
9856 if (r->out.return_authenticator) {
9857 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9858 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, 0);
9859 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9860 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
9862 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9864 return NDR_ERR_SUCCESS;
9867 _PUBLIC_ void ndr_print_netr_LogonSamLogoff(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogoff *r)
9869 ndr_print_struct(ndr, name, "netr_LogonSamLogoff");
9871 if (flags & NDR_SET_VALUES) {
9872 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9874 if (flags & NDR_IN) {
9875 ndr_print_struct(ndr, "in", "netr_LogonSamLogoff");
9877 ndr_print_ptr(ndr, "server_name", r->in.server_name);
9879 if (r->in.server_name) {
9880 ndr_print_string(ndr, "server_name", r->in.server_name);
9883 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
9885 if (r->in.computer_name) {
9886 ndr_print_string(ndr, "computer_name", r->in.computer_name);
9889 ndr_print_ptr(ndr, "credential", r->in.credential);
9891 if (r->in.credential) {
9892 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
9895 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
9897 if (r->in.return_authenticator) {
9898 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
9901 ndr_print_netr_LogonInfoClass(ndr, "logon_level", r->in.logon_level);
9902 ndr_print_set_switch_value(ndr, &r->in.logon, r->in.logon_level);
9903 ndr_print_netr_LogonLevel(ndr, "logon", &r->in.logon);
9906 if (flags & NDR_OUT) {
9907 ndr_print_struct(ndr, "out", "netr_LogonSamLogoff");
9909 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
9911 if (r->out.return_authenticator) {
9912 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
9915 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9921 _PUBLIC_ enum ndr_err_code ndr_push_netr_ServerReqChallenge(struct ndr_push *ndr, int flags, const struct netr_ServerReqChallenge *r)
9923 if (flags & NDR_IN) {
9924 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
9925 if (r->in.server_name) {
9926 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9927 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9928 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9929 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));
9931 if (r->in.computer_name == NULL) {
9932 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9934 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
9935 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9936 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
9937 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));
9938 if (r->in.credentials == NULL) {
9939 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9941 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
9943 if (flags & NDR_OUT) {
9944 if (r->out.return_credentials == NULL) {
9945 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9947 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
9948 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9950 return NDR_ERR_SUCCESS;
9953 _PUBLIC_ enum ndr_err_code ndr_pull_netr_ServerReqChallenge(struct ndr_pull *ndr, int flags, struct netr_ServerReqChallenge *r)
9955 uint32_t _ptr_server_name;
9956 TALLOC_CTX *_mem_save_server_name_0;
9957 TALLOC_CTX *_mem_save_credentials_0;
9958 TALLOC_CTX *_mem_save_return_credentials_0;
9959 if (flags & NDR_IN) {
9960 ZERO_STRUCT(r->out);
9962 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
9963 if (_ptr_server_name) {
9964 NDR_PULL_ALLOC(ndr, r->in.server_name);
9966 r->in.server_name = NULL;
9968 if (r->in.server_name) {
9969 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9970 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
9971 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
9972 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
9973 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
9974 return 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));
9976 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
9977 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));
9978 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
9980 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
9981 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
9982 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
9983 return 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));
9985 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
9986 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));
9987 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9988 NDR_PULL_ALLOC(ndr, r->in.credentials);
9990 _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
9991 NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC);
9992 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
9993 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
9994 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
9995 ZERO_STRUCTP(r->out.return_credentials);
9997 if (flags & NDR_OUT) {
9998 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9999 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
10001 _mem_save_return_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
10002 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_credentials, LIBNDR_FLAG_REF_ALLOC);
10003 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
10004 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_credentials_0, LIBNDR_FLAG_REF_ALLOC);
10005 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10007 return NDR_ERR_SUCCESS;
10010 _PUBLIC_ void ndr_print_netr_ServerReqChallenge(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerReqChallenge *r)
10012 ndr_print_struct(ndr, name, "netr_ServerReqChallenge");
10014 if (flags & NDR_SET_VALUES) {
10015 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10017 if (flags & NDR_IN) {
10018 ndr_print_struct(ndr, "in", "netr_ServerReqChallenge");
10020 ndr_print_ptr(ndr, "server_name", r->in.server_name);
10022 if (r->in.server_name) {
10023 ndr_print_string(ndr, "server_name", r->in.server_name);
10026 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
10028 ndr_print_string(ndr, "computer_name", r->in.computer_name);
10030 ndr_print_ptr(ndr, "credentials", r->in.credentials);
10032 ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
10036 if (flags & NDR_OUT) {
10037 ndr_print_struct(ndr, "out", "netr_ServerReqChallenge");
10039 ndr_print_ptr(ndr, "return_credentials", r->out.return_credentials);
10041 ndr_print_netr_Credential(ndr, "return_credentials", r->out.return_credentials);
10043 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10049 static enum ndr_err_code ndr_push_netr_ServerAuthenticate(struct ndr_push *ndr, int flags, const struct netr_ServerAuthenticate *r)
10051 if (flags & NDR_IN) {
10052 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
10053 if (r->in.server_name) {
10054 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
10055 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10056 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
10057 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));
10059 if (r->in.account_name == NULL) {
10060 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10062 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
10063 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10064 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
10065 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));
10066 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
10067 if (r->in.computer_name == NULL) {
10068 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10070 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
10071 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10072 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
10073 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));
10074 if (r->in.credentials == NULL) {
10075 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10077 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
10079 if (flags & NDR_OUT) {
10080 if (r->out.return_credentials == NULL) {
10081 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10083 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
10084 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10086 return NDR_ERR_SUCCESS;
10089 static enum ndr_err_code ndr_pull_netr_ServerAuthenticate(struct ndr_pull *ndr, int flags, struct netr_ServerAuthenticate *r)
10091 uint32_t _ptr_server_name;
10092 TALLOC_CTX *_mem_save_server_name_0;
10093 TALLOC_CTX *_mem_save_credentials_0;
10094 TALLOC_CTX *_mem_save_return_credentials_0;
10095 if (flags & NDR_IN) {
10096 ZERO_STRUCT(r->out);
10098 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
10099 if (_ptr_server_name) {
10100 NDR_PULL_ALLOC(ndr, r->in.server_name);
10102 r->in.server_name = NULL;
10104 if (r->in.server_name) {
10105 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10106 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
10107 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
10108 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
10109 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
10110 return 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));
10112 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
10113 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));
10114 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
10116 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
10117 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
10118 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
10119 return 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));
10121 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
10122 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));
10123 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
10124 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
10125 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
10126 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
10127 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computer_name), ndr_get_array_length(ndr, &r->in.computer_name));
10129 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
10130 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));
10131 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10132 NDR_PULL_ALLOC(ndr, r->in.credentials);
10134 _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
10135 NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC);
10136 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
10137 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
10138 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
10139 ZERO_STRUCTP(r->out.return_credentials);
10141 if (flags & NDR_OUT) {
10142 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10143 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
10145 _mem_save_return_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
10146 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_credentials, LIBNDR_FLAG_REF_ALLOC);
10147 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
10148 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_credentials_0, LIBNDR_FLAG_REF_ALLOC);
10149 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10151 return NDR_ERR_SUCCESS;
10154 _PUBLIC_ void ndr_print_netr_ServerAuthenticate(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerAuthenticate *r)
10156 ndr_print_struct(ndr, name, "netr_ServerAuthenticate");
10158 if (flags & NDR_SET_VALUES) {
10159 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10161 if (flags & NDR_IN) {
10162 ndr_print_struct(ndr, "in", "netr_ServerAuthenticate");
10164 ndr_print_ptr(ndr, "server_name", r->in.server_name);
10166 if (r->in.server_name) {
10167 ndr_print_string(ndr, "server_name", r->in.server_name);
10170 ndr_print_ptr(ndr, "account_name", r->in.account_name);
10172 ndr_print_string(ndr, "account_name", r->in.account_name);
10174 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
10175 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
10177 ndr_print_string(ndr, "computer_name", r->in.computer_name);
10179 ndr_print_ptr(ndr, "credentials", r->in.credentials);
10181 ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
10185 if (flags & NDR_OUT) {
10186 ndr_print_struct(ndr, "out", "netr_ServerAuthenticate");
10188 ndr_print_ptr(ndr, "return_credentials", r->out.return_credentials);
10190 ndr_print_netr_Credential(ndr, "return_credentials", r->out.return_credentials);
10192 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10198 static enum ndr_err_code ndr_push_netr_ServerPasswordSet(struct ndr_push *ndr, int flags, const struct netr_ServerPasswordSet *r)
10200 if (flags & NDR_IN) {
10201 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
10202 if (r->in.server_name) {
10203 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
10204 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10205 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
10206 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));
10208 if (r->in.account_name == NULL) {
10209 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10211 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
10212 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10213 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
10214 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));
10215 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
10216 if (r->in.computer_name == NULL) {
10217 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10219 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
10220 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10221 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
10222 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));
10223 if (r->in.credential == NULL) {
10224 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10226 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
10227 if (r->in.new_password == NULL) {
10228 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10230 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.new_password));
10232 if (flags & NDR_OUT) {
10233 if (r->out.return_authenticator == NULL) {
10234 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10236 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10237 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10239 return NDR_ERR_SUCCESS;
10242 static enum ndr_err_code ndr_pull_netr_ServerPasswordSet(struct ndr_pull *ndr, int flags, struct netr_ServerPasswordSet *r)
10244 uint32_t _ptr_server_name;
10245 TALLOC_CTX *_mem_save_server_name_0;
10246 TALLOC_CTX *_mem_save_credential_0;
10247 TALLOC_CTX *_mem_save_return_authenticator_0;
10248 TALLOC_CTX *_mem_save_new_password_0;
10249 if (flags & NDR_IN) {
10250 ZERO_STRUCT(r->out);
10252 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
10253 if (_ptr_server_name) {
10254 NDR_PULL_ALLOC(ndr, r->in.server_name);
10256 r->in.server_name = NULL;
10258 if (r->in.server_name) {
10259 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10260 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
10261 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
10262 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
10263 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
10264 return 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));
10266 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
10267 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));
10268 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
10270 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
10271 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
10272 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
10273 return 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));
10275 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
10276 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));
10277 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
10278 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
10279 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
10280 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
10281 return 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));
10283 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
10284 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));
10285 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10286 NDR_PULL_ALLOC(ndr, r->in.credential);
10288 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
10289 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
10290 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
10291 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
10292 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10293 NDR_PULL_ALLOC(ndr, r->in.new_password);
10295 _mem_save_new_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
10296 NDR_PULL_SET_MEM_CTX(ndr, r->in.new_password, LIBNDR_FLAG_REF_ALLOC);
10297 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.new_password));
10298 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_password_0, LIBNDR_FLAG_REF_ALLOC);
10299 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10300 ZERO_STRUCTP(r->out.return_authenticator);
10302 if (flags & NDR_OUT) {
10303 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10304 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10306 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10307 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10308 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10309 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10310 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10312 return NDR_ERR_SUCCESS;
10315 _PUBLIC_ void ndr_print_netr_ServerPasswordSet(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerPasswordSet *r)
10317 ndr_print_struct(ndr, name, "netr_ServerPasswordSet");
10319 if (flags & NDR_SET_VALUES) {
10320 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10322 if (flags & NDR_IN) {
10323 ndr_print_struct(ndr, "in", "netr_ServerPasswordSet");
10325 ndr_print_ptr(ndr, "server_name", r->in.server_name);
10327 if (r->in.server_name) {
10328 ndr_print_string(ndr, "server_name", r->in.server_name);
10331 ndr_print_ptr(ndr, "account_name", r->in.account_name);
10333 ndr_print_string(ndr, "account_name", r->in.account_name);
10335 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
10336 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
10338 ndr_print_string(ndr, "computer_name", r->in.computer_name);
10340 ndr_print_ptr(ndr, "credential", r->in.credential);
10342 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
10344 ndr_print_ptr(ndr, "new_password", r->in.new_password);
10346 ndr_print_samr_Password(ndr, "new_password", r->in.new_password);
10350 if (flags & NDR_OUT) {
10351 ndr_print_struct(ndr, "out", "netr_ServerPasswordSet");
10353 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
10355 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
10357 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10363 static enum ndr_err_code ndr_push_netr_DatabaseDeltas(struct ndr_push *ndr, int flags, const struct netr_DatabaseDeltas *r)
10365 if (flags & NDR_IN) {
10366 if (r->in.logon_server == NULL) {
10367 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10369 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10370 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10371 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10372 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));
10373 if (r->in.computername == NULL) {
10374 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10376 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
10377 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10378 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
10379 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10380 if (r->in.credential == NULL) {
10381 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10383 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
10384 if (r->in.return_authenticator == NULL) {
10385 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10387 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10388 NDR_CHECK(ndr_push_netr_SamDatabaseID(ndr, NDR_SCALARS, r->in.database_id));
10389 if (r->in.sequence_num == NULL) {
10390 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10392 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, *r->in.sequence_num));
10393 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.preferredmaximumlength));
10395 if (flags & NDR_OUT) {
10396 if (r->out.return_authenticator == NULL) {
10397 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10399 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10400 if (r->out.sequence_num == NULL) {
10401 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10403 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, *r->out.sequence_num));
10404 if (r->out.delta_enum_array == NULL) {
10405 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10407 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.delta_enum_array));
10408 if (*r->out.delta_enum_array) {
10409 NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
10411 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10413 return NDR_ERR_SUCCESS;
10416 static enum ndr_err_code ndr_pull_netr_DatabaseDeltas(struct ndr_pull *ndr, int flags, struct netr_DatabaseDeltas *r)
10418 uint32_t _ptr_delta_enum_array;
10419 TALLOC_CTX *_mem_save_credential_0;
10420 TALLOC_CTX *_mem_save_return_authenticator_0;
10421 TALLOC_CTX *_mem_save_sequence_num_0;
10422 TALLOC_CTX *_mem_save_delta_enum_array_0;
10423 TALLOC_CTX *_mem_save_delta_enum_array_1;
10424 if (flags & NDR_IN) {
10425 ZERO_STRUCT(r->out);
10427 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
10428 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
10429 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
10430 return 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));
10432 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
10433 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));
10434 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
10435 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
10436 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
10437 return 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));
10439 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
10440 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
10441 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10442 NDR_PULL_ALLOC(ndr, r->in.credential);
10444 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
10445 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
10446 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
10447 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
10448 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10449 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
10451 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10452 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10453 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10454 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10455 NDR_CHECK(ndr_pull_netr_SamDatabaseID(ndr, NDR_SCALARS, &r->in.database_id));
10456 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10457 NDR_PULL_ALLOC(ndr, r->in.sequence_num);
10459 _mem_save_sequence_num_0 = NDR_PULL_GET_MEM_CTX(ndr);
10460 NDR_PULL_SET_MEM_CTX(ndr, r->in.sequence_num, LIBNDR_FLAG_REF_ALLOC);
10461 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, r->in.sequence_num));
10462 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sequence_num_0, LIBNDR_FLAG_REF_ALLOC);
10463 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.preferredmaximumlength));
10464 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10465 *r->out.return_authenticator = *r->in.return_authenticator;
10466 NDR_PULL_ALLOC(ndr, r->out.sequence_num);
10467 *r->out.sequence_num = *r->in.sequence_num;
10468 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
10469 ZERO_STRUCTP(r->out.delta_enum_array);
10471 if (flags & NDR_OUT) {
10472 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10473 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10475 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10476 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10477 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10478 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10479 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10480 NDR_PULL_ALLOC(ndr, r->out.sequence_num);
10482 _mem_save_sequence_num_0 = NDR_PULL_GET_MEM_CTX(ndr);
10483 NDR_PULL_SET_MEM_CTX(ndr, r->out.sequence_num, LIBNDR_FLAG_REF_ALLOC);
10484 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, r->out.sequence_num));
10485 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sequence_num_0, LIBNDR_FLAG_REF_ALLOC);
10486 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10487 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
10489 _mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10490 NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC);
10491 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum_array));
10492 if (_ptr_delta_enum_array) {
10493 NDR_PULL_ALLOC(ndr, *r->out.delta_enum_array);
10495 *r->out.delta_enum_array = NULL;
10497 if (*r->out.delta_enum_array) {
10498 _mem_save_delta_enum_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
10499 NDR_PULL_SET_MEM_CTX(ndr, *r->out.delta_enum_array, 0);
10500 NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
10501 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_1, 0);
10503 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC);
10504 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10506 return NDR_ERR_SUCCESS;
10509 _PUBLIC_ void ndr_print_netr_DatabaseDeltas(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseDeltas *r)
10511 ndr_print_struct(ndr, name, "netr_DatabaseDeltas");
10513 if (flags & NDR_SET_VALUES) {
10514 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10516 if (flags & NDR_IN) {
10517 ndr_print_struct(ndr, "in", "netr_DatabaseDeltas");
10519 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
10521 ndr_print_string(ndr, "logon_server", r->in.logon_server);
10523 ndr_print_ptr(ndr, "computername", r->in.computername);
10525 ndr_print_string(ndr, "computername", r->in.computername);
10527 ndr_print_ptr(ndr, "credential", r->in.credential);
10529 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
10531 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
10533 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
10535 ndr_print_netr_SamDatabaseID(ndr, "database_id", r->in.database_id);
10536 ndr_print_ptr(ndr, "sequence_num", r->in.sequence_num);
10538 ndr_print_udlong(ndr, "sequence_num", *r->in.sequence_num);
10540 ndr_print_uint32(ndr, "preferredmaximumlength", r->in.preferredmaximumlength);
10543 if (flags & NDR_OUT) {
10544 ndr_print_struct(ndr, "out", "netr_DatabaseDeltas");
10546 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
10548 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
10550 ndr_print_ptr(ndr, "sequence_num", r->out.sequence_num);
10552 ndr_print_udlong(ndr, "sequence_num", *r->out.sequence_num);
10554 ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array);
10556 ndr_print_ptr(ndr, "delta_enum_array", *r->out.delta_enum_array);
10558 if (*r->out.delta_enum_array) {
10559 ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", *r->out.delta_enum_array);
10563 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10569 static enum ndr_err_code ndr_push_netr_DatabaseSync(struct ndr_push *ndr, int flags, const struct netr_DatabaseSync *r)
10571 if (flags & NDR_IN) {
10572 if (r->in.logon_server == NULL) {
10573 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10575 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10576 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10577 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10578 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));
10579 if (r->in.computername == NULL) {
10580 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10582 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
10583 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10584 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
10585 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10586 if (r->in.credential == NULL) {
10587 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10589 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
10590 if (r->in.return_authenticator == NULL) {
10591 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10593 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10594 NDR_CHECK(ndr_push_netr_SamDatabaseID(ndr, NDR_SCALARS, r->in.database_id));
10595 if (r->in.sync_context == NULL) {
10596 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10598 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.sync_context));
10599 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.preferredmaximumlength));
10601 if (flags & NDR_OUT) {
10602 if (r->out.return_authenticator == NULL) {
10603 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10605 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10606 if (r->out.sync_context == NULL) {
10607 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10609 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.sync_context));
10610 if (r->out.delta_enum_array == NULL) {
10611 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10613 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.delta_enum_array));
10614 if (*r->out.delta_enum_array) {
10615 NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
10617 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10619 return NDR_ERR_SUCCESS;
10622 static enum ndr_err_code ndr_pull_netr_DatabaseSync(struct ndr_pull *ndr, int flags, struct netr_DatabaseSync *r)
10624 uint32_t _ptr_delta_enum_array;
10625 TALLOC_CTX *_mem_save_credential_0;
10626 TALLOC_CTX *_mem_save_return_authenticator_0;
10627 TALLOC_CTX *_mem_save_sync_context_0;
10628 TALLOC_CTX *_mem_save_delta_enum_array_0;
10629 TALLOC_CTX *_mem_save_delta_enum_array_1;
10630 if (flags & NDR_IN) {
10631 ZERO_STRUCT(r->out);
10633 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
10634 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
10635 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
10636 return 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));
10638 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
10639 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));
10640 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
10641 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
10642 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
10643 return 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));
10645 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
10646 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
10647 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10648 NDR_PULL_ALLOC(ndr, r->in.credential);
10650 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
10651 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
10652 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
10653 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
10654 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10655 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
10657 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10658 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10659 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10660 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10661 NDR_CHECK(ndr_pull_netr_SamDatabaseID(ndr, NDR_SCALARS, &r->in.database_id));
10662 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10663 NDR_PULL_ALLOC(ndr, r->in.sync_context);
10665 _mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
10666 NDR_PULL_SET_MEM_CTX(ndr, r->in.sync_context, LIBNDR_FLAG_REF_ALLOC);
10667 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.sync_context));
10668 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC);
10669 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.preferredmaximumlength));
10670 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10671 *r->out.return_authenticator = *r->in.return_authenticator;
10672 NDR_PULL_ALLOC(ndr, r->out.sync_context);
10673 *r->out.sync_context = *r->in.sync_context;
10674 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
10675 ZERO_STRUCTP(r->out.delta_enum_array);
10677 if (flags & NDR_OUT) {
10678 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10679 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10681 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10682 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10683 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10684 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10685 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10686 NDR_PULL_ALLOC(ndr, r->out.sync_context);
10688 _mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
10689 NDR_PULL_SET_MEM_CTX(ndr, r->out.sync_context, LIBNDR_FLAG_REF_ALLOC);
10690 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.sync_context));
10691 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC);
10692 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10693 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
10695 _mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10696 NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC);
10697 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum_array));
10698 if (_ptr_delta_enum_array) {
10699 NDR_PULL_ALLOC(ndr, *r->out.delta_enum_array);
10701 *r->out.delta_enum_array = NULL;
10703 if (*r->out.delta_enum_array) {
10704 _mem_save_delta_enum_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
10705 NDR_PULL_SET_MEM_CTX(ndr, *r->out.delta_enum_array, 0);
10706 NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
10707 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_1, 0);
10709 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC);
10710 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10712 return NDR_ERR_SUCCESS;
10715 _PUBLIC_ void ndr_print_netr_DatabaseSync(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseSync *r)
10717 ndr_print_struct(ndr, name, "netr_DatabaseSync");
10719 if (flags & NDR_SET_VALUES) {
10720 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10722 if (flags & NDR_IN) {
10723 ndr_print_struct(ndr, "in", "netr_DatabaseSync");
10725 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
10727 ndr_print_string(ndr, "logon_server", r->in.logon_server);
10729 ndr_print_ptr(ndr, "computername", r->in.computername);
10731 ndr_print_string(ndr, "computername", r->in.computername);
10733 ndr_print_ptr(ndr, "credential", r->in.credential);
10735 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
10737 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
10739 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
10741 ndr_print_netr_SamDatabaseID(ndr, "database_id", r->in.database_id);
10742 ndr_print_ptr(ndr, "sync_context", r->in.sync_context);
10744 ndr_print_uint32(ndr, "sync_context", *r->in.sync_context);
10746 ndr_print_uint32(ndr, "preferredmaximumlength", r->in.preferredmaximumlength);
10749 if (flags & NDR_OUT) {
10750 ndr_print_struct(ndr, "out", "netr_DatabaseSync");
10752 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
10754 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
10756 ndr_print_ptr(ndr, "sync_context", r->out.sync_context);
10758 ndr_print_uint32(ndr, "sync_context", *r->out.sync_context);
10760 ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array);
10762 ndr_print_ptr(ndr, "delta_enum_array", *r->out.delta_enum_array);
10764 if (*r->out.delta_enum_array) {
10765 ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", *r->out.delta_enum_array);
10769 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10775 static enum ndr_err_code ndr_push_netr_AccountDeltas(struct ndr_push *ndr, int flags, const struct netr_AccountDeltas *r)
10777 if (flags & NDR_IN) {
10778 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
10779 if (r->in.logon_server) {
10780 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10781 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10782 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10783 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));
10785 if (r->in.computername == NULL) {
10786 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10788 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
10789 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10790 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
10791 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10792 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
10793 if (r->in.return_authenticator == NULL) {
10794 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10796 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10797 NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, &r->in.uas));
10798 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
10799 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
10800 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buffersize));
10802 if (flags & NDR_OUT) {
10803 if (r->out.return_authenticator == NULL) {
10804 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10806 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10807 if (r->out.buffer == NULL) {
10808 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10811 struct ndr_push *_ndr_buffer;
10812 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_buffer, 4, -1));
10813 NDR_CHECK(ndr_push_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer));
10814 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_buffer, 4, -1));
10816 if (r->out.count_returned == NULL) {
10817 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10819 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count_returned));
10820 if (r->out.total_entries == NULL) {
10821 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10823 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.total_entries));
10824 if (r->out.recordid == NULL) {
10825 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10827 NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid));
10828 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10830 return NDR_ERR_SUCCESS;
10833 static enum ndr_err_code ndr_pull_netr_AccountDeltas(struct ndr_pull *ndr, int flags, struct netr_AccountDeltas *r)
10835 uint32_t _ptr_logon_server;
10836 TALLOC_CTX *_mem_save_logon_server_0;
10837 TALLOC_CTX *_mem_save_return_authenticator_0;
10838 TALLOC_CTX *_mem_save_buffer_0;
10839 TALLOC_CTX *_mem_save_count_returned_0;
10840 TALLOC_CTX *_mem_save_total_entries_0;
10841 TALLOC_CTX *_mem_save_recordid_0;
10842 if (flags & NDR_IN) {
10843 ZERO_STRUCT(r->out);
10845 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
10846 if (_ptr_logon_server) {
10847 NDR_PULL_ALLOC(ndr, r->in.logon_server);
10849 r->in.logon_server = NULL;
10851 if (r->in.logon_server) {
10852 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
10853 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
10854 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
10855 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
10856 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
10857 return 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));
10859 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
10860 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));
10861 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
10863 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
10864 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
10865 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
10866 return 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));
10868 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
10869 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
10870 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
10871 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10872 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
10874 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10875 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10876 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10877 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10878 NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, &r->in.uas));
10879 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
10880 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
10881 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buffersize));
10882 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10883 *r->out.return_authenticator = *r->in.return_authenticator;
10884 NDR_PULL_ALLOC(ndr, r->out.buffer);
10885 ZERO_STRUCTP(r->out.buffer);
10886 NDR_PULL_ALLOC(ndr, r->out.count_returned);
10887 ZERO_STRUCTP(r->out.count_returned);
10888 NDR_PULL_ALLOC(ndr, r->out.total_entries);
10889 ZERO_STRUCTP(r->out.total_entries);
10890 NDR_PULL_ALLOC(ndr, r->out.recordid);
10891 ZERO_STRUCTP(r->out.recordid);
10893 if (flags & NDR_OUT) {
10894 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10895 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10897 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10898 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10899 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10900 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10901 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10902 NDR_PULL_ALLOC(ndr, r->out.buffer);
10904 _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
10905 NDR_PULL_SET_MEM_CTX(ndr, r->out.buffer, LIBNDR_FLAG_REF_ALLOC);
10907 struct ndr_pull *_ndr_buffer;
10908 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_buffer, 4, -1));
10909 NDR_CHECK(ndr_pull_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer));
10910 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_buffer, 4, -1));
10912 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, LIBNDR_FLAG_REF_ALLOC);
10913 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10914 NDR_PULL_ALLOC(ndr, r->out.count_returned);
10916 _mem_save_count_returned_0 = NDR_PULL_GET_MEM_CTX(ndr);
10917 NDR_PULL_SET_MEM_CTX(ndr, r->out.count_returned, LIBNDR_FLAG_REF_ALLOC);
10918 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count_returned));
10919 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_returned_0, LIBNDR_FLAG_REF_ALLOC);
10920 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10921 NDR_PULL_ALLOC(ndr, r->out.total_entries);
10923 _mem_save_total_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
10924 NDR_PULL_SET_MEM_CTX(ndr, r->out.total_entries, LIBNDR_FLAG_REF_ALLOC);
10925 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.total_entries));
10926 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_total_entries_0, LIBNDR_FLAG_REF_ALLOC);
10927 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10928 NDR_PULL_ALLOC(ndr, r->out.recordid);
10930 _mem_save_recordid_0 = NDR_PULL_GET_MEM_CTX(ndr);
10931 NDR_PULL_SET_MEM_CTX(ndr, r->out.recordid, LIBNDR_FLAG_REF_ALLOC);
10932 NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid));
10933 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_recordid_0, LIBNDR_FLAG_REF_ALLOC);
10934 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10936 return NDR_ERR_SUCCESS;
10939 _PUBLIC_ void ndr_print_netr_AccountDeltas(struct ndr_print *ndr, const char *name, int flags, const struct netr_AccountDeltas *r)
10941 ndr_print_struct(ndr, name, "netr_AccountDeltas");
10943 if (flags & NDR_SET_VALUES) {
10944 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10946 if (flags & NDR_IN) {
10947 ndr_print_struct(ndr, "in", "netr_AccountDeltas");
10949 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
10951 if (r->in.logon_server) {
10952 ndr_print_string(ndr, "logon_server", r->in.logon_server);
10955 ndr_print_ptr(ndr, "computername", r->in.computername);
10957 ndr_print_string(ndr, "computername", r->in.computername);
10959 ndr_print_netr_Authenticator(ndr, "credential", &r->in.credential);
10960 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
10962 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
10964 ndr_print_netr_UAS_INFO_0(ndr, "uas", &r->in.uas);
10965 ndr_print_uint32(ndr, "count", r->in.count);
10966 ndr_print_uint32(ndr, "level", r->in.level);
10967 ndr_print_uint32(ndr, "buffersize", r->in.buffersize);
10970 if (flags & NDR_OUT) {
10971 ndr_print_struct(ndr, "out", "netr_AccountDeltas");
10973 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
10975 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
10977 ndr_print_ptr(ndr, "buffer", r->out.buffer);
10979 ndr_print_netr_AccountBuffer(ndr, "buffer", r->out.buffer);
10981 ndr_print_ptr(ndr, "count_returned", r->out.count_returned);
10983 ndr_print_uint32(ndr, "count_returned", *r->out.count_returned);
10985 ndr_print_ptr(ndr, "total_entries", r->out.total_entries);
10987 ndr_print_uint32(ndr, "total_entries", *r->out.total_entries);
10989 ndr_print_ptr(ndr, "recordid", r->out.recordid);
10991 ndr_print_netr_UAS_INFO_0(ndr, "recordid", r->out.recordid);
10993 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10999 static enum ndr_err_code ndr_push_netr_AccountSync(struct ndr_push *ndr, int flags, const struct netr_AccountSync *r)
11001 if (flags & NDR_IN) {
11002 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
11003 if (r->in.logon_server) {
11004 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11005 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11006 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11007 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));
11009 if (r->in.computername == NULL) {
11010 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11012 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
11013 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11014 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
11015 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11016 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
11017 if (r->in.return_authenticator == NULL) {
11018 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11020 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
11021 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.reference));
11022 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
11023 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buffersize));
11024 if (r->in.recordid == NULL) {
11025 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11027 NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->in.recordid));
11029 if (flags & NDR_OUT) {
11030 if (r->out.return_authenticator == NULL) {
11031 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11033 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
11034 if (r->out.buffer == NULL) {
11035 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11038 struct ndr_push *_ndr_buffer;
11039 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_buffer, 4, -1));
11040 NDR_CHECK(ndr_push_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer));
11041 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_buffer, 4, -1));
11043 if (r->out.count_returned == NULL) {
11044 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11046 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count_returned));
11047 if (r->out.total_entries == NULL) {
11048 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11050 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.total_entries));
11051 if (r->out.next_reference == NULL) {
11052 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11054 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.next_reference));
11055 if (r->out.recordid == NULL) {
11056 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11058 NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid));
11059 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11061 return NDR_ERR_SUCCESS;
11064 static enum ndr_err_code ndr_pull_netr_AccountSync(struct ndr_pull *ndr, int flags, struct netr_AccountSync *r)
11066 uint32_t _ptr_logon_server;
11067 TALLOC_CTX *_mem_save_logon_server_0;
11068 TALLOC_CTX *_mem_save_return_authenticator_0;
11069 TALLOC_CTX *_mem_save_buffer_0;
11070 TALLOC_CTX *_mem_save_count_returned_0;
11071 TALLOC_CTX *_mem_save_total_entries_0;
11072 TALLOC_CTX *_mem_save_next_reference_0;
11073 TALLOC_CTX *_mem_save_recordid_0;
11074 if (flags & NDR_IN) {
11075 ZERO_STRUCT(r->out);
11077 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
11078 if (_ptr_logon_server) {
11079 NDR_PULL_ALLOC(ndr, r->in.logon_server);
11081 r->in.logon_server = NULL;
11083 if (r->in.logon_server) {
11084 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
11085 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
11086 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
11087 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
11088 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
11089 return 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));
11091 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
11092 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));
11093 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
11095 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
11096 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
11097 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
11098 return 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));
11100 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
11101 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
11102 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
11103 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11104 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
11106 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
11107 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
11108 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
11109 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
11110 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.reference));
11111 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
11112 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buffersize));
11113 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11114 NDR_PULL_ALLOC(ndr, r->in.recordid);
11116 _mem_save_recordid_0 = NDR_PULL_GET_MEM_CTX(ndr);
11117 NDR_PULL_SET_MEM_CTX(ndr, r->in.recordid, LIBNDR_FLAG_REF_ALLOC);
11118 NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->in.recordid));
11119 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_recordid_0, LIBNDR_FLAG_REF_ALLOC);
11120 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
11121 *r->out.return_authenticator = *r->in.return_authenticator;
11122 NDR_PULL_ALLOC(ndr, r->out.buffer);
11123 ZERO_STRUCTP(r->out.buffer);
11124 NDR_PULL_ALLOC(ndr, r->out.count_returned);
11125 ZERO_STRUCTP(r->out.count_returned);
11126 NDR_PULL_ALLOC(ndr, r->out.total_entries);
11127 ZERO_STRUCTP(r->out.total_entries);
11128 NDR_PULL_ALLOC(ndr, r->out.next_reference);
11129 ZERO_STRUCTP(r->out.next_reference);
11130 NDR_PULL_ALLOC(ndr, r->out.recordid);
11131 *r->out.recordid = *r->in.recordid;
11133 if (flags & NDR_OUT) {
11134 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11135 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
11137 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
11138 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
11139 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
11140 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
11141 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11142 NDR_PULL_ALLOC(ndr, r->out.buffer);
11144 _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
11145 NDR_PULL_SET_MEM_CTX(ndr, r->out.buffer, LIBNDR_FLAG_REF_ALLOC);
11147 struct ndr_pull *_ndr_buffer;
11148 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_buffer, 4, -1));
11149 NDR_CHECK(ndr_pull_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer));
11150 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_buffer, 4, -1));
11152 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, LIBNDR_FLAG_REF_ALLOC);
11153 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11154 NDR_PULL_ALLOC(ndr, r->out.count_returned);
11156 _mem_save_count_returned_0 = NDR_PULL_GET_MEM_CTX(ndr);
11157 NDR_PULL_SET_MEM_CTX(ndr, r->out.count_returned, LIBNDR_FLAG_REF_ALLOC);
11158 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count_returned));
11159 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_returned_0, LIBNDR_FLAG_REF_ALLOC);
11160 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11161 NDR_PULL_ALLOC(ndr, r->out.total_entries);
11163 _mem_save_total_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
11164 NDR_PULL_SET_MEM_CTX(ndr, r->out.total_entries, LIBNDR_FLAG_REF_ALLOC);
11165 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.total_entries));
11166 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_total_entries_0, LIBNDR_FLAG_REF_ALLOC);
11167 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11168 NDR_PULL_ALLOC(ndr, r->out.next_reference);
11170 _mem_save_next_reference_0 = NDR_PULL_GET_MEM_CTX(ndr);
11171 NDR_PULL_SET_MEM_CTX(ndr, r->out.next_reference, LIBNDR_FLAG_REF_ALLOC);
11172 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.next_reference));
11173 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_reference_0, LIBNDR_FLAG_REF_ALLOC);
11174 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11175 NDR_PULL_ALLOC(ndr, r->out.recordid);
11177 _mem_save_recordid_0 = NDR_PULL_GET_MEM_CTX(ndr);
11178 NDR_PULL_SET_MEM_CTX(ndr, r->out.recordid, LIBNDR_FLAG_REF_ALLOC);
11179 NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid));
11180 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_recordid_0, LIBNDR_FLAG_REF_ALLOC);
11181 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11183 return NDR_ERR_SUCCESS;
11186 _PUBLIC_ void ndr_print_netr_AccountSync(struct ndr_print *ndr, const char *name, int flags, const struct netr_AccountSync *r)
11188 ndr_print_struct(ndr, name, "netr_AccountSync");
11190 if (flags & NDR_SET_VALUES) {
11191 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11193 if (flags & NDR_IN) {
11194 ndr_print_struct(ndr, "in", "netr_AccountSync");
11196 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
11198 if (r->in.logon_server) {
11199 ndr_print_string(ndr, "logon_server", r->in.logon_server);
11202 ndr_print_ptr(ndr, "computername", r->in.computername);
11204 ndr_print_string(ndr, "computername", r->in.computername);
11206 ndr_print_netr_Authenticator(ndr, "credential", &r->in.credential);
11207 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
11209 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
11211 ndr_print_uint32(ndr, "reference", r->in.reference);
11212 ndr_print_uint32(ndr, "level", r->in.level);
11213 ndr_print_uint32(ndr, "buffersize", r->in.buffersize);
11214 ndr_print_ptr(ndr, "recordid", r->in.recordid);
11216 ndr_print_netr_UAS_INFO_0(ndr, "recordid", r->in.recordid);
11220 if (flags & NDR_OUT) {
11221 ndr_print_struct(ndr, "out", "netr_AccountSync");
11223 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
11225 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
11227 ndr_print_ptr(ndr, "buffer", r->out.buffer);
11229 ndr_print_netr_AccountBuffer(ndr, "buffer", r->out.buffer);
11231 ndr_print_ptr(ndr, "count_returned", r->out.count_returned);
11233 ndr_print_uint32(ndr, "count_returned", *r->out.count_returned);
11235 ndr_print_ptr(ndr, "total_entries", r->out.total_entries);
11237 ndr_print_uint32(ndr, "total_entries", *r->out.total_entries);
11239 ndr_print_ptr(ndr, "next_reference", r->out.next_reference);
11241 ndr_print_uint32(ndr, "next_reference", *r->out.next_reference);
11243 ndr_print_ptr(ndr, "recordid", r->out.recordid);
11245 ndr_print_netr_UAS_INFO_0(ndr, "recordid", r->out.recordid);
11247 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11253 static enum ndr_err_code ndr_push_netr_GetDcName(struct ndr_push *ndr, int flags, const struct netr_GetDcName *r)
11255 if (flags & NDR_IN) {
11256 if (r->in.logon_server == NULL) {
11257 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11259 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11260 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11261 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11262 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));
11263 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domainname));
11264 if (r->in.domainname) {
11265 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16)));
11266 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11267 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16)));
11268 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domainname, ndr_charset_length(r->in.domainname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11271 if (flags & NDR_OUT) {
11272 if (r->out.dcname == NULL) {
11273 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11275 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.dcname));
11276 if (*r->out.dcname) {
11277 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16)));
11278 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11279 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16)));
11280 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.dcname, ndr_charset_length(*r->out.dcname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11282 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11284 return NDR_ERR_SUCCESS;
11287 static enum ndr_err_code ndr_pull_netr_GetDcName(struct ndr_pull *ndr, int flags, struct netr_GetDcName *r)
11289 uint32_t _ptr_domainname;
11290 uint32_t _ptr_dcname;
11291 TALLOC_CTX *_mem_save_domainname_0;
11292 TALLOC_CTX *_mem_save_dcname_0;
11293 TALLOC_CTX *_mem_save_dcname_1;
11294 if (flags & NDR_IN) {
11295 ZERO_STRUCT(r->out);
11297 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
11298 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
11299 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
11300 return 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));
11302 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
11303 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));
11304 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domainname));
11305 if (_ptr_domainname) {
11306 NDR_PULL_ALLOC(ndr, r->in.domainname);
11308 r->in.domainname = NULL;
11310 if (r->in.domainname) {
11311 _mem_save_domainname_0 = NDR_PULL_GET_MEM_CTX(ndr);
11312 NDR_PULL_SET_MEM_CTX(ndr, r->in.domainname, 0);
11313 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domainname));
11314 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domainname));
11315 if (ndr_get_array_length(ndr, &r->in.domainname) > ndr_get_array_size(ndr, &r->in.domainname)) {
11316 return 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));
11318 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domainname), sizeof(uint16_t)));
11319 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domainname, ndr_get_array_length(ndr, &r->in.domainname), sizeof(uint16_t), CH_UTF16));
11320 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domainname_0, 0);
11322 NDR_PULL_ALLOC(ndr, r->out.dcname);
11323 ZERO_STRUCTP(r->out.dcname);
11325 if (flags & NDR_OUT) {
11326 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11327 NDR_PULL_ALLOC(ndr, r->out.dcname);
11329 _mem_save_dcname_0 = NDR_PULL_GET_MEM_CTX(ndr);
11330 NDR_PULL_SET_MEM_CTX(ndr, r->out.dcname, LIBNDR_FLAG_REF_ALLOC);
11331 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dcname));
11333 NDR_PULL_ALLOC(ndr, *r->out.dcname);
11335 *r->out.dcname = NULL;
11337 if (*r->out.dcname) {
11338 _mem_save_dcname_1 = NDR_PULL_GET_MEM_CTX(ndr);
11339 NDR_PULL_SET_MEM_CTX(ndr, *r->out.dcname, 0);
11340 NDR_CHECK(ndr_pull_array_size(ndr, r->out.dcname));
11341 NDR_CHECK(ndr_pull_array_length(ndr, r->out.dcname));
11342 if (ndr_get_array_length(ndr, r->out.dcname) > ndr_get_array_size(ndr, r->out.dcname)) {
11343 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));
11345 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.dcname), sizeof(uint16_t)));
11346 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.dcname, ndr_get_array_length(ndr, r->out.dcname), sizeof(uint16_t), CH_UTF16));
11347 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_1, 0);
11349 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_0, LIBNDR_FLAG_REF_ALLOC);
11350 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11352 return NDR_ERR_SUCCESS;
11355 _PUBLIC_ void ndr_print_netr_GetDcName(struct ndr_print *ndr, const char *name, int flags, const struct netr_GetDcName *r)
11357 ndr_print_struct(ndr, name, "netr_GetDcName");
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_GetDcName");
11365 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
11367 ndr_print_string(ndr, "logon_server", r->in.logon_server);
11369 ndr_print_ptr(ndr, "domainname", r->in.domainname);
11371 if (r->in.domainname) {
11372 ndr_print_string(ndr, "domainname", r->in.domainname);
11377 if (flags & NDR_OUT) {
11378 ndr_print_struct(ndr, "out", "netr_GetDcName");
11380 ndr_print_ptr(ndr, "dcname", r->out.dcname);
11382 ndr_print_ptr(ndr, "dcname", *r->out.dcname);
11384 if (*r->out.dcname) {
11385 ndr_print_string(ndr, "dcname", *r->out.dcname);
11389 ndr_print_WERROR(ndr, "result", r->out.result);
11395 static enum ndr_err_code ndr_push_netr_LogonControl(struct ndr_push *ndr, int flags, const struct netr_LogonControl *r)
11397 if (flags & NDR_IN) {
11398 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
11399 if (r->in.logon_server) {
11400 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11401 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11402 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11403 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));
11405 NDR_CHECK(ndr_push_netr_LogonControlCode(ndr, NDR_SCALARS, r->in.function_code));
11406 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
11408 if (flags & NDR_OUT) {
11409 if (r->out.query == NULL) {
11410 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11412 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.query, r->in.level));
11413 NDR_CHECK(ndr_push_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
11414 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11416 return NDR_ERR_SUCCESS;
11419 static enum ndr_err_code ndr_pull_netr_LogonControl(struct ndr_pull *ndr, int flags, struct netr_LogonControl *r)
11421 uint32_t _ptr_logon_server;
11422 TALLOC_CTX *_mem_save_logon_server_0;
11423 TALLOC_CTX *_mem_save_query_0;
11424 if (flags & NDR_IN) {
11425 ZERO_STRUCT(r->out);
11427 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
11428 if (_ptr_logon_server) {
11429 NDR_PULL_ALLOC(ndr, r->in.logon_server);
11431 r->in.logon_server = NULL;
11433 if (r->in.logon_server) {
11434 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
11435 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
11436 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
11437 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
11438 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
11439 return 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));
11441 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
11442 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));
11443 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
11445 NDR_CHECK(ndr_pull_netr_LogonControlCode(ndr, NDR_SCALARS, &r->in.function_code));
11446 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
11447 NDR_PULL_ALLOC(ndr, r->out.query);
11448 ZERO_STRUCTP(r->out.query);
11450 if (flags & NDR_OUT) {
11451 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11452 NDR_PULL_ALLOC(ndr, r->out.query);
11454 _mem_save_query_0 = NDR_PULL_GET_MEM_CTX(ndr);
11455 NDR_PULL_SET_MEM_CTX(ndr, r->out.query, LIBNDR_FLAG_REF_ALLOC);
11456 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.query, r->in.level));
11457 NDR_CHECK(ndr_pull_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
11458 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query_0, LIBNDR_FLAG_REF_ALLOC);
11459 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11461 return NDR_ERR_SUCCESS;
11464 _PUBLIC_ void ndr_print_netr_LogonControl(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonControl *r)
11466 ndr_print_struct(ndr, name, "netr_LogonControl");
11468 if (flags & NDR_SET_VALUES) {
11469 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11471 if (flags & NDR_IN) {
11472 ndr_print_struct(ndr, "in", "netr_LogonControl");
11474 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
11476 if (r->in.logon_server) {
11477 ndr_print_string(ndr, "logon_server", r->in.logon_server);
11480 ndr_print_netr_LogonControlCode(ndr, "function_code", r->in.function_code);
11481 ndr_print_uint32(ndr, "level", r->in.level);
11484 if (flags & NDR_OUT) {
11485 ndr_print_struct(ndr, "out", "netr_LogonControl");
11487 ndr_print_ptr(ndr, "query", r->out.query);
11489 ndr_print_set_switch_value(ndr, r->out.query, r->in.level);
11490 ndr_print_netr_CONTROL_QUERY_INFORMATION(ndr, "query", r->out.query);
11492 ndr_print_WERROR(ndr, "result", r->out.result);
11498 static enum ndr_err_code ndr_push_netr_GetAnyDCName(struct ndr_push *ndr, int flags, const struct netr_GetAnyDCName *r)
11500 if (flags & NDR_IN) {
11501 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
11502 if (r->in.logon_server) {
11503 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11504 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11505 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11506 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));
11508 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domainname));
11509 if (r->in.domainname) {
11510 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16)));
11511 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11512 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16)));
11513 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domainname, ndr_charset_length(r->in.domainname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11516 if (flags & NDR_OUT) {
11517 if (r->out.dcname == NULL) {
11518 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11520 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.dcname));
11521 if (*r->out.dcname) {
11522 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16)));
11523 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11524 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16)));
11525 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.dcname, ndr_charset_length(*r->out.dcname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11527 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11529 return NDR_ERR_SUCCESS;
11532 static enum ndr_err_code ndr_pull_netr_GetAnyDCName(struct ndr_pull *ndr, int flags, struct netr_GetAnyDCName *r)
11534 uint32_t _ptr_logon_server;
11535 uint32_t _ptr_domainname;
11536 uint32_t _ptr_dcname;
11537 TALLOC_CTX *_mem_save_logon_server_0;
11538 TALLOC_CTX *_mem_save_domainname_0;
11539 TALLOC_CTX *_mem_save_dcname_0;
11540 TALLOC_CTX *_mem_save_dcname_1;
11541 if (flags & NDR_IN) {
11542 ZERO_STRUCT(r->out);
11544 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
11545 if (_ptr_logon_server) {
11546 NDR_PULL_ALLOC(ndr, r->in.logon_server);
11548 r->in.logon_server = NULL;
11550 if (r->in.logon_server) {
11551 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
11552 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
11553 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
11554 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
11555 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
11556 return 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));
11558 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
11559 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));
11560 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
11562 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domainname));
11563 if (_ptr_domainname) {
11564 NDR_PULL_ALLOC(ndr, r->in.domainname);
11566 r->in.domainname = NULL;
11568 if (r->in.domainname) {
11569 _mem_save_domainname_0 = NDR_PULL_GET_MEM_CTX(ndr);
11570 NDR_PULL_SET_MEM_CTX(ndr, r->in.domainname, 0);
11571 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domainname));
11572 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domainname));
11573 if (ndr_get_array_length(ndr, &r->in.domainname) > ndr_get_array_size(ndr, &r->in.domainname)) {
11574 return 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));
11576 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domainname), sizeof(uint16_t)));
11577 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domainname, ndr_get_array_length(ndr, &r->in.domainname), sizeof(uint16_t), CH_UTF16));
11578 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domainname_0, 0);
11580 NDR_PULL_ALLOC(ndr, r->out.dcname);
11581 ZERO_STRUCTP(r->out.dcname);
11583 if (flags & NDR_OUT) {
11584 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11585 NDR_PULL_ALLOC(ndr, r->out.dcname);
11587 _mem_save_dcname_0 = NDR_PULL_GET_MEM_CTX(ndr);
11588 NDR_PULL_SET_MEM_CTX(ndr, r->out.dcname, LIBNDR_FLAG_REF_ALLOC);
11589 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dcname));
11591 NDR_PULL_ALLOC(ndr, *r->out.dcname);
11593 *r->out.dcname = NULL;
11595 if (*r->out.dcname) {
11596 _mem_save_dcname_1 = NDR_PULL_GET_MEM_CTX(ndr);
11597 NDR_PULL_SET_MEM_CTX(ndr, *r->out.dcname, 0);
11598 NDR_CHECK(ndr_pull_array_size(ndr, r->out.dcname));
11599 NDR_CHECK(ndr_pull_array_length(ndr, r->out.dcname));
11600 if (ndr_get_array_length(ndr, r->out.dcname) > ndr_get_array_size(ndr, r->out.dcname)) {
11601 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));
11603 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.dcname), sizeof(uint16_t)));
11604 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.dcname, ndr_get_array_length(ndr, r->out.dcname), sizeof(uint16_t), CH_UTF16));
11605 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_1, 0);
11607 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_0, LIBNDR_FLAG_REF_ALLOC);
11608 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11610 return NDR_ERR_SUCCESS;
11613 _PUBLIC_ void ndr_print_netr_GetAnyDCName(struct ndr_print *ndr, const char *name, int flags, const struct netr_GetAnyDCName *r)
11615 ndr_print_struct(ndr, name, "netr_GetAnyDCName");
11617 if (flags & NDR_SET_VALUES) {
11618 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11620 if (flags & NDR_IN) {
11621 ndr_print_struct(ndr, "in", "netr_GetAnyDCName");
11623 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
11625 if (r->in.logon_server) {
11626 ndr_print_string(ndr, "logon_server", r->in.logon_server);
11629 ndr_print_ptr(ndr, "domainname", r->in.domainname);
11631 if (r->in.domainname) {
11632 ndr_print_string(ndr, "domainname", r->in.domainname);
11637 if (flags & NDR_OUT) {
11638 ndr_print_struct(ndr, "out", "netr_GetAnyDCName");
11640 ndr_print_ptr(ndr, "dcname", r->out.dcname);
11642 ndr_print_ptr(ndr, "dcname", *r->out.dcname);
11644 if (*r->out.dcname) {
11645 ndr_print_string(ndr, "dcname", *r->out.dcname);
11649 ndr_print_WERROR(ndr, "result", r->out.result);
11655 static enum ndr_err_code ndr_push_netr_LogonControl2(struct ndr_push *ndr, int flags, const struct netr_LogonControl2 *r)
11657 if (flags & NDR_IN) {
11658 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
11659 if (r->in.logon_server) {
11660 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11661 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11662 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11663 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));
11665 NDR_CHECK(ndr_push_netr_LogonControlCode(ndr, NDR_SCALARS, r->in.function_code));
11666 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
11667 if (r->in.data == NULL) {
11668 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11670 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.data, r->in.function_code));
11671 NDR_CHECK(ndr_push_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.data));
11673 if (flags & NDR_OUT) {
11674 if (r->out.query == NULL) {
11675 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11677 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.query, r->in.level));
11678 NDR_CHECK(ndr_push_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
11679 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11681 return NDR_ERR_SUCCESS;
11684 static enum ndr_err_code ndr_pull_netr_LogonControl2(struct ndr_pull *ndr, int flags, struct netr_LogonControl2 *r)
11686 uint32_t _ptr_logon_server;
11687 TALLOC_CTX *_mem_save_logon_server_0;
11688 TALLOC_CTX *_mem_save_data_0;
11689 TALLOC_CTX *_mem_save_query_0;
11690 if (flags & NDR_IN) {
11691 ZERO_STRUCT(r->out);
11693 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
11694 if (_ptr_logon_server) {
11695 NDR_PULL_ALLOC(ndr, r->in.logon_server);
11697 r->in.logon_server = NULL;
11699 if (r->in.logon_server) {
11700 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
11701 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
11702 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
11703 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
11704 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
11705 return 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));
11707 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
11708 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));
11709 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
11711 NDR_CHECK(ndr_pull_netr_LogonControlCode(ndr, NDR_SCALARS, &r->in.function_code));
11712 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
11713 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11714 NDR_PULL_ALLOC(ndr, r->in.data);
11716 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
11717 NDR_PULL_SET_MEM_CTX(ndr, r->in.data, LIBNDR_FLAG_REF_ALLOC);
11718 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.data, r->in.function_code));
11719 NDR_CHECK(ndr_pull_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.data));
11720 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, LIBNDR_FLAG_REF_ALLOC);
11721 NDR_PULL_ALLOC(ndr, r->out.query);
11722 ZERO_STRUCTP(r->out.query);
11724 if (flags & NDR_OUT) {
11725 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11726 NDR_PULL_ALLOC(ndr, r->out.query);
11728 _mem_save_query_0 = NDR_PULL_GET_MEM_CTX(ndr);
11729 NDR_PULL_SET_MEM_CTX(ndr, r->out.query, LIBNDR_FLAG_REF_ALLOC);
11730 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.query, r->in.level));
11731 NDR_CHECK(ndr_pull_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
11732 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query_0, LIBNDR_FLAG_REF_ALLOC);
11733 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11735 return NDR_ERR_SUCCESS;
11738 _PUBLIC_ void ndr_print_netr_LogonControl2(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonControl2 *r)
11740 ndr_print_struct(ndr, name, "netr_LogonControl2");
11742 if (flags & NDR_SET_VALUES) {
11743 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11745 if (flags & NDR_IN) {
11746 ndr_print_struct(ndr, "in", "netr_LogonControl2");
11748 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
11750 if (r->in.logon_server) {
11751 ndr_print_string(ndr, "logon_server", r->in.logon_server);
11754 ndr_print_netr_LogonControlCode(ndr, "function_code", r->in.function_code);
11755 ndr_print_uint32(ndr, "level", r->in.level);
11756 ndr_print_ptr(ndr, "data", r->in.data);
11758 ndr_print_set_switch_value(ndr, r->in.data, r->in.function_code);
11759 ndr_print_netr_CONTROL_DATA_INFORMATION(ndr, "data", r->in.data);
11763 if (flags & NDR_OUT) {
11764 ndr_print_struct(ndr, "out", "netr_LogonControl2");
11766 ndr_print_ptr(ndr, "query", r->out.query);
11768 ndr_print_set_switch_value(ndr, r->out.query, r->in.level);
11769 ndr_print_netr_CONTROL_QUERY_INFORMATION(ndr, "query", r->out.query);
11771 ndr_print_WERROR(ndr, "result", r->out.result);
11777 static enum ndr_err_code ndr_push_netr_ServerAuthenticate2(struct ndr_push *ndr, int flags, const struct netr_ServerAuthenticate2 *r)
11779 if (flags & NDR_IN) {
11780 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
11781 if (r->in.server_name) {
11782 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
11783 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11784 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
11785 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));
11787 if (r->in.account_name == NULL) {
11788 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11790 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
11791 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11792 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
11793 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));
11794 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
11795 if (r->in.computer_name == NULL) {
11796 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11798 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
11799 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11800 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
11801 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));
11802 if (r->in.credentials == NULL) {
11803 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11805 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
11806 if (r->in.negotiate_flags == NULL) {
11807 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11809 NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, *r->in.negotiate_flags));
11811 if (flags & NDR_OUT) {
11812 if (r->out.return_credentials == NULL) {
11813 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11815 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
11816 if (r->out.negotiate_flags == NULL) {
11817 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11819 NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, *r->out.negotiate_flags));
11820 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11822 return NDR_ERR_SUCCESS;
11825 static enum ndr_err_code ndr_pull_netr_ServerAuthenticate2(struct ndr_pull *ndr, int flags, struct netr_ServerAuthenticate2 *r)
11827 uint32_t _ptr_server_name;
11828 TALLOC_CTX *_mem_save_server_name_0;
11829 TALLOC_CTX *_mem_save_credentials_0;
11830 TALLOC_CTX *_mem_save_return_credentials_0;
11831 TALLOC_CTX *_mem_save_negotiate_flags_0;
11832 if (flags & NDR_IN) {
11833 ZERO_STRUCT(r->out);
11835 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
11836 if (_ptr_server_name) {
11837 NDR_PULL_ALLOC(ndr, r->in.server_name);
11839 r->in.server_name = NULL;
11841 if (r->in.server_name) {
11842 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11843 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
11844 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
11845 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
11846 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
11847 return 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));
11849 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
11850 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));
11851 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
11853 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
11854 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
11855 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
11856 return 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));
11858 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
11859 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));
11860 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
11861 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
11862 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
11863 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
11864 return 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));
11866 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
11867 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));
11868 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11869 NDR_PULL_ALLOC(ndr, r->in.credentials);
11871 _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
11872 NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC);
11873 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
11874 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
11875 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11876 NDR_PULL_ALLOC(ndr, r->in.negotiate_flags);
11878 _mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
11879 NDR_PULL_SET_MEM_CTX(ndr, r->in.negotiate_flags, LIBNDR_FLAG_REF_ALLOC);
11880 NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, r->in.negotiate_flags));
11881 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC);
11882 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
11883 ZERO_STRUCTP(r->out.return_credentials);
11884 NDR_PULL_ALLOC(ndr, r->out.negotiate_flags);
11885 *r->out.negotiate_flags = *r->in.negotiate_flags;
11887 if (flags & NDR_OUT) {
11888 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11889 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
11891 _mem_save_return_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
11892 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_credentials, LIBNDR_FLAG_REF_ALLOC);
11893 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
11894 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_credentials_0, LIBNDR_FLAG_REF_ALLOC);
11895 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11896 NDR_PULL_ALLOC(ndr, r->out.negotiate_flags);
11898 _mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
11899 NDR_PULL_SET_MEM_CTX(ndr, r->out.negotiate_flags, LIBNDR_FLAG_REF_ALLOC);
11900 NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, r->out.negotiate_flags));
11901 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC);
11902 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11904 return NDR_ERR_SUCCESS;
11907 _PUBLIC_ void ndr_print_netr_ServerAuthenticate2(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerAuthenticate2 *r)
11909 ndr_print_struct(ndr, name, "netr_ServerAuthenticate2");
11911 if (flags & NDR_SET_VALUES) {
11912 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11914 if (flags & NDR_IN) {
11915 ndr_print_struct(ndr, "in", "netr_ServerAuthenticate2");
11917 ndr_print_ptr(ndr, "server_name", r->in.server_name);
11919 if (r->in.server_name) {
11920 ndr_print_string(ndr, "server_name", r->in.server_name);
11923 ndr_print_ptr(ndr, "account_name", r->in.account_name);
11925 ndr_print_string(ndr, "account_name", r->in.account_name);
11927 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
11928 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
11930 ndr_print_string(ndr, "computer_name", r->in.computer_name);
11932 ndr_print_ptr(ndr, "credentials", r->in.credentials);
11934 ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
11936 ndr_print_ptr(ndr, "negotiate_flags", r->in.negotiate_flags);
11938 ndr_print_netr_NegotiateFlags(ndr, "negotiate_flags", *r->in.negotiate_flags);
11942 if (flags & NDR_OUT) {
11943 ndr_print_struct(ndr, "out", "netr_ServerAuthenticate2");
11945 ndr_print_ptr(ndr, "return_credentials", r->out.return_credentials);
11947 ndr_print_netr_Credential(ndr, "return_credentials", r->out.return_credentials);
11949 ndr_print_ptr(ndr, "negotiate_flags", r->out.negotiate_flags);
11951 ndr_print_netr_NegotiateFlags(ndr, "negotiate_flags", *r->out.negotiate_flags);
11953 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11959 static enum ndr_err_code ndr_push_netr_DatabaseSync2(struct ndr_push *ndr, int flags, const struct netr_DatabaseSync2 *r)
11961 if (flags & NDR_IN) {
11962 if (r->in.logon_server == NULL) {
11963 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11965 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11966 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11967 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11968 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));
11969 if (r->in.computername == NULL) {
11970 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11972 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
11973 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11974 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
11975 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11976 if (r->in.credential == NULL) {
11977 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11979 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
11980 if (r->in.return_authenticator == NULL) {
11981 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11983 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
11984 NDR_CHECK(ndr_push_netr_SamDatabaseID(ndr, NDR_SCALARS, r->in.database_id));
11985 NDR_CHECK(ndr_push_SyncStateEnum(ndr, NDR_SCALARS, r->in.restart_state));
11986 if (r->in.sync_context == NULL) {
11987 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11989 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.sync_context));
11990 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.preferredmaximumlength));
11992 if (flags & NDR_OUT) {
11993 if (r->out.return_authenticator == NULL) {
11994 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11996 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
11997 if (r->out.sync_context == NULL) {
11998 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12000 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.sync_context));
12001 if (r->out.delta_enum_array == NULL) {
12002 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12004 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.delta_enum_array));
12005 if (*r->out.delta_enum_array) {
12006 NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
12008 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12010 return NDR_ERR_SUCCESS;
12013 static enum ndr_err_code ndr_pull_netr_DatabaseSync2(struct ndr_pull *ndr, int flags, struct netr_DatabaseSync2 *r)
12015 uint32_t _ptr_delta_enum_array;
12016 TALLOC_CTX *_mem_save_credential_0;
12017 TALLOC_CTX *_mem_save_return_authenticator_0;
12018 TALLOC_CTX *_mem_save_sync_context_0;
12019 TALLOC_CTX *_mem_save_delta_enum_array_0;
12020 TALLOC_CTX *_mem_save_delta_enum_array_1;
12021 if (flags & NDR_IN) {
12022 ZERO_STRUCT(r->out);
12024 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
12025 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
12026 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
12027 return 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));
12029 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
12030 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));
12031 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
12032 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
12033 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
12034 return 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));
12036 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
12037 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
12038 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12039 NDR_PULL_ALLOC(ndr, r->in.credential);
12041 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
12042 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
12043 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
12044 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
12045 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12046 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
12048 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
12049 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
12050 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
12051 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
12052 NDR_CHECK(ndr_pull_netr_SamDatabaseID(ndr, NDR_SCALARS, &r->in.database_id));
12053 NDR_CHECK(ndr_pull_SyncStateEnum(ndr, NDR_SCALARS, &r->in.restart_state));
12054 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12055 NDR_PULL_ALLOC(ndr, r->in.sync_context);
12057 _mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
12058 NDR_PULL_SET_MEM_CTX(ndr, r->in.sync_context, LIBNDR_FLAG_REF_ALLOC);
12059 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.sync_context));
12060 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC);
12061 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.preferredmaximumlength));
12062 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12063 *r->out.return_authenticator = *r->in.return_authenticator;
12064 NDR_PULL_ALLOC(ndr, r->out.sync_context);
12065 *r->out.sync_context = *r->in.sync_context;
12066 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
12067 ZERO_STRUCTP(r->out.delta_enum_array);
12069 if (flags & NDR_OUT) {
12070 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12071 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12073 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
12074 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
12075 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12076 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
12077 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12078 NDR_PULL_ALLOC(ndr, r->out.sync_context);
12080 _mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
12081 NDR_PULL_SET_MEM_CTX(ndr, r->out.sync_context, LIBNDR_FLAG_REF_ALLOC);
12082 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.sync_context));
12083 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC);
12084 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12085 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
12087 _mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
12088 NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC);
12089 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum_array));
12090 if (_ptr_delta_enum_array) {
12091 NDR_PULL_ALLOC(ndr, *r->out.delta_enum_array);
12093 *r->out.delta_enum_array = NULL;
12095 if (*r->out.delta_enum_array) {
12096 _mem_save_delta_enum_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
12097 NDR_PULL_SET_MEM_CTX(ndr, *r->out.delta_enum_array, 0);
12098 NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
12099 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_1, 0);
12101 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC);
12102 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12104 return NDR_ERR_SUCCESS;
12107 _PUBLIC_ void ndr_print_netr_DatabaseSync2(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseSync2 *r)
12109 ndr_print_struct(ndr, name, "netr_DatabaseSync2");
12111 if (flags & NDR_SET_VALUES) {
12112 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12114 if (flags & NDR_IN) {
12115 ndr_print_struct(ndr, "in", "netr_DatabaseSync2");
12117 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
12119 ndr_print_string(ndr, "logon_server", r->in.logon_server);
12121 ndr_print_ptr(ndr, "computername", r->in.computername);
12123 ndr_print_string(ndr, "computername", r->in.computername);
12125 ndr_print_ptr(ndr, "credential", r->in.credential);
12127 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
12129 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
12131 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
12133 ndr_print_netr_SamDatabaseID(ndr, "database_id", r->in.database_id);
12134 ndr_print_SyncStateEnum(ndr, "restart_state", r->in.restart_state);
12135 ndr_print_ptr(ndr, "sync_context", r->in.sync_context);
12137 ndr_print_uint32(ndr, "sync_context", *r->in.sync_context);
12139 ndr_print_uint32(ndr, "preferredmaximumlength", r->in.preferredmaximumlength);
12142 if (flags & NDR_OUT) {
12143 ndr_print_struct(ndr, "out", "netr_DatabaseSync2");
12145 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
12147 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
12149 ndr_print_ptr(ndr, "sync_context", r->out.sync_context);
12151 ndr_print_uint32(ndr, "sync_context", *r->out.sync_context);
12153 ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array);
12155 ndr_print_ptr(ndr, "delta_enum_array", *r->out.delta_enum_array);
12157 if (*r->out.delta_enum_array) {
12158 ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", *r->out.delta_enum_array);
12162 ndr_print_NTSTATUS(ndr, "result", r->out.result);
12168 static enum ndr_err_code ndr_push_netr_DatabaseRedo(struct ndr_push *ndr, int flags, const struct netr_DatabaseRedo *r)
12170 if (flags & NDR_IN) {
12171 if (r->in.logon_server == NULL) {
12172 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12174 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
12175 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12176 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
12177 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));
12178 if (r->in.computername == NULL) {
12179 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12181 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
12182 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12183 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
12184 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
12185 if (r->in.credential == NULL) {
12186 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12188 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
12189 if (r->in.return_authenticator == NULL) {
12190 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12192 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
12194 struct ndr_push *_ndr_change_log_entry;
12195 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_change_log_entry, 4, ndr_size_netr_ChangeLogEntry(&r->in.change_log_entry, ndr->iconv_convenience, ndr->flags)));
12196 NDR_CHECK(ndr_push_netr_ChangeLogEntry(_ndr_change_log_entry, NDR_SCALARS|NDR_BUFFERS, &r->in.change_log_entry));
12197 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_change_log_entry, 4, ndr_size_netr_ChangeLogEntry(&r->in.change_log_entry, ndr->iconv_convenience, ndr->flags)));
12199 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_netr_ChangeLogEntry(&r->in.change_log_entry, ndr->iconv_convenience, ndr->flags)));
12201 if (flags & NDR_OUT) {
12202 if (r->out.return_authenticator == NULL) {
12203 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12205 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12206 if (r->out.delta_enum_array == NULL) {
12207 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12209 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.delta_enum_array));
12210 if (*r->out.delta_enum_array) {
12211 NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
12213 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12215 return NDR_ERR_SUCCESS;
12218 static enum ndr_err_code ndr_pull_netr_DatabaseRedo(struct ndr_pull *ndr, int flags, struct netr_DatabaseRedo *r)
12220 uint32_t _ptr_delta_enum_array;
12221 TALLOC_CTX *_mem_save_credential_0;
12222 TALLOC_CTX *_mem_save_return_authenticator_0;
12223 TALLOC_CTX *_mem_save_delta_enum_array_0;
12224 TALLOC_CTX *_mem_save_delta_enum_array_1;
12225 if (flags & NDR_IN) {
12226 ZERO_STRUCT(r->out);
12228 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
12229 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
12230 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
12231 return 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));
12233 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
12234 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));
12235 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
12236 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
12237 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
12238 return 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));
12240 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
12241 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
12242 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12243 NDR_PULL_ALLOC(ndr, r->in.credential);
12245 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
12246 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
12247 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
12248 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
12249 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12250 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
12252 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
12253 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
12254 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
12255 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
12257 struct ndr_pull *_ndr_change_log_entry;
12258 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_change_log_entry, 4, r->in.change_log_entry_size));
12259 NDR_CHECK(ndr_pull_netr_ChangeLogEntry(_ndr_change_log_entry, NDR_SCALARS|NDR_BUFFERS, &r->in.change_log_entry));
12260 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_change_log_entry, 4, r->in.change_log_entry_size));
12262 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.change_log_entry_size));
12263 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12264 *r->out.return_authenticator = *r->in.return_authenticator;
12265 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
12266 ZERO_STRUCTP(r->out.delta_enum_array);
12268 if (flags & NDR_OUT) {
12269 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12270 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12272 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
12273 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
12274 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12275 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
12276 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12277 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
12279 _mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
12280 NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC);
12281 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum_array));
12282 if (_ptr_delta_enum_array) {
12283 NDR_PULL_ALLOC(ndr, *r->out.delta_enum_array);
12285 *r->out.delta_enum_array = NULL;
12287 if (*r->out.delta_enum_array) {
12288 _mem_save_delta_enum_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
12289 NDR_PULL_SET_MEM_CTX(ndr, *r->out.delta_enum_array, 0);
12290 NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
12291 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_1, 0);
12293 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC);
12294 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12296 return NDR_ERR_SUCCESS;
12299 _PUBLIC_ void ndr_print_netr_DatabaseRedo(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseRedo *r)
12301 ndr_print_struct(ndr, name, "netr_DatabaseRedo");
12303 if (flags & NDR_SET_VALUES) {
12304 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12306 if (flags & NDR_IN) {
12307 ndr_print_struct(ndr, "in", "netr_DatabaseRedo");
12309 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
12311 ndr_print_string(ndr, "logon_server", r->in.logon_server);
12313 ndr_print_ptr(ndr, "computername", r->in.computername);
12315 ndr_print_string(ndr, "computername", r->in.computername);
12317 ndr_print_ptr(ndr, "credential", r->in.credential);
12319 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
12321 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
12323 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
12325 ndr_print_netr_ChangeLogEntry(ndr, "change_log_entry", &r->in.change_log_entry);
12326 ndr_print_uint32(ndr, "change_log_entry_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_netr_ChangeLogEntry(&r->in.change_log_entry, ndr->iconv_convenience, ndr->flags):r->in.change_log_entry_size);
12329 if (flags & NDR_OUT) {
12330 ndr_print_struct(ndr, "out", "netr_DatabaseRedo");
12332 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
12334 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
12336 ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array);
12338 ndr_print_ptr(ndr, "delta_enum_array", *r->out.delta_enum_array);
12340 if (*r->out.delta_enum_array) {
12341 ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", *r->out.delta_enum_array);
12345 ndr_print_NTSTATUS(ndr, "result", r->out.result);
12351 static enum ndr_err_code ndr_push_netr_LogonControl2Ex(struct ndr_push *ndr, int flags, const struct netr_LogonControl2Ex *r)
12353 if (flags & NDR_IN) {
12354 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
12355 if (r->in.logon_server) {
12356 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
12357 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12358 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
12359 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));
12361 NDR_CHECK(ndr_push_netr_LogonControlCode(ndr, NDR_SCALARS, r->in.function_code));
12362 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
12363 if (r->in.data == NULL) {
12364 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12366 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.data, r->in.function_code));
12367 NDR_CHECK(ndr_push_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.data));
12369 if (flags & NDR_OUT) {
12370 if (r->out.query == NULL) {
12371 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12373 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.query, r->in.level));
12374 NDR_CHECK(ndr_push_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
12375 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12377 return NDR_ERR_SUCCESS;
12380 static enum ndr_err_code ndr_pull_netr_LogonControl2Ex(struct ndr_pull *ndr, int flags, struct netr_LogonControl2Ex *r)
12382 uint32_t _ptr_logon_server;
12383 TALLOC_CTX *_mem_save_logon_server_0;
12384 TALLOC_CTX *_mem_save_data_0;
12385 TALLOC_CTX *_mem_save_query_0;
12386 if (flags & NDR_IN) {
12387 ZERO_STRUCT(r->out);
12389 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
12390 if (_ptr_logon_server) {
12391 NDR_PULL_ALLOC(ndr, r->in.logon_server);
12393 r->in.logon_server = NULL;
12395 if (r->in.logon_server) {
12396 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
12397 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
12398 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
12399 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
12400 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
12401 return 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));
12403 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
12404 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));
12405 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
12407 NDR_CHECK(ndr_pull_netr_LogonControlCode(ndr, NDR_SCALARS, &r->in.function_code));
12408 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
12409 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12410 NDR_PULL_ALLOC(ndr, r->in.data);
12412 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
12413 NDR_PULL_SET_MEM_CTX(ndr, r->in.data, LIBNDR_FLAG_REF_ALLOC);
12414 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.data, r->in.function_code));
12415 NDR_CHECK(ndr_pull_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.data));
12416 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, LIBNDR_FLAG_REF_ALLOC);
12417 NDR_PULL_ALLOC(ndr, r->out.query);
12418 ZERO_STRUCTP(r->out.query);
12420 if (flags & NDR_OUT) {
12421 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12422 NDR_PULL_ALLOC(ndr, r->out.query);
12424 _mem_save_query_0 = NDR_PULL_GET_MEM_CTX(ndr);
12425 NDR_PULL_SET_MEM_CTX(ndr, r->out.query, LIBNDR_FLAG_REF_ALLOC);
12426 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.query, r->in.level));
12427 NDR_CHECK(ndr_pull_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
12428 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query_0, LIBNDR_FLAG_REF_ALLOC);
12429 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12431 return NDR_ERR_SUCCESS;
12434 _PUBLIC_ void ndr_print_netr_LogonControl2Ex(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonControl2Ex *r)
12436 ndr_print_struct(ndr, name, "netr_LogonControl2Ex");
12438 if (flags & NDR_SET_VALUES) {
12439 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12441 if (flags & NDR_IN) {
12442 ndr_print_struct(ndr, "in", "netr_LogonControl2Ex");
12444 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
12446 if (r->in.logon_server) {
12447 ndr_print_string(ndr, "logon_server", r->in.logon_server);
12450 ndr_print_netr_LogonControlCode(ndr, "function_code", r->in.function_code);
12451 ndr_print_uint32(ndr, "level", r->in.level);
12452 ndr_print_ptr(ndr, "data", r->in.data);
12454 ndr_print_set_switch_value(ndr, r->in.data, r->in.function_code);
12455 ndr_print_netr_CONTROL_DATA_INFORMATION(ndr, "data", r->in.data);
12459 if (flags & NDR_OUT) {
12460 ndr_print_struct(ndr, "out", "netr_LogonControl2Ex");
12462 ndr_print_ptr(ndr, "query", r->out.query);
12464 ndr_print_set_switch_value(ndr, r->out.query, r->in.level);
12465 ndr_print_netr_CONTROL_QUERY_INFORMATION(ndr, "query", r->out.query);
12467 ndr_print_WERROR(ndr, "result", r->out.result);
12473 static enum ndr_err_code ndr_push_netr_NetrEnumerateTrustedDomains(struct ndr_push *ndr, int flags, const struct netr_NetrEnumerateTrustedDomains *r)
12475 if (flags & NDR_IN) {
12476 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
12477 if (r->in.server_name) {
12478 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12479 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12480 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12481 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));
12484 if (flags & NDR_OUT) {
12485 if (r->out.trusted_domains_blob == NULL) {
12486 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12488 NDR_CHECK(ndr_push_netr_Blob(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusted_domains_blob));
12489 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12491 return NDR_ERR_SUCCESS;
12494 static enum ndr_err_code ndr_pull_netr_NetrEnumerateTrustedDomains(struct ndr_pull *ndr, int flags, struct netr_NetrEnumerateTrustedDomains *r)
12496 uint32_t _ptr_server_name;
12497 TALLOC_CTX *_mem_save_server_name_0;
12498 TALLOC_CTX *_mem_save_trusted_domains_blob_0;
12499 if (flags & NDR_IN) {
12500 ZERO_STRUCT(r->out);
12502 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
12503 if (_ptr_server_name) {
12504 NDR_PULL_ALLOC(ndr, r->in.server_name);
12506 r->in.server_name = NULL;
12508 if (r->in.server_name) {
12509 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12510 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
12511 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
12512 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
12513 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
12514 return 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));
12516 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
12517 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));
12518 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
12520 NDR_PULL_ALLOC(ndr, r->out.trusted_domains_blob);
12521 ZERO_STRUCTP(r->out.trusted_domains_blob);
12523 if (flags & NDR_OUT) {
12524 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12525 NDR_PULL_ALLOC(ndr, r->out.trusted_domains_blob);
12527 _mem_save_trusted_domains_blob_0 = NDR_PULL_GET_MEM_CTX(ndr);
12528 NDR_PULL_SET_MEM_CTX(ndr, r->out.trusted_domains_blob, LIBNDR_FLAG_REF_ALLOC);
12529 NDR_CHECK(ndr_pull_netr_Blob(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusted_domains_blob));
12530 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domains_blob_0, LIBNDR_FLAG_REF_ALLOC);
12531 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12533 return NDR_ERR_SUCCESS;
12536 _PUBLIC_ void ndr_print_netr_NetrEnumerateTrustedDomains(struct ndr_print *ndr, const char *name, int flags, const struct netr_NetrEnumerateTrustedDomains *r)
12538 ndr_print_struct(ndr, name, "netr_NetrEnumerateTrustedDomains");
12540 if (flags & NDR_SET_VALUES) {
12541 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12543 if (flags & NDR_IN) {
12544 ndr_print_struct(ndr, "in", "netr_NetrEnumerateTrustedDomains");
12546 ndr_print_ptr(ndr, "server_name", r->in.server_name);
12548 if (r->in.server_name) {
12549 ndr_print_string(ndr, "server_name", r->in.server_name);
12554 if (flags & NDR_OUT) {
12555 ndr_print_struct(ndr, "out", "netr_NetrEnumerateTrustedDomains");
12557 ndr_print_ptr(ndr, "trusted_domains_blob", r->out.trusted_domains_blob);
12559 ndr_print_netr_Blob(ndr, "trusted_domains_blob", r->out.trusted_domains_blob);
12561 ndr_print_WERROR(ndr, "result", r->out.result);
12567 static enum ndr_err_code ndr_push_netr_DsRGetDCName(struct ndr_push *ndr, int flags, const struct netr_DsRGetDCName *r)
12569 if (flags & NDR_IN) {
12570 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc));
12571 if (r->in.server_unc) {
12572 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
12573 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12574 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
12575 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));
12577 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
12578 if (r->in.domain_name) {
12579 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
12580 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12581 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
12582 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));
12584 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
12585 if (r->in.domain_guid) {
12586 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
12588 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.site_guid));
12589 if (r->in.site_guid) {
12590 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.site_guid));
12592 NDR_CHECK(ndr_push_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, r->in.flags));
12594 if (flags & NDR_OUT) {
12595 if (r->out.info == NULL) {
12596 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12598 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
12599 if (*r->out.info) {
12600 NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
12602 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12604 return NDR_ERR_SUCCESS;
12607 static enum ndr_err_code ndr_pull_netr_DsRGetDCName(struct ndr_pull *ndr, int flags, struct netr_DsRGetDCName *r)
12609 uint32_t _ptr_server_unc;
12610 uint32_t _ptr_domain_name;
12611 uint32_t _ptr_domain_guid;
12612 uint32_t _ptr_site_guid;
12613 uint32_t _ptr_info;
12614 TALLOC_CTX *_mem_save_server_unc_0;
12615 TALLOC_CTX *_mem_save_domain_name_0;
12616 TALLOC_CTX *_mem_save_domain_guid_0;
12617 TALLOC_CTX *_mem_save_site_guid_0;
12618 TALLOC_CTX *_mem_save_info_0;
12619 TALLOC_CTX *_mem_save_info_1;
12620 if (flags & NDR_IN) {
12621 ZERO_STRUCT(r->out);
12623 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc));
12624 if (_ptr_server_unc) {
12625 NDR_PULL_ALLOC(ndr, r->in.server_unc);
12627 r->in.server_unc = NULL;
12629 if (r->in.server_unc) {
12630 _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr);
12631 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
12632 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
12633 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
12634 if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
12635 return 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));
12637 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
12638 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));
12639 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
12641 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
12642 if (_ptr_domain_name) {
12643 NDR_PULL_ALLOC(ndr, r->in.domain_name);
12645 r->in.domain_name = NULL;
12647 if (r->in.domain_name) {
12648 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12649 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
12650 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
12651 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
12652 if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
12653 return 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));
12655 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
12656 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));
12657 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
12659 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
12660 if (_ptr_domain_guid) {
12661 NDR_PULL_ALLOC(ndr, r->in.domain_guid);
12663 r->in.domain_guid = NULL;
12665 if (r->in.domain_guid) {
12666 _mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
12667 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
12668 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
12669 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
12671 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_guid));
12672 if (_ptr_site_guid) {
12673 NDR_PULL_ALLOC(ndr, r->in.site_guid);
12675 r->in.site_guid = NULL;
12677 if (r->in.site_guid) {
12678 _mem_save_site_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
12679 NDR_PULL_SET_MEM_CTX(ndr, r->in.site_guid, 0);
12680 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.site_guid));
12681 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_guid_0, 0);
12683 NDR_CHECK(ndr_pull_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, &r->in.flags));
12684 NDR_PULL_ALLOC(ndr, r->out.info);
12685 ZERO_STRUCTP(r->out.info);
12687 if (flags & NDR_OUT) {
12688 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12689 NDR_PULL_ALLOC(ndr, r->out.info);
12691 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
12692 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
12693 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
12695 NDR_PULL_ALLOC(ndr, *r->out.info);
12697 *r->out.info = NULL;
12699 if (*r->out.info) {
12700 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
12701 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
12702 NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
12703 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
12705 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
12706 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12708 return NDR_ERR_SUCCESS;
12711 _PUBLIC_ void ndr_print_netr_DsRGetDCName(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetDCName *r)
12713 ndr_print_struct(ndr, name, "netr_DsRGetDCName");
12715 if (flags & NDR_SET_VALUES) {
12716 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12718 if (flags & NDR_IN) {
12719 ndr_print_struct(ndr, "in", "netr_DsRGetDCName");
12721 ndr_print_ptr(ndr, "server_unc", r->in.server_unc);
12723 if (r->in.server_unc) {
12724 ndr_print_string(ndr, "server_unc", r->in.server_unc);
12727 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
12729 if (r->in.domain_name) {
12730 ndr_print_string(ndr, "domain_name", r->in.domain_name);
12733 ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
12735 if (r->in.domain_guid) {
12736 ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
12739 ndr_print_ptr(ndr, "site_guid", r->in.site_guid);
12741 if (r->in.site_guid) {
12742 ndr_print_GUID(ndr, "site_guid", r->in.site_guid);
12745 ndr_print_netr_DsRGetDCName_flags(ndr, "flags", r->in.flags);
12748 if (flags & NDR_OUT) {
12749 ndr_print_struct(ndr, "out", "netr_DsRGetDCName");
12751 ndr_print_ptr(ndr, "info", r->out.info);
12753 ndr_print_ptr(ndr, "info", *r->out.info);
12755 if (*r->out.info) {
12756 ndr_print_netr_DsRGetDCNameInfo(ndr, "info", *r->out.info);
12760 ndr_print_WERROR(ndr, "result", r->out.result);
12766 static enum ndr_err_code ndr_push_netr_LogonGetCapabilities(struct ndr_push *ndr, int flags, const struct netr_LogonGetCapabilities *r)
12768 if (flags & NDR_IN) {
12769 if (r->in.server_name == NULL) {
12770 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12772 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12773 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12774 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12775 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));
12776 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
12777 if (r->in.computer_name) {
12778 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
12779 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12780 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
12781 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));
12783 if (r->in.credential == NULL) {
12784 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12786 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
12787 if (r->in.return_authenticator == NULL) {
12788 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12790 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
12791 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.query_level));
12793 if (flags & NDR_OUT) {
12794 if (r->out.return_authenticator == NULL) {
12795 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12797 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12798 if (r->out.capabilities == NULL) {
12799 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12801 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.capabilities, r->in.query_level));
12802 NDR_CHECK(ndr_push_netr_Capabilities(ndr, NDR_SCALARS, r->out.capabilities));
12803 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12805 return NDR_ERR_SUCCESS;
12808 static enum ndr_err_code ndr_pull_netr_LogonGetCapabilities(struct ndr_pull *ndr, int flags, struct netr_LogonGetCapabilities *r)
12810 uint32_t _ptr_computer_name;
12811 TALLOC_CTX *_mem_save_computer_name_0;
12812 TALLOC_CTX *_mem_save_credential_0;
12813 TALLOC_CTX *_mem_save_return_authenticator_0;
12814 TALLOC_CTX *_mem_save_capabilities_0;
12815 if (flags & NDR_IN) {
12816 ZERO_STRUCT(r->out);
12818 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
12819 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
12820 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
12821 return 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));
12823 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
12824 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));
12825 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
12826 if (_ptr_computer_name) {
12827 NDR_PULL_ALLOC(ndr, r->in.computer_name);
12829 r->in.computer_name = NULL;
12831 if (r->in.computer_name) {
12832 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12833 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
12834 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
12835 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
12836 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
12837 return 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));
12839 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
12840 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));
12841 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
12843 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12844 NDR_PULL_ALLOC(ndr, r->in.credential);
12846 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
12847 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
12848 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
12849 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
12850 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12851 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
12853 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
12854 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
12855 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
12856 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
12857 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.query_level));
12858 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12859 *r->out.return_authenticator = *r->in.return_authenticator;
12860 NDR_PULL_ALLOC(ndr, r->out.capabilities);
12861 ZERO_STRUCTP(r->out.capabilities);
12863 if (flags & NDR_OUT) {
12864 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12865 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12867 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
12868 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
12869 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12870 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
12871 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12872 NDR_PULL_ALLOC(ndr, r->out.capabilities);
12874 _mem_save_capabilities_0 = NDR_PULL_GET_MEM_CTX(ndr);
12875 NDR_PULL_SET_MEM_CTX(ndr, r->out.capabilities, LIBNDR_FLAG_REF_ALLOC);
12876 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.capabilities, r->in.query_level));
12877 NDR_CHECK(ndr_pull_netr_Capabilities(ndr, NDR_SCALARS, r->out.capabilities));
12878 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_capabilities_0, LIBNDR_FLAG_REF_ALLOC);
12879 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12881 return NDR_ERR_SUCCESS;
12884 _PUBLIC_ void ndr_print_netr_LogonGetCapabilities(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonGetCapabilities *r)
12886 ndr_print_struct(ndr, name, "netr_LogonGetCapabilities");
12888 if (flags & NDR_SET_VALUES) {
12889 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12891 if (flags & NDR_IN) {
12892 ndr_print_struct(ndr, "in", "netr_LogonGetCapabilities");
12894 ndr_print_ptr(ndr, "server_name", r->in.server_name);
12896 ndr_print_string(ndr, "server_name", r->in.server_name);
12898 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
12900 if (r->in.computer_name) {
12901 ndr_print_string(ndr, "computer_name", r->in.computer_name);
12904 ndr_print_ptr(ndr, "credential", r->in.credential);
12906 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
12908 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
12910 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
12912 ndr_print_uint32(ndr, "query_level", r->in.query_level);
12915 if (flags & NDR_OUT) {
12916 ndr_print_struct(ndr, "out", "netr_LogonGetCapabilities");
12918 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
12920 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
12922 ndr_print_ptr(ndr, "capabilities", r->out.capabilities);
12924 ndr_print_set_switch_value(ndr, r->out.capabilities, r->in.query_level);
12925 ndr_print_netr_Capabilities(ndr, "capabilities", r->out.capabilities);
12927 ndr_print_NTSTATUS(ndr, "result", r->out.result);
12933 static enum ndr_err_code ndr_push_netr_NETRLOGONSETSERVICEBITS(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONSETSERVICEBITS *r)
12935 if (flags & NDR_IN) {
12937 if (flags & NDR_OUT) {
12938 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12940 return NDR_ERR_SUCCESS;
12943 static enum ndr_err_code ndr_pull_netr_NETRLOGONSETSERVICEBITS(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONSETSERVICEBITS *r)
12945 if (flags & NDR_IN) {
12947 if (flags & NDR_OUT) {
12948 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12950 return NDR_ERR_SUCCESS;
12953 _PUBLIC_ void ndr_print_netr_NETRLOGONSETSERVICEBITS(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONSETSERVICEBITS *r)
12955 ndr_print_struct(ndr, name, "netr_NETRLOGONSETSERVICEBITS");
12957 if (flags & NDR_SET_VALUES) {
12958 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12960 if (flags & NDR_IN) {
12961 ndr_print_struct(ndr, "in", "netr_NETRLOGONSETSERVICEBITS");
12965 if (flags & NDR_OUT) {
12966 ndr_print_struct(ndr, "out", "netr_NETRLOGONSETSERVICEBITS");
12968 ndr_print_WERROR(ndr, "result", r->out.result);
12974 static enum ndr_err_code ndr_push_netr_LogonGetTrustRid(struct ndr_push *ndr, int flags, const struct netr_LogonGetTrustRid *r)
12976 if (flags & NDR_IN) {
12977 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
12978 if (r->in.server_name) {
12979 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12980 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12981 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12982 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));
12984 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
12985 if (r->in.domain_name) {
12986 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
12987 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12988 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
12989 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));
12992 if (flags & NDR_OUT) {
12993 if (r->out.rid == NULL) {
12994 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12996 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.rid));
12997 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12999 return NDR_ERR_SUCCESS;
13002 static enum ndr_err_code ndr_pull_netr_LogonGetTrustRid(struct ndr_pull *ndr, int flags, struct netr_LogonGetTrustRid *r)
13004 uint32_t _ptr_server_name;
13005 uint32_t _ptr_domain_name;
13006 TALLOC_CTX *_mem_save_server_name_0;
13007 TALLOC_CTX *_mem_save_domain_name_0;
13008 TALLOC_CTX *_mem_save_rid_0;
13009 if (flags & NDR_IN) {
13010 ZERO_STRUCT(r->out);
13012 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
13013 if (_ptr_server_name) {
13014 NDR_PULL_ALLOC(ndr, r->in.server_name);
13016 r->in.server_name = NULL;
13018 if (r->in.server_name) {
13019 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13020 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
13021 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13022 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13023 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13024 return 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));
13026 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13027 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));
13028 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
13030 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
13031 if (_ptr_domain_name) {
13032 NDR_PULL_ALLOC(ndr, r->in.domain_name);
13034 r->in.domain_name = NULL;
13036 if (r->in.domain_name) {
13037 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13038 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
13039 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
13040 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
13041 if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
13042 return 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));
13044 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
13045 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));
13046 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
13048 NDR_PULL_ALLOC(ndr, r->out.rid);
13049 ZERO_STRUCTP(r->out.rid);
13051 if (flags & NDR_OUT) {
13052 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13053 NDR_PULL_ALLOC(ndr, r->out.rid);
13055 _mem_save_rid_0 = NDR_PULL_GET_MEM_CTX(ndr);
13056 NDR_PULL_SET_MEM_CTX(ndr, r->out.rid, LIBNDR_FLAG_REF_ALLOC);
13057 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.rid));
13058 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rid_0, LIBNDR_FLAG_REF_ALLOC);
13059 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13061 return NDR_ERR_SUCCESS;
13064 _PUBLIC_ void ndr_print_netr_LogonGetTrustRid(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonGetTrustRid *r)
13066 ndr_print_struct(ndr, name, "netr_LogonGetTrustRid");
13068 if (flags & NDR_SET_VALUES) {
13069 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13071 if (flags & NDR_IN) {
13072 ndr_print_struct(ndr, "in", "netr_LogonGetTrustRid");
13074 ndr_print_ptr(ndr, "server_name", r->in.server_name);
13076 if (r->in.server_name) {
13077 ndr_print_string(ndr, "server_name", r->in.server_name);
13080 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
13082 if (r->in.domain_name) {
13083 ndr_print_string(ndr, "domain_name", r->in.domain_name);
13088 if (flags & NDR_OUT) {
13089 ndr_print_struct(ndr, "out", "netr_LogonGetTrustRid");
13091 ndr_print_ptr(ndr, "rid", r->out.rid);
13093 ndr_print_uint32(ndr, "rid", *r->out.rid);
13095 ndr_print_WERROR(ndr, "result", r->out.result);
13101 static enum ndr_err_code ndr_push_netr_NETRLOGONCOMPUTESERVERDIGEST(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONCOMPUTESERVERDIGEST *r)
13103 if (flags & NDR_IN) {
13105 if (flags & NDR_OUT) {
13106 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13108 return NDR_ERR_SUCCESS;
13111 static enum ndr_err_code ndr_pull_netr_NETRLOGONCOMPUTESERVERDIGEST(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONCOMPUTESERVERDIGEST *r)
13113 if (flags & NDR_IN) {
13115 if (flags & NDR_OUT) {
13116 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13118 return NDR_ERR_SUCCESS;
13121 _PUBLIC_ void ndr_print_netr_NETRLOGONCOMPUTESERVERDIGEST(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONCOMPUTESERVERDIGEST *r)
13123 ndr_print_struct(ndr, name, "netr_NETRLOGONCOMPUTESERVERDIGEST");
13125 if (flags & NDR_SET_VALUES) {
13126 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13128 if (flags & NDR_IN) {
13129 ndr_print_struct(ndr, "in", "netr_NETRLOGONCOMPUTESERVERDIGEST");
13133 if (flags & NDR_OUT) {
13134 ndr_print_struct(ndr, "out", "netr_NETRLOGONCOMPUTESERVERDIGEST");
13136 ndr_print_WERROR(ndr, "result", r->out.result);
13142 static enum ndr_err_code ndr_push_netr_NETRLOGONCOMPUTECLIENTDIGEST(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONCOMPUTECLIENTDIGEST *r)
13144 if (flags & NDR_IN) {
13146 if (flags & NDR_OUT) {
13147 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13149 return NDR_ERR_SUCCESS;
13152 static enum ndr_err_code ndr_pull_netr_NETRLOGONCOMPUTECLIENTDIGEST(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONCOMPUTECLIENTDIGEST *r)
13154 if (flags & NDR_IN) {
13156 if (flags & NDR_OUT) {
13157 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13159 return NDR_ERR_SUCCESS;
13162 _PUBLIC_ void ndr_print_netr_NETRLOGONCOMPUTECLIENTDIGEST(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONCOMPUTECLIENTDIGEST *r)
13164 ndr_print_struct(ndr, name, "netr_NETRLOGONCOMPUTECLIENTDIGEST");
13166 if (flags & NDR_SET_VALUES) {
13167 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13169 if (flags & NDR_IN) {
13170 ndr_print_struct(ndr, "in", "netr_NETRLOGONCOMPUTECLIENTDIGEST");
13174 if (flags & NDR_OUT) {
13175 ndr_print_struct(ndr, "out", "netr_NETRLOGONCOMPUTECLIENTDIGEST");
13177 ndr_print_WERROR(ndr, "result", r->out.result);
13183 _PUBLIC_ enum ndr_err_code ndr_push_netr_ServerAuthenticate3(struct ndr_push *ndr, int flags, const struct netr_ServerAuthenticate3 *r)
13185 if (flags & NDR_IN) {
13186 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
13187 if (r->in.server_name) {
13188 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13189 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13190 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13191 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));
13193 if (r->in.account_name == NULL) {
13194 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13196 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
13197 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13198 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
13199 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));
13200 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
13201 if (r->in.computer_name == NULL) {
13202 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13204 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13205 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13206 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13207 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));
13208 if (r->in.credentials == NULL) {
13209 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13211 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
13212 if (r->in.negotiate_flags == NULL) {
13213 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13215 NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, *r->in.negotiate_flags));
13217 if (flags & NDR_OUT) {
13218 if (r->out.return_credentials == NULL) {
13219 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13221 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
13222 if (r->out.negotiate_flags == NULL) {
13223 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13225 NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, *r->out.negotiate_flags));
13226 if (r->out.rid == NULL) {
13227 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13229 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.rid));
13230 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
13232 return NDR_ERR_SUCCESS;
13235 _PUBLIC_ enum ndr_err_code ndr_pull_netr_ServerAuthenticate3(struct ndr_pull *ndr, int flags, struct netr_ServerAuthenticate3 *r)
13237 uint32_t _ptr_server_name;
13238 TALLOC_CTX *_mem_save_server_name_0;
13239 TALLOC_CTX *_mem_save_credentials_0;
13240 TALLOC_CTX *_mem_save_return_credentials_0;
13241 TALLOC_CTX *_mem_save_negotiate_flags_0;
13242 TALLOC_CTX *_mem_save_rid_0;
13243 if (flags & NDR_IN) {
13244 ZERO_STRUCT(r->out);
13246 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
13247 if (_ptr_server_name) {
13248 NDR_PULL_ALLOC(ndr, r->in.server_name);
13250 r->in.server_name = NULL;
13252 if (r->in.server_name) {
13253 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13254 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
13255 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13256 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13257 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13258 return 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));
13260 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13261 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));
13262 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
13264 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
13265 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
13266 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
13267 return 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));
13269 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
13270 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));
13271 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
13272 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
13273 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
13274 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
13275 return 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));
13277 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
13278 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));
13279 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13280 NDR_PULL_ALLOC(ndr, r->in.credentials);
13282 _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
13283 NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC);
13284 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
13285 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
13286 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13287 NDR_PULL_ALLOC(ndr, r->in.negotiate_flags);
13289 _mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
13290 NDR_PULL_SET_MEM_CTX(ndr, r->in.negotiate_flags, LIBNDR_FLAG_REF_ALLOC);
13291 NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, r->in.negotiate_flags));
13292 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC);
13293 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
13294 ZERO_STRUCTP(r->out.return_credentials);
13295 NDR_PULL_ALLOC(ndr, r->out.negotiate_flags);
13296 *r->out.negotiate_flags = *r->in.negotiate_flags;
13297 NDR_PULL_ALLOC(ndr, r->out.rid);
13298 ZERO_STRUCTP(r->out.rid);
13300 if (flags & NDR_OUT) {
13301 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13302 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
13304 _mem_save_return_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
13305 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_credentials, LIBNDR_FLAG_REF_ALLOC);
13306 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
13307 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_credentials_0, LIBNDR_FLAG_REF_ALLOC);
13308 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13309 NDR_PULL_ALLOC(ndr, r->out.negotiate_flags);
13311 _mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
13312 NDR_PULL_SET_MEM_CTX(ndr, r->out.negotiate_flags, LIBNDR_FLAG_REF_ALLOC);
13313 NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, r->out.negotiate_flags));
13314 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC);
13315 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13316 NDR_PULL_ALLOC(ndr, r->out.rid);
13318 _mem_save_rid_0 = NDR_PULL_GET_MEM_CTX(ndr);
13319 NDR_PULL_SET_MEM_CTX(ndr, r->out.rid, LIBNDR_FLAG_REF_ALLOC);
13320 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.rid));
13321 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rid_0, LIBNDR_FLAG_REF_ALLOC);
13322 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
13324 return NDR_ERR_SUCCESS;
13327 _PUBLIC_ void ndr_print_netr_ServerAuthenticate3(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerAuthenticate3 *r)
13329 ndr_print_struct(ndr, name, "netr_ServerAuthenticate3");
13331 if (flags & NDR_SET_VALUES) {
13332 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13334 if (flags & NDR_IN) {
13335 ndr_print_struct(ndr, "in", "netr_ServerAuthenticate3");
13337 ndr_print_ptr(ndr, "server_name", r->in.server_name);
13339 if (r->in.server_name) {
13340 ndr_print_string(ndr, "server_name", r->in.server_name);
13343 ndr_print_ptr(ndr, "account_name", r->in.account_name);
13345 ndr_print_string(ndr, "account_name", r->in.account_name);
13347 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
13348 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
13350 ndr_print_string(ndr, "computer_name", r->in.computer_name);
13352 ndr_print_ptr(ndr, "credentials", r->in.credentials);
13354 ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
13356 ndr_print_ptr(ndr, "negotiate_flags", r->in.negotiate_flags);
13358 ndr_print_netr_NegotiateFlags(ndr, "negotiate_flags", *r->in.negotiate_flags);
13362 if (flags & NDR_OUT) {
13363 ndr_print_struct(ndr, "out", "netr_ServerAuthenticate3");
13365 ndr_print_ptr(ndr, "return_credentials", r->out.return_credentials);
13367 ndr_print_netr_Credential(ndr, "return_credentials", r->out.return_credentials);
13369 ndr_print_ptr(ndr, "negotiate_flags", r->out.negotiate_flags);
13371 ndr_print_netr_NegotiateFlags(ndr, "negotiate_flags", *r->out.negotiate_flags);
13373 ndr_print_ptr(ndr, "rid", r->out.rid);
13375 ndr_print_uint32(ndr, "rid", *r->out.rid);
13377 ndr_print_NTSTATUS(ndr, "result", r->out.result);
13383 static enum ndr_err_code ndr_push_netr_DsRGetDCNameEx(struct ndr_push *ndr, int flags, const struct netr_DsRGetDCNameEx *r)
13385 if (flags & NDR_IN) {
13386 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc));
13387 if (r->in.server_unc) {
13388 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
13389 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13390 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
13391 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));
13393 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
13394 if (r->in.domain_name) {
13395 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
13396 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13397 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
13398 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));
13400 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
13401 if (r->in.domain_guid) {
13402 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
13404 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.site_name));
13405 if (r->in.site_name) {
13406 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
13407 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13408 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
13409 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));
13411 NDR_CHECK(ndr_push_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, r->in.flags));
13413 if (flags & NDR_OUT) {
13414 if (r->out.info == NULL) {
13415 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13417 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
13418 if (*r->out.info) {
13419 NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
13421 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13423 return NDR_ERR_SUCCESS;
13426 static enum ndr_err_code ndr_pull_netr_DsRGetDCNameEx(struct ndr_pull *ndr, int flags, struct netr_DsRGetDCNameEx *r)
13428 uint32_t _ptr_server_unc;
13429 uint32_t _ptr_domain_name;
13430 uint32_t _ptr_domain_guid;
13431 uint32_t _ptr_site_name;
13432 uint32_t _ptr_info;
13433 TALLOC_CTX *_mem_save_server_unc_0;
13434 TALLOC_CTX *_mem_save_domain_name_0;
13435 TALLOC_CTX *_mem_save_domain_guid_0;
13436 TALLOC_CTX *_mem_save_site_name_0;
13437 TALLOC_CTX *_mem_save_info_0;
13438 TALLOC_CTX *_mem_save_info_1;
13439 if (flags & NDR_IN) {
13440 ZERO_STRUCT(r->out);
13442 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc));
13443 if (_ptr_server_unc) {
13444 NDR_PULL_ALLOC(ndr, r->in.server_unc);
13446 r->in.server_unc = NULL;
13448 if (r->in.server_unc) {
13449 _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr);
13450 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
13451 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
13452 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
13453 if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
13454 return 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));
13456 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
13457 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));
13458 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
13460 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
13461 if (_ptr_domain_name) {
13462 NDR_PULL_ALLOC(ndr, r->in.domain_name);
13464 r->in.domain_name = NULL;
13466 if (r->in.domain_name) {
13467 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13468 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
13469 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
13470 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
13471 if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
13472 return 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));
13474 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
13475 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));
13476 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
13478 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
13479 if (_ptr_domain_guid) {
13480 NDR_PULL_ALLOC(ndr, r->in.domain_guid);
13482 r->in.domain_guid = NULL;
13484 if (r->in.domain_guid) {
13485 _mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
13486 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
13487 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
13488 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
13490 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
13491 if (_ptr_site_name) {
13492 NDR_PULL_ALLOC(ndr, r->in.site_name);
13494 r->in.site_name = NULL;
13496 if (r->in.site_name) {
13497 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13498 NDR_PULL_SET_MEM_CTX(ndr, r->in.site_name, 0);
13499 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.site_name));
13500 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.site_name));
13501 if (ndr_get_array_length(ndr, &r->in.site_name) > ndr_get_array_size(ndr, &r->in.site_name)) {
13502 return 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));
13504 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.site_name), sizeof(uint16_t)));
13505 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));
13506 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
13508 NDR_CHECK(ndr_pull_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, &r->in.flags));
13509 NDR_PULL_ALLOC(ndr, r->out.info);
13510 ZERO_STRUCTP(r->out.info);
13512 if (flags & NDR_OUT) {
13513 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13514 NDR_PULL_ALLOC(ndr, r->out.info);
13516 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
13517 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
13518 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
13520 NDR_PULL_ALLOC(ndr, *r->out.info);
13522 *r->out.info = NULL;
13524 if (*r->out.info) {
13525 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
13526 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
13527 NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
13528 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
13530 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
13531 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13533 return NDR_ERR_SUCCESS;
13536 _PUBLIC_ void ndr_print_netr_DsRGetDCNameEx(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetDCNameEx *r)
13538 ndr_print_struct(ndr, name, "netr_DsRGetDCNameEx");
13540 if (flags & NDR_SET_VALUES) {
13541 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13543 if (flags & NDR_IN) {
13544 ndr_print_struct(ndr, "in", "netr_DsRGetDCNameEx");
13546 ndr_print_ptr(ndr, "server_unc", r->in.server_unc);
13548 if (r->in.server_unc) {
13549 ndr_print_string(ndr, "server_unc", r->in.server_unc);
13552 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
13554 if (r->in.domain_name) {
13555 ndr_print_string(ndr, "domain_name", r->in.domain_name);
13558 ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
13560 if (r->in.domain_guid) {
13561 ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
13564 ndr_print_ptr(ndr, "site_name", r->in.site_name);
13566 if (r->in.site_name) {
13567 ndr_print_string(ndr, "site_name", r->in.site_name);
13570 ndr_print_netr_DsRGetDCName_flags(ndr, "flags", r->in.flags);
13573 if (flags & NDR_OUT) {
13574 ndr_print_struct(ndr, "out", "netr_DsRGetDCNameEx");
13576 ndr_print_ptr(ndr, "info", r->out.info);
13578 ndr_print_ptr(ndr, "info", *r->out.info);
13580 if (*r->out.info) {
13581 ndr_print_netr_DsRGetDCNameInfo(ndr, "info", *r->out.info);
13585 ndr_print_WERROR(ndr, "result", r->out.result);
13591 static enum ndr_err_code ndr_push_netr_DsRGetSiteName(struct ndr_push *ndr, int flags, const struct netr_DsRGetSiteName *r)
13593 if (flags & NDR_IN) {
13594 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
13595 if (r->in.computer_name) {
13596 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13597 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13598 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13599 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));
13602 if (flags & NDR_OUT) {
13603 if (r->out.site == NULL) {
13604 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13606 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.site));
13607 if (*r->out.site) {
13608 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.site, CH_UTF16)));
13609 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13610 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.site, CH_UTF16)));
13611 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.site, ndr_charset_length(*r->out.site, CH_UTF16), sizeof(uint16_t), CH_UTF16));
13613 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13615 return NDR_ERR_SUCCESS;
13618 static enum ndr_err_code ndr_pull_netr_DsRGetSiteName(struct ndr_pull *ndr, int flags, struct netr_DsRGetSiteName *r)
13620 uint32_t _ptr_computer_name;
13621 uint32_t _ptr_site;
13622 TALLOC_CTX *_mem_save_computer_name_0;
13623 TALLOC_CTX *_mem_save_site_0;
13624 TALLOC_CTX *_mem_save_site_1;
13625 if (flags & NDR_IN) {
13626 ZERO_STRUCT(r->out);
13628 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
13629 if (_ptr_computer_name) {
13630 NDR_PULL_ALLOC(ndr, r->in.computer_name);
13632 r->in.computer_name = NULL;
13634 if (r->in.computer_name) {
13635 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13636 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
13637 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
13638 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
13639 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
13640 return 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));
13642 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
13643 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));
13644 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
13646 NDR_PULL_ALLOC(ndr, r->out.site);
13647 ZERO_STRUCTP(r->out.site);
13649 if (flags & NDR_OUT) {
13650 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13651 NDR_PULL_ALLOC(ndr, r->out.site);
13653 _mem_save_site_0 = NDR_PULL_GET_MEM_CTX(ndr);
13654 NDR_PULL_SET_MEM_CTX(ndr, r->out.site, LIBNDR_FLAG_REF_ALLOC);
13655 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site));
13657 NDR_PULL_ALLOC(ndr, *r->out.site);
13659 *r->out.site = NULL;
13661 if (*r->out.site) {
13662 _mem_save_site_1 = NDR_PULL_GET_MEM_CTX(ndr);
13663 NDR_PULL_SET_MEM_CTX(ndr, *r->out.site, 0);
13664 NDR_CHECK(ndr_pull_array_size(ndr, r->out.site));
13665 NDR_CHECK(ndr_pull_array_length(ndr, r->out.site));
13666 if (ndr_get_array_length(ndr, r->out.site) > ndr_get_array_size(ndr, r->out.site)) {
13667 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));
13669 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.site), sizeof(uint16_t)));
13670 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.site, ndr_get_array_length(ndr, r->out.site), sizeof(uint16_t), CH_UTF16));
13671 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_1, 0);
13673 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_0, LIBNDR_FLAG_REF_ALLOC);
13674 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13676 return NDR_ERR_SUCCESS;
13679 _PUBLIC_ void ndr_print_netr_DsRGetSiteName(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetSiteName *r)
13681 ndr_print_struct(ndr, name, "netr_DsRGetSiteName");
13683 if (flags & NDR_SET_VALUES) {
13684 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13686 if (flags & NDR_IN) {
13687 ndr_print_struct(ndr, "in", "netr_DsRGetSiteName");
13689 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
13691 if (r->in.computer_name) {
13692 ndr_print_string(ndr, "computer_name", r->in.computer_name);
13697 if (flags & NDR_OUT) {
13698 ndr_print_struct(ndr, "out", "netr_DsRGetSiteName");
13700 ndr_print_ptr(ndr, "site", r->out.site);
13702 ndr_print_ptr(ndr, "site", *r->out.site);
13704 if (*r->out.site) {
13705 ndr_print_string(ndr, "site", *r->out.site);
13709 ndr_print_WERROR(ndr, "result", r->out.result);
13715 static enum ndr_err_code ndr_push_netr_LogonGetDomainInfo(struct ndr_push *ndr, int flags, const struct netr_LogonGetDomainInfo *r)
13717 if (flags & NDR_IN) {
13718 if (r->in.server_name == NULL) {
13719 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13721 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13722 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13723 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13724 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));
13725 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
13726 if (r->in.computer_name) {
13727 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13728 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13729 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13730 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));
13732 if (r->in.credential == NULL) {
13733 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13735 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
13736 if (r->in.return_authenticator == NULL) {
13737 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13739 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
13740 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
13741 if (r->in.query == NULL) {
13742 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13744 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.query, r->in.level));
13745 NDR_CHECK(ndr_push_netr_WorkstationInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.query));
13747 if (flags & NDR_OUT) {
13748 if (r->out.return_authenticator == NULL) {
13749 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13751 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
13752 if (r->out.info == NULL) {
13753 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13755 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level));
13756 NDR_CHECK(ndr_push_netr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
13757 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
13759 return NDR_ERR_SUCCESS;
13762 static enum ndr_err_code ndr_pull_netr_LogonGetDomainInfo(struct ndr_pull *ndr, int flags, struct netr_LogonGetDomainInfo *r)
13764 uint32_t _ptr_computer_name;
13765 TALLOC_CTX *_mem_save_computer_name_0;
13766 TALLOC_CTX *_mem_save_credential_0;
13767 TALLOC_CTX *_mem_save_return_authenticator_0;
13768 TALLOC_CTX *_mem_save_query_0;
13769 TALLOC_CTX *_mem_save_info_0;
13770 if (flags & NDR_IN) {
13771 ZERO_STRUCT(r->out);
13773 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13774 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13775 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13776 return 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));
13778 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13779 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));
13780 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
13781 if (_ptr_computer_name) {
13782 NDR_PULL_ALLOC(ndr, r->in.computer_name);
13784 r->in.computer_name = NULL;
13786 if (r->in.computer_name) {
13787 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13788 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
13789 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
13790 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
13791 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
13792 return 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));
13794 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
13795 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));
13796 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
13798 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13799 NDR_PULL_ALLOC(ndr, r->in.credential);
13801 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
13802 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
13803 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
13804 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
13805 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13806 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
13808 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
13809 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
13810 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
13811 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
13812 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
13813 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13814 NDR_PULL_ALLOC(ndr, r->in.query);
13816 _mem_save_query_0 = NDR_PULL_GET_MEM_CTX(ndr);
13817 NDR_PULL_SET_MEM_CTX(ndr, r->in.query, LIBNDR_FLAG_REF_ALLOC);
13818 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.query, r->in.level));
13819 NDR_CHECK(ndr_pull_netr_WorkstationInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.query));
13820 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query_0, LIBNDR_FLAG_REF_ALLOC);
13821 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
13822 *r->out.return_authenticator = *r->in.return_authenticator;
13823 NDR_PULL_ALLOC(ndr, r->out.info);
13824 ZERO_STRUCTP(r->out.info);
13826 if (flags & NDR_OUT) {
13827 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13828 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
13830 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
13831 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
13832 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
13833 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
13834 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13835 NDR_PULL_ALLOC(ndr, r->out.info);
13837 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
13838 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
13839 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level));
13840 NDR_CHECK(ndr_pull_netr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
13841 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
13842 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
13844 return NDR_ERR_SUCCESS;
13847 _PUBLIC_ void ndr_print_netr_LogonGetDomainInfo(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonGetDomainInfo *r)
13849 ndr_print_struct(ndr, name, "netr_LogonGetDomainInfo");
13851 if (flags & NDR_SET_VALUES) {
13852 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13854 if (flags & NDR_IN) {
13855 ndr_print_struct(ndr, "in", "netr_LogonGetDomainInfo");
13857 ndr_print_ptr(ndr, "server_name", r->in.server_name);
13859 ndr_print_string(ndr, "server_name", r->in.server_name);
13861 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
13863 if (r->in.computer_name) {
13864 ndr_print_string(ndr, "computer_name", r->in.computer_name);
13867 ndr_print_ptr(ndr, "credential", r->in.credential);
13869 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
13871 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
13873 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
13875 ndr_print_uint32(ndr, "level", r->in.level);
13876 ndr_print_ptr(ndr, "query", r->in.query);
13878 ndr_print_set_switch_value(ndr, r->in.query, r->in.level);
13879 ndr_print_netr_WorkstationInfo(ndr, "query", r->in.query);
13883 if (flags & NDR_OUT) {
13884 ndr_print_struct(ndr, "out", "netr_LogonGetDomainInfo");
13886 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
13888 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
13890 ndr_print_ptr(ndr, "info", r->out.info);
13892 ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
13893 ndr_print_netr_DomainInfo(ndr, "info", r->out.info);
13895 ndr_print_NTSTATUS(ndr, "result", r->out.result);
13901 static enum ndr_err_code ndr_push_netr_ServerPasswordSet2(struct ndr_push *ndr, int flags, const struct netr_ServerPasswordSet2 *r)
13903 if (flags & NDR_IN) {
13904 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
13905 if (r->in.server_name) {
13906 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13907 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13908 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13909 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));
13911 if (r->in.account_name == NULL) {
13912 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13914 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
13915 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13916 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
13917 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));
13918 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
13919 if (r->in.computer_name == NULL) {
13920 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13922 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13923 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13924 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13925 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));
13926 if (r->in.credential == NULL) {
13927 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13929 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
13930 if (r->in.new_password == NULL) {
13931 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13933 NDR_CHECK(ndr_push_netr_CryptPassword(ndr, NDR_SCALARS, r->in.new_password));
13935 if (flags & NDR_OUT) {
13936 if (r->out.return_authenticator == NULL) {
13937 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13939 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
13940 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
13942 return NDR_ERR_SUCCESS;
13945 static enum ndr_err_code ndr_pull_netr_ServerPasswordSet2(struct ndr_pull *ndr, int flags, struct netr_ServerPasswordSet2 *r)
13947 uint32_t _ptr_server_name;
13948 TALLOC_CTX *_mem_save_server_name_0;
13949 TALLOC_CTX *_mem_save_credential_0;
13950 TALLOC_CTX *_mem_save_return_authenticator_0;
13951 TALLOC_CTX *_mem_save_new_password_0;
13952 if (flags & NDR_IN) {
13953 ZERO_STRUCT(r->out);
13955 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
13956 if (_ptr_server_name) {
13957 NDR_PULL_ALLOC(ndr, r->in.server_name);
13959 r->in.server_name = NULL;
13961 if (r->in.server_name) {
13962 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13963 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
13964 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13965 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13966 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13967 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
13969 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13970 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));
13971 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
13973 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
13974 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
13975 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
13976 return 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));
13978 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
13979 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));
13980 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
13981 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
13982 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
13983 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
13984 return 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));
13986 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
13987 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));
13988 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13989 NDR_PULL_ALLOC(ndr, r->in.credential);
13991 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
13992 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
13993 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
13994 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
13995 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13996 NDR_PULL_ALLOC(ndr, r->in.new_password);
13998 _mem_save_new_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
13999 NDR_PULL_SET_MEM_CTX(ndr, r->in.new_password, LIBNDR_FLAG_REF_ALLOC);
14000 NDR_CHECK(ndr_pull_netr_CryptPassword(ndr, NDR_SCALARS, r->in.new_password));
14001 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_password_0, LIBNDR_FLAG_REF_ALLOC);
14002 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
14003 ZERO_STRUCTP(r->out.return_authenticator);
14005 if (flags & NDR_OUT) {
14006 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14007 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
14009 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
14010 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
14011 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
14012 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
14013 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
14015 return NDR_ERR_SUCCESS;
14018 _PUBLIC_ void ndr_print_netr_ServerPasswordSet2(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerPasswordSet2 *r)
14020 ndr_print_struct(ndr, name, "netr_ServerPasswordSet2");
14022 if (flags & NDR_SET_VALUES) {
14023 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14025 if (flags & NDR_IN) {
14026 ndr_print_struct(ndr, "in", "netr_ServerPasswordSet2");
14028 ndr_print_ptr(ndr, "server_name", r->in.server_name);
14030 if (r->in.server_name) {
14031 ndr_print_string(ndr, "server_name", r->in.server_name);
14034 ndr_print_ptr(ndr, "account_name", r->in.account_name);
14036 ndr_print_string(ndr, "account_name", r->in.account_name);
14038 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
14039 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
14041 ndr_print_string(ndr, "computer_name", r->in.computer_name);
14043 ndr_print_ptr(ndr, "credential", r->in.credential);
14045 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
14047 ndr_print_ptr(ndr, "new_password", r->in.new_password);
14049 ndr_print_netr_CryptPassword(ndr, "new_password", r->in.new_password);
14053 if (flags & NDR_OUT) {
14054 ndr_print_struct(ndr, "out", "netr_ServerPasswordSet2");
14056 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
14058 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
14060 ndr_print_NTSTATUS(ndr, "result", r->out.result);
14066 static enum ndr_err_code ndr_push_netr_ServerPasswordGet(struct ndr_push *ndr, int flags, const struct netr_ServerPasswordGet *r)
14068 if (flags & NDR_IN) {
14069 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
14070 if (r->in.server_name) {
14071 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14072 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14073 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14074 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
14076 if (r->in.account_name == NULL) {
14077 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14079 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
14080 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14081 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
14082 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));
14083 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
14084 if (r->in.computer_name == NULL) {
14085 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14087 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
14088 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14089 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
14090 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));
14091 if (r->in.credential == NULL) {
14092 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14094 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
14096 if (flags & NDR_OUT) {
14097 if (r->out.return_authenticator == NULL) {
14098 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14100 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
14101 if (r->out.password == NULL) {
14102 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14104 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->out.password));
14105 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14107 return NDR_ERR_SUCCESS;
14110 static enum ndr_err_code ndr_pull_netr_ServerPasswordGet(struct ndr_pull *ndr, int flags, struct netr_ServerPasswordGet *r)
14112 uint32_t _ptr_server_name;
14113 TALLOC_CTX *_mem_save_server_name_0;
14114 TALLOC_CTX *_mem_save_credential_0;
14115 TALLOC_CTX *_mem_save_return_authenticator_0;
14116 TALLOC_CTX *_mem_save_password_0;
14117 if (flags & NDR_IN) {
14118 ZERO_STRUCT(r->out);
14120 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
14121 if (_ptr_server_name) {
14122 NDR_PULL_ALLOC(ndr, r->in.server_name);
14124 r->in.server_name = NULL;
14126 if (r->in.server_name) {
14127 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14128 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
14129 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
14130 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
14131 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
14132 return 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));
14134 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
14135 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));
14136 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
14138 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
14139 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
14140 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
14141 return 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));
14143 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
14144 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));
14145 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
14146 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
14147 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
14148 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
14149 return 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));
14151 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
14152 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));
14153 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14154 NDR_PULL_ALLOC(ndr, r->in.credential);
14156 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
14157 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
14158 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
14159 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
14160 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
14161 ZERO_STRUCTP(r->out.return_authenticator);
14162 NDR_PULL_ALLOC(ndr, r->out.password);
14163 ZERO_STRUCTP(r->out.password);
14165 if (flags & NDR_OUT) {
14166 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14167 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
14169 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
14170 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
14171 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
14172 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
14173 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14174 NDR_PULL_ALLOC(ndr, r->out.password);
14176 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
14177 NDR_PULL_SET_MEM_CTX(ndr, r->out.password, LIBNDR_FLAG_REF_ALLOC);
14178 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->out.password));
14179 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, LIBNDR_FLAG_REF_ALLOC);
14180 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14182 return NDR_ERR_SUCCESS;
14185 _PUBLIC_ void ndr_print_netr_ServerPasswordGet(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerPasswordGet *r)
14187 ndr_print_struct(ndr, name, "netr_ServerPasswordGet");
14189 if (flags & NDR_SET_VALUES) {
14190 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14192 if (flags & NDR_IN) {
14193 ndr_print_struct(ndr, "in", "netr_ServerPasswordGet");
14195 ndr_print_ptr(ndr, "server_name", r->in.server_name);
14197 if (r->in.server_name) {
14198 ndr_print_string(ndr, "server_name", r->in.server_name);
14201 ndr_print_ptr(ndr, "account_name", r->in.account_name);
14203 ndr_print_string(ndr, "account_name", r->in.account_name);
14205 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
14206 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
14208 ndr_print_string(ndr, "computer_name", r->in.computer_name);
14210 ndr_print_ptr(ndr, "credential", r->in.credential);
14212 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
14216 if (flags & NDR_OUT) {
14217 ndr_print_struct(ndr, "out", "netr_ServerPasswordGet");
14219 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
14221 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
14223 ndr_print_ptr(ndr, "password", r->out.password);
14225 ndr_print_samr_Password(ndr, "password", r->out.password);
14227 ndr_print_WERROR(ndr, "result", r->out.result);
14233 static enum ndr_err_code ndr_push_netr_NETRLOGONSENDTOSAM(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONSENDTOSAM *r)
14235 if (flags & NDR_IN) {
14237 if (flags & NDR_OUT) {
14238 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14240 return NDR_ERR_SUCCESS;
14243 static enum ndr_err_code ndr_pull_netr_NETRLOGONSENDTOSAM(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONSENDTOSAM *r)
14245 if (flags & NDR_IN) {
14247 if (flags & NDR_OUT) {
14248 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14250 return NDR_ERR_SUCCESS;
14253 _PUBLIC_ void ndr_print_netr_NETRLOGONSENDTOSAM(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONSENDTOSAM *r)
14255 ndr_print_struct(ndr, name, "netr_NETRLOGONSENDTOSAM");
14257 if (flags & NDR_SET_VALUES) {
14258 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14260 if (flags & NDR_IN) {
14261 ndr_print_struct(ndr, "in", "netr_NETRLOGONSENDTOSAM");
14265 if (flags & NDR_OUT) {
14266 ndr_print_struct(ndr, "out", "netr_NETRLOGONSENDTOSAM");
14268 ndr_print_WERROR(ndr, "result", r->out.result);
14274 static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesW(struct ndr_push *ndr, int flags, const struct netr_DsRAddressToSitenamesW *r)
14276 uint32_t cntr_addresses_1;
14277 if (flags & NDR_IN) {
14278 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
14279 if (r->in.server_name) {
14280 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14281 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14282 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14283 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));
14285 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
14286 if (r->in.addresses == NULL) {
14287 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14289 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
14290 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
14291 NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1]));
14293 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
14294 NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1]));
14297 if (flags & NDR_OUT) {
14298 if (r->out.ctr == NULL) {
14299 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14301 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.ctr));
14303 NDR_CHECK(ndr_push_netr_DsRAddressToSitenamesWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
14305 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14307 return NDR_ERR_SUCCESS;
14310 static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesW(struct ndr_pull *ndr, int flags, struct netr_DsRAddressToSitenamesW *r)
14312 uint32_t _ptr_server_name;
14313 uint32_t cntr_addresses_1;
14315 TALLOC_CTX *_mem_save_server_name_0;
14316 TALLOC_CTX *_mem_save_addresses_1;
14317 TALLOC_CTX *_mem_save_ctr_0;
14318 TALLOC_CTX *_mem_save_ctr_1;
14319 if (flags & NDR_IN) {
14320 ZERO_STRUCT(r->out);
14322 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
14323 if (_ptr_server_name) {
14324 NDR_PULL_ALLOC(ndr, r->in.server_name);
14326 r->in.server_name = NULL;
14328 if (r->in.server_name) {
14329 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14330 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
14331 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
14332 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
14333 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
14334 return 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));
14336 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
14337 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));
14338 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
14340 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
14341 if (r->in.count > 32000) {
14342 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
14344 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.addresses));
14345 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14346 NDR_PULL_ALLOC_N(ndr, r->in.addresses, ndr_get_array_size(ndr, &r->in.addresses));
14348 _mem_save_addresses_1 = NDR_PULL_GET_MEM_CTX(ndr);
14349 NDR_PULL_SET_MEM_CTX(ndr, r->in.addresses, 0);
14350 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
14351 NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1]));
14353 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
14354 NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1]));
14356 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_addresses_1, 0);
14357 NDR_PULL_ALLOC(ndr, r->out.ctr);
14358 ZERO_STRUCTP(r->out.ctr);
14359 if (r->in.addresses) {
14360 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.addresses, r->in.count));
14363 if (flags & NDR_OUT) {
14364 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14365 NDR_PULL_ALLOC(ndr, r->out.ctr);
14367 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
14368 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
14369 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr));
14371 NDR_PULL_ALLOC(ndr, *r->out.ctr);
14373 *r->out.ctr = NULL;
14376 _mem_save_ctr_1 = NDR_PULL_GET_MEM_CTX(ndr);
14377 NDR_PULL_SET_MEM_CTX(ndr, *r->out.ctr, 0);
14378 NDR_CHECK(ndr_pull_netr_DsRAddressToSitenamesWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
14379 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_1, 0);
14381 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
14382 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14384 return NDR_ERR_SUCCESS;
14387 _PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesW(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRAddressToSitenamesW *r)
14389 uint32_t cntr_addresses_1;
14390 ndr_print_struct(ndr, name, "netr_DsRAddressToSitenamesW");
14392 if (flags & NDR_SET_VALUES) {
14393 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14395 if (flags & NDR_IN) {
14396 ndr_print_struct(ndr, "in", "netr_DsRAddressToSitenamesW");
14398 ndr_print_ptr(ndr, "server_name", r->in.server_name);
14400 if (r->in.server_name) {
14401 ndr_print_string(ndr, "server_name", r->in.server_name);
14404 ndr_print_uint32(ndr, "count", r->in.count);
14405 ndr_print_ptr(ndr, "addresses", r->in.addresses);
14407 ndr->print(ndr, "%s: ARRAY(%d)", "addresses", (int)r->in.count);
14409 for (cntr_addresses_1=0;cntr_addresses_1<r->in.count;cntr_addresses_1++) {
14411 if (asprintf(&idx_1, "[%d]", cntr_addresses_1) != -1) {
14412 ndr_print_netr_DsRAddress(ndr, "addresses", &r->in.addresses[cntr_addresses_1]);
14420 if (flags & NDR_OUT) {
14421 ndr_print_struct(ndr, "out", "netr_DsRAddressToSitenamesW");
14423 ndr_print_ptr(ndr, "ctr", r->out.ctr);
14425 ndr_print_ptr(ndr, "ctr", *r->out.ctr);
14428 ndr_print_netr_DsRAddressToSitenamesWCtr(ndr, "ctr", *r->out.ctr);
14432 ndr_print_WERROR(ndr, "result", r->out.result);
14438 static enum ndr_err_code ndr_push_netr_DsRGetDCNameEx2(struct ndr_push *ndr, int flags, const struct netr_DsRGetDCNameEx2 *r)
14440 if (flags & NDR_IN) {
14441 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc));
14442 if (r->in.server_unc) {
14443 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
14444 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14445 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
14446 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));
14448 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.client_account));
14449 if (r->in.client_account) {
14450 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.client_account, CH_UTF16)));
14451 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14452 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.client_account, CH_UTF16)));
14453 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));
14455 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->in.mask));
14456 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
14457 if (r->in.domain_name) {
14458 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
14459 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14460 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
14461 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));
14463 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
14464 if (r->in.domain_guid) {
14465 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
14467 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.site_name));
14468 if (r->in.site_name) {
14469 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
14470 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14471 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
14472 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));
14474 NDR_CHECK(ndr_push_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, r->in.flags));
14476 if (flags & NDR_OUT) {
14477 if (r->out.info == NULL) {
14478 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14480 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
14481 if (*r->out.info) {
14482 NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
14484 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14486 return NDR_ERR_SUCCESS;
14489 static enum ndr_err_code ndr_pull_netr_DsRGetDCNameEx2(struct ndr_pull *ndr, int flags, struct netr_DsRGetDCNameEx2 *r)
14491 uint32_t _ptr_server_unc;
14492 uint32_t _ptr_client_account;
14493 uint32_t _ptr_domain_name;
14494 uint32_t _ptr_domain_guid;
14495 uint32_t _ptr_site_name;
14496 uint32_t _ptr_info;
14497 TALLOC_CTX *_mem_save_server_unc_0;
14498 TALLOC_CTX *_mem_save_client_account_0;
14499 TALLOC_CTX *_mem_save_domain_name_0;
14500 TALLOC_CTX *_mem_save_domain_guid_0;
14501 TALLOC_CTX *_mem_save_site_name_0;
14502 TALLOC_CTX *_mem_save_info_0;
14503 TALLOC_CTX *_mem_save_info_1;
14504 if (flags & NDR_IN) {
14505 ZERO_STRUCT(r->out);
14507 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc));
14508 if (_ptr_server_unc) {
14509 NDR_PULL_ALLOC(ndr, r->in.server_unc);
14511 r->in.server_unc = NULL;
14513 if (r->in.server_unc) {
14514 _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr);
14515 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
14516 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
14517 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
14518 if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
14519 return 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));
14521 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
14522 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));
14523 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
14525 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_account));
14526 if (_ptr_client_account) {
14527 NDR_PULL_ALLOC(ndr, r->in.client_account);
14529 r->in.client_account = NULL;
14531 if (r->in.client_account) {
14532 _mem_save_client_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
14533 NDR_PULL_SET_MEM_CTX(ndr, r->in.client_account, 0);
14534 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.client_account));
14535 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.client_account));
14536 if (ndr_get_array_length(ndr, &r->in.client_account) > ndr_get_array_size(ndr, &r->in.client_account)) {
14537 return 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));
14539 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.client_account), sizeof(uint16_t)));
14540 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));
14541 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_account_0, 0);
14543 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->in.mask));
14544 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
14545 if (_ptr_domain_name) {
14546 NDR_PULL_ALLOC(ndr, r->in.domain_name);
14548 r->in.domain_name = NULL;
14550 if (r->in.domain_name) {
14551 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14552 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
14553 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
14554 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
14555 if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
14556 return 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));
14558 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
14559 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));
14560 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
14562 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
14563 if (_ptr_domain_guid) {
14564 NDR_PULL_ALLOC(ndr, r->in.domain_guid);
14566 r->in.domain_guid = NULL;
14568 if (r->in.domain_guid) {
14569 _mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
14570 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
14571 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
14572 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
14574 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
14575 if (_ptr_site_name) {
14576 NDR_PULL_ALLOC(ndr, r->in.site_name);
14578 r->in.site_name = NULL;
14580 if (r->in.site_name) {
14581 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14582 NDR_PULL_SET_MEM_CTX(ndr, r->in.site_name, 0);
14583 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.site_name));
14584 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.site_name));
14585 if (ndr_get_array_length(ndr, &r->in.site_name) > ndr_get_array_size(ndr, &r->in.site_name)) {
14586 return 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));
14588 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.site_name), sizeof(uint16_t)));
14589 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));
14590 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
14592 NDR_CHECK(ndr_pull_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, &r->in.flags));
14593 NDR_PULL_ALLOC(ndr, r->out.info);
14594 ZERO_STRUCTP(r->out.info);
14596 if (flags & NDR_OUT) {
14597 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14598 NDR_PULL_ALLOC(ndr, r->out.info);
14600 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
14601 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
14602 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
14604 NDR_PULL_ALLOC(ndr, *r->out.info);
14606 *r->out.info = NULL;
14608 if (*r->out.info) {
14609 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
14610 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
14611 NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
14612 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
14614 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
14615 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14617 return NDR_ERR_SUCCESS;
14620 _PUBLIC_ void ndr_print_netr_DsRGetDCNameEx2(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetDCNameEx2 *r)
14622 ndr_print_struct(ndr, name, "netr_DsRGetDCNameEx2");
14624 if (flags & NDR_SET_VALUES) {
14625 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14627 if (flags & NDR_IN) {
14628 ndr_print_struct(ndr, "in", "netr_DsRGetDCNameEx2");
14630 ndr_print_ptr(ndr, "server_unc", r->in.server_unc);
14632 if (r->in.server_unc) {
14633 ndr_print_string(ndr, "server_unc", r->in.server_unc);
14636 ndr_print_ptr(ndr, "client_account", r->in.client_account);
14638 if (r->in.client_account) {
14639 ndr_print_string(ndr, "client_account", r->in.client_account);
14642 ndr_print_samr_AcctFlags(ndr, "mask", r->in.mask);
14643 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
14645 if (r->in.domain_name) {
14646 ndr_print_string(ndr, "domain_name", r->in.domain_name);
14649 ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
14651 if (r->in.domain_guid) {
14652 ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
14655 ndr_print_ptr(ndr, "site_name", r->in.site_name);
14657 if (r->in.site_name) {
14658 ndr_print_string(ndr, "site_name", r->in.site_name);
14661 ndr_print_netr_DsRGetDCName_flags(ndr, "flags", r->in.flags);
14664 if (flags & NDR_OUT) {
14665 ndr_print_struct(ndr, "out", "netr_DsRGetDCNameEx2");
14667 ndr_print_ptr(ndr, "info", r->out.info);
14669 ndr_print_ptr(ndr, "info", *r->out.info);
14671 if (*r->out.info) {
14672 ndr_print_netr_DsRGetDCNameInfo(ndr, "info", *r->out.info);
14676 ndr_print_WERROR(ndr, "result", r->out.result);
14682 static enum ndr_err_code ndr_push_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN *r)
14684 if (flags & NDR_IN) {
14686 if (flags & NDR_OUT) {
14687 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14689 return NDR_ERR_SUCCESS;
14692 static enum ndr_err_code ndr_pull_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN *r)
14694 if (flags & NDR_IN) {
14696 if (flags & NDR_OUT) {
14697 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14699 return NDR_ERR_SUCCESS;
14702 _PUBLIC_ void ndr_print_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN *r)
14704 ndr_print_struct(ndr, name, "netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN");
14706 if (flags & NDR_SET_VALUES) {
14707 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14709 if (flags & NDR_IN) {
14710 ndr_print_struct(ndr, "in", "netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN");
14714 if (flags & NDR_OUT) {
14715 ndr_print_struct(ndr, "out", "netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN");
14717 ndr_print_WERROR(ndr, "result", r->out.result);
14723 static enum ndr_err_code ndr_push_netr_NetrEnumerateTrustedDomainsEx(struct ndr_push *ndr, int flags, const struct netr_NetrEnumerateTrustedDomainsEx *r)
14725 if (flags & NDR_IN) {
14726 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
14727 if (r->in.server_name) {
14728 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14729 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14730 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14731 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));
14734 if (flags & NDR_OUT) {
14735 if (r->out.dom_trust_list == NULL) {
14736 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14738 NDR_CHECK(ndr_push_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.dom_trust_list));
14739 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14741 return NDR_ERR_SUCCESS;
14744 static enum ndr_err_code ndr_pull_netr_NetrEnumerateTrustedDomainsEx(struct ndr_pull *ndr, int flags, struct netr_NetrEnumerateTrustedDomainsEx *r)
14746 uint32_t _ptr_server_name;
14747 TALLOC_CTX *_mem_save_server_name_0;
14748 TALLOC_CTX *_mem_save_dom_trust_list_0;
14749 if (flags & NDR_IN) {
14750 ZERO_STRUCT(r->out);
14752 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
14753 if (_ptr_server_name) {
14754 NDR_PULL_ALLOC(ndr, r->in.server_name);
14756 r->in.server_name = NULL;
14758 if (r->in.server_name) {
14759 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14760 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
14761 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
14762 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
14763 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
14764 return 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));
14766 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
14767 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));
14768 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
14770 NDR_PULL_ALLOC(ndr, r->out.dom_trust_list);
14771 ZERO_STRUCTP(r->out.dom_trust_list);
14773 if (flags & NDR_OUT) {
14774 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14775 NDR_PULL_ALLOC(ndr, r->out.dom_trust_list);
14777 _mem_save_dom_trust_list_0 = NDR_PULL_GET_MEM_CTX(ndr);
14778 NDR_PULL_SET_MEM_CTX(ndr, r->out.dom_trust_list, LIBNDR_FLAG_REF_ALLOC);
14779 NDR_CHECK(ndr_pull_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.dom_trust_list));
14780 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dom_trust_list_0, LIBNDR_FLAG_REF_ALLOC);
14781 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14783 return NDR_ERR_SUCCESS;
14786 _PUBLIC_ void ndr_print_netr_NetrEnumerateTrustedDomainsEx(struct ndr_print *ndr, const char *name, int flags, const struct netr_NetrEnumerateTrustedDomainsEx *r)
14788 ndr_print_struct(ndr, name, "netr_NetrEnumerateTrustedDomainsEx");
14790 if (flags & NDR_SET_VALUES) {
14791 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14793 if (flags & NDR_IN) {
14794 ndr_print_struct(ndr, "in", "netr_NetrEnumerateTrustedDomainsEx");
14796 ndr_print_ptr(ndr, "server_name", r->in.server_name);
14798 if (r->in.server_name) {
14799 ndr_print_string(ndr, "server_name", r->in.server_name);
14804 if (flags & NDR_OUT) {
14805 ndr_print_struct(ndr, "out", "netr_NetrEnumerateTrustedDomainsEx");
14807 ndr_print_ptr(ndr, "dom_trust_list", r->out.dom_trust_list);
14809 ndr_print_netr_DomainTrustList(ndr, "dom_trust_list", r->out.dom_trust_list);
14811 ndr_print_WERROR(ndr, "result", r->out.result);
14817 static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesExW(struct ndr_push *ndr, int flags, const struct netr_DsRAddressToSitenamesExW *r)
14819 uint32_t cntr_addresses_1;
14820 if (flags & NDR_IN) {
14821 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
14822 if (r->in.server_name) {
14823 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14824 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14825 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14826 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));
14828 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
14829 if (r->in.addresses == NULL) {
14830 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14832 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
14833 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
14834 NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1]));
14836 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
14837 NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1]));
14840 if (flags & NDR_OUT) {
14841 if (r->out.ctr == NULL) {
14842 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14844 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.ctr));
14846 NDR_CHECK(ndr_push_netr_DsRAddressToSitenamesExWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
14848 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14850 return NDR_ERR_SUCCESS;
14853 static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesExW(struct ndr_pull *ndr, int flags, struct netr_DsRAddressToSitenamesExW *r)
14855 uint32_t _ptr_server_name;
14856 uint32_t cntr_addresses_1;
14858 TALLOC_CTX *_mem_save_server_name_0;
14859 TALLOC_CTX *_mem_save_addresses_1;
14860 TALLOC_CTX *_mem_save_ctr_0;
14861 TALLOC_CTX *_mem_save_ctr_1;
14862 if (flags & NDR_IN) {
14863 ZERO_STRUCT(r->out);
14865 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
14866 if (_ptr_server_name) {
14867 NDR_PULL_ALLOC(ndr, r->in.server_name);
14869 r->in.server_name = NULL;
14871 if (r->in.server_name) {
14872 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14873 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
14874 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
14875 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
14876 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
14877 return 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));
14879 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
14880 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));
14881 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
14883 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
14884 if (r->in.count > 32000) {
14885 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
14887 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.addresses));
14888 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14889 NDR_PULL_ALLOC_N(ndr, r->in.addresses, ndr_get_array_size(ndr, &r->in.addresses));
14891 _mem_save_addresses_1 = NDR_PULL_GET_MEM_CTX(ndr);
14892 NDR_PULL_SET_MEM_CTX(ndr, r->in.addresses, 0);
14893 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
14894 NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1]));
14896 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
14897 NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1]));
14899 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_addresses_1, 0);
14900 NDR_PULL_ALLOC(ndr, r->out.ctr);
14901 ZERO_STRUCTP(r->out.ctr);
14902 if (r->in.addresses) {
14903 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.addresses, r->in.count));
14906 if (flags & NDR_OUT) {
14907 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14908 NDR_PULL_ALLOC(ndr, r->out.ctr);
14910 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
14911 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
14912 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr));
14914 NDR_PULL_ALLOC(ndr, *r->out.ctr);
14916 *r->out.ctr = NULL;
14919 _mem_save_ctr_1 = NDR_PULL_GET_MEM_CTX(ndr);
14920 NDR_PULL_SET_MEM_CTX(ndr, *r->out.ctr, 0);
14921 NDR_CHECK(ndr_pull_netr_DsRAddressToSitenamesExWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
14922 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_1, 0);
14924 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
14925 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14927 return NDR_ERR_SUCCESS;
14930 _PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesExW(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRAddressToSitenamesExW *r)
14932 uint32_t cntr_addresses_1;
14933 ndr_print_struct(ndr, name, "netr_DsRAddressToSitenamesExW");
14935 if (flags & NDR_SET_VALUES) {
14936 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14938 if (flags & NDR_IN) {
14939 ndr_print_struct(ndr, "in", "netr_DsRAddressToSitenamesExW");
14941 ndr_print_ptr(ndr, "server_name", r->in.server_name);
14943 if (r->in.server_name) {
14944 ndr_print_string(ndr, "server_name", r->in.server_name);
14947 ndr_print_uint32(ndr, "count", r->in.count);
14948 ndr_print_ptr(ndr, "addresses", r->in.addresses);
14950 ndr->print(ndr, "%s: ARRAY(%d)", "addresses", (int)r->in.count);
14952 for (cntr_addresses_1=0;cntr_addresses_1<r->in.count;cntr_addresses_1++) {
14954 if (asprintf(&idx_1, "[%d]", cntr_addresses_1) != -1) {
14955 ndr_print_netr_DsRAddress(ndr, "addresses", &r->in.addresses[cntr_addresses_1]);
14963 if (flags & NDR_OUT) {
14964 ndr_print_struct(ndr, "out", "netr_DsRAddressToSitenamesExW");
14966 ndr_print_ptr(ndr, "ctr", r->out.ctr);
14968 ndr_print_ptr(ndr, "ctr", *r->out.ctr);
14971 ndr_print_netr_DsRAddressToSitenamesExWCtr(ndr, "ctr", *r->out.ctr);
14975 ndr_print_WERROR(ndr, "result", r->out.result);
14981 static enum ndr_err_code ndr_push_netr_DsrGetDcSiteCoverageW(struct ndr_push *ndr, int flags, const struct netr_DsrGetDcSiteCoverageW *r)
14983 if (flags & NDR_IN) {
14984 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
14985 if (r->in.server_name) {
14986 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14987 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14988 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14989 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));
14992 if (flags & NDR_OUT) {
14993 if (r->out.ctr == NULL) {
14994 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14996 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.ctr));
14998 NDR_CHECK(ndr_push_DcSitesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
15000 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15002 return NDR_ERR_SUCCESS;
15005 static enum ndr_err_code ndr_pull_netr_DsrGetDcSiteCoverageW(struct ndr_pull *ndr, int flags, struct netr_DsrGetDcSiteCoverageW *r)
15007 uint32_t _ptr_server_name;
15009 TALLOC_CTX *_mem_save_server_name_0;
15010 TALLOC_CTX *_mem_save_ctr_0;
15011 TALLOC_CTX *_mem_save_ctr_1;
15012 if (flags & NDR_IN) {
15013 ZERO_STRUCT(r->out);
15015 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
15016 if (_ptr_server_name) {
15017 NDR_PULL_ALLOC(ndr, r->in.server_name);
15019 r->in.server_name = NULL;
15021 if (r->in.server_name) {
15022 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15023 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
15024 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
15025 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
15026 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
15027 return 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));
15029 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
15030 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));
15031 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
15033 NDR_PULL_ALLOC(ndr, r->out.ctr);
15034 ZERO_STRUCTP(r->out.ctr);
15036 if (flags & NDR_OUT) {
15037 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15038 NDR_PULL_ALLOC(ndr, r->out.ctr);
15040 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
15041 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
15042 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr));
15044 NDR_PULL_ALLOC(ndr, *r->out.ctr);
15046 *r->out.ctr = NULL;
15049 _mem_save_ctr_1 = NDR_PULL_GET_MEM_CTX(ndr);
15050 NDR_PULL_SET_MEM_CTX(ndr, *r->out.ctr, 0);
15051 NDR_CHECK(ndr_pull_DcSitesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
15052 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_1, 0);
15054 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
15055 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15057 return NDR_ERR_SUCCESS;
15060 _PUBLIC_ void ndr_print_netr_DsrGetDcSiteCoverageW(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsrGetDcSiteCoverageW *r)
15062 ndr_print_struct(ndr, name, "netr_DsrGetDcSiteCoverageW");
15064 if (flags & NDR_SET_VALUES) {
15065 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15067 if (flags & NDR_IN) {
15068 ndr_print_struct(ndr, "in", "netr_DsrGetDcSiteCoverageW");
15070 ndr_print_ptr(ndr, "server_name", r->in.server_name);
15072 if (r->in.server_name) {
15073 ndr_print_string(ndr, "server_name", r->in.server_name);
15078 if (flags & NDR_OUT) {
15079 ndr_print_struct(ndr, "out", "netr_DsrGetDcSiteCoverageW");
15081 ndr_print_ptr(ndr, "ctr", r->out.ctr);
15083 ndr_print_ptr(ndr, "ctr", *r->out.ctr);
15086 ndr_print_DcSitesCtr(ndr, "ctr", *r->out.ctr);
15090 ndr_print_WERROR(ndr, "result", r->out.result);
15096 static enum ndr_err_code ndr_push_netr_LogonSamLogonEx(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogonEx *r)
15098 if (flags & NDR_IN) {
15099 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
15100 if (r->in.server_name) {
15101 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15102 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15103 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15104 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));
15106 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
15107 if (r->in.computer_name) {
15108 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
15109 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15110 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
15111 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));
15113 NDR_CHECK(ndr_push_netr_LogonInfoClass(ndr, NDR_SCALARS, r->in.logon_level));
15114 if (r->in.logon == NULL) {
15115 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15117 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.logon, r->in.logon_level));
15118 NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
15119 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.validation_level));
15120 if (r->in.flags == NULL) {
15121 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15123 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.flags));
15125 if (flags & NDR_OUT) {
15126 if (r->out.validation == NULL) {
15127 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15129 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.validation, r->in.validation_level));
15130 NDR_CHECK(ndr_push_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
15131 if (r->out.authoritative == NULL) {
15132 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15134 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, *r->out.authoritative));
15135 if (r->out.flags == NULL) {
15136 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15138 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.flags));
15139 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
15141 return NDR_ERR_SUCCESS;
15144 static enum ndr_err_code ndr_pull_netr_LogonSamLogonEx(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogonEx *r)
15146 uint32_t _ptr_server_name;
15147 uint32_t _ptr_computer_name;
15148 TALLOC_CTX *_mem_save_server_name_0;
15149 TALLOC_CTX *_mem_save_computer_name_0;
15150 TALLOC_CTX *_mem_save_logon_0;
15151 TALLOC_CTX *_mem_save_validation_0;
15152 TALLOC_CTX *_mem_save_authoritative_0;
15153 TALLOC_CTX *_mem_save_flags_0;
15154 if (flags & NDR_IN) {
15155 ZERO_STRUCT(r->out);
15157 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
15158 if (_ptr_server_name) {
15159 NDR_PULL_ALLOC(ndr, r->in.server_name);
15161 r->in.server_name = NULL;
15163 if (r->in.server_name) {
15164 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15165 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
15166 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
15167 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
15168 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
15169 return 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));
15171 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
15172 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));
15173 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
15175 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
15176 if (_ptr_computer_name) {
15177 NDR_PULL_ALLOC(ndr, r->in.computer_name);
15179 r->in.computer_name = NULL;
15181 if (r->in.computer_name) {
15182 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15183 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
15184 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
15185 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
15186 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
15187 return 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));
15189 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
15190 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));
15191 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
15193 NDR_CHECK(ndr_pull_netr_LogonInfoClass(ndr, NDR_SCALARS, &r->in.logon_level));
15194 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15195 NDR_PULL_ALLOC(ndr, r->in.logon);
15197 _mem_save_logon_0 = NDR_PULL_GET_MEM_CTX(ndr);
15198 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon, LIBNDR_FLAG_REF_ALLOC);
15199 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.logon, r->in.logon_level));
15200 NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
15201 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_0, LIBNDR_FLAG_REF_ALLOC);
15202 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.validation_level));
15203 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15204 NDR_PULL_ALLOC(ndr, r->in.flags);
15206 _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
15207 NDR_PULL_SET_MEM_CTX(ndr, r->in.flags, LIBNDR_FLAG_REF_ALLOC);
15208 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.flags));
15209 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
15210 NDR_PULL_ALLOC(ndr, r->out.validation);
15211 ZERO_STRUCTP(r->out.validation);
15212 NDR_PULL_ALLOC(ndr, r->out.authoritative);
15213 ZERO_STRUCTP(r->out.authoritative);
15214 NDR_PULL_ALLOC(ndr, r->out.flags);
15215 *r->out.flags = *r->in.flags;
15217 if (flags & NDR_OUT) {
15218 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15219 NDR_PULL_ALLOC(ndr, r->out.validation);
15221 _mem_save_validation_0 = NDR_PULL_GET_MEM_CTX(ndr);
15222 NDR_PULL_SET_MEM_CTX(ndr, r->out.validation, LIBNDR_FLAG_REF_ALLOC);
15223 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.validation, r->in.validation_level));
15224 NDR_CHECK(ndr_pull_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
15225 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_validation_0, LIBNDR_FLAG_REF_ALLOC);
15226 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15227 NDR_PULL_ALLOC(ndr, r->out.authoritative);
15229 _mem_save_authoritative_0 = NDR_PULL_GET_MEM_CTX(ndr);
15230 NDR_PULL_SET_MEM_CTX(ndr, r->out.authoritative, LIBNDR_FLAG_REF_ALLOC);
15231 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, r->out.authoritative));
15232 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_authoritative_0, LIBNDR_FLAG_REF_ALLOC);
15233 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15234 NDR_PULL_ALLOC(ndr, r->out.flags);
15236 _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
15237 NDR_PULL_SET_MEM_CTX(ndr, r->out.flags, LIBNDR_FLAG_REF_ALLOC);
15238 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.flags));
15239 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
15240 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
15242 return NDR_ERR_SUCCESS;
15245 _PUBLIC_ void ndr_print_netr_LogonSamLogonEx(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogonEx *r)
15247 ndr_print_struct(ndr, name, "netr_LogonSamLogonEx");
15249 if (flags & NDR_SET_VALUES) {
15250 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15252 if (flags & NDR_IN) {
15253 ndr_print_struct(ndr, "in", "netr_LogonSamLogonEx");
15255 ndr_print_ptr(ndr, "server_name", r->in.server_name);
15257 if (r->in.server_name) {
15258 ndr_print_string(ndr, "server_name", r->in.server_name);
15261 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
15263 if (r->in.computer_name) {
15264 ndr_print_string(ndr, "computer_name", r->in.computer_name);
15267 ndr_print_netr_LogonInfoClass(ndr, "logon_level", r->in.logon_level);
15268 ndr_print_ptr(ndr, "logon", r->in.logon);
15270 ndr_print_set_switch_value(ndr, r->in.logon, r->in.logon_level);
15271 ndr_print_netr_LogonLevel(ndr, "logon", r->in.logon);
15273 ndr_print_uint16(ndr, "validation_level", r->in.validation_level);
15274 ndr_print_ptr(ndr, "flags", r->in.flags);
15276 ndr_print_uint32(ndr, "flags", *r->in.flags);
15280 if (flags & NDR_OUT) {
15281 ndr_print_struct(ndr, "out", "netr_LogonSamLogonEx");
15283 ndr_print_ptr(ndr, "validation", r->out.validation);
15285 ndr_print_set_switch_value(ndr, r->out.validation, r->in.validation_level);
15286 ndr_print_netr_Validation(ndr, "validation", r->out.validation);
15288 ndr_print_ptr(ndr, "authoritative", r->out.authoritative);
15290 ndr_print_uint8(ndr, "authoritative", *r->out.authoritative);
15292 ndr_print_ptr(ndr, "flags", r->out.flags);
15294 ndr_print_uint32(ndr, "flags", *r->out.flags);
15296 ndr_print_NTSTATUS(ndr, "result", r->out.result);
15302 static enum ndr_err_code ndr_push_netr_DsrEnumerateDomainTrusts(struct ndr_push *ndr, int flags, const struct netr_DsrEnumerateDomainTrusts *r)
15304 if (flags & NDR_IN) {
15305 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
15306 if (r->in.server_name) {
15307 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15308 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15309 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15310 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));
15312 NDR_CHECK(ndr_push_netr_TrustFlags(ndr, NDR_SCALARS, r->in.trust_flags));
15314 if (flags & NDR_OUT) {
15315 if (r->out.trusts == NULL) {
15316 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15318 NDR_CHECK(ndr_push_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusts));
15319 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15321 return NDR_ERR_SUCCESS;
15324 static enum ndr_err_code ndr_pull_netr_DsrEnumerateDomainTrusts(struct ndr_pull *ndr, int flags, struct netr_DsrEnumerateDomainTrusts *r)
15326 uint32_t _ptr_server_name;
15327 TALLOC_CTX *_mem_save_server_name_0;
15328 TALLOC_CTX *_mem_save_trusts_0;
15329 if (flags & NDR_IN) {
15330 ZERO_STRUCT(r->out);
15332 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
15333 if (_ptr_server_name) {
15334 NDR_PULL_ALLOC(ndr, r->in.server_name);
15336 r->in.server_name = NULL;
15338 if (r->in.server_name) {
15339 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15340 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
15341 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
15342 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
15343 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
15344 return 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));
15346 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
15347 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));
15348 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
15350 NDR_CHECK(ndr_pull_netr_TrustFlags(ndr, NDR_SCALARS, &r->in.trust_flags));
15351 NDR_PULL_ALLOC(ndr, r->out.trusts);
15352 ZERO_STRUCTP(r->out.trusts);
15354 if (flags & NDR_OUT) {
15355 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15356 NDR_PULL_ALLOC(ndr, r->out.trusts);
15358 _mem_save_trusts_0 = NDR_PULL_GET_MEM_CTX(ndr);
15359 NDR_PULL_SET_MEM_CTX(ndr, r->out.trusts, LIBNDR_FLAG_REF_ALLOC);
15360 NDR_CHECK(ndr_pull_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusts));
15361 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusts_0, LIBNDR_FLAG_REF_ALLOC);
15362 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15364 return NDR_ERR_SUCCESS;
15367 _PUBLIC_ void ndr_print_netr_DsrEnumerateDomainTrusts(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsrEnumerateDomainTrusts *r)
15369 ndr_print_struct(ndr, name, "netr_DsrEnumerateDomainTrusts");
15371 if (flags & NDR_SET_VALUES) {
15372 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15374 if (flags & NDR_IN) {
15375 ndr_print_struct(ndr, "in", "netr_DsrEnumerateDomainTrusts");
15377 ndr_print_ptr(ndr, "server_name", r->in.server_name);
15379 if (r->in.server_name) {
15380 ndr_print_string(ndr, "server_name", r->in.server_name);
15383 ndr_print_netr_TrustFlags(ndr, "trust_flags", r->in.trust_flags);
15386 if (flags & NDR_OUT) {
15387 ndr_print_struct(ndr, "out", "netr_DsrEnumerateDomainTrusts");
15389 ndr_print_ptr(ndr, "trusts", r->out.trusts);
15391 ndr_print_netr_DomainTrustList(ndr, "trusts", r->out.trusts);
15393 ndr_print_WERROR(ndr, "result", r->out.result);
15399 static enum ndr_err_code ndr_push_netr_DsrDeregisterDNSHostRecords(struct ndr_push *ndr, int flags, const struct netr_DsrDeregisterDNSHostRecords *r)
15401 if (flags & NDR_IN) {
15402 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
15403 if (r->in.server_name) {
15404 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15405 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15406 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15407 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));
15409 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain));
15410 if (r->in.domain) {
15411 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain, CH_UTF16)));
15412 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15413 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain, CH_UTF16)));
15414 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domain, ndr_charset_length(r->in.domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
15416 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
15417 if (r->in.domain_guid) {
15418 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
15420 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.dsa_guid));
15421 if (r->in.dsa_guid) {
15422 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.dsa_guid));
15424 if (r->in.dns_host == NULL) {
15425 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15427 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.dns_host, CH_UTF16)));
15428 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15429 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.dns_host, CH_UTF16)));
15430 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));
15432 if (flags & NDR_OUT) {
15433 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15435 return NDR_ERR_SUCCESS;
15438 static enum ndr_err_code ndr_pull_netr_DsrDeregisterDNSHostRecords(struct ndr_pull *ndr, int flags, struct netr_DsrDeregisterDNSHostRecords *r)
15440 uint32_t _ptr_server_name;
15441 uint32_t _ptr_domain;
15442 uint32_t _ptr_domain_guid;
15443 uint32_t _ptr_dsa_guid;
15444 TALLOC_CTX *_mem_save_server_name_0;
15445 TALLOC_CTX *_mem_save_domain_0;
15446 TALLOC_CTX *_mem_save_domain_guid_0;
15447 TALLOC_CTX *_mem_save_dsa_guid_0;
15448 if (flags & NDR_IN) {
15449 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
15450 if (_ptr_server_name) {
15451 NDR_PULL_ALLOC(ndr, r->in.server_name);
15453 r->in.server_name = NULL;
15455 if (r->in.server_name) {
15456 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15457 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
15458 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
15459 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
15460 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
15461 return 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));
15463 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
15464 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));
15465 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
15467 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
15469 NDR_PULL_ALLOC(ndr, r->in.domain);
15471 r->in.domain = NULL;
15473 if (r->in.domain) {
15474 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
15475 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain, 0);
15476 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain));
15477 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain));
15478 if (ndr_get_array_length(ndr, &r->in.domain) > ndr_get_array_size(ndr, &r->in.domain)) {
15479 return 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));
15481 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain), sizeof(uint16_t)));
15482 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain, ndr_get_array_length(ndr, &r->in.domain), sizeof(uint16_t), CH_UTF16));
15483 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
15485 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
15486 if (_ptr_domain_guid) {
15487 NDR_PULL_ALLOC(ndr, r->in.domain_guid);
15489 r->in.domain_guid = NULL;
15491 if (r->in.domain_guid) {
15492 _mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
15493 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
15494 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
15495 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
15497 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dsa_guid));
15498 if (_ptr_dsa_guid) {
15499 NDR_PULL_ALLOC(ndr, r->in.dsa_guid);
15501 r->in.dsa_guid = NULL;
15503 if (r->in.dsa_guid) {
15504 _mem_save_dsa_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
15505 NDR_PULL_SET_MEM_CTX(ndr, r->in.dsa_guid, 0);
15506 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.dsa_guid));
15507 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dsa_guid_0, 0);
15509 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.dns_host));
15510 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.dns_host));
15511 if (ndr_get_array_length(ndr, &r->in.dns_host) > ndr_get_array_size(ndr, &r->in.dns_host)) {
15512 return 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));
15514 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.dns_host), sizeof(uint16_t)));
15515 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));
15517 if (flags & NDR_OUT) {
15518 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15520 return NDR_ERR_SUCCESS;
15523 _PUBLIC_ void ndr_print_netr_DsrDeregisterDNSHostRecords(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsrDeregisterDNSHostRecords *r)
15525 ndr_print_struct(ndr, name, "netr_DsrDeregisterDNSHostRecords");
15527 if (flags & NDR_SET_VALUES) {
15528 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15530 if (flags & NDR_IN) {
15531 ndr_print_struct(ndr, "in", "netr_DsrDeregisterDNSHostRecords");
15533 ndr_print_ptr(ndr, "server_name", r->in.server_name);
15535 if (r->in.server_name) {
15536 ndr_print_string(ndr, "server_name", r->in.server_name);
15539 ndr_print_ptr(ndr, "domain", r->in.domain);
15541 if (r->in.domain) {
15542 ndr_print_string(ndr, "domain", r->in.domain);
15545 ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
15547 if (r->in.domain_guid) {
15548 ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
15551 ndr_print_ptr(ndr, "dsa_guid", r->in.dsa_guid);
15553 if (r->in.dsa_guid) {
15554 ndr_print_GUID(ndr, "dsa_guid", r->in.dsa_guid);
15557 ndr_print_ptr(ndr, "dns_host", r->in.dns_host);
15559 ndr_print_string(ndr, "dns_host", r->in.dns_host);
15563 if (flags & NDR_OUT) {
15564 ndr_print_struct(ndr, "out", "netr_DsrDeregisterDNSHostRecords");
15566 ndr_print_WERROR(ndr, "result", r->out.result);
15572 static enum ndr_err_code ndr_push_netr_ServerTrustPasswordsGet(struct ndr_push *ndr, int flags, const struct netr_ServerTrustPasswordsGet *r)
15574 if (flags & NDR_IN) {
15575 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
15576 if (r->in.server_name) {
15577 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15578 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15579 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15580 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));
15582 if (r->in.account_name == NULL) {
15583 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15585 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
15586 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15587 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
15588 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));
15589 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
15590 if (r->in.computer_name == NULL) {
15591 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15593 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
15594 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15595 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
15596 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));
15597 if (r->in.credential == 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->in.credential));
15602 if (flags & NDR_OUT) {
15603 if (r->out.return_authenticator == NULL) {
15604 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15606 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
15607 if (r->out.password == NULL) {
15608 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15610 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->out.password));
15611 if (r->out.password2 == NULL) {
15612 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15614 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->out.password2));
15615 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
15617 return NDR_ERR_SUCCESS;
15620 static enum ndr_err_code ndr_pull_netr_ServerTrustPasswordsGet(struct ndr_pull *ndr, int flags, struct netr_ServerTrustPasswordsGet *r)
15622 uint32_t _ptr_server_name;
15623 TALLOC_CTX *_mem_save_server_name_0;
15624 TALLOC_CTX *_mem_save_credential_0;
15625 TALLOC_CTX *_mem_save_return_authenticator_0;
15626 TALLOC_CTX *_mem_save_password_0;
15627 TALLOC_CTX *_mem_save_password2_0;
15628 if (flags & NDR_IN) {
15629 ZERO_STRUCT(r->out);
15631 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
15632 if (_ptr_server_name) {
15633 NDR_PULL_ALLOC(ndr, r->in.server_name);
15635 r->in.server_name = NULL;
15637 if (r->in.server_name) {
15638 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15639 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
15640 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
15641 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
15642 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
15643 return 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));
15645 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
15646 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));
15647 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
15649 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
15650 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
15651 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
15652 return 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));
15654 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
15655 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));
15656 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
15657 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
15658 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
15659 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
15660 return 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));
15662 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
15663 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));
15664 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15665 NDR_PULL_ALLOC(ndr, r->in.credential);
15667 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
15668 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
15669 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
15670 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
15671 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
15672 ZERO_STRUCTP(r->out.return_authenticator);
15673 NDR_PULL_ALLOC(ndr, r->out.password);
15674 ZERO_STRUCTP(r->out.password);
15675 NDR_PULL_ALLOC(ndr, r->out.password2);
15676 ZERO_STRUCTP(r->out.password2);
15678 if (flags & NDR_OUT) {
15679 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15680 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
15682 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
15683 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
15684 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
15685 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
15686 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15687 NDR_PULL_ALLOC(ndr, r->out.password);
15689 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
15690 NDR_PULL_SET_MEM_CTX(ndr, r->out.password, LIBNDR_FLAG_REF_ALLOC);
15691 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->out.password));
15692 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, LIBNDR_FLAG_REF_ALLOC);
15693 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15694 NDR_PULL_ALLOC(ndr, r->out.password2);
15696 _mem_save_password2_0 = NDR_PULL_GET_MEM_CTX(ndr);
15697 NDR_PULL_SET_MEM_CTX(ndr, r->out.password2, LIBNDR_FLAG_REF_ALLOC);
15698 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->out.password2));
15699 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password2_0, LIBNDR_FLAG_REF_ALLOC);
15700 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
15702 return NDR_ERR_SUCCESS;
15705 _PUBLIC_ void ndr_print_netr_ServerTrustPasswordsGet(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerTrustPasswordsGet *r)
15707 ndr_print_struct(ndr, name, "netr_ServerTrustPasswordsGet");
15709 if (flags & NDR_SET_VALUES) {
15710 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15712 if (flags & NDR_IN) {
15713 ndr_print_struct(ndr, "in", "netr_ServerTrustPasswordsGet");
15715 ndr_print_ptr(ndr, "server_name", r->in.server_name);
15717 if (r->in.server_name) {
15718 ndr_print_string(ndr, "server_name", r->in.server_name);
15721 ndr_print_ptr(ndr, "account_name", r->in.account_name);
15723 ndr_print_string(ndr, "account_name", r->in.account_name);
15725 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
15726 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
15728 ndr_print_string(ndr, "computer_name", r->in.computer_name);
15730 ndr_print_ptr(ndr, "credential", r->in.credential);
15732 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
15736 if (flags & NDR_OUT) {
15737 ndr_print_struct(ndr, "out", "netr_ServerTrustPasswordsGet");
15739 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
15741 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
15743 ndr_print_ptr(ndr, "password", r->out.password);
15745 ndr_print_samr_Password(ndr, "password", r->out.password);
15747 ndr_print_ptr(ndr, "password2", r->out.password2);
15749 ndr_print_samr_Password(ndr, "password2", r->out.password2);
15751 ndr_print_NTSTATUS(ndr, "result", r->out.result);
15757 static enum ndr_err_code ndr_push_netr_DsRGetForestTrustInformation(struct ndr_push *ndr, int flags, const struct netr_DsRGetForestTrustInformation *r)
15759 if (flags & NDR_IN) {
15760 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
15761 if (r->in.server_name) {
15762 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15763 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15764 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15765 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));
15767 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.trusted_domain_name));
15768 if (r->in.trusted_domain_name) {
15769 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16)));
15770 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15771 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16)));
15772 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));
15774 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags));
15776 if (flags & NDR_OUT) {
15777 if (r->out.forest_trust_info == NULL) {
15778 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15780 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.forest_trust_info));
15781 if (*r->out.forest_trust_info) {
15782 NDR_CHECK(ndr_push_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
15784 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15786 return NDR_ERR_SUCCESS;
15789 static enum ndr_err_code ndr_pull_netr_DsRGetForestTrustInformation(struct ndr_pull *ndr, int flags, struct netr_DsRGetForestTrustInformation *r)
15791 uint32_t _ptr_server_name;
15792 uint32_t _ptr_trusted_domain_name;
15793 uint32_t _ptr_forest_trust_info;
15794 TALLOC_CTX *_mem_save_server_name_0;
15795 TALLOC_CTX *_mem_save_trusted_domain_name_0;
15796 TALLOC_CTX *_mem_save_forest_trust_info_0;
15797 TALLOC_CTX *_mem_save_forest_trust_info_1;
15798 if (flags & NDR_IN) {
15799 ZERO_STRUCT(r->out);
15801 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
15802 if (_ptr_server_name) {
15803 NDR_PULL_ALLOC(ndr, r->in.server_name);
15805 r->in.server_name = NULL;
15807 if (r->in.server_name) {
15808 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15809 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
15810 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
15811 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
15812 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
15813 return 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));
15815 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
15816 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));
15817 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
15819 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_domain_name));
15820 if (_ptr_trusted_domain_name) {
15821 NDR_PULL_ALLOC(ndr, r->in.trusted_domain_name);
15823 r->in.trusted_domain_name = NULL;
15825 if (r->in.trusted_domain_name) {
15826 _mem_save_trusted_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15827 NDR_PULL_SET_MEM_CTX(ndr, r->in.trusted_domain_name, 0);
15828 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.trusted_domain_name));
15829 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.trusted_domain_name));
15830 if (ndr_get_array_length(ndr, &r->in.trusted_domain_name) > ndr_get_array_size(ndr, &r->in.trusted_domain_name)) {
15831 return 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));
15833 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.trusted_domain_name), sizeof(uint16_t)));
15834 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));
15835 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domain_name_0, 0);
15837 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
15838 NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
15839 ZERO_STRUCTP(r->out.forest_trust_info);
15841 if (flags & NDR_OUT) {
15842 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15843 NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
15845 _mem_save_forest_trust_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
15846 NDR_PULL_SET_MEM_CTX(ndr, r->out.forest_trust_info, LIBNDR_FLAG_REF_ALLOC);
15847 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_forest_trust_info));
15848 if (_ptr_forest_trust_info) {
15849 NDR_PULL_ALLOC(ndr, *r->out.forest_trust_info);
15851 *r->out.forest_trust_info = NULL;
15853 if (*r->out.forest_trust_info) {
15854 _mem_save_forest_trust_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
15855 NDR_PULL_SET_MEM_CTX(ndr, *r->out.forest_trust_info, 0);
15856 NDR_CHECK(ndr_pull_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
15857 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_1, 0);
15859 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_0, LIBNDR_FLAG_REF_ALLOC);
15860 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15862 return NDR_ERR_SUCCESS;
15865 _PUBLIC_ void ndr_print_netr_DsRGetForestTrustInformation(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetForestTrustInformation *r)
15867 ndr_print_struct(ndr, name, "netr_DsRGetForestTrustInformation");
15869 if (flags & NDR_SET_VALUES) {
15870 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15872 if (flags & NDR_IN) {
15873 ndr_print_struct(ndr, "in", "netr_DsRGetForestTrustInformation");
15875 ndr_print_ptr(ndr, "server_name", r->in.server_name);
15877 if (r->in.server_name) {
15878 ndr_print_string(ndr, "server_name", r->in.server_name);
15881 ndr_print_ptr(ndr, "trusted_domain_name", r->in.trusted_domain_name);
15883 if (r->in.trusted_domain_name) {
15884 ndr_print_string(ndr, "trusted_domain_name", r->in.trusted_domain_name);
15887 ndr_print_uint32(ndr, "flags", r->in.flags);
15890 if (flags & NDR_OUT) {
15891 ndr_print_struct(ndr, "out", "netr_DsRGetForestTrustInformation");
15893 ndr_print_ptr(ndr, "forest_trust_info", r->out.forest_trust_info);
15895 ndr_print_ptr(ndr, "forest_trust_info", *r->out.forest_trust_info);
15897 if (*r->out.forest_trust_info) {
15898 ndr_print_lsa_ForestTrustInformation(ndr, "forest_trust_info", *r->out.forest_trust_info);
15902 ndr_print_WERROR(ndr, "result", r->out.result);
15908 static enum ndr_err_code ndr_push_netr_GetForestTrustInformation(struct ndr_push *ndr, int flags, const struct netr_GetForestTrustInformation *r)
15910 if (flags & NDR_IN) {
15911 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
15912 if (r->in.server_name) {
15913 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15914 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15915 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15916 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));
15918 if (r->in.trusted_domain_name == NULL) {
15919 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15921 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16)));
15922 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15923 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16)));
15924 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));
15925 if (r->in.credential == NULL) {
15926 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15928 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
15929 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags));
15931 if (flags & NDR_OUT) {
15932 if (r->out.return_authenticator == NULL) {
15933 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15935 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
15936 if (r->out.forest_trust_info == NULL) {
15937 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15939 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.forest_trust_info));
15940 if (*r->out.forest_trust_info) {
15941 NDR_CHECK(ndr_push_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
15943 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15945 return NDR_ERR_SUCCESS;
15948 static enum ndr_err_code ndr_pull_netr_GetForestTrustInformation(struct ndr_pull *ndr, int flags, struct netr_GetForestTrustInformation *r)
15950 uint32_t _ptr_server_name;
15951 uint32_t _ptr_forest_trust_info;
15952 TALLOC_CTX *_mem_save_server_name_0;
15953 TALLOC_CTX *_mem_save_credential_0;
15954 TALLOC_CTX *_mem_save_return_authenticator_0;
15955 TALLOC_CTX *_mem_save_forest_trust_info_0;
15956 TALLOC_CTX *_mem_save_forest_trust_info_1;
15957 if (flags & NDR_IN) {
15958 ZERO_STRUCT(r->out);
15960 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
15961 if (_ptr_server_name) {
15962 NDR_PULL_ALLOC(ndr, r->in.server_name);
15964 r->in.server_name = NULL;
15966 if (r->in.server_name) {
15967 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15968 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
15969 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
15970 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
15971 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
15972 return 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));
15974 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
15975 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));
15976 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
15978 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.trusted_domain_name));
15979 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.trusted_domain_name));
15980 if (ndr_get_array_length(ndr, &r->in.trusted_domain_name) > ndr_get_array_size(ndr, &r->in.trusted_domain_name)) {
15981 return 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));
15983 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.trusted_domain_name), sizeof(uint16_t)));
15984 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));
15985 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15986 NDR_PULL_ALLOC(ndr, r->in.credential);
15988 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
15989 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
15990 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
15991 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
15992 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
15993 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
15994 ZERO_STRUCTP(r->out.return_authenticator);
15995 NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
15996 ZERO_STRUCTP(r->out.forest_trust_info);
15998 if (flags & NDR_OUT) {
15999 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16000 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
16002 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
16003 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
16004 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
16005 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
16006 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16007 NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
16009 _mem_save_forest_trust_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
16010 NDR_PULL_SET_MEM_CTX(ndr, r->out.forest_trust_info, LIBNDR_FLAG_REF_ALLOC);
16011 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_forest_trust_info));
16012 if (_ptr_forest_trust_info) {
16013 NDR_PULL_ALLOC(ndr, *r->out.forest_trust_info);
16015 *r->out.forest_trust_info = NULL;
16017 if (*r->out.forest_trust_info) {
16018 _mem_save_forest_trust_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
16019 NDR_PULL_SET_MEM_CTX(ndr, *r->out.forest_trust_info, 0);
16020 NDR_CHECK(ndr_pull_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
16021 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_1, 0);
16023 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_0, LIBNDR_FLAG_REF_ALLOC);
16024 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
16026 return NDR_ERR_SUCCESS;
16029 _PUBLIC_ void ndr_print_netr_GetForestTrustInformation(struct ndr_print *ndr, const char *name, int flags, const struct netr_GetForestTrustInformation *r)
16031 ndr_print_struct(ndr, name, "netr_GetForestTrustInformation");
16033 if (flags & NDR_SET_VALUES) {
16034 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
16036 if (flags & NDR_IN) {
16037 ndr_print_struct(ndr, "in", "netr_GetForestTrustInformation");
16039 ndr_print_ptr(ndr, "server_name", r->in.server_name);
16041 if (r->in.server_name) {
16042 ndr_print_string(ndr, "server_name", r->in.server_name);
16045 ndr_print_ptr(ndr, "trusted_domain_name", r->in.trusted_domain_name);
16047 ndr_print_string(ndr, "trusted_domain_name", r->in.trusted_domain_name);
16049 ndr_print_ptr(ndr, "credential", r->in.credential);
16051 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
16053 ndr_print_uint32(ndr, "flags", r->in.flags);
16056 if (flags & NDR_OUT) {
16057 ndr_print_struct(ndr, "out", "netr_GetForestTrustInformation");
16059 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
16061 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
16063 ndr_print_ptr(ndr, "forest_trust_info", r->out.forest_trust_info);
16065 ndr_print_ptr(ndr, "forest_trust_info", *r->out.forest_trust_info);
16067 if (*r->out.forest_trust_info) {
16068 ndr_print_lsa_ForestTrustInformation(ndr, "forest_trust_info", *r->out.forest_trust_info);
16072 ndr_print_WERROR(ndr, "result", r->out.result);
16078 static enum ndr_err_code ndr_push_netr_LogonSamLogonWithFlags(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogonWithFlags *r)
16080 if (flags & NDR_IN) {
16081 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
16082 if (r->in.server_name) {
16083 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
16084 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
16085 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
16086 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));
16088 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
16089 if (r->in.computer_name) {
16090 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
16091 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
16092 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
16093 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));
16095 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.credential));
16096 if (r->in.credential) {
16097 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
16099 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.return_authenticator));
16100 if (r->in.return_authenticator) {
16101 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
16103 NDR_CHECK(ndr_push_netr_LogonInfoClass(ndr, NDR_SCALARS, r->in.logon_level));
16104 if (r->in.logon == NULL) {
16105 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16107 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.logon, r->in.logon_level));
16108 NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
16109 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.validation_level));
16110 if (r->in.flags == NULL) {
16111 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16113 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.flags));
16115 if (flags & NDR_OUT) {
16116 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.return_authenticator));
16117 if (r->out.return_authenticator) {
16118 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
16120 if (r->out.validation == NULL) {
16121 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16123 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.validation, r->in.validation_level));
16124 NDR_CHECK(ndr_push_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
16125 if (r->out.authoritative == NULL) {
16126 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16128 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, *r->out.authoritative));
16129 if (r->out.flags == NULL) {
16130 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16132 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.flags));
16133 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
16135 return NDR_ERR_SUCCESS;
16138 static enum ndr_err_code ndr_pull_netr_LogonSamLogonWithFlags(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogonWithFlags *r)
16140 uint32_t _ptr_server_name;
16141 uint32_t _ptr_computer_name;
16142 uint32_t _ptr_credential;
16143 uint32_t _ptr_return_authenticator;
16144 TALLOC_CTX *_mem_save_server_name_0;
16145 TALLOC_CTX *_mem_save_computer_name_0;
16146 TALLOC_CTX *_mem_save_credential_0;
16147 TALLOC_CTX *_mem_save_return_authenticator_0;
16148 TALLOC_CTX *_mem_save_logon_0;
16149 TALLOC_CTX *_mem_save_validation_0;
16150 TALLOC_CTX *_mem_save_authoritative_0;
16151 TALLOC_CTX *_mem_save_flags_0;
16152 if (flags & NDR_IN) {
16153 ZERO_STRUCT(r->out);
16155 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
16156 if (_ptr_server_name) {
16157 NDR_PULL_ALLOC(ndr, r->in.server_name);
16159 r->in.server_name = NULL;
16161 if (r->in.server_name) {
16162 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
16163 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
16164 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
16165 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
16166 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
16167 return 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));
16169 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
16170 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));
16171 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
16173 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
16174 if (_ptr_computer_name) {
16175 NDR_PULL_ALLOC(ndr, r->in.computer_name);
16177 r->in.computer_name = NULL;
16179 if (r->in.computer_name) {
16180 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
16181 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
16182 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
16183 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
16184 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
16185 return 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));
16187 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
16188 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));
16189 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
16191 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_credential));
16192 if (_ptr_credential) {
16193 NDR_PULL_ALLOC(ndr, r->in.credential);
16195 r->in.credential = NULL;
16197 if (r->in.credential) {
16198 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
16199 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, 0);
16200 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
16201 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, 0);
16203 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
16204 if (_ptr_return_authenticator) {
16205 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
16207 r->in.return_authenticator = NULL;
16209 if (r->in.return_authenticator) {
16210 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
16211 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, 0);
16212 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
16213 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
16215 NDR_CHECK(ndr_pull_netr_LogonInfoClass(ndr, NDR_SCALARS, &r->in.logon_level));
16216 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16217 NDR_PULL_ALLOC(ndr, r->in.logon);
16219 _mem_save_logon_0 = NDR_PULL_GET_MEM_CTX(ndr);
16220 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon, LIBNDR_FLAG_REF_ALLOC);
16221 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.logon, r->in.logon_level));
16222 NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
16223 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_0, LIBNDR_FLAG_REF_ALLOC);
16224 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.validation_level));
16225 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16226 NDR_PULL_ALLOC(ndr, r->in.flags);
16228 _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
16229 NDR_PULL_SET_MEM_CTX(ndr, r->in.flags, LIBNDR_FLAG_REF_ALLOC);
16230 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.flags));
16231 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
16232 NDR_PULL_ALLOC(ndr, r->out.validation);
16233 ZERO_STRUCTP(r->out.validation);
16234 NDR_PULL_ALLOC(ndr, r->out.authoritative);
16235 ZERO_STRUCTP(r->out.authoritative);
16236 NDR_PULL_ALLOC(ndr, r->out.flags);
16237 *r->out.flags = *r->in.flags;
16239 if (flags & NDR_OUT) {
16240 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
16241 if (_ptr_return_authenticator) {
16242 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
16244 r->out.return_authenticator = NULL;
16246 if (r->out.return_authenticator) {
16247 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
16248 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, 0);
16249 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
16250 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
16252 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16253 NDR_PULL_ALLOC(ndr, r->out.validation);
16255 _mem_save_validation_0 = NDR_PULL_GET_MEM_CTX(ndr);
16256 NDR_PULL_SET_MEM_CTX(ndr, r->out.validation, LIBNDR_FLAG_REF_ALLOC);
16257 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.validation, r->in.validation_level));
16258 NDR_CHECK(ndr_pull_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
16259 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_validation_0, LIBNDR_FLAG_REF_ALLOC);
16260 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16261 NDR_PULL_ALLOC(ndr, r->out.authoritative);
16263 _mem_save_authoritative_0 = NDR_PULL_GET_MEM_CTX(ndr);
16264 NDR_PULL_SET_MEM_CTX(ndr, r->out.authoritative, LIBNDR_FLAG_REF_ALLOC);
16265 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, r->out.authoritative));
16266 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_authoritative_0, LIBNDR_FLAG_REF_ALLOC);
16267 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16268 NDR_PULL_ALLOC(ndr, r->out.flags);
16270 _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
16271 NDR_PULL_SET_MEM_CTX(ndr, r->out.flags, LIBNDR_FLAG_REF_ALLOC);
16272 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.flags));
16273 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
16274 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
16276 return NDR_ERR_SUCCESS;
16279 _PUBLIC_ void ndr_print_netr_LogonSamLogonWithFlags(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogonWithFlags *r)
16281 ndr_print_struct(ndr, name, "netr_LogonSamLogonWithFlags");
16283 if (flags & NDR_SET_VALUES) {
16284 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
16286 if (flags & NDR_IN) {
16287 ndr_print_struct(ndr, "in", "netr_LogonSamLogonWithFlags");
16289 ndr_print_ptr(ndr, "server_name", r->in.server_name);
16291 if (r->in.server_name) {
16292 ndr_print_string(ndr, "server_name", r->in.server_name);
16295 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
16297 if (r->in.computer_name) {
16298 ndr_print_string(ndr, "computer_name", r->in.computer_name);
16301 ndr_print_ptr(ndr, "credential", r->in.credential);
16303 if (r->in.credential) {
16304 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
16307 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
16309 if (r->in.return_authenticator) {
16310 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
16313 ndr_print_netr_LogonInfoClass(ndr, "logon_level", r->in.logon_level);
16314 ndr_print_ptr(ndr, "logon", r->in.logon);
16316 ndr_print_set_switch_value(ndr, r->in.logon, r->in.logon_level);
16317 ndr_print_netr_LogonLevel(ndr, "logon", r->in.logon);
16319 ndr_print_uint16(ndr, "validation_level", r->in.validation_level);
16320 ndr_print_ptr(ndr, "flags", r->in.flags);
16322 ndr_print_uint32(ndr, "flags", *r->in.flags);
16326 if (flags & NDR_OUT) {
16327 ndr_print_struct(ndr, "out", "netr_LogonSamLogonWithFlags");
16329 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
16331 if (r->out.return_authenticator) {
16332 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
16335 ndr_print_ptr(ndr, "validation", r->out.validation);
16337 ndr_print_set_switch_value(ndr, r->out.validation, r->in.validation_level);
16338 ndr_print_netr_Validation(ndr, "validation", r->out.validation);
16340 ndr_print_ptr(ndr, "authoritative", r->out.authoritative);
16342 ndr_print_uint8(ndr, "authoritative", *r->out.authoritative);
16344 ndr_print_ptr(ndr, "flags", r->out.flags);
16346 ndr_print_uint32(ndr, "flags", *r->out.flags);
16348 ndr_print_NTSTATUS(ndr, "result", r->out.result);
16354 static enum ndr_err_code ndr_push_netr_ServerGetTrustInfo(struct ndr_push *ndr, int flags, const struct netr_ServerGetTrustInfo *r)
16356 if (flags & NDR_IN) {
16357 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
16358 if (r->in.server_name) {
16359 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
16360 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
16361 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
16362 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));
16364 if (r->in.account_name == NULL) {
16365 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16367 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
16368 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
16369 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
16370 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));
16371 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
16372 if (r->in.computer_name == NULL) {
16373 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16375 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
16376 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
16377 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
16378 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));
16379 if (r->in.credential == NULL) {
16380 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16382 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
16384 if (flags & NDR_OUT) {
16385 if (r->out.return_authenticator == NULL) {
16386 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16388 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
16389 if (r->out.new_owf_password == NULL) {
16390 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16392 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->out.new_owf_password));
16393 if (r->out.old_owf_password == NULL) {
16394 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16396 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->out.old_owf_password));
16397 if (r->out.trust_info == NULL) {
16398 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16400 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.trust_info));
16401 if (*r->out.trust_info) {
16402 NDR_CHECK(ndr_push_netr_TrustInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.trust_info));
16404 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
16406 return NDR_ERR_SUCCESS;
16409 static enum ndr_err_code ndr_pull_netr_ServerGetTrustInfo(struct ndr_pull *ndr, int flags, struct netr_ServerGetTrustInfo *r)
16411 uint32_t _ptr_server_name;
16412 uint32_t _ptr_trust_info;
16413 TALLOC_CTX *_mem_save_server_name_0;
16414 TALLOC_CTX *_mem_save_credential_0;
16415 TALLOC_CTX *_mem_save_return_authenticator_0;
16416 TALLOC_CTX *_mem_save_new_owf_password_0;
16417 TALLOC_CTX *_mem_save_old_owf_password_0;
16418 TALLOC_CTX *_mem_save_trust_info_0;
16419 TALLOC_CTX *_mem_save_trust_info_1;
16420 if (flags & NDR_IN) {
16421 ZERO_STRUCT(r->out);
16423 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
16424 if (_ptr_server_name) {
16425 NDR_PULL_ALLOC(ndr, r->in.server_name);
16427 r->in.server_name = NULL;
16429 if (r->in.server_name) {
16430 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
16431 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
16432 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
16433 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
16434 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
16435 return 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));
16437 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
16438 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));
16439 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
16441 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
16442 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
16443 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
16444 return 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));
16446 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
16447 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));
16448 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
16449 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
16450 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
16451 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
16452 return 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));
16454 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
16455 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));
16456 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16457 NDR_PULL_ALLOC(ndr, r->in.credential);
16459 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
16460 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
16461 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
16462 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
16463 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
16464 ZERO_STRUCTP(r->out.return_authenticator);
16465 NDR_PULL_ALLOC(ndr, r->out.new_owf_password);
16466 ZERO_STRUCTP(r->out.new_owf_password);
16467 NDR_PULL_ALLOC(ndr, r->out.old_owf_password);
16468 ZERO_STRUCTP(r->out.old_owf_password);
16469 NDR_PULL_ALLOC(ndr, r->out.trust_info);
16470 ZERO_STRUCTP(r->out.trust_info);
16472 if (flags & NDR_OUT) {
16473 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16474 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
16476 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
16477 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
16478 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
16479 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
16480 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16481 NDR_PULL_ALLOC(ndr, r->out.new_owf_password);
16483 _mem_save_new_owf_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
16484 NDR_PULL_SET_MEM_CTX(ndr, r->out.new_owf_password, LIBNDR_FLAG_REF_ALLOC);
16485 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->out.new_owf_password));
16486 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_owf_password_0, LIBNDR_FLAG_REF_ALLOC);
16487 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16488 NDR_PULL_ALLOC(ndr, r->out.old_owf_password);
16490 _mem_save_old_owf_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
16491 NDR_PULL_SET_MEM_CTX(ndr, r->out.old_owf_password, LIBNDR_FLAG_REF_ALLOC);
16492 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->out.old_owf_password));
16493 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_owf_password_0, LIBNDR_FLAG_REF_ALLOC);
16494 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16495 NDR_PULL_ALLOC(ndr, r->out.trust_info);
16497 _mem_save_trust_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
16498 NDR_PULL_SET_MEM_CTX(ndr, r->out.trust_info, LIBNDR_FLAG_REF_ALLOC);
16499 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trust_info));
16500 if (_ptr_trust_info) {
16501 NDR_PULL_ALLOC(ndr, *r->out.trust_info);
16503 *r->out.trust_info = NULL;
16505 if (*r->out.trust_info) {
16506 _mem_save_trust_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
16507 NDR_PULL_SET_MEM_CTX(ndr, *r->out.trust_info, 0);
16508 NDR_CHECK(ndr_pull_netr_TrustInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.trust_info));
16509 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trust_info_1, 0);
16511 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trust_info_0, LIBNDR_FLAG_REF_ALLOC);
16512 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
16514 return NDR_ERR_SUCCESS;
16517 _PUBLIC_ void ndr_print_netr_ServerGetTrustInfo(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerGetTrustInfo *r)
16519 ndr_print_struct(ndr, name, "netr_ServerGetTrustInfo");
16521 if (flags & NDR_SET_VALUES) {
16522 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
16524 if (flags & NDR_IN) {
16525 ndr_print_struct(ndr, "in", "netr_ServerGetTrustInfo");
16527 ndr_print_ptr(ndr, "server_name", r->in.server_name);
16529 if (r->in.server_name) {
16530 ndr_print_string(ndr, "server_name", r->in.server_name);
16533 ndr_print_ptr(ndr, "account_name", r->in.account_name);
16535 ndr_print_string(ndr, "account_name", r->in.account_name);
16537 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
16538 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
16540 ndr_print_string(ndr, "computer_name", r->in.computer_name);
16542 ndr_print_ptr(ndr, "credential", r->in.credential);
16544 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
16548 if (flags & NDR_OUT) {
16549 ndr_print_struct(ndr, "out", "netr_ServerGetTrustInfo");
16551 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
16553 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
16555 ndr_print_ptr(ndr, "new_owf_password", r->out.new_owf_password);
16557 ndr_print_samr_Password(ndr, "new_owf_password", r->out.new_owf_password);
16559 ndr_print_ptr(ndr, "old_owf_password", r->out.old_owf_password);
16561 ndr_print_samr_Password(ndr, "old_owf_password", r->out.old_owf_password);
16563 ndr_print_ptr(ndr, "trust_info", r->out.trust_info);
16565 ndr_print_ptr(ndr, "trust_info", *r->out.trust_info);
16567 if (*r->out.trust_info) {
16568 ndr_print_netr_TrustInfo(ndr, "trust_info", *r->out.trust_info);
16572 ndr_print_NTSTATUS(ndr, "result", r->out.result);
16578 static const struct ndr_interface_call netlogon_calls[] = {
16580 "netr_LogonUasLogon",
16581 sizeof(struct netr_LogonUasLogon),
16582 (ndr_push_flags_fn_t) ndr_push_netr_LogonUasLogon,
16583 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonUasLogon,
16584 (ndr_print_function_t) ndr_print_netr_LogonUasLogon,
16588 "netr_LogonUasLogoff",
16589 sizeof(struct netr_LogonUasLogoff),
16590 (ndr_push_flags_fn_t) ndr_push_netr_LogonUasLogoff,
16591 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonUasLogoff,
16592 (ndr_print_function_t) ndr_print_netr_LogonUasLogoff,
16596 "netr_LogonSamLogon",
16597 sizeof(struct netr_LogonSamLogon),
16598 (ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogon,
16599 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogon,
16600 (ndr_print_function_t) ndr_print_netr_LogonSamLogon,
16604 "netr_LogonSamLogoff",
16605 sizeof(struct netr_LogonSamLogoff),
16606 (ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogoff,
16607 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogoff,
16608 (ndr_print_function_t) ndr_print_netr_LogonSamLogoff,
16612 "netr_ServerReqChallenge",
16613 sizeof(struct netr_ServerReqChallenge),
16614 (ndr_push_flags_fn_t) ndr_push_netr_ServerReqChallenge,
16615 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerReqChallenge,
16616 (ndr_print_function_t) ndr_print_netr_ServerReqChallenge,
16620 "netr_ServerAuthenticate",
16621 sizeof(struct netr_ServerAuthenticate),
16622 (ndr_push_flags_fn_t) ndr_push_netr_ServerAuthenticate,
16623 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerAuthenticate,
16624 (ndr_print_function_t) ndr_print_netr_ServerAuthenticate,
16628 "netr_ServerPasswordSet",
16629 sizeof(struct netr_ServerPasswordSet),
16630 (ndr_push_flags_fn_t) ndr_push_netr_ServerPasswordSet,
16631 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerPasswordSet,
16632 (ndr_print_function_t) ndr_print_netr_ServerPasswordSet,
16636 "netr_DatabaseDeltas",
16637 sizeof(struct netr_DatabaseDeltas),
16638 (ndr_push_flags_fn_t) ndr_push_netr_DatabaseDeltas,
16639 (ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseDeltas,
16640 (ndr_print_function_t) ndr_print_netr_DatabaseDeltas,
16644 "netr_DatabaseSync",
16645 sizeof(struct netr_DatabaseSync),
16646 (ndr_push_flags_fn_t) ndr_push_netr_DatabaseSync,
16647 (ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseSync,
16648 (ndr_print_function_t) ndr_print_netr_DatabaseSync,
16652 "netr_AccountDeltas",
16653 sizeof(struct netr_AccountDeltas),
16654 (ndr_push_flags_fn_t) ndr_push_netr_AccountDeltas,
16655 (ndr_pull_flags_fn_t) ndr_pull_netr_AccountDeltas,
16656 (ndr_print_function_t) ndr_print_netr_AccountDeltas,
16660 "netr_AccountSync",
16661 sizeof(struct netr_AccountSync),
16662 (ndr_push_flags_fn_t) ndr_push_netr_AccountSync,
16663 (ndr_pull_flags_fn_t) ndr_pull_netr_AccountSync,
16664 (ndr_print_function_t) ndr_print_netr_AccountSync,
16669 sizeof(struct netr_GetDcName),
16670 (ndr_push_flags_fn_t) ndr_push_netr_GetDcName,
16671 (ndr_pull_flags_fn_t) ndr_pull_netr_GetDcName,
16672 (ndr_print_function_t) ndr_print_netr_GetDcName,
16676 "netr_LogonControl",
16677 sizeof(struct netr_LogonControl),
16678 (ndr_push_flags_fn_t) ndr_push_netr_LogonControl,
16679 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonControl,
16680 (ndr_print_function_t) ndr_print_netr_LogonControl,
16684 "netr_GetAnyDCName",
16685 sizeof(struct netr_GetAnyDCName),
16686 (ndr_push_flags_fn_t) ndr_push_netr_GetAnyDCName,
16687 (ndr_pull_flags_fn_t) ndr_pull_netr_GetAnyDCName,
16688 (ndr_print_function_t) ndr_print_netr_GetAnyDCName,
16692 "netr_LogonControl2",
16693 sizeof(struct netr_LogonControl2),
16694 (ndr_push_flags_fn_t) ndr_push_netr_LogonControl2,
16695 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonControl2,
16696 (ndr_print_function_t) ndr_print_netr_LogonControl2,
16700 "netr_ServerAuthenticate2",
16701 sizeof(struct netr_ServerAuthenticate2),
16702 (ndr_push_flags_fn_t) ndr_push_netr_ServerAuthenticate2,
16703 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerAuthenticate2,
16704 (ndr_print_function_t) ndr_print_netr_ServerAuthenticate2,
16708 "netr_DatabaseSync2",
16709 sizeof(struct netr_DatabaseSync2),
16710 (ndr_push_flags_fn_t) ndr_push_netr_DatabaseSync2,
16711 (ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseSync2,
16712 (ndr_print_function_t) ndr_print_netr_DatabaseSync2,
16716 "netr_DatabaseRedo",
16717 sizeof(struct netr_DatabaseRedo),
16718 (ndr_push_flags_fn_t) ndr_push_netr_DatabaseRedo,
16719 (ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseRedo,
16720 (ndr_print_function_t) ndr_print_netr_DatabaseRedo,
16724 "netr_LogonControl2Ex",
16725 sizeof(struct netr_LogonControl2Ex),
16726 (ndr_push_flags_fn_t) ndr_push_netr_LogonControl2Ex,
16727 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonControl2Ex,
16728 (ndr_print_function_t) ndr_print_netr_LogonControl2Ex,
16732 "netr_NetrEnumerateTrustedDomains",
16733 sizeof(struct netr_NetrEnumerateTrustedDomains),
16734 (ndr_push_flags_fn_t) ndr_push_netr_NetrEnumerateTrustedDomains,
16735 (ndr_pull_flags_fn_t) ndr_pull_netr_NetrEnumerateTrustedDomains,
16736 (ndr_print_function_t) ndr_print_netr_NetrEnumerateTrustedDomains,
16740 "netr_DsRGetDCName",
16741 sizeof(struct netr_DsRGetDCName),
16742 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetDCName,
16743 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetDCName,
16744 (ndr_print_function_t) ndr_print_netr_DsRGetDCName,
16748 "netr_LogonGetCapabilities",
16749 sizeof(struct netr_LogonGetCapabilities),
16750 (ndr_push_flags_fn_t) ndr_push_netr_LogonGetCapabilities,
16751 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonGetCapabilities,
16752 (ndr_print_function_t) ndr_print_netr_LogonGetCapabilities,
16756 "netr_NETRLOGONSETSERVICEBITS",
16757 sizeof(struct netr_NETRLOGONSETSERVICEBITS),
16758 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONSETSERVICEBITS,
16759 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONSETSERVICEBITS,
16760 (ndr_print_function_t) ndr_print_netr_NETRLOGONSETSERVICEBITS,
16764 "netr_LogonGetTrustRid",
16765 sizeof(struct netr_LogonGetTrustRid),
16766 (ndr_push_flags_fn_t) ndr_push_netr_LogonGetTrustRid,
16767 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonGetTrustRid,
16768 (ndr_print_function_t) ndr_print_netr_LogonGetTrustRid,
16772 "netr_NETRLOGONCOMPUTESERVERDIGEST",
16773 sizeof(struct netr_NETRLOGONCOMPUTESERVERDIGEST),
16774 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONCOMPUTESERVERDIGEST,
16775 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONCOMPUTESERVERDIGEST,
16776 (ndr_print_function_t) ndr_print_netr_NETRLOGONCOMPUTESERVERDIGEST,
16780 "netr_NETRLOGONCOMPUTECLIENTDIGEST",
16781 sizeof(struct netr_NETRLOGONCOMPUTECLIENTDIGEST),
16782 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONCOMPUTECLIENTDIGEST,
16783 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONCOMPUTECLIENTDIGEST,
16784 (ndr_print_function_t) ndr_print_netr_NETRLOGONCOMPUTECLIENTDIGEST,
16788 "netr_ServerAuthenticate3",
16789 sizeof(struct netr_ServerAuthenticate3),
16790 (ndr_push_flags_fn_t) ndr_push_netr_ServerAuthenticate3,
16791 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerAuthenticate3,
16792 (ndr_print_function_t) ndr_print_netr_ServerAuthenticate3,
16796 "netr_DsRGetDCNameEx",
16797 sizeof(struct netr_DsRGetDCNameEx),
16798 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetDCNameEx,
16799 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetDCNameEx,
16800 (ndr_print_function_t) ndr_print_netr_DsRGetDCNameEx,
16804 "netr_DsRGetSiteName",
16805 sizeof(struct netr_DsRGetSiteName),
16806 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetSiteName,
16807 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetSiteName,
16808 (ndr_print_function_t) ndr_print_netr_DsRGetSiteName,
16812 "netr_LogonGetDomainInfo",
16813 sizeof(struct netr_LogonGetDomainInfo),
16814 (ndr_push_flags_fn_t) ndr_push_netr_LogonGetDomainInfo,
16815 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonGetDomainInfo,
16816 (ndr_print_function_t) ndr_print_netr_LogonGetDomainInfo,
16820 "netr_ServerPasswordSet2",
16821 sizeof(struct netr_ServerPasswordSet2),
16822 (ndr_push_flags_fn_t) ndr_push_netr_ServerPasswordSet2,
16823 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerPasswordSet2,
16824 (ndr_print_function_t) ndr_print_netr_ServerPasswordSet2,
16828 "netr_ServerPasswordGet",
16829 sizeof(struct netr_ServerPasswordGet),
16830 (ndr_push_flags_fn_t) ndr_push_netr_ServerPasswordGet,
16831 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerPasswordGet,
16832 (ndr_print_function_t) ndr_print_netr_ServerPasswordGet,
16836 "netr_NETRLOGONSENDTOSAM",
16837 sizeof(struct netr_NETRLOGONSENDTOSAM),
16838 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONSENDTOSAM,
16839 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONSENDTOSAM,
16840 (ndr_print_function_t) ndr_print_netr_NETRLOGONSENDTOSAM,
16844 "netr_DsRAddressToSitenamesW",
16845 sizeof(struct netr_DsRAddressToSitenamesW),
16846 (ndr_push_flags_fn_t) ndr_push_netr_DsRAddressToSitenamesW,
16847 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRAddressToSitenamesW,
16848 (ndr_print_function_t) ndr_print_netr_DsRAddressToSitenamesW,
16852 "netr_DsRGetDCNameEx2",
16853 sizeof(struct netr_DsRGetDCNameEx2),
16854 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetDCNameEx2,
16855 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetDCNameEx2,
16856 (ndr_print_function_t) ndr_print_netr_DsRGetDCNameEx2,
16860 "netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN",
16861 sizeof(struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN),
16862 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN,
16863 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN,
16864 (ndr_print_function_t) ndr_print_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN,
16868 "netr_NetrEnumerateTrustedDomainsEx",
16869 sizeof(struct netr_NetrEnumerateTrustedDomainsEx),
16870 (ndr_push_flags_fn_t) ndr_push_netr_NetrEnumerateTrustedDomainsEx,
16871 (ndr_pull_flags_fn_t) ndr_pull_netr_NetrEnumerateTrustedDomainsEx,
16872 (ndr_print_function_t) ndr_print_netr_NetrEnumerateTrustedDomainsEx,
16876 "netr_DsRAddressToSitenamesExW",
16877 sizeof(struct netr_DsRAddressToSitenamesExW),
16878 (ndr_push_flags_fn_t) ndr_push_netr_DsRAddressToSitenamesExW,
16879 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRAddressToSitenamesExW,
16880 (ndr_print_function_t) ndr_print_netr_DsRAddressToSitenamesExW,
16884 "netr_DsrGetDcSiteCoverageW",
16885 sizeof(struct netr_DsrGetDcSiteCoverageW),
16886 (ndr_push_flags_fn_t) ndr_push_netr_DsrGetDcSiteCoverageW,
16887 (ndr_pull_flags_fn_t) ndr_pull_netr_DsrGetDcSiteCoverageW,
16888 (ndr_print_function_t) ndr_print_netr_DsrGetDcSiteCoverageW,
16892 "netr_LogonSamLogonEx",
16893 sizeof(struct netr_LogonSamLogonEx),
16894 (ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogonEx,
16895 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogonEx,
16896 (ndr_print_function_t) ndr_print_netr_LogonSamLogonEx,
16900 "netr_DsrEnumerateDomainTrusts",
16901 sizeof(struct netr_DsrEnumerateDomainTrusts),
16902 (ndr_push_flags_fn_t) ndr_push_netr_DsrEnumerateDomainTrusts,
16903 (ndr_pull_flags_fn_t) ndr_pull_netr_DsrEnumerateDomainTrusts,
16904 (ndr_print_function_t) ndr_print_netr_DsrEnumerateDomainTrusts,
16908 "netr_DsrDeregisterDNSHostRecords",
16909 sizeof(struct netr_DsrDeregisterDNSHostRecords),
16910 (ndr_push_flags_fn_t) ndr_push_netr_DsrDeregisterDNSHostRecords,
16911 (ndr_pull_flags_fn_t) ndr_pull_netr_DsrDeregisterDNSHostRecords,
16912 (ndr_print_function_t) ndr_print_netr_DsrDeregisterDNSHostRecords,
16916 "netr_ServerTrustPasswordsGet",
16917 sizeof(struct netr_ServerTrustPasswordsGet),
16918 (ndr_push_flags_fn_t) ndr_push_netr_ServerTrustPasswordsGet,
16919 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerTrustPasswordsGet,
16920 (ndr_print_function_t) ndr_print_netr_ServerTrustPasswordsGet,
16924 "netr_DsRGetForestTrustInformation",
16925 sizeof(struct netr_DsRGetForestTrustInformation),
16926 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetForestTrustInformation,
16927 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetForestTrustInformation,
16928 (ndr_print_function_t) ndr_print_netr_DsRGetForestTrustInformation,
16932 "netr_GetForestTrustInformation",
16933 sizeof(struct netr_GetForestTrustInformation),
16934 (ndr_push_flags_fn_t) ndr_push_netr_GetForestTrustInformation,
16935 (ndr_pull_flags_fn_t) ndr_pull_netr_GetForestTrustInformation,
16936 (ndr_print_function_t) ndr_print_netr_GetForestTrustInformation,
16940 "netr_LogonSamLogonWithFlags",
16941 sizeof(struct netr_LogonSamLogonWithFlags),
16942 (ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogonWithFlags,
16943 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogonWithFlags,
16944 (ndr_print_function_t) ndr_print_netr_LogonSamLogonWithFlags,
16948 "netr_ServerGetTrustInfo",
16949 sizeof(struct netr_ServerGetTrustInfo),
16950 (ndr_push_flags_fn_t) ndr_push_netr_ServerGetTrustInfo,
16951 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerGetTrustInfo,
16952 (ndr_print_function_t) ndr_print_netr_ServerGetTrustInfo,
16955 { NULL, 0, NULL, NULL, NULL, false }
16958 static const char * const netlogon_endpoint_strings[] = {
16959 "ncacn_np:[\\pipe\\netlogon]",
16964 static const struct ndr_interface_string_array netlogon_endpoints = {
16966 .names = netlogon_endpoint_strings
16969 static const char * const netlogon_authservice_strings[] = {
16973 static const struct ndr_interface_string_array netlogon_authservices = {
16975 .names = netlogon_authservice_strings
16979 const struct ndr_interface_table ndr_table_netlogon = {
16980 .name = "netlogon",
16982 {0x12345678,0x1234,0xabcd,{0xef,0x00},{0x01,0x23,0x45,0x67,0xcf,0xfb}},
16983 NDR_NETLOGON_VERSION
16985 .helpstring = NDR_NETLOGON_HELPSTRING,
16987 .calls = netlogon_calls,
16988 .endpoints = &netlogon_endpoints,
16989 .authservices = &netlogon_authservices