librpc: rerun 'PIDL=pidl/pidl make idl'
[Samba.git] / source / librpc / gen_ndr / ndr_netlogon.c
blobf0e739cdf01280769b8473493b0b9b0c16de13a7
1 /* parser auto-generated by pidl */
3 #include "includes.h"
4 #include "librpc/gen_ndr/ndr_netlogon.h"
6 #include "librpc/gen_ndr/ndr_lsa.h"
7 #include "librpc/gen_ndr/ndr_samr.h"
8 #include "librpc/gen_ndr/ndr_security.h"
9 #include "librpc/gen_ndr/ndr_nbt.h"
10 static enum ndr_err_code ndr_push_netr_UasInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_UasInfo *r)
12 if (ndr_flags & NDR_SCALARS) {
13 NDR_CHECK(ndr_push_align(ndr, 4));
14 NDR_CHECK(ndr_push_unique_ptr(ndr, r->account_name));
15 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priv));
16 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->auth_flags));
17 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logon_count));
18 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->bad_pw_count));
19 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->last_logon));
20 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->last_logoff));
21 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->logoff_time));
22 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->kickoff_time));
23 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->password_age));
24 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->pw_can_change));
25 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->pw_must_change));
26 NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer));
27 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
28 NDR_CHECK(ndr_push_unique_ptr(ndr, r->script_path));
29 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown));
31 if (ndr_flags & NDR_BUFFERS) {
32 if (r->account_name) {
33 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF16)));
34 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
35 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF16)));
36 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->account_name, ndr_charset_length(r->account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
38 if (r->computer) {
39 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->computer, CH_UTF16)));
40 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
41 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->computer, CH_UTF16)));
42 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer, ndr_charset_length(r->computer, CH_UTF16), sizeof(uint16_t), CH_UTF16));
44 if (r->domain) {
45 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
46 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
47 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
48 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
50 if (r->script_path) {
51 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->script_path, CH_UTF16)));
52 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
53 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->script_path, CH_UTF16)));
54 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->script_path, ndr_charset_length(r->script_path, CH_UTF16), sizeof(uint16_t), CH_UTF16));
57 return NDR_ERR_SUCCESS;
60 static enum ndr_err_code ndr_pull_netr_UasInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_UasInfo *r)
62 uint32_t _ptr_account_name;
63 TALLOC_CTX *_mem_save_account_name_0;
64 uint32_t _ptr_computer;
65 TALLOC_CTX *_mem_save_computer_0;
66 uint32_t _ptr_domain;
67 TALLOC_CTX *_mem_save_domain_0;
68 uint32_t _ptr_script_path;
69 TALLOC_CTX *_mem_save_script_path_0;
70 if (ndr_flags & NDR_SCALARS) {
71 NDR_CHECK(ndr_pull_align(ndr, 4));
72 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_account_name));
73 if (_ptr_account_name) {
74 NDR_PULL_ALLOC(ndr, r->account_name);
75 } else {
76 r->account_name = NULL;
78 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priv));
79 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->auth_flags));
80 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logon_count));
81 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->bad_pw_count));
82 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->last_logon));
83 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->last_logoff));
84 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->logoff_time));
85 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->kickoff_time));
86 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->password_age));
87 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->pw_can_change));
88 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->pw_must_change));
89 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer));
90 if (_ptr_computer) {
91 NDR_PULL_ALLOC(ndr, r->computer);
92 } else {
93 r->computer = NULL;
95 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
96 if (_ptr_domain) {
97 NDR_PULL_ALLOC(ndr, r->domain);
98 } else {
99 r->domain = NULL;
101 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_script_path));
102 if (_ptr_script_path) {
103 NDR_PULL_ALLOC(ndr, r->script_path);
104 } else {
105 r->script_path = NULL;
107 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown));
109 if (ndr_flags & NDR_BUFFERS) {
110 if (r->account_name) {
111 _mem_save_account_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
112 NDR_PULL_SET_MEM_CTX(ndr, r->account_name, 0);
113 NDR_CHECK(ndr_pull_array_size(ndr, &r->account_name));
114 NDR_CHECK(ndr_pull_array_length(ndr, &r->account_name));
115 if (ndr_get_array_length(ndr, &r->account_name) > ndr_get_array_size(ndr, &r->account_name)) {
116 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));
118 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->account_name), sizeof(uint16_t)));
119 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->account_name, ndr_get_array_length(ndr, &r->account_name), sizeof(uint16_t), CH_UTF16));
120 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_name_0, 0);
122 if (r->computer) {
123 _mem_save_computer_0 = NDR_PULL_GET_MEM_CTX(ndr);
124 NDR_PULL_SET_MEM_CTX(ndr, r->computer, 0);
125 NDR_CHECK(ndr_pull_array_size(ndr, &r->computer));
126 NDR_CHECK(ndr_pull_array_length(ndr, &r->computer));
127 if (ndr_get_array_length(ndr, &r->computer) > ndr_get_array_size(ndr, &r->computer)) {
128 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));
130 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->computer), sizeof(uint16_t)));
131 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer, ndr_get_array_length(ndr, &r->computer), sizeof(uint16_t), CH_UTF16));
132 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_0, 0);
134 if (r->domain) {
135 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
136 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
137 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
138 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
139 if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) {
140 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));
142 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t)));
143 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16));
144 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
146 if (r->script_path) {
147 _mem_save_script_path_0 = NDR_PULL_GET_MEM_CTX(ndr);
148 NDR_PULL_SET_MEM_CTX(ndr, r->script_path, 0);
149 NDR_CHECK(ndr_pull_array_size(ndr, &r->script_path));
150 NDR_CHECK(ndr_pull_array_length(ndr, &r->script_path));
151 if (ndr_get_array_length(ndr, &r->script_path) > ndr_get_array_size(ndr, &r->script_path)) {
152 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));
154 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->script_path), sizeof(uint16_t)));
155 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->script_path, ndr_get_array_length(ndr, &r->script_path), sizeof(uint16_t), CH_UTF16));
156 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_script_path_0, 0);
159 return NDR_ERR_SUCCESS;
162 _PUBLIC_ void ndr_print_netr_UasInfo(struct ndr_print *ndr, const char *name, const struct netr_UasInfo *r)
164 ndr_print_struct(ndr, name, "netr_UasInfo");
165 ndr->depth++;
166 ndr_print_ptr(ndr, "account_name", r->account_name);
167 ndr->depth++;
168 if (r->account_name) {
169 ndr_print_string(ndr, "account_name", r->account_name);
171 ndr->depth--;
172 ndr_print_uint32(ndr, "priv", r->priv);
173 ndr_print_uint32(ndr, "auth_flags", r->auth_flags);
174 ndr_print_uint32(ndr, "logon_count", r->logon_count);
175 ndr_print_uint32(ndr, "bad_pw_count", r->bad_pw_count);
176 ndr_print_time_t(ndr, "last_logon", r->last_logon);
177 ndr_print_time_t(ndr, "last_logoff", r->last_logoff);
178 ndr_print_time_t(ndr, "logoff_time", r->logoff_time);
179 ndr_print_time_t(ndr, "kickoff_time", r->kickoff_time);
180 ndr_print_uint32(ndr, "password_age", r->password_age);
181 ndr_print_time_t(ndr, "pw_can_change", r->pw_can_change);
182 ndr_print_time_t(ndr, "pw_must_change", r->pw_must_change);
183 ndr_print_ptr(ndr, "computer", r->computer);
184 ndr->depth++;
185 if (r->computer) {
186 ndr_print_string(ndr, "computer", r->computer);
188 ndr->depth--;
189 ndr_print_ptr(ndr, "domain", r->domain);
190 ndr->depth++;
191 if (r->domain) {
192 ndr_print_string(ndr, "domain", r->domain);
194 ndr->depth--;
195 ndr_print_ptr(ndr, "script_path", r->script_path);
196 ndr->depth++;
197 if (r->script_path) {
198 ndr_print_string(ndr, "script_path", r->script_path);
200 ndr->depth--;
201 ndr_print_uint32(ndr, "unknown", r->unknown);
202 ndr->depth--;
205 static enum ndr_err_code ndr_push_netr_UasLogoffInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_UasLogoffInfo *r)
207 if (ndr_flags & NDR_SCALARS) {
208 NDR_CHECK(ndr_push_align(ndr, 4));
209 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->duration));
210 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count));
212 if (ndr_flags & NDR_BUFFERS) {
214 return NDR_ERR_SUCCESS;
217 static enum ndr_err_code ndr_pull_netr_UasLogoffInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_UasLogoffInfo *r)
219 if (ndr_flags & NDR_SCALARS) {
220 NDR_CHECK(ndr_pull_align(ndr, 4));
221 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->duration));
222 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count));
224 if (ndr_flags & NDR_BUFFERS) {
226 return NDR_ERR_SUCCESS;
229 _PUBLIC_ void ndr_print_netr_UasLogoffInfo(struct ndr_print *ndr, const char *name, const struct netr_UasLogoffInfo *r)
231 ndr_print_struct(ndr, name, "netr_UasLogoffInfo");
232 ndr->depth++;
233 ndr_print_uint32(ndr, "duration", r->duration);
234 ndr_print_uint16(ndr, "logon_count", r->logon_count);
235 ndr->depth--;
238 _PUBLIC_ enum ndr_err_code ndr_push_netr_AcctLockStr(struct ndr_push *ndr, int ndr_flags, const struct netr_AcctLockStr *r)
240 if (ndr_flags & NDR_SCALARS) {
241 NDR_CHECK(ndr_push_align(ndr, 4));
242 NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->lockout_duration));
243 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->reset_count));
244 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->bad_attempt_lockout));
245 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy));
247 if (ndr_flags & NDR_BUFFERS) {
249 return NDR_ERR_SUCCESS;
252 _PUBLIC_ enum ndr_err_code ndr_pull_netr_AcctLockStr(struct ndr_pull *ndr, int ndr_flags, struct netr_AcctLockStr *r)
254 if (ndr_flags & NDR_SCALARS) {
255 NDR_CHECK(ndr_pull_align(ndr, 4));
256 NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->lockout_duration));
257 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->reset_count));
258 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->bad_attempt_lockout));
259 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy));
261 if (ndr_flags & NDR_BUFFERS) {
263 return NDR_ERR_SUCCESS;
266 _PUBLIC_ void ndr_print_netr_AcctLockStr(struct ndr_print *ndr, const char *name, const struct netr_AcctLockStr *r)
268 ndr_print_struct(ndr, name, "netr_AcctLockStr");
269 ndr->depth++;
270 ndr_print_dlong(ndr, "lockout_duration", r->lockout_duration);
271 ndr_print_udlong(ndr, "reset_count", r->reset_count);
272 ndr_print_uint32(ndr, "bad_attempt_lockout", r->bad_attempt_lockout);
273 ndr_print_uint32(ndr, "dummy", r->dummy);
274 ndr->depth--;
277 _PUBLIC_ enum ndr_err_code ndr_push_netr_LogonParameterControl(struct ndr_push *ndr, int ndr_flags, uint32_t r)
279 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
280 return NDR_ERR_SUCCESS;
283 _PUBLIC_ enum ndr_err_code ndr_pull_netr_LogonParameterControl(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
285 uint32_t v;
286 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
287 *r = v;
288 return NDR_ERR_SUCCESS;
291 _PUBLIC_ void ndr_print_netr_LogonParameterControl(struct ndr_print *ndr, const char *name, uint32_t r)
293 ndr_print_uint32(ndr, name, r);
294 ndr->depth++;
295 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_CLEARTEXT_PASSWORD_ALLOWED", MSV1_0_CLEARTEXT_PASSWORD_ALLOWED, r);
296 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_UPDATE_LOGON_STATISTICS", MSV1_0_UPDATE_LOGON_STATISTICS, r);
297 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_RETURN_USER_PARAMETERS", MSV1_0_RETURN_USER_PARAMETERS, r);
298 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_ALLOW_SERVER_TRUST_ACCOUNT", MSV1_0_ALLOW_SERVER_TRUST_ACCOUNT, r);
299 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_RETURN_PROFILE_PATH", MSV1_0_RETURN_PROFILE_PATH, r);
300 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_ALLOW_WORKSTATION_TRUST_ACCOUNT", MSV1_0_ALLOW_WORKSTATION_TRUST_ACCOUNT, r);
301 ndr->depth--;
304 static enum ndr_err_code ndr_push_netr_IdentityInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_IdentityInfo *r)
306 if (ndr_flags & NDR_SCALARS) {
307 NDR_CHECK(ndr_push_align(ndr, 4));
308 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
309 NDR_CHECK(ndr_push_netr_LogonParameterControl(ndr, NDR_SCALARS, r->parameter_control));
310 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logon_id_low));
311 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logon_id_high));
312 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
313 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->workstation));
315 if (ndr_flags & NDR_BUFFERS) {
316 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
317 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
318 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->workstation));
320 return NDR_ERR_SUCCESS;
323 static enum ndr_err_code ndr_pull_netr_IdentityInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_IdentityInfo *r)
325 if (ndr_flags & NDR_SCALARS) {
326 NDR_CHECK(ndr_pull_align(ndr, 4));
327 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
328 NDR_CHECK(ndr_pull_netr_LogonParameterControl(ndr, NDR_SCALARS, &r->parameter_control));
329 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logon_id_low));
330 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logon_id_high));
331 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
332 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->workstation));
334 if (ndr_flags & NDR_BUFFERS) {
335 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
336 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
337 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->workstation));
339 return NDR_ERR_SUCCESS;
342 _PUBLIC_ void ndr_print_netr_IdentityInfo(struct ndr_print *ndr, const char *name, const struct netr_IdentityInfo *r)
344 ndr_print_struct(ndr, name, "netr_IdentityInfo");
345 ndr->depth++;
346 ndr_print_lsa_String(ndr, "domain_name", &r->domain_name);
347 ndr_print_netr_LogonParameterControl(ndr, "parameter_control", r->parameter_control);
348 ndr_print_uint32(ndr, "logon_id_low", r->logon_id_low);
349 ndr_print_uint32(ndr, "logon_id_high", r->logon_id_high);
350 ndr_print_lsa_String(ndr, "account_name", &r->account_name);
351 ndr_print_lsa_String(ndr, "workstation", &r->workstation);
352 ndr->depth--;
355 static enum ndr_err_code ndr_push_netr_PasswordInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_PasswordInfo *r)
357 if (ndr_flags & NDR_SCALARS) {
358 NDR_CHECK(ndr_push_align(ndr, 4));
359 NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info));
360 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->lmpassword));
361 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->ntpassword));
363 if (ndr_flags & NDR_BUFFERS) {
364 NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info));
366 return NDR_ERR_SUCCESS;
369 static enum ndr_err_code ndr_pull_netr_PasswordInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_PasswordInfo *r)
371 if (ndr_flags & NDR_SCALARS) {
372 NDR_CHECK(ndr_pull_align(ndr, 4));
373 NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info));
374 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->lmpassword));
375 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->ntpassword));
377 if (ndr_flags & NDR_BUFFERS) {
378 NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info));
380 return NDR_ERR_SUCCESS;
383 _PUBLIC_ void ndr_print_netr_PasswordInfo(struct ndr_print *ndr, const char *name, const struct netr_PasswordInfo *r)
385 ndr_print_struct(ndr, name, "netr_PasswordInfo");
386 ndr->depth++;
387 ndr_print_netr_IdentityInfo(ndr, "identity_info", &r->identity_info);
388 ndr_print_samr_Password(ndr, "lmpassword", &r->lmpassword);
389 ndr_print_samr_Password(ndr, "ntpassword", &r->ntpassword);
390 ndr->depth--;
393 static enum ndr_err_code ndr_push_netr_ChallengeResponse(struct ndr_push *ndr, int ndr_flags, const struct netr_ChallengeResponse *r)
396 uint32_t _flags_save_STRUCT = ndr->flags;
397 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
398 if (ndr_flags & NDR_SCALARS) {
399 NDR_CHECK(ndr_push_align(ndr, 4));
400 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
401 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
402 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
404 if (ndr_flags & NDR_BUFFERS) {
405 if (r->data) {
406 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
407 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
408 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
409 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
412 ndr->flags = _flags_save_STRUCT;
414 return NDR_ERR_SUCCESS;
417 static enum ndr_err_code ndr_pull_netr_ChallengeResponse(struct ndr_pull *ndr, int ndr_flags, struct netr_ChallengeResponse *r)
419 uint32_t _ptr_data;
420 TALLOC_CTX *_mem_save_data_0;
422 uint32_t _flags_save_STRUCT = ndr->flags;
423 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
424 if (ndr_flags & NDR_SCALARS) {
425 NDR_CHECK(ndr_pull_align(ndr, 4));
426 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
427 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
428 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
429 if (_ptr_data) {
430 NDR_PULL_ALLOC(ndr, r->data);
431 } else {
432 r->data = NULL;
435 if (ndr_flags & NDR_BUFFERS) {
436 if (r->data) {
437 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
438 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
439 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
440 NDR_CHECK(ndr_pull_array_length(ndr, &r->data));
441 if (ndr_get_array_length(ndr, &r->data) > ndr_get_array_size(ndr, &r->data)) {
442 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));
444 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
445 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_length(ndr, &r->data)));
446 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
448 if (r->data) {
449 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length));
451 if (r->data) {
452 NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->data, r->length));
455 ndr->flags = _flags_save_STRUCT;
457 return NDR_ERR_SUCCESS;
460 _PUBLIC_ void ndr_print_netr_ChallengeResponse(struct ndr_print *ndr, const char *name, const struct netr_ChallengeResponse *r)
462 ndr_print_struct(ndr, name, "netr_ChallengeResponse");
464 uint32_t _flags_save_STRUCT = ndr->flags;
465 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
466 ndr->depth++;
467 ndr_print_uint16(ndr, "length", r->length);
468 ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->length:r->size);
469 ndr_print_ptr(ndr, "data", r->data);
470 ndr->depth++;
471 if (r->data) {
472 ndr_print_array_uint8(ndr, "data", r->data, r->length);
474 ndr->depth--;
475 ndr->depth--;
476 ndr->flags = _flags_save_STRUCT;
480 static enum ndr_err_code ndr_push_netr_NetworkInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_NetworkInfo *r)
483 uint32_t _flags_save_STRUCT = ndr->flags;
484 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
485 if (ndr_flags & NDR_SCALARS) {
486 NDR_CHECK(ndr_push_align(ndr, 4));
487 NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info));
488 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->challenge, 8));
489 NDR_CHECK(ndr_push_netr_ChallengeResponse(ndr, NDR_SCALARS, &r->nt));
490 NDR_CHECK(ndr_push_netr_ChallengeResponse(ndr, NDR_SCALARS, &r->lm));
492 if (ndr_flags & NDR_BUFFERS) {
493 NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info));
494 NDR_CHECK(ndr_push_netr_ChallengeResponse(ndr, NDR_BUFFERS, &r->nt));
495 NDR_CHECK(ndr_push_netr_ChallengeResponse(ndr, NDR_BUFFERS, &r->lm));
497 ndr->flags = _flags_save_STRUCT;
499 return NDR_ERR_SUCCESS;
502 static enum ndr_err_code ndr_pull_netr_NetworkInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_NetworkInfo *r)
505 uint32_t _flags_save_STRUCT = ndr->flags;
506 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
507 if (ndr_flags & NDR_SCALARS) {
508 NDR_CHECK(ndr_pull_align(ndr, 4));
509 NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info));
510 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->challenge, 8));
511 NDR_CHECK(ndr_pull_netr_ChallengeResponse(ndr, NDR_SCALARS, &r->nt));
512 NDR_CHECK(ndr_pull_netr_ChallengeResponse(ndr, NDR_SCALARS, &r->lm));
514 if (ndr_flags & NDR_BUFFERS) {
515 NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info));
516 NDR_CHECK(ndr_pull_netr_ChallengeResponse(ndr, NDR_BUFFERS, &r->nt));
517 NDR_CHECK(ndr_pull_netr_ChallengeResponse(ndr, NDR_BUFFERS, &r->lm));
519 ndr->flags = _flags_save_STRUCT;
521 return NDR_ERR_SUCCESS;
524 _PUBLIC_ void ndr_print_netr_NetworkInfo(struct ndr_print *ndr, const char *name, const struct netr_NetworkInfo *r)
526 ndr_print_struct(ndr, name, "netr_NetworkInfo");
528 uint32_t _flags_save_STRUCT = ndr->flags;
529 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
530 ndr->depth++;
531 ndr_print_netr_IdentityInfo(ndr, "identity_info", &r->identity_info);
532 ndr_print_array_uint8(ndr, "challenge", r->challenge, 8);
533 ndr_print_netr_ChallengeResponse(ndr, "nt", &r->nt);
534 ndr_print_netr_ChallengeResponse(ndr, "lm", &r->lm);
535 ndr->depth--;
536 ndr->flags = _flags_save_STRUCT;
540 _PUBLIC_ enum ndr_err_code ndr_push_netr_LogonInfo(struct ndr_push *ndr, int ndr_flags, const union netr_LogonInfo *r)
542 if (ndr_flags & NDR_SCALARS) {
543 int level = ndr_push_get_switch_value(ndr, r);
544 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level));
545 switch (level) {
546 case 1: {
547 NDR_CHECK(ndr_push_unique_ptr(ndr, r->password));
548 break; }
550 case 2: {
551 NDR_CHECK(ndr_push_unique_ptr(ndr, r->network));
552 break; }
554 case 3: {
555 NDR_CHECK(ndr_push_unique_ptr(ndr, r->password));
556 break; }
558 case 5: {
559 NDR_CHECK(ndr_push_unique_ptr(ndr, r->password));
560 break; }
562 case 6: {
563 NDR_CHECK(ndr_push_unique_ptr(ndr, r->network));
564 break; }
566 default:
567 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
570 if (ndr_flags & NDR_BUFFERS) {
571 int level = ndr_push_get_switch_value(ndr, r);
572 switch (level) {
573 case 1:
574 if (r->password) {
575 NDR_CHECK(ndr_push_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
577 break;
579 case 2:
580 if (r->network) {
581 NDR_CHECK(ndr_push_netr_NetworkInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->network));
583 break;
585 case 3:
586 if (r->password) {
587 NDR_CHECK(ndr_push_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
589 break;
591 case 5:
592 if (r->password) {
593 NDR_CHECK(ndr_push_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
595 break;
597 case 6:
598 if (r->network) {
599 NDR_CHECK(ndr_push_netr_NetworkInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->network));
601 break;
603 default:
604 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
607 return NDR_ERR_SUCCESS;
610 _PUBLIC_ enum ndr_err_code ndr_pull_netr_LogonInfo(struct ndr_pull *ndr, int ndr_flags, union netr_LogonInfo *r)
612 int level;
613 uint16_t _level;
614 TALLOC_CTX *_mem_save_password_0;
615 TALLOC_CTX *_mem_save_network_0;
616 level = ndr_pull_get_switch_value(ndr, r);
617 if (ndr_flags & NDR_SCALARS) {
618 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
619 if (_level != level) {
620 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
622 switch (level) {
623 case 1: {
624 uint32_t _ptr_password;
625 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
626 if (_ptr_password) {
627 NDR_PULL_ALLOC(ndr, r->password);
628 } else {
629 r->password = NULL;
631 break; }
633 case 2: {
634 uint32_t _ptr_network;
635 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_network));
636 if (_ptr_network) {
637 NDR_PULL_ALLOC(ndr, r->network);
638 } else {
639 r->network = NULL;
641 break; }
643 case 3: {
644 uint32_t _ptr_password;
645 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
646 if (_ptr_password) {
647 NDR_PULL_ALLOC(ndr, r->password);
648 } else {
649 r->password = NULL;
651 break; }
653 case 5: {
654 uint32_t _ptr_password;
655 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
656 if (_ptr_password) {
657 NDR_PULL_ALLOC(ndr, r->password);
658 } else {
659 r->password = NULL;
661 break; }
663 case 6: {
664 uint32_t _ptr_network;
665 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_network));
666 if (_ptr_network) {
667 NDR_PULL_ALLOC(ndr, r->network);
668 } else {
669 r->network = NULL;
671 break; }
673 default:
674 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
677 if (ndr_flags & NDR_BUFFERS) {
678 switch (level) {
679 case 1:
680 if (r->password) {
681 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
682 NDR_PULL_SET_MEM_CTX(ndr, r->password, 0);
683 NDR_CHECK(ndr_pull_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
684 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
686 break;
688 case 2:
689 if (r->network) {
690 _mem_save_network_0 = NDR_PULL_GET_MEM_CTX(ndr);
691 NDR_PULL_SET_MEM_CTX(ndr, r->network, 0);
692 NDR_CHECK(ndr_pull_netr_NetworkInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->network));
693 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_network_0, 0);
695 break;
697 case 3:
698 if (r->password) {
699 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
700 NDR_PULL_SET_MEM_CTX(ndr, r->password, 0);
701 NDR_CHECK(ndr_pull_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
702 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
704 break;
706 case 5:
707 if (r->password) {
708 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
709 NDR_PULL_SET_MEM_CTX(ndr, r->password, 0);
710 NDR_CHECK(ndr_pull_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
711 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
713 break;
715 case 6:
716 if (r->network) {
717 _mem_save_network_0 = NDR_PULL_GET_MEM_CTX(ndr);
718 NDR_PULL_SET_MEM_CTX(ndr, r->network, 0);
719 NDR_CHECK(ndr_pull_netr_NetworkInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->network));
720 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_network_0, 0);
722 break;
724 default:
725 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
728 return NDR_ERR_SUCCESS;
731 _PUBLIC_ void ndr_print_netr_LogonInfo(struct ndr_print *ndr, const char *name, const union netr_LogonInfo *r)
733 int level;
734 level = ndr_print_get_switch_value(ndr, r);
735 ndr_print_union(ndr, name, level, "netr_LogonInfo");
736 switch (level) {
737 case 1:
738 ndr_print_ptr(ndr, "password", r->password);
739 ndr->depth++;
740 if (r->password) {
741 ndr_print_netr_PasswordInfo(ndr, "password", r->password);
743 ndr->depth--;
744 break;
746 case 2:
747 ndr_print_ptr(ndr, "network", r->network);
748 ndr->depth++;
749 if (r->network) {
750 ndr_print_netr_NetworkInfo(ndr, "network", r->network);
752 ndr->depth--;
753 break;
755 case 3:
756 ndr_print_ptr(ndr, "password", r->password);
757 ndr->depth++;
758 if (r->password) {
759 ndr_print_netr_PasswordInfo(ndr, "password", r->password);
761 ndr->depth--;
762 break;
764 case 5:
765 ndr_print_ptr(ndr, "password", r->password);
766 ndr->depth++;
767 if (r->password) {
768 ndr_print_netr_PasswordInfo(ndr, "password", r->password);
770 ndr->depth--;
771 break;
773 case 6:
774 ndr_print_ptr(ndr, "network", r->network);
775 ndr->depth++;
776 if (r->network) {
777 ndr_print_netr_NetworkInfo(ndr, "network", r->network);
779 ndr->depth--;
780 break;
782 default:
783 ndr_print_bad_level(ndr, name, level);
787 _PUBLIC_ enum ndr_err_code ndr_push_netr_UserSessionKey(struct ndr_push *ndr, int ndr_flags, const struct netr_UserSessionKey *r)
790 uint32_t _flags_save_STRUCT = ndr->flags;
791 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
792 if (ndr_flags & NDR_SCALARS) {
793 NDR_CHECK(ndr_push_align(ndr, 1));
794 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->key, 16));
796 if (ndr_flags & NDR_BUFFERS) {
798 ndr->flags = _flags_save_STRUCT;
800 return NDR_ERR_SUCCESS;
803 _PUBLIC_ enum ndr_err_code ndr_pull_netr_UserSessionKey(struct ndr_pull *ndr, int ndr_flags, struct netr_UserSessionKey *r)
806 uint32_t _flags_save_STRUCT = ndr->flags;
807 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
808 if (ndr_flags & NDR_SCALARS) {
809 NDR_CHECK(ndr_pull_align(ndr, 1));
810 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->key, 16));
812 if (ndr_flags & NDR_BUFFERS) {
814 ndr->flags = _flags_save_STRUCT;
816 return NDR_ERR_SUCCESS;
819 _PUBLIC_ void ndr_print_netr_UserSessionKey(struct ndr_print *ndr, const char *name, const struct netr_UserSessionKey *r)
821 ndr_print_struct(ndr, name, "netr_UserSessionKey");
823 uint32_t _flags_save_STRUCT = ndr->flags;
824 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
825 ndr->depth++;
826 ndr_print_array_uint8(ndr, "key", r->key, 16);
827 ndr->depth--;
828 ndr->flags = _flags_save_STRUCT;
832 _PUBLIC_ enum ndr_err_code ndr_push_netr_LMSessionKey(struct ndr_push *ndr, int ndr_flags, const struct netr_LMSessionKey *r)
835 uint32_t _flags_save_STRUCT = ndr->flags;
836 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
837 if (ndr_flags & NDR_SCALARS) {
838 NDR_CHECK(ndr_push_align(ndr, 1));
839 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->key, 8));
841 if (ndr_flags & NDR_BUFFERS) {
843 ndr->flags = _flags_save_STRUCT;
845 return NDR_ERR_SUCCESS;
848 _PUBLIC_ enum ndr_err_code ndr_pull_netr_LMSessionKey(struct ndr_pull *ndr, int ndr_flags, struct netr_LMSessionKey *r)
851 uint32_t _flags_save_STRUCT = ndr->flags;
852 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
853 if (ndr_flags & NDR_SCALARS) {
854 NDR_CHECK(ndr_pull_align(ndr, 1));
855 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->key, 8));
857 if (ndr_flags & NDR_BUFFERS) {
859 ndr->flags = _flags_save_STRUCT;
861 return NDR_ERR_SUCCESS;
864 _PUBLIC_ void ndr_print_netr_LMSessionKey(struct ndr_print *ndr, const char *name, const struct netr_LMSessionKey *r)
866 ndr_print_struct(ndr, name, "netr_LMSessionKey");
868 uint32_t _flags_save_STRUCT = ndr->flags;
869 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
870 ndr->depth++;
871 ndr_print_array_uint8(ndr, "key", r->key, 8);
872 ndr->depth--;
873 ndr->flags = _flags_save_STRUCT;
877 _PUBLIC_ enum ndr_err_code ndr_push_netr_UserFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
879 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
880 return NDR_ERR_SUCCESS;
883 _PUBLIC_ enum ndr_err_code ndr_pull_netr_UserFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
885 uint32_t v;
886 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
887 *r = v;
888 return NDR_ERR_SUCCESS;
891 _PUBLIC_ void ndr_print_netr_UserFlags(struct ndr_print *ndr, const char *name, uint32_t r)
893 ndr_print_uint32(ndr, name, r);
894 ndr->depth++;
895 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_GUEST", NETLOGON_GUEST, r);
896 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NOENCRYPTION", NETLOGON_NOENCRYPTION, r);
897 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_CACHED_ACCOUNT", NETLOGON_CACHED_ACCOUNT, r);
898 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_USED_LM_PASSWORD", NETLOGON_USED_LM_PASSWORD, r);
899 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_EXTRA_SIDS", NETLOGON_EXTRA_SIDS, r);
900 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_SUBAUTH_SESSION_KEY", NETLOGON_SUBAUTH_SESSION_KEY, r);
901 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_SERVER_TRUST_ACCOUNT", NETLOGON_SERVER_TRUST_ACCOUNT, r);
902 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NTLMV2_ENABLED", NETLOGON_NTLMV2_ENABLED, r);
903 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_RESOURCE_GROUPS", NETLOGON_RESOURCE_GROUPS, r);
904 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_PROFILE_PATH_RETURNED", NETLOGON_PROFILE_PATH_RETURNED, r);
905 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_GRACE_LOGON", NETLOGON_GRACE_LOGON, r);
906 ndr->depth--;
909 static enum ndr_err_code ndr_push_netr_SamBaseInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_SamBaseInfo *r)
911 uint32_t cntr_unknown_0;
912 if (ndr_flags & NDR_SCALARS) {
913 NDR_CHECK(ndr_push_align(ndr, 4));
914 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logon));
915 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logoff));
916 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->acct_expiry));
917 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_password_change));
918 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->allow_password_change));
919 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->force_password_change));
920 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
921 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
922 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
923 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
924 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
925 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
926 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count));
927 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->bad_password_count));
928 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
929 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid));
930 NDR_CHECK(ndr_push_samr_RidWithAttributeArray(ndr, NDR_SCALARS, &r->groups));
931 NDR_CHECK(ndr_push_netr_UserFlags(ndr, NDR_SCALARS, r->user_flags));
932 NDR_CHECK(ndr_push_netr_UserSessionKey(ndr, NDR_SCALARS, &r->key));
933 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->logon_server));
934 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->domain));
935 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_sid));
936 NDR_CHECK(ndr_push_netr_LMSessionKey(ndr, NDR_SCALARS, &r->LMSessKey));
937 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
938 for (cntr_unknown_0 = 0; cntr_unknown_0 < 7; cntr_unknown_0++) {
939 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown[cntr_unknown_0]));
942 if (ndr_flags & NDR_BUFFERS) {
943 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
944 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
945 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
946 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
947 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
948 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
949 NDR_CHECK(ndr_push_samr_RidWithAttributeArray(ndr, NDR_BUFFERS, &r->groups));
950 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->logon_server));
951 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->domain));
952 if (r->domain_sid) {
953 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid));
956 return NDR_ERR_SUCCESS;
959 static enum ndr_err_code ndr_pull_netr_SamBaseInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_SamBaseInfo *r)
961 uint32_t _ptr_domain_sid;
962 TALLOC_CTX *_mem_save_domain_sid_0;
963 uint32_t cntr_unknown_0;
964 if (ndr_flags & NDR_SCALARS) {
965 NDR_CHECK(ndr_pull_align(ndr, 4));
966 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logon));
967 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logoff));
968 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->acct_expiry));
969 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_password_change));
970 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->allow_password_change));
971 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->force_password_change));
972 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
973 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
974 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
975 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
976 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
977 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
978 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count));
979 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->bad_password_count));
980 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
981 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid));
982 NDR_CHECK(ndr_pull_samr_RidWithAttributeArray(ndr, NDR_SCALARS, &r->groups));
983 NDR_CHECK(ndr_pull_netr_UserFlags(ndr, NDR_SCALARS, &r->user_flags));
984 NDR_CHECK(ndr_pull_netr_UserSessionKey(ndr, NDR_SCALARS, &r->key));
985 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->logon_server));
986 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->domain));
987 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_sid));
988 if (_ptr_domain_sid) {
989 NDR_PULL_ALLOC(ndr, r->domain_sid);
990 } else {
991 r->domain_sid = NULL;
993 NDR_CHECK(ndr_pull_netr_LMSessionKey(ndr, NDR_SCALARS, &r->LMSessKey));
994 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
995 for (cntr_unknown_0 = 0; cntr_unknown_0 < 7; cntr_unknown_0++) {
996 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown[cntr_unknown_0]));
999 if (ndr_flags & NDR_BUFFERS) {
1000 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
1001 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
1002 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
1003 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
1004 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
1005 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
1006 NDR_CHECK(ndr_pull_samr_RidWithAttributeArray(ndr, NDR_BUFFERS, &r->groups));
1007 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->logon_server));
1008 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->domain));
1009 if (r->domain_sid) {
1010 _mem_save_domain_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
1011 NDR_PULL_SET_MEM_CTX(ndr, r->domain_sid, 0);
1012 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid));
1013 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_sid_0, 0);
1016 return NDR_ERR_SUCCESS;
1019 _PUBLIC_ void ndr_print_netr_SamBaseInfo(struct ndr_print *ndr, const char *name, const struct netr_SamBaseInfo *r)
1021 uint32_t cntr_unknown_0;
1022 ndr_print_struct(ndr, name, "netr_SamBaseInfo");
1023 ndr->depth++;
1024 ndr_print_NTTIME(ndr, "last_logon", r->last_logon);
1025 ndr_print_NTTIME(ndr, "last_logoff", r->last_logoff);
1026 ndr_print_NTTIME(ndr, "acct_expiry", r->acct_expiry);
1027 ndr_print_NTTIME(ndr, "last_password_change", r->last_password_change);
1028 ndr_print_NTTIME(ndr, "allow_password_change", r->allow_password_change);
1029 ndr_print_NTTIME(ndr, "force_password_change", r->force_password_change);
1030 ndr_print_lsa_String(ndr, "account_name", &r->account_name);
1031 ndr_print_lsa_String(ndr, "full_name", &r->full_name);
1032 ndr_print_lsa_String(ndr, "logon_script", &r->logon_script);
1033 ndr_print_lsa_String(ndr, "profile_path", &r->profile_path);
1034 ndr_print_lsa_String(ndr, "home_directory", &r->home_directory);
1035 ndr_print_lsa_String(ndr, "home_drive", &r->home_drive);
1036 ndr_print_uint16(ndr, "logon_count", r->logon_count);
1037 ndr_print_uint16(ndr, "bad_password_count", r->bad_password_count);
1038 ndr_print_uint32(ndr, "rid", r->rid);
1039 ndr_print_uint32(ndr, "primary_gid", r->primary_gid);
1040 ndr_print_samr_RidWithAttributeArray(ndr, "groups", &r->groups);
1041 ndr_print_netr_UserFlags(ndr, "user_flags", r->user_flags);
1042 ndr_print_netr_UserSessionKey(ndr, "key", &r->key);
1043 ndr_print_lsa_StringLarge(ndr, "logon_server", &r->logon_server);
1044 ndr_print_lsa_StringLarge(ndr, "domain", &r->domain);
1045 ndr_print_ptr(ndr, "domain_sid", r->domain_sid);
1046 ndr->depth++;
1047 if (r->domain_sid) {
1048 ndr_print_dom_sid2(ndr, "domain_sid", r->domain_sid);
1050 ndr->depth--;
1051 ndr_print_netr_LMSessionKey(ndr, "LMSessKey", &r->LMSessKey);
1052 ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
1053 ndr->print(ndr, "%s: ARRAY(%d)", "unknown", (int)7);
1054 ndr->depth++;
1055 for (cntr_unknown_0=0;cntr_unknown_0<7;cntr_unknown_0++) {
1056 char *idx_0=NULL;
1057 if (asprintf(&idx_0, "[%d]", cntr_unknown_0) != -1) {
1058 ndr_print_uint32(ndr, "unknown", r->unknown[cntr_unknown_0]);
1059 free(idx_0);
1062 ndr->depth--;
1063 ndr->depth--;
1066 static enum ndr_err_code ndr_push_netr_SamInfo2(struct ndr_push *ndr, int ndr_flags, const struct netr_SamInfo2 *r)
1068 if (ndr_flags & NDR_SCALARS) {
1069 NDR_CHECK(ndr_push_align(ndr, 4));
1070 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1072 if (ndr_flags & NDR_BUFFERS) {
1073 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1075 return NDR_ERR_SUCCESS;
1078 static enum ndr_err_code ndr_pull_netr_SamInfo2(struct ndr_pull *ndr, int ndr_flags, struct netr_SamInfo2 *r)
1080 if (ndr_flags & NDR_SCALARS) {
1081 NDR_CHECK(ndr_pull_align(ndr, 4));
1082 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1084 if (ndr_flags & NDR_BUFFERS) {
1085 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1087 return NDR_ERR_SUCCESS;
1090 _PUBLIC_ void ndr_print_netr_SamInfo2(struct ndr_print *ndr, const char *name, const struct netr_SamInfo2 *r)
1092 ndr_print_struct(ndr, name, "netr_SamInfo2");
1093 ndr->depth++;
1094 ndr_print_netr_SamBaseInfo(ndr, "base", &r->base);
1095 ndr->depth--;
1098 static enum ndr_err_code ndr_push_netr_SidAttr(struct ndr_push *ndr, int ndr_flags, const struct netr_SidAttr *r)
1100 if (ndr_flags & NDR_SCALARS) {
1101 NDR_CHECK(ndr_push_align(ndr, 4));
1102 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
1103 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr, NDR_SCALARS, r->attributes));
1105 if (ndr_flags & NDR_BUFFERS) {
1106 if (r->sid) {
1107 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
1110 return NDR_ERR_SUCCESS;
1113 static enum ndr_err_code ndr_pull_netr_SidAttr(struct ndr_pull *ndr, int ndr_flags, struct netr_SidAttr *r)
1115 uint32_t _ptr_sid;
1116 TALLOC_CTX *_mem_save_sid_0;
1117 if (ndr_flags & NDR_SCALARS) {
1118 NDR_CHECK(ndr_pull_align(ndr, 4));
1119 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
1120 if (_ptr_sid) {
1121 NDR_PULL_ALLOC(ndr, r->sid);
1122 } else {
1123 r->sid = NULL;
1125 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr, NDR_SCALARS, &r->attributes));
1127 if (ndr_flags & NDR_BUFFERS) {
1128 if (r->sid) {
1129 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
1130 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
1131 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
1132 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
1135 return NDR_ERR_SUCCESS;
1138 _PUBLIC_ void ndr_print_netr_SidAttr(struct ndr_print *ndr, const char *name, const struct netr_SidAttr *r)
1140 ndr_print_struct(ndr, name, "netr_SidAttr");
1141 ndr->depth++;
1142 ndr_print_ptr(ndr, "sid", r->sid);
1143 ndr->depth++;
1144 if (r->sid) {
1145 ndr_print_dom_sid2(ndr, "sid", r->sid);
1147 ndr->depth--;
1148 ndr_print_samr_GroupAttrs(ndr, "attributes", r->attributes);
1149 ndr->depth--;
1152 _PUBLIC_ enum ndr_err_code ndr_push_netr_SamInfo3(struct ndr_push *ndr, int ndr_flags, const struct netr_SamInfo3 *r)
1154 uint32_t cntr_sids_1;
1155 if (ndr_flags & NDR_SCALARS) {
1156 NDR_CHECK(ndr_push_align(ndr, 4));
1157 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1158 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sidcount));
1159 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids));
1161 if (ndr_flags & NDR_BUFFERS) {
1162 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1163 if (r->sids) {
1164 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sidcount));
1165 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1166 NDR_CHECK(ndr_push_netr_SidAttr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
1168 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1169 NDR_CHECK(ndr_push_netr_SidAttr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
1173 return NDR_ERR_SUCCESS;
1176 _PUBLIC_ enum ndr_err_code ndr_pull_netr_SamInfo3(struct ndr_pull *ndr, int ndr_flags, struct netr_SamInfo3 *r)
1178 uint32_t _ptr_sids;
1179 uint32_t cntr_sids_1;
1180 TALLOC_CTX *_mem_save_sids_0;
1181 TALLOC_CTX *_mem_save_sids_1;
1182 if (ndr_flags & NDR_SCALARS) {
1183 NDR_CHECK(ndr_pull_align(ndr, 4));
1184 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1185 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sidcount));
1186 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
1187 if (_ptr_sids) {
1188 NDR_PULL_ALLOC(ndr, r->sids);
1189 } else {
1190 r->sids = NULL;
1193 if (ndr_flags & NDR_BUFFERS) {
1194 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1195 if (r->sids) {
1196 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1197 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
1198 NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
1199 NDR_PULL_ALLOC_N(ndr, r->sids, ndr_get_array_size(ndr, &r->sids));
1200 _mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr);
1201 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
1202 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1203 NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
1205 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1206 NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
1208 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_1, 0);
1209 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
1211 if (r->sids) {
1212 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sids, r->sidcount));
1215 return NDR_ERR_SUCCESS;
1218 _PUBLIC_ void ndr_print_netr_SamInfo3(struct ndr_print *ndr, const char *name, const struct netr_SamInfo3 *r)
1220 uint32_t cntr_sids_1;
1221 ndr_print_struct(ndr, name, "netr_SamInfo3");
1222 ndr->depth++;
1223 ndr_print_netr_SamBaseInfo(ndr, "base", &r->base);
1224 ndr_print_uint32(ndr, "sidcount", r->sidcount);
1225 ndr_print_ptr(ndr, "sids", r->sids);
1226 ndr->depth++;
1227 if (r->sids) {
1228 ndr->print(ndr, "%s: ARRAY(%d)", "sids", (int)r->sidcount);
1229 ndr->depth++;
1230 for (cntr_sids_1=0;cntr_sids_1<r->sidcount;cntr_sids_1++) {
1231 char *idx_1=NULL;
1232 if (asprintf(&idx_1, "[%d]", cntr_sids_1) != -1) {
1233 ndr_print_netr_SidAttr(ndr, "sids", &r->sids[cntr_sids_1]);
1234 free(idx_1);
1237 ndr->depth--;
1239 ndr->depth--;
1240 ndr->depth--;
1243 static enum ndr_err_code ndr_push_netr_SamInfo6(struct ndr_push *ndr, int ndr_flags, const struct netr_SamInfo6 *r)
1245 uint32_t cntr_sids_1;
1246 uint32_t cntr_unknown4_0;
1247 if (ndr_flags & NDR_SCALARS) {
1248 NDR_CHECK(ndr_push_align(ndr, 4));
1249 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1250 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sidcount));
1251 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids));
1252 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->forest));
1253 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->principle));
1254 for (cntr_unknown4_0 = 0; cntr_unknown4_0 < 20; cntr_unknown4_0++) {
1255 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4[cntr_unknown4_0]));
1258 if (ndr_flags & NDR_BUFFERS) {
1259 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1260 if (r->sids) {
1261 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sidcount));
1262 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1263 NDR_CHECK(ndr_push_netr_SidAttr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
1265 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1266 NDR_CHECK(ndr_push_netr_SidAttr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
1269 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->forest));
1270 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->principle));
1272 return NDR_ERR_SUCCESS;
1275 static enum ndr_err_code ndr_pull_netr_SamInfo6(struct ndr_pull *ndr, int ndr_flags, struct netr_SamInfo6 *r)
1277 uint32_t _ptr_sids;
1278 uint32_t cntr_sids_1;
1279 TALLOC_CTX *_mem_save_sids_0;
1280 TALLOC_CTX *_mem_save_sids_1;
1281 uint32_t cntr_unknown4_0;
1282 if (ndr_flags & NDR_SCALARS) {
1283 NDR_CHECK(ndr_pull_align(ndr, 4));
1284 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1285 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sidcount));
1286 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
1287 if (_ptr_sids) {
1288 NDR_PULL_ALLOC(ndr, r->sids);
1289 } else {
1290 r->sids = NULL;
1292 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->forest));
1293 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->principle));
1294 for (cntr_unknown4_0 = 0; cntr_unknown4_0 < 20; cntr_unknown4_0++) {
1295 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4[cntr_unknown4_0]));
1298 if (ndr_flags & NDR_BUFFERS) {
1299 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1300 if (r->sids) {
1301 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1302 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
1303 NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
1304 NDR_PULL_ALLOC_N(ndr, r->sids, ndr_get_array_size(ndr, &r->sids));
1305 _mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr);
1306 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
1307 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1308 NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
1310 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1311 NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
1313 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_1, 0);
1314 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
1316 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->forest));
1317 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->principle));
1318 if (r->sids) {
1319 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sids, r->sidcount));
1322 return NDR_ERR_SUCCESS;
1325 _PUBLIC_ void ndr_print_netr_SamInfo6(struct ndr_print *ndr, const char *name, const struct netr_SamInfo6 *r)
1327 uint32_t cntr_sids_1;
1328 uint32_t cntr_unknown4_0;
1329 ndr_print_struct(ndr, name, "netr_SamInfo6");
1330 ndr->depth++;
1331 ndr_print_netr_SamBaseInfo(ndr, "base", &r->base);
1332 ndr_print_uint32(ndr, "sidcount", r->sidcount);
1333 ndr_print_ptr(ndr, "sids", r->sids);
1334 ndr->depth++;
1335 if (r->sids) {
1336 ndr->print(ndr, "%s: ARRAY(%d)", "sids", (int)r->sidcount);
1337 ndr->depth++;
1338 for (cntr_sids_1=0;cntr_sids_1<r->sidcount;cntr_sids_1++) {
1339 char *idx_1=NULL;
1340 if (asprintf(&idx_1, "[%d]", cntr_sids_1) != -1) {
1341 ndr_print_netr_SidAttr(ndr, "sids", &r->sids[cntr_sids_1]);
1342 free(idx_1);
1345 ndr->depth--;
1347 ndr->depth--;
1348 ndr_print_lsa_String(ndr, "forest", &r->forest);
1349 ndr_print_lsa_String(ndr, "principle", &r->principle);
1350 ndr->print(ndr, "%s: ARRAY(%d)", "unknown4", (int)20);
1351 ndr->depth++;
1352 for (cntr_unknown4_0=0;cntr_unknown4_0<20;cntr_unknown4_0++) {
1353 char *idx_0=NULL;
1354 if (asprintf(&idx_0, "[%d]", cntr_unknown4_0) != -1) {
1355 ndr_print_uint32(ndr, "unknown4", r->unknown4[cntr_unknown4_0]);
1356 free(idx_0);
1359 ndr->depth--;
1360 ndr->depth--;
1363 static enum ndr_err_code ndr_push_netr_PacInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_PacInfo *r)
1365 uint32_t cntr_expansionroom_0;
1366 if (ndr_flags & NDR_SCALARS) {
1367 NDR_CHECK(ndr_push_align(ndr, 4));
1368 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pac_size));
1369 NDR_CHECK(ndr_push_unique_ptr(ndr, r->pac));
1370 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_domain));
1371 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_server));
1372 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->principal_name));
1373 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->auth_size));
1374 NDR_CHECK(ndr_push_unique_ptr(ndr, r->auth));
1375 NDR_CHECK(ndr_push_netr_UserSessionKey(ndr, NDR_SCALARS, &r->user_session_key));
1376 for (cntr_expansionroom_0 = 0; cntr_expansionroom_0 < 10; cntr_expansionroom_0++) {
1377 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->expansionroom[cntr_expansionroom_0]));
1379 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
1380 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
1381 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
1382 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
1384 if (ndr_flags & NDR_BUFFERS) {
1385 if (r->pac) {
1386 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pac_size));
1387 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->pac, r->pac_size));
1389 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_domain));
1390 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_server));
1391 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->principal_name));
1392 if (r->auth) {
1393 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->auth_size));
1394 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->auth, r->auth_size));
1396 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
1397 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
1398 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
1399 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
1401 return NDR_ERR_SUCCESS;
1404 static enum ndr_err_code ndr_pull_netr_PacInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_PacInfo *r)
1406 uint32_t _ptr_pac;
1407 TALLOC_CTX *_mem_save_pac_0;
1408 uint32_t _ptr_auth;
1409 TALLOC_CTX *_mem_save_auth_0;
1410 uint32_t cntr_expansionroom_0;
1411 if (ndr_flags & NDR_SCALARS) {
1412 NDR_CHECK(ndr_pull_align(ndr, 4));
1413 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pac_size));
1414 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pac));
1415 if (_ptr_pac) {
1416 NDR_PULL_ALLOC(ndr, r->pac);
1417 } else {
1418 r->pac = NULL;
1420 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_domain));
1421 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_server));
1422 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->principal_name));
1423 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->auth_size));
1424 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_auth));
1425 if (_ptr_auth) {
1426 NDR_PULL_ALLOC(ndr, r->auth);
1427 } else {
1428 r->auth = NULL;
1430 NDR_CHECK(ndr_pull_netr_UserSessionKey(ndr, NDR_SCALARS, &r->user_session_key));
1431 for (cntr_expansionroom_0 = 0; cntr_expansionroom_0 < 10; cntr_expansionroom_0++) {
1432 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->expansionroom[cntr_expansionroom_0]));
1434 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
1435 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
1436 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
1437 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
1439 if (ndr_flags & NDR_BUFFERS) {
1440 if (r->pac) {
1441 _mem_save_pac_0 = NDR_PULL_GET_MEM_CTX(ndr);
1442 NDR_PULL_SET_MEM_CTX(ndr, r->pac, 0);
1443 NDR_CHECK(ndr_pull_array_size(ndr, &r->pac));
1444 NDR_PULL_ALLOC_N(ndr, r->pac, ndr_get_array_size(ndr, &r->pac));
1445 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->pac, ndr_get_array_size(ndr, &r->pac)));
1446 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pac_0, 0);
1448 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_domain));
1449 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_server));
1450 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->principal_name));
1451 if (r->auth) {
1452 _mem_save_auth_0 = NDR_PULL_GET_MEM_CTX(ndr);
1453 NDR_PULL_SET_MEM_CTX(ndr, r->auth, 0);
1454 NDR_CHECK(ndr_pull_array_size(ndr, &r->auth));
1455 NDR_PULL_ALLOC_N(ndr, r->auth, ndr_get_array_size(ndr, &r->auth));
1456 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->auth, ndr_get_array_size(ndr, &r->auth)));
1457 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_auth_0, 0);
1459 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
1460 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
1461 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
1462 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
1463 if (r->pac) {
1464 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->pac, r->pac_size));
1466 if (r->auth) {
1467 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->auth, r->auth_size));
1470 return NDR_ERR_SUCCESS;
1473 _PUBLIC_ void ndr_print_netr_PacInfo(struct ndr_print *ndr, const char *name, const struct netr_PacInfo *r)
1475 uint32_t cntr_expansionroom_0;
1476 ndr_print_struct(ndr, name, "netr_PacInfo");
1477 ndr->depth++;
1478 ndr_print_uint32(ndr, "pac_size", r->pac_size);
1479 ndr_print_ptr(ndr, "pac", r->pac);
1480 ndr->depth++;
1481 if (r->pac) {
1482 ndr_print_array_uint8(ndr, "pac", r->pac, r->pac_size);
1484 ndr->depth--;
1485 ndr_print_lsa_String(ndr, "logon_domain", &r->logon_domain);
1486 ndr_print_lsa_String(ndr, "logon_server", &r->logon_server);
1487 ndr_print_lsa_String(ndr, "principal_name", &r->principal_name);
1488 ndr_print_uint32(ndr, "auth_size", r->auth_size);
1489 ndr_print_ptr(ndr, "auth", r->auth);
1490 ndr->depth++;
1491 if (r->auth) {
1492 ndr_print_array_uint8(ndr, "auth", r->auth, r->auth_size);
1494 ndr->depth--;
1495 ndr_print_netr_UserSessionKey(ndr, "user_session_key", &r->user_session_key);
1496 ndr->print(ndr, "%s: ARRAY(%d)", "expansionroom", (int)10);
1497 ndr->depth++;
1498 for (cntr_expansionroom_0=0;cntr_expansionroom_0<10;cntr_expansionroom_0++) {
1499 char *idx_0=NULL;
1500 if (asprintf(&idx_0, "[%d]", cntr_expansionroom_0) != -1) {
1501 ndr_print_uint32(ndr, "expansionroom", r->expansionroom[cntr_expansionroom_0]);
1502 free(idx_0);
1505 ndr->depth--;
1506 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
1507 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
1508 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
1509 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
1510 ndr->depth--;
1513 _PUBLIC_ enum ndr_err_code ndr_push_netr_Validation(struct ndr_push *ndr, int ndr_flags, const union netr_Validation *r)
1515 if (ndr_flags & NDR_SCALARS) {
1516 int level = ndr_push_get_switch_value(ndr, r);
1517 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level));
1518 switch (level) {
1519 case 2: {
1520 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sam2));
1521 break; }
1523 case 3: {
1524 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sam3));
1525 break; }
1527 case 4: {
1528 NDR_CHECK(ndr_push_unique_ptr(ndr, r->pac));
1529 break; }
1531 case 5: {
1532 NDR_CHECK(ndr_push_unique_ptr(ndr, r->pac));
1533 break; }
1535 case 6: {
1536 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sam6));
1537 break; }
1539 default:
1540 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1543 if (ndr_flags & NDR_BUFFERS) {
1544 int level = ndr_push_get_switch_value(ndr, r);
1545 switch (level) {
1546 case 2:
1547 if (r->sam2) {
1548 NDR_CHECK(ndr_push_netr_SamInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam2));
1550 break;
1552 case 3:
1553 if (r->sam3) {
1554 NDR_CHECK(ndr_push_netr_SamInfo3(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam3));
1556 break;
1558 case 4:
1559 if (r->pac) {
1560 NDR_CHECK(ndr_push_netr_PacInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->pac));
1562 break;
1564 case 5:
1565 if (r->pac) {
1566 NDR_CHECK(ndr_push_netr_PacInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->pac));
1568 break;
1570 case 6:
1571 if (r->sam6) {
1572 NDR_CHECK(ndr_push_netr_SamInfo6(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam6));
1574 break;
1576 default:
1577 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1580 return NDR_ERR_SUCCESS;
1583 _PUBLIC_ enum ndr_err_code ndr_pull_netr_Validation(struct ndr_pull *ndr, int ndr_flags, union netr_Validation *r)
1585 int level;
1586 uint16_t _level;
1587 TALLOC_CTX *_mem_save_sam2_0;
1588 TALLOC_CTX *_mem_save_sam3_0;
1589 TALLOC_CTX *_mem_save_pac_0;
1590 TALLOC_CTX *_mem_save_sam6_0;
1591 level = ndr_pull_get_switch_value(ndr, r);
1592 if (ndr_flags & NDR_SCALARS) {
1593 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
1594 if (_level != level) {
1595 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
1597 switch (level) {
1598 case 2: {
1599 uint32_t _ptr_sam2;
1600 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam2));
1601 if (_ptr_sam2) {
1602 NDR_PULL_ALLOC(ndr, r->sam2);
1603 } else {
1604 r->sam2 = NULL;
1606 break; }
1608 case 3: {
1609 uint32_t _ptr_sam3;
1610 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam3));
1611 if (_ptr_sam3) {
1612 NDR_PULL_ALLOC(ndr, r->sam3);
1613 } else {
1614 r->sam3 = NULL;
1616 break; }
1618 case 4: {
1619 uint32_t _ptr_pac;
1620 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pac));
1621 if (_ptr_pac) {
1622 NDR_PULL_ALLOC(ndr, r->pac);
1623 } else {
1624 r->pac = NULL;
1626 break; }
1628 case 5: {
1629 uint32_t _ptr_pac;
1630 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pac));
1631 if (_ptr_pac) {
1632 NDR_PULL_ALLOC(ndr, r->pac);
1633 } else {
1634 r->pac = NULL;
1636 break; }
1638 case 6: {
1639 uint32_t _ptr_sam6;
1640 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam6));
1641 if (_ptr_sam6) {
1642 NDR_PULL_ALLOC(ndr, r->sam6);
1643 } else {
1644 r->sam6 = NULL;
1646 break; }
1648 default:
1649 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1652 if (ndr_flags & NDR_BUFFERS) {
1653 switch (level) {
1654 case 2:
1655 if (r->sam2) {
1656 _mem_save_sam2_0 = NDR_PULL_GET_MEM_CTX(ndr);
1657 NDR_PULL_SET_MEM_CTX(ndr, r->sam2, 0);
1658 NDR_CHECK(ndr_pull_netr_SamInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam2));
1659 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam2_0, 0);
1661 break;
1663 case 3:
1664 if (r->sam3) {
1665 _mem_save_sam3_0 = NDR_PULL_GET_MEM_CTX(ndr);
1666 NDR_PULL_SET_MEM_CTX(ndr, r->sam3, 0);
1667 NDR_CHECK(ndr_pull_netr_SamInfo3(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam3));
1668 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam3_0, 0);
1670 break;
1672 case 4:
1673 if (r->pac) {
1674 _mem_save_pac_0 = NDR_PULL_GET_MEM_CTX(ndr);
1675 NDR_PULL_SET_MEM_CTX(ndr, r->pac, 0);
1676 NDR_CHECK(ndr_pull_netr_PacInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->pac));
1677 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pac_0, 0);
1679 break;
1681 case 5:
1682 if (r->pac) {
1683 _mem_save_pac_0 = NDR_PULL_GET_MEM_CTX(ndr);
1684 NDR_PULL_SET_MEM_CTX(ndr, r->pac, 0);
1685 NDR_CHECK(ndr_pull_netr_PacInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->pac));
1686 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pac_0, 0);
1688 break;
1690 case 6:
1691 if (r->sam6) {
1692 _mem_save_sam6_0 = NDR_PULL_GET_MEM_CTX(ndr);
1693 NDR_PULL_SET_MEM_CTX(ndr, r->sam6, 0);
1694 NDR_CHECK(ndr_pull_netr_SamInfo6(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam6));
1695 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam6_0, 0);
1697 break;
1699 default:
1700 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1703 return NDR_ERR_SUCCESS;
1706 _PUBLIC_ void ndr_print_netr_Validation(struct ndr_print *ndr, const char *name, const union netr_Validation *r)
1708 int level;
1709 level = ndr_print_get_switch_value(ndr, r);
1710 ndr_print_union(ndr, name, level, "netr_Validation");
1711 switch (level) {
1712 case 2:
1713 ndr_print_ptr(ndr, "sam2", r->sam2);
1714 ndr->depth++;
1715 if (r->sam2) {
1716 ndr_print_netr_SamInfo2(ndr, "sam2", r->sam2);
1718 ndr->depth--;
1719 break;
1721 case 3:
1722 ndr_print_ptr(ndr, "sam3", r->sam3);
1723 ndr->depth++;
1724 if (r->sam3) {
1725 ndr_print_netr_SamInfo3(ndr, "sam3", r->sam3);
1727 ndr->depth--;
1728 break;
1730 case 4:
1731 ndr_print_ptr(ndr, "pac", r->pac);
1732 ndr->depth++;
1733 if (r->pac) {
1734 ndr_print_netr_PacInfo(ndr, "pac", r->pac);
1736 ndr->depth--;
1737 break;
1739 case 5:
1740 ndr_print_ptr(ndr, "pac", r->pac);
1741 ndr->depth++;
1742 if (r->pac) {
1743 ndr_print_netr_PacInfo(ndr, "pac", r->pac);
1745 ndr->depth--;
1746 break;
1748 case 6:
1749 ndr_print_ptr(ndr, "sam6", r->sam6);
1750 ndr->depth++;
1751 if (r->sam6) {
1752 ndr_print_netr_SamInfo6(ndr, "sam6", r->sam6);
1754 ndr->depth--;
1755 break;
1757 default:
1758 ndr_print_bad_level(ndr, name, level);
1762 _PUBLIC_ enum ndr_err_code ndr_push_netr_Credential(struct ndr_push *ndr, int ndr_flags, const struct netr_Credential *r)
1765 uint32_t _flags_save_STRUCT = ndr->flags;
1766 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1767 if (ndr_flags & NDR_SCALARS) {
1768 NDR_CHECK(ndr_push_align(ndr, 1));
1769 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, 8));
1771 if (ndr_flags & NDR_BUFFERS) {
1773 ndr->flags = _flags_save_STRUCT;
1775 return NDR_ERR_SUCCESS;
1778 _PUBLIC_ enum ndr_err_code ndr_pull_netr_Credential(struct ndr_pull *ndr, int ndr_flags, struct netr_Credential *r)
1781 uint32_t _flags_save_STRUCT = ndr->flags;
1782 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1783 if (ndr_flags & NDR_SCALARS) {
1784 NDR_CHECK(ndr_pull_align(ndr, 1));
1785 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, 8));
1787 if (ndr_flags & NDR_BUFFERS) {
1789 ndr->flags = _flags_save_STRUCT;
1791 return NDR_ERR_SUCCESS;
1794 _PUBLIC_ void ndr_print_netr_Credential(struct ndr_print *ndr, const char *name, const struct netr_Credential *r)
1796 ndr_print_struct(ndr, name, "netr_Credential");
1798 uint32_t _flags_save_STRUCT = ndr->flags;
1799 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1800 ndr->depth++;
1801 ndr_print_array_uint8(ndr, "data", r->data, 8);
1802 ndr->depth--;
1803 ndr->flags = _flags_save_STRUCT;
1807 _PUBLIC_ enum ndr_err_code ndr_push_netr_Authenticator(struct ndr_push *ndr, int ndr_flags, const struct netr_Authenticator *r)
1809 if (ndr_flags & NDR_SCALARS) {
1810 NDR_CHECK(ndr_push_align(ndr, 4));
1811 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, &r->cred));
1812 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->timestamp));
1814 if (ndr_flags & NDR_BUFFERS) {
1816 return NDR_ERR_SUCCESS;
1819 _PUBLIC_ enum ndr_err_code ndr_pull_netr_Authenticator(struct ndr_pull *ndr, int ndr_flags, struct netr_Authenticator *r)
1821 if (ndr_flags & NDR_SCALARS) {
1822 NDR_CHECK(ndr_pull_align(ndr, 4));
1823 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, &r->cred));
1824 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->timestamp));
1826 if (ndr_flags & NDR_BUFFERS) {
1828 return NDR_ERR_SUCCESS;
1831 _PUBLIC_ void ndr_print_netr_Authenticator(struct ndr_print *ndr, const char *name, const struct netr_Authenticator *r)
1833 ndr_print_struct(ndr, name, "netr_Authenticator");
1834 ndr->depth++;
1835 ndr_print_netr_Credential(ndr, "cred", &r->cred);
1836 ndr_print_time_t(ndr, "timestamp", r->timestamp);
1837 ndr->depth--;
1840 static enum ndr_err_code ndr_push_netr_LogonLevel(struct ndr_push *ndr, int ndr_flags, enum netr_LogonLevel r)
1842 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
1843 return NDR_ERR_SUCCESS;
1846 static enum ndr_err_code ndr_pull_netr_LogonLevel(struct ndr_pull *ndr, int ndr_flags, enum netr_LogonLevel *r)
1848 uint16_t v;
1849 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
1850 *r = v;
1851 return NDR_ERR_SUCCESS;
1854 _PUBLIC_ void ndr_print_netr_LogonLevel(struct ndr_print *ndr, const char *name, enum netr_LogonLevel r)
1856 const char *val = NULL;
1858 switch (r) {
1859 case INTERACTIVE_LOGON_TYPE: val = "INTERACTIVE_LOGON_TYPE"; break;
1860 case NET_LOGON_TYPE: val = "NET_LOGON_TYPE"; break;
1862 ndr_print_enum(ndr, name, "ENUM", val, r);
1865 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)
1867 if (ndr_flags & NDR_SCALARS) {
1868 NDR_CHECK(ndr_push_align(ndr, 4));
1869 NDR_CHECK(ndr_push_unique_ptr(ndr, r->account_name));
1870 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
1871 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
1872 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
1873 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
1874 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
1875 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
1876 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
1877 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
1879 if (ndr_flags & NDR_BUFFERS) {
1880 if (r->account_name) {
1881 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF16)));
1882 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1883 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF16)));
1884 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->account_name, ndr_charset_length(r->account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
1886 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
1887 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
1888 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
1889 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
1891 return NDR_ERR_SUCCESS;
1894 static enum ndr_err_code ndr_pull_netr_DELTA_DELETE_USER(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_DELETE_USER *r)
1896 uint32_t _ptr_account_name;
1897 TALLOC_CTX *_mem_save_account_name_0;
1898 if (ndr_flags & NDR_SCALARS) {
1899 NDR_CHECK(ndr_pull_align(ndr, 4));
1900 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_account_name));
1901 if (_ptr_account_name) {
1902 NDR_PULL_ALLOC(ndr, r->account_name);
1903 } else {
1904 r->account_name = NULL;
1906 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
1907 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
1908 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
1909 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
1910 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
1911 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
1912 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
1913 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
1915 if (ndr_flags & NDR_BUFFERS) {
1916 if (r->account_name) {
1917 _mem_save_account_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
1918 NDR_PULL_SET_MEM_CTX(ndr, r->account_name, 0);
1919 NDR_CHECK(ndr_pull_array_size(ndr, &r->account_name));
1920 NDR_CHECK(ndr_pull_array_length(ndr, &r->account_name));
1921 if (ndr_get_array_length(ndr, &r->account_name) > ndr_get_array_size(ndr, &r->account_name)) {
1922 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));
1924 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->account_name), sizeof(uint16_t)));
1925 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->account_name, ndr_get_array_length(ndr, &r->account_name), sizeof(uint16_t), CH_UTF16));
1926 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_name_0, 0);
1928 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
1929 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
1930 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
1931 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
1933 return NDR_ERR_SUCCESS;
1936 _PUBLIC_ void ndr_print_netr_DELTA_DELETE_USER(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DELETE_USER *r)
1938 ndr_print_struct(ndr, name, "netr_DELTA_DELETE_USER");
1939 ndr->depth++;
1940 ndr_print_ptr(ndr, "account_name", r->account_name);
1941 ndr->depth++;
1942 if (r->account_name) {
1943 ndr_print_string(ndr, "account_name", r->account_name);
1945 ndr->depth--;
1946 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
1947 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
1948 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
1949 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
1950 ndr_print_uint32(ndr, "unknown5", r->unknown5);
1951 ndr_print_uint32(ndr, "unknown6", r->unknown6);
1952 ndr_print_uint32(ndr, "unknown7", r->unknown7);
1953 ndr_print_uint32(ndr, "unknown8", r->unknown8);
1954 ndr->depth--;
1957 static enum ndr_err_code ndr_push_netr_USER_KEY16(struct ndr_push *ndr, int ndr_flags, const struct netr_USER_KEY16 *r)
1959 if (ndr_flags & NDR_SCALARS) {
1960 NDR_CHECK(ndr_push_align(ndr, 4));
1961 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
1962 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
1963 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
1964 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->pwd));
1966 if (ndr_flags & NDR_BUFFERS) {
1968 return NDR_ERR_SUCCESS;
1971 static enum ndr_err_code ndr_pull_netr_USER_KEY16(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_KEY16 *r)
1973 if (ndr_flags & NDR_SCALARS) {
1974 NDR_CHECK(ndr_pull_align(ndr, 4));
1975 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
1976 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
1977 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
1978 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->pwd));
1980 if (ndr_flags & NDR_BUFFERS) {
1982 return NDR_ERR_SUCCESS;
1985 _PUBLIC_ void ndr_print_netr_USER_KEY16(struct ndr_print *ndr, const char *name, const struct netr_USER_KEY16 *r)
1987 ndr_print_struct(ndr, name, "netr_USER_KEY16");
1988 ndr->depth++;
1989 ndr_print_uint16(ndr, "length", r->length);
1990 ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->length:r->size);
1991 ndr_print_uint32(ndr, "flags", r->flags);
1992 ndr_print_samr_Password(ndr, "pwd", &r->pwd);
1993 ndr->depth--;
1996 static enum ndr_err_code ndr_push_netr_PasswordHistory(struct ndr_push *ndr, int ndr_flags, const struct netr_PasswordHistory *r)
1998 if (ndr_flags & NDR_SCALARS) {
1999 NDR_CHECK(ndr_push_align(ndr, 4));
2000 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->nt_length));
2001 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->nt_length));
2002 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nt_flags));
2003 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lm_length));
2004 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lm_length));
2005 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->lm_flags));
2006 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->nt_history, r->nt_length));
2007 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->lm_history, r->lm_length));
2009 if (ndr_flags & NDR_BUFFERS) {
2011 return NDR_ERR_SUCCESS;
2014 static enum ndr_err_code ndr_pull_netr_PasswordHistory(struct ndr_pull *ndr, int ndr_flags, struct netr_PasswordHistory *r)
2016 if (ndr_flags & NDR_SCALARS) {
2017 NDR_CHECK(ndr_pull_align(ndr, 4));
2018 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->nt_length));
2019 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->nt_size));
2020 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nt_flags));
2021 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lm_length));
2022 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lm_size));
2023 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->lm_flags));
2024 NDR_PULL_ALLOC_N(ndr, r->nt_history, r->nt_length);
2025 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->nt_history, r->nt_length));
2026 NDR_PULL_ALLOC_N(ndr, r->lm_history, r->lm_length);
2027 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->lm_history, r->lm_length));
2029 if (ndr_flags & NDR_BUFFERS) {
2031 return NDR_ERR_SUCCESS;
2034 _PUBLIC_ void ndr_print_netr_PasswordHistory(struct ndr_print *ndr, const char *name, const struct netr_PasswordHistory *r)
2036 ndr_print_struct(ndr, name, "netr_PasswordHistory");
2037 ndr->depth++;
2038 ndr_print_uint16(ndr, "nt_length", r->nt_length);
2039 ndr_print_uint16(ndr, "nt_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->nt_length:r->nt_size);
2040 ndr_print_uint32(ndr, "nt_flags", r->nt_flags);
2041 ndr_print_uint16(ndr, "lm_length", r->lm_length);
2042 ndr_print_uint16(ndr, "lm_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->lm_length:r->lm_size);
2043 ndr_print_uint32(ndr, "lm_flags", r->lm_flags);
2044 ndr_print_array_uint8(ndr, "nt_history", r->nt_history, r->nt_length);
2045 ndr_print_array_uint8(ndr, "lm_history", r->lm_history, r->lm_length);
2046 ndr->depth--;
2049 static enum ndr_err_code ndr_push_netr_USER_KEYS2(struct ndr_push *ndr, int ndr_flags, const struct netr_USER_KEYS2 *r)
2051 if (ndr_flags & NDR_SCALARS) {
2052 NDR_CHECK(ndr_push_align(ndr, 4));
2053 NDR_CHECK(ndr_push_netr_USER_KEY16(ndr, NDR_SCALARS, &r->lmpassword));
2054 NDR_CHECK(ndr_push_netr_USER_KEY16(ndr, NDR_SCALARS, &r->ntpassword));
2055 NDR_CHECK(ndr_push_netr_PasswordHistory(ndr, NDR_SCALARS, &r->history));
2057 if (ndr_flags & NDR_BUFFERS) {
2059 return NDR_ERR_SUCCESS;
2062 static enum ndr_err_code ndr_pull_netr_USER_KEYS2(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_KEYS2 *r)
2064 if (ndr_flags & NDR_SCALARS) {
2065 NDR_CHECK(ndr_pull_align(ndr, 4));
2066 NDR_CHECK(ndr_pull_netr_USER_KEY16(ndr, NDR_SCALARS, &r->lmpassword));
2067 NDR_CHECK(ndr_pull_netr_USER_KEY16(ndr, NDR_SCALARS, &r->ntpassword));
2068 NDR_CHECK(ndr_pull_netr_PasswordHistory(ndr, NDR_SCALARS, &r->history));
2070 if (ndr_flags & NDR_BUFFERS) {
2072 return NDR_ERR_SUCCESS;
2075 _PUBLIC_ void ndr_print_netr_USER_KEYS2(struct ndr_print *ndr, const char *name, const struct netr_USER_KEYS2 *r)
2077 ndr_print_struct(ndr, name, "netr_USER_KEYS2");
2078 ndr->depth++;
2079 ndr_print_netr_USER_KEY16(ndr, "lmpassword", &r->lmpassword);
2080 ndr_print_netr_USER_KEY16(ndr, "ntpassword", &r->ntpassword);
2081 ndr_print_netr_PasswordHistory(ndr, "history", &r->history);
2082 ndr->depth--;
2085 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)
2087 if (ndr_flags & NDR_SCALARS) {
2088 NDR_CHECK(ndr_push_align(ndr, 4));
2089 NDR_CHECK(ndr_push_netr_USER_KEYS2(ndr, NDR_SCALARS, &r->keys2));
2091 if (ndr_flags & NDR_BUFFERS) {
2093 return NDR_ERR_SUCCESS;
2096 static enum ndr_err_code ndr_pull_netr_USER_KEY_UNION(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_KEY_UNION *r)
2098 if (ndr_flags & NDR_SCALARS) {
2099 NDR_CHECK(ndr_pull_align(ndr, 4));
2100 NDR_CHECK(ndr_pull_netr_USER_KEYS2(ndr, NDR_SCALARS, &r->keys2));
2102 if (ndr_flags & NDR_BUFFERS) {
2104 return NDR_ERR_SUCCESS;
2107 _PUBLIC_ void ndr_print_netr_USER_KEY_UNION(struct ndr_print *ndr, const char *name, const struct netr_USER_KEY_UNION *r)
2109 ndr_print_struct(ndr, name, "netr_USER_KEY_UNION");
2110 ndr->depth++;
2111 ndr_print_netr_USER_KEYS2(ndr, "keys2", &r->keys2);
2112 ndr->depth--;
2115 _PUBLIC_ enum ndr_err_code ndr_push_netr_USER_KEYS(struct ndr_push *ndr, int ndr_flags, const struct netr_USER_KEYS *r)
2117 if (ndr_flags & NDR_SCALARS) {
2118 NDR_CHECK(ndr_push_align(ndr, 4));
2119 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
2120 NDR_CHECK(ndr_push_netr_USER_KEY_UNION(ndr, NDR_SCALARS, &r->keys));
2122 if (ndr_flags & NDR_BUFFERS) {
2124 return NDR_ERR_SUCCESS;
2127 _PUBLIC_ enum ndr_err_code ndr_pull_netr_USER_KEYS(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_KEYS *r)
2129 if (ndr_flags & NDR_SCALARS) {
2130 NDR_CHECK(ndr_pull_align(ndr, 4));
2131 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
2132 NDR_CHECK(ndr_pull_netr_USER_KEY_UNION(ndr, NDR_SCALARS, &r->keys));
2134 if (ndr_flags & NDR_BUFFERS) {
2136 return NDR_ERR_SUCCESS;
2139 _PUBLIC_ void ndr_print_netr_USER_KEYS(struct ndr_print *ndr, const char *name, const struct netr_USER_KEYS *r)
2141 ndr_print_struct(ndr, name, "netr_USER_KEYS");
2142 ndr->depth++;
2143 ndr_print_uint32(ndr, "version", r->version);
2144 ndr_print_netr_USER_KEY_UNION(ndr, "keys", &r->keys);
2145 ndr->depth--;
2148 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)
2150 if (ndr_flags & NDR_SCALARS) {
2151 NDR_CHECK(ndr_push_align(ndr, 4));
2152 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->SensitiveDataFlag));
2153 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->DataLength));
2155 uint32_t _flags_save_uint8 = ndr->flags;
2156 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2157 NDR_CHECK(ndr_push_unique_ptr(ndr, r->SensitiveData));
2158 ndr->flags = _flags_save_uint8;
2161 if (ndr_flags & NDR_BUFFERS) {
2163 uint32_t _flags_save_uint8 = ndr->flags;
2164 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2165 if (r->SensitiveData) {
2166 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->DataLength));
2167 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->SensitiveData, r->DataLength));
2169 ndr->flags = _flags_save_uint8;
2172 return NDR_ERR_SUCCESS;
2175 static enum ndr_err_code ndr_pull_netr_USER_PRIVATE_INFO(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_PRIVATE_INFO *r)
2177 uint32_t _ptr_SensitiveData;
2178 TALLOC_CTX *_mem_save_SensitiveData_0;
2179 if (ndr_flags & NDR_SCALARS) {
2180 NDR_CHECK(ndr_pull_align(ndr, 4));
2181 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->SensitiveDataFlag));
2182 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->DataLength));
2184 uint32_t _flags_save_uint8 = ndr->flags;
2185 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2186 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_SensitiveData));
2187 if (_ptr_SensitiveData) {
2188 NDR_PULL_ALLOC(ndr, r->SensitiveData);
2189 } else {
2190 r->SensitiveData = NULL;
2192 ndr->flags = _flags_save_uint8;
2195 if (ndr_flags & NDR_BUFFERS) {
2197 uint32_t _flags_save_uint8 = ndr->flags;
2198 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2199 if (r->SensitiveData) {
2200 _mem_save_SensitiveData_0 = NDR_PULL_GET_MEM_CTX(ndr);
2201 NDR_PULL_SET_MEM_CTX(ndr, r->SensitiveData, 0);
2202 NDR_CHECK(ndr_pull_array_size(ndr, &r->SensitiveData));
2203 NDR_PULL_ALLOC_N(ndr, r->SensitiveData, ndr_get_array_size(ndr, &r->SensitiveData));
2204 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->SensitiveData, ndr_get_array_size(ndr, &r->SensitiveData)));
2205 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_SensitiveData_0, 0);
2207 ndr->flags = _flags_save_uint8;
2209 if (r->SensitiveData) {
2210 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->SensitiveData, r->DataLength));
2213 return NDR_ERR_SUCCESS;
2216 _PUBLIC_ void ndr_print_netr_USER_PRIVATE_INFO(struct ndr_print *ndr, const char *name, const struct netr_USER_PRIVATE_INFO *r)
2218 ndr_print_struct(ndr, name, "netr_USER_PRIVATE_INFO");
2219 ndr->depth++;
2220 ndr_print_uint8(ndr, "SensitiveDataFlag", r->SensitiveDataFlag);
2221 ndr_print_uint32(ndr, "DataLength", r->DataLength);
2222 ndr_print_ptr(ndr, "SensitiveData", r->SensitiveData);
2223 ndr->depth++;
2224 if (r->SensitiveData) {
2225 ndr_print_array_uint8(ndr, "SensitiveData", r->SensitiveData, r->DataLength);
2227 ndr->depth--;
2228 ndr->depth--;
2231 static enum ndr_err_code ndr_push_netr_DELTA_USER(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_USER *r)
2233 if (ndr_flags & NDR_SCALARS) {
2234 NDR_CHECK(ndr_push_align(ndr, 4));
2235 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2236 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2237 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
2238 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid));
2239 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
2240 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
2241 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
2242 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
2243 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->workstations));
2244 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logon));
2245 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logoff));
2246 NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
2247 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->bad_password_count));
2248 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count));
2249 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_password_change));
2250 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->acct_expiry));
2251 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
2252 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->lmpassword));
2253 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->ntpassword));
2254 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->nt_password_present));
2255 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->lm_password_present));
2256 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->password_expired));
2257 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->comment));
2258 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_SCALARS, &r->parameters));
2259 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->country_code));
2260 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->code_page));
2261 NDR_CHECK(ndr_push_netr_USER_PRIVATE_INFO(ndr, NDR_SCALARS, &r->user_private_info));
2262 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
2263 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2264 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
2265 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2266 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2267 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2268 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
2269 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
2270 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
2271 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
2273 if (ndr_flags & NDR_BUFFERS) {
2274 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2275 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2276 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
2277 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
2278 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
2279 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
2280 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
2281 NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
2282 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->comment));
2283 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_BUFFERS, &r->parameters));
2284 NDR_CHECK(ndr_push_netr_USER_PRIVATE_INFO(ndr, NDR_BUFFERS, &r->user_private_info));
2285 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2286 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
2287 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2288 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2289 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2291 return NDR_ERR_SUCCESS;
2294 static enum ndr_err_code ndr_pull_netr_DELTA_USER(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_USER *r)
2296 if (ndr_flags & NDR_SCALARS) {
2297 NDR_CHECK(ndr_pull_align(ndr, 4));
2298 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2299 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2300 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
2301 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid));
2302 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
2303 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
2304 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
2305 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
2306 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->workstations));
2307 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logon));
2308 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logoff));
2309 NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
2310 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->bad_password_count));
2311 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count));
2312 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_password_change));
2313 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->acct_expiry));
2314 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
2315 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->lmpassword));
2316 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->ntpassword));
2317 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->nt_password_present));
2318 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->lm_password_present));
2319 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->password_expired));
2320 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->comment));
2321 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_SCALARS, &r->parameters));
2322 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->country_code));
2323 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->code_page));
2324 NDR_CHECK(ndr_pull_netr_USER_PRIVATE_INFO(ndr, NDR_SCALARS, &r->user_private_info));
2325 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
2326 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2327 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
2328 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2329 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2330 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2331 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
2332 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
2333 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
2334 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
2336 if (ndr_flags & NDR_BUFFERS) {
2337 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2338 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2339 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
2340 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
2341 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
2342 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
2343 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
2344 NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
2345 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->comment));
2346 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_BUFFERS, &r->parameters));
2347 NDR_CHECK(ndr_pull_netr_USER_PRIVATE_INFO(ndr, NDR_BUFFERS, &r->user_private_info));
2348 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2349 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
2350 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2351 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2352 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2354 return NDR_ERR_SUCCESS;
2357 _PUBLIC_ void ndr_print_netr_DELTA_USER(struct ndr_print *ndr, const char *name, const struct netr_DELTA_USER *r)
2359 ndr_print_struct(ndr, name, "netr_DELTA_USER");
2360 ndr->depth++;
2361 ndr_print_lsa_String(ndr, "account_name", &r->account_name);
2362 ndr_print_lsa_String(ndr, "full_name", &r->full_name);
2363 ndr_print_uint32(ndr, "rid", r->rid);
2364 ndr_print_uint32(ndr, "primary_gid", r->primary_gid);
2365 ndr_print_lsa_String(ndr, "home_directory", &r->home_directory);
2366 ndr_print_lsa_String(ndr, "home_drive", &r->home_drive);
2367 ndr_print_lsa_String(ndr, "logon_script", &r->logon_script);
2368 ndr_print_lsa_String(ndr, "description", &r->description);
2369 ndr_print_lsa_String(ndr, "workstations", &r->workstations);
2370 ndr_print_NTTIME(ndr, "last_logon", r->last_logon);
2371 ndr_print_NTTIME(ndr, "last_logoff", r->last_logoff);
2372 ndr_print_samr_LogonHours(ndr, "logon_hours", &r->logon_hours);
2373 ndr_print_uint16(ndr, "bad_password_count", r->bad_password_count);
2374 ndr_print_uint16(ndr, "logon_count", r->logon_count);
2375 ndr_print_NTTIME(ndr, "last_password_change", r->last_password_change);
2376 ndr_print_NTTIME(ndr, "acct_expiry", r->acct_expiry);
2377 ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
2378 ndr_print_samr_Password(ndr, "lmpassword", &r->lmpassword);
2379 ndr_print_samr_Password(ndr, "ntpassword", &r->ntpassword);
2380 ndr_print_uint8(ndr, "nt_password_present", r->nt_password_present);
2381 ndr_print_uint8(ndr, "lm_password_present", r->lm_password_present);
2382 ndr_print_uint8(ndr, "password_expired", r->password_expired);
2383 ndr_print_lsa_String(ndr, "comment", &r->comment);
2384 ndr_print_lsa_BinaryString(ndr, "parameters", &r->parameters);
2385 ndr_print_uint16(ndr, "country_code", r->country_code);
2386 ndr_print_uint16(ndr, "code_page", r->code_page);
2387 ndr_print_netr_USER_PRIVATE_INFO(ndr, "user_private_info", &r->user_private_info);
2388 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
2389 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
2390 ndr_print_lsa_String(ndr, "profile_path", &r->profile_path);
2391 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
2392 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
2393 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
2394 ndr_print_uint32(ndr, "unknown5", r->unknown5);
2395 ndr_print_uint32(ndr, "unknown6", r->unknown6);
2396 ndr_print_uint32(ndr, "unknown7", r->unknown7);
2397 ndr_print_uint32(ndr, "unknown8", r->unknown8);
2398 ndr->depth--;
2401 static enum ndr_err_code ndr_push_netr_DELTA_DOMAIN(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_DOMAIN *r)
2403 if (ndr_flags & NDR_SCALARS) {
2404 NDR_CHECK(ndr_push_align(ndr, 4));
2405 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
2406 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->comment));
2407 NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->force_logoff_time));
2408 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->min_password_length));
2409 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->password_history_length));
2410 NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->max_password_age));
2411 NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->min_password_age));
2412 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->sequence_num));
2413 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->domain_create_time));
2414 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
2415 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2416 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_SCALARS, &r->account_lockout));
2417 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2418 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2419 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2420 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logon_to_chgpass));
2421 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
2422 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
2423 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
2425 if (ndr_flags & NDR_BUFFERS) {
2426 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
2427 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->comment));
2428 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2429 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_BUFFERS, &r->account_lockout));
2430 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2431 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2432 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2434 return NDR_ERR_SUCCESS;
2437 static enum ndr_err_code ndr_pull_netr_DELTA_DOMAIN(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_DOMAIN *r)
2439 if (ndr_flags & NDR_SCALARS) {
2440 NDR_CHECK(ndr_pull_align(ndr, 4));
2441 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
2442 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->comment));
2443 NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->force_logoff_time));
2444 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->min_password_length));
2445 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->password_history_length));
2446 NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->max_password_age));
2447 NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->min_password_age));
2448 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->sequence_num));
2449 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->domain_create_time));
2450 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
2451 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2452 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_SCALARS, &r->account_lockout));
2453 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2454 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2455 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2456 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logon_to_chgpass));
2457 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
2458 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
2459 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
2461 if (ndr_flags & NDR_BUFFERS) {
2462 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
2463 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->comment));
2464 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2465 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_BUFFERS, &r->account_lockout));
2466 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2467 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2468 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2470 return NDR_ERR_SUCCESS;
2473 _PUBLIC_ void ndr_print_netr_DELTA_DOMAIN(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DOMAIN *r)
2475 ndr_print_struct(ndr, name, "netr_DELTA_DOMAIN");
2476 ndr->depth++;
2477 ndr_print_lsa_String(ndr, "domain_name", &r->domain_name);
2478 ndr_print_lsa_String(ndr, "comment", &r->comment);
2479 ndr_print_dlong(ndr, "force_logoff_time", r->force_logoff_time);
2480 ndr_print_uint16(ndr, "min_password_length", r->min_password_length);
2481 ndr_print_uint16(ndr, "password_history_length", r->password_history_length);
2482 ndr_print_dlong(ndr, "max_password_age", r->max_password_age);
2483 ndr_print_dlong(ndr, "min_password_age", r->min_password_age);
2484 ndr_print_udlong(ndr, "sequence_num", r->sequence_num);
2485 ndr_print_NTTIME(ndr, "domain_create_time", r->domain_create_time);
2486 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
2487 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
2488 ndr_print_lsa_BinaryString(ndr, "account_lockout", &r->account_lockout);
2489 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
2490 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
2491 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
2492 ndr_print_uint32(ndr, "logon_to_chgpass", r->logon_to_chgpass);
2493 ndr_print_uint32(ndr, "unknown6", r->unknown6);
2494 ndr_print_uint32(ndr, "unknown7", r->unknown7);
2495 ndr_print_uint32(ndr, "unknown8", r->unknown8);
2496 ndr->depth--;
2499 static enum ndr_err_code ndr_push_netr_DELTA_GROUP(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_GROUP *r)
2501 if (ndr_flags & NDR_SCALARS) {
2502 NDR_CHECK(ndr_push_align(ndr, 4));
2503 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->group_name));
2504 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
2505 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->attributes));
2506 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
2507 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
2508 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2509 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2510 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2511 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2512 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2513 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
2514 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
2515 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
2516 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
2518 if (ndr_flags & NDR_BUFFERS) {
2519 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->group_name));
2520 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
2521 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2522 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
2523 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2524 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2525 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2527 return NDR_ERR_SUCCESS;
2530 static enum ndr_err_code ndr_pull_netr_DELTA_GROUP(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_GROUP *r)
2532 if (ndr_flags & NDR_SCALARS) {
2533 NDR_CHECK(ndr_pull_align(ndr, 4));
2534 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->group_name));
2535 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
2536 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->attributes));
2537 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
2538 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
2539 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2540 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2541 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2542 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2543 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2544 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
2545 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
2546 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
2547 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
2549 if (ndr_flags & NDR_BUFFERS) {
2550 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->group_name));
2551 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
2552 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2553 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
2554 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2555 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2556 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2558 return NDR_ERR_SUCCESS;
2561 _PUBLIC_ void ndr_print_netr_DELTA_GROUP(struct ndr_print *ndr, const char *name, const struct netr_DELTA_GROUP *r)
2563 ndr_print_struct(ndr, name, "netr_DELTA_GROUP");
2564 ndr->depth++;
2565 ndr_print_lsa_String(ndr, "group_name", &r->group_name);
2566 ndr_print_uint32(ndr, "rid", r->rid);
2567 ndr_print_uint32(ndr, "attributes", r->attributes);
2568 ndr_print_lsa_String(ndr, "description", &r->description);
2569 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
2570 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
2571 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
2572 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
2573 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
2574 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
2575 ndr_print_uint32(ndr, "unknown5", r->unknown5);
2576 ndr_print_uint32(ndr, "unknown6", r->unknown6);
2577 ndr_print_uint32(ndr, "unknown7", r->unknown7);
2578 ndr_print_uint32(ndr, "unknown8", r->unknown8);
2579 ndr->depth--;
2582 static enum ndr_err_code ndr_push_netr_DELTA_RENAME(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_RENAME *r)
2584 if (ndr_flags & NDR_SCALARS) {
2585 NDR_CHECK(ndr_push_align(ndr, 4));
2586 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->OldName));
2587 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->NewName));
2588 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2589 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2590 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2591 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2592 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
2593 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
2594 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
2595 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
2597 if (ndr_flags & NDR_BUFFERS) {
2598 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->OldName));
2599 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->NewName));
2600 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
2601 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2602 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2603 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2605 return NDR_ERR_SUCCESS;
2608 static enum ndr_err_code ndr_pull_netr_DELTA_RENAME(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_RENAME *r)
2610 if (ndr_flags & NDR_SCALARS) {
2611 NDR_CHECK(ndr_pull_align(ndr, 4));
2612 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->OldName));
2613 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->NewName));
2614 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2615 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2616 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2617 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2618 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
2619 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
2620 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
2621 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
2623 if (ndr_flags & NDR_BUFFERS) {
2624 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->OldName));
2625 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->NewName));
2626 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
2627 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2628 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2629 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2631 return NDR_ERR_SUCCESS;
2634 _PUBLIC_ void ndr_print_netr_DELTA_RENAME(struct ndr_print *ndr, const char *name, const struct netr_DELTA_RENAME *r)
2636 ndr_print_struct(ndr, name, "netr_DELTA_RENAME");
2637 ndr->depth++;
2638 ndr_print_lsa_String(ndr, "OldName", &r->OldName);
2639 ndr_print_lsa_String(ndr, "NewName", &r->NewName);
2640 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
2641 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
2642 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
2643 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
2644 ndr_print_uint32(ndr, "unknown5", r->unknown5);
2645 ndr_print_uint32(ndr, "unknown6", r->unknown6);
2646 ndr_print_uint32(ndr, "unknown7", r->unknown7);
2647 ndr_print_uint32(ndr, "unknown8", r->unknown8);
2648 ndr->depth--;
2651 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)
2653 uint32_t cntr_rids_1;
2654 uint32_t cntr_attribs_1;
2655 if (ndr_flags & NDR_SCALARS) {
2656 NDR_CHECK(ndr_push_align(ndr, 4));
2657 NDR_CHECK(ndr_push_unique_ptr(ndr, r->rids));
2658 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribs));
2659 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_rids));
2660 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
2661 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
2662 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown3));
2663 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4));
2665 if (ndr_flags & NDR_BUFFERS) {
2666 if (r->rids) {
2667 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_rids));
2668 for (cntr_rids_1 = 0; cntr_rids_1 < r->num_rids; cntr_rids_1++) {
2669 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rids[cntr_rids_1]));
2672 if (r->attribs) {
2673 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_rids));
2674 for (cntr_attribs_1 = 0; cntr_attribs_1 < r->num_rids; cntr_attribs_1++) {
2675 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->attribs[cntr_attribs_1]));
2679 return NDR_ERR_SUCCESS;
2682 static enum ndr_err_code ndr_pull_netr_DELTA_GROUP_MEMBER(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_GROUP_MEMBER *r)
2684 uint32_t _ptr_rids;
2685 uint32_t cntr_rids_1;
2686 TALLOC_CTX *_mem_save_rids_0;
2687 TALLOC_CTX *_mem_save_rids_1;
2688 uint32_t _ptr_attribs;
2689 uint32_t cntr_attribs_1;
2690 TALLOC_CTX *_mem_save_attribs_0;
2691 TALLOC_CTX *_mem_save_attribs_1;
2692 if (ndr_flags & NDR_SCALARS) {
2693 NDR_CHECK(ndr_pull_align(ndr, 4));
2694 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rids));
2695 if (_ptr_rids) {
2696 NDR_PULL_ALLOC(ndr, r->rids);
2697 } else {
2698 r->rids = NULL;
2700 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribs));
2701 if (_ptr_attribs) {
2702 NDR_PULL_ALLOC(ndr, r->attribs);
2703 } else {
2704 r->attribs = NULL;
2706 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_rids));
2707 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
2708 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
2709 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown3));
2710 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4));
2712 if (ndr_flags & NDR_BUFFERS) {
2713 if (r->rids) {
2714 _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
2715 NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0);
2716 NDR_CHECK(ndr_pull_array_size(ndr, &r->rids));
2717 NDR_PULL_ALLOC_N(ndr, r->rids, ndr_get_array_size(ndr, &r->rids));
2718 _mem_save_rids_1 = NDR_PULL_GET_MEM_CTX(ndr);
2719 NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0);
2720 for (cntr_rids_1 = 0; cntr_rids_1 < r->num_rids; cntr_rids_1++) {
2721 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rids[cntr_rids_1]));
2723 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_1, 0);
2724 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, 0);
2726 if (r->attribs) {
2727 _mem_save_attribs_0 = NDR_PULL_GET_MEM_CTX(ndr);
2728 NDR_PULL_SET_MEM_CTX(ndr, r->attribs, 0);
2729 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribs));
2730 NDR_PULL_ALLOC_N(ndr, r->attribs, ndr_get_array_size(ndr, &r->attribs));
2731 _mem_save_attribs_1 = NDR_PULL_GET_MEM_CTX(ndr);
2732 NDR_PULL_SET_MEM_CTX(ndr, r->attribs, 0);
2733 for (cntr_attribs_1 = 0; cntr_attribs_1 < r->num_rids; cntr_attribs_1++) {
2734 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->attribs[cntr_attribs_1]));
2736 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribs_1, 0);
2737 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribs_0, 0);
2739 if (r->rids) {
2740 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->rids, r->num_rids));
2742 if (r->attribs) {
2743 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->attribs, r->num_rids));
2746 return NDR_ERR_SUCCESS;
2749 _PUBLIC_ void ndr_print_netr_DELTA_GROUP_MEMBER(struct ndr_print *ndr, const char *name, const struct netr_DELTA_GROUP_MEMBER *r)
2751 uint32_t cntr_rids_1;
2752 uint32_t cntr_attribs_1;
2753 ndr_print_struct(ndr, name, "netr_DELTA_GROUP_MEMBER");
2754 ndr->depth++;
2755 ndr_print_ptr(ndr, "rids", r->rids);
2756 ndr->depth++;
2757 if (r->rids) {
2758 ndr->print(ndr, "%s: ARRAY(%d)", "rids", (int)r->num_rids);
2759 ndr->depth++;
2760 for (cntr_rids_1=0;cntr_rids_1<r->num_rids;cntr_rids_1++) {
2761 char *idx_1=NULL;
2762 if (asprintf(&idx_1, "[%d]", cntr_rids_1) != -1) {
2763 ndr_print_uint32(ndr, "rids", r->rids[cntr_rids_1]);
2764 free(idx_1);
2767 ndr->depth--;
2769 ndr->depth--;
2770 ndr_print_ptr(ndr, "attribs", r->attribs);
2771 ndr->depth++;
2772 if (r->attribs) {
2773 ndr->print(ndr, "%s: ARRAY(%d)", "attribs", (int)r->num_rids);
2774 ndr->depth++;
2775 for (cntr_attribs_1=0;cntr_attribs_1<r->num_rids;cntr_attribs_1++) {
2776 char *idx_1=NULL;
2777 if (asprintf(&idx_1, "[%d]", cntr_attribs_1) != -1) {
2778 ndr_print_uint32(ndr, "attribs", r->attribs[cntr_attribs_1]);
2779 free(idx_1);
2782 ndr->depth--;
2784 ndr->depth--;
2785 ndr_print_uint32(ndr, "num_rids", r->num_rids);
2786 ndr_print_uint32(ndr, "unknown1", r->unknown1);
2787 ndr_print_uint32(ndr, "unknown2", r->unknown2);
2788 ndr_print_uint32(ndr, "unknown3", r->unknown3);
2789 ndr_print_uint32(ndr, "unknown4", r->unknown4);
2790 ndr->depth--;
2793 static enum ndr_err_code ndr_push_netr_DELTA_ALIAS(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_ALIAS *r)
2795 if (ndr_flags & NDR_SCALARS) {
2796 NDR_CHECK(ndr_push_align(ndr, 4));
2797 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->alias_name));
2798 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
2799 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
2800 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2801 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
2802 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2803 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2804 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2805 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
2806 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
2807 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
2808 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
2810 if (ndr_flags & NDR_BUFFERS) {
2811 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->alias_name));
2812 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2813 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
2814 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2815 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2816 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2818 return NDR_ERR_SUCCESS;
2821 static enum ndr_err_code ndr_pull_netr_DELTA_ALIAS(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ALIAS *r)
2823 if (ndr_flags & NDR_SCALARS) {
2824 NDR_CHECK(ndr_pull_align(ndr, 4));
2825 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->alias_name));
2826 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
2827 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
2828 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2829 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
2830 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2831 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2832 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2833 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
2834 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
2835 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
2836 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
2838 if (ndr_flags & NDR_BUFFERS) {
2839 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->alias_name));
2840 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2841 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
2842 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2843 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2844 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2846 return NDR_ERR_SUCCESS;
2849 _PUBLIC_ void ndr_print_netr_DELTA_ALIAS(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ALIAS *r)
2851 ndr_print_struct(ndr, name, "netr_DELTA_ALIAS");
2852 ndr->depth++;
2853 ndr_print_lsa_String(ndr, "alias_name", &r->alias_name);
2854 ndr_print_uint32(ndr, "rid", r->rid);
2855 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
2856 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
2857 ndr_print_lsa_String(ndr, "description", &r->description);
2858 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
2859 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
2860 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
2861 ndr_print_uint32(ndr, "unknown5", r->unknown5);
2862 ndr_print_uint32(ndr, "unknown6", r->unknown6);
2863 ndr_print_uint32(ndr, "unknown7", r->unknown7);
2864 ndr_print_uint32(ndr, "unknown8", r->unknown8);
2865 ndr->depth--;
2868 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)
2870 if (ndr_flags & NDR_SCALARS) {
2871 NDR_CHECK(ndr_push_align(ndr, 4));
2872 NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_SCALARS, &r->sids));
2873 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
2874 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
2875 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown3));
2876 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4));
2878 if (ndr_flags & NDR_BUFFERS) {
2879 NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_BUFFERS, &r->sids));
2881 return NDR_ERR_SUCCESS;
2884 static enum ndr_err_code ndr_pull_netr_DELTA_ALIAS_MEMBER(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ALIAS_MEMBER *r)
2886 if (ndr_flags & NDR_SCALARS) {
2887 NDR_CHECK(ndr_pull_align(ndr, 4));
2888 NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_SCALARS, &r->sids));
2889 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
2890 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
2891 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown3));
2892 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4));
2894 if (ndr_flags & NDR_BUFFERS) {
2895 NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_BUFFERS, &r->sids));
2897 return NDR_ERR_SUCCESS;
2900 _PUBLIC_ void ndr_print_netr_DELTA_ALIAS_MEMBER(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ALIAS_MEMBER *r)
2902 ndr_print_struct(ndr, name, "netr_DELTA_ALIAS_MEMBER");
2903 ndr->depth++;
2904 ndr_print_lsa_SidArray(ndr, "sids", &r->sids);
2905 ndr_print_uint32(ndr, "unknown1", r->unknown1);
2906 ndr_print_uint32(ndr, "unknown2", r->unknown2);
2907 ndr_print_uint32(ndr, "unknown3", r->unknown3);
2908 ndr_print_uint32(ndr, "unknown4", r->unknown4);
2909 ndr->depth--;
2912 static enum ndr_err_code ndr_push_netr_QUOTA_LIMITS(struct ndr_push *ndr, int ndr_flags, const struct netr_QUOTA_LIMITS *r)
2914 if (ndr_flags & NDR_SCALARS) {
2915 NDR_CHECK(ndr_push_align(ndr, 4));
2916 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pagedpoollimit));
2917 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nonpagedpoollimit));
2918 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->minimumworkingsetsize));
2919 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maximumworkingsetsize));
2920 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pagefilelimit));
2921 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->timelimit));
2923 if (ndr_flags & NDR_BUFFERS) {
2925 return NDR_ERR_SUCCESS;
2928 static enum ndr_err_code ndr_pull_netr_QUOTA_LIMITS(struct ndr_pull *ndr, int ndr_flags, struct netr_QUOTA_LIMITS *r)
2930 if (ndr_flags & NDR_SCALARS) {
2931 NDR_CHECK(ndr_pull_align(ndr, 4));
2932 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pagedpoollimit));
2933 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nonpagedpoollimit));
2934 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->minimumworkingsetsize));
2935 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maximumworkingsetsize));
2936 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pagefilelimit));
2937 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->timelimit));
2939 if (ndr_flags & NDR_BUFFERS) {
2941 return NDR_ERR_SUCCESS;
2944 _PUBLIC_ void ndr_print_netr_QUOTA_LIMITS(struct ndr_print *ndr, const char *name, const struct netr_QUOTA_LIMITS *r)
2946 ndr_print_struct(ndr, name, "netr_QUOTA_LIMITS");
2947 ndr->depth++;
2948 ndr_print_uint32(ndr, "pagedpoollimit", r->pagedpoollimit);
2949 ndr_print_uint32(ndr, "nonpagedpoollimit", r->nonpagedpoollimit);
2950 ndr_print_uint32(ndr, "minimumworkingsetsize", r->minimumworkingsetsize);
2951 ndr_print_uint32(ndr, "maximumworkingsetsize", r->maximumworkingsetsize);
2952 ndr_print_uint32(ndr, "pagefilelimit", r->pagefilelimit);
2953 ndr_print_NTTIME(ndr, "timelimit", r->timelimit);
2954 ndr->depth--;
2957 static enum ndr_err_code ndr_push_netr_DELTA_POLICY(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_POLICY *r)
2959 uint32_t cntr_eventauditoptions_1;
2960 if (ndr_flags & NDR_SCALARS) {
2961 NDR_CHECK(ndr_push_align(ndr, 4));
2962 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxlogsize));
2963 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->auditretentionperiod));
2964 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->auditingmode));
2965 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxauditeventcount));
2966 NDR_CHECK(ndr_push_unique_ptr(ndr, r->eventauditoptions));
2967 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->primary_domain_name));
2968 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
2969 NDR_CHECK(ndr_push_netr_QUOTA_LIMITS(ndr, NDR_SCALARS, &r->quota_limits));
2970 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->sequence_num));
2971 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->db_create_time));
2972 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
2973 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2974 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2975 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2976 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2977 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2978 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
2979 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
2980 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
2981 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
2983 if (ndr_flags & NDR_BUFFERS) {
2984 if (r->eventauditoptions) {
2985 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxauditeventcount + 1));
2986 for (cntr_eventauditoptions_1 = 0; cntr_eventauditoptions_1 < r->maxauditeventcount + 1; cntr_eventauditoptions_1++) {
2987 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->eventauditoptions[cntr_eventauditoptions_1]));
2990 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->primary_domain_name));
2991 if (r->sid) {
2992 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
2994 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2995 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
2996 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2997 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2998 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3000 return NDR_ERR_SUCCESS;
3003 static enum ndr_err_code ndr_pull_netr_DELTA_POLICY(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_POLICY *r)
3005 uint32_t _ptr_eventauditoptions;
3006 uint32_t cntr_eventauditoptions_1;
3007 TALLOC_CTX *_mem_save_eventauditoptions_0;
3008 TALLOC_CTX *_mem_save_eventauditoptions_1;
3009 uint32_t _ptr_sid;
3010 TALLOC_CTX *_mem_save_sid_0;
3011 if (ndr_flags & NDR_SCALARS) {
3012 NDR_CHECK(ndr_pull_align(ndr, 4));
3013 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxlogsize));
3014 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->auditretentionperiod));
3015 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->auditingmode));
3016 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxauditeventcount));
3017 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_eventauditoptions));
3018 if (_ptr_eventauditoptions) {
3019 NDR_PULL_ALLOC(ndr, r->eventauditoptions);
3020 } else {
3021 r->eventauditoptions = NULL;
3023 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->primary_domain_name));
3024 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
3025 if (_ptr_sid) {
3026 NDR_PULL_ALLOC(ndr, r->sid);
3027 } else {
3028 r->sid = NULL;
3030 NDR_CHECK(ndr_pull_netr_QUOTA_LIMITS(ndr, NDR_SCALARS, &r->quota_limits));
3031 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->sequence_num));
3032 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->db_create_time));
3033 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
3034 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3035 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3036 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3037 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3038 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3039 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
3040 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
3041 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
3042 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
3044 if (ndr_flags & NDR_BUFFERS) {
3045 if (r->eventauditoptions) {
3046 _mem_save_eventauditoptions_0 = NDR_PULL_GET_MEM_CTX(ndr);
3047 NDR_PULL_SET_MEM_CTX(ndr, r->eventauditoptions, 0);
3048 NDR_CHECK(ndr_pull_array_size(ndr, &r->eventauditoptions));
3049 NDR_PULL_ALLOC_N(ndr, r->eventauditoptions, ndr_get_array_size(ndr, &r->eventauditoptions));
3050 _mem_save_eventauditoptions_1 = NDR_PULL_GET_MEM_CTX(ndr);
3051 NDR_PULL_SET_MEM_CTX(ndr, r->eventauditoptions, 0);
3052 for (cntr_eventauditoptions_1 = 0; cntr_eventauditoptions_1 < r->maxauditeventcount + 1; cntr_eventauditoptions_1++) {
3053 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->eventauditoptions[cntr_eventauditoptions_1]));
3055 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_eventauditoptions_1, 0);
3056 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_eventauditoptions_0, 0);
3058 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->primary_domain_name));
3059 if (r->sid) {
3060 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
3061 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
3062 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
3063 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
3065 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3066 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3067 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3068 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3069 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3070 if (r->eventauditoptions) {
3071 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->eventauditoptions, r->maxauditeventcount + 1));
3074 return NDR_ERR_SUCCESS;
3077 _PUBLIC_ void ndr_print_netr_DELTA_POLICY(struct ndr_print *ndr, const char *name, const struct netr_DELTA_POLICY *r)
3079 uint32_t cntr_eventauditoptions_1;
3080 ndr_print_struct(ndr, name, "netr_DELTA_POLICY");
3081 ndr->depth++;
3082 ndr_print_uint32(ndr, "maxlogsize", r->maxlogsize);
3083 ndr_print_NTTIME(ndr, "auditretentionperiod", r->auditretentionperiod);
3084 ndr_print_uint8(ndr, "auditingmode", r->auditingmode);
3085 ndr_print_uint32(ndr, "maxauditeventcount", r->maxauditeventcount);
3086 ndr_print_ptr(ndr, "eventauditoptions", r->eventauditoptions);
3087 ndr->depth++;
3088 if (r->eventauditoptions) {
3089 ndr->print(ndr, "%s: ARRAY(%d)", "eventauditoptions", (int)r->maxauditeventcount + 1);
3090 ndr->depth++;
3091 for (cntr_eventauditoptions_1=0;cntr_eventauditoptions_1<r->maxauditeventcount + 1;cntr_eventauditoptions_1++) {
3092 char *idx_1=NULL;
3093 if (asprintf(&idx_1, "[%d]", cntr_eventauditoptions_1) != -1) {
3094 ndr_print_uint32(ndr, "eventauditoptions", r->eventauditoptions[cntr_eventauditoptions_1]);
3095 free(idx_1);
3098 ndr->depth--;
3100 ndr->depth--;
3101 ndr_print_lsa_String(ndr, "primary_domain_name", &r->primary_domain_name);
3102 ndr_print_ptr(ndr, "sid", r->sid);
3103 ndr->depth++;
3104 if (r->sid) {
3105 ndr_print_dom_sid2(ndr, "sid", r->sid);
3107 ndr->depth--;
3108 ndr_print_netr_QUOTA_LIMITS(ndr, "quota_limits", &r->quota_limits);
3109 ndr_print_udlong(ndr, "sequence_num", r->sequence_num);
3110 ndr_print_NTTIME(ndr, "db_create_time", r->db_create_time);
3111 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
3112 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
3113 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
3114 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
3115 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
3116 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
3117 ndr_print_uint32(ndr, "unknown5", r->unknown5);
3118 ndr_print_uint32(ndr, "unknown6", r->unknown6);
3119 ndr_print_uint32(ndr, "unknown7", r->unknown7);
3120 ndr_print_uint32(ndr, "unknown8", r->unknown8);
3121 ndr->depth--;
3124 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)
3126 uint32_t cntr_controller_names_1;
3127 if (ndr_flags & NDR_SCALARS) {
3128 NDR_CHECK(ndr_push_align(ndr, 4));
3129 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
3130 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_controllers));
3131 NDR_CHECK(ndr_push_unique_ptr(ndr, r->controller_names));
3132 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
3133 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3134 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3135 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3136 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3137 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3138 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->posix_offset));
3139 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
3140 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
3141 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
3143 if (ndr_flags & NDR_BUFFERS) {
3144 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
3145 if (r->controller_names) {
3146 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_controllers));
3147 for (cntr_controller_names_1 = 0; cntr_controller_names_1 < r->num_controllers; cntr_controller_names_1++) {
3148 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->controller_names[cntr_controller_names_1]));
3150 for (cntr_controller_names_1 = 0; cntr_controller_names_1 < r->num_controllers; cntr_controller_names_1++) {
3151 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->controller_names[cntr_controller_names_1]));
3154 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3155 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3156 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3157 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3158 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3160 return NDR_ERR_SUCCESS;
3163 static enum ndr_err_code ndr_pull_netr_DELTA_TRUSTED_DOMAIN(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_TRUSTED_DOMAIN *r)
3165 uint32_t _ptr_controller_names;
3166 uint32_t cntr_controller_names_1;
3167 TALLOC_CTX *_mem_save_controller_names_0;
3168 TALLOC_CTX *_mem_save_controller_names_1;
3169 if (ndr_flags & NDR_SCALARS) {
3170 NDR_CHECK(ndr_pull_align(ndr, 4));
3171 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
3172 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_controllers));
3173 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_controller_names));
3174 if (_ptr_controller_names) {
3175 NDR_PULL_ALLOC(ndr, r->controller_names);
3176 } else {
3177 r->controller_names = NULL;
3179 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
3180 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3181 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3182 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3183 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3184 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3185 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->posix_offset));
3186 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
3187 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
3188 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
3190 if (ndr_flags & NDR_BUFFERS) {
3191 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
3192 if (r->controller_names) {
3193 _mem_save_controller_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
3194 NDR_PULL_SET_MEM_CTX(ndr, r->controller_names, 0);
3195 NDR_CHECK(ndr_pull_array_size(ndr, &r->controller_names));
3196 NDR_PULL_ALLOC_N(ndr, r->controller_names, ndr_get_array_size(ndr, &r->controller_names));
3197 _mem_save_controller_names_1 = NDR_PULL_GET_MEM_CTX(ndr);
3198 NDR_PULL_SET_MEM_CTX(ndr, r->controller_names, 0);
3199 for (cntr_controller_names_1 = 0; cntr_controller_names_1 < r->num_controllers; cntr_controller_names_1++) {
3200 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->controller_names[cntr_controller_names_1]));
3202 for (cntr_controller_names_1 = 0; cntr_controller_names_1 < r->num_controllers; cntr_controller_names_1++) {
3203 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->controller_names[cntr_controller_names_1]));
3205 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_controller_names_1, 0);
3206 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_controller_names_0, 0);
3208 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3209 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3210 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3211 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3212 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3213 if (r->controller_names) {
3214 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->controller_names, r->num_controllers));
3217 return NDR_ERR_SUCCESS;
3220 _PUBLIC_ void ndr_print_netr_DELTA_TRUSTED_DOMAIN(struct ndr_print *ndr, const char *name, const struct netr_DELTA_TRUSTED_DOMAIN *r)
3222 uint32_t cntr_controller_names_1;
3223 ndr_print_struct(ndr, name, "netr_DELTA_TRUSTED_DOMAIN");
3224 ndr->depth++;
3225 ndr_print_lsa_String(ndr, "domain_name", &r->domain_name);
3226 ndr_print_uint32(ndr, "num_controllers", r->num_controllers);
3227 ndr_print_ptr(ndr, "controller_names", r->controller_names);
3228 ndr->depth++;
3229 if (r->controller_names) {
3230 ndr->print(ndr, "%s: ARRAY(%d)", "controller_names", (int)r->num_controllers);
3231 ndr->depth++;
3232 for (cntr_controller_names_1=0;cntr_controller_names_1<r->num_controllers;cntr_controller_names_1++) {
3233 char *idx_1=NULL;
3234 if (asprintf(&idx_1, "[%d]", cntr_controller_names_1) != -1) {
3235 ndr_print_lsa_String(ndr, "controller_names", &r->controller_names[cntr_controller_names_1]);
3236 free(idx_1);
3239 ndr->depth--;
3241 ndr->depth--;
3242 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
3243 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
3244 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
3245 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
3246 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
3247 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
3248 ndr_print_uint32(ndr, "posix_offset", r->posix_offset);
3249 ndr_print_uint32(ndr, "unknown6", r->unknown6);
3250 ndr_print_uint32(ndr, "unknown7", r->unknown7);
3251 ndr_print_uint32(ndr, "unknown8", r->unknown8);
3252 ndr->depth--;
3255 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)
3257 if (ndr_flags & NDR_SCALARS) {
3258 NDR_CHECK(ndr_push_align(ndr, 2));
3259 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->unknown));
3261 if (ndr_flags & NDR_BUFFERS) {
3263 return NDR_ERR_SUCCESS;
3266 static enum ndr_err_code ndr_pull_netr_DELTA_DELETE_TRUST(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_DELETE_TRUST *r)
3268 if (ndr_flags & NDR_SCALARS) {
3269 NDR_CHECK(ndr_pull_align(ndr, 2));
3270 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->unknown));
3272 if (ndr_flags & NDR_BUFFERS) {
3274 return NDR_ERR_SUCCESS;
3277 _PUBLIC_ void ndr_print_netr_DELTA_DELETE_TRUST(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DELETE_TRUST *r)
3279 ndr_print_struct(ndr, name, "netr_DELTA_DELETE_TRUST");
3280 ndr->depth++;
3281 ndr_print_uint16(ndr, "unknown", r->unknown);
3282 ndr->depth--;
3285 static enum ndr_err_code ndr_push_netr_DELTA_ACCOUNT(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_ACCOUNT *r)
3287 uint32_t cntr_privilege_attrib_1;
3288 uint32_t cntr_privilege_name_1;
3289 if (ndr_flags & NDR_SCALARS) {
3290 NDR_CHECK(ndr_push_align(ndr, 4));
3291 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->privilege_entries));
3292 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->privilege_control));
3293 NDR_CHECK(ndr_push_unique_ptr(ndr, r->privilege_attrib));
3294 NDR_CHECK(ndr_push_unique_ptr(ndr, r->privilege_name));
3295 NDR_CHECK(ndr_push_netr_QUOTA_LIMITS(ndr, NDR_SCALARS, &r->quotalimits));
3296 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->system_flags));
3297 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
3298 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3299 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3300 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3301 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3302 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3303 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
3304 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
3305 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
3306 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
3308 if (ndr_flags & NDR_BUFFERS) {
3309 if (r->privilege_attrib) {
3310 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->privilege_entries));
3311 for (cntr_privilege_attrib_1 = 0; cntr_privilege_attrib_1 < r->privilege_entries; cntr_privilege_attrib_1++) {
3312 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->privilege_attrib[cntr_privilege_attrib_1]));
3315 if (r->privilege_name) {
3316 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->privilege_entries));
3317 for (cntr_privilege_name_1 = 0; cntr_privilege_name_1 < r->privilege_entries; cntr_privilege_name_1++) {
3318 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->privilege_name[cntr_privilege_name_1]));
3320 for (cntr_privilege_name_1 = 0; cntr_privilege_name_1 < r->privilege_entries; cntr_privilege_name_1++) {
3321 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->privilege_name[cntr_privilege_name_1]));
3324 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3325 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3326 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3327 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3328 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3330 return NDR_ERR_SUCCESS;
3333 static enum ndr_err_code ndr_pull_netr_DELTA_ACCOUNT(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ACCOUNT *r)
3335 uint32_t _ptr_privilege_attrib;
3336 uint32_t cntr_privilege_attrib_1;
3337 TALLOC_CTX *_mem_save_privilege_attrib_0;
3338 TALLOC_CTX *_mem_save_privilege_attrib_1;
3339 uint32_t _ptr_privilege_name;
3340 uint32_t cntr_privilege_name_1;
3341 TALLOC_CTX *_mem_save_privilege_name_0;
3342 TALLOC_CTX *_mem_save_privilege_name_1;
3343 if (ndr_flags & NDR_SCALARS) {
3344 NDR_CHECK(ndr_pull_align(ndr, 4));
3345 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->privilege_entries));
3346 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->privilege_control));
3347 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_privilege_attrib));
3348 if (_ptr_privilege_attrib) {
3349 NDR_PULL_ALLOC(ndr, r->privilege_attrib);
3350 } else {
3351 r->privilege_attrib = NULL;
3353 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_privilege_name));
3354 if (_ptr_privilege_name) {
3355 NDR_PULL_ALLOC(ndr, r->privilege_name);
3356 } else {
3357 r->privilege_name = NULL;
3359 NDR_CHECK(ndr_pull_netr_QUOTA_LIMITS(ndr, NDR_SCALARS, &r->quotalimits));
3360 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->system_flags));
3361 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
3362 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3363 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3364 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3365 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3366 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3367 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
3368 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
3369 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
3370 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
3372 if (ndr_flags & NDR_BUFFERS) {
3373 if (r->privilege_attrib) {
3374 _mem_save_privilege_attrib_0 = NDR_PULL_GET_MEM_CTX(ndr);
3375 NDR_PULL_SET_MEM_CTX(ndr, r->privilege_attrib, 0);
3376 NDR_CHECK(ndr_pull_array_size(ndr, &r->privilege_attrib));
3377 NDR_PULL_ALLOC_N(ndr, r->privilege_attrib, ndr_get_array_size(ndr, &r->privilege_attrib));
3378 _mem_save_privilege_attrib_1 = NDR_PULL_GET_MEM_CTX(ndr);
3379 NDR_PULL_SET_MEM_CTX(ndr, r->privilege_attrib, 0);
3380 for (cntr_privilege_attrib_1 = 0; cntr_privilege_attrib_1 < r->privilege_entries; cntr_privilege_attrib_1++) {
3381 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->privilege_attrib[cntr_privilege_attrib_1]));
3383 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privilege_attrib_1, 0);
3384 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privilege_attrib_0, 0);
3386 if (r->privilege_name) {
3387 _mem_save_privilege_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
3388 NDR_PULL_SET_MEM_CTX(ndr, r->privilege_name, 0);
3389 NDR_CHECK(ndr_pull_array_size(ndr, &r->privilege_name));
3390 NDR_PULL_ALLOC_N(ndr, r->privilege_name, ndr_get_array_size(ndr, &r->privilege_name));
3391 _mem_save_privilege_name_1 = NDR_PULL_GET_MEM_CTX(ndr);
3392 NDR_PULL_SET_MEM_CTX(ndr, r->privilege_name, 0);
3393 for (cntr_privilege_name_1 = 0; cntr_privilege_name_1 < r->privilege_entries; cntr_privilege_name_1++) {
3394 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->privilege_name[cntr_privilege_name_1]));
3396 for (cntr_privilege_name_1 = 0; cntr_privilege_name_1 < r->privilege_entries; cntr_privilege_name_1++) {
3397 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->privilege_name[cntr_privilege_name_1]));
3399 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privilege_name_1, 0);
3400 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privilege_name_0, 0);
3402 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3403 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3404 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3405 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3406 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3407 if (r->privilege_attrib) {
3408 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->privilege_attrib, r->privilege_entries));
3410 if (r->privilege_name) {
3411 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->privilege_name, r->privilege_entries));
3414 return NDR_ERR_SUCCESS;
3417 _PUBLIC_ void ndr_print_netr_DELTA_ACCOUNT(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ACCOUNT *r)
3419 uint32_t cntr_privilege_attrib_1;
3420 uint32_t cntr_privilege_name_1;
3421 ndr_print_struct(ndr, name, "netr_DELTA_ACCOUNT");
3422 ndr->depth++;
3423 ndr_print_uint32(ndr, "privilege_entries", r->privilege_entries);
3424 ndr_print_uint32(ndr, "privilege_control", r->privilege_control);
3425 ndr_print_ptr(ndr, "privilege_attrib", r->privilege_attrib);
3426 ndr->depth++;
3427 if (r->privilege_attrib) {
3428 ndr->print(ndr, "%s: ARRAY(%d)", "privilege_attrib", (int)r->privilege_entries);
3429 ndr->depth++;
3430 for (cntr_privilege_attrib_1=0;cntr_privilege_attrib_1<r->privilege_entries;cntr_privilege_attrib_1++) {
3431 char *idx_1=NULL;
3432 if (asprintf(&idx_1, "[%d]", cntr_privilege_attrib_1) != -1) {
3433 ndr_print_uint32(ndr, "privilege_attrib", r->privilege_attrib[cntr_privilege_attrib_1]);
3434 free(idx_1);
3437 ndr->depth--;
3439 ndr->depth--;
3440 ndr_print_ptr(ndr, "privilege_name", r->privilege_name);
3441 ndr->depth++;
3442 if (r->privilege_name) {
3443 ndr->print(ndr, "%s: ARRAY(%d)", "privilege_name", (int)r->privilege_entries);
3444 ndr->depth++;
3445 for (cntr_privilege_name_1=0;cntr_privilege_name_1<r->privilege_entries;cntr_privilege_name_1++) {
3446 char *idx_1=NULL;
3447 if (asprintf(&idx_1, "[%d]", cntr_privilege_name_1) != -1) {
3448 ndr_print_lsa_String(ndr, "privilege_name", &r->privilege_name[cntr_privilege_name_1]);
3449 free(idx_1);
3452 ndr->depth--;
3454 ndr->depth--;
3455 ndr_print_netr_QUOTA_LIMITS(ndr, "quotalimits", &r->quotalimits);
3456 ndr_print_uint32(ndr, "system_flags", r->system_flags);
3457 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
3458 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
3459 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
3460 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
3461 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
3462 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
3463 ndr_print_uint32(ndr, "unknown5", r->unknown5);
3464 ndr_print_uint32(ndr, "unknown6", r->unknown6);
3465 ndr_print_uint32(ndr, "unknown7", r->unknown7);
3466 ndr_print_uint32(ndr, "unknown8", r->unknown8);
3467 ndr->depth--;
3470 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)
3472 if (ndr_flags & NDR_SCALARS) {
3473 NDR_CHECK(ndr_push_align(ndr, 2));
3474 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->unknown));
3476 if (ndr_flags & NDR_BUFFERS) {
3478 return NDR_ERR_SUCCESS;
3481 static enum ndr_err_code ndr_pull_netr_DELTA_DELETE_ACCOUNT(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_DELETE_ACCOUNT *r)
3483 if (ndr_flags & NDR_SCALARS) {
3484 NDR_CHECK(ndr_pull_align(ndr, 2));
3485 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->unknown));
3487 if (ndr_flags & NDR_BUFFERS) {
3489 return NDR_ERR_SUCCESS;
3492 _PUBLIC_ void ndr_print_netr_DELTA_DELETE_ACCOUNT(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DELETE_ACCOUNT *r)
3494 ndr_print_struct(ndr, name, "netr_DELTA_DELETE_ACCOUNT");
3495 ndr->depth++;
3496 ndr_print_uint16(ndr, "unknown", r->unknown);
3497 ndr->depth--;
3500 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)
3502 if (ndr_flags & NDR_SCALARS) {
3503 NDR_CHECK(ndr_push_align(ndr, 2));
3504 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->unknown));
3506 if (ndr_flags & NDR_BUFFERS) {
3508 return NDR_ERR_SUCCESS;
3511 static enum ndr_err_code ndr_pull_netr_DELTA_DELETE_SECRET(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_DELETE_SECRET *r)
3513 if (ndr_flags & NDR_SCALARS) {
3514 NDR_CHECK(ndr_pull_align(ndr, 2));
3515 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->unknown));
3517 if (ndr_flags & NDR_BUFFERS) {
3519 return NDR_ERR_SUCCESS;
3522 _PUBLIC_ void ndr_print_netr_DELTA_DELETE_SECRET(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DELETE_SECRET *r)
3524 ndr_print_struct(ndr, name, "netr_DELTA_DELETE_SECRET");
3525 ndr->depth++;
3526 ndr_print_uint16(ndr, "unknown", r->unknown);
3527 ndr->depth--;
3530 static enum ndr_err_code ndr_push_netr_CIPHER_VALUE(struct ndr_push *ndr, int ndr_flags, const struct netr_CIPHER_VALUE *r)
3532 if (ndr_flags & NDR_SCALARS) {
3533 NDR_CHECK(ndr_push_align(ndr, 4));
3534 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->len));
3535 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxlen));
3536 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cipher_data));
3538 if (ndr_flags & NDR_BUFFERS) {
3539 if (r->cipher_data) {
3540 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxlen));
3541 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
3542 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->len));
3543 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->cipher_data, r->len));
3546 return NDR_ERR_SUCCESS;
3549 static enum ndr_err_code ndr_pull_netr_CIPHER_VALUE(struct ndr_pull *ndr, int ndr_flags, struct netr_CIPHER_VALUE *r)
3551 uint32_t _ptr_cipher_data;
3552 TALLOC_CTX *_mem_save_cipher_data_0;
3553 if (ndr_flags & NDR_SCALARS) {
3554 NDR_CHECK(ndr_pull_align(ndr, 4));
3555 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->len));
3556 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxlen));
3557 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cipher_data));
3558 if (_ptr_cipher_data) {
3559 NDR_PULL_ALLOC(ndr, r->cipher_data);
3560 } else {
3561 r->cipher_data = NULL;
3564 if (ndr_flags & NDR_BUFFERS) {
3565 if (r->cipher_data) {
3566 _mem_save_cipher_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
3567 NDR_PULL_SET_MEM_CTX(ndr, r->cipher_data, 0);
3568 NDR_CHECK(ndr_pull_array_size(ndr, &r->cipher_data));
3569 NDR_CHECK(ndr_pull_array_length(ndr, &r->cipher_data));
3570 if (ndr_get_array_length(ndr, &r->cipher_data) > ndr_get_array_size(ndr, &r->cipher_data)) {
3571 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));
3573 NDR_PULL_ALLOC_N(ndr, r->cipher_data, ndr_get_array_size(ndr, &r->cipher_data));
3574 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->cipher_data, ndr_get_array_length(ndr, &r->cipher_data)));
3575 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cipher_data_0, 0);
3577 if (r->cipher_data) {
3578 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->cipher_data, r->maxlen));
3580 if (r->cipher_data) {
3581 NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->cipher_data, r->len));
3584 return NDR_ERR_SUCCESS;
3587 _PUBLIC_ void ndr_print_netr_CIPHER_VALUE(struct ndr_print *ndr, const char *name, const struct netr_CIPHER_VALUE *r)
3589 ndr_print_struct(ndr, name, "netr_CIPHER_VALUE");
3590 ndr->depth++;
3591 ndr_print_uint32(ndr, "len", r->len);
3592 ndr_print_uint32(ndr, "maxlen", r->maxlen);
3593 ndr_print_ptr(ndr, "cipher_data", r->cipher_data);
3594 ndr->depth++;
3595 if (r->cipher_data) {
3596 ndr_print_array_uint8(ndr, "cipher_data", r->cipher_data, r->len);
3598 ndr->depth--;
3599 ndr->depth--;
3602 static enum ndr_err_code ndr_push_netr_DELTA_SECRET(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_SECRET *r)
3604 if (ndr_flags & NDR_SCALARS) {
3605 NDR_CHECK(ndr_push_align(ndr, 4));
3606 NDR_CHECK(ndr_push_netr_CIPHER_VALUE(ndr, NDR_SCALARS, &r->current_cipher));
3607 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->current_cipher_set_time));
3608 NDR_CHECK(ndr_push_netr_CIPHER_VALUE(ndr, NDR_SCALARS, &r->old_cipher));
3609 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->old_cipher_set_time));
3610 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
3611 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3612 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3613 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3614 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3615 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3616 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
3617 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
3618 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
3619 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
3621 if (ndr_flags & NDR_BUFFERS) {
3622 NDR_CHECK(ndr_push_netr_CIPHER_VALUE(ndr, NDR_BUFFERS, &r->current_cipher));
3623 NDR_CHECK(ndr_push_netr_CIPHER_VALUE(ndr, NDR_BUFFERS, &r->old_cipher));
3624 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3625 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3626 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3627 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3628 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3630 return NDR_ERR_SUCCESS;
3633 static enum ndr_err_code ndr_pull_netr_DELTA_SECRET(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_SECRET *r)
3635 if (ndr_flags & NDR_SCALARS) {
3636 NDR_CHECK(ndr_pull_align(ndr, 4));
3637 NDR_CHECK(ndr_pull_netr_CIPHER_VALUE(ndr, NDR_SCALARS, &r->current_cipher));
3638 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->current_cipher_set_time));
3639 NDR_CHECK(ndr_pull_netr_CIPHER_VALUE(ndr, NDR_SCALARS, &r->old_cipher));
3640 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->old_cipher_set_time));
3641 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
3642 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3643 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3644 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3645 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3646 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3647 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
3648 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
3649 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
3650 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
3652 if (ndr_flags & NDR_BUFFERS) {
3653 NDR_CHECK(ndr_pull_netr_CIPHER_VALUE(ndr, NDR_BUFFERS, &r->current_cipher));
3654 NDR_CHECK(ndr_pull_netr_CIPHER_VALUE(ndr, NDR_BUFFERS, &r->old_cipher));
3655 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3656 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3657 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3658 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3659 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3661 return NDR_ERR_SUCCESS;
3664 _PUBLIC_ void ndr_print_netr_DELTA_SECRET(struct ndr_print *ndr, const char *name, const struct netr_DELTA_SECRET *r)
3666 ndr_print_struct(ndr, name, "netr_DELTA_SECRET");
3667 ndr->depth++;
3668 ndr_print_netr_CIPHER_VALUE(ndr, "current_cipher", &r->current_cipher);
3669 ndr_print_NTTIME(ndr, "current_cipher_set_time", r->current_cipher_set_time);
3670 ndr_print_netr_CIPHER_VALUE(ndr, "old_cipher", &r->old_cipher);
3671 ndr_print_NTTIME(ndr, "old_cipher_set_time", r->old_cipher_set_time);
3672 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
3673 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
3674 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
3675 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
3676 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
3677 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
3678 ndr_print_uint32(ndr, "unknown5", r->unknown5);
3679 ndr_print_uint32(ndr, "unknown6", r->unknown6);
3680 ndr_print_uint32(ndr, "unknown7", r->unknown7);
3681 ndr_print_uint32(ndr, "unknown8", r->unknown8);
3682 ndr->depth--;
3685 static enum ndr_err_code ndr_push_netr_DeltaEnum(struct ndr_push *ndr, int ndr_flags, enum netr_DeltaEnum r)
3687 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
3688 return NDR_ERR_SUCCESS;
3691 static enum ndr_err_code ndr_pull_netr_DeltaEnum(struct ndr_pull *ndr, int ndr_flags, enum netr_DeltaEnum *r)
3693 uint16_t v;
3694 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
3695 *r = v;
3696 return NDR_ERR_SUCCESS;
3699 _PUBLIC_ void ndr_print_netr_DeltaEnum(struct ndr_print *ndr, const char *name, enum netr_DeltaEnum r)
3701 const char *val = NULL;
3703 switch (r) {
3704 case NETR_DELTA_DOMAIN: val = "NETR_DELTA_DOMAIN"; break;
3705 case NETR_DELTA_GROUP: val = "NETR_DELTA_GROUP"; break;
3706 case NETR_DELTA_DELETE_GROUP: val = "NETR_DELTA_DELETE_GROUP"; break;
3707 case NETR_DELTA_RENAME_GROUP: val = "NETR_DELTA_RENAME_GROUP"; break;
3708 case NETR_DELTA_USER: val = "NETR_DELTA_USER"; break;
3709 case NETR_DELTA_DELETE_USER: val = "NETR_DELTA_DELETE_USER"; break;
3710 case NETR_DELTA_RENAME_USER: val = "NETR_DELTA_RENAME_USER"; break;
3711 case NETR_DELTA_GROUP_MEMBER: val = "NETR_DELTA_GROUP_MEMBER"; break;
3712 case NETR_DELTA_ALIAS: val = "NETR_DELTA_ALIAS"; break;
3713 case NETR_DELTA_DELETE_ALIAS: val = "NETR_DELTA_DELETE_ALIAS"; break;
3714 case NETR_DELTA_RENAME_ALIAS: val = "NETR_DELTA_RENAME_ALIAS"; break;
3715 case NETR_DELTA_ALIAS_MEMBER: val = "NETR_DELTA_ALIAS_MEMBER"; break;
3716 case NETR_DELTA_POLICY: val = "NETR_DELTA_POLICY"; break;
3717 case NETR_DELTA_TRUSTED_DOMAIN: val = "NETR_DELTA_TRUSTED_DOMAIN"; break;
3718 case NETR_DELTA_DELETE_TRUST: val = "NETR_DELTA_DELETE_TRUST"; break;
3719 case NETR_DELTA_ACCOUNT: val = "NETR_DELTA_ACCOUNT"; break;
3720 case NETR_DELTA_DELETE_ACCOUNT: val = "NETR_DELTA_DELETE_ACCOUNT"; break;
3721 case NETR_DELTA_SECRET: val = "NETR_DELTA_SECRET"; break;
3722 case NETR_DELTA_DELETE_SECRET: val = "NETR_DELTA_DELETE_SECRET"; break;
3723 case NETR_DELTA_DELETE_GROUP2: val = "NETR_DELTA_DELETE_GROUP2"; break;
3724 case NETR_DELTA_DELETE_USER2: val = "NETR_DELTA_DELETE_USER2"; break;
3725 case NETR_DELTA_MODIFY_COUNT: val = "NETR_DELTA_MODIFY_COUNT"; break;
3727 ndr_print_enum(ndr, name, "ENUM", val, r);
3730 static enum ndr_err_code ndr_push_netr_DELTA_UNION(struct ndr_push *ndr, int ndr_flags, const union netr_DELTA_UNION *r)
3732 if (ndr_flags & NDR_SCALARS) {
3733 int level = ndr_push_get_switch_value(ndr, r);
3734 NDR_CHECK(ndr_push_netr_DeltaEnum(ndr, NDR_SCALARS, level));
3735 switch (level) {
3736 case NETR_DELTA_DOMAIN: {
3737 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
3738 break; }
3740 case NETR_DELTA_GROUP: {
3741 NDR_CHECK(ndr_push_unique_ptr(ndr, r->group));
3742 break; }
3744 case NETR_DELTA_DELETE_GROUP: {
3745 break; }
3747 case NETR_DELTA_RENAME_GROUP: {
3748 NDR_CHECK(ndr_push_unique_ptr(ndr, r->rename_group));
3749 break; }
3751 case NETR_DELTA_USER: {
3752 NDR_CHECK(ndr_push_unique_ptr(ndr, r->user));
3753 break; }
3755 case NETR_DELTA_DELETE_USER: {
3756 break; }
3758 case NETR_DELTA_RENAME_USER: {
3759 NDR_CHECK(ndr_push_unique_ptr(ndr, r->rename_user));
3760 break; }
3762 case NETR_DELTA_GROUP_MEMBER: {
3763 NDR_CHECK(ndr_push_unique_ptr(ndr, r->group_member));
3764 break; }
3766 case NETR_DELTA_ALIAS: {
3767 NDR_CHECK(ndr_push_unique_ptr(ndr, r->alias));
3768 break; }
3770 case NETR_DELTA_DELETE_ALIAS: {
3771 break; }
3773 case NETR_DELTA_RENAME_ALIAS: {
3774 NDR_CHECK(ndr_push_unique_ptr(ndr, r->rename_alias));
3775 break; }
3777 case NETR_DELTA_ALIAS_MEMBER: {
3778 NDR_CHECK(ndr_push_unique_ptr(ndr, r->alias_member));
3779 break; }
3781 case NETR_DELTA_POLICY: {
3782 NDR_CHECK(ndr_push_unique_ptr(ndr, r->policy));
3783 break; }
3785 case NETR_DELTA_TRUSTED_DOMAIN: {
3786 NDR_CHECK(ndr_push_unique_ptr(ndr, r->trusted_domain));
3787 break; }
3789 case NETR_DELTA_DELETE_TRUST: {
3790 NDR_CHECK(ndr_push_netr_DELTA_DELETE_TRUST(ndr, NDR_SCALARS, &r->delete_trust));
3791 break; }
3793 case NETR_DELTA_ACCOUNT: {
3794 NDR_CHECK(ndr_push_unique_ptr(ndr, r->account));
3795 break; }
3797 case NETR_DELTA_DELETE_ACCOUNT: {
3798 NDR_CHECK(ndr_push_netr_DELTA_DELETE_ACCOUNT(ndr, NDR_SCALARS, &r->delete_account));
3799 break; }
3801 case NETR_DELTA_SECRET: {
3802 NDR_CHECK(ndr_push_unique_ptr(ndr, r->secret));
3803 break; }
3805 case NETR_DELTA_DELETE_SECRET: {
3806 NDR_CHECK(ndr_push_netr_DELTA_DELETE_SECRET(ndr, NDR_SCALARS, &r->delete_secret));
3807 break; }
3809 case NETR_DELTA_DELETE_GROUP2: {
3810 NDR_CHECK(ndr_push_unique_ptr(ndr, r->delete_group));
3811 break; }
3813 case NETR_DELTA_DELETE_USER2: {
3814 NDR_CHECK(ndr_push_unique_ptr(ndr, r->delete_user));
3815 break; }
3817 case NETR_DELTA_MODIFY_COUNT: {
3818 NDR_CHECK(ndr_push_unique_ptr(ndr, r->modified_count));
3819 break; }
3821 default:
3822 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
3825 if (ndr_flags & NDR_BUFFERS) {
3826 int level = ndr_push_get_switch_value(ndr, r);
3827 switch (level) {
3828 case NETR_DELTA_DOMAIN:
3829 if (r->domain) {
3830 NDR_CHECK(ndr_push_netr_DELTA_DOMAIN(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain));
3832 break;
3834 case NETR_DELTA_GROUP:
3835 if (r->group) {
3836 NDR_CHECK(ndr_push_netr_DELTA_GROUP(ndr, NDR_SCALARS|NDR_BUFFERS, r->group));
3838 break;
3840 case NETR_DELTA_DELETE_GROUP:
3841 break;
3843 case NETR_DELTA_RENAME_GROUP:
3844 if (r->rename_group) {
3845 NDR_CHECK(ndr_push_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_group));
3847 break;
3849 case NETR_DELTA_USER:
3850 if (r->user) {
3851 NDR_CHECK(ndr_push_netr_DELTA_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->user));
3853 break;
3855 case NETR_DELTA_DELETE_USER:
3856 break;
3858 case NETR_DELTA_RENAME_USER:
3859 if (r->rename_user) {
3860 NDR_CHECK(ndr_push_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_user));
3862 break;
3864 case NETR_DELTA_GROUP_MEMBER:
3865 if (r->group_member) {
3866 NDR_CHECK(ndr_push_netr_DELTA_GROUP_MEMBER(ndr, NDR_SCALARS|NDR_BUFFERS, r->group_member));
3868 break;
3870 case NETR_DELTA_ALIAS:
3871 if (r->alias) {
3872 NDR_CHECK(ndr_push_netr_DELTA_ALIAS(ndr, NDR_SCALARS|NDR_BUFFERS, r->alias));
3874 break;
3876 case NETR_DELTA_DELETE_ALIAS:
3877 break;
3879 case NETR_DELTA_RENAME_ALIAS:
3880 if (r->rename_alias) {
3881 NDR_CHECK(ndr_push_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_alias));
3883 break;
3885 case NETR_DELTA_ALIAS_MEMBER:
3886 if (r->alias_member) {
3887 NDR_CHECK(ndr_push_netr_DELTA_ALIAS_MEMBER(ndr, NDR_SCALARS|NDR_BUFFERS, r->alias_member));
3889 break;
3891 case NETR_DELTA_POLICY:
3892 if (r->policy) {
3893 NDR_CHECK(ndr_push_netr_DELTA_POLICY(ndr, NDR_SCALARS|NDR_BUFFERS, r->policy));
3895 break;
3897 case NETR_DELTA_TRUSTED_DOMAIN:
3898 if (r->trusted_domain) {
3899 NDR_CHECK(ndr_push_netr_DELTA_TRUSTED_DOMAIN(ndr, NDR_SCALARS|NDR_BUFFERS, r->trusted_domain));
3901 break;
3903 case NETR_DELTA_DELETE_TRUST:
3904 break;
3906 case NETR_DELTA_ACCOUNT:
3907 if (r->account) {
3908 NDR_CHECK(ndr_push_netr_DELTA_ACCOUNT(ndr, NDR_SCALARS|NDR_BUFFERS, r->account));
3910 break;
3912 case NETR_DELTA_DELETE_ACCOUNT:
3913 break;
3915 case NETR_DELTA_SECRET:
3916 if (r->secret) {
3917 NDR_CHECK(ndr_push_netr_DELTA_SECRET(ndr, NDR_SCALARS|NDR_BUFFERS, r->secret));
3919 break;
3921 case NETR_DELTA_DELETE_SECRET:
3922 break;
3924 case NETR_DELTA_DELETE_GROUP2:
3925 if (r->delete_group) {
3926 NDR_CHECK(ndr_push_netr_DELTA_DELETE_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->delete_group));
3928 break;
3930 case NETR_DELTA_DELETE_USER2:
3931 if (r->delete_user) {
3932 NDR_CHECK(ndr_push_netr_DELTA_DELETE_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->delete_user));
3934 break;
3936 case NETR_DELTA_MODIFY_COUNT:
3937 if (r->modified_count) {
3938 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, *r->modified_count));
3940 break;
3942 default:
3943 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
3946 return NDR_ERR_SUCCESS;
3949 static enum ndr_err_code ndr_pull_netr_DELTA_UNION(struct ndr_pull *ndr, int ndr_flags, union netr_DELTA_UNION *r)
3951 int level;
3952 uint16_t _level;
3953 TALLOC_CTX *_mem_save_domain_0;
3954 TALLOC_CTX *_mem_save_group_0;
3955 TALLOC_CTX *_mem_save_rename_group_0;
3956 TALLOC_CTX *_mem_save_user_0;
3957 TALLOC_CTX *_mem_save_rename_user_0;
3958 TALLOC_CTX *_mem_save_group_member_0;
3959 TALLOC_CTX *_mem_save_alias_0;
3960 TALLOC_CTX *_mem_save_rename_alias_0;
3961 TALLOC_CTX *_mem_save_alias_member_0;
3962 TALLOC_CTX *_mem_save_policy_0;
3963 TALLOC_CTX *_mem_save_trusted_domain_0;
3964 TALLOC_CTX *_mem_save_account_0;
3965 TALLOC_CTX *_mem_save_secret_0;
3966 TALLOC_CTX *_mem_save_delete_group_0;
3967 TALLOC_CTX *_mem_save_delete_user_0;
3968 TALLOC_CTX *_mem_save_modified_count_0;
3969 level = ndr_pull_get_switch_value(ndr, r);
3970 if (ndr_flags & NDR_SCALARS) {
3971 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
3972 if (_level != level) {
3973 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
3975 switch (level) {
3976 case NETR_DELTA_DOMAIN: {
3977 uint32_t _ptr_domain;
3978 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
3979 if (_ptr_domain) {
3980 NDR_PULL_ALLOC(ndr, r->domain);
3981 } else {
3982 r->domain = NULL;
3984 break; }
3986 case NETR_DELTA_GROUP: {
3987 uint32_t _ptr_group;
3988 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_group));
3989 if (_ptr_group) {
3990 NDR_PULL_ALLOC(ndr, r->group);
3991 } else {
3992 r->group = NULL;
3994 break; }
3996 case NETR_DELTA_DELETE_GROUP: {
3997 break; }
3999 case NETR_DELTA_RENAME_GROUP: {
4000 uint32_t _ptr_rename_group;
4001 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rename_group));
4002 if (_ptr_rename_group) {
4003 NDR_PULL_ALLOC(ndr, r->rename_group);
4004 } else {
4005 r->rename_group = NULL;
4007 break; }
4009 case NETR_DELTA_USER: {
4010 uint32_t _ptr_user;
4011 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user));
4012 if (_ptr_user) {
4013 NDR_PULL_ALLOC(ndr, r->user);
4014 } else {
4015 r->user = NULL;
4017 break; }
4019 case NETR_DELTA_DELETE_USER: {
4020 break; }
4022 case NETR_DELTA_RENAME_USER: {
4023 uint32_t _ptr_rename_user;
4024 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rename_user));
4025 if (_ptr_rename_user) {
4026 NDR_PULL_ALLOC(ndr, r->rename_user);
4027 } else {
4028 r->rename_user = NULL;
4030 break; }
4032 case NETR_DELTA_GROUP_MEMBER: {
4033 uint32_t _ptr_group_member;
4034 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_group_member));
4035 if (_ptr_group_member) {
4036 NDR_PULL_ALLOC(ndr, r->group_member);
4037 } else {
4038 r->group_member = NULL;
4040 break; }
4042 case NETR_DELTA_ALIAS: {
4043 uint32_t _ptr_alias;
4044 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_alias));
4045 if (_ptr_alias) {
4046 NDR_PULL_ALLOC(ndr, r->alias);
4047 } else {
4048 r->alias = NULL;
4050 break; }
4052 case NETR_DELTA_DELETE_ALIAS: {
4053 break; }
4055 case NETR_DELTA_RENAME_ALIAS: {
4056 uint32_t _ptr_rename_alias;
4057 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rename_alias));
4058 if (_ptr_rename_alias) {
4059 NDR_PULL_ALLOC(ndr, r->rename_alias);
4060 } else {
4061 r->rename_alias = NULL;
4063 break; }
4065 case NETR_DELTA_ALIAS_MEMBER: {
4066 uint32_t _ptr_alias_member;
4067 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_alias_member));
4068 if (_ptr_alias_member) {
4069 NDR_PULL_ALLOC(ndr, r->alias_member);
4070 } else {
4071 r->alias_member = NULL;
4073 break; }
4075 case NETR_DELTA_POLICY: {
4076 uint32_t _ptr_policy;
4077 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_policy));
4078 if (_ptr_policy) {
4079 NDR_PULL_ALLOC(ndr, r->policy);
4080 } else {
4081 r->policy = NULL;
4083 break; }
4085 case NETR_DELTA_TRUSTED_DOMAIN: {
4086 uint32_t _ptr_trusted_domain;
4087 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_domain));
4088 if (_ptr_trusted_domain) {
4089 NDR_PULL_ALLOC(ndr, r->trusted_domain);
4090 } else {
4091 r->trusted_domain = NULL;
4093 break; }
4095 case NETR_DELTA_DELETE_TRUST: {
4096 NDR_CHECK(ndr_pull_netr_DELTA_DELETE_TRUST(ndr, NDR_SCALARS, &r->delete_trust));
4097 break; }
4099 case NETR_DELTA_ACCOUNT: {
4100 uint32_t _ptr_account;
4101 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_account));
4102 if (_ptr_account) {
4103 NDR_PULL_ALLOC(ndr, r->account);
4104 } else {
4105 r->account = NULL;
4107 break; }
4109 case NETR_DELTA_DELETE_ACCOUNT: {
4110 NDR_CHECK(ndr_pull_netr_DELTA_DELETE_ACCOUNT(ndr, NDR_SCALARS, &r->delete_account));
4111 break; }
4113 case NETR_DELTA_SECRET: {
4114 uint32_t _ptr_secret;
4115 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_secret));
4116 if (_ptr_secret) {
4117 NDR_PULL_ALLOC(ndr, r->secret);
4118 } else {
4119 r->secret = NULL;
4121 break; }
4123 case NETR_DELTA_DELETE_SECRET: {
4124 NDR_CHECK(ndr_pull_netr_DELTA_DELETE_SECRET(ndr, NDR_SCALARS, &r->delete_secret));
4125 break; }
4127 case NETR_DELTA_DELETE_GROUP2: {
4128 uint32_t _ptr_delete_group;
4129 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delete_group));
4130 if (_ptr_delete_group) {
4131 NDR_PULL_ALLOC(ndr, r->delete_group);
4132 } else {
4133 r->delete_group = NULL;
4135 break; }
4137 case NETR_DELTA_DELETE_USER2: {
4138 uint32_t _ptr_delete_user;
4139 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delete_user));
4140 if (_ptr_delete_user) {
4141 NDR_PULL_ALLOC(ndr, r->delete_user);
4142 } else {
4143 r->delete_user = NULL;
4145 break; }
4147 case NETR_DELTA_MODIFY_COUNT: {
4148 uint32_t _ptr_modified_count;
4149 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_modified_count));
4150 if (_ptr_modified_count) {
4151 NDR_PULL_ALLOC(ndr, r->modified_count);
4152 } else {
4153 r->modified_count = NULL;
4155 break; }
4157 default:
4158 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4161 if (ndr_flags & NDR_BUFFERS) {
4162 switch (level) {
4163 case NETR_DELTA_DOMAIN:
4164 if (r->domain) {
4165 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
4166 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
4167 NDR_CHECK(ndr_pull_netr_DELTA_DOMAIN(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain));
4168 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
4170 break;
4172 case NETR_DELTA_GROUP:
4173 if (r->group) {
4174 _mem_save_group_0 = NDR_PULL_GET_MEM_CTX(ndr);
4175 NDR_PULL_SET_MEM_CTX(ndr, r->group, 0);
4176 NDR_CHECK(ndr_pull_netr_DELTA_GROUP(ndr, NDR_SCALARS|NDR_BUFFERS, r->group));
4177 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_0, 0);
4179 break;
4181 case NETR_DELTA_DELETE_GROUP:
4182 break;
4184 case NETR_DELTA_RENAME_GROUP:
4185 if (r->rename_group) {
4186 _mem_save_rename_group_0 = NDR_PULL_GET_MEM_CTX(ndr);
4187 NDR_PULL_SET_MEM_CTX(ndr, r->rename_group, 0);
4188 NDR_CHECK(ndr_pull_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_group));
4189 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rename_group_0, 0);
4191 break;
4193 case NETR_DELTA_USER:
4194 if (r->user) {
4195 _mem_save_user_0 = NDR_PULL_GET_MEM_CTX(ndr);
4196 NDR_PULL_SET_MEM_CTX(ndr, r->user, 0);
4197 NDR_CHECK(ndr_pull_netr_DELTA_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->user));
4198 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_0, 0);
4200 break;
4202 case NETR_DELTA_DELETE_USER:
4203 break;
4205 case NETR_DELTA_RENAME_USER:
4206 if (r->rename_user) {
4207 _mem_save_rename_user_0 = NDR_PULL_GET_MEM_CTX(ndr);
4208 NDR_PULL_SET_MEM_CTX(ndr, r->rename_user, 0);
4209 NDR_CHECK(ndr_pull_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_user));
4210 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rename_user_0, 0);
4212 break;
4214 case NETR_DELTA_GROUP_MEMBER:
4215 if (r->group_member) {
4216 _mem_save_group_member_0 = NDR_PULL_GET_MEM_CTX(ndr);
4217 NDR_PULL_SET_MEM_CTX(ndr, r->group_member, 0);
4218 NDR_CHECK(ndr_pull_netr_DELTA_GROUP_MEMBER(ndr, NDR_SCALARS|NDR_BUFFERS, r->group_member));
4219 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_member_0, 0);
4221 break;
4223 case NETR_DELTA_ALIAS:
4224 if (r->alias) {
4225 _mem_save_alias_0 = NDR_PULL_GET_MEM_CTX(ndr);
4226 NDR_PULL_SET_MEM_CTX(ndr, r->alias, 0);
4227 NDR_CHECK(ndr_pull_netr_DELTA_ALIAS(ndr, NDR_SCALARS|NDR_BUFFERS, r->alias));
4228 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_0, 0);
4230 break;
4232 case NETR_DELTA_DELETE_ALIAS:
4233 break;
4235 case NETR_DELTA_RENAME_ALIAS:
4236 if (r->rename_alias) {
4237 _mem_save_rename_alias_0 = NDR_PULL_GET_MEM_CTX(ndr);
4238 NDR_PULL_SET_MEM_CTX(ndr, r->rename_alias, 0);
4239 NDR_CHECK(ndr_pull_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_alias));
4240 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rename_alias_0, 0);
4242 break;
4244 case NETR_DELTA_ALIAS_MEMBER:
4245 if (r->alias_member) {
4246 _mem_save_alias_member_0 = NDR_PULL_GET_MEM_CTX(ndr);
4247 NDR_PULL_SET_MEM_CTX(ndr, r->alias_member, 0);
4248 NDR_CHECK(ndr_pull_netr_DELTA_ALIAS_MEMBER(ndr, NDR_SCALARS|NDR_BUFFERS, r->alias_member));
4249 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_member_0, 0);
4251 break;
4253 case NETR_DELTA_POLICY:
4254 if (r->policy) {
4255 _mem_save_policy_0 = NDR_PULL_GET_MEM_CTX(ndr);
4256 NDR_PULL_SET_MEM_CTX(ndr, r->policy, 0);
4257 NDR_CHECK(ndr_pull_netr_DELTA_POLICY(ndr, NDR_SCALARS|NDR_BUFFERS, r->policy));
4258 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_policy_0, 0);
4260 break;
4262 case NETR_DELTA_TRUSTED_DOMAIN:
4263 if (r->trusted_domain) {
4264 _mem_save_trusted_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
4265 NDR_PULL_SET_MEM_CTX(ndr, r->trusted_domain, 0);
4266 NDR_CHECK(ndr_pull_netr_DELTA_TRUSTED_DOMAIN(ndr, NDR_SCALARS|NDR_BUFFERS, r->trusted_domain));
4267 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domain_0, 0);
4269 break;
4271 case NETR_DELTA_DELETE_TRUST:
4272 break;
4274 case NETR_DELTA_ACCOUNT:
4275 if (r->account) {
4276 _mem_save_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
4277 NDR_PULL_SET_MEM_CTX(ndr, r->account, 0);
4278 NDR_CHECK(ndr_pull_netr_DELTA_ACCOUNT(ndr, NDR_SCALARS|NDR_BUFFERS, r->account));
4279 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_0, 0);
4281 break;
4283 case NETR_DELTA_DELETE_ACCOUNT:
4284 break;
4286 case NETR_DELTA_SECRET:
4287 if (r->secret) {
4288 _mem_save_secret_0 = NDR_PULL_GET_MEM_CTX(ndr);
4289 NDR_PULL_SET_MEM_CTX(ndr, r->secret, 0);
4290 NDR_CHECK(ndr_pull_netr_DELTA_SECRET(ndr, NDR_SCALARS|NDR_BUFFERS, r->secret));
4291 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_secret_0, 0);
4293 break;
4295 case NETR_DELTA_DELETE_SECRET:
4296 break;
4298 case NETR_DELTA_DELETE_GROUP2:
4299 if (r->delete_group) {
4300 _mem_save_delete_group_0 = NDR_PULL_GET_MEM_CTX(ndr);
4301 NDR_PULL_SET_MEM_CTX(ndr, r->delete_group, 0);
4302 NDR_CHECK(ndr_pull_netr_DELTA_DELETE_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->delete_group));
4303 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delete_group_0, 0);
4305 break;
4307 case NETR_DELTA_DELETE_USER2:
4308 if (r->delete_user) {
4309 _mem_save_delete_user_0 = NDR_PULL_GET_MEM_CTX(ndr);
4310 NDR_PULL_SET_MEM_CTX(ndr, r->delete_user, 0);
4311 NDR_CHECK(ndr_pull_netr_DELTA_DELETE_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->delete_user));
4312 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delete_user_0, 0);
4314 break;
4316 case NETR_DELTA_MODIFY_COUNT:
4317 if (r->modified_count) {
4318 _mem_save_modified_count_0 = NDR_PULL_GET_MEM_CTX(ndr);
4319 NDR_PULL_SET_MEM_CTX(ndr, r->modified_count, 0);
4320 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, r->modified_count));
4321 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_modified_count_0, 0);
4323 break;
4325 default:
4326 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4329 return NDR_ERR_SUCCESS;
4332 _PUBLIC_ void ndr_print_netr_DELTA_UNION(struct ndr_print *ndr, const char *name, const union netr_DELTA_UNION *r)
4334 int level;
4335 level = ndr_print_get_switch_value(ndr, r);
4336 ndr_print_union(ndr, name, level, "netr_DELTA_UNION");
4337 switch (level) {
4338 case NETR_DELTA_DOMAIN:
4339 ndr_print_ptr(ndr, "domain", r->domain);
4340 ndr->depth++;
4341 if (r->domain) {
4342 ndr_print_netr_DELTA_DOMAIN(ndr, "domain", r->domain);
4344 ndr->depth--;
4345 break;
4347 case NETR_DELTA_GROUP:
4348 ndr_print_ptr(ndr, "group", r->group);
4349 ndr->depth++;
4350 if (r->group) {
4351 ndr_print_netr_DELTA_GROUP(ndr, "group", r->group);
4353 ndr->depth--;
4354 break;
4356 case NETR_DELTA_DELETE_GROUP:
4357 break;
4359 case NETR_DELTA_RENAME_GROUP:
4360 ndr_print_ptr(ndr, "rename_group", r->rename_group);
4361 ndr->depth++;
4362 if (r->rename_group) {
4363 ndr_print_netr_DELTA_RENAME(ndr, "rename_group", r->rename_group);
4365 ndr->depth--;
4366 break;
4368 case NETR_DELTA_USER:
4369 ndr_print_ptr(ndr, "user", r->user);
4370 ndr->depth++;
4371 if (r->user) {
4372 ndr_print_netr_DELTA_USER(ndr, "user", r->user);
4374 ndr->depth--;
4375 break;
4377 case NETR_DELTA_DELETE_USER:
4378 break;
4380 case NETR_DELTA_RENAME_USER:
4381 ndr_print_ptr(ndr, "rename_user", r->rename_user);
4382 ndr->depth++;
4383 if (r->rename_user) {
4384 ndr_print_netr_DELTA_RENAME(ndr, "rename_user", r->rename_user);
4386 ndr->depth--;
4387 break;
4389 case NETR_DELTA_GROUP_MEMBER:
4390 ndr_print_ptr(ndr, "group_member", r->group_member);
4391 ndr->depth++;
4392 if (r->group_member) {
4393 ndr_print_netr_DELTA_GROUP_MEMBER(ndr, "group_member", r->group_member);
4395 ndr->depth--;
4396 break;
4398 case NETR_DELTA_ALIAS:
4399 ndr_print_ptr(ndr, "alias", r->alias);
4400 ndr->depth++;
4401 if (r->alias) {
4402 ndr_print_netr_DELTA_ALIAS(ndr, "alias", r->alias);
4404 ndr->depth--;
4405 break;
4407 case NETR_DELTA_DELETE_ALIAS:
4408 break;
4410 case NETR_DELTA_RENAME_ALIAS:
4411 ndr_print_ptr(ndr, "rename_alias", r->rename_alias);
4412 ndr->depth++;
4413 if (r->rename_alias) {
4414 ndr_print_netr_DELTA_RENAME(ndr, "rename_alias", r->rename_alias);
4416 ndr->depth--;
4417 break;
4419 case NETR_DELTA_ALIAS_MEMBER:
4420 ndr_print_ptr(ndr, "alias_member", r->alias_member);
4421 ndr->depth++;
4422 if (r->alias_member) {
4423 ndr_print_netr_DELTA_ALIAS_MEMBER(ndr, "alias_member", r->alias_member);
4425 ndr->depth--;
4426 break;
4428 case NETR_DELTA_POLICY:
4429 ndr_print_ptr(ndr, "policy", r->policy);
4430 ndr->depth++;
4431 if (r->policy) {
4432 ndr_print_netr_DELTA_POLICY(ndr, "policy", r->policy);
4434 ndr->depth--;
4435 break;
4437 case NETR_DELTA_TRUSTED_DOMAIN:
4438 ndr_print_ptr(ndr, "trusted_domain", r->trusted_domain);
4439 ndr->depth++;
4440 if (r->trusted_domain) {
4441 ndr_print_netr_DELTA_TRUSTED_DOMAIN(ndr, "trusted_domain", r->trusted_domain);
4443 ndr->depth--;
4444 break;
4446 case NETR_DELTA_DELETE_TRUST:
4447 ndr_print_netr_DELTA_DELETE_TRUST(ndr, "delete_trust", &r->delete_trust);
4448 break;
4450 case NETR_DELTA_ACCOUNT:
4451 ndr_print_ptr(ndr, "account", r->account);
4452 ndr->depth++;
4453 if (r->account) {
4454 ndr_print_netr_DELTA_ACCOUNT(ndr, "account", r->account);
4456 ndr->depth--;
4457 break;
4459 case NETR_DELTA_DELETE_ACCOUNT:
4460 ndr_print_netr_DELTA_DELETE_ACCOUNT(ndr, "delete_account", &r->delete_account);
4461 break;
4463 case NETR_DELTA_SECRET:
4464 ndr_print_ptr(ndr, "secret", r->secret);
4465 ndr->depth++;
4466 if (r->secret) {
4467 ndr_print_netr_DELTA_SECRET(ndr, "secret", r->secret);
4469 ndr->depth--;
4470 break;
4472 case NETR_DELTA_DELETE_SECRET:
4473 ndr_print_netr_DELTA_DELETE_SECRET(ndr, "delete_secret", &r->delete_secret);
4474 break;
4476 case NETR_DELTA_DELETE_GROUP2:
4477 ndr_print_ptr(ndr, "delete_group", r->delete_group);
4478 ndr->depth++;
4479 if (r->delete_group) {
4480 ndr_print_netr_DELTA_DELETE_USER(ndr, "delete_group", r->delete_group);
4482 ndr->depth--;
4483 break;
4485 case NETR_DELTA_DELETE_USER2:
4486 ndr_print_ptr(ndr, "delete_user", r->delete_user);
4487 ndr->depth++;
4488 if (r->delete_user) {
4489 ndr_print_netr_DELTA_DELETE_USER(ndr, "delete_user", r->delete_user);
4491 ndr->depth--;
4492 break;
4494 case NETR_DELTA_MODIFY_COUNT:
4495 ndr_print_ptr(ndr, "modified_count", r->modified_count);
4496 ndr->depth++;
4497 if (r->modified_count) {
4498 ndr_print_udlong(ndr, "modified_count", *r->modified_count);
4500 ndr->depth--;
4501 break;
4503 default:
4504 ndr_print_bad_level(ndr, name, level);
4508 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)
4510 if (ndr_flags & NDR_SCALARS) {
4511 int level = ndr_push_get_switch_value(ndr, r);
4512 NDR_CHECK(ndr_push_netr_DeltaEnum(ndr, NDR_SCALARS, level));
4513 switch (level) {
4514 case NETR_DELTA_DOMAIN: {
4515 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4516 break; }
4518 case NETR_DELTA_GROUP: {
4519 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4520 break; }
4522 case NETR_DELTA_DELETE_GROUP: {
4523 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4524 break; }
4526 case NETR_DELTA_RENAME_GROUP: {
4527 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4528 break; }
4530 case NETR_DELTA_USER: {
4531 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4532 break; }
4534 case NETR_DELTA_DELETE_USER: {
4535 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4536 break; }
4538 case NETR_DELTA_RENAME_USER: {
4539 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4540 break; }
4542 case NETR_DELTA_GROUP_MEMBER: {
4543 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4544 break; }
4546 case NETR_DELTA_ALIAS: {
4547 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4548 break; }
4550 case NETR_DELTA_DELETE_ALIAS: {
4551 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4552 break; }
4554 case NETR_DELTA_RENAME_ALIAS: {
4555 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4556 break; }
4558 case NETR_DELTA_ALIAS_MEMBER: {
4559 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4560 break; }
4562 case NETR_DELTA_POLICY: {
4563 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
4564 break; }
4566 case NETR_DELTA_TRUSTED_DOMAIN: {
4567 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
4568 break; }
4570 case NETR_DELTA_DELETE_TRUST: {
4571 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
4572 break; }
4574 case NETR_DELTA_ACCOUNT: {
4575 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
4576 break; }
4578 case NETR_DELTA_DELETE_ACCOUNT: {
4579 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
4580 break; }
4582 case NETR_DELTA_SECRET: {
4583 NDR_CHECK(ndr_push_unique_ptr(ndr, r->name));
4584 break; }
4586 case NETR_DELTA_DELETE_SECRET: {
4587 NDR_CHECK(ndr_push_unique_ptr(ndr, r->name));
4588 break; }
4590 case NETR_DELTA_DELETE_GROUP2: {
4591 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4592 break; }
4594 case NETR_DELTA_DELETE_USER2: {
4595 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4596 break; }
4598 case NETR_DELTA_MODIFY_COUNT: {
4599 break; }
4601 default:
4602 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4605 if (ndr_flags & NDR_BUFFERS) {
4606 int level = ndr_push_get_switch_value(ndr, r);
4607 switch (level) {
4608 case NETR_DELTA_DOMAIN:
4609 break;
4611 case NETR_DELTA_GROUP:
4612 break;
4614 case NETR_DELTA_DELETE_GROUP:
4615 break;
4617 case NETR_DELTA_RENAME_GROUP:
4618 break;
4620 case NETR_DELTA_USER:
4621 break;
4623 case NETR_DELTA_DELETE_USER:
4624 break;
4626 case NETR_DELTA_RENAME_USER:
4627 break;
4629 case NETR_DELTA_GROUP_MEMBER:
4630 break;
4632 case NETR_DELTA_ALIAS:
4633 break;
4635 case NETR_DELTA_DELETE_ALIAS:
4636 break;
4638 case NETR_DELTA_RENAME_ALIAS:
4639 break;
4641 case NETR_DELTA_ALIAS_MEMBER:
4642 break;
4644 case NETR_DELTA_POLICY:
4645 if (r->sid) {
4646 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4648 break;
4650 case NETR_DELTA_TRUSTED_DOMAIN:
4651 if (r->sid) {
4652 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4654 break;
4656 case NETR_DELTA_DELETE_TRUST:
4657 if (r->sid) {
4658 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4660 break;
4662 case NETR_DELTA_ACCOUNT:
4663 if (r->sid) {
4664 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4666 break;
4668 case NETR_DELTA_DELETE_ACCOUNT:
4669 if (r->sid) {
4670 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4672 break;
4674 case NETR_DELTA_SECRET:
4675 if (r->name) {
4676 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16)));
4677 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
4678 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16)));
4679 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, ndr_charset_length(r->name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
4681 break;
4683 case NETR_DELTA_DELETE_SECRET:
4684 if (r->name) {
4685 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16)));
4686 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
4687 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16)));
4688 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, ndr_charset_length(r->name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
4690 break;
4692 case NETR_DELTA_DELETE_GROUP2:
4693 break;
4695 case NETR_DELTA_DELETE_USER2:
4696 break;
4698 case NETR_DELTA_MODIFY_COUNT:
4699 break;
4701 default:
4702 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4705 return NDR_ERR_SUCCESS;
4708 static enum ndr_err_code ndr_pull_netr_DELTA_ID_UNION(struct ndr_pull *ndr, int ndr_flags, union netr_DELTA_ID_UNION *r)
4710 int level;
4711 uint16_t _level;
4712 TALLOC_CTX *_mem_save_sid_0;
4713 TALLOC_CTX *_mem_save_name_0;
4714 level = ndr_pull_get_switch_value(ndr, r);
4715 if (ndr_flags & NDR_SCALARS) {
4716 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
4717 if (_level != level) {
4718 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
4720 switch (level) {
4721 case NETR_DELTA_DOMAIN: {
4722 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4723 break; }
4725 case NETR_DELTA_GROUP: {
4726 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4727 break; }
4729 case NETR_DELTA_DELETE_GROUP: {
4730 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4731 break; }
4733 case NETR_DELTA_RENAME_GROUP: {
4734 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4735 break; }
4737 case NETR_DELTA_USER: {
4738 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4739 break; }
4741 case NETR_DELTA_DELETE_USER: {
4742 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4743 break; }
4745 case NETR_DELTA_RENAME_USER: {
4746 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4747 break; }
4749 case NETR_DELTA_GROUP_MEMBER: {
4750 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4751 break; }
4753 case NETR_DELTA_ALIAS: {
4754 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4755 break; }
4757 case NETR_DELTA_DELETE_ALIAS: {
4758 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4759 break; }
4761 case NETR_DELTA_RENAME_ALIAS: {
4762 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4763 break; }
4765 case NETR_DELTA_ALIAS_MEMBER: {
4766 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4767 break; }
4769 case NETR_DELTA_POLICY: {
4770 uint32_t _ptr_sid;
4771 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
4772 if (_ptr_sid) {
4773 NDR_PULL_ALLOC(ndr, r->sid);
4774 } else {
4775 r->sid = NULL;
4777 break; }
4779 case NETR_DELTA_TRUSTED_DOMAIN: {
4780 uint32_t _ptr_sid;
4781 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
4782 if (_ptr_sid) {
4783 NDR_PULL_ALLOC(ndr, r->sid);
4784 } else {
4785 r->sid = NULL;
4787 break; }
4789 case NETR_DELTA_DELETE_TRUST: {
4790 uint32_t _ptr_sid;
4791 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
4792 if (_ptr_sid) {
4793 NDR_PULL_ALLOC(ndr, r->sid);
4794 } else {
4795 r->sid = NULL;
4797 break; }
4799 case NETR_DELTA_ACCOUNT: {
4800 uint32_t _ptr_sid;
4801 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
4802 if (_ptr_sid) {
4803 NDR_PULL_ALLOC(ndr, r->sid);
4804 } else {
4805 r->sid = NULL;
4807 break; }
4809 case NETR_DELTA_DELETE_ACCOUNT: {
4810 uint32_t _ptr_sid;
4811 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
4812 if (_ptr_sid) {
4813 NDR_PULL_ALLOC(ndr, r->sid);
4814 } else {
4815 r->sid = NULL;
4817 break; }
4819 case NETR_DELTA_SECRET: {
4820 uint32_t _ptr_name;
4821 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
4822 if (_ptr_name) {
4823 NDR_PULL_ALLOC(ndr, r->name);
4824 } else {
4825 r->name = NULL;
4827 break; }
4829 case NETR_DELTA_DELETE_SECRET: {
4830 uint32_t _ptr_name;
4831 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
4832 if (_ptr_name) {
4833 NDR_PULL_ALLOC(ndr, r->name);
4834 } else {
4835 r->name = NULL;
4837 break; }
4839 case NETR_DELTA_DELETE_GROUP2: {
4840 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4841 break; }
4843 case NETR_DELTA_DELETE_USER2: {
4844 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4845 break; }
4847 case NETR_DELTA_MODIFY_COUNT: {
4848 break; }
4850 default:
4851 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4854 if (ndr_flags & NDR_BUFFERS) {
4855 switch (level) {
4856 case NETR_DELTA_DOMAIN:
4857 break;
4859 case NETR_DELTA_GROUP:
4860 break;
4862 case NETR_DELTA_DELETE_GROUP:
4863 break;
4865 case NETR_DELTA_RENAME_GROUP:
4866 break;
4868 case NETR_DELTA_USER:
4869 break;
4871 case NETR_DELTA_DELETE_USER:
4872 break;
4874 case NETR_DELTA_RENAME_USER:
4875 break;
4877 case NETR_DELTA_GROUP_MEMBER:
4878 break;
4880 case NETR_DELTA_ALIAS:
4881 break;
4883 case NETR_DELTA_DELETE_ALIAS:
4884 break;
4886 case NETR_DELTA_RENAME_ALIAS:
4887 break;
4889 case NETR_DELTA_ALIAS_MEMBER:
4890 break;
4892 case NETR_DELTA_POLICY:
4893 if (r->sid) {
4894 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
4895 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
4896 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4897 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
4899 break;
4901 case NETR_DELTA_TRUSTED_DOMAIN:
4902 if (r->sid) {
4903 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
4904 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
4905 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4906 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
4908 break;
4910 case NETR_DELTA_DELETE_TRUST:
4911 if (r->sid) {
4912 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
4913 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
4914 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4915 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
4917 break;
4919 case NETR_DELTA_ACCOUNT:
4920 if (r->sid) {
4921 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
4922 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
4923 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4924 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
4926 break;
4928 case NETR_DELTA_DELETE_ACCOUNT:
4929 if (r->sid) {
4930 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
4931 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
4932 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4933 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
4935 break;
4937 case NETR_DELTA_SECRET:
4938 if (r->name) {
4939 _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
4940 NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
4941 NDR_CHECK(ndr_pull_array_size(ndr, &r->name));
4942 NDR_CHECK(ndr_pull_array_length(ndr, &r->name));
4943 if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) {
4944 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));
4946 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t)));
4947 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t), CH_UTF16));
4948 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
4950 break;
4952 case NETR_DELTA_DELETE_SECRET:
4953 if (r->name) {
4954 _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
4955 NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
4956 NDR_CHECK(ndr_pull_array_size(ndr, &r->name));
4957 NDR_CHECK(ndr_pull_array_length(ndr, &r->name));
4958 if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) {
4959 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));
4961 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t)));
4962 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t), CH_UTF16));
4963 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
4965 break;
4967 case NETR_DELTA_DELETE_GROUP2:
4968 break;
4970 case NETR_DELTA_DELETE_USER2:
4971 break;
4973 case NETR_DELTA_MODIFY_COUNT:
4974 break;
4976 default:
4977 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4980 return NDR_ERR_SUCCESS;
4983 _PUBLIC_ void ndr_print_netr_DELTA_ID_UNION(struct ndr_print *ndr, const char *name, const union netr_DELTA_ID_UNION *r)
4985 int level;
4986 level = ndr_print_get_switch_value(ndr, r);
4987 ndr_print_union(ndr, name, level, "netr_DELTA_ID_UNION");
4988 switch (level) {
4989 case NETR_DELTA_DOMAIN:
4990 ndr_print_uint32(ndr, "rid", r->rid);
4991 break;
4993 case NETR_DELTA_GROUP:
4994 ndr_print_uint32(ndr, "rid", r->rid);
4995 break;
4997 case NETR_DELTA_DELETE_GROUP:
4998 ndr_print_uint32(ndr, "rid", r->rid);
4999 break;
5001 case NETR_DELTA_RENAME_GROUP:
5002 ndr_print_uint32(ndr, "rid", r->rid);
5003 break;
5005 case NETR_DELTA_USER:
5006 ndr_print_uint32(ndr, "rid", r->rid);
5007 break;
5009 case NETR_DELTA_DELETE_USER:
5010 ndr_print_uint32(ndr, "rid", r->rid);
5011 break;
5013 case NETR_DELTA_RENAME_USER:
5014 ndr_print_uint32(ndr, "rid", r->rid);
5015 break;
5017 case NETR_DELTA_GROUP_MEMBER:
5018 ndr_print_uint32(ndr, "rid", r->rid);
5019 break;
5021 case NETR_DELTA_ALIAS:
5022 ndr_print_uint32(ndr, "rid", r->rid);
5023 break;
5025 case NETR_DELTA_DELETE_ALIAS:
5026 ndr_print_uint32(ndr, "rid", r->rid);
5027 break;
5029 case NETR_DELTA_RENAME_ALIAS:
5030 ndr_print_uint32(ndr, "rid", r->rid);
5031 break;
5033 case NETR_DELTA_ALIAS_MEMBER:
5034 ndr_print_uint32(ndr, "rid", r->rid);
5035 break;
5037 case NETR_DELTA_POLICY:
5038 ndr_print_ptr(ndr, "sid", r->sid);
5039 ndr->depth++;
5040 if (r->sid) {
5041 ndr_print_dom_sid2(ndr, "sid", r->sid);
5043 ndr->depth--;
5044 break;
5046 case NETR_DELTA_TRUSTED_DOMAIN:
5047 ndr_print_ptr(ndr, "sid", r->sid);
5048 ndr->depth++;
5049 if (r->sid) {
5050 ndr_print_dom_sid2(ndr, "sid", r->sid);
5052 ndr->depth--;
5053 break;
5055 case NETR_DELTA_DELETE_TRUST:
5056 ndr_print_ptr(ndr, "sid", r->sid);
5057 ndr->depth++;
5058 if (r->sid) {
5059 ndr_print_dom_sid2(ndr, "sid", r->sid);
5061 ndr->depth--;
5062 break;
5064 case NETR_DELTA_ACCOUNT:
5065 ndr_print_ptr(ndr, "sid", r->sid);
5066 ndr->depth++;
5067 if (r->sid) {
5068 ndr_print_dom_sid2(ndr, "sid", r->sid);
5070 ndr->depth--;
5071 break;
5073 case NETR_DELTA_DELETE_ACCOUNT:
5074 ndr_print_ptr(ndr, "sid", r->sid);
5075 ndr->depth++;
5076 if (r->sid) {
5077 ndr_print_dom_sid2(ndr, "sid", r->sid);
5079 ndr->depth--;
5080 break;
5082 case NETR_DELTA_SECRET:
5083 ndr_print_ptr(ndr, "name", r->name);
5084 ndr->depth++;
5085 if (r->name) {
5086 ndr_print_string(ndr, "name", r->name);
5088 ndr->depth--;
5089 break;
5091 case NETR_DELTA_DELETE_SECRET:
5092 ndr_print_ptr(ndr, "name", r->name);
5093 ndr->depth++;
5094 if (r->name) {
5095 ndr_print_string(ndr, "name", r->name);
5097 ndr->depth--;
5098 break;
5100 case NETR_DELTA_DELETE_GROUP2:
5101 ndr_print_uint32(ndr, "rid", r->rid);
5102 break;
5104 case NETR_DELTA_DELETE_USER2:
5105 ndr_print_uint32(ndr, "rid", r->rid);
5106 break;
5108 case NETR_DELTA_MODIFY_COUNT:
5109 break;
5111 default:
5112 ndr_print_bad_level(ndr, name, level);
5116 static enum ndr_err_code ndr_push_netr_DELTA_ENUM(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_ENUM *r)
5118 if (ndr_flags & NDR_SCALARS) {
5119 NDR_CHECK(ndr_push_align(ndr, 4));
5120 NDR_CHECK(ndr_push_netr_DeltaEnum(ndr, NDR_SCALARS, r->delta_type));
5121 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->delta_id_union, r->delta_type));
5122 NDR_CHECK(ndr_push_netr_DELTA_ID_UNION(ndr, NDR_SCALARS, &r->delta_id_union));
5123 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->delta_union, r->delta_type));
5124 NDR_CHECK(ndr_push_netr_DELTA_UNION(ndr, NDR_SCALARS, &r->delta_union));
5126 if (ndr_flags & NDR_BUFFERS) {
5127 NDR_CHECK(ndr_push_netr_DELTA_ID_UNION(ndr, NDR_BUFFERS, &r->delta_id_union));
5128 NDR_CHECK(ndr_push_netr_DELTA_UNION(ndr, NDR_BUFFERS, &r->delta_union));
5130 return NDR_ERR_SUCCESS;
5133 static enum ndr_err_code ndr_pull_netr_DELTA_ENUM(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ENUM *r)
5135 if (ndr_flags & NDR_SCALARS) {
5136 NDR_CHECK(ndr_pull_align(ndr, 4));
5137 NDR_CHECK(ndr_pull_netr_DeltaEnum(ndr, NDR_SCALARS, &r->delta_type));
5138 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->delta_id_union, r->delta_type));
5139 NDR_CHECK(ndr_pull_netr_DELTA_ID_UNION(ndr, NDR_SCALARS, &r->delta_id_union));
5140 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->delta_union, r->delta_type));
5141 NDR_CHECK(ndr_pull_netr_DELTA_UNION(ndr, NDR_SCALARS, &r->delta_union));
5143 if (ndr_flags & NDR_BUFFERS) {
5144 NDR_CHECK(ndr_pull_netr_DELTA_ID_UNION(ndr, NDR_BUFFERS, &r->delta_id_union));
5145 NDR_CHECK(ndr_pull_netr_DELTA_UNION(ndr, NDR_BUFFERS, &r->delta_union));
5147 return NDR_ERR_SUCCESS;
5150 _PUBLIC_ void ndr_print_netr_DELTA_ENUM(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ENUM *r)
5152 ndr_print_struct(ndr, name, "netr_DELTA_ENUM");
5153 ndr->depth++;
5154 ndr_print_netr_DeltaEnum(ndr, "delta_type", r->delta_type);
5155 ndr_print_set_switch_value(ndr, &r->delta_id_union, r->delta_type);
5156 ndr_print_netr_DELTA_ID_UNION(ndr, "delta_id_union", &r->delta_id_union);
5157 ndr_print_set_switch_value(ndr, &r->delta_union, r->delta_type);
5158 ndr_print_netr_DELTA_UNION(ndr, "delta_union", &r->delta_union);
5159 ndr->depth--;
5162 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)
5164 uint32_t cntr_delta_enum_1;
5165 if (ndr_flags & NDR_SCALARS) {
5166 NDR_CHECK(ndr_push_align(ndr, 4));
5167 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_deltas));
5168 NDR_CHECK(ndr_push_unique_ptr(ndr, r->delta_enum));
5170 if (ndr_flags & NDR_BUFFERS) {
5171 if (r->delta_enum) {
5172 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_deltas));
5173 for (cntr_delta_enum_1 = 0; cntr_delta_enum_1 < r->num_deltas; cntr_delta_enum_1++) {
5174 NDR_CHECK(ndr_push_netr_DELTA_ENUM(ndr, NDR_SCALARS, &r->delta_enum[cntr_delta_enum_1]));
5176 for (cntr_delta_enum_1 = 0; cntr_delta_enum_1 < r->num_deltas; cntr_delta_enum_1++) {
5177 NDR_CHECK(ndr_push_netr_DELTA_ENUM(ndr, NDR_BUFFERS, &r->delta_enum[cntr_delta_enum_1]));
5181 return NDR_ERR_SUCCESS;
5184 static enum ndr_err_code ndr_pull_netr_DELTA_ENUM_ARRAY(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ENUM_ARRAY *r)
5186 uint32_t _ptr_delta_enum;
5187 uint32_t cntr_delta_enum_1;
5188 TALLOC_CTX *_mem_save_delta_enum_0;
5189 TALLOC_CTX *_mem_save_delta_enum_1;
5190 if (ndr_flags & NDR_SCALARS) {
5191 NDR_CHECK(ndr_pull_align(ndr, 4));
5192 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_deltas));
5193 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum));
5194 if (_ptr_delta_enum) {
5195 NDR_PULL_ALLOC(ndr, r->delta_enum);
5196 } else {
5197 r->delta_enum = NULL;
5200 if (ndr_flags & NDR_BUFFERS) {
5201 if (r->delta_enum) {
5202 _mem_save_delta_enum_0 = NDR_PULL_GET_MEM_CTX(ndr);
5203 NDR_PULL_SET_MEM_CTX(ndr, r->delta_enum, 0);
5204 NDR_CHECK(ndr_pull_array_size(ndr, &r->delta_enum));
5205 NDR_PULL_ALLOC_N(ndr, r->delta_enum, ndr_get_array_size(ndr, &r->delta_enum));
5206 _mem_save_delta_enum_1 = NDR_PULL_GET_MEM_CTX(ndr);
5207 NDR_PULL_SET_MEM_CTX(ndr, r->delta_enum, 0);
5208 for (cntr_delta_enum_1 = 0; cntr_delta_enum_1 < r->num_deltas; cntr_delta_enum_1++) {
5209 NDR_CHECK(ndr_pull_netr_DELTA_ENUM(ndr, NDR_SCALARS, &r->delta_enum[cntr_delta_enum_1]));
5211 for (cntr_delta_enum_1 = 0; cntr_delta_enum_1 < r->num_deltas; cntr_delta_enum_1++) {
5212 NDR_CHECK(ndr_pull_netr_DELTA_ENUM(ndr, NDR_BUFFERS, &r->delta_enum[cntr_delta_enum_1]));
5214 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_1, 0);
5215 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_0, 0);
5217 if (r->delta_enum) {
5218 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->delta_enum, r->num_deltas));
5221 return NDR_ERR_SUCCESS;
5224 _PUBLIC_ void ndr_print_netr_DELTA_ENUM_ARRAY(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ENUM_ARRAY *r)
5226 uint32_t cntr_delta_enum_1;
5227 ndr_print_struct(ndr, name, "netr_DELTA_ENUM_ARRAY");
5228 ndr->depth++;
5229 ndr_print_uint32(ndr, "num_deltas", r->num_deltas);
5230 ndr_print_ptr(ndr, "delta_enum", r->delta_enum);
5231 ndr->depth++;
5232 if (r->delta_enum) {
5233 ndr->print(ndr, "%s: ARRAY(%d)", "delta_enum", (int)r->num_deltas);
5234 ndr->depth++;
5235 for (cntr_delta_enum_1=0;cntr_delta_enum_1<r->num_deltas;cntr_delta_enum_1++) {
5236 char *idx_1=NULL;
5237 if (asprintf(&idx_1, "[%d]", cntr_delta_enum_1) != -1) {
5238 ndr_print_netr_DELTA_ENUM(ndr, "delta_enum", &r->delta_enum[cntr_delta_enum_1]);
5239 free(idx_1);
5242 ndr->depth--;
5244 ndr->depth--;
5245 ndr->depth--;
5248 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)
5251 uint32_t _flags_save_STRUCT = ndr->flags;
5252 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
5253 if (ndr_flags & NDR_SCALARS) {
5254 NDR_CHECK(ndr_push_align(ndr, 4));
5255 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->computer_name, 16));
5256 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->timecreated));
5257 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->serial_number));
5259 if (ndr_flags & NDR_BUFFERS) {
5261 ndr->flags = _flags_save_STRUCT;
5263 return NDR_ERR_SUCCESS;
5266 static enum ndr_err_code ndr_pull_netr_UAS_INFO_0(struct ndr_pull *ndr, int ndr_flags, struct netr_UAS_INFO_0 *r)
5269 uint32_t _flags_save_STRUCT = ndr->flags;
5270 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
5271 if (ndr_flags & NDR_SCALARS) {
5272 NDR_CHECK(ndr_pull_align(ndr, 4));
5273 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->computer_name, 16));
5274 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->timecreated));
5275 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->serial_number));
5277 if (ndr_flags & NDR_BUFFERS) {
5279 ndr->flags = _flags_save_STRUCT;
5281 return NDR_ERR_SUCCESS;
5284 _PUBLIC_ void ndr_print_netr_UAS_INFO_0(struct ndr_print *ndr, const char *name, const struct netr_UAS_INFO_0 *r)
5286 ndr_print_struct(ndr, name, "netr_UAS_INFO_0");
5288 uint32_t _flags_save_STRUCT = ndr->flags;
5289 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
5290 ndr->depth++;
5291 ndr_print_array_uint8(ndr, "computer_name", r->computer_name, 16);
5292 ndr_print_uint32(ndr, "timecreated", r->timecreated);
5293 ndr_print_uint32(ndr, "serial_number", r->serial_number);
5294 ndr->depth--;
5295 ndr->flags = _flags_save_STRUCT;
5299 static enum ndr_err_code ndr_push_netr_AccountBuffer(struct ndr_push *ndr, int ndr_flags, const struct netr_AccountBuffer *r)
5301 if (ndr_flags & NDR_SCALARS) {
5302 NDR_CHECK(ndr_push_align(ndr, 4));
5304 uint32_t _flags_save_DATA_BLOB = ndr->flags;
5305 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
5306 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->blob));
5307 ndr->flags = _flags_save_DATA_BLOB;
5310 if (ndr_flags & NDR_BUFFERS) {
5312 return NDR_ERR_SUCCESS;
5315 static enum ndr_err_code ndr_pull_netr_AccountBuffer(struct ndr_pull *ndr, int ndr_flags, struct netr_AccountBuffer *r)
5317 if (ndr_flags & NDR_SCALARS) {
5318 NDR_CHECK(ndr_pull_align(ndr, 4));
5320 uint32_t _flags_save_DATA_BLOB = ndr->flags;
5321 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
5322 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->blob));
5323 ndr->flags = _flags_save_DATA_BLOB;
5326 if (ndr_flags & NDR_BUFFERS) {
5328 return NDR_ERR_SUCCESS;
5331 _PUBLIC_ void ndr_print_netr_AccountBuffer(struct ndr_print *ndr, const char *name, const struct netr_AccountBuffer *r)
5333 ndr_print_struct(ndr, name, "netr_AccountBuffer");
5334 ndr->depth++;
5335 ndr_print_DATA_BLOB(ndr, "blob", r->blob);
5336 ndr->depth--;
5339 static enum ndr_err_code ndr_push_netr_InfoFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
5341 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
5342 return NDR_ERR_SUCCESS;
5345 static enum ndr_err_code ndr_pull_netr_InfoFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
5347 uint32_t v;
5348 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
5349 *r = v;
5350 return NDR_ERR_SUCCESS;
5353 _PUBLIC_ void ndr_print_netr_InfoFlags(struct ndr_print *ndr, const char *name, uint32_t r)
5355 ndr_print_uint32(ndr, name, r);
5356 ndr->depth++;
5357 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_CTRL_REPL_NEEDED", NETLOGON_CTRL_REPL_NEEDED, r);
5358 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_CTRL_REPL_IN_PROGRESS", NETLOGON_CTRL_REPL_IN_PROGRESS, r);
5359 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_CTRL_REPL_FULL_SYNC", NETLOGON_CTRL_REPL_FULL_SYNC, r);
5360 ndr->depth--;
5363 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)
5365 if (ndr_flags & NDR_SCALARS) {
5366 NDR_CHECK(ndr_push_align(ndr, 4));
5367 NDR_CHECK(ndr_push_netr_InfoFlags(ndr, NDR_SCALARS, r->flags));
5368 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pdc_connection_status));
5370 if (ndr_flags & NDR_BUFFERS) {
5372 return NDR_ERR_SUCCESS;
5375 static enum ndr_err_code ndr_pull_netr_NETLOGON_INFO_1(struct ndr_pull *ndr, int ndr_flags, struct netr_NETLOGON_INFO_1 *r)
5377 if (ndr_flags & NDR_SCALARS) {
5378 NDR_CHECK(ndr_pull_align(ndr, 4));
5379 NDR_CHECK(ndr_pull_netr_InfoFlags(ndr, NDR_SCALARS, &r->flags));
5380 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pdc_connection_status));
5382 if (ndr_flags & NDR_BUFFERS) {
5384 return NDR_ERR_SUCCESS;
5387 _PUBLIC_ void ndr_print_netr_NETLOGON_INFO_1(struct ndr_print *ndr, const char *name, const struct netr_NETLOGON_INFO_1 *r)
5389 ndr_print_struct(ndr, name, "netr_NETLOGON_INFO_1");
5390 ndr->depth++;
5391 ndr_print_netr_InfoFlags(ndr, "flags", r->flags);
5392 ndr_print_uint32(ndr, "pdc_connection_status", r->pdc_connection_status);
5393 ndr->depth--;
5396 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)
5398 if (ndr_flags & NDR_SCALARS) {
5399 NDR_CHECK(ndr_push_align(ndr, 4));
5400 NDR_CHECK(ndr_push_netr_InfoFlags(ndr, NDR_SCALARS, r->flags));
5401 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pdc_connection_status));
5402 NDR_CHECK(ndr_push_unique_ptr(ndr, r->trusted_dc_name));
5403 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->tc_connection_status));
5405 if (ndr_flags & NDR_BUFFERS) {
5406 if (r->trusted_dc_name) {
5407 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->trusted_dc_name, CH_UTF16)));
5408 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
5409 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->trusted_dc_name, CH_UTF16)));
5410 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));
5413 return NDR_ERR_SUCCESS;
5416 static enum ndr_err_code ndr_pull_netr_NETLOGON_INFO_2(struct ndr_pull *ndr, int ndr_flags, struct netr_NETLOGON_INFO_2 *r)
5418 uint32_t _ptr_trusted_dc_name;
5419 TALLOC_CTX *_mem_save_trusted_dc_name_0;
5420 if (ndr_flags & NDR_SCALARS) {
5421 NDR_CHECK(ndr_pull_align(ndr, 4));
5422 NDR_CHECK(ndr_pull_netr_InfoFlags(ndr, NDR_SCALARS, &r->flags));
5423 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pdc_connection_status));
5424 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_dc_name));
5425 if (_ptr_trusted_dc_name) {
5426 NDR_PULL_ALLOC(ndr, r->trusted_dc_name);
5427 } else {
5428 r->trusted_dc_name = NULL;
5430 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->tc_connection_status));
5432 if (ndr_flags & NDR_BUFFERS) {
5433 if (r->trusted_dc_name) {
5434 _mem_save_trusted_dc_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5435 NDR_PULL_SET_MEM_CTX(ndr, r->trusted_dc_name, 0);
5436 NDR_CHECK(ndr_pull_array_size(ndr, &r->trusted_dc_name));
5437 NDR_CHECK(ndr_pull_array_length(ndr, &r->trusted_dc_name));
5438 if (ndr_get_array_length(ndr, &r->trusted_dc_name) > ndr_get_array_size(ndr, &r->trusted_dc_name)) {
5439 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));
5441 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->trusted_dc_name), sizeof(uint16_t)));
5442 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));
5443 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_dc_name_0, 0);
5446 return NDR_ERR_SUCCESS;
5449 _PUBLIC_ void ndr_print_netr_NETLOGON_INFO_2(struct ndr_print *ndr, const char *name, const struct netr_NETLOGON_INFO_2 *r)
5451 ndr_print_struct(ndr, name, "netr_NETLOGON_INFO_2");
5452 ndr->depth++;
5453 ndr_print_netr_InfoFlags(ndr, "flags", r->flags);
5454 ndr_print_uint32(ndr, "pdc_connection_status", r->pdc_connection_status);
5455 ndr_print_ptr(ndr, "trusted_dc_name", r->trusted_dc_name);
5456 ndr->depth++;
5457 if (r->trusted_dc_name) {
5458 ndr_print_string(ndr, "trusted_dc_name", r->trusted_dc_name);
5460 ndr->depth--;
5461 ndr_print_uint32(ndr, "tc_connection_status", r->tc_connection_status);
5462 ndr->depth--;
5465 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)
5467 if (ndr_flags & NDR_SCALARS) {
5468 NDR_CHECK(ndr_push_align(ndr, 4));
5469 NDR_CHECK(ndr_push_netr_InfoFlags(ndr, NDR_SCALARS, r->flags));
5470 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logon_attempts));
5471 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
5472 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
5473 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown3));
5474 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4));
5475 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
5477 if (ndr_flags & NDR_BUFFERS) {
5479 return NDR_ERR_SUCCESS;
5482 static enum ndr_err_code ndr_pull_netr_NETLOGON_INFO_3(struct ndr_pull *ndr, int ndr_flags, struct netr_NETLOGON_INFO_3 *r)
5484 if (ndr_flags & NDR_SCALARS) {
5485 NDR_CHECK(ndr_pull_align(ndr, 4));
5486 NDR_CHECK(ndr_pull_netr_InfoFlags(ndr, NDR_SCALARS, &r->flags));
5487 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logon_attempts));
5488 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
5489 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
5490 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown3));
5491 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4));
5492 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
5494 if (ndr_flags & NDR_BUFFERS) {
5496 return NDR_ERR_SUCCESS;
5499 _PUBLIC_ void ndr_print_netr_NETLOGON_INFO_3(struct ndr_print *ndr, const char *name, const struct netr_NETLOGON_INFO_3 *r)
5501 ndr_print_struct(ndr, name, "netr_NETLOGON_INFO_3");
5502 ndr->depth++;
5503 ndr_print_netr_InfoFlags(ndr, "flags", r->flags);
5504 ndr_print_uint32(ndr, "logon_attempts", r->logon_attempts);
5505 ndr_print_uint32(ndr, "unknown1", r->unknown1);
5506 ndr_print_uint32(ndr, "unknown2", r->unknown2);
5507 ndr_print_uint32(ndr, "unknown3", r->unknown3);
5508 ndr_print_uint32(ndr, "unknown4", r->unknown4);
5509 ndr_print_uint32(ndr, "unknown5", r->unknown5);
5510 ndr->depth--;
5513 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)
5515 if (ndr_flags & NDR_SCALARS) {
5516 int level = ndr_push_get_switch_value(ndr, r);
5517 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
5518 switch (level) {
5519 case 1: {
5520 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1));
5521 break; }
5523 case 2: {
5524 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info2));
5525 break; }
5527 case 3: {
5528 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info3));
5529 break; }
5531 default:
5532 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5535 if (ndr_flags & NDR_BUFFERS) {
5536 int level = ndr_push_get_switch_value(ndr, r);
5537 switch (level) {
5538 case 1:
5539 if (r->info1) {
5540 NDR_CHECK(ndr_push_netr_NETLOGON_INFO_1(ndr, NDR_SCALARS, r->info1));
5542 break;
5544 case 2:
5545 if (r->info2) {
5546 NDR_CHECK(ndr_push_netr_NETLOGON_INFO_2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2));
5548 break;
5550 case 3:
5551 if (r->info3) {
5552 NDR_CHECK(ndr_push_netr_NETLOGON_INFO_3(ndr, NDR_SCALARS, r->info3));
5554 break;
5556 default:
5557 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5560 return NDR_ERR_SUCCESS;
5563 static enum ndr_err_code ndr_pull_netr_CONTROL_QUERY_INFORMATION(struct ndr_pull *ndr, int ndr_flags, union netr_CONTROL_QUERY_INFORMATION *r)
5565 int level;
5566 uint32_t _level;
5567 TALLOC_CTX *_mem_save_info1_0;
5568 TALLOC_CTX *_mem_save_info2_0;
5569 TALLOC_CTX *_mem_save_info3_0;
5570 level = ndr_pull_get_switch_value(ndr, r);
5571 if (ndr_flags & NDR_SCALARS) {
5572 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
5573 if (_level != level) {
5574 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
5576 switch (level) {
5577 case 1: {
5578 uint32_t _ptr_info1;
5579 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1));
5580 if (_ptr_info1) {
5581 NDR_PULL_ALLOC(ndr, r->info1);
5582 } else {
5583 r->info1 = NULL;
5585 break; }
5587 case 2: {
5588 uint32_t _ptr_info2;
5589 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info2));
5590 if (_ptr_info2) {
5591 NDR_PULL_ALLOC(ndr, r->info2);
5592 } else {
5593 r->info2 = NULL;
5595 break; }
5597 case 3: {
5598 uint32_t _ptr_info3;
5599 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info3));
5600 if (_ptr_info3) {
5601 NDR_PULL_ALLOC(ndr, r->info3);
5602 } else {
5603 r->info3 = NULL;
5605 break; }
5607 default:
5608 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5611 if (ndr_flags & NDR_BUFFERS) {
5612 switch (level) {
5613 case 1:
5614 if (r->info1) {
5615 _mem_save_info1_0 = NDR_PULL_GET_MEM_CTX(ndr);
5616 NDR_PULL_SET_MEM_CTX(ndr, r->info1, 0);
5617 NDR_CHECK(ndr_pull_netr_NETLOGON_INFO_1(ndr, NDR_SCALARS, r->info1));
5618 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1_0, 0);
5620 break;
5622 case 2:
5623 if (r->info2) {
5624 _mem_save_info2_0 = NDR_PULL_GET_MEM_CTX(ndr);
5625 NDR_PULL_SET_MEM_CTX(ndr, r->info2, 0);
5626 NDR_CHECK(ndr_pull_netr_NETLOGON_INFO_2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2));
5627 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info2_0, 0);
5629 break;
5631 case 3:
5632 if (r->info3) {
5633 _mem_save_info3_0 = NDR_PULL_GET_MEM_CTX(ndr);
5634 NDR_PULL_SET_MEM_CTX(ndr, r->info3, 0);
5635 NDR_CHECK(ndr_pull_netr_NETLOGON_INFO_3(ndr, NDR_SCALARS, r->info3));
5636 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info3_0, 0);
5638 break;
5640 default:
5641 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5644 return NDR_ERR_SUCCESS;
5647 _PUBLIC_ void ndr_print_netr_CONTROL_QUERY_INFORMATION(struct ndr_print *ndr, const char *name, const union netr_CONTROL_QUERY_INFORMATION *r)
5649 int level;
5650 level = ndr_print_get_switch_value(ndr, r);
5651 ndr_print_union(ndr, name, level, "netr_CONTROL_QUERY_INFORMATION");
5652 switch (level) {
5653 case 1:
5654 ndr_print_ptr(ndr, "info1", r->info1);
5655 ndr->depth++;
5656 if (r->info1) {
5657 ndr_print_netr_NETLOGON_INFO_1(ndr, "info1", r->info1);
5659 ndr->depth--;
5660 break;
5662 case 2:
5663 ndr_print_ptr(ndr, "info2", r->info2);
5664 ndr->depth++;
5665 if (r->info2) {
5666 ndr_print_netr_NETLOGON_INFO_2(ndr, "info2", r->info2);
5668 ndr->depth--;
5669 break;
5671 case 3:
5672 ndr_print_ptr(ndr, "info3", r->info3);
5673 ndr->depth++;
5674 if (r->info3) {
5675 ndr_print_netr_NETLOGON_INFO_3(ndr, "info3", r->info3);
5677 ndr->depth--;
5678 break;
5680 default:
5681 ndr_print_bad_level(ndr, name, level);
5685 static enum ndr_err_code ndr_push_netr_LogonControlCode(struct ndr_push *ndr, int ndr_flags, enum netr_LogonControlCode r)
5687 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
5688 return NDR_ERR_SUCCESS;
5691 static enum ndr_err_code ndr_pull_netr_LogonControlCode(struct ndr_pull *ndr, int ndr_flags, enum netr_LogonControlCode *r)
5693 uint32_t v;
5694 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
5695 *r = v;
5696 return NDR_ERR_SUCCESS;
5699 _PUBLIC_ void ndr_print_netr_LogonControlCode(struct ndr_print *ndr, const char *name, enum netr_LogonControlCode r)
5701 const char *val = NULL;
5703 switch (r) {
5704 case NETLOGON_CONTROL_SYNC: val = "NETLOGON_CONTROL_SYNC"; break;
5705 case NETLOGON_CONTROL_REDISCOVER: val = "NETLOGON_CONTROL_REDISCOVER"; break;
5706 case NETLOGON_CONTROL_TC_QUERY: val = "NETLOGON_CONTROL_TC_QUERY"; break;
5707 case NETLOGON_CONTROL_TRANSPORT_NOTIFY: val = "NETLOGON_CONTROL_TRANSPORT_NOTIFY"; break;
5708 case NETLOGON_CONTROL_SET_DBFLAG: val = "NETLOGON_CONTROL_SET_DBFLAG"; break;
5710 ndr_print_enum(ndr, name, "ENUM", val, r);
5713 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)
5715 if (ndr_flags & NDR_SCALARS) {
5716 int level = ndr_push_get_switch_value(ndr, r);
5717 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
5718 switch (level) {
5719 case NETLOGON_CONTROL_REDISCOVER: {
5720 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
5721 break; }
5723 case NETLOGON_CONTROL_TC_QUERY: {
5724 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
5725 break; }
5727 case NETLOGON_CONTROL_TRANSPORT_NOTIFY: {
5728 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
5729 break; }
5731 case NETLOGON_CONTROL_SET_DBFLAG: {
5732 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->debug_level));
5733 break; }
5735 default:
5736 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5739 if (ndr_flags & NDR_BUFFERS) {
5740 int level = ndr_push_get_switch_value(ndr, r);
5741 switch (level) {
5742 case NETLOGON_CONTROL_REDISCOVER:
5743 if (r->domain) {
5744 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
5745 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
5746 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
5747 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5749 break;
5751 case NETLOGON_CONTROL_TC_QUERY:
5752 if (r->domain) {
5753 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
5754 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
5755 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
5756 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5758 break;
5760 case NETLOGON_CONTROL_TRANSPORT_NOTIFY:
5761 if (r->domain) {
5762 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
5763 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
5764 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
5765 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5767 break;
5769 case NETLOGON_CONTROL_SET_DBFLAG:
5770 break;
5772 default:
5773 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5776 return NDR_ERR_SUCCESS;
5779 static enum ndr_err_code ndr_pull_netr_CONTROL_DATA_INFORMATION(struct ndr_pull *ndr, int ndr_flags, union netr_CONTROL_DATA_INFORMATION *r)
5781 int level;
5782 uint32_t _level;
5783 TALLOC_CTX *_mem_save_domain_0;
5784 level = ndr_pull_get_switch_value(ndr, r);
5785 if (ndr_flags & NDR_SCALARS) {
5786 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
5787 if (_level != level) {
5788 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
5790 switch (level) {
5791 case NETLOGON_CONTROL_REDISCOVER: {
5792 uint32_t _ptr_domain;
5793 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
5794 if (_ptr_domain) {
5795 NDR_PULL_ALLOC(ndr, r->domain);
5796 } else {
5797 r->domain = NULL;
5799 break; }
5801 case NETLOGON_CONTROL_TC_QUERY: {
5802 uint32_t _ptr_domain;
5803 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
5804 if (_ptr_domain) {
5805 NDR_PULL_ALLOC(ndr, r->domain);
5806 } else {
5807 r->domain = NULL;
5809 break; }
5811 case NETLOGON_CONTROL_TRANSPORT_NOTIFY: {
5812 uint32_t _ptr_domain;
5813 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
5814 if (_ptr_domain) {
5815 NDR_PULL_ALLOC(ndr, r->domain);
5816 } else {
5817 r->domain = NULL;
5819 break; }
5821 case NETLOGON_CONTROL_SET_DBFLAG: {
5822 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->debug_level));
5823 break; }
5825 default:
5826 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5829 if (ndr_flags & NDR_BUFFERS) {
5830 switch (level) {
5831 case NETLOGON_CONTROL_REDISCOVER:
5832 if (r->domain) {
5833 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
5834 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
5835 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
5836 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
5837 if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) {
5838 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));
5840 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t)));
5841 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16));
5842 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
5844 break;
5846 case NETLOGON_CONTROL_TC_QUERY:
5847 if (r->domain) {
5848 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
5849 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
5850 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
5851 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
5852 if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) {
5853 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));
5855 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t)));
5856 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16));
5857 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
5859 break;
5861 case NETLOGON_CONTROL_TRANSPORT_NOTIFY:
5862 if (r->domain) {
5863 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
5864 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
5865 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
5866 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
5867 if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) {
5868 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));
5870 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t)));
5871 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16));
5872 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
5874 break;
5876 case NETLOGON_CONTROL_SET_DBFLAG:
5877 break;
5879 default:
5880 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5883 return NDR_ERR_SUCCESS;
5886 _PUBLIC_ void ndr_print_netr_CONTROL_DATA_INFORMATION(struct ndr_print *ndr, const char *name, const union netr_CONTROL_DATA_INFORMATION *r)
5888 int level;
5889 level = ndr_print_get_switch_value(ndr, r);
5890 ndr_print_union(ndr, name, level, "netr_CONTROL_DATA_INFORMATION");
5891 switch (level) {
5892 case NETLOGON_CONTROL_REDISCOVER:
5893 ndr_print_ptr(ndr, "domain", r->domain);
5894 ndr->depth++;
5895 if (r->domain) {
5896 ndr_print_string(ndr, "domain", r->domain);
5898 ndr->depth--;
5899 break;
5901 case NETLOGON_CONTROL_TC_QUERY:
5902 ndr_print_ptr(ndr, "domain", r->domain);
5903 ndr->depth++;
5904 if (r->domain) {
5905 ndr_print_string(ndr, "domain", r->domain);
5907 ndr->depth--;
5908 break;
5910 case NETLOGON_CONTROL_TRANSPORT_NOTIFY:
5911 ndr_print_ptr(ndr, "domain", r->domain);
5912 ndr->depth++;
5913 if (r->domain) {
5914 ndr_print_string(ndr, "domain", r->domain);
5916 ndr->depth--;
5917 break;
5919 case NETLOGON_CONTROL_SET_DBFLAG:
5920 ndr_print_uint32(ndr, "debug_level", r->debug_level);
5921 break;
5923 default:
5924 ndr_print_bad_level(ndr, name, level);
5928 static enum ndr_err_code ndr_push_netr_NegotiateFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
5930 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
5931 return NDR_ERR_SUCCESS;
5934 static enum ndr_err_code ndr_pull_netr_NegotiateFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
5936 uint32_t v;
5937 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
5938 *r = v;
5939 return NDR_ERR_SUCCESS;
5942 _PUBLIC_ void ndr_print_netr_NegotiateFlags(struct ndr_print *ndr, const char *name, uint32_t r)
5944 ndr_print_uint32(ndr, name, r);
5945 ndr->depth++;
5946 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_ACCOUNT_LOCKOUT", NETLOGON_NEG_ACCOUNT_LOCKOUT, r);
5947 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_PERSISTENT_SAMREPL", NETLOGON_NEG_PERSISTENT_SAMREPL, r);
5948 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_ARCFOUR", NETLOGON_NEG_ARCFOUR, r);
5949 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_PROMOTION_COUNT", NETLOGON_NEG_PROMOTION_COUNT, r);
5950 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_CHANGELOG_BDC", NETLOGON_NEG_CHANGELOG_BDC, r);
5951 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_FULL_SYNC_REPL", NETLOGON_NEG_FULL_SYNC_REPL, r);
5952 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_MULTIPLE_SIDS", NETLOGON_NEG_MULTIPLE_SIDS, r);
5953 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_REDO", NETLOGON_NEG_REDO, r);
5954 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_PASSWORD_CHANGE_REFUSAL", NETLOGON_NEG_PASSWORD_CHANGE_REFUSAL, r);
5955 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_SEND_PASSWORD_INFO_PDC", NETLOGON_NEG_SEND_PASSWORD_INFO_PDC, r);
5956 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_GENERIC_PASSTHROUGH", NETLOGON_NEG_GENERIC_PASSTHROUGH, r);
5957 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_CONCURRENT_RPC", NETLOGON_NEG_CONCURRENT_RPC, r);
5958 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_AVOID_ACCOUNT_DB_REPL", NETLOGON_NEG_AVOID_ACCOUNT_DB_REPL, r);
5959 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_AVOID_SECURITYAUTH_DB_REPL", NETLOGON_NEG_AVOID_SECURITYAUTH_DB_REPL, r);
5960 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_128BIT", NETLOGON_NEG_128BIT, r);
5961 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_TRANSITIVE_TRUSTS", NETLOGON_NEG_TRANSITIVE_TRUSTS, r);
5962 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_DNS_DOMAIN_TRUSTS", NETLOGON_NEG_DNS_DOMAIN_TRUSTS, r);
5963 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_PASSWORD_SET2", NETLOGON_NEG_PASSWORD_SET2, r);
5964 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_GETDOMAININFO", NETLOGON_NEG_GETDOMAININFO, r);
5965 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_CROSS_FOREST_TRUSTS", NETLOGON_NEG_CROSS_FOREST_TRUSTS, r);
5966 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_NEUTRALIZE_NT4_EMULATION", NETLOGON_NEG_NEUTRALIZE_NT4_EMULATION, r);
5967 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_RODC_PASSTHROUGH", NETLOGON_NEG_RODC_PASSTHROUGH, r);
5968 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_AUTHENTICATED_RPC_LSASS", NETLOGON_NEG_AUTHENTICATED_RPC_LSASS, r);
5969 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_SCHANNEL", NETLOGON_NEG_SCHANNEL, r);
5970 ndr->depth--;
5973 static enum ndr_err_code ndr_push_netr_ChangeLogFlags(struct ndr_push *ndr, int ndr_flags, uint16_t r)
5975 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
5976 return NDR_ERR_SUCCESS;
5979 static enum ndr_err_code ndr_pull_netr_ChangeLogFlags(struct ndr_pull *ndr, int ndr_flags, uint16_t *r)
5981 uint16_t v;
5982 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
5983 *r = v;
5984 return NDR_ERR_SUCCESS;
5987 _PUBLIC_ void ndr_print_netr_ChangeLogFlags(struct ndr_print *ndr, const char *name, uint16_t r)
5989 ndr_print_uint16(ndr, name, r);
5990 ndr->depth++;
5991 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_CHANGELOG_IMMEDIATE_REPL_REQUIRED", NETR_CHANGELOG_IMMEDIATE_REPL_REQUIRED, r);
5992 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_CHANGELOG_CHANGED_PASSWORD", NETR_CHANGELOG_CHANGED_PASSWORD, r);
5993 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_CHANGELOG_SID_INCLUDED", NETR_CHANGELOG_SID_INCLUDED, r);
5994 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_CHANGELOG_NAME_INCLUDED", NETR_CHANGELOG_NAME_INCLUDED, r);
5995 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_CHANGELOG_FIRST_PROMOTION_OBJ", NETR_CHANGELOG_FIRST_PROMOTION_OBJ, r);
5996 ndr->depth--;
5999 static enum ndr_err_code ndr_push_netr_ChangeLogObject(struct ndr_push *ndr, int ndr_flags, const union netr_ChangeLogObject *r)
6001 if (ndr_flags & NDR_SCALARS) {
6002 int level = ndr_push_get_switch_value(ndr, r);
6003 switch (level) {
6004 case NETR_CHANGELOG_SID_INCLUDED: {
6005 NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, &r->object_sid));
6006 break; }
6008 case NETR_CHANGELOG_NAME_INCLUDED: {
6010 uint32_t _flags_save_string = ndr->flags;
6011 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
6012 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->object_name));
6013 ndr->flags = _flags_save_string;
6015 break; }
6017 default: {
6018 break; }
6022 if (ndr_flags & NDR_BUFFERS) {
6023 int level = ndr_push_get_switch_value(ndr, r);
6024 switch (level) {
6025 case NETR_CHANGELOG_SID_INCLUDED:
6026 NDR_CHECK(ndr_push_dom_sid(ndr, NDR_BUFFERS, &r->object_sid));
6027 break;
6029 case NETR_CHANGELOG_NAME_INCLUDED:
6030 break;
6032 default:
6033 break;
6037 return NDR_ERR_SUCCESS;
6040 static enum ndr_err_code ndr_pull_netr_ChangeLogObject(struct ndr_pull *ndr, int ndr_flags, union netr_ChangeLogObject *r)
6042 int level;
6043 level = ndr_pull_get_switch_value(ndr, r);
6044 if (ndr_flags & NDR_SCALARS) {
6045 switch (level) {
6046 case NETR_CHANGELOG_SID_INCLUDED: {
6047 NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, &r->object_sid));
6048 break; }
6050 case NETR_CHANGELOG_NAME_INCLUDED: {
6052 uint32_t _flags_save_string = ndr->flags;
6053 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
6054 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->object_name));
6055 ndr->flags = _flags_save_string;
6057 break; }
6059 default: {
6060 break; }
6064 if (ndr_flags & NDR_BUFFERS) {
6065 switch (level) {
6066 case NETR_CHANGELOG_SID_INCLUDED:
6067 NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_BUFFERS, &r->object_sid));
6068 break;
6070 case NETR_CHANGELOG_NAME_INCLUDED:
6071 break;
6073 default:
6074 break;
6078 return NDR_ERR_SUCCESS;
6081 _PUBLIC_ void ndr_print_netr_ChangeLogObject(struct ndr_print *ndr, const char *name, const union netr_ChangeLogObject *r)
6083 int level;
6084 level = ndr_print_get_switch_value(ndr, r);
6085 ndr_print_union(ndr, name, level, "netr_ChangeLogObject");
6086 switch (level) {
6087 case NETR_CHANGELOG_SID_INCLUDED:
6088 ndr_print_dom_sid(ndr, "object_sid", &r->object_sid);
6089 break;
6091 case NETR_CHANGELOG_NAME_INCLUDED:
6092 ndr_print_string(ndr, "object_name", r->object_name);
6093 break;
6095 default:
6096 break;
6101 _PUBLIC_ enum ndr_err_code ndr_push_netr_ChangeLogEntry(struct ndr_push *ndr, int ndr_flags, const struct netr_ChangeLogEntry *r)
6103 if (ndr_flags & NDR_SCALARS) {
6104 NDR_CHECK(ndr_push_align(ndr, 4));
6105 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->serial_number1));
6106 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->serial_number2));
6107 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->object_rid));
6108 NDR_CHECK(ndr_push_netr_ChangeLogFlags(ndr, NDR_SCALARS, r->flags));
6109 NDR_CHECK(ndr_push_netr_SamDatabaseID8Bit(ndr, NDR_SCALARS, r->db_index));
6110 NDR_CHECK(ndr_push_netr_DeltaEnum8Bit(ndr, NDR_SCALARS, r->delta_type));
6111 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->object, r->flags & (NETR_CHANGELOG_SID_INCLUDED | NETR_CHANGELOG_NAME_INCLUDED)));
6112 NDR_CHECK(ndr_push_netr_ChangeLogObject(ndr, NDR_SCALARS, &r->object));
6114 if (ndr_flags & NDR_BUFFERS) {
6115 NDR_CHECK(ndr_push_netr_ChangeLogObject(ndr, NDR_BUFFERS, &r->object));
6117 return NDR_ERR_SUCCESS;
6120 _PUBLIC_ enum ndr_err_code ndr_pull_netr_ChangeLogEntry(struct ndr_pull *ndr, int ndr_flags, struct netr_ChangeLogEntry *r)
6122 if (ndr_flags & NDR_SCALARS) {
6123 NDR_CHECK(ndr_pull_align(ndr, 4));
6124 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->serial_number1));
6125 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->serial_number2));
6126 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->object_rid));
6127 NDR_CHECK(ndr_pull_netr_ChangeLogFlags(ndr, NDR_SCALARS, &r->flags));
6128 NDR_CHECK(ndr_pull_netr_SamDatabaseID8Bit(ndr, NDR_SCALARS, &r->db_index));
6129 NDR_CHECK(ndr_pull_netr_DeltaEnum8Bit(ndr, NDR_SCALARS, &r->delta_type));
6130 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->object, r->flags & (NETR_CHANGELOG_SID_INCLUDED | NETR_CHANGELOG_NAME_INCLUDED)));
6131 NDR_CHECK(ndr_pull_netr_ChangeLogObject(ndr, NDR_SCALARS, &r->object));
6133 if (ndr_flags & NDR_BUFFERS) {
6134 NDR_CHECK(ndr_pull_netr_ChangeLogObject(ndr, NDR_BUFFERS, &r->object));
6136 return NDR_ERR_SUCCESS;
6139 _PUBLIC_ void ndr_print_netr_ChangeLogEntry(struct ndr_print *ndr, const char *name, const struct netr_ChangeLogEntry *r)
6141 ndr_print_struct(ndr, name, "netr_ChangeLogEntry");
6142 ndr->depth++;
6143 ndr_print_uint32(ndr, "serial_number1", r->serial_number1);
6144 ndr_print_uint32(ndr, "serial_number2", r->serial_number2);
6145 ndr_print_uint32(ndr, "object_rid", r->object_rid);
6146 ndr_print_netr_ChangeLogFlags(ndr, "flags", r->flags);
6147 ndr_print_netr_SamDatabaseID8Bit(ndr, "db_index", r->db_index);
6148 ndr_print_netr_DeltaEnum8Bit(ndr, "delta_type", r->delta_type);
6149 ndr_print_set_switch_value(ndr, &r->object, r->flags & (NETR_CHANGELOG_SID_INCLUDED | NETR_CHANGELOG_NAME_INCLUDED));
6150 ndr_print_netr_ChangeLogObject(ndr, "object", &r->object);
6151 ndr->depth--;
6154 _PUBLIC_ size_t ndr_size_netr_ChangeLogEntry(const struct netr_ChangeLogEntry *r, int flags)
6156 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_netr_ChangeLogEntry);
6159 static enum ndr_err_code ndr_push_netr_Blob(struct ndr_push *ndr, int ndr_flags, const struct netr_Blob *r)
6161 if (ndr_flags & NDR_SCALARS) {
6162 NDR_CHECK(ndr_push_align(ndr, 4));
6163 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
6164 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
6166 if (ndr_flags & NDR_BUFFERS) {
6167 if (r->data) {
6168 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
6169 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
6172 return NDR_ERR_SUCCESS;
6175 static enum ndr_err_code ndr_pull_netr_Blob(struct ndr_pull *ndr, int ndr_flags, struct netr_Blob *r)
6177 uint32_t _ptr_data;
6178 TALLOC_CTX *_mem_save_data_0;
6179 if (ndr_flags & NDR_SCALARS) {
6180 NDR_CHECK(ndr_pull_align(ndr, 4));
6181 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
6182 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
6183 if (_ptr_data) {
6184 NDR_PULL_ALLOC(ndr, r->data);
6185 } else {
6186 r->data = NULL;
6189 if (ndr_flags & NDR_BUFFERS) {
6190 if (r->data) {
6191 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
6192 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
6193 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
6194 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
6195 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data)));
6196 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
6198 if (r->data) {
6199 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length));
6202 return NDR_ERR_SUCCESS;
6205 _PUBLIC_ void ndr_print_netr_Blob(struct ndr_print *ndr, const char *name, const struct netr_Blob *r)
6207 ndr_print_struct(ndr, name, "netr_Blob");
6208 ndr->depth++;
6209 ndr_print_uint32(ndr, "length", r->length);
6210 ndr_print_ptr(ndr, "data", r->data);
6211 ndr->depth++;
6212 if (r->data) {
6213 ndr_print_array_uint8(ndr, "data", r->data, r->length);
6215 ndr->depth--;
6216 ndr->depth--;
6219 static enum ndr_err_code ndr_push_netr_DsRGetDCName_flags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
6221 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
6222 return NDR_ERR_SUCCESS;
6225 static enum ndr_err_code ndr_pull_netr_DsRGetDCName_flags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
6227 uint32_t v;
6228 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
6229 *r = v;
6230 return NDR_ERR_SUCCESS;
6233 _PUBLIC_ void ndr_print_netr_DsRGetDCName_flags(struct ndr_print *ndr, const char *name, uint32_t r)
6235 ndr_print_uint32(ndr, name, r);
6236 ndr->depth++;
6237 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_FORCE_REDISCOVERY", DS_FORCE_REDISCOVERY, r);
6238 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DIRECTORY_SERVICE_REQUIRED", DS_DIRECTORY_SERVICE_REQUIRED, r);
6239 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DIRECTORY_SERVICE_PREFERRED", DS_DIRECTORY_SERVICE_PREFERRED, r);
6240 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_GC_SERVER_REQUIRED", DS_GC_SERVER_REQUIRED, r);
6241 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_PDC_REQUIRED", DS_PDC_REQUIRED, r);
6242 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_BACKGROUND_ONLY", DS_BACKGROUND_ONLY, r);
6243 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_IP_REQUIRED", DS_IP_REQUIRED, r);
6244 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_KDC_REQUIRED", DS_KDC_REQUIRED, r);
6245 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_TIMESERV_REQUIRED", DS_TIMESERV_REQUIRED, r);
6246 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_WRITABLE_REQUIRED", DS_WRITABLE_REQUIRED, r);
6247 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_GOOD_TIMESERV_PREFERRED", DS_GOOD_TIMESERV_PREFERRED, r);
6248 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_AVOID_SELF", DS_AVOID_SELF, r);
6249 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_ONLY_LDAP_NEEDED", DS_ONLY_LDAP_NEEDED, r);
6250 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_IS_FLAT_NAME", DS_IS_FLAT_NAME, r);
6251 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_IS_DNS_NAME", DS_IS_DNS_NAME, r);
6252 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_TRY_NEXTCLOSEST_SITE", DS_TRY_NEXTCLOSEST_SITE, r);
6253 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DIRECTORY_SERVICE_6_REQUIRED", DS_DIRECTORY_SERVICE_6_REQUIRED, r);
6254 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_RETURN_DNS_NAME", DS_RETURN_DNS_NAME, r);
6255 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_RETURN_FLAT_NAME", DS_RETURN_FLAT_NAME, r);
6256 ndr->depth--;
6259 static enum ndr_err_code ndr_push_netr_DsRGetDCNameInfo_AddressType(struct ndr_push *ndr, int ndr_flags, enum netr_DsRGetDCNameInfo_AddressType r)
6261 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
6262 return NDR_ERR_SUCCESS;
6265 static enum ndr_err_code ndr_pull_netr_DsRGetDCNameInfo_AddressType(struct ndr_pull *ndr, int ndr_flags, enum netr_DsRGetDCNameInfo_AddressType *r)
6267 uint32_t v;
6268 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
6269 *r = v;
6270 return NDR_ERR_SUCCESS;
6273 _PUBLIC_ void ndr_print_netr_DsRGetDCNameInfo_AddressType(struct ndr_print *ndr, const char *name, enum netr_DsRGetDCNameInfo_AddressType r)
6275 const char *val = NULL;
6277 switch (r) {
6278 case DS_ADDRESS_TYPE_INET: val = "DS_ADDRESS_TYPE_INET"; break;
6279 case DS_ADDRESS_TYPE_NETBIOS: val = "DS_ADDRESS_TYPE_NETBIOS"; break;
6281 ndr_print_enum(ndr, name, "ENUM", val, r);
6284 static enum ndr_err_code ndr_push_netr_DsR_DcFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
6286 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
6287 return NDR_ERR_SUCCESS;
6290 static enum ndr_err_code ndr_pull_netr_DsR_DcFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
6292 uint32_t v;
6293 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
6294 *r = v;
6295 return NDR_ERR_SUCCESS;
6298 _PUBLIC_ void ndr_print_netr_DsR_DcFlags(struct ndr_print *ndr, const char *name, uint32_t r)
6300 ndr_print_uint32(ndr, name, r);
6301 ndr->depth++;
6302 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_PDC", DS_SERVER_PDC, r);
6303 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_GC", DS_SERVER_GC, r);
6304 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_LDAP", DS_SERVER_LDAP, r);
6305 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_DS", DS_SERVER_DS, r);
6306 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_KDC", DS_SERVER_KDC, r);
6307 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_TIMESERV", DS_SERVER_TIMESERV, r);
6308 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_CLOSEST", DS_SERVER_CLOSEST, r);
6309 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_WRITABLE", DS_SERVER_WRITABLE, r);
6310 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_GOOD_TIMESERV", DS_SERVER_GOOD_TIMESERV, r);
6311 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_NDNC", DS_SERVER_NDNC, r);
6312 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_SELECT_SECRET_DOMAIN_6", DS_SERVER_SELECT_SECRET_DOMAIN_6, r);
6313 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_FULL_SECRET_DOMAIN_6", DS_SERVER_FULL_SECRET_DOMAIN_6, r);
6314 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DNS_CONTROLLER", DS_DNS_CONTROLLER, r);
6315 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DNS_DOMAIN", DS_DNS_DOMAIN, r);
6316 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DNS_FOREST", DS_DNS_FOREST, r);
6317 ndr->depth--;
6320 _PUBLIC_ enum ndr_err_code ndr_push_netr_DsRGetDCNameInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRGetDCNameInfo *r)
6322 if (ndr_flags & NDR_SCALARS) {
6323 NDR_CHECK(ndr_push_align(ndr, 4));
6324 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dc_unc));
6325 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dc_address));
6326 NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo_AddressType(ndr, NDR_SCALARS, r->dc_address_type));
6327 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->domain_guid));
6328 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_name));
6329 NDR_CHECK(ndr_push_unique_ptr(ndr, r->forest_name));
6330 NDR_CHECK(ndr_push_netr_DsR_DcFlags(ndr, NDR_SCALARS, r->dc_flags));
6331 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dc_site_name));
6332 NDR_CHECK(ndr_push_unique_ptr(ndr, r->client_site_name));
6334 if (ndr_flags & NDR_BUFFERS) {
6335 if (r->dc_unc) {
6336 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_unc, CH_UTF16)));
6337 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6338 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_unc, CH_UTF16)));
6339 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dc_unc, ndr_charset_length(r->dc_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6341 if (r->dc_address) {
6342 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_address, CH_UTF16)));
6343 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6344 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_address, CH_UTF16)));
6345 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dc_address, ndr_charset_length(r->dc_address, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6347 if (r->domain_name) {
6348 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
6349 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6350 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
6351 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_name, ndr_charset_length(r->domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6353 if (r->forest_name) {
6354 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->forest_name, CH_UTF16)));
6355 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6356 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->forest_name, CH_UTF16)));
6357 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->forest_name, ndr_charset_length(r->forest_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6359 if (r->dc_site_name) {
6360 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_site_name, CH_UTF16)));
6361 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6362 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_site_name, CH_UTF16)));
6363 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));
6365 if (r->client_site_name) {
6366 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->client_site_name, CH_UTF16)));
6367 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6368 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->client_site_name, CH_UTF16)));
6369 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));
6372 return NDR_ERR_SUCCESS;
6375 _PUBLIC_ enum ndr_err_code ndr_pull_netr_DsRGetDCNameInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRGetDCNameInfo *r)
6377 uint32_t _ptr_dc_unc;
6378 TALLOC_CTX *_mem_save_dc_unc_0;
6379 uint32_t _ptr_dc_address;
6380 TALLOC_CTX *_mem_save_dc_address_0;
6381 uint32_t _ptr_domain_name;
6382 TALLOC_CTX *_mem_save_domain_name_0;
6383 uint32_t _ptr_forest_name;
6384 TALLOC_CTX *_mem_save_forest_name_0;
6385 uint32_t _ptr_dc_site_name;
6386 TALLOC_CTX *_mem_save_dc_site_name_0;
6387 uint32_t _ptr_client_site_name;
6388 TALLOC_CTX *_mem_save_client_site_name_0;
6389 if (ndr_flags & NDR_SCALARS) {
6390 NDR_CHECK(ndr_pull_align(ndr, 4));
6391 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dc_unc));
6392 if (_ptr_dc_unc) {
6393 NDR_PULL_ALLOC(ndr, r->dc_unc);
6394 } else {
6395 r->dc_unc = NULL;
6397 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dc_address));
6398 if (_ptr_dc_address) {
6399 NDR_PULL_ALLOC(ndr, r->dc_address);
6400 } else {
6401 r->dc_address = NULL;
6403 NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo_AddressType(ndr, NDR_SCALARS, &r->dc_address_type));
6404 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->domain_guid));
6405 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
6406 if (_ptr_domain_name) {
6407 NDR_PULL_ALLOC(ndr, r->domain_name);
6408 } else {
6409 r->domain_name = NULL;
6411 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_forest_name));
6412 if (_ptr_forest_name) {
6413 NDR_PULL_ALLOC(ndr, r->forest_name);
6414 } else {
6415 r->forest_name = NULL;
6417 NDR_CHECK(ndr_pull_netr_DsR_DcFlags(ndr, NDR_SCALARS, &r->dc_flags));
6418 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dc_site_name));
6419 if (_ptr_dc_site_name) {
6420 NDR_PULL_ALLOC(ndr, r->dc_site_name);
6421 } else {
6422 r->dc_site_name = NULL;
6424 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_site_name));
6425 if (_ptr_client_site_name) {
6426 NDR_PULL_ALLOC(ndr, r->client_site_name);
6427 } else {
6428 r->client_site_name = NULL;
6431 if (ndr_flags & NDR_BUFFERS) {
6432 if (r->dc_unc) {
6433 _mem_save_dc_unc_0 = NDR_PULL_GET_MEM_CTX(ndr);
6434 NDR_PULL_SET_MEM_CTX(ndr, r->dc_unc, 0);
6435 NDR_CHECK(ndr_pull_array_size(ndr, &r->dc_unc));
6436 NDR_CHECK(ndr_pull_array_length(ndr, &r->dc_unc));
6437 if (ndr_get_array_length(ndr, &r->dc_unc) > ndr_get_array_size(ndr, &r->dc_unc)) {
6438 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));
6440 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dc_unc), sizeof(uint16_t)));
6441 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dc_unc, ndr_get_array_length(ndr, &r->dc_unc), sizeof(uint16_t), CH_UTF16));
6442 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dc_unc_0, 0);
6444 if (r->dc_address) {
6445 _mem_save_dc_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
6446 NDR_PULL_SET_MEM_CTX(ndr, r->dc_address, 0);
6447 NDR_CHECK(ndr_pull_array_size(ndr, &r->dc_address));
6448 NDR_CHECK(ndr_pull_array_length(ndr, &r->dc_address));
6449 if (ndr_get_array_length(ndr, &r->dc_address) > ndr_get_array_size(ndr, &r->dc_address)) {
6450 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));
6452 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dc_address), sizeof(uint16_t)));
6453 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dc_address, ndr_get_array_length(ndr, &r->dc_address), sizeof(uint16_t), CH_UTF16));
6454 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dc_address_0, 0);
6456 if (r->domain_name) {
6457 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6458 NDR_PULL_SET_MEM_CTX(ndr, r->domain_name, 0);
6459 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_name));
6460 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_name));
6461 if (ndr_get_array_length(ndr, &r->domain_name) > ndr_get_array_size(ndr, &r->domain_name)) {
6462 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));
6464 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t)));
6465 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t), CH_UTF16));
6466 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
6468 if (r->forest_name) {
6469 _mem_save_forest_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6470 NDR_PULL_SET_MEM_CTX(ndr, r->forest_name, 0);
6471 NDR_CHECK(ndr_pull_array_size(ndr, &r->forest_name));
6472 NDR_CHECK(ndr_pull_array_length(ndr, &r->forest_name));
6473 if (ndr_get_array_length(ndr, &r->forest_name) > ndr_get_array_size(ndr, &r->forest_name)) {
6474 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));
6476 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->forest_name), sizeof(uint16_t)));
6477 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->forest_name, ndr_get_array_length(ndr, &r->forest_name), sizeof(uint16_t), CH_UTF16));
6478 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_name_0, 0);
6480 if (r->dc_site_name) {
6481 _mem_save_dc_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6482 NDR_PULL_SET_MEM_CTX(ndr, r->dc_site_name, 0);
6483 NDR_CHECK(ndr_pull_array_size(ndr, &r->dc_site_name));
6484 NDR_CHECK(ndr_pull_array_length(ndr, &r->dc_site_name));
6485 if (ndr_get_array_length(ndr, &r->dc_site_name) > ndr_get_array_size(ndr, &r->dc_site_name)) {
6486 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));
6488 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dc_site_name), sizeof(uint16_t)));
6489 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));
6490 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dc_site_name_0, 0);
6492 if (r->client_site_name) {
6493 _mem_save_client_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6494 NDR_PULL_SET_MEM_CTX(ndr, r->client_site_name, 0);
6495 NDR_CHECK(ndr_pull_array_size(ndr, &r->client_site_name));
6496 NDR_CHECK(ndr_pull_array_length(ndr, &r->client_site_name));
6497 if (ndr_get_array_length(ndr, &r->client_site_name) > ndr_get_array_size(ndr, &r->client_site_name)) {
6498 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));
6500 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->client_site_name), sizeof(uint16_t)));
6501 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));
6502 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_site_name_0, 0);
6505 return NDR_ERR_SUCCESS;
6508 _PUBLIC_ void ndr_print_netr_DsRGetDCNameInfo(struct ndr_print *ndr, const char *name, const struct netr_DsRGetDCNameInfo *r)
6510 ndr_print_struct(ndr, name, "netr_DsRGetDCNameInfo");
6511 ndr->depth++;
6512 ndr_print_ptr(ndr, "dc_unc", r->dc_unc);
6513 ndr->depth++;
6514 if (r->dc_unc) {
6515 ndr_print_string(ndr, "dc_unc", r->dc_unc);
6517 ndr->depth--;
6518 ndr_print_ptr(ndr, "dc_address", r->dc_address);
6519 ndr->depth++;
6520 if (r->dc_address) {
6521 ndr_print_string(ndr, "dc_address", r->dc_address);
6523 ndr->depth--;
6524 ndr_print_netr_DsRGetDCNameInfo_AddressType(ndr, "dc_address_type", r->dc_address_type);
6525 ndr_print_GUID(ndr, "domain_guid", &r->domain_guid);
6526 ndr_print_ptr(ndr, "domain_name", r->domain_name);
6527 ndr->depth++;
6528 if (r->domain_name) {
6529 ndr_print_string(ndr, "domain_name", r->domain_name);
6531 ndr->depth--;
6532 ndr_print_ptr(ndr, "forest_name", r->forest_name);
6533 ndr->depth++;
6534 if (r->forest_name) {
6535 ndr_print_string(ndr, "forest_name", r->forest_name);
6537 ndr->depth--;
6538 ndr_print_netr_DsR_DcFlags(ndr, "dc_flags", r->dc_flags);
6539 ndr_print_ptr(ndr, "dc_site_name", r->dc_site_name);
6540 ndr->depth++;
6541 if (r->dc_site_name) {
6542 ndr_print_string(ndr, "dc_site_name", r->dc_site_name);
6544 ndr->depth--;
6545 ndr_print_ptr(ndr, "client_site_name", r->client_site_name);
6546 ndr->depth++;
6547 if (r->client_site_name) {
6548 ndr_print_string(ndr, "client_site_name", r->client_site_name);
6550 ndr->depth--;
6551 ndr->depth--;
6554 static enum ndr_err_code ndr_push_netr_Capabilities(struct ndr_push *ndr, int ndr_flags, const union netr_Capabilities *r)
6556 if (ndr_flags & NDR_SCALARS) {
6557 int level = ndr_push_get_switch_value(ndr, r);
6558 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
6559 switch (level) {
6560 case 1: {
6561 NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, r->server_capabilities));
6562 break; }
6564 default:
6565 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
6568 if (ndr_flags & NDR_BUFFERS) {
6569 int level = ndr_push_get_switch_value(ndr, r);
6570 switch (level) {
6571 case 1:
6572 break;
6574 default:
6575 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
6578 return NDR_ERR_SUCCESS;
6581 static enum ndr_err_code ndr_pull_netr_Capabilities(struct ndr_pull *ndr, int ndr_flags, union netr_Capabilities *r)
6583 int level;
6584 uint32_t _level;
6585 level = ndr_pull_get_switch_value(ndr, r);
6586 if (ndr_flags & NDR_SCALARS) {
6587 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
6588 if (_level != level) {
6589 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
6591 switch (level) {
6592 case 1: {
6593 NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, &r->server_capabilities));
6594 break; }
6596 default:
6597 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
6600 if (ndr_flags & NDR_BUFFERS) {
6601 switch (level) {
6602 case 1:
6603 break;
6605 default:
6606 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
6609 return NDR_ERR_SUCCESS;
6612 _PUBLIC_ void ndr_print_netr_Capabilities(struct ndr_print *ndr, const char *name, const union netr_Capabilities *r)
6614 int level;
6615 level = ndr_print_get_switch_value(ndr, r);
6616 ndr_print_union(ndr, name, level, "netr_Capabilities");
6617 switch (level) {
6618 case 1:
6619 ndr_print_netr_NegotiateFlags(ndr, "server_capabilities", r->server_capabilities);
6620 break;
6622 default:
6623 ndr_print_bad_level(ndr, name, level);
6627 static enum ndr_err_code ndr_push_netr_BinaryString(struct ndr_push *ndr, int ndr_flags, const struct netr_BinaryString *r)
6629 uint32_t cntr_data_1;
6631 uint32_t _flags_save_STRUCT = ndr->flags;
6632 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
6633 if (ndr_flags & NDR_SCALARS) {
6634 NDR_CHECK(ndr_push_align(ndr, 4));
6635 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
6636 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->size));
6637 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
6639 if (ndr_flags & NDR_BUFFERS) {
6640 if (r->data) {
6641 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size / 2));
6642 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6643 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length / 2));
6644 for (cntr_data_1 = 0; cntr_data_1 < r->length / 2; cntr_data_1++) {
6645 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->data[cntr_data_1]));
6649 ndr->flags = _flags_save_STRUCT;
6651 return NDR_ERR_SUCCESS;
6654 static enum ndr_err_code ndr_pull_netr_BinaryString(struct ndr_pull *ndr, int ndr_flags, struct netr_BinaryString *r)
6656 uint32_t _ptr_data;
6657 uint32_t cntr_data_1;
6658 TALLOC_CTX *_mem_save_data_0;
6659 TALLOC_CTX *_mem_save_data_1;
6661 uint32_t _flags_save_STRUCT = ndr->flags;
6662 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
6663 if (ndr_flags & NDR_SCALARS) {
6664 NDR_CHECK(ndr_pull_align(ndr, 4));
6665 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
6666 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
6667 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
6668 if (_ptr_data) {
6669 NDR_PULL_ALLOC(ndr, r->data);
6670 } else {
6671 r->data = NULL;
6674 if (ndr_flags & NDR_BUFFERS) {
6675 if (r->data) {
6676 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
6677 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
6678 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
6679 NDR_CHECK(ndr_pull_array_length(ndr, &r->data));
6680 if (ndr_get_array_length(ndr, &r->data) > ndr_get_array_size(ndr, &r->data)) {
6681 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));
6683 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
6684 _mem_save_data_1 = NDR_PULL_GET_MEM_CTX(ndr);
6685 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
6686 for (cntr_data_1 = 0; cntr_data_1 < r->length / 2; cntr_data_1++) {
6687 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->data[cntr_data_1]));
6689 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_1, 0);
6690 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
6692 if (r->data) {
6693 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->size / 2));
6695 if (r->data) {
6696 NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->data, r->length / 2));
6699 ndr->flags = _flags_save_STRUCT;
6701 return NDR_ERR_SUCCESS;
6704 _PUBLIC_ void ndr_print_netr_BinaryString(struct ndr_print *ndr, const char *name, const struct netr_BinaryString *r)
6706 uint32_t cntr_data_1;
6707 ndr_print_struct(ndr, name, "netr_BinaryString");
6709 uint32_t _flags_save_STRUCT = ndr->flags;
6710 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
6711 ndr->depth++;
6712 ndr_print_uint16(ndr, "length", r->length);
6713 ndr_print_uint16(ndr, "size", r->size);
6714 ndr_print_ptr(ndr, "data", r->data);
6715 ndr->depth++;
6716 if (r->data) {
6717 ndr->print(ndr, "%s: ARRAY(%d)", "data", (int)r->length / 2);
6718 ndr->depth++;
6719 for (cntr_data_1=0;cntr_data_1<r->length / 2;cntr_data_1++) {
6720 char *idx_1=NULL;
6721 if (asprintf(&idx_1, "[%d]", cntr_data_1) != -1) {
6722 ndr_print_uint16(ndr, "data", r->data[cntr_data_1]);
6723 free(idx_1);
6726 ndr->depth--;
6728 ndr->depth--;
6729 ndr->depth--;
6730 ndr->flags = _flags_save_STRUCT;
6734 static enum ndr_err_code ndr_push_netr_DomainQuery1(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainQuery1 *r)
6736 uint32_t cntr_unknown7_0;
6737 if (ndr_flags & NDR_SCALARS) {
6738 NDR_CHECK(ndr_push_align(ndr, 4));
6739 NDR_CHECK(ndr_push_netr_Blob(ndr, NDR_SCALARS, &r->blob));
6740 NDR_CHECK(ndr_push_unique_ptr(ndr, r->workstation_domain));
6741 NDR_CHECK(ndr_push_unique_ptr(ndr, r->workstation_site));
6742 NDR_CHECK(ndr_push_unique_ptr(ndr, r->unknown1));
6743 NDR_CHECK(ndr_push_unique_ptr(ndr, r->unknown2));
6744 NDR_CHECK(ndr_push_unique_ptr(ndr, r->unknown3));
6745 NDR_CHECK(ndr_push_unique_ptr(ndr, r->unknown4));
6746 NDR_CHECK(ndr_push_netr_BinaryString(ndr, NDR_SCALARS, &r->blob2));
6747 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->product));
6748 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown5));
6749 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown6));
6750 for (cntr_unknown7_0 = 0; cntr_unknown7_0 < 4; cntr_unknown7_0++) {
6751 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7[cntr_unknown7_0]));
6754 if (ndr_flags & NDR_BUFFERS) {
6755 NDR_CHECK(ndr_push_netr_Blob(ndr, NDR_BUFFERS, &r->blob));
6756 if (r->workstation_domain) {
6757 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->workstation_domain, CH_UTF16)));
6758 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6759 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->workstation_domain, CH_UTF16)));
6760 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->workstation_domain, ndr_charset_length(r->workstation_domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6762 if (r->workstation_site) {
6763 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->workstation_site, CH_UTF16)));
6764 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6765 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->workstation_site, CH_UTF16)));
6766 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->workstation_site, ndr_charset_length(r->workstation_site, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6768 if (r->unknown1) {
6769 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown1, CH_UTF16)));
6770 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6771 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown1, CH_UTF16)));
6772 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->unknown1, ndr_charset_length(r->unknown1, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6774 if (r->unknown2) {
6775 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown2, CH_UTF16)));
6776 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6777 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown2, CH_UTF16)));
6778 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->unknown2, ndr_charset_length(r->unknown2, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6780 if (r->unknown3) {
6781 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown3, CH_UTF16)));
6782 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6783 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown3, CH_UTF16)));
6784 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->unknown3, ndr_charset_length(r->unknown3, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6786 if (r->unknown4) {
6787 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown4, CH_UTF16)));
6788 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6789 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown4, CH_UTF16)));
6790 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->unknown4, ndr_charset_length(r->unknown4, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6792 NDR_CHECK(ndr_push_netr_BinaryString(ndr, NDR_BUFFERS, &r->blob2));
6793 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->product));
6794 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown5));
6795 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown6));
6797 return NDR_ERR_SUCCESS;
6800 static enum ndr_err_code ndr_pull_netr_DomainQuery1(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainQuery1 *r)
6802 uint32_t _ptr_workstation_domain;
6803 TALLOC_CTX *_mem_save_workstation_domain_0;
6804 uint32_t _ptr_workstation_site;
6805 TALLOC_CTX *_mem_save_workstation_site_0;
6806 uint32_t _ptr_unknown1;
6807 TALLOC_CTX *_mem_save_unknown1_0;
6808 uint32_t _ptr_unknown2;
6809 TALLOC_CTX *_mem_save_unknown2_0;
6810 uint32_t _ptr_unknown3;
6811 TALLOC_CTX *_mem_save_unknown3_0;
6812 uint32_t _ptr_unknown4;
6813 TALLOC_CTX *_mem_save_unknown4_0;
6814 uint32_t cntr_unknown7_0;
6815 if (ndr_flags & NDR_SCALARS) {
6816 NDR_CHECK(ndr_pull_align(ndr, 4));
6817 NDR_CHECK(ndr_pull_netr_Blob(ndr, NDR_SCALARS, &r->blob));
6818 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_workstation_domain));
6819 if (_ptr_workstation_domain) {
6820 NDR_PULL_ALLOC(ndr, r->workstation_domain);
6821 } else {
6822 r->workstation_domain = NULL;
6824 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_workstation_site));
6825 if (_ptr_workstation_site) {
6826 NDR_PULL_ALLOC(ndr, r->workstation_site);
6827 } else {
6828 r->workstation_site = NULL;
6830 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown1));
6831 if (_ptr_unknown1) {
6832 NDR_PULL_ALLOC(ndr, r->unknown1);
6833 } else {
6834 r->unknown1 = NULL;
6836 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown2));
6837 if (_ptr_unknown2) {
6838 NDR_PULL_ALLOC(ndr, r->unknown2);
6839 } else {
6840 r->unknown2 = NULL;
6842 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown3));
6843 if (_ptr_unknown3) {
6844 NDR_PULL_ALLOC(ndr, r->unknown3);
6845 } else {
6846 r->unknown3 = NULL;
6848 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown4));
6849 if (_ptr_unknown4) {
6850 NDR_PULL_ALLOC(ndr, r->unknown4);
6851 } else {
6852 r->unknown4 = NULL;
6854 NDR_CHECK(ndr_pull_netr_BinaryString(ndr, NDR_SCALARS, &r->blob2));
6855 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->product));
6856 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown5));
6857 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown6));
6858 for (cntr_unknown7_0 = 0; cntr_unknown7_0 < 4; cntr_unknown7_0++) {
6859 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7[cntr_unknown7_0]));
6862 if (ndr_flags & NDR_BUFFERS) {
6863 NDR_CHECK(ndr_pull_netr_Blob(ndr, NDR_BUFFERS, &r->blob));
6864 if (r->workstation_domain) {
6865 _mem_save_workstation_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
6866 NDR_PULL_SET_MEM_CTX(ndr, r->workstation_domain, 0);
6867 NDR_CHECK(ndr_pull_array_size(ndr, &r->workstation_domain));
6868 NDR_CHECK(ndr_pull_array_length(ndr, &r->workstation_domain));
6869 if (ndr_get_array_length(ndr, &r->workstation_domain) > ndr_get_array_size(ndr, &r->workstation_domain)) {
6870 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->workstation_domain), ndr_get_array_length(ndr, &r->workstation_domain));
6872 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->workstation_domain), sizeof(uint16_t)));
6873 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->workstation_domain, ndr_get_array_length(ndr, &r->workstation_domain), sizeof(uint16_t), CH_UTF16));
6874 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_workstation_domain_0, 0);
6876 if (r->workstation_site) {
6877 _mem_save_workstation_site_0 = NDR_PULL_GET_MEM_CTX(ndr);
6878 NDR_PULL_SET_MEM_CTX(ndr, r->workstation_site, 0);
6879 NDR_CHECK(ndr_pull_array_size(ndr, &r->workstation_site));
6880 NDR_CHECK(ndr_pull_array_length(ndr, &r->workstation_site));
6881 if (ndr_get_array_length(ndr, &r->workstation_site) > ndr_get_array_size(ndr, &r->workstation_site)) {
6882 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->workstation_site), ndr_get_array_length(ndr, &r->workstation_site));
6884 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->workstation_site), sizeof(uint16_t)));
6885 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->workstation_site, ndr_get_array_length(ndr, &r->workstation_site), sizeof(uint16_t), CH_UTF16));
6886 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_workstation_site_0, 0);
6888 if (r->unknown1) {
6889 _mem_save_unknown1_0 = NDR_PULL_GET_MEM_CTX(ndr);
6890 NDR_PULL_SET_MEM_CTX(ndr, r->unknown1, 0);
6891 NDR_CHECK(ndr_pull_array_size(ndr, &r->unknown1));
6892 NDR_CHECK(ndr_pull_array_length(ndr, &r->unknown1));
6893 if (ndr_get_array_length(ndr, &r->unknown1) > ndr_get_array_size(ndr, &r->unknown1)) {
6894 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->unknown1), ndr_get_array_length(ndr, &r->unknown1));
6896 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->unknown1), sizeof(uint16_t)));
6897 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->unknown1, ndr_get_array_length(ndr, &r->unknown1), sizeof(uint16_t), CH_UTF16));
6898 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown1_0, 0);
6900 if (r->unknown2) {
6901 _mem_save_unknown2_0 = NDR_PULL_GET_MEM_CTX(ndr);
6902 NDR_PULL_SET_MEM_CTX(ndr, r->unknown2, 0);
6903 NDR_CHECK(ndr_pull_array_size(ndr, &r->unknown2));
6904 NDR_CHECK(ndr_pull_array_length(ndr, &r->unknown2));
6905 if (ndr_get_array_length(ndr, &r->unknown2) > ndr_get_array_size(ndr, &r->unknown2)) {
6906 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->unknown2), ndr_get_array_length(ndr, &r->unknown2));
6908 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->unknown2), sizeof(uint16_t)));
6909 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->unknown2, ndr_get_array_length(ndr, &r->unknown2), sizeof(uint16_t), CH_UTF16));
6910 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown2_0, 0);
6912 if (r->unknown3) {
6913 _mem_save_unknown3_0 = NDR_PULL_GET_MEM_CTX(ndr);
6914 NDR_PULL_SET_MEM_CTX(ndr, r->unknown3, 0);
6915 NDR_CHECK(ndr_pull_array_size(ndr, &r->unknown3));
6916 NDR_CHECK(ndr_pull_array_length(ndr, &r->unknown3));
6917 if (ndr_get_array_length(ndr, &r->unknown3) > ndr_get_array_size(ndr, &r->unknown3)) {
6918 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->unknown3), ndr_get_array_length(ndr, &r->unknown3));
6920 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->unknown3), sizeof(uint16_t)));
6921 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->unknown3, ndr_get_array_length(ndr, &r->unknown3), sizeof(uint16_t), CH_UTF16));
6922 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown3_0, 0);
6924 if (r->unknown4) {
6925 _mem_save_unknown4_0 = NDR_PULL_GET_MEM_CTX(ndr);
6926 NDR_PULL_SET_MEM_CTX(ndr, r->unknown4, 0);
6927 NDR_CHECK(ndr_pull_array_size(ndr, &r->unknown4));
6928 NDR_CHECK(ndr_pull_array_length(ndr, &r->unknown4));
6929 if (ndr_get_array_length(ndr, &r->unknown4) > ndr_get_array_size(ndr, &r->unknown4)) {
6930 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->unknown4), ndr_get_array_length(ndr, &r->unknown4));
6932 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->unknown4), sizeof(uint16_t)));
6933 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->unknown4, ndr_get_array_length(ndr, &r->unknown4), sizeof(uint16_t), CH_UTF16));
6934 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown4_0, 0);
6936 NDR_CHECK(ndr_pull_netr_BinaryString(ndr, NDR_BUFFERS, &r->blob2));
6937 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->product));
6938 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown5));
6939 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown6));
6941 return NDR_ERR_SUCCESS;
6944 _PUBLIC_ void ndr_print_netr_DomainQuery1(struct ndr_print *ndr, const char *name, const struct netr_DomainQuery1 *r)
6946 uint32_t cntr_unknown7_0;
6947 ndr_print_struct(ndr, name, "netr_DomainQuery1");
6948 ndr->depth++;
6949 ndr_print_netr_Blob(ndr, "blob", &r->blob);
6950 ndr_print_ptr(ndr, "workstation_domain", r->workstation_domain);
6951 ndr->depth++;
6952 if (r->workstation_domain) {
6953 ndr_print_string(ndr, "workstation_domain", r->workstation_domain);
6955 ndr->depth--;
6956 ndr_print_ptr(ndr, "workstation_site", r->workstation_site);
6957 ndr->depth++;
6958 if (r->workstation_site) {
6959 ndr_print_string(ndr, "workstation_site", r->workstation_site);
6961 ndr->depth--;
6962 ndr_print_ptr(ndr, "unknown1", r->unknown1);
6963 ndr->depth++;
6964 if (r->unknown1) {
6965 ndr_print_string(ndr, "unknown1", r->unknown1);
6967 ndr->depth--;
6968 ndr_print_ptr(ndr, "unknown2", r->unknown2);
6969 ndr->depth++;
6970 if (r->unknown2) {
6971 ndr_print_string(ndr, "unknown2", r->unknown2);
6973 ndr->depth--;
6974 ndr_print_ptr(ndr, "unknown3", r->unknown3);
6975 ndr->depth++;
6976 if (r->unknown3) {
6977 ndr_print_string(ndr, "unknown3", r->unknown3);
6979 ndr->depth--;
6980 ndr_print_ptr(ndr, "unknown4", r->unknown4);
6981 ndr->depth++;
6982 if (r->unknown4) {
6983 ndr_print_string(ndr, "unknown4", r->unknown4);
6985 ndr->depth--;
6986 ndr_print_netr_BinaryString(ndr, "blob2", &r->blob2);
6987 ndr_print_lsa_String(ndr, "product", &r->product);
6988 ndr_print_lsa_String(ndr, "unknown5", &r->unknown5);
6989 ndr_print_lsa_String(ndr, "unknown6", &r->unknown6);
6990 ndr->print(ndr, "%s: ARRAY(%d)", "unknown7", (int)4);
6991 ndr->depth++;
6992 for (cntr_unknown7_0=0;cntr_unknown7_0<4;cntr_unknown7_0++) {
6993 char *idx_0=NULL;
6994 if (asprintf(&idx_0, "[%d]", cntr_unknown7_0) != -1) {
6995 ndr_print_uint32(ndr, "unknown7", r->unknown7[cntr_unknown7_0]);
6996 free(idx_0);
6999 ndr->depth--;
7000 ndr->depth--;
7003 static enum ndr_err_code ndr_push_netr_DomainQuery(struct ndr_push *ndr, int ndr_flags, const union netr_DomainQuery *r)
7005 if (ndr_flags & NDR_SCALARS) {
7006 int level = ndr_push_get_switch_value(ndr, r);
7007 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
7008 switch (level) {
7009 case 1: {
7010 NDR_CHECK(ndr_push_unique_ptr(ndr, r->query1));
7011 break; }
7013 case 2: {
7014 NDR_CHECK(ndr_push_unique_ptr(ndr, r->query1));
7015 break; }
7017 default:
7018 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7021 if (ndr_flags & NDR_BUFFERS) {
7022 int level = ndr_push_get_switch_value(ndr, r);
7023 switch (level) {
7024 case 1:
7025 if (r->query1) {
7026 NDR_CHECK(ndr_push_netr_DomainQuery1(ndr, NDR_SCALARS|NDR_BUFFERS, r->query1));
7028 break;
7030 case 2:
7031 if (r->query1) {
7032 NDR_CHECK(ndr_push_netr_DomainQuery1(ndr, NDR_SCALARS|NDR_BUFFERS, r->query1));
7034 break;
7036 default:
7037 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7040 return NDR_ERR_SUCCESS;
7043 static enum ndr_err_code ndr_pull_netr_DomainQuery(struct ndr_pull *ndr, int ndr_flags, union netr_DomainQuery *r)
7045 int level;
7046 uint32_t _level;
7047 TALLOC_CTX *_mem_save_query1_0;
7048 level = ndr_pull_get_switch_value(ndr, r);
7049 if (ndr_flags & NDR_SCALARS) {
7050 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
7051 if (_level != level) {
7052 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
7054 switch (level) {
7055 case 1: {
7056 uint32_t _ptr_query1;
7057 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_query1));
7058 if (_ptr_query1) {
7059 NDR_PULL_ALLOC(ndr, r->query1);
7060 } else {
7061 r->query1 = NULL;
7063 break; }
7065 case 2: {
7066 uint32_t _ptr_query1;
7067 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_query1));
7068 if (_ptr_query1) {
7069 NDR_PULL_ALLOC(ndr, r->query1);
7070 } else {
7071 r->query1 = NULL;
7073 break; }
7075 default:
7076 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7079 if (ndr_flags & NDR_BUFFERS) {
7080 switch (level) {
7081 case 1:
7082 if (r->query1) {
7083 _mem_save_query1_0 = NDR_PULL_GET_MEM_CTX(ndr);
7084 NDR_PULL_SET_MEM_CTX(ndr, r->query1, 0);
7085 NDR_CHECK(ndr_pull_netr_DomainQuery1(ndr, NDR_SCALARS|NDR_BUFFERS, r->query1));
7086 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query1_0, 0);
7088 break;
7090 case 2:
7091 if (r->query1) {
7092 _mem_save_query1_0 = NDR_PULL_GET_MEM_CTX(ndr);
7093 NDR_PULL_SET_MEM_CTX(ndr, r->query1, 0);
7094 NDR_CHECK(ndr_pull_netr_DomainQuery1(ndr, NDR_SCALARS|NDR_BUFFERS, r->query1));
7095 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query1_0, 0);
7097 break;
7099 default:
7100 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7103 return NDR_ERR_SUCCESS;
7106 _PUBLIC_ void ndr_print_netr_DomainQuery(struct ndr_print *ndr, const char *name, const union netr_DomainQuery *r)
7108 int level;
7109 level = ndr_print_get_switch_value(ndr, r);
7110 ndr_print_union(ndr, name, level, "netr_DomainQuery");
7111 switch (level) {
7112 case 1:
7113 ndr_print_ptr(ndr, "query1", r->query1);
7114 ndr->depth++;
7115 if (r->query1) {
7116 ndr_print_netr_DomainQuery1(ndr, "query1", r->query1);
7118 ndr->depth--;
7119 break;
7121 case 2:
7122 ndr_print_ptr(ndr, "query1", r->query1);
7123 ndr->depth++;
7124 if (r->query1) {
7125 ndr_print_netr_DomainQuery1(ndr, "query1", r->query1);
7127 ndr->depth--;
7128 break;
7130 default:
7131 ndr_print_bad_level(ndr, name, level);
7135 static enum ndr_err_code ndr_push_netr_DomainTrustInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainTrustInfo *r)
7137 uint32_t cntr_unknown1_0;
7138 uint32_t cntr_unknown_0;
7139 if (ndr_flags & NDR_SCALARS) {
7140 NDR_CHECK(ndr_push_align(ndr, 4));
7141 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domainname));
7142 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->fulldomainname));
7143 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->forest));
7144 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
7145 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
7146 for (cntr_unknown1_0 = 0; cntr_unknown1_0 < 4; cntr_unknown1_0++) {
7147 NDR_CHECK(ndr_push_netr_BinaryString(ndr, NDR_SCALARS, &r->unknown1[cntr_unknown1_0]));
7149 for (cntr_unknown_0 = 0; cntr_unknown_0 < 4; cntr_unknown_0++) {
7150 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown[cntr_unknown_0]));
7153 if (ndr_flags & NDR_BUFFERS) {
7154 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domainname));
7155 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->fulldomainname));
7156 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->forest));
7157 if (r->sid) {
7158 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
7160 for (cntr_unknown1_0 = 0; cntr_unknown1_0 < 4; cntr_unknown1_0++) {
7161 NDR_CHECK(ndr_push_netr_BinaryString(ndr, NDR_BUFFERS, &r->unknown1[cntr_unknown1_0]));
7164 return NDR_ERR_SUCCESS;
7167 static enum ndr_err_code ndr_pull_netr_DomainTrustInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainTrustInfo *r)
7169 uint32_t _ptr_sid;
7170 TALLOC_CTX *_mem_save_sid_0;
7171 uint32_t cntr_unknown1_0;
7172 uint32_t cntr_unknown_0;
7173 if (ndr_flags & NDR_SCALARS) {
7174 NDR_CHECK(ndr_pull_align(ndr, 4));
7175 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domainname));
7176 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->fulldomainname));
7177 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->forest));
7178 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
7179 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
7180 if (_ptr_sid) {
7181 NDR_PULL_ALLOC(ndr, r->sid);
7182 } else {
7183 r->sid = NULL;
7185 for (cntr_unknown1_0 = 0; cntr_unknown1_0 < 4; cntr_unknown1_0++) {
7186 NDR_CHECK(ndr_pull_netr_BinaryString(ndr, NDR_SCALARS, &r->unknown1[cntr_unknown1_0]));
7188 for (cntr_unknown_0 = 0; cntr_unknown_0 < 4; cntr_unknown_0++) {
7189 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown[cntr_unknown_0]));
7192 if (ndr_flags & NDR_BUFFERS) {
7193 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domainname));
7194 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->fulldomainname));
7195 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->forest));
7196 if (r->sid) {
7197 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
7198 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
7199 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
7200 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
7202 for (cntr_unknown1_0 = 0; cntr_unknown1_0 < 4; cntr_unknown1_0++) {
7203 NDR_CHECK(ndr_pull_netr_BinaryString(ndr, NDR_BUFFERS, &r->unknown1[cntr_unknown1_0]));
7206 return NDR_ERR_SUCCESS;
7209 _PUBLIC_ void ndr_print_netr_DomainTrustInfo(struct ndr_print *ndr, const char *name, const struct netr_DomainTrustInfo *r)
7211 uint32_t cntr_unknown1_0;
7212 uint32_t cntr_unknown_0;
7213 ndr_print_struct(ndr, name, "netr_DomainTrustInfo");
7214 ndr->depth++;
7215 ndr_print_lsa_String(ndr, "domainname", &r->domainname);
7216 ndr_print_lsa_String(ndr, "fulldomainname", &r->fulldomainname);
7217 ndr_print_lsa_String(ndr, "forest", &r->forest);
7218 ndr_print_GUID(ndr, "guid", &r->guid);
7219 ndr_print_ptr(ndr, "sid", r->sid);
7220 ndr->depth++;
7221 if (r->sid) {
7222 ndr_print_dom_sid2(ndr, "sid", r->sid);
7224 ndr->depth--;
7225 ndr->print(ndr, "%s: ARRAY(%d)", "unknown1", (int)4);
7226 ndr->depth++;
7227 for (cntr_unknown1_0=0;cntr_unknown1_0<4;cntr_unknown1_0++) {
7228 char *idx_0=NULL;
7229 if (asprintf(&idx_0, "[%d]", cntr_unknown1_0) != -1) {
7230 ndr_print_netr_BinaryString(ndr, "unknown1", &r->unknown1[cntr_unknown1_0]);
7231 free(idx_0);
7234 ndr->depth--;
7235 ndr->print(ndr, "%s: ARRAY(%d)", "unknown", (int)4);
7236 ndr->depth++;
7237 for (cntr_unknown_0=0;cntr_unknown_0<4;cntr_unknown_0++) {
7238 char *idx_0=NULL;
7239 if (asprintf(&idx_0, "[%d]", cntr_unknown_0) != -1) {
7240 ndr_print_uint32(ndr, "unknown", r->unknown[cntr_unknown_0]);
7241 free(idx_0);
7244 ndr->depth--;
7245 ndr->depth--;
7248 static enum ndr_err_code ndr_push_netr_DomainInfo1(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainInfo1 *r)
7250 uint32_t cntr_trusts_1;
7251 uint32_t cntr_unknown_0;
7252 if (ndr_flags & NDR_SCALARS) {
7253 NDR_CHECK(ndr_push_align(ndr, 4));
7254 NDR_CHECK(ndr_push_netr_DomainTrustInfo(ndr, NDR_SCALARS, &r->domaininfo));
7255 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_trusts));
7256 NDR_CHECK(ndr_push_unique_ptr(ndr, r->trusts));
7257 for (cntr_unknown_0 = 0; cntr_unknown_0 < 14; cntr_unknown_0++) {
7258 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown[cntr_unknown_0]));
7261 if (ndr_flags & NDR_BUFFERS) {
7262 NDR_CHECK(ndr_push_netr_DomainTrustInfo(ndr, NDR_BUFFERS, &r->domaininfo));
7263 if (r->trusts) {
7264 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_trusts));
7265 for (cntr_trusts_1 = 0; cntr_trusts_1 < r->num_trusts; cntr_trusts_1++) {
7266 NDR_CHECK(ndr_push_netr_DomainTrustInfo(ndr, NDR_SCALARS, &r->trusts[cntr_trusts_1]));
7268 for (cntr_trusts_1 = 0; cntr_trusts_1 < r->num_trusts; cntr_trusts_1++) {
7269 NDR_CHECK(ndr_push_netr_DomainTrustInfo(ndr, NDR_BUFFERS, &r->trusts[cntr_trusts_1]));
7273 return NDR_ERR_SUCCESS;
7276 static enum ndr_err_code ndr_pull_netr_DomainInfo1(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainInfo1 *r)
7278 uint32_t _ptr_trusts;
7279 uint32_t cntr_trusts_1;
7280 TALLOC_CTX *_mem_save_trusts_0;
7281 TALLOC_CTX *_mem_save_trusts_1;
7282 uint32_t cntr_unknown_0;
7283 if (ndr_flags & NDR_SCALARS) {
7284 NDR_CHECK(ndr_pull_align(ndr, 4));
7285 NDR_CHECK(ndr_pull_netr_DomainTrustInfo(ndr, NDR_SCALARS, &r->domaininfo));
7286 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_trusts));
7287 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusts));
7288 if (_ptr_trusts) {
7289 NDR_PULL_ALLOC(ndr, r->trusts);
7290 } else {
7291 r->trusts = NULL;
7293 for (cntr_unknown_0 = 0; cntr_unknown_0 < 14; cntr_unknown_0++) {
7294 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown[cntr_unknown_0]));
7297 if (ndr_flags & NDR_BUFFERS) {
7298 NDR_CHECK(ndr_pull_netr_DomainTrustInfo(ndr, NDR_BUFFERS, &r->domaininfo));
7299 if (r->trusts) {
7300 _mem_save_trusts_0 = NDR_PULL_GET_MEM_CTX(ndr);
7301 NDR_PULL_SET_MEM_CTX(ndr, r->trusts, 0);
7302 NDR_CHECK(ndr_pull_array_size(ndr, &r->trusts));
7303 NDR_PULL_ALLOC_N(ndr, r->trusts, ndr_get_array_size(ndr, &r->trusts));
7304 _mem_save_trusts_1 = NDR_PULL_GET_MEM_CTX(ndr);
7305 NDR_PULL_SET_MEM_CTX(ndr, r->trusts, 0);
7306 for (cntr_trusts_1 = 0; cntr_trusts_1 < r->num_trusts; cntr_trusts_1++) {
7307 NDR_CHECK(ndr_pull_netr_DomainTrustInfo(ndr, NDR_SCALARS, &r->trusts[cntr_trusts_1]));
7309 for (cntr_trusts_1 = 0; cntr_trusts_1 < r->num_trusts; cntr_trusts_1++) {
7310 NDR_CHECK(ndr_pull_netr_DomainTrustInfo(ndr, NDR_BUFFERS, &r->trusts[cntr_trusts_1]));
7312 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusts_1, 0);
7313 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusts_0, 0);
7315 if (r->trusts) {
7316 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->trusts, r->num_trusts));
7319 return NDR_ERR_SUCCESS;
7322 _PUBLIC_ void ndr_print_netr_DomainInfo1(struct ndr_print *ndr, const char *name, const struct netr_DomainInfo1 *r)
7324 uint32_t cntr_trusts_1;
7325 uint32_t cntr_unknown_0;
7326 ndr_print_struct(ndr, name, "netr_DomainInfo1");
7327 ndr->depth++;
7328 ndr_print_netr_DomainTrustInfo(ndr, "domaininfo", &r->domaininfo);
7329 ndr_print_uint32(ndr, "num_trusts", r->num_trusts);
7330 ndr_print_ptr(ndr, "trusts", r->trusts);
7331 ndr->depth++;
7332 if (r->trusts) {
7333 ndr->print(ndr, "%s: ARRAY(%d)", "trusts", (int)r->num_trusts);
7334 ndr->depth++;
7335 for (cntr_trusts_1=0;cntr_trusts_1<r->num_trusts;cntr_trusts_1++) {
7336 char *idx_1=NULL;
7337 if (asprintf(&idx_1, "[%d]", cntr_trusts_1) != -1) {
7338 ndr_print_netr_DomainTrustInfo(ndr, "trusts", &r->trusts[cntr_trusts_1]);
7339 free(idx_1);
7342 ndr->depth--;
7344 ndr->depth--;
7345 ndr->print(ndr, "%s: ARRAY(%d)", "unknown", (int)14);
7346 ndr->depth++;
7347 for (cntr_unknown_0=0;cntr_unknown_0<14;cntr_unknown_0++) {
7348 char *idx_0=NULL;
7349 if (asprintf(&idx_0, "[%d]", cntr_unknown_0) != -1) {
7350 ndr_print_uint32(ndr, "unknown", r->unknown[cntr_unknown_0]);
7351 free(idx_0);
7354 ndr->depth--;
7355 ndr->depth--;
7358 static enum ndr_err_code ndr_push_netr_DomainInfo(struct ndr_push *ndr, int ndr_flags, const union netr_DomainInfo *r)
7360 if (ndr_flags & NDR_SCALARS) {
7361 int level = ndr_push_get_switch_value(ndr, r);
7362 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
7363 switch (level) {
7364 case 1: {
7365 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1));
7366 break; }
7368 case 2: {
7369 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1));
7370 break; }
7372 default:
7373 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7376 if (ndr_flags & NDR_BUFFERS) {
7377 int level = ndr_push_get_switch_value(ndr, r);
7378 switch (level) {
7379 case 1:
7380 if (r->info1) {
7381 NDR_CHECK(ndr_push_netr_DomainInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
7383 break;
7385 case 2:
7386 if (r->info1) {
7387 NDR_CHECK(ndr_push_netr_DomainInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
7389 break;
7391 default:
7392 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7395 return NDR_ERR_SUCCESS;
7398 static enum ndr_err_code ndr_pull_netr_DomainInfo(struct ndr_pull *ndr, int ndr_flags, union netr_DomainInfo *r)
7400 int level;
7401 uint32_t _level;
7402 TALLOC_CTX *_mem_save_info1_0;
7403 level = ndr_pull_get_switch_value(ndr, r);
7404 if (ndr_flags & NDR_SCALARS) {
7405 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
7406 if (_level != level) {
7407 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
7409 switch (level) {
7410 case 1: {
7411 uint32_t _ptr_info1;
7412 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1));
7413 if (_ptr_info1) {
7414 NDR_PULL_ALLOC(ndr, r->info1);
7415 } else {
7416 r->info1 = NULL;
7418 break; }
7420 case 2: {
7421 uint32_t _ptr_info1;
7422 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1));
7423 if (_ptr_info1) {
7424 NDR_PULL_ALLOC(ndr, r->info1);
7425 } else {
7426 r->info1 = NULL;
7428 break; }
7430 default:
7431 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7434 if (ndr_flags & NDR_BUFFERS) {
7435 switch (level) {
7436 case 1:
7437 if (r->info1) {
7438 _mem_save_info1_0 = NDR_PULL_GET_MEM_CTX(ndr);
7439 NDR_PULL_SET_MEM_CTX(ndr, r->info1, 0);
7440 NDR_CHECK(ndr_pull_netr_DomainInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
7441 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1_0, 0);
7443 break;
7445 case 2:
7446 if (r->info1) {
7447 _mem_save_info1_0 = NDR_PULL_GET_MEM_CTX(ndr);
7448 NDR_PULL_SET_MEM_CTX(ndr, r->info1, 0);
7449 NDR_CHECK(ndr_pull_netr_DomainInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
7450 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1_0, 0);
7452 break;
7454 default:
7455 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7458 return NDR_ERR_SUCCESS;
7461 _PUBLIC_ void ndr_print_netr_DomainInfo(struct ndr_print *ndr, const char *name, const union netr_DomainInfo *r)
7463 int level;
7464 level = ndr_print_get_switch_value(ndr, r);
7465 ndr_print_union(ndr, name, level, "netr_DomainInfo");
7466 switch (level) {
7467 case 1:
7468 ndr_print_ptr(ndr, "info1", r->info1);
7469 ndr->depth++;
7470 if (r->info1) {
7471 ndr_print_netr_DomainInfo1(ndr, "info1", r->info1);
7473 ndr->depth--;
7474 break;
7476 case 2:
7477 ndr_print_ptr(ndr, "info1", r->info1);
7478 ndr->depth++;
7479 if (r->info1) {
7480 ndr_print_netr_DomainInfo1(ndr, "info1", r->info1);
7482 ndr->depth--;
7483 break;
7485 default:
7486 ndr_print_bad_level(ndr, name, level);
7490 static enum ndr_err_code ndr_push_netr_CryptPassword(struct ndr_push *ndr, int ndr_flags, const struct netr_CryptPassword *r)
7493 uint32_t _flags_save_STRUCT = ndr->flags;
7494 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
7495 if (ndr_flags & NDR_SCALARS) {
7496 NDR_CHECK(ndr_push_align(ndr, 4));
7497 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, 512));
7498 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
7500 if (ndr_flags & NDR_BUFFERS) {
7502 ndr->flags = _flags_save_STRUCT;
7504 return NDR_ERR_SUCCESS;
7507 static enum ndr_err_code ndr_pull_netr_CryptPassword(struct ndr_pull *ndr, int ndr_flags, struct netr_CryptPassword *r)
7510 uint32_t _flags_save_STRUCT = ndr->flags;
7511 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
7512 if (ndr_flags & NDR_SCALARS) {
7513 NDR_CHECK(ndr_pull_align(ndr, 4));
7514 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, 512));
7515 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
7517 if (ndr_flags & NDR_BUFFERS) {
7519 ndr->flags = _flags_save_STRUCT;
7521 return NDR_ERR_SUCCESS;
7524 _PUBLIC_ void ndr_print_netr_CryptPassword(struct ndr_print *ndr, const char *name, const struct netr_CryptPassword *r)
7526 ndr_print_struct(ndr, name, "netr_CryptPassword");
7528 uint32_t _flags_save_STRUCT = ndr->flags;
7529 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
7530 ndr->depth++;
7531 ndr_print_array_uint8(ndr, "data", r->data, 512);
7532 ndr_print_uint32(ndr, "length", r->length);
7533 ndr->depth--;
7534 ndr->flags = _flags_save_STRUCT;
7538 static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesWCtr(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRAddressToSitenamesWCtr *r)
7540 uint32_t cntr_sitename_1;
7541 if (ndr_flags & NDR_SCALARS) {
7542 NDR_CHECK(ndr_push_align(ndr, 4));
7543 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7544 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sitename));
7546 if (ndr_flags & NDR_BUFFERS) {
7547 if (r->sitename) {
7548 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7549 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
7550 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1]));
7552 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
7553 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1]));
7557 return NDR_ERR_SUCCESS;
7560 static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesWCtr(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRAddressToSitenamesWCtr *r)
7562 uint32_t _ptr_sitename;
7563 uint32_t cntr_sitename_1;
7564 TALLOC_CTX *_mem_save_sitename_0;
7565 TALLOC_CTX *_mem_save_sitename_1;
7566 if (ndr_flags & NDR_SCALARS) {
7567 NDR_CHECK(ndr_pull_align(ndr, 4));
7568 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
7569 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sitename));
7570 if (_ptr_sitename) {
7571 NDR_PULL_ALLOC(ndr, r->sitename);
7572 } else {
7573 r->sitename = NULL;
7576 if (ndr_flags & NDR_BUFFERS) {
7577 if (r->sitename) {
7578 _mem_save_sitename_0 = NDR_PULL_GET_MEM_CTX(ndr);
7579 NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
7580 NDR_CHECK(ndr_pull_array_size(ndr, &r->sitename));
7581 NDR_PULL_ALLOC_N(ndr, r->sitename, ndr_get_array_size(ndr, &r->sitename));
7582 _mem_save_sitename_1 = NDR_PULL_GET_MEM_CTX(ndr);
7583 NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
7584 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
7585 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1]));
7587 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
7588 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1]));
7590 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_1, 0);
7591 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_0, 0);
7593 if (r->sitename) {
7594 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sitename, r->count));
7597 return NDR_ERR_SUCCESS;
7600 _PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesWCtr(struct ndr_print *ndr, const char *name, const struct netr_DsRAddressToSitenamesWCtr *r)
7602 uint32_t cntr_sitename_1;
7603 ndr_print_struct(ndr, name, "netr_DsRAddressToSitenamesWCtr");
7604 ndr->depth++;
7605 ndr_print_uint32(ndr, "count", r->count);
7606 ndr_print_ptr(ndr, "sitename", r->sitename);
7607 ndr->depth++;
7608 if (r->sitename) {
7609 ndr->print(ndr, "%s: ARRAY(%d)", "sitename", (int)r->count);
7610 ndr->depth++;
7611 for (cntr_sitename_1=0;cntr_sitename_1<r->count;cntr_sitename_1++) {
7612 char *idx_1=NULL;
7613 if (asprintf(&idx_1, "[%d]", cntr_sitename_1) != -1) {
7614 ndr_print_lsa_String(ndr, "sitename", &r->sitename[cntr_sitename_1]);
7615 free(idx_1);
7618 ndr->depth--;
7620 ndr->depth--;
7621 ndr->depth--;
7624 static enum ndr_err_code ndr_push_netr_DsRAddress(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRAddress *r)
7626 if (ndr_flags & NDR_SCALARS) {
7627 NDR_CHECK(ndr_push_align(ndr, 4));
7628 NDR_CHECK(ndr_push_unique_ptr(ndr, r->buffer));
7629 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
7631 if (ndr_flags & NDR_BUFFERS) {
7632 if (r->buffer) {
7633 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
7634 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->buffer, r->size));
7637 return NDR_ERR_SUCCESS;
7640 static enum ndr_err_code ndr_pull_netr_DsRAddress(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRAddress *r)
7642 uint32_t _ptr_buffer;
7643 TALLOC_CTX *_mem_save_buffer_0;
7644 if (ndr_flags & NDR_SCALARS) {
7645 NDR_CHECK(ndr_pull_align(ndr, 4));
7646 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
7647 if (_ptr_buffer) {
7648 NDR_PULL_ALLOC(ndr, r->buffer);
7649 } else {
7650 r->buffer = NULL;
7652 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
7654 if (ndr_flags & NDR_BUFFERS) {
7655 if (r->buffer) {
7656 _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
7657 NDR_PULL_SET_MEM_CTX(ndr, r->buffer, 0);
7658 NDR_CHECK(ndr_pull_array_size(ndr, &r->buffer));
7659 NDR_PULL_ALLOC_N(ndr, r->buffer, ndr_get_array_size(ndr, &r->buffer));
7660 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->buffer, ndr_get_array_size(ndr, &r->buffer)));
7661 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
7663 if (r->buffer) {
7664 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->buffer, r->size));
7667 return NDR_ERR_SUCCESS;
7670 _PUBLIC_ void ndr_print_netr_DsRAddress(struct ndr_print *ndr, const char *name, const struct netr_DsRAddress *r)
7672 ndr_print_struct(ndr, name, "netr_DsRAddress");
7673 ndr->depth++;
7674 ndr_print_ptr(ndr, "buffer", r->buffer);
7675 ndr->depth++;
7676 if (r->buffer) {
7677 ndr_print_array_uint8(ndr, "buffer", r->buffer, r->size);
7679 ndr->depth--;
7680 ndr_print_uint32(ndr, "size", r->size);
7681 ndr->depth--;
7684 static enum ndr_err_code ndr_push_netr_TrustFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
7686 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
7687 return NDR_ERR_SUCCESS;
7690 static enum ndr_err_code ndr_pull_netr_TrustFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
7692 uint32_t v;
7693 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
7694 *r = v;
7695 return NDR_ERR_SUCCESS;
7698 _PUBLIC_ void ndr_print_netr_TrustFlags(struct ndr_print *ndr, const char *name, uint32_t r)
7700 ndr_print_uint32(ndr, name, r);
7701 ndr->depth++;
7702 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_IN_FOREST", NETR_TRUST_FLAG_IN_FOREST, r);
7703 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_OUTBOUND", NETR_TRUST_FLAG_OUTBOUND, r);
7704 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_TREEROOT", NETR_TRUST_FLAG_TREEROOT, r);
7705 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_PRIMARY", NETR_TRUST_FLAG_PRIMARY, r);
7706 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_NATIVE", NETR_TRUST_FLAG_NATIVE, r);
7707 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_INBOUND", NETR_TRUST_FLAG_INBOUND, r);
7708 ndr->depth--;
7711 static enum ndr_err_code ndr_push_netr_TrustType(struct ndr_push *ndr, int ndr_flags, enum netr_TrustType r)
7713 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
7714 return NDR_ERR_SUCCESS;
7717 static enum ndr_err_code ndr_pull_netr_TrustType(struct ndr_pull *ndr, int ndr_flags, enum netr_TrustType *r)
7719 uint32_t v;
7720 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
7721 *r = v;
7722 return NDR_ERR_SUCCESS;
7725 _PUBLIC_ void ndr_print_netr_TrustType(struct ndr_print *ndr, const char *name, enum netr_TrustType r)
7727 const char *val = NULL;
7729 switch (r) {
7730 case NETR_TRUST_TYPE_DOWNLEVEL: val = "NETR_TRUST_TYPE_DOWNLEVEL"; break;
7731 case NETR_TRUST_TYPE_UPLEVEL: val = "NETR_TRUST_TYPE_UPLEVEL"; break;
7732 case NETR_TRUST_TYPE_MIT: val = "NETR_TRUST_TYPE_MIT"; break;
7733 case NETR_TRUST_TYPE_DCE: val = "NETR_TRUST_TYPE_DCE"; break;
7735 ndr_print_enum(ndr, name, "ENUM", val, r);
7738 static enum ndr_err_code ndr_push_netr_TrustAttributes(struct ndr_push *ndr, int ndr_flags, uint32_t r)
7740 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
7741 return NDR_ERR_SUCCESS;
7744 static enum ndr_err_code ndr_pull_netr_TrustAttributes(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
7746 uint32_t v;
7747 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
7748 *r = v;
7749 return NDR_ERR_SUCCESS;
7752 _PUBLIC_ void ndr_print_netr_TrustAttributes(struct ndr_print *ndr, const char *name, uint32_t r)
7754 ndr_print_uint32(ndr, name, r);
7755 ndr->depth++;
7756 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_NON_TRANSITIVE", NETR_TRUST_ATTRIBUTE_NON_TRANSITIVE, r);
7757 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_UPLEVEL_ONLY", NETR_TRUST_ATTRIBUTE_UPLEVEL_ONLY, r);
7758 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN", NETR_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN, r);
7759 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_FOREST_TRANSITIVE", NETR_TRUST_ATTRIBUTE_FOREST_TRANSITIVE, r);
7760 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_CROSS_ORGANIZATION", NETR_TRUST_ATTRIBUTE_CROSS_ORGANIZATION, r);
7761 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_WITHIN_FOREST", NETR_TRUST_ATTRIBUTE_WITHIN_FOREST, r);
7762 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL", NETR_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL, r);
7763 ndr->depth--;
7766 static enum ndr_err_code ndr_push_netr_DomainTrust(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainTrust *r)
7768 if (ndr_flags & NDR_SCALARS) {
7769 NDR_CHECK(ndr_push_align(ndr, 4));
7770 NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
7771 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
7772 NDR_CHECK(ndr_push_netr_TrustFlags(ndr, NDR_SCALARS, r->trust_flags));
7773 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->parent_index));
7774 NDR_CHECK(ndr_push_netr_TrustType(ndr, NDR_SCALARS, r->trust_type));
7775 NDR_CHECK(ndr_push_netr_TrustAttributes(ndr, NDR_SCALARS, r->trust_attributes));
7776 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
7777 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
7779 if (ndr_flags & NDR_BUFFERS) {
7780 if (r->netbios_name) {
7781 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7782 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7783 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7784 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7786 if (r->dns_name) {
7787 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7788 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7789 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7790 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7792 if (r->sid) {
7793 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
7796 return NDR_ERR_SUCCESS;
7799 static enum ndr_err_code ndr_pull_netr_DomainTrust(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainTrust *r)
7801 uint32_t _ptr_netbios_name;
7802 TALLOC_CTX *_mem_save_netbios_name_0;
7803 uint32_t _ptr_dns_name;
7804 TALLOC_CTX *_mem_save_dns_name_0;
7805 uint32_t _ptr_sid;
7806 TALLOC_CTX *_mem_save_sid_0;
7807 if (ndr_flags & NDR_SCALARS) {
7808 NDR_CHECK(ndr_pull_align(ndr, 4));
7809 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
7810 if (_ptr_netbios_name) {
7811 NDR_PULL_ALLOC(ndr, r->netbios_name);
7812 } else {
7813 r->netbios_name = NULL;
7815 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
7816 if (_ptr_dns_name) {
7817 NDR_PULL_ALLOC(ndr, r->dns_name);
7818 } else {
7819 r->dns_name = NULL;
7821 NDR_CHECK(ndr_pull_netr_TrustFlags(ndr, NDR_SCALARS, &r->trust_flags));
7822 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->parent_index));
7823 NDR_CHECK(ndr_pull_netr_TrustType(ndr, NDR_SCALARS, &r->trust_type));
7824 NDR_CHECK(ndr_pull_netr_TrustAttributes(ndr, NDR_SCALARS, &r->trust_attributes));
7825 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
7826 if (_ptr_sid) {
7827 NDR_PULL_ALLOC(ndr, r->sid);
7828 } else {
7829 r->sid = NULL;
7831 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
7833 if (ndr_flags & NDR_BUFFERS) {
7834 if (r->netbios_name) {
7835 _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7836 NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
7837 NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
7838 NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
7839 if (ndr_get_array_length(ndr, &r->netbios_name) > ndr_get_array_size(ndr, &r->netbios_name)) {
7840 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));
7842 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t)));
7843 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t), CH_UTF16));
7844 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
7846 if (r->dns_name) {
7847 _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7848 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
7849 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
7850 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
7851 if (ndr_get_array_length(ndr, &r->dns_name) > ndr_get_array_size(ndr, &r->dns_name)) {
7852 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));
7854 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t)));
7855 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t), CH_UTF16));
7856 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
7858 if (r->sid) {
7859 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
7860 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
7861 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
7862 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
7865 return NDR_ERR_SUCCESS;
7868 _PUBLIC_ void ndr_print_netr_DomainTrust(struct ndr_print *ndr, const char *name, const struct netr_DomainTrust *r)
7870 ndr_print_struct(ndr, name, "netr_DomainTrust");
7871 ndr->depth++;
7872 ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
7873 ndr->depth++;
7874 if (r->netbios_name) {
7875 ndr_print_string(ndr, "netbios_name", r->netbios_name);
7877 ndr->depth--;
7878 ndr_print_ptr(ndr, "dns_name", r->dns_name);
7879 ndr->depth++;
7880 if (r->dns_name) {
7881 ndr_print_string(ndr, "dns_name", r->dns_name);
7883 ndr->depth--;
7884 ndr_print_netr_TrustFlags(ndr, "trust_flags", r->trust_flags);
7885 ndr_print_uint32(ndr, "parent_index", r->parent_index);
7886 ndr_print_netr_TrustType(ndr, "trust_type", r->trust_type);
7887 ndr_print_netr_TrustAttributes(ndr, "trust_attributes", r->trust_attributes);
7888 ndr_print_ptr(ndr, "sid", r->sid);
7889 ndr->depth++;
7890 if (r->sid) {
7891 ndr_print_dom_sid2(ndr, "sid", r->sid);
7893 ndr->depth--;
7894 ndr_print_GUID(ndr, "guid", &r->guid);
7895 ndr->depth--;
7898 static enum ndr_err_code ndr_push_netr_DomainTrustList(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainTrustList *r)
7900 uint32_t cntr_array_1;
7901 if (ndr_flags & NDR_SCALARS) {
7902 NDR_CHECK(ndr_push_align(ndr, 4));
7903 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7904 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
7906 if (ndr_flags & NDR_BUFFERS) {
7907 if (r->array) {
7908 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7909 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7910 NDR_CHECK(ndr_push_netr_DomainTrust(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7912 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7913 NDR_CHECK(ndr_push_netr_DomainTrust(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7917 return NDR_ERR_SUCCESS;
7920 static enum ndr_err_code ndr_pull_netr_DomainTrustList(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainTrustList *r)
7922 uint32_t _ptr_array;
7923 uint32_t cntr_array_1;
7924 TALLOC_CTX *_mem_save_array_0;
7925 TALLOC_CTX *_mem_save_array_1;
7926 if (ndr_flags & NDR_SCALARS) {
7927 NDR_CHECK(ndr_pull_align(ndr, 4));
7928 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
7929 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
7930 if (_ptr_array) {
7931 NDR_PULL_ALLOC(ndr, r->array);
7932 } else {
7933 r->array = NULL;
7936 if (ndr_flags & NDR_BUFFERS) {
7937 if (r->array) {
7938 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
7939 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7940 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
7941 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
7942 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
7943 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7944 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7945 NDR_CHECK(ndr_pull_netr_DomainTrust(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7947 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7948 NDR_CHECK(ndr_pull_netr_DomainTrust(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7950 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
7951 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
7953 if (r->array) {
7954 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
7957 return NDR_ERR_SUCCESS;
7960 _PUBLIC_ void ndr_print_netr_DomainTrustList(struct ndr_print *ndr, const char *name, const struct netr_DomainTrustList *r)
7962 uint32_t cntr_array_1;
7963 ndr_print_struct(ndr, name, "netr_DomainTrustList");
7964 ndr->depth++;
7965 ndr_print_uint32(ndr, "count", r->count);
7966 ndr_print_ptr(ndr, "array", r->array);
7967 ndr->depth++;
7968 if (r->array) {
7969 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
7970 ndr->depth++;
7971 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
7972 char *idx_1=NULL;
7973 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
7974 ndr_print_netr_DomainTrust(ndr, "array", &r->array[cntr_array_1]);
7975 free(idx_1);
7978 ndr->depth--;
7980 ndr->depth--;
7981 ndr->depth--;
7984 static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesExWCtr(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRAddressToSitenamesExWCtr *r)
7986 uint32_t cntr_sitename_1;
7987 uint32_t cntr_subnetname_1;
7988 if (ndr_flags & NDR_SCALARS) {
7989 NDR_CHECK(ndr_push_align(ndr, 4));
7990 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7991 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sitename));
7992 NDR_CHECK(ndr_push_unique_ptr(ndr, r->subnetname));
7994 if (ndr_flags & NDR_BUFFERS) {
7995 if (r->sitename) {
7996 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7997 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
7998 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1]));
8000 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
8001 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1]));
8004 if (r->subnetname) {
8005 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8006 for (cntr_subnetname_1 = 0; cntr_subnetname_1 < r->count; cntr_subnetname_1++) {
8007 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->subnetname[cntr_subnetname_1]));
8009 for (cntr_subnetname_1 = 0; cntr_subnetname_1 < r->count; cntr_subnetname_1++) {
8010 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->subnetname[cntr_subnetname_1]));
8014 return NDR_ERR_SUCCESS;
8017 static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesExWCtr(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRAddressToSitenamesExWCtr *r)
8019 uint32_t _ptr_sitename;
8020 uint32_t cntr_sitename_1;
8021 TALLOC_CTX *_mem_save_sitename_0;
8022 TALLOC_CTX *_mem_save_sitename_1;
8023 uint32_t _ptr_subnetname;
8024 uint32_t cntr_subnetname_1;
8025 TALLOC_CTX *_mem_save_subnetname_0;
8026 TALLOC_CTX *_mem_save_subnetname_1;
8027 if (ndr_flags & NDR_SCALARS) {
8028 NDR_CHECK(ndr_pull_align(ndr, 4));
8029 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
8030 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sitename));
8031 if (_ptr_sitename) {
8032 NDR_PULL_ALLOC(ndr, r->sitename);
8033 } else {
8034 r->sitename = NULL;
8036 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_subnetname));
8037 if (_ptr_subnetname) {
8038 NDR_PULL_ALLOC(ndr, r->subnetname);
8039 } else {
8040 r->subnetname = NULL;
8043 if (ndr_flags & NDR_BUFFERS) {
8044 if (r->sitename) {
8045 _mem_save_sitename_0 = NDR_PULL_GET_MEM_CTX(ndr);
8046 NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
8047 NDR_CHECK(ndr_pull_array_size(ndr, &r->sitename));
8048 NDR_PULL_ALLOC_N(ndr, r->sitename, ndr_get_array_size(ndr, &r->sitename));
8049 _mem_save_sitename_1 = NDR_PULL_GET_MEM_CTX(ndr);
8050 NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
8051 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
8052 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1]));
8054 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
8055 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1]));
8057 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_1, 0);
8058 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_0, 0);
8060 if (r->subnetname) {
8061 _mem_save_subnetname_0 = NDR_PULL_GET_MEM_CTX(ndr);
8062 NDR_PULL_SET_MEM_CTX(ndr, r->subnetname, 0);
8063 NDR_CHECK(ndr_pull_array_size(ndr, &r->subnetname));
8064 NDR_PULL_ALLOC_N(ndr, r->subnetname, ndr_get_array_size(ndr, &r->subnetname));
8065 _mem_save_subnetname_1 = NDR_PULL_GET_MEM_CTX(ndr);
8066 NDR_PULL_SET_MEM_CTX(ndr, r->subnetname, 0);
8067 for (cntr_subnetname_1 = 0; cntr_subnetname_1 < r->count; cntr_subnetname_1++) {
8068 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->subnetname[cntr_subnetname_1]));
8070 for (cntr_subnetname_1 = 0; cntr_subnetname_1 < r->count; cntr_subnetname_1++) {
8071 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->subnetname[cntr_subnetname_1]));
8073 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_subnetname_1, 0);
8074 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_subnetname_0, 0);
8076 if (r->sitename) {
8077 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sitename, r->count));
8079 if (r->subnetname) {
8080 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->subnetname, r->count));
8083 return NDR_ERR_SUCCESS;
8086 _PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesExWCtr(struct ndr_print *ndr, const char *name, const struct netr_DsRAddressToSitenamesExWCtr *r)
8088 uint32_t cntr_sitename_1;
8089 uint32_t cntr_subnetname_1;
8090 ndr_print_struct(ndr, name, "netr_DsRAddressToSitenamesExWCtr");
8091 ndr->depth++;
8092 ndr_print_uint32(ndr, "count", r->count);
8093 ndr_print_ptr(ndr, "sitename", r->sitename);
8094 ndr->depth++;
8095 if (r->sitename) {
8096 ndr->print(ndr, "%s: ARRAY(%d)", "sitename", (int)r->count);
8097 ndr->depth++;
8098 for (cntr_sitename_1=0;cntr_sitename_1<r->count;cntr_sitename_1++) {
8099 char *idx_1=NULL;
8100 if (asprintf(&idx_1, "[%d]", cntr_sitename_1) != -1) {
8101 ndr_print_lsa_String(ndr, "sitename", &r->sitename[cntr_sitename_1]);
8102 free(idx_1);
8105 ndr->depth--;
8107 ndr->depth--;
8108 ndr_print_ptr(ndr, "subnetname", r->subnetname);
8109 ndr->depth++;
8110 if (r->subnetname) {
8111 ndr->print(ndr, "%s: ARRAY(%d)", "subnetname", (int)r->count);
8112 ndr->depth++;
8113 for (cntr_subnetname_1=0;cntr_subnetname_1<r->count;cntr_subnetname_1++) {
8114 char *idx_1=NULL;
8115 if (asprintf(&idx_1, "[%d]", cntr_subnetname_1) != -1) {
8116 ndr_print_lsa_String(ndr, "subnetname", &r->subnetname[cntr_subnetname_1]);
8117 free(idx_1);
8120 ndr->depth--;
8122 ndr->depth--;
8123 ndr->depth--;
8126 static enum ndr_err_code ndr_push_DcSitesCtr(struct ndr_push *ndr, int ndr_flags, const struct DcSitesCtr *r)
8128 uint32_t cntr_sites_1;
8129 if (ndr_flags & NDR_SCALARS) {
8130 NDR_CHECK(ndr_push_align(ndr, 4));
8131 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sites));
8132 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sites));
8134 if (ndr_flags & NDR_BUFFERS) {
8135 if (r->sites) {
8136 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sites));
8137 for (cntr_sites_1 = 0; cntr_sites_1 < r->num_sites; cntr_sites_1++) {
8138 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->sites[cntr_sites_1]));
8140 for (cntr_sites_1 = 0; cntr_sites_1 < r->num_sites; cntr_sites_1++) {
8141 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->sites[cntr_sites_1]));
8145 return NDR_ERR_SUCCESS;
8148 static enum ndr_err_code ndr_pull_DcSitesCtr(struct ndr_pull *ndr, int ndr_flags, struct DcSitesCtr *r)
8150 uint32_t _ptr_sites;
8151 uint32_t cntr_sites_1;
8152 TALLOC_CTX *_mem_save_sites_0;
8153 TALLOC_CTX *_mem_save_sites_1;
8154 if (ndr_flags & NDR_SCALARS) {
8155 NDR_CHECK(ndr_pull_align(ndr, 4));
8156 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_sites));
8157 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sites));
8158 if (_ptr_sites) {
8159 NDR_PULL_ALLOC(ndr, r->sites);
8160 } else {
8161 r->sites = NULL;
8164 if (ndr_flags & NDR_BUFFERS) {
8165 if (r->sites) {
8166 _mem_save_sites_0 = NDR_PULL_GET_MEM_CTX(ndr);
8167 NDR_PULL_SET_MEM_CTX(ndr, r->sites, 0);
8168 NDR_CHECK(ndr_pull_array_size(ndr, &r->sites));
8169 NDR_PULL_ALLOC_N(ndr, r->sites, ndr_get_array_size(ndr, &r->sites));
8170 _mem_save_sites_1 = NDR_PULL_GET_MEM_CTX(ndr);
8171 NDR_PULL_SET_MEM_CTX(ndr, r->sites, 0);
8172 for (cntr_sites_1 = 0; cntr_sites_1 < r->num_sites; cntr_sites_1++) {
8173 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->sites[cntr_sites_1]));
8175 for (cntr_sites_1 = 0; cntr_sites_1 < r->num_sites; cntr_sites_1++) {
8176 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->sites[cntr_sites_1]));
8178 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sites_1, 0);
8179 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sites_0, 0);
8181 if (r->sites) {
8182 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sites, r->num_sites));
8185 return NDR_ERR_SUCCESS;
8188 _PUBLIC_ void ndr_print_DcSitesCtr(struct ndr_print *ndr, const char *name, const struct DcSitesCtr *r)
8190 uint32_t cntr_sites_1;
8191 ndr_print_struct(ndr, name, "DcSitesCtr");
8192 ndr->depth++;
8193 ndr_print_uint32(ndr, "num_sites", r->num_sites);
8194 ndr_print_ptr(ndr, "sites", r->sites);
8195 ndr->depth++;
8196 if (r->sites) {
8197 ndr->print(ndr, "%s: ARRAY(%d)", "sites", (int)r->num_sites);
8198 ndr->depth++;
8199 for (cntr_sites_1=0;cntr_sites_1<r->num_sites;cntr_sites_1++) {
8200 char *idx_1=NULL;
8201 if (asprintf(&idx_1, "[%d]", cntr_sites_1) != -1) {
8202 ndr_print_lsa_String(ndr, "sites", &r->sites[cntr_sites_1]);
8203 free(idx_1);
8206 ndr->depth--;
8208 ndr->depth--;
8209 ndr->depth--;
8212 static enum ndr_err_code ndr_push_netr_LogonUasLogon(struct ndr_push *ndr, int flags, const struct netr_LogonUasLogon *r)
8214 if (flags & NDR_IN) {
8215 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
8216 if (r->in.server_name) {
8217 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8218 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8219 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8220 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8222 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
8223 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8224 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
8225 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));
8226 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
8227 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8228 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
8229 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.workstation, ndr_charset_length(r->in.workstation, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8231 if (flags & NDR_OUT) {
8232 if (r->out.info == NULL) {
8233 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8235 NDR_CHECK(ndr_push_netr_UasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
8236 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
8238 return NDR_ERR_SUCCESS;
8241 static enum ndr_err_code ndr_pull_netr_LogonUasLogon(struct ndr_pull *ndr, int flags, struct netr_LogonUasLogon *r)
8243 uint32_t _ptr_server_name;
8244 TALLOC_CTX *_mem_save_server_name_0;
8245 TALLOC_CTX *_mem_save_info_0;
8246 if (flags & NDR_IN) {
8247 ZERO_STRUCT(r->out);
8249 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
8250 if (_ptr_server_name) {
8251 NDR_PULL_ALLOC(ndr, r->in.server_name);
8252 } else {
8253 r->in.server_name = NULL;
8255 if (r->in.server_name) {
8256 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8257 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
8258 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
8259 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
8260 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
8261 return 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));
8263 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
8264 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));
8265 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
8267 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
8268 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
8269 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
8270 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.account_name), ndr_get_array_length(ndr, &r->in.account_name));
8272 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
8273 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));
8274 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.workstation));
8275 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.workstation));
8276 if (ndr_get_array_length(ndr, &r->in.workstation) > ndr_get_array_size(ndr, &r->in.workstation)) {
8277 return 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));
8279 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.workstation), sizeof(uint16_t)));
8280 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.workstation, ndr_get_array_length(ndr, &r->in.workstation), sizeof(uint16_t), CH_UTF16));
8281 NDR_PULL_ALLOC(ndr, r->out.info);
8282 ZERO_STRUCTP(r->out.info);
8284 if (flags & NDR_OUT) {
8285 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8286 NDR_PULL_ALLOC(ndr, r->out.info);
8288 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
8289 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
8290 NDR_CHECK(ndr_pull_netr_UasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
8291 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
8292 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
8294 return NDR_ERR_SUCCESS;
8297 _PUBLIC_ void ndr_print_netr_LogonUasLogon(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonUasLogon *r)
8299 ndr_print_struct(ndr, name, "netr_LogonUasLogon");
8300 ndr->depth++;
8301 if (flags & NDR_SET_VALUES) {
8302 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8304 if (flags & NDR_IN) {
8305 ndr_print_struct(ndr, "in", "netr_LogonUasLogon");
8306 ndr->depth++;
8307 ndr_print_ptr(ndr, "server_name", r->in.server_name);
8308 ndr->depth++;
8309 if (r->in.server_name) {
8310 ndr_print_string(ndr, "server_name", r->in.server_name);
8312 ndr->depth--;
8313 ndr_print_string(ndr, "account_name", r->in.account_name);
8314 ndr_print_string(ndr, "workstation", r->in.workstation);
8315 ndr->depth--;
8317 if (flags & NDR_OUT) {
8318 ndr_print_struct(ndr, "out", "netr_LogonUasLogon");
8319 ndr->depth++;
8320 ndr_print_ptr(ndr, "info", r->out.info);
8321 ndr->depth++;
8322 ndr_print_netr_UasInfo(ndr, "info", r->out.info);
8323 ndr->depth--;
8324 ndr_print_WERROR(ndr, "result", r->out.result);
8325 ndr->depth--;
8327 ndr->depth--;
8330 static enum ndr_err_code ndr_push_netr_LogonUasLogoff(struct ndr_push *ndr, int flags, const struct netr_LogonUasLogoff *r)
8332 if (flags & NDR_IN) {
8333 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
8334 if (r->in.server_name) {
8335 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8336 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8337 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8338 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));
8340 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
8341 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8342 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
8343 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));
8344 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
8345 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8346 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
8347 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.workstation, ndr_charset_length(r->in.workstation, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8349 if (flags & NDR_OUT) {
8350 if (r->out.info == NULL) {
8351 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8353 NDR_CHECK(ndr_push_netr_UasLogoffInfo(ndr, NDR_SCALARS, r->out.info));
8354 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
8356 return NDR_ERR_SUCCESS;
8359 static enum ndr_err_code ndr_pull_netr_LogonUasLogoff(struct ndr_pull *ndr, int flags, struct netr_LogonUasLogoff *r)
8361 uint32_t _ptr_server_name;
8362 TALLOC_CTX *_mem_save_server_name_0;
8363 TALLOC_CTX *_mem_save_info_0;
8364 if (flags & NDR_IN) {
8365 ZERO_STRUCT(r->out);
8367 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
8368 if (_ptr_server_name) {
8369 NDR_PULL_ALLOC(ndr, r->in.server_name);
8370 } else {
8371 r->in.server_name = NULL;
8373 if (r->in.server_name) {
8374 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8375 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
8376 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
8377 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
8378 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
8379 return 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));
8381 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
8382 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));
8383 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
8385 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
8386 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
8387 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
8388 return 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));
8390 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
8391 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));
8392 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.workstation));
8393 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.workstation));
8394 if (ndr_get_array_length(ndr, &r->in.workstation) > ndr_get_array_size(ndr, &r->in.workstation)) {
8395 return 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));
8397 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.workstation), sizeof(uint16_t)));
8398 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.workstation, ndr_get_array_length(ndr, &r->in.workstation), sizeof(uint16_t), CH_UTF16));
8399 NDR_PULL_ALLOC(ndr, r->out.info);
8400 ZERO_STRUCTP(r->out.info);
8402 if (flags & NDR_OUT) {
8403 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8404 NDR_PULL_ALLOC(ndr, r->out.info);
8406 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
8407 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
8408 NDR_CHECK(ndr_pull_netr_UasLogoffInfo(ndr, NDR_SCALARS, r->out.info));
8409 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
8410 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
8412 return NDR_ERR_SUCCESS;
8415 _PUBLIC_ void ndr_print_netr_LogonUasLogoff(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonUasLogoff *r)
8417 ndr_print_struct(ndr, name, "netr_LogonUasLogoff");
8418 ndr->depth++;
8419 if (flags & NDR_SET_VALUES) {
8420 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8422 if (flags & NDR_IN) {
8423 ndr_print_struct(ndr, "in", "netr_LogonUasLogoff");
8424 ndr->depth++;
8425 ndr_print_ptr(ndr, "server_name", r->in.server_name);
8426 ndr->depth++;
8427 if (r->in.server_name) {
8428 ndr_print_string(ndr, "server_name", r->in.server_name);
8430 ndr->depth--;
8431 ndr_print_string(ndr, "account_name", r->in.account_name);
8432 ndr_print_string(ndr, "workstation", r->in.workstation);
8433 ndr->depth--;
8435 if (flags & NDR_OUT) {
8436 ndr_print_struct(ndr, "out", "netr_LogonUasLogoff");
8437 ndr->depth++;
8438 ndr_print_ptr(ndr, "info", r->out.info);
8439 ndr->depth++;
8440 ndr_print_netr_UasLogoffInfo(ndr, "info", r->out.info);
8441 ndr->depth--;
8442 ndr_print_WERROR(ndr, "result", r->out.result);
8443 ndr->depth--;
8445 ndr->depth--;
8448 static enum ndr_err_code ndr_push_netr_LogonSamLogon(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogon *r)
8450 if (flags & NDR_IN) {
8451 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
8452 if (r->in.server_name) {
8453 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8454 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8455 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8456 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));
8458 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
8459 if (r->in.computer_name) {
8460 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
8461 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8462 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
8463 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));
8465 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.credential));
8466 if (r->in.credential) {
8467 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
8469 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.return_authenticator));
8470 if (r->in.return_authenticator) {
8471 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
8473 NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS, r->in.logon_level));
8474 if (r->in.logon == NULL) {
8475 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8477 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.logon, r->in.logon_level));
8478 NDR_CHECK(ndr_push_netr_LogonInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
8479 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.validation_level));
8481 if (flags & NDR_OUT) {
8482 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.return_authenticator));
8483 if (r->out.return_authenticator) {
8484 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
8486 if (r->out.validation == NULL) {
8487 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8489 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.validation, r->in.validation_level));
8490 NDR_CHECK(ndr_push_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
8491 if (r->out.authoritative == NULL) {
8492 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8494 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, *r->out.authoritative));
8495 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8497 return NDR_ERR_SUCCESS;
8500 static enum ndr_err_code ndr_pull_netr_LogonSamLogon(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogon *r)
8502 uint32_t _ptr_server_name;
8503 uint32_t _ptr_computer_name;
8504 uint32_t _ptr_credential;
8505 uint32_t _ptr_return_authenticator;
8506 TALLOC_CTX *_mem_save_server_name_0;
8507 TALLOC_CTX *_mem_save_computer_name_0;
8508 TALLOC_CTX *_mem_save_credential_0;
8509 TALLOC_CTX *_mem_save_return_authenticator_0;
8510 TALLOC_CTX *_mem_save_logon_0;
8511 TALLOC_CTX *_mem_save_validation_0;
8512 TALLOC_CTX *_mem_save_authoritative_0;
8513 if (flags & NDR_IN) {
8514 ZERO_STRUCT(r->out);
8516 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
8517 if (_ptr_server_name) {
8518 NDR_PULL_ALLOC(ndr, r->in.server_name);
8519 } else {
8520 r->in.server_name = NULL;
8522 if (r->in.server_name) {
8523 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8524 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
8525 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
8526 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
8527 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
8528 return 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));
8530 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
8531 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));
8532 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
8534 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
8535 if (_ptr_computer_name) {
8536 NDR_PULL_ALLOC(ndr, r->in.computer_name);
8537 } else {
8538 r->in.computer_name = NULL;
8540 if (r->in.computer_name) {
8541 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8542 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
8543 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
8544 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
8545 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
8546 return 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));
8548 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
8549 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));
8550 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
8552 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_credential));
8553 if (_ptr_credential) {
8554 NDR_PULL_ALLOC(ndr, r->in.credential);
8555 } else {
8556 r->in.credential = NULL;
8558 if (r->in.credential) {
8559 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
8560 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, 0);
8561 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
8562 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, 0);
8564 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
8565 if (_ptr_return_authenticator) {
8566 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
8567 } else {
8568 r->in.return_authenticator = NULL;
8570 if (r->in.return_authenticator) {
8571 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
8572 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, 0);
8573 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
8574 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
8576 NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS, &r->in.logon_level));
8577 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8578 NDR_PULL_ALLOC(ndr, r->in.logon);
8580 _mem_save_logon_0 = NDR_PULL_GET_MEM_CTX(ndr);
8581 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon, LIBNDR_FLAG_REF_ALLOC);
8582 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.logon, r->in.logon_level));
8583 NDR_CHECK(ndr_pull_netr_LogonInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
8584 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_0, LIBNDR_FLAG_REF_ALLOC);
8585 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.validation_level));
8586 NDR_PULL_ALLOC(ndr, r->out.validation);
8587 ZERO_STRUCTP(r->out.validation);
8588 NDR_PULL_ALLOC(ndr, r->out.authoritative);
8589 ZERO_STRUCTP(r->out.authoritative);
8591 if (flags & NDR_OUT) {
8592 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
8593 if (_ptr_return_authenticator) {
8594 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
8595 } else {
8596 r->out.return_authenticator = NULL;
8598 if (r->out.return_authenticator) {
8599 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
8600 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, 0);
8601 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
8602 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
8604 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8605 NDR_PULL_ALLOC(ndr, r->out.validation);
8607 _mem_save_validation_0 = NDR_PULL_GET_MEM_CTX(ndr);
8608 NDR_PULL_SET_MEM_CTX(ndr, r->out.validation, LIBNDR_FLAG_REF_ALLOC);
8609 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.validation, r->in.validation_level));
8610 NDR_CHECK(ndr_pull_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
8611 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_validation_0, LIBNDR_FLAG_REF_ALLOC);
8612 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8613 NDR_PULL_ALLOC(ndr, r->out.authoritative);
8615 _mem_save_authoritative_0 = NDR_PULL_GET_MEM_CTX(ndr);
8616 NDR_PULL_SET_MEM_CTX(ndr, r->out.authoritative, LIBNDR_FLAG_REF_ALLOC);
8617 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, r->out.authoritative));
8618 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_authoritative_0, LIBNDR_FLAG_REF_ALLOC);
8619 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8621 return NDR_ERR_SUCCESS;
8624 _PUBLIC_ void ndr_print_netr_LogonSamLogon(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogon *r)
8626 ndr_print_struct(ndr, name, "netr_LogonSamLogon");
8627 ndr->depth++;
8628 if (flags & NDR_SET_VALUES) {
8629 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8631 if (flags & NDR_IN) {
8632 ndr_print_struct(ndr, "in", "netr_LogonSamLogon");
8633 ndr->depth++;
8634 ndr_print_ptr(ndr, "server_name", r->in.server_name);
8635 ndr->depth++;
8636 if (r->in.server_name) {
8637 ndr_print_string(ndr, "server_name", r->in.server_name);
8639 ndr->depth--;
8640 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
8641 ndr->depth++;
8642 if (r->in.computer_name) {
8643 ndr_print_string(ndr, "computer_name", r->in.computer_name);
8645 ndr->depth--;
8646 ndr_print_ptr(ndr, "credential", r->in.credential);
8647 ndr->depth++;
8648 if (r->in.credential) {
8649 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
8651 ndr->depth--;
8652 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
8653 ndr->depth++;
8654 if (r->in.return_authenticator) {
8655 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
8657 ndr->depth--;
8658 ndr_print_netr_LogonLevel(ndr, "logon_level", r->in.logon_level);
8659 ndr_print_ptr(ndr, "logon", r->in.logon);
8660 ndr->depth++;
8661 ndr_print_set_switch_value(ndr, r->in.logon, r->in.logon_level);
8662 ndr_print_netr_LogonInfo(ndr, "logon", r->in.logon);
8663 ndr->depth--;
8664 ndr_print_uint16(ndr, "validation_level", r->in.validation_level);
8665 ndr->depth--;
8667 if (flags & NDR_OUT) {
8668 ndr_print_struct(ndr, "out", "netr_LogonSamLogon");
8669 ndr->depth++;
8670 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
8671 ndr->depth++;
8672 if (r->out.return_authenticator) {
8673 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
8675 ndr->depth--;
8676 ndr_print_ptr(ndr, "validation", r->out.validation);
8677 ndr->depth++;
8678 ndr_print_set_switch_value(ndr, r->out.validation, r->in.validation_level);
8679 ndr_print_netr_Validation(ndr, "validation", r->out.validation);
8680 ndr->depth--;
8681 ndr_print_ptr(ndr, "authoritative", r->out.authoritative);
8682 ndr->depth++;
8683 ndr_print_uint8(ndr, "authoritative", *r->out.authoritative);
8684 ndr->depth--;
8685 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8686 ndr->depth--;
8688 ndr->depth--;
8691 static enum ndr_err_code ndr_push_netr_LogonSamLogoff(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogoff *r)
8693 if (flags & NDR_IN) {
8694 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
8695 if (r->in.server_name) {
8696 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8697 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8698 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8699 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));
8701 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
8702 if (r->in.computer_name) {
8703 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
8704 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8705 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
8706 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));
8708 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.credential));
8709 if (r->in.credential) {
8710 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
8712 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.return_authenticator));
8713 if (r->in.return_authenticator) {
8714 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
8716 NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS, r->in.logon_level));
8717 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.logon, r->in.logon_level));
8718 NDR_CHECK(ndr_push_netr_LogonInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon));
8720 if (flags & NDR_OUT) {
8721 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.return_authenticator));
8722 if (r->out.return_authenticator) {
8723 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
8725 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8727 return NDR_ERR_SUCCESS;
8730 static enum ndr_err_code ndr_pull_netr_LogonSamLogoff(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogoff *r)
8732 uint32_t _ptr_server_name;
8733 uint32_t _ptr_computer_name;
8734 uint32_t _ptr_credential;
8735 uint32_t _ptr_return_authenticator;
8736 TALLOC_CTX *_mem_save_server_name_0;
8737 TALLOC_CTX *_mem_save_computer_name_0;
8738 TALLOC_CTX *_mem_save_credential_0;
8739 TALLOC_CTX *_mem_save_return_authenticator_0;
8740 if (flags & NDR_IN) {
8741 ZERO_STRUCT(r->out);
8743 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
8744 if (_ptr_server_name) {
8745 NDR_PULL_ALLOC(ndr, r->in.server_name);
8746 } else {
8747 r->in.server_name = NULL;
8749 if (r->in.server_name) {
8750 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8751 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
8752 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
8753 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
8754 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
8755 return 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));
8757 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
8758 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));
8759 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
8761 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
8762 if (_ptr_computer_name) {
8763 NDR_PULL_ALLOC(ndr, r->in.computer_name);
8764 } else {
8765 r->in.computer_name = NULL;
8767 if (r->in.computer_name) {
8768 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8769 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
8770 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
8771 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
8772 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
8773 return 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));
8775 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
8776 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));
8777 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
8779 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_credential));
8780 if (_ptr_credential) {
8781 NDR_PULL_ALLOC(ndr, r->in.credential);
8782 } else {
8783 r->in.credential = NULL;
8785 if (r->in.credential) {
8786 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
8787 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, 0);
8788 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
8789 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, 0);
8791 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
8792 if (_ptr_return_authenticator) {
8793 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
8794 } else {
8795 r->in.return_authenticator = NULL;
8797 if (r->in.return_authenticator) {
8798 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
8799 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, 0);
8800 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
8801 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
8803 NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS, &r->in.logon_level));
8804 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.logon, r->in.logon_level));
8805 NDR_CHECK(ndr_pull_netr_LogonInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon));
8807 if (flags & NDR_OUT) {
8808 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
8809 if (_ptr_return_authenticator) {
8810 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
8811 } else {
8812 r->out.return_authenticator = NULL;
8814 if (r->out.return_authenticator) {
8815 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
8816 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, 0);
8817 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
8818 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
8820 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8822 return NDR_ERR_SUCCESS;
8825 _PUBLIC_ void ndr_print_netr_LogonSamLogoff(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogoff *r)
8827 ndr_print_struct(ndr, name, "netr_LogonSamLogoff");
8828 ndr->depth++;
8829 if (flags & NDR_SET_VALUES) {
8830 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8832 if (flags & NDR_IN) {
8833 ndr_print_struct(ndr, "in", "netr_LogonSamLogoff");
8834 ndr->depth++;
8835 ndr_print_ptr(ndr, "server_name", r->in.server_name);
8836 ndr->depth++;
8837 if (r->in.server_name) {
8838 ndr_print_string(ndr, "server_name", r->in.server_name);
8840 ndr->depth--;
8841 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
8842 ndr->depth++;
8843 if (r->in.computer_name) {
8844 ndr_print_string(ndr, "computer_name", r->in.computer_name);
8846 ndr->depth--;
8847 ndr_print_ptr(ndr, "credential", r->in.credential);
8848 ndr->depth++;
8849 if (r->in.credential) {
8850 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
8852 ndr->depth--;
8853 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
8854 ndr->depth++;
8855 if (r->in.return_authenticator) {
8856 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
8858 ndr->depth--;
8859 ndr_print_netr_LogonLevel(ndr, "logon_level", r->in.logon_level);
8860 ndr_print_set_switch_value(ndr, &r->in.logon, r->in.logon_level);
8861 ndr_print_netr_LogonInfo(ndr, "logon", &r->in.logon);
8862 ndr->depth--;
8864 if (flags & NDR_OUT) {
8865 ndr_print_struct(ndr, "out", "netr_LogonSamLogoff");
8866 ndr->depth++;
8867 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
8868 ndr->depth++;
8869 if (r->out.return_authenticator) {
8870 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
8872 ndr->depth--;
8873 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8874 ndr->depth--;
8876 ndr->depth--;
8879 static enum ndr_err_code ndr_push_netr_ServerReqChallenge(struct ndr_push *ndr, int flags, const struct netr_ServerReqChallenge *r)
8881 if (flags & NDR_IN) {
8882 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
8883 if (r->in.server_name) {
8884 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8885 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8886 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8887 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));
8889 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
8890 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8891 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
8892 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));
8893 if (r->in.credentials == NULL) {
8894 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8896 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
8898 if (flags & NDR_OUT) {
8899 if (r->out.return_credentials == NULL) {
8900 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8902 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
8903 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8905 return NDR_ERR_SUCCESS;
8908 static enum ndr_err_code ndr_pull_netr_ServerReqChallenge(struct ndr_pull *ndr, int flags, struct netr_ServerReqChallenge *r)
8910 uint32_t _ptr_server_name;
8911 TALLOC_CTX *_mem_save_server_name_0;
8912 TALLOC_CTX *_mem_save_credentials_0;
8913 TALLOC_CTX *_mem_save_return_credentials_0;
8914 if (flags & NDR_IN) {
8915 ZERO_STRUCT(r->out);
8917 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
8918 if (_ptr_server_name) {
8919 NDR_PULL_ALLOC(ndr, r->in.server_name);
8920 } else {
8921 r->in.server_name = NULL;
8923 if (r->in.server_name) {
8924 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8925 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
8926 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
8927 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
8928 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
8929 return 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));
8931 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
8932 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));
8933 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
8935 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
8936 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
8937 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
8938 return 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));
8940 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
8941 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));
8942 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8943 NDR_PULL_ALLOC(ndr, r->in.credentials);
8945 _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
8946 NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC);
8947 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
8948 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
8949 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
8950 ZERO_STRUCTP(r->out.return_credentials);
8952 if (flags & NDR_OUT) {
8953 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8954 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
8956 _mem_save_return_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
8957 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_credentials, LIBNDR_FLAG_REF_ALLOC);
8958 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
8959 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_credentials_0, LIBNDR_FLAG_REF_ALLOC);
8960 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8962 return NDR_ERR_SUCCESS;
8965 _PUBLIC_ void ndr_print_netr_ServerReqChallenge(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerReqChallenge *r)
8967 ndr_print_struct(ndr, name, "netr_ServerReqChallenge");
8968 ndr->depth++;
8969 if (flags & NDR_SET_VALUES) {
8970 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8972 if (flags & NDR_IN) {
8973 ndr_print_struct(ndr, "in", "netr_ServerReqChallenge");
8974 ndr->depth++;
8975 ndr_print_ptr(ndr, "server_name", r->in.server_name);
8976 ndr->depth++;
8977 if (r->in.server_name) {
8978 ndr_print_string(ndr, "server_name", r->in.server_name);
8980 ndr->depth--;
8981 ndr_print_string(ndr, "computer_name", r->in.computer_name);
8982 ndr_print_ptr(ndr, "credentials", r->in.credentials);
8983 ndr->depth++;
8984 ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
8985 ndr->depth--;
8986 ndr->depth--;
8988 if (flags & NDR_OUT) {
8989 ndr_print_struct(ndr, "out", "netr_ServerReqChallenge");
8990 ndr->depth++;
8991 ndr_print_ptr(ndr, "return_credentials", r->out.return_credentials);
8992 ndr->depth++;
8993 ndr_print_netr_Credential(ndr, "return_credentials", r->out.return_credentials);
8994 ndr->depth--;
8995 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8996 ndr->depth--;
8998 ndr->depth--;
9001 static enum ndr_err_code ndr_push_netr_ServerAuthenticate(struct ndr_push *ndr, int flags, const struct netr_ServerAuthenticate *r)
9003 if (flags & NDR_IN) {
9004 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
9005 if (r->in.server_name) {
9006 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9007 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9008 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9009 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));
9011 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
9012 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9013 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
9014 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));
9015 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
9016 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
9017 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9018 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
9019 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));
9020 if (r->in.credentials == NULL) {
9021 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9023 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
9025 if (flags & NDR_OUT) {
9026 if (r->out.return_credentials == NULL) {
9027 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9029 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
9030 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9032 return NDR_ERR_SUCCESS;
9035 static enum ndr_err_code ndr_pull_netr_ServerAuthenticate(struct ndr_pull *ndr, int flags, struct netr_ServerAuthenticate *r)
9037 uint32_t _ptr_server_name;
9038 TALLOC_CTX *_mem_save_server_name_0;
9039 TALLOC_CTX *_mem_save_credentials_0;
9040 TALLOC_CTX *_mem_save_return_credentials_0;
9041 if (flags & NDR_IN) {
9042 ZERO_STRUCT(r->out);
9044 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
9045 if (_ptr_server_name) {
9046 NDR_PULL_ALLOC(ndr, r->in.server_name);
9047 } else {
9048 r->in.server_name = NULL;
9050 if (r->in.server_name) {
9051 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9052 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
9053 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
9054 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
9055 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
9056 return 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));
9058 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
9059 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));
9060 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
9062 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
9063 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
9064 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
9065 return 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));
9067 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
9068 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));
9069 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
9070 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
9071 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
9072 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
9073 return 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));
9075 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
9076 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));
9077 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9078 NDR_PULL_ALLOC(ndr, r->in.credentials);
9080 _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
9081 NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC);
9082 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
9083 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
9084 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
9085 ZERO_STRUCTP(r->out.return_credentials);
9087 if (flags & NDR_OUT) {
9088 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9089 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
9091 _mem_save_return_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
9092 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_credentials, LIBNDR_FLAG_REF_ALLOC);
9093 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
9094 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_credentials_0, LIBNDR_FLAG_REF_ALLOC);
9095 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9097 return NDR_ERR_SUCCESS;
9100 _PUBLIC_ void ndr_print_netr_ServerAuthenticate(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerAuthenticate *r)
9102 ndr_print_struct(ndr, name, "netr_ServerAuthenticate");
9103 ndr->depth++;
9104 if (flags & NDR_SET_VALUES) {
9105 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9107 if (flags & NDR_IN) {
9108 ndr_print_struct(ndr, "in", "netr_ServerAuthenticate");
9109 ndr->depth++;
9110 ndr_print_ptr(ndr, "server_name", r->in.server_name);
9111 ndr->depth++;
9112 if (r->in.server_name) {
9113 ndr_print_string(ndr, "server_name", r->in.server_name);
9115 ndr->depth--;
9116 ndr_print_string(ndr, "account_name", r->in.account_name);
9117 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
9118 ndr_print_string(ndr, "computer_name", r->in.computer_name);
9119 ndr_print_ptr(ndr, "credentials", r->in.credentials);
9120 ndr->depth++;
9121 ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
9122 ndr->depth--;
9123 ndr->depth--;
9125 if (flags & NDR_OUT) {
9126 ndr_print_struct(ndr, "out", "netr_ServerAuthenticate");
9127 ndr->depth++;
9128 ndr_print_ptr(ndr, "return_credentials", r->out.return_credentials);
9129 ndr->depth++;
9130 ndr_print_netr_Credential(ndr, "return_credentials", r->out.return_credentials);
9131 ndr->depth--;
9132 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9133 ndr->depth--;
9135 ndr->depth--;
9138 static enum ndr_err_code ndr_push_netr_ServerPasswordSet(struct ndr_push *ndr, int flags, const struct netr_ServerPasswordSet *r)
9140 if (flags & NDR_IN) {
9141 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
9142 if (r->in.server_name) {
9143 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9144 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9145 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9146 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));
9148 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
9149 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9150 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
9151 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));
9152 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
9153 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
9154 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9155 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
9156 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));
9157 if (r->in.credential == NULL) {
9158 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9160 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
9161 if (r->in.new_password == NULL) {
9162 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9164 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.new_password));
9166 if (flags & NDR_OUT) {
9167 if (r->out.return_authenticator == NULL) {
9168 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9170 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9171 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9173 return NDR_ERR_SUCCESS;
9176 static enum ndr_err_code ndr_pull_netr_ServerPasswordSet(struct ndr_pull *ndr, int flags, struct netr_ServerPasswordSet *r)
9178 uint32_t _ptr_server_name;
9179 TALLOC_CTX *_mem_save_server_name_0;
9180 TALLOC_CTX *_mem_save_credential_0;
9181 TALLOC_CTX *_mem_save_return_authenticator_0;
9182 TALLOC_CTX *_mem_save_new_password_0;
9183 if (flags & NDR_IN) {
9184 ZERO_STRUCT(r->out);
9186 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
9187 if (_ptr_server_name) {
9188 NDR_PULL_ALLOC(ndr, r->in.server_name);
9189 } else {
9190 r->in.server_name = NULL;
9192 if (r->in.server_name) {
9193 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9194 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
9195 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
9196 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
9197 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
9198 return 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));
9200 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
9201 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));
9202 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
9204 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
9205 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
9206 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
9207 return 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));
9209 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
9210 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));
9211 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
9212 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
9213 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
9214 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
9215 return 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));
9217 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
9218 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));
9219 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9220 NDR_PULL_ALLOC(ndr, r->in.credential);
9222 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
9223 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
9224 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
9225 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
9226 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9227 NDR_PULL_ALLOC(ndr, r->in.new_password);
9229 _mem_save_new_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
9230 NDR_PULL_SET_MEM_CTX(ndr, r->in.new_password, LIBNDR_FLAG_REF_ALLOC);
9231 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.new_password));
9232 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_password_0, LIBNDR_FLAG_REF_ALLOC);
9233 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9234 ZERO_STRUCTP(r->out.return_authenticator);
9236 if (flags & NDR_OUT) {
9237 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9238 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9240 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9241 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
9242 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9243 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
9244 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9246 return NDR_ERR_SUCCESS;
9249 _PUBLIC_ void ndr_print_netr_ServerPasswordSet(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerPasswordSet *r)
9251 ndr_print_struct(ndr, name, "netr_ServerPasswordSet");
9252 ndr->depth++;
9253 if (flags & NDR_SET_VALUES) {
9254 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9256 if (flags & NDR_IN) {
9257 ndr_print_struct(ndr, "in", "netr_ServerPasswordSet");
9258 ndr->depth++;
9259 ndr_print_ptr(ndr, "server_name", r->in.server_name);
9260 ndr->depth++;
9261 if (r->in.server_name) {
9262 ndr_print_string(ndr, "server_name", r->in.server_name);
9264 ndr->depth--;
9265 ndr_print_string(ndr, "account_name", r->in.account_name);
9266 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
9267 ndr_print_string(ndr, "computer_name", r->in.computer_name);
9268 ndr_print_ptr(ndr, "credential", r->in.credential);
9269 ndr->depth++;
9270 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
9271 ndr->depth--;
9272 ndr_print_ptr(ndr, "new_password", r->in.new_password);
9273 ndr->depth++;
9274 ndr_print_samr_Password(ndr, "new_password", r->in.new_password);
9275 ndr->depth--;
9276 ndr->depth--;
9278 if (flags & NDR_OUT) {
9279 ndr_print_struct(ndr, "out", "netr_ServerPasswordSet");
9280 ndr->depth++;
9281 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
9282 ndr->depth++;
9283 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
9284 ndr->depth--;
9285 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9286 ndr->depth--;
9288 ndr->depth--;
9291 static enum ndr_err_code ndr_push_netr_DatabaseDeltas(struct ndr_push *ndr, int flags, const struct netr_DatabaseDeltas *r)
9293 if (flags & NDR_IN) {
9294 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9295 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9296 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9297 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));
9298 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
9299 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9300 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
9301 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9302 if (r->in.credential == NULL) {
9303 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9305 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
9306 if (r->in.return_authenticator == NULL) {
9307 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9309 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9310 NDR_CHECK(ndr_push_netr_SamDatabaseID(ndr, NDR_SCALARS, r->in.database_id));
9311 if (r->in.sequence_num == NULL) {
9312 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9314 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, *r->in.sequence_num));
9315 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.preferredmaximumlength));
9317 if (flags & NDR_OUT) {
9318 if (r->out.return_authenticator == NULL) {
9319 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9321 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9322 if (r->out.sequence_num == NULL) {
9323 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9325 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, *r->out.sequence_num));
9326 if (r->out.delta_enum_array == NULL) {
9327 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9329 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.delta_enum_array));
9330 if (*r->out.delta_enum_array) {
9331 NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
9333 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9335 return NDR_ERR_SUCCESS;
9338 static enum ndr_err_code ndr_pull_netr_DatabaseDeltas(struct ndr_pull *ndr, int flags, struct netr_DatabaseDeltas *r)
9340 uint32_t _ptr_delta_enum_array;
9341 TALLOC_CTX *_mem_save_credential_0;
9342 TALLOC_CTX *_mem_save_return_authenticator_0;
9343 TALLOC_CTX *_mem_save_sequence_num_0;
9344 TALLOC_CTX *_mem_save_delta_enum_array_0;
9345 TALLOC_CTX *_mem_save_delta_enum_array_1;
9346 if (flags & NDR_IN) {
9347 ZERO_STRUCT(r->out);
9349 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
9350 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
9351 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
9352 return 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));
9354 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
9355 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));
9356 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
9357 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
9358 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
9359 return 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));
9361 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
9362 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
9363 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9364 NDR_PULL_ALLOC(ndr, r->in.credential);
9366 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
9367 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
9368 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
9369 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
9370 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9371 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
9373 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9374 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
9375 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9376 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
9377 NDR_CHECK(ndr_pull_netr_SamDatabaseID(ndr, NDR_SCALARS, &r->in.database_id));
9378 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9379 NDR_PULL_ALLOC(ndr, r->in.sequence_num);
9381 _mem_save_sequence_num_0 = NDR_PULL_GET_MEM_CTX(ndr);
9382 NDR_PULL_SET_MEM_CTX(ndr, r->in.sequence_num, LIBNDR_FLAG_REF_ALLOC);
9383 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, r->in.sequence_num));
9384 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sequence_num_0, LIBNDR_FLAG_REF_ALLOC);
9385 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.preferredmaximumlength));
9386 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9387 *r->out.return_authenticator = *r->in.return_authenticator;
9388 NDR_PULL_ALLOC(ndr, r->out.sequence_num);
9389 *r->out.sequence_num = *r->in.sequence_num;
9390 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
9391 ZERO_STRUCTP(r->out.delta_enum_array);
9393 if (flags & NDR_OUT) {
9394 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9395 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9397 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9398 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
9399 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9400 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
9401 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9402 NDR_PULL_ALLOC(ndr, r->out.sequence_num);
9404 _mem_save_sequence_num_0 = NDR_PULL_GET_MEM_CTX(ndr);
9405 NDR_PULL_SET_MEM_CTX(ndr, r->out.sequence_num, LIBNDR_FLAG_REF_ALLOC);
9406 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, r->out.sequence_num));
9407 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sequence_num_0, LIBNDR_FLAG_REF_ALLOC);
9408 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9409 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
9411 _mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
9412 NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC);
9413 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum_array));
9414 if (_ptr_delta_enum_array) {
9415 NDR_PULL_ALLOC(ndr, *r->out.delta_enum_array);
9416 } else {
9417 *r->out.delta_enum_array = NULL;
9419 if (*r->out.delta_enum_array) {
9420 _mem_save_delta_enum_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
9421 NDR_PULL_SET_MEM_CTX(ndr, *r->out.delta_enum_array, 0);
9422 NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
9423 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_1, 0);
9425 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC);
9426 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9428 return NDR_ERR_SUCCESS;
9431 _PUBLIC_ void ndr_print_netr_DatabaseDeltas(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseDeltas *r)
9433 ndr_print_struct(ndr, name, "netr_DatabaseDeltas");
9434 ndr->depth++;
9435 if (flags & NDR_SET_VALUES) {
9436 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9438 if (flags & NDR_IN) {
9439 ndr_print_struct(ndr, "in", "netr_DatabaseDeltas");
9440 ndr->depth++;
9441 ndr_print_string(ndr, "logon_server", r->in.logon_server);
9442 ndr_print_string(ndr, "computername", r->in.computername);
9443 ndr_print_ptr(ndr, "credential", r->in.credential);
9444 ndr->depth++;
9445 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
9446 ndr->depth--;
9447 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
9448 ndr->depth++;
9449 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
9450 ndr->depth--;
9451 ndr_print_netr_SamDatabaseID(ndr, "database_id", r->in.database_id);
9452 ndr_print_ptr(ndr, "sequence_num", r->in.sequence_num);
9453 ndr->depth++;
9454 ndr_print_udlong(ndr, "sequence_num", *r->in.sequence_num);
9455 ndr->depth--;
9456 ndr_print_uint32(ndr, "preferredmaximumlength", r->in.preferredmaximumlength);
9457 ndr->depth--;
9459 if (flags & NDR_OUT) {
9460 ndr_print_struct(ndr, "out", "netr_DatabaseDeltas");
9461 ndr->depth++;
9462 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
9463 ndr->depth++;
9464 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
9465 ndr->depth--;
9466 ndr_print_ptr(ndr, "sequence_num", r->out.sequence_num);
9467 ndr->depth++;
9468 ndr_print_udlong(ndr, "sequence_num", *r->out.sequence_num);
9469 ndr->depth--;
9470 ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array);
9471 ndr->depth++;
9472 ndr_print_ptr(ndr, "delta_enum_array", *r->out.delta_enum_array);
9473 ndr->depth++;
9474 if (*r->out.delta_enum_array) {
9475 ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", *r->out.delta_enum_array);
9477 ndr->depth--;
9478 ndr->depth--;
9479 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9480 ndr->depth--;
9482 ndr->depth--;
9485 static enum ndr_err_code ndr_push_netr_DatabaseSync(struct ndr_push *ndr, int flags, const struct netr_DatabaseSync *r)
9487 if (flags & NDR_IN) {
9488 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9489 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9490 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9491 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));
9492 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
9493 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9494 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
9495 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9496 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
9497 if (r->in.return_authenticator == NULL) {
9498 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9500 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9501 NDR_CHECK(ndr_push_netr_SamDatabaseID(ndr, NDR_SCALARS, r->in.database_id));
9502 if (r->in.sync_context == NULL) {
9503 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9505 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.sync_context));
9506 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.preferredmaximumlength));
9508 if (flags & NDR_OUT) {
9509 if (r->out.return_authenticator == NULL) {
9510 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9512 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9513 if (r->out.sync_context == NULL) {
9514 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9516 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.sync_context));
9517 if (r->out.delta_enum_array == NULL) {
9518 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9520 NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.delta_enum_array));
9521 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9523 return NDR_ERR_SUCCESS;
9526 static enum ndr_err_code ndr_pull_netr_DatabaseSync(struct ndr_pull *ndr, int flags, struct netr_DatabaseSync *r)
9528 TALLOC_CTX *_mem_save_return_authenticator_0;
9529 TALLOC_CTX *_mem_save_sync_context_0;
9530 TALLOC_CTX *_mem_save_delta_enum_array_0;
9531 if (flags & NDR_IN) {
9532 ZERO_STRUCT(r->out);
9534 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
9535 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
9536 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
9537 return 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));
9539 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
9540 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));
9541 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
9542 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
9543 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
9544 return 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));
9546 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
9547 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
9548 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
9549 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9550 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
9552 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9553 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
9554 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9555 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
9556 NDR_CHECK(ndr_pull_netr_SamDatabaseID(ndr, NDR_SCALARS, &r->in.database_id));
9557 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9558 NDR_PULL_ALLOC(ndr, r->in.sync_context);
9560 _mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
9561 NDR_PULL_SET_MEM_CTX(ndr, r->in.sync_context, LIBNDR_FLAG_REF_ALLOC);
9562 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.sync_context));
9563 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC);
9564 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.preferredmaximumlength));
9565 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9566 *r->out.return_authenticator = *r->in.return_authenticator;
9567 NDR_PULL_ALLOC(ndr, r->out.sync_context);
9568 *r->out.sync_context = *r->in.sync_context;
9569 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
9570 ZERO_STRUCTP(r->out.delta_enum_array);
9572 if (flags & NDR_OUT) {
9573 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9574 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9576 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9577 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
9578 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9579 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
9580 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9581 NDR_PULL_ALLOC(ndr, r->out.sync_context);
9583 _mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
9584 NDR_PULL_SET_MEM_CTX(ndr, r->out.sync_context, LIBNDR_FLAG_REF_ALLOC);
9585 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.sync_context));
9586 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC);
9587 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9588 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
9590 _mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
9591 NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC);
9592 NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.delta_enum_array));
9593 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC);
9594 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9596 return NDR_ERR_SUCCESS;
9599 _PUBLIC_ void ndr_print_netr_DatabaseSync(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseSync *r)
9601 ndr_print_struct(ndr, name, "netr_DatabaseSync");
9602 ndr->depth++;
9603 if (flags & NDR_SET_VALUES) {
9604 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9606 if (flags & NDR_IN) {
9607 ndr_print_struct(ndr, "in", "netr_DatabaseSync");
9608 ndr->depth++;
9609 ndr_print_string(ndr, "logon_server", r->in.logon_server);
9610 ndr_print_string(ndr, "computername", r->in.computername);
9611 ndr_print_netr_Authenticator(ndr, "credential", &r->in.credential);
9612 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
9613 ndr->depth++;
9614 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
9615 ndr->depth--;
9616 ndr_print_netr_SamDatabaseID(ndr, "database_id", r->in.database_id);
9617 ndr_print_ptr(ndr, "sync_context", r->in.sync_context);
9618 ndr->depth++;
9619 ndr_print_uint32(ndr, "sync_context", *r->in.sync_context);
9620 ndr->depth--;
9621 ndr_print_uint32(ndr, "preferredmaximumlength", r->in.preferredmaximumlength);
9622 ndr->depth--;
9624 if (flags & NDR_OUT) {
9625 ndr_print_struct(ndr, "out", "netr_DatabaseSync");
9626 ndr->depth++;
9627 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
9628 ndr->depth++;
9629 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
9630 ndr->depth--;
9631 ndr_print_ptr(ndr, "sync_context", r->out.sync_context);
9632 ndr->depth++;
9633 ndr_print_uint32(ndr, "sync_context", *r->out.sync_context);
9634 ndr->depth--;
9635 ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array);
9636 ndr->depth++;
9637 ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", r->out.delta_enum_array);
9638 ndr->depth--;
9639 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9640 ndr->depth--;
9642 ndr->depth--;
9645 static enum ndr_err_code ndr_push_netr_AccountDeltas(struct ndr_push *ndr, int flags, const struct netr_AccountDeltas *r)
9647 if (flags & NDR_IN) {
9648 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
9649 if (r->in.logon_server) {
9650 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9651 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9652 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9653 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));
9655 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
9656 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9657 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
9658 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9659 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
9660 if (r->in.return_authenticator == NULL) {
9661 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9663 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9664 NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, &r->in.uas));
9665 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
9666 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
9667 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buffersize));
9669 if (flags & NDR_OUT) {
9670 if (r->out.return_authenticator == NULL) {
9671 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9673 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9674 if (r->out.buffer == NULL) {
9675 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9678 struct ndr_push *_ndr_buffer;
9679 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_buffer, 4, -1));
9680 NDR_CHECK(ndr_push_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer));
9681 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_buffer, 4, -1));
9683 if (r->out.count_returned == NULL) {
9684 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9686 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count_returned));
9687 if (r->out.total_entries == NULL) {
9688 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9690 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.total_entries));
9691 if (r->out.recordid == NULL) {
9692 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9694 NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid));
9695 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9697 return NDR_ERR_SUCCESS;
9700 static enum ndr_err_code ndr_pull_netr_AccountDeltas(struct ndr_pull *ndr, int flags, struct netr_AccountDeltas *r)
9702 uint32_t _ptr_logon_server;
9703 TALLOC_CTX *_mem_save_logon_server_0;
9704 TALLOC_CTX *_mem_save_return_authenticator_0;
9705 TALLOC_CTX *_mem_save_buffer_0;
9706 TALLOC_CTX *_mem_save_count_returned_0;
9707 TALLOC_CTX *_mem_save_total_entries_0;
9708 TALLOC_CTX *_mem_save_recordid_0;
9709 if (flags & NDR_IN) {
9710 ZERO_STRUCT(r->out);
9712 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
9713 if (_ptr_logon_server) {
9714 NDR_PULL_ALLOC(ndr, r->in.logon_server);
9715 } else {
9716 r->in.logon_server = NULL;
9718 if (r->in.logon_server) {
9719 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
9720 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
9721 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
9722 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
9723 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
9724 return 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));
9726 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
9727 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));
9728 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
9730 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
9731 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
9732 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
9733 return 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));
9735 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
9736 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
9737 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
9738 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9739 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
9741 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9742 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
9743 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9744 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
9745 NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, &r->in.uas));
9746 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
9747 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
9748 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buffersize));
9749 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9750 *r->out.return_authenticator = *r->in.return_authenticator;
9751 NDR_PULL_ALLOC(ndr, r->out.buffer);
9752 ZERO_STRUCTP(r->out.buffer);
9753 NDR_PULL_ALLOC(ndr, r->out.count_returned);
9754 ZERO_STRUCTP(r->out.count_returned);
9755 NDR_PULL_ALLOC(ndr, r->out.total_entries);
9756 ZERO_STRUCTP(r->out.total_entries);
9757 NDR_PULL_ALLOC(ndr, r->out.recordid);
9758 ZERO_STRUCTP(r->out.recordid);
9760 if (flags & NDR_OUT) {
9761 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9762 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9764 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9765 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
9766 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9767 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
9768 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9769 NDR_PULL_ALLOC(ndr, r->out.buffer);
9771 _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
9772 NDR_PULL_SET_MEM_CTX(ndr, r->out.buffer, LIBNDR_FLAG_REF_ALLOC);
9774 struct ndr_pull *_ndr_buffer;
9775 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_buffer, 4, -1));
9776 NDR_CHECK(ndr_pull_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer));
9777 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_buffer, 4, -1));
9779 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, LIBNDR_FLAG_REF_ALLOC);
9780 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9781 NDR_PULL_ALLOC(ndr, r->out.count_returned);
9783 _mem_save_count_returned_0 = NDR_PULL_GET_MEM_CTX(ndr);
9784 NDR_PULL_SET_MEM_CTX(ndr, r->out.count_returned, LIBNDR_FLAG_REF_ALLOC);
9785 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count_returned));
9786 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_returned_0, LIBNDR_FLAG_REF_ALLOC);
9787 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9788 NDR_PULL_ALLOC(ndr, r->out.total_entries);
9790 _mem_save_total_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
9791 NDR_PULL_SET_MEM_CTX(ndr, r->out.total_entries, LIBNDR_FLAG_REF_ALLOC);
9792 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.total_entries));
9793 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_total_entries_0, LIBNDR_FLAG_REF_ALLOC);
9794 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9795 NDR_PULL_ALLOC(ndr, r->out.recordid);
9797 _mem_save_recordid_0 = NDR_PULL_GET_MEM_CTX(ndr);
9798 NDR_PULL_SET_MEM_CTX(ndr, r->out.recordid, LIBNDR_FLAG_REF_ALLOC);
9799 NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid));
9800 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_recordid_0, LIBNDR_FLAG_REF_ALLOC);
9801 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9803 return NDR_ERR_SUCCESS;
9806 _PUBLIC_ void ndr_print_netr_AccountDeltas(struct ndr_print *ndr, const char *name, int flags, const struct netr_AccountDeltas *r)
9808 ndr_print_struct(ndr, name, "netr_AccountDeltas");
9809 ndr->depth++;
9810 if (flags & NDR_SET_VALUES) {
9811 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9813 if (flags & NDR_IN) {
9814 ndr_print_struct(ndr, "in", "netr_AccountDeltas");
9815 ndr->depth++;
9816 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
9817 ndr->depth++;
9818 if (r->in.logon_server) {
9819 ndr_print_string(ndr, "logon_server", r->in.logon_server);
9821 ndr->depth--;
9822 ndr_print_string(ndr, "computername", r->in.computername);
9823 ndr_print_netr_Authenticator(ndr, "credential", &r->in.credential);
9824 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
9825 ndr->depth++;
9826 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
9827 ndr->depth--;
9828 ndr_print_netr_UAS_INFO_0(ndr, "uas", &r->in.uas);
9829 ndr_print_uint32(ndr, "count", r->in.count);
9830 ndr_print_uint32(ndr, "level", r->in.level);
9831 ndr_print_uint32(ndr, "buffersize", r->in.buffersize);
9832 ndr->depth--;
9834 if (flags & NDR_OUT) {
9835 ndr_print_struct(ndr, "out", "netr_AccountDeltas");
9836 ndr->depth++;
9837 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
9838 ndr->depth++;
9839 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
9840 ndr->depth--;
9841 ndr_print_ptr(ndr, "buffer", r->out.buffer);
9842 ndr->depth++;
9843 ndr_print_netr_AccountBuffer(ndr, "buffer", r->out.buffer);
9844 ndr->depth--;
9845 ndr_print_ptr(ndr, "count_returned", r->out.count_returned);
9846 ndr->depth++;
9847 ndr_print_uint32(ndr, "count_returned", *r->out.count_returned);
9848 ndr->depth--;
9849 ndr_print_ptr(ndr, "total_entries", r->out.total_entries);
9850 ndr->depth++;
9851 ndr_print_uint32(ndr, "total_entries", *r->out.total_entries);
9852 ndr->depth--;
9853 ndr_print_ptr(ndr, "recordid", r->out.recordid);
9854 ndr->depth++;
9855 ndr_print_netr_UAS_INFO_0(ndr, "recordid", r->out.recordid);
9856 ndr->depth--;
9857 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9858 ndr->depth--;
9860 ndr->depth--;
9863 static enum ndr_err_code ndr_push_netr_AccountSync(struct ndr_push *ndr, int flags, const struct netr_AccountSync *r)
9865 if (flags & NDR_IN) {
9866 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
9867 if (r->in.logon_server) {
9868 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9869 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9870 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9871 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));
9873 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
9874 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9875 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
9876 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9877 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
9878 if (r->in.return_authenticator == NULL) {
9879 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9881 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9882 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.reference));
9883 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
9884 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buffersize));
9885 if (r->in.recordid == NULL) {
9886 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9888 NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->in.recordid));
9890 if (flags & NDR_OUT) {
9891 if (r->out.return_authenticator == NULL) {
9892 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9894 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9895 if (r->out.buffer == NULL) {
9896 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9899 struct ndr_push *_ndr_buffer;
9900 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_buffer, 4, -1));
9901 NDR_CHECK(ndr_push_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer));
9902 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_buffer, 4, -1));
9904 if (r->out.count_returned == NULL) {
9905 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9907 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count_returned));
9908 if (r->out.total_entries == NULL) {
9909 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9911 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.total_entries));
9912 if (r->out.next_reference == NULL) {
9913 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9915 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.next_reference));
9916 if (r->out.recordid == NULL) {
9917 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9919 NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid));
9920 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9922 return NDR_ERR_SUCCESS;
9925 static enum ndr_err_code ndr_pull_netr_AccountSync(struct ndr_pull *ndr, int flags, struct netr_AccountSync *r)
9927 uint32_t _ptr_logon_server;
9928 TALLOC_CTX *_mem_save_logon_server_0;
9929 TALLOC_CTX *_mem_save_return_authenticator_0;
9930 TALLOC_CTX *_mem_save_buffer_0;
9931 TALLOC_CTX *_mem_save_count_returned_0;
9932 TALLOC_CTX *_mem_save_total_entries_0;
9933 TALLOC_CTX *_mem_save_next_reference_0;
9934 TALLOC_CTX *_mem_save_recordid_0;
9935 if (flags & NDR_IN) {
9936 ZERO_STRUCT(r->out);
9938 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
9939 if (_ptr_logon_server) {
9940 NDR_PULL_ALLOC(ndr, r->in.logon_server);
9941 } else {
9942 r->in.logon_server = NULL;
9944 if (r->in.logon_server) {
9945 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
9946 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
9947 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
9948 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
9949 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
9950 return 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));
9952 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
9953 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));
9954 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
9956 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
9957 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
9958 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
9959 return 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));
9961 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
9962 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
9963 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
9964 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9965 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
9967 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9968 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
9969 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9970 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
9971 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.reference));
9972 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
9973 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buffersize));
9974 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9975 NDR_PULL_ALLOC(ndr, r->in.recordid);
9977 _mem_save_recordid_0 = NDR_PULL_GET_MEM_CTX(ndr);
9978 NDR_PULL_SET_MEM_CTX(ndr, r->in.recordid, LIBNDR_FLAG_REF_ALLOC);
9979 NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->in.recordid));
9980 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_recordid_0, LIBNDR_FLAG_REF_ALLOC);
9981 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9982 *r->out.return_authenticator = *r->in.return_authenticator;
9983 NDR_PULL_ALLOC(ndr, r->out.buffer);
9984 ZERO_STRUCTP(r->out.buffer);
9985 NDR_PULL_ALLOC(ndr, r->out.count_returned);
9986 ZERO_STRUCTP(r->out.count_returned);
9987 NDR_PULL_ALLOC(ndr, r->out.total_entries);
9988 ZERO_STRUCTP(r->out.total_entries);
9989 NDR_PULL_ALLOC(ndr, r->out.next_reference);
9990 ZERO_STRUCTP(r->out.next_reference);
9991 NDR_PULL_ALLOC(ndr, r->out.recordid);
9992 *r->out.recordid = *r->in.recordid;
9994 if (flags & NDR_OUT) {
9995 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9996 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9998 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9999 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10000 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10001 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10002 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10003 NDR_PULL_ALLOC(ndr, r->out.buffer);
10005 _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
10006 NDR_PULL_SET_MEM_CTX(ndr, r->out.buffer, LIBNDR_FLAG_REF_ALLOC);
10008 struct ndr_pull *_ndr_buffer;
10009 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_buffer, 4, -1));
10010 NDR_CHECK(ndr_pull_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer));
10011 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_buffer, 4, -1));
10013 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, LIBNDR_FLAG_REF_ALLOC);
10014 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10015 NDR_PULL_ALLOC(ndr, r->out.count_returned);
10017 _mem_save_count_returned_0 = NDR_PULL_GET_MEM_CTX(ndr);
10018 NDR_PULL_SET_MEM_CTX(ndr, r->out.count_returned, LIBNDR_FLAG_REF_ALLOC);
10019 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count_returned));
10020 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_returned_0, LIBNDR_FLAG_REF_ALLOC);
10021 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10022 NDR_PULL_ALLOC(ndr, r->out.total_entries);
10024 _mem_save_total_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
10025 NDR_PULL_SET_MEM_CTX(ndr, r->out.total_entries, LIBNDR_FLAG_REF_ALLOC);
10026 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.total_entries));
10027 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_total_entries_0, LIBNDR_FLAG_REF_ALLOC);
10028 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10029 NDR_PULL_ALLOC(ndr, r->out.next_reference);
10031 _mem_save_next_reference_0 = NDR_PULL_GET_MEM_CTX(ndr);
10032 NDR_PULL_SET_MEM_CTX(ndr, r->out.next_reference, LIBNDR_FLAG_REF_ALLOC);
10033 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.next_reference));
10034 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_reference_0, LIBNDR_FLAG_REF_ALLOC);
10035 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10036 NDR_PULL_ALLOC(ndr, r->out.recordid);
10038 _mem_save_recordid_0 = NDR_PULL_GET_MEM_CTX(ndr);
10039 NDR_PULL_SET_MEM_CTX(ndr, r->out.recordid, LIBNDR_FLAG_REF_ALLOC);
10040 NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid));
10041 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_recordid_0, LIBNDR_FLAG_REF_ALLOC);
10042 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10044 return NDR_ERR_SUCCESS;
10047 _PUBLIC_ void ndr_print_netr_AccountSync(struct ndr_print *ndr, const char *name, int flags, const struct netr_AccountSync *r)
10049 ndr_print_struct(ndr, name, "netr_AccountSync");
10050 ndr->depth++;
10051 if (flags & NDR_SET_VALUES) {
10052 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10054 if (flags & NDR_IN) {
10055 ndr_print_struct(ndr, "in", "netr_AccountSync");
10056 ndr->depth++;
10057 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
10058 ndr->depth++;
10059 if (r->in.logon_server) {
10060 ndr_print_string(ndr, "logon_server", r->in.logon_server);
10062 ndr->depth--;
10063 ndr_print_string(ndr, "computername", r->in.computername);
10064 ndr_print_netr_Authenticator(ndr, "credential", &r->in.credential);
10065 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
10066 ndr->depth++;
10067 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
10068 ndr->depth--;
10069 ndr_print_uint32(ndr, "reference", r->in.reference);
10070 ndr_print_uint32(ndr, "level", r->in.level);
10071 ndr_print_uint32(ndr, "buffersize", r->in.buffersize);
10072 ndr_print_ptr(ndr, "recordid", r->in.recordid);
10073 ndr->depth++;
10074 ndr_print_netr_UAS_INFO_0(ndr, "recordid", r->in.recordid);
10075 ndr->depth--;
10076 ndr->depth--;
10078 if (flags & NDR_OUT) {
10079 ndr_print_struct(ndr, "out", "netr_AccountSync");
10080 ndr->depth++;
10081 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
10082 ndr->depth++;
10083 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
10084 ndr->depth--;
10085 ndr_print_ptr(ndr, "buffer", r->out.buffer);
10086 ndr->depth++;
10087 ndr_print_netr_AccountBuffer(ndr, "buffer", r->out.buffer);
10088 ndr->depth--;
10089 ndr_print_ptr(ndr, "count_returned", r->out.count_returned);
10090 ndr->depth++;
10091 ndr_print_uint32(ndr, "count_returned", *r->out.count_returned);
10092 ndr->depth--;
10093 ndr_print_ptr(ndr, "total_entries", r->out.total_entries);
10094 ndr->depth++;
10095 ndr_print_uint32(ndr, "total_entries", *r->out.total_entries);
10096 ndr->depth--;
10097 ndr_print_ptr(ndr, "next_reference", r->out.next_reference);
10098 ndr->depth++;
10099 ndr_print_uint32(ndr, "next_reference", *r->out.next_reference);
10100 ndr->depth--;
10101 ndr_print_ptr(ndr, "recordid", r->out.recordid);
10102 ndr->depth++;
10103 ndr_print_netr_UAS_INFO_0(ndr, "recordid", r->out.recordid);
10104 ndr->depth--;
10105 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10106 ndr->depth--;
10108 ndr->depth--;
10111 static enum ndr_err_code ndr_push_netr_GetDcName(struct ndr_push *ndr, int flags, const struct netr_GetDcName *r)
10113 if (flags & NDR_IN) {
10114 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10115 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10116 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10117 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));
10118 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domainname));
10119 if (r->in.domainname) {
10120 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16)));
10121 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10122 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16)));
10123 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domainname, ndr_charset_length(r->in.domainname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10126 if (flags & NDR_OUT) {
10127 if (r->out.dcname == NULL) {
10128 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10130 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.dcname));
10131 if (*r->out.dcname) {
10132 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16)));
10133 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10134 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16)));
10135 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.dcname, ndr_charset_length(*r->out.dcname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10137 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
10139 return NDR_ERR_SUCCESS;
10142 static enum ndr_err_code ndr_pull_netr_GetDcName(struct ndr_pull *ndr, int flags, struct netr_GetDcName *r)
10144 uint32_t _ptr_domainname;
10145 uint32_t _ptr_dcname;
10146 TALLOC_CTX *_mem_save_domainname_0;
10147 TALLOC_CTX *_mem_save_dcname_0;
10148 TALLOC_CTX *_mem_save_dcname_1;
10149 if (flags & NDR_IN) {
10150 ZERO_STRUCT(r->out);
10152 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
10153 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
10154 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
10155 return 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));
10157 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
10158 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));
10159 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domainname));
10160 if (_ptr_domainname) {
10161 NDR_PULL_ALLOC(ndr, r->in.domainname);
10162 } else {
10163 r->in.domainname = NULL;
10165 if (r->in.domainname) {
10166 _mem_save_domainname_0 = NDR_PULL_GET_MEM_CTX(ndr);
10167 NDR_PULL_SET_MEM_CTX(ndr, r->in.domainname, 0);
10168 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domainname));
10169 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domainname));
10170 if (ndr_get_array_length(ndr, &r->in.domainname) > ndr_get_array_size(ndr, &r->in.domainname)) {
10171 return 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));
10173 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domainname), sizeof(uint16_t)));
10174 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domainname, ndr_get_array_length(ndr, &r->in.domainname), sizeof(uint16_t), CH_UTF16));
10175 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domainname_0, 0);
10177 NDR_PULL_ALLOC(ndr, r->out.dcname);
10178 ZERO_STRUCTP(r->out.dcname);
10180 if (flags & NDR_OUT) {
10181 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10182 NDR_PULL_ALLOC(ndr, r->out.dcname);
10184 _mem_save_dcname_0 = NDR_PULL_GET_MEM_CTX(ndr);
10185 NDR_PULL_SET_MEM_CTX(ndr, r->out.dcname, LIBNDR_FLAG_REF_ALLOC);
10186 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dcname));
10187 if (_ptr_dcname) {
10188 NDR_PULL_ALLOC(ndr, *r->out.dcname);
10189 } else {
10190 *r->out.dcname = NULL;
10192 if (*r->out.dcname) {
10193 _mem_save_dcname_1 = NDR_PULL_GET_MEM_CTX(ndr);
10194 NDR_PULL_SET_MEM_CTX(ndr, *r->out.dcname, 0);
10195 NDR_CHECK(ndr_pull_array_size(ndr, r->out.dcname));
10196 NDR_CHECK(ndr_pull_array_length(ndr, r->out.dcname));
10197 if (ndr_get_array_length(ndr, r->out.dcname) > ndr_get_array_size(ndr, r->out.dcname)) {
10198 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));
10200 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.dcname), sizeof(uint16_t)));
10201 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.dcname, ndr_get_array_length(ndr, r->out.dcname), sizeof(uint16_t), CH_UTF16));
10202 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_1, 0);
10204 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_0, LIBNDR_FLAG_REF_ALLOC);
10205 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
10207 return NDR_ERR_SUCCESS;
10210 _PUBLIC_ void ndr_print_netr_GetDcName(struct ndr_print *ndr, const char *name, int flags, const struct netr_GetDcName *r)
10212 ndr_print_struct(ndr, name, "netr_GetDcName");
10213 ndr->depth++;
10214 if (flags & NDR_SET_VALUES) {
10215 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10217 if (flags & NDR_IN) {
10218 ndr_print_struct(ndr, "in", "netr_GetDcName");
10219 ndr->depth++;
10220 ndr_print_string(ndr, "logon_server", r->in.logon_server);
10221 ndr_print_ptr(ndr, "domainname", r->in.domainname);
10222 ndr->depth++;
10223 if (r->in.domainname) {
10224 ndr_print_string(ndr, "domainname", r->in.domainname);
10226 ndr->depth--;
10227 ndr->depth--;
10229 if (flags & NDR_OUT) {
10230 ndr_print_struct(ndr, "out", "netr_GetDcName");
10231 ndr->depth++;
10232 ndr_print_ptr(ndr, "dcname", r->out.dcname);
10233 ndr->depth++;
10234 ndr_print_ptr(ndr, "dcname", *r->out.dcname);
10235 ndr->depth++;
10236 if (*r->out.dcname) {
10237 ndr_print_string(ndr, "dcname", *r->out.dcname);
10239 ndr->depth--;
10240 ndr->depth--;
10241 ndr_print_WERROR(ndr, "result", r->out.result);
10242 ndr->depth--;
10244 ndr->depth--;
10247 static enum ndr_err_code ndr_push_netr_LogonControl(struct ndr_push *ndr, int flags, const struct netr_LogonControl *r)
10249 if (flags & NDR_IN) {
10250 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
10251 if (r->in.logon_server) {
10252 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10253 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10254 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10255 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.logon_server, ndr_charset_length(r->in.logon_server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10257 NDR_CHECK(ndr_push_netr_LogonControlCode(ndr, NDR_SCALARS, r->in.function_code));
10258 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
10260 if (flags & NDR_OUT) {
10261 if (r->out.info == NULL) {
10262 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10264 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level));
10265 NDR_CHECK(ndr_push_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
10266 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
10268 return NDR_ERR_SUCCESS;
10271 static enum ndr_err_code ndr_pull_netr_LogonControl(struct ndr_pull *ndr, int flags, struct netr_LogonControl *r)
10273 uint32_t _ptr_logon_server;
10274 TALLOC_CTX *_mem_save_logon_server_0;
10275 TALLOC_CTX *_mem_save_info_0;
10276 if (flags & NDR_IN) {
10277 ZERO_STRUCT(r->out);
10279 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
10280 if (_ptr_logon_server) {
10281 NDR_PULL_ALLOC(ndr, r->in.logon_server);
10282 } else {
10283 r->in.logon_server = NULL;
10285 if (r->in.logon_server) {
10286 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
10287 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
10288 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
10289 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
10290 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
10291 return 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));
10293 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
10294 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));
10295 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
10297 NDR_CHECK(ndr_pull_netr_LogonControlCode(ndr, NDR_SCALARS, &r->in.function_code));
10298 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
10299 NDR_PULL_ALLOC(ndr, r->out.info);
10300 ZERO_STRUCTP(r->out.info);
10302 if (flags & NDR_OUT) {
10303 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10304 NDR_PULL_ALLOC(ndr, r->out.info);
10306 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
10307 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
10308 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level));
10309 NDR_CHECK(ndr_pull_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
10310 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
10311 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
10313 return NDR_ERR_SUCCESS;
10316 _PUBLIC_ void ndr_print_netr_LogonControl(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonControl *r)
10318 ndr_print_struct(ndr, name, "netr_LogonControl");
10319 ndr->depth++;
10320 if (flags & NDR_SET_VALUES) {
10321 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10323 if (flags & NDR_IN) {
10324 ndr_print_struct(ndr, "in", "netr_LogonControl");
10325 ndr->depth++;
10326 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
10327 ndr->depth++;
10328 if (r->in.logon_server) {
10329 ndr_print_string(ndr, "logon_server", r->in.logon_server);
10331 ndr->depth--;
10332 ndr_print_netr_LogonControlCode(ndr, "function_code", r->in.function_code);
10333 ndr_print_uint32(ndr, "level", r->in.level);
10334 ndr->depth--;
10336 if (flags & NDR_OUT) {
10337 ndr_print_struct(ndr, "out", "netr_LogonControl");
10338 ndr->depth++;
10339 ndr_print_ptr(ndr, "info", r->out.info);
10340 ndr->depth++;
10341 ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
10342 ndr_print_netr_CONTROL_QUERY_INFORMATION(ndr, "info", r->out.info);
10343 ndr->depth--;
10344 ndr_print_WERROR(ndr, "result", r->out.result);
10345 ndr->depth--;
10347 ndr->depth--;
10350 static enum ndr_err_code ndr_push_netr_GetAnyDCName(struct ndr_push *ndr, int flags, const struct netr_GetAnyDCName *r)
10352 if (flags & NDR_IN) {
10353 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
10354 if (r->in.logon_server) {
10355 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10356 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10357 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10358 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));
10360 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domainname));
10361 if (r->in.domainname) {
10362 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16)));
10363 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10364 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16)));
10365 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domainname, ndr_charset_length(r->in.domainname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10368 if (flags & NDR_OUT) {
10369 if (r->out.dcname == NULL) {
10370 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10372 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.dcname));
10373 if (*r->out.dcname) {
10374 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16)));
10375 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10376 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16)));
10377 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.dcname, ndr_charset_length(*r->out.dcname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10379 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
10381 return NDR_ERR_SUCCESS;
10384 static enum ndr_err_code ndr_pull_netr_GetAnyDCName(struct ndr_pull *ndr, int flags, struct netr_GetAnyDCName *r)
10386 uint32_t _ptr_logon_server;
10387 uint32_t _ptr_domainname;
10388 uint32_t _ptr_dcname;
10389 TALLOC_CTX *_mem_save_logon_server_0;
10390 TALLOC_CTX *_mem_save_domainname_0;
10391 TALLOC_CTX *_mem_save_dcname_0;
10392 TALLOC_CTX *_mem_save_dcname_1;
10393 if (flags & NDR_IN) {
10394 ZERO_STRUCT(r->out);
10396 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
10397 if (_ptr_logon_server) {
10398 NDR_PULL_ALLOC(ndr, r->in.logon_server);
10399 } else {
10400 r->in.logon_server = NULL;
10402 if (r->in.logon_server) {
10403 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
10404 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
10405 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
10406 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
10407 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
10408 return 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));
10410 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
10411 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));
10412 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
10414 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domainname));
10415 if (_ptr_domainname) {
10416 NDR_PULL_ALLOC(ndr, r->in.domainname);
10417 } else {
10418 r->in.domainname = NULL;
10420 if (r->in.domainname) {
10421 _mem_save_domainname_0 = NDR_PULL_GET_MEM_CTX(ndr);
10422 NDR_PULL_SET_MEM_CTX(ndr, r->in.domainname, 0);
10423 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domainname));
10424 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domainname));
10425 if (ndr_get_array_length(ndr, &r->in.domainname) > ndr_get_array_size(ndr, &r->in.domainname)) {
10426 return 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));
10428 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domainname), sizeof(uint16_t)));
10429 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domainname, ndr_get_array_length(ndr, &r->in.domainname), sizeof(uint16_t), CH_UTF16));
10430 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domainname_0, 0);
10432 NDR_PULL_ALLOC(ndr, r->out.dcname);
10433 ZERO_STRUCTP(r->out.dcname);
10435 if (flags & NDR_OUT) {
10436 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10437 NDR_PULL_ALLOC(ndr, r->out.dcname);
10439 _mem_save_dcname_0 = NDR_PULL_GET_MEM_CTX(ndr);
10440 NDR_PULL_SET_MEM_CTX(ndr, r->out.dcname, LIBNDR_FLAG_REF_ALLOC);
10441 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dcname));
10442 if (_ptr_dcname) {
10443 NDR_PULL_ALLOC(ndr, *r->out.dcname);
10444 } else {
10445 *r->out.dcname = NULL;
10447 if (*r->out.dcname) {
10448 _mem_save_dcname_1 = NDR_PULL_GET_MEM_CTX(ndr);
10449 NDR_PULL_SET_MEM_CTX(ndr, *r->out.dcname, 0);
10450 NDR_CHECK(ndr_pull_array_size(ndr, r->out.dcname));
10451 NDR_CHECK(ndr_pull_array_length(ndr, r->out.dcname));
10452 if (ndr_get_array_length(ndr, r->out.dcname) > ndr_get_array_size(ndr, r->out.dcname)) {
10453 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));
10455 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.dcname), sizeof(uint16_t)));
10456 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.dcname, ndr_get_array_length(ndr, r->out.dcname), sizeof(uint16_t), CH_UTF16));
10457 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_1, 0);
10459 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_0, LIBNDR_FLAG_REF_ALLOC);
10460 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
10462 return NDR_ERR_SUCCESS;
10465 _PUBLIC_ void ndr_print_netr_GetAnyDCName(struct ndr_print *ndr, const char *name, int flags, const struct netr_GetAnyDCName *r)
10467 ndr_print_struct(ndr, name, "netr_GetAnyDCName");
10468 ndr->depth++;
10469 if (flags & NDR_SET_VALUES) {
10470 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10472 if (flags & NDR_IN) {
10473 ndr_print_struct(ndr, "in", "netr_GetAnyDCName");
10474 ndr->depth++;
10475 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
10476 ndr->depth++;
10477 if (r->in.logon_server) {
10478 ndr_print_string(ndr, "logon_server", r->in.logon_server);
10480 ndr->depth--;
10481 ndr_print_ptr(ndr, "domainname", r->in.domainname);
10482 ndr->depth++;
10483 if (r->in.domainname) {
10484 ndr_print_string(ndr, "domainname", r->in.domainname);
10486 ndr->depth--;
10487 ndr->depth--;
10489 if (flags & NDR_OUT) {
10490 ndr_print_struct(ndr, "out", "netr_GetAnyDCName");
10491 ndr->depth++;
10492 ndr_print_ptr(ndr, "dcname", r->out.dcname);
10493 ndr->depth++;
10494 ndr_print_ptr(ndr, "dcname", *r->out.dcname);
10495 ndr->depth++;
10496 if (*r->out.dcname) {
10497 ndr_print_string(ndr, "dcname", *r->out.dcname);
10499 ndr->depth--;
10500 ndr->depth--;
10501 ndr_print_WERROR(ndr, "result", r->out.result);
10502 ndr->depth--;
10504 ndr->depth--;
10507 static enum ndr_err_code ndr_push_netr_LogonControl2(struct ndr_push *ndr, int flags, const struct netr_LogonControl2 *r)
10509 if (flags & NDR_IN) {
10510 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
10511 if (r->in.logon_server) {
10512 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10513 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10514 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10515 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));
10517 NDR_CHECK(ndr_push_netr_LogonControlCode(ndr, NDR_SCALARS, r->in.function_code));
10518 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
10519 if (r->in.data == NULL) {
10520 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10522 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.data, r->in.function_code));
10523 NDR_CHECK(ndr_push_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.data));
10525 if (flags & NDR_OUT) {
10526 if (r->out.query == NULL) {
10527 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10529 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.query, r->in.level));
10530 NDR_CHECK(ndr_push_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
10531 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
10533 return NDR_ERR_SUCCESS;
10536 static enum ndr_err_code ndr_pull_netr_LogonControl2(struct ndr_pull *ndr, int flags, struct netr_LogonControl2 *r)
10538 uint32_t _ptr_logon_server;
10539 TALLOC_CTX *_mem_save_logon_server_0;
10540 TALLOC_CTX *_mem_save_data_0;
10541 TALLOC_CTX *_mem_save_query_0;
10542 if (flags & NDR_IN) {
10543 ZERO_STRUCT(r->out);
10545 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
10546 if (_ptr_logon_server) {
10547 NDR_PULL_ALLOC(ndr, r->in.logon_server);
10548 } else {
10549 r->in.logon_server = NULL;
10551 if (r->in.logon_server) {
10552 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
10553 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
10554 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
10555 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
10556 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
10557 return 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));
10559 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
10560 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));
10561 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
10563 NDR_CHECK(ndr_pull_netr_LogonControlCode(ndr, NDR_SCALARS, &r->in.function_code));
10564 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
10565 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10566 NDR_PULL_ALLOC(ndr, r->in.data);
10568 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
10569 NDR_PULL_SET_MEM_CTX(ndr, r->in.data, LIBNDR_FLAG_REF_ALLOC);
10570 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.data, r->in.function_code));
10571 NDR_CHECK(ndr_pull_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.data));
10572 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, LIBNDR_FLAG_REF_ALLOC);
10573 NDR_PULL_ALLOC(ndr, r->out.query);
10574 ZERO_STRUCTP(r->out.query);
10576 if (flags & NDR_OUT) {
10577 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10578 NDR_PULL_ALLOC(ndr, r->out.query);
10580 _mem_save_query_0 = NDR_PULL_GET_MEM_CTX(ndr);
10581 NDR_PULL_SET_MEM_CTX(ndr, r->out.query, LIBNDR_FLAG_REF_ALLOC);
10582 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.query, r->in.level));
10583 NDR_CHECK(ndr_pull_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
10584 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query_0, LIBNDR_FLAG_REF_ALLOC);
10585 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
10587 return NDR_ERR_SUCCESS;
10590 _PUBLIC_ void ndr_print_netr_LogonControl2(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonControl2 *r)
10592 ndr_print_struct(ndr, name, "netr_LogonControl2");
10593 ndr->depth++;
10594 if (flags & NDR_SET_VALUES) {
10595 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10597 if (flags & NDR_IN) {
10598 ndr_print_struct(ndr, "in", "netr_LogonControl2");
10599 ndr->depth++;
10600 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
10601 ndr->depth++;
10602 if (r->in.logon_server) {
10603 ndr_print_string(ndr, "logon_server", r->in.logon_server);
10605 ndr->depth--;
10606 ndr_print_netr_LogonControlCode(ndr, "function_code", r->in.function_code);
10607 ndr_print_uint32(ndr, "level", r->in.level);
10608 ndr_print_ptr(ndr, "data", r->in.data);
10609 ndr->depth++;
10610 ndr_print_set_switch_value(ndr, r->in.data, r->in.function_code);
10611 ndr_print_netr_CONTROL_DATA_INFORMATION(ndr, "data", r->in.data);
10612 ndr->depth--;
10613 ndr->depth--;
10615 if (flags & NDR_OUT) {
10616 ndr_print_struct(ndr, "out", "netr_LogonControl2");
10617 ndr->depth++;
10618 ndr_print_ptr(ndr, "query", r->out.query);
10619 ndr->depth++;
10620 ndr_print_set_switch_value(ndr, r->out.query, r->in.level);
10621 ndr_print_netr_CONTROL_QUERY_INFORMATION(ndr, "query", r->out.query);
10622 ndr->depth--;
10623 ndr_print_WERROR(ndr, "result", r->out.result);
10624 ndr->depth--;
10626 ndr->depth--;
10629 static enum ndr_err_code ndr_push_netr_ServerAuthenticate2(struct ndr_push *ndr, int flags, const struct netr_ServerAuthenticate2 *r)
10631 if (flags & NDR_IN) {
10632 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
10633 if (r->in.server_name) {
10634 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
10635 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10636 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
10637 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));
10639 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
10640 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10641 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
10642 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));
10643 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
10644 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
10645 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10646 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
10647 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));
10648 if (r->in.credentials == NULL) {
10649 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10651 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
10652 if (r->in.negotiate_flags == NULL) {
10653 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10655 NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, *r->in.negotiate_flags));
10657 if (flags & NDR_OUT) {
10658 if (r->out.return_credentials == NULL) {
10659 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10661 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
10662 if (r->out.negotiate_flags == NULL) {
10663 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10665 NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, *r->out.negotiate_flags));
10666 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10668 return NDR_ERR_SUCCESS;
10671 static enum ndr_err_code ndr_pull_netr_ServerAuthenticate2(struct ndr_pull *ndr, int flags, struct netr_ServerAuthenticate2 *r)
10673 uint32_t _ptr_server_name;
10674 TALLOC_CTX *_mem_save_server_name_0;
10675 TALLOC_CTX *_mem_save_credentials_0;
10676 TALLOC_CTX *_mem_save_return_credentials_0;
10677 TALLOC_CTX *_mem_save_negotiate_flags_0;
10678 if (flags & NDR_IN) {
10679 ZERO_STRUCT(r->out);
10681 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
10682 if (_ptr_server_name) {
10683 NDR_PULL_ALLOC(ndr, r->in.server_name);
10684 } else {
10685 r->in.server_name = NULL;
10687 if (r->in.server_name) {
10688 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10689 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
10690 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
10691 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
10692 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
10693 return 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));
10695 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
10696 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));
10697 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
10699 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
10700 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
10701 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
10702 return 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));
10704 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
10705 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));
10706 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
10707 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
10708 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
10709 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
10710 return 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));
10712 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
10713 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));
10714 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10715 NDR_PULL_ALLOC(ndr, r->in.credentials);
10717 _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
10718 NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC);
10719 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
10720 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
10721 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10722 NDR_PULL_ALLOC(ndr, r->in.negotiate_flags);
10724 _mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
10725 NDR_PULL_SET_MEM_CTX(ndr, r->in.negotiate_flags, LIBNDR_FLAG_REF_ALLOC);
10726 NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, r->in.negotiate_flags));
10727 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC);
10728 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
10729 ZERO_STRUCTP(r->out.return_credentials);
10730 NDR_PULL_ALLOC(ndr, r->out.negotiate_flags);
10731 *r->out.negotiate_flags = *r->in.negotiate_flags;
10733 if (flags & NDR_OUT) {
10734 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10735 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
10737 _mem_save_return_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
10738 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_credentials, LIBNDR_FLAG_REF_ALLOC);
10739 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
10740 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_credentials_0, LIBNDR_FLAG_REF_ALLOC);
10741 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10742 NDR_PULL_ALLOC(ndr, r->out.negotiate_flags);
10744 _mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
10745 NDR_PULL_SET_MEM_CTX(ndr, r->out.negotiate_flags, LIBNDR_FLAG_REF_ALLOC);
10746 NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, r->out.negotiate_flags));
10747 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC);
10748 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10750 return NDR_ERR_SUCCESS;
10753 _PUBLIC_ void ndr_print_netr_ServerAuthenticate2(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerAuthenticate2 *r)
10755 ndr_print_struct(ndr, name, "netr_ServerAuthenticate2");
10756 ndr->depth++;
10757 if (flags & NDR_SET_VALUES) {
10758 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10760 if (flags & NDR_IN) {
10761 ndr_print_struct(ndr, "in", "netr_ServerAuthenticate2");
10762 ndr->depth++;
10763 ndr_print_ptr(ndr, "server_name", r->in.server_name);
10764 ndr->depth++;
10765 if (r->in.server_name) {
10766 ndr_print_string(ndr, "server_name", r->in.server_name);
10768 ndr->depth--;
10769 ndr_print_string(ndr, "account_name", r->in.account_name);
10770 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
10771 ndr_print_string(ndr, "computer_name", r->in.computer_name);
10772 ndr_print_ptr(ndr, "credentials", r->in.credentials);
10773 ndr->depth++;
10774 ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
10775 ndr->depth--;
10776 ndr_print_ptr(ndr, "negotiate_flags", r->in.negotiate_flags);
10777 ndr->depth++;
10778 ndr_print_netr_NegotiateFlags(ndr, "negotiate_flags", *r->in.negotiate_flags);
10779 ndr->depth--;
10780 ndr->depth--;
10782 if (flags & NDR_OUT) {
10783 ndr_print_struct(ndr, "out", "netr_ServerAuthenticate2");
10784 ndr->depth++;
10785 ndr_print_ptr(ndr, "return_credentials", r->out.return_credentials);
10786 ndr->depth++;
10787 ndr_print_netr_Credential(ndr, "return_credentials", r->out.return_credentials);
10788 ndr->depth--;
10789 ndr_print_ptr(ndr, "negotiate_flags", r->out.negotiate_flags);
10790 ndr->depth++;
10791 ndr_print_netr_NegotiateFlags(ndr, "negotiate_flags", *r->out.negotiate_flags);
10792 ndr->depth--;
10793 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10794 ndr->depth--;
10796 ndr->depth--;
10799 static enum ndr_err_code ndr_push_netr_DatabaseSync2(struct ndr_push *ndr, int flags, const struct netr_DatabaseSync2 *r)
10801 if (flags & NDR_IN) {
10802 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10803 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10804 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10805 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));
10806 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
10807 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10808 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
10809 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10810 if (r->in.credential == NULL) {
10811 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10813 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
10814 if (r->in.return_authenticator == NULL) {
10815 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10817 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10818 NDR_CHECK(ndr_push_netr_SamDatabaseID(ndr, NDR_SCALARS, r->in.database_id));
10819 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.restart_state));
10820 if (r->in.sync_context == NULL) {
10821 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10823 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.sync_context));
10824 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.preferredmaximumlength));
10826 if (flags & NDR_OUT) {
10827 if (r->out.return_authenticator == NULL) {
10828 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10830 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10831 if (r->out.sync_context == NULL) {
10832 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10834 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.sync_context));
10835 if (r->out.delta_enum_array == NULL) {
10836 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10838 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.delta_enum_array));
10839 if (*r->out.delta_enum_array) {
10840 NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
10842 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10844 return NDR_ERR_SUCCESS;
10847 static enum ndr_err_code ndr_pull_netr_DatabaseSync2(struct ndr_pull *ndr, int flags, struct netr_DatabaseSync2 *r)
10849 uint32_t _ptr_delta_enum_array;
10850 TALLOC_CTX *_mem_save_credential_0;
10851 TALLOC_CTX *_mem_save_return_authenticator_0;
10852 TALLOC_CTX *_mem_save_sync_context_0;
10853 TALLOC_CTX *_mem_save_delta_enum_array_0;
10854 TALLOC_CTX *_mem_save_delta_enum_array_1;
10855 if (flags & NDR_IN) {
10856 ZERO_STRUCT(r->out);
10858 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
10859 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
10860 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
10861 return 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));
10863 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
10864 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));
10865 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
10866 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
10867 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
10868 return 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));
10870 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
10871 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
10872 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10873 NDR_PULL_ALLOC(ndr, r->in.credential);
10875 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
10876 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
10877 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
10878 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
10879 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10880 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
10882 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10883 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10884 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10885 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10886 NDR_CHECK(ndr_pull_netr_SamDatabaseID(ndr, NDR_SCALARS, &r->in.database_id));
10887 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.restart_state));
10888 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10889 NDR_PULL_ALLOC(ndr, r->in.sync_context);
10891 _mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
10892 NDR_PULL_SET_MEM_CTX(ndr, r->in.sync_context, LIBNDR_FLAG_REF_ALLOC);
10893 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.sync_context));
10894 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC);
10895 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.preferredmaximumlength));
10896 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10897 *r->out.return_authenticator = *r->in.return_authenticator;
10898 NDR_PULL_ALLOC(ndr, r->out.sync_context);
10899 *r->out.sync_context = *r->in.sync_context;
10900 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
10901 ZERO_STRUCTP(r->out.delta_enum_array);
10903 if (flags & NDR_OUT) {
10904 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10905 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10907 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10908 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10909 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10910 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10911 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10912 NDR_PULL_ALLOC(ndr, r->out.sync_context);
10914 _mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
10915 NDR_PULL_SET_MEM_CTX(ndr, r->out.sync_context, LIBNDR_FLAG_REF_ALLOC);
10916 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.sync_context));
10917 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC);
10918 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10919 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
10921 _mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10922 NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC);
10923 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum_array));
10924 if (_ptr_delta_enum_array) {
10925 NDR_PULL_ALLOC(ndr, *r->out.delta_enum_array);
10926 } else {
10927 *r->out.delta_enum_array = NULL;
10929 if (*r->out.delta_enum_array) {
10930 _mem_save_delta_enum_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
10931 NDR_PULL_SET_MEM_CTX(ndr, *r->out.delta_enum_array, 0);
10932 NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
10933 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_1, 0);
10935 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC);
10936 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10938 return NDR_ERR_SUCCESS;
10941 _PUBLIC_ void ndr_print_netr_DatabaseSync2(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseSync2 *r)
10943 ndr_print_struct(ndr, name, "netr_DatabaseSync2");
10944 ndr->depth++;
10945 if (flags & NDR_SET_VALUES) {
10946 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10948 if (flags & NDR_IN) {
10949 ndr_print_struct(ndr, "in", "netr_DatabaseSync2");
10950 ndr->depth++;
10951 ndr_print_string(ndr, "logon_server", r->in.logon_server);
10952 ndr_print_string(ndr, "computername", r->in.computername);
10953 ndr_print_ptr(ndr, "credential", r->in.credential);
10954 ndr->depth++;
10955 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
10956 ndr->depth--;
10957 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
10958 ndr->depth++;
10959 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
10960 ndr->depth--;
10961 ndr_print_netr_SamDatabaseID(ndr, "database_id", r->in.database_id);
10962 ndr_print_uint16(ndr, "restart_state", r->in.restart_state);
10963 ndr_print_ptr(ndr, "sync_context", r->in.sync_context);
10964 ndr->depth++;
10965 ndr_print_uint32(ndr, "sync_context", *r->in.sync_context);
10966 ndr->depth--;
10967 ndr_print_uint32(ndr, "preferredmaximumlength", r->in.preferredmaximumlength);
10968 ndr->depth--;
10970 if (flags & NDR_OUT) {
10971 ndr_print_struct(ndr, "out", "netr_DatabaseSync2");
10972 ndr->depth++;
10973 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
10974 ndr->depth++;
10975 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
10976 ndr->depth--;
10977 ndr_print_ptr(ndr, "sync_context", r->out.sync_context);
10978 ndr->depth++;
10979 ndr_print_uint32(ndr, "sync_context", *r->out.sync_context);
10980 ndr->depth--;
10981 ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array);
10982 ndr->depth++;
10983 ndr_print_ptr(ndr, "delta_enum_array", *r->out.delta_enum_array);
10984 ndr->depth++;
10985 if (*r->out.delta_enum_array) {
10986 ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", *r->out.delta_enum_array);
10988 ndr->depth--;
10989 ndr->depth--;
10990 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10991 ndr->depth--;
10993 ndr->depth--;
10996 static enum ndr_err_code ndr_push_netr_DatabaseRedo(struct ndr_push *ndr, int flags, const struct netr_DatabaseRedo *r)
10998 if (flags & NDR_IN) {
10999 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11000 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11001 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11002 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));
11003 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
11004 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11005 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
11006 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11007 if (r->in.credential == NULL) {
11008 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11010 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
11011 if (r->in.return_authenticator == NULL) {
11012 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11014 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
11016 struct ndr_push *_ndr_change_log_entry;
11017 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_change_log_entry, 4, ndr_size_netr_ChangeLogEntry(&r->in.change_log_entry, ndr->flags)));
11018 NDR_CHECK(ndr_push_netr_ChangeLogEntry(_ndr_change_log_entry, NDR_SCALARS|NDR_BUFFERS, &r->in.change_log_entry));
11019 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_change_log_entry, 4, ndr_size_netr_ChangeLogEntry(&r->in.change_log_entry, ndr->flags)));
11021 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_netr_ChangeLogEntry(&r->in.change_log_entry, ndr->flags)));
11023 if (flags & NDR_OUT) {
11024 if (r->out.return_authenticator == NULL) {
11025 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11027 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
11028 if (r->out.delta_enum_array == NULL) {
11029 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11031 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.delta_enum_array));
11032 if (*r->out.delta_enum_array) {
11033 NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
11035 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11037 return NDR_ERR_SUCCESS;
11040 static enum ndr_err_code ndr_pull_netr_DatabaseRedo(struct ndr_pull *ndr, int flags, struct netr_DatabaseRedo *r)
11042 uint32_t _ptr_delta_enum_array;
11043 TALLOC_CTX *_mem_save_credential_0;
11044 TALLOC_CTX *_mem_save_return_authenticator_0;
11045 TALLOC_CTX *_mem_save_delta_enum_array_0;
11046 TALLOC_CTX *_mem_save_delta_enum_array_1;
11047 if (flags & NDR_IN) {
11048 ZERO_STRUCT(r->out);
11050 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
11051 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
11052 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
11053 return 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));
11055 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
11056 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));
11057 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
11058 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
11059 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
11060 return 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));
11062 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
11063 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
11064 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11065 NDR_PULL_ALLOC(ndr, r->in.credential);
11067 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
11068 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
11069 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
11070 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
11071 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11072 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
11074 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
11075 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
11076 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
11077 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
11079 struct ndr_pull *_ndr_change_log_entry;
11080 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_change_log_entry, 4, r->in.change_log_entry_size));
11081 NDR_CHECK(ndr_pull_netr_ChangeLogEntry(_ndr_change_log_entry, NDR_SCALARS|NDR_BUFFERS, &r->in.change_log_entry));
11082 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_change_log_entry, 4, r->in.change_log_entry_size));
11084 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.change_log_entry_size));
11085 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
11086 *r->out.return_authenticator = *r->in.return_authenticator;
11087 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
11088 ZERO_STRUCTP(r->out.delta_enum_array);
11090 if (flags & NDR_OUT) {
11091 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11092 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
11094 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
11095 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
11096 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
11097 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
11098 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11099 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
11101 _mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11102 NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC);
11103 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum_array));
11104 if (_ptr_delta_enum_array) {
11105 NDR_PULL_ALLOC(ndr, *r->out.delta_enum_array);
11106 } else {
11107 *r->out.delta_enum_array = NULL;
11109 if (*r->out.delta_enum_array) {
11110 _mem_save_delta_enum_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
11111 NDR_PULL_SET_MEM_CTX(ndr, *r->out.delta_enum_array, 0);
11112 NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
11113 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_1, 0);
11115 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC);
11116 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11118 return NDR_ERR_SUCCESS;
11121 _PUBLIC_ void ndr_print_netr_DatabaseRedo(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseRedo *r)
11123 ndr_print_struct(ndr, name, "netr_DatabaseRedo");
11124 ndr->depth++;
11125 if (flags & NDR_SET_VALUES) {
11126 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11128 if (flags & NDR_IN) {
11129 ndr_print_struct(ndr, "in", "netr_DatabaseRedo");
11130 ndr->depth++;
11131 ndr_print_string(ndr, "logon_server", r->in.logon_server);
11132 ndr_print_string(ndr, "computername", r->in.computername);
11133 ndr_print_ptr(ndr, "credential", r->in.credential);
11134 ndr->depth++;
11135 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
11136 ndr->depth--;
11137 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
11138 ndr->depth++;
11139 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
11140 ndr->depth--;
11141 ndr_print_netr_ChangeLogEntry(ndr, "change_log_entry", &r->in.change_log_entry);
11142 ndr_print_uint32(ndr, "change_log_entry_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_netr_ChangeLogEntry(&r->in.change_log_entry, ndr->flags):r->in.change_log_entry_size);
11143 ndr->depth--;
11145 if (flags & NDR_OUT) {
11146 ndr_print_struct(ndr, "out", "netr_DatabaseRedo");
11147 ndr->depth++;
11148 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
11149 ndr->depth++;
11150 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
11151 ndr->depth--;
11152 ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array);
11153 ndr->depth++;
11154 ndr_print_ptr(ndr, "delta_enum_array", *r->out.delta_enum_array);
11155 ndr->depth++;
11156 if (*r->out.delta_enum_array) {
11157 ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", *r->out.delta_enum_array);
11159 ndr->depth--;
11160 ndr->depth--;
11161 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11162 ndr->depth--;
11164 ndr->depth--;
11167 static enum ndr_err_code ndr_push_netr_LogonControl2Ex(struct ndr_push *ndr, int flags, const struct netr_LogonControl2Ex *r)
11169 if (flags & NDR_IN) {
11170 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
11171 if (r->in.logon_server) {
11172 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11173 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11174 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11175 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));
11177 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.function_code));
11178 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
11179 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.data, r->in.function_code));
11180 NDR_CHECK(ndr_push_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.data));
11182 if (flags & NDR_OUT) {
11183 if (r->out.query == NULL) {
11184 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11186 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.query, r->in.level));
11187 NDR_CHECK(ndr_push_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
11188 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11190 return NDR_ERR_SUCCESS;
11193 static enum ndr_err_code ndr_pull_netr_LogonControl2Ex(struct ndr_pull *ndr, int flags, struct netr_LogonControl2Ex *r)
11195 uint32_t _ptr_logon_server;
11196 TALLOC_CTX *_mem_save_logon_server_0;
11197 TALLOC_CTX *_mem_save_query_0;
11198 if (flags & NDR_IN) {
11199 ZERO_STRUCT(r->out);
11201 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
11202 if (_ptr_logon_server) {
11203 NDR_PULL_ALLOC(ndr, r->in.logon_server);
11204 } else {
11205 r->in.logon_server = NULL;
11207 if (r->in.logon_server) {
11208 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
11209 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
11210 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
11211 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
11212 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
11213 return 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));
11215 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
11216 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));
11217 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
11219 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.function_code));
11220 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
11221 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.data, r->in.function_code));
11222 NDR_CHECK(ndr_pull_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.data));
11223 NDR_PULL_ALLOC(ndr, r->out.query);
11224 ZERO_STRUCTP(r->out.query);
11226 if (flags & NDR_OUT) {
11227 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11228 NDR_PULL_ALLOC(ndr, r->out.query);
11230 _mem_save_query_0 = NDR_PULL_GET_MEM_CTX(ndr);
11231 NDR_PULL_SET_MEM_CTX(ndr, r->out.query, LIBNDR_FLAG_REF_ALLOC);
11232 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.query, r->in.level));
11233 NDR_CHECK(ndr_pull_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
11234 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query_0, LIBNDR_FLAG_REF_ALLOC);
11235 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11237 return NDR_ERR_SUCCESS;
11240 _PUBLIC_ void ndr_print_netr_LogonControl2Ex(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonControl2Ex *r)
11242 ndr_print_struct(ndr, name, "netr_LogonControl2Ex");
11243 ndr->depth++;
11244 if (flags & NDR_SET_VALUES) {
11245 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11247 if (flags & NDR_IN) {
11248 ndr_print_struct(ndr, "in", "netr_LogonControl2Ex");
11249 ndr->depth++;
11250 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
11251 ndr->depth++;
11252 if (r->in.logon_server) {
11253 ndr_print_string(ndr, "logon_server", r->in.logon_server);
11255 ndr->depth--;
11256 ndr_print_uint32(ndr, "function_code", r->in.function_code);
11257 ndr_print_uint32(ndr, "level", r->in.level);
11258 ndr_print_set_switch_value(ndr, &r->in.data, r->in.function_code);
11259 ndr_print_netr_CONTROL_DATA_INFORMATION(ndr, "data", &r->in.data);
11260 ndr->depth--;
11262 if (flags & NDR_OUT) {
11263 ndr_print_struct(ndr, "out", "netr_LogonControl2Ex");
11264 ndr->depth++;
11265 ndr_print_ptr(ndr, "query", r->out.query);
11266 ndr->depth++;
11267 ndr_print_set_switch_value(ndr, r->out.query, r->in.level);
11268 ndr_print_netr_CONTROL_QUERY_INFORMATION(ndr, "query", r->out.query);
11269 ndr->depth--;
11270 ndr_print_WERROR(ndr, "result", r->out.result);
11271 ndr->depth--;
11273 ndr->depth--;
11276 static enum ndr_err_code ndr_push_netr_NetrEnumerateTrustedDomains(struct ndr_push *ndr, int flags, const struct netr_NetrEnumerateTrustedDomains *r)
11278 if (flags & NDR_IN) {
11279 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
11280 if (r->in.server_name) {
11281 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
11282 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11283 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
11284 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));
11287 if (flags & NDR_OUT) {
11288 if (r->out.trusted_domains_blob == NULL) {
11289 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11291 NDR_CHECK(ndr_push_netr_Blob(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusted_domains_blob));
11292 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11294 return NDR_ERR_SUCCESS;
11297 static enum ndr_err_code ndr_pull_netr_NetrEnumerateTrustedDomains(struct ndr_pull *ndr, int flags, struct netr_NetrEnumerateTrustedDomains *r)
11299 uint32_t _ptr_server_name;
11300 TALLOC_CTX *_mem_save_server_name_0;
11301 TALLOC_CTX *_mem_save_trusted_domains_blob_0;
11302 if (flags & NDR_IN) {
11303 ZERO_STRUCT(r->out);
11305 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
11306 if (_ptr_server_name) {
11307 NDR_PULL_ALLOC(ndr, r->in.server_name);
11308 } else {
11309 r->in.server_name = NULL;
11311 if (r->in.server_name) {
11312 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11313 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
11314 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
11315 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
11316 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
11317 return 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));
11319 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
11320 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));
11321 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
11323 NDR_PULL_ALLOC(ndr, r->out.trusted_domains_blob);
11324 ZERO_STRUCTP(r->out.trusted_domains_blob);
11326 if (flags & NDR_OUT) {
11327 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11328 NDR_PULL_ALLOC(ndr, r->out.trusted_domains_blob);
11330 _mem_save_trusted_domains_blob_0 = NDR_PULL_GET_MEM_CTX(ndr);
11331 NDR_PULL_SET_MEM_CTX(ndr, r->out.trusted_domains_blob, LIBNDR_FLAG_REF_ALLOC);
11332 NDR_CHECK(ndr_pull_netr_Blob(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusted_domains_blob));
11333 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domains_blob_0, LIBNDR_FLAG_REF_ALLOC);
11334 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11336 return NDR_ERR_SUCCESS;
11339 _PUBLIC_ void ndr_print_netr_NetrEnumerateTrustedDomains(struct ndr_print *ndr, const char *name, int flags, const struct netr_NetrEnumerateTrustedDomains *r)
11341 ndr_print_struct(ndr, name, "netr_NetrEnumerateTrustedDomains");
11342 ndr->depth++;
11343 if (flags & NDR_SET_VALUES) {
11344 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11346 if (flags & NDR_IN) {
11347 ndr_print_struct(ndr, "in", "netr_NetrEnumerateTrustedDomains");
11348 ndr->depth++;
11349 ndr_print_ptr(ndr, "server_name", r->in.server_name);
11350 ndr->depth++;
11351 if (r->in.server_name) {
11352 ndr_print_string(ndr, "server_name", r->in.server_name);
11354 ndr->depth--;
11355 ndr->depth--;
11357 if (flags & NDR_OUT) {
11358 ndr_print_struct(ndr, "out", "netr_NetrEnumerateTrustedDomains");
11359 ndr->depth++;
11360 ndr_print_ptr(ndr, "trusted_domains_blob", r->out.trusted_domains_blob);
11361 ndr->depth++;
11362 ndr_print_netr_Blob(ndr, "trusted_domains_blob", r->out.trusted_domains_blob);
11363 ndr->depth--;
11364 ndr_print_WERROR(ndr, "result", r->out.result);
11365 ndr->depth--;
11367 ndr->depth--;
11370 static enum ndr_err_code ndr_push_netr_DsRGetDCName(struct ndr_push *ndr, int flags, const struct netr_DsRGetDCName *r)
11372 if (flags & NDR_IN) {
11373 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc));
11374 if (r->in.server_unc) {
11375 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
11376 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11377 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
11378 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));
11380 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
11381 if (r->in.domain_name) {
11382 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
11383 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11384 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
11385 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));
11387 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
11388 if (r->in.domain_guid) {
11389 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
11391 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.site_guid));
11392 if (r->in.site_guid) {
11393 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.site_guid));
11395 NDR_CHECK(ndr_push_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, r->in.flags));
11397 if (flags & NDR_OUT) {
11398 if (r->out.info == NULL) {
11399 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11401 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
11402 if (*r->out.info) {
11403 NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
11405 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11407 return NDR_ERR_SUCCESS;
11410 static enum ndr_err_code ndr_pull_netr_DsRGetDCName(struct ndr_pull *ndr, int flags, struct netr_DsRGetDCName *r)
11412 uint32_t _ptr_server_unc;
11413 uint32_t _ptr_domain_name;
11414 uint32_t _ptr_domain_guid;
11415 uint32_t _ptr_site_guid;
11416 uint32_t _ptr_info;
11417 TALLOC_CTX *_mem_save_server_unc_0;
11418 TALLOC_CTX *_mem_save_domain_name_0;
11419 TALLOC_CTX *_mem_save_domain_guid_0;
11420 TALLOC_CTX *_mem_save_site_guid_0;
11421 TALLOC_CTX *_mem_save_info_0;
11422 TALLOC_CTX *_mem_save_info_1;
11423 if (flags & NDR_IN) {
11424 ZERO_STRUCT(r->out);
11426 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc));
11427 if (_ptr_server_unc) {
11428 NDR_PULL_ALLOC(ndr, r->in.server_unc);
11429 } else {
11430 r->in.server_unc = NULL;
11432 if (r->in.server_unc) {
11433 _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr);
11434 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
11435 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
11436 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
11437 if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
11438 return 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));
11440 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
11441 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));
11442 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
11444 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
11445 if (_ptr_domain_name) {
11446 NDR_PULL_ALLOC(ndr, r->in.domain_name);
11447 } else {
11448 r->in.domain_name = NULL;
11450 if (r->in.domain_name) {
11451 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11452 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
11453 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
11454 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
11455 if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
11456 return 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));
11458 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
11459 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));
11460 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
11462 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
11463 if (_ptr_domain_guid) {
11464 NDR_PULL_ALLOC(ndr, r->in.domain_guid);
11465 } else {
11466 r->in.domain_guid = NULL;
11468 if (r->in.domain_guid) {
11469 _mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
11470 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
11471 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
11472 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
11474 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_guid));
11475 if (_ptr_site_guid) {
11476 NDR_PULL_ALLOC(ndr, r->in.site_guid);
11477 } else {
11478 r->in.site_guid = NULL;
11480 if (r->in.site_guid) {
11481 _mem_save_site_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
11482 NDR_PULL_SET_MEM_CTX(ndr, r->in.site_guid, 0);
11483 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.site_guid));
11484 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_guid_0, 0);
11486 NDR_CHECK(ndr_pull_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, &r->in.flags));
11487 NDR_PULL_ALLOC(ndr, r->out.info);
11488 ZERO_STRUCTP(r->out.info);
11490 if (flags & NDR_OUT) {
11491 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11492 NDR_PULL_ALLOC(ndr, r->out.info);
11494 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
11495 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
11496 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
11497 if (_ptr_info) {
11498 NDR_PULL_ALLOC(ndr, *r->out.info);
11499 } else {
11500 *r->out.info = NULL;
11502 if (*r->out.info) {
11503 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
11504 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
11505 NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
11506 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
11508 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
11509 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11511 return NDR_ERR_SUCCESS;
11514 _PUBLIC_ void ndr_print_netr_DsRGetDCName(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetDCName *r)
11516 ndr_print_struct(ndr, name, "netr_DsRGetDCName");
11517 ndr->depth++;
11518 if (flags & NDR_SET_VALUES) {
11519 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11521 if (flags & NDR_IN) {
11522 ndr_print_struct(ndr, "in", "netr_DsRGetDCName");
11523 ndr->depth++;
11524 ndr_print_ptr(ndr, "server_unc", r->in.server_unc);
11525 ndr->depth++;
11526 if (r->in.server_unc) {
11527 ndr_print_string(ndr, "server_unc", r->in.server_unc);
11529 ndr->depth--;
11530 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
11531 ndr->depth++;
11532 if (r->in.domain_name) {
11533 ndr_print_string(ndr, "domain_name", r->in.domain_name);
11535 ndr->depth--;
11536 ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
11537 ndr->depth++;
11538 if (r->in.domain_guid) {
11539 ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
11541 ndr->depth--;
11542 ndr_print_ptr(ndr, "site_guid", r->in.site_guid);
11543 ndr->depth++;
11544 if (r->in.site_guid) {
11545 ndr_print_GUID(ndr, "site_guid", r->in.site_guid);
11547 ndr->depth--;
11548 ndr_print_netr_DsRGetDCName_flags(ndr, "flags", r->in.flags);
11549 ndr->depth--;
11551 if (flags & NDR_OUT) {
11552 ndr_print_struct(ndr, "out", "netr_DsRGetDCName");
11553 ndr->depth++;
11554 ndr_print_ptr(ndr, "info", r->out.info);
11555 ndr->depth++;
11556 ndr_print_ptr(ndr, "info", *r->out.info);
11557 ndr->depth++;
11558 if (*r->out.info) {
11559 ndr_print_netr_DsRGetDCNameInfo(ndr, "info", *r->out.info);
11561 ndr->depth--;
11562 ndr->depth--;
11563 ndr_print_WERROR(ndr, "result", r->out.result);
11564 ndr->depth--;
11566 ndr->depth--;
11569 static enum ndr_err_code ndr_push_netr_LogonGetCapabilities(struct ndr_push *ndr, int flags, const struct netr_LogonGetCapabilities *r)
11571 if (flags & NDR_IN) {
11572 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
11573 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11574 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
11575 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));
11576 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
11577 if (r->in.computer_name) {
11578 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
11579 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11580 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
11581 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));
11583 if (r->in.credential == NULL) {
11584 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11586 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
11587 if (r->in.return_authenticator == NULL) {
11588 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11590 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
11591 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.query_level));
11593 if (flags & NDR_OUT) {
11594 if (r->out.return_authenticator == NULL) {
11595 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11597 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
11598 if (r->out.capabilities == NULL) {
11599 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11601 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.capabilities, r->in.query_level));
11602 NDR_CHECK(ndr_push_netr_Capabilities(ndr, NDR_SCALARS, r->out.capabilities));
11603 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11605 return NDR_ERR_SUCCESS;
11608 static enum ndr_err_code ndr_pull_netr_LogonGetCapabilities(struct ndr_pull *ndr, int flags, struct netr_LogonGetCapabilities *r)
11610 uint32_t _ptr_computer_name;
11611 TALLOC_CTX *_mem_save_computer_name_0;
11612 TALLOC_CTX *_mem_save_credential_0;
11613 TALLOC_CTX *_mem_save_return_authenticator_0;
11614 TALLOC_CTX *_mem_save_capabilities_0;
11615 if (flags & NDR_IN) {
11616 ZERO_STRUCT(r->out);
11618 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
11619 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
11620 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
11621 return 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));
11623 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
11624 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));
11625 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
11626 if (_ptr_computer_name) {
11627 NDR_PULL_ALLOC(ndr, r->in.computer_name);
11628 } else {
11629 r->in.computer_name = NULL;
11631 if (r->in.computer_name) {
11632 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11633 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
11634 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
11635 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
11636 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
11637 return 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));
11639 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
11640 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));
11641 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
11643 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11644 NDR_PULL_ALLOC(ndr, r->in.credential);
11646 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
11647 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
11648 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
11649 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
11650 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11651 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
11653 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
11654 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
11655 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
11656 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
11657 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.query_level));
11658 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
11659 *r->out.return_authenticator = *r->in.return_authenticator;
11660 NDR_PULL_ALLOC(ndr, r->out.capabilities);
11661 ZERO_STRUCTP(r->out.capabilities);
11663 if (flags & NDR_OUT) {
11664 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11665 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
11667 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
11668 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
11669 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
11670 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
11671 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11672 NDR_PULL_ALLOC(ndr, r->out.capabilities);
11674 _mem_save_capabilities_0 = NDR_PULL_GET_MEM_CTX(ndr);
11675 NDR_PULL_SET_MEM_CTX(ndr, r->out.capabilities, LIBNDR_FLAG_REF_ALLOC);
11676 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.capabilities, r->in.query_level));
11677 NDR_CHECK(ndr_pull_netr_Capabilities(ndr, NDR_SCALARS, r->out.capabilities));
11678 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_capabilities_0, LIBNDR_FLAG_REF_ALLOC);
11679 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11681 return NDR_ERR_SUCCESS;
11684 _PUBLIC_ void ndr_print_netr_LogonGetCapabilities(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonGetCapabilities *r)
11686 ndr_print_struct(ndr, name, "netr_LogonGetCapabilities");
11687 ndr->depth++;
11688 if (flags & NDR_SET_VALUES) {
11689 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11691 if (flags & NDR_IN) {
11692 ndr_print_struct(ndr, "in", "netr_LogonGetCapabilities");
11693 ndr->depth++;
11694 ndr_print_string(ndr, "server_name", r->in.server_name);
11695 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
11696 ndr->depth++;
11697 if (r->in.computer_name) {
11698 ndr_print_string(ndr, "computer_name", r->in.computer_name);
11700 ndr->depth--;
11701 ndr_print_ptr(ndr, "credential", r->in.credential);
11702 ndr->depth++;
11703 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
11704 ndr->depth--;
11705 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
11706 ndr->depth++;
11707 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
11708 ndr->depth--;
11709 ndr_print_uint32(ndr, "query_level", r->in.query_level);
11710 ndr->depth--;
11712 if (flags & NDR_OUT) {
11713 ndr_print_struct(ndr, "out", "netr_LogonGetCapabilities");
11714 ndr->depth++;
11715 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
11716 ndr->depth++;
11717 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
11718 ndr->depth--;
11719 ndr_print_ptr(ndr, "capabilities", r->out.capabilities);
11720 ndr->depth++;
11721 ndr_print_set_switch_value(ndr, r->out.capabilities, r->in.query_level);
11722 ndr_print_netr_Capabilities(ndr, "capabilities", r->out.capabilities);
11723 ndr->depth--;
11724 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11725 ndr->depth--;
11727 ndr->depth--;
11730 static enum ndr_err_code ndr_push_netr_NETRLOGONSETSERVICEBITS(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONSETSERVICEBITS *r)
11732 if (flags & NDR_IN) {
11734 if (flags & NDR_OUT) {
11735 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11737 return NDR_ERR_SUCCESS;
11740 static enum ndr_err_code ndr_pull_netr_NETRLOGONSETSERVICEBITS(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONSETSERVICEBITS *r)
11742 if (flags & NDR_IN) {
11744 if (flags & NDR_OUT) {
11745 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11747 return NDR_ERR_SUCCESS;
11750 _PUBLIC_ void ndr_print_netr_NETRLOGONSETSERVICEBITS(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONSETSERVICEBITS *r)
11752 ndr_print_struct(ndr, name, "netr_NETRLOGONSETSERVICEBITS");
11753 ndr->depth++;
11754 if (flags & NDR_SET_VALUES) {
11755 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11757 if (flags & NDR_IN) {
11758 ndr_print_struct(ndr, "in", "netr_NETRLOGONSETSERVICEBITS");
11759 ndr->depth++;
11760 ndr->depth--;
11762 if (flags & NDR_OUT) {
11763 ndr_print_struct(ndr, "out", "netr_NETRLOGONSETSERVICEBITS");
11764 ndr->depth++;
11765 ndr_print_WERROR(ndr, "result", r->out.result);
11766 ndr->depth--;
11768 ndr->depth--;
11771 static enum ndr_err_code ndr_push_netr_LogonGetTrustRid(struct ndr_push *ndr, int flags, const struct netr_LogonGetTrustRid *r)
11773 if (flags & NDR_IN) {
11774 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
11775 if (r->in.server_name) {
11776 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
11777 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11778 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
11779 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));
11781 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
11782 if (r->in.domain_name) {
11783 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
11784 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11785 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
11786 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domain_name, ndr_charset_length(r->in.domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11789 if (flags & NDR_OUT) {
11790 if (r->out.rid == NULL) {
11791 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11793 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.rid));
11794 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11796 return NDR_ERR_SUCCESS;
11799 static enum ndr_err_code ndr_pull_netr_LogonGetTrustRid(struct ndr_pull *ndr, int flags, struct netr_LogonGetTrustRid *r)
11801 uint32_t _ptr_server_name;
11802 uint32_t _ptr_domain_name;
11803 TALLOC_CTX *_mem_save_server_name_0;
11804 TALLOC_CTX *_mem_save_domain_name_0;
11805 TALLOC_CTX *_mem_save_rid_0;
11806 if (flags & NDR_IN) {
11807 ZERO_STRUCT(r->out);
11809 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
11810 if (_ptr_server_name) {
11811 NDR_PULL_ALLOC(ndr, r->in.server_name);
11812 } else {
11813 r->in.server_name = NULL;
11815 if (r->in.server_name) {
11816 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11817 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
11818 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
11819 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
11820 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
11821 return 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));
11823 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
11824 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));
11825 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
11827 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
11828 if (_ptr_domain_name) {
11829 NDR_PULL_ALLOC(ndr, r->in.domain_name);
11830 } else {
11831 r->in.domain_name = NULL;
11833 if (r->in.domain_name) {
11834 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11835 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
11836 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
11837 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
11838 if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
11839 return 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));
11841 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
11842 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));
11843 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
11845 NDR_PULL_ALLOC(ndr, r->out.rid);
11846 ZERO_STRUCTP(r->out.rid);
11848 if (flags & NDR_OUT) {
11849 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11850 NDR_PULL_ALLOC(ndr, r->out.rid);
11852 _mem_save_rid_0 = NDR_PULL_GET_MEM_CTX(ndr);
11853 NDR_PULL_SET_MEM_CTX(ndr, r->out.rid, LIBNDR_FLAG_REF_ALLOC);
11854 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.rid));
11855 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rid_0, LIBNDR_FLAG_REF_ALLOC);
11856 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11858 return NDR_ERR_SUCCESS;
11861 _PUBLIC_ void ndr_print_netr_LogonGetTrustRid(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonGetTrustRid *r)
11863 ndr_print_struct(ndr, name, "netr_LogonGetTrustRid");
11864 ndr->depth++;
11865 if (flags & NDR_SET_VALUES) {
11866 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11868 if (flags & NDR_IN) {
11869 ndr_print_struct(ndr, "in", "netr_LogonGetTrustRid");
11870 ndr->depth++;
11871 ndr_print_ptr(ndr, "server_name", r->in.server_name);
11872 ndr->depth++;
11873 if (r->in.server_name) {
11874 ndr_print_string(ndr, "server_name", r->in.server_name);
11876 ndr->depth--;
11877 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
11878 ndr->depth++;
11879 if (r->in.domain_name) {
11880 ndr_print_string(ndr, "domain_name", r->in.domain_name);
11882 ndr->depth--;
11883 ndr->depth--;
11885 if (flags & NDR_OUT) {
11886 ndr_print_struct(ndr, "out", "netr_LogonGetTrustRid");
11887 ndr->depth++;
11888 ndr_print_ptr(ndr, "rid", r->out.rid);
11889 ndr->depth++;
11890 ndr_print_uint32(ndr, "rid", *r->out.rid);
11891 ndr->depth--;
11892 ndr_print_WERROR(ndr, "result", r->out.result);
11893 ndr->depth--;
11895 ndr->depth--;
11898 static enum ndr_err_code ndr_push_netr_NETRLOGONCOMPUTESERVERDIGEST(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONCOMPUTESERVERDIGEST *r)
11900 if (flags & NDR_IN) {
11902 if (flags & NDR_OUT) {
11903 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11905 return NDR_ERR_SUCCESS;
11908 static enum ndr_err_code ndr_pull_netr_NETRLOGONCOMPUTESERVERDIGEST(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONCOMPUTESERVERDIGEST *r)
11910 if (flags & NDR_IN) {
11912 if (flags & NDR_OUT) {
11913 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11915 return NDR_ERR_SUCCESS;
11918 _PUBLIC_ void ndr_print_netr_NETRLOGONCOMPUTESERVERDIGEST(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONCOMPUTESERVERDIGEST *r)
11920 ndr_print_struct(ndr, name, "netr_NETRLOGONCOMPUTESERVERDIGEST");
11921 ndr->depth++;
11922 if (flags & NDR_SET_VALUES) {
11923 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11925 if (flags & NDR_IN) {
11926 ndr_print_struct(ndr, "in", "netr_NETRLOGONCOMPUTESERVERDIGEST");
11927 ndr->depth++;
11928 ndr->depth--;
11930 if (flags & NDR_OUT) {
11931 ndr_print_struct(ndr, "out", "netr_NETRLOGONCOMPUTESERVERDIGEST");
11932 ndr->depth++;
11933 ndr_print_WERROR(ndr, "result", r->out.result);
11934 ndr->depth--;
11936 ndr->depth--;
11939 static enum ndr_err_code ndr_push_netr_NETRLOGONCOMPUTECLIENTDIGEST(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONCOMPUTECLIENTDIGEST *r)
11941 if (flags & NDR_IN) {
11943 if (flags & NDR_OUT) {
11944 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11946 return NDR_ERR_SUCCESS;
11949 static enum ndr_err_code ndr_pull_netr_NETRLOGONCOMPUTECLIENTDIGEST(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONCOMPUTECLIENTDIGEST *r)
11951 if (flags & NDR_IN) {
11953 if (flags & NDR_OUT) {
11954 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11956 return NDR_ERR_SUCCESS;
11959 _PUBLIC_ void ndr_print_netr_NETRLOGONCOMPUTECLIENTDIGEST(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONCOMPUTECLIENTDIGEST *r)
11961 ndr_print_struct(ndr, name, "netr_NETRLOGONCOMPUTECLIENTDIGEST");
11962 ndr->depth++;
11963 if (flags & NDR_SET_VALUES) {
11964 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11966 if (flags & NDR_IN) {
11967 ndr_print_struct(ndr, "in", "netr_NETRLOGONCOMPUTECLIENTDIGEST");
11968 ndr->depth++;
11969 ndr->depth--;
11971 if (flags & NDR_OUT) {
11972 ndr_print_struct(ndr, "out", "netr_NETRLOGONCOMPUTECLIENTDIGEST");
11973 ndr->depth++;
11974 ndr_print_WERROR(ndr, "result", r->out.result);
11975 ndr->depth--;
11977 ndr->depth--;
11980 static enum ndr_err_code ndr_push_netr_ServerAuthenticate3(struct ndr_push *ndr, int flags, const struct netr_ServerAuthenticate3 *r)
11982 if (flags & NDR_IN) {
11983 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
11984 if (r->in.server_name) {
11985 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
11986 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11987 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
11988 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));
11990 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
11991 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11992 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
11993 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));
11994 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
11995 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
11996 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11997 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
11998 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));
11999 if (r->in.credentials == NULL) {
12000 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12002 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
12003 if (r->in.negotiate_flags == NULL) {
12004 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12006 NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, *r->in.negotiate_flags));
12008 if (flags & NDR_OUT) {
12009 if (r->out.credentials == NULL) {
12010 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12012 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.credentials));
12013 if (r->out.negotiate_flags == NULL) {
12014 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12016 NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, *r->out.negotiate_flags));
12017 if (r->out.rid == NULL) {
12018 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12020 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.rid));
12021 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12023 return NDR_ERR_SUCCESS;
12026 static enum ndr_err_code ndr_pull_netr_ServerAuthenticate3(struct ndr_pull *ndr, int flags, struct netr_ServerAuthenticate3 *r)
12028 uint32_t _ptr_server_name;
12029 TALLOC_CTX *_mem_save_server_name_0;
12030 TALLOC_CTX *_mem_save_credentials_0;
12031 TALLOC_CTX *_mem_save_negotiate_flags_0;
12032 TALLOC_CTX *_mem_save_rid_0;
12033 if (flags & NDR_IN) {
12034 ZERO_STRUCT(r->out);
12036 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
12037 if (_ptr_server_name) {
12038 NDR_PULL_ALLOC(ndr, r->in.server_name);
12039 } else {
12040 r->in.server_name = NULL;
12042 if (r->in.server_name) {
12043 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12044 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
12045 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
12046 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
12047 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
12048 return 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));
12050 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
12051 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));
12052 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
12054 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
12055 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
12056 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
12057 return 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));
12059 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
12060 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));
12061 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
12062 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
12063 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
12064 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
12065 return 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));
12067 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
12068 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));
12069 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12070 NDR_PULL_ALLOC(ndr, r->in.credentials);
12072 _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
12073 NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC);
12074 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
12075 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
12076 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12077 NDR_PULL_ALLOC(ndr, r->in.negotiate_flags);
12079 _mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
12080 NDR_PULL_SET_MEM_CTX(ndr, r->in.negotiate_flags, LIBNDR_FLAG_REF_ALLOC);
12081 NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, r->in.negotiate_flags));
12082 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC);
12083 NDR_PULL_ALLOC(ndr, r->out.credentials);
12084 *r->out.credentials = *r->in.credentials;
12085 NDR_PULL_ALLOC(ndr, r->out.negotiate_flags);
12086 *r->out.negotiate_flags = *r->in.negotiate_flags;
12087 NDR_PULL_ALLOC(ndr, r->out.rid);
12088 ZERO_STRUCTP(r->out.rid);
12090 if (flags & NDR_OUT) {
12091 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12092 NDR_PULL_ALLOC(ndr, r->out.credentials);
12094 _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
12095 NDR_PULL_SET_MEM_CTX(ndr, r->out.credentials, LIBNDR_FLAG_REF_ALLOC);
12096 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.credentials));
12097 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
12098 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12099 NDR_PULL_ALLOC(ndr, r->out.negotiate_flags);
12101 _mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
12102 NDR_PULL_SET_MEM_CTX(ndr, r->out.negotiate_flags, LIBNDR_FLAG_REF_ALLOC);
12103 NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, r->out.negotiate_flags));
12104 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC);
12105 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12106 NDR_PULL_ALLOC(ndr, r->out.rid);
12108 _mem_save_rid_0 = NDR_PULL_GET_MEM_CTX(ndr);
12109 NDR_PULL_SET_MEM_CTX(ndr, r->out.rid, LIBNDR_FLAG_REF_ALLOC);
12110 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.rid));
12111 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rid_0, LIBNDR_FLAG_REF_ALLOC);
12112 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12114 return NDR_ERR_SUCCESS;
12117 _PUBLIC_ void ndr_print_netr_ServerAuthenticate3(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerAuthenticate3 *r)
12119 ndr_print_struct(ndr, name, "netr_ServerAuthenticate3");
12120 ndr->depth++;
12121 if (flags & NDR_SET_VALUES) {
12122 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12124 if (flags & NDR_IN) {
12125 ndr_print_struct(ndr, "in", "netr_ServerAuthenticate3");
12126 ndr->depth++;
12127 ndr_print_ptr(ndr, "server_name", r->in.server_name);
12128 ndr->depth++;
12129 if (r->in.server_name) {
12130 ndr_print_string(ndr, "server_name", r->in.server_name);
12132 ndr->depth--;
12133 ndr_print_string(ndr, "account_name", r->in.account_name);
12134 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
12135 ndr_print_string(ndr, "computer_name", r->in.computer_name);
12136 ndr_print_ptr(ndr, "credentials", r->in.credentials);
12137 ndr->depth++;
12138 ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
12139 ndr->depth--;
12140 ndr_print_ptr(ndr, "negotiate_flags", r->in.negotiate_flags);
12141 ndr->depth++;
12142 ndr_print_netr_NegotiateFlags(ndr, "negotiate_flags", *r->in.negotiate_flags);
12143 ndr->depth--;
12144 ndr->depth--;
12146 if (flags & NDR_OUT) {
12147 ndr_print_struct(ndr, "out", "netr_ServerAuthenticate3");
12148 ndr->depth++;
12149 ndr_print_ptr(ndr, "credentials", r->out.credentials);
12150 ndr->depth++;
12151 ndr_print_netr_Credential(ndr, "credentials", r->out.credentials);
12152 ndr->depth--;
12153 ndr_print_ptr(ndr, "negotiate_flags", r->out.negotiate_flags);
12154 ndr->depth++;
12155 ndr_print_netr_NegotiateFlags(ndr, "negotiate_flags", *r->out.negotiate_flags);
12156 ndr->depth--;
12157 ndr_print_ptr(ndr, "rid", r->out.rid);
12158 ndr->depth++;
12159 ndr_print_uint32(ndr, "rid", *r->out.rid);
12160 ndr->depth--;
12161 ndr_print_NTSTATUS(ndr, "result", r->out.result);
12162 ndr->depth--;
12164 ndr->depth--;
12167 static enum ndr_err_code ndr_push_netr_DsRGetDCNameEx(struct ndr_push *ndr, int flags, const struct netr_DsRGetDCNameEx *r)
12169 if (flags & NDR_IN) {
12170 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc));
12171 if (r->in.server_unc) {
12172 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
12173 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12174 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
12175 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));
12177 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
12178 if (r->in.domain_name) {
12179 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
12180 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12181 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
12182 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));
12184 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
12185 if (r->in.domain_guid) {
12186 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
12188 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.site_name));
12189 if (r->in.site_name) {
12190 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
12191 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12192 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
12193 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));
12195 NDR_CHECK(ndr_push_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, r->in.flags));
12197 if (flags & NDR_OUT) {
12198 if (r->out.info == NULL) {
12199 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12201 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
12202 if (*r->out.info) {
12203 NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
12205 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12207 return NDR_ERR_SUCCESS;
12210 static enum ndr_err_code ndr_pull_netr_DsRGetDCNameEx(struct ndr_pull *ndr, int flags, struct netr_DsRGetDCNameEx *r)
12212 uint32_t _ptr_server_unc;
12213 uint32_t _ptr_domain_name;
12214 uint32_t _ptr_domain_guid;
12215 uint32_t _ptr_site_name;
12216 uint32_t _ptr_info;
12217 TALLOC_CTX *_mem_save_server_unc_0;
12218 TALLOC_CTX *_mem_save_domain_name_0;
12219 TALLOC_CTX *_mem_save_domain_guid_0;
12220 TALLOC_CTX *_mem_save_site_name_0;
12221 TALLOC_CTX *_mem_save_info_0;
12222 TALLOC_CTX *_mem_save_info_1;
12223 if (flags & NDR_IN) {
12224 ZERO_STRUCT(r->out);
12226 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc));
12227 if (_ptr_server_unc) {
12228 NDR_PULL_ALLOC(ndr, r->in.server_unc);
12229 } else {
12230 r->in.server_unc = NULL;
12232 if (r->in.server_unc) {
12233 _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr);
12234 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
12235 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
12236 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
12237 if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
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.server_unc), ndr_get_array_length(ndr, &r->in.server_unc));
12240 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
12241 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));
12242 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
12244 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
12245 if (_ptr_domain_name) {
12246 NDR_PULL_ALLOC(ndr, r->in.domain_name);
12247 } else {
12248 r->in.domain_name = NULL;
12250 if (r->in.domain_name) {
12251 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12252 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
12253 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
12254 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
12255 if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
12256 return 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));
12258 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
12259 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));
12260 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
12262 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
12263 if (_ptr_domain_guid) {
12264 NDR_PULL_ALLOC(ndr, r->in.domain_guid);
12265 } else {
12266 r->in.domain_guid = NULL;
12268 if (r->in.domain_guid) {
12269 _mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
12270 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
12271 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
12272 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
12274 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
12275 if (_ptr_site_name) {
12276 NDR_PULL_ALLOC(ndr, r->in.site_name);
12277 } else {
12278 r->in.site_name = NULL;
12280 if (r->in.site_name) {
12281 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12282 NDR_PULL_SET_MEM_CTX(ndr, r->in.site_name, 0);
12283 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.site_name));
12284 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.site_name));
12285 if (ndr_get_array_length(ndr, &r->in.site_name) > ndr_get_array_size(ndr, &r->in.site_name)) {
12286 return 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));
12288 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.site_name), sizeof(uint16_t)));
12289 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));
12290 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
12292 NDR_CHECK(ndr_pull_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, &r->in.flags));
12293 NDR_PULL_ALLOC(ndr, r->out.info);
12294 ZERO_STRUCTP(r->out.info);
12296 if (flags & NDR_OUT) {
12297 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12298 NDR_PULL_ALLOC(ndr, r->out.info);
12300 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
12301 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
12302 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
12303 if (_ptr_info) {
12304 NDR_PULL_ALLOC(ndr, *r->out.info);
12305 } else {
12306 *r->out.info = NULL;
12308 if (*r->out.info) {
12309 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
12310 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
12311 NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
12312 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
12314 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
12315 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12317 return NDR_ERR_SUCCESS;
12320 _PUBLIC_ void ndr_print_netr_DsRGetDCNameEx(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetDCNameEx *r)
12322 ndr_print_struct(ndr, name, "netr_DsRGetDCNameEx");
12323 ndr->depth++;
12324 if (flags & NDR_SET_VALUES) {
12325 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12327 if (flags & NDR_IN) {
12328 ndr_print_struct(ndr, "in", "netr_DsRGetDCNameEx");
12329 ndr->depth++;
12330 ndr_print_ptr(ndr, "server_unc", r->in.server_unc);
12331 ndr->depth++;
12332 if (r->in.server_unc) {
12333 ndr_print_string(ndr, "server_unc", r->in.server_unc);
12335 ndr->depth--;
12336 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
12337 ndr->depth++;
12338 if (r->in.domain_name) {
12339 ndr_print_string(ndr, "domain_name", r->in.domain_name);
12341 ndr->depth--;
12342 ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
12343 ndr->depth++;
12344 if (r->in.domain_guid) {
12345 ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
12347 ndr->depth--;
12348 ndr_print_ptr(ndr, "site_name", r->in.site_name);
12349 ndr->depth++;
12350 if (r->in.site_name) {
12351 ndr_print_string(ndr, "site_name", r->in.site_name);
12353 ndr->depth--;
12354 ndr_print_netr_DsRGetDCName_flags(ndr, "flags", r->in.flags);
12355 ndr->depth--;
12357 if (flags & NDR_OUT) {
12358 ndr_print_struct(ndr, "out", "netr_DsRGetDCNameEx");
12359 ndr->depth++;
12360 ndr_print_ptr(ndr, "info", r->out.info);
12361 ndr->depth++;
12362 ndr_print_ptr(ndr, "info", *r->out.info);
12363 ndr->depth++;
12364 if (*r->out.info) {
12365 ndr_print_netr_DsRGetDCNameInfo(ndr, "info", *r->out.info);
12367 ndr->depth--;
12368 ndr->depth--;
12369 ndr_print_WERROR(ndr, "result", r->out.result);
12370 ndr->depth--;
12372 ndr->depth--;
12375 static enum ndr_err_code ndr_push_netr_DsRGetSiteName(struct ndr_push *ndr, int flags, const struct netr_DsRGetSiteName *r)
12377 if (flags & NDR_IN) {
12378 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
12379 if (r->in.computer_name) {
12380 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
12381 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12382 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
12383 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));
12386 if (flags & NDR_OUT) {
12387 if (r->out.site == NULL) {
12388 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12390 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.site));
12391 if (*r->out.site) {
12392 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.site, CH_UTF16)));
12393 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12394 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.site, CH_UTF16)));
12395 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.site, ndr_charset_length(*r->out.site, CH_UTF16), sizeof(uint16_t), CH_UTF16));
12397 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12399 return NDR_ERR_SUCCESS;
12402 static enum ndr_err_code ndr_pull_netr_DsRGetSiteName(struct ndr_pull *ndr, int flags, struct netr_DsRGetSiteName *r)
12404 uint32_t _ptr_computer_name;
12405 uint32_t _ptr_site;
12406 TALLOC_CTX *_mem_save_computer_name_0;
12407 TALLOC_CTX *_mem_save_site_0;
12408 TALLOC_CTX *_mem_save_site_1;
12409 if (flags & NDR_IN) {
12410 ZERO_STRUCT(r->out);
12412 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
12413 if (_ptr_computer_name) {
12414 NDR_PULL_ALLOC(ndr, r->in.computer_name);
12415 } else {
12416 r->in.computer_name = NULL;
12418 if (r->in.computer_name) {
12419 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12420 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
12421 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
12422 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
12423 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
12424 return 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));
12426 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
12427 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));
12428 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
12430 NDR_PULL_ALLOC(ndr, r->out.site);
12431 ZERO_STRUCTP(r->out.site);
12433 if (flags & NDR_OUT) {
12434 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12435 NDR_PULL_ALLOC(ndr, r->out.site);
12437 _mem_save_site_0 = NDR_PULL_GET_MEM_CTX(ndr);
12438 NDR_PULL_SET_MEM_CTX(ndr, r->out.site, LIBNDR_FLAG_REF_ALLOC);
12439 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site));
12440 if (_ptr_site) {
12441 NDR_PULL_ALLOC(ndr, *r->out.site);
12442 } else {
12443 *r->out.site = NULL;
12445 if (*r->out.site) {
12446 _mem_save_site_1 = NDR_PULL_GET_MEM_CTX(ndr);
12447 NDR_PULL_SET_MEM_CTX(ndr, *r->out.site, 0);
12448 NDR_CHECK(ndr_pull_array_size(ndr, r->out.site));
12449 NDR_CHECK(ndr_pull_array_length(ndr, r->out.site));
12450 if (ndr_get_array_length(ndr, r->out.site) > ndr_get_array_size(ndr, r->out.site)) {
12451 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));
12453 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.site), sizeof(uint16_t)));
12454 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.site, ndr_get_array_length(ndr, r->out.site), sizeof(uint16_t), CH_UTF16));
12455 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_1, 0);
12457 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_0, LIBNDR_FLAG_REF_ALLOC);
12458 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12460 return NDR_ERR_SUCCESS;
12463 _PUBLIC_ void ndr_print_netr_DsRGetSiteName(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetSiteName *r)
12465 ndr_print_struct(ndr, name, "netr_DsRGetSiteName");
12466 ndr->depth++;
12467 if (flags & NDR_SET_VALUES) {
12468 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12470 if (flags & NDR_IN) {
12471 ndr_print_struct(ndr, "in", "netr_DsRGetSiteName");
12472 ndr->depth++;
12473 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
12474 ndr->depth++;
12475 if (r->in.computer_name) {
12476 ndr_print_string(ndr, "computer_name", r->in.computer_name);
12478 ndr->depth--;
12479 ndr->depth--;
12481 if (flags & NDR_OUT) {
12482 ndr_print_struct(ndr, "out", "netr_DsRGetSiteName");
12483 ndr->depth++;
12484 ndr_print_ptr(ndr, "site", r->out.site);
12485 ndr->depth++;
12486 ndr_print_ptr(ndr, "site", *r->out.site);
12487 ndr->depth++;
12488 if (*r->out.site) {
12489 ndr_print_string(ndr, "site", *r->out.site);
12491 ndr->depth--;
12492 ndr->depth--;
12493 ndr_print_WERROR(ndr, "result", r->out.result);
12494 ndr->depth--;
12496 ndr->depth--;
12499 static enum ndr_err_code ndr_push_netr_LogonGetDomainInfo(struct ndr_push *ndr, int flags, const struct netr_LogonGetDomainInfo *r)
12501 if (flags & NDR_IN) {
12502 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12503 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12504 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12505 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));
12506 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
12507 if (r->in.computer_name) {
12508 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
12509 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12510 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
12511 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));
12513 if (r->in.credential == NULL) {
12514 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12516 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
12517 if (r->in.return_authenticator == NULL) {
12518 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12520 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
12521 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
12522 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.query, r->in.level));
12523 NDR_CHECK(ndr_push_netr_DomainQuery(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.query));
12525 if (flags & NDR_OUT) {
12526 if (r->out.return_authenticator == NULL) {
12527 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12529 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12530 if (r->out.info == NULL) {
12531 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12533 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level));
12534 NDR_CHECK(ndr_push_netr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
12535 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12537 return NDR_ERR_SUCCESS;
12540 static enum ndr_err_code ndr_pull_netr_LogonGetDomainInfo(struct ndr_pull *ndr, int flags, struct netr_LogonGetDomainInfo *r)
12542 uint32_t _ptr_computer_name;
12543 TALLOC_CTX *_mem_save_computer_name_0;
12544 TALLOC_CTX *_mem_save_credential_0;
12545 TALLOC_CTX *_mem_save_return_authenticator_0;
12546 TALLOC_CTX *_mem_save_info_0;
12547 if (flags & NDR_IN) {
12548 ZERO_STRUCT(r->out);
12550 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
12551 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
12552 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
12553 return 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));
12555 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
12556 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));
12557 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
12558 if (_ptr_computer_name) {
12559 NDR_PULL_ALLOC(ndr, r->in.computer_name);
12560 } else {
12561 r->in.computer_name = NULL;
12563 if (r->in.computer_name) {
12564 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12565 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
12566 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
12567 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
12568 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
12569 return 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));
12571 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
12572 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));
12573 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
12575 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12576 NDR_PULL_ALLOC(ndr, r->in.credential);
12578 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
12579 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
12580 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
12581 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
12582 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12583 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
12585 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
12586 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
12587 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
12588 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
12589 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
12590 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.query, r->in.level));
12591 NDR_CHECK(ndr_pull_netr_DomainQuery(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.query));
12592 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12593 *r->out.return_authenticator = *r->in.return_authenticator;
12594 NDR_PULL_ALLOC(ndr, r->out.info);
12595 ZERO_STRUCTP(r->out.info);
12597 if (flags & NDR_OUT) {
12598 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12599 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12601 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
12602 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
12603 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12604 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
12605 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12606 NDR_PULL_ALLOC(ndr, r->out.info);
12608 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
12609 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
12610 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level));
12611 NDR_CHECK(ndr_pull_netr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
12612 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
12613 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12615 return NDR_ERR_SUCCESS;
12618 _PUBLIC_ void ndr_print_netr_LogonGetDomainInfo(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonGetDomainInfo *r)
12620 ndr_print_struct(ndr, name, "netr_LogonGetDomainInfo");
12621 ndr->depth++;
12622 if (flags & NDR_SET_VALUES) {
12623 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12625 if (flags & NDR_IN) {
12626 ndr_print_struct(ndr, "in", "netr_LogonGetDomainInfo");
12627 ndr->depth++;
12628 ndr_print_string(ndr, "server_name", r->in.server_name);
12629 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
12630 ndr->depth++;
12631 if (r->in.computer_name) {
12632 ndr_print_string(ndr, "computer_name", r->in.computer_name);
12634 ndr->depth--;
12635 ndr_print_ptr(ndr, "credential", r->in.credential);
12636 ndr->depth++;
12637 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
12638 ndr->depth--;
12639 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
12640 ndr->depth++;
12641 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
12642 ndr->depth--;
12643 ndr_print_uint32(ndr, "level", r->in.level);
12644 ndr_print_set_switch_value(ndr, &r->in.query, r->in.level);
12645 ndr_print_netr_DomainQuery(ndr, "query", &r->in.query);
12646 ndr->depth--;
12648 if (flags & NDR_OUT) {
12649 ndr_print_struct(ndr, "out", "netr_LogonGetDomainInfo");
12650 ndr->depth++;
12651 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
12652 ndr->depth++;
12653 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
12654 ndr->depth--;
12655 ndr_print_ptr(ndr, "info", r->out.info);
12656 ndr->depth++;
12657 ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
12658 ndr_print_netr_DomainInfo(ndr, "info", r->out.info);
12659 ndr->depth--;
12660 ndr_print_NTSTATUS(ndr, "result", r->out.result);
12661 ndr->depth--;
12663 ndr->depth--;
12666 static enum ndr_err_code ndr_push_netr_ServerPasswordSet2(struct ndr_push *ndr, int flags, const struct netr_ServerPasswordSet2 *r)
12668 if (flags & NDR_IN) {
12669 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
12670 if (r->in.server_name) {
12671 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12672 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12673 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12674 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));
12676 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
12677 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12678 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
12679 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));
12680 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
12681 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
12682 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12683 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
12684 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));
12685 if (r->in.credential == NULL) {
12686 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12688 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
12689 if (r->in.new_password == NULL) {
12690 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12692 NDR_CHECK(ndr_push_netr_CryptPassword(ndr, NDR_SCALARS, r->in.new_password));
12694 if (flags & NDR_OUT) {
12695 if (r->out.return_authenticator == NULL) {
12696 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12698 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12699 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12701 return NDR_ERR_SUCCESS;
12704 static enum ndr_err_code ndr_pull_netr_ServerPasswordSet2(struct ndr_pull *ndr, int flags, struct netr_ServerPasswordSet2 *r)
12706 uint32_t _ptr_server_name;
12707 TALLOC_CTX *_mem_save_server_name_0;
12708 TALLOC_CTX *_mem_save_credential_0;
12709 TALLOC_CTX *_mem_save_return_authenticator_0;
12710 TALLOC_CTX *_mem_save_new_password_0;
12711 if (flags & NDR_IN) {
12712 ZERO_STRUCT(r->out);
12714 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
12715 if (_ptr_server_name) {
12716 NDR_PULL_ALLOC(ndr, r->in.server_name);
12717 } else {
12718 r->in.server_name = NULL;
12720 if (r->in.server_name) {
12721 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12722 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
12723 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
12724 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
12725 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
12726 return 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));
12728 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
12729 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));
12730 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
12732 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
12733 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
12734 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
12735 return 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));
12737 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
12738 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));
12739 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
12740 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
12741 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
12742 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
12743 return 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));
12745 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
12746 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));
12747 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12748 NDR_PULL_ALLOC(ndr, r->in.credential);
12750 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
12751 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
12752 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
12753 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
12754 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12755 NDR_PULL_ALLOC(ndr, r->in.new_password);
12757 _mem_save_new_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
12758 NDR_PULL_SET_MEM_CTX(ndr, r->in.new_password, LIBNDR_FLAG_REF_ALLOC);
12759 NDR_CHECK(ndr_pull_netr_CryptPassword(ndr, NDR_SCALARS, r->in.new_password));
12760 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_password_0, LIBNDR_FLAG_REF_ALLOC);
12761 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12762 ZERO_STRUCTP(r->out.return_authenticator);
12764 if (flags & NDR_OUT) {
12765 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12766 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12768 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
12769 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
12770 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12771 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
12772 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12774 return NDR_ERR_SUCCESS;
12777 _PUBLIC_ void ndr_print_netr_ServerPasswordSet2(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerPasswordSet2 *r)
12779 ndr_print_struct(ndr, name, "netr_ServerPasswordSet2");
12780 ndr->depth++;
12781 if (flags & NDR_SET_VALUES) {
12782 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12784 if (flags & NDR_IN) {
12785 ndr_print_struct(ndr, "in", "netr_ServerPasswordSet2");
12786 ndr->depth++;
12787 ndr_print_ptr(ndr, "server_name", r->in.server_name);
12788 ndr->depth++;
12789 if (r->in.server_name) {
12790 ndr_print_string(ndr, "server_name", r->in.server_name);
12792 ndr->depth--;
12793 ndr_print_string(ndr, "account_name", r->in.account_name);
12794 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
12795 ndr_print_string(ndr, "computer_name", r->in.computer_name);
12796 ndr_print_ptr(ndr, "credential", r->in.credential);
12797 ndr->depth++;
12798 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
12799 ndr->depth--;
12800 ndr_print_ptr(ndr, "new_password", r->in.new_password);
12801 ndr->depth++;
12802 ndr_print_netr_CryptPassword(ndr, "new_password", r->in.new_password);
12803 ndr->depth--;
12804 ndr->depth--;
12806 if (flags & NDR_OUT) {
12807 ndr_print_struct(ndr, "out", "netr_ServerPasswordSet2");
12808 ndr->depth++;
12809 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
12810 ndr->depth++;
12811 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
12812 ndr->depth--;
12813 ndr_print_NTSTATUS(ndr, "result", r->out.result);
12814 ndr->depth--;
12816 ndr->depth--;
12819 static enum ndr_err_code ndr_push_netr_ServerPasswordGet(struct ndr_push *ndr, int flags, const struct netr_ServerPasswordGet *r)
12821 if (flags & NDR_IN) {
12822 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
12823 if (r->in.server_name) {
12824 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12825 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12826 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12827 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));
12829 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
12830 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12831 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
12832 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));
12833 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
12834 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
12835 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12836 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
12837 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));
12838 if (r->in.credential == NULL) {
12839 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12841 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
12843 if (flags & NDR_OUT) {
12844 if (r->out.return_authenticator == NULL) {
12845 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12847 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12848 if (r->out.password == NULL) {
12849 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12851 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->out.password));
12852 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12854 return NDR_ERR_SUCCESS;
12857 static enum ndr_err_code ndr_pull_netr_ServerPasswordGet(struct ndr_pull *ndr, int flags, struct netr_ServerPasswordGet *r)
12859 uint32_t _ptr_server_name;
12860 TALLOC_CTX *_mem_save_server_name_0;
12861 TALLOC_CTX *_mem_save_credential_0;
12862 TALLOC_CTX *_mem_save_return_authenticator_0;
12863 TALLOC_CTX *_mem_save_password_0;
12864 if (flags & NDR_IN) {
12865 ZERO_STRUCT(r->out);
12867 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
12868 if (_ptr_server_name) {
12869 NDR_PULL_ALLOC(ndr, r->in.server_name);
12870 } else {
12871 r->in.server_name = NULL;
12873 if (r->in.server_name) {
12874 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12875 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
12876 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
12877 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
12878 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
12879 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
12881 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
12882 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));
12883 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
12885 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
12886 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
12887 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
12888 return 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));
12890 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
12891 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));
12892 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
12893 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
12894 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
12895 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
12896 return 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));
12898 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
12899 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));
12900 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12901 NDR_PULL_ALLOC(ndr, r->in.credential);
12903 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
12904 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
12905 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
12906 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
12907 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12908 ZERO_STRUCTP(r->out.return_authenticator);
12909 NDR_PULL_ALLOC(ndr, r->out.password);
12910 ZERO_STRUCTP(r->out.password);
12912 if (flags & NDR_OUT) {
12913 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12914 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12916 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
12917 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
12918 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12919 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
12920 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12921 NDR_PULL_ALLOC(ndr, r->out.password);
12923 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
12924 NDR_PULL_SET_MEM_CTX(ndr, r->out.password, LIBNDR_FLAG_REF_ALLOC);
12925 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->out.password));
12926 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, LIBNDR_FLAG_REF_ALLOC);
12927 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12929 return NDR_ERR_SUCCESS;
12932 _PUBLIC_ void ndr_print_netr_ServerPasswordGet(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerPasswordGet *r)
12934 ndr_print_struct(ndr, name, "netr_ServerPasswordGet");
12935 ndr->depth++;
12936 if (flags & NDR_SET_VALUES) {
12937 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12939 if (flags & NDR_IN) {
12940 ndr_print_struct(ndr, "in", "netr_ServerPasswordGet");
12941 ndr->depth++;
12942 ndr_print_ptr(ndr, "server_name", r->in.server_name);
12943 ndr->depth++;
12944 if (r->in.server_name) {
12945 ndr_print_string(ndr, "server_name", r->in.server_name);
12947 ndr->depth--;
12948 ndr_print_string(ndr, "account_name", r->in.account_name);
12949 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
12950 ndr_print_string(ndr, "computer_name", r->in.computer_name);
12951 ndr_print_ptr(ndr, "credential", r->in.credential);
12952 ndr->depth++;
12953 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
12954 ndr->depth--;
12955 ndr->depth--;
12957 if (flags & NDR_OUT) {
12958 ndr_print_struct(ndr, "out", "netr_ServerPasswordGet");
12959 ndr->depth++;
12960 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
12961 ndr->depth++;
12962 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
12963 ndr->depth--;
12964 ndr_print_ptr(ndr, "password", r->out.password);
12965 ndr->depth++;
12966 ndr_print_samr_Password(ndr, "password", r->out.password);
12967 ndr->depth--;
12968 ndr_print_WERROR(ndr, "result", r->out.result);
12969 ndr->depth--;
12971 ndr->depth--;
12974 static enum ndr_err_code ndr_push_netr_NETRLOGONSENDTOSAM(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONSENDTOSAM *r)
12976 if (flags & NDR_IN) {
12978 if (flags & NDR_OUT) {
12979 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12981 return NDR_ERR_SUCCESS;
12984 static enum ndr_err_code ndr_pull_netr_NETRLOGONSENDTOSAM(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONSENDTOSAM *r)
12986 if (flags & NDR_IN) {
12988 if (flags & NDR_OUT) {
12989 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12991 return NDR_ERR_SUCCESS;
12994 _PUBLIC_ void ndr_print_netr_NETRLOGONSENDTOSAM(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONSENDTOSAM *r)
12996 ndr_print_struct(ndr, name, "netr_NETRLOGONSENDTOSAM");
12997 ndr->depth++;
12998 if (flags & NDR_SET_VALUES) {
12999 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13001 if (flags & NDR_IN) {
13002 ndr_print_struct(ndr, "in", "netr_NETRLOGONSENDTOSAM");
13003 ndr->depth++;
13004 ndr->depth--;
13006 if (flags & NDR_OUT) {
13007 ndr_print_struct(ndr, "out", "netr_NETRLOGONSENDTOSAM");
13008 ndr->depth++;
13009 ndr_print_WERROR(ndr, "result", r->out.result);
13010 ndr->depth--;
13012 ndr->depth--;
13015 static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesW(struct ndr_push *ndr, int flags, const struct netr_DsRAddressToSitenamesW *r)
13017 uint32_t cntr_addresses_1;
13018 if (flags & NDR_IN) {
13019 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
13020 if (r->in.server_name) {
13021 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13022 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13023 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13024 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));
13026 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
13027 if (r->in.addresses == NULL) {
13028 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13030 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
13031 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
13032 NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1]));
13034 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
13035 NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1]));
13038 if (flags & NDR_OUT) {
13039 if (r->out.ctr == NULL) {
13040 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13042 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.ctr));
13043 if (*r->out.ctr) {
13044 NDR_CHECK(ndr_push_netr_DsRAddressToSitenamesWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
13046 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13048 return NDR_ERR_SUCCESS;
13051 static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesW(struct ndr_pull *ndr, int flags, struct netr_DsRAddressToSitenamesW *r)
13053 uint32_t _ptr_server_name;
13054 uint32_t cntr_addresses_1;
13055 uint32_t _ptr_ctr;
13056 TALLOC_CTX *_mem_save_server_name_0;
13057 TALLOC_CTX *_mem_save_addresses_1;
13058 TALLOC_CTX *_mem_save_ctr_0;
13059 TALLOC_CTX *_mem_save_ctr_1;
13060 if (flags & NDR_IN) {
13061 ZERO_STRUCT(r->out);
13063 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
13064 if (_ptr_server_name) {
13065 NDR_PULL_ALLOC(ndr, r->in.server_name);
13066 } else {
13067 r->in.server_name = NULL;
13069 if (r->in.server_name) {
13070 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13071 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
13072 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13073 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13074 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13075 return 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));
13077 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13078 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));
13079 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
13081 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
13082 if (r->in.count < 0 || r->in.count > 32000) {
13083 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
13085 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.addresses));
13086 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13087 NDR_PULL_ALLOC_N(ndr, r->in.addresses, ndr_get_array_size(ndr, &r->in.addresses));
13089 _mem_save_addresses_1 = NDR_PULL_GET_MEM_CTX(ndr);
13090 NDR_PULL_SET_MEM_CTX(ndr, r->in.addresses, 0);
13091 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
13092 NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1]));
13094 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
13095 NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1]));
13097 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_addresses_1, 0);
13098 NDR_PULL_ALLOC(ndr, r->out.ctr);
13099 ZERO_STRUCTP(r->out.ctr);
13100 if (r->in.addresses) {
13101 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.addresses, r->in.count));
13104 if (flags & NDR_OUT) {
13105 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13106 NDR_PULL_ALLOC(ndr, r->out.ctr);
13108 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
13109 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
13110 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr));
13111 if (_ptr_ctr) {
13112 NDR_PULL_ALLOC(ndr, *r->out.ctr);
13113 } else {
13114 *r->out.ctr = NULL;
13116 if (*r->out.ctr) {
13117 _mem_save_ctr_1 = NDR_PULL_GET_MEM_CTX(ndr);
13118 NDR_PULL_SET_MEM_CTX(ndr, *r->out.ctr, 0);
13119 NDR_CHECK(ndr_pull_netr_DsRAddressToSitenamesWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
13120 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_1, 0);
13122 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
13123 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13125 return NDR_ERR_SUCCESS;
13128 _PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesW(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRAddressToSitenamesW *r)
13130 uint32_t cntr_addresses_1;
13131 ndr_print_struct(ndr, name, "netr_DsRAddressToSitenamesW");
13132 ndr->depth++;
13133 if (flags & NDR_SET_VALUES) {
13134 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13136 if (flags & NDR_IN) {
13137 ndr_print_struct(ndr, "in", "netr_DsRAddressToSitenamesW");
13138 ndr->depth++;
13139 ndr_print_ptr(ndr, "server_name", r->in.server_name);
13140 ndr->depth++;
13141 if (r->in.server_name) {
13142 ndr_print_string(ndr, "server_name", r->in.server_name);
13144 ndr->depth--;
13145 ndr_print_uint32(ndr, "count", r->in.count);
13146 ndr_print_ptr(ndr, "addresses", r->in.addresses);
13147 ndr->depth++;
13148 ndr->print(ndr, "%s: ARRAY(%d)", "addresses", (int)r->in.count);
13149 ndr->depth++;
13150 for (cntr_addresses_1=0;cntr_addresses_1<r->in.count;cntr_addresses_1++) {
13151 char *idx_1=NULL;
13152 if (asprintf(&idx_1, "[%d]", cntr_addresses_1) != -1) {
13153 ndr_print_netr_DsRAddress(ndr, "addresses", &r->in.addresses[cntr_addresses_1]);
13154 free(idx_1);
13157 ndr->depth--;
13158 ndr->depth--;
13159 ndr->depth--;
13161 if (flags & NDR_OUT) {
13162 ndr_print_struct(ndr, "out", "netr_DsRAddressToSitenamesW");
13163 ndr->depth++;
13164 ndr_print_ptr(ndr, "ctr", r->out.ctr);
13165 ndr->depth++;
13166 ndr_print_ptr(ndr, "ctr", *r->out.ctr);
13167 ndr->depth++;
13168 if (*r->out.ctr) {
13169 ndr_print_netr_DsRAddressToSitenamesWCtr(ndr, "ctr", *r->out.ctr);
13171 ndr->depth--;
13172 ndr->depth--;
13173 ndr_print_WERROR(ndr, "result", r->out.result);
13174 ndr->depth--;
13176 ndr->depth--;
13179 static enum ndr_err_code ndr_push_netr_DsRGetDCNameEx2(struct ndr_push *ndr, int flags, const struct netr_DsRGetDCNameEx2 *r)
13181 if (flags & NDR_IN) {
13182 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc));
13183 if (r->in.server_unc) {
13184 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
13185 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13186 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
13187 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));
13189 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.client_account));
13190 if (r->in.client_account) {
13191 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.client_account, CH_UTF16)));
13192 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13193 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.client_account, CH_UTF16)));
13194 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));
13196 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->in.mask));
13197 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
13198 if (r->in.domain_name) {
13199 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
13200 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13201 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
13202 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));
13204 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
13205 if (r->in.domain_guid) {
13206 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
13208 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.site_name));
13209 if (r->in.site_name) {
13210 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
13211 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13212 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
13213 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));
13215 NDR_CHECK(ndr_push_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, r->in.flags));
13217 if (flags & NDR_OUT) {
13218 if (r->out.info == NULL) {
13219 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13221 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
13222 if (*r->out.info) {
13223 NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
13225 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13227 return NDR_ERR_SUCCESS;
13230 static enum ndr_err_code ndr_pull_netr_DsRGetDCNameEx2(struct ndr_pull *ndr, int flags, struct netr_DsRGetDCNameEx2 *r)
13232 uint32_t _ptr_server_unc;
13233 uint32_t _ptr_client_account;
13234 uint32_t _ptr_domain_name;
13235 uint32_t _ptr_domain_guid;
13236 uint32_t _ptr_site_name;
13237 uint32_t _ptr_info;
13238 TALLOC_CTX *_mem_save_server_unc_0;
13239 TALLOC_CTX *_mem_save_client_account_0;
13240 TALLOC_CTX *_mem_save_domain_name_0;
13241 TALLOC_CTX *_mem_save_domain_guid_0;
13242 TALLOC_CTX *_mem_save_site_name_0;
13243 TALLOC_CTX *_mem_save_info_0;
13244 TALLOC_CTX *_mem_save_info_1;
13245 if (flags & NDR_IN) {
13246 ZERO_STRUCT(r->out);
13248 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc));
13249 if (_ptr_server_unc) {
13250 NDR_PULL_ALLOC(ndr, r->in.server_unc);
13251 } else {
13252 r->in.server_unc = NULL;
13254 if (r->in.server_unc) {
13255 _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr);
13256 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
13257 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
13258 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
13259 if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
13260 return 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));
13262 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
13263 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));
13264 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
13266 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_account));
13267 if (_ptr_client_account) {
13268 NDR_PULL_ALLOC(ndr, r->in.client_account);
13269 } else {
13270 r->in.client_account = NULL;
13272 if (r->in.client_account) {
13273 _mem_save_client_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
13274 NDR_PULL_SET_MEM_CTX(ndr, r->in.client_account, 0);
13275 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.client_account));
13276 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.client_account));
13277 if (ndr_get_array_length(ndr, &r->in.client_account) > ndr_get_array_size(ndr, &r->in.client_account)) {
13278 return 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));
13280 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.client_account), sizeof(uint16_t)));
13281 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));
13282 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_account_0, 0);
13284 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->in.mask));
13285 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
13286 if (_ptr_domain_name) {
13287 NDR_PULL_ALLOC(ndr, r->in.domain_name);
13288 } else {
13289 r->in.domain_name = NULL;
13291 if (r->in.domain_name) {
13292 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13293 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
13294 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
13295 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
13296 if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
13297 return 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));
13299 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
13300 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));
13301 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
13303 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
13304 if (_ptr_domain_guid) {
13305 NDR_PULL_ALLOC(ndr, r->in.domain_guid);
13306 } else {
13307 r->in.domain_guid = NULL;
13309 if (r->in.domain_guid) {
13310 _mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
13311 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
13312 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
13313 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
13315 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
13316 if (_ptr_site_name) {
13317 NDR_PULL_ALLOC(ndr, r->in.site_name);
13318 } else {
13319 r->in.site_name = NULL;
13321 if (r->in.site_name) {
13322 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13323 NDR_PULL_SET_MEM_CTX(ndr, r->in.site_name, 0);
13324 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.site_name));
13325 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.site_name));
13326 if (ndr_get_array_length(ndr, &r->in.site_name) > ndr_get_array_size(ndr, &r->in.site_name)) {
13327 return 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));
13329 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.site_name), sizeof(uint16_t)));
13330 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));
13331 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
13333 NDR_CHECK(ndr_pull_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, &r->in.flags));
13334 NDR_PULL_ALLOC(ndr, r->out.info);
13335 ZERO_STRUCTP(r->out.info);
13337 if (flags & NDR_OUT) {
13338 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13339 NDR_PULL_ALLOC(ndr, r->out.info);
13341 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
13342 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
13343 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
13344 if (_ptr_info) {
13345 NDR_PULL_ALLOC(ndr, *r->out.info);
13346 } else {
13347 *r->out.info = NULL;
13349 if (*r->out.info) {
13350 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
13351 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
13352 NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
13353 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
13355 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
13356 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13358 return NDR_ERR_SUCCESS;
13361 _PUBLIC_ void ndr_print_netr_DsRGetDCNameEx2(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetDCNameEx2 *r)
13363 ndr_print_struct(ndr, name, "netr_DsRGetDCNameEx2");
13364 ndr->depth++;
13365 if (flags & NDR_SET_VALUES) {
13366 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13368 if (flags & NDR_IN) {
13369 ndr_print_struct(ndr, "in", "netr_DsRGetDCNameEx2");
13370 ndr->depth++;
13371 ndr_print_ptr(ndr, "server_unc", r->in.server_unc);
13372 ndr->depth++;
13373 if (r->in.server_unc) {
13374 ndr_print_string(ndr, "server_unc", r->in.server_unc);
13376 ndr->depth--;
13377 ndr_print_ptr(ndr, "client_account", r->in.client_account);
13378 ndr->depth++;
13379 if (r->in.client_account) {
13380 ndr_print_string(ndr, "client_account", r->in.client_account);
13382 ndr->depth--;
13383 ndr_print_samr_AcctFlags(ndr, "mask", r->in.mask);
13384 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
13385 ndr->depth++;
13386 if (r->in.domain_name) {
13387 ndr_print_string(ndr, "domain_name", r->in.domain_name);
13389 ndr->depth--;
13390 ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
13391 ndr->depth++;
13392 if (r->in.domain_guid) {
13393 ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
13395 ndr->depth--;
13396 ndr_print_ptr(ndr, "site_name", r->in.site_name);
13397 ndr->depth++;
13398 if (r->in.site_name) {
13399 ndr_print_string(ndr, "site_name", r->in.site_name);
13401 ndr->depth--;
13402 ndr_print_netr_DsRGetDCName_flags(ndr, "flags", r->in.flags);
13403 ndr->depth--;
13405 if (flags & NDR_OUT) {
13406 ndr_print_struct(ndr, "out", "netr_DsRGetDCNameEx2");
13407 ndr->depth++;
13408 ndr_print_ptr(ndr, "info", r->out.info);
13409 ndr->depth++;
13410 ndr_print_ptr(ndr, "info", *r->out.info);
13411 ndr->depth++;
13412 if (*r->out.info) {
13413 ndr_print_netr_DsRGetDCNameInfo(ndr, "info", *r->out.info);
13415 ndr->depth--;
13416 ndr->depth--;
13417 ndr_print_WERROR(ndr, "result", r->out.result);
13418 ndr->depth--;
13420 ndr->depth--;
13423 static enum ndr_err_code ndr_push_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN *r)
13425 if (flags & NDR_IN) {
13427 if (flags & NDR_OUT) {
13428 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13430 return NDR_ERR_SUCCESS;
13433 static enum ndr_err_code ndr_pull_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN *r)
13435 if (flags & NDR_IN) {
13437 if (flags & NDR_OUT) {
13438 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13440 return NDR_ERR_SUCCESS;
13443 _PUBLIC_ void ndr_print_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN *r)
13445 ndr_print_struct(ndr, name, "netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN");
13446 ndr->depth++;
13447 if (flags & NDR_SET_VALUES) {
13448 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13450 if (flags & NDR_IN) {
13451 ndr_print_struct(ndr, "in", "netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN");
13452 ndr->depth++;
13453 ndr->depth--;
13455 if (flags & NDR_OUT) {
13456 ndr_print_struct(ndr, "out", "netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN");
13457 ndr->depth++;
13458 ndr_print_WERROR(ndr, "result", r->out.result);
13459 ndr->depth--;
13461 ndr->depth--;
13464 static enum ndr_err_code ndr_push_netr_NetrEnumerateTrustedDomainsEx(struct ndr_push *ndr, int flags, const struct netr_NetrEnumerateTrustedDomainsEx *r)
13466 if (flags & NDR_IN) {
13467 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
13468 if (r->in.server_name) {
13469 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13470 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13471 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13472 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));
13475 if (flags & NDR_OUT) {
13476 if (r->out.dom_trust_list == NULL) {
13477 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13479 NDR_CHECK(ndr_push_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.dom_trust_list));
13480 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13482 return NDR_ERR_SUCCESS;
13485 static enum ndr_err_code ndr_pull_netr_NetrEnumerateTrustedDomainsEx(struct ndr_pull *ndr, int flags, struct netr_NetrEnumerateTrustedDomainsEx *r)
13487 uint32_t _ptr_server_name;
13488 TALLOC_CTX *_mem_save_server_name_0;
13489 TALLOC_CTX *_mem_save_dom_trust_list_0;
13490 if (flags & NDR_IN) {
13491 ZERO_STRUCT(r->out);
13493 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
13494 if (_ptr_server_name) {
13495 NDR_PULL_ALLOC(ndr, r->in.server_name);
13496 } else {
13497 r->in.server_name = NULL;
13499 if (r->in.server_name) {
13500 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13501 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
13502 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13503 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13504 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13505 return 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));
13507 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13508 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));
13509 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
13511 NDR_PULL_ALLOC(ndr, r->out.dom_trust_list);
13512 ZERO_STRUCTP(r->out.dom_trust_list);
13514 if (flags & NDR_OUT) {
13515 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13516 NDR_PULL_ALLOC(ndr, r->out.dom_trust_list);
13518 _mem_save_dom_trust_list_0 = NDR_PULL_GET_MEM_CTX(ndr);
13519 NDR_PULL_SET_MEM_CTX(ndr, r->out.dom_trust_list, LIBNDR_FLAG_REF_ALLOC);
13520 NDR_CHECK(ndr_pull_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.dom_trust_list));
13521 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dom_trust_list_0, LIBNDR_FLAG_REF_ALLOC);
13522 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13524 return NDR_ERR_SUCCESS;
13527 _PUBLIC_ void ndr_print_netr_NetrEnumerateTrustedDomainsEx(struct ndr_print *ndr, const char *name, int flags, const struct netr_NetrEnumerateTrustedDomainsEx *r)
13529 ndr_print_struct(ndr, name, "netr_NetrEnumerateTrustedDomainsEx");
13530 ndr->depth++;
13531 if (flags & NDR_SET_VALUES) {
13532 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13534 if (flags & NDR_IN) {
13535 ndr_print_struct(ndr, "in", "netr_NetrEnumerateTrustedDomainsEx");
13536 ndr->depth++;
13537 ndr_print_ptr(ndr, "server_name", r->in.server_name);
13538 ndr->depth++;
13539 if (r->in.server_name) {
13540 ndr_print_string(ndr, "server_name", r->in.server_name);
13542 ndr->depth--;
13543 ndr->depth--;
13545 if (flags & NDR_OUT) {
13546 ndr_print_struct(ndr, "out", "netr_NetrEnumerateTrustedDomainsEx");
13547 ndr->depth++;
13548 ndr_print_ptr(ndr, "dom_trust_list", r->out.dom_trust_list);
13549 ndr->depth++;
13550 ndr_print_netr_DomainTrustList(ndr, "dom_trust_list", r->out.dom_trust_list);
13551 ndr->depth--;
13552 ndr_print_WERROR(ndr, "result", r->out.result);
13553 ndr->depth--;
13555 ndr->depth--;
13558 static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesExW(struct ndr_push *ndr, int flags, const struct netr_DsRAddressToSitenamesExW *r)
13560 uint32_t cntr_addresses_1;
13561 if (flags & NDR_IN) {
13562 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
13563 if (r->in.server_name) {
13564 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13565 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13566 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13567 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));
13569 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
13570 if (r->in.addresses == NULL) {
13571 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13573 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
13574 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
13575 NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1]));
13577 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
13578 NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1]));
13581 if (flags & NDR_OUT) {
13582 if (r->out.ctr == NULL) {
13583 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13585 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.ctr));
13586 if (*r->out.ctr) {
13587 NDR_CHECK(ndr_push_netr_DsRAddressToSitenamesExWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
13589 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13591 return NDR_ERR_SUCCESS;
13594 static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesExW(struct ndr_pull *ndr, int flags, struct netr_DsRAddressToSitenamesExW *r)
13596 uint32_t _ptr_server_name;
13597 uint32_t cntr_addresses_1;
13598 uint32_t _ptr_ctr;
13599 TALLOC_CTX *_mem_save_server_name_0;
13600 TALLOC_CTX *_mem_save_addresses_1;
13601 TALLOC_CTX *_mem_save_ctr_0;
13602 TALLOC_CTX *_mem_save_ctr_1;
13603 if (flags & NDR_IN) {
13604 ZERO_STRUCT(r->out);
13606 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
13607 if (_ptr_server_name) {
13608 NDR_PULL_ALLOC(ndr, r->in.server_name);
13609 } else {
13610 r->in.server_name = NULL;
13612 if (r->in.server_name) {
13613 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13614 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
13615 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13616 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13617 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13618 return 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));
13620 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13621 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));
13622 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
13624 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
13625 if (r->in.count < 0 || r->in.count > 32000) {
13626 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
13628 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.addresses));
13629 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13630 NDR_PULL_ALLOC_N(ndr, r->in.addresses, ndr_get_array_size(ndr, &r->in.addresses));
13632 _mem_save_addresses_1 = NDR_PULL_GET_MEM_CTX(ndr);
13633 NDR_PULL_SET_MEM_CTX(ndr, r->in.addresses, 0);
13634 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
13635 NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1]));
13637 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
13638 NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1]));
13640 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_addresses_1, 0);
13641 NDR_PULL_ALLOC(ndr, r->out.ctr);
13642 ZERO_STRUCTP(r->out.ctr);
13643 if (r->in.addresses) {
13644 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.addresses, r->in.count));
13647 if (flags & NDR_OUT) {
13648 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13649 NDR_PULL_ALLOC(ndr, r->out.ctr);
13651 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
13652 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
13653 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr));
13654 if (_ptr_ctr) {
13655 NDR_PULL_ALLOC(ndr, *r->out.ctr);
13656 } else {
13657 *r->out.ctr = NULL;
13659 if (*r->out.ctr) {
13660 _mem_save_ctr_1 = NDR_PULL_GET_MEM_CTX(ndr);
13661 NDR_PULL_SET_MEM_CTX(ndr, *r->out.ctr, 0);
13662 NDR_CHECK(ndr_pull_netr_DsRAddressToSitenamesExWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
13663 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_1, 0);
13665 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
13666 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13668 return NDR_ERR_SUCCESS;
13671 _PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesExW(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRAddressToSitenamesExW *r)
13673 uint32_t cntr_addresses_1;
13674 ndr_print_struct(ndr, name, "netr_DsRAddressToSitenamesExW");
13675 ndr->depth++;
13676 if (flags & NDR_SET_VALUES) {
13677 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13679 if (flags & NDR_IN) {
13680 ndr_print_struct(ndr, "in", "netr_DsRAddressToSitenamesExW");
13681 ndr->depth++;
13682 ndr_print_ptr(ndr, "server_name", r->in.server_name);
13683 ndr->depth++;
13684 if (r->in.server_name) {
13685 ndr_print_string(ndr, "server_name", r->in.server_name);
13687 ndr->depth--;
13688 ndr_print_uint32(ndr, "count", r->in.count);
13689 ndr_print_ptr(ndr, "addresses", r->in.addresses);
13690 ndr->depth++;
13691 ndr->print(ndr, "%s: ARRAY(%d)", "addresses", (int)r->in.count);
13692 ndr->depth++;
13693 for (cntr_addresses_1=0;cntr_addresses_1<r->in.count;cntr_addresses_1++) {
13694 char *idx_1=NULL;
13695 if (asprintf(&idx_1, "[%d]", cntr_addresses_1) != -1) {
13696 ndr_print_netr_DsRAddress(ndr, "addresses", &r->in.addresses[cntr_addresses_1]);
13697 free(idx_1);
13700 ndr->depth--;
13701 ndr->depth--;
13702 ndr->depth--;
13704 if (flags & NDR_OUT) {
13705 ndr_print_struct(ndr, "out", "netr_DsRAddressToSitenamesExW");
13706 ndr->depth++;
13707 ndr_print_ptr(ndr, "ctr", r->out.ctr);
13708 ndr->depth++;
13709 ndr_print_ptr(ndr, "ctr", *r->out.ctr);
13710 ndr->depth++;
13711 if (*r->out.ctr) {
13712 ndr_print_netr_DsRAddressToSitenamesExWCtr(ndr, "ctr", *r->out.ctr);
13714 ndr->depth--;
13715 ndr->depth--;
13716 ndr_print_WERROR(ndr, "result", r->out.result);
13717 ndr->depth--;
13719 ndr->depth--;
13722 static enum ndr_err_code ndr_push_netr_DsrGetDcSiteCoverageW(struct ndr_push *ndr, int flags, const struct netr_DsrGetDcSiteCoverageW *r)
13724 if (flags & NDR_IN) {
13725 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
13726 if (r->in.server_name) {
13727 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_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.server_name, CH_UTF16)));
13730 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));
13733 if (flags & NDR_OUT) {
13734 if (r->out.ctr == NULL) {
13735 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13737 NDR_CHECK(ndr_push_DcSitesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
13738 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13740 return NDR_ERR_SUCCESS;
13743 static enum ndr_err_code ndr_pull_netr_DsrGetDcSiteCoverageW(struct ndr_pull *ndr, int flags, struct netr_DsrGetDcSiteCoverageW *r)
13745 uint32_t _ptr_server_name;
13746 TALLOC_CTX *_mem_save_server_name_0;
13747 TALLOC_CTX *_mem_save_ctr_0;
13748 if (flags & NDR_IN) {
13749 ZERO_STRUCT(r->out);
13751 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
13752 if (_ptr_server_name) {
13753 NDR_PULL_ALLOC(ndr, r->in.server_name);
13754 } else {
13755 r->in.server_name = NULL;
13757 if (r->in.server_name) {
13758 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13759 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
13760 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13761 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13762 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13763 return 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));
13765 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13766 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));
13767 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
13769 NDR_PULL_ALLOC(ndr, r->out.ctr);
13770 ZERO_STRUCTP(r->out.ctr);
13772 if (flags & NDR_OUT) {
13773 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13774 NDR_PULL_ALLOC(ndr, r->out.ctr);
13776 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
13777 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
13778 NDR_CHECK(ndr_pull_DcSitesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
13779 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
13780 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13782 return NDR_ERR_SUCCESS;
13785 _PUBLIC_ void ndr_print_netr_DsrGetDcSiteCoverageW(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsrGetDcSiteCoverageW *r)
13787 ndr_print_struct(ndr, name, "netr_DsrGetDcSiteCoverageW");
13788 ndr->depth++;
13789 if (flags & NDR_SET_VALUES) {
13790 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13792 if (flags & NDR_IN) {
13793 ndr_print_struct(ndr, "in", "netr_DsrGetDcSiteCoverageW");
13794 ndr->depth++;
13795 ndr_print_ptr(ndr, "server_name", r->in.server_name);
13796 ndr->depth++;
13797 if (r->in.server_name) {
13798 ndr_print_string(ndr, "server_name", r->in.server_name);
13800 ndr->depth--;
13801 ndr->depth--;
13803 if (flags & NDR_OUT) {
13804 ndr_print_struct(ndr, "out", "netr_DsrGetDcSiteCoverageW");
13805 ndr->depth++;
13806 ndr_print_ptr(ndr, "ctr", r->out.ctr);
13807 ndr->depth++;
13808 ndr_print_DcSitesCtr(ndr, "ctr", r->out.ctr);
13809 ndr->depth--;
13810 ndr_print_WERROR(ndr, "result", r->out.result);
13811 ndr->depth--;
13813 ndr->depth--;
13816 static enum ndr_err_code ndr_push_netr_LogonSamLogonEx(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogonEx *r)
13818 if (flags & NDR_IN) {
13819 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
13820 if (r->in.server_name) {
13821 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13822 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13823 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13824 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));
13826 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
13827 if (r->in.computer_name) {
13828 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13829 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13830 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13831 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));
13833 NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS, r->in.logon_level));
13834 if (r->in.logon == NULL) {
13835 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13837 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.logon, r->in.logon_level));
13838 NDR_CHECK(ndr_push_netr_LogonInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
13839 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.validation_level));
13840 if (r->in.flags == NULL) {
13841 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13843 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.flags));
13845 if (flags & NDR_OUT) {
13846 if (r->out.validation == NULL) {
13847 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13849 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.validation, r->in.validation_level));
13850 NDR_CHECK(ndr_push_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
13851 if (r->out.authoritative == NULL) {
13852 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13854 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, *r->out.authoritative));
13855 if (r->out.flags == NULL) {
13856 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13858 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.flags));
13859 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
13861 return NDR_ERR_SUCCESS;
13864 static enum ndr_err_code ndr_pull_netr_LogonSamLogonEx(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogonEx *r)
13866 uint32_t _ptr_server_name;
13867 uint32_t _ptr_computer_name;
13868 TALLOC_CTX *_mem_save_server_name_0;
13869 TALLOC_CTX *_mem_save_computer_name_0;
13870 TALLOC_CTX *_mem_save_logon_0;
13871 TALLOC_CTX *_mem_save_validation_0;
13872 TALLOC_CTX *_mem_save_authoritative_0;
13873 TALLOC_CTX *_mem_save_flags_0;
13874 if (flags & NDR_IN) {
13875 ZERO_STRUCT(r->out);
13877 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
13878 if (_ptr_server_name) {
13879 NDR_PULL_ALLOC(ndr, r->in.server_name);
13880 } else {
13881 r->in.server_name = NULL;
13883 if (r->in.server_name) {
13884 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13885 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
13886 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13887 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13888 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13889 return 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));
13891 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13892 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));
13893 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
13895 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
13896 if (_ptr_computer_name) {
13897 NDR_PULL_ALLOC(ndr, r->in.computer_name);
13898 } else {
13899 r->in.computer_name = NULL;
13901 if (r->in.computer_name) {
13902 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13903 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
13904 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
13905 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
13906 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
13907 return 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));
13909 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
13910 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));
13911 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
13913 NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS, &r->in.logon_level));
13914 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13915 NDR_PULL_ALLOC(ndr, r->in.logon);
13917 _mem_save_logon_0 = NDR_PULL_GET_MEM_CTX(ndr);
13918 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon, LIBNDR_FLAG_REF_ALLOC);
13919 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.logon, r->in.logon_level));
13920 NDR_CHECK(ndr_pull_netr_LogonInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
13921 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_0, LIBNDR_FLAG_REF_ALLOC);
13922 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.validation_level));
13923 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13924 NDR_PULL_ALLOC(ndr, r->in.flags);
13926 _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
13927 NDR_PULL_SET_MEM_CTX(ndr, r->in.flags, LIBNDR_FLAG_REF_ALLOC);
13928 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.flags));
13929 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
13930 NDR_PULL_ALLOC(ndr, r->out.validation);
13931 ZERO_STRUCTP(r->out.validation);
13932 NDR_PULL_ALLOC(ndr, r->out.authoritative);
13933 ZERO_STRUCTP(r->out.authoritative);
13934 NDR_PULL_ALLOC(ndr, r->out.flags);
13935 *r->out.flags = *r->in.flags;
13937 if (flags & NDR_OUT) {
13938 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13939 NDR_PULL_ALLOC(ndr, r->out.validation);
13941 _mem_save_validation_0 = NDR_PULL_GET_MEM_CTX(ndr);
13942 NDR_PULL_SET_MEM_CTX(ndr, r->out.validation, LIBNDR_FLAG_REF_ALLOC);
13943 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.validation, r->in.validation_level));
13944 NDR_CHECK(ndr_pull_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
13945 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_validation_0, LIBNDR_FLAG_REF_ALLOC);
13946 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13947 NDR_PULL_ALLOC(ndr, r->out.authoritative);
13949 _mem_save_authoritative_0 = NDR_PULL_GET_MEM_CTX(ndr);
13950 NDR_PULL_SET_MEM_CTX(ndr, r->out.authoritative, LIBNDR_FLAG_REF_ALLOC);
13951 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, r->out.authoritative));
13952 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_authoritative_0, LIBNDR_FLAG_REF_ALLOC);
13953 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13954 NDR_PULL_ALLOC(ndr, r->out.flags);
13956 _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
13957 NDR_PULL_SET_MEM_CTX(ndr, r->out.flags, LIBNDR_FLAG_REF_ALLOC);
13958 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.flags));
13959 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
13960 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
13962 return NDR_ERR_SUCCESS;
13965 _PUBLIC_ void ndr_print_netr_LogonSamLogonEx(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogonEx *r)
13967 ndr_print_struct(ndr, name, "netr_LogonSamLogonEx");
13968 ndr->depth++;
13969 if (flags & NDR_SET_VALUES) {
13970 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13972 if (flags & NDR_IN) {
13973 ndr_print_struct(ndr, "in", "netr_LogonSamLogonEx");
13974 ndr->depth++;
13975 ndr_print_ptr(ndr, "server_name", r->in.server_name);
13976 ndr->depth++;
13977 if (r->in.server_name) {
13978 ndr_print_string(ndr, "server_name", r->in.server_name);
13980 ndr->depth--;
13981 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
13982 ndr->depth++;
13983 if (r->in.computer_name) {
13984 ndr_print_string(ndr, "computer_name", r->in.computer_name);
13986 ndr->depth--;
13987 ndr_print_netr_LogonLevel(ndr, "logon_level", r->in.logon_level);
13988 ndr_print_ptr(ndr, "logon", r->in.logon);
13989 ndr->depth++;
13990 ndr_print_set_switch_value(ndr, r->in.logon, r->in.logon_level);
13991 ndr_print_netr_LogonInfo(ndr, "logon", r->in.logon);
13992 ndr->depth--;
13993 ndr_print_uint16(ndr, "validation_level", r->in.validation_level);
13994 ndr_print_ptr(ndr, "flags", r->in.flags);
13995 ndr->depth++;
13996 ndr_print_uint32(ndr, "flags", *r->in.flags);
13997 ndr->depth--;
13998 ndr->depth--;
14000 if (flags & NDR_OUT) {
14001 ndr_print_struct(ndr, "out", "netr_LogonSamLogonEx");
14002 ndr->depth++;
14003 ndr_print_ptr(ndr, "validation", r->out.validation);
14004 ndr->depth++;
14005 ndr_print_set_switch_value(ndr, r->out.validation, r->in.validation_level);
14006 ndr_print_netr_Validation(ndr, "validation", r->out.validation);
14007 ndr->depth--;
14008 ndr_print_ptr(ndr, "authoritative", r->out.authoritative);
14009 ndr->depth++;
14010 ndr_print_uint8(ndr, "authoritative", *r->out.authoritative);
14011 ndr->depth--;
14012 ndr_print_ptr(ndr, "flags", r->out.flags);
14013 ndr->depth++;
14014 ndr_print_uint32(ndr, "flags", *r->out.flags);
14015 ndr->depth--;
14016 ndr_print_NTSTATUS(ndr, "result", r->out.result);
14017 ndr->depth--;
14019 ndr->depth--;
14022 static enum ndr_err_code ndr_push_netr_DsrEnumerateDomainTrusts(struct ndr_push *ndr, int flags, const struct netr_DsrEnumerateDomainTrusts *r)
14024 if (flags & NDR_IN) {
14025 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
14026 if (r->in.server_name) {
14027 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14028 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14029 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14030 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));
14032 NDR_CHECK(ndr_push_netr_TrustFlags(ndr, NDR_SCALARS, r->in.trust_flags));
14034 if (flags & NDR_OUT) {
14035 if (r->out.trusts == NULL) {
14036 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14038 NDR_CHECK(ndr_push_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusts));
14039 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14041 return NDR_ERR_SUCCESS;
14044 static enum ndr_err_code ndr_pull_netr_DsrEnumerateDomainTrusts(struct ndr_pull *ndr, int flags, struct netr_DsrEnumerateDomainTrusts *r)
14046 uint32_t _ptr_server_name;
14047 TALLOC_CTX *_mem_save_server_name_0;
14048 TALLOC_CTX *_mem_save_trusts_0;
14049 if (flags & NDR_IN) {
14050 ZERO_STRUCT(r->out);
14052 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
14053 if (_ptr_server_name) {
14054 NDR_PULL_ALLOC(ndr, r->in.server_name);
14055 } else {
14056 r->in.server_name = NULL;
14058 if (r->in.server_name) {
14059 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14060 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
14061 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
14062 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
14063 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
14064 return 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));
14066 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
14067 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));
14068 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
14070 NDR_CHECK(ndr_pull_netr_TrustFlags(ndr, NDR_SCALARS, &r->in.trust_flags));
14071 NDR_PULL_ALLOC(ndr, r->out.trusts);
14072 ZERO_STRUCTP(r->out.trusts);
14074 if (flags & NDR_OUT) {
14075 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14076 NDR_PULL_ALLOC(ndr, r->out.trusts);
14078 _mem_save_trusts_0 = NDR_PULL_GET_MEM_CTX(ndr);
14079 NDR_PULL_SET_MEM_CTX(ndr, r->out.trusts, LIBNDR_FLAG_REF_ALLOC);
14080 NDR_CHECK(ndr_pull_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusts));
14081 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusts_0, LIBNDR_FLAG_REF_ALLOC);
14082 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14084 return NDR_ERR_SUCCESS;
14087 _PUBLIC_ void ndr_print_netr_DsrEnumerateDomainTrusts(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsrEnumerateDomainTrusts *r)
14089 ndr_print_struct(ndr, name, "netr_DsrEnumerateDomainTrusts");
14090 ndr->depth++;
14091 if (flags & NDR_SET_VALUES) {
14092 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14094 if (flags & NDR_IN) {
14095 ndr_print_struct(ndr, "in", "netr_DsrEnumerateDomainTrusts");
14096 ndr->depth++;
14097 ndr_print_ptr(ndr, "server_name", r->in.server_name);
14098 ndr->depth++;
14099 if (r->in.server_name) {
14100 ndr_print_string(ndr, "server_name", r->in.server_name);
14102 ndr->depth--;
14103 ndr_print_netr_TrustFlags(ndr, "trust_flags", r->in.trust_flags);
14104 ndr->depth--;
14106 if (flags & NDR_OUT) {
14107 ndr_print_struct(ndr, "out", "netr_DsrEnumerateDomainTrusts");
14108 ndr->depth++;
14109 ndr_print_ptr(ndr, "trusts", r->out.trusts);
14110 ndr->depth++;
14111 ndr_print_netr_DomainTrustList(ndr, "trusts", r->out.trusts);
14112 ndr->depth--;
14113 ndr_print_WERROR(ndr, "result", r->out.result);
14114 ndr->depth--;
14116 ndr->depth--;
14119 static enum ndr_err_code ndr_push_netr_DsrDeregisterDNSHostRecords(struct ndr_push *ndr, int flags, const struct netr_DsrDeregisterDNSHostRecords *r)
14121 if (flags & NDR_IN) {
14122 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
14123 if (r->in.server_name) {
14124 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14125 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14126 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14127 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));
14129 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain));
14130 if (r->in.domain) {
14131 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain, CH_UTF16)));
14132 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14133 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain, CH_UTF16)));
14134 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domain, ndr_charset_length(r->in.domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
14136 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
14137 if (r->in.domain_guid) {
14138 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
14140 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.dsa_guid));
14141 if (r->in.dsa_guid) {
14142 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.dsa_guid));
14144 if (r->in.dns_host == NULL) {
14145 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14147 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.dns_host, CH_UTF16)));
14148 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14149 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.dns_host, CH_UTF16)));
14150 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));
14152 if (flags & NDR_OUT) {
14153 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14155 return NDR_ERR_SUCCESS;
14158 static enum ndr_err_code ndr_pull_netr_DsrDeregisterDNSHostRecords(struct ndr_pull *ndr, int flags, struct netr_DsrDeregisterDNSHostRecords *r)
14160 uint32_t _ptr_server_name;
14161 uint32_t _ptr_domain;
14162 uint32_t _ptr_domain_guid;
14163 uint32_t _ptr_dsa_guid;
14164 TALLOC_CTX *_mem_save_server_name_0;
14165 TALLOC_CTX *_mem_save_domain_0;
14166 TALLOC_CTX *_mem_save_domain_guid_0;
14167 TALLOC_CTX *_mem_save_dsa_guid_0;
14168 if (flags & NDR_IN) {
14169 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
14170 if (_ptr_server_name) {
14171 NDR_PULL_ALLOC(ndr, r->in.server_name);
14172 } else {
14173 r->in.server_name = NULL;
14175 if (r->in.server_name) {
14176 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14177 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
14178 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
14179 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
14180 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
14181 return 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));
14183 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
14184 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));
14185 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
14187 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
14188 if (_ptr_domain) {
14189 NDR_PULL_ALLOC(ndr, r->in.domain);
14190 } else {
14191 r->in.domain = NULL;
14193 if (r->in.domain) {
14194 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
14195 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain, 0);
14196 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain));
14197 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain));
14198 if (ndr_get_array_length(ndr, &r->in.domain) > ndr_get_array_size(ndr, &r->in.domain)) {
14199 return 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));
14201 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain), sizeof(uint16_t)));
14202 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain, ndr_get_array_length(ndr, &r->in.domain), sizeof(uint16_t), CH_UTF16));
14203 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
14205 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
14206 if (_ptr_domain_guid) {
14207 NDR_PULL_ALLOC(ndr, r->in.domain_guid);
14208 } else {
14209 r->in.domain_guid = NULL;
14211 if (r->in.domain_guid) {
14212 _mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
14213 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
14214 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
14215 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
14217 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dsa_guid));
14218 if (_ptr_dsa_guid) {
14219 NDR_PULL_ALLOC(ndr, r->in.dsa_guid);
14220 } else {
14221 r->in.dsa_guid = NULL;
14223 if (r->in.dsa_guid) {
14224 _mem_save_dsa_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
14225 NDR_PULL_SET_MEM_CTX(ndr, r->in.dsa_guid, 0);
14226 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.dsa_guid));
14227 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dsa_guid_0, 0);
14229 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.dns_host));
14230 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.dns_host));
14231 if (ndr_get_array_length(ndr, &r->in.dns_host) > ndr_get_array_size(ndr, &r->in.dns_host)) {
14232 return 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));
14234 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.dns_host), sizeof(uint16_t)));
14235 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));
14237 if (flags & NDR_OUT) {
14238 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14240 return NDR_ERR_SUCCESS;
14243 _PUBLIC_ void ndr_print_netr_DsrDeregisterDNSHostRecords(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsrDeregisterDNSHostRecords *r)
14245 ndr_print_struct(ndr, name, "netr_DsrDeregisterDNSHostRecords");
14246 ndr->depth++;
14247 if (flags & NDR_SET_VALUES) {
14248 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14250 if (flags & NDR_IN) {
14251 ndr_print_struct(ndr, "in", "netr_DsrDeregisterDNSHostRecords");
14252 ndr->depth++;
14253 ndr_print_ptr(ndr, "server_name", r->in.server_name);
14254 ndr->depth++;
14255 if (r->in.server_name) {
14256 ndr_print_string(ndr, "server_name", r->in.server_name);
14258 ndr->depth--;
14259 ndr_print_ptr(ndr, "domain", r->in.domain);
14260 ndr->depth++;
14261 if (r->in.domain) {
14262 ndr_print_string(ndr, "domain", r->in.domain);
14264 ndr->depth--;
14265 ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
14266 ndr->depth++;
14267 if (r->in.domain_guid) {
14268 ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
14270 ndr->depth--;
14271 ndr_print_ptr(ndr, "dsa_guid", r->in.dsa_guid);
14272 ndr->depth++;
14273 if (r->in.dsa_guid) {
14274 ndr_print_GUID(ndr, "dsa_guid", r->in.dsa_guid);
14276 ndr->depth--;
14277 ndr_print_ptr(ndr, "dns_host", r->in.dns_host);
14278 ndr->depth++;
14279 ndr_print_string(ndr, "dns_host", r->in.dns_host);
14280 ndr->depth--;
14281 ndr->depth--;
14283 if (flags & NDR_OUT) {
14284 ndr_print_struct(ndr, "out", "netr_DsrDeregisterDNSHostRecords");
14285 ndr->depth++;
14286 ndr_print_WERROR(ndr, "result", r->out.result);
14287 ndr->depth--;
14289 ndr->depth--;
14292 static enum ndr_err_code ndr_push_netr_ServerTrustPasswordsGet(struct ndr_push *ndr, int flags, const struct netr_ServerTrustPasswordsGet *r)
14294 if (flags & NDR_IN) {
14295 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
14296 if (r->in.server_name) {
14297 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14298 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14299 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14300 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));
14302 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
14303 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14304 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
14305 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));
14306 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
14307 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
14308 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14309 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
14310 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));
14311 if (r->in.credential == NULL) {
14312 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14314 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
14316 if (flags & NDR_OUT) {
14317 if (r->out.return_authenticator == NULL) {
14318 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14320 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
14321 if (r->out.password == NULL) {
14322 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14324 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->out.password));
14325 if (r->out.password2 == NULL) {
14326 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14328 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->out.password2));
14329 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
14331 return NDR_ERR_SUCCESS;
14334 static enum ndr_err_code ndr_pull_netr_ServerTrustPasswordsGet(struct ndr_pull *ndr, int flags, struct netr_ServerTrustPasswordsGet *r)
14336 uint32_t _ptr_server_name;
14337 TALLOC_CTX *_mem_save_server_name_0;
14338 TALLOC_CTX *_mem_save_credential_0;
14339 TALLOC_CTX *_mem_save_return_authenticator_0;
14340 TALLOC_CTX *_mem_save_password_0;
14341 TALLOC_CTX *_mem_save_password2_0;
14342 if (flags & NDR_IN) {
14343 ZERO_STRUCT(r->out);
14345 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
14346 if (_ptr_server_name) {
14347 NDR_PULL_ALLOC(ndr, r->in.server_name);
14348 } else {
14349 r->in.server_name = NULL;
14351 if (r->in.server_name) {
14352 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14353 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
14354 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
14355 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
14356 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
14357 return 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));
14359 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
14360 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));
14361 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
14363 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
14364 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
14365 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
14366 return 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));
14368 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
14369 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));
14370 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
14371 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
14372 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
14373 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
14374 return 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));
14376 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
14377 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));
14378 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14379 NDR_PULL_ALLOC(ndr, r->in.credential);
14381 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
14382 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
14383 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
14384 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
14385 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
14386 ZERO_STRUCTP(r->out.return_authenticator);
14387 NDR_PULL_ALLOC(ndr, r->out.password);
14388 ZERO_STRUCTP(r->out.password);
14389 NDR_PULL_ALLOC(ndr, r->out.password2);
14390 ZERO_STRUCTP(r->out.password2);
14392 if (flags & NDR_OUT) {
14393 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14394 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
14396 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
14397 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
14398 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
14399 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
14400 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14401 NDR_PULL_ALLOC(ndr, r->out.password);
14403 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
14404 NDR_PULL_SET_MEM_CTX(ndr, r->out.password, LIBNDR_FLAG_REF_ALLOC);
14405 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->out.password));
14406 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, LIBNDR_FLAG_REF_ALLOC);
14407 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14408 NDR_PULL_ALLOC(ndr, r->out.password2);
14410 _mem_save_password2_0 = NDR_PULL_GET_MEM_CTX(ndr);
14411 NDR_PULL_SET_MEM_CTX(ndr, r->out.password2, LIBNDR_FLAG_REF_ALLOC);
14412 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->out.password2));
14413 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password2_0, LIBNDR_FLAG_REF_ALLOC);
14414 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
14416 return NDR_ERR_SUCCESS;
14419 _PUBLIC_ void ndr_print_netr_ServerTrustPasswordsGet(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerTrustPasswordsGet *r)
14421 ndr_print_struct(ndr, name, "netr_ServerTrustPasswordsGet");
14422 ndr->depth++;
14423 if (flags & NDR_SET_VALUES) {
14424 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14426 if (flags & NDR_IN) {
14427 ndr_print_struct(ndr, "in", "netr_ServerTrustPasswordsGet");
14428 ndr->depth++;
14429 ndr_print_ptr(ndr, "server_name", r->in.server_name);
14430 ndr->depth++;
14431 if (r->in.server_name) {
14432 ndr_print_string(ndr, "server_name", r->in.server_name);
14434 ndr->depth--;
14435 ndr_print_string(ndr, "account_name", r->in.account_name);
14436 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
14437 ndr_print_string(ndr, "computer_name", r->in.computer_name);
14438 ndr_print_ptr(ndr, "credential", r->in.credential);
14439 ndr->depth++;
14440 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
14441 ndr->depth--;
14442 ndr->depth--;
14444 if (flags & NDR_OUT) {
14445 ndr_print_struct(ndr, "out", "netr_ServerTrustPasswordsGet");
14446 ndr->depth++;
14447 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
14448 ndr->depth++;
14449 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
14450 ndr->depth--;
14451 ndr_print_ptr(ndr, "password", r->out.password);
14452 ndr->depth++;
14453 ndr_print_samr_Password(ndr, "password", r->out.password);
14454 ndr->depth--;
14455 ndr_print_ptr(ndr, "password2", r->out.password2);
14456 ndr->depth++;
14457 ndr_print_samr_Password(ndr, "password2", r->out.password2);
14458 ndr->depth--;
14459 ndr_print_NTSTATUS(ndr, "result", r->out.result);
14460 ndr->depth--;
14462 ndr->depth--;
14465 static enum ndr_err_code ndr_push_netr_DsRGetForestTrustInformation(struct ndr_push *ndr, int flags, const struct netr_DsRGetForestTrustInformation *r)
14467 if (flags & NDR_IN) {
14468 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
14469 if (r->in.server_name) {
14470 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14471 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14472 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14473 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));
14475 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.trusted_domain_name));
14476 if (r->in.trusted_domain_name) {
14477 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16)));
14478 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14479 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16)));
14480 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));
14482 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags));
14484 if (flags & NDR_OUT) {
14485 if (r->out.forest_trust_info == NULL) {
14486 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14488 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.forest_trust_info));
14489 if (*r->out.forest_trust_info) {
14490 NDR_CHECK(ndr_push_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
14492 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14494 return NDR_ERR_SUCCESS;
14497 static enum ndr_err_code ndr_pull_netr_DsRGetForestTrustInformation(struct ndr_pull *ndr, int flags, struct netr_DsRGetForestTrustInformation *r)
14499 uint32_t _ptr_server_name;
14500 uint32_t _ptr_trusted_domain_name;
14501 uint32_t _ptr_forest_trust_info;
14502 TALLOC_CTX *_mem_save_server_name_0;
14503 TALLOC_CTX *_mem_save_trusted_domain_name_0;
14504 TALLOC_CTX *_mem_save_forest_trust_info_0;
14505 TALLOC_CTX *_mem_save_forest_trust_info_1;
14506 if (flags & NDR_IN) {
14507 ZERO_STRUCT(r->out);
14509 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
14510 if (_ptr_server_name) {
14511 NDR_PULL_ALLOC(ndr, r->in.server_name);
14512 } else {
14513 r->in.server_name = NULL;
14515 if (r->in.server_name) {
14516 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14517 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
14518 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
14519 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
14520 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
14521 return 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));
14523 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
14524 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));
14525 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
14527 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_domain_name));
14528 if (_ptr_trusted_domain_name) {
14529 NDR_PULL_ALLOC(ndr, r->in.trusted_domain_name);
14530 } else {
14531 r->in.trusted_domain_name = NULL;
14533 if (r->in.trusted_domain_name) {
14534 _mem_save_trusted_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14535 NDR_PULL_SET_MEM_CTX(ndr, r->in.trusted_domain_name, 0);
14536 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.trusted_domain_name));
14537 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.trusted_domain_name));
14538 if (ndr_get_array_length(ndr, &r->in.trusted_domain_name) > ndr_get_array_size(ndr, &r->in.trusted_domain_name)) {
14539 return 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));
14541 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.trusted_domain_name), sizeof(uint16_t)));
14542 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));
14543 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domain_name_0, 0);
14545 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
14546 NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
14547 ZERO_STRUCTP(r->out.forest_trust_info);
14549 if (flags & NDR_OUT) {
14550 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14551 NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
14553 _mem_save_forest_trust_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
14554 NDR_PULL_SET_MEM_CTX(ndr, r->out.forest_trust_info, LIBNDR_FLAG_REF_ALLOC);
14555 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_forest_trust_info));
14556 if (_ptr_forest_trust_info) {
14557 NDR_PULL_ALLOC(ndr, *r->out.forest_trust_info);
14558 } else {
14559 *r->out.forest_trust_info = NULL;
14561 if (*r->out.forest_trust_info) {
14562 _mem_save_forest_trust_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
14563 NDR_PULL_SET_MEM_CTX(ndr, *r->out.forest_trust_info, 0);
14564 NDR_CHECK(ndr_pull_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
14565 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_1, 0);
14567 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_0, LIBNDR_FLAG_REF_ALLOC);
14568 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14570 return NDR_ERR_SUCCESS;
14573 _PUBLIC_ void ndr_print_netr_DsRGetForestTrustInformation(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetForestTrustInformation *r)
14575 ndr_print_struct(ndr, name, "netr_DsRGetForestTrustInformation");
14576 ndr->depth++;
14577 if (flags & NDR_SET_VALUES) {
14578 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14580 if (flags & NDR_IN) {
14581 ndr_print_struct(ndr, "in", "netr_DsRGetForestTrustInformation");
14582 ndr->depth++;
14583 ndr_print_ptr(ndr, "server_name", r->in.server_name);
14584 ndr->depth++;
14585 if (r->in.server_name) {
14586 ndr_print_string(ndr, "server_name", r->in.server_name);
14588 ndr->depth--;
14589 ndr_print_ptr(ndr, "trusted_domain_name", r->in.trusted_domain_name);
14590 ndr->depth++;
14591 if (r->in.trusted_domain_name) {
14592 ndr_print_string(ndr, "trusted_domain_name", r->in.trusted_domain_name);
14594 ndr->depth--;
14595 ndr_print_uint32(ndr, "flags", r->in.flags);
14596 ndr->depth--;
14598 if (flags & NDR_OUT) {
14599 ndr_print_struct(ndr, "out", "netr_DsRGetForestTrustInformation");
14600 ndr->depth++;
14601 ndr_print_ptr(ndr, "forest_trust_info", r->out.forest_trust_info);
14602 ndr->depth++;
14603 ndr_print_ptr(ndr, "forest_trust_info", *r->out.forest_trust_info);
14604 ndr->depth++;
14605 if (*r->out.forest_trust_info) {
14606 ndr_print_lsa_ForestTrustInformation(ndr, "forest_trust_info", *r->out.forest_trust_info);
14608 ndr->depth--;
14609 ndr->depth--;
14610 ndr_print_WERROR(ndr, "result", r->out.result);
14611 ndr->depth--;
14613 ndr->depth--;
14616 static enum ndr_err_code ndr_push_netr_GetForestTrustInformation(struct ndr_push *ndr, int flags, const struct netr_GetForestTrustInformation *r)
14618 if (flags & NDR_IN) {
14619 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
14620 if (r->in.server_name) {
14621 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14622 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14623 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14624 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));
14626 if (r->in.trusted_domain_name == NULL) {
14627 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14629 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16)));
14630 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14631 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16)));
14632 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));
14633 if (r->in.credential == NULL) {
14634 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14636 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
14637 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags));
14639 if (flags & NDR_OUT) {
14640 if (r->out.return_authenticator == NULL) {
14641 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14643 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
14644 if (r->out.forest_trust_info == NULL) {
14645 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14647 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.forest_trust_info));
14648 if (*r->out.forest_trust_info) {
14649 NDR_CHECK(ndr_push_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
14651 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14653 return NDR_ERR_SUCCESS;
14656 static enum ndr_err_code ndr_pull_netr_GetForestTrustInformation(struct ndr_pull *ndr, int flags, struct netr_GetForestTrustInformation *r)
14658 uint32_t _ptr_server_name;
14659 uint32_t _ptr_forest_trust_info;
14660 TALLOC_CTX *_mem_save_server_name_0;
14661 TALLOC_CTX *_mem_save_credential_0;
14662 TALLOC_CTX *_mem_save_return_authenticator_0;
14663 TALLOC_CTX *_mem_save_forest_trust_info_0;
14664 TALLOC_CTX *_mem_save_forest_trust_info_1;
14665 if (flags & NDR_IN) {
14666 ZERO_STRUCT(r->out);
14668 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
14669 if (_ptr_server_name) {
14670 NDR_PULL_ALLOC(ndr, r->in.server_name);
14671 } else {
14672 r->in.server_name = NULL;
14674 if (r->in.server_name) {
14675 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14676 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
14677 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
14678 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
14679 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
14680 return 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));
14682 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
14683 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));
14684 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
14686 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.trusted_domain_name));
14687 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.trusted_domain_name));
14688 if (ndr_get_array_length(ndr, &r->in.trusted_domain_name) > ndr_get_array_size(ndr, &r->in.trusted_domain_name)) {
14689 return 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));
14691 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.trusted_domain_name), sizeof(uint16_t)));
14692 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));
14693 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14694 NDR_PULL_ALLOC(ndr, r->in.credential);
14696 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
14697 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
14698 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
14699 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
14700 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
14701 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
14702 ZERO_STRUCTP(r->out.return_authenticator);
14703 NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
14704 ZERO_STRUCTP(r->out.forest_trust_info);
14706 if (flags & NDR_OUT) {
14707 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14708 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
14710 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
14711 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
14712 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
14713 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
14714 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14715 NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
14717 _mem_save_forest_trust_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
14718 NDR_PULL_SET_MEM_CTX(ndr, r->out.forest_trust_info, LIBNDR_FLAG_REF_ALLOC);
14719 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_forest_trust_info));
14720 if (_ptr_forest_trust_info) {
14721 NDR_PULL_ALLOC(ndr, *r->out.forest_trust_info);
14722 } else {
14723 *r->out.forest_trust_info = NULL;
14725 if (*r->out.forest_trust_info) {
14726 _mem_save_forest_trust_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
14727 NDR_PULL_SET_MEM_CTX(ndr, *r->out.forest_trust_info, 0);
14728 NDR_CHECK(ndr_pull_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
14729 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_1, 0);
14731 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_0, LIBNDR_FLAG_REF_ALLOC);
14732 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14734 return NDR_ERR_SUCCESS;
14737 _PUBLIC_ void ndr_print_netr_GetForestTrustInformation(struct ndr_print *ndr, const char *name, int flags, const struct netr_GetForestTrustInformation *r)
14739 ndr_print_struct(ndr, name, "netr_GetForestTrustInformation");
14740 ndr->depth++;
14741 if (flags & NDR_SET_VALUES) {
14742 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14744 if (flags & NDR_IN) {
14745 ndr_print_struct(ndr, "in", "netr_GetForestTrustInformation");
14746 ndr->depth++;
14747 ndr_print_ptr(ndr, "server_name", r->in.server_name);
14748 ndr->depth++;
14749 if (r->in.server_name) {
14750 ndr_print_string(ndr, "server_name", r->in.server_name);
14752 ndr->depth--;
14753 ndr_print_ptr(ndr, "trusted_domain_name", r->in.trusted_domain_name);
14754 ndr->depth++;
14755 ndr_print_string(ndr, "trusted_domain_name", r->in.trusted_domain_name);
14756 ndr->depth--;
14757 ndr_print_ptr(ndr, "credential", r->in.credential);
14758 ndr->depth++;
14759 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
14760 ndr->depth--;
14761 ndr_print_uint32(ndr, "flags", r->in.flags);
14762 ndr->depth--;
14764 if (flags & NDR_OUT) {
14765 ndr_print_struct(ndr, "out", "netr_GetForestTrustInformation");
14766 ndr->depth++;
14767 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
14768 ndr->depth++;
14769 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
14770 ndr->depth--;
14771 ndr_print_ptr(ndr, "forest_trust_info", r->out.forest_trust_info);
14772 ndr->depth++;
14773 ndr_print_ptr(ndr, "forest_trust_info", *r->out.forest_trust_info);
14774 ndr->depth++;
14775 if (*r->out.forest_trust_info) {
14776 ndr_print_lsa_ForestTrustInformation(ndr, "forest_trust_info", *r->out.forest_trust_info);
14778 ndr->depth--;
14779 ndr->depth--;
14780 ndr_print_WERROR(ndr, "result", r->out.result);
14781 ndr->depth--;
14783 ndr->depth--;
14786 static enum ndr_err_code ndr_push_netr_LogonSamLogonWithFlags(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogonWithFlags *r)
14788 if (flags & NDR_IN) {
14789 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
14790 if (r->in.server_name) {
14791 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14792 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14793 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14794 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));
14796 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
14797 if (r->in.computer_name) {
14798 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
14799 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14800 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
14801 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));
14803 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.credential));
14804 if (r->in.credential) {
14805 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
14807 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.return_authenticator));
14808 if (r->in.return_authenticator) {
14809 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
14811 NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS, r->in.logon_level));
14812 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.logon, r->in.logon_level));
14813 NDR_CHECK(ndr_push_netr_LogonInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon));
14814 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.validation_level));
14815 if (r->in.flags == NULL) {
14816 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14818 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.flags));
14820 if (flags & NDR_OUT) {
14821 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.return_authenticator));
14822 if (r->out.return_authenticator) {
14823 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
14825 if (r->out.validation == NULL) {
14826 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14828 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.validation, r->in.validation_level));
14829 NDR_CHECK(ndr_push_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
14830 if (r->out.authoritative == NULL) {
14831 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14833 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, *r->out.authoritative));
14834 if (r->out.flags == NULL) {
14835 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14837 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.flags));
14838 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
14840 return NDR_ERR_SUCCESS;
14843 static enum ndr_err_code ndr_pull_netr_LogonSamLogonWithFlags(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogonWithFlags *r)
14845 uint32_t _ptr_server_name;
14846 uint32_t _ptr_computer_name;
14847 uint32_t _ptr_credential;
14848 uint32_t _ptr_return_authenticator;
14849 TALLOC_CTX *_mem_save_server_name_0;
14850 TALLOC_CTX *_mem_save_computer_name_0;
14851 TALLOC_CTX *_mem_save_credential_0;
14852 TALLOC_CTX *_mem_save_return_authenticator_0;
14853 TALLOC_CTX *_mem_save_validation_0;
14854 TALLOC_CTX *_mem_save_authoritative_0;
14855 TALLOC_CTX *_mem_save_flags_0;
14856 if (flags & NDR_IN) {
14857 ZERO_STRUCT(r->out);
14859 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
14860 if (_ptr_server_name) {
14861 NDR_PULL_ALLOC(ndr, r->in.server_name);
14862 } else {
14863 r->in.server_name = NULL;
14865 if (r->in.server_name) {
14866 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14867 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
14868 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
14869 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
14870 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
14871 return 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));
14873 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
14874 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));
14875 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
14877 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
14878 if (_ptr_computer_name) {
14879 NDR_PULL_ALLOC(ndr, r->in.computer_name);
14880 } else {
14881 r->in.computer_name = NULL;
14883 if (r->in.computer_name) {
14884 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14885 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
14886 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
14887 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
14888 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
14889 return 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));
14891 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
14892 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));
14893 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
14895 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_credential));
14896 if (_ptr_credential) {
14897 NDR_PULL_ALLOC(ndr, r->in.credential);
14898 } else {
14899 r->in.credential = NULL;
14901 if (r->in.credential) {
14902 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
14903 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, 0);
14904 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
14905 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, 0);
14907 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
14908 if (_ptr_return_authenticator) {
14909 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
14910 } else {
14911 r->in.return_authenticator = NULL;
14913 if (r->in.return_authenticator) {
14914 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
14915 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, 0);
14916 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
14917 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
14919 NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS, &r->in.logon_level));
14920 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.logon, r->in.logon_level));
14921 NDR_CHECK(ndr_pull_netr_LogonInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon));
14922 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.validation_level));
14923 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14924 NDR_PULL_ALLOC(ndr, r->in.flags);
14926 _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
14927 NDR_PULL_SET_MEM_CTX(ndr, r->in.flags, LIBNDR_FLAG_REF_ALLOC);
14928 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.flags));
14929 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
14930 NDR_PULL_ALLOC(ndr, r->out.validation);
14931 ZERO_STRUCTP(r->out.validation);
14932 NDR_PULL_ALLOC(ndr, r->out.authoritative);
14933 ZERO_STRUCTP(r->out.authoritative);
14934 NDR_PULL_ALLOC(ndr, r->out.flags);
14935 *r->out.flags = *r->in.flags;
14937 if (flags & NDR_OUT) {
14938 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
14939 if (_ptr_return_authenticator) {
14940 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
14941 } else {
14942 r->out.return_authenticator = NULL;
14944 if (r->out.return_authenticator) {
14945 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
14946 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, 0);
14947 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
14948 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
14950 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14951 NDR_PULL_ALLOC(ndr, r->out.validation);
14953 _mem_save_validation_0 = NDR_PULL_GET_MEM_CTX(ndr);
14954 NDR_PULL_SET_MEM_CTX(ndr, r->out.validation, LIBNDR_FLAG_REF_ALLOC);
14955 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.validation, r->in.validation_level));
14956 NDR_CHECK(ndr_pull_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
14957 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_validation_0, LIBNDR_FLAG_REF_ALLOC);
14958 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14959 NDR_PULL_ALLOC(ndr, r->out.authoritative);
14961 _mem_save_authoritative_0 = NDR_PULL_GET_MEM_CTX(ndr);
14962 NDR_PULL_SET_MEM_CTX(ndr, r->out.authoritative, LIBNDR_FLAG_REF_ALLOC);
14963 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, r->out.authoritative));
14964 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_authoritative_0, LIBNDR_FLAG_REF_ALLOC);
14965 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14966 NDR_PULL_ALLOC(ndr, r->out.flags);
14968 _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
14969 NDR_PULL_SET_MEM_CTX(ndr, r->out.flags, LIBNDR_FLAG_REF_ALLOC);
14970 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.flags));
14971 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
14972 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
14974 return NDR_ERR_SUCCESS;
14977 _PUBLIC_ void ndr_print_netr_LogonSamLogonWithFlags(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogonWithFlags *r)
14979 ndr_print_struct(ndr, name, "netr_LogonSamLogonWithFlags");
14980 ndr->depth++;
14981 if (flags & NDR_SET_VALUES) {
14982 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14984 if (flags & NDR_IN) {
14985 ndr_print_struct(ndr, "in", "netr_LogonSamLogonWithFlags");
14986 ndr->depth++;
14987 ndr_print_ptr(ndr, "server_name", r->in.server_name);
14988 ndr->depth++;
14989 if (r->in.server_name) {
14990 ndr_print_string(ndr, "server_name", r->in.server_name);
14992 ndr->depth--;
14993 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
14994 ndr->depth++;
14995 if (r->in.computer_name) {
14996 ndr_print_string(ndr, "computer_name", r->in.computer_name);
14998 ndr->depth--;
14999 ndr_print_ptr(ndr, "credential", r->in.credential);
15000 ndr->depth++;
15001 if (r->in.credential) {
15002 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
15004 ndr->depth--;
15005 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
15006 ndr->depth++;
15007 if (r->in.return_authenticator) {
15008 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
15010 ndr->depth--;
15011 ndr_print_netr_LogonLevel(ndr, "logon_level", r->in.logon_level);
15012 ndr_print_set_switch_value(ndr, &r->in.logon, r->in.logon_level);
15013 ndr_print_netr_LogonInfo(ndr, "logon", &r->in.logon);
15014 ndr_print_uint16(ndr, "validation_level", r->in.validation_level);
15015 ndr_print_ptr(ndr, "flags", r->in.flags);
15016 ndr->depth++;
15017 ndr_print_uint32(ndr, "flags", *r->in.flags);
15018 ndr->depth--;
15019 ndr->depth--;
15021 if (flags & NDR_OUT) {
15022 ndr_print_struct(ndr, "out", "netr_LogonSamLogonWithFlags");
15023 ndr->depth++;
15024 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
15025 ndr->depth++;
15026 if (r->out.return_authenticator) {
15027 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
15029 ndr->depth--;
15030 ndr_print_ptr(ndr, "validation", r->out.validation);
15031 ndr->depth++;
15032 ndr_print_set_switch_value(ndr, r->out.validation, r->in.validation_level);
15033 ndr_print_netr_Validation(ndr, "validation", r->out.validation);
15034 ndr->depth--;
15035 ndr_print_ptr(ndr, "authoritative", r->out.authoritative);
15036 ndr->depth++;
15037 ndr_print_uint8(ndr, "authoritative", *r->out.authoritative);
15038 ndr->depth--;
15039 ndr_print_ptr(ndr, "flags", r->out.flags);
15040 ndr->depth++;
15041 ndr_print_uint32(ndr, "flags", *r->out.flags);
15042 ndr->depth--;
15043 ndr_print_NTSTATUS(ndr, "result", r->out.result);
15044 ndr->depth--;
15046 ndr->depth--;
15049 static enum ndr_err_code ndr_push_netr_NETRSERVERGETTRUSTINFO(struct ndr_push *ndr, int flags, const struct netr_NETRSERVERGETTRUSTINFO *r)
15051 if (flags & NDR_IN) {
15053 if (flags & NDR_OUT) {
15054 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15056 return NDR_ERR_SUCCESS;
15059 static enum ndr_err_code ndr_pull_netr_NETRSERVERGETTRUSTINFO(struct ndr_pull *ndr, int flags, struct netr_NETRSERVERGETTRUSTINFO *r)
15061 if (flags & NDR_IN) {
15063 if (flags & NDR_OUT) {
15064 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15066 return NDR_ERR_SUCCESS;
15069 _PUBLIC_ void ndr_print_netr_NETRSERVERGETTRUSTINFO(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRSERVERGETTRUSTINFO *r)
15071 ndr_print_struct(ndr, name, "netr_NETRSERVERGETTRUSTINFO");
15072 ndr->depth++;
15073 if (flags & NDR_SET_VALUES) {
15074 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15076 if (flags & NDR_IN) {
15077 ndr_print_struct(ndr, "in", "netr_NETRSERVERGETTRUSTINFO");
15078 ndr->depth++;
15079 ndr->depth--;
15081 if (flags & NDR_OUT) {
15082 ndr_print_struct(ndr, "out", "netr_NETRSERVERGETTRUSTINFO");
15083 ndr->depth++;
15084 ndr_print_WERROR(ndr, "result", r->out.result);
15085 ndr->depth--;
15087 ndr->depth--;
15090 static const struct ndr_interface_call netlogon_calls[] = {
15092 "netr_LogonUasLogon",
15093 sizeof(struct netr_LogonUasLogon),
15094 (ndr_push_flags_fn_t) ndr_push_netr_LogonUasLogon,
15095 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonUasLogon,
15096 (ndr_print_function_t) ndr_print_netr_LogonUasLogon,
15097 false,
15100 "netr_LogonUasLogoff",
15101 sizeof(struct netr_LogonUasLogoff),
15102 (ndr_push_flags_fn_t) ndr_push_netr_LogonUasLogoff,
15103 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonUasLogoff,
15104 (ndr_print_function_t) ndr_print_netr_LogonUasLogoff,
15105 false,
15108 "netr_LogonSamLogon",
15109 sizeof(struct netr_LogonSamLogon),
15110 (ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogon,
15111 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogon,
15112 (ndr_print_function_t) ndr_print_netr_LogonSamLogon,
15113 false,
15116 "netr_LogonSamLogoff",
15117 sizeof(struct netr_LogonSamLogoff),
15118 (ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogoff,
15119 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogoff,
15120 (ndr_print_function_t) ndr_print_netr_LogonSamLogoff,
15121 false,
15124 "netr_ServerReqChallenge",
15125 sizeof(struct netr_ServerReqChallenge),
15126 (ndr_push_flags_fn_t) ndr_push_netr_ServerReqChallenge,
15127 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerReqChallenge,
15128 (ndr_print_function_t) ndr_print_netr_ServerReqChallenge,
15129 false,
15132 "netr_ServerAuthenticate",
15133 sizeof(struct netr_ServerAuthenticate),
15134 (ndr_push_flags_fn_t) ndr_push_netr_ServerAuthenticate,
15135 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerAuthenticate,
15136 (ndr_print_function_t) ndr_print_netr_ServerAuthenticate,
15137 false,
15140 "netr_ServerPasswordSet",
15141 sizeof(struct netr_ServerPasswordSet),
15142 (ndr_push_flags_fn_t) ndr_push_netr_ServerPasswordSet,
15143 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerPasswordSet,
15144 (ndr_print_function_t) ndr_print_netr_ServerPasswordSet,
15145 false,
15148 "netr_DatabaseDeltas",
15149 sizeof(struct netr_DatabaseDeltas),
15150 (ndr_push_flags_fn_t) ndr_push_netr_DatabaseDeltas,
15151 (ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseDeltas,
15152 (ndr_print_function_t) ndr_print_netr_DatabaseDeltas,
15153 false,
15156 "netr_DatabaseSync",
15157 sizeof(struct netr_DatabaseSync),
15158 (ndr_push_flags_fn_t) ndr_push_netr_DatabaseSync,
15159 (ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseSync,
15160 (ndr_print_function_t) ndr_print_netr_DatabaseSync,
15161 false,
15164 "netr_AccountDeltas",
15165 sizeof(struct netr_AccountDeltas),
15166 (ndr_push_flags_fn_t) ndr_push_netr_AccountDeltas,
15167 (ndr_pull_flags_fn_t) ndr_pull_netr_AccountDeltas,
15168 (ndr_print_function_t) ndr_print_netr_AccountDeltas,
15169 false,
15172 "netr_AccountSync",
15173 sizeof(struct netr_AccountSync),
15174 (ndr_push_flags_fn_t) ndr_push_netr_AccountSync,
15175 (ndr_pull_flags_fn_t) ndr_pull_netr_AccountSync,
15176 (ndr_print_function_t) ndr_print_netr_AccountSync,
15177 false,
15180 "netr_GetDcName",
15181 sizeof(struct netr_GetDcName),
15182 (ndr_push_flags_fn_t) ndr_push_netr_GetDcName,
15183 (ndr_pull_flags_fn_t) ndr_pull_netr_GetDcName,
15184 (ndr_print_function_t) ndr_print_netr_GetDcName,
15185 false,
15188 "netr_LogonControl",
15189 sizeof(struct netr_LogonControl),
15190 (ndr_push_flags_fn_t) ndr_push_netr_LogonControl,
15191 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonControl,
15192 (ndr_print_function_t) ndr_print_netr_LogonControl,
15193 false,
15196 "netr_GetAnyDCName",
15197 sizeof(struct netr_GetAnyDCName),
15198 (ndr_push_flags_fn_t) ndr_push_netr_GetAnyDCName,
15199 (ndr_pull_flags_fn_t) ndr_pull_netr_GetAnyDCName,
15200 (ndr_print_function_t) ndr_print_netr_GetAnyDCName,
15201 false,
15204 "netr_LogonControl2",
15205 sizeof(struct netr_LogonControl2),
15206 (ndr_push_flags_fn_t) ndr_push_netr_LogonControl2,
15207 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonControl2,
15208 (ndr_print_function_t) ndr_print_netr_LogonControl2,
15209 false,
15212 "netr_ServerAuthenticate2",
15213 sizeof(struct netr_ServerAuthenticate2),
15214 (ndr_push_flags_fn_t) ndr_push_netr_ServerAuthenticate2,
15215 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerAuthenticate2,
15216 (ndr_print_function_t) ndr_print_netr_ServerAuthenticate2,
15217 false,
15220 "netr_DatabaseSync2",
15221 sizeof(struct netr_DatabaseSync2),
15222 (ndr_push_flags_fn_t) ndr_push_netr_DatabaseSync2,
15223 (ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseSync2,
15224 (ndr_print_function_t) ndr_print_netr_DatabaseSync2,
15225 false,
15228 "netr_DatabaseRedo",
15229 sizeof(struct netr_DatabaseRedo),
15230 (ndr_push_flags_fn_t) ndr_push_netr_DatabaseRedo,
15231 (ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseRedo,
15232 (ndr_print_function_t) ndr_print_netr_DatabaseRedo,
15233 false,
15236 "netr_LogonControl2Ex",
15237 sizeof(struct netr_LogonControl2Ex),
15238 (ndr_push_flags_fn_t) ndr_push_netr_LogonControl2Ex,
15239 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonControl2Ex,
15240 (ndr_print_function_t) ndr_print_netr_LogonControl2Ex,
15241 false,
15244 "netr_NetrEnumerateTrustedDomains",
15245 sizeof(struct netr_NetrEnumerateTrustedDomains),
15246 (ndr_push_flags_fn_t) ndr_push_netr_NetrEnumerateTrustedDomains,
15247 (ndr_pull_flags_fn_t) ndr_pull_netr_NetrEnumerateTrustedDomains,
15248 (ndr_print_function_t) ndr_print_netr_NetrEnumerateTrustedDomains,
15249 false,
15252 "netr_DsRGetDCName",
15253 sizeof(struct netr_DsRGetDCName),
15254 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetDCName,
15255 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetDCName,
15256 (ndr_print_function_t) ndr_print_netr_DsRGetDCName,
15257 false,
15260 "netr_LogonGetCapabilities",
15261 sizeof(struct netr_LogonGetCapabilities),
15262 (ndr_push_flags_fn_t) ndr_push_netr_LogonGetCapabilities,
15263 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonGetCapabilities,
15264 (ndr_print_function_t) ndr_print_netr_LogonGetCapabilities,
15265 false,
15268 "netr_NETRLOGONSETSERVICEBITS",
15269 sizeof(struct netr_NETRLOGONSETSERVICEBITS),
15270 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONSETSERVICEBITS,
15271 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONSETSERVICEBITS,
15272 (ndr_print_function_t) ndr_print_netr_NETRLOGONSETSERVICEBITS,
15273 false,
15276 "netr_LogonGetTrustRid",
15277 sizeof(struct netr_LogonGetTrustRid),
15278 (ndr_push_flags_fn_t) ndr_push_netr_LogonGetTrustRid,
15279 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonGetTrustRid,
15280 (ndr_print_function_t) ndr_print_netr_LogonGetTrustRid,
15281 false,
15284 "netr_NETRLOGONCOMPUTESERVERDIGEST",
15285 sizeof(struct netr_NETRLOGONCOMPUTESERVERDIGEST),
15286 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONCOMPUTESERVERDIGEST,
15287 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONCOMPUTESERVERDIGEST,
15288 (ndr_print_function_t) ndr_print_netr_NETRLOGONCOMPUTESERVERDIGEST,
15289 false,
15292 "netr_NETRLOGONCOMPUTECLIENTDIGEST",
15293 sizeof(struct netr_NETRLOGONCOMPUTECLIENTDIGEST),
15294 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONCOMPUTECLIENTDIGEST,
15295 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONCOMPUTECLIENTDIGEST,
15296 (ndr_print_function_t) ndr_print_netr_NETRLOGONCOMPUTECLIENTDIGEST,
15297 false,
15300 "netr_ServerAuthenticate3",
15301 sizeof(struct netr_ServerAuthenticate3),
15302 (ndr_push_flags_fn_t) ndr_push_netr_ServerAuthenticate3,
15303 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerAuthenticate3,
15304 (ndr_print_function_t) ndr_print_netr_ServerAuthenticate3,
15305 false,
15308 "netr_DsRGetDCNameEx",
15309 sizeof(struct netr_DsRGetDCNameEx),
15310 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetDCNameEx,
15311 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetDCNameEx,
15312 (ndr_print_function_t) ndr_print_netr_DsRGetDCNameEx,
15313 false,
15316 "netr_DsRGetSiteName",
15317 sizeof(struct netr_DsRGetSiteName),
15318 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetSiteName,
15319 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetSiteName,
15320 (ndr_print_function_t) ndr_print_netr_DsRGetSiteName,
15321 false,
15324 "netr_LogonGetDomainInfo",
15325 sizeof(struct netr_LogonGetDomainInfo),
15326 (ndr_push_flags_fn_t) ndr_push_netr_LogonGetDomainInfo,
15327 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonGetDomainInfo,
15328 (ndr_print_function_t) ndr_print_netr_LogonGetDomainInfo,
15329 false,
15332 "netr_ServerPasswordSet2",
15333 sizeof(struct netr_ServerPasswordSet2),
15334 (ndr_push_flags_fn_t) ndr_push_netr_ServerPasswordSet2,
15335 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerPasswordSet2,
15336 (ndr_print_function_t) ndr_print_netr_ServerPasswordSet2,
15337 false,
15340 "netr_ServerPasswordGet",
15341 sizeof(struct netr_ServerPasswordGet),
15342 (ndr_push_flags_fn_t) ndr_push_netr_ServerPasswordGet,
15343 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerPasswordGet,
15344 (ndr_print_function_t) ndr_print_netr_ServerPasswordGet,
15345 false,
15348 "netr_NETRLOGONSENDTOSAM",
15349 sizeof(struct netr_NETRLOGONSENDTOSAM),
15350 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONSENDTOSAM,
15351 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONSENDTOSAM,
15352 (ndr_print_function_t) ndr_print_netr_NETRLOGONSENDTOSAM,
15353 false,
15356 "netr_DsRAddressToSitenamesW",
15357 sizeof(struct netr_DsRAddressToSitenamesW),
15358 (ndr_push_flags_fn_t) ndr_push_netr_DsRAddressToSitenamesW,
15359 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRAddressToSitenamesW,
15360 (ndr_print_function_t) ndr_print_netr_DsRAddressToSitenamesW,
15361 false,
15364 "netr_DsRGetDCNameEx2",
15365 sizeof(struct netr_DsRGetDCNameEx2),
15366 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetDCNameEx2,
15367 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetDCNameEx2,
15368 (ndr_print_function_t) ndr_print_netr_DsRGetDCNameEx2,
15369 false,
15372 "netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN",
15373 sizeof(struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN),
15374 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN,
15375 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN,
15376 (ndr_print_function_t) ndr_print_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN,
15377 false,
15380 "netr_NetrEnumerateTrustedDomainsEx",
15381 sizeof(struct netr_NetrEnumerateTrustedDomainsEx),
15382 (ndr_push_flags_fn_t) ndr_push_netr_NetrEnumerateTrustedDomainsEx,
15383 (ndr_pull_flags_fn_t) ndr_pull_netr_NetrEnumerateTrustedDomainsEx,
15384 (ndr_print_function_t) ndr_print_netr_NetrEnumerateTrustedDomainsEx,
15385 false,
15388 "netr_DsRAddressToSitenamesExW",
15389 sizeof(struct netr_DsRAddressToSitenamesExW),
15390 (ndr_push_flags_fn_t) ndr_push_netr_DsRAddressToSitenamesExW,
15391 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRAddressToSitenamesExW,
15392 (ndr_print_function_t) ndr_print_netr_DsRAddressToSitenamesExW,
15393 false,
15396 "netr_DsrGetDcSiteCoverageW",
15397 sizeof(struct netr_DsrGetDcSiteCoverageW),
15398 (ndr_push_flags_fn_t) ndr_push_netr_DsrGetDcSiteCoverageW,
15399 (ndr_pull_flags_fn_t) ndr_pull_netr_DsrGetDcSiteCoverageW,
15400 (ndr_print_function_t) ndr_print_netr_DsrGetDcSiteCoverageW,
15401 false,
15404 "netr_LogonSamLogonEx",
15405 sizeof(struct netr_LogonSamLogonEx),
15406 (ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogonEx,
15407 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogonEx,
15408 (ndr_print_function_t) ndr_print_netr_LogonSamLogonEx,
15409 false,
15412 "netr_DsrEnumerateDomainTrusts",
15413 sizeof(struct netr_DsrEnumerateDomainTrusts),
15414 (ndr_push_flags_fn_t) ndr_push_netr_DsrEnumerateDomainTrusts,
15415 (ndr_pull_flags_fn_t) ndr_pull_netr_DsrEnumerateDomainTrusts,
15416 (ndr_print_function_t) ndr_print_netr_DsrEnumerateDomainTrusts,
15417 false,
15420 "netr_DsrDeregisterDNSHostRecords",
15421 sizeof(struct netr_DsrDeregisterDNSHostRecords),
15422 (ndr_push_flags_fn_t) ndr_push_netr_DsrDeregisterDNSHostRecords,
15423 (ndr_pull_flags_fn_t) ndr_pull_netr_DsrDeregisterDNSHostRecords,
15424 (ndr_print_function_t) ndr_print_netr_DsrDeregisterDNSHostRecords,
15425 false,
15428 "netr_ServerTrustPasswordsGet",
15429 sizeof(struct netr_ServerTrustPasswordsGet),
15430 (ndr_push_flags_fn_t) ndr_push_netr_ServerTrustPasswordsGet,
15431 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerTrustPasswordsGet,
15432 (ndr_print_function_t) ndr_print_netr_ServerTrustPasswordsGet,
15433 false,
15436 "netr_DsRGetForestTrustInformation",
15437 sizeof(struct netr_DsRGetForestTrustInformation),
15438 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetForestTrustInformation,
15439 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetForestTrustInformation,
15440 (ndr_print_function_t) ndr_print_netr_DsRGetForestTrustInformation,
15441 false,
15444 "netr_GetForestTrustInformation",
15445 sizeof(struct netr_GetForestTrustInformation),
15446 (ndr_push_flags_fn_t) ndr_push_netr_GetForestTrustInformation,
15447 (ndr_pull_flags_fn_t) ndr_pull_netr_GetForestTrustInformation,
15448 (ndr_print_function_t) ndr_print_netr_GetForestTrustInformation,
15449 false,
15452 "netr_LogonSamLogonWithFlags",
15453 sizeof(struct netr_LogonSamLogonWithFlags),
15454 (ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogonWithFlags,
15455 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogonWithFlags,
15456 (ndr_print_function_t) ndr_print_netr_LogonSamLogonWithFlags,
15457 false,
15460 "netr_NETRSERVERGETTRUSTINFO",
15461 sizeof(struct netr_NETRSERVERGETTRUSTINFO),
15462 (ndr_push_flags_fn_t) ndr_push_netr_NETRSERVERGETTRUSTINFO,
15463 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRSERVERGETTRUSTINFO,
15464 (ndr_print_function_t) ndr_print_netr_NETRSERVERGETTRUSTINFO,
15465 false,
15467 { NULL, 0, NULL, NULL, NULL, false }
15470 static const char * const netlogon_endpoint_strings[] = {
15471 "ncacn_np:[\\pipe\\netlogon]",
15472 "ncacn_ip_tcp:",
15473 "ncalrpc:",
15476 static const struct ndr_interface_string_array netlogon_endpoints = {
15477 .count = 3,
15478 .names = netlogon_endpoint_strings
15481 static const char * const netlogon_authservice_strings[] = {
15482 "host",
15485 static const struct ndr_interface_string_array netlogon_authservices = {
15486 .count = 1,
15487 .names = netlogon_authservice_strings
15491 const struct ndr_interface_table ndr_table_netlogon = {
15492 .name = "netlogon",
15493 .syntax_id = {
15494 {0x12345678,0x1234,0xabcd,{0xef,0x00},{0x01,0x23,0x45,0x67,0xcf,0xfb}},
15495 NDR_NETLOGON_VERSION
15497 .helpstring = NDR_NETLOGON_HELPSTRING,
15498 .num_calls = 47,
15499 .calls = netlogon_calls,
15500 .endpoints = &netlogon_endpoints,
15501 .authservices = &netlogon_authservices